Blame view

php/classes/AmdaAction.php 42 KB
16035364   Benjamin Renard   First commit
1
2
3
<?php
/**
 * @class AmdaAction
aa94fd24   elena   Merge with last svn
4
 * @version $Id: AmdaAction.php 2976 2015-07-01 15:05:40Z benjamin $
9e3cbd95   Elena.Budnik   merge AMDA_IHM AM...
5
 * @brief
16035364   Benjamin Renard   First commit
6
 */
10200969   Roipoussiere   Remove whitespace...
7
class AmdaAction
735c653b   Elena.Budnik   rank at observato...
8
{
10200969   Roipoussiere   Remove whitespace...
9
	private $xmlFiles  = array('localParam' => 'LocalParams.xml', 'remoteParam' => 'RemoteParams.xml',
735c653b   Elena.Budnik   rank at observato...
10
										'remoteSimuParam' => 'RemoteParams.xml', 'derivedParam' => 'WsParams.xml', 'myDataParam' => 'WsParams.xml',
10200969   Roipoussiere   Remove whitespace...
11
12
										'timeTable' => 'Tt.xml', 'catalog' => 'Tt.xml', 'alias' => 'Alias.xml',
										'myData' => 'Files.xml',
735c653b   Elena.Budnik   rank at observato...
13
14
15
16
17
										'request' => 'Request.xml', 'condition' => 'Request.xml',
										'bkgWorks' => 'jobs.xml');

	private $user, $amdaStat;

10200969   Roipoussiere   Remove whitespace...
18
19
	public function __construct()
	{
735c653b   Elena.Budnik   rank at observato...
20
21
22
23
24
		$dd = new UserMgr();
		$this->user = $dd->user;
		if (!defined('NEWKERNEL_DEBUG') || !NEWKERNEL_DEBUG)
					$this->amdaStat = new AmdaStats($dd->user);
	}
16035364   Benjamin Renard   First commit
25

10200969   Roipoussiere   Remove whitespace...
26
	private function getUrlDirs($url)
735c653b   Elena.Budnik   rank at observato...
27
28
29
	{
		//TODO replace by ftp php class methods: ftp_nlist() etc
		require_once "simple_html_dom.php";
10200969   Roipoussiere   Remove whitespace...
30
31

		$url = html_entity_decode($url);
735c653b   Elena.Budnik   rank at observato...
32
		$trimmed_url = trim($url);
10200969   Roipoussiere   Remove whitespace...
33
		if (strrpos($trimmed_url, "/") == strlen($trimmed_url) - 1)
735c653b   Elena.Budnik   rank at observato...
34
		{
10200969   Roipoussiere   Remove whitespace...
35
			if (file_exists("temp.html")) unlink("temp.html");
735c653b   Elena.Budnik   rank at observato...
36
			exec("wget -O temp.html ".$url);
10200969   Roipoussiere   Remove whitespace...
37

735c653b   Elena.Budnik   rank at observato...
38
39
			$html = file_get_html('temp.html');
			$dirs = $html->find('a[href]');
10200969   Roipoussiere   Remove whitespace...
40
			foreach ($dirs as $dir)
735c653b   Elena.Budnik   rank at observato...
41
			{
6acb8d2a   Elena.Budnik   checkRequest in R...
42
43
				$name =  $dir->innertext; //$dir->href;
				$isLeaf = strrpos($name, "/") !== strlen($name) - 1;
10200969   Roipoussiere   Remove whitespace...
44
				$childrenToReturn[] = array('text' => $name, 'id' => $trimmed_url.$name, 'nodeType' => 'url', 'leaf' => $isLeaf);
735c653b   Elena.Budnik   rank at observato...
45
			}
10200969   Roipoussiere   Remove whitespace...
46

735c653b   Elena.Budnik   rank at observato...
47
		}
10200969   Roipoussiere   Remove whitespace...
48
49
50

		return $childrenToReturn;

735c653b   Elena.Budnik   rank at observato...
51
	}
10200969   Roipoussiere   Remove whitespace...
52

16035364   Benjamin Renard   First commit
53
54
/*****************************************************************
*                           PUBLIC FUNCTIONS
10200969   Roipoussiere   Remove whitespace...
55
56
*****************************************************************/

735c653b   Elena.Budnik   rank at observato...
57
58
59
60
	/*
	*   $obj = { id: node.id,  nodeType: node.nodeType }
	*/
	public function getTree($obj) {
735c653b   Elena.Budnik   rank at observato...
61
		$node = $obj->node;
10200969   Roipoussiere   Remove whitespace...
62

735c653b   Elena.Budnik   rank at observato...
63
		$nodeType = $obj->nodeType;
0fea5567   Benjamin Renard   First step for re...
64

735c653b   Elena.Budnik   rank at observato...
65
66
		$remoteBase = false;
		$isRemoteDataSet = false;
16035364   Benjamin Renard   First commit
67

10200969   Roipoussiere   Remove whitespace...
68
		if ($nodeType == 'url')
735c653b   Elena.Budnik   rank at observato...
69
		{
10200969   Roipoussiere   Remove whitespace...
70
			$url = $node == 'root' ? $obj->baseId : $node;
735c653b   Elena.Budnik   rank at observato...
71
72
			return  $this->getUrlDirs($url);
		}
16035364   Benjamin Renard   First commit
73

e57cb025   Benjamin Renard   Fix most of error...
74
		if (isset($obj->baseId)) $remoteBase = true;
16035364   Benjamin Renard   First commit
75

735c653b   Elena.Budnik   rank at observato...
76
		if ($node == 'root' && $remoteBase)  $node = $obj->baseId;
16035364   Benjamin Renard   First commit
77

10200969   Roipoussiere   Remove whitespace...
78
79
		if ($node == 'root' && !$remoteBase)
		{
e57cb025   Benjamin Renard   Fix most of error...
80
81
82
83
84
85
86
87
88
89
90
91
			if (file_exists(DATAPATH.$nodeType.'.json')) {
				$json_o = json_decode(file_get_contents(DATAPATH.$nodeType.'.json'));
				if (empty($json_o)) {
					$childrenToReturn = array();
				}
				else {
					$childrenToReturn = $json_o->nodes;
				}
			}
			else {
				$childrenToReturn = array();
			}
10200969   Roipoussiere   Remove whitespace...
92
93
		}
		else
735c653b   Elena.Budnik   rank at observato...
94
95
96
		{
			$Dom = new DomDocument("1.0");

10200969   Roipoussiere   Remove whitespace...
97
			switch ($nodeType)
735c653b   Elena.Budnik   rank at observato...
98
99
100
101
102
			{
				case 'sharedtimeTable':
				case 'sharedcatalog':
					$xmlName = SHAREDPATH.'/SharedObjectTree.xml';
					break;
10200969   Roipoussiere   Remove whitespace...
103
				case 'bkgWorks':
84db3b67   NathanaĆ«l Jourdane   Improve job toolt...
104
					// data/<user>/JOBS/jobs.xml
735c653b   Elena.Budnik   rank at observato...
105
106
107
					$xmlName = USERJOBDIR.$this->xmlFiles[$nodeType];
					break;
				case 'source':
10200969   Roipoussiere   Remove whitespace...
108
109
110
111
					$xmlName = DATAPATH.'RemoteData/'.$obj->baseId.'/base.xml';
					break;
				case 'destination':
					$xmlName = USERWSDIR.'RemoteParams.xml';
735c653b   Elena.Budnik   rank at observato...
112
					break;
735c653b   Elena.Budnik   rank at observato...
113
114
115
				default:
					$xmlName = USERWSDIR.$this->xmlFiles[$nodeType];
			}
16035364   Benjamin Renard   First commit
116

a0f13ed1   Elena.Budnik   small format + ti...
117
			if ($remoteBase){
735c653b   Elena.Budnik   rank at observato...
118
				$nodeType = 'remoteParam';
10200969   Roipoussiere   Remove whitespace...
119
120
			}

e57cb025   Benjamin Renard   Fix most of error...
121
			@$Dom->load($xmlName);
10200969   Roipoussiere   Remove whitespace...
122

a0f13ed1   Elena.Budnik   small format + ti...
123
			if ($node == "myRemoteSimuData-treeRootNode") $node = "myRemoteData-treeRootNode";
10200969   Roipoussiere   Remove whitespace...
124

735c653b   Elena.Budnik   rank at observato...
125
			$nodeToOpen = $Dom->getElementById($node);
e57cb025   Benjamin Renard   Fix most of error...
126
			$children = empty($nodeToOpen->childNodes) ? array() : $nodeToOpen->childNodes;
16035364   Benjamin Renard   First commit
127

10200969   Roipoussiere   Remove whitespace...
128
129
			foreach ($children as $child)
				if ($child->nodeType == XML_ELEMENT_NODE)
735c653b   Elena.Budnik   rank at observato...
130
131
				{
					$isLeaf = true;
10200969   Roipoussiere   Remove whitespace...
132

735c653b   Elena.Budnik   rank at observato...
133
					if ($child->hasChildNodes())
10200969   Roipoussiere   Remove whitespace...
134
135
						foreach ($child->childNodes as $grandChild)
							if ($grandChild -> nodeType == XML_ELEMENT_NODE)
735c653b   Elena.Budnik   rank at observato...
136
137
138
139
140
141
							{
									$isLeaf = false;
									break;
							}
					if ($child->tagName == 'folder')  $isLeaf = false;

10200969   Roipoussiere   Remove whitespace...
142
143
					//TODO MAKE PROPERLY  as function of nodetype !!!!
					$info = '';
8ba47f72   Benjamin Renard   rest actualisatio...
144
145
					$dim_1 = 1;
					$dim_2 = 1;
735c653b   Elena.Budnik   rank at observato...
146
					$id =  $child->getAttribute('xml:id');
10200969   Roipoussiere   Remove whitespace...
147
					$name = $child->getAttribute('name');
735c653b   Elena.Budnik   rank at observato...
148
					$help = $child->getAttribute('att');
735c653b   Elena.Budnik   rank at observato...
149
150
151
152
153

					$specialNode = false;
					$isParameter = false;
					$isAddable =  false;
					$isSimulation = false;
735c653b   Elena.Budnik   rank at observato...
154
					$rank = null;
e57cb025   Benjamin Renard   Fix most of error...
155
					$skip = FALSE;
735c653b   Elena.Budnik   rank at observato...
156

10200969   Roipoussiere   Remove whitespace...
157
					switch ($nodeType)
735c653b   Elena.Budnik   rank at observato...
158
					{
10200969   Roipoussiere   Remove whitespace...
159
						case 'bkgWorks':
735c653b   Elena.Budnik   rank at observato...
160
							$specialNode = true;
84db3b67   NathanaĆ«l Jourdane   Improve job toolt...
161
162
163
164
165
166
							$childrenToReturn[] = [
								'text'     => $name,
								'id'       => $id,
								'nodeType' => $nodeType,
								'leaf'     => $isLeaf,
								'pid'      => $child->getAttribute('pid'),
b4bca467   NathanaĆ«l Jourdane   job tooltip: use ...
167
								'status'   => $child->getAttribute('status'),
84db3b67   NathanaĆ«l Jourdane   Improve job toolt...
168
								'jobType'  => $child->getAttribute('jobType'),
812bc03d   NathanaĆ«l Jourdane   update job info o...
169
								'info'     => $child->getAttribute('info')
84db3b67   NathanaĆ«l Jourdane   Improve job toolt...
170
							];
b4bca467   NathanaĆ«l Jourdane   job tooltip: use ...
171
							break;
735c653b   Elena.Budnik   rank at observato...
172
173

						case 'condition':
638db58d   Benjamin Renard   RequestMgr constr...
174
							$objectMgr = new RequestMgr($nodeType);
10200969   Roipoussiere   Remove whitespace...
175
176
							$info = $objectMgr->getObject($id)->expression;
						break;
735c653b   Elena.Budnik   rank at observato...
177

10200969   Roipoussiere   Remove whitespace...
178
						case 'request':
638db58d   Benjamin Renard   RequestMgr constr...
179
						$objectMgr = new RequestMgr($nodeType);
10200969   Roipoussiere   Remove whitespace...
180
						$objplot = $objectMgr->getObject($id);
f31bea1c   Benjamin Renard   wip for save plot
181
182
183
184
185
186
						if (isset($objplot->name)) {
							$info = $objplot->name;
						}
						else {
							$info = $id;
						}
10200969   Roipoussiere   Remove whitespace...
187
						break;
735c653b   Elena.Budnik   rank at observato...
188

42c574d9   Elena.Budnik   rm 5959; alias ex...
189
190
191
192
193
194
195
196
// 						case 'alias':
// 							$info = $id;
// 							$id = 'alias_'.$id;
// 							$component_info = array();
// 							if ($child->hasAttribute("index1"))
// 								$component_info["index1"] = $child->getAttribute('index1');
// 							if ($child->hasAttribute("index2"))
// 								$component_info["index2"] = $child->getAttribute('index2');
1a0151a5   Benjamin Renard   wip
197
//
42c574d9   Elena.Budnik   rm 5959; alias ex...
198
199
// 							if ($child->hasAttribute("parentId"))
// 								$component_info["parentId"] = $child->getAttribute("parentId");
1a0151a5   Benjamin Renard   wip
200
//
42c574d9   Elena.Budnik   rm 5959; alias ex...
201
202
// 							if ($child->hasAttribute("iconCls"))
// 								$iconCls = $child->getAttribute("iconCls");
1a0151a5   Benjamin Renard   wip
203
//
42c574d9   Elena.Budnik   rm 5959; alias ex...
204
// 							if ($isLeaf) $isParameter = true;
1a0151a5   Benjamin Renard   wip
205
//
42c574d9   Elena.Budnik   rm 5959; alias ex...
206
// 						break;
735c653b   Elena.Budnik   rank at observato...
207
208

						case 'timeTable':
10200969   Roipoussiere   Remove whitespace...
209
						case 'catalog':
735c653b   Elena.Budnik   rank at observato...
210
211
							if ($isLeaf) $info = $child->getAttribute('intervals').' intervals';
						break;
10200969   Roipoussiere   Remove whitespace...
212

735c653b   Elena.Budnik   rank at observato...
213
214
						case 'sharedtimeTable':
						case 'sharedcatalog':
10200969   Roipoussiere   Remove whitespace...
215
							if ($isLeaf)
735c653b   Elena.Budnik   rank at observato...
216
217
218
219
220
221
222
223
							{
								$info = '<b>Nb intervals:</b> '.$child->getAttribute('nbIntervals').'<br/>';
								$info .= '<b>Shared by:</b> '.$child->getAttribute('sharedBy').' ('.$child->getAttribute('sharedDate').')<br/>';
								$info .= '<b>Description:</b> '.$child->getAttribute('description');
							}
						break;
						case 'derivedParam':
							$info = $child->getAttribute('buildchain');
0fea5567   Benjamin Renard   First step for re...
224

8ba47f72   Benjamin Renard   rest actualisatio...
225
226
227
228
229
230
231
							if ($child->hasAttribute('dim_1')) {
								$dim_1 = $child->getAttribute('dim_1');
							}
					                if ($child->hasAttribute('dim_2')) {
                                                                $dim_2 = $child->getAttribute('dim_2');
                                                        }

735c653b   Elena.Budnik   rank at observato...
232
233
234
235
236
237
238
239
240
241
242
							if ($isLeaf) $isParameter = true;
						break;

						case 'localParam':

							$globalStart = null;
							$globalStop = null;
							$timeRestriction = false;
							$specialNode = true;
							$isParameter = false;
							$needsArgs = false;
10200969   Roipoussiere   Remove whitespace...
243
							$isSpectra = false;
dc9e2c14   Elena.Budnik   init + message + ...
244
							$is2dSpectra = false;
735c653b   Elena.Budnik   rank at observato...
245
							$isStack = false;
e57cb025   Benjamin Renard   Fix most of error...
246
							$not_yet = false;
735c653b   Elena.Budnik   rank at observato...
247

10200969   Roipoussiere   Remove whitespace...
248
249
							if ($child->hasAttribute('desc'))
							{
735c653b   Elena.Budnik   rank at observato...
250
								$info = $child->getAttribute('desc');
10200969   Roipoussiere   Remove whitespace...
251

c57c57c9   Elena.Budnik   info message depe...
252
								if ($child->hasAttribute('dataStart') && $child->hasAttribute('dataStop')) {
10200969   Roipoussiere   Remove whitespace...
253
									$info .= "<br/>Time Range: ".$child->getAttribute('dataStart')."-".$child->getAttribute('dataStop');
0fea5567   Benjamin Renard   First step for re...
254

a7316784   Elena.Budnik   add LastUpdate to...
255
256
257
									if ($child->hasAttribute('lastUpdate')) {
										$info .= "<br/>Last Updated: : ".$child->getAttribute('lastUpdate');
									}
735c653b   Elena.Budnik   rank at observato...
258
								}
10200969   Roipoussiere   Remove whitespace...
259

c57c57c9   Elena.Budnik   info message depe...
260
								if ($child->getAttribute('dataStart') == 'depending on mission') {
735c653b   Elena.Budnik   rank at observato...
261
									$info .= "<br/>Time Range: ".$child->getAttribute('dataStart');
10200969   Roipoussiere   Remove whitespace...
262
								}
0fea5567   Benjamin Renard   First step for re...
263

f29c5e66   Elena.Budnik   plot only option
264
265
266
267
// 								if ($child->getAttribute('restriction') > 1) {
// 									$restricted  = $child->getAttribute('restriction');
// 									$info .= "<br/><b>Time Restriction</b>: -$restricted days";
// 								}
735c653b   Elena.Budnik   rank at observato...
268
							}
10200969   Roipoussiere   Remove whitespace...
269

cbbbdc34   Elena.Budnik   param description...
270
							if ($child->hasAttribute('units')) {
0fea5567   Benjamin Renard   First step for re...
271

cbbbdc34   Elena.Budnik   param description...
272
								$units = $child->getAttribute('units');
0fea5567   Benjamin Renard   First step for re...
273

cbbbdc34   Elena.Budnik   param description...
274
275
								if ($child->hasAttribute('description'))
									$info = $child->getAttribute('description')."<br/>".$units;
0fea5567   Benjamin Renard   First step for re...
276
								else
cbbbdc34   Elena.Budnik   param description...
277
278
									$info = $units;
							}
0fea5567   Benjamin Renard   First step for re...
279

f29c5e66   Elena.Budnik   plot only option
280
							if ($child->tagName == 'parameter') {
735c653b   Elena.Budnik   rank at observato...
281
								$isParameter = true;
735c653b   Elena.Budnik   rank at observato...
282

c57c57c9   Elena.Budnik   info message depe...
283
								if ($child->parentNode->hasAttribute('dataStart')) {
735c653b   Elena.Budnik   rank at observato...
284
									$globalStart = $child->parentNode->getAttribute('dataStart');
10200969   Roipoussiere   Remove whitespace...
285
									$globalStop = $child->parentNode->getAttribute('dataStop');
735c653b   Elena.Budnik   rank at observato...
286
								}
0fea5567   Benjamin Renard   First step for re...
287

f29c5e66   Elena.Budnik   plot only option
288
289
290
291
								if ($child->parentNode->hasAttribute('restriction')) {
									if ($child->parentNode->getAttribute('restriction') == "plotOnly") {
										$not_yet = true;
									}
10200969   Roipoussiere   Remove whitespace...
292
								}
f29c5e66   Elena.Budnik   plot only option
293
294
295
// 								if ($child->parentNode->getAttribute('restriction') > 1 ) {
// 									$timeRestriction = true;
// 								}
735c653b   Elena.Budnik   rank at observato...
296
							}
10200969   Roipoussiere   Remove whitespace...
297

735c653b   Elena.Budnik   rank at observato...
298
299
300
301
							$component_info = array();
							if ($child->tagName == 'component')
							{
								$isParameter = true;
735c653b   Elena.Budnik   rank at observato...
302

c57c57c9   Elena.Budnik   info message depe...
303
								if ($child->parentNode->parentNode->hasAttribute('dataStart')) {
735c653b   Elena.Budnik   rank at observato...
304
									$globalStart = $child->parentNode->parentNode->getAttribute('dataStart');
10200969   Roipoussiere   Remove whitespace...
305
306
									$globalStop = $child->parentNode->parentNode->getAttribute('dataStop');
								}
0fea5567   Benjamin Renard   First step for re...
307

f29c5e66   Elena.Budnik   plot only option
308
309
310
311
								if ($child->parentNode->parentNode->hasAttribute('restriction')) {
									if ($child->parentNode->parentNode->getAttribute('restriction') == "plotOnly") {
										$not_yet = true;
									}
10200969   Roipoussiere   Remove whitespace...
312
								}
f29c5e66   Elena.Budnik   plot only option
313
314
315
// 								if ($child->parentNode->parentNode->getAttribute('restriction') > 1) {
// 									$timeRestriction = true;
// 								}
735c653b   Elena.Budnik   rank at observato...
316
317
318
319
320

								if ($child->hasAttribute("index1"))
									$component_info["index1"] = $child->getAttribute('index1');
								if ($child->hasAttribute("index2"))
									$component_info["index2"] = $child->getAttribute('index2');
10200969   Roipoussiere   Remove whitespace...
321

735c653b   Elena.Budnik   rank at observato...
322
323
								$component_info["parentId"] = $child->parentNode->getAttribute('xml:id');
							}
10200969   Roipoussiere   Remove whitespace...
324

f29c5e66   Elena.Budnik   plot only option
325
							if ($child->tagName == 'parameter' && $child->hasAttribute('display_type')){
c57c57c9   Elena.Budnik   info message depe...
326
								if ($child->getAttribute('display_type') == 'spectrogram') {
10200969   Roipoussiere   Remove whitespace...
327
328
										$needsArgs = true;
										$isSpectra = true;
dc9e2c14   Elena.Budnik   init + message + ...
329
330
										if (strpos($child->getAttribute('name'),'2D') !== false)
											$is2dSpectra = true;
735c653b   Elena.Budnik   rank at observato...
331
								}
c57c57c9   Elena.Budnik   info message depe...
332
								elseif ($child->getAttribute('display_type') == 'stackplot') {
735c653b   Elena.Budnik   rank at observato...
333
										$isStack = true;
735c653b   Elena.Budnik   rank at observato...
334
								}
10200969   Roipoussiere   Remove whitespace...
335
336
							}

f31bea1c   Benjamin Renard   wip for save plot
337

c57c57c9   Elena.Budnik   info message depe...
338
							if ($isParameter) {
735c653b   Elena.Budnik   rank at observato...
339
340
								$objectMgr = new AliasMgr();
								$alias = $objectMgr->getAlias($id);
10200969   Roipoussiere   Remove whitespace...
341

661293d7   Elena.Budnik   parse ## and @@ i...
342
								$childrenToReturn[] = array('text' => $name,'alias' => $alias,
735c653b   Elena.Budnik   rank at observato...
343
344
									'id' => $id,'nodeType' => $nodeType, 'info' => $info, "component_info" => $component_info,
									'globalStart' => $globalStart, 'globalStop' => $globalStop, 'timeRestriction' => $timeRestriction,
dc9e2c14   Elena.Budnik   init + message + ...
345
346
									'leaf' => $isLeaf, 'isParameter' => $isParameter,'isSpectra' => $isSpectra,
									'is2dSpectra' => $is2dSpectra,'isStack' => $isStack, 'needsArgs' => $needsArgs, 'help' => $help, 'notyet' => $not_yet);
735c653b   Elena.Budnik   rank at observato...
347
							}
c57c57c9   Elena.Budnik   info message depe...
348
							else {
c57c57c9   Elena.Budnik   info message depe...
349
								if ($child->tagName == 'mission' || $child->tagName == 'observatory') {
735c653b   Elena.Budnik   rank at observato...
350
351
									$rank = $child->getAttribute('rank');
								}
0fea5567   Benjamin Renard   First step for re...
352

acf87705   Elena.Budnik   bug in disable param
353
354
								$disable = $child->hasAttribute('group');

c57c57c9   Elena.Budnik   info message depe...
355
								if ($disable) {
c3976709   Elena.Budnik   rm 7589 + clean u...
356
357
									if ($child->getAttribute("group") === "TBD") {
											$info .=  "<br/><b>Under Testing</b>";
c57c57c9   Elena.Budnik   info message depe...
358
										}
10200969   Roipoussiere   Remove whitespace...
359
									else {
c3976709   Elena.Budnik   rm 7589 + clean u...
360
										$info .= "<br/><b>Restricted Access : Group ".$child->getAttribute('group')."</b>";
735c653b   Elena.Budnik   rank at observato...
361
									}
0fea5567   Benjamin Renard   First step for re...
362
								}
acf87705   Elena.Budnik   bug in disable param
363
364
365
								else {
									if ($child->hasAttribute('restriction') && $child->getAttribute('restriction') == 'plotOnly')
										$info .=  "<br/><b>Plot Only!!!</b>";
735c653b   Elena.Budnik   rank at observato...
366
367
								}

10200969   Roipoussiere   Remove whitespace...
368
369
								$childrenToReturn[] = array('text' => $name, 'id' => $id,'nodeType' => $nodeType,  'info' => $info,
									'leaf' => false, 'help' => $help, 'disable' => $disable, 'rank' => $rank);
735c653b   Elena.Budnik   rank at observato...
370
371
372
373
							}
						break;

						case 'remoteSimuParam' :
10200969   Roipoussiere   Remove whitespace...
374

bf74fc2d   Elena.Budnik   IMPEX
375
							$globalStart = null;
6657f68b   Elena.Budnik   monitor impex ser...
376
							$service_down = false;
735c653b   Elena.Budnik   rank at observato...
377
							$isSimulation = true;
10200969   Roipoussiere   Remove whitespace...
378
379

			            if ($child->getAttribute('isAddable')) // 'spase://IMPEX/SimulationModel/FMI/GUMICS'
735c653b   Elena.Budnik   rank at observato...
380
381
382
383
							{
								$isLeaf = false;
								$isAddable = true;
							}
10200969   Roipoussiere   Remove whitespace...
384
385

							if ($child->tagName == 'dataCenter')
735c653b   Elena.Budnik   rank at observato...
386
							{
10200969   Roipoussiere   Remove whitespace...
387
								if ($child->getAttribute('isSimulation'))
6657f68b   Elena.Budnik   monitor impex ser...
388
								{
10200969   Roipoussiere   Remove whitespace...
389
390
									$service_down = !($child->getAttribute('available'));
									break;
6657f68b   Elena.Budnik   monitor impex ser...
391
								}
10200969   Roipoussiere   Remove whitespace...
392
								else
735c653b   Elena.Budnik   rank at observato...
393
394
395
396
397
								{
									$skip = true;
									break;
								}
							}
10200969   Roipoussiere   Remove whitespace...
398
399

							if ($child->hasAttribute('rank'))
735c653b   Elena.Budnik   rank at observato...
400
401
402
							{
								$rank = $child->getAttribute('rank');
							}
10200969   Roipoussiere   Remove whitespace...
403

bf74fc2d   Elena.Budnik   IMPEX
404
405
							if ( $child->tagName == 'parameter')
							{
abb54096   Elena.Budnik   time interval by ...
406
								if ($child->parentNode->hasAttribute('globalStart'))
bf74fc2d   Elena.Budnik   IMPEX
407
									{
abb54096   Elena.Budnik   time interval by ...
408
409
										$globalStart = $child->parentNode->getAttribute('globalStart');
										$globalStop = $child->parentNode->getAttribute('globalStop');
bf74fc2d   Elena.Budnik   IMPEX
410
411
									}
							}
10200969   Roipoussiere   Remove whitespace...
412

bf74fc2d   Elena.Budnik   IMPEX
413
414
							if ( $child->tagName == 'component')
							{
abb54096   Elena.Budnik   time interval by ...
415
								if ($child->parentNode->parentNode->hasAttribute('globalStart'))
bf74fc2d   Elena.Budnik   IMPEX
416
									{
abb54096   Elena.Budnik   time interval by ...
417
418
										$globalStart = $child->parentNode->parentNode->getAttribute('globalStart');
										$globalStop = $child->parentNode->parentNode->getAttribute('globalStop');
bf74fc2d   Elena.Budnik   IMPEX
419
420
									}
							}
10200969   Roipoussiere   Remove whitespace...
421

735c653b   Elena.Budnik   rank at observato...
422
						case 'remoteParam' :
10200969   Roipoussiere   Remove whitespace...
423
424

							if ($child->getAttribute('isSimulation') && $child->tagName == 'dataCenter')
735c653b   Elena.Budnik   rank at observato...
425
426
427
428
429
430
431
							{
								$skip = true;
								break;
							}

							$isDeletable = $child->hasAttribute('isDeletable');
							$specialNode = true;
10200969   Roipoussiere   Remove whitespace...
432
433
434
435
436
							$isParameter = false;

							$isSpectra = false;

							switch ($id)
735c653b   Elena.Budnik   rank at observato...
437
							{
10200969   Roipoussiere   Remove whitespace...
438
								case 'CDAWEB'  :
735c653b   Elena.Budnik   rank at observato...
439
440
441
								case 'THEMIS' :
									$rank = 5;
									break;
735c653b   Elena.Budnik   rank at observato...
442
443
								default:
							}
10200969   Roipoussiere   Remove whitespace...
444

735c653b   Elena.Budnik   rank at observato...
445
446
							$info = $child->getAttribute('desc');

10200969   Roipoussiere   Remove whitespace...
447
448
							if ($info && !$isSimulation)
							{
735c653b   Elena.Budnik   rank at observato...
449
								$info = str_replace(';', "<br/>Time Range: ", $info);
10200969   Roipoussiere   Remove whitespace...
450
451
452
							}

							if (($child->tagName == 'parameter') || ($child->tagName == 'component'))
735c653b   Elena.Budnik   rank at observato...
453
454
							{
								$isParameter = true;
735c653b   Elena.Budnik   rank at observato...
455
							}
10200969   Roipoussiere   Remove whitespace...
456

9a63b7f6   Elena.Budnik   needsArgs to Simu...
457
							$needsArgs =  $child->getAttribute('needsArgs');
735c653b   Elena.Budnik   rank at observato...
458

10200969   Roipoussiere   Remove whitespace...
459
							if ($remoteBase)
735c653b   Elena.Budnik   rank at observato...
460
							{
10200969   Roipoussiere   Remove whitespace...
461
								if ($child->tagName == 'dataset') $isRemoteDataSet = true;
735c653b   Elena.Budnik   rank at observato...
462
							}
0fea5567   Benjamin Renard   First step for re...
463

a0f13ed1   Elena.Budnik   small format + ti...
464
465
466
467
468
469
							if ($child->tagName == 'parameter'){
								if ($child->parentNode->hasAttribute('dataStart')){
									$globalStart = date('Y-m-d\TH:i:s\Z', strtotime($child->parentNode->getAttribute('dataStart')));
									$globalStop = date('Y-m-d\TH:i:s\Z',  strtotime($child->parentNode->getAttribute('dataStop')));
								}
							}
735c653b   Elena.Budnik   rank at observato...
470

a0f13ed1   Elena.Budnik   small format + ti...
471
472
473
474
475
476
							if ( $child->tagName == 'component'){
								if ($child->parentNode->parentNode->hasAttribute('dataStart')){
									$globalStart = date('Y-m-d\TH:i:s\Z', strtotime($child->parentNode->getAttribute('dataStart')));
									$globalStop = date('Y-m-d\TH:i:s\Z',  strtotime($child->parentNode->getAttribute('dataStop')));
								}
							}
0fea5567   Benjamin Renard   First step for re...
477

10200969   Roipoussiere   Remove whitespace...
478
							if ($isParameter)
735c653b   Elena.Budnik   rank at observato...
479
							{
10200969   Roipoussiere   Remove whitespace...
480
								$disable = $child->parentNode->getAttribute('disabled');
735c653b   Elena.Budnik   rank at observato...
481
482
483
484
485
								$objectMgr = new AliasMgr();
								$alias = $objectMgr->getAlias($id);

								if ($child->hasAttribute('display_type') && $child->getAttribute('display_type') == 'spectrogram')
								{
10200969   Roipoussiere   Remove whitespace...
486
									$needsArgs = true;
735c653b   Elena.Budnik   rank at observato...
487
									$isSpectra = true;
10200969   Roipoussiere   Remove whitespace...
488
								}
bf74fc2d   Elena.Budnik   IMPEX
489
								if ($globalStart)
10200969   Roipoussiere   Remove whitespace...
490
								 $childrenToReturn[] = array('text' => $name,'alias' => $alias,
bf74fc2d   Elena.Budnik   IMPEX
491
										'id' => $id,'nodeType' => $nodeType,  'info' => $info, 'help' => $help,  'globalStart' => $globalStart,
10200969   Roipoussiere   Remove whitespace...
492
										'globalStop' => $globalStop, 'leaf' => $isLeaf, 'disable' => $disable, 'isParameter' => $isParameter,
1c007ca2   Elena.Budnik   vector icon for M...
493
										'isSpectra' => $isSpectra, 'needsArgs' => $needsArgs, "component_info" => isset($component_info) ? $component_info : NULL);
bf74fc2d   Elena.Budnik   IMPEX
494
								else
10200969   Roipoussiere   Remove whitespace...
495
									$childrenToReturn[] = array('text' => $name,'alias' => $alias,
bf74fc2d   Elena.Budnik   IMPEX
496
										'id' => $id,'nodeType' => $nodeType,  'info' => $info, 'help' => $help,
10200969   Roipoussiere   Remove whitespace...
497
										'leaf' => $isLeaf, 'disable' => $disable, 'isParameter' => $isParameter,
1c007ca2   Elena.Budnik   vector icon for M...
498
										'isSpectra' => $isSpectra, 'needsArgs' => $needsArgs, "component_info" => $component_info);
735c653b   Elena.Budnik   rank at observato...
499
							}
10200969   Roipoussiere   Remove whitespace...
500
501
							else
							{
e57cb025   Benjamin Renard   Fix most of error...
502
								$restricted = FALSE;
0fea5567   Benjamin Renard   First step for re...
503

735c653b   Elena.Budnik   rank at observato...
504
								if ($child->tagName == 'dataset')
6657f68b   Elena.Budnik   monitor impex ser...
505
								{
735c653b   Elena.Budnik   rank at observato...
506
									$nonavailable = ($child->getAttribute('disabled'));
6657f68b   Elena.Budnik   monitor impex ser...
507
								}
735c653b   Elena.Budnik   rank at observato...
508
								else
6657f68b   Elena.Budnik   monitor impex ser...
509
								{
735c653b   Elena.Budnik   rank at observato...
510
									$nonavailable = false;
6657f68b   Elena.Budnik   monitor impex ser...
511
								}
10200969   Roipoussiere   Remove whitespace...
512

735c653b   Elena.Budnik   rank at observato...
513
514
515
516
517
518
								if ($nonavailable)
									$info .= "<br/><b>Not available yet</b>";

								if ($child->getAttribute('url'))
									$info .= "<br/>".$child->getAttribute('url');

10200969   Roipoussiere   Remove whitespace...
519
								if ($child->hasAttribute('obsolete'))
735c653b   Elena.Budnik   rank at observato...
520
521
522
523
524
525
526
527
								{
									$info = $child->getAttribute('desc');
									$obsolete = true;
								}
								else
									$obsolete = false;

								$disable = $restricted || $nonavailable || $obsolete;
10200969   Roipoussiere   Remove whitespace...
528

735c653b   Elena.Budnik   rank at observato...
529
								$childrenToReturn[] = array('text' => $name, 'id' => $id,'nodeType' => $nodeType,  'isAddable' => $isAddable,
10200969   Roipoussiere   Remove whitespace...
530
531
532
								'info' => $info, 'leaf' => false, 'isRemoteDataSet' => $isRemoteDataSet, 'disable' => $disable,
								'isSimulation' => $isSimulation, 'rank' => $rank, 'isDeletable' => $isDeletable, 'help' => $help);
							}
735c653b   Elena.Budnik   rank at observato...
533
						break;
10200969   Roipoussiere   Remove whitespace...
534
535
536

						case 'myData' :
							$info = $child->hasAttribute('info') ? $child->getAttribute('info') : $child->nodeValue;
735c653b   Elena.Budnik   rank at observato...
537
538
539
540
541
542
543
544
						break;

						case 'myDataParam' :

							$globalStart = null;
							$globalStop = null;
							$specialNode = true;
							$size = $child->getAttribute('size');
735c653b   Elena.Budnik   rank at observato...
545
							$mask = $child->getAttribute('mask');
19dcd963   Elena.Budnik   redmine #4903 : s...
546
							$sampling = null;
0fea5567   Benjamin Renard   First step for re...
547
							if ($child->hasAttribute('minsampling'))
19dcd963   Elena.Budnik   redmine #4903 : s...
548
								$sampling = $child->getAttribute('minsampling');
735c653b   Elena.Budnik   rank at observato...
549
							$isSpectra = false;
10200969   Roipoussiere   Remove whitespace...
550
551

							if ($isLeaf)
735c653b   Elena.Budnik   rank at observato...
552
553
554
							{
									$isParameter = true;
									$info = "Size: ".$size."<br/>".$child->getAttribute('desc')."<br/> Mask: ".$mask;
19dcd963   Elena.Budnik   redmine #4903 : s...
555
556
									if ($sampling)
										$info .= "<br/> Sampling : ".$sampling;
735c653b   Elena.Budnik   rank at observato...
557
558
559
									$isSpectra = $child->getAttribute('plottype') === 'Spectra';
							}

10200969   Roipoussiere   Remove whitespace...
560
							if ($child->hasAttribute('desc'))
735c653b   Elena.Budnik   rank at observato...
561
562
563
564
565
							{
									$globalStart = substr($child->getAttribute('desc'), 0, 19);
									$globalStop =  substr($child->getAttribute('desc'), 20);
							}

10200969   Roipoussiere   Remove whitespace...
566
							$childrenToReturn[] = array('text' => $name, 'size' =>  $size, 'id' => $id,
735c653b   Elena.Budnik   rank at observato...
567
								'globalStart' => $globalStart, 'globalStop' => $globalStop,
1c007ca2   Elena.Budnik   vector icon for M...
568
								'nodeType' => $nodeType, 'info' => $info,  'leaf' => $isLeaf,
735c653b   Elena.Budnik   rank at observato...
569
570
571
								'isParameter' => $isParameter, 'linkedMask' => $mask, 'isSpectra' => $isSpectra);

						break;
10200969   Roipoussiere   Remove whitespace...
572
						default:
735c653b   Elena.Budnik   rank at observato...
573
					}
10200969   Roipoussiere   Remove whitespace...
574
575

					if (!$specialNode && !$skip)
735c653b   Elena.Budnik   rank at observato...
576
					{
10200969   Roipoussiere   Remove whitespace...
577
						if ($child->hasAttribute('desc'))
735c653b   Elena.Budnik   rank at observato...
578
							$info = $child->getAttribute('desc');
10200969   Roipoussiere   Remove whitespace...
579
580

						if ($isSimulation && $service_down)
6657f68b   Elena.Budnik   monitor impex ser...
581
582
583
						{
							$info = "<b>Service is currently down</b>";
						}
10200969   Roipoussiere   Remove whitespace...
584
585

						$childrenToReturn[] = array('text' => $name, 'id' => $id, 'nodeType' => $nodeType, 'info' => $info,
2048f5bc   Benjamin Renard   Fix save & edit plot
586
													'help' => $help, 'leaf' => $isLeaf, 'isParameter' => $isParameter, 'dim_1' => $dim_1, 'dim_2' => $dim_2,
0fea5567   Benjamin Renard   First step for re...
587
													'component_info' => isset($component_info) ? $component_info : NULL,
cbbbdc34   Elena.Budnik   param description...
588
													'iconCls' => isset($iconCls) ? $iconCls : NULL );
735c653b   Elena.Budnik   rank at observato...
589
590
591
					}
				}
				// if $childrenToReturn we have to return []
e57cb025   Benjamin Renard   Fix most of error...
592
				if (empty($childrenToReturn))
10200969   Roipoussiere   Remove whitespace...
593
				{
735c653b   Elena.Budnik   rank at observato...
594
595
596
					$childrenToReturn = array('nodeType' => $nodeType, 'text' => null);
				}
			}
16035364   Benjamin Renard   First commit
597
      return  $childrenToReturn;
735c653b   Elena.Budnik   rank at observato...
598
	}
16035364   Benjamin Renard   First commit
599

0dc31ba8   Elena.Budnik   remoteParamManage...
600
601
602
	/*
	*  add Remote Parameter to user RemoteParams.xml
	*  send request to DDServer to AddVi if Vi doesn't exist
0fea5567   Benjamin Renard   First step for re...
603
	*  create Remote Parameter Description
0dc31ba8   Elena.Budnik   remoteParamManage...
604
	*/
10200969   Roipoussiere   Remove whitespace...
605
	public  function saveTree($obj)
735c653b   Elena.Budnik   rank at observato...
606
	{
0dc31ba8   Elena.Budnik   remoteParamManage...
607
		$paramMgr = new RemoteParamManager();
2b8ea2a7   Elena.Budnik   RemoteParamManage...
608
		$res = $paramMgr->init();
0fea5567   Benjamin Renard   First step for re...
609

2b8ea2a7   Elena.Budnik   RemoteParamManage...
610
611
		if ($res['success'])
			return $paramMgr->saveTree($obj);
0fea5567   Benjamin Renard   First step for re...
612
		else
2b8ea2a7   Elena.Budnik   RemoteParamManage...
613
			return $res;
735c653b   Elena.Budnik   rank at observato...
614
	}
0fea5567   Benjamin Renard   First step for re...
615

0dc31ba8   Elena.Budnik   remoteParamManage...
616
617
618
	/*
	*  delete Remote Parameter from user RemoteParams.xml
	*/
10200969   Roipoussiere   Remove whitespace...
619
620
	public  function deleteFromTree($obj)
	{
0dc31ba8   Elena.Budnik   remoteParamManage...
621
		$paramMgr = new RemoteParamManager();
2b8ea2a7   Elena.Budnik   RemoteParamManage...
622
		$res = $paramMgr->init();
0fea5567   Benjamin Renard   First step for re...
623

2b8ea2a7   Elena.Budnik   RemoteParamManage...
624
625
		if ($res['success'])
			return $paramMgr->deleteFromTree($obj);
0fea5567   Benjamin Renard   First step for re...
626
		else
2b8ea2a7   Elena.Budnik   RemoteParamManage...
627
			return $res;
9a63b7f6   Elena.Budnik   needsArgs to Simu...
628
	}
0fea5567   Benjamin Renard   First step for re...
629

0dc31ba8   Elena.Budnik   remoteParamManage...
630
631
632
633
	public  function doNothing($obj)
	{
		return array("res" => 'ok');
	}
16035364   Benjamin Renard   First commit
634

0dc31ba8   Elena.Budnik   remoteParamManage...
635
636
637
	/*
	*  get temporary object from Upload
	*/
9a63b7f6   Elena.Budnik   needsArgs to Simu...
638
	public  function getUploadedObject($name, $format, $nodeType)
10200969   Roipoussiere   Remove whitespace...
639
	{
5f8bd1f5   NathanaĆ«l Jourdane   Fix Windows-files...
640
641
642
		$fileContent = preg_replace(['~\R~u', "/\t/"], ["\n", ' '], trim(file_get_contents(USERTEMPDIR . $name)));
		file_put_contents(USERTEMPDIR . $name, $fileContent);

42e2e019   Benjamin Renard   Next step for cac...
643
		$isTTCat = FALSE;
10200969   Roipoussiere   Remove whitespace...
644
		switch ($nodeType)
9a63b7f6   Elena.Budnik   needsArgs to Simu...
645
		{
10200969   Roipoussiere   Remove whitespace...
646
647
			case 'timeTable' :
				$objectMgr = new TimeTableMgr();
42e2e019   Benjamin Renard   Next step for cac...
648
				$isTTCat = TRUE;
9a63b7f6   Elena.Budnik   needsArgs to Simu...
649
				break;
10200969   Roipoussiere   Remove whitespace...
650
651
652
653
654
			case 'myDataParam' :
				$objectMgr = new FilesMgr();
				break;
			case 'catalog' :
				$objectMgr = new CatalogMgr();
42e2e019   Benjamin Renard   Next step for cac...
655
				$isTTCat = TRUE;
9a63b7f6   Elena.Budnik   needsArgs to Simu...
656
				break;
9a63b7f6   Elena.Budnik   needsArgs to Simu...
657
658
659
			default:
				return array("error" => $nodeType." NOT_IMPLEMENTED_YET");
		}
42e2e019   Benjamin Renard   Next step for cac...
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
		if ($isTTCat) {
			//Pre-process: convert to INTERNAL format if needed
			if (($format == 'ASCII') || ($format == 'VOT')) {
				$result = $this->executeRequest((Object) array(
					'compression' => 'none',
					'fileformat' => 'internal',
					'sendToSamp' => FALSE,
					'list' => array(
						(Object) array(
							'path' => USERTEMPDIR . $name,
							'format' => $format,
							'name' => pathinfo($name, PATHINFO_FILENAME),
						)
					),
				), FunctionTypeEnumClass::TTCONVERT);
				if (!$result['success']) {
					return array("error" => "Error during file conversion");
				}
				$name = basename($result['download']);
				$convertedFile = USERDIR.'/DOWNLOAD.TEMP/'.$name;
				if (!file_exists($convertedFile)) {
					return array("error" => "Error during file conversion");
				}

				$format = 'internal';
				rename($convertedFile, USERTEMPDIR . '/' . $name);
			}
		}
bf74fc2d   Elena.Budnik   IMPEX
688
		return  $objectMgr->getUploadedObject($name, $format, true);
10200969   Roipoussiere   Remove whitespace...
689
	}
16035364   Benjamin Renard   First commit
690

0dc31ba8   Elena.Budnik   remoteParamManage...
691
692
693
	/*
	*  fill ascii file into grid
	*/
10200969   Roipoussiere   Remove whitespace...
694
695
696
	public  function getAsciiFile($obj)
	{
		$objectMgr = new FilesMgr();
bf74fc2d   Elena.Budnik   IMPEX
697
		return  $objectMgr->getAsciiFile($obj->fileName);
735c653b   Elena.Budnik   rank at observato...
698
	}
10200969   Roipoussiere   Remove whitespace...
699
700
701
702

	public function getMyParamInfo($object)
	{
		$objectMgr = new FilesMgr();
bf74fc2d   Elena.Budnik   IMPEX
703
		return  $objectMgr->getParamInfo($object);
10200969   Roipoussiere   Remove whitespace...
704
	}
16035364   Benjamin Renard   First commit
705

0dc31ba8   Elena.Budnik   remoteParamManage...
706
707
708
	/*
	*  get temporary object from Search
	*/
10200969   Roipoussiere   Remove whitespace...
709
710
711
	public  function getTmpObject($folderId, $name, $nodeType)
	{
		switch ($nodeType)
735c653b   Elena.Budnik   rank at observato...
712
		{
10200969   Roipoussiere   Remove whitespace...
713
714
715
			case 'timeTable' :
				$objectMgr = new TimeTableMgr();
			break;
735c653b   Elena.Budnik   rank at observato...
716
			case 'catalog' :
10200969   Roipoussiere   Remove whitespace...
717
718
				$objectMgr = new CatalogMgr();
			break;
735c653b   Elena.Budnik   rank at observato...
719
720
721
			default:
				return array("error" => $nodeType." NOT_IMPLEMENTED_YET");
		}
bf74fc2d   Elena.Budnik   IMPEX
722
		return  $objectMgr->getTmpObject($folderId, $name, true);
fdf1413b   Elena.Budnik   TT download
723
	}
735c653b   Elena.Budnik   rank at observato...
724

10200969   Roipoussiere   Remove whitespace...
725
726
727
728

	public  function getObject($id, $nodeType)
	{
		switch ($nodeType)
735c653b   Elena.Budnik   rank at observato...
729
730
		{
			case 'myDataParam':
10200969   Roipoussiere   Remove whitespace...
731
732
			case 'derivedParam' :
				$objectMgr = new DerivedParamMgr($nodeType);
735c653b   Elena.Budnik   rank at observato...
733
				break;
10200969   Roipoussiere   Remove whitespace...
734
			case 'timeTable' :
735c653b   Elena.Budnik   rank at observato...
735
			case 'sharedtimeTable' :
10200969   Roipoussiere   Remove whitespace...
736
737
				$objectMgr = new TimeTableMgr();
				break;
735c653b   Elena.Budnik   rank at observato...
738
739
			case 'catalog' :
			case 'sharedcatalog' :
10200969   Roipoussiere   Remove whitespace...
740
741
742
				$objectMgr = new CatalogMgr();
				break;
			case 'condition' :
735c653b   Elena.Budnik   rank at observato...
743
			case 'request' :
10200969   Roipoussiere   Remove whitespace...
744
745
				$objectMgr = new RequestMgr($nodeType);
				break;
0fea5567   Benjamin Renard   First step for re...
746
			case 'bkgWorks' :
735c653b   Elena.Budnik   rank at observato...
747
748
749
				return $this->executeRequest($id, FunctionTypeEnumClass::PROCESSGETINFO);
				break;
			case 'myData' :
10200969   Roipoussiere   Remove whitespace...
750
				$objectMgr = new FilesMgr();
735c653b   Elena.Budnik   rank at observato...
751
				break;
10200969   Roipoussiere   Remove whitespace...
752
			default:
735c653b   Elena.Budnik   rank at observato...
753
754
				return array("error" => $nodeType." NOT_IMPLEMENTED_YET");
		}
bf74fc2d   Elena.Budnik   IMPEX
755
		return  $objectMgr->getObject($id, $nodeType);
fdf1413b   Elena.Budnik   TT download
756
	}
10200969   Roipoussiere   Remove whitespace...
757

16035364   Benjamin Renard   First commit
758
759
760
/*
*   $obj = { id: node.id, leaf: node.leaf, nodeType: node.nodeType }
*/
10200969   Roipoussiere   Remove whitespace...
761
762
763
764
765
766
767
	public  function deleteObject($obj)
	{
		switch ($obj->nodeType)
		{
			case 'myDataParam' :
			case 'derivedParam' :
				$objectMgr = new DerivedParamMgr($obj->nodeType);
735c653b   Elena.Budnik   rank at observato...
768
				break;
10200969   Roipoussiere   Remove whitespace...
769
770
771
772
773
			case 'timeTable' :
				$objectMgr = new TimeTableMgr();
				break;
			case 'catalog' :
				$objectMgr = new CatalogMgr();
735c653b   Elena.Budnik   rank at observato...
774
				break;
10200969   Roipoussiere   Remove whitespace...
775
			case 'condition' :
735c653b   Elena.Budnik   rank at observato...
776
			case 'request' :
10200969   Roipoussiere   Remove whitespace...
777
				$objectMgr = new RequestMgr($obj->nodeType);
735c653b   Elena.Budnik   rank at observato...
778
779
780
781
				break;
			case 'alias' :
				$objectMgr = new AliasMgr();
				$obj->id = substr($obj->id,strlen('alias_'));
10200969   Roipoussiere   Remove whitespace...
782
				break;
735c653b   Elena.Budnik   rank at observato...
783
			case 'bkgWorks' :
735c653b   Elena.Budnik   rank at observato...
784
785
786
				return $this->executeRequest($obj, FunctionTypeEnumClass::PROCESSDELETE);

			case 'myData' :
16035364   Benjamin Renard   First commit
787
				$objectMgr = new FilesMgr();
735c653b   Elena.Budnik   rank at observato...
788
789
790
791
792
793
				break;
			default:
					return array("error" => $obj->nodeType." NOT_IMPLEMENTED_YET");
		}
		return  $objectMgr -> deleteObject($obj);
	}
16035364   Benjamin Renard   First commit
794
795
796
797

/*
*   $obj = { id: node.id, old_name: node.text, name: value,  parent : node.parentNode.id, leaf: node.leaf, nodeType: node.nodeType }
*/
10200969   Roipoussiere   Remove whitespace...
798
799
800
	public  function renameObject($obj)
	{
		switch ($obj->nodeType)
735c653b   Elena.Budnik   rank at observato...
801
		{
10200969   Roipoussiere   Remove whitespace...
802

16035364   Benjamin Renard   First commit
803
		  case 'myDataParam' :
10200969   Roipoussiere   Remove whitespace...
804
805
806
807
808
		  case 'derivedParam' :
			   $objectMgr = new DerivedParamMgr($obj->nodeType);
			   break;
		  case 'timeTable' :
			   $objectMgr = new TimeTableMgr();
16035364   Benjamin Renard   First commit
809
			   break;
10200969   Roipoussiere   Remove whitespace...
810
811
		  case 'catalog' :
			   $objectMgr = new CatalogMgr();
d18b535d   elena   catalog draft + c...
812
			   break;
10200969   Roipoussiere   Remove whitespace...
813
814
		  case 'condition' :
		  case 'request' :
10200969   Roipoussiere   Remove whitespace...
815
			   $objectMgr = new RequestMgr($obj->nodeType);
16035364   Benjamin Renard   First commit
816
817
			   break;
		  case 'alias' :
10200969   Roipoussiere   Remove whitespace...
818
819
		  	   $objectMgr = new AliasMgr();
		  	   break;
16035364   Benjamin Renard   First commit
820
821
		  default:
			    return array("error" => $obj->nodeType." NOT_IMPLEMENTED_YET");
735c653b   Elena.Budnik   rank at observato...
822
		}
16035364   Benjamin Renard   First commit
823

735c653b   Elena.Budnik   rank at observato...
824
825
		return  $objectMgr -> renameObject($obj);
	}
16035364   Benjamin Renard   First commit
826

10200969   Roipoussiere   Remove whitespace...
827
/*
16035364   Benjamin Renard   First commit
828
829
*   $obj = { name: obj.name, obj.nodeType, obj.leaf (??), OBJ DEPENDENT ATTRIBUTES }
*/
10200969   Roipoussiere   Remove whitespace...
830
831
832
	public  function createObject($obj, $folder)
	{
		switch ($obj->nodeType)
9a63b7f6   Elena.Budnik   needsArgs to Simu...
833
		{
10200969   Roipoussiere   Remove whitespace...
834
			case 'myDataParam' :
9a63b7f6   Elena.Budnik   needsArgs to Simu...
835
			case 'derivedParam' :
10200969   Roipoussiere   Remove whitespace...
836
				if ($obj->nodeType == 'derivedParam' &&  $this->amdaStat->success)
2dab1b1b   Elena.Budnik   change input args...
837
						$this->amdaStat->addTask($this->user, 'create', null);
10200969   Roipoussiere   Remove whitespace...
838
				$objectMgr = new DerivedParamMgr($obj->nodeType);
8ba47f72   Benjamin Renard   rest actualisatio...
839
                 	break;
10200969   Roipoussiere   Remove whitespace...
840
841
842
843
844
			case 'timeTable' :
				$objectMgr = new TimeTableMgr();
				break;
			case 'catalog' :
				$objectMgr = new CatalogMgr();
16035364   Benjamin Renard   First commit
845
			   break;
9a63b7f6   Elena.Budnik   needsArgs to Simu...
846
			case 'condition' :
10200969   Roipoussiere   Remove whitespace...
847
848
849
			case 'request' :
				$objectMgr = new RequestMgr($obj->nodeType);
				break;
9a63b7f6   Elena.Budnik   needsArgs to Simu...
850
			case 'alias' :
10200969   Roipoussiere   Remove whitespace...
851
852
				$objectMgr = new AliasMgr();
				break;
9a63b7f6   Elena.Budnik   needsArgs to Simu...
853
854
855
856
857
			default:
				return array("error" => $obj->nodeType." NOT_IMPLEMENTED_YET");
		}
		return  $objectMgr -> createObject($obj, $folder);
	}
16035364   Benjamin Renard   First commit
858

10200969   Roipoussiere   Remove whitespace...
859
/*
16035364   Benjamin Renard   First commit
860
861
*   $obj = { id:obj.id, name: obj.name, obj.nodeType, obj.leaf (??), OBJ DEPENDENT ATTRIBUTES }
*/
10200969   Roipoussiere   Remove whitespace...
862
	public  function modifyObject($obj)
9a63b7f6   Elena.Budnik   needsArgs to Simu...
863
	{
10200969   Roipoussiere   Remove whitespace...
864
865
866
867
868
		switch ($obj->nodeType)
		{
			case 'myDataParam' :
			case 'derivedParam' :
				$objectMgr = new DerivedParamMgr($obj->nodeType);
9a63b7f6   Elena.Budnik   needsArgs to Simu...
869
				break;
10200969   Roipoussiere   Remove whitespace...
870
871
			case 'timeTable' :
				$objectMgr = new TimeTableMgr();
9a63b7f6   Elena.Budnik   needsArgs to Simu...
872
				break;
10200969   Roipoussiere   Remove whitespace...
873
874
875
876
			case 'catalog' :
				$objectMgr = new CatalogMgr();
				break;
			case 'condition' :
9a63b7f6   Elena.Budnik   needsArgs to Simu...
877
			case 'request' :
10200969   Roipoussiere   Remove whitespace...
878
				$objectMgr = new RequestMgr($obj->nodeType);
9a63b7f6   Elena.Budnik   needsArgs to Simu...
879
880
881
882
883
				break;
			default:
				return array("error" => $obj->nodeType." NOT_IMPLEMENTED_YET");
		}
		return  $objectMgr -> modifyObject($obj);
10200969   Roipoussiere   Remove whitespace...
884
	}
16035364   Benjamin Renard   First commit
885
886
887
888
889
890
891
892
893
894
/*
 * {obj.name, obj.nodeType, obj.leaf}
 */
    public function validNameObject($obj) {
		switch ($obj->nodeType) {
			case 'myDataParam' :
			case 'derivedParam' :
				$objectMgr = new DerivedParamMgr($obj->nodeType);
				break;
			case 'timeTable' :
d18b535d   elena   catalog draft + c...
895
			case 'sharedtimeTable' :
16035364   Benjamin Renard   First commit
896
897
				$objectMgr = new TimeTableMgr();
				break;
d18b535d   elena   catalog draft + c...
898
			case 'catalog' :
169f14d2   Benjamin Renard   Add shared object...
899
			case 'sharedcatalog' :
d18b535d   elena   catalog draft + c...
900
901
				$objectMgr = new CatalogMgr();
				break;
16035364   Benjamin Renard   First commit
902
903
			case 'condition' :
			case 'request' :
16035364   Benjamin Renard   First commit
904
905
906
907
908
909
910
911
912
913
				$objectMgr = new RequestMgr($obj->nodeType);
				break;
			default:
				return array("error" => $obj->nodeType." NOT_IMPLEMENTED_YET");
		}

		return  $objectMgr -> validNameObject($obj);
    }

/*
bae6f5da   NathanaĆ«l Jourdane   bugFix fileName f...
914
*   Get running jobs
16035364   Benjamin Renard   First commit
915
*/
bae6f5da   NathanaĆ«l Jourdane   bugFix fileName f...
916
	public function getJobs($obj = null)
6acb8d2a   Elena.Budnik   checkRequest in R...
917
	{
812bc03d   NathanaĆ«l Jourdane   update job info o...
918
		$obj = (object) array();
10200969   Roipoussiere   Remove whitespace...
919
		return $this->executeRequest($obj, FunctionTypeEnumClass::PROCESSRUNNINGINFO);
6acb8d2a   Elena.Budnik   checkRequest in R...
920
	}
16035364   Benjamin Renard   First commit
921
922
923
924
925
926
927


	/* AKKA-KERNEL-INT
	Move user check from RequestMgr.php to AmdaAction.php
	*/
	private function checkUser($obj)
	{
32bb889b   Elena.Budnik   #5532 to process ...
928
		if (defined('NEWKERNEL_DEBUG') && NEWKERNEL_DEBUG){
16035364   Benjamin Renard   First commit
929
930
931
			$this->user = NEWKERNEL_DEBUG_USER;
			return array('success' => true);
		}
10200969   Roipoussiere   Remove whitespace...
932

16035364   Benjamin Renard   First commit
933
		if (isset($obj->username) && isset($obj->password) && isset($obj->sessionID))
735c653b   Elena.Budnik   rank at observato...
934
		{
e5ab198f   NathanaĆ«l Jourdane   simple getStatus
935
			$dd = new WSUserMgr();
039d19ac   Benjamin Renard   Fix getParameter ...
936
			$dd->initWS($obj->username,$obj->password,$obj->sessionID, false, false);
735c653b   Elena.Budnik   rank at observato...
937
		}
a21497cc   Elena.Budnik   redmine #5645
938
		else {
16035364   Benjamin Renard   First commit
939
			$dd = new UserMgr();
a21497cc   Elena.Budnik   redmine #5645
940
941
			$dd->setSpecialSettings();
		}
10200969   Roipoussiere   Remove whitespace...
942
943

		//TODO error handling
32bb889b   Elena.Budnik   #5532 to process ...
944
		if (($res = $dd->ddCheckUser()) != 0) {
10200969   Roipoussiere   Remove whitespace...
945
			if ($res == 156)
6acb8d2a   Elena.Budnik   checkRequest in R...
946
				return array('success' => false, 'message' => 'Your AMDA session is expired.<br/> Login please!');
16035364   Benjamin Renard   First commit
947

735c653b   Elena.Budnik   rank at observato...
948
949
			return array('success' => false, 'message' => 'ddLogin error: '.$res);
		}
16035364   Benjamin Renard   First commit
950

6acb8d2a   Elena.Budnik   checkRequest in R...
951
		if ($dd->user == 'impex')
16035364   Benjamin Renard   First commit
952
953
954
		{
			//if ($dd->getWsSize() > DISK_QUOTA * 100)
			//	error_log('Natacha! It is time to CLEAN UP IMPEX WS!',1,'nbourrel@irap.omp.eu');
e5ab198f   NathanaĆ«l Jourdane   simple getStatus
955
//			return array('success' => false, "message" => "AKKA-KERNEL-INT - WS support for IMPEx not implemented");
6acb8d2a   Elena.Budnik   checkRequest in R...
956
		}
32bb889b   Elena.Budnik   #5532 to process ...
957
		else {
0fea5567   Benjamin Renard   First step for re...
958
			// check disk space
2c7f2cb6   Benjamin Renard   Remove old log fi...
959
960
961
962
963
964
			if ($dd->getWsSize() > DISK_QUOTA) {
				//Try to delete log files - cf. #6245
				if ($dd->getWsSize(TRUE) > DISK_QUOTA) {
					return array('success' => false, 'message' => 'Please clean up your workspace.<br/>No more space is available');
				}
			}
735c653b   Elena.Budnik   rank at observato...
965
		}
10200969   Roipoussiere   Remove whitespace...
966

735c653b   Elena.Budnik   rank at observato...
967
		$this->user = $dd->user;
10200969   Roipoussiere   Remove whitespace...
968

32bb889b   Elena.Budnik   #5532 to process ...
969
		return array('success' => true, 'userHost' => $dd->getIPclient());
16035364   Benjamin Renard   First commit
970
	}
10200969   Roipoussiere   Remove whitespace...
971

6acb8d2a   Elena.Budnik   checkRequest in R...
972
	private function executeRequest($obj, $function)
0fea5567   Benjamin Renard   First step for re...
973
974
	{

32bb889b   Elena.Budnik   #5532 to process ...
975
976
977
		// Check user if access to DD Server and / or possible 'space consuming' action
		if (  $function == FunctionTypeEnumClass::PARAMS ||
				$function == FunctionTypeEnumClass::ACTION ||
8ba47f72   Benjamin Renard   rest actualisatio...
978
979
				$function == FunctionTypeEnumClass::PARAMSGEN ||
				$function == FunctionTypeEnumClass::PARAMSINFOGEN )
32bb889b   Elena.Budnik   #5532 to process ...
980
		{
7ac3e07e   Elena.Budnik   do not check user...
981
982
983
			$res = $this->checkUser($obj);
			if (!$res['success']) return $res;
		}
8ba47f72   Benjamin Renard   rest actualisatio...
984

16035364   Benjamin Renard   First commit
985
		$requestManager = new RequestManagerClass();
32bb889b   Elena.Budnik   #5532 to process ...
986
		try {
e57cb025   Benjamin Renard   Fix most of error...
987
			$res = $requestManager->runIHMRequest($this->user, !empty($res['userHost']) ? $res['userHost'] : NULL, $function, $obj);
32bb889b   Elena.Budnik   #5532 to process ...
988
		} catch (Exception $e) {
16035364   Benjamin Renard   First commit
989
			return array('success' => false, 'message' => 'Exception detected : '.$e->getMessage());
10200969   Roipoussiere   Remove whitespace...
990
		}
16035364   Benjamin Renard   First commit
991
992
		return $res;
	}
10200969   Roipoussiere   Remove whitespace...
993
994
995

/*
*    Main EXECUTE PROCEDURE
16035364   Benjamin Renard   First commit
996
*/
735c653b   Elena.Budnik   rank at observato...
997
998
	public  function execute($node, $obj)
	{
fdf1413b   Elena.Budnik   TT download
999
1000
1001
1002
		// just convert TT / Catalog
		if ($obj->nodeType == "download" &&  $obj->downloadSrc == "1")
			return $this->executeRequest($obj, FunctionTypeEnumClass::TTCONVERT);
		else if (isset($obj->action))
16035364   Benjamin Renard   First commit
1003
			return $this->executeRequest($obj, FunctionTypeEnumClass::ACTION);
10200969   Roipoussiere   Remove whitespace...
1004
1005
		else
		{
6acb8d2a   Elena.Budnik   checkRequest in R...
1006
1007
			$res = RequestMgr::checkRequest($obj);
			if (!$res['success']) return $res;
10200969   Roipoussiere   Remove whitespace...
1008

16035364   Benjamin Renard   First commit
1009
			return $this->executeRequest($obj, FunctionTypeEnumClass::PARAMS);
6acb8d2a   Elena.Budnik   checkRequest in R...
1010
		}
fdf1413b   Elena.Budnik   TT download
1011
	}
10200969   Roipoussiere   Remove whitespace...
1012

16035364   Benjamin Renard   First commit
1013
/*
a0b3d64e   Benjamin Renard   Derived parameter...
1014
1015
 * Generate derived parameter compilation
 */
735c653b   Elena.Budnik   rank at observato...
1016
1017
	public function compilParam($obj)
	{
735c653b   Elena.Budnik   rank at observato...
1018
1019
		return $this->executeRequest($obj, FunctionTypeEnumClass::PARAMSGEN);
	}
a0b3d64e   Benjamin Renard   Derived parameter...
1020

8ba47f72   Benjamin Renard   rest actualisatio...
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032

/*
 * Generate parameter info for display (e.g size)
 */
        public function generateParamInfo($obj)
        {
                return $this->executeRequest($obj, FunctionTypeEnumClass::PARAMSINFOGEN);
        }




a0b3d64e   Benjamin Renard   Derived parameter...
1033
1034
1035
/*
 * Delete derived parameter compilation
 */
735c653b   Elena.Budnik   rank at observato...
1036
1037
	public function compilParamDelete($obj)
	{
a0b3d64e   Benjamin Renard   Derived parameter...
1038
		$res = $this->checkUser($obj);
10200969   Roipoussiere   Remove whitespace...
1039

a0b3d64e   Benjamin Renard   Derived parameter...
1040
1041
		if (!$res['success'])
			return $res;
10200969   Roipoussiere   Remove whitespace...
1042

a0b3d64e   Benjamin Renard   Derived parameter...
1043
1044
1045
1046
		IHMConfigClass::setUserName($this->user);
		$libParamPath = IHMConfigClass::getCompilationPath()."lib/".$obj->paramId.".so";
		if (file_exists($libParamPath))
			unlink($libParamPath);
735c653b   Elena.Budnik   rank at observato...
1047
1048
		return array("success" => true);
	}
10200969   Roipoussiere   Remove whitespace...
1049

a0b3d64e   Benjamin Renard   Derived parameter...
1050
/*
e6e5b259   Benjamin Renard   Add kill plot req...
1051
 * kill plot process
16035364   Benjamin Renard   First commit
1052
 */
10200969   Roipoussiere   Remove whitespace...
1053

735c653b   Elena.Budnik   rank at observato...
1054
	public function killPlotRequest()
10200969   Roipoussiere   Remove whitespace...
1055
	{
735c653b   Elena.Budnik   rank at observato...
1056
1057
		return $this->executeRequest((object) array('nodeType' => 'killplot'), FunctionTypeEnumClass::PARAMS);
	}
16035364   Benjamin Renard   First commit
1058
1059
1060
1061

/*
 * merge time tables
 */
10200969   Roipoussiere   Remove whitespace...
1062
	public  function merge($obj)
735c653b   Elena.Budnik   rank at observato...
1063
1064
	{
		if ($this->amdaStat->success)
2dab1b1b   Elena.Budnik   change input args...
1065
			$this->amdaStat->addTask( $this->user, 'ttoper', null);
10200969   Roipoussiere   Remove whitespace...
1066

735c653b   Elena.Budnik   rank at observato...
1067
		$objectMgr = new TimeTableMgr();
16035364   Benjamin Renard   First commit
1068

735c653b   Elena.Budnik   rank at observato...
1069
1070
		return  $objectMgr -> merge($obj);
	}
16035364   Benjamin Renard   First commit
1071

10200969   Roipoussiere   Remove whitespace...
1072

16035364   Benjamin Renard   First commit
1073
1074
1075
/*
 * intersect time tables
 */
10200969   Roipoussiere   Remove whitespace...
1076
	public  function intersect($obj)
735c653b   Elena.Budnik   rank at observato...
1077
1078
	{
		if ($this->amdaStat->success)
2dab1b1b   Elena.Budnik   change input args...
1079
				$this->amdaStat->addTask($this->user, 'ttoper', null);
16035364   Benjamin Renard   First commit
1080

735c653b   Elena.Budnik   rank at observato...
1081
1082
		$objectMgr = new TimeTableMgr();
		$result = $objectMgr -> intersect($obj);
16035364   Benjamin Renard   First commit
1083

735c653b   Elena.Budnik   rank at observato...
1084
1085
		return  $result;
	}
10200969   Roipoussiere   Remove whitespace...
1086

0fea5567   Benjamin Renard   First step for re...
1087
	public function initObjectCache($isCatalog = false, $nparams = 1)
735c653b   Elena.Budnik   rank at observato...
1088
1089
1090
	{
		if (!$isCatalog) $cacheMgr = new TimeTableCacheMgr();
		else              $cacheMgr = new CatalogCacheMgr();
10200969   Roipoussiere   Remove whitespace...
1091

0fea5567   Benjamin Renard   First step for re...
1092
		return $cacheMgr->initObjectCache(array('nparams' => $nparams));
735c653b   Elena.Budnik   rank at observato...
1093
	}
10200969   Roipoussiere   Remove whitespace...
1094
1095


342b20ca   Benjamin Renard   Fix inheritence b...
1096
	public function initObjectCacheFromObject($id, $type)
735c653b   Elena.Budnik   rank at observato...
1097
1098
1099
	{
		if ($type == 'catalog' || $type == 'sharedcatalog') $cacheMgr = new CatalogCacheMgr();
		else $cacheMgr = new TimeTableCacheMgr();
10200969   Roipoussiere   Remove whitespace...
1100

0fea5567   Benjamin Renard   First step for re...
1101
		return $cacheMgr->initFromObject($id, $type);
735c653b   Elena.Budnik   rank at observato...
1102
	}
10200969   Roipoussiere   Remove whitespace...
1103

0fea5567   Benjamin Renard   First step for re...
1104
	public function initObjectCacheFromCatalog($id, $type)
d547a559   Hacene SI HADJ MOHAND   rm_6903 ok
1105
1106
1107
1108
1109
1110
        {
                $cacheMgr = new TimeTableCacheMgr();

                return $cacheMgr->initFromCatalog($id, $type);
        }

19eca0a6   Hacene SI HADJ MOHAND   ok
1111
1112
1113
1114
1115
1116
1117
        public function initObjectCacheFromTimeTable($id, $type, $nparams)
        {
                $cacheMgr = new CatalogCacheMgr();

                return $cacheMgr->initFromTimeTable($id, $nparams);
        }

0fea5567   Benjamin Renard   First step for re...
1118
	public function initObjectCacheFromTmpObject($folderId, $name, $isCatalog = false)
735c653b   Elena.Budnik   rank at observato...
1119
	{
10200969   Roipoussiere   Remove whitespace...
1120
		if (!$isCatalog) $cacheMgr = new TimeTableCacheMgr();
735c653b   Elena.Budnik   rank at observato...
1121
1122
1123
1124
		else  $cacheMgr = new CatalogCacheMgr();

		return $cacheMgr->initFromTmpObject($folderId, $name);
	}
10200969   Roipoussiere   Remove whitespace...
1125

0fea5567   Benjamin Renard   First step for re...
1126
	public function initObjectCacheFromUploadedFile($name, $format, $isCatalog = false)
735c653b   Elena.Budnik   rank at observato...
1127
	{
901ba3f3   Elena.Budnik   upload catalog
1128
1129
		if (!$isCatalog) $cacheMgr = new TimeTableCacheMgr();
		else  $cacheMgr = new CatalogCacheMgr();
735c653b   Elena.Budnik   rank at observato...
1130
1131
		return $cacheMgr->initFromUploadedFile($name, $format);
	}
10200969   Roipoussiere   Remove whitespace...
1132

342b20ca   Benjamin Renard   Fix inheritence b...
1133
	public function readCacheIntervals($o)
735c653b   Elena.Budnik   rank at observato...
1134
	{
e57cb025   Benjamin Renard   Fix most of error...
1135
		if (isset($o->typeTT) && ($o->typeTT == 'catalog' || $o->typeTT == 'sharedcatalog')) $cacheMgr = new CatalogCacheMgr();
735c653b   Elena.Budnik   rank at observato...
1136
		else $cacheMgr = new TimeTableCacheMgr();
10200969   Roipoussiere   Remove whitespace...
1137

e57cb025   Benjamin Renard   Fix most of error...
1138
		return $cacheMgr->getIntervals($o->start,$o->limit,isset($o->sort) ? $o->sort : NULL, isset($o->filter) ? $o->filter : NULL);
735c653b   Elena.Budnik   rank at observato...
1139
	}
10200969   Roipoussiere   Remove whitespace...
1140

735c653b   Elena.Budnik   rank at observato...
1141
1142
	public function readIntervalsForChart($o)
	{
1a0151a5   Benjamin Renard   wip
1143
		$objMgr = new CatalogCacheMgr(TRUE);
b0720b91   Benjamin Renard   Finalize catalog ...
1144
		$objMgr->initFromObject($o->id, $o->type);
1a0151a5   Benjamin Renard   wip
1145
		return $objMgr->getIntervalsForChart();
735c653b   Elena.Budnik   rank at observato...
1146
	}
10200969   Roipoussiere   Remove whitespace...
1147

735c653b   Elena.Budnik   rank at observato...
1148
1149
1150
	public function saveTTCacheIntervalsInTT($o)
	{
		$cacheMgr = new TimeTableCacheMgr();
0fea5567   Benjamin Renard   First step for re...
1151
		return $cacheMgr->saveInObject($o->ttId,$o->action,$o->cacheToken);
735c653b   Elena.Budnik   rank at observato...
1152
	}
10200969   Roipoussiere   Remove whitespace...
1153

342b20ca   Benjamin Renard   Fix inheritence b...
1154
	public function addCacheInterval($o)
735c653b   Elena.Budnik   rank at observato...
1155
1156
1157
1158
1159
1160
	{
		if ($o->isCatalog) $cacheMgr = new CatalogCacheMgr();
		else $cacheMgr = new TimeTableCacheMgr();

		return $cacheMgr->addInterval($o->index, $o->start, $o->stop);
	}
10200969   Roipoussiere   Remove whitespace...
1161

735c653b   Elena.Budnik   rank at observato...
1162
1163
1164
1165
1166
1167
1168
	public function removeTTCacheIntervalFromId($id, $isCatalog = false)
	{
		if ($isCatalog) $cacheMgr = new CatalogCacheMgr();
		else $cacheMgr = new TimeTableCacheMgr();

		return $cacheMgr->removeIntervalFromId($id);
	}
10200969   Roipoussiere   Remove whitespace...
1169

342b20ca   Benjamin Renard   Fix inheritence b...
1170
	public function modifyCacheInterval($o)
735c653b   Elena.Budnik   rank at observato...
1171
	{
10200969   Roipoussiere   Remove whitespace...
1172
		if ($o->isCatalog)
735c653b   Elena.Budnik   rank at observato...
1173
		{
f9c8b272   elena   edit catalog
1174
			$cacheMgr = new CatalogCacheMgr();
f9c8b272   elena   edit catalog
1175
		}
735c653b   Elena.Budnik   rank at observato...
1176
		else $cacheMgr = new TimeTableCacheMgr();
10200969   Roipoussiere   Remove whitespace...
1177

342b20ca   Benjamin Renard   Fix inheritence b...
1178
		return $cacheMgr->modifyIntervalFromId($o->cacheId, $o->data);
735c653b   Elena.Budnik   rank at observato...
1179
	}
10200969   Roipoussiere   Remove whitespace...
1180

735c653b   Elena.Budnik   rank at observato...
1181
1182
1183
1184
1185
	public function operationTTCacheIntervals($extendTime, $shiftTime)
	{
		$cacheMgr = new TimeTableCacheMgr();
		return $cacheMgr->operationIntervals($extendTime, $shiftTime);
	}
10200969   Roipoussiere   Remove whitespace...
1186

735c653b   Elena.Budnik   rank at observato...
1187
1188
1189
1190
1191
	public function mergeTTCacheIntervals()
	{
		$cacheMgr = new TimeTableCacheMgr();
		return $cacheMgr->mergeIntervals();
	}
10200969   Roipoussiere   Remove whitespace...
1192

0318dbe6   Hacene SI HADJ MOHAND   rm_6998 ok
1193
	public function getTTCacheStatistics($obj)
735c653b   Elena.Budnik   rank at observato...
1194
	{
0fea5567   Benjamin Renard   First step for re...
1195
                if($obj->name == "timeTableUi"){
0318dbe6   Hacene SI HADJ MOHAND   rm_6998 ok
1196
1197
1198
1199
1200
1201
				$cacheMgr = new TimeTableCacheMgr();
                 }elseif($obj->name == "catalogUI"){
                      $cacheMgr = new CatalogCacheMgr();
                 }else{
                      return array('success' => false, 'message' => 'unkown type: '.$obj->name);
               }
735c653b   Elena.Budnik   rank at observato...
1202
1203
		return $cacheMgr->getStatistics();
	}
10200969   Roipoussiere   Remove whitespace...
1204

735c653b   Elena.Budnik   rank at observato...
1205
1206
1207
1208
1209
	public function getTTCacheStatus()
	{
		$cacheMgr = new TimeTableCacheMgr();
		return $cacheMgr->getStatus();
	}
aa94fd24   elena   Merge with last svn
1210

16035364   Benjamin Renard   First commit
1211
1212
/*
 * Send a feedback
10200969   Roipoussiere   Remove whitespace...
1213
 *
16035364   Benjamin Renard   First commit
1214
 */
735c653b   Elena.Budnik   rank at observato...
1215
1216
1217
1218
1219
	public function sendFeedback($feed)
	{
		$feedMgr = new FeedbackMgr();
		return $feedMgr->addFeedback($feed->user, $feed->interface, $feed->subject, $feed->userText, $feed->userAgent, $feed->attach);
	}
10200969   Roipoussiere   Remove whitespace...
1220

16035364   Benjamin Renard   First commit
1221
1222
/*
 * Save state
10200969   Roipoussiere   Remove whitespace...
1223
 *
16035364   Benjamin Renard   First commit
1224
 */
735c653b   Elena.Budnik   rank at observato...
1225
1226
1227
1228
1229
	public function saveState($datas)
	{
		$myStateMgr = new StateMgr();
		return $myStateMgr->saveState($datas);
	}
10200969   Roipoussiere   Remove whitespace...
1230

16035364   Benjamin Renard   First commit
1231
1232
/*
 * Load state
10200969   Roipoussiere   Remove whitespace...
1233
1234
 *
 */
735c653b   Elena.Budnik   rank at observato...
1235
	public function loadState($o)
10200969   Roipoussiere   Remove whitespace...
1236
	{
735c653b   Elena.Budnik   rank at observato...
1237
1238
1239
		$myStateMgr = new StateMgr();
		return $myStateMgr->loadState();
	}
10200969   Roipoussiere   Remove whitespace...
1240
1241

/*
16035364   Benjamin Renard   First commit
1242
1243
 * HST Images
 */
735c653b   Elena.Budnik   rank at observato...
1244
1245
1246
	public function getHstImagesUrl($o)
	{
		if ($this->amdaStat->success)
2dab1b1b   Elena.Budnik   change input args...
1247
			$this->amdaStat->addTask($this->user, 'images', null);
10200969   Roipoussiere   Remove whitespace...
1248

735c653b   Elena.Budnik   rank at observato...
1249
1250
1251
1252
1253
1254
		$myHstMgr = new HstMgr();
		$res = $myHstMgr->getImagesUrl($o->startTime, $o->stopTime, $o->planet);
		//if ($domRes->length <= 0)
		//	return array('success' => false, 'message' => 'Cannot find HST Images for this request.');
		return array('success' => true, 'result' => $res);
	}
10200969   Roipoussiere   Remove whitespace...
1255

735c653b   Elena.Budnik   rank at observato...
1256
1257
	public function getAPISImagesUrl($o)
	{
10200969   Roipoussiere   Remove whitespace...
1258
		if ($this->amdaStat->success)
2dab1b1b   Elena.Budnik   change input args...
1259
			$this->amdaStat->addTask($this->user, 'images', null);
10200969   Roipoussiere   Remove whitespace...
1260

735c653b   Elena.Budnik   rank at observato...
1261
1262
1263
1264
		$apisMgr = new APISMgr();
		$res = $apisMgr->get($o->target, $o->startTime, $o->stopTime, $o->datasets);

		return $res;
10200969   Roipoussiere   Remove whitespace...
1265
	}
16035364   Benjamin Renard   First commit
1266
1267
1268
/*
 * Filters
 */
e57cb025   Benjamin Renard   Fix most of error...
1269
	public function loadFilterList()
735c653b   Elena.Budnik   rank at observato...
1270
	{
10200969   Roipoussiere   Remove whitespace...
1271
		$filtersMgr = new FiltersMgr();
735c653b   Elena.Budnik   rank at observato...
1272
1273
1274
		$res = $filtersMgr->loadList();
		return $res;
	}
16035364   Benjamin Renard   First commit
1275

735c653b   Elena.Budnik   rank at observato...
1276
1277
1278
1279
1280
1281
1282
1283
1284
	public function loadFilters($o)
	{
		$filtersMgr = new FiltersMgr();
		if (isset($o->id))
			$res = $filtersMgr->loadFilter($o->id);
		else
			$res = $filtersMgr->loadAll();
		return $res;
	}
10200969   Roipoussiere   Remove whitespace...
1285

735c653b   Elena.Budnik   rank at observato...
1286
1287
	public function saveFilter($o)
	{
10200969   Roipoussiere   Remove whitespace...
1288
		$filtersMgr = new FiltersMgr();
735c653b   Elena.Budnik   rank at observato...
1289
1290
		return $filtersMgr->save($o);
	}
10200969   Roipoussiere   Remove whitespace...
1291

735c653b   Elena.Budnik   rank at observato...
1292
1293
	public function createFilter($o)
	{
10200969   Roipoussiere   Remove whitespace...
1294
		$filtersMgr = new FiltersMgr();
735c653b   Elena.Budnik   rank at observato...
1295
1296
		return $filtersMgr->create($o);
	}
10200969   Roipoussiere   Remove whitespace...
1297

735c653b   Elena.Budnik   rank at observato...
1298
1299
1300
1301
1302
1303
	public function destroyFilter($o)
	{
		$filtersMgr = new FiltersMgr();
		$res = $filtersMgr->delete($o);
		return;
	}
10200969   Roipoussiere   Remove whitespace...
1304

735c653b   Elena.Budnik   rank at observato...
1305
1306
1307
1308
1309
1310
1311
	public function getCrtFilterId()
	{
		$filtersMgr = new FiltersMgr();
		$res = $filtersMgr->getCrtId();
		return $res;
	}

fdf1413b   Elena.Budnik   TT download
1312
1313
	public function getCrtFilterResult()
	{
10200969   Roipoussiere   Remove whitespace...
1314
		$filtersMgr = new FiltersMgr();
fdf1413b   Elena.Budnik   TT download
1315
1316
		return $filtersMgr->getCrtResult();
	}
10200969   Roipoussiere   Remove whitespace...
1317

fdf1413b   Elena.Budnik   TT download
1318
1319
	public function setCrtFilterId($o)
	{
10200969   Roipoussiere   Remove whitespace...
1320
		$filtersMgr = new FiltersMgr();
fdf1413b   Elena.Budnik   TT download
1321
1322
		return $filtersMgr->setCrtId($o->id);
	}
10200969   Roipoussiere   Remove whitespace...
1323

fdf1413b   Elena.Budnik   TT download
1324
1325
1326
1327
1328
1329
	public function resetFilter()
	{
		$filtersMgr = new FiltersMgr();
		$res = $filtersMgr->reset();
		return $res;
	}
10200969   Roipoussiere   Remove whitespace...
1330

16035364   Benjamin Renard   First commit
1331
1332
	public function logout($isGuest)
	{
10200969   Roipoussiere   Remove whitespace...
1333
		if ($isGuest)
735c653b   Elena.Budnik   rank at observato...
1334
		{
fdf1413b   Elena.Budnik   TT download
1335
1336
1337
			$guestMgr = new Guest($this->user);
			$guestMgr->deleteGuest();
		}
10200969   Roipoussiere   Remove whitespace...
1338
		else
735c653b   Elena.Budnik   rank at observato...
1339
		{
fdf1413b   Elena.Budnik   TT download
1340
			$this->cleanUserWS();
10200969   Roipoussiere   Remove whitespace...
1341
		}
16035364   Benjamin Renard   First commit
1342
		return;
10200969   Roipoussiere   Remove whitespace...
1343
	}
16035364   Benjamin Renard   First commit
1344

fdf1413b   Elena.Budnik   TT download
1345
1346
	public function getInfo($obj)
	{
10200969   Roipoussiere   Remove whitespace...
1347
		if (file_exists(HELPPATH.$obj->name))
fdf1413b   Elena.Budnik   TT download
1348
		{
10200969   Roipoussiere   Remove whitespace...
1349
			$content = file_get_contents(HELPPATH.$obj->name);
fdf1413b   Elena.Budnik   TT download
1350
1351
			return  array('success' => true, 'result' => $content);
		}
10200969   Roipoussiere   Remove whitespace...
1352
1353
1354
		return array('success' => false);
	}

fdf1413b   Elena.Budnik   TT download
1355
1356
1357
1358
1359
	public function getUserInfo()
	{
		$dd = new UserMgr();
		return $dd->getUserInfo();
	}
16035364   Benjamin Renard   First commit
1360

fdf1413b   Elena.Budnik   TT download
1361
1362
1363
1364
1365
1366
	// $obj ={"Object":"Earth","RunCount":"2",
	// "SW_Density_value":"10","SW_Density_weight":"1","SW_Density_scale":"7","SW_Temperature_value":"100", ....}
	public function getRun($obj)
	{
		$myBestRunsMgr = new BestRunsMgr();
		$res = $myBestRunsMgr->getRun($obj);
10200969   Roipoussiere   Remove whitespace...
1367
1368

		return  $res;
fdf1413b   Elena.Budnik   TT download
1369
	}
10200969   Roipoussiere   Remove whitespace...
1370
1371

	//$obj = array of IDs
fdf1413b   Elena.Budnik   TT download
1372
1373
1374
	public function addRun($obj)
	{
		$myBestRunsMgr = new BestRunsMgr();
10200969   Roipoussiere   Remove whitespace...
1375

bf74fc2d   Elena.Budnik   IMPEX
1376
		$ok = $myBestRunsMgr->init();
10200969   Roipoussiere   Remove whitespace...
1377

bf74fc2d   Elena.Budnik   IMPEX
1378
1379
		if (!$ok)
			return array('success'=>false,'message'=>'cannot init addRun');
10200969   Roipoussiere   Remove whitespace...
1380

fdf1413b   Elena.Budnik   TT download
1381
		$myBestRunsMgr->addRuns($obj);
10200969   Roipoussiere   Remove whitespace...
1382

bf74fc2d   Elena.Budnik   IMPEX
1383
		return array('success'=>true,'addedRuns'=>$obj);
10200969   Roipoussiere   Remove whitespace...
1384
1385
	}

fdf1413b   Elena.Budnik   TT download
1386
1387
1388
1389
	//AKKA - New action to clean user WS
	public function cleanUserWS()
	{
		$this->rrmdir(USERDIR.'DOWNLOAD.TEMP');
278185de   Benjamin Renard   Upload catalog fr...
1390
		$this->rrmdir(USERDIR.'TEMP');
bf74fc2d   Elena.Budnik   IMPEX
1391
		IHMConfigClass::setUserName($this->user);
10200969   Roipoussiere   Remove whitespace...
1392
1393

		// delete impex params and data
bf74fc2d   Elena.Budnik   IMPEX
1394
1395
		$impexParamMgr = new ImpexParamManager();
		$impexParamMgr->deleteImpexStaff();
10200969   Roipoussiere   Remove whitespace...
1396

e57cb025   Benjamin Renard   Fix most of error...
1397
		$obj = (object) array();
fdf1413b   Elena.Budnik   TT download
1398
1399
		return $this->executeRequest($obj, FunctionTypeEnumClass::PROCESSCLEAN);
	}
10200969   Roipoussiere   Remove whitespace...
1400

fdf1413b   Elena.Budnik   TT download
1401
1402
1403
	public function rrmdir($dir){
		if (is_dir($dir)) {
			$objects = scandir($dir);
10200969   Roipoussiere   Remove whitespace...
1404
1405
			foreach ($objects as $object) { // Recursively delete a directory that is not empty and directorys in directory
				if ($object != "." && $object != "..") {  // If object isn't a directory recall recursively this function
fdf1413b   Elena.Budnik   TT download
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
					if (filetype($dir."/".$object) == "dir")
						$this->rrmdir($dir."/".$object);
					else
						unlink($dir."/".$object);
				}
			}
			reset($objects);
			rmdir($dir);
		}
	}

	public function deleteSpecialInfo($name)
	{
10200969   Roipoussiere   Remove whitespace...
1419
		if (file_exists(USERDIR.$name))
fdf1413b   Elena.Budnik   TT download
1420
1421
1422
					unlink(USERDIR.$name);
		return array('success' => true);
	}
10200969   Roipoussiere   Remove whitespace...
1423

46c5751e   Benjamin Renard   Cleanup
1424
	public function interactivePlot($obj)
fdf1413b   Elena.Budnik   TT download
1425
	{
fdf1413b   Elena.Budnik   TT download
1426
1427
		$inputobj = (Object)array(
			'action' => $obj,
fdf1413b   Elena.Budnik   TT download
1428
1429
1430
		);
		return $this->executeRequest($inputobj, FunctionTypeEnumClass::ACTION);
	}
10200969   Roipoussiere   Remove whitespace...
1431

735c653b   Elena.Budnik   rank at observato...
1432
1433
	public function getParamPlotInit($obj)
	{
bf74fc2d   Elena.Budnik   IMPEX
1434
1435
1436
1437
1438
		// IMPEX param
		if (preg_match("#^spase___IMPEX_#",$obj->paramId))
			$type = 'impex_plot_init';
		else
		   $type = 'plot_init';
10200969   Roipoussiere   Remove whitespace...
1439

735c653b   Elena.Budnik   rank at observato...
1440
1441
		$inputobj = (Object)array(
				'paramId' => $obj->paramId,
bf74fc2d   Elena.Budnik   IMPEX
1442
				'type' => $type
735c653b   Elena.Budnik   rank at observato...
1443
1444
1445
		);
		return $this->executeRequest($inputobj, FunctionTypeEnumClass::PARAMINFO);
	}
10200969   Roipoussiere   Remove whitespace...
1446

735c653b   Elena.Budnik   rank at observato...
1447
1448
	public function getParamInfo($obj)
	{
bf74fc2d   Elena.Budnik   IMPEX
1449
1450
1451
1452
1453
		// IMPEX param
		if (preg_match("#^spase___IMPEX_#",$obj->paramId))
			$type = 'impex_param_info';
		else
		   $type = 'param_info';
10200969   Roipoussiere   Remove whitespace...
1454

735c653b   Elena.Budnik   rank at observato...
1455
1456
		$inputobj = (Object)array(
				'paramId' => $obj->paramId,
bf74fc2d   Elena.Budnik   IMPEX
1457
				'type' => $type
735c653b   Elena.Budnik   rank at observato...
1458
1459
1460
		);
		return $this->executeRequest($inputobj, FunctionTypeEnumClass::PARAMINFO);
	}
bf776dc8   Benjamin Renard   working
1461
	public function getDerivedParamInfo($obj)
0fea5567   Benjamin Renard   First step for re...
1462
	{
bf776dc8   Benjamin Renard   working
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
                 $dom = new DomDocument("1.0");
                 $xmlName=USERWSDIR.$this->xmlFiles['derivedParam'];
		 @$dom->load($xmlName);
		 $params=$dom->getElementsByTagName("param");
		 foreach($params as $param)
		 {
                        if($param->hasAttribute("name") && ("ws_" . ($param->getAttribute("name")))==$obj->paramId)
		        {
                         $dim_1=$param->getAttribute("dim_1");
			 $dim_2=$param->getAttribute("dim_2");
		   	 return $this->createDerivedParamInfo($dim_1,$dim_2,$obj->paramId);
		  	}
0fea5567   Benjamin Renard   First step for re...
1475

bf776dc8   Benjamin Renard   working
1476
		}
0fea5567   Benjamin Renard   First step for re...
1477
		return array('success'=>false, 'message'=>'unkown parameter (derived parameter arguments are not handled)');
bf776dc8   Benjamin Renard   working
1478
	}
0fea5567   Benjamin Renard   First step for re...
1479

bf776dc8   Benjamin Renard   working
1480
1481
1482
1483
1484
1485
	public function createDerivedParamInfo($dim_1,$dim_2,$paramId)
	{
		/* case of constant */
		if($dim_1*$dim_2==1)
		{
		return array('success'=>false,'msg'=>"dim1=1 dim2=1 no arguments for this parameter");
0fea5567   Benjamin Renard   First step for re...
1486
		}elseif(($dim_1==1 && $dim_2>1 && $dim_2<=3)||($dim_2==1 && $dim_1>1 && $dim_1<=3) )
bf776dc8   Benjamin Renard   working
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
		/* case of vector */
                {

	        $dims=array(
				'dim1'=>$dim_1,
				'dim2'=>$dim_2
			      );

		$compts=array();

		for($i=0;$i<($dim_1*$dim_2);++$i)
			{

			$c=array(

				'index_1'=>($dim_1>$dim_2)?(string)$i:"",
				'index_2'=>($dim_1<$dim_2)?$i:"",
				'name'=>$paramId.'('.$i.')'
				);
			array_push($compts,$c);

			}

		$data=array(
				'dimensions'=>$dims,
				'components'=>$compts
			    );
0fea5567   Benjamin Renard   First step for re...
1514

10200969   Roipoussiere   Remove whitespace...
1515

bf776dc8   Benjamin Renard   working
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
			return array('success'=>true,'data'=>$data);
		}else
		/* case of spectro*/
		{
		  $sizes=array($dim_1,$dim_2);
		  $dims=array(
				'dim1'=>$dim_1,
				'dim2'=>$dim_2
			      );
		$channels=array();
 		$tables=array();
		for($j=0;$j<count($sizes);$j++)
			{
		       $compts=array();
0fea5567   Benjamin Renard   First step for re...
1530

bf776dc8   Benjamin Renard   working
1531
1532
1533
1534
1535
1536
1537
			for($i=0;$i<$sizes[$j];$i++)
				{
				$c=array('min'=>'L' . $i,'max'=>'L' . ($i+1));
				array_push($compts,$c);
				}

			$tab=array(
0fea5567   Benjamin Renard   First step for re...
1538
				'relatedDim'=>'dim' . ($j+1),
bf776dc8   Benjamin Renard   working
1539
1540
1541
1542
1543
1544
1545
1546
1547
				'name'=>'component' . ($j+1),
				'units'=>"",
				'variable'=>"",
				'channels'=>$compts,
				'minmax'=>""
				);

			array_push($tables,$tab);
			}
0fea5567   Benjamin Renard   First step for re...
1548

bf776dc8   Benjamin Renard   working
1549
1550
1551
1552
1553
1554
                  $data=array(
				'dimensions'=>$dims,
				'tables'=>$tables
			     );
		return array('success'=>true,'data'=>$data);
                }
0fea5567   Benjamin Renard   First step for re...
1555

bf776dc8   Benjamin Renard   working
1556
	}
735c653b   Elena.Budnik   rank at observato...
1557
1558
1559
1560
1561
1562
	public function getSharedObjectFolders($obj)
	{
		$mgr = new SharedObjectsMgr();
		$folders = $mgr->getFolders($obj->type);
		return array('success' => true, 'folders' => $folders);
	}
10200969   Roipoussiere   Remove whitespace...
1563

735c653b   Elena.Budnik   rank at observato...
1564
1565
1566
	public function shareObjects($obj)
	{
		$mgr = new SharedObjectsMgr();
10200969   Roipoussiere   Remove whitespace...
1567
		switch ($obj->type)
735c653b   Elena.Budnik   rank at observato...
1568
1569
1570
1571
1572
		{
			case 'timeTable' :
			case 'catalog' :
				$src_object_path = USERTTDIR.$obj->object->id.".xml";
				break;
10200969   Roipoussiere   Remove whitespace...
1573

735c653b   Elena.Budnik   rank at observato...
1574
1575
1576
			default:
				return array('success' => false, 'message' => 'Unknown object type');
		}
10200969   Roipoussiere   Remove whitespace...
1577

735c653b   Elena.Budnik   rank at observato...
1578
1579
1580
		$result = $mgr->add($obj->type, $obj->name, $obj->folder, $src_object_path, $obj->description, $this->user);
		if (!$result['success'])
			return $result;
10200969   Roipoussiere   Remove whitespace...
1581

735c653b   Elena.Budnik   rank at observato...
1582
1583
1584
		$mgr->updateTree();
		return $result;
	}
10200969   Roipoussiere   Remove whitespace...
1585

735c653b   Elena.Budnik   rank at observato...
1586
1587
1588
1589
1590
1591
	public function isSharedObjectNameAlreadyUsed($obj)
	{
		$mgr = new SharedObjectsMgr();
		$alreadyUsed = $mgr->isNameAlreadyUsed($obj->type, $obj->name);
		return array('success' => true, 'alreadyUsed' => $alreadyUsed);
	}
10200969   Roipoussiere   Remove whitespace...
1592

0bda97f3   Benjamin Renard   Fix SAMP export f...
1593
1594
	public function getRequestByProcessId($obj)
	{
0bda97f3   Benjamin Renard   Fix SAMP export f...
1595
1596
		return $this->executeRequest($obj->processId, FunctionTypeEnumClass::PROCESSGETREQUEST);
	}
16035364   Benjamin Renard   First commit
1597
1598
}
?>