Example #1
0
 public function Execute(Template $template, Session $session, $request)
 {
     $this->dba = DBA::Open();
     $template = CreateAncestors($template, $template['L_ADMINPANEL']);
     if ($session['user'] instanceof Member && $session['user']['perms'] & ADMIN) {
         if (isset($request['forum']) && isset($request['days'])) {
             /* Turn the board off for safety reasons */
             $this->dba->Execute("UPDATE " . SETTING . " SET value = '0' WHERE varname = 'bbactive'");
             $days = intval($request['days']);
             $forum = intval($request['forum']);
             $created = $days == 0 ? time() : time() - $days * 24 * 3600;
             $prune = new Prune();
             if ($forum == -1) {
                 foreach ($this->dba->Query("SELECT * FROM " . POSTS . " WHERE row_status != 2 AND row_status != 3 AND row_type = 2 AND row_right-row_left-1 = 0 AND created <= " . $created) as $post) {
                     $prune->KillNode($post);
                 }
             } else {
                 foreach ($this->dba->Query("SELECT * FROM " . POSTS . " WHERE parent_id = " . $forum . " AND row_status != 2 AND row_status != 3 AND row_type = 2 AND row_right-row_left-1 = 0 AND created <= " . $created) as $post) {
                     $prune->KillNode($post);
                 }
             }
             /* Turn the board back on */
             $this->dba->Execute("UPDATE " . SETTING . " SET value = '1' WHERE varname = 'bbactive'");
             return new Error($template['L_PRUNESUCCESS'] . '<meta http-equiv="refresh" content="2; url=admin.php?act=prune">', $template);
         } else {
             return new Error($template['L_FORUMDOESNTEXIST'], $template);
         }
     }
     return TRUE;
 }