ページ 11

リソース更新時にエラーが発生します

Posted: 2016年1月05日(火) 18:36
by Rikka
いつもお世話になっております。

この年末頃から、サイトを更新するたびに同様のエラーが発生するのですが、
内部プログラムで発生するエラーのようで修正方法がわかりません。

年始でお忙しいとは思いますが、なにか良い案がございましたらお教えください。

●エラー発生のタイミング
リソース更新時に高確率で発生
※発生する条件は不明です

●エラーログの内容
Error : Undefined index: mgrRole
ErrorType[num] : NOTICE[8]
File : /home/ippinkan/peavey.jp/public_html/manager/includes/document.parser.class.inc.php
Line : 2043
Source : $access .= " OR 1='{$_SESSION['mgrRole']}'";

Backtrace
1 $modx->executeParser()
index.php on line 159
2 $modx->prepareResponse()
manager/includes/document.parser.class.inc.php on line 385
3 $modx->getDocumentObject()
manager/includes/document.parser.class.inc.php on line 402

Re: リソース更新時にエラーが発生します

Posted: 2016年1月07日(木) 04:36
by soushi
soushiです。

次の修正を行ってみるとどうなるでしょうか。

対象ファイル:/manager/includes/document.parser.class.inc.php

・2043行目付近

コード: 全て選択

            $where_published = "AND sc.published='{$published}'";
        else
            $where_published = '';
             
-        $where = "(sc.id IN ({$ids_str}) {$where_published} AND sc.deleted={$deleted} {$where}) AND (sc.private{$context}=0 {$cond} OR 1='{$_SESSION['mgrRole']}') GROUP BY sc.id";
        $orderby = ($sort) ? "{$sort} {$dir}" : '';
        $result= $this->db->select($fields,$from,$where,$orderby,$limit);
        $resourceArray= array ();
↓先頭に「-」が付いている行を次の2行に変更※実際のコードには先頭に「-」は付いていません

コード: 全て選択

        $tmp = isset($_SESSION['mgrRole']) ? $_SESSION['mgrRole'] : '';
        $where = "(sc.id IN ({$ids_str}) {$where_published} AND sc.deleted={$deleted} {$where}) AND (sc.private{$context}=0 {$cond} OR 1='{$tmp}') GROUP BY sc.id";
念のため該当ファイルのバックアップを取ってから作業をお願いします。

尚、もしこれが原因でエラーが解消するようでしたら最新の1.0.15Jではこちらのエラーは修正されています。

[参考URL]
https://github.com/modxcms-jp/evolution ... f15818fced

Re: リソース更新時にエラーが発生します

Posted: 2016年1月12日(火) 13:38
by Rikka
お世話になっております、Rikkaです。
ご返信が遅くなってしまい申し訳ございませんでした。

アドバイスいただいた通りに修正してみましたが症状は改善されていないようです。
特にプラグインなどはインストールしておりませんので、最新版への更新を検討したいと思います。

更新後も症状が続くようでしたら、改めてご報告差し上げます。
貴重なお時間を頂き誠にありがとうございました。