Commit e82af71b2c85bd95dcf3eb035cbb21f5c5522496

Authored by elena
1 parent 048b4d77

catalog draft

php/classes/AmdaAction.php
@@ -1236,8 +1236,8 @@ class AmdaAction { @@ -1236,8 +1236,8 @@ class AmdaAction {
1236 //AKKA - New action to clean user WS 1236 //AKKA - New action to clean user WS
1237 public function cleanUserWS() 1237 public function cleanUserWS()
1238 { 1238 {
1239 -// require_once(INTEGRATION_SRC_DIR."RequestManager.php");  
1240 -// return $this->executeRequest($obj, FunctionTypeEnumClass::PROCESSCLEAN); 1239 + require_once(INTEGRATION_SRC_DIR."RequestManager.php");
  1240 + return $this->executeRequest($obj, FunctionTypeEnumClass::PROCESSCLEAN);
1241 } 1241 }
1242 1242
1243 public function deleteSpecialInfo($name) 1243 public function deleteSpecialInfo($name)
php/classes/CatalogCacheMgr.php
@@ -273,6 +273,31 @@ class CatalogCacheMgr extends TimeTableCacheMgr @@ -273,6 +273,31 @@ class CatalogCacheMgr extends TimeTableCacheMgr
273 'status' => $this->cache->getStatus(), 'parameters' => $paramHeaders); 273 'status' => $this->cache->getStatus(), 'parameters' => $paramHeaders);
274 } 274 }
275 275
  276 + public function initFromTT($id, $typeTT) {
  277 + //Create new cache
  278 + $this->cache = new CatalogeCacheObject();
  279 +
  280 + //Load intervals from TT file and add to cache
  281 + $intervals_res = $this->ttMgr->loadIntervalsFromTT($id,$typeTT);
  282 +
  283 + if (!$intervals_res['success'])
  284 + return $intervals_res;
  285 +
  286 + foreach ($intervals_res['intervals'] as $interval)
  287 + {
  288 + //Add interval
  289 + $this->cache->addInterval($interval['start'], $interval['stop']);
  290 + }
  291 +
  292 + unset($intervals_res);
  293 +
  294 + //Update cache
  295 + $this->cache->updateIndexes();
  296 +
  297 + //Save cache file
  298 + return array('success' => $this->saveToFile(), 'token' => $this->cache->getToken(), 'status' => $this->cache->getStatus());
  299 + }
  300 +
276 301
277 protected function loadFromFile() { 302 protected function loadFromFile() {
278 303
php/classes/CatalogMgr.php
@@ -109,60 +109,60 @@ class CatalogMgr extends TimeTableMgr { @@ -109,60 +109,60 @@ class CatalogMgr extends TimeTableMgr {
109 } 109 }
110 110
111 111
112 -// public function loadIntervalsFromTT($id,$typeTT,$start = NULL, $limit = NULL)  
113 -// {  
114 -//  
115 -// if ($typeTT == 'sharedtimeTable') {  
116 -// $pathid = SHAREDPATH.'TT/'.$id;  
117 -// }  
118 -// else {  
119 -// $pathid = USERTTDIR.$id;  
120 -// }  
121 -//  
122 -// //load intervals from TT id  
123 -// if (!file_exists($pathid.'.xml'))  
124 -// return array('success' => false, 'message' => "Cannot find TT file ".$id);  
125 -//  
126 -// $this->objectDom -> load($pathid.'.xml');  
127 -//  
128 -// if (!($objToGet = $this->objectDom->getElementById($id)))  
129 -// return array('success' => false, 'message' => NO_SUCH_ID." ".$id);  
130 -//  
131 -// $xpath = new DOMXPath($this->objectDom);  
132 -// $intervals = $xpath->query('//intervals');  
133 -//  
134 -// $result = array();  
135 -//  
136 -// if (!isset($start) || !isset($limit))  
137 -// {  
138 -// foreach ($intervals as $interval)  
139 -// {  
140 -// $startTime = $interval->getElementsByTagName('start')->item(0)->nodeValue;  
141 -// $stopTime = $interval->getElementsByTagName('stop')->item(0)->nodeValue;  
142 -// array_push($result, array('start' => $startTime, 'stop' => $stopTime));  
143 -// }  
144 -// }  
145 -// else  
146 -// {  
147 -// for ($i = 0; $i < $limit; ++$i)  
148 -// {  
149 -// if ($start+$i >= $intervals->length)  
150 -// break;  
151 -// $startTime = $intervals->item($start+$i)->getElementsByTagName('start')->item(0)->nodeValue;  
152 -// $stopTime = $intervals->item($start+$i)->getElementsByTagName('stop')->item(0)->nodeValue;  
153 -// array_push($result, array('start' => $startTime, 'stop' => $stopTime));  
154 -// }  
155 -// }  
156 -//  
157 -// return array(  
158 -// 'totalCount' => $intervals->length,  
159 -// 'intervals' => $result,  
160 -// 'start' => isset($start) ? $start : 0,  
161 -// 'limit' => isset($limit) ? $limit : 0,  
162 -// 'success' => true  
163 -// );  
164 -//  
165 -// } 112 + public function loadIntervalsFromTT($id, $typeTT, $start = NULL, $limit = NULL)
  113 + {
  114 +
  115 + if ($typeTT == 'sharedcatalog') {
  116 + $pathid = SHAREDPATH.'TT/'.$id;
  117 + }
  118 + else {
  119 + $pathid = USERTTDIR.$id;
  120 + }
  121 +
  122 + //load intervals from TT id
  123 + if (!file_exists($pathid.'.xml'))
  124 + return array('success' => false, 'message' => "Cannot find Catalog file ".$id);
  125 +
  126 + $this->objectDom->load($pathid.'.xml');
  127 +
  128 + if (!($objToGet = $this->objectDom->getElementById($id)))
  129 + return array('success' => false, 'message' => NO_SUCH_ID." ".$id);
  130 +
  131 + $xpath = new DOMXPath($this->objectDom);
  132 + $intervals = $xpath->query('//intervals');
  133 +
  134 + $result = array();
  135 +
  136 + if (!isset($start) || !isset($limit))
  137 + {
  138 + foreach ($intervals as $interval)
  139 + {
  140 + $startTime = $interval->getElementsByTagName('start')->item(0)->nodeValue;
  141 + $stopTime = $interval->getElementsByTagName('stop')->item(0)->nodeValue;
  142 + array_push($result, array('start' => $startTime, 'stop' => $stopTime));
  143 + }
  144 + }
  145 + else
  146 + {
  147 + for ($i = 0; $i < $limit; ++$i)
  148 + {
  149 + if ($start+$i >= $intervals->length)
  150 + break;
  151 + $startTime = $intervals->item($start+$i)->getElementsByTagName('start')->item(0)->nodeValue;
  152 + $stopTime = $intervals->item($start+$i)->getElementsByTagName('stop')->item(0)->nodeValue;
  153 + array_push($result, array('start' => $startTime, 'stop' => $stopTime));
  154 + }
  155 + }
  156 +
  157 + return array(
  158 + 'totalCount' => $intervals->length,
  159 + 'intervals' => $result,
  160 + 'start' => isset($start) ? $start : 0,
  161 + 'limit' => isset($limit) ? $limit : 0,
  162 + 'success' => true
  163 + );
  164 +
  165 + }
166 166
167 /* 167 /*
168 * catalog header 168 * catalog header