LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

Pack2012+リダイレクト高速化ハック

投稿ツリー


このトピックの投稿一覧へ

belldandy

なし Pack2012+リダイレクト高速化ハック

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2012/4/1 9:32
belldandy  2nd Class   投稿数: 10
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/hogehoge/hogehoge.com/html/modules/legacy/kernel/Legacy_Controller.class.php on line 1200

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

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

上記コードの$xoopsUser->isAdimn()を削除するとエラーは出ません。

どなたか解決方法をご提示いただけないでしょうか。
投票数:0 平均点:0.00

  条件検索へ


Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities