Re: single.phpにいいねモジュールを組み込む
永らくありがとうございました › フォーラム › 使い方全般 › single.phpにいいねモジュールを組み込む › Re: single.phpにいいねモジュールを組み込む
2011 年 4 月 11 日 2:57 AM
#3269
キーマスター
追加実験
iine/function.phpの111行目
<code>$sql = sprintf("SELECT COUNT(*) FROM %s WHERE content_id = '%u' AND dirname = '%s' AND ip = '%s'",</code>
の部分(バッククオートがうまく表示できません)に AND uid = 0 を加えて
<code>$sql = sprintf("SELECT COUNT(*) FROM %s WHERE content_id = '%u' AND dirname = '%s' AND ip = '%s' AND uid = 0",</code>
のように修正し、ゲストアクセス時の投票有無判断から、ユーザIDのあるデータを除外することで、少なくとも、iineモジュールのゲストアクセス権限を有効にしてある状態での動作上の不具合は解消されるのではないでしょうか?
アクセス権限の問題に関しては、よくわかりませんが、
iineモジュールのアクセス権限に合わせるのであれば
<code>global $module_handler,$xoopsUser;<br /> <br /> if (is_object($xoopsUser)) {<br /> $user_groupe = $xoopsUser->getGroups();<br /> } else {<br /> $user_groupe = array(XOOPS_GROUP_ANONYMOUS);<br /> }<br /> $iine_module =& $module_handler->getByDirname( 'iine' ) ;<br /> $iine_modid = $iine_module->mid();<br /> $sysperm_handler =& xoops_gethandler('groupperm');<br /> if (!$sysperm_handler->checkRight('module_read', $iine_modid, $user_groupe)){<br /> iineモジュールアクセス権限なし時の処理<br /> } else {<br /> iineモジュールアクセス権限あり時の処理<br /> }</code>
単にログインユーザとゲストの判断をしたいのであれば
<code>global $xoopsUser;<br /> <br /> if (is_object($xoopsUser)) {<br /> // ログインユーザ時の処理<br /> } else {<br /> // ゲスト時の処理<br /> }</code>
みたいな感じで分岐させれば良いのではないでしょうか?