Punyu Net † Index | Information | Atelier | Link | Mail
PHP script | OnlineDVDrental Search
さくらのレンタルサーバ
時間のないサイト運営者リング

<<2004/07>>




010203
04050607080910
11121314151617
18192021222324
25262728293031

リ ス ト 表 示

キャラアニ.com




あなたのホームページ・メールマガジンに広告を載せてみませんか?成功報酬型で広告費を支払うエーハチネットがおすすめ。


Category:Index/トピックス (Total 17 items)

= トピックス一覧 =
PHPスクリプト | POTI-board

■ rNote 0.9.3へ 2004/07/22(木) 18:00
[トピックス/PHPスクリプト]

ージョン上げ。

ifdefマクロのバグが修正されてますねー・・・って、やはりあれってバグだったのか。仕様かと思ってたよ(笑


て。ここいらで、現状で気になった事をまとめてみる。


 (1) RSSリーダーでRSSを読んだら日付が9時間ズレてる。

 (2) rnote.php?mode=admin で自分以外の誰にでも更新できてしまう。

 (3) スキン内でPHPスクリプト記述し、実行できるようになっていない。

 (4) カレンダーに自由度が無い。

 (5) 記事用に $site_link(サイト内リンク記述用) はあるのに $site_url(サイトURL) が無い。


他にもどーでもいいような事もあるが、要望&自分でなんとかできる事はこれくらいかな?

※あと、オンラインでの記事管理ができるようになったら、最新のツッコミ/Referer/トラックバックが見れると便利だな。


は、ひとつずつ説明。


 (1) RSSリーダーでRSSを読んだら日付が9時間ズレてる。

デフォルトのままだとタイムゾーン指定がないので補正されてしまってる模様。

これはオフィシャルで修正してもらいたい事だが、自分で修正する場合は・・・


 - rss_body.skin -

<dc:date><%=$last_modified fmt="%Y-%m-%dT%H-%M-%S"%></dc:date>
             ↓ ↓
<dc:date><%=$last_modified fmt="%Y-%m-%dT%H:%M:%S"%>+09:00</dc:date>

 - rss_item.skin -

<dc:date><%=$Date fmt="%Y-%m-%dT%H:%M:%S"%></dc:date>
             ↓ ↓
<dc:date><%=$Date fmt="%Y-%m-%dT%H:%M:%S"%>+09:00</dc:date>


としてください。

ここで重要なのが rss_body.skin 内の %H-%M-%S の区切り文字。

これを「:(コロン)」にしないと、いくら +09:00 を付け加えても意味がない。


RSSとは関係ないが日付関連で rnote_config.php の日付時刻表示のフォーマット

define(DATETIME_FORMAT,'%Y-%m-%dT%H-%M-%S');

define(DATETIME_FORMAT,'%Y-%m-%dT%H:%M:%S');

のほうがよいはず。






 (2) rnote.php?mode=admin で自分以外の誰にでも更新できてしまう。

現状では、キャッシュの再構築・RSSの生成を rnote.php?mode=admin 一発でできるので、悪意のある者の攻撃を受ける可能性がある。

対処方法として、rnote_config.php にまだ使用していない管理者パスワード設定があるから、これを使って管理者以外は更新できないようにする。


 - rnote.php -

admin で検索すると

if($_GET['mode']=='admin')

が2箇所見つかるはずです。これを2箇所共・・・

if($_GET['mode']=='admin' && $_GET['pwd']==ADMIN_PASSWORD)

に修正して下さい。

これで、rnote.php?mode=admin&pwd=パスワード でしか再構築ができなくなります。






 (3) スキン内でPHPスクリプト記述し、実行できるようになっていない。

スキン内でPHPスクリプトを記述して、カウンターとかアクセスログ収集とか、動的な事ができない。

オフィシャルでは、変数のバッティングを気にしているみたいですが、HTML生成がスクリプトの最後のほうにあるから気にするほどではないと思うのだが。

実際、当サイトでは・・・


 - rnote.php -

print CreateHTML(NUM_ITEMS,$skin_main);
           ↓ ↓
eval('?>'.CreateHTML(NUM_ITEMS,$skin_main));


と変更して使用しているが、問題なく使えてたりする。






 (4) カレンダーに自由度が無い。

現状のカレンダーはデザインが1つしかない。

CSSで多少デザイン変更できそうだが、CSSに依存するのを好まない人もいるだろう。 >ワタシの事(笑

とにかく、デザインを増やして選択できるようにするか、専用スキンが欲しいところ。

あと、これ以外に 先月・次月 といったボタンが必要かと思われる。


・・・って、まーうちではその改造はしているのだけどね。

とりあえず、先月・次月ボタンの追加する為のヒントになる部分だけ紹介します。


 - rnote.php -

  $p_y = $n_y = $y;
  if((int)$s_m == 1){
    $p_m=12;
    $p_y--;
    $n_m='02';
  }elseif((int)$s_m == 12){
    $p_m=11;
    $n_m='01';
    $n_y++;
  }else{
    $p_m=sprintf("%02d",((int)$s_m-1));
    $n_m=sprintf("%02d",((int)$s_m+1));
  }
  $rep.= '<a href="'.MakeLinkUrl('',0,"$p_y-$p_m")
    ."\" title=\"$p_y/$p_m\">&lt;&lt;</a> $y/$s_m <a href=\""
    .MakeLinkUrl('',0,"$n_y-$n_m")
    ."\" title=\"$n_y/$n_m\">&gt;&gt;</a></th></tr>\n";






 (5) 記事用に $site_link(サイト内リンク記述用) はあるのに $site_url(サイトURL) が無い。

サイト内記事リンクのURLを記述するとき <a>タグ内では $site_link だけでいいけど、<a>タグではさむ文字列に フルパスURL を記述したい場合 $site_url があると便利だなと思った。

で。$site_link を元に追加。


 - rnote.php -

function FileGetEntries($fname){
    ・
    ・
    ・
  if(ereg("$site_link/",$a)){
    $a=str_replace('$$site_link/',REPLASE_CHAR,$a);  // no replace
    $a=str_replace('$site_link/',$base,$a);
    $a=str_replace(REPLASE_CHAR,'$site_link/',$a);
  }
  if(ereg("$$site_url/",$a)){
    $a=str_replace('$$$site_url/',REPLASE_CHAR,$a);  // no replace
    $a=preg_replace('/\$site_url\/+/',SITE_URL,$a);
    $a=str_replace(REPLASE_CHAR,'$$site_url/',$a);
  }
  return $a;
}


赤い部分を追加することで、例えば、ここの記事へのリンクをしたい場合・・・

<a href="$site_link/topics/php/d20040722_rnote.htm">$site_url/$site_link/topics/php/d20040722_rnote.htm</a>

と記述すれば

https://www.punyu.net/topics/php/d20040722_rnote.htm

こうなる。







【補足】

これらは 0.9.3 での事で、最新のrNoteでは既に修正されています。


[ このエントリへはコメント出来ません ]

Category:Index/トピックス (Total 17 items)

Copyright(C) 1999-2024 SakaQ. All rights reserved.
Powered by rNote 0.9.6
Index | Information | Atelier | Link | Mail
PHP script | OnlineDVDrental Search