Bug(バグ) #2354
Minoru Takai さんが約13年前に更新
h3. このチケットで扱う内容
コア側のデイリーニュース機能において、管理画面からガジェットとして「フレンド最新日記」が選択できるが、これが機能していないためこのガジェットを取り除く。
h3. 修正前と修正後の違い
* 修正前
** (1) 管理画面 > デザイン設定 > ガジェット設定から、次のいずれかのリンクを辿り、「ガジェットを追加する」を押す
*** デイリーニュース(PCメールアドレス向け)ガジェット設定
*** デイリーニュース(携帯メールアドレス向け)ガジェット設定
** (2) 「フレンド最新日記」と「フリーエリア」のガジェットが選択できる
* 修正後
** (1) 上と同じ
** (2) 「フリーエリア」のガジェットしか選択できない(「フレンド最新日記」のガジェットが取り除かれている)
これが確認できれば動作テストは十分です。
なお、修正前に「フレンド最新日記」ガジェットを設定しておくと、修正後にガジェット設定を見たときにガジェット名が空のボックスが表示されてしまい、そのままガジェット設定を行うと空のボックスが消えるような動作となっている。
これは、「設定済みのガジェットが、ソースコードから取り除かれたりプラグインが無効化されることで使用不能になった場合に、ガジェット設定でその部分に空のボックスが表示されてしまう」という好ましくない動作であると考えられるが、このチケットで扱う必要のある内容ではないため、ここでは触れないことにする。
h3. 概要
デイリーニュース用のフレンド最新日記ガジェットについて、コンポーネント内でメンバー情報の呼び出しがおこなえておらず、表示できない。
そのため、デイリーニュースのコンテンツにフレンド最新日記が表示されなくなる。
h5. 問題の処理
lib/action/opDiaryPluginDiaryComponents.class.php
<pre>
public function executeDailyNews()
{
$env = 'mobile_frontend' == sfConfig::get('sf_app') ? 'mobile' : 'pc';
$twigEnvironment = new Twig_Environment(new Twig_Loader_String());
$valueTpl = $twigEnvironment->loadTemplate(opDiaryPluginToolkit::getMailTemplate($env, 'diaryGagdet'));
$diaries = Doctrine::getTable('Diary')->getFriendDiaryList($member['id'], 5);
</pre>
$member['id'] という記述があるが、 $member は定義されていない。
h5. エラーメッセージ
<pre>
Notice: Undefined variable: member in /OPENPNE_DIR/plugins/opDiaryPlugin/lib/action/opDiaryPluginDiaryComponents.class.php on line 58
Call Stack:
0.0004 328340 1. {main}() /OPENPNE_DIR/symfony:0
0.0050 643024 2. include('/OPENPNE_DIR/symfony:37
0.2657 9905668 3. sfSymfonyCommandApplication->run() /OPENPNE_DIR/lib/vendor/symfony/lib/command/cli.php:20
0.2754 9907224 4. sfTask->runFromCLI() /OPENPNE_DIR/lib/vendor/symfony/lib/command/sfSymfonyCommandApplication.class.php:76
0.2755 9907360 5. sfBaseTask->doRun() /OPENPNE_DIR/lib/vendor/symfony/lib/task/sfTask.class.php:97
1.1033 10266872 6. openpneSendDailyNewsTask->execute() /OPENPNE_DIR/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
15.9389 62226780 7. opMailSend::sendTemplateMail() /OPENPNE_DIR/lib/task/openpneSendDailyNewsTask.class.php:80
15.9558 62269636 8. opMailSend::getMailTemplate() /OPENPNE_DIR/lib/util/opMailSend.class.php:136
15.9586 62299888 9. sfPartialView->render() /OPENPNE_DIR/lib/util/opMailSend.class.php:97
15.9587 62300172 10. sfTemplatingComponentPartialView->renderFile() /OPENPNE_DIR/lib/vendor/symfony/lib/view/sfPartialView.class.php:110
15.9624 62332708 11. sfTemplateEngine->render() /OPENPNE_DIR/plugins/sfSymfonyTemplatingViewPlugin/lib/view/sfTemplatingComponentPartialView.class.php:67
16.0613 62375024 12. opTemplateRendererTwig->evaluate() /OPENPNE_DIR/plugins/sfSymfonyTemplatingViewPlugin/lib/vendor/SymfonyTemplating/sfTemplateEngine.php:105
16.7483 63731628 13. sfTemplateRendererTwig->evaluate() /OPENPNE_DIR/lib/view/twig/opTemplateRendererTwig.php:26
16.7484 63732748 14. Twig_Template->render() /OPENPNE_DIR/plugins/sfSymfonyTemplatingViewPlugin/lib/renderer/sfTemplateRendererTwig.php:37
16.7484 63773784 15. __TwigTemplate_8ef0a9ac4eec4dede10f6c2551e2e3c1->display() /OPENPNE_DIR/plugins/sfSymfonyTemplatingViewPlugin/lib/vendor/Twig/Template.php:26
16.7511 63777580 16. include_component() /tmp/twig_174bde47fdf7da9ef29ac5a948b7003b/__TwigTemplate_8ef0a9ac4eec4dede10f6c2551e2e3c1.php:74
16.7511 63777580 17. get_component() /OPENPNE_DIR/lib/vendor/symfony/lib/helper/PartialHelper.php:115
16.7517 63781136 18. _call_component() /OPENPNE_DIR/lib/vendor/symfony/lib/helper/PartialHelper.php:148
16.7584 63811432 19. opDiaryPluginDiaryComponents->executeDailyNews() /OPENPNE_DIR/lib/vendor/symfony/lib/helper/PartialHelper.php:386
</pre>