From d7062149eabc7e56a3da416910b014a4f7470155 Mon Sep 17 00:00:00 2001 From: paul Date: Tue, 14 Nov 2006 18:51:43 +0000 Subject: [PATCH] Started to convert code to PHP5 using public/private/protected/static and __construct() method, got rid of =& when constructing objects. Improved documentation in many places. --- campcaster/src/modules/alib/var/alib.php | 150 ++++++++-------- campcaster/src/modules/alib/var/class.php | 160 ++++++++++-------- .../modules/alib/var/example/alibExPerms.php | 15 +- .../src/modules/alib/var/example/alib_h.php | 2 +- .../src/modules/alib/var/install/install.php | 2 +- .../modules/alib/var/install/uninstall.php | 2 +- campcaster/src/modules/alib/var/m2tree.php | 88 +++++----- .../src/modules/alib/var/m2treeTestRunner.php | 2 +- campcaster/src/modules/alib/var/subj.php | 100 ++++++----- .../src/modules/alib/var/xmlrpc/alib_xr.php | 2 +- 10 files changed, 282 insertions(+), 241 deletions(-) diff --git a/campcaster/src/modules/alib/var/alib.php b/campcaster/src/modules/alib/var/alib.php index f1b97d2db..8237461ab 100644 --- a/campcaster/src/modules/alib/var/alib.php +++ b/campcaster/src/modules/alib/var/alib.php @@ -10,19 +10,33 @@ define('ALIBERR_NOTEXISTS', 31); * * Authentication/authorization class * - * @author $Author$ + * @author Tomas Hlava + * @author Paul Baranowski * @version $Revision$ * @package Campcaster * @subpackage Alib - * @see Subjects - * @see GreenBox + * @copyright 2006 MDLF, Inc. + * @license http://www.gnu.org/licenses/gpl.txt + * @link http://www.campware.org */ -class Alib extends Subjects{ - var $permTable; - var $sessTable; - var $login=NULL; - var $userid=NULL; - var $sessid=NULL; +class Alib extends Subjects { + /** + * The name of a database table. + * + * @var string + */ + public $permTable; + + /** + * The name of a database table. + * + * @var string + */ + public $sessTable; + + //var $login = NULL; + //var $userid = NULL; + public $sessid = NULL; /** * Constructor @@ -30,9 +44,9 @@ class Alib extends Subjects{ * @param DB $dbc * @param array $config */ - function Alib(&$dbc, $config) + public function __construct(&$dbc, $config) { - parent::Subjects($dbc, $config); + parent::__construct($dbc, $config); $this->permTable = $config['tblNamePrefix'].'perms'; $this->sessTable = $config['tblNamePrefix'].'sess'; } // constructor @@ -47,10 +61,9 @@ class Alib extends Subjects{ * * @param string $login * @param string $pass - * @return mixed - * boolean/sessionId/err + * @return boolean|sessionId|PEAR_Error */ - function login($login, $pass) + public function login($login, $pass) { if (FALSE === $this->authenticate($login, $pass)) { $this->setTimeStamp($login, TRUE); @@ -67,9 +80,9 @@ class Alib extends Subjects{ if (PEAR::isError($r)) { return $r; } - $this->login = $login; - $this->userid = $userid; - $this->sessid = $sessid; + //$this->login = $login; + //$this->userid = $userid; + //$this->sessid = $sessid; $this->setTimeStamp($login, FALSE); return $sessid; } // fn login @@ -79,12 +92,12 @@ class Alib extends Subjects{ * Logout and destroy session * * @param string $sessid - * @return true/err + * @return true|PEAR_Error */ - function logout($sessid) + public function logout($sessid) { $ct = $this->checkAuthToken($sessid); - if($ct === FALSE) { + if ($ct === FALSE) { return PEAR::raiseError('Alib::logout: not logged ($ct)', ALIBERR_NOTLOGGED, PEAR_ERROR_RETURN); } elseif (PEAR::isError($ct)) { @@ -96,9 +109,9 @@ class Alib extends Subjects{ if (PEAR::isError($r)) { return $r; } - $this->login = NULL; - $this->userid = NULL; - $this->sessid = NULL; + //$this->login = NULL; + //$this->userid = NULL; + //$this->sessid = NULL; return TRUE; } } // fn logout @@ -108,9 +121,9 @@ class Alib extends Subjects{ * Return true if the token is valid * * @param string $sessid - * @return boolean/err + * @return boolean|PEAR_Error */ - function checkAuthToken($sessid) + private function checkAuthToken($sessid) { $sql = "SELECT count(*) as cnt FROM {$this->sessTable} WHERE sessid='$sessid'"; @@ -123,17 +136,20 @@ class Alib extends Subjects{ * Set valid token in alib object * * @param string $sessid - * @return boolean/err + * @return TRUE|PEAR_Error */ - function setAuthToken($sessid) - { - $r = checkAuthToken($sessid); - if(PEAR::isError($r)) return $r; - if(!$r) - return PEAR::raiseError("ALib::setAuthToken: invalid token ($sessid)"); - $this->sessid = $sessid; - return TRUE; - } // fn setAuthToken +// public function setAuthToken($sessid) +// { +// $r = $this->checkAuthToken($sessid); +// if (PEAR::isError($r)) { +// return $r; +// } +// if (!$r) { +// return PEAR::raiseError("ALib::setAuthToken: invalid token ($sessid)"); +// } +// //$this->sessid = $sessid; +// return TRUE; +// } // fn setAuthToken /* -------------------------------------------------------- authorization */ @@ -150,7 +166,7 @@ class Alib extends Subjects{ * @return int * local permission id */ - function addPerm($sid, $action, $oid, $type='A') + public function addPerm($sid, $action, $oid, $type='A') { $permid = $this->dbc->nextId("{$this->permTable}_id_seq"); $sql = "INSERT INTO {$this->permTable} (permid, subj, action, obj, type) @@ -167,14 +183,14 @@ class Alib extends Subjects{ * Remove permission record * * @param int $permid - * (optional) local permission id + * local permission id * @param int $subj - * (optional) local user/group id + * local user/group id * @param int $obj - * (optional) local object id - * @return boolean/error + * local object id + * @return boolean|PEAR_Error */ - function removePerm($permid=NULL, $subj=NULL, $obj=NULL) + public function removePerm($permid=NULL, $subj=NULL, $obj=NULL) { $ca = array(); if ($permid) { @@ -203,7 +219,7 @@ class Alib extends Subjects{ * @return int * local object id */ - function _getPermOid($permid) + protected function _getPermOid($permid) { $sql = "SELECT obj FROM {$this->permTable} WHERE permid=$permid"; $res = $this->dbc->getOne($sql); @@ -234,7 +250,7 @@ class Alib extends Subjects{ * @return mixed * boolean/err */ - function checkPerm($sid, $action, $oid=NULL) + public function checkPerm($sid, $action, $oid=NULL) { if (!is_numeric($sid)) { return FALSE; @@ -322,10 +338,9 @@ class Alib extends Subjects{ * Remove all permissions on object and then remove object itself * * @param int $id - * @return mixed - * void/error + * @return void|PEAR_Error */ - function removeObj($id) + public function removeObj($id) { $r = $this->removePerm(NULL, NULL, $id); if (PEAR::isError($r)) { @@ -340,10 +355,9 @@ class Alib extends Subjects{ * Remove all permissions of subject and then remove subject itself * * @param string $login - * @return mixed - * void/error + * @return void|PEAR_Error */ - function removeSubj($login) + public function removeSubj($login) { $uid = $this->getSubjId($login); if (PEAR::isError($uid)) { @@ -366,9 +380,9 @@ class Alib extends Subjects{ * Get login from session id (token) * * @param string $sessid - * @return string/error + * @return string|PEAR_Error */ - function getSessLogin($sessid) + public function getSessLogin($sessid) { $sql = "SELECT login FROM {$this->sessTable} WHERE sessid='$sessid'"; $r = $this->dbc->getOne($sql); @@ -388,9 +402,9 @@ class Alib extends Subjects{ * Get user id from session id. * * @param string $sessid - * @return int/error + * @return int|PEAR_Error */ - function getSessUserId($sessid) + public function getSessUserId($sessid) { $sql = "SELECT userid FROM {$this->sessTable} WHERE sessid='$sessid'"; $r = $this->dbc->getOne($sql); @@ -411,9 +425,9 @@ class Alib extends Subjects{ * Get all permissions on object. * * @param int $id - * @return array/null/err + * @return array|null|PEAR_Error */ - function getObjPerms($id) + public function getObjPerms($id) { $sql = "SELECT s.login, p.* FROM {$this->permTable} p, {$this->subjTable} s WHERE s.id=p.subj AND p.obj=$id"; @@ -427,7 +441,7 @@ class Alib extends Subjects{ * @param int $sid * @return array */ - function getSubjPerms($sid) + public function getSubjPerms($sid) { $sql = " SELECT t.name, t.type as otype , p.* @@ -460,7 +474,7 @@ class Alib extends Subjects{ * * @return array */ - function getAllActions() + public function getAllActions() { return $this->config['allActions']; } // fn getAllActions @@ -472,7 +486,7 @@ class Alib extends Subjects{ * @param string $type * @return array */ - function getAllowedActions($type) + public function getAllowedActions($type) { return $this->config['allowedActions'][$type]; } // fn getAllowedActions @@ -485,7 +499,7 @@ class Alib extends Subjects{ * * @return string */ - function _createSessid() + private function _createSessid() { for ($c=1; $c>0;){ $sessid = md5(uniqid(rand())); @@ -511,7 +525,7 @@ class Alib extends Subjects{ * actual indentation * @return string */ - function dumpPerms($indstr=' ', $ind='') + public function dumpPerms($indstr=' ', $ind='') { $arr = $this->dbc->getAll(" SELECT s.login, p.action, p.type @@ -536,7 +550,7 @@ class Alib extends Subjects{ * * @return void */ - function deleteData() + public function deleteData() { $this->dbc->query("DELETE FROM {$this->permTable}"); $this->dbc->query("DELETE FROM {$this->sessTable}"); @@ -549,7 +563,7 @@ class Alib extends Subjects{ * * @return array */ - function testData() + public function testData() { parent::testData(); $t =& $this->tdata['tree']; @@ -585,9 +599,9 @@ class Alib extends Subjects{ /** * Make basic test * - * @return boolean/error + * @return boolean|PEAR_Error */ - function test() + public function test() { if (PEAR::isError($p = parent::test())) { return $p; @@ -646,7 +660,7 @@ class Alib extends Subjects{ * * @return void */ - function install() + public function install() { parent::install(); $this->dbc->query("CREATE TABLE {$this->permTable} ( @@ -680,11 +694,11 @@ class Alib extends Subjects{ /** - * Drop tables etc. + * Drop tables etc. * - * @return void + * @return void */ - function uninstall() + public function uninstall() { $this->dbc->query("DROP TABLE {$this->permTable}"); $this->dbc->dropSequence("{$this->permTable}_id_seq"); diff --git a/campcaster/src/modules/alib/var/class.php b/campcaster/src/modules/alib/var/class.php index ec9f1d9fe..75dd08fb5 100644 --- a/campcaster/src/modules/alib/var/class.php +++ b/campcaster/src/modules/alib/var/class.php @@ -6,27 +6,39 @@ require_once "m2tree.php"; * * A class for 'object classes' handling - i.e. groups of object in tree * - * @author $Author$ + * @author Tomas Hlava + * @author Paul Baranowski * @version $Revision$ * @package Campcaster * @subpackage Alib - * @see Mtree - * @see Subj + * @copyright 2006 MDLF, Inc. + * @license http://www.gnu.org/licenses/gpl.txt + * @link http://www.campware.org */ -class ObjClasses extends M2tree{ - var $classTable; - var $cmembTable; +class ObjClasses extends M2tree { + /** + * The name of the database table ("PREFIXclasses") + * + * @var string + */ + public $classTable; /** - * Constructor + * The name of a database table ("PREFIXcmemb") * - * @param dbc object - * @param config array - * @return this + * @var string */ - function ObjClasses(&$dbc, $config) + public $cmembTable; + + + /** + * @param object $dbc + * @param array $config + * @return this + */ + public function __construct(&$dbc, $config) { - parent::M2Tree($dbc, $config); + parent::__construct($dbc, $config); $this->classTable = $config['tblNamePrefix'].'classes'; $this->cmembTable = $config['tblNamePrefix'].'cmemb'; } @@ -35,12 +47,12 @@ class ObjClasses extends M2tree{ /* ======================================================= public methods */ /** - * Add new class of objects + * Add new class of objects * - * @param cname string - * @return id/error + * @param string $cname + * @return id/error */ - function addClass($cname) + public function addClass($cname) { $id = $this->dbc->nextId("{$this->treeTable}_id_seq"); if (PEAR::isError($id)) { @@ -58,12 +70,12 @@ class ObjClasses extends M2tree{ /** - * Remove class by name + * Remove class by name * - * @param cname string - * @return boolean/err + * @param string $cname + * @return boolean/err */ - function removeClass($cname) + public function removeClass($cname) { $cid = $this->getClassId($cname); if (PEAR::isError($cid)) { @@ -74,12 +86,12 @@ class ObjClasses extends M2tree{ /** - * Remove class by id + * Remove class by id * - * @param cid int - * @return boolean/err + * @param int $cid + * @return boolean/err */ - function removeClassById($cid) + public function removeClassById($cid) { $r = $this->dbc->query("DELETE FROM {$this->cmembTable} WHERE cid=$cid"); @@ -96,13 +108,13 @@ class ObjClasses extends M2tree{ /** - * Add object to class + * Add object to class * - * @param cid int - * @param oid int - * @return boolean/err + * @param int $cid + * @param int $oid + * @return boolean/err */ - function addObj2Class($cid, $oid) + public function addObj2Class($cid, $oid) { $r = $this->dbc->query("INSERT INTO {$this->cmembTable} (cid, objid) VALUES ($cid, $oid)"); @@ -114,13 +126,13 @@ class ObjClasses extends M2tree{ /** - * Remove object from class + * Remove object from class * - * @param oid int - * @param cid int, optional, default: remove obj from all classes - * @return boolean/err + * @param int $oid + * @param int $cid, optional, default: remove obj from all classes + * @return boolean/err */ - function removeObjFromClass($oid, $cid=NULL) + public function removeObjFromClass($oid, $cid=NULL) { $r = $this->dbc->query("DELETE FROM {$this->cmembTable} WHERE objid=$oid".(is_null($cid)? '':" AND cid=$cid")); @@ -134,12 +146,12 @@ class ObjClasses extends M2tree{ /* ---------------------------------------------------------- object tree */ /** - * Remove object from all classes and remove object itself + * Remove object from all classes and remove object itself * - * @param id int - * @return boolean/err + * @param int $id + * @return boolean/err */ - function removeObj($id) + public function removeObj($id) { $r = $this->removeObjFromClass($id); if (PEAR::isError($r)) { @@ -152,12 +164,12 @@ class ObjClasses extends M2tree{ /* --------------------------------------------------------- info methods */ /** - * Get class id from name + * Get class id from name * - * @param cname string - * @return int/err + * @param string $cname + * @return int/err */ - function getClassId($cname) + public function getClassId($cname) { $cname = pg_escape_string($cname); return $this->dbc->getOne($query = "SELECT id FROM {$this->classTable} @@ -166,12 +178,12 @@ class ObjClasses extends M2tree{ /** - * Get class name from id + * Get class name from id * - * @param id int - * @return string/err + * @param int $id + * @return string/err */ - function getClassName($id) + public function getClassName($id) { return $this->dbc->getOne( $query = "SELECT cname FROM {$this->classTable} WHERE id=$id"); @@ -179,12 +191,12 @@ class ObjClasses extends M2tree{ /** - * Return true is object is class + * Return true is object is class * - * @param id int - * @return boolean/err + * @param int $id + * @return boolean/err */ - function isClass($id) + public function isClass($id) { $r = $this->dbc->getOne("SELECT count(*) FROM {$this->classTable} WHERE id=$id"); @@ -196,23 +208,23 @@ class ObjClasses extends M2tree{ /** - * Return all classes + * Return all classes * - * @return array/err + * @return array/err */ - function getClasses() + public function getClasses() { return $this->dbc->getAll("SELECT * FROM {$this->classTable}"); } /** - * Return all objects in class + * Return all objects in class * - * @param id int - * @return array/err + * @param int $id + * @return array/err */ - function listClass($id) + public function listClass($id) { return $this->dbc->getAll(" SELECT t.* FROM {$this->cmembTable} cm, {$this->treeTable} t @@ -223,13 +235,15 @@ class ObjClasses extends M2tree{ /* =============================================== test and debug methods */ /** - * Dump all classes fot debug + * Dump all classes for debug * - * @param indstr string // indentation string - * @param ind string // aktual indentation - * @return string + * @param string $indstr + * indentation string + * @param string $ind + * actual indentation + * @return string */ - function dumpClasses($indstr=' ', $ind='') + public function dumpClasses($indstr=' ', $ind='') { $r = $ind.join(', ', array_map( create_function('$v', 'return "{$v[\'cname\']} ({$v[\'cnt\']})";'), @@ -244,10 +258,10 @@ class ObjClasses extends M2tree{ /** - * Delete all classes and membeship records - * + * Delete all classes and membeship records + * @return void */ - function deleteData() + public function deleteData() { $this->dbc->query("DELETE FROM {$this->cmembTable}"); $this->dbc->query("DELETE FROM {$this->classTable}"); @@ -256,10 +270,10 @@ class ObjClasses extends M2tree{ /** - * Insert test data + * Insert test data * */ - function testData() + public function testData() { parent::testData(); $o['cl_sa'] = $this->addClass('Sections a'); @@ -273,10 +287,10 @@ class ObjClasses extends M2tree{ /** - * Make basic test + * Make basic test * */ - function test() + public function test() { if (PEAR::isError($p = parent::test())) { return $p; @@ -303,10 +317,10 @@ class ObjClasses extends M2tree{ /** - * Create tables + initialize + * Create tables + initialize * */ - function install() + public function install() { parent::install(); $this->dbc->query("CREATE TABLE {$this->classTable} ( @@ -328,10 +342,10 @@ class ObjClasses extends M2tree{ /** - * Drop tables etc. + * Drop tables etc. * */ - function uninstall() + public function uninstall() { $this->dbc->query("DROP TABLE {$this->classTable}"); $this->dbc->query("DROP TABLE {$this->cmembTable}"); diff --git a/campcaster/src/modules/alib/var/example/alibExPerms.php b/campcaster/src/modules/alib/var/example/alibExPerms.php index 7d8c66835..d06ec52e2 100644 --- a/campcaster/src/modules/alib/var/example/alibExPerms.php +++ b/campcaster/src/modules/alib/var/example/alibExPerms.php @@ -1,20 +1,19 @@ getRootNode(); } // prefill data structure for template -if(!$alib->isClass($id)){ +if (!$alib->isClass($id)) { $d = array( 'path' => $alib->getPath($id, 'id,name'), 'perms' => $alib->getObjPerms($id), @@ -23,7 +22,7 @@ if(!$alib->isClass($id)){ 'id' => $id, 'loggedAs' => $login ); -}else{ +} else { $d = array( 'path' => '', 'name' => $alib->getClassName($id), @@ -36,7 +35,7 @@ if(!$alib->isClass($id)){ } $d['msg'] = $_SESSION['alertMsg']; unset($_SESSION['alertMsg']); -require_once "alib_f.php"; +require_once("alib_f.php"); // template follows: ?> diff --git a/campcaster/src/modules/alib/var/example/alib_h.php b/campcaster/src/modules/alib/var/example/alib_h.php index edee803e2..623d54ff9 100644 --- a/campcaster/src/modules/alib/var/example/alib_h.php +++ b/campcaster/src/modules/alib/var/example/alib_h.php @@ -27,5 +27,5 @@ function errCallback($err) $dbc = DB::connect($config['dsn'], TRUE); $dbc->setFetchMode(DB_FETCHMODE_ASSOC); -$alib =& new Alib($dbc, $config); +$alib = new Alib($dbc, $config); ?> \ No newline at end of file diff --git a/campcaster/src/modules/alib/var/install/install.php b/campcaster/src/modules/alib/var/install/install.php index 941c73efc..7982c15fe 100644 --- a/campcaster/src/modules/alib/var/install/install.php +++ b/campcaster/src/modules/alib/var/install/install.php @@ -29,7 +29,7 @@ $dbc->setErrorHandling(PEAR_ERROR_RETURN); #$$dbc->setErrorHandling(PEAR_ERROR_DIE, "%s
\n"); $dbc->setFetchMode(DB_FETCHMODE_ASSOC); -$alib =& new Alib($dbc, $config); +$alib = new Alib($dbc, $config); echo "\n\n======\n". "This is Alib standalone installation script, it is NOT needed to run ". diff --git a/campcaster/src/modules/alib/var/install/uninstall.php b/campcaster/src/modules/alib/var/install/uninstall.php index e1906f487..2b0c55f6a 100644 --- a/campcaster/src/modules/alib/var/install/uninstall.php +++ b/campcaster/src/modules/alib/var/install/uninstall.php @@ -28,7 +28,7 @@ if(PEAR::isError($dbc)){ #PEAR::setErrorHandling(PEAR_ERROR_PRINT, "%s
\n"); $dbc->setErrorHandling(PEAR_ERROR_RETURN); $dbc->setFetchMode(DB_FETCHMODE_ASSOC); -$alib =& new Alib($dbc, $config); +$alib = new Alib($dbc, $config); # $dbc->setErrorHandling(PEAR_ERROR_RETURN); echo "Trying to uninstall all ...\n"; diff --git a/campcaster/src/modules/alib/var/m2tree.php b/campcaster/src/modules/alib/var/m2tree.php index b5b5b9730..a0f2ff689 100644 --- a/campcaster/src/modules/alib/var/m2tree.php +++ b/campcaster/src/modules/alib/var/m2tree.php @@ -22,10 +22,14 @@ define('ALIBERR_MTREE', 10); * ); * * - * @author $Author$ + * @author Tomas Hlava + * @author Paul Baranowski * @version $Revision$ * @package Campcaster * @subpackage Alib + * @copyright 2006 MDLF, Inc. + * @license http://www.gnu.org/licenses/gpl.txt + * @link http://www.campware.org * @see ObjClasses * * Original author Tom Hlava @@ -34,27 +38,27 @@ class M2tree { /** * Database object container */ - var $dbc; + public $dbc; /** * Configuration tree */ - var $config; + public $config; /** * Tree table name */ - var $treeTable; + protected $treeTable; /** * Structure table name */ - var $structTable; + protected $structTable; /** * Root node name */ - var $rootNodeName; + private $rootNodeName; /** * Constructor @@ -62,9 +66,9 @@ class M2tree { * @param DB $dbc * @param array $config */ - function M2tree(&$dbc, $config) + public function __construct(&$dbc, $config) { - $this->dbc =& $dbc; + $this->dbc = $dbc; $this->config = $config; $this->treeTable = $config['tblNamePrefix'].'tree'; $this->structTable = $config['tblNamePrefix'].'struct'; @@ -86,7 +90,7 @@ class M2tree { * @return mixed * int/err - new id of inserted object or PEAR::error */ - function addObj($name, $type, $parid = NULL) + public function addObj($name, $type, $parid = NULL) { if ( ($name == '') || ($type == '') ) { return $this->dbc->raiseError("M2tree::addObj: Wrong name or type", ALIBERR_MTREE); @@ -154,7 +158,7 @@ class M2tree { * @return mixed * boolean/err - TRUE or PEAR::error */ - function removeObj($oid) + public function removeObj($oid) { if ($oid == $this->getRootNode()) { return $this->dbc->raiseError( @@ -202,7 +206,7 @@ class M2tree { * @return mixed * int/err - new id of inserted object or PEAR::error */ - function copyObj($oid, $newParid, $after=NULL) + protected function copyObj($oid, $newParid, $after=NULL) { if (TRUE === ($r = $this->isChildOf($newParid, $oid, TRUE))) { return $this->dbc->raiseError( @@ -264,7 +268,7 @@ class M2tree { * dummy argument for back-compatibility * @return boolean/err */ - function moveObj($oid, $newParid, $after=NULL) + public function moveObj($oid, $newParid, $after=NULL) { if (TRUE === ( $r = $this->isChildOf($newParid, $oid, TRUE) @@ -325,7 +329,7 @@ class M2tree { * new name * @return TRUE/PEAR_Error */ - function renameObj($oid, $newName) + public function renameObj($oid, $newName) { // get parent id: $parid = $this->getParent($oid); @@ -365,7 +369,7 @@ class M2tree { * @return mixed * int/null/err - child id (if found) or null or PEAR::error */ - function getObjId($name, $parId = null) + public function getObjId($name, $parId = null) { if ( ($name == '') && is_null($parId)) { $name = $this->rootNodeName; @@ -394,7 +398,7 @@ class M2tree { * @return mixed * string/err */ - function getObjName($oid, $fld='name') + public function getObjName($oid, $fld='name') { $r = $this->dbc->getOne(" SELECT $fld FROM {$this->treeTable} @@ -410,7 +414,7 @@ class M2tree { * @param int $oid * @return string/err */ - function getObjType($oid) + public function getObjType($oid) { return $this->getObjName($oid, 'type'); } // fn getObjType @@ -422,7 +426,7 @@ class M2tree { * @param int $oid * @return int/err */ - function getParent($oid) + public function getParent($oid) { $r = $this->dbc->getOne(" SELECT parid FROM {$this->structTable} @@ -441,7 +445,7 @@ class M2tree { * flag for include specified object to the path * @return array/err */ - function getPath($oid, $flds='id', $withSelf=TRUE) + public function getPath($oid, $flds='id', $withSelf=TRUE) { $path = $this->dbc->getAll(" SELECT $flds @@ -477,7 +481,7 @@ class M2tree { * fieldname for order by clause * @return array/err */ - function getDir($oid, $flds='id', $order='name') + public function getDir($oid, $flds='id', $order='name') { $r = $this->dbc->getAll(" SELECT $flds @@ -502,7 +506,7 @@ class M2tree { * (if NULL - use root of whole tree) * @return hash-array with field name/value pairs */ - function getObjLevel($oid, $flds='level', $rootId=NULL) + public function getObjLevel($oid, $flds='level', $rootId=NULL) { if (is_null($rootId)) { $rootId = $this->getRootNode(); @@ -533,7 +537,7 @@ class M2tree { * @return mixed * array/err */ - function getSubTree($oid=NULL, $withRoot=FALSE, $rootId=NULL) + public function getSubTree($oid=NULL, $withRoot=FALSE, $rootId=NULL) { if (is_null($oid)) $oid = $this->getRootNode(); if (is_null($rootId)) $rootId = $oid; @@ -575,7 +579,7 @@ class M2tree { * test indirect or only direct relation * @return boolean */ - function isChildOf($oid, $parid, $indirect=FALSE) + public function isChildOf($oid, $parid, $indirect=FALSE) { if (!$indirect) { $paridD = $this->getParent($oid); @@ -603,7 +607,7 @@ class M2tree { * * @return int/err */ - function getRootNode() + public function getRootNode() { return $this->getObjId($this->rootNodeName); } // fn getRootNode @@ -614,7 +618,7 @@ class M2tree { * * @return array/err */ - function getAllObjects() + public function getAllObjects() { return $this->dbc->getAll( "SELECT * FROM {$this->treeTable}" @@ -634,7 +638,7 @@ class M2tree { * @param string $type * @return array */ - function getAllowedChildTypes($type) + public function getAllowedChildTypes($type) { return $this->config['objtypes'][$type]; } // fn getAllowedChildTypes @@ -650,7 +654,7 @@ class M2tree { * object id * @return boolean */ - function _cutSubtree($oid) + private function _cutSubtree($oid) { $lvl = $this->getObjLevel($oid); if ($this->dbc->isError($lvl)) { @@ -684,7 +688,7 @@ class M2tree { * destination object id * @return boolean */ - function _pasteSubtree($oid, $newParid) + private function _pasteSubtree($oid, $newParid) { $dataArr = array(); // build data ($dataArr) for INSERT: @@ -720,7 +724,7 @@ class M2tree { * error object or error message * @return err */ - function _dbRollback($r) + private function _dbRollback($r) { $this->dbc->query("ROLLBACK"); if ($this->dbc->isError($r)) { @@ -747,7 +751,7 @@ class M2tree { * actual indentation * @return string */ - function dumpTree($oid=NULL, $indstr=' ', $ind='', + public function dumpTree($oid=NULL, $indstr=' ', $ind='', $format='{name}({id})', $withRoot=TRUE) { $r=''; @@ -768,7 +772,7 @@ class M2tree { * Create tables + initialize root node * @return err/void */ - function install() + public function install() { $r = $this->dbc->query("BEGIN"); if (PEAR::isError($r)) { @@ -871,7 +875,7 @@ class M2tree { * Drop all tables and sequences. * @return void */ - function uninstall() + public function uninstall() { $this->dbc->query("DROP TABLE {$this->structTable}"); $this->dbc->dropSequence("{$this->structTable}_id_seq"); @@ -884,7 +888,7 @@ class M2tree { * Uninstall and install. * @return void */ - function reinstall() + public function reinstall() { $this->uninstall(); $this->install(); @@ -895,7 +899,7 @@ class M2tree { * Clean up tree - delete all except the root node. * @return err/void */ - function reset() + public function reset() { $rid = $this->getRootNode(); if ($this->dbc->isError($rid)) { @@ -913,27 +917,27 @@ class M2tree { /** - * Insert test data to the tree. - * Only for compatibility with previous mtree - will be removed. + * Insert test data to the tree. + * Only for compatibility with previous mtree - will be removed. * - * @return array + * @return array */ - function test() + public function test() { require_once "m2treeTest.php"; - $mt = &new M2treeTest($this->dbc, $this->config); + $mt = new M2treeTest($this->dbc, $this->config); $r = $mt->_test(); return $r; } // fn test /** - * Insert test data to the tree. - * Only for compatibility with previous mtree - will be removed. + * Insert test data to the tree. + * Only for compatibility with previous mtree - will be removed. * - * @return array + * @return array */ - function testData() + public function testData() { $o['root'] = $this->getRootNode(); $o['pa'] = $this->addObj('Publication A', 'Publication', $o['root']); diff --git a/campcaster/src/modules/alib/var/m2treeTestRunner.php b/campcaster/src/modules/alib/var/m2treeTestRunner.php index b86e8ebb5..bb403ba8d 100644 --- a/campcaster/src/modules/alib/var/m2treeTestRunner.php +++ b/campcaster/src/modules/alib/var/m2treeTestRunner.php @@ -20,7 +20,7 @@ function errCallback($err) $dbc = DB::connect($config['dsn'], TRUE); $dbc->setFetchMode(DB_FETCHMODE_ASSOC); -$m2 = &new M2treeTest($dbc, $config); +$m2 = new M2treeTest($dbc, $config); #$m2->uninstall(); #exit; #$r = $m2->install(); if($dbc->isError($r)){ echo $r->getMessage()."\n".$r->getUserInfo()."\n"; exit; } diff --git a/campcaster/src/modules/alib/var/subj.php b/campcaster/src/modules/alib/var/subj.php index 6dce75e76..5bf68ad49 100644 --- a/campcaster/src/modules/alib/var/subj.php +++ b/campcaster/src/modules/alib/var/subj.php @@ -1,5 +1,5 @@ + * @author Paul Baranowski * @version $Revision$ * @package Campcaster * @subpackage Alib + * @copyright 2006 MDLF, Inc. + * @license http://www.gnu.org/licenses/gpl.txt + * @link http://www.campware.org * @see ObjClasses * @see Alib */ class Subjects extends ObjClasses { - var $subjTable; - var $smembTable; + /** + * The name of the 'Subjects' database table. + * + * @var string + */ + public $subjTable; + + /** + * The name of a database table. + * + * @var string + */ + public $smembTable; + /** * Constructor @@ -28,9 +44,9 @@ class Subjects extends ObjClasses { * @param array $config * @return this */ - function Subjects(&$dbc, $config) + public function __construct(&$dbc, $config) { - parent::ObjClasses($dbc, $config); + parent::__construct($dbc, $config); $this->subjTable = $config['tblNamePrefix'].'subjs'; $this->smembTable = $config['tblNamePrefix'].'smemb'; } // constructor @@ -43,14 +59,12 @@ class Subjects extends ObjClasses { * * @param string $login * @param string $pass - * optional * @param string $realname - * optional * @param boolean $passenc - * optional, password already encrypted if true + * password already encrypted if true * @return int/err */ - function addSubj($login, $pass=NULL, $realname='', $passenc=FALSE) + public function addSubj($login, $pass=NULL, $realname='', $passenc=FALSE) { if(!$login) { return $this->dbc->raiseError(get_class($this)."::addSubj: empty login"); @@ -82,7 +96,7 @@ class Subjects extends ObjClasses { * optional, default: null * @return boolean/err */ - function removeSubj($login, $uid=NULL) + public function removeSubj($login, $uid=NULL) { if (is_null($uid)) { $uid = $this->getSubjId($login); @@ -114,7 +128,7 @@ class Subjects extends ObjClasses { * optional * @return boolean/int/err */ - function authenticate($login, $pass='') + public function authenticate($login, $pass='') { $cpass = md5($pass); $sql = "SELECT id FROM {$this->subjTable} @@ -135,7 +149,7 @@ class Subjects extends ObjClasses { * true=> set lastfail, false=> set lastlogin * @return boolean/int/err */ - function setTimeStamp($login, $failed=FALSE) + public function setTimeStamp($login, $failed=FALSE) { $fld = ($failed ? 'lastfail' : 'lastlogin'); $sql = "UPDATE {$this->subjTable} SET $fld=now() @@ -160,7 +174,7 @@ class Subjects extends ObjClasses { * optional, password already encrypted if true * @return boolean/err */ - function passwd($login, $oldpass=null, $pass='', $passenc=FALSE) + public function passwd($login, $oldpass=null, $pass='', $passenc=FALSE) { if (!$passenc) { $cpass = md5($pass); @@ -193,7 +207,7 @@ class Subjects extends ObjClasses { * @param string $gname * @return int/err */ - function addSubj2Gr($login, $gname) + public function addSubj2Gr($login, $gname) { $uid = $this->getSubjId($login); if (PEAR::isError($uid)) { @@ -238,7 +252,7 @@ class Subjects extends ObjClasses { * @param string $gname * @return boolean/err */ - function removeSubjFromGr($login, $gname) + public function removeSubjFromGr($login, $gname) { $uid = $this->getSubjId($login); if (PEAR::isError($uid)) { @@ -279,7 +293,7 @@ class Subjects extends ObjClasses { * @param string $login * @return int/err */ - function getSubjId($login) + public function getSubjId($login) { $sql = "SELECT id FROM {$this->subjTable} WHERE login='$login'"; @@ -294,7 +308,7 @@ class Subjects extends ObjClasses { * @param string $fld * @return string/err */ - function getSubjName($id, $fld='login') + public function getSubjName($id, $fld='login') { $sql = "SELECT $fld FROM {$this->subjTable} WHERE id='$id'"; @@ -305,10 +319,10 @@ class Subjects extends ObjClasses { /** * Get all subjects * - * @param string $flds, optional + * @param string $flds * @return array/err */ - function getSubjects($flds='id, login') + public function getSubjects($flds='id, login') { $sql = "SELECT $flds FROM {$this->subjTable}"; return $this->dbc->getAll($sql); @@ -320,7 +334,7 @@ class Subjects extends ObjClasses { * * @return array/err */ - function getSubjectsWCnt() + public function getSubjectsWCnt() { $sql = " SELECT count(m.uid)as cnt, s.id, s.login, s.type @@ -339,7 +353,7 @@ class Subjects extends ObjClasses { * @param int $gid * @return boolean/err */ - function isGroup($gid) + public function isGroup($gid) { $sql = "SELECT type FROM {$this->subjTable} WHERE id='$gid'"; @@ -357,7 +371,7 @@ class Subjects extends ObjClasses { * @param int $gid * @return array/err */ - function listGroup($gid) + public function listGroup($gid) { $sql = "SELECT s.id, s.login, s.type FROM {$this->smembTable} m, {$this->subjTable} s @@ -375,7 +389,7 @@ class Subjects extends ObjClasses { * local group id * @return boolean */ - function isMemberOf($uid, $gid) + public function isMemberOf($uid, $gid) { $sql = " SELECT count(*)as cnt @@ -398,12 +412,10 @@ class Subjects extends ObjClasses { * @param int $uid * @param int $gid * @param int $level - * optional * @param int $mid - * optional * @return int/err */ - function _addMemb($uid, $gid, $level=0, $mid='null') + private function _addMemb($uid, $gid, $level=0, $mid='null') { if($uid == $gid) { return PEAR::raiseError("Subjects::_addMemb: uid==gid ($uid)", ALIBERR_BADSMEMB); @@ -447,9 +459,9 @@ class Subjects extends ObjClasses { * Remove membership record * * @param int $mid - * @return null/err + * @return null|PEAR_Error */ - function _removeMemb($mid) + private function _removeMemb($mid) { $sql = "DELETE FROM {$this->smembTable} WHERE id='$mid'"; @@ -462,10 +474,9 @@ class Subjects extends ObjClasses { * * @param int $gid * @param int $uid - * optional - * @return array/err + * @return array|PEAR_Error */ - function _listMemb($gid, $uid=NULL) + private function _listMemb($gid, $uid=NULL) { $sql = " SELECT id, uid, level FROM {$this->smembTable} @@ -479,10 +490,9 @@ class Subjects extends ObjClasses { * * @param int $gid * @param int $uid - * optional * @return array/err */ - function _listRMemb($uid, $gid=NULL) + private function _listRMemb($uid, $gid=NULL) { $sql = " SELECT id, gid, level FROM {$this->smembTable} @@ -497,10 +507,10 @@ class Subjects extends ObjClasses { * @param int $uid * @param int $gid * @param int $level - * @param int $rmid // - * @return int/err + * @param int $rmid + * @return int|PEAR_Error */ - function _plainAddSubj2Gr($uid, $gid, $level=0, $rmid='null') + private function _plainAddSubj2Gr($uid, $gid, $level=0, $rmid='null') { $mid = $this->_addMemb($uid, $gid, $level, $rmid); if (PEAR::isError($mid)) { @@ -526,9 +536,9 @@ class Subjects extends ObjClasses { * Rebuild indirect membership records
* it's probably more complicated to do removing without rebuild ... * - * @return true/err + * @return true|PEAR_Error */ - function _rebuildRels() + private function _rebuildRels() { $this->dbc->query("BEGIN"); $r = $this->dbc->query("LOCK TABLE {$this->smembTable}"); @@ -575,7 +585,7 @@ class Subjects extends ObjClasses { * actual indentation * @return string */ - function dumpSubjects($indstr=' ', $ind='') + public function dumpSubjects($indstr=' ', $ind='') { $r = $ind.join(', ', array_map( create_function('$v', 'return "{$v[\'login\']}({$v[\'cnt\']})";'), @@ -590,7 +600,7 @@ class Subjects extends ObjClasses { * * @return void */ - function deleteData() + public function deleteData() { $this->dbc->query("DELETE FROM {$this->subjTable}"); $this->dbc->query("DELETE FROM {$this->smembTable}"); @@ -603,7 +613,7 @@ class Subjects extends ObjClasses { * * @return array */ - function testData() + public function testData() { parent::testData(); $o['root'] = $this->addSubj('root', 'q'); @@ -631,7 +641,7 @@ class Subjects extends ObjClasses { * Make basic test * */ - function test() + public function test() { if (PEAR::isError($p = parent::test())) { return $p; @@ -665,7 +675,7 @@ class Subjects extends ObjClasses { * Create tables + initialize * */ - function install() + public function install() { parent::install(); $this->dbc->query("CREATE TABLE {$this->subjTable} ( @@ -701,7 +711,7 @@ class Subjects extends ObjClasses { * * @return void */ - function uninstall() + public function uninstall() { $this->dbc->query("DROP TABLE {$this->subjTable}"); $this->dbc->dropSequence("{$this->subjTable}_id_seq"); diff --git a/campcaster/src/modules/alib/var/xmlrpc/alib_xr.php b/campcaster/src/modules/alib/var/xmlrpc/alib_xr.php index 711600ea1..1fee1f3f9 100644 --- a/campcaster/src/modules/alib/var/xmlrpc/alib_xr.php +++ b/campcaster/src/modules/alib/var/xmlrpc/alib_xr.php @@ -87,7 +87,7 @@ class XR_Alib extends Alib{ } } -$alib = &new XR_Alib($dbc, $config); +$alib = new XR_Alib($dbc, $config); $s=new xmlrpc_server( array( "alib.xrTest" => array(