Commit e82af71b2c85bd95dcf3eb035cbb21f5c5522496

Authored by elena
1 parent 048b4d77

catalog draft

php/classes/AmdaAction.php
... ... @@ -1236,8 +1236,8 @@ class AmdaAction {
1236 1236 //AKKA - New action to clean user WS
1237 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 1243 public function deleteSpecialInfo($name)
... ...
php/classes/CatalogCacheMgr.php
... ... @@ -273,6 +273,31 @@ class CatalogCacheMgr extends TimeTableCacheMgr
273 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 302 protected function loadFromFile() {
278 303  
... ...
php/classes/CatalogMgr.php
... ... @@ -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 168 * catalog header
... ...