function execute($par)
 {
     $user = $this->getUser();
     $out = $this->getOutput();
     if (!$user->isAllowed('edituser')) {
         $out->permissionRequired('edituser');
         return false;
     }
     $this->setHeaders();
     $request = $this->getRequest();
     $this->target = isset($par) ? $par : $request->getText('username', '');
     if ($this->target === '') {
         $out->addHtml($this->makeSearchForm());
         return;
     }
     $targetuser = User::NewFromName($this->target);
     if ($targetuser->getID() == 0) {
         $out->addWikiMsg('edituser-nouser', htmlspecialchars($this->target));
         return;
     }
     $this->targetuser = $targetuser;
     #Allow editing self via this interface
     if ($targetuser->isAllowed('edituser-exempt') && $targetuser->getName() != $user->getName()) {
         $out->addWikiMsg('edituser-exempt', $targetuser->getName());
         return;
     }
     $this->setHeaders();
     $this->outputHeader();
     $out->disallowUserJs();
     # Prevent hijacked user scripts from sniffing passwords etc.
     if (wfReadOnly()) {
         $out->readOnlyPage();
         return;
     }
     if ($request->getCheck('reset')) {
         $this->showResetForm();
         return;
     }
     $out->addModules('mediawiki.special.preferences');
     //$this->loadGlobals( $this->target );
     $out->addHtml($this->makeSearchForm() . '<br />');
     #End EditUser additions
     if ($request->getCheck('success')) {
         $out->wrapWikiMsg("<div class=\"successbox\"><strong>\n\$1\n</strong></div><div id=\"mw-pref-clear\"></div>", 'savedprefs');
     }
     if ($request->getCheck('eauth')) {
         $out->wrapWikiMsg("<div class='error' style='clear: both;'>\n\$1\n</div>", 'eauthentsent', $this->target);
     }
     $htmlForm = Preferences::getFormObject($targetuser, $this->getContext(), 'EditUserPreferencesForm', array('password'));
     $htmlForm->setSubmitCallback('Preferences::tryUISubmit');
     $htmlForm->addHiddenField('username', $this->target);
     $htmlForm->show();
 }
Пример #2
0
 /**
  * get user object by userName
  * @param  string $userName
  * @return object user object
  */
 public static function newFromName($userName)
 {
     $cache = self::getUserCache();
     $u = $cache->get(User::IdFromName($userName));
     if ($u) {
         return $u;
     }
     $u = new HuijiUser();
     $u->mUser = User::NewFromName($userName);
     if ($u->mUser == null) {
         return null;
     }
     return $u;
 }