Commit fcca34994e3e05acec931349806799f4cc31afe2

Authored by conradverm
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
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  
... ...