From dfd70320dfe10a00c97440818d476283564fedbe Mon Sep 17 00:00:00 2001 From: Moc Date: Thu, 14 Aug 2014 17:48:32 +0200 Subject: [PATCH] Forum plugin admin clean-up, lots more work to do (not quite functional now) --- e107_plugins/forum/forum_admin.php | 126 ++++++++++++++--------------- 1 file changed, 59 insertions(+), 67 deletions(-) diff --git a/e107_plugins/forum/forum_admin.php b/e107_plugins/forum/forum_admin.php index 0e4bdd254..cc1a0818d 100644 --- a/e107_plugins/forum/forum_admin.php +++ b/e107_plugins/forum/forum_admin.php @@ -519,8 +519,10 @@ class forumAdmin show_admin_menu(FORLAN_7, $action, $var); } + // Initial delete function. Determines which delete routine should be applied. function delete_item($id) { + // If a delete routine is cancelled, redirect back to forum listing if($_POST['cancel']) { $this->show_existing_forums(vartrue($sub_action), vartrue($id)); @@ -529,44 +531,44 @@ class forumAdmin $sql = e107::getDb(); $id = (int)$id; + $confirm = isset($_POST['confirm']) ? true : false; + + if($confirm) + { + e107::getRender()->tablerender('Forums', e107::getMessage()->render().$txt); + } + else + { + $this->delete_show_confirm($txt); + } - if($sql->select('forum', 'forum_parent, forum_sub', "forum_id = {$id}")) + if($row = $sql->retrieve('forum', 'forum_parent, forum_sub', "forum_id = {$id}")) { $txt = ""; - $row = $sql->fetch(); - + + // is parent if($row['forum_parent'] == 0) { $txt .= $this->delete_parent($id, $confirm); } + // is subforum elseif($row['forum_sub'] > 0) { $txt .= $this->delete_sub($id, $confirm); } + // is forum else { $txt .= $this->delete_forum($id, $confirm); } - - - if($confirm) - { - e107::getRender()->tablerender('', e107::getMessage()->render().$txt); - } - else - { - $this->delete_show_confirm($txt); - } } + // forum_id not found, should not happen. else { - // forum_id not found, should not happen. $this->show_existing_forums(vartrue($sub_action), vartrue($id)); return; } - - } function delete_parent($id, $confirm = false) @@ -575,10 +577,10 @@ class forumAdmin $mes = e107::getMessage(); $ns = e107::getRender(); - - if($sql->select('forum', 'forum_id', "forum_parent = {$id} AND forum_sub = 0")) + // check if parent contains forums and delete them if needed + if($sql->select('forum', 'forum_id', 'forum_parent = '.$id)) { - $fList = $sql->db_getList(); + $fList = $sql->rows(); foreach($fList as $f) { $this->delete_forum($f['forum_id'], $confirm); @@ -589,42 +591,43 @@ class forumAdmin { if($sql->delete('forum', "forum_id = {$id}")) { - return LAN_DELETED; + $mes->addSuccess(LAN_DELETED); } else { - return LAN_DELETED_FAILED; + $mes->addError(LAN_DELETED_FAILED); } } } - function deleteForum($forumId) - { - $sql = e107::getDb(); - $forumId = (int)$forumId; + // function deleteForum($forumId) + // { + // $sql = e107::getDb(); + // $forumId = (int)$forumId; - // Check for any sub forums - if($sql->select('forum', 'forum_id', "forum_sub = {$forumId}")) - { - $list = $sql->db_getList(); - foreach($list as $f) - { - $ret .= $this->deleteForum($f['forum_id']); - } - } - require_once(e_PLUGIN.'forum/forum_class.php'); - $f = new e107Forum; - if($sql->delete('forum_thread', 'thread_id','thread_forum_id='.$forumId)) - { - $list = $sql->db_getList(); - foreach($list as $t) - { - $f->threadDelete($t['thread_id'], false); - } - } - return $sql->delete('forum', 'forum_id = '.$forumId); - } + // // Check for any sub forums + // if($sql->select('forum', 'forum_id', "forum_sub = {$forumId}")) + // { + // $list = $sql->rows(); + // foreach($list as $f) + // { + // $ret .= $this->deleteForum($f['forum_id']); + // } + // } + // require_once(e_PLUGIN.'forum/forum_class.php'); + // $f = new e107Forum; + // if($sql->delete('forum_thread', 'thread_id','thread_forum_id='.$forumId)) + // { + // $list = $sql->rows(); + // foreach($list as $t) + // { + // $f->threadDelete($t['thread_id'], false); + // } + // } + // return $sql->delete('forum', 'forum_id = '.$forumId); + // } + // delete forum function delete_forum($id, $confirm = false) { $sql = e107::getDb(); @@ -632,10 +635,10 @@ class forumAdmin $ns = e107::getRender(); $mes = e107::getMessage(); - + // check if forum contains subforums if($sql->select('forum', 'forum_id', 'forum_sub = '.$id)) { - $fList = $sql->db_getList(); + $fList = $sql->rows(); foreach($fList as $f) { $this->delete_sub($f['forum_id'], $confirm); @@ -1492,6 +1495,7 @@ class forumAdmin $ns->tablerender(FORLAN_33, $txt); // FIX: LAN button update was WMGLAN_4." ".FORLAN_33) } + // TODO: check media category on $frm->bbarea() function show_rules() { $pref = e107::getPref(); @@ -1524,9 +1528,9 @@ class forumAdmin $admin_rules = $sql->fetch(); } - $guesttext = $tp->toFORM(vartrue($guest_rules['gen_chardata'])); - $membertext = $tp->toFORM(vartrue($member_rules['gen_chardata'])); - $admintext = $tp->toFORM(vartrue($admin_rules['gen_chardata'])); + $guesttext = $tp->toForm(vartrue($guest_rules['gen_chardata'])); + $membertext = $tp->toForm(vartrue($member_rules['gen_chardata'])); + $admintext = $tp->toForm(vartrue($admin_rules['gen_chardata'])); $text = "
@@ -1539,7 +1543,7 @@ class forumAdmin ".WMGLAN_1.":
".WMGLAN_6.":"; if (vartrue($guest_rules['gen_intdata'])) - { + { $text .= ""; } else @@ -1549,11 +1553,7 @@ class forumAdmin $text .= " - -
- -
- ".display_help('helpb', 1, 'addtext1', 'help1')." + ".$frm->bbarea('guestrules', $guesttext)." @@ -1571,11 +1571,7 @@ class forumAdmin $text .= " - -
- -
- ".display_help('helpb', 1, 'addtext2', 'help2')." + ".$frm->bbarea('memberrules', $membertext)." @@ -1594,11 +1590,7 @@ class forumAdmin $text .= " - -
- -
- ".display_help('helpb', 1, 'addtext3', 'help3')." + ".$frm->bbarea('adminrules', $admintext)."