if (isset($params)) {
    // Merge with default params
    $params = array_merge($default_params, $params);
} else {
    // Use a default params
    $params = $default_params;
}
// ------------------- PREV/NEXT USER LINKS -------------------
user_prevnext_links(array('block_start' => '<table class="prevnext_user"><tr>', 'prev_start' => '<td width="33%">', 'prev_end' => '</td>', 'prev_no_user' => '<td width="33%">&nbsp;</td>', 'back_start' => '<td width="33%" class="back_users_list">', 'back_end' => '</td>', 'next_start' => '<td width="33%" class="right">', 'next_end' => '</td>', 'next_no_user' => '<td width="33%">&nbsp;</td>', 'block_end' => '</tr></table>', 'user_tab' => 'pwdchange'));
// ------------- END OF PREV/NEXT USER LINKS -------------------
// check if reqID exists. If exists it means that this form is displayed because a password change request by email.
$reqID = param('reqID', 'string', '');
$Form = new Form($form_action, 'user_checkchanges');
$Form->switch_template_parts($params['skin_form_params']);
if (!$user_profile_only) {
    echo_user_actions($Form, $edited_User, $action);
}
$is_admin = is_admin_page();
if ($is_admin) {
    $form_title = get_usertab_header($edited_User, 'pwdchange', T_('Change password'));
    $form_class = 'fform';
    $Form->title_fmt = '<span style="float:right">$global_icons$</span><div>$title$</div>' . "\n";
} else {
    $form_title = '';
    $form_class = 'bComment';
}
$has_full_access = $current_User->check_perm('users', 'edit');
$Form->begin_form($form_class, $form_title);
$Form->add_crumb('user');
$Form->hidden_ctrl();
$Form->hidden('user_tab', 'pwdchange');
$Count_SQL->FROM('T_sessions LEFT JOIN T_users ON sess_user_ID = user_ID');
if (empty($user_ID)) {
    // display only this user sessions in user tab
    $user_ID = $edited_User->ID;
}
$SQL->WHERE('user_ID = ' . $user_ID);
$Count_SQL->WHERE('user_ID = ' . $user_ID);
memorize_param('user_tab', 'string', '', $user_tab);
// Begin payload block:
$this->disp_payload_begin();
// ------------------- PREV/NEXT USER LINKS -------------------
user_prevnext_links(array('user_tab' => 'sessions'));
// ------------- END OF PREV/NEXT USER LINKS -------------------
$Results = new Results($SQL->get(), 'sess_', 'D', $UserSettings->get('results_per_page'), $Count_SQL->get());
// echo user edit action icons
echo_user_actions($Results, $edited_User, 'edit');
echo '<span class="floatright">' . $Results->gen_global_icons() . '</span>';
$Results->global_icons = array();
// echo user tabs
echo '<div>' . get_usertab_header($edited_User, $user_tab, T_('Sessions') . get_manual_link('user-sessions-tab')) . '</div>';
$Results->title = T_('Recent sessions') . get_manual_link('user-sessions-tab');
/**
 * Callback to add filters on top of the result set
 *
 * @param Form
 */
