diff --git a/ktapi/KTAPIDocument.inc.php b/ktapi/KTAPIDocument.inc.php index e1aace8..a0ba1cd 100644 --- a/ktapi/KTAPIDocument.inc.php +++ b/ktapi/KTAPIDocument.inc.php @@ -45,7 +45,7 @@ class KTAPI_Document extends KTAPI_FolderItem $document = &Document::get($documentid); if (is_null($document) || PEAR::isError($document)) { - return new PEAR_Error(KTAPI_ERROR_DOCUMENT_INVALID); + return new KTAPI_Error(KTAPI_ERROR_DOCUMENT_INVALID,$document ); } $user = $ktapi->can_user_access_object_requiring_permission($document, KTAPI_PERMISSION_READ); @@ -135,7 +135,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$result); } DBUtil::commit(); @@ -182,7 +182,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (($res === false) || PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res); } $oDocumentTransaction = & new DocumentTransaction($this->document, $reason, 'ktcore.transactions.force_checkin'); @@ -190,7 +190,7 @@ class KTAPI_Document extends KTAPI_FolderItem $res = $oDocumentTransaction->create(); if (($res === false) || PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res); } DBUtil::commit(); } @@ -219,7 +219,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $res); } DBUtil::commit(); @@ -249,7 +249,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $res); } DBUtil::commit(); @@ -274,7 +274,7 @@ class KTAPI_Document extends KTAPI_FolderItem $user = &User::getByUserName($newusername); if (is_null($user) || PEAR::isError($user)) { - return new PEAR_Error('User could not be found'); + return new KTAPI_Error('User could not be found',$user); } $newuserid = $user->getId(); @@ -286,14 +286,14 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR ,$res ); } $res = KTPermissionUtil::updatePermissionLookup($this->document); if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res ); } $oDocumentTransaction = & new DocumentTransaction($this->document, $reason, 'ktcore.transactions.permissions_change'); @@ -301,7 +301,7 @@ class KTAPI_Document extends KTAPI_FolderItem $res = $oDocumentTransaction->create(); if (($res === false) || PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res ); } DBUtil::commit(); @@ -376,7 +376,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($new_document)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$new_document ); } $new_document->setName($name); @@ -387,7 +387,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res ); } DBUtil::commit(); @@ -487,7 +487,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $res ); } $this->document->setName($name); @@ -498,7 +498,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res ); } DBUtil::commit(); @@ -523,7 +523,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res ); } DBUtil::commit(); } @@ -553,7 +553,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR,$res ); } DBUtil::commit(); } @@ -583,7 +583,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $res); } DBUtil::commit(); } @@ -610,7 +610,7 @@ class KTAPI_Document extends KTAPI_FolderItem $res = $this->document->update(); if (($res === false) || PEAR::isError($res)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $res); } $oDocumentTransaction = & new DocumentTransaction($this->document, sprintf(_kt('Document archived: %s'), $reason), 'ktcore.transactions.update'); @@ -656,7 +656,7 @@ class KTAPI_Document extends KTAPI_FolderItem $workflow = KTWorkflow::getByName($workflow); if (is_null($workflow) || PEAR::isError($workflow)) { - return new PEAR_Error(KTAPI_ERROR_WORKFLOW_INVALID); + return new KTAPI_Error(KTAPI_ERROR_WORKFLOW_INVALID, $workflow); } DBUtil::startTransaction(); @@ -664,7 +664,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (is_null($result) || PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_WORKFLOW_INVALID); + return new KTAPI_Error(KTAPI_ERROR_WORKFLOW_INVALID, $result); } DBUtil::commit(); } @@ -693,7 +693,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (is_null($result) || PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_WORKFLOW_INVALID); + return new KTAPI_Error(KTAPI_ERROR_WORKFLOW_INVALID,$result); } DBUtil::commit(); } @@ -722,7 +722,7 @@ class KTAPI_Document extends KTAPI_FolderItem $transition = &KTWorkflowTransition::getByName($transition); if (is_null($transition) || PEAR::isError($transition)) { - return new PEAR_Error(KTAPI_ERROR_WORKFLOW_INVALID); + return new KTAPI_Error(KTAPI_ERROR_WORKFLOW_INVALID, $transition); } DBUtil::startTransaction(); @@ -730,7 +730,7 @@ class KTAPI_Document extends KTAPI_FolderItem if (is_null($result) || PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_WORKFLOW_INVALID); + return new KTAPI_Error(KTAPI_ERROR_WORKFLOW_INVALID, $transition); } DBUtil::commit(); } @@ -850,12 +850,12 @@ class KTAPI_Document extends KTAPI_FolderItem if (is_null($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR); } if (PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(sprintf(_kt("Unexpected validation failure: %s."), $result->getMessage())); + return new KTAPI_Error(sprintf(_kt("Unexpected validation failure: %s."), $result->getMessage())); } DBUtil::commit(); } @@ -886,7 +886,7 @@ class KTAPI_Document extends KTAPI_FolderItem $transitions = KTWorkflowUtil::getTransitionsForDocumentUser($this->document, $user); if (is_null($transitions) || PEAR::isError($transitions)) { - return new PEAR_Error(KTAPI_ERROR_WORKFLOW_INVALID); + return new KTAPI_Error(KTAPI_ERROR_WORKFLOW_INVALID, $transitions); } foreach($transitions as $transition) { @@ -1065,7 +1065,7 @@ class KTAPI_Document extends KTAPI_FolderItem $transactions = DBUtil::getResultArray(array($sQuery, $aParams)); if (is_null($transactions) || PEAR::isError($transactions)) { - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $transactions ); } return $transactions; diff --git a/ktapi/KTAPIFolder.inc.php b/ktapi/KTAPIFolder.inc.php index f5b4ae0..86c9777 100644 --- a/ktapi/KTAPIFolder.inc.php +++ b/ktapi/KTAPIFolder.inc.php @@ -38,7 +38,7 @@ class KTAPI_Folder extends KTAPI_FolderItem $folder = &Folder::get($folderid); if (is_null($folder) || PEAR::isError($folder)) { - return new PEAR_Error(KTAPI_ERROR_FOLDER_INVALID); + return new KTAPI_Error(KTAPI_ERROR_FOLDER_INVALID,$folder); } $user = $ktapi->can_user_access_object_requiring_permission($folder, KTAPI_PERMISSION_READ); @@ -144,7 +144,7 @@ class KTAPI_Folder extends KTAPI_FolderItem $row = DBUtil::getOneResult($sql); if (is_null($row) || PEAR::isError($row)) { - return new PEAR_Error(KTAPI_ERROR_FOLDER_INVALID); + return new KTAPI_Error(KTAPI_ERROR_FOLDER_INVALID,$row); } $folderid = $row['id']; } @@ -187,7 +187,7 @@ class KTAPI_Folder extends KTAPI_FolderItem if (is_null($ktapi_folder) || PEAR::isError($ktapi_folder)) { - return new PEAR_Error(KTAPI_ERROR_FOLDER_INVALID); + return new KTAPI_Error(KTAPI_ERROR_FOLDER_INVALID, $ktapi_folder); } //$folder = $ktapi_folder->get_folder(); @@ -196,7 +196,7 @@ class KTAPI_Folder extends KTAPI_FolderItem $document = Document::$function($documentname, $folderid); if (is_null($document) || PEAR::isError($document)) { - return new PEAR_Error(KTAPI_ERROR_DOCUMENT_INVALID); + return new KTAPI_Error(KTAPI_ERROR_DOCUMENT_INVALID, $document); } $user = $this->can_user_access_object_requiring_permission($document, KTAPI_PERMISSION_READ); @@ -245,7 +245,7 @@ class KTAPI_Folder extends KTAPI_FolderItem $descriptors=KTPermissionUtil::getPermissionDescriptorsForUser($user); if (is_null($descriptors) || PEAR::isError($descriptors)) { - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR . ': problem with descriptors for user'); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR . ': problem with descriptors for user', $descriptors); } if (count($descriptors == 0)) { @@ -328,7 +328,7 @@ class KTAPI_Folder extends KTAPI_FolderItem $contents = DBUtil::getResultArray($sql); if (is_null($contents) || PEAR::isError($contents)) { - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR , $contents); } $num_items = count($contents); @@ -397,7 +397,7 @@ class KTAPI_Folder extends KTAPI_FolderItem if (!is_a($document,'Document')) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR . ' : ' . $document->getMessage()); } DBUtil::commit(); @@ -434,7 +434,7 @@ class KTAPI_Folder extends KTAPI_FolderItem if (PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $result); } DBUtil::commit(); $folderid = $result->getId(); @@ -466,7 +466,7 @@ class KTAPI_Folder extends KTAPI_FolderItem if (PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $result); } DBUtil::commit(); } @@ -490,7 +490,7 @@ class KTAPI_Folder extends KTAPI_FolderItem if (PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $result); } DBUtil::commit(); } @@ -522,7 +522,7 @@ class KTAPI_Folder extends KTAPI_FolderItem if (PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $result); } DBUtil::commit(); } @@ -555,7 +555,7 @@ class KTAPI_Folder extends KTAPI_FolderItem if (PEAR::isError($result)) { DBUtil::rollback(); - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $result); } DBUtil::commit(); } diff --git a/ktapi/KTAPISession.inc.php b/ktapi/KTAPISession.inc.php index d6172d6..1163fe5 100644 --- a/ktapi/KTAPISession.inc.php +++ b/ktapi/KTAPISession.inc.php @@ -141,9 +141,7 @@ class KTAPI_UserSession extends KTAPI_Session * @param User $user */ function _check_session(&$user) - { - session_start(); - + { $user_id = $user->getId(); $sql = "SELECT count(*) >= u.max_sessions as over_limit FROM active_sessions ass INNER JOIN users u ON ass.user_id=u.id WHERE ass.user_id = $user_id"; @@ -199,7 +197,7 @@ class KTAPI_UserSession extends KTAPI_Session $user =& User::getByUsername($username); if (PEAR::isError($user) || ($user === false)) { - return new PEAR_Error(_kt("The user '$username' cound not be found.")); + return new KTAPI_Error(_kt("The user '$username' cound not be found."),$user); } if ( empty($password) ) @@ -211,7 +209,7 @@ class KTAPI_UserSession extends KTAPI_Session if (PEAR::isError($authenticated) || $authenticated === false) { - return new PEAR_Error(_kt("The password is invalid.")); + return new KTAPI_Error(_kt("The password is invalid."),$authenticated); } if (is_null($ip)) @@ -250,7 +248,7 @@ class KTAPI_UserSession extends KTAPI_Session $row = DBUtil::getOneResult($sql); if (is_null($row) || PEAR::isError($row)) { - return new PEAR_Error(KTAPI_ERROR_SESSION_INVALID); + return new KTAPI_Error(KTAPI_ERROR_SESSION_INVALID, $row); } $sessionid = $row['id']; @@ -259,7 +257,7 @@ class KTAPI_UserSession extends KTAPI_Session $user = &User::get($userid); if (is_null($user) || PEAR::isError($user)) { - return new PEAR_Error(KTAPI_ERROR_USER_INVALID); + return new KTAPI_Error(KTAPI_ERROR_USER_INVALID, $user); } @@ -300,7 +298,7 @@ class KTAPI_AnonymousSession extends KTAPI_UserSession $user =& User::get(-2); if (is_null($user) || PEAR::isError($user) || ($user === false) || !$user->isAnonymous()) { - return new PEAR_Error(_kt("The anonymous user could not be found.")); + return new KTAPI_Error(_kt("The anonymous user could not be found."), $user); } $authenticated = true; diff --git a/ktapi/ktapi.inc.php b/ktapi/ktapi.inc.php index 2628a02..842a4e5 100644 --- a/ktapi/ktapi.inc.php +++ b/ktapi/ktapi.inc.php @@ -30,6 +30,7 @@ * */ +session_start(); require_once('../config/dmsDefaults.php'); require_once(KT_LIB_DIR . '/filelike/fsfilelike.inc.php'); require_once(KT_LIB_DIR . '/foldermanagement/folderutil.inc.php'); @@ -38,7 +39,7 @@ require_once('KTAPIConstants.inc.php'); require_once('KTAPISession.inc.php'); require_once('KTAPIFolder.inc.php'); require_once('KTAPIDocument.inc.php'); - + class KTAPI_FolderItem { /** @@ -55,6 +56,21 @@ class KTAPI_FolderItem } } +class KTAPI_Error extends PEAR_Error +{ + function KTAPI_Error($msg, $obj) + { + if (PEAR::isError($obj)) + { + parent::PEAR_Error($msg . ' - ' . $obj->getMessage()); + } + else + { + parent::PEAR_Error($msg); + } + } +} + class KTAPI { /** @@ -319,7 +335,7 @@ class KTAPI $rows = DBUtil::getResultArray($sql); if (is_null($rows) || PEAR::isError($rows)) { - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $rows); } $result = array(); @@ -344,7 +360,7 @@ class KTAPI $rows = DBUtil::getResultArray($sql); if (is_null($rows) || PEAR::isError($rows)) { - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $rows); } return $rows; } @@ -363,7 +379,7 @@ class KTAPI $rows = DBUtil::getResultArray($sql); if (is_null($rows) || PEAR::isError($rows)) { - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $rows); } $results=array(); foreach($rows as $row) @@ -429,7 +445,7 @@ class KTAPI $rows=DBUtil::getResultArray($sql); if (is_null($rows) || PEAR::isError($rows)) { - return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR); + return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR, $rows); } $results=array(); foreach($rows as $row)