Exemple #1
0
 /**
  * retrieve a user
  *
  * @param int $id ID for the user
  *
  * @return XoopsUser
  */
 public function getUser($id)
 {
     if (!isset($this->_members[$id])) {
         $this->_members[$id] = $this->_uHandler->get($id);
     }
     return $this->_members[$id];
 }
Exemple #2
0
function user_form($edit = false)
{
    global $rmTpl;
    define('RMCSUBLOCATION', 'newuser');
    $query = rmc_server_var($_GET, 'query', '');
    $query = $query == '' ? '' : base64_decode($query);
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    if ($edit) {
        $uid = rmc_server_var($_GET, 'uid', 0);
        if ($uid <= 0) {
            redirectMsg('users.php?' . $query, __('The specified user is not valid!', 'rmcommon'), 1);
        }
        $uh = new XoopsUserHandler($db);
        $user = $uh->get($uid);
        if ($user->isNew()) {
            redirectMsg('users.php?' . $query, __('The specified user does not exists!', 'rmcommon'), 1);
        }
    }
    RMFunctions::create_toolbar();
    RMBreadCrumb::get()->add_crumb(__('Users Management', 'rmcommon'), 'users.php');
    RMBreadCrumb::get()->add_crumb($edit ? __('Edit User', 'rmcommon') : __('Add User', 'rmcommon'));
    $rmTpl->assign('xoops_pagetitle', $edit ? __('Edit User', 'rmcommon') : __('Add User', 'rmcommon'));
    xoops_cp_header();
    $form = new RMForm(__($edit ? 'Editing User' : 'Add new user', 'rmcommon'), 'user_form', 'users.php');
    // Uname
    $form->addElement(new RMFormText(__('Username', 'rmcommon'), 'uname', 50, 50, $edit ? $user->uname() : ''), true);
    $form->element('uname')->setDescription(__("This field also will be the user login name.", 'rmcommon'));
    // Full Name
    $form->addElement(new RMFormText(__('Full name', 'rmcommon'), 'name', 50, 150, $edit ? $user->name() : ''));
    $form->element('name')->setDescription(__("This field must contain firstname and lastname.", 'rmcommon'));
    // Email
    $form->addElement(new RMFormText(__('Email address', 'rmcommon'), 'email', 50, 150, $edit ? $user->email() : ''), true, 'email');
    // Password
    $form->addElement(new RMFormText(__($edit ? 'New password' : 'Password', 'rmcommon'), 'password', 50, 50, '', true), $edit ? false : true);
    $form->element('password')->setDescription(__('The password should be at least eight characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ &', 'rmcommon'));
    $form->addElement(new RMFormText(__('Repeat Password', 'rmcommon'), 'passwordc', 50, 50, '', true), $edit ? false : true);
    $form->element('passwordc')->setDescription(__('Type password again.', 'rmcommon'));
    // Web
    $form->addElement(new RMFormText(__('URL (Blog or personal website)', 'rmcommon'), 'url', 50, 250, $edit ? $user->getVar('url') : ''));
    // Timezone
    $form->addElement(new RMFormTimeZoneField(__('Time zone', 'rmcommon'), 'timezone', 0, 0, $edit ? $user->getVar('timezone_offset') : ''));
    // Groups
    $form->addElement(new RMFormGroups(__('Assign to groups', 'rmcommon'), 'groups', 1, 1, 3, $edit ? $user->groups() : ''));
    // Other options by API
    $form = RMEvents::get()->run_event('rmcommon.user.form', $form, $edit, isset($user) ? $user : null);
    // Action
    $form->addElement(new RMFormHidden('action', $edit ? 'saveedit' : 'save'));
    if ($edit) {
        $form->addElement(new RMFormHidden('uid', $user->uid()));
    }
    // Submit and cancel buttons
    $ele = new RMFormButtonGroup('');
    $ele->addButton('sbt', __($edit ? 'Edit User' : 'Add user', 'rmcommon'), 'submit');
    $ele->addButton('cancel', __('Cancel', 'global'), 'button', 'onclick="history.go(-1);"');
    $form->addElement($ele);
    $form->display();
    xoops_cp_footer();
}