ホーム > フォーラム > 質問箱 > XCL2.2(Pack 2012) > XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー

XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー
投稿者: belldandy | 投稿日時: 2012/3/31 13:56 | 閲覧: 12692回
belldandy

XOOPS Cube 2.2 Distribution Pack 2012をインストールしました。
このパッケージに含まれているモジュールでもリダイレクトの高速化が可能なのですが、ダイアログの表示のされ方が
好みに合わないため、以下のURLで公開されているハックを当ててみました。

http://www.xugj.org/modules/d3forum/index.php?post_id=6367

このハックを当てた後、ログインすると下記のエラーが表示されます。

Fatal error: Call to undefined method XoopsUser::isAdimn() in /home/eukiaxxw/colorguards.info/html/modules/legacy/kernel/Legacy_Controller.class.php on line 1200

エラー内容からするとXoopsUserクラスにisAdmin()関数がないということだと思うのですが・・・。

コメント(5)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー 
投稿者: belldandy | 投稿日時: 2012/3/31 14:17
belldandy

該当する箇所を抜き出してみました。

xoops_root_path/modules/legacy/kernel
Legacy_Controller.class.php

function executeRedirect($url, $time = 1, $message = null, $addRedirect = true)
{
global $xoopsConfig, $xoopsRequestUri, $xoopsUser;

//
// Check the following by way of caution.
//
if (preg_match("/(javascript|vbscript):/si", $url)) {
$url = XOOPS_URL;
}

$displayMessage = "";
if (is_array($message)) {
foreach (array_keys($message) as $key) {
$message[$key] = htmlspecialchars($message[$key], ENT_QUOTES);
}
$displayMessage = implode("<br/>", $message);
}
else {
$displayMessage = $message;
}


//HACK by domifara for debug
if (!empty($displayMessage)){
$_SESSION["redirect_message"] = $displayMessage;
}
if (is_object( @$xoopsUser ) && $xoopsUser->isAdimn() && (( $xoopsConfig['debug_mode']==1 && !empty($GLOBALS['xoopsErrorHandler']->_errors)) || $xoopsConfig['debug_mode']==2)){
echo '<a href="'.preg_replace("/&/i", '&', htmlspecialchars($url, ENT_QUOTES)).'">redirect to '.htmlspecialchars($url, ENT_QUOTES).'</a>';
$root =& XCube_Root::getSingleton();
$xoopsLogger=&$root->mController->getLogger();
$xoopsLogger->stopTime();
$root->mController->executeView();
exit();
}
Re: XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー 
投稿者: onokazu | 投稿日時: 2012/4/2 1:03 | 親コメント: #21067
onokazu

実際のコードは見ていませんが、

$xoopsUser->isAdimn()

の箇所が

$xoopsUser->isAdmin()

となっているべきではないかと思います。
Re: XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー 
投稿者: belldandy | 投稿日時: 2012/4/2 8:46 | 親コメント: #21069
belldandy
引用:
実際のコードは見ていませんが、

$xoopsUser->isAdimn()

の箇所が

$xoopsUser->isAdmin()

となっているべきではないかと思います。

どちらも同じ記述方法になっていますが、どのように記述を直せばよいのでしょうか。
Re: XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー 
投稿者: marine | 投稿日時: 2012/4/2 16:29 | 親コメント: #21070
marine

Onokazuさんが、ちゃんと回答されているのに、それを試されましたか?

引用:
引用:
実際のコードは見ていませんが、

$xoopsUser->isAdimn()

の箇所が

$xoopsUser->isAdmin()

となっているべきではないかと思います。
どちらも同じ記述方法になっていますが、どのように記述を直せばよいのでしょうか。


どちらも同じ記述? いいえ、違うところがありますよ!
答えがちゃんと書いてありますよ!
一文字ずつ、きちんと文字を見ましょうよ。
Re: XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー 
投稿者: belldandy | 投稿日時: 2012/4/2 21:20 | 親コメント: #21071
belldandy

完全に見落としていました。

ご指摘の内容で修正したところ、エラーが出なくなりました。

ご迷惑おかけしました。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top