0byt3m1n1-V2
Path:
/
home
/
magalijoj
/
www
/
blog
/
admin
/
[
Home
]
File: user.php
<?php # ***** BEGIN LICENSE BLOCK ***** # This file is part of DotClear. # Copyright (c) 2005 Olivier Meunier and contributors. All rights # reserved. # # DotClear 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 2 of the License, or # (at your option) any later version. # # DotClear 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 DotClear; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # ***** END LICENSE BLOCK ***** require dirname(__FILE__).'/../inc/admin/prepend.php'; dcPage::checkSuper(); $page_title = __('new user'); $user_id = ''; $user_super = ''; $user_pwd = ''; $user_name = ''; $user_firstname = ''; $user_displayname = ''; $user_email = ''; $user_url = ''; $user_lang = $core->auth->getInfo('user_lang'); $user_tz = $core->auth->getInfo('user_tz'); $user_post_status = ''; $user_options = $core->userDefaults(); foreach ($core->getFormaters() as $v) { $formaters_combo[$v] = $v; } foreach ($core->blog->getAllPostStatus() as $k => $v) { $status_combo[$v] = $k; } # Language codes foreach (l10n::getISOcodes(1) as $k => $v) { $lang_combo[] = new formSelectOption($k,$v,$v == 'en' || is_dir(DC_L10N_ROOT.'/'.$v) ? 'avail10n' : ''); } # Get user if we have an ID if (!empty($_REQUEST['id'])) { try { $rs = $core->getUser($_REQUEST['id']); $user_id = $rs->user_id; $user_super = $rs->user_super; $user_pwd = $rs->user_pwd; $user_name = $rs->user_name; $user_firstname = $rs->user_firstname; $user_displayname = $rs->user_displayname; $user_email = $rs->user_email; $user_url = $rs->user_url; $user_lang = $rs->user_lang; $user_tz = $rs->user_tz; $user_post_status = $rs->user_post_status; $user_options = array_merge($user_options,$rs->options()); $page_title = $user_id; } catch (Exception $e) { $core->error->add($e->getMessage()); } } # Add or update user if (isset($_POST['user_name'])) { $cur = $core->con->openCursor($core->prefix.'user'); $cur->user_id = $_POST['user_id']; $cur->user_super = $user_super = !empty($_POST['user_super']) ? 1 : 0; $cur->user_name = $user_name = $_POST['user_name']; $cur->user_firstname = $user_firstname = $_POST['user_firstname']; $cur->user_displayname = $user_displayname = $_POST['user_displayname']; $cur->user_email = $user_email = $_POST['user_email']; $cur->user_url = $user_url = $_POST['user_url']; $cur->user_lang = $user_lang = $_POST['user_lang']; $cur->user_tz = $user_tz = $_POST['user_tz']; $cur->user_post_status = $user_post_status = $_POST['user_post_status']; if (!empty($_POST['new_pwd'])) { if ($_POST['new_pwd'] != $_POST['new_pwd_c']) { $core->error->add(__("Passwords don't match")); } else { $cur->user_pwd = $_POST['new_pwd']; } } $user_options['post_format'] = $_POST['user_post_format']; $user_options['edit_size'] = (integer) $_POST['user_edit_size']; if ($user_options['edit_size'] < 1) { $user_options['edit_size'] = 10; } $cur->user_options = new ArrayObject($user_options); # Udate user if ($user_id) { if (!$core->error->flag()) { try { # --BEHAVIOR-- adminBeforeUserUpdate $core->callBehavior('adminBeforeUserUpdate',$cur,$user_id); $new_id = $core->updUser($user_id,$cur); # --BEHAVIOR-- adminAfterUserUpdate $core->callBehavior('adminAfterUserUpdate',$cur,$new_id); if ($user_id == $core->auth->userID() && $user_id != $new_id) { $core->session->destroy(); } http::redirect('user.php?id='.$new_id.'&upd=1'); } catch (Exception $e) { $core->error->add($e->getMessage()); } } } # Add user else { if (!$core->error->flag()) { try { # --BEHAVIOR-- adminBeforeUserCreate $core->callBehavior('adminBeforeUserCreate',$cur); $new_id = $core->addUser($cur); # --BEHAVIOR-- adminAfterUserCreate $core->callBehavior('adminAfterUserCreate',$cur,$new_id); http::redirect('user.php?id='.$new_id.'&add=1'); } catch (Exception $e) { $core->error->add($e->getMessage()); } } } } /* DISPLAY -------------------------------------------------------- */ dcPage::open($page_title, dcPage::jsConfirmClose('user-form'). # --BEHAVIOR-- adminUserHeaders $core->callBehavior('adminUserHeaders') ); if (!empty($_GET['upd'])) { echo '<p class="message">'.__('User has been successfully updated.').'</p>'; } if (!empty($_GET['add'])) { echo '<p class="message">'.__('User has been successfully created.').'</p>'; } echo '<h2><a href="users.php">'.__('Users').'</a> > '.$page_title.'</h2>'; if ($user_id == $core->auth->userID()) { echo '<p class="warning">'.__('Warning:').' '. __('If you change your login, you will have to log in again.').'</p>'; } echo '<form action="user.php" method="post"id="user-form">'. '<fieldset><legend>'.__('User information').'</legend>'. '<div class="two-cols">'. '<div class="col">'. '<p><label class="required" title="'.__('Required field').'">'.__('Login:').' '. form::field('user_id',20,255,html::escapeHTML($user_id),'',2). '</label></p>'. '<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p>'. '<p><label>'.($user_id!='' ? __('New password:') : __('Password:')).' '. form::password('new_pwd',20,255,'','',3). '</label></p>'. '<p><label>'.__('Confirm password:').' '. form::password('new_pwd_c',20,255,'','',4). '</label></p>'. '<p><label>'.__('Name:').' '. form::field('user_name',20,255,html::escapeHTML($user_name),'',5). '</label></p>'. '<p><label>'.__('Firstname:').' '. form::field('user_firstname',20,255,html::escapeHTML($user_firstname),'',6). '</label></p>'. '<p><label>'.__('Display name:').' '. form::field('user_displayname',20,255,html::escapeHTML($user_displayname),'',7). '</label></p>'. '<p><label>'.__('Email:').' '. form::field('user_email',20,255,html::escapeHTML($user_email),'',8). '</label></p>'. '</div>'. '<div class="col">'. '<p><label>'.__('URL:').' '. form::field('user_url',30,255,html::escapeHTML($user_url),'',8). '</label></p>'. '<p><label>'.__('Preferred format:').' '. form::combo('user_post_format',$formaters_combo,$user_options['post_format'],'',9). '</label></p>'. '<p><label>'.__('Default entry status:').' '. form::combo('user_post_status',$status_combo,$user_post_status,'',10). '</label></p>'. '<p><label>'.__('Entry edit field height:').' '. form::field('user_edit_size',5,4,(integer) $user_options['edit_size'],'',11). '</label></p>'. '<p><label>'.__('User language:').' '. form::combo('user_lang',$lang_combo,$user_lang,'l10n',12). '</label></p>'. '<p><label>'.__('User timezone:').' '. form::combo('user_tz',dt::getZones(true,true),$user_tz,'',13). '</label></p>'. '<p><label class="classic">'.form::checkbox('user_super','1',$user_super,'',14).' '. __('Super administrator').'</label></p>'. '</div>'. '</div>'. '</fieldset>'; # --BEHAVIOR-- adminUserForm $core->callBehavior('adminUserForm',isset($rs) ? $rs : null); echo '<p class="clear"><input type="submit" accesskey="s" value="'.__('Save').'" tabindex="15" />'. ($user_id != '' ? form::hidden('id',$user_id) : ''). $core->formNonce(). '</p>'. '</form>'; if ($user_id) { echo '<fieldset class="clear"><legend>'.__('Permissions').'</legend>'; $permissions = $core->getUserPermissions($user_id); $perm_types = $core->auth->getPermissionsTypes(); if (count($permissions) == 0) { echo '<p>'.__('No permissions.').'</p>'; } else { foreach ($permissions as $k => $v) { if (count($v['p']) > 0) { echo '<h4><a href="blog.php?id='.html::escapeHTML($k).'">'. html::escapeHTML($v['name']).'</a> ('.html::escapeHTML($k).') - '. '<a href="permissions.php?blog_id[]='.$k.'&user_id[]='.$user_id.'">' .__('change permissions').'</a></h4>'; echo '<ul>'; foreach ($v['p'] as $p => $V) { echo '<li>'.__($perm_types[$p]).'</li>'; } echo '</ul>'; } } } echo '<p><a href="permissions_blog.php?user_id[]='.$user_id.'">'. __('Add new permissions').'</a></p>'. '</fieldset>'; } dcPage::close(); ?>
©
2018.