diff options
Diffstat (limited to '')
-rw-r--r-- | profile.php | 308 |
1 files changed, 75 insertions, 233 deletions
diff --git a/profile.php b/profile.php index 42d36ca92..57f6255be 100644 --- a/profile.php +++ b/profile.php @@ -30,11 +30,7 @@ // | initialization | // +-----------------------------------------------------------------------+ $userdata = array(); -if (defined('IN_ADMIN') and isset($_POST['submituser'])) -{ - $userdata = getuserdata($_POST['username']); -} -else if (defined('IN_ADMIN') and IN_ADMIN and isset($_GET['user_id'])) +if (defined('IN_ADMIN') and IN_ADMIN and isset($_GET['user_id'])) { $userdata = getuserdata(intval($_GET['user_id'])); } @@ -208,11 +204,6 @@ UPDATE '.USERS_TABLE.' } } } -else if (defined('IN_ADMIN') and IN_ADMIN and isset($_POST['submit_add'])) -{ - $errors = register_user($_POST['login'], $_POST['password'], - $_POST['password'], ''); -} // +-----------------------------------------------------------------------+ // | page header and options | // +-----------------------------------------------------------------------+ @@ -230,237 +221,88 @@ else //----------------------------------------------------- template initialization $template->set_filenames(array('profile_body'=>'profile.tpl')); -if (defined('IN_ADMIN') and IN_ADMIN and empty($userdata)) -{ - $admin_profile = add_session_id(PHPWG_ROOT_PATH.'admin.php?page=profile'); +$expand = ($userdata['expand'] == 'true') ? 'EXPAND_TREE_YES':'EXPAND_TREE_NO'; - $template->assign_block_vars('add_user', array('F_ACTION'=>$admin_profile)); - $template->assign_block_vars('select_user',array()); - - $conf['users_page'] = 20; - $start = isset($_GET['start']) ? $_GET['start'] : 0; - - $query = ' -SELECT COUNT(*) AS counter - FROM '.USERS_TABLE.' - WHERE id != 2 -;'; - list($counter) = mysql_fetch_row(pwg_query($query)); - $url = PHPWG_ROOT_PATH.'admin.php'.get_query_string_diff(array('start')); - $navbar = create_navigation_bar($url, - $counter, - $start, - $conf['users_page'], - ''); +$nb_comments = +($userdata['show_nb_comments'] == 'true') ? 'NB_COMMENTS_YES':'NB_COMMENTS_NO'; - $template->assign_vars( - array( - 'L_SELECT_USERNAME'=>$lang['Select_username'], - 'L_LOOKUP_USER'=>$lang['Look_up_user'], - 'L_FIND_USERNAME'=>$lang['Find_username'], - 'L_AUTH_USER'=>$lang['permuser_only_private'], - 'L_GROUP_ADD_USER' => $lang['group_add_user'], - 'L_SUBMIT'=>$lang['submit'], - 'L_STATUS'=>$lang['user_status'], - 'L_USERNAME' => $lang['login'], - 'L_PASSWORD' => $lang['password'], - 'L_EMAIL' => $lang['mail_address'], - 'L_ORDER_BY' => $lang['order_by'], - 'L_ACTIONS' => $lang['actions'], - 'L_PERMISSIONS' => $lang['permissions'], - 'L_USERS_LIST' => $lang['title_liste_users'], - - 'NAVBAR'=>$navbar, - 'F_SEARCH_USER_ACTION' => $admin_profile, - 'F_ORDER_ACTION' => $admin_profile, - 'U_SEARCH_USER' => add_session_id(PHPWG_ROOT_PATH.'admin/search.php') - )); - - $order_by_items = array('id' => $lang['registration_date'], - 'username' => $lang['login']); - foreach ($order_by_items as $item => $label) - { - $selected = (isset($_GET['order_by']) and $_GET['order_by'] == $item) ? - 'selected="selected"' : ''; - $template->assign_block_vars( - 'select_user.order_by', - array( - 'VALUE' => $item, - 'CONTENT' => $label, - 'SELECTED' => $selected - )); - } - - $direction_items = array('asc' => $lang['ascending'], - 'desc' => $lang['descending']); - foreach ($direction_items as $item => $label) - { - $selected = (isset($_GET['direction']) and $_GET['direction'] == $item) ? - 'selected="selected"' : ''; - $template->assign_block_vars( - 'select_user.direction', - array( - 'VALUE' => $item, - 'CONTENT' => $label, - 'SELECTED' => $selected - )); - } - - $profile_url = PHPWG_ROOT_PATH.'admin.php?page=profile&user_id='; - $perm_url = PHPWG_ROOT_PATH.'admin.php?page=user_perm&user_id='; - - $users = array(); - $user_ids = array(); - $groups_content = array(); - - $order_by = 'id'; - if (isset($_GET['order_by']) - and in_array($_GET['order_by'], array_keys($order_by_items))) - { - $order_by = $_GET['order_by']; - } - - $direction = 'ASC'; - if (isset($_GET['direction']) - and in_array($_GET['direction'], array_keys($direction_items))) - { - $direction = strtoupper($_GET['direction']); - } - - $query = ' -SELECT id, username, mail_address, status - FROM '.USERS_TABLE.' - WHERE id != 2 - ORDER BY '.$order_by.' '.$direction.' - LIMIT '.$start.', '.$conf['users_page'].' -;'; - $result = pwg_query($query); - while ($row = mysql_fetch_array($result)) - { - array_push($users, $row); - array_push($user_ids, $row['id']); - $user_groups[$row['id']] = array(); - } - - $query = ' -SELECT user_id, group_id, name - FROM '.USER_GROUP_TABLE.' INNER JOIN '.GROUPS_TABLE.' ON group_id = id - WHERE user_id IN ('.implode(',', $user_ids).') -;'; - $result = pwg_query($query); - while ($row = mysql_fetch_array($result)) - { - $groups_content[$row['group_id']] = $row['name']; - array_push($user_groups[$row['user_id']], $row['group_id']); - } - - foreach ($users as $item) - { - $groups = preg_replace('/(\d+)/e', - "\$groups_content['$1']", - implode(', ', $user_groups[$item['id']])); +$template->assign_vars( + array( + 'USERNAME'=>$userdata['username'], + 'USERID'=>$userdata['id'], + 'EMAIL'=>@$userdata['mail_address'], + 'LANG_SELECT'=>language_select($userdata['language'], 'language'), + 'NB_IMAGE_LINE'=>$userdata['nb_image_line'], + 'NB_ROW_PAGE'=>$userdata['nb_line_page'], + 'STYLE_SELECT'=>style_select($userdata['template'], 'template'), + 'RECENT_PERIOD'=>$userdata['recent_period'], + 'MAXWIDTH'=>@$userdata['maxwidth'], + 'MAXHEIGHT'=>@$userdata['maxheight'], - $template->assign_block_vars( - 'select_user.user', - array( - 'U_MOD'=>add_session_id($profile_url.$item['id']), - 'U_PERM'=>add_session_id($perm_url.$item['id']), - 'USERNAME'=>$item['username'], - 'STATUS'=>$lang['user_status_'.$item['status']], - 'EMAIL'=>isset($item['mail_address']) ? $item['mail_address'] : '', - 'GROUPS'=>$groups - )); - } + $expand=>'checked="checked"', + $nb_comments=>'checked="checked"', + + 'L_TITLE' => $lang['customize_title'], + 'L_REGISTRATION_INFO' => $lang['register_title'], + 'L_PREFERENCES' => $lang['preferences'], + 'L_USERNAME' => $lang['login'], + 'L_EMAIL' => $lang['mail_address'], + 'L_CURRENT_PASSWORD' => $lang['password'], + 'L_CURRENT_PASSWORD_HINT' => $lang['password_hint'], + 'L_NEW_PASSWORD' => $lang['new_password'], + 'L_NEW_PASSWORD_HINT' => $lang['new_password_hint'], + 'L_CONFIRM_PASSWORD' => $lang['reg_confirm'], + 'L_CONFIRM_PASSWORD_HINT' => $lang['confirm_password_hint'], + 'L_LANG_SELECT'=>$lang['language'], + 'L_NB_IMAGE_LINE'=>$lang['nb_image_per_row'], + 'L_NB_ROW_PAGE'=>$lang['nb_row_per_page'], + 'L_STYLE_SELECT'=>$lang['theme'], + 'L_RECENT_PERIOD'=>$lang['recent_period'], + 'L_EXPAND_TREE'=>$lang['auto_expand'], + 'L_NB_COMMENTS'=>$lang['show_nb_comments'], + 'L_MAXWIDTH'=>$lang['maxwidth'], + 'L_MAXHEIGHT'=>$lang['maxheight'], + 'L_YES'=>$lang['yes'], + 'L_NO'=>$lang['no'], + 'L_SUBMIT'=>$lang['submit'], + 'L_RESET'=>$lang['reset'], + 'L_RETURN' => $lang['home'], + 'L_RETURN_HINT' => $lang['home_hint'], + + 'F_ACTION'=>add_session_id($url_action), + )); + +if (!defined('IN_ADMIN') or !IN_ADMIN) +{ + $url_return = PHPWG_ROOT_PATH.'category.php?'.$_SERVER['QUERY_STRING']; + $template->assign_vars(array('U_RETURN' => add_session_id($url_return))); } -else +//------------------------------------------------------------- user management +if (defined('IN_ADMIN') and IN_ADMIN) { - $expand = - ($userdata['expand']=='true')? - 'EXPAND_TREE_YES':'EXPAND_TREE_NO'; - - $nb_comments = - ($userdata['show_nb_comments']=='true')? - 'NB_COMMENTS_YES':'NB_COMMENTS_NO'; - - $template->assign_block_vars('modify',array()); - $template->assign_vars( - array( - 'USERNAME'=>$userdata['username'], - 'USERID'=>$userdata['id'], - 'EMAIL'=>@$userdata['mail_address'], - 'LANG_SELECT'=>language_select($userdata['language'], 'language'), - 'NB_IMAGE_LINE'=>$userdata['nb_image_line'], - 'NB_ROW_PAGE'=>$userdata['nb_line_page'], - 'STYLE_SELECT'=>style_select($userdata['template'], 'template'), - 'RECENT_PERIOD'=>$userdata['recent_period'], - 'MAXWIDTH'=>@$userdata['maxwidth'], - 'MAXHEIGHT'=>@$userdata['maxheight'], - - $expand=>'checked="checked"', - $nb_comments=>'checked="checked"', - - 'L_TITLE' => $lang['customize_title'], - 'L_REGISTRATION_INFO' => $lang['register_title'], - 'L_PREFERENCES' => $lang['preferences'], - 'L_USERNAME' => $lang['login'], - 'L_EMAIL' => $lang['mail_address'], - 'L_CURRENT_PASSWORD' => $lang['password'], - 'L_CURRENT_PASSWORD_HINT' => $lang['password_hint'], - 'L_NEW_PASSWORD' => $lang['new_password'], - 'L_NEW_PASSWORD_HINT' => $lang['new_password_hint'], - 'L_CONFIRM_PASSWORD' => $lang['reg_confirm'], - 'L_CONFIRM_PASSWORD_HINT' => $lang['confirm_password_hint'], - 'L_LANG_SELECT'=>$lang['language'], - 'L_NB_IMAGE_LINE'=>$lang['nb_image_per_row'], - 'L_NB_ROW_PAGE'=>$lang['nb_row_per_page'], - 'L_STYLE_SELECT'=>$lang['theme'], - 'L_RECENT_PERIOD'=>$lang['recent_period'], - 'L_EXPAND_TREE'=>$lang['auto_expand'], - 'L_NB_COMMENTS'=>$lang['show_nb_comments'], - 'L_MAXWIDTH'=>$lang['maxwidth'], - 'L_MAXHEIGHT'=>$lang['maxheight'], - 'L_YES'=>$lang['yes'], - 'L_NO'=>$lang['no'], - 'L_SUBMIT'=>$lang['submit'], - 'L_RESET'=>$lang['reset'], - 'L_RETURN' => $lang['home'], - 'L_RETURN_HINT' => $lang['home_hint'], - - 'F_ACTION'=>add_session_id($url_action), - )); - - if (!defined('IN_ADMIN') or !IN_ADMIN) + $status_select = '<select name="status">'; + $status_select .='<option value = "guest" '; + if ($userdata['status'] == 'guest') { - $url_return = PHPWG_ROOT_PATH.'category.php?'.$_SERVER['QUERY_STRING']; - $template->assign_vars(array('U_RETURN' => add_session_id($url_return))); + $status_select .= 'selected="selected"'; } -//------------------------------------------------------------- user management - if (defined('IN_ADMIN') and IN_ADMIN) + $status_select .='>'.$lang['user_status_guest'] .'</option>'; + $status_select .='<option value = "admin" '; + if ($userdata['status'] == 'admin') { - $status_select = '<select name="status">'; - $status_select .='<option value = "guest" '; - if ($userdata['status'] == 'guest') - { - $status_select .= 'selected="selected"'; - } - $status_select .='>'.$lang['user_status_guest'] .'</option>'; - $status_select .='<option value = "admin" '; - if ($userdata['status'] == 'admin') - { - $status_select .= 'selected="selected"'; - } - $status_select .='>'.$lang['user_status_admin'] .'</option>'; - $status_select .='</select>'; - $template->assign_block_vars( - 'modify.admin', - array( - 'L_ADMIN_USER'=>$lang['user_management'], - 'L_STATUS'=>$lang['user_status'], - 'L_DELETE'=>$lang['user_delete'], - 'L_DELETE_HINT'=>$lang['user_delete_hint'], - 'STATUS'=>$status_select - )); + $status_select .= 'selected="selected"'; } + $status_select .='>'.$lang['user_status_admin'] .'</option>'; + $status_select .='</select>'; + $template->assign_block_vars( + 'admin', + array( + 'L_ADMIN_USER'=>$lang['user_management'], + 'L_STATUS'=>$lang['user_status'], + 'L_DELETE'=>$lang['user_delete'], + 'L_DELETE_HINT'=>$lang['user_delete_hint'], + 'STATUS'=>$status_select + )); } // +-----------------------------------------------------------------------+ // | errors display | @@ -482,7 +324,7 @@ if (defined('IN_ADMIN') and IN_ADMIN) } else { - $template->assign_block_vars('modify.profile',array()); + $template->assign_block_vars('profile',array()); $template->parse('profile_body'); include(PHPWG_ROOT_PATH.'include/page_tail.php'); } |