Example #1
0
$start = request_var('start', 0);
$start = ($start < 0) ? 0 : $start;

$per_page = request_var('per_page', 0);
$per_page = (empty($per_page) || ($per_page < 20) || ($per_page > 300)) ? $config['topics_per_page'] : $per_page;

$s_hidden_fields = '';

// SORT ORDER - BEGIN
$sort_order_array = array();
$sort_order_select_array = array();
$sort_order_select_lang_array = array();
foreach ($table_fields as $k => $v)
{
	$is_auth = (check_auth_level($v['view_level']));
	if ($is_auth)
	{
		$sort_order_array[] = $k;
		$sort_order_select_array[] = $k;
		$sort_order_select_lang_array[] = $class_form->get_lang($v['lang_key']);
	}
}
$sort_order_default = ((isset($sort_order_default) && in_array($sort_order_default, $sort_order_array)) ? $sort_order_default : $sort_order_array[0]);
$sort_order = request_var('sort_order', $sort_order_default);
$sort_order = (in_array($sort_order, $sort_order_array) ? $sort_order : $sort_order_array[0]);

$select_name = 'sort_order';
$default = $sort_order;
$select_js = '';
$sort_order_select_box = $class_form->build_select_box($select_name, $default, $sort_order_select_array, $sort_order_select_lang_array, $select_js);
Example #2
0
    $action_types = array_merge($action_types, array('delete'));
}
$action = request_var('action', $action_types[0]);
$action = !empty($action_overlay) ? $action_overlay : $action;
$action = $mode == 'input' && $action != 'edit' ? 'add' : $action;
//$action = (!in_array($action, $action_types) ? $action_types[0] : $action);
if (!in_array($action, $action_types)) {
    message_die(GENERAL_MESSAGE, $lang['Not_Authorized']);
}
// ACTIONS - END
// SORT ORDER AND FILTER - BEGIN
$sort_order_array = array();
$sort_order_select_array = array();
$sort_order_select_lang_array = array();
foreach ($table_fields as $k => $v) {
    $is_auth = !in_array($v['type'], array('TEXT', 'HTMLTEXT', 'PASSWORD')) && check_auth_level($v['view_level']);
    if ($is_auth) {
        $sort_order_array[] = $k;
        $sort_order_select_array[] = $k;
        $sort_order_select_lang_array[] = $class_form->get_lang($v['lang_key']);
    }
}
$filter_item_default = isset($filter_item_default) && in_array($filter_item_default, $sort_order_array) ? $filter_item_default : '';
$filter_item = request_var('filter_item', $filter_item_default);
$filter_item = in_array($filter_item, $sort_order_array) ? $filter_item : '';
if (!empty($filter_item)) {
    $filter_item_value_default = isset($filter_item_value_default) ? $filter_item_value_default : $table_fields[$filter_item]['default'];
    $filter_item_value_default = $class_form->set_type_default_value($filter_item_value_default);
    $filter_item_value = request_var('filter_item_value', $filter_item_value_default);
}
$sort_order_default = isset($sort_order_default) && in_array($sort_order_default, $sort_order_array) ? $sort_order_default : $sort_order_array[0];
Example #3
0
 function generate_tabs($mode)
 {
     global $db, $cache, $config, $auth, $user, $lang, $template;
     $tabs_array = array();
     // Let's remove $auth->acl_get('a_') until I finish coding permissions properly... and also add/remove 'a_' when users are added/removed from administrators in ACP
     //$is_admin = (($user->data['user_level'] == ADMIN) || $auth->acl_get('a_')) ? true : false;
     $is_admin = $user->data['user_level'] == ADMIN ? true : false;
     $tabs_array[] = array('TITLE' => $lang['CMS_TITLE'], 'MODE' => false, 'LINK' => append_sid(IP_ROOT_PATH . $this->root), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_home.png', 'TIP' => $lang['CMS_TIP_TITLE'], 'AUTH' => AUTH_REG);
     if ($this->is_auth['cms_layouts']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_CUSTOM_PAGES'], 'MODE' => 'layouts', 'LINK' => append_sid(IP_ROOT_PATH . $this->root . '?mode=layouts'), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_custom_pages.png', 'TIP' => $lang['CMS_TIP_CUSTOM_PAGES'], 'AUTH' => AUTH_REG);
     }
     if ($this->is_auth['cms_layouts_special']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_STANDARD_PAGES'], 'MODE' => 'layouts_special', 'LINK' => append_sid(IP_ROOT_PATH . $this->root . '?mode=layouts_special'), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_standard_pages.png', 'TIP' => $lang['CMS_TIP_STANDARD_PAGES'], 'AUTH' => AUTH_REG);
     }
     if ($this->is_auth['cms_blocks']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_BLOCK_SETTINGS'], 'MODE' => 'block_settings', 'LINK' => append_sid(IP_ROOT_PATH . $this->root . '?mode=block_settings'), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_blocks.png', 'TIP' => $lang['CMS_TIP_BLOCK_SETTINGS'], 'AUTH' => AUTH_REG);
     }
     if ($this->is_auth['cms_blocks_global']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_GLOBAL_BLOCKS'], 'MODE' => 'blocks', 'LINK' => append_sid(IP_ROOT_PATH . $this->root . '?mode=blocks&amp;l_id=0&amp;action=editglobal'), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_blocks_global.png', 'TIP' => $lang['CMS_TIP_GLOBAL_BLOCKS'], 'AUTH' => AUTH_REG);
     }
     if ($this->is_auth['cms_permissions']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_AUTH'], 'MODE' => 'auth', 'LINK' => append_sid(IP_ROOT_PATH . $this->root . '?mode=auth'), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_permissions.png', 'TIP' => $lang['CMS_TIP_AUTH'], 'AUTH' => AUTH_REG);
     }
     if ($this->is_auth['cms_settings']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_CONFIG'], 'MODE' => 'config', 'LINK' => append_sid(IP_ROOT_PATH . $this->root . '?mode=config'), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_settings.png', 'TIP' => $lang['CMS_TIP_CONFIG'], 'AUTH' => AUTH_REG);
     }
     if ($this->is_auth['cms_menu']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_MENU_PAGE'], 'MODE' => 'menu', 'LINK' => append_sid(IP_ROOT_PATH . 'cms_menu.' . PHP_EXT), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_menu.png', 'TIP' => $lang['CMS_TIP_MENU'], 'AUTH' => AUTH_REG);
     }
     if ($this->is_auth['cms_ads']) {
         $tabs_array[] = array('TITLE' => $lang['CMS_ADS'], 'MODE' => 'ads', 'LINK' => append_sid(IP_ROOT_PATH . 'cms_ads.' . PHP_EXT), 'ICON' => IP_ROOT_PATH . $this->menu_images_root . 'cms_ads.png', 'TIP' => $lang['CMS_TIP_ADS'], 'AUTH' => AUTH_REG);
     }
     $tabs_counter = 0;
     $current_nav = false;
     foreach ($tabs_array as $tab_data) {
         $selected = false;
         if (check_auth_level($tab_data['AUTH'])) {
             if ($mode == $tab_data['MODE']) {
                 $selected = true;
             }
             $template->assign_block_vars('tabs', array('TAB_ID' => $tabs_counter, 'TAB_TITLE' => $tab_data['TITLE'], 'TAB_LINK' => $tab_data['LINK'], 'TAB_ICON' => $tab_data['ICON'], 'TAB_TIP' => empty($tab_data['TIP']) ? $tab_data['TITLE'] : $tab_data['TIP'], 'S_SELECTED' => $selected));
             $tabs_counter++;
         }
     }
     $template->assign_vars(array('N_TABS' => $tabs_counter));
     return true;
 }
