diff --git a/root/adm/style/acp_portal_blocks.html b/root/adm/style/acp_portal_blocks.html deleted file mode 100644 index 8b3f7745..00000000 --- a/root/adm/style/acp_portal_blocks.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - « {L_BACK} - - - - - - -

{L_ACP_PORTAL_BLOCKS}

-

{L_ACP_PORTAL_BLOCKS_EXPLAIN}

- -
- -
- {L_ACP_PORTAL_BLOCKS} -
-

- {L_BLOCK_TITLE_EXPLAIN}
-
-
-
-

- {L_BLOCK_ICON_EXPLAIN}
-
-
-
-
-
-
-
-
-

- {L_BLOCK_POSITION_EXPLAIN}
-
-
-
-

- {L_BLOCK_TYPE_EXPLAIN}
-
-
-
-
- - - -

{L_ACP_PORTAL_BLOCKS}

-

{L_ACP_PORTAL_BLOCKS_EXPLAIN}

- -
-
- {L_ACP_PORTAL_BLOCKS} - -

- -

- - - - - - - - - - - - - - - - - - - - - - -
{L_BLOCK_ICON}{L_BLOCK_TITLE}{L_BLOCK_TYPE}{L_BLOCK_POSITION}{L_ACTION}
{blocks.BLOCK_TITLE}  -  {blocks.BLOCK_TITLE}{blocks.BLOCK_TYPE}{blocks.BLOCK_POSITION} [ {L_DISABLE} ] - {ICON_MOVE_UP_DISABLED}{ICON_MOVE_UP}  - {ICON_MOVE_DOWN_DISABLED}{ICON_MOVE_DOWN}  - {ICON_EDIT} {ICON_DELETE} -
- - {S_FORM_TOKEN} -
-
- - - - \ No newline at end of file diff --git a/root/includes/acp/acp_portal.php b/root/includes/acp/acp_portal.php index 5de6de08..007c73b4 100644 --- a/root/includes/acp/acp_portal.php +++ b/root/includes/acp/acp_portal.php @@ -22,19 +22,19 @@ class acp_portal function main($id, $mode) { global $db, $user, $cache, $template, $display_vars; - global $config, $portal_config, $phpbb_root_path, $portal_root_path, $phpbb_admin_path, $phpEx; + global $config, $phpbb_root_path, $portal_root_path, $phpbb_admin_path, $phpEx; $portal_root_path = PORTAL_ROOT_PATH; if (!function_exists('column_string_const')) { include($phpbb_root_path . $portal_root_path . 'includes/functions_modules.' . $phpEx); } - + /* if (!function_exists('obtain_portal_config')) { include($phpbb_root_path . $portal_root_path . 'includes/functions.' . $phpEx); } $portal_config = obtain_portal_config(); - /* + if (!function_exists('mod_version_check')) { include($phpbb_root_path . $portal_root_path . 'includes/functions_version_check.' . $phpEx); @@ -110,7 +110,7 @@ class acp_portal } } - $this->new_config = $portal_config; + $this->new_config = $config; $cfg_array = (isset($_REQUEST['config'])) ? utf8_normalize_nfc(request_var('config', array('' => ''), true)) : $this->new_config; $error = array(); @@ -139,7 +139,7 @@ class acp_portal if ($submit) { - set_portal_config($config_name, $config_value); + set_config($config_name, $config_value); } } @@ -190,7 +190,7 @@ class acp_portal continue; } - //$this->new_config[$config_key] = $config[$config_key]; + $this->new_config[$config_key] = $config[$config_key]; $type = explode(':', $vars['type']); $l_explain = ''; diff --git a/root/includes/acp/acp_portal_blocks.php b/root/includes/acp/acp_portal_blocks.php deleted file mode 100644 index 6c8a3207..00000000 --- a/root/includes/acp/acp_portal_blocks.php +++ /dev/null @@ -1,499 +0,0 @@ -tpl_name = 'acp_portal_blocks'; - $this->page_title = 'ACP_PORTAL_BLOCKS'; - - $form_name = 'acp_portal_blocks'; - add_form_key($form_name); - - switch ($action) - { - case 'save': - - if (!check_form_key($form_name)) - { - trigger_error($user->lang['FORM_INVALID']. adm_back_link($this->u_action), E_USER_WARNING); - } - - $block_title = utf8_normalize_nfc(request_var('block_title', '', true)); - $block_birthday = request_var('block_birthday', ''); - $block_online_friends = request_var('block_online_friends', ''); - $block_donation = request_var('block_donation', ''); - $block_latest_members = request_var('block_latest_members', ''); - $block_latest_bots = request_var('block_latest_bots', ''); - $block_type = request_var('block_type', ''); - $block_position = request_var('block_position', 0); - $block_groups = request_var('block_groups', 0); - $block_icon = request_var('block_icon', ''); - $block_text = ($block_type == 'custom') ? utf8_normalize_nfc(request_var('block_text', '', true)) : ''; - - if ($block_icon != '' && !preg_match('#(\.gif|\.png|\.jpg|\.jpeg)$#i', $block_icon)) - { - $block_icon = ''; - } - if (!$block_title) - { - trigger_error($user->lang['NO_BLOCK_TITLE'] . adm_back_link($this->u_action), E_USER_WARNING); - } - - if ($block_type == 'custom' && $block_text == '') - { - trigger_error($user->lang['NO_BLOCK_TEXT'] . adm_back_link($this->u_action), E_USER_WARNING); - } - - set_portal_config('portal_birthdays_ahead', $block_birthday); - set_portal_config('portal_max_online_friends', $block_online_friends); - set_portal_config('portal_pay_acc', $block_donation); - set_portal_config('portal_max_last_member', $block_latest_members); - set_portal_config('portal_last_visited_bots_number', $block_latest_bots); - - $sql_ary = array( - 'block_title' => $block_title, - 'block_type' => $block_type, - 'block_position' => $block_position, - 'block_groups' => $block_groups, - 'block_icon' => htmlspecialchars_decode($block_icon), - 'block_text' => ($block_type == 'custom') ? $block_text : '', - 'block_text_uid' => '', - 'block_text_options' => 7, - 'block_text_bitfield' => '', - ); - - $order_ary = array( - 'block_order' => $portal_config['num_blocks'] + 1, - ); - - // Get data for block text if specified - if ($sql_ary['block_text']) - { - generate_text_for_storage($sql_ary['block_text'], $sql_ary['block_text_uid'], $sql_ary['block_text_bitfield'], $sql_ary['block_text_options'], request_var('text_parse_bbcode', false), request_var('text_parse_urls', false), request_var('text_parse_smilies', false)); - } - - if ($block_id) - { - $sql = 'UPDATE ' . PORTAL_BLOCKS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE block_id = $block_id"; - $message = $user->lang['BLOCK_UPDATED']; - - add_log('admin', 'LOG_BLOCK_UPDATED', (!empty($user->lang[strtoupper($block_title)])) ? $user->lang[strtoupper($block_title)] : $block_title); - } - else - { - $sql = 'INSERT INTO ' . PORTAL_BLOCKS_TABLE . ' ' . $db->sql_build_array('INSERT', array_merge($sql_ary, $order_ary)); - $message = $user->lang['BLOCK_ADDED']; - - set_portal_config('num_blocks', $portal_config['num_blocks'] + 1, true); - add_log('admin', 'LOG_BLOCK_ADDED', (!empty($user->lang[strtoupper($block_title)])) ? $user->lang[strtoupper($block_title)] : $block_title); - } - $db->sql_query($sql); - - $cache->destroy('_blocks'); - - trigger_error($message . adm_back_link($this->u_action)); - - break; - - case 'delete': - - if (!$block_id) - { - trigger_error($user->lang['MUST_SELECT_BLOCK'] . adm_back_link($this->u_action), E_USER_WARNING); - } - - if (confirm_box(true)) - { - $sql = 'SELECT block_title, block_order - FROM ' . PORTAL_BLOCKS_TABLE . " - WHERE block_id = $block_id"; - $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); - - if ($row) - { - $row['block_title'] = (string) $row['block_title']; - $row['block_order'] = (int) $row['block_order']; - } - - $sql = 'DELETE FROM ' . PORTAL_BLOCKS_TABLE . " WHERE block_id = $block_id"; - $db->sql_query($sql); - - $sql = 'UPDATE ' . PORTAL_BLOCKS_TABLE . ' SET block_order = block_order - 1 WHERE block_order > ' . $row['block_order']; - $db->sql_query($sql); - - $cache->destroy('_blocks'); - - set_portal_config('num_blocks', $portal_config['num_blocks'] - 1, true); - add_log('admin', 'LOG_BLOCK_REMOVED', (!empty($user->lang[strtoupper($row['block_title'])])) ? $user->lang[strtoupper($row['block_title'])] : $row['block_title']); - } - else - { - confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array( - 'i' => $id, - 'mode' => $mode, - 'block_id' => $block_id, - 'action' => 'delete', - ))); - } - - break; - - case 'disable': - - if (!$block_id) - { - trigger_error($user->lang['MUST_SELECT_BLOCK'] . adm_back_link($this->u_action), E_USER_WARNING); - } - - $sql = 'SELECT block_title - FROM ' . PORTAL_BLOCKS_TABLE . " - WHERE block_id = $block_id"; - $result = $db->sql_query($sql); - $disabled_block = $db->sql_fetchfield('block_title'); - $db->sql_freeresult($result); - - $sql = 'UPDATE ' . PORTAL_BLOCKS_TABLE . " SET block_position = 0 WHERE block_id = $block_id"; - $db->sql_query($sql); - - $cache->destroy('_blocks'); - - add_log('admin', 'LOG_BLOCK_DISABLED', (!empty($user->lang[strtoupper($disabled_block)])) ? $user->lang[strtoupper($disabled_block)] : $disabled_block); - - break; - - case 'move_up': - case 'move_down': - - if (!$block_id) - { - trigger_error($user->lang['MUST_SELECT_BLOCK'] . adm_back_link($this->u_action), E_USER_WARNING); - } - - // Get current order id... - $sql = 'SELECT block_order AS current_order - FROM ' . PORTAL_BLOCKS_TABLE . " - WHERE block_id = $block_id"; - $result = $db->sql_query($sql); - $current_order = (int) $db->sql_fetchfield('current_order'); - $db->sql_freeresult($result); - - if ($current_order == 0 && $action == 'move_up') - { - break; - } - $switch_order_id = ($action == 'move_down') ? $current_order + 1 : $current_order - 1; - - $sql = 'UPDATE ' . PORTAL_BLOCKS_TABLE . " - SET block_order = $current_order - WHERE block_order = $switch_order_id - AND block_id <> $block_id"; - $db->sql_query($sql); - - if ($db->sql_affectedrows()) - { - $sql = 'UPDATE ' . PORTAL_BLOCKS_TABLE . " - SET block_order = $switch_order_id - WHERE block_order = $current_order - AND block_id = $block_id"; - $db->sql_query($sql); - } - - $cache->destroy('_blocks'); - - break; - - case 'edit': - case 'add': - - include($phpbb_root_path . 'includes/functions_display.' . $phpEx); - - $user->add_lang('posting'); - - // Assigning custom bbcodes - display_custom_bbcodes(); - - $blocks = $existing_icons = array(); - - $sql = 'SELECT * - FROM ' . PORTAL_BLOCKS_TABLE . ' - ORDER BY block_order'; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - $existing_icons[] = $row['block_icon']; - - if ($action == 'edit' && $block_id == $row['block_id']) - { - $blocks = $row; - } - } - $db->sql_freeresult($result); - - // Select the block icon - $icon_list = filelist($phpbb_root_path . $portal_icons_path); - $edit_icon = $icon_filename_list = ''; - - foreach ($icon_list as $path => $icon_ary) - { - sort($icon_ary); - - foreach ($icon_ary as $icon) - { - $icon = $path . $icon; - - if (!in_array($icon, $existing_icons) || $action == 'edit') - { - if ($blocks && $icon == $blocks['block_icon']) - { - $selected = ' selected="selected"'; - $edit_icon = $icon; - } - else - { - $selected = ''; - } - - if (strlen($icon) > 255) - { - continue; - } - - $icon_filename_list .= ''; - } - } - } - - $icon_filename_list = '' . $icon_filename_list; - unset($existing_icons, $icon_list); - - $block_groups = ''; - $sql = 'SELECT g.* - FROM ' . GROUPS_TABLE . ' g - ORDER BY g.group_id'; - $result = $db->sql_query($sql); - - $block_groups = ''; - while ($row = $db->sql_fetchrow($result)) - { - $block_groups .= ''; - } - $db->sql_freeresult($result); - - // Select the display position for block - $position_list = array( - 'none' => array($user->lang['BLOCK_POSITION_NONE'], BLOCK_NONE), - 'left' => array($user->lang['BLOCK_POSITION_LEFT'], BLOCK_LEFT), - 'right' => array($user->lang['BLOCK_POSITION_RIGHT'], BLOCK_RIGHT), - 'top' => array($user->lang['BLOCK_POSITION_TOP'], BLOCK_TOP), - 'bottom' => array($user->lang['BLOCK_POSITION_BOTTOM'], BLOCK_BOTTOM), - 'middle_top' => array($user->lang['BLOCK_POSITION_MIDDLE_TOP'], BLOCK_MIDDLE_TOP), - 'middle_bottom' => array($user->lang['BLOCK_POSITION_MIDDLE_BOTTOM'], BLOCK_MIDDLE_BOTTOM), - ); - - $s_position_options = ''; - - foreach ($position_list as $position_var => $position_ary) - { - $selected = (isset($blocks['block_position']) && $position_ary[1] == $blocks['block_position']) ? ' selected="selected"' : ''; - $s_position_options .= ''; - } - - // Select the block type - $type_list = array( - 0 => array($user->lang['BLOCK_CUSTOM'], 'custom'), - 1 => array($user->lang['BLOCK_BIRTHDAY'], 'birthday'), - 2 => array($user->lang['BLOCK_ONLINE'], 'online'), - 3 => array($user->lang['BLOCK_SEARCH'], 'search'), - 4 => array($user->lang['BLOCK_CLOCK'], 'clock'), - 5 => array($user->lang['BLOCK_USER_MENU'], 'user_menu'), - 6 => array($user->lang['BLOCK_CHANGE_STYLE'], 'change_style'), - 7 => array($user->lang['BLOCK_DONATION'], 'donation'), - 8 => array($user->lang['BLOCK_LINKS'], 'links'), - 9 => array($user->lang['BLOCK_LATEST_BOTS'], 'latest_bots'), - 10 => array($user->lang['BLOCK_LATEST_MEMBERS'], 'latest_members'), - 11 => array($user->lang['BLOCK_MINI_CALENDAR'], 'mini_calendar'), - 12 => array($user->lang['BLOCK_ONLINE_FRIENDS'], 'online_friends'), - 13 => array($user->lang['BLOCK_STATISTICS'], 'statistics'), - 14 => array($user->lang['BLOCK_TOP_POSTER'], 'top_poster'), - //15 => array($user->lang['BLOCK_'], ''),// Add your blocks here... - ); - - - - $s_type_options = ''; - - foreach ($type_list as $type_var => $type_ary) - { - $selected = (isset($blocks['block_type']) && $type_ary[1] == $blocks['block_type']) ? ' selected="selected"' : ''; - $s_type_options .= ''; - } - - $block_text_data = array( - 'text' => (isset($blocks['block_text'])) ? $blocks['block_text'] : '', - 'allow_bbcode' => true, - 'allow_smilies' => true, - 'allow_urls' => true - ); - - $block_text_preview = ''; - - if (isset($blocks['block_text'])) - { - if (!isset($blocks['block_text_uid'])) - { - $blocks['block_text_uid'] = ''; - $blocks['block_text_bitfield'] = ''; - $blocks['block_text_options'] = 0; - - generate_text_for_storage($blocks['block_text'], $blocks['block_text_uid'], $blocks['block_text_bitfield'], $blocks['block_text_options'], request_var('text_allow_bbcode', false), request_var('text_allow_urls', false), request_var('text_allow_smilies', false)); - } - $block_text_preview = generate_text_for_display($blocks['block_text'], $blocks['block_text_uid'], $blocks['block_text_bitfield'], $blocks['block_text_options']); - $block_text_data = generate_text_for_edit($blocks['block_text'], $blocks['block_text_uid'], $blocks['block_text_options']); - } - - $template->assign_vars(array( - 'TYPE' => (isset($blocks['block_type'])) ? $blocks['block_type'] : '', - 'ICONS_PATH' => $phpbb_root_path . $portal_icons_path, - - 'BLOCK_TITLE' => (isset($blocks['block_title'])) ? $blocks['block_title'] : '', - 'BLOCK_PAYPAL' => (isset($portal_config['portal_pay_acc'])) ? $portal_config['portal_pay_acc'] : '', - 'BLOCK_BIRTHDAY' => (isset($portal_config['portal_birthdays_ahead'])) ? $portal_config['portal_birthdays_ahead'] : '', - 'BLOCK_LATEST_MEMBERS' => (isset($portal_config['portal_max_last_member'])) ? $portal_config['portal_max_last_member'] : '', - 'BLOCK_ONLINE_FRIENDS' => (isset($portal_config['portal_max_online_friends'])) ? $portal_config['portal_max_online_friends'] : '', - 'BLOCK_LATEST_BOTS' => (isset($portal_config['portal_last_visited_bots_number'])) ? $portal_config['portal_last_visited_bots_number'] : '', - 'BLOCK_GROUPS' => (isset($blocks['block_groups'])) ? $blocks['block_groups'] : 0, - 'BLOCK_POSITION' => (isset($blocks['block_position'])) ? $blocks['block_position'] : 0, - 'BLOCK_ICON' => ($edit_icon) ? $phpbb_root_path . $portal_icons_path . '/' . $edit_icon : $phpbb_admin_path . 'images/spacer.gif', - 'BLOCK_TEXT' => $block_text_data['text'], - 'BLOCK_TEXT_PREVIEW' => $block_text_preview, - - 'U_BACK' => $this->u_action, - 'U_ACTION' => $this->u_action . '&id=' . $block_id, - - 'S_EDIT' => true, - 'S_ICON_FILENAME_LIST' => $icon_filename_list, - 'S_POSITION_OPTIONS' => $s_position_options, - 'S_BLOCK_GROUPS' => $block_groups, - 'S_TYPE_OPTIONS' => $s_type_options, - 'S_SELECT_BLOCK' => (!isset($blocks['block_type']) || $blocks['block_type'] != 'custom') ? true : false, - 'S_SELECT_BIRTHDAY' => (!isset($blocks['block_type']) || $blocks['block_type'] != 'birthday') ? true : false, - 'S_SELECT_ONLINE_FRIENDS' => (!isset($blocks['block_type']) || $blocks['block_type'] != 'online_friends') ? true : false, - 'S_SELECT_PAYPAL' => (!isset($blocks['block_type']) || $blocks['block_type'] != 'donation') ? true : false, - 'S_SELECT_LATEST_MEMBERS' => (!isset($blocks['block_type']) || $blocks['block_type'] != 'latest_members') ? true : false, - 'S_SELECT_LATEST_BOTS' => (!isset($blocks['block_type']) || $blocks['block_type'] != 'latest_bots') ? true : false, - 'S_TEXT_BBCODE_CHECKED' => ($block_text_data['allow_bbcode']) ? true : false, - 'S_TEXT_SMILIES_CHECKED' => ($block_text_data['allow_smilies']) ? true : false, - 'S_TEXT_URLS_CHECKED' => ($block_text_data['allow_urls']) ? true : false, - )); - - return; - - break; - } - - $template->assign_vars(array( - 'U_ACTION' => $this->u_action, - )); - - $sql = 'SELECT * - FROM ' . PORTAL_BLOCKS_TABLE . ' - ORDER BY block_order'; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - switch ($row['block_position']) - { - case BLOCK_LEFT: - $position = $user->lang['BLOCK_POSITION_LEFT']; - break; - - case BLOCK_RIGHT: - $position = $user->lang['BLOCK_POSITION_RIGHT']; - break; - - case BLOCK_TOP: - $position = $user->lang['BLOCK_POSITION_TOP']; - break; - - case BLOCK_BOTTOM: - $position = $user->lang['BLOCK_POSITION_BOTTOM']; - break; - - case BLOCK_MIDDLE_TOP: - $position = $user->lang['BLOCK_POSITION_MIDDLE_TOP']; - break; - - case BLOCK_MIDDLE_BOTTOM: - $position = $user->lang['BLOCK_POSITION_MIDDLE_BOTTOM']; - break; - - case BLOCK_NONE: - default: - $position = $user->lang['BLOCK_POSITION_NONE']; - break; - } - - $template->assign_block_vars('blocks', array( - 'BLOCK_TITLE' => (!empty($user->lang[strtoupper($row['block_title'])])) ? $user->lang[strtoupper($row['block_title'])] : $row['block_title'], - 'BLOCK_POSITION' => $position, - //'BLOCK_GROUP' => $groups, - 'BLOCK_TYPE' => $user->lang['BLOCK_' . strtoupper($row['block_type'])], - 'BLOCK_ICON' => $phpbb_root_path . $portal_icons_path . '/' . $row['block_icon'], - - 'U_DISABLE' => $this->u_action . '&action=disable&id=' . $row['block_id'], - 'U_EDIT' => $this->u_action . '&action=edit&id=' . $row['block_id'], - 'U_DELETE' => $this->u_action . '&action=delete&id=' . $row['block_id'], - 'U_MOVE_UP' => $this->u_action . '&action=move_up&id=' . $row['block_id'], - 'U_MOVE_DOWN' => $this->u_action . '&action=move_down&id=' . $row['block_id'], - - 'S_BLOCK_ICON' => ($row['block_icon']) ? true : false, - 'S_BLOCK_DISABLED' => ($row['block_position'] == BLOCK_NONE) ? true : false, - )); - } - $db->sql_freeresult($result); - } -} - -?> \ No newline at end of file diff --git a/root/includes/acp/info/acp_portal_blocks.php b/root/includes/acp/info/acp_portal_blocks.php deleted file mode 100644 index f10d3d07..00000000 --- a/root/includes/acp/info/acp_portal_blocks.php +++ /dev/null @@ -1,42 +0,0 @@ - 'acp_portal_blocks', - 'title' => 'ACP_PORTAL_BLOCKS', - 'version' => '2.0.0', - 'modes' => array( - 'blocks' => array('title' => 'ACP_PORTAL_MANAGE_BLOCKS', 'auth' => 'acl_a_portal', 'cat' => array('ACP_PORTAL')), - ), - ); - } - - function install() - { - } - - function uninstall() - { - } -} - -?> \ No newline at end of file diff --git a/root/language/de/mods/portal/portal_announcements_module.php b/root/language/de/mods/portal/portal_announcements_module.php new file mode 100644 index 00000000..b66d2735 --- /dev/null +++ b/root/language/de/mods/portal/portal_announcements_module.php @@ -0,0 +1,51 @@ + 'Letzte Bekanntmachung', + 'GLOBAL_ANNOUNCEMENT' => 'Globale Bekanntmachung', + 'VIEW_LATEST_ANNOUNCEMENT' => '1 Bekanntmachung', + 'VIEW_LATEST_ANNOUNCEMENTS' => '%d Bekanntmachungen', + 'READ_FULL' => 'alles lesen', + 'NO_ANNOUNCEMENTS' => 'Keine Bekanntmachung', + 'POSTED_BY' => 'Autor', + 'COMMENTS' => 'Antworten', + 'VIEW_COMMENTS' => 'Antworten anzeigen', + 'POST_REPLY' => 'Antwort schreiben', + 'TOPIC_VIEWS' => 'Zugriffe', + 'JUMP_NEWEST' => 'Zum letzten Beitrag springen', + 'JUMP_FIRST' => 'Zum ersten Beitrag springen', + 'JUMP_TO_POST' => 'Rufe den Beitrag auf', + 'BACK' => 'Zurück', +)); + +?> \ No newline at end of file diff --git a/root/language/en/mods/portal/portal_announcements_module.php b/root/language/en/mods/portal/portal_announcements_module.php new file mode 100644 index 00000000..154bc5ac --- /dev/null +++ b/root/language/en/mods/portal/portal_announcements_module.php @@ -0,0 +1,51 @@ + 'Latest global announcements', + 'GLOBAL_ANNOUNCEMENT' => 'Global announcement', + 'VIEW_LATEST_ANNOUNCEMENT' => '1 announcement', + 'VIEW_LATEST_ANNOUNCEMENTS' => '%d announcements', + 'READ_FULL' => 'Read all', + 'NO_ANNOUNCEMENTS' => 'No global announcements', + 'POSTED_BY' => 'Poster', + 'COMMENTS' => 'Comments', + 'VIEW_COMMENTS' => 'View comments', + 'POST_REPLY' => 'Write comments', + 'TOPIC_VIEWS' => 'Views', + 'JUMP_NEWEST' => 'Jump to newest post', + 'JUMP_FIRST' => 'Jump to first post', + 'JUMP_TO_POST' => 'Jump to post', + 'BACK' => 'Back', +)); + +?> \ No newline at end of file diff --git a/root/portal.php b/root/portal.php index 2e4ccf6e..51beb0cf 100644 --- a/root/portal.php +++ b/root/portal.php @@ -16,21 +16,18 @@ $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($phpbb_root_path . 'common.' . $phpEx); -include($phpbb_root_path . 'includes/functions_display.' . $phpEx); -include($phpbb_root_path . 'includes/message_parser.' . $phpEx); $portal_root_path = PORTAL_ROOT_PATH; $portal_icons_path = PORTAL_ICONS_PATH; -include($phpbb_root_path . $portal_root_path . 'includes/functions.' . $phpEx); include($phpbb_root_path . $portal_root_path . 'includes/functions_modules.' . $phpEx); +//include($phpbb_root_path . 'includes/message_parser.' . $phpEx); -$portal_config = obtain_portal_config(); // Start session management $user->session_begin(); $auth->acl($user->data); $user->setup('mods/portal'); -if (!$portal_config['portal_enable']) +if (!$config['portal_enable']) { redirect(reapply_sid($phpbb_root_path . 'index.' . $phpEx)); } diff --git a/root/portal/block/birthday_list.php b/root/portal/block/birthday_list.php deleted file mode 100644 index 9681e431..00000000 --- a/root/portal/block/birthday_list.php +++ /dev/null @@ -1,86 +0,0 @@ -timezone + $user->dst - date('Z')); - $cache_days = $portal_config['portal_birthdays_ahead']; - $sql_days = ''; - while ($cache_days > 0) - { - $day = getdate(time() + 86400 * $cache_days + $user->timezone + $user->dst - date('Z')); - $sql_days .= " OR u.user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $day['mday'], $day['mon'])) . "%'"; - $cache_days--; - } - - switch ($db->sql_layer) - { - case 'mssql': - case 'mssql_odbc': - $order_by = 'u.user_birthday ASC'; - break; - - default: - $order_by = 'SUBSTRING(u.user_birthday FROM 4 FOR 2) ASC, SUBSTRING(u.user_birthday FROM 1 FOR 2) ASC, u.username_clean ASC'; - break; - } - $now = getdate(time() + $user->timezone + $user->dst - date('Z')); - $sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday - FROM ' . USERS_TABLE . ' u - LEFT JOIN ' . BANLIST_TABLE . " b ON (u.user_id = b.ban_userid) - WHERE (b.ban_id IS NULL - OR b.ban_exclude = 1) - AND (u.user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%' {$sql_days}) - AND u.user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ') - ORDER BY ' . $order_by; - $result = $db->sql_query($sql); - $today = sprintf('%2d-%2d-', $now['mday'], $now['mon']); - - while ($row = $db->sql_fetchrow($result)) - { - if (substr($row['user_birthday'], 0, 6) == $today) - { - $birthday_list .= get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']); - if ($age = (int) substr($row['user_birthday'], -4)) - { - $birthday_list .= ' (' . ($now['year'] - $age) . ')'; - } - $birthday_list .= '

'; - } - else - { - $birthday_ahead_list .= '' . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) . ''; - if ($age = (int) substr($row['user_birthday'], -4)) - { - $birthday_ahead_list .= ' (' . ($now['year'] - $age) . ')'; - } - $birthday_ahead_list .= '

'; - } - } - $db->sql_freeresult($result); -} - -// Assign index specific vars -$template->assign_vars(array( - 'BIRTHDAY_LIST' => $birthday_list, - 'BIRTHDAYS_AHEAD_LIST' => ($portal_config['portal_birthdays_ahead']) ? $birthday_ahead_list : '', - 'L_BIRTHDAYS_AHEAD' => sprintf($user->lang['BIRTHDAYS_AHEAD'], $portal_config['portal_birthdays_ahead']), - 'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false, -)); - -?> \ No newline at end of file diff --git a/root/portal/block/donate.php b/root/portal/block/donate.php deleted file mode 100644 index ed42fdbb..00000000 --- a/root/portal/block/donate.php +++ /dev/null @@ -1,33 +0,0 @@ -assign_var('S_DISPLAY_PAY_C', true); - } - - if ($portal_config['portal_pay_s_block']) - { - $template->assign_var('S_DISPLAY_PAY_S', true); - } - - // Assign specific vars - $template->assign_var('PAY_ACC', $portal_config['portal_pay_acc']); -} - -?> \ No newline at end of file diff --git a/root/portal/block/friends.php b/root/portal/block/friends.php deleted file mode 100644 index 5792c8c7..00000000 --- a/root/portal/block/friends.php +++ /dev/null @@ -1,66 +0,0 @@ -sql_build_query('SELECT_DISTINCT', array( - 'SELECT' => 'u.user_id, u.username, u.username_clean, u.user_colour, u.user_allow_viewonline, MAX(s.session_time) as online_time, MIN(s.session_viewonline) AS viewonline', - 'FROM' => array( - USERS_TABLE => 'u', - ZEBRA_TABLE => 'z' - ), - - 'LEFT_JOIN' => array( - array( - 'FROM' => array(SESSIONS_TABLE => 's'), - 'ON' => 's.session_user_id = z.zebra_id' - ) - ), - - 'WHERE' => 'z.user_id = ' . $user->data['user_id'] . ' - AND z.friend = 1 - AND u.user_id = z.zebra_id', - 'GROUP_BY' => 'z.zebra_id, u.user_id, u.username, u.user_allow_viewonline, u.user_colour', - 'ORDER_BY' => 'u.username_clean ASC', -)); - -$result = $db->sql_query_limit($sql, $portal_config['portal_max_online_friends']); - -while ($row = $db->sql_fetchrow($result)) -{ - $which = (time() - $update_time < $row['online_time'] && ($row['viewonline'] || $auth->acl_get('u_viewonline'))) ? 'online' : 'offline'; - $s_display_friends = ($row['user_id']) ? true : false; - - $template->assign_block_vars("friends_{$which}", array( - 'USER_ID' => $row['user_id'], - 'U_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']), - 'USER_COLOUR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']), - 'USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']), - 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'])) - ); -} -$db->sql_freeresult($result); - -// Assign specific vars -$template->assign_vars(array( - 'S_DISPLAY_FRIENDS' => $s_display_friends, - 'S_ZEBRA_ENABLED' => true, -)); - -?> \ No newline at end of file diff --git a/root/portal/block/index.html b/root/portal/block/index.html deleted file mode 100644 index 5832e4a2..00000000 --- a/root/portal/block/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/root/portal/block/latest_bots.php b/root/portal/block/latest_bots.php deleted file mode 100644 index b6211233..00000000 --- a/root/portal/block/latest_bots.php +++ /dev/null @@ -1,55 +0,0 @@ -sql_query_limit($sql, $portal_config['portal_last_visited_bots_number']); -$first = true; -while ($row = $db->sql_fetchrow($result)) -{ - if (!$row['user_lastvisit'] && $first == TRUE) - { - $template->assign_vars(array( - 'S_DISPLAY_LAST_BOTS' => false, - )); - } - else - { - $template->assign_var('S_DISPLAY_LAST_BOTS', true); - - if( $row['user_lastvisit'] > 0 ) - { - $template->assign_block_vars('last_visited_bots', array( - 'BOT_NAME' => get_username_string('full', '', $row['username'], $row['user_colour']), - 'LAST_VISIT_DATE' => $user->format_date($row['user_lastvisit']), - )); - } - } - $first = false; -} -$db->sql_freeresult($result); - -// Assign specific vars -$template->assign_vars(array( - 'LAST_VISITED_BOTS' => sprintf($user->lang['LAST_VISITED_BOTS'], $portal_config['portal_last_visited_bots_number']), - 'S_LAST_VISITED_BOTS' => ($portal_config['portal_load_last_visited_bots']) ? true : false, -)); - -?> \ No newline at end of file diff --git a/root/portal/block/latest_members.php b/root/portal/block/latest_members.php deleted file mode 100644 index 60a9b460..00000000 --- a/root/portal/block/latest_members.php +++ /dev/null @@ -1,35 +0,0 @@ - ' . USER_IGNORE . ' - AND user_inactive_time = 0 - ORDER BY user_regdate DESC'; -$result = $db->sql_query_limit($sql, $portal_config['portal_max_last_member']); - -while( ($row = $db->sql_fetchrow($result)) && ($row['username']) ) -{ - $template->assign_block_vars('latest_members', array( - 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), - 'JOINED' => $user->format_date($row['user_regdate'], $format = 'd M'), - )); -} -$db->sql_freeresult($result); - -$template->assign_var('S_DISPLAY_LATEST_MEMBERS', true); - -?> \ No newline at end of file diff --git a/root/portal/block/statistics.php b/root/portal/block/statistics.php deleted file mode 100644 index ecd44f4c..00000000 --- a/root/portal/block/statistics.php +++ /dev/null @@ -1,140 +0,0 @@ -sql_query($sql)) ) - { - return false; - } - - $row = $db->sql_fetchrow($result); - - switch ( $mode ) - { - case 'announcementtotal': - return $row['announcement_total']; - break; - case 'stickytotal': - return $row['sticky_total']; - break; - case 'attachmentstotal': - return $row['attachments_total']; - break; - } - return false; -} - -// Set some stats, get posts count from forums data if we... hum... retrieve all forums data -$total_posts = $config['num_posts']; -$total_topics = $config['num_topics']; -$total_users = $config['num_users']; - -$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER'; -$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER'; -$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER'; - -// avarage stat -$board_days = ( time() - $config['board_startdate'] ) / 86400; - -$topics_per_day = ($total_topics) ? round($total_topics / $board_days, 0) : 0; -$posts_per_day = ($total_posts) ? round($total_posts / $board_days, 0) : 0; -$users_per_day = round($total_users / $board_days, 0); -$topics_per_user = ($total_topics) ? round($total_topics / $total_users, 0) : 0; -$posts_per_user = ($total_posts) ? round($total_posts / $total_users, 0) : 0; -$posts_per_topic = ($total_topics) ? round($total_posts / $total_topics, 0) : 0; - -if ($topics_per_day > $total_topics) -{ - $topics_per_day = $total_topics; -} - -if ($posts_per_day > $total_posts) -{ - $posts_per_day = $total_posts; -} - -if ($users_per_day > $total_users) -{ - $users_per_day = $total_users; -} - -if ($topics_per_user > $total_topics) -{ - $topics_per_user = $total_topics; -} - -if ($posts_per_user > $total_posts) -{ - $posts_per_user = $total_posts; -} - -if ($posts_per_topic > $total_posts) -{ - $posts_per_topic = $total_posts; -} - -$l_topics_per_day_s = ($total_topics == 0) ? 'TOPICS_PER_DAY_ZERO' : 'TOPICS_PER_DAY_OTHER'; -$l_posts_per_day_s = ($total_posts == 0) ? 'POSTS_PER_DAY_ZERO' : 'POSTS_PER_DAY_OTHER'; -$l_users_per_day_s = ($total_users == 0) ? 'USERS_PER_DAY_ZERO' : 'USERS_PER_DAY_OTHER'; -$l_topics_per_user_s = ($total_topics == 0) ? 'TOPICS_PER_USER_ZERO' : 'TOPICS_PER_USER_OTHER'; -$l_posts_per_user_s = ($total_posts == 0) ? 'POSTS_PER_USER_ZERO' : 'POSTS_PER_USER_OTHER'; -$l_posts_per_topic_s = ($total_posts == 0) ? 'POSTS_PER_TOPIC_ZERO' : 'POSTS_PER_TOPIC_OTHER'; - -// Assign specific vars -$template->assign_vars(array( - 'S_DISPLAY_ADVANCED_STAT' => true, - 'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts), - 'TOTAL_TOPICS' => sprintf($user->lang[$l_total_topic_s], $total_topics), - 'TOTAL_USERS' => sprintf($user->lang[$l_total_user_s], $total_users), - 'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])), - 'S_ANN' => get_db_stat('announcementtotal'), - 'S_SCT' => get_db_stat('stickytotal'), - 'S_TOT_ATTACH' => ($config['allow_attachments']) ? get_db_stat('attachmentstotal') : 0, - - // avarage stat - 'TOPICS_PER_DAY' => sprintf($user->lang[$l_topics_per_day_s], $topics_per_day), - 'POSTS_PER_DAY' => sprintf($user->lang[$l_posts_per_day_s], $posts_per_day), - 'USERS_PER_DAY' => sprintf($user->lang[$l_users_per_day_s], $users_per_day), - 'TOPICS_PER_USER' => sprintf($user->lang[$l_topics_per_user_s], $topics_per_user), - 'POSTS_PER_USER' => sprintf($user->lang[$l_posts_per_user_s], $posts_per_user), - 'POSTS_PER_TOPIC' => sprintf($user->lang[$l_posts_per_topic_s], $posts_per_topic), -)); - -?> \ No newline at end of file diff --git a/root/portal/block/top_posters.php b/root/portal/block/top_posters.php deleted file mode 100644 index 95b81eb4..00000000 --- a/root/portal/block/top_posters.php +++ /dev/null @@ -1,39 +0,0 @@ - ' . USER_IGNORE . ' - AND user_posts <> 0 - ORDER BY user_posts DESC'; -$result = $db->sql_query_limit($sql, $portal_config['portal_max_most_poster']); - -while( ($row = $db->sql_fetchrow($result)) && ($row['username']) ) -{ - $template->assign_block_vars('top_poster', array( - 'S_SEARCH_ACTION' => append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $row['user_id'] . '&sr=posts'), - 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), - 'POSTER_POSTS' => $row['user_posts'], - ) - ); -} -$db->sql_freeresult($result); - -$template->assign_var('S_DISPLAY_TOP_POSTERS', true); - -?> \ No newline at end of file diff --git a/root/portal/block/user_menu.php b/root/portal/block/user_menu.php deleted file mode 100644 index ed469653..00000000 --- a/root/portal/block/user_menu.php +++ /dev/null @@ -1,100 +0,0 @@ -data['is_registered']) -{ - $ex_fid_ary = array_unique(array_merge(array_keys($auth->acl_getf('!f_read', true)), array_keys($auth->acl_getf('!f_search', true)))); - - if ($auth->acl_get('m_approve')) - { - $m_approve_fid_ary = array(-1); - $m_approve_fid_sql = ''; - } - else if ($auth->acl_getf_global('m_approve')) - { - $m_approve_fid_ary = array_diff(array_keys($auth->acl_getf('!m_approve', true)), $ex_fid_ary); - $m_approve_fid_sql = ' AND (p.post_approved = 1' . ((sizeof($m_approve_fid_ary)) ? ' OR ' . $db->sql_in_set('p.forum_id', $m_approve_fid_ary, true) : '') . ')'; - } - else - { - $m_approve_fid_ary = array(); - $m_approve_fid_sql = ' AND p.post_approved = 1'; - } - - $sql = 'SELECT COUNT(distinct t.topic_id) as total - FROM ' . TOPICS_TABLE . ' t - WHERE t.topic_last_post_time > ' . $user->data['user_lastvisit'] . ' - AND t.topic_moved_id = 0 - ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . ' - ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : ''); - $result = $db->sql_query($sql); - $new_posts_count = (int) $db->sql_fetchfield('total'); - - // your post number - $sql = "SELECT user_posts - FROM " . USERS_TABLE . " - WHERE user_id = " . $user->data['user_id']; - $result = $db->sql_query($sql); - $you_posts_count = (int) $db->sql_fetchfield('user_posts'); -} -// -// - new posts since last visit & you post number -// - - -// Get user... -$user_id = $user->data['user_id']; -$username = $user->data['username']; - -$sql = 'SELECT * - FROM ' . USERS_TABLE . ' - WHERE ' . (($username) ? "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" : "user_id = $user_id"); -$result = $db->sql_query($sql); -$member = $db->sql_fetchrow($result); -$db->sql_freeresult($result); -$avatar_img = get_user_avatar($member['user_avatar'], $member['user_avatar_type'], $member['user_avatar_width'], $member['user_avatar_height']); -$rank_title = $rank_img = ''; -get_user_rank($member['user_rank'], $member['user_posts'], $rank_title, $rank_img, $rank_img_src); -$username = $member['username']; -$user_id = (int) $member['user_id']; -$colour = $member['user_colour']; - -// Assign specific vars -$template->assign_vars(array( - 'L_NEW_POSTS' => $user->lang['SEARCH_NEW'] . ' (' . $new_posts_count . ')', - 'L_SELF_POSTS' => $user->lang['SEARCH_SELF'] . ' (' . $you_posts_count . ')', - - 'AVATAR_IMG' => $avatar_img, - 'RANK_TITLE' => $rank_title, - 'RANK_IMG' => $rank_img, - 'RANK_IMG_SRC' => $rank_img_src, - - 'USERNAME_FULL' => get_username_string('full', $user_id, $username, $colour), - 'USERNAME' => get_username_string('username', $user_id, $username, $colour), - 'USER_COLOR' => get_username_string('colour', $user_id, $username, $colour), - 'U_VIEW_PROFILE' => get_username_string('profile', $user_id, $username, $colour), - - 'U_NEW_POSTS' => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=newposts'), - 'U_SELF_POSTS' => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=egosearch'), - 'U_UM_BOOKMARKS' => ($config['allow_bookmarks']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=bookmarks') : '', - 'U_UM_MAIN_SUBSCRIBED' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=subscribed'), - 'U_MCP' => ($auth->acl_get('m_') || $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&mode=front', true, $user->session_id) : '', -)); - -?> \ No newline at end of file diff --git a/root/portal/modules/portal_announcements.php b/root/portal/modules/portal_announcements.php index 89c607de..143f981c 100644 --- a/root/portal/modules/portal_announcements.php +++ b/root/portal/modules/portal_announcements.php @@ -48,7 +48,7 @@ class portal_announcements_module function get_template_center($module_id) { - global $config, $template, $db, $portal_config; + global $config, $template, $db; $announcement = request_var('announcement', -1); $announcement = ($announcement > $portal_config['portal_announcements_length'] -1) ? -1 : $announcement; @@ -371,11 +371,18 @@ class portal_announcements_module function get_template_acp($module_id) { return array( - 'title' => 'ACP_CONFIG_MODULENAME', + 'title' => 'ACP_PORTAL_ANNOUNCE_SETTINGS', 'vars' => array( - 'legend1' => 'ACP_MODULENAME_CONFIGLEGEND', - 'portal_configname' => array('lang' => 'MODULENAME_CONFIGNAME', 'validate' => 'string', 'type' => 'text:10:200', 'explain' => false), - 'portal_configname2' => array('lang' => 'MODULENAME_CONFIGNAME2', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), + 'legend1' => 'ACP_PORTAL_ANNOUNCE_SETTINGS', + 'portal_announcements_style' => array('lang' => 'PORTAL_ANNOUNCEMENTS_STYLE' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), + 'portal_number_of_announcements' => array('lang' => 'PORTAL_NUMBER_OF_ANNOUNCEMENTS' , 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), + 'portal_announcements_day' => array('lang' => 'PORTAL_ANNOUNCEMENTS_DAY' , 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), + 'portal_announcements_length' => array('lang' => 'PORTAL_ANNOUNCEMENTS_LENGTH' , 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true), + 'portal_global_announcements_forum' => array('lang' => 'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM' , 'validate' => 'string', 'type' => 'custom', 'explain' => true, 'method' => 'select_forums', 'submit' => 'store_selected_forums'), + 'portal_announcements_forum_exclude' => array('lang' => 'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE', 'validate' => 'string', 'type' => 'radio:yes_no', 'explain' => true), + 'portal_announcements_archive' => array('lang' => 'PORTAL_ANNOUNCEMENTS_ARCHIVE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), + 'portal_announcements_permissions' => array('lang' => 'PORTAL_ANNOUNCEMENTS_PERMISSIONS' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), + 'portal_show_announcements_replies_views' => array('lang' => 'PORTAL_SHOW_REPLIES_VIEWS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), ), ); } @@ -385,8 +392,16 @@ class portal_announcements_module */ function install($module_id) { - set_portal_config('portal_configname', 'Hello World!'); - set_portal_config('portal_configname2', 1337); + set_config('portal_announcements_style', 0); + set_config('portal_number_of_announcements', 1); + set_config('portal_announcements_day', 0); + set_config('portal_announcements_length', 200); + set_config('portal_global_announcements_forum', ''); + set_config('portal_announcements_forum_exclude', 0); + set_config('portal_announcements_archive', 1); + set_config('portal_announcements_permissions', 1); + set_config('portal_show_announcements_replies_views', 1); + return true; } @@ -395,13 +410,58 @@ class portal_announcements_module global $db; $del_config = array( - 'portal_configname', - 'portal_configname2', + 'portal_announcements_style', + 'portal_number_of_announcements', + 'portal_announcements_day', + 'portal_announcements_length', + 'portal_global_announcements_forum', + 'portal_announcements_forum_exclude', + 'portal_announcements_archive', + 'portal_announcements_permissions', + 'portal_show_announcements_replies_views', ); - $sql = 'DELETE FROM ' . PORTAL_CONFIG_TABLE . ' + $sql = 'DELETE FROM ' . CONFIG_TABLE . ' WHERE ' . $db->sql_in_set('config_name', $del_config); return $db->sql_query($sql); } + + // Create forum select box + function select_forums($value, $key) + { + global $user, $config; + + $forum_list = make_forum_select(false, false, true, true, true, false, true); + + $selected = array(); + if(isset($config[$key]) && strlen($config[$key]) > 0) + { + $selected = explode(',', $[$key]); + } + // Build forum options + $s_forum_options = ''; + + return $s_forum_options; + + } + + // Store selected forums + function store_selected_forums($key) + { + global $db, $cache; + + // Get selected extensions + $values = request_var($key, array(0 => '')); + + $news = implode(',', $values); + + set_config($key, $news); + + } } ?> \ No newline at end of file