From: <ir...@us...> - 2013-04-17 01:49:24
|
Revision: 11389 http://sourceforge.net/p/xoops/svn/11389 Author: irmtfan Date: 2013-04-17 01:49:19 +0000 (Wed, 17 Apr 2013) Log Message: ----------- 1- bug fix: should not ban the user in forum who is moderator of that forum. in newbb/include/form.post.php and newbb/class/moderate.php 2- bug fix: uid=0 for anonymous users in newbb/class/moderate.php 3- bug fix: if forum=0 should return true in any forum in newbb/class/moderate.php 4- bug fix: should not show quick reply for suspend users otherwise they can post in newbb/viewtopic.php 5- add: forum select box for admins to be able to suspend users in any forum or all forums in newbb/moderate.php Modified Paths: -------------- XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt XoopsModules/newbb/branches/irmtfan/newbb/class/moderate.php XoopsModules/newbb/branches/irmtfan/newbb/include/form.post.php XoopsModules/newbb/branches/irmtfan/newbb/moderate.php XoopsModules/newbb/branches/irmtfan/newbb/viewtopic.php Modified: XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt =================================================================== --- XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt 2013-04-16 15:22:50 UTC (rev 11388) +++ XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt 2013-04-17 01:49:19 UTC (rev 11389) @@ -1,3 +1,11 @@ +date 2013-04-17 +=================================== +1- bug fix: should not ban the user in forum who is moderator of that forum. in newbb/include/form.post.php and newbb/class/moderate.php +2- bug fix: uid=0 for anonymous users in newbb/class/moderate.php +3- bug fix: if forum=0 should return true in any forum in newbb/class/moderate.php +4- bug fix: should not show quick reply for suspend users otherwise they can post in newbb/viewtopic.php +5- add: forum select box for admins to be able to suspend users in any forum or all forums in newbb/moderate.php + date 2013-04-15 =================================== 1- improve: add anon users to topic poster and last poster in NewbbTopicRenderer class (used in block and list.topic.php) Modified: XoopsModules/newbb/branches/irmtfan/newbb/class/moderate.php =================================================================== --- XoopsModules/newbb/branches/irmtfan/newbb/class/moderate.php 2013-04-16 15:22:50 UTC (rev 11388) +++ XoopsModules/newbb/branches/irmtfan/newbb/class/moderate.php 2013-04-17 01:49:19 UTC (rev 11389) @@ -73,12 +73,14 @@ * @param string $ip user ip */ function verifyUser($uid = -1, $ip = "", $forum = 0) { + if(newbb_isAdmin($forum)) return false; // irmtfan - if user is admin do not suspend if (!empty($GLOBALS["xoopsModuleConfig"]['cache_enabled'])) { $forums = $this->forumList($uid, $ip); + if(in_array(0, $forums)) return true; // irmtfan - if user is suspend in All forums return in_array($forum, $forums); } $uid = ($uid < 0) ? ( is_object($GLOBALS["xoopsUser"]) ? $GLOBALS["xoopsUser"]->getVar("uid") : 0 ) : $uid; - $uid_criteria = empty($uid) ? "1=1" : "uid=" . intval($uid); + $uid_criteria = empty($uid) ? "uid=0" : "uid=" . intval($uid); // irmtfan - uid=0 for anons $ip = empty($ip) ? newbb_getIP(true) : $ip; if (!empty($ip)) { $ip_segs = explode(".", $ip); @@ -120,7 +122,7 @@ return $forums[$uid][$ip]; } } - $uid_criteria = empty($uid) ? "1=1" : "uid=" . intval($uid); + $uid_criteria = empty($uid) ? "uid=0" : "uid=" . intval($uid); // irmtfan - uid=0 for anons if (!empty($ip)) { $ip_segs = explode(".", $ip); for($i = 1; $i <= 4; $i++) { Modified: XoopsModules/newbb/branches/irmtfan/newbb/include/form.post.php =================================================================== --- XoopsModules/newbb/branches/irmtfan/newbb/include/form.post.php 2013-04-16 15:22:50 UTC (rev 11388) +++ XoopsModules/newbb/branches/irmtfan/newbb/include/form.post.php 2013-04-17 01:49:19 UTC (rev 11389) @@ -30,11 +30,11 @@ //check banning $moderated_id = ( is_object($xoopsUser) && $xoopsUser->uid() > 0 ) ? $xoopsUser->uid() : 0; -$moderated_isadmin = ( is_object($xoopsUser) && $xoopsUser->isAdmin() ) ? true : false; +// $moderated_isadmin = ( is_object($xoopsUser) && $xoopsUser->isAdmin() ) ? true : false; // irmtfan commented $moderated_ip = $_SERVER['REMOTE_ADDR']; $moderated_forum = $forum_obj->getVar('forum_id'); $moderate_handler =& xoops_getmodulehandler('moderate', 'newbb'); -if ($moderate_handler->verifyUser($moderated_id, $moderated_ip,$moderated_forum) && !$moderated_isadmin) { +if ($moderate_handler->verifyUser($moderated_id, $moderated_ip,$moderated_forum)) { // irmtfan removed $criteria = new CriteriaCompo(); $criteria->add( new criteria('uid',$moderated_id,'=') ); $criteria->setSort('mod_end'); Modified: XoopsModules/newbb/branches/irmtfan/newbb/moderate.php =================================================================== --- XoopsModules/newbb/branches/irmtfan/newbb/moderate.php 2013-04-16 15:22:50 UTC (rev 11388) +++ XoopsModules/newbb/branches/irmtfan/newbb/moderate.php 2013-04-17 01:49:19 UTC (rev 11389) @@ -219,7 +219,24 @@ $forum_form->addElement(new XoopsFormText(_MD_SUSPEND_IP, 'ip', 20, 25)); $forum_form->addElement(new XoopsFormText(_MD_SUSPEND_DURATION, 'expire', 20, 25, '5'), true); $forum_form->addElement(new XoopsFormText(_MD_SUSPEND_DESC, 'desc', 50, 255)); -$forum_form->addElement(new XoopsFormHidden('forum', $forum_id)); +// START irmtfan add forum select box for admins +mod_loadFunctions("forum", "newbb"); +if(newbb_isAdmin()) { + $forumSel = "<select name=\"forum\">";// if user dont select any it select "0" + $forumSel .= "<option value=\"0\" "; + if ($forum_id == 0) { + $forumSel .= " selected"; + } + $forumSel .= ">"._ALL."</option>"; + $forumSel .= newbb_forumSelectBox($forum_id, "access", false); //$access_forums, $permission = "access", $delimitor_category = true + $forumSel .= "</select>"; + $forumEle = new XoopsFormLabel(_MD_SELFORUM, $forumSel); + $forumEle->customValidationCode[]="if (document.suspend.forum.value < 0) {return false;} "; + $forum_form->addElement($forumEle); +} else { + $forum_form->addElement(new XoopsFormHidden('forum', $forum_id)); +} +// END irmtfan add forum select box for admins $forum_form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, "submit")); $forum_form->display(); include XOOPS_ROOT_PATH.'/footer.php'; Modified: XoopsModules/newbb/branches/irmtfan/newbb/viewtopic.php =================================================================== --- XoopsModules/newbb/branches/irmtfan/newbb/viewtopic.php 2013-04-16 15:22:50 UTC (rev 11388) +++ XoopsModules/newbb/branches/irmtfan/newbb/viewtopic.php 2013-04-17 01:49:19 UTC (rev 11389) @@ -642,9 +642,14 @@ $xoopsTpl->assign('menumode',$menumode); $xoopsTpl->assign('menumode_other',$menumode_other); +// START irmtfan add verifyUser to quick reply +//check banning +$moderate_handler =& xoops_getmodulehandler('moderate', 'newbb'); if ( !empty($xoopsModuleConfig['quickreply_enabled']) && $topic_handler->getPermission($forum_obj, $topic_obj->getVar('topic_status'), "reply") + && !$moderate_handler->verifyUser(-1, "",$forum_obj->getVar('forum_id')) ) { +// END irmtfan add verifyUser to quick reply $forum_form = new XoopsThemeForm(_MD_POSTREPLY, 'quick_reply', XOOPS_URL."/modules/".$xoopsModule->getVar("dirname", "n")."/post.php", 'post', true); if (!is_object($xoopsUser)) { //$config_handler =& xoops_gethandler('config'); |