Commit fcca34994e3e05acec931349806799f4cc31afe2
1 parent
f11c7216
WSA-65
"Remove php5 specific modifiers on functions so that web services works on both 3.4.x and 3.5.x" Updated. Committed By: Conrad Vermeulen Reviewed By: Martin Kirsten git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7689 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
3 changed files
with
66 additions
and
29 deletions
ktapi/KTAPIDocument.inc.php
| @@ -1103,7 +1103,7 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1103,7 +1103,7 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1103 | $owner_mapping = array( | 1103 | $owner_mapping = array( |
| 1104 | 'created_by'=>'creator_id', | 1104 | 'created_by'=>'creator_id', |
| 1105 | 'modified_by'=>'modified_user_id', | 1105 | 'modified_by'=>'modified_user_id', |
| 1106 | - 'owner'=>'owner' | 1106 | + 'owner'=>'owner_id' |
| 1107 | ); | 1107 | ); |
| 1108 | 1108 | ||
| 1109 | $documents = array(); | 1109 | $documents = array(); |
| @@ -1135,7 +1135,7 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1135,7 +1135,7 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1135 | $documents['modified'] = $value; | 1135 | $documents['modified'] = $value; |
| 1136 | break; | 1136 | break; |
| 1137 | case 'is_immutable': | 1137 | case 'is_immutable': |
| 1138 | - $documents['immutable'] = KTUtil::strToBool($value, false); | 1138 | + $documents['immutable'] = in_array(strtolower($value), array('1','true','on','yes'))?'1':'0'; |
| 1139 | break; | 1139 | break; |
| 1140 | case 'filename': | 1140 | case 'filename': |
| 1141 | $document_content['filename'] = $value; | 1141 | $document_content['filename'] = $value; |
| @@ -1153,11 +1153,17 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1153,11 +1153,17 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1153 | $document_content['minor_version'] = $minor_version; | 1153 | $document_content['minor_version'] = $minor_version; |
| 1154 | break; | 1154 | break; |
| 1155 | case 'mime_type': | 1155 | case 'mime_type': |
| 1156 | - $value = KTMime::getMimeIdByName($value); | 1156 | + $sql = "select id from mime_types where mimetypes='$value'"; |
| 1157 | + $value = DBUtil::getResultArray($sql); | ||
| 1157 | if (PEAR::isError($value)) | 1158 | if (PEAR::isError($value)) |
| 1158 | { | 1159 | { |
| 1159 | return $value; | 1160 | return $value; |
| 1160 | } | 1161 | } |
| 1162 | + if (count($value) == 0) | ||
| 1163 | + { | ||
| 1164 | + break; | ||
| 1165 | + } | ||
| 1166 | + $value = $value[0]['id']; | ||
| 1161 | $document_content['mime_id'] = $value; | 1167 | $document_content['mime_id'] = $value; |
| 1162 | break; | 1168 | break; |
| 1163 | case 'owner': | 1169 | case 'owner': |
| @@ -1173,9 +1179,9 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1173,9 +1179,9 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1173 | { | 1179 | { |
| 1174 | $sql = "select id from users where username='$value'"; | 1180 | $sql = "select id from users where username='$value'"; |
| 1175 | $userId = DBUtil::getResultArray($sql); | 1181 | $userId = DBUtil::getResultArray($sql); |
| 1176 | - if (PEAR::isError($value)) | 1182 | + if (PEAR::isError($userId)) |
| 1177 | { | 1183 | { |
| 1178 | - return $value; | 1184 | + return $userId; |
| 1179 | } | 1185 | } |
| 1180 | } | 1186 | } |
| 1181 | if (empty($userId)) | 1187 | if (empty($userId)) |
| @@ -1201,7 +1207,10 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1201,7 +1207,10 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1201 | foreach($documents as $name=>$value) | 1207 | foreach($documents as $name=>$value) |
| 1202 | { | 1208 | { |
| 1203 | if ($i++ > 0) $sql .= ","; | 1209 | if ($i++ > 0) $sql .= ","; |
| 1204 | - $sql .= "$name='$value'"; | 1210 | + if (is_numeric($value)) |
| 1211 | + $sql .= "$name=$value"; | ||
| 1212 | + else | ||
| 1213 | + $sql .= "$name='$value'"; | ||
| 1205 | } | 1214 | } |
| 1206 | $sql .= " WHERE id=$this->documentid"; | 1215 | $sql .= " WHERE id=$this->documentid"; |
| 1207 | $result = DBUtil::runQuery($sql); | 1216 | $result = DBUtil::runQuery($sql); |
| @@ -1215,7 +1224,7 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1215,7 +1224,7 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1215 | $content_id = $this->document->getContentVersionId(); | 1224 | $content_id = $this->document->getContentVersionId(); |
| 1216 | $sql = "UPDATE document_content_version SET "; | 1225 | $sql = "UPDATE document_content_version SET "; |
| 1217 | $i=0; | 1226 | $i=0; |
| 1218 | - foreach($documents as $name=>$value) | 1227 | + foreach($document_content as $name=>$value) |
| 1219 | { | 1228 | { |
| 1220 | if ($i++ > 0) $sql .= ","; | 1229 | if ($i++ > 0) $sql .= ","; |
| 1221 | $sql .= "$name='$value'"; | 1230 | $sql .= "$name='$value'"; |
| @@ -1382,6 +1391,7 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1382,6 +1391,7 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1382 | */ | 1391 | */ |
| 1383 | public function get_detail() | 1392 | public function get_detail() |
| 1384 | { | 1393 | { |
| 1394 | + global $default; | ||
| 1385 | // make sure we ge tthe latest | 1395 | // make sure we ge tthe latest |
| 1386 | $this->clearCache(); | 1396 | $this->clearCache(); |
| 1387 | 1397 | ||
| @@ -1490,7 +1500,17 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1490,7 +1500,17 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1490 | } | 1500 | } |
| 1491 | $detail['checked_out_by'] = $username; | 1501 | $detail['checked_out_by'] = $username; |
| 1492 | 1502 | ||
| 1493 | - $detail['checked_out_date'] = $document->getCheckedOutDate(); | 1503 | + list($major, $minor, $fix) = explode('.', $default->systemVersion); |
| 1504 | + | ||
| 1505 | + | ||
| 1506 | + if ($major == 3 && $minor >= 5) | ||
| 1507 | + { | ||
| 1508 | + $detail['checked_out_date'] = $document->getCheckedOutDate(); | ||
| 1509 | + } | ||
| 1510 | + else | ||
| 1511 | + { | ||
| 1512 | + $detail['checked_out_date'] = $detail['modified_date']; | ||
| 1513 | + } | ||
| 1494 | if (is_null($detail['checked_out_date'])) $detail['checked_out_date'] = 'n/a'; | 1514 | if (is_null($detail['checked_out_date'])) $detail['checked_out_date'] = 'n/a'; |
| 1495 | 1515 | ||
| 1496 | $detail['full_path'] = $this->ktapi_folder->get_full_path() . '/' . $this->get_title(); | 1516 | $detail['full_path'] = $this->ktapi_folder->get_full_path() . '/' . $this->get_title(); |
ktapi/KTAPISession.inc.php
| @@ -36,7 +36,7 @@ | @@ -36,7 +36,7 @@ | ||
| 36 | * | 36 | * |
| 37 | */ | 37 | */ |
| 38 | 38 | ||
| 39 | -abstract class KTAPI_Session | 39 | +class KTAPI_Session |
| 40 | { | 40 | { |
| 41 | var $ktapi; | 41 | var $ktapi; |
| 42 | var $user = null; | 42 | var $user = null; |
| @@ -45,7 +45,7 @@ abstract class KTAPI_Session | @@ -45,7 +45,7 @@ abstract class KTAPI_Session | ||
| 45 | var $active; | 45 | var $active; |
| 46 | var $origUserId; | 46 | var $origUserId; |
| 47 | 47 | ||
| 48 | - public function KTAPI_Session(&$ktapi, &$user) | 48 | + function KTAPI_Session(&$ktapi, &$user) |
| 49 | { | 49 | { |
| 50 | assert(!is_null($ktapi)); | 50 | assert(!is_null($ktapi)); |
| 51 | assert(is_a($ktapi,'KTAPI')); | 51 | assert(is_a($ktapi,'KTAPI')); |
| @@ -64,7 +64,7 @@ abstract class KTAPI_Session | @@ -64,7 +64,7 @@ abstract class KTAPI_Session | ||
| 64 | * | 64 | * |
| 65 | * @return string | 65 | * @return string |
| 66 | */ | 66 | */ |
| 67 | - public function get_session() | 67 | + function get_session() |
| 68 | { | 68 | { |
| 69 | return $this->session; | 69 | return $this->session; |
| 70 | } | 70 | } |
| @@ -74,7 +74,7 @@ abstract class KTAPI_Session | @@ -74,7 +74,7 @@ abstract class KTAPI_Session | ||
| 74 | * | 74 | * |
| 75 | * @return int | 75 | * @return int |
| 76 | */ | 76 | */ |
| 77 | - public function get_sessionid() | 77 | + function get_sessionid() |
| 78 | { | 78 | { |
| 79 | return $this->sessionid; | 79 | return $this->sessionid; |
| 80 | } | 80 | } |
| @@ -84,19 +84,19 @@ abstract class KTAPI_Session | @@ -84,19 +84,19 @@ abstract class KTAPI_Session | ||
| 84 | * | 84 | * |
| 85 | * @return User | 85 | * @return User |
| 86 | */ | 86 | */ |
| 87 | - public function &get_user() | 87 | + function &get_user() |
| 88 | { | 88 | { |
| 89 | return $this->user; | 89 | return $this->user; |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | - public function logout() | 92 | + function logout() |
| 93 | { | 93 | { |
| 94 | $_SESSION['userID'] = $this->origUserId; | 94 | $_SESSION['userID'] = $this->origUserId; |
| 95 | $this->active=false; | 95 | $this->active=false; |
| 96 | // don't need to do anything really | 96 | // don't need to do anything really |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | - public function is_active() | 99 | + function is_active() |
| 100 | { | 100 | { |
| 101 | return $this->active; | 101 | return $this->active; |
| 102 | } | 102 | } |
| @@ -107,7 +107,7 @@ class KTAPI_UserSession extends KTAPI_Session | @@ -107,7 +107,7 @@ class KTAPI_UserSession extends KTAPI_Session | ||
| 107 | { | 107 | { |
| 108 | var $ip = null; | 108 | var $ip = null; |
| 109 | 109 | ||
| 110 | - public function KTAPI_UserSession(&$ktapi, &$user, $session, $sessionid, $ip) | 110 | + function KTAPI_UserSession(&$ktapi, &$user, $session, $sessionid, $ip) |
| 111 | { | 111 | { |
| 112 | parent::KTAPI_Session($ktapi, $user); | 112 | parent::KTAPI_Session($ktapi, $user); |
| 113 | 113 | ||
| @@ -133,7 +133,7 @@ class KTAPI_UserSession extends KTAPI_Session | @@ -133,7 +133,7 @@ class KTAPI_UserSession extends KTAPI_Session | ||
| 133 | * @access private | 133 | * @access private |
| 134 | * @return string | 134 | * @return string |
| 135 | */ | 135 | */ |
| 136 | - public function resolveIP() | 136 | + function resolveIP() |
| 137 | { | 137 | { |
| 138 | if (getenv("REMOTE_ADDR")) | 138 | if (getenv("REMOTE_ADDR")) |
| 139 | { | 139 | { |
| @@ -218,7 +218,7 @@ class KTAPI_UserSession extends KTAPI_Session | @@ -218,7 +218,7 @@ class KTAPI_UserSession extends KTAPI_Session | ||
| 218 | * @param string $password | 218 | * @param string $password |
| 219 | * @return KTAPI_Session | 219 | * @return KTAPI_Session |
| 220 | */ | 220 | */ |
| 221 | - public function &start_session(&$ktapi, $username, $password, $ip=null) | 221 | + function &start_session(&$ktapi, $username, $password, $ip=null) |
| 222 | { | 222 | { |
| 223 | $this->active=false; | 223 | $this->active=false; |
| 224 | if ( empty($username) ) | 224 | if ( empty($username) ) |
| @@ -272,7 +272,7 @@ class KTAPI_UserSession extends KTAPI_Session | @@ -272,7 +272,7 @@ class KTAPI_UserSession extends KTAPI_Session | ||
| 272 | * @param string $ip | 272 | * @param string $ip |
| 273 | * @return KTAPI_Session | 273 | * @return KTAPI_Session |
| 274 | */ | 274 | */ |
| 275 | - public function &get_active_session(&$ktapi, $session, $ip) | 275 | + function &get_active_session(&$ktapi, $session, $ip) |
| 276 | { | 276 | { |
| 277 | $sql = "SELECT id, user_id FROM active_sessions WHERE session_id='$session'"; | 277 | $sql = "SELECT id, user_id FROM active_sessions WHERE session_id='$session'"; |
| 278 | if (!empty($ip)) | 278 | if (!empty($ip)) |
| @@ -313,7 +313,7 @@ class KTAPI_UserSession extends KTAPI_Session | @@ -313,7 +313,7 @@ class KTAPI_UserSession extends KTAPI_Session | ||
| 313 | * This closes the current session. | 313 | * This closes the current session. |
| 314 | * | 314 | * |
| 315 | */ | 315 | */ |
| 316 | - public function logout() | 316 | + function logout() |
| 317 | { | 317 | { |
| 318 | $sql = "DELETE FROM active_sessions WHERE id=$this->sessionid"; | 318 | $sql = "DELETE FROM active_sessions WHERE id=$this->sessionid"; |
| 319 | $result = DBUtil::runQuery($sql); | 319 | $result = DBUtil::runQuery($sql); |
| @@ -332,7 +332,7 @@ class KTAPI_UserSession extends KTAPI_Session | @@ -332,7 +332,7 @@ class KTAPI_UserSession extends KTAPI_Session | ||
| 332 | 332 | ||
| 333 | class KTAPI_AnonymousSession extends KTAPI_UserSession | 333 | class KTAPI_AnonymousSession extends KTAPI_UserSession |
| 334 | { | 334 | { |
| 335 | - public function &start_session(&$ktapi, $ip=null) | 335 | + function &start_session(&$ktapi, $ip=null) |
| 336 | { | 336 | { |
| 337 | $user =& User::get(-2); | 337 | $user =& User::get(-2); |
| 338 | if (is_null($user) || PEAR::isError($user) || ($user === false) || !$user->isAnonymous()) | 338 | if (is_null($user) || PEAR::isError($user) || ($user === false) || !$user->isAnonymous()) |
| @@ -370,7 +370,7 @@ class KTAPI_AnonymousSession extends KTAPI_UserSession | @@ -370,7 +370,7 @@ class KTAPI_AnonymousSession extends KTAPI_UserSession | ||
| 370 | 370 | ||
| 371 | class KTAPI_SystemSession extends KTAPI_Session | 371 | class KTAPI_SystemSession extends KTAPI_Session |
| 372 | { | 372 | { |
| 373 | - public function KTAPI_SystemSession(&$ktapi, &$user) | 373 | + function KTAPI_SystemSession(&$ktapi, &$user) |
| 374 | { | 374 | { |
| 375 | parent::KTAPI_Session($ktapi, $user); | 375 | parent::KTAPI_Session($ktapi, $user); |
| 376 | $this->active=true; | 376 | $this->active=true; |
ktwebservice/webservice.php
| @@ -45,7 +45,19 @@ require_once('SOAP/Disco.php'); | @@ -45,7 +45,19 @@ require_once('SOAP/Disco.php'); | ||
| 45 | require_once('KTDownloadManager.inc.php'); | 45 | require_once('KTDownloadManager.inc.php'); |
| 46 | require_once('KTUploadManager.inc.php'); | 46 | require_once('KTUploadManager.inc.php'); |
| 47 | require_once(KT_LIB_DIR . '/storage/storagemanager.inc.php'); | 47 | require_once(KT_LIB_DIR . '/storage/storagemanager.inc.php'); |
| 48 | -require_once(KT_DIR . '/search2/search/search.inc.php'); | 48 | + |
| 49 | +list($major, $minor, $fix) = explode('.', $default->systemVersion); | ||
| 50 | + | ||
| 51 | +if ($major == 3 && $minor >= 5) | ||
| 52 | +{ | ||
| 53 | + define('HAS_SEARCH_FUNCTIONALITY',1); | ||
| 54 | +} | ||
| 55 | +unset($major); unset($minor); unset($fix); | ||
| 56 | + | ||
| 57 | +if (defined('HAS_SEARCH_FUNCTIONALITY')) | ||
| 58 | +{ | ||
| 59 | + require_once(KT_DIR . '/search2/search/search.inc.php'); | ||
| 60 | +} | ||
| 49 | 61 | ||
| 50 | // TODO: Test getting files/metadata based on versioning works and implementation is consistent. | 62 | // TODO: Test getting files/metadata based on versioning works and implementation is consistent. |
| 51 | 63 | ||
| @@ -232,6 +244,9 @@ class KTWebService | @@ -232,6 +244,9 @@ class KTWebService | ||
| 232 | ); | 244 | ); |
| 233 | } | 245 | } |
| 234 | 246 | ||
| 247 | + if (defined('HAS_SEARCH_FUNCTIONALITY')) | ||
| 248 | + { | ||
| 249 | + | ||
| 235 | $this->__typedef["{urn:$this->namespace}kt_search_result_item"] = | 250 | $this->__typedef["{urn:$this->namespace}kt_search_result_item"] = |
| 236 | array( | 251 | array( |
| 237 | 'document_id' => 'int', | 252 | 'document_id' => 'int', |
| @@ -270,6 +285,7 @@ class KTWebService | @@ -270,6 +285,7 @@ class KTWebService | ||
| 270 | 'message' => 'string', | 285 | 'message' => 'string', |
| 271 | 'hits' => "{urn:$this->namespace}kt_search_results" , | 286 | 'hits' => "{urn:$this->namespace}kt_search_results" , |
| 272 | ); | 287 | ); |
| 288 | + } | ||
| 273 | 289 | ||
| 274 | if ($this->version >= 2) | 290 | if ($this->version >= 2) |
| 275 | { | 291 | { |
| @@ -463,11 +479,14 @@ class KTWebService | @@ -463,11 +479,14 @@ class KTWebService | ||
| 463 | ); | 479 | ); |
| 464 | 480 | ||
| 465 | /* methods */ | 481 | /* methods */ |
| 482 | + if (defined('HAS_SEARCH_FUNCTIONALITY')) | ||
| 483 | + { | ||
| 466 | 484 | ||
| 467 | - $this->__dispatch_map['search'] = | ||
| 468 | - array('in' => array('session_id' => 'string', 'search'=>'string' ,'options'=>'string'), | ||
| 469 | - 'out' => array('return' => "{urn:$this->namespace}kt_search_response" ), | ||
| 470 | - ); | 485 | + $this->__dispatch_map['search'] = array( |
| 486 | + 'in' => array('session_id' => 'string', 'search'=>'string' ,'options'=>'string'), | ||
| 487 | + 'out' => array('return' => "{urn:$this->namespace}kt_search_response" ), | ||
| 488 | + ); | ||
| 489 | + } | ||
| 471 | 490 | ||
| 472 | // login | 491 | // login |
| 473 | $this->__dispatch_map['login'] = | 492 | $this->__dispatch_map['login'] = |
| @@ -520,8 +539,6 @@ class KTWebService | @@ -520,8 +539,6 @@ class KTWebService | ||
| 520 | 'out' => array('return' => "{urn:$this->namespace}kt_folder_detail"), | 539 | 'out' => array('return' => "{urn:$this->namespace}kt_folder_detail"), |
| 521 | 'alias'=>'create_folder' | 540 | 'alias'=>'create_folder' |
| 522 | ); | 541 | ); |
| 523 | - | ||
| 524 | - | ||
| 525 | } | 542 | } |
| 526 | 543 | ||
| 527 | 544 |