ppBlog Notice: LINE 953 of utils.php: A non well formed numeric value encountered:

ppBlog Notice: LINE 1008 of utils.php: A non well formed numeric value encountered:

ppBlog Notice: LINE 1016 of utils.php: A non well formed numeric value encountered:

ppBlog Notice: LINE 1034 of utils.php: A non well formed numeric value encountered:

ppBlog official

重要:セキュリティーアップデート

category-icon

 こんばんは、martinです。ユーザーの方からのご指摘でadmin.phpにセキュリティー上のバグ(脆弱性)が見つかったので、admin.phpの速やかなアップデートをお願いします。該当バージョンは、v1.6以上(もしかすると1.5系も)なら、どれも該当します。

 具体的な修正としては、admin.phpの200行目以降に、

if(p_('rnd') != ''){ // For timeout rescue

という記述があると思いますが(この記述がないバージョンは問題なし)、これを

if(p_('rnd') != '' && strlen(p_('rnd')) === 8){ // For timeout rescue

のように修正する必要があります。このように、ご自分で訂正されるか、あるいは、自動修正サイトを作りましたので、そこで修正した新しいadmin.phpを入手して、サーバー上の既存のadmin.phpと置換して下さい。

 →admin.php自動修正ページ http://p2b.jp/demo/diffAdmin.php

 詳しいことをお聞きになりたい方は、info@p2b.jpにメール下さい。ソースをみれば、分かる方には分かるのですが、悪意を持ったスクリプトを用意すればかなりの確率でログイン出来てしまいます(この行為自体は不正アクセス禁止法Gで禁じられてはいますが)。

 なるべく、バグのないようにと心がけているつもりですが、お手数をおかけして申し訳ありません。


— posted by martin at 03:48 am   commentComment [8]  pingTrackBack [0]

v1.8.1にアップデート

category-icon

 こんばんは。フォーラムの方で、2点ほど不具合の報告があったのと、後、こちらでいくつか修正したところがあるので、それらに対応したv1.8.1をリリースしました。

 このバージョンで、テーマを少し作りやすくしようと思ったので、その影響で、新しい変数が定義されたりしてます。具体的には、従来の$DIVISION['login']というのが$DIVISION['loginfo']に変更になって、新たに$DIVISION['login'], $DIVISION['logout'], $DIVISION['control']というのが用意されました。$DIVISION['loginfo']というのは、ログインした状態で、例えば「martinとしてログイン中」と表示されるやつです。この指定は必須ではありません。同様に、新たな変数も特に指定する必要はないのですが、説明をしておくと、$DIVISION['control']は管理画面へのリンクに使用して、$DIVISION['login']や$DIVISION['logout']は、ログイン関連のリンク用です。

 具体的には、テーマのtemplate.phpで使用することが出来ます。実は、v1.8.1向けにシンプルなテーマを作成しているLink のですが、その中で、以下のように使っています。

$DIVISION['control'] = ' <li class="control"><a href="admin.php?mode=control"><img src="theme/3colv2/Images/control.png" alt="Control" /></a></li>';
$DIVISION['login'] = ' <li class="login"><a href="admin.php?mode=login"><img src="theme/3colv2/Images/logging.png" alt="login" /></a></li>';
$DIVISION['logout'] = ' <li class="logout"><a href="admin.php?mode=logout">ログアウト</a></li>';

 ppBlogのテーマを作ろうと思った際に、何が大変って、index.phpの中で定義されている$DIVISION['linkbar'](リンクバー)の画像ファイルを用意することかなぁ、というのがあって、まぁこれはスタイルシートの指定によって画像を非表示とかにも出来るんだけれど、もっと柔軟に扱えた方がよいと思いました。リンクバーは、template.phpの中で%_LINKBAR_%として使用できますが、上に挙げた新しいテーマ(3colv2)では、この変数は使用していません。変わりに、%_CONTROL_%%_LOGGING_%という変数をtemplate.phpの中で使用しています。ちなみに、%_LOGGING_%という変数は、$DIVISION['login']と$DIVISION['logout']に対応していて、ログインしていないときは、$DIVISION['login']で指定した内容が表示され、ログインしている際には、$DIVISION['logout']の内容が表示されるようになっています。

 ちなみに、新しいテーマでは、極力画像ファイルを排したシンプルなものにしたつもりです。3カラムと1カラムの切り替えが可能です。カレンダーは、OL要素を使用したものとなっています。

 このOL要素のカレンダーを使おうと思って、この出力のバグを見つけたので、これの修正もしてます(calendar.inc.php)。その他、修正した点を列挙しておきます。

  1. モブログで、ユーザー投稿の投稿名が正しく反映されないのを修正(mob.php)
  2. モバイル向けの表示(モバイルモード:moby.php)で記事の削除が効かないのを修正(utils_admin.php)
  3. 記事作成時に、Youtubeへのリンクを貼る際、適切に動画へのIDを抽出するように(editor.js)
  4. Firefoxがdocument.querySelectorAllに反応してしまうのを修正(photoeffect.js)
  5. 記事に対する最初のコメントが管理者だった際に、画面スクロール関連でJavaScriptエラーが出るのを修正(lib.js)
  6. ソーシャルブックマーク絡みで、Ajax関連の挙動がおかしいのを修正(ajax.php, lib.js)
  7. 最近のトラックバックの数を正確に定数RECENT_TRACKBACKSに合わせるように(cache.php)
  8. 後は、非公開コメントの際に、クッキーが有効であるなら、「クッキーが有効である必要があります」という文面を出さなくしたりとか(comment.inc.php)、ページ作成用のスクリプト(pages.inc.php)のアップデート

ってことですかねえ。あ、テーマに関して、新しくクラス名として、shown-aloneというのを用意してます。これは、単独記事表示の際に、以下のような感じで付加されます。

<div class="article-content shown-alone">

あまり使いどころはないかもしれませんが、上の新しいテーマでは使っています。

 例によって、v1.8.0からの差分ファイルを添付しておきます。単なる上書きでよいでしょう。また、このリリースに合わせて、ppBlog用のテーマチェッカーも更新しました。@importを使用した外部CSSファイルの読み込みみも対応したつもりです。これも添付しておきますね。このptc.phpは、トップディレクトリにアップロードして、ログインした状態でアクセスすれば使用できます。

 

添付ファイル: DIFF090421.zipattachedIcon  ptc.phpattachedIcon 

— posted by martin at 03:46 am   commentComment [15]  pingTrackBack [0]

v1.8.0のutils.phpアップデート

category-icon

 こんばんは。前回のエントリーでv1.7系からv1.8にバージョンアップする際の差分ファイルを添付していましたが、ソーシャルブックマーク関連の画像ファイルやらスタイルシート関連の説明が抜けていました。

 v1.8からは、複数記事表示の際は、ソーシャルブックマークエントリーのためのボタンが表示されます。このボタンをクリックすると、その動的に作成された、各ソーシャルブックマークへのアイコンがボックス表示されるようになります(template.php%_ARTCL_SBM_%を有効にしている場合です。この指定は従来通り)。

 この動的に作成されたボックスは、以下のようなHTMLをはき出します。

<div class="sbm-pop" id="SBM1238692993">
  <p class="sbm-close"><img style="cursor: pointer;" src="Images/button-close.png" alt="close" title="閉じる" onclick="this.parentNode.parentNode.style.display='none';" /></p>
  <p class="sbm-intro">各種ソーシャルブックマークにこのエントリーを登録できます。</p>
  <ul>
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/hatenab.png" title="この記事をはてなブックマークに追加" width="16" height="12" alt="はてなブックマーク"/> はてなブックマーク</a></li> 
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/deliciousb.png" title="この記事をdel.icio.usに追加" width="14" height="14" alt="del.icio.us"/> del.icio.us</a></li> 
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/livedoorb.png" title="この記事をlivedoorクリップに追加" width="14" height="14" alt="livedoorクリップ"/> livedoorクリップ</a></li> 
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/twitter.png" title="この記事をTwitterに追加" width="14" height="14" alt="TwitThis!"/> TwitThis!</a></li> 
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/facebook.png" title="この記事をfacebookに追加" width="14" height="14" alt="facebook"/> facebook</a></li> 
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/buzzurlb.png" title="この記事をBuzzurlに追加" width="14" height="14" alt="Buzzurl"/> Buzzurl</a></li> 
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/yahoob.png" title="この記事をYahoo!ブックマークに追加" width="16" height="16" alt="Yahoo!ブックマーク"/> Yahoo!ブックマーク</a></li> 
   <li><a rel="nofollow" href="(省略)"><img src="Images/bookmarks/googleb.png" title="この記事をグーグル ブックマークに追加" width="14" height="14" alt="グーグル ブックマーク"/> グーグル ブックマーク</a></li> 
 </ul>
</div>

 上にあるように、新しくsbm-popsbm-intro, sbm-infoなどのクラス名が指定されています。テーマ:ベーシックでは、これに対応するCSSは以下の感じです。

div.sbm-pop { padding: 2px; font-size: 12px; width: 250px; background: ivory; border: solid 3px green; z-index: 1000;}
div.sbm-pop ul { list-style: none; padding: 10px;}
div.sbm-pop ul li { margin-top: 5px;}
div.sbm-pop .sbm-close { text-align: right;}
div.sbm-pop .sbm-intro, div.sbm-pop .sbm-info { padding: .5em 1em;}

 単独記事表示の時は、今までのように、各ソーシャルブックマークへのアイコンが表示された状態となります。

 このソーシャルブックマーク関連で、生成したボックスに含まれるLI要素の対応がおかしかったので、utils.phpの2000行から始まるsocialBookmark関数を少し修正しました。

 このutils.phpと、ソーシャルブックマークへのエントリーアイコンを添付しておきます。これらのアイコンのうち、sbm.pngは、トップディレクトリのImagesディレクトリにアップロードして下さい。また、facebook.pngとtwitterのアイコンは、同じImagesディレクトリの中にあるbookmarksディレクトリにアップロードして下さい。

添付ファイル: DIFF090410.zipattachedIcon 

— posted by martin at 08:48 am   commentComment [0]  pingTrackBack [0]

ppBlog1.8.0のリリース

category-icon

 こんにちは。最新版の1.8.0は試用版扱いでしたが、とりあえず正式版としてリリースします。1.8.0試用版からの差分(DIFF180RC)と、v1.7.7からの差分(DIFF177)を添付しておきます。

 アップデートに関して、特にログをいじることもないので、そのまま各種ファイルを上書きすれば良いと思いますが、念のためログのバックアップは、取っておくのが良いでしょう。

 テーマに関しては、カレンダーの出力が従来と少し違っています。土曜日だとか日曜日の指定は、従来は、TD要素の中のSPAN要素に対してクラス指定していましたが、これらは、TD要素に対しての指定に変更になっています。テーマBasicでの例を挙げると以下のような感じです。

#calendar table td.daySubmit {
  background-color: #eaeaf4;
}
#calendar table td.Sun, #calendar table td.Holiday {
  color: rgb(250,90,70);
}
#calendar table td.Sat {
  color: navy;
}
#calendar table td.Today {
  color: rgb(5,170,50);
  font-weight : 600;
}

 しぃペインターのためのモジュールに相当するppdraw.phpも最初から付いてます。これは、index.phpと同じディレクトリに置いて下さい。これ単独ではお絵かきは出来ませんで、同じくindex.phpと同じディレクトリにspainter_all.jarが必要です。このファイルは、ここでの配布版には含まれないので、お絵かき機能を使ってみたいという方は、しぃペインターの配布サイトLink からsptr_all1114.zipを入手して、そこに含まれるspainter_all.jarをアップして下さい。この状態で、管理画面の「新規作成」や記事の編集時のエディタに「しぃペインター」というボタンが表示されます。

 なお、描いた絵を、アニメーション再生するしぃペインターのプラグインにも対応していますが、これは前回のエントリーLink を参考に。

 とりあえず。

