/** * Retrieve the permission items * * @access public * @return array */ public function getPermItems() { require_once IPSLib::getAppDir('forums') . '/sources/classes/forums/class_forums.php'; require_once IPSLib::getAppDir('forums') . '/sources/classes/forums/admin_forum_functions.php'; $forumfunc = new admin_forum_functions(ipsRegistry::instance()); $forumfunc->forumsInit(); $forum_data = $forumfunc->adForumsForumData(); $_return_arr = array(); foreach ($forum_data as $r) { $return_arr[$r['id']] = array('title' => $r['depthed_name'], 'perm_view' => $r['perm_view'], 'perm_2' => $r['perm_2'], 'perm_3' => $r['perm_3'], 'perm_4' => $r['perm_4'], 'perm_5' => $r['perm_5'], 'perm_6' => $r['perm_6'], 'perm_7' => $r['perm_7'], 'restrict' => $r['parent_id'] == 'root' ? 'perm_view' : ''); } return $return_arr; }
/** * Process an individual setting for display * * @access private * @param array Setting record * @return void */ private function _processSettingEntry($r) { $tempSkinUrl = $this->settings['skin_app_url']; $this->settings['skin_app_url'] = $this->settings['_original_base_url'] . '/' . CP_DIRECTORY . '/applications/core/skin_cp/'; $form_element = ""; $form_type = 'normal'; $dropdown = array(); $start = ""; $end = ""; $revert_button = ""; $key = $r['conf_key']; $value = $r['conf_value'] != "" ? $r['conf_value'] : $r['conf_default']; $value = $value == "{blank}" ? '' : $value; $show = 1; //----------------------------------------------- // Default? //----------------------------------------------- $css = ""; if ($r['conf_value'] != "" and $r['conf_value'] != $r['conf_default']) { $revert_button = "<a class='dropdown-button' href='" . $this->settings['_base_url'] . "&app=core&{$this->form_code}&do=setting_revert&id={$r['conf_id']}&conf_group={$r['conf_group']}&search=" . $this->request['search'] . "' title='{$this->lang->words['s_revertback']}'><img src='" . $this->settings['skin_acp_url'] . "/_newimages/icons/arrow_rotate_anticlockwise.png' alt='X' border='0' /></a></div>"; } //----------------------------------------------- // Evil eval //----------------------------------------------- if ($r['conf_evalphp']) { $show = 1; eval($r['conf_evalphp']); } if (!$show && !IN_DEV) { return ''; } switch ($r['conf_type']) { case 'input': $form_element = $this->registry->output->formInput($key, str_replace("'", "'", $value)); break; case 'textarea': $form_element = $this->registry->output->formTextarea($key, $value, 45); break; case 'editor': IPSText::getTextClass('bbcode')->parse_html = 1; IPSText::getTextClass('bbcode')->parse_nl2br = 1; IPSText::getTextClass('bbcode')->parse_smilies = 1; IPSText::getTextClass('bbcode')->parse_bbcode = 1; IPSText::getTextClass('bbcode')->parsing_section = 'global'; if (IPSText::getTextClass('editor')->method == 'rte') { $value = IPSText::getTextClass('bbcode')->convertForRTE(IPSText::getTextClass('bbcode')->preDbParse($value)); } else { $value = IPSText::getTextClass('bbcode')->preEditParse($value); } $form_element = IPSText::getTextClass('editor')->showEditor($value, $key); $form_type = 'rte'; break; case 'yes_no': $form_element = $this->registry->output->formYesNo($key, $value); break; default: if ($r['conf_extra']) { if ($r['conf_extra'] == '#show_forums#') { //----------------------------------------- // Require the library // (Not a building with books) //----------------------------------------- require_once IPSLib::getAppDir('forums') . '/sources/classes/forums/class_forums.php'; require_once IPSLib::getAppDir('forums') . '/sources/classes/forums/admin_forum_functions.php'; $aff = new admin_forum_functions($this->registry); $aff->forumsInit(); $dropdown = $aff->adForumsForumList(1); } else { if ($r['conf_extra'] == '#show_groups#') { $this->DB->build(array('select' => '*', 'from' => 'groups', 'order' => 'g_title ASC')); $this->DB->execute(); while ($row = $this->DB->fetch()) { if ($row['g_access_cp']) { $row['g_title'] .= $this->lang->words['setting_staff_tag']; } $dropdown[] = array($row['g_id'], $row['g_title']); } } else { if ($r['conf_extra'] == '#show_applications#') { foreach (ipsRegistry::$applications as $app) { $dropdown[] = array($app['app_directory'], $app['app_title']); } } else { if ($r['conf_extra'] == '#show_skins#') { $dropdown = $this->registry->output->generateSkinDropdown(); } else { foreach (explode("\n", $r['conf_extra']) as $l) { list($k, $v) = explode("=", $l); if ($k != "" and $v != "") { $dropdown[] = array(trim($k), trim($v)); } } } } } } } if ($r['conf_type'] == 'dropdown') { $form_element = $this->registry->output->formDropdown($key, $dropdown, $value); } else { $form_element = $this->registry->output->formMultiDropdown($key, $dropdown, explode(",", $value)); } break; } $delete = " <a class='dropdown-button' href='#' onclick='return acp.confirmDelete(\"{$this->settings['_base_url']}&app=core&{$this->form_code}&do=setting_delete&id={$r['conf_id']}\");' title='key: {$r['conf_key']}'><img src='" . $this->settings['skin_acp_url'] . "/_newimages/icons/delete.png' alt='{$this->lang->words['s_delete']}' border='0' /></a>"; $edit = "<a class='dropdown-button' href='" . $this->settings['_base_url'] . "&app=core&{$this->form_code}&do=setting_showedit&id={$r['conf_id']}' title='id: {$r['conf_id']}'><img src='" . $this->settings['skin_acp_url'] . "/_newimages/icons/pencil.png' alt='{$this->lang->words['s_edit']}' border='0' /></a>"; if ($r['conf_protected'] and !IN_DEV) { $delete = ""; $edit = ""; } if ($r['conf_start_group']) { $start = $this->html->settings_row_start_group($r); } else { if (!in_array($r['conf_id'], $this->in_group) and !$r['conf_end_group']) { $start = $this->html->settings_row_start_normal(); } } if ($r['conf_end_group']) { $end = $this->html->settings_row_end_group(); } else { if (!in_array($r['conf_id'], $this->in_group) and !$r['conf_start_group']) { $end = $this->html->settings_row_end_normal(); } } //----------------------------------------------- // Search hi-lite //----------------------------------------------- if ($this->request['search']) { $r['conf_title'] = preg_replace("/(" . $this->request['search'] . ")/i", "<span style='background:#FCFDD7'>\\1</span>", $r['conf_title']); /** * Ok this is just annoying.... */ preg_match_all("/(href=['\"].*?[\"'])/i", $r['conf_description'], $matches); if (count($matches[0])) { for ($i = 0, $cnt = count($matches[0]); $i <= $cnt; $i++) { $r['conf_description'] = str_replace($matches[0][$i], '{{{' . $i . '}}}', $r['conf_description']); } } $r['conf_description'] = preg_replace("/(" . $this->request['search'] . ")/i", "<span style='background:#FCFDD7'>\\1</span>", $r['conf_description']); if (count($matches[0])) { for ($i = 0, $cnt = count($matches); $i <= $cnt; $i++) { $r['conf_description'] = str_replace('{{{' . $i . '}}}', $matches[0][$i], $r['conf_description']); } } } $html .= $start . $this->html->settings_view_row($r, $edit, $delete, $form_element, $revert_button, $form_type) . $end; $this->key_array[] = preg_replace("/\\[\\]\$/", "", $key); $this->settings['skin_app_url'] = $tempSkinUrl; return $html; }
/** * Get the feed's available filter options. Returns form elements and data * * @access public * @param array Session data * @return array Form data */ public function returnFilters($session) { $filters = array(); //----------------------------------------- // For all the content types, we allow to filter by forums //----------------------------------------- require_once IPSLib::getAppDir('forums') . '/sources/classes/forums/class_forums.php'; require_once IPSLib::getAppDir('forums') . '/sources/classes/forums/admin_forum_functions.php'; $aff = new admin_forum_functions($this->registry); $aff->forumsInit(); $dropdown = $aff->adForumsForumList(1); $filters[] = array('label' => $this->lang->words['feed_forums__forums'], 'description' => $this->lang->words['feed_forums__forums_desc'], 'field' => $this->registry->output->formMultiDropdown('filter_forums[]', $dropdown, explode(',', $session['config_data']['filters']['filter_forums']), 10)); switch ($session['config_data']['content_type']) { case 'topics': default: $session['config_data']['filters']['filter_status'] = $session['config_data']['filters']['filter_status'] ? $session['config_data']['filters']['filter_status'] : 'either'; $session['config_data']['filters']['filter_visibility'] = $session['config_data']['filters']['filter_visibility'] ? $session['config_data']['filters']['filter_visibility'] : 'approved'; $session['config_data']['filters']['filter_pinned'] = $session['config_data']['filters']['filter_pinned'] ? $session['config_data']['filters']['filter_pinned'] : 'either'; $session['config_data']['filters']['filter_posts'] = $session['config_data']['filters']['filter_posts'] ? $session['config_data']['filters']['filter_posts'] : 0; $session['config_data']['filters']['filter_starter'] = $session['config_data']['filters']['filter_starter'] ? $session['config_data']['filters']['filter_starter'] : ''; $session['config_data']['filters']['filter_poll'] = $session['config_data']['filters']['filter_poll'] ? $session['config_data']['filters']['filter_poll'] : 'either'; $session['config_data']['filters']['filter_moved'] = $session['config_data']['filters']['filter_moved'] ? $session['config_data']['filters']['filter_moved'] : 1; $session['config_data']['filters']['filter_attach'] = $session['config_data']['filters']['filter_attach'] ? $session['config_data']['filters']['filter_attach'] : 0; $session['config_data']['filters']['filter_rating'] = $session['config_data']['filters']['filter_rating'] ? $session['config_data']['filters']['filter_rating'] : 0; $status = array(array('open', $this->lang->words['status__open']), array('closed', $this->lang->words['status__closed']), array('either', $this->lang->words['status__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__status'], 'description' => $this->lang->words['feed_forums__status_desc'], 'field' => $this->registry->output->formDropdown('filter_status', $status, $session['config_data']['filters']['filter_status'])); $visibility = array(array('approved', $this->lang->words['approved__yes']), array('unapproved', $this->lang->words['approved__no']), array('either', $this->lang->words['approved__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__visibility'], 'description' => $this->lang->words['feed_forums__visibility_desc'], 'field' => $this->registry->output->formDropdown('filter_visibility', $visibility, $session['config_data']['filters']['filter_visibility'])); $pinned = array(array('pinned', $this->lang->words['pinned__yes']), array('unpinned', $this->lang->words['pinned__no']), array('either', $this->lang->words['pinned__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__pinned'], 'description' => $this->lang->words['feed_forums__pinned_desc'], 'field' => $this->registry->output->formDropdown('filter_pinned', $pinned, $session['config_data']['filters']['filter_pinned'])); $filters[] = array('label' => $this->lang->words['feed_forums__posts'], 'description' => $this->lang->words['feed_forums__posts_desc'], 'field' => $this->registry->output->formInput('filter_posts', $session['config_data']['filters']['filter_posts'])); $filters[] = array('label' => $this->lang->words['feed_forums__starter'], 'description' => $this->lang->words['feed_forums__starter_desc'], 'field' => $this->registry->output->formInput('filter_starter', $session['config_data']['filters']['filter_starter'])); $poll = array(array('poll', $this->lang->words['poll__yes']), array('nopoll', $this->lang->words['poll__no']), array('either', $this->lang->words['poll__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__poll'], 'description' => $this->lang->words['feed_forums__poll_desc'], 'field' => $this->registry->output->formDropdown('filter_poll', $poll, $session['config_data']['filters']['filter_poll'])); $filters[] = array('label' => $this->lang->words['feed_forums__move'], 'description' => $this->lang->words['feed_forums__move_desc'], 'field' => $this->registry->output->formYesNo('filter_moved', $session['config_data']['filters']['filter_moved'])); $filters[] = array('label' => $this->lang->words['feed_forums__attach'], 'description' => $this->lang->words['feed_forums__attach_desc'], 'field' => $this->registry->output->formInput('filter_attach', $session['config_data']['filters']['filter_attach'])); $filters[] = array('label' => $this->lang->words['feed_forums__rating'], 'description' => $this->lang->words['feed_forums__rating_desc'], 'field' => $this->registry->output->formInput('filter_rating', $session['config_data']['filters']['filter_rating'])); break; case 'replies': $session['config_data']['filters']['filter_status'] = $session['config_data']['filters']['filter_status'] ? $session['config_data']['filters']['filter_status'] : 'either'; $session['config_data']['filters']['filter_visibility'] = $session['config_data']['filters']['filter_visibility'] ? $session['config_data']['filters']['filter_visibility'] : 'approved'; $session['config_data']['filters']['filter_pinned'] = $session['config_data']['filters']['filter_pinned'] ? $session['config_data']['filters']['filter_pinned'] : 'either'; $session['config_data']['filters']['filter_posts'] = $session['config_data']['filters']['filter_posts'] ? $session['config_data']['filters']['filter_posts'] : 0; $session['config_data']['filters']['filter_poster'] = $session['config_data']['filters']['filter_poster'] ? $session['config_data']['filters']['filter_poster'] : ''; $session['config_data']['filters']['filter_poll'] = $session['config_data']['filters']['filter_poll'] ? $session['config_data']['filters']['filter_poll'] : 'either'; $session['config_data']['filters']['filter_attach'] = $session['config_data']['filters']['filter_attach'] ? $session['config_data']['filters']['filter_attach'] : 0; $session['config_data']['filters']['filter_rating'] = $session['config_data']['filters']['filter_rating'] ? $session['config_data']['filters']['filter_rating'] : 0; $status = array(array('open', $this->lang->words['status__open']), array('closed', $this->lang->words['status__closed']), array('either', $this->lang->words['status__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__status'], 'description' => $this->lang->words['feed_forums__status_desc_r'], 'field' => $this->registry->output->formDropdown('filter_status', $status, $session['config_data']['filters']['filter_status'])); $visibility = array(array('approved', $this->lang->words['approved__yes']), array('unapproved', $this->lang->words['approved__no']), array('either', $this->lang->words['approved__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__visibility'], 'description' => $this->lang->words['feed_forums__visibility_desc_r'], 'field' => $this->registry->output->formDropdown('filter_visibility', $visibility, $session['config_data']['filters']['filter_visibility'])); $pinned = array(array('pinned', $this->lang->words['pinned__yes']), array('unpinned', $this->lang->words['pinned__no']), array('either', $this->lang->words['pinned__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__pinned'], 'description' => $this->lang->words['feed_forums__pinned_desc'], 'field' => $this->registry->output->formDropdown('filter_pinned', $pinned, $session['config_data']['filters']['filter_pinned'])); $filters[] = array('label' => $this->lang->words['feed_forums__posts'], 'description' => $this->lang->words['feed_forums__posts_desc_r'], 'field' => $this->registry->output->formInput('filter_posts', $session['config_data']['filters']['filter_posts'])); $filters[] = array('label' => $this->lang->words['feed_forums__poster'], 'description' => $this->lang->words['feed_forums__poster_desc'], 'field' => $this->registry->output->formInput('filter_poster', $session['config_data']['filters']['filter_poster'])); $poll = array(array('poll', $this->lang->words['poll__yes']), array('nopoll', $this->lang->words['poll__no']), array('either', $this->lang->words['poll__either'])); $filters[] = array('label' => $this->lang->words['feed_forums__poll'], 'description' => $this->lang->words['feed_forums__poll_desc'], 'field' => $this->registry->output->formDropdown('filter_poll', $poll, $session['config_data']['filters']['filter_poll'])); $filters[] = array('label' => $this->lang->words['feed_forums__attach'], 'description' => $this->lang->words['feed_forums__attach_desc_r'], 'field' => $this->registry->output->formInput('filter_attach', $session['config_data']['filters']['filter_attach'])); $filters[] = array('label' => $this->lang->words['feed_forums__rating'], 'description' => $this->lang->words['feed_forums__rating_desc_r'], 'field' => $this->registry->output->formInput('filter_rating', $session['config_data']['filters']['filter_rating'])); break; case 'forums': $session['config_data']['filters']['filter_root'] = $session['config_data']['filters']['filter_root'] ? $session['config_data']['filters']['filter_root'] : 1; $filters[] = array('label' => $this->lang->words['feed_forums__root'], 'description' => $this->lang->words['feed_forums__root_desc'], 'field' => $this->registry->output->formYesNo('filter_root', $session['config_data']['filters']['filter_root'])); break; } return $filters; }
/** * Form for adding/editing RSS Imports * * @access public * @param string $type Either add or edit * @return void **/ public function rssImportForm($type = 'add') { /* INIT */ $rss_import_id = $this->request['rss_import_id'] ? intval($this->request['rss_import_id']) : 0; /* Build form drop downs */ $this->registry->class_forums->forumsInit(); require_once IPS_ROOT_PATH . 'applications/forums/sources/classes/forums/admin_forum_functions.php'; $aff = new admin_forum_functions($this->registry); $aff->forumsInit(); $forum_dropdown = $aff->adForumsForumList(1); /* Add new import */ if ($type == 'add') { /* Form Bits */ $formcode = 'rssimport_add_save'; $title = $this->lang->words['im_createnew']; $button = $this->lang->words['im_createnew']; /* Form Data */ $rssstream = array('rss_import_topic_open' => 1, 'rss_import_enabled' => 1, 'rss_import_showlink' => $this->lang->words['im_full'], 'rss_import_title' => '', 'rss_import_url' => '', 'rss_import_forum_id' => 0, 'rss_import_mid' => '', 'rss_import_pergo' => 10, 'rss_import_time' => '200', 'rss_import_topic_hide' => 0, 'rss_import_inc_pcount' => 1, 'rss_import_topic_pre' => '', 'rss_import_charset' => '', 'rss_import_allow_html' => 0, 'rss_import_auth' => NULL, 'rss_import_auth_user' => NULL, 'rss_import_auth_pass' => NULL, 'rss_import_id' => 0); } else { /* Form Data */ $rssstream = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'rss_import', 'where' => 'rss_import_id=' . $rss_import_id)); /* Make sure it's valid */ if (!$rssstream['rss_import_id']) { $this->registry->output->global_message = $this->lang->words['im_noid']; $this->rssImportOverview(); return; } /* Get the member name */ $member = $this->DB->buildAndFetch(array('select' => 'member_id, members_display_name', 'from' => 'members', 'where' => "member_id=" . intval($rssstream['rss_import_mid']))); if ($member['member_id']) { $rssstream['rss_import_mid'] = $member['members_display_name']; } /* Form Bits */ $formcode = 'rssimport_edit_save'; $title = $this->lang->words['im_edit'] . $rssstream['rss_import_title']; $button = $this->lang->words['im_save']; } /* Form Elements */ $form = array(); $form['rss_import_title'] = $this->registry->output->formInput('rss_import_title', (isset($this->request['rss_import_title']) and $this->request['rss_import_title']) ? stripslashes($this->request['rss_import_title']) : $rssstream['rss_import_title']); $form['rss_import_enabled'] = $this->registry->output->formYesNo('rss_import_enabled', (isset($this->request['rss_import_enabled']) and $this->request['rss_import_enabled']) ? $this->request['rss_import_enabled'] : $rssstream['rss_import_enabled']); $form['rss_import_url'] = $this->registry->output->formInput('rss_import_url', (isset($this->request['rss_import_url']) and $this->request['rss_import_url']) ? $this->request['rss_import_url'] : $rssstream['rss_import_url']); $form['rss_import_forum_id'] = $this->registry->output->formDropdown('rss_import_forum_id', $forum_dropdown, (isset($this->request['rss_import_forum_id']) and $this->request['rss_import_forum_id']) ? $this->request['rss_import_forum_id'] : $rssstream['rss_import_forum_id']); $form['rss_import_mid'] = $this->registry->output->formInput('rss_import_mid', (isset($this->request['rss_import_mid']) and $this->request['rss_import_mid']) ? $this->request['rss_import_mid'] : $rssstream['rss_import_mid']); $form['rss_import_pergo'] = $this->registry->output->formSimpleInput('rss_import_pergo', (isset($this->request['rss_import_pergo']) and $this->request['rss_import_pergo']) ? $this->request['rss_import_pergo'] : $rssstream['rss_import_pergo'], 5); $form['rss_import_time'] = $this->registry->output->formSimpleInput('rss_import_time', (isset($this->request['rss_import_time']) and $this->request['rss_import_time']) ? $this->request['rss_import_time'] : $rssstream['rss_import_time'], 5); $form['rss_import_showlink'] = $this->registry->output->formInput('rss_import_showlink', (isset($this->request['rss_import_showlink']) and $this->request['rss_import_showlink']) ? htmlspecialchars($this->request['rss_import_showlink']) : htmlspecialchars($rssstream['rss_import_showlink'])); $form['rss_import_topic_open'] = $this->registry->output->formYesNo('rss_import_topic_open', (isset($this->request['rss_import_topic_open']) and $this->request['rss_import_topic_open']) ? $this->request['rss_import_topic_open'] : $rssstream['rss_import_topic_open']); $form['rss_import_topic_hide'] = $this->registry->output->formYesNo('rss_import_topic_hide', (isset($this->request['rss_import_topic_hide']) and $this->request['rss_import_topic_hide']) ? $this->request['rss_import_topic_hide'] : $rssstream['rss_import_topic_hide']); $form['rss_import_inc_pcount'] = $this->registry->output->formYesNo('rss_import_inc_pcount', (isset($this->request['rss_import_inc_pcount']) and $this->request['rss_import_inc_pcount']) ? $this->request['rss_import_inc_pcount'] : $rssstream['rss_import_inc_pcount']); $form['rss_import_topic_pre'] = $this->registry->output->formInput('rss_import_topic_pre', (isset($this->request['rss_import_topic_pre']) and $this->request['rss_import_topic_pre']) ? $this->request['rss_import_topic_pre'] : $rssstream['rss_import_topic_pre']); $form['rss_import_charset'] = $this->registry->output->formInput('rss_import_charset', (isset($this->request['rss_import_charset']) and $this->request['rss_import_charset']) ? $this->request['rss_import_charset'] : $rssstream['rss_import_charset']); $form['rss_import_allow_html'] = $this->registry->output->formYesNo('rss_import_allow_html', (isset($this->request['rss_import_allow_html']) and $this->request['rss_import_allow_html']) ? $this->request['rss_import_allow_html'] : $rssstream['rss_import_allow_html']); $form['rss_import_auth'] = $this->registry->output->formCheckbox('rss_import_auth', (isset($this->request['rss_import_auth']) and $this->request['rss_import_auth']) ? $this->request['rss_import_auth'] : $rssstream['rss_import_auth'], '1', "rss_import_auth", 'onclick="ACPRss.showAuthBoxes()"'); $auth_checked = (isset($this->request['rss_import_auth']) and $this->request['rss_import_auth']) ? $this->request['rss_import_auth'] : $rssstream['rss_import_auth']; if (!$auth_checked) { $form['rss_div_show'] = "style='display:none;'"; } else { $form['rss_div_show'] = "style='display:;'"; } $form['rss_import_auth_user'] = $this->registry->output->formInput('rss_import_auth_user', (isset($this->request['rss_import_auth_user']) and $this->request['rss_import_auth_user']) ? $this->request['rss_import_auth_user'] : $rssstream['rss_import_auth_user']); $form['rss_import_auth_pass'] = $this->registry->output->formInput('rss_import_auth_pass', (isset($this->request['rss_import_auth_pass']) and $this->request['rss_import_auth_pass']) ? $this->request['rss_import_auth_pass'] : $rssstream['rss_import_auth_pass']); /* Output */ $this->registry->output->html .= $this->html->rssImportForm($form, $title, $formcode, $button, $rssstream); }
/** * Form for adding/editing an RSS Export Stream * * @access public * @param string $type add/edit * @return void **/ public function rssExportForm($type = 'add') { /* INIT */ $rss_export_id = $this->request['rss_export_id'] ? intval($this->request['rss_export_id']) : 0; $dd_sort = array(0 => array('DESC', $this->lang->words['ex_opt_desc']), 1 => array('ASC', $this->lang->words['ex_opt_asc'])); $dd_order = array(0 => array('start_date', $this->lang->words['ex_opt_start']), 1 => array('last_post', $this->lang->words['ex_opt_last']), 2 => array('views', $this->lang->words['ex_opt_views']), 3 => array('starter_id', $this->lang->words['ex_opt_starter']), 4 => array('topic_rating_total', $this->lang->words['ex_opt_rating'])); /* Check (please?) */ if ($type == 'add') { /* Form Bits */ $formcode = 'rssexport_add_save'; $title = $this->lang->words['ex_createnew']; $button = $this->lang->words['ex_createnew']; /* Form Data */ $rssstream = array('rss_export_id' => 0, 'rss_export_title' => '', 'rss_export_forums' => NULL, 'rss_export_desc' => '', 'rss_export_image' => '', 'rss_export_include_post' => 1, 'rss_export_enabled' => 1, 'rss_export_count' => '', 'rss_export_cache_time' => '', 'rss_export_sort' => '', 'rss_export_order' => ''); } else { /* Form Data */ $rssstream = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'rss_export', 'where' => 'rss_export_id=' . $rss_export_id)); if (!$rssstream['rss_export_id']) { $this->registry->output->global_message = $this->lang->words['ex_noid']; $this->rssExportOverview(); return; } /* Form bits */ $formcode = 'rssexport_edit_save'; $title = $this->lang->words['ex_edit'] . $rssstream['rss_export_title']; $button = $this->lang->words['ex_save']; } /* Build forum multi select list */ require_once IPS_ROOT_PATH . 'applications/forums/sources/classes/forums/admin_forum_functions.php'; $aff = new admin_forum_functions($this->registry); $aff->forumsInit(); $dropdown = $aff->adForumsForumList(1); $rss_export_forums = (isset($this->request['rss_export_forums']) and is_array($this->request['rss_export_forums'])) ? implode(",", $this->request['rss_export_forums']) : $rssstream['rss_export_forums']; /* Form Elements */ $form = array(); $form['rss_export_title'] = $this->registry->output->formInput('rss_export_title', IPSText::htmlspecialchars((isset($this->request['rss_export_title']) and $this->request['rss_export_title']) ? $this->request['rss_export_title'] : $rssstream['rss_export_title'])); $form['rss_export_desc'] = $this->registry->output->formInput('rss_export_desc', IPSText::htmlspecialchars((isset($this->request['rss_export_desc']) and $this->request['rss_export_desc']) ? $this->request['rss_export_desc'] : $rssstream['rss_export_desc'])); $form['rss_export_image'] = $this->registry->output->formInput('rss_export_image', IPSText::htmlspecialchars((isset($this->request['rss_export_image']) and $this->request['rss_export_image']) ? $this->request['rss_export_image'] : $rssstream['rss_export_image'])); $form['rss_export_include_post'] = $this->registry->output->formYesNo('rss_export_include_post', (isset($this->request['rss_export_include_post']) and $this->request['rss_export_include_post']) ? $this->request['rss_export_include_post'] : $rssstream['rss_export_include_post']); $form['rss_export_enabled'] = $this->registry->output->formYesNo('rss_export_enabled', (isset($this->request['rss_export_enabled']) and $this->request['rss_export_enabled']) ? $this->request['rss_export_enabled'] : $rssstream['rss_export_enabled']); $form['rss_export_count'] = $this->registry->output->formSimpleInput('rss_export_count', (isset($this->request['rss_export_count']) and $this->request['rss_export_count']) ? $this->request['rss_export_count'] : $rssstream['rss_export_count'], 5); $form['rss_export_forums'] = $this->registry->output->formMultiDropdown('rss_export_forums[]', $dropdown, explode(",", $rss_export_forums), 7); $form['rss_export_cache_time'] = $this->registry->output->formSimpleInput('rss_export_cache_time', (isset($this->request['rss_export_cache_time']) and $this->request['rss_export_cache_time']) ? $this->request['rss_export_cache_time'] : $rssstream['rss_export_cache_time'], 5); $form['rss_export_sort'] = $this->registry->output->formDropdown('rss_export_sort', $dd_sort, (isset($this->request['rss_export_sort']) and $this->request['rss_export_sort']) ? $this->request['rss_export_sort'] : $rssstream['rss_export_sort']); $form['rss_export_order'] = $this->registry->output->formDropdown('rss_export_order', $dd_order, (isset($this->request['rss_export_order']) and $this->request['rss_export_order']) ? $this->request['rss_export_order'] : $rssstream['rss_export_order']); /* Output */ $this->registry->output->html .= $this->html->rssExportForm($form, $title, $formcode, $button, $rssstream); }