ALIB: Made it easier to debug the SQL statements, removed the install/uninstall code.
This commit is contained in:
parent
6276fbbe22
commit
7d4a03d26d
|
@ -18,21 +18,6 @@ define('ALIBERR_NOTEXISTS', 31);
|
|||
* @link http://www.campware.org
|
||||
*/
|
||||
class Alib {
|
||||
//class Alib extends Subjects {
|
||||
//public $sessid = NULL;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param DB $dbc
|
||||
* @param array $config
|
||||
*/
|
||||
// public function __construct(&$dbc, $config)
|
||||
// {
|
||||
// parent::__construct($dbc, $config);
|
||||
// } // constructor
|
||||
|
||||
|
||||
/* ======================================================= public methods */
|
||||
|
||||
/* ----------------------------------------------- session/authentication */
|
||||
|
@ -56,8 +41,8 @@ class Alib {
|
|||
return $sessid;
|
||||
}
|
||||
$userid = Subjects::GetSubjId($login);
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['sessTable']." (sessid, userid, login, ts)
|
||||
VALUES('$sessid', '$userid', '$login', now())";
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['sessTable']." (sessid, userid, login, ts)"
|
||||
." VALUES('$sessid', '$userid', '$login', now())";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -83,8 +68,8 @@ class Alib {
|
|||
} elseif (PEAR::isError($ct)) {
|
||||
return $ct;
|
||||
} else {
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['sessTable']."
|
||||
WHERE sessid='$sessid'";
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['sessTable']
|
||||
." WHERE sessid='$sessid'";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -103,8 +88,8 @@ class Alib {
|
|||
private static function CheckAuthToken($sessid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "SELECT count(*) as cnt FROM ".$CC_CONFIG['sessTable']."
|
||||
WHERE sessid='$sessid'";
|
||||
$sql = "SELECT count(*) as cnt FROM ".$CC_CONFIG['sessTable']
|
||||
." WHERE sessid='$sessid'";
|
||||
$c = $CC_DBC->getOne($sql);
|
||||
return ($c == 1 ? TRUE : (PEAR::isError($c) ? $c : FALSE ));
|
||||
} //fn checkAuthToken
|
||||
|
@ -148,8 +133,8 @@ class Alib {
|
|||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$permid = $CC_DBC->nextId($CC_CONFIG['permTable']."_id_seq");
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['permTable']." (permid, subj, action, obj, type)
|
||||
VALUES ($permid, $sid, '$action', $oid, '$type')";
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['permTable']." (permid, subj, action, obj, type)"
|
||||
." VALUES ($permid, $sid, '$action', $oid, '$type')";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return($r);
|
||||
|
@ -414,8 +399,8 @@ class Alib {
|
|||
public static function GetObjPerms($id)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "SELECT s.login, p.* FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['subjTable']." s
|
||||
WHERE s.id=p.subj AND p.obj=$id";
|
||||
$sql = "SELECT s.login, p.* FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['subjTable']." s"
|
||||
." WHERE s.id=p.subj AND p.obj=$id";
|
||||
return $CC_DBC->getAll($sql);
|
||||
} // fn GetObjPerms
|
||||
|
||||
|
@ -429,18 +414,16 @@ class Alib {
|
|||
public static function GetSubjPerms($sid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "
|
||||
SELECT t.name, t.type as otype , p.*
|
||||
FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['treeTable']." t
|
||||
WHERE t.id=p.obj AND p.subj=$sid";
|
||||
$sql = "SELECT t.name, t.type as otype , p.*"
|
||||
." FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['treeTable']." t"
|
||||
." WHERE t.id=p.obj AND p.subj=$sid";
|
||||
$a1 = $CC_DBC->getAll($sql);
|
||||
if (PEAR::isError($a1)) {
|
||||
return $a1;
|
||||
}
|
||||
$sql2 = "
|
||||
SELECT c.cname as name, 'C'as otype, p.*
|
||||
FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['classTable']." c
|
||||
WHERE c.id=p.obj AND p.subj=$sid";
|
||||
$sql2 = "SELECT c.cname as name, 'C'as otype, p.*"
|
||||
." FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['classTable']." c"
|
||||
." WHERE c.id=p.obj AND p.subj=$sid";
|
||||
$a2 = $CC_DBC->getAll($sql2);
|
||||
if (PEAR::isError($a2)) {
|
||||
return $a2;
|
||||
|
@ -492,8 +475,8 @@ class Alib {
|
|||
global $CC_CONFIG, $CC_DBC;
|
||||
for ($c = 1; $c > 0; ){
|
||||
$sessid = md5(uniqid(rand()));
|
||||
$sql = "SELECT count(*) FROM ".$CC_CONFIG['sessTable']."
|
||||
WHERE sessid='$sessid'";
|
||||
$sql = "SELECT count(*) FROM ".$CC_CONFIG['sessTable']
|
||||
." WHERE sessid='$sessid'";
|
||||
$c = $CC_DBC->getOne($sql);
|
||||
if (PEAR::isError($c)) {
|
||||
return $c;
|
||||
|
@ -517,12 +500,11 @@ class Alib {
|
|||
public static function DumpPerms($indstr=' ', $ind='')
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$arr = $CC_DBC->getAll("
|
||||
SELECT s.login, p.action, p.type
|
||||
FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['subjTable']." s
|
||||
WHERE s.id=p.subj
|
||||
ORDER BY p.permid
|
||||
");
|
||||
$sql = "SELECT s.login, p.action, p.type"
|
||||
." FROM ".$CC_CONFIG['permTable']." p, ".$CC_CONFIG['subjTable']." s"
|
||||
." WHERE s.id=p.subj"
|
||||
." ORDER BY p.permid";
|
||||
$arr = $CC_DBC->getAll($sql);
|
||||
if (PEAR::isError($arr)) {
|
||||
return $arr;
|
||||
}
|
||||
|
@ -649,58 +631,5 @@ class Alib {
|
|||
}
|
||||
} // fn test
|
||||
|
||||
|
||||
/**
|
||||
* Create tables + initialize
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
// public function install()
|
||||
// {
|
||||
// parent::install();
|
||||
// $CC_DBC->query("CREATE TABLE {$this->permTable} (
|
||||
// permid int not null PRIMARY KEY,
|
||||
// subj int REFERENCES {$this->subjTable} ON DELETE CASCADE,
|
||||
// action varchar(20),
|
||||
// obj int,
|
||||
// type char(1)
|
||||
// )");
|
||||
// $CC_DBC->query("CREATE UNIQUE INDEX {$this->permTable}_permid_idx
|
||||
// ON {$this->permTable} (permid)");
|
||||
// $CC_DBC->query("CREATE INDEX {$this->permTable}_subj_obj_idx
|
||||
// ON {$this->permTable} (subj, obj)");
|
||||
// $CC_DBC->query("CREATE UNIQUE INDEX {$this->permTable}_all_idx
|
||||
// ON {$this->permTable} (subj, action, obj)");
|
||||
// $CC_DBC->createSequence("{$this->permTable}_id_seq");
|
||||
//
|
||||
// $CC_DBC->query("CREATE TABLE {$this->sessTable} (
|
||||
// sessid char(32) not null PRIMARY KEY,
|
||||
// userid int REFERENCES {$this->subjTable} ON DELETE CASCADE,
|
||||
// login varchar(255),
|
||||
// ts timestamp
|
||||
// )");
|
||||
// $CC_DBC->query("CREATE UNIQUE INDEX {$this->sessTable}_sessid_idx
|
||||
// ON {$this->sessTable} (sessid)");
|
||||
// $CC_DBC->query("CREATE INDEX {$this->sessTable}_userid_idx
|
||||
// ON {$this->sessTable} (userid)");
|
||||
// $CC_DBC->query("CREATE INDEX {$this->sessTable}_login_idx
|
||||
// ON {$this->sessTable} (login)");
|
||||
// } // fn install
|
||||
|
||||
|
||||
/**
|
||||
* Drop tables etc.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
// public function uninstall()
|
||||
// {
|
||||
// global $CC_CONFIG, $CC_DBC;
|
||||
// $CC_DBC->query("DROP TABLE ".$CC_CONFIG['permTable']);
|
||||
// $CC_DBC->dropSequence($CC_CONFIG['permTable']."_id_seq");
|
||||
// $CC_DBC->query("DROP TABLE ".$CC_CONFIG['sessTable']);
|
||||
// parent::uninstall();
|
||||
// } // fn uninstall
|
||||
|
||||
} // class Alib
|
||||
?>
|
|
@ -74,10 +74,8 @@ class M2tree {
|
|||
}
|
||||
$escapedName = pg_escape_string($p_name);
|
||||
$escapedType = pg_escape_string($p_type);
|
||||
$r = $CC_DBC->query("
|
||||
INSERT INTO ".$CC_CONFIG['treeTable']." (id, name, type)
|
||||
VALUES ($oid, '$escapedName', '$escapedType')
|
||||
");
|
||||
$r = $CC_DBC->query("INSERT INTO ".$CC_CONFIG['treeTable']." (id, name, type)"
|
||||
." VALUES ($oid, '$escapedName', '$escapedType')");
|
||||
if (PEAR::isError($r)) {
|
||||
return M2tree::_dbRollback($r);
|
||||
}
|
||||
|
@ -334,11 +332,10 @@ class M2tree {
|
|||
$escapedName = pg_escape_string($name);
|
||||
$parcond = (is_null($parId) ? "parid is null" :
|
||||
"parid='$parId' AND level=1");
|
||||
$r = $CC_DBC->getOne("
|
||||
SELECT id FROM ".$CC_CONFIG['treeTable']." t
|
||||
LEFT JOIN ".$CC_CONFIG['structTable']." s ON id=objid
|
||||
WHERE name='$escapedName' AND $parcond"
|
||||
);
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['treeTable']." t"
|
||||
." LEFT JOIN ".$CC_CONFIG['structTable']." s ON id=objid"
|
||||
." WHERE name='$escapedName' AND $parcond";
|
||||
$r = $CC_DBC->getOne($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
@ -398,8 +395,8 @@ class M2tree {
|
|||
global $CC_DBC;
|
||||
$r = 0;
|
||||
if (is_numeric($p_oid)) {
|
||||
$sql = "SELECT parid FROM ".$CC_CONFIG['structTable']."
|
||||
WHERE objid=$p_oid AND level=1";
|
||||
$sql = "SELECT parid FROM ".$CC_CONFIG['structTable']
|
||||
." WHERE objid=$p_oid AND level=1";
|
||||
$r = $CC_DBC->getOne($sql);
|
||||
}
|
||||
return $r;
|
||||
|
@ -419,21 +416,19 @@ class M2tree {
|
|||
{
|
||||
global $CC_CONFIG;
|
||||
global $CC_DBC;
|
||||
$path = $CC_DBC->getAll("
|
||||
SELECT $flds
|
||||
FROM ".$CC_CONFIG['treeTable']."
|
||||
LEFT JOIN ".$CC_CONFIG['structTable']." s ON id=parid
|
||||
WHERE objid=$oid
|
||||
ORDER BY coalesce(level, 0) DESC
|
||||
");
|
||||
$sql = "SELECT $flds"
|
||||
." FROM ".$CC_CONFIG['treeTable']
|
||||
." LEFT JOIN ".$CC_CONFIG['structTable']." s ON id=parid"
|
||||
." WHERE objid=$oid"
|
||||
." ORDER BY coalesce(level, 0) DESC";
|
||||
$path = $CC_DBC->getAll($sql);
|
||||
if (PEAR::isError($path)) {
|
||||
return $path;
|
||||
}
|
||||
if ($withSelf) {
|
||||
$r = $CC_DBC->getRow("
|
||||
SELECT $flds FROM ".$CC_CONFIG['treeTable']."
|
||||
WHERE id=$oid
|
||||
");
|
||||
$sql = "SELECT $flds FROM ".$CC_CONFIG['treeTable']
|
||||
." WHERE id=$oid";
|
||||
$r = $CC_DBC->getRow($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
@ -457,13 +452,12 @@ class M2tree {
|
|||
{
|
||||
global $CC_CONFIG;
|
||||
global $CC_DBC;
|
||||
$r = $CC_DBC->getAll("
|
||||
SELECT $flds
|
||||
FROM ".$CC_CONFIG['treeTable']."
|
||||
INNER JOIN ".$CC_CONFIG['structTable']." ON id=objid AND level=1
|
||||
WHERE parid=$oid
|
||||
ORDER BY $order
|
||||
");
|
||||
$sql = "SELECT $flds"
|
||||
." FROM ".$CC_CONFIG['treeTable']
|
||||
." INNER JOIN ".$CC_CONFIG['structTable']." ON id=objid AND level=1"
|
||||
." WHERE parid=$oid"
|
||||
." ORDER BY $order";
|
||||
$r = $CC_DBC->getAll($sql);
|
||||
return $r;
|
||||
} // fn getDir
|
||||
|
||||
|
@ -487,12 +481,11 @@ class M2tree {
|
|||
if (is_null($rootId)) {
|
||||
$rootId = M2tree::GetRootNode();
|
||||
}
|
||||
$re = $CC_DBC->getRow("
|
||||
SELECT $flds
|
||||
FROM ".$CC_CONFIG['treeTable']."
|
||||
LEFT JOIN ".$CC_CONFIG['structTable']." s ON id=objid AND parid=$rootId
|
||||
WHERE id=$oid
|
||||
");
|
||||
$sql = "SELECT $flds"
|
||||
." FROM ".$CC_CONFIG['treeTable']
|
||||
." LEFT JOIN ".$CC_CONFIG['structTable']." s ON id=objid AND parid=$rootId"
|
||||
." WHERE id=$oid";
|
||||
$re = $CC_DBC->getRow($sql);
|
||||
if (PEAR::isError($re)) {
|
||||
return $re;
|
||||
}
|
||||
|
@ -643,16 +636,14 @@ class M2tree {
|
|||
}
|
||||
$lvl = $lvl['level'];
|
||||
// release downside structure
|
||||
$r = $CC_DBC->query("
|
||||
DELETE FROM ".$CC_CONFIG['structTable']."
|
||||
WHERE rid IN (
|
||||
SELECT s3.rid FROM ".$CC_CONFIG['structTable']." s1
|
||||
INNER JOIN ".$CC_CONFIG['structTable']." s2 ON s1.objid=s2.objid
|
||||
INNER JOIN ".$CC_CONFIG['structTable']." s3 ON s3.objid=s1.objid
|
||||
WHERE (s1.parid=$oid OR s1.objid=$oid)
|
||||
AND s2.parid=1 AND s3.level>(s2.level-$lvl)
|
||||
)
|
||||
");
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['structTable']
|
||||
." WHERE rid IN ("
|
||||
." SELECT s3.rid FROM ".$CC_CONFIG['structTable']." s1"
|
||||
." INNER JOIN ".$CC_CONFIG['structTable']." s2 ON s1.objid=s2.objid"
|
||||
." INNER JOIN ".$CC_CONFIG['structTable']." s3 ON s3.objid=s1.objid"
|
||||
." WHERE (s1.parid=$oid OR s1.objid=$oid)"
|
||||
." AND s2.parid=1 AND s3.level>(s2.level-$lvl) )";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
@ -752,135 +743,6 @@ class M2tree {
|
|||
} // fn dumpTree
|
||||
|
||||
|
||||
/**
|
||||
* Create tables + initialize root node
|
||||
* @return err/void
|
||||
*/
|
||||
// public function install()
|
||||
// {
|
||||
// $r = $CC_DBC->query("BEGIN");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("CREATE TABLE {$this->treeTable} (
|
||||
// id int not null PRIMARY KEY,
|
||||
// name varchar(255) not null default'',
|
||||
// -- parid int,
|
||||
// type varchar(255) not null default'',
|
||||
// param varchar(255)
|
||||
// )");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->createSequence("{$this->treeTable}_id_seq");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("CREATE UNIQUE INDEX {$this->treeTable}_id_idx
|
||||
// ON {$this->treeTable} (id)");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("CREATE INDEX {$this->treeTable}_name_idx
|
||||
// ON {$this->treeTable} (name)");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
//
|
||||
// $r = $CC_DBC->query("CREATE TABLE {$this->structTable} (
|
||||
// rid int not null PRIMARY KEY,
|
||||
// objid int not null REFERENCES {$this->treeTable} ON DELETE CASCADE,
|
||||
// parid int not null REFERENCES {$this->treeTable} ON DELETE CASCADE,
|
||||
// level int
|
||||
// )");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->createSequence("{$this->structTable}_id_seq");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("CREATE UNIQUE INDEX {$this->structTable}_rid_idx
|
||||
// ON {$this->structTable} (rid)");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("CREATE INDEX {$this->structTable}_objid_idx
|
||||
// ON {$this->structTable} (objid)");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("CREATE INDEX {$this->structTable}_parid_idx
|
||||
// ON {$this->structTable} (parid)");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("CREATE INDEX {$this->structTable}_level_idx
|
||||
// ON {$this->structTable} (level)");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("
|
||||
// CREATE UNIQUE INDEX {$this->structTable}_objid_level_idx
|
||||
// ON {$this->structTable} (objid, level)
|
||||
// ");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("
|
||||
// CREATE UNIQUE INDEX {$this->structTable}_objid_parid_idx
|
||||
// ON {$this->structTable} (objid, parid)
|
||||
// ");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
//
|
||||
// $oid = $CC_DBC->nextId("{$this->treeTable}_id_seq");
|
||||
// if (PEAR::isError($oid)) {
|
||||
// return $oid;
|
||||
// }
|
||||
// $r = $CC_DBC->query("
|
||||
// INSERT INTO {$this->treeTable}
|
||||
// (id, name, type)
|
||||
// VALUES
|
||||
// ($oid, '{$this->rootNodeName}', 'RootNode')
|
||||
// ");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// $r = $CC_DBC->query("COMMIT");
|
||||
// if (PEAR::isError($r)) {
|
||||
// return $r;
|
||||
// }
|
||||
// } // fn install
|
||||
|
||||
|
||||
/**
|
||||
* Drop all tables and sequences.
|
||||
* @return void
|
||||
*/
|
||||
// public function uninstall()
|
||||
// {
|
||||
// global $CC_DBC;
|
||||
// global $CC_CONFIG;
|
||||
// $CC_DBC->query("DROP TABLE ".$CC_CONFIG['structTable']);
|
||||
// $CC_DBC->dropSequence($CC_CONFIG['structTable']."_id_seq");
|
||||
// $CC_DBC->query("DROP TABLE ".$CC_CONFIG['treeTable']);
|
||||
// $CC_DBC->dropSequence($CC_CONFIG['treeTable']."_id_seq");
|
||||
// } // fn uninstall
|
||||
|
||||
|
||||
/**
|
||||
* Uninstall and install.
|
||||
* @return void
|
||||
*/
|
||||
// public function reinstall()
|
||||
// {
|
||||
// $this->uninstall();
|
||||
// $this->install();
|
||||
// } // fn reinstall
|
||||
|
||||
|
||||
/**
|
||||
* Clean up tree - delete all except the root node.
|
||||
* @return void|PEAR_Error
|
||||
|
|
|
@ -18,17 +18,6 @@ require_once("M2tree.php");
|
|||
class ObjClasses {
|
||||
//class ObjClasses extends M2tree {
|
||||
|
||||
/**
|
||||
* @param object $dbc
|
||||
* @param array $config
|
||||
* @return this
|
||||
*/
|
||||
// public function __construct(&$dbc, $config)
|
||||
// {
|
||||
// parent::__construct($dbc, $config);
|
||||
// }
|
||||
|
||||
|
||||
/* ======================================================= public methods */
|
||||
|
||||
/**
|
||||
|
@ -79,14 +68,16 @@ class ObjClasses {
|
|||
*/
|
||||
public static function RemoveClassById($cid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$r = $CC_DBC->query("DELETE FROM ".$CC_CONFIG['cmembTable']."
|
||||
WHERE cid=$cid");
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['cmembTable']
|
||||
." WHERE cid=$cid";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
$r = $CC_DBC->query("DELETE FROM ".$CC_CONFIG['classTable']."
|
||||
WHERE id=$cid");
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['classTable']
|
||||
." WHERE id=$cid";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
@ -104,8 +95,9 @@ class ObjClasses {
|
|||
public static function AddObjectToClass($cid, $oid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$r = $CC_DBC->query("INSERT INTO ".$CC_CONFIG['cmembTable']." (cid, objid)
|
||||
VALUES ($cid, $oid)");
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['cmembTable']." (cid, objid)"
|
||||
." VALUES ($cid, $oid)";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
@ -123,8 +115,9 @@ class ObjClasses {
|
|||
public static function RemoveObjectFromClass($oid, $cid=NULL)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$r = $CC_DBC->query("DELETE FROM ".$CC_CONFIG['cmembTable']."
|
||||
WHERE objid=$oid".(is_null($cid)? '':" AND cid=$cid"));
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['cmembTable']
|
||||
." WHERE objid=$oid".(is_null($cid)? '':" AND cid=$cid");
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
@ -162,8 +155,9 @@ class ObjClasses {
|
|||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$cname = pg_escape_string($cname);
|
||||
return $CC_DBC->getOne($query = "SELECT id FROM ".$CC_CONFIG['classTable']."
|
||||
WHERE cname='$cname'");
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['classTable']
|
||||
." WHERE cname='$cname'";
|
||||
return $CC_DBC->getOne($sql);
|
||||
}
|
||||
|
||||
|
||||
|
@ -175,7 +169,7 @@ class ObjClasses {
|
|||
*/
|
||||
public static function GetClassName($id)
|
||||
{
|
||||
global $CC_DBC, $CC_CONFIG;
|
||||
global $CC_DBC, $CC_CONFIG;
|
||||
$sql = "SELECT cname FROM ".$CC_CONFIG['classTable']." WHERE id=$id";
|
||||
return $CC_DBC->getOne($sql);
|
||||
}
|
||||
|
@ -190,8 +184,9 @@ class ObjClasses {
|
|||
public static function IsClass($id)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$r = $CC_DBC->getOne("SELECT count(*) FROM ".$CC_CONFIG['classTable']."
|
||||
WHERE id=$id");
|
||||
$sql = "SELECT count(*) FROM ".$CC_CONFIG['classTable']
|
||||
." WHERE id=$id";
|
||||
$r = $CC_DBC->getOne($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
@ -219,10 +214,10 @@ class ObjClasses {
|
|||
*/
|
||||
public static function ListClass($id)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
return $CC_DBC->getAll("
|
||||
SELECT t.* FROM ".$CC_CONFIG['cmembTable']." cm, ".$CC_CONFIG['treeTable']." t
|
||||
WHERE cm.cid=$id AND cm.objid=t.id");
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "SELECT t.* FROM ".$CC_CONFIG['cmembTable']." cm, ".$CC_CONFIG['treeTable']." t"
|
||||
." WHERE cm.cid=$id AND cm.objid=t.id";
|
||||
return $CC_DBC->getAll($sql);
|
||||
}
|
||||
|
||||
|
||||
|
@ -240,13 +235,12 @@ class ObjClasses {
|
|||
public static function DumpClasses($indstr=' ', $ind='')
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "SELECT cname, count(cm.objid)as cnt FROM ".$CC_CONFIG['classTable']." c"
|
||||
." LEFT JOIN ".$CC_CONFIG['cmembTable']." cm ON c.id=cm.cid"
|
||||
." GROUP BY cname, c.id ORDER BY c.id";
|
||||
$r = $ind.join(', ', array_map(
|
||||
create_function('$v', 'return "{$v[\'cname\']} ({$v[\'cnt\']})";'),
|
||||
$CC_DBC->getAll("
|
||||
SELECT cname, count(cm.objid)as cnt FROM ".$CC_CONFIG['classTable']." c
|
||||
LEFT JOIN ".$CC_CONFIG['cmembTable']." cm ON c.id=cm.cid
|
||||
GROUP BY cname, c.id ORDER BY c.id
|
||||
")
|
||||
$CC_DBC->getAll($sql)
|
||||
))."\n";
|
||||
return $r;
|
||||
}
|
||||
|
@ -304,7 +298,7 @@ class ObjClasses {
|
|||
$test_dump .= ObjClasses::DumpClasses();
|
||||
ObjClasses::DeleteData();
|
||||
if ($test_dump == $test_correct) {
|
||||
$test_log .= "class: OK\n";
|
||||
$test_log .= "class: OK\n";
|
||||
return TRUE;
|
||||
} else {
|
||||
return PEAR::raiseError(
|
||||
|
@ -314,42 +308,5 @@ class ObjClasses {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create tables + initialize
|
||||
*
|
||||
*/
|
||||
// public function install()
|
||||
// {
|
||||
// parent::install();
|
||||
// $CC_DBC->query("CREATE TABLE {$this->classTable} (
|
||||
// id int not null PRIMARY KEY,
|
||||
// cname varchar(20)
|
||||
// )");
|
||||
// $CC_DBC->query("CREATE UNIQUE INDEX {$this->classTable}_id_idx
|
||||
// ON {$this->classTable} (id)");
|
||||
// $CC_DBC->query("CREATE UNIQUE INDEX {$this->classTable}_cname_idx
|
||||
// ON {$this->classTable} (cname)");
|
||||
//
|
||||
// $CC_DBC->query("CREATE TABLE {$this->cmembTable} (
|
||||
// objid int not null,
|
||||
// cid int not null
|
||||
// )");
|
||||
// $CC_DBC->query("CREATE UNIQUE INDEX {$this->cmembTable}_idx
|
||||
// ON {$this->cmembTable} (objid, cid)");
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
* Drop tables etc.
|
||||
*
|
||||
*/
|
||||
// public static function Uninstall()
|
||||
// {
|
||||
// global $CC_CONFIG, $CC_DBC;
|
||||
// $CC_DBC->query("DROP TABLE ".$CC_CONFIG['classTable']);
|
||||
// $CC_DBC->query("DROP TABLE ".$CC_CONFIG['cmembTable']);
|
||||
// parent::uninstall();
|
||||
// }
|
||||
} // class ObjClasses
|
||||
?>
|
|
@ -49,8 +49,8 @@ class Subjects {
|
|||
if (!is_null($p_pass) && !$p_passenc) {
|
||||
$p_pass = md5($p_pass);
|
||||
}
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['subjTable']." (id, login, pass, type, realname)
|
||||
VALUES ($id, '$p_login', ".
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['subjTable']." (id, login, pass, type, realname)"
|
||||
." VALUES ($id, '$p_login', ".
|
||||
(is_null($p_pass) ? "'!', 'G'" : "'$p_pass', 'U'").",
|
||||
'$p_realname')";
|
||||
$r = $CC_DBC->query($sql);
|
||||
|
@ -58,7 +58,7 @@ class Subjects {
|
|||
return $r;
|
||||
}
|
||||
return $id;
|
||||
} // fn addSubj
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
@ -77,14 +77,14 @@ class Subjects {
|
|||
if (PEAR::isError($uid)) {
|
||||
return $uid;
|
||||
}
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE (uid='$uid' OR gid='$uid') AND mid is null";
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE (uid='$uid' OR gid='$uid') AND mid is null";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
$sql2 = "DELETE FROM ".$CC_CONFIG['subjTable']."
|
||||
WHERE login='$login'";
|
||||
$sql2 = "DELETE FROM ".$CC_CONFIG['subjTable']
|
||||
." WHERE login='$login'";
|
||||
$r = $CC_DBC->query($sql2);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -105,8 +105,8 @@ class Subjects {
|
|||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$cpass = md5($pass);
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['subjTable']."
|
||||
WHERE login='$login' AND pass='$cpass' AND type='U'";
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['subjTable']
|
||||
." WHERE login='$login' AND pass='$cpass' AND type='U'";
|
||||
$id = $CC_DBC->getOne($sql);
|
||||
if (PEAR::isError($id)) {
|
||||
return $id;
|
||||
|
@ -127,8 +127,8 @@ class Subjects {
|
|||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$fld = ($failed ? 'lastfail' : 'lastlogin');
|
||||
$sql = "UPDATE ".$CC_CONFIG['subjTable']." SET $fld=now()
|
||||
WHERE login='$login'";
|
||||
$sql = "UPDATE ".$CC_CONFIG['subjTable']." SET $fld=now()"
|
||||
." WHERE login='$login'";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -163,8 +163,8 @@ class Subjects {
|
|||
} else {
|
||||
$oldpCond = '';
|
||||
}
|
||||
$sql = "UPDATE ".$CC_CONFIG['subjTable']." SET pass='$cpass'
|
||||
WHERE login='$login' $oldpCond AND type='U'";
|
||||
$sql = "UPDATE ".$CC_CONFIG['subjTable']." SET pass='$cpass'"
|
||||
." WHERE login='$login' $oldpCond AND type='U'";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -239,8 +239,8 @@ class Subjects {
|
|||
if (PEAR::isError($gid)) {
|
||||
return $gid;
|
||||
}
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE uid='$uid' AND gid='$gid' AND mid is null";
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE uid='$uid' AND gid='$gid' AND mid is null";
|
||||
$mid = $CC_DBC->getOne($sql);
|
||||
if (is_null($mid)) {
|
||||
return FALSE;
|
||||
|
@ -274,8 +274,8 @@ class Subjects {
|
|||
{
|
||||
global $CC_CONFIG;
|
||||
global $CC_DBC;
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['subjTable']."
|
||||
WHERE login='$login'";
|
||||
$sql = "SELECT id FROM ".$CC_CONFIG['subjTable']
|
||||
." WHERE login='$login'";
|
||||
return $CC_DBC->getOne($sql);
|
||||
} // fn getSubjId
|
||||
|
||||
|
@ -291,8 +291,8 @@ class Subjects {
|
|||
{
|
||||
global $CC_CONFIG;
|
||||
global $CC_DBC;
|
||||
$sql = "SELECT $fld FROM ".$CC_CONFIG['subjTable']."
|
||||
WHERE id='$id'";
|
||||
$sql = "SELECT $fld FROM ".$CC_CONFIG['subjTable']
|
||||
." WHERE id='$id'";
|
||||
return $CC_DBC->getOne($sql);
|
||||
} // fn getSubjName
|
||||
|
||||
|
@ -319,13 +319,12 @@ class Subjects {
|
|||
public static function GetSubjectsWCnt()
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "
|
||||
SELECT count(m.uid)as cnt, s.id, s.login, s.type
|
||||
FROM ".$CC_CONFIG['subjTable']." s
|
||||
LEFT JOIN ".$CC_CONFIG['smembTable']." m ON m.gid=s.id
|
||||
WHERE m.mid is null
|
||||
GROUP BY s.id, s.login, s.type
|
||||
ORDER BY s.id";
|
||||
$sql = "SELECT count(m.uid)as cnt, s.id, s.login, s.type"
|
||||
." FROM ".$CC_CONFIG['subjTable']." s"
|
||||
." LEFT JOIN ".$CC_CONFIG['smembTable']." m ON m.gid=s.id"
|
||||
." WHERE m.mid is null"
|
||||
." GROUP BY s.id, s.login, s.type"
|
||||
." ORDER BY s.id";
|
||||
return $CC_DBC->getAll($sql);
|
||||
} // fn getSubjectsWCnt
|
||||
|
||||
|
@ -339,8 +338,8 @@ class Subjects {
|
|||
public static function IsGroup($gid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "SELECT type FROM ".$CC_CONFIG['subjTable']."
|
||||
WHERE id='$gid'";
|
||||
$sql = "SELECT type FROM ".$CC_CONFIG['subjTable']
|
||||
." WHERE id='$gid'";
|
||||
$r = $CC_DBC->getOne($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -358,9 +357,9 @@ class Subjects {
|
|||
public static function ListGroup($gid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "SELECT s.id, s.login, s.type
|
||||
FROM ".$CC_CONFIG['smembTable']." m, ".$CC_CONFIG['subjTable']." s
|
||||
WHERE m.uid=s.id AND m.mid is null AND m.gid='$gid'";
|
||||
$sql = "SELECT s.id, s.login, s.type"
|
||||
." FROM ".$CC_CONFIG['smembTable']." m, ".$CC_CONFIG['subjTable']." s"
|
||||
." WHERE m.uid=s.id AND m.mid is null AND m.gid='$gid'";
|
||||
return $CC_DBC->getAll($sql);
|
||||
} // fn listGroup
|
||||
|
||||
|
@ -377,11 +376,9 @@ class Subjects {
|
|||
public static function IsMemberOf($uid, $gid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "
|
||||
SELECT count(*)as cnt
|
||||
FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE uid='$uid' AND gid='$gid'
|
||||
";
|
||||
$sql = "SELECT count(*)as cnt"
|
||||
." FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE uid='$uid' AND gid='$gid'";
|
||||
$res = $CC_DBC->getOne($sql);
|
||||
if (PEAR::isError($res)) {
|
||||
return $res;
|
||||
|
@ -407,8 +404,8 @@ class Subjects {
|
|||
if ($uid == $gid) {
|
||||
return PEAR::raiseError("Subjects::_addMemb: uid==gid ($uid)", ALIBERR_BADSMEMB);
|
||||
}
|
||||
$sql = "SELECT id, level, mid FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE uid='$uid' AND gid='$gid' ORDER BY level ASC";
|
||||
$sql = "SELECT id, level, mid FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE uid='$uid' AND gid='$gid' ORDER BY level ASC";
|
||||
$a = $CC_DBC->getAll($sql);
|
||||
if (PEAR::isError($a)) {
|
||||
return $a;
|
||||
|
@ -417,8 +414,8 @@ class Subjects {
|
|||
$a0 = $a[0];
|
||||
$id = $a0['id'];
|
||||
if ($level < intval($a0['level'])){
|
||||
$sql2 = "UPDATE ".$CC_CONFIG['smembTable']."
|
||||
SET level='$level', mid=$mid WHERE id='{$a0['id']}'";
|
||||
$sql2 = "UPDATE ".$CC_CONFIG['smembTable']
|
||||
." SET level='$level', mid=$mid WHERE id='{$a0['id']}'";
|
||||
$r = $CC_DBC->query($sql2);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -429,10 +426,8 @@ class Subjects {
|
|||
if (PEAR::isError($id)) {
|
||||
return $id;
|
||||
}
|
||||
$sql3 = "
|
||||
INSERT INTO ".$CC_CONFIG['smembTable']." (id, uid, gid, level, mid)
|
||||
VALUES ($id, $uid, $gid, $level, $mid)
|
||||
";
|
||||
$sql3 = "INSERT INTO ".$CC_CONFIG['smembTable']." (id, uid, gid, level, mid)"
|
||||
." VALUES ($id, $uid, $gid, $level, $mid)";
|
||||
$r = $CC_DBC->query($sql3);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
|
@ -451,8 +446,8 @@ class Subjects {
|
|||
private static function _removeMemb($mid)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE id='$mid'";
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE id='$mid'";
|
||||
return $CC_DBC->query($sql);
|
||||
} // fn _removeMemb
|
||||
|
||||
|
@ -467,9 +462,8 @@ class Subjects {
|
|||
private static function _listMemb($gid, $uid=NULL)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "
|
||||
SELECT id, uid, level FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE gid='$gid'".(is_null($uid) ? '' : " AND uid='$uid'");
|
||||
$sql = "SELECT id, uid, level FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE gid='$gid'".(is_null($uid) ? '' : " AND uid='$uid'");
|
||||
return $CC_DBC->getAll($sql);
|
||||
} // fn _listMemb
|
||||
|
||||
|
@ -484,9 +478,8 @@ class Subjects {
|
|||
private static function _listRMemb($uid, $gid=NULL)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
$sql = "
|
||||
SELECT id, gid, level FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE uid='$uid'".(is_null($gid) ? '' : " AND gid='$gid'");
|
||||
$sql = "SELECT id, gid, level FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE uid='$uid'".(is_null($gid) ? '' : " AND gid='$gid'");
|
||||
return $CC_DBC->getAll($sql);
|
||||
} // fn listRMemb
|
||||
|
||||
|
@ -536,8 +529,9 @@ class Subjects {
|
|||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
$r = $CC_DBC->query("DELETE FROM ".$CC_CONFIG['smembTable']."
|
||||
WHERE mid is not null");
|
||||
$sql = "DELETE FROM ".$CC_CONFIG['smembTable']
|
||||
." WHERE mid is not null";
|
||||
$r = $CC_DBC->query($sql);
|
||||
if (PEAR::isError($r)) {
|
||||
return $r;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue