Example #1
0
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 * @link 		http://www.easyscp.net
 * @author 		EasySCP Team
 */
require '../../include/easyscp-lib.php';
check_login(__FILE__);
$cfg = EasySCP_Registry::get('Config');
$tpl = EasySCP_TemplateEngine::getInstance();
$template = 'admin/sessions_manage.tpl';
// static page messages
$tpl->assign(array('TR_PAGE_TITLE' => tr('EasySCP - Admin/Manage Sessions'), 'TR_MANAGE_USER_SESSIONS' => tr('Manage user sessions'), 'TR_USERNAME' => tr('Username'), 'TR_USERTYPE' => tr('User type'), 'TR_LOGIN_ON' => tr('Last access'), 'TR_OPTIONS' => tr('Options'), 'TR_DELETE' => tr('Kill session')));
gen_admin_mainmenu($tpl, 'admin/main_menu_users_manage.tpl', true);
gen_admin_menu($tpl, 'admin/menu_users_manage.tpl', true);
kill_session();
gen_user_sessions($tpl);
gen_page_message($tpl);
if ($cfg->DUMP_GUI_DEBUG) {
    dump_gui_debug($tpl);
}
$tpl->display($template);
unset_messages();
function kill_session()
{
    $sql = EasySCP_Registry::get('Db');
    if (isset($_GET['kill']) && $_GET['kill'] !== '' && $_GET['kill'] !== $_SESSION['user_logged']) {
        $admin_name = $_GET['kill'];
        $query = "\n\t\t\tDELETE FROM\n\t\t\t\t`login`\n\t\t\tWHERE\n\t\t\t\t`session_id` = ?\n\t\t";
        exec_query($sql, $query, $admin_name);
        set_page_message(tr('User session was killed!'), 'info');
        write_log($_SESSION['user_logged'] . ": killed user session: {$admin_name}!");
            $tpl->assign(array('ADMIN_CLASS' => 'content2'));
        } else {
            $tpl->assign(array('ADMIN_CLASS' => 'content'));
        }
        $tpl->assign(array('ADMIN_USERNAME' => $rs->fields['session_id'], 'LOGIN_TIME' => date("G:i:s", $rs->fields['lastaccess'])));
        if ($_SESSION['user_logged'] === $rs->fields['session_id']) {
            $tpl->assign('KILL_LINK', 'manage_sessions.php');
        } else {
            $tpl->assign('KILL_LINK', 'manage_sessions.php?kill=' . $rs->fields['session_id']);
        }
        $tpl->parse('USER_SESSION', '.user_session');
        $rs->MoveNext();
    }
}
/*
 *
 * static page messages.
 *
 */
gen_admin_menu($tpl);
kill_session($tpl, $sql);
gen_user_sessions($tpl, $sql);
$tpl->assign(array('TR_MANAGE_USER_SESSIONS' => tr('Manage user sessions'), 'TR_USERNAME' => tr('Username'), 'TR_USERTYPE' => tr('User type'), 'TR_LOGIN_ON' => tr('Last access'), 'TR_OPTIONS' => tr('Options'), 'TR_DELETE' => tr('Kill session')));
//gen_page_message($tpl);
gen_page_message($tpl);
$tpl->parse('PAGE', 'page');
$tpl->prnt();
if (isset($cfg['DUMP_GUI_DEBUG'])) {
    dump_gui_debug();
}
unset_messages();