1.0.23J以降でWordPressIntegratorエラー

質問全般・改善要望
返信する
mune3001
メンバー
メンバー
記事: 63
登録日時: 2010年5月08日(土) 16:58

1.0.23J以降でWordPressIntegratorエラー

投稿記事 by mune3001 »

MODXバージョン 1.0.24J
PHPのバージョン 7.4.20
データベースのバージョン 5.7.32-log

お世話になっております。
1.0.22Jまでは大丈夫なのですが
1.0.23J以降でWordPressIntegratorを使用してページを表示させた際にエラー表示になるようです。

どちらかというとエラー表示はwordpress側のエラーになります。

どなたか解決された方はいらっしゃいますでしょうか?

Fatal error: Cannot redeclare checked() (previously declared in /home/hoge/www/manager/includes/helpers.php:260) in /home/hoge/www/wp/wp-includes/general-template.php on line 4775
このサイトで重大なエラーが発生しました。
tktools
メンバー
メンバー
記事: 18
登録日時: 2020年8月17日(月) 09:13

1.0.23J以降でWordPressIntegratorエラー

投稿記事 by tktools »

木下です。

MODX 1.0.24Jにて
manager/includes/helpers.php の 260行目からは

コード: 全て選択

function checked($cond) {
    if ($cond) {
        return 'checked';
    }
    return '';
}

wordpress
wp-includes/general-template.php の 4775行目からは

コード: 全て選択

function checked( $checked, $current = true, $echo = true ) {
	return __checked_selected_helper( $checked, $current, $echo, 'checked' );
}
となっており

「同じ名前の関数を使用している為、再定義は出来ないよ」とエラーが表示されています。

ちなみに、MODX 1.0.24Jをsukraeditorで全文検索すると

コード: 全て選択

□検索条件  " checked("
検索対象   *.php
フォルダ   D:\user\Desktop\evolution-jp-master
    (サブフォルダも検索)
    (英大文字小文字を区別しない)
    (文字コードセット:自動判別)
    (一致した行を出力)


D:\user\Desktop\evolution-jp-master\assets\plugins\tinymce\functions.php(79,10): 	function checked($cond = false)
D:\user\Desktop\evolution-jp-master\manager\actions\element\mutate_plugin.dynamic.php(631,92):                                 $evtnames[] = '<input name="sysevents[]" type="checkbox"' . checked(in_array($row['id'],
D:\user\Desktop\evolution-jp-master\manager\actions\element\mutate_templates.dynamic.php(244,55):                                             <?php echo checked(template('locked') == 1); ?>
D:\user\Desktop\evolution-jp-master\manager\actions\permission\mutate_user_pf.dynamic.php(513,21):     $ph['checked'] = checked($cond);
D:\user\Desktop\evolution-jp-master\manager\actions\permission\mutate_user\functions.php(18,21):     $ph['checked'] = checked($cond);
D:\user\Desktop\evolution-jp-master\manager\actions\tool\bkmanager.static.php(319,77):                                       onclick="showhide('file');" <?php echo checked(!isset($_SESSION['console_mode']) || $_SESSION['console_mode'] !== 'text'); ?> /> <?php echo $_lang["bkmgr_run_sql_file_label"]; ?>
D:\user\Desktop\evolution-jp-master\manager\actions\tool\bkmanager.static.php(322,81):                                       onclick="showhide('textarea');" <?php echo checked(isset($_SESSION['console_mode']) && $_SESSION['console_mode'] === 'text'); ?> /> <?php echo $_lang["bkmgr_run_sql_direct_label"]; ?>
D:\user\Desktop\evolution-jp-master\manager\includes\helpers.php(260,9): function checked($cond) {
8 個が検索されました。
となっているのでそんなに数は無いから

modxの checkedを

コード: 全て選択

function modx_checked($cond) {
    if ($cond) {
        return 'checked';
    }
    return '';
}
とでもして使用している行を全て変換する等するのが簡単かもしれませんね。
mune3001
メンバー
メンバー
記事: 63
登録日時: 2010年5月08日(土) 16:58

1.0.23J以降でWordPressIntegratorエラー

投稿記事 by mune3001 »

情報ありがとうございます。
やはりコアの修正が必要になりそうなのですね

試してみます。
返信する