Example #4
0
/**
* Check if the user is allowed to access a page
*/
function check_page_auth($cms_page_id, $cms_auth_level, $return = false)
{
    global $user, $lang;
    $is_auth = check_auth_level($cms_auth_level);
    if (!$is_auth) {
        if ($return) {
            return false;
        } else {
            if (!$user->data['is_bot'] && !$user->data['session_logged_in']) {
                $page_array = array();
                $page_array = extract_current_page(IP_ROOT_PATH);
                redirect(append_sid(CMS_PAGE_LOGIN . '?redirect=' . str_replace('.' . PHP_EXT . '?', '.' . PHP_EXT . '&', $page_array['page']), true));
            } else {
                message_die(GENERAL_MESSAGE, $lang['Not_Auth_View']);
            }
        }
    }
    return true;
}
Example #5
0
 function create_view_page(&$table_fields, &$inputs_array, $items_row, $template_row = 'field')
 {
     global $config, $template, $theme, $lang, $bbcode;
     $row_class = '';
     foreach ($table_fields as $k => $v) {
         $inputs_array[$k] = isset($items_row[$k]) ? $items_row[$k] : $v['default'];
         // We convert HTML entities only if we do not need to parse HTML...
         if (is_string($inputs_array[$k]) && !empty($v['html_parse'])) {
             $value = htmlspecialchars_decode($inputs_array[$k], ENT_COMPAT);
         }
         $auth_level = $v['view_level'];
         $is_auth = check_auth_level($auth_level);
         if ($is_auth) {
             $value = $inputs_array[$k];
             $s_bbcb = !empty($v['bbcode_box']) ? true : false;
             // SPECIAL PROCESSING - BEGIN
             // Convert back values from RADIO, SELECT or CHECKBOX
             if (in_array($v['type'], array('LIST_CHECKBOX', 'LIST_DROP', 'LIST_FLAGS', 'LIST_RADIO', 'LIST_RADIO_BR'))) {
                 $tmp_value = $this->get_lang_from_value($inputs_array[$k], $v['values']);
                 $value = $tmp_value != '' ? $tmp_value : $value;
             }
             // Convert empty numbers fields to 0
             if (!empty($v['is_number']) && empty($value)) {
                 $value = (int) 0;
             }
             // Apply number format if needed
             if (!empty($v['number_format'])) {
                 $v['number_format']['decimals'] = isset($v['number_format']['decimals']) ? $v['number_format']['decimals'] : (isset($lang['NUMBER_FORMAT_DECIMALS']) ? $lang['NUMBER_FORMAT_DECIMALS'] : 0);
                 $v['number_format']['decimals_sep'] = !empty($v['number_format']['decimals_sep']) ? $v['number_format']['decimals_sep'] : (isset($lang['NUMBER_FORMAT_DECIMALS_SEP']) ? $lang['NUMBER_FORMAT_DECIMALS_SEP'] : ',');
                 $v['number_format']['thousands_sep'] = !empty($v['number_format']['thousands_sep']) ? $v['number_format']['thousands_sep'] : (isset($lang['NUMBER_FORMAT_THOUSANDS_SEP']) ? $lang['NUMBER_FORMAT_THOUSANDS_SEP'] : '.');
                 $value = number_format($inputs_array[$k], $v['number_format']['decimals'], $v['number_format']['decimals_sep'], $v['number_format']['thousands_sep']);
             }
             // Create rating image
             if (!empty($v['is_rating'])) {
                 $rating = $value;
                 $rating_path = !empty($v['rating_path']) ? $v['rating_path'] : IP_ROOT_PATH . 'images/rates/';
                 $rating_min = !empty($v['rating_min']) ? $v['rating_min'] : 0;
                 $rating_max = !empty($v['rating_max']) ? $v['rating_max'] : 10;
                 $rating_extension = !empty($v['rating_extension']) ? $v['rating_extension'] : 'png';
                 $value = '<img src="' . $this->build_rating_image($rating, $rating_path, $rating_min, $rating_max, $rating_extension) . '" alt="' . $rating . '" title="' . $rating . '" />';
             }
             // Text processing... BBCode, HTML or plain text
             if ($s_bbcb || !empty($v['bbcode_parse'])) {
                 $value = $bbcode->parse($inputs_array[$k]);
             } else {
                 if (empty($v['html_parse']) && in_array($v['type'], array('TEXT', 'HTMLTEXT'))) {
                     $value = nl2br($inputs_array[$k]);
                 }
             }
             // Convert dates and times
             $v['datetime_format'] = !empty($v['datetime_format']) ? $v['datetime_format'] : 'unix';
             switch ($v['datetime_format']) {
                 case 'mysql':
                     $output = !empty($v['is_date']) ? 'date' : (!empty($v['is_time']) ? 'time' : 'datetime');
                     $value = format_date_mysql_php($inputs_array[$k], $output, 'php');
                     break;
                 default:
                     if (!empty($v['is_time'])) {
                         $value = create_date_ip($config['default_dateformat'], $inputs_array[$k], $config['board_timezone']);
                     }
                     if (!empty($v['is_date'])) {
                         $value = create_date($this->date_format_php, $inputs_array[$k], $config['board_timezone']);
                     }
                     break;
             }
             // Create user link (with user_id)
             if ($v['is_user_id']) {
                 $value = colorize_username($inputs_array[$k]);
             }
             // Create user link (with username)
             if ($v['is_username']) {
                 $target_userid = $this->get_user_id($inputs_array[$k]);
                 $value = colorize_username($target_userid);
             }
             // Create user link (with username)
             if ($v['type'] == 'PASSWORD') {
                 $value = '********';
             }
             // Create thumbnails for images
             if ($v['is_image']) {
                 $value = '<a href="' . append_sid($inputs_array[$k]) . '"><img src="' . append_sid(CMS_PAGE_IMAGE_THUMBNAIL . '?pic_id=' . urlencode($inputs_array[$k]) . (isset($v['thumbnail_size']) ? '&amp;thumbnail_size=' . intval($v['thumbnail_size']) : '')) . '" alt="" /></a>';
             }
             if (!empty($v['display_func']) && function_exists($v['display_func'])) {
                 $value = $v['display_func']($inputs_array[$k]);
             }
             // SPECIAL PROCESSING - END
             $row_class = ip_zebra_rows($row_class);
             $template_row = empty($template_row) ? 'field' : (string) $template_row;
             $template->assign_block_vars($template_row, array('CLASS' => $row_class, 'L_NAME' => $this->get_lang($v['lang_key']), 'L_EXPLAIN' => !empty($v['explain']) ? $this->get_lang($v['explain']) : '', 'S_BBCB' => $s_bbcb ? true : false, 'VALUE' => !empty($value) || $value === 0 ? $value : '&nbsp;'));
         }
     }
 }