添付ファイル: DIFF180RC.zipattachedIcon  DIFF177.zipattachedIcon 

— posted by martin at 09:55 pm   commentComment [0]  pingTrackBack [0]

 

しぃペインターのアニメーションを入れてみる

category-icon

 こんばんは。しぃペインターのアニメーションを入れてみます。比較的簡単に実装できた様です。しぃペインターのアニメーションファイルであるPCHファイルを再生するには、専用のビューワーであるPCHViewer.jarが必要で、後、補助として、res.zipファイルも必要のようです。これらのファイルは、しぃちゃんさんのサイトLink からダウンロード出来ます。

 これら2つのファイルをmodulesディレクトリに入れます(res.zipは解凍せずにこのままで)。後は、作成したPCHファイルを、以下の形式で指定すればOKです。

[media:ppdraw1238971539.spch:300:pch/]

 わざわざ、この形式を書き出すのはメンドイので、「動画サイト選択」のプルダウンメニューに「PCHファイル」という項目を追加しました。これで、上の例で言えば、テキストエリア内にppdraw1238971539.spchという文字列があれば、それを上のmedia形式に書き換えます。

ppdraw1238971539
例によってマウスで適当に。所要時間は1分ほど。

 尚、生成されたPCHファイルは、初めは、キャッシュディレクトリに作られます。便利なことに、このPCHファイルは、しぃペインターで呼び込むことが可能です。なので、レジューム機能(再開)も利用できるようにしてます。管理画面エディタの「しぃペインター」ボタンを押すと、このディレクトリにあるPCHファイルをリスト表示するので、その中から任意のPCHファイルを選択できます。また、この画面で「通常モード」か「プロモード」かを選べるようにしました。


— posted by martin at 09:33 am   commentComment [2]  pingTrackBack [0]

Created in 0.0041 sec.
prev
2024.11
next
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30