$Results->cols[] = array('th' => T_('ID'), 'order' => 'sess_ID', 'default_dir' => 'D', 'td_class' => 'right', 'td' => '<a href="?ctrl=stats&amp;tab=hits&amp;blog=0&amp;sess_ID=$sess_ID$">$sess_ID$</a>');
$Results->cols[] = array('th' => T_('Last seen'), 'order' => 'sess_lastseen_ts', 'default_dir' => 'D', 'td_class' => 'timestamp', 'td' => '%mysql2localedatetime_spans( #sess_lastseen_ts# )%');
$Results->cols[] = array('th' => T_('User login'), 'order' => 'user_login', 'td' => '%stat_session_login( #user_login# )%');
$Results->cols[] = array('th' => T_('Remote IP'), 'order' => 'sess_ipaddress', 'td' => '$sess_ipaddress$');
// Get additional columns from the Plugins
global $user_profile_only;
global $user_tab, $user_ID;
global $current_User, $UserSettings;
if (!$current_User->check_perm('users', 'edit')) {
    // Check permission:
    debug_die(T_('You have no permission to see this tab!'));
}
memorize_param('user_tab', 'string', '', $user_tab);
memorize_param('user_ID', 'integer', 0, $user_ID);
// ------------------- PREV/NEXT USER LINKS -------------------
user_prevnext_links(array('block_start' => '<table class="prevnext_user"><tr>', 'prev_start' => '<td width="33%">', 'prev_end' => '</td>', 'prev_no_user' => '<td width="33%">&nbsp;</td>', 'back_start' => '<td width="33%" class="back_users_list">', 'back_end' => '</td>', 'next_start' => '<td width="33%" class="right">', 'next_end' => '</td>', 'next_no_user' => '<td width="33%">&nbsp;</td>', 'block_end' => '</tr></table>', 'user_tab' => 'activity'));
// ------------- END OF PREV/NEXT USER LINKS -------------------
if (!$user_profile_only) {
    // echo user edit action icons
    $Widget = new Widget();
    echo_user_actions($Widget, $edited_User, 'edit');
    echo '<span class="floatright">' . $Widget->gen_global_icons() . '</span>';
}
echo '<div>' . get_usertab_header($edited_User, $user_tab, $current_User->ID == $edited_User->ID ? T_('My Activity') : T_('User Activity')) . '</div>';
// Display IP address from where this user was created
echo '<div style="margin-top:25px;font-weight:bold;"><span>' . T_('User created from IP') . ': ' . int2ip($UserSettings->get('created_fromIPv4', $edited_User->ID)) . '</span></div>';
/**** Reports from edited user  ****/
user_reports_results_block(array('edited_User' => $edited_User));
evo_flush();
/**** Blogs owned by the user ****/
blogs_results_block(array('edited_User' => $edited_User));
evo_flush();
/**** Posts created by the user  ****/
items_created_results_block(array('edited_User' => $edited_User));
evo_flush();
/**** Posts edited by the user ****/
Example #4
0
global $edited_User, $UserSettings, $Settings, $Plugins;
global $current_User;
global $servertimenow, $admin_url;
if (!$current_User->check_perm('users', 'edit')) {
    // Check permission:
    debug_die(T_('You have no permission to see this tab!'));
}
// Begin payload block:
$this->disp_payload_begin();
// ------------------- PREV/NEXT USER LINKS -------------------
user_prevnext_links(array('block_start' => '<table class="prevnext_user"><tr>', 'prev_start' => '<td width="33%">', 'prev_end' => '</td>', 'prev_no_user' => '<td width="33%">&nbsp;</td>', 'back_start' => '<td width="33%" class="back_users_list">', 'back_end' => '</td>', 'next_start' => '<td width="33%" class="right">', 'next_end' => '</td>', 'next_no_user' => '<td width="33%">&nbsp;</td>', 'block_end' => '</tr></table>', 'user_tab' => 'admin'));
// ------------- END OF PREV/NEXT USER LINKS -------------------
$user_status_icons = get_user_status_icons();
$Form = new Form(NULL, 'user_checkchanges');
$Form->title_fmt = '<span style="float:right">$global_icons$</span><div>$title$</div>' . "\n";
echo_user_actions($Form, $edited_User, 'edit');
$Form->begin_form('fform', get_usertab_header($edited_User, 'admin', T_('User admin settings')));
$Form->add_crumb('user');
$Form->hidden_ctrl();
$Form->hidden('user_tab', 'admin');
$Form->hidden('admin_form', '1');
$Form->hidden('user_ID', $edited_User->ID);
$Form->hidden('edited_user_login', $edited_User->login);
/***************  User permissions  **************/
$Form->begin_fieldset(T_('User permissions') . get_manual_link('user-admin-permissions'), array('class' => 'fieldset clear'));
$edited_User->get_Group();
$level_fieldnote = '[0 - 10]';
if ($edited_User->ID == 1) {
    // This is Admin user
    echo '<input type="hidden" name="edited_user_grp_ID" value="' . $edited_User->grp_ID . '" />';
    $Form->info(T_('Account status'), T_('Autoactivated'));