public function __construct()
{
global $aidlink;
$locale = fusion_get_locale();
// sanitize all $_GET
$_GET['forum_id'] = isset($_GET['forum_id']) && isnum($_GET['forum_id']) ? $_GET['forum_id'] : 0;
$_GET['forum_cat'] = isset($_GET['forum_cat']) && isnum($_GET['forum_cat']) ? $_GET['forum_cat'] : 0;
$_GET['forum_branch'] = isset($_GET['forum_branch']) && isnum($_GET['forum_branch']) ? $_GET['forum_branch'] : 0;
$_GET['parent_id'] = isset($_GET['parent_id']) && isnum($_GET['parent_id']) ? $_GET['parent_id'] : 0;
$_GET['action'] = isset($_GET['action']) && $_GET['action'] ? $_GET['action'] : '';
$_GET['status'] = isset($_GET['status']) && $_GET['status'] ? $_GET['status'] : '';
$this->ext = isset($_GET['parent_id']) && isnum($_GET['parent_id']) ? "&parent_id=" . $_GET['parent_id'] : '';
$this->ext .= isset($_GET['branch']) && isnum($_GET['branch']) ? "&branch=" . $_GET['branch'] : '';
// indexing hierarchy data
$this->forum_index = self::get_forum_index();
if (!empty($this->forum_index)) {
$this->level = self::make_forum_breadcrumbs();
}
/**
* List of actions available in this admin
*/
self::forum_jump();
// Save_permission
if (isset($_POST['save_permission'])) {
$this->data['forum_id'] = form_sanitizer($_POST['forum_id'], '', 'forum_id');
$this->data = self::get_forum($this->data['forum_id']);
if (!empty($this->data)) {
$this->data['forum_access'] = form_sanitizer($_POST['forum_access'], USER_LEVEL_PUBLIC, 'forum_access');
$this->data['forum_post'] = form_sanitizer($_POST['forum_post'], USER_LEVEL_MEMBER, 'forum_post');
$this->data['forum_reply'] = form_sanitizer($_POST['forum_reply'], USER_LEVEL_MEMBER, 'forum_reply');
$this->data['forum_post_ratings'] = form_sanitizer($_POST['forum_post_ratings'], USER_LEVEL_MEMBER, 'forum_post_ratings');
$this->data['forum_poll'] = form_sanitizer($_POST['forum_poll'], USER_LEVEL_MEMBER, 'forum_poll');
$this->data['forum_vote'] = form_sanitizer($_POST['forum_vote'], USER_LEVEL_MEMBER, 'forum_vote');
$this->data['forum_answer_threshold'] = form_sanitizer($_POST['forum_answer_threshold'], 0, 'forum_answer_threshold');
$this->data['forum_attach'] = form_sanitizer($_POST['forum_attach'], USER_LEVEL_MEMBER, 'forum_attach');
$this->data['forum_attach_download'] = form_sanitizer($_POST['forum_attach_download'], USER_LEVEL_PUBLIC, 'forum_attach_download');
$this->data['forum_mods'] = isset($_POST['forum_mods']) ? form_sanitizer($_POST['forum_mods'], '', 'forum_mods') : "";
dbquery_insert(DB_FORUMS, $this->data, 'update');
addnotice('success', $locale['forum_notice_10']);
if (\defender::safe()) {
redirect(FUSION_SELF . $aidlink . $this->ext);
}
}
}
self::set_forumDB();
/**
* Ordering actions
*/
switch ($_GET['action']) {
case 'mu':
self::move_up();
break;
case 'md':
self::move_down();
break;
case 'delete':
self::validate_forum_removal();
break;
case 'prune':
require_once "forums_prune.php";
break;
case 'edit':
$this->data = self::get_forum($_GET['forum_id']);
break;
case 'p_edit':
$this->data = self::get_forum($_GET['forum_id']);
break;
}
}