function smarty_function_sortheader($args, &$smarty)
{
    global $cms;
    static $baseurl = "";
    static $prefix = "";
    static $sort = "";
    static $sortvar = "sort";
    static $order = "";
    static $ordervar = "order";
    static $anchor = "";
    static $active_class = "active";
    static $th_class = "";
    static $th_attrib = "";
    $orig = $args;
    $args += array('reset' => 0, 'baseurl' => $baseurl, 'anchor' => $anchor, 'sort' => $sort, 'sortvar' => $sortvar, 'prefix' => $prefix, 'order' => $order, 'ordervar' => $ordervar, 'th_class' => $th_class, 'th_attrib' => $th_attrib, 'label' => '', 'title' => null, 'active' => false);
    if ($args['reset']) {
        if (!empty($args['sortvar'])) {
            $sortvar = $args['sortvar'];
        }
        if (!empty($args['ordervar'])) {
            $ordervar = $args['ordervar'];
        }
        $sort = $args['sort'];
        $order = $args['order'];
        $prefix = $args['prefix'];
        $anchor = $args['anchor'];
        $baseurl = $args['baseurl'];
        return '';
    }
    $altorder = $args['order'] == 'desc' ? 'asc' : 'desc';
    $neworder = $args['sort'] == $sort ? $altorder : $args['order'];
    $label = $args['label'];
    $image = "";
    // mark this header as active if specified or if the order has changed
    if (($args['active'] or $neworder == $altorder) and $orig['sort']) {
        $args['th_class'] = trim($args['th_class'] . " " . $active_class);
        //		$image = sprintf(" <img src='%s' />", catfile($cms->theme->url(), sprintf("img/sort_arrow_%s.gif", $args['order'])));
    }
    $url = array();
    $url['_base'] = $args['baseurl'] ? $args['baseurl'] : null;
    $url['_anchor'] = $args['anchor'];
    if ($order and $neworder) {
        $url[$args['prefix'] . $args['ordervar']] = $neworder;
    }
    if ($sort and $args['sort']) {
        $url[$args['prefix'] . $args['sortvar']] = $args['sort'];
    }
    //	if ($url['sort'] or $url['order']) {
    return sprintf("<th%s%s><p><a href='%s'><span class='%s'>%s%s</span></a></p></th>", $args['th_class'] ? " class='" . $args['th_class'] . "'" : "", $args['th_attrib'] ? " " . $args['th_attrib'] : "", ps_url_wrapper($url), $args['order'], $label, $image);
    /*
    	} else {
    		return sprintf("<th%s%s><p><span class='%s'>%s%s</span></p></th>", 
    			$args['th_class'] ? " class='" . $args['th_class'] . "'" : "",
    			$args['th_attrib'] ? " " . $args['th_attrib'] : "",
    			$args['order'], $label, $image
    		);
    	}
    */
}
Exemple #2
0
if (!in_array($order, array('asc', 'desc'))) {
    $order = 'asc';
}
$sort = 'eventname';
$_order = array('start' => $start, 'limit' => $limit, 'order' => $order, 'sort' => $sort);
$where = '';
if ($filter) {
    $f = $ps->db->escape($filter, false);
    $where = "WHERE (gametype LIKE '%{$f}' OR modtype LIKE '%{$f}%' OR eventname LIKE '%{$f}%') ";
}
$list = $ps->db->fetch_rows(1, "SELECT * FROM {$ps->t_config_plrbonuses} {$where}" . $ps->getsortorder($_order));
$total = $ps->db->count($ps->t_config_plrbonuses, '*', $where ? substr($where, 6) : null);
// remove 'WHERE' from str
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit, 'filter' => $filter)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
$cms->crumb('Manage', ps_url_wrapper(array('_base' => 'manage.php')));
$cms->crumb('Bonuses', ps_url_wrapper(array('_base' => 'bonuses.php')));
// massage the bonus list a bit so we don't have to do it in the smarty template
$bonuses = array();
foreach ($list as $b) {
    foreach (array('enactor', 'enactor_team', 'victim', 'victim_team') as $e) {
        if ($b[$e]) {
            $b[$e . '_color'] = $b[$e] > 0 ? '#00cc00' : '#cc0000';
        } else {
            $b[$e . '_color'] = '#000000';
        }
    }
    $bonuses[] = $b;
}
// assign variables to the theme
$cms->theme->assign(array('bonuses' => $bonuses, 'pager' => $pager));
// display the output
        		$message = $cms->message('success', array(
        			'message_title'	=> $cms->trans("Update Successfull"),
        			'message'	=> $cms->trans("Log Source has been updated"))
        		));
        */
    }
} else {
    // fill in defaults
    if (!$test) {
        if ($id) {
            $form->input($clantag);
        }
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Clan Tags', ps_url_wrapper('clantags.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('errors' => $form->errors(), 'clantag' => $clantag, 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/clantags.js');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
function val_regex($var, $value, &$form)
Exemple #4
0
 *	PsychoStats is free software: you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation, either version 3 of the License, or
 *	(at your option) any later version.
 *
 *	PsychoStats is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *	GNU General Public License for more details.
 *
 *	You should have received a copy of the GNU General Public License
 *	along with PsychoStats.  If not, see <http://www.gnu.org/licenses/>.
 *
 *	Version: $Id: manage.php 389 2008-04-18 15:04:10Z lifo $
 */
define("PSYCHOSTATS_PAGE", true);
define("PSYCHOSTATS_ADMIN_PAGE", true);
include "../includes/common.php";
include "./common.php";
// for now, redirect to the logsources
gotopage('logsources.php');
$cms->crumb('Manage', ps_url_wrapper($_SERVER['REQUEST_URI']));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php')));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
//$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #5
0
    // weapons
    // re-arrange the weapons list so the uniqueid of each weapon is a key.
    // weapon uniqueid's should never have any weird characters so this should be safe.
    $ary = array();
    foreach ($player['weapons'] as $w) {
        $ary[$w['uniqueid']] = $w;
    }
    print_xml($ary);
}
$rolepager = "";
if ($ps->use_roles) {
    $rolepager = pagination(array('baseurl' => ps_url_wrapper(array('id' => $id, 'rlimit' => $rlimit, 'rsort' => $rsort, 'rorder' => $rorder)), 'total' => $player['totalroles'], 'start' => $rstart, 'startvar' => 'rstart', 'perpage' => $rlimit, 'urltail' => 'roles', 'separator' => ' ', 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous"), 'pergroup' => 5));
}
$victimpager = pagination(array('baseurl' => ps_url_wrapper(array('id' => $id, 'vlimit' => $vlimit, 'vsort' => $vsort, 'vorder' => $vorder)), 'total' => $player['totalvictims'], 'start' => $vstart, 'startvar' => 'vstart', 'perpage' => $vlimit, 'urltail' => 'victims', 'separator' => ' ', 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous"), 'pergroup' => 5));
$mappager = pagination(array('baseurl' => ps_url_wrapper(array('id' => $id, 'mlimit' => $mlimit, 'msort' => $msort, 'morder' => $morder)), 'total' => $player['totalmaps'], 'start' => $mstart, 'startvar' => 'mstart', 'perpage' => $mlimit, 'urltail' => 'maps', 'separator' => ' ', 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
$sessionpager = pagination(array('baseurl' => ps_url_wrapper(array('id' => $id, 'slimit' => $slimit, 'ssort' => $ssort, 'sorder' => $sorder)), 'total' => $player['totalsessions'], 'start' => $sstart, 'startvar' => 'sstart', 'perpage' => $slimit, 'urltail' => 'sessions', 'separator' => ' ', 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
// build a dynamic table that plugins can use to add custom columns of data
$wtable = $cms->new_table($player['weapons']);
$wtable->if_no_data($cms->trans("No Weapons Found"));
$wtable->attr('class', 'ps-table ps-weapon-table');
$wtable->sort_baseurl(array('id' => $id, '_anchor' => 'weapons'));
$wtable->start_and_sort($wstart, $wsort, $worder, 'w');
$wtable->columns(array('uniqueid' => array('label' => $cms->trans("Weapon"), 'callback' => 'ps_table_weapon_link'), 'kills' => array('label' => $cms->trans("Kills"), 'modifier' => 'commify'), 'deaths' => array('label' => $cms->trans("Deaths"), 'modifier' => 'commify'), 'headshotkills' => array('label' => $cms->trans("HS"), 'modifier' => 'commify', 'tooltip' => $cms->trans("Headshot Kills")), 'headshotkillspct' => array('label' => $cms->trans("HS%"), 'modifier' => '%s%%', 'tooltip' => $cms->trans("Headshot Kills Percentage")), 'accuracy' => array('label' => $cms->trans("Acc"), 'modifier' => '%s%%', 'tooltip' => $cms->trans("Accuracy")), 'shotsperkill' => array('label' => $cms->trans("S:K"), 'tooltip' => $cms->trans("Shots Per Kill")), 'damage' => array('label' => $cms->trans("Dmg"), 'callback' => 'dmg', 'tooltip' => $cms->trans("Damage"))));
$wtable->column_attr('uniqueid', 'class', 'first');
$ps->player_weapons_table_mod($wtable);
$cms->filter('player_weapon_table_object', $wtable);
// build player session table
$stable = $cms->new_table($player['sessions']);
$stable->if_no_data($cms->trans("No Sessions Found"));
$stable->attr('class', 'ps-table ps-session-table');
$stable->sort_baseurl(array('id' => $id, '_anchor' => 'sessions'));
Exemple #6
0
}
if (!in_array($sort, array('name', 'skill', 'username', 'allowrank'))) {
    $sort = 'name';
}
$_order = array('start' => $start, 'limit' => $limit, 'order' => $order, 'sort' => $sort, 'filter' => $filter, 'allowall' => (bool) $all);
// delete selected players
if (is_array($del) and count($del)) {
    $total_deleted = 0;
    foreach ($del as $id) {
        if (is_numeric($id)) {
            if ($ps->delete_player($id)) {
                $total_deleted++;
            }
        }
    }
    $message = $cms->message('success', array('message_title' => $cms->trans("Players Deleted!"), 'message' => $cms->trans("%d players were deleted successfully", $total_deleted)));
}
$players = $ps->get_basic_player_list($_order);
$total = $ps->get_total_players($_order);
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit, 'filter' => $filter, 'all' => $all ? 1 : 0)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
$cms->crumb('Manage', ps_url_wrapper(array('_base' => 'manage.php')));
$cms->crumb('Players', ps_url_wrapper(array('_base' => $PHP_SELF)));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php'), 'players' => $players, 'pager' => $pager));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
$cms->theme->add_js('js/players.js');
$cms->theme->add_js('js/message.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #7
0
    $f = $ps->db->escape($filter, false);
    $where = "WHERE (gametype LIKE '%{$f}' OR modtype LIKE '%{$f}%' OR eventname LIKE '%{$f}%') ";
}
$list = $ps->db->fetch_rows(1, "SELECT * FROM {$ps->t_config_events} {$where}" . $ps->getsortorder($_order));
$total = $ps->db->count($ps->t_config_events, '*', $where ? substr($where, 6) : null);
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit, 'filter' => $filter)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
// massage the array a bit so we don't have to do the logic in the theme template
$events = array();
$first = $list ? $list[0]['id'] : array();
$last = $list ? $list[count($list) - 1]['id'] : array();
foreach ($list as $ev) {
    if ($ev['id'] == $first) {
        $ev['down'] = 1;
    } elseif ($ev['id'] == $last) {
        $ev['up'] = 1;
    } else {
        $ev['down'] = 1;
        $ev['up'] = 1;
    }
    $events[] = $ev;
}
$cms->crumb('Manage', ps_url_wrapper(array('_base' => 'manage.php')));
$cms->crumb('Events', ps_url_wrapper(array('_base' => 'events.php')));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php'), 'events' => $events, 'pager' => $pager));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
$cms->theme->add_js('js/events.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
    // fill in defaults
    if (!$test) {
        if ($id) {
            $form->input($log);
            if (empty($log['password'])) {
                $form->input['blank'] = 1;
            }
        } else {
            // new logsources should default to being enabled
            $form->input['enabled'] = 1;
            $form->input['defaultmap'] = 'unknown';
        }
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Log Sources', ps_url_wrapper('logsources.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('protocols' => $protocols, 'errors' => $form->errors(), 'log' => $log, 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/forms.js');
$cms->theme->add_js('js/logsources.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
function val_type($var, $value, &$form)
Exemple #9
0
            // ignore dot and hidden files
            if (!preg_match("/{$match}/", $file)) {
                continue;
            }
            // ignore files not matching the search_ext
            $full = catfile($dir, $file);
            $icons[] = array('filename' => $file, 'fullfile' => $full, 'size' => @filesize($full), 'is_writable' => is_writable($full) || is_writable(dirname($full)), 'basename' => basename($file), 'path' => $dir);
        }
        closedir($dh);
    }
}
if (!is_writable($dir)) {
    $msg_not_writable = $cms->message('not_writable', array('message_title' => $cms->trans("Permissions Error!"), 'message' => $cms->trans("The icons directory is not writable.") . ' ' . $cms->trans("You can not upload any new icons until the permissions are corrected.")));
}
$cms->crumb('Manage', ps_url_wrapper(array('_base' => 'manage.php')));
$cms->crumb('Icon Avatars', ps_url_wrapper(array('_base' => 'icons.php')));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php'), 'icons' => $icons, 'message' => $message, 'icons_url' => $ps->conf['theme']['icons_url'], 'form' => $form ? $form->values() : array(), 'errors' => $form ? $form->errors() : array()));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
$cms->theme->add_css('css/icons.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/icons.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
function validate_img($file)
{
    global $form, $cms, $ps;
    $c = $ps->conf['theme']['icons'];
    $ext = $ps->conf['theme']['images']['search_ext'];
Exemple #10
0
// auto-redirect to the exact player matched in the search
// if a single player was found.
if ($search and $results['abs_total'] == 1 and is_numeric($results['results'])) {
    gotopage(ps_url_wrapper(array('_amp' => '&', '_base' => 'player.php', 'id' => $results['results'])));
}
// fetch stats, etc...
$players = $ps->get_player_list(array('results' => $results, 'sort' => $sort, 'order' => $order, 'start' => $start, 'limit' => $limit, 'joinclaninfo' => false));
$baseurl = array('sort' => $sort, 'order' => $order, 'limit' => $limit);
if ($search) {
    $baseurl['search'] = $search;
} else {
    if ($q != '') {
        $baseurl['q'] = $q;
    }
}
$pager = pagination(array('baseurl' => ps_url_wrapper($baseurl), 'total' => $total['ranked'], 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
// build a dynamic table that plugins can use to add custom columns of data
$table = $cms->new_table($players);
$table->if_no_data($cms->trans("No Players Found"));
$table->attr('class', 'ps-table ps-player-table');
$table->sort_baseurl($search ? array('search' => $search) : array('q' => $q));
$table->start_and_sort($start, $sort, $order);
$table->columns(array('rank' => array('label' => $cms->trans("Rank"), 'callback' => 'dash_if_empty'), 'prevrank' => array('nolabel' => true, 'callback' => 'rankchange'), 'name' => array('label' => $cms->trans("Player"), 'callback' => 'ps_table_plr_link'), 'kills' => array('label' => $cms->trans("Kills"), 'modifier' => 'commify'), 'deaths' => array('label' => $cms->trans("Deaths"), 'modifier' => 'commify'), 'killsperdeath' => array('label' => $cms->trans("K:D"), 'tooltip' => $cms->trans("Kills Per Death")), 'headshotkills' => array('label' => $cms->trans("HS"), 'modifier' => 'commify', 'tooltip' => $cms->trans("Headshot Kills")), 'headshotkillspct' => array('label' => $cms->trans("HS%"), 'modifier' => '%s%%', 'tooltip' => $cms->trans("Headshot Kills Percentage")), 'onlinetime' => array('label' => $cms->trans("Online"), 'modifier' => 'compacttime'), 'activity' => array('label' => $cms->trans("Activity"), 'modifier' => 'activity_bar'), 'skill' => array('label' => $cms->trans("Skill"), 'callback' => 'plr_skill')));
$table->column_attr('name', 'class', 'left');
$table->column_attr('skill', 'class', 'right');
//$table->column_attr('rank', 'class', 'left');
$table->header_attr('rank', 'colspan', '2');
$ps->index_table_mod($table);
$cms->filter('players_table_object', $table);
// assign variables to the theme
$cms->theme->assign(array('q' => $q, 'search' => $search, 'results' => $results, 'search_blurb' => $cms->trans('Search criteria "<em>%s</em>" matched %d ranked players out of %d total', ps_escape_html($q), $total['ranked'], $total['absolute']), 'players' => $players, 'players_table' => $table->render(), 'total' => $total, 'pager' => $pager, 'language_list' => $cms->theme->get_language_list(), 'theme_list' => $cms->theme->get_theme_list(), 'language' => $cms->theme->language));
Exemple #11
0
function pagination($args = array())
{
    $args += array('baseurl' => '', 'total' => 0, 'perpage' => 100, 'start' => 0, 'startvar' => 'start', 'pergroup' => 3, 'force_prev_next' => false, 'urltail' => '', 'prefix' => '', 'next' => 'Next', 'prev' => 'Previous', 'separator' => ', ', 'middle_separator' => ' ... ');
    $total = ceil($args['total'] / $args['perpage']);
    // calculate total pages needed for dataset
    $current = floor($args['start'] / $args['perpage']) + 1;
    // what page we're currently on
    if ($total <= 1) {
        return "";
    }
    // There's no pages to output, so we output nothing
    if ($args['pergroup'] < 3) {
        $args['pergroup'] = 3;
    }
    // pergroup can not be lower than 3
    if ($args['pergroup'] % 2 == 0) {
        $args['pergroup']++;
    }
    // pergroup is EVEN, so we add 1 to make it ODD
    $maxlinks = $args['pergroup'] * 3 + 1;
    $halfrange = floor($args['pergroup'] / 2);
    $minrange = $current - $halfrange;
    // gives us our current min/max ranges based on $current page
    $maxrange = $current + $halfrange;
    $output = "";
    if ($total > $maxlinks) {
        // create first group of links ...
        $list = array();
        for ($i = 1; $i <= $args['pergroup']; $i++) {
            if ($i == $current) {
                $list[] = "<span class='pager-current'>{$i}</span>";
            } else {
                $list[] = sprintf("<a href='%s' class='pager-goto'>%d</a>", ps_url_wrapper(array('_base' => $args['baseurl'], $args['startvar'] => ($i - 1) * $args['perpage'], '_anchor' => $args['urltail'])), $i);
            }
        }
        $output .= implode($args['separator'], $list);
        // create middle group of links ...
        if ($maxrange > $args['pergroup']) {
            $output .= $minrange > $args['pergroup'] + 1 ? $args['middle_separator'] : $args['separator'];
            $min = $minrange > $args['pergroup'] + 1 ? $minrange : $args['pergroup'] + 1;
            $max = $maxrange < $total - $args['pergroup'] ? $maxrange : $total - $args['pergroup'];
            $list = array();
            for ($i = $min; $i <= $max; $i++) {
                if ($i == $current) {
                    $list[] = "<span class='pager-current'>{$i}</span>";
                } else {
                    $list[] = sprintf("<a href='%s' class='pager-goto'>%d</a>", ps_url_wrapper(array('_base' => $args['baseurl'], $args['startvar'] => ($i - 1) * $args['perpage'], '_anchor' => $args['urltail'])), $i);
                }
            }
            $output .= implode($args['separator'], $list);
            $output .= $maxrange < $total - $args['pergroup'] ? $args['middle_separator'] : $args['separator'];
        } else {
            $output .= $args['middle_separator'];
        }
        // create last group of links ...
        $list = array();
        for ($i = $total - $args['pergroup'] + 1; $i <= $total; $i++) {
            if ($i == $current) {
                $list[] = "<span class='pager-current'>{$i}</span>";
            } else {
                $list[] = sprintf("<a href='%s' class='pager-goto'>%d</a>", ps_url_wrapper(array('_base' => $args['baseurl'], $args['startvar'] => ($i - 1) * $args['perpage'], '_anchor' => $args['urltail'])), $i);
            }
        }
        $output .= implode($args['separator'], $list);
    } else {
        $list = array();
        for ($i = 1; $i <= $total; $i++) {
            if ($i == $current) {
                $list[] = "<span class='pager-current'>{$i}</span>";
            } else {
                $list[] = sprintf("<a href='%s' class='pager-goto'>%d</a>", ps_url_wrapper(array('_base' => $args['baseurl'], $args['startvar'] => ($i - 1) * $args['perpage'], '_anchor' => $args['urltail'])), $i);
            }
        }
        $output .= implode($args['separator'], $list);
    }
    // create 'Prev/Next' links
    if ($args['force_prev_next'] and $total or $current > 1) {
        if ($current > 1) {
            $output = sprintf("<a href='%s' class='pager-prev'>%s</a> ", ps_url_wrapper(array('_base' => $args['baseurl'], $args['startvar'] => ($current - 2) * $args['perpage'], '_anchor' => $args['urltail'])), $args['prev']) . $output;
        } else {
            $output = "<span class='pager-prev'>" . $args['prev'] . "</span> " . $output;
        }
    }
    if ($args['force_prev_next'] and $total or $current < $total) {
        if ($current < $total) {
            $output .= sprintf(" <a href='%s' class='pager-next'>%s</a> ", ps_url_wrapper(array('_base' => $args['baseurl'], $args['startvar'] => $current * $args['perpage'], '_anchor' => $args['urltail'])), $args['next']);
        } else {
            $output .= " <span class='pager-next'>" . $args['next'] . "</span>";
        }
    }
    if ($args['prefix'] != '' and !empty($output)) {
        $output = $args['prefix'] . $output;
    }
    return "<span class='pager'>{$output}</span>";
}
Exemple #12
0
        exit;
    }
}
$list = $ps->db->fetch_rows(1, "SELECT * FROM {$ps->t_config_servers} " . $ps->getsortorder($_order));
$total = $ps->db->count($ps->t_config_servers);
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
// massage the array a bit so we don't have to do the logic in the theme template
$servers = array();
$first = $list ? $list[0]['id'] : array();
$last = $list ? $list[count($list) - 1]['id'] : array();
foreach ($list as $log) {
    if ($log['id'] == $first) {
        $log['down'] = 1;
    } elseif ($log['id'] == $last) {
        $log['up'] = 1;
    } else {
        $log['down'] = 1;
        $log['up'] = 1;
    }
    $servers[] = $log;
}
$cms->crumb('Manage', ps_url_wrapper(array('_base' => 'manage.php')));
$cms->crumb('Servers', ps_url_wrapper(array('_base' => 'servers.php')));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php'), 'servers' => $servers, 'pager' => $pager));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
$cms->theme->add_js('js/servers.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #13
0
    unset($submit);
}
$list = $ps->db->fetch_rows(1, "SELECT * FROM {$ps->t_config_clantags} " . $ps->getsortorder($_order));
$total = $ps->db->count($ps->t_config_clantags);
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
// massage the tags array a bit so we don't have to do the logic in the theme template
$tags = array();
$first = $list ? $list[0]['id'] : array();
$last = $list ? $list[count($list) - 1]['id'] : array();
foreach ($list as $tag) {
    if ($tag['id'] == $first) {
        $tag['down'] = 1;
    } elseif ($tag['id'] == $last) {
        $tag['up'] = 1;
    } else {
        $tag['down'] = 1;
        $tag['up'] = 1;
    }
    $tags[] = $tag;
}
$cms->crumb('Manage', ps_url_wrapper(array('_base' => 'manage.php')));
$cms->crumb('Clan Tags', ps_url_wrapper(array('_base' => 'clantags.php')));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php'), 'clantags' => $tags, 'pager' => $pager));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #14
0
                $res = 'failure';
                $msg = $cms->trans("Error writting to database: %s", $ps->db->errstr);
            }
        }
    }
    if ($msg) {
        $message = $cms->message($res, array('message_title' => $title, 'message' => $msg));
    }
}
// load the themes
$list = $ps->db->fetch_rows(1, "SELECT * FROM {$ps->t_config_themes} " . $ps->getsortorder($_order));
$total = $ps->db->count($ps->t_config_themes);
$themes = array();
foreach ($list as $t) {
    if ($t['parent']) {
        $themes[$t['parent']]['children'][] = $t;
    } else {
        $themes[$t['name']] = $t;
        $themes[$t['name']]['children'] = array();
    }
}
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
$cms->crumb("Themes", ps_url_wrapper());
// assign variables to the theme
$cms->theme->assign(array('url' => $url, 'allow' => $allow, 'newtheme' => $newtheme->theme_xml(), 'theme_dirs' => $newtheme->theme_dirs(), 'themes' => $themes, 'total_themes' => $total, 'submit' => $submit, 'confirm' => $confirm, 'page' => basename(__FILE__, '.php')));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
$cms->theme->add_js('js/themes.js');
$cms->theme->add_js('js/message.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #15
0
            $input['weaponid'] = $ps->db->next_id($ps->t_weapon, 'weaponid');
            $ok = $ps->db->insert($ps->t_weapon, $input);
        }
        if (!$ok) {
            $form->error('fatal', "Error updating database: " . $ps->db->errstr);
        } else {
            previouspage(ps_url_wrapper('weapons.php'));
        }
    }
} else {
    // fill in defaults
    if ($id) {
        $form->input($weapon);
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Weapons', ps_url_wrapper('weapons.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('errors' => $form->errors(), 'weapon' => $weapon, 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/weapons.js');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #16
0
 function header_sort()
 {
     $row = new PsychoRow($this->type);
     //	$row->attr($this->header_attr); // wrong
     foreach ($this->columns as $key => $cell) {
         if (is_array($cell) and $cell['nolabel']) {
             continue;
         }
         $hdr_attr = $this->header_attr[$key];
         $label = is_array($cell) ? $cell['label'] : $cell;
         if ($cell['tooltip']) {
             $label = sprintf("<acronym title='%s'>%s</acronym>", $cell['tooltip'], $label);
         }
         if ($key and !$cell['nosort']) {
             $url = array_merge($this->sort_baseurl, array($this->prefix . 'sort' => $key, $this->prefix . 'order' => $this->order()));
             if ($key == $this->sort()) {
                 // alternate the order
                 $url[$this->prefix . 'order'] = $this->order() != 'asc' ? 'asc' : 'desc';
                 $hdr_attr['class'] = trim($hdr_attr['class'] . ' ' . $this->sort_active_class);
             }
             $str = sprintf($this->header_sort_format, $label, ps_url_wrapper($url), $this->order());
         } else {
             $str = sprintf($this->header_format, $label);
         }
         $row->th($str, $hdr_attr);
         //		$row->th($str);
     }
     return $row->render();
 }
Exemple #17
0
include "../includes/common.php";
include "./common.php";
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Weapons', ps_url_wrapper('weapons.php'));
$validfields = array('ref', 'start', 'limit', 'order', 'sort');
$cms->theme->assign_request_vars($validfields, true);
if (!is_numeric($start) or $start < 0) {
    $start = 0;
}
if (!is_numeric($limit) or $limit < 0) {
    $limit = 50;
}
if (!in_array($order, array('asc', 'desc'))) {
    $order = 'asc';
}
if (!in_array($sort, array('uniqueid', 'name', 'class'))) {
    $sort = 'uniqueid';
}
$_order = array('start' => $start, 'limit' => $limit, 'order' => $order, 'sort' => $sort);
$weapons = $ps->db->fetch_rows(1, "SELECT * FROM {$ps->t_weapon} " . $ps->getsortorder($_order));
$total = $ps->db->count($ps->t_weapon);
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php'), 'pager' => $pager, 'weapons' => $weapons));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #18
0
$logs = $ps->db->fetch_rows(1, $cmd);
// download the visible logs as text?
if ($view == 'text') {
    $csv = '';
    $keys = array('timestamp', 'severity', 'username', 'msg');
    foreach ($logs as $l) {
        $csv .= date($ps->conf['theme']['format']['datetime'], $l['timestamp']) . "\t";
        $csv .= $l['severity'] . "\t";
        $csv .= sprintf("%s\t", $l['username'] != '' ? $l['username'] : '******');
        $csv .= $l['msg'];
        $csv .= chr(13) . chr(10);
    }
    while (@ob_end_clean()) {
    }
    header("Pragma: no-cache");
    header("Content-Type: text/plain");
    header("Content-Length: " . strlen($csv));
    header("Content-Disposition: attachment; filename=\"errlog.txt\"");
    print $csv;
    exit;
}
$pager = pagination(array('baseurl' => ps_url_wrapper(array('sort' => $sort, 'order' => $order, 'limit' => $limit, 'filter' => $filter)), 'total' => $total, 'start' => $start, 'perpage' => $limit, 'pergroup' => 5, 'separator' => ' ', 'force_prev_next' => true, 'next' => $cms->trans("Next"), 'prev' => $cms->trans("Previous")));
$cms->crumb('Manage', ps_url_wrapper(array('_base' => 'manage.php')));
$cms->crumb('Error Logs', ps_url_wrapper(array('_base' => $PHP_SELF)));
// assign variables to the theme
$cms->theme->assign(array('page' => basename(__FILE__, '.php'), 'logs' => $logs, 'total' => $total, 'pager' => $pager));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #19
0
function prev_str($prev)
{
    global $cms, $v, $p;
    $str = "";
    if ($prev['month']) {
        $str .= sprintf("<a href='%s' class='prev'>%s</a>", ps_url_wrapper(array('v' => 'month', 'd' => $prev['month'], 'p' => $p)), date("M", ymd2time($prev['month'])));
    }
    if ($prev['week']) {
        $str .= sprintf("<a href='%s' class='prev'>%s</a>", ps_url_wrapper(array('v' => 'week', 'd' => $prev['week'], 'p' => $p)), $cms->trans("Week") . date(" W; M d", ymd2time($prev['week'])));
    }
    if ($prev['day']) {
        list($y1, $m1, $d1) = explode('-', date("Y-m-d"));
        list($y2, $m2, $d2) = explode('-', $prev['day']);
        if ("{$y2}{$m2}" == "{$y1}{$m1}" and $d2 + 0 == $d1 - 1) {
            $str .= sprintf("<a href='%s' class='prev'>%s</a>", ps_url_wrapper(array('v' => 'day', 'd' => $prev['day'], 'p' => $p)), $cms->trans("Yesterday"));
        } else {
            $str .= sprintf("<a href='%s' class='prev'>%s</a>", ps_url_wrapper(array('v' => 'day', 'd' => $prev['day'], 'p' => $p)), date("M d", ymd2time($prev['day'])));
        }
    }
    return "<div class='prev'>{$str}</div>";
}
Exemple #20
0
 *
 *	Version: $Id: common.php 539 2008-08-15 19:24:26Z lifo $
 */
if (!defined("PSYCHOSTATS_ADMIN_PAGE")) {
    die("Unauthorized access to " . basename(__FILE__));
}
// ADMIN pages need to setup the theme a little differently than the others
$opts = array('theme_default' => 'acp', 'theme_opt' => 'admin_theme', 'force_theme' => true, 'in_db' => false, 'template_dir' => dirname(__FILE__) . '/themes', 'theme_url' => 'themes', 'compile_id' => 'admin');
$opts = array_merge($ps->conf['theme'], $opts);
// At all costs the admin page should never break due to file permissions. If
// the compile directory is not writable we fallback to not saving compiled
// themes to disk which is slower. But shouldn't be a big problem since only a
// single person is usually accessing the admin page.
if ($opts['fetch_compile'] and !is_writable($opts['compile_dir'])) {
    $opts['fetch_compile'] = false;
}
$cms->init_theme('acp', $opts);
$ps->theme_setup($cms->theme);
$cms->crumb('Stats', dirname(dirname(SAFE_PHP_SELF)) . '/');
$cms->crumb('Admin', 'index.php');
$file = basename(PHP_SELF, '.php');
if (!$cms->user->admin_logged_in()) {
    if (!defined("PSYCHOSTATS_LOGIN_PAGE")) {
        gotopage(ps_url_wrapper(array('_base' => dirname($_SERVER['SCRIPT_NAME']) . '/login.php', '_ref' => $_SERVER['REQUEST_URI'])));
    }
}
// Set flag if the install directory (go script) is still readable by the
// webserver. Admins need to remove the install directory after installation.
if (is_readable(catfile(dirname(dirname(__FILE__)), 'install', 'go.php'))) {
    $cms->theme->assign(array('install_dir_insecure' => true, 'install_dir' => catfile(dirname(dirname(__FILE__)), 'install')));
}
Exemple #21
0
 /**
 Called from the dynamic table class when creating a table that has a role <a> link.
 @param: $role contains stats for the current role. But mainly the $id is only needed.
 */
 function ps_table_role_link($name, $role)
 {
     global $ps;
     $url = ps_url_wrapper(array('_base' => 'role.php', 'id' => $role['roleid']));
     $img = $ps->roleimg($role);
     return "<a class='role' href='{$url}'>{$img}</a>";
 }
Exemple #22
0
 function js_sources($theme = null)
 {
     if (!is_array($this->js_sources)) {
         return '';
     }
     if (empty($theme)) {
         $theme = $this->theme();
     }
     $out = '';
     $list = array();
     $script = $this->styles->val('theme.script');
     if ($script and (!is_array($script) or !$script[0])) {
         $script = array($script);
     }
     // collect the various scripts defined in styles.xml
     if ($script) {
         foreach ($script as $s) {
             $js = array();
             if (is_array($s)) {
                 // ignore block if there's no src
                 if ($s['@attributes']['src']) {
                     $js['src'] = $s['@attributes']['src'];
                 } elseif ($s['@attributes']['@content']) {
                     $js['script'] = $s['@attributes']['@content'];
                 }
             } elseif ($s) {
                 // block is stright script, no src
                 $js['script'] = $s;
             }
             if ($js) {
                 $list[] = $js;
             }
         }
     }
     $list = array_merge($list, $this->js_sources);
     // output any external or embedded scripts
     $files = array();
     foreach ($list as $js) {
         if (substr($js['src'], 0, 4) == 'http') {
             // ignore fully qualified sources and output them as
             // their own <script> tag, regardless.
             $out .= sprintf("<script src='%s' type='text/javascript'></script>\n", $js['src']);
         } elseif ($js['script']) {
             // embedded JS
             $out .= "<script type='text/javascript'>" . $js['script'] . "</script>\n";
         } else {
             // javascript file
             $res = $this->template_found($js['src'], false, false);
             if ($res and $res['resource_name']) {
                 $files[] = $res['resource_name'];
             }
         }
     }
     // combine and output all local scripts into a single request
     if ($files) {
         if ($this->js_compress) {
             // combine all sources into a single request
             if ($files) {
                 $src = implode(',', $files);
                 $out .= sprintf("<script src='%s' type='text/javascript'></script>\n", ps_url_wrapper(array('_base' => 'script.php', 'src' => $src)));
             }
         } else {
             foreach ($files as $f) {
                 $out .= sprintf("<script src='%s' type='text/javascript'></script>\n", $this->theme_url . '/' . $f);
             }
         }
     }
     return $out;
 }
Exemple #23
0
            print $ps->db->lastcmd;
        }
        if (!$ok) {
            $form->error('fatal', "Error updating database: " . $ps->db->errstr);
        } else {
            previouspage(ps_url_wrapper('overlays.php'));
        }
    }
} else {
    // fill in defaults
    if ($id) {
        $form->input($overlay);
    } else {
        // default game:mod to currently configured values
        $form->input(array('gametype' => $ps->conf['main']['gametype'], 'modtype' => $ps->conf['main']['modtype']));
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Overlays', ps_url_wrapper('overlays.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('errors' => $form->errors(), 'overlay' => $overlay, 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #24
0
            previouspage(ps_url_wrapper('awards.php'));
        }
    }
} else {
    // fill in defaults
    if ($id) {
        $form->input($award);
    } else {
        // new awards should default to being enabled
        $form->input['enabled'] = 1;
        $form->input['limit'] = 10;
        $form->input['order'] = 'desc';
        $form->input['format'] = '%s';
        $form->input['type'] = 'player';
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Awards', ps_url_wrapper('awards.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('errors' => $form->errors(), 'award' => $award, 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
$cms->theme->add_js('js/forms.js');
$cms->theme->add_js('js/awards.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #25
0
        }
        if ($ok) {
            previouspage(ps_url_wrapper(array('_amp' => '&', '_base' => 'conf.php', 'ct' => $input['conftype'], 's' => $input['section'])));
        }
    }
} else {
    if ($id) {
        foreach ($conf as $key => $v) {
            $form->input[$key] = $v;
        }
    } else {
        $form->input['conftype'] = $ct;
        $form->input['section'] = strtolower($s) == 'general' ? '' : $s;
    }
}
$cms->crumb("Config", ps_url_wrapper(array('_base' => 'conf.php', 'ct' => $ct)));
$cms->crumb("Edit Option");
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('input_types' => $input_types, 'errors' => $form->errors(), 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
//$cms->theme->add_css('css/2column.css');
$cms->theme->add_css('css/forms.css');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
// validate: input type
function val_type($var, $value, &$form)
{
Exemple #26
0
            // commit changes and stop transaction
            previouspage(ps_url_wrapper('aliases.php'));
        }
        /*
        		$message = $cms->message('success', array(
        			'message_title'	=> $cms->trans("Update Successfull"),
        			'message'	=> $cms->trans("Aliases have been updated"))
        		));
        */
    }
} else {
    // fill in defaults
    if ($id) {
        $form->input($alias);
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Player Aliases', ps_url_wrapper('aliases.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('errors' => $form->errors(), 'alias' => $alias, 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #27
0
        			'message_title'	=> $cms->trans("Update Successfull"),
        			'message'	=> $cms->trans("Log Source has been updated"))
        		));
        */
    }
} else {
    // fill in defaults
    if (!$test) {
        if ($id) {
            $form->input($server);
        } else {
            // new servers should default to being enabled
            $form->input['enabled'] = 1;
        }
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Servers', ps_url_wrapper('servers.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('errors' => $form->errors(), 'server' => $server, 'querytypes' => pq_query_types(), 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');
Exemple #28
0
    $config_layout['general'] = $list[$ct];
    // any remaining keys are options w/o a section
} else {
    unset($config_layout['general']);
}
unset($list);
//print "<pre>"; print_r($config_layout); print "</pre>";
// make sure the section is valid
if (empty($s)) {
    $s = 'general';
}
if (!is_array($config_layout[$s])) {
    $s = $sections[$ct][0];
    // default to first section found
}
$cms->crumb("Config", ps_url_wrapper(array('_base' => $PHP_SELF, 'ct' => $ct)));
$cms->crumb($ct);
$form = $cms->new_form();
$form->default_modifier('trim');
// setup form fields. each field is actually the ID of the variable so I don't have to worry about
// naming conflicts between sections (eg: maxdays and errlogs.maxdays)
foreach ($config_layout as $sec => $list) {
    if (!is_array($list)) {
        continue;
    }
    foreach ($list as $o) {
        $form->field($o['id'], $o['verifycodes']);
    }
}
$section_errors = array();
// NOW we can process the form if it was submitted
Exemple #29
0
function smarty_function_url($args, &$smarty)
{
    return ps_url_wrapper($args);
}
Exemple #30
0
        }
        if (!$ok) {
            $form->error('fatal', "Error updating database: " . $ps->db->errstr);
        } else {
            previouspage('users.php');
        }
    }
} else {
    // fill in defaults
    if ($id) {
        $form->input($u->to_form_input());
    } else {
        $form->set('accesslevel', $u->acl_user());
        $form->set('confirmed', 1);
    }
}
$cms->crumb('Manage', ps_url_wrapper('manage.php'));
$cms->crumb('Users', ps_url_wrapper('users.php'));
$cms->crumb('Edit');
// save a new form key in the users session cookie
// this will also be put into a 'hidden' field in the form
if ($ps->conf['main']['security']['csrf_protection']) {
    $cms->session->key($form->key());
}
$cms->theme->assign(array('errors' => $form->errors(), 'u' => $u->to_form_input(), 'accesslevels' => $u->accesslevels(), 'form' => $form->values(), 'form_key' => $ps->conf['main']['security']['csrf_protection'] ? $cms->session->key() : ''));
// display the output
$basename = basename(__FILE__, '.php');
$cms->theme->add_css('css/forms.css');
//$cms->theme->add_js('js/jquery.interface.js');
$cms->theme->add_js('js/forms.js');
$cms->full_page($basename, $basename, $basename . '_header', $basename . '_footer', '');