/**
  * 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'] . "&amp;app=core&amp;{$this->form_code}&amp;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("'", "&#39;", $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 = "&nbsp;<a class='dropdown-button' href='#' onclick='return acp.confirmDelete(\"{$this->settings['_base_url']}&amp;app=core&amp;{$this->form_code}&amp;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'] . "&amp;app=core&amp;{$this->form_code}&amp;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);
 }