From: <var...@us...> - 2014-12-02 13:30:45
|
Revision: 9402 http://sourceforge.net/p/phpwiki/code/9402 Author: vargenau Date: 2014-12-02 13:30:43 +0000 (Tue, 02 Dec 2014) Log Message: ----------- abstract class _WikiUser Modified Paths: -------------- trunk/lib/WikiUser.php Modified: trunk/lib/WikiUser.php =================================================================== --- trunk/lib/WikiUser.php 2014-12-02 13:07:03 UTC (rev 9401) +++ trunk/lib/WikiUser.php 2014-12-02 13:30:43 UTC (rev 9402) @@ -304,6 +304,11 @@ */ function UpgradeUser($user, $newuser) { + /** + * @var WikiRequest $request + */ + global $request; + if (is_a($user, '_WikiUser') and is_a($newuser, '_WikiUser')) { // populate the upgraded class $newuser with the values from the current user object //only _auth_level, _current_method, _current_index, @@ -333,37 +338,12 @@ } } -/** - * Probably not needed, since we use the various user objects methods so far. - * Anyway, here it is, looping through all available objects. - */ -function UserExists($UserName) -{ - global $request; - if (!($user = $request->getUser())) - $user = WikiUser($UserName); - if (!$user) - return false; - if ($user->userExists($UserName)) { - $request->_user = $user; - return true; - } - if (is_a($user, '_BogoUser')) - $user = new _PassUser($UserName, $user->_prefs); - $class = $user->nextClass(); - if ($user = new $class($UserName, $user->_prefs)) { - return $user->userExists($UserName); - } - $request->_user = $GLOBALS['ForbiddenUser']; - return false; -} - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /** * Base WikiUser class. */ -class _WikiUser +abstract class _WikiUser { public $_userid = ''; public $_level = WIKIAUTH_ANON; @@ -397,34 +377,16 @@ } } - function getPreferences() - { - trigger_error("DEBUG: Note: undefined _WikiUser class trying to load prefs." . " " - . "New subclasses of _WikiUser must override this function."); - return false; - } + abstract function getPreferences(); - function setPreferences($prefs, $id_only) - { - trigger_error("DEBUG: Note: undefined _WikiUser class trying to save prefs." - . " " - . "New subclasses of _WikiUser must override this function."); - return false; - } + abstract function setPreferences($prefs, $id_only); function userExists() { return $this->hasHomePage(); } - function checkPass($submitted_password) - { - // By definition, an undefined user class cannot sign in. - trigger_error("DEBUG: Warning: undefined _WikiUser class trying to sign in." - . " " - . "New subclasses of _WikiUser must override this function."); - return false; - } + abstract function checkPass($submitted_password); // returns page_handle to user's home page or false if none function hasHomePage() @@ -446,7 +408,11 @@ function createHomePage() { + /** + * @var WikiRequest $request + */ global $request; + $versiondata = array('author' => ADMIN_USER); $request->_dbi->save(_("Automatically created user homepage to be able to store UserPreferences.") . "\n{{Template/UserPage}}", @@ -747,6 +713,9 @@ */ function getPreferences() { + /** + * @var WikiRequest $request + */ global $request; if (empty($this->_prefs)) @@ -847,7 +816,11 @@ } if ($updated) { if ($id_only and !headers_sent()) { + /** + * @var WikiRequest $request + */ global $request; + // new 1.3.8 policy: no array cookies, only plain userid string as in // the pre 1.3.x versions. // prefs should be stored besides the session in the homepagehandle or in a db. @@ -951,8 +924,13 @@ * @tables: pref */ { - public $_auth_dbi, $_prefs; - public $_current_method, $_current_index; + public $_auth_dbi; + /** + * @var UserPreferences $_prefs + */ + public $_prefs; + public $_current_method; + public $_current_index; // check and prepare the auth and pref methods only once function _PassUser($UserName = '', $prefs = false) @@ -1059,6 +1037,9 @@ function getAuthDbh() { + /** + * @var WikiRequest $request + */ global $request; $dbh = $request->getDbh(); @@ -1112,7 +1093,11 @@ // help with position independence function prepare($stmt, $variables, $oldstyle = false, $sprintfstyle = true) { + /** + * @var WikiRequest $request + */ global $request; + $dbi = $request->getDbh(); $this->getAuthDbh(); // "'\$userid"' => %s @@ -1212,6 +1197,11 @@ function setPreferences($prefs, $id_only = false) { + /** + * @var WikiRequest $request + */ + global $request; + if (!empty($this->_prefs->_method)) { if ($this->_prefs->_method == 'ADODB') { // FIXME: strange why this should be needed... @@ -1636,6 +1626,11 @@ function update($newvalue) { + /** + * @var WikiRequest $request + */ + global $request; + if (!$this->_init) { // invalidate etag to force fresh output $request->setValidators(array('%mtime' => false)); @@ -1807,6 +1802,11 @@ */ function update($value) { + /** + * @var WikiRequest $request + */ + global $request; + // e-mail address is already checked by FusionForge if (defined('FUSIONFORGE') and FUSIONFORGE) { return; @@ -1958,6 +1958,10 @@ { public $notifyPagesAll; public $_init; + public $_prefs; + public $_select; + public $_method; + public $_update; function __construct($saved_prefs = false) { @@ -2301,8 +2305,6 @@ if (substr($packed, 0, 2) == "a:") { return unserialize($packed); } - //trigger_error("DEBUG: Can't unpack bad UserPreferences", - //E_USER_WARNING); return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |