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 | 1103 | $owner_mapping = array( |
| 1104 | 1104 | 'created_by'=>'creator_id', |
| 1105 | 1105 | 'modified_by'=>'modified_user_id', |
| 1106 | - 'owner'=>'owner' | |
| 1106 | + 'owner'=>'owner_id' | |
| 1107 | 1107 | ); |
| 1108 | 1108 | |
| 1109 | 1109 | $documents = array(); |
| ... | ... | @@ -1135,7 +1135,7 @@ class KTAPI_Document extends KTAPI_FolderItem |
| 1135 | 1135 | $documents['modified'] = $value; |
| 1136 | 1136 | break; |
| 1137 | 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 | 1139 | break; |
| 1140 | 1140 | case 'filename': |
| 1141 | 1141 | $document_content['filename'] = $value; |
| ... | ... | @@ -1153,11 +1153,17 @@ class KTAPI_Document extends KTAPI_FolderItem |
| 1153 | 1153 | $document_content['minor_version'] = $minor_version; |
| 1154 | 1154 | break; |
| 1155 | 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 | 1158 | if (PEAR::isError($value)) |
| 1158 | 1159 | { |
| 1159 | 1160 | return $value; |
| 1160 | 1161 | } |
| 1162 | + if (count($value) == 0) | |
| 1163 | + { | |
| 1164 | + break; | |
| 1165 | + } | |
| 1166 | + $value = $value[0]['id']; | |
| 1161 | 1167 | $document_content['mime_id'] = $value; |
| 1162 | 1168 | break; |
| 1163 | 1169 | case 'owner': |
| ... | ... | @@ -1173,9 +1179,9 @@ class KTAPI_Document extends KTAPI_FolderItem |
| 1173 | 1179 | { |
| 1174 | 1180 | $sql = "select id from users where username='$value'"; |
| 1175 | 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 | 1187 | if (empty($userId)) |
| ... | ... | @@ -1201,7 +1207,10 @@ class KTAPI_Document extends KTAPI_FolderItem |
| 1201 | 1207 | foreach($documents as $name=>$value) |
| 1202 | 1208 | { |
| 1203 | 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 | 1215 | $sql .= " WHERE id=$this->documentid"; |
| 1207 | 1216 | $result = DBUtil::runQuery($sql); |
| ... | ... | @@ -1215,7 +1224,7 @@ class KTAPI_Document extends KTAPI_FolderItem |
| 1215 | 1224 | $content_id = $this->document->getContentVersionId(); |
| 1216 | 1225 | $sql = "UPDATE document_content_version SET "; |
| 1217 | 1226 | $i=0; |
| 1218 | - foreach($documents as $name=>$value) | |
| 1227 | + foreach($document_content as $name=>$value) | |
| 1219 | 1228 | { |
| 1220 | 1229 | if ($i++ > 0) $sql .= ","; |
| 1221 | 1230 | $sql .= "$name='$value'"; |
| ... | ... | @@ -1382,6 +1391,7 @@ class KTAPI_Document extends KTAPI_FolderItem |
| 1382 | 1391 | */ |
| 1383 | 1392 | public function get_detail() |
| 1384 | 1393 | { |
| 1394 | + global $default; | |
| 1385 | 1395 | // make sure we ge tthe latest |
| 1386 | 1396 | $this->clearCache(); |
| 1387 | 1397 | |
| ... | ... | @@ -1490,7 +1500,17 @@ class KTAPI_Document extends KTAPI_FolderItem |
| 1490 | 1500 | } |
| 1491 | 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 | 1514 | if (is_null($detail['checked_out_date'])) $detail['checked_out_date'] = 'n/a'; |
| 1495 | 1515 | |
| 1496 | 1516 | $detail['full_path'] = $this->ktapi_folder->get_full_path() . '/' . $this->get_title(); | ... | ... |
ktapi/KTAPISession.inc.php
| ... | ... | @@ -36,7 +36,7 @@ |
| 36 | 36 | * |
| 37 | 37 | */ |
| 38 | 38 | |
| 39 | -abstract class KTAPI_Session | |
| 39 | +class KTAPI_Session | |
| 40 | 40 | { |
| 41 | 41 | var $ktapi; |
| 42 | 42 | var $user = null; |
| ... | ... | @@ -45,7 +45,7 @@ abstract class KTAPI_Session |
| 45 | 45 | var $active; |
| 46 | 46 | var $origUserId; |
| 47 | 47 | |
| 48 | - public function KTAPI_Session(&$ktapi, &$user) | |
| 48 | + function KTAPI_Session(&$ktapi, &$user) | |
| 49 | 49 | { |
| 50 | 50 | assert(!is_null($ktapi)); |
| 51 | 51 | assert(is_a($ktapi,'KTAPI')); |
| ... | ... | @@ -64,7 +64,7 @@ abstract class KTAPI_Session |
| 64 | 64 | * |
| 65 | 65 | * @return string |
| 66 | 66 | */ |
| 67 | - public function get_session() | |
| 67 | + function get_session() | |
| 68 | 68 | { |
| 69 | 69 | return $this->session; |
| 70 | 70 | } |
| ... | ... | @@ -74,7 +74,7 @@ abstract class KTAPI_Session |
| 74 | 74 | * |
| 75 | 75 | * @return int |
| 76 | 76 | */ |
| 77 | - public function get_sessionid() | |
| 77 | + function get_sessionid() | |
| 78 | 78 | { |
| 79 | 79 | return $this->sessionid; |
| 80 | 80 | } |
| ... | ... | @@ -84,19 +84,19 @@ abstract class KTAPI_Session |
| 84 | 84 | * |
| 85 | 85 | * @return User |
| 86 | 86 | */ |
| 87 | - public function &get_user() | |
| 87 | + function &get_user() | |
| 88 | 88 | { |
| 89 | 89 | return $this->user; |
| 90 | 90 | } |
| 91 | 91 | |
| 92 | - public function logout() | |
| 92 | + function logout() | |
| 93 | 93 | { |
| 94 | 94 | $_SESSION['userID'] = $this->origUserId; |
| 95 | 95 | $this->active=false; |
| 96 | 96 | // don't need to do anything really |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | - public function is_active() | |
| 99 | + function is_active() | |
| 100 | 100 | { |
| 101 | 101 | return $this->active; |
| 102 | 102 | } |
| ... | ... | @@ -107,7 +107,7 @@ class KTAPI_UserSession extends KTAPI_Session |
| 107 | 107 | { |
| 108 | 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 | 112 | parent::KTAPI_Session($ktapi, $user); |
| 113 | 113 | |
| ... | ... | @@ -133,7 +133,7 @@ class KTAPI_UserSession extends KTAPI_Session |
| 133 | 133 | * @access private |
| 134 | 134 | * @return string |
| 135 | 135 | */ |
| 136 | - public function resolveIP() | |
| 136 | + function resolveIP() | |
| 137 | 137 | { |
| 138 | 138 | if (getenv("REMOTE_ADDR")) |
| 139 | 139 | { |
| ... | ... | @@ -218,7 +218,7 @@ class KTAPI_UserSession extends KTAPI_Session |
| 218 | 218 | * @param string $password |
| 219 | 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 | 223 | $this->active=false; |
| 224 | 224 | if ( empty($username) ) |
| ... | ... | @@ -272,7 +272,7 @@ class KTAPI_UserSession extends KTAPI_Session |
| 272 | 272 | * @param string $ip |
| 273 | 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 | 277 | $sql = "SELECT id, user_id FROM active_sessions WHERE session_id='$session'"; |
| 278 | 278 | if (!empty($ip)) |
| ... | ... | @@ -313,7 +313,7 @@ class KTAPI_UserSession extends KTAPI_Session |
| 313 | 313 | * This closes the current session. |
| 314 | 314 | * |
| 315 | 315 | */ |
| 316 | - public function logout() | |
| 316 | + function logout() | |
| 317 | 317 | { |
| 318 | 318 | $sql = "DELETE FROM active_sessions WHERE id=$this->sessionid"; |
| 319 | 319 | $result = DBUtil::runQuery($sql); |
| ... | ... | @@ -332,7 +332,7 @@ class KTAPI_UserSession extends KTAPI_Session |
| 332 | 332 | |
| 333 | 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 | 337 | $user =& User::get(-2); |
| 338 | 338 | if (is_null($user) || PEAR::isError($user) || ($user === false) || !$user->isAnonymous()) |
| ... | ... | @@ -370,7 +370,7 @@ class KTAPI_AnonymousSession extends KTAPI_UserSession |
| 370 | 370 | |
| 371 | 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 | 375 | parent::KTAPI_Session($ktapi, $user); |
| 376 | 376 | $this->active=true; | ... | ... |
ktwebservice/webservice.php
| ... | ... | @@ -45,7 +45,19 @@ require_once('SOAP/Disco.php'); |
| 45 | 45 | require_once('KTDownloadManager.inc.php'); |
| 46 | 46 | require_once('KTUploadManager.inc.php'); |
| 47 | 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 | 62 | // TODO: Test getting files/metadata based on versioning works and implementation is consistent. |
| 51 | 63 | |
| ... | ... | @@ -232,6 +244,9 @@ class KTWebService |
| 232 | 244 | ); |
| 233 | 245 | } |
| 234 | 246 | |
| 247 | + if (defined('HAS_SEARCH_FUNCTIONALITY')) | |
| 248 | + { | |
| 249 | + | |
| 235 | 250 | $this->__typedef["{urn:$this->namespace}kt_search_result_item"] = |
| 236 | 251 | array( |
| 237 | 252 | 'document_id' => 'int', |
| ... | ... | @@ -270,6 +285,7 @@ class KTWebService |
| 270 | 285 | 'message' => 'string', |
| 271 | 286 | 'hits' => "{urn:$this->namespace}kt_search_results" , |
| 272 | 287 | ); |
| 288 | + } | |
| 273 | 289 | |
| 274 | 290 | if ($this->version >= 2) |
| 275 | 291 | { |
| ... | ... | @@ -463,11 +479,14 @@ class KTWebService |
| 463 | 479 | ); |
| 464 | 480 | |
| 465 | 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 | 491 | // login |
| 473 | 492 | $this->__dispatch_map['login'] = |
| ... | ... | @@ -520,8 +539,6 @@ class KTWebService |
| 520 | 539 | 'out' => array('return' => "{urn:$this->namespace}kt_folder_detail"), |
| 521 | 540 | 'alias'=>'create_folder' |
| 522 | 541 | ); |
| 523 | - | |
| 524 | - | |
| 525 | 542 | } |
| 526 | 543 | |
| 527 | 544 | ... | ... |