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

XOOPS Cube 2.2 Distribution Pack 2012+リダイレクト高速化ハックでエラー
投稿者: belldandy | 投稿日時: 2012/3/31 13:56 | 閲覧: 6095回
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)

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();
}

    投票(0)

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