Commit 2e773b596cdc028b4d53b0cf0a72cebe642fd559

Authored by conradverm
1 parent c2cd46b3

KTS-1694

"SOAP Webservice Implementation"
Updated. Initial modifications to cater for passing by reference under PHP4.

Reviewed By: Kevin Fourie

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@6472 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 85 additions and 110 deletions
ktapi/ktapi.inc.php
... ... @@ -75,15 +75,15 @@ class KTAPI_Session
75 75 var $sessionid = -1;
76 76 var $ip = null;
77 77  
78   - function KTAPI_Session($ktapi, $user, $session, $sessionid, $ip)
  78 + function KTAPI_Session(&$ktapi, &$user, $session, $sessionid, $ip)
79 79 {
80 80 assert(!is_null($ktapi));
81 81 assert(is_a($ktapi,'KTAPI'));
82 82 assert(!is_null($user));
83 83 assert(is_a($user,'User'));
84 84  
85   - $this->ktapi = $ktapi;
86   - $this->user = $user;
  85 + $this->ktapi = &$ktapi;
  86 + $this->user = &$user;
87 87 $this->session = $session;
88 88 $this->sessionid = $sessionid;
89 89 $this->ip = $ip;
... ... @@ -116,9 +116,9 @@ class KTAPI_Session
116 116 /**
117 117 * This returns a user object for the use rassociated with the session.
118 118 *
119   - * @return KTAPI_User
  119 + * @return User
120 120 */
121   - function get_user()
  121 + function &get_user()
122 122 {
123 123 return $this->user;
124 124 }
... ... @@ -161,7 +161,7 @@ class KTAPI_Session
161 161 * @param string $password
162 162 * @return KTAPI_Session
163 163 */
164   - function start_session($ktapi, $username, $password, $ip=null)
  164 + function &start_session(&$ktapi, $username, $password, $ip=null)
165 165 {
166 166  
167 167 if ( empty($username) )
... ... @@ -179,7 +179,7 @@ class KTAPI_Session
179 179 {
180 180 $authenticated = true;
181 181  
182   - $config = KTConfig::getSingleton();
  182 + $config = &KTConfig::getSingleton();
183 183 $allow_anonymous = $config->get('session/allowAnonymousLogin', false);
184 184  
185 185 if (!$allow_anonymous)
... ... @@ -245,7 +245,7 @@ class KTAPI_Session
245 245 return $sessionid;
246 246 }
247 247  
248   - $session = new KTAPI_Session($ktapi, $user, $session, $sessionid, $ip);
  248 + $session = &new KTAPI_Session($ktapi, $user, $session, $sessionid, $ip);
249 249  
250 250 return $session;
251 251 }
... ... @@ -256,9 +256,9 @@ class KTAPI_Session
256 256 * @param KTAPI $ktapi
257 257 * @param string $session
258 258 * @param string $ip
259   - * @return unknown
  259 + * @return KTAPI_Session
260 260 */
261   - function get_active_session($ktapi, $session, $ip)
  261 + function &get_active_session(&$ktapi, $session, $ip)
262 262 {
263 263 $sql = "SELECT id, user_id FROM active_sessions WHERE session_id='$session'";
264 264 if (!empty($ip))
... ... @@ -275,7 +275,7 @@ class KTAPI_Session
275 275 $sessionid = $row['id'];
276 276 $userid = $row['user_id'];
277 277  
278   - $user = User::get($userid);
  278 + $user = &User::get($userid);
279 279 if (is_null($user) || PEAR::isError($user))
280 280 {
281 281 return new PEAR_Error(KTAPI_ERROR_USER_INVALID);
... ... @@ -287,7 +287,7 @@ class KTAPI_Session
287 287 $sql = "UPDATE active_sessions SET last_used='$now' WHERE id=$sessionid";
288 288 DBUtil::runQuery($sql);
289 289  
290   - $session = new KTAPI_Session($ktapi, $user, $session, $sessionid, $ip);
  290 + $session = &new KTAPI_Session($ktapi, $user, $session, $sessionid, $ip);
291 291 return $session;
292 292 }
293 293  
... ... @@ -322,11 +322,9 @@ class KTAPI_FolderItem
322 322 */
323 323 var $ktapi;
324 324  
325   - function can_user_access_object_requiring_permission($object, $permission)
326   - {
327   - $user = $this->ktapi->can_user_access_object_requiring_permission($object, $permission);
328   -
329   - return $user;
  325 + function &can_user_access_object_requiring_permission(&$object, &$permission)
  326 + {
  327 + return $this->ktapi->can_user_access_object_requiring_permission($object, $permission);
330 328 }
331 329 }
332 330  
... ... @@ -357,7 +355,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
357 355 * @param int $folderid
358 356 * @return KTAPI_Folder
359 357 */
360   - function get($ktapi, $folderid)
  358 + function &get(&$ktapi, $folderid)
361 359 {
362 360 assert(!is_null($ktapi));
363 361 assert(is_a($ktapi, 'KTAPI'));
... ... @@ -365,7 +363,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
365 363  
366 364 $folderid += 0;
367 365  
368   - $folder = Folder::get($folderid);
  366 + $folder = &Folder::get($folderid);
369 367 if (is_null($folder) || PEAR::isError($folder))
370 368 {
371 369 return new PEAR_Error(KTAPI_ERROR_FOLDER_INVALID);
... ... @@ -389,10 +387,10 @@ class KTAPI_Folder extends KTAPI_FolderItem
389 387 * @param Folder $folder
390 388 * @return KTAPI_Folder
391 389 */
392   - function KTAPI_Folder($ktapi, $folder)
  390 + function KTAPI_Folder(&$ktapi, &$folder)
393 391 {
394   - $this->ktapi = $ktapi;
395   - $this->folder = $folder;
  392 + $this->ktapi = &$ktapi;
  393 + $this->folder = &$folder;
396 394 $this->folderid = $folder->getId();
397 395 }
398 396  
... ... @@ -402,7 +400,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
402 400 * @access protected
403 401 * @return Folder
404 402 */
405   - function get_folder()
  403 + function &get_folder()
406 404 {
407 405 return $this->folder;
408 406 }
... ... @@ -453,7 +451,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
453 451 * @param string $foldername
454 452 * @return KTAPI_Folder
455 453 */
456   - function get_folder_by_name($foldername)
  454 + function &get_folder_by_name($foldername)
457 455 {
458 456 $foldername=trim($foldername);
459 457 if (empty($foldername))
... ... @@ -482,8 +480,6 @@ class KTAPI_Folder extends KTAPI_FolderItem
482 480 {
483 481 $path = $this->folder->getFullPath() . '/' . $this->folder->getName();
484 482  
485   -// $path = substr($path,11);
486   -
487 483 return $path;
488 484 }
489 485  
... ... @@ -495,7 +491,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
495 491 * @param string $function
496 492 * @return KTAPI_Document
497 493 */
498   - function _get_document_by_name($documentname, $function='getByNameAndFolder')
  494 + function &_get_document_by_name($documentname, $function='getByNameAndFolder')
499 495 {
500 496 $documentname=trim($documentname);
501 497 if (empty($documentname))
... ... @@ -532,10 +528,8 @@ class KTAPI_Folder extends KTAPI_FolderItem
532 528 {
533 529 return $user;
534 530 }
535   -
536   - $document = new KTAPI_Document($this->ktapi, $ktapi_folder, $document);
537   -
538   - return $document;
  531 +
  532 + return new KTAPI_Document($this->ktapi, $ktapi_folder, $document);
539 533 }
540 534  
541 535 /**
... ... @@ -545,7 +539,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
545 539 * @param string $documentname
546 540 * @return KTAPI_Document
547 541 */
548   - function get_document_by_name($documentname)
  542 + function &get_document_by_name($documentname)
549 543 {
550 544 return $this->_get_document_by_name($documentname,'getByNameAndFolder');
551 545 }
... ... @@ -557,7 +551,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
557 551 * @param string $documentname
558 552 * @return KTAPI_Document
559 553 */
560   - function get_document_by_filename($documentname)
  554 + function &get_document_by_filename($documentname)
561 555 {
562 556 return $this->_get_document_by_name($documentname,'getByFilenameAndFolder');
563 557 }
... ... @@ -568,7 +562,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
568 562 {
569 563 return array();
570 564 }
571   - $permission = KTPermission::getByName(KTAPI_PERMISSION_READ);
  565 + $permission = &KTPermission::getByName(KTAPI_PERMISSION_READ);
572 566 $permissionid= $permission->getId();
573 567  
574 568 $user = $this->ktapi->get_user();
... ... @@ -651,22 +645,23 @@ class KTAPI_Folder extends KTAPI_FolderItem
651 645 return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR);
652 646 }
653 647  
654   - foreach($contents as & $item)
  648 + $num_items = count($contents);
  649 + for($i=0;$i<$num_items;$i++)
655 650 {
656   - if ($item['item_type'] == 'D')
  651 + if ($contents[$i]['item_type'] == 'D')
657 652 {
658   - $item['items'] = array();
  653 + $contents[$i]['items'] = array();
659 654 }
660 655 else
661 656 {
662 657 if ($depth-1 > 0)
663 658 {
664   - $folder = $this->ktapi->get_folder_by_id($item['id']);
665   - $item['items'] = $folder->get_listing($depth-1);
  659 + $folder = &$this->ktapi->get_folder_by_id($item['id']);
  660 + $contents[$i]['items'] = $folder->get_listing($depth-1);
666 661 }
667 662 else
668 663 {
669   - $item['items'] = array();
  664 + $contents[$i]['items'] = array();
670 665 }
671 666 }
672 667 }
... ... @@ -684,7 +679,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
684 679 * @param string $tempfilename This is a reference to the file that is accessible locally on the file system.
685 680 * @return KTAPI_Document
686 681 */
687   - function add_document($title, $filename, $documenttype, $tempfilename)
  682 + function &add_document($title, $filename, $documenttype, $tempfilename)
688 683 {
689 684 if (!is_file($tempfilename))
690 685 {
... ... @@ -726,11 +721,8 @@ class KTAPI_Folder extends KTAPI_FolderItem
726 721 {
727 722 return $result;
728 723 }
729   -
730   -
731   - $ktapi_document = new KTAPI_Document($this->ktapi, $this, $document);
732 724  
733   - return $ktapi_document;
  725 + return new KTAPI_Document($this->ktapi, $this, $document);
734 726 }
735 727  
736 728 /**
... ... @@ -740,7 +732,7 @@ class KTAPI_Folder extends KTAPI_FolderItem
740 732 * @param string $foldername
741 733 * @return KTAPI_Folder
742 734 */
743   - function add_folder($foldername)
  735 + function &add_folder($foldername)
744 736 {
745 737 $user = $this->can_user_access_object_requiring_permission($this->folder, KTAPI_PERMISSION_ADD_FOLDER);
746 738  
... ... @@ -751,7 +743,6 @@ class KTAPI_Folder extends KTAPI_FolderItem
751 743  
752 744 DBUtil::startTransaction();
753 745 $result = KTFolderUtil::add($this->folder, $foldername, $user);
754   -
755 746  
756 747 if (PEAR::isError($result))
757 748 {
... ... @@ -760,10 +751,8 @@ class KTAPI_Folder extends KTAPI_FolderItem
760 751 }
761 752 DBUtil::commit();
762 753 $folderid = $result->getId();
763   -
764   - $ktapi_folder = $this->ktapi->get_folder_by_id($folderid);
765 754  
766   - return $ktapi_folder;
  755 + return $this->ktapi->get_folder_by_id($folderid);
767 756 }
768 757  
769 758 /**
... ... @@ -775,7 +764,6 @@ class KTAPI_Folder extends KTAPI_FolderItem
775 764 function delete($reason)
776 765 {
777 766 $user = $this->can_user_access_object_requiring_permission($this->folder, KTAPI_PERMISSION_DELETE);
778   -
779 767 if (PEAR::isError($user))
780 768 {
781 769 return $user;
... ... @@ -806,10 +794,8 @@ class KTAPI_Folder extends KTAPI_FolderItem
806 794 * @return true
807 795 */
808 796 function rename($newname)
809   - {
810   -
  797 + {
811 798 $user = $this->can_user_access_object_requiring_permission($this->folder, KTAPI_PERMISSION_RENAME_FOLDER);
812   -
813 799 if (PEAR::isError($user))
814 800 {
815 801 return $user;
... ... @@ -920,9 +906,6 @@ class KTAPI_Folder extends KTAPI_FolderItem
920 906 {
921 907 return new PEAR_Error('TODO');
922 908 }
923   -
924   -
925   -
926 909 }
927 910  
928 911 class KTAPI_Document extends KTAPI_FolderItem
... ... @@ -954,7 +937,7 @@ class KTAPI_Document extends KTAPI_FolderItem
954 937 * @param int $documentid
955 938 * @return KTAPI_Document
956 939 */
957   - function get($ktapi, $documentid)
  940 + function &get(&$ktapi, $documentid)
958 941 {
959 942 assert(!is_null($ktapi));
960 943 assert(is_a($ktapi, 'KTAPI'));
... ... @@ -962,7 +945,7 @@ class KTAPI_Document extends KTAPI_FolderItem
962 945  
963 946 $documentid += 0;
964 947  
965   - $document = Document::get($documentid);
  948 + $document = &Document::get($documentid);
966 949 if (is_null($document) || PEAR::isError($document))
967 950 {
968 951 return new PEAR_Error(KTAPI_ERROR_DOCUMENT_INVALID);
... ... @@ -977,7 +960,7 @@ class KTAPI_Document extends KTAPI_FolderItem
977 960  
978 961 $folderid = $document->getParentID();
979 962  
980   - $ktapi_folder = KTAPI_Folder::get($ktapi, $folderid);
  963 + $ktapi_folder = &KTAPI_Folder::get($ktapi, $folderid);
981 964 // We don't do any checks on this folder as it could possibly be deleted, and is not required right now.
982 965  
983 966 return new KTAPI_Document($ktapi, $ktapi_folder, $document);
... ... @@ -991,14 +974,14 @@ class KTAPI_Document extends KTAPI_FolderItem
991 974 * @param Document $document
992 975 * @return KTAPI_Document
993 976 */
994   - function KTAPI_Document($ktapi, $ktapi_folder, $document)
  977 + function KTAPI_Document(&$ktapi, &$ktapi_folder, &$document)
995 978 {
996 979 assert(is_a($ktapi,'KTAPI'));
997 980 assert(is_a($ktapi_folder,'KTAPI_Folder'));
998 981  
999   - $this->ktapi = $ktapi;
1000   - $this->ktapi_folder = $ktapi_folder;
1001   - $this->document = $document;
  982 + $this->ktapi = &$ktapi;
  983 + $this->ktapi_folder = &$ktapi_folder;
  984 + $this->document = &$document;
1002 985 $this->documentid = $document->getId();
1003 986 }
1004 987  
... ... @@ -1175,7 +1158,7 @@ class KTAPI_Document extends KTAPI_FolderItem
1175 1158  
1176 1159 DBUtil::startTransaction();
1177 1160  
1178   - $user = User::getByUserName($newusername);
  1161 + $user = &User::getByUserName($newusername);
1179 1162 if (is_null($user) || PEAR::isError($user))
1180 1163 {
1181 1164 return new PEAR_Error('User could not be found');
... ... @@ -1207,7 +1190,6 @@ class KTAPI_Document extends KTAPI_FolderItem
1207 1190 DBUtil::rollback();
1208 1191 return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR);
1209 1192 }
1210   -
1211 1193  
1212 1194 DBUtil::commit();
1213 1195 return true;
... ... @@ -1222,7 +1204,7 @@ class KTAPI_Document extends KTAPI_FolderItem
1222 1204 * @param string $newfilename
1223 1205 * @return true
1224 1206 */
1225   - function copy($ktapi_target_folder, $reason, $newname=null, $newfilename=null)
  1207 + function copy(&$ktapi_target_folder, $reason, $newname=null, $newfilename=null)
1226 1208 {
1227 1209 assert(!is_null($ktapi_target_folder));
1228 1210 assert(is_a($ktapi_target_folder,'KTAPI_Folder'));
... ... @@ -1244,7 +1226,7 @@ class KTAPI_Document extends KTAPI_FolderItem
1244 1226 return new PEAR_Error(KTAPI_ERROR_DOCUMENT_CHECKED_OUT);
1245 1227 }
1246 1228  
1247   - $target_folder = $ktapi_target_folder->get_folder();
  1229 + $target_folder = &$ktapi_target_folder->get_folder();
1248 1230  
1249 1231 $result = $this->can_user_access_object_requiring_permission( $target_folder, KTAPI_PERMISSION_WRITE);
1250 1232  
... ... @@ -1327,7 +1309,7 @@ class KTAPI_Document extends KTAPI_FolderItem
1327 1309 * @param string $newfilename
1328 1310 * @return true
1329 1311 */
1330   - function move($ktapi_target_folder, $reason, $newname=null, $newfilename=null)
  1312 + function move(&$ktapi_target_folder, $reason, $newname=null, $newfilename=null)
1331 1313 {
1332 1314 assert(!is_null($ktapi_target_folder));
1333 1315 assert(is_a($ktapi_target_folder,'KTAPI_Folder'));
... ... @@ -1650,14 +1632,12 @@ class KTAPI_Document extends KTAPI_FolderItem
1650 1632 return new PEAR_Error(KTAPI_ERROR_WORKFLOW_NOT_IN_PROGRESS);
1651 1633 }
1652 1634  
1653   - $transition = KTWorkflowTransition::getByName($transition);
  1635 + $transition = &KTWorkflowTransition::getByName($transition);
1654 1636 if (is_null($transition) || PEAR::isError($transition))
1655 1637 {
1656 1638 return new PEAR_Error(KTAPI_ERROR_WORKFLOW_INVALID);
1657 1639 }
1658   -
1659   - list($permission, $user) = $perm_and_user;
1660   -
  1640 +
1661 1641 DBUtil::startTransaction();
1662 1642 $result = KTWorkflowUtil::performTransitionOnDocument($transition, $this->document, $user, $reason);
1663 1643 if (is_null($result) || PEAR::isError($result))
... ... @@ -1818,9 +1798,7 @@ class KTAPI_Document extends KTAPI_FolderItem
1818 1798 {
1819 1799 return new PEAR_Error(KTAPI_ERROR_WORKFLOW_NOT_IN_PROGRESS);
1820 1800 }
1821   -
1822   - list($permission, $user) = $perm_and_user;
1823   -
  1801 +
1824 1802 $result = array();
1825 1803  
1826 1804 $transitions = KTWorkflowUtil::getTransitionsForDocumentUser($this->document, $user);
... ... @@ -1856,8 +1834,6 @@ class KTAPI_Document extends KTAPI_FolderItem
1856 1834 return new PEAR_Error(KTAPI_ERROR_WORKFLOW_NOT_IN_PROGRESS);
1857 1835 }
1858 1836  
1859   - list($permission, $user) = $perm_and_user;
1860   -
1861 1837 $result = array();
1862 1838  
1863 1839 $state = KTWorkflowUtil::getWorkflowStateForDocument($this->document);
... ... @@ -1967,8 +1943,7 @@ class KTAPI_Document extends KTAPI_FolderItem
1967 1943 function download($version=null)
1968 1944 {
1969 1945 $storage =& KTStorageManagerUtil::getSingleton();
1970   - $options = array();
1971   -
  1946 + $options = array();
1972 1947  
1973 1948  
1974 1949 $oDocumentTransaction = & new DocumentTransaction($this->document, 'Document downloaded', 'ktcore.transactions.download', $aOptions);
... ... @@ -2011,7 +1986,7 @@ class KTAPI_Document extends KTAPI_FolderItem
2011 1986 $versions = array();
2012 1987 foreach ($metadata_versions as $version)
2013 1988 {
2014   - $document = Document::get($this->documentid, $version->getId());
  1989 + $document = &Document::get($this->documentid, $version->getId());
2015 1990  
2016 1991 $version = array();
2017 1992  
... ... @@ -2111,7 +2086,7 @@ class KTAPI
2111 2086 * @access public
2112 2087 * @return KTAPI_Session
2113 2088 */
2114   - function get_session()
  2089 + function &get_session()
2115 2090 {
2116 2091 return $this->session;
2117 2092 }
... ... @@ -2122,7 +2097,7 @@ class KTAPI
2122 2097 * @access public
2123 2098 * @return User
2124 2099 */
2125   - function get_user()
  2100 + function & get_user()
2126 2101 {
2127 2102 $ktapi_session = $this->get_session();
2128 2103 if (is_null($ktapi_session) || PEAR::isError($ktapi_session))
... ... @@ -2146,9 +2121,9 @@ class KTAPI
2146 2121 * @param string $permission
2147 2122 * @return KTPermission
2148 2123 */
2149   - function get_permission($permission)
  2124 + function &get_permission($permission)
2150 2125 {
2151   - $permission = KTPermission::getByName($permission);
  2126 + $permission = & KTPermission::getByName($permission);
2152 2127 if (is_null($permission) || PEAR::isError($permission))
2153 2128 {
2154 2129 return new PEAR_Error(KTAPI_ERROR_PERMISSION_INVALID);
... ... @@ -2165,18 +2140,18 @@ class KTAPI
2165 2140 * @param string $permission
2166 2141 * @return User
2167 2142 */
2168   - function can_user_access_object_requiring_permission($object, $permission)
  2143 + function can_user_access_object_requiring_permission(&$object, &$permission)
2169 2144 {
2170 2145 assert(!is_null($object));
2171 2146 assert(is_a($object,'DocumentProxy') || is_a($object,'FolderProxy') || is_a($object,'Document') || is_a($object,'Folder'));
2172 2147  
2173   - $permission = KTAPI::get_permission($permission);
  2148 + $permission = &KTAPI::get_permission($permission);
2174 2149 if (is_null($permission) || PEAR::isError($permission))
2175 2150 {
2176 2151 return $permission;
2177 2152 }
2178 2153  
2179   - $user = KTAPI::get_user();
  2154 + $user = &KTAPI::get_user();
2180 2155 if (is_null($user) || PEAR::isError($user))
2181 2156 {
2182 2157 return $user;
... ... @@ -2204,14 +2179,14 @@ class KTAPI
2204 2179 return new PEAR_Error('A session is currently active.');
2205 2180 }
2206 2181  
2207   - $session = KTAPI_Session::get_active_session($this, $session, $ip);
  2182 + $session = &KTAPI_Session::get_active_session($this, $session, $ip);
2208 2183  
2209 2184 if (is_null($session) || PEAR::isError($session))
2210 2185 {
2211 2186 return new PEAR_Error('Session is invalid');
2212 2187 }
2213 2188  
2214   - $this->session = $session;
  2189 + $this->session = &$session;
2215 2190 return $session;
2216 2191 }
2217 2192  
... ... @@ -2230,17 +2205,23 @@ class KTAPI
2230 2205 return new PEAR_Error('A session is currently active.');
2231 2206 }
2232 2207  
2233   - $session = KTAPI_Session::start_session($this, $username, $password, $ip);
  2208 + $session = &KTAPI_Session::start_session($this, $username, $password, $ip);
2234 2209 if (is_null($session) || PEAR::isError($session))
2235 2210 {
2236 2211 return new PEAR_Error('Session is invalid');
2237 2212 }
2238   - $this->session = $session;
  2213 + $this->session = &$session;
2239 2214  
2240 2215 return $session;
2241 2216 }
2242 2217  
2243   - function start_anonymous_session($ip=null)
  2218 + /**
  2219 + * Starts an anonymous session.
  2220 + *
  2221 + * @param string $ip
  2222 + * @return KTAPI_Session
  2223 + */
  2224 + function &start_anonymous_session($ip=null)
2244 2225 {
2245 2226 return $this->start_session('anonymous','',$ip);
2246 2227 }
... ... @@ -2252,7 +2233,7 @@ class KTAPI
2252 2233 * @access public
2253 2234 * @return KTAPI_Folder
2254 2235 */
2255   - function get_root_folder()
  2236 + function &get_root_folder()
2256 2237 {
2257 2238 return $this->get_folder_by_id(1);
2258 2239 }
... ... @@ -2264,16 +2245,14 @@ class KTAPI
2264 2245 * @param int $folderid
2265 2246 * @return KTAPI_Folder
2266 2247 */
2267   - function get_folder_by_id($folderid)
  2248 + function &get_folder_by_id($folderid)
2268 2249 {
2269 2250 if (is_null($this->session))
2270 2251 {
2271 2252 return new PEAR_Error('A session is not active');
2272 2253 }
2273   -
2274   - $folder = KTAPI_Folder::get($this, $folderid);
2275 2254  
2276   - return $folder;
  2255 + return KTAPI_Folder::get($this, $folderid);
2277 2256 }
2278 2257  
2279 2258 /**
... ... @@ -2283,11 +2262,9 @@ class KTAPI
2283 2262 * @param int $documentid
2284 2263 * @return KTAPI_Document
2285 2264 */
2286   - function get_document_by_id($documentid)
2287   - {
2288   - $document = KTAPI_Document::get($this, $documentid);
2289   -
2290   - return $document;
  2265 + function &get_document_by_id($documentid)
  2266 + {
  2267 + return KTAPI_Document::get($this, $documentid);
2291 2268 }
2292 2269  
2293 2270 /**
... ... @@ -2459,7 +2436,7 @@ class KTIndexingManager
2459 2436 */
2460 2437 function start_indexing()
2461 2438 {
2462   - throw new PEAR_Error('TODO');
  2439 + return new PEAR_Error('TODO');
2463 2440 }
2464 2441  
2465 2442 /**
... ... @@ -2470,7 +2447,7 @@ class KTIndexingManager
2470 2447 */
2471 2448 function process_file()
2472 2449 {
2473   - throw new PEAR_Error('TODO');
  2450 + return new PEAR_Error('TODO');
2474 2451 }
2475 2452  
2476 2453 /**
... ... @@ -2481,7 +2458,7 @@ class KTIndexingManager
2481 2458 */
2482 2459 function report_pending_indexing()
2483 2460 {
2484   - throw new PEAR_Error('TODO');
  2461 + return new PEAR_Error('TODO');
2485 2462 }
2486 2463  
2487 2464 /**
... ... @@ -2498,10 +2475,8 @@ class KTIndexingManager
2498 2475 }
2499 2476  
2500 2477  
2501   - throw new PEAR_Error('TODO');
2502   - }
2503   -
2504   -
  2478 + return new PEAR_Error('TODO');
  2479 + }
2505 2480 }
2506 2481  
2507 2482  
... ...