修正点は以下。

  • doAction()メソッドでEachBlogDirクラスを呼ぶ
  • replacePopupCode()メソッドでグローバルblogidをリファラで渡す


doActionメソッド

EachBlogDirクラスを作って、_changeDirectory()メソッドを実行します。

修正前はグローバル変数$DIR_MEDIAだけなので、これに$managerを追加する。

global $DIR_MEDIA, $manager;

そしてその直後に以下を記述して、EachBlogDirの_changeDirectory()メソッドを動かす。$ImagePath = $DIR_MEDIA.requestVar('p');よりも上に記述する。

$EachBlogDir = $manager->getPlugin('NP_EachBlogDir');

$EachBlogDir->_changeDirectory();

replacePopupCode()メソッド

イメージ・リクエストのためのURLのリファラーに、blogidを設定します。

まず修正前はグローバル変数$DIR_MEDIAと$CONFだけ。これに$blogidを追加します。

global $CONF, $DIR_MEDIA, $blogid;

次にイメージ・リクエストのためのURLを修正。

"<img src=\"".$CONF['ActionURL']."?action=plugin&name=Thumbnail&w=".$tsize['w']."&h=".$tsize['h'] . "&blogid=" . $blogid."&p=$imagepath\" width=\"".$tsize['w']."\" height=\"".$tsize['h'] . "\" class=\"thumbnail\" $alt />"

プラグイン依存関係

最後にプラグイン依存関係を作るメソッドを追加します。

function getPluginDep() { return array('NP_EachBlogDir'); }