Пример #1
0
function build_page(&$admin, &$database)
{
    global $HEADING, $TEXT, $timezone_table;
    include_once LEPTON_PATH . '/framework/summary.utf8.php';
    /**
     *	Initial page addition
     *
     */
    require_once LEPTON_PATH . "/modules/initial_page/classes/class.init_page.php";
    $ref = new class_init_page($database);
    $info = $ref->get_user_info($_SESSION['USER_ID']);
    $options = array('pages' => true, 'tools' => $_SESSION['GROUP_ID'] == 1 ? true : false, 'backend_pages' => $_SESSION['GROUP_ID'] == 1 ? true : false);
    $select = $ref->get_single_user_select($_SESSION['USER_ID'], 'init_page_select', $info['init_page'], $options);
    $initial_page_language = $ref->get_language();
    // Create new template object, assign template file, start main-block
    $tpl = new Template(THEME_PATH . '/templates');
    $tpl->set_file('page', 'preferences.htt');
    $tpl->set_block('page', 'main_block', 'main');
    // read user-info from table users and assign it to template
    $sql = 'SELECT `display_name`, `username`, `email`, `statusflags` FROM `' . TABLE_PREFIX . 'users` ';
    $sql .= 'WHERE `user_id` = ' . (int) $admin->get_user_id();
    if ($res_user = $database->query($sql)) {
        if ($rec_user = $res_user->fetchRow()) {
            $tpl->set_var('DISPLAY_NAME', $rec_user['display_name']);
            $tpl->set_var('USERNAME', $rec_user['username']);
            $tpl->set_var('EMAIL', $rec_user['email']);
            $tpl->set_var('ADMIN_URL', ADMIN_URL);
        }
    }
    // read available languages from table addons and assign it to the template
    $sql = 'SELECT * FROM `' . TABLE_PREFIX . 'addons` ';
    $sql .= 'WHERE `type` = "language" ORDER BY `directory`';
    if (($res_lang = $database->query($sql)) != false) {
        $tpl->set_block('main_block', 'language_list_block', 'language_list');
        while ($rec_lang = $res_lang->fetchRow(MYSQL_ASSOC)) {
            $tpl->set_var('LANG_CODE', $rec_lang['directory']);
            $tpl->set_var('LANG_NAME', $rec_lang['name']);
            $tpl->set_var('LANG_FLAG', THEME_URL . '/images/flags/' . strtolower($rec_lang['directory']));
            $tpl->set_var('LANG_SELECTED', LANGUAGE == $rec_lang['directory'] ? ' selected="selected"' : '');
            $tpl->parse('language_list', 'language_list_block', true);
        }
    }
    // Insert default timezone values
    $user_time = true;
    $tpl->set_block('main_block', 'timezone_list_block', 'timezone_list');
    foreach ($timezone_table as $title) {
        $tpl->set_var('TIMEZONE_NAME', $title);
        $tpl->set_var('TIMEZONE_SELECTED', $admin->get_timezone_string() == $title ? ' selected="selected"' : '');
        $tpl->parse('timezone_list', 'timezone_list_block', true);
    }
    // Insert date format list
    include_once LEPTON_PATH . "/framework/var.date_formats.php";
    $tpl->set_block('main_block', 'date_format_list_block', 'date_format_list');
    foreach ($DATE_FORMATS as $format => $title) {
        $format = str_replace('|', ' ', $format);
        // Add's white-spaces (not able to be stored in array key)
        $tpl->set_var('DATEFORMAT_VALUE', $format != 'system_default' ? $format : 'system_default');
        $tpl->set_var('DATEFORMAT_NAME', $title);
        if (DATE_FORMAT == $format && !isset($_SESSION['USE_DEFAULT_DATE_FORMAT']) || 'system_default' == $format && isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
            $tpl->set_var('DATEFORMAT_SELECTED', ' selected="selected"');
        } else {
            $tpl->set_var('DATEFORMAT_SELECTED', '');
        }
        $tpl->parse('date_format_list', 'date_format_list_block', true);
    }
    // Insert time format list
    include_once LEPTON_PATH . '/framework/var.time_formats.php';
    $tpl->set_block('main_block', 'time_format_list_block', 'time_format_list');
    foreach ($TIME_FORMATS as $format => $title) {
        $format = str_replace('|', ' ', $format);
        // Add's white-spaces (not able to be stored in array key)
        $tpl->set_var('TIMEFORMAT_VALUE', $format != 'system_default' ? $format : 'system_default');
        $tpl->set_var('TIMEFORMAT_NAME', $title);
        if (TIME_FORMAT == $format && !isset($_SESSION['USE_DEFAULT_TIME_FORMAT']) || 'system_default' == $format && isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
            $tpl->set_var('TIMEFORMAT_SELECTED', ' selected="selected"');
        } else {
            $tpl->set_var('TIMEFORMAT_SELECTED', '');
        }
        $tpl->parse('time_format_list', 'time_format_list_block', true);
    }
    /**
     *	Initial Page addition
     */
    $tpl->set_var('INIT_PAGE_SELECT', $select);
    # $tpl->set_var('INIT_PAGE_PARAM', $info['page_param']);
    $tpl->set_var('INIT_PAGE_LABEL', $initial_page_language['label_default']);
    // assign systemvars to template
    $tpl->set_var(array('ADMIN_URL' => ADMIN_URL, 'LEPTON_URL' => LEPTON_URL, 'LEPTON_PATH' => LEPTON_PATH, 'THEME_URL' => THEME_URL, 'ACTION_URL' => ADMIN_URL . '/preferences/save.php'));
    $tpl->set_var('FORM_NAME', 'preferences_save');
    // assign language vars
    $tpl->set_var(array('HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'], 'HEADING_MY_EMAIL' => $HEADING['MY_EMAIL'], 'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD'], 'TEXT_SAVE' => $TEXT['SAVE'], 'TEXT_RESET' => $TEXT['RESET'], 'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'], 'TEXT_USERNAME' => $TEXT['USERNAME'], 'TEXT_EMAIL' => $TEXT['EMAIL'], 'TEXT_LANGUAGE' => $TEXT['LANGUAGE'], 'TEXT_TIMEZONE' => $TEXT['TIMEZONE'], 'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'], 'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'], 'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'], 'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'], 'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'], 'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'], 'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'], 'TEXT_NEED_CURRENT_PASSWORD' => $TEXT['NEED_CURRENT_PASSWORD'], 'TEXT_NEED_PASSWORD_TO_CONFIRM' => js_alert_encode($TEXT['NEED_PASSWORD_TO_CONFIRM']), 'EMPTY_STRING' => ''));
    // Parse template for preferences form
    $tpl->parse('main', 'main_block', false);
    $output = $tpl->finish($tpl->parse('output', 'page'));
    return $output;
}
Пример #2
0
                }
                // Update time format
                if ($time_format != '') {
                    $_SESSION['TIME_FORMAT'] = $time_format;
                    if (isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
                        unset($_SESSION['USE_DEFAULT_TIME_FORMAT']);
                    }
                } else {
                    $_SESSION['USE_DEFAULT_TIME_FORMAT'] = true;
                    if (isset($_SESSION['TIME_FORMAT'])) {
                        unset($_SESSION['TIME_FORMAT']);
                    }
                }
            } else {
                $err_msg[] = 'invalid database UPDATE call in ' . __FILE__ . '::' . __FUNCTION__ . 'before line ' . __LINE__;
            }
        }
    }
    return sizeof($err_msg) > 0 ? implode('<br />', $err_msg) : '';
}
$retval = save_preferences($admin, $database);
if ($retval == '') {
    require_once LEPTON_PATH . "/modules/initial_page/classes/class.init_page.php";
    $ref = new class_init_page($database);
    $ref->update_user($_SESSION['USER_ID'], $_POST['init_page_select']);
    unset($ref);
    $admin->print_success($MESSAGE['PREFERENCES_DETAILS_SAVED']);
    $admin->print_footer();
} else {
    $admin->print_error($retval, $js_back);
}
Пример #3
0
    while ($level < 10 && !file_exists($root . '/framework/class.secure.php')) {
        $root .= $oneback;
        $level += 1;
    }
    //( $level < 10 ) && ( !file_exists( $root . '/framework/class.secure.php' ) )
    if (file_exists($root . '/framework/class.secure.php')) {
        include $root . '/framework/class.secure.php';
    } else {
        trigger_error(sprintf("[ <b>%s</b> ] Can't include class.secure.php!", $_SERVER['SCRIPT_NAME']), E_USER_ERROR);
    }
}
// end include class.secure.php
$lang = dirname(__FILE__) . "/languages/" . LANGUAGE . ".php";
require_once !file_exists($lang) ? dirname(__FILE__) . "/languages/EN.php" : $lang;
require_once dirname(__FILE__) . "/classes/class.init_page.php";
$ref = new class_init_page($database);
if (isset($_POST['job'])) {
    if (!isset($_SESSION['init_page_h']) || $_SESSION['init_page_h'] != $_POST['sh']) {
        die;
    }
    unset($_SESSION['init_page_h']);
    switch ($_POST['job']) {
        case 'save':
            foreach ($_POST['init_page_select'] as $item => $value) {
                $temp = explode("_", $item);
                $uid = (int) array_pop($temp);
                $ref->update_user($uid, $value, $_POST['param'][$uid]);
            }
            break;
        default:
            # nothing