30 $this->obj_id = $a_obj_id;
34 public static function treeExists($a_server_id, $a_mid, $a_tree_id)
38 $query =
'SELECT COUNT(*) num FROM ecs_cms_data ' .
39 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
40 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
41 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer');
45 return $row->num > 0 ? true :
false;
64 $query =
'SELECT ed.obj_id obj_id FROM ecs_cms_data ed ' .
65 'LEFT JOIN ecs_cms_tree et ON ed.obj_id = et.child ' .
66 'WHERE et.child IS NULL ' .
67 'AND server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
68 'AND mid = ' .
$ilDB->quote($a_mid) .
' ' .
69 'AND tree_id = ' .
$ilDB->quote($a_tree_id);
83 $query =
'SELECT obj_id FROM ecs_cms_data ' .
84 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
85 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
86 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ' .
110 $GLOBALS[
'ilLog']->write(__METHOD__ .
':ASDUASDUASDU ' . $a_server_id .
' ' . $a_mid .
' ' .
$cms_id);
112 $query =
'SELECT tree_id FROM ecs_cms_data ' .
113 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
114 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
120 return $row->tree_id;
129 public static function lookupTitle($a_server_id, $a_mid, $a_tree_id)
133 $query =
'SELECT * FROM ecs_cms_data ' .
134 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
135 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
136 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer');
155 $query =
'SELECT term FROM ecs_cms_data ' .
156 'JOIN ecs_cms_tree ON obj_id = child ' .
157 'WHERE tree = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ' .
158 'AND server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
159 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
160 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ' .
177 $query =
'SELECT status,deleted FROM ecs_cms_data ' .
178 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
179 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
180 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ' .
200 $query =
'SELECT status FROM ecs_cms_data ' .
201 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
202 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
203 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ' .
218 include_once
'./Services/WebServices/ECS/classes/Mapping/class.ilECSNodeMappingAssignments.php';
219 include_once
'./Services/WebServices/ECS/classes/Tree/class.ilECSCmsTree.php';
222 $subIds =
self::lookupCmsIds(array_merge($cmsTree->getSubTreeIds($assignment), array($assignment)));
249 $query =
'SELECT cms_id FROM ecs_cms_data ' .
250 'WHERE ' .
$ilDB->in(
'obj_id', $a_obj_ids,
false,
'integer');
255 $cms_ids[] =
$row->cms_id;
271 $query =
'SELECT cms_id FROM ecs_cms_data ' .
272 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
273 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
274 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer');
278 $cms_ids[] =
$row->cms_id;
297 $query =
'UPDATE ecs_cms_data ' .
298 'SET status = ' .
$ilDB->quote(
$status,
'integer') .
' ' .
299 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
300 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
301 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ' .
302 'AND ' .
$ilDB->in(
'cms_id', $cms_ids,
false,
'text');
321 $query =
'UPDATE ecs_cms_data ' .
322 'SET status = ' .
$ilDB->quote(
$status,
'integer') .
' ' .
323 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
324 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
325 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ';
337 public static function writeAllDeleted($a_server_id, $a_mid, $a_tree_id, $a_deleted_flag)
341 $query =
'UPDATE ecs_cms_data ' .
342 'SET deleted = ' .
$ilDB->quote($a_deleted_flag,
'integer') .
' ' .
343 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
344 'AND mid = ' .
$ilDB->quote($a_mid,
'integer') .
' ' .
345 'AND tree_id = ' .
$ilDB->quote($a_tree_id,
'integer') .
' ';
354 $query =
'SELECT DISTINCT(tree_id) tid FROM ecs_cms_data ' .
355 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer') .
' ' .
356 'AND mid = ' .
$ilDB->quote($a_mid,
'integer');
361 $tree_ids[] =
$row->tid;
363 return (array) $tree_ids;
369 $this->title = $a_title;
379 $this->term = $a_term;
389 $this->obj_id = $a_id;
399 $this->cms_id = $a_id;
409 $this->server_id = $a_id;
419 $this->tree_id = $a_id;
439 $this->status = $a_status;
449 $this->deleted = $a_is_deleted;
462 $this->obj_id =
$ilDB->nextId(
'ecs_cms_data');
464 $query =
'INSERT INTO ecs_cms_data (obj_id,server_id,mid,tree_id,cms_id,title,term,status,deleted) ' .
466 $ilDB->quote($this->obj_id,
'integer') .
', ' .
467 $ilDB->quote($this->server_id,
'integer') .
', ' .
468 $ilDB->quote($this->mid,
'integer') .
', ' .
469 $ilDB->quote($this->tree_id,
'integer') .
', ' .
470 $ilDB->quote($this->cms_id,
'text') .
', ' .
471 $ilDB->quote($this->title,
'text') .
', ' .
472 $ilDB->quote($this->term,
'text') .
', ' .
473 $ilDB->quote($this->status,
'integer') .
', ' .
474 $ilDB->quote($this->deleted,
'integer') .
' ' .
484 $query =
"UPDATE ecs_cms_data SET " .
485 'title = ' .
$ilDB->quote($this->title,
'text') .
', ' .
486 'term = ' .
$ilDB->quote($this->term,
'text') .
', ' .
487 'status = ' .
$ilDB->quote($this->status,
'text') .
', ' .
488 'deleted = ' .
$ilDB->quote($this->
isDeleted(),
'integer') .
' ' .
489 'WHERE obj_id = ' . $ilDB->quote($this->obj_id,
'integer');
493 public function delete()
497 $query =
"DELETE FROM ecs_cms_data " .
498 'WHERE obj_id = ' .
$ilDB->quote($this->obj_id,
'integer');
506 $query =
"DELETE FROM ecs_cms_data " .
507 'WHERE server_id = ' .
$ilDB->quote($this->server_id,
'integer') .
' ' .
508 'AND mid = ' .
$ilDB->quote($this->mid,
'integer') .
' ' .
509 'AND tree_id = ' .
$ilDB->quote($this->tree_id,
'integer') .
' ';
517 $query =
"DELETE FROM ecs_cms_data " .
518 'WHERE server_id = ' .
$ilDB->quote($a_server_id,
'integer');
526 $query =
'SELECT * FROM ecs_cms_data ' .
527 'WHERE obj_id = ' .
$ilDB->quote($this->obj_id,
'integer');
530 $this->title =
$row->title;
531 $this->term =
$row->term;
532 $this->server_id =
$row->server_id;
533 $this->mid =
$row->mid;
534 $this->tree_id =
$row->tree_id;
535 $this->cms_id =
$row->cms_id;
536 $this->status =
$row->status;
537 $this->deleted =
$row->deleted;
An exception for terminatinating execution or to throw for unit testing.
const MAPPING_PENDING_DISCONNECTABLE
static lookupObjId($a_server_id, $a_mid, $a_tree_id, $cms_id)
static writeAllStatus($a_server_id, $a_mid, $a_tree_id, $status)
Update status @global $ilDB.
static updateStatus($a_server_id, $a_mid, $a_tree_id)
const MAPPING_PENDING_NOT_DISCONNECTABLE
static lookupCmsIds($a_obj_ids)
static treeExists($a_server_id, $a_mid, $a_tree_id)
static lookupStatusByCmsId($a_server_id, $a_mid, $a_tree_id, $cms_id)
Lookup status.
static findDeletedNodes($a_server_id, $a_mid, $a_tree_id)
Find deleted nodes Uses a left join since this is more robust.
static lookupTopTerm($a_server_id, $a_mid, $a_tree_id)
Lookup term (highest term in cms tree) @global <type> $ilDB.
static writeAllDeleted($a_server_id, $a_mid, $a_tree_id, $a_deleted_flag)
Write deleted status.
static writeStatus($a_server_id, $a_mid, $a_tree_id, $cms_ids, $status)
Update status @global $ilDB.
setDeleted($a_is_deleted)
static lookupCmsId($a_obj_id)
Lookup cms id.
static lookupFirstTreeOfNode($a_server_id, $a_mid, $cms_id)
Lookup first obj_id of cms node @global $ilDB $ilDB.
static lookupStatusByObjId($a_server_id, $a_mid, $a_tree_id, $obj_id)
Lookup status.
static lookupTreeIds($a_server_id, $a_mid)
static lookupCmsIdsOfTree($a_server_id, $a_mid, $a_tree_id)
@global $ilDB $ilDB
static lookupTitle($a_server_id, $a_mid, $a_tree_id)
Lookup title by obj id.
static deleteByServerId($a_server_id)
static lookupAssignmentIds($a_server_id, $a_mid, $a_tree_id)
Lookup assignments @global $ilDB.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
foreach($_POST as $key=> $value) $res