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(); }
/** * 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; }