99 function ilObject($a_id = 0, $a_reference =
true)
103 $ilBench->start(
"Core",
"ilObject_Constructor");
107 echo
"<br/><font color=\"red\">type(".$this->type.
") id(".$a_id.
") referenced(".$a_reference.
")</font>";
115 $this->add_dots =
true;
117 $this->referenced = $a_reference;
118 $this->call_by_reference = $a_reference;
122 $this->referenced =
false;
125 if ($this->referenced)
127 $this->ref_id = $a_id;
139 $ilBench->stop(
"Core",
"ilObject_Constructor");
157 function read($a_force_db =
false)
161 $ilBench->start(
"Core",
"ilObject_read");
162 if (isset($this->obj_data_record) && !$a_force_db)
166 else if ($this->referenced)
169 if (!isset($this->ref_id))
171 $message =
"ilObject::read(): No ref_id given! (".$this->type.
")";
172 $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
176 $ilBench->start(
"Core",
"ilObject_read_readData");
178 $q =
"SELECT * FROM object_data, object_reference WHERE object_data.obj_id=object_reference.obj_id ".
179 "AND object_reference.ref_id= ".$ilDB->quote($this->ref_id,
"integer");
180 $object_set = $ilDB->query($q);
181 $ilBench->stop(
"Core",
"ilObject_read_readData");
184 if ($ilDB->numRows($object_set) == 0)
186 $message =
"ilObject::read(): Object with ref_id ".$this->ref_id.
" not found! (".$this->type.
")";
187 $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
190 $obj = $ilDB->fetchAssoc($object_set);
195 if (!isset($this->
id))
197 $message =
"ilObject::read(): No obj_id given! (".$this->type.
")";
198 $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
202 $q =
"SELECT * FROM object_data ".
203 "WHERE obj_id = ".$ilDB->quote($this->
id,
"integer");
204 $object_set = $ilDB->query($q);
207 if ($ilDB->numRows($object_set) == 0)
209 include_once(
"./Services/Object/exceptions/class.ilObjectNotFoundException.php");
211 " (".$this->type.
") not found!");
215 $obj = $ilDB->fetchAssoc($object_set);
218 $this->
id = $obj[
"obj_id"];
221 if ($this->type != $obj[
"type"] && $obj[
"type"] !=
"xxx")
223 $message =
"ilObject::read(): Type mismatch. Object with obj_id: ".$this->id.
" ".
224 "was instantiated by type '".$this->type.
"'. DB type is: ".$obj[
"type"];
227 $log->write($message);
230 include_once(
"./Services/Object/exceptions/class.ilObjectTypeMismatchException.php");
235 $this->type = $obj[
"type"];
236 $this->title = $obj[
"title"];
238 $this->untranslatedTitle = $obj[
"title"];
240 $this->desc = $obj[
"description"];
241 $this->owner = $obj[
"owner"];
242 $this->create_date = $obj[
"create_date"];
243 $this->last_update = $obj[
"last_update"];
244 $this->import_id = $obj[
"import_id"];
246 if($objDefinition->isRBACObject($this->getType()))
249 $query =
"SELECT * FROM object_description WHERE obj_id = ".$ilDB->quote($this->
id,
'integer');
253 if(strlen(
$row->description))
261 $ilBench->start(
"Core",
"ilObject_Constructor_getTranslation");
262 $translation_type = $objDefinition->getTranslationType($this->type);
264 if ($translation_type ==
"sys")
266 $this->title = $this->lng->txt(
"obj_".$this->type);
267 $this->
setDescription($this->lng->txt(
"obj_".$this->type.
"_desc"));
269 elseif ($translation_type ==
"db")
271 $q =
"SELECT title,description FROM object_translation ".
272 "WHERE obj_id = ".$ilDB->quote($this->
id,
'integer').
" ".
273 "AND lang_code = ".$ilDB->quote($this->ilias->account->getCurrentLanguage(),
'text').
" ".
274 "AND NOT lang_default = 1";
275 $r = $this->ilias->db->query($q);
279 $this->title =
$row->title;
281 #$this->desc = $row->description;
285 $ilBench->stop(
"Core",
"ilObject_Constructor_getTranslation");
287 $ilBench->stop(
"Core",
"ilObject_read");
317 $this->ref_id = $a_id;
318 $this->referenced =
true;
348 $this->type = $a_type;
423 $this->long_desc = $a_desc;
436 return strlen($this->long_desc) ? $this->long_desc :
$this->desc;
458 $this->import_id = $a_import_id;
465 $query =
"SELECT * FROM object_data ".
466 "WHERE import_id = ".$ilDB->quote($a_import_id,
"text").
" ".
467 "ORDER BY create_date DESC";
469 while(
$row = $ilDB->fetchObject(
$res))
505 if ($a_owner_id != -1)
515 $own_name =
$owner->getFullname();
519 $own_name = $lng->txt(
"unknown");
533 $this->owner = $a_owner;
585 $this->obj_data_record = $a_record;
600 if (!isset($this->type))
602 $message = get_class($this).
"::create(): No object type given!";
603 $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
607 $log->write(
"ilObject::create(), start");
617 elseif(is_object($ilUser))
619 $owner = $ilUser->getId();
625 $this->
id = $ilDB->nextId(
"object_data");
626 $q =
"INSERT INTO object_data ".
627 "(obj_id,type,title,description,owner,create_date,last_update,import_id) ".
630 $ilDB->quote($this->
id,
"integer").
",".
631 $ilDB->quote($this->type,
"text").
",".
632 $ilDB->quote($this->
getTitle(),
"text").
",".
634 $ilDB->quote(
$owner,
"integer").
",".
639 $ilDB->manipulate($q);
645 if($objDefinition->isRBACObject($this->getType()))
648 'obj_id' => array(
'integer',$this->
id),
651 $ilDB->insert(
'object_description',$values);
658 $q =
"SELECT last_update, create_date FROM object_data".
659 " WHERE obj_id = ".$ilDB->quote($this->
id,
"integer");
660 $obj_set = $ilDB->query($q);
661 $obj_rec = $ilDB->fetchAssoc($obj_set);
662 $this->last_update = $obj_rec[
"last_update"];
663 $this->create_date = $obj_rec[
"create_date"];
669 $log->write(
"ilObject::create(), finished, obj_id: ".$this->
id.
", type: ".
670 $this->type.
", title: ".$this->getTitle());
672 $GLOBALS[
'ilAppEventHandler']->raise(
675 array(
'obj_id' => $this->
id,
'obj_type' => $this->type));
688 global $objDefinition, $ilDB;
690 $q =
"UPDATE object_data ".
692 "title = ".$ilDB->quote($this->
getTitle(),
"text").
",".
693 "description = ".$ilDB->quote($this->
getDescription(),
"text").
", ".
694 "import_id = ".$ilDB->quote($this->
getImportId(),
"text").
",".
695 "last_update = ".$ilDB->now().
" ".
696 "WHERE obj_id = ".$ilDB->quote($this->
getId(),
"integer");
697 $ilDB->manipulate($q);
702 $q =
"SELECT last_update FROM object_data".
703 " WHERE obj_id = ".$ilDB->quote($this->
getId(),
"integer");
704 $obj_set = $ilDB->query($q);
705 $obj_rec = $ilDB->fetchAssoc($obj_set);
706 $this->last_update = $obj_rec[
"last_update"];
708 if($objDefinition->isRBACObject($this->getType()))
711 $res = $this->ilias->db->query(
"SELECT * FROM object_description WHERE obj_id = ".
712 $ilDB->quote($this->getId(),
'integer'));
718 $ilDB->update(
'object_description',$values,array(
'obj_id' => array(
'integer',$this->
getId())));
724 'obj_id' => array(
'integer',$this->
getId()));
725 $ilDB->insert(
'object_description',$values);
728 $GLOBALS[
'ilAppEventHandler']->raise(
731 array(
'obj_id' => $this->
getId(),
732 'obj_type' => $this->
getType(),
751 include_once
'Services/MetaData/classes/class.ilMD.php';
753 $GLOBALS[
'ilAppEventHandler']->raise(
756 array(
'obj_id' => $this->
getId(),
757 'obj_type' => $this->
getType(),
766 if(!is_object($md_gen = $md->getGeneral()))
770 $this->
setTitle($md_gen->getTitle());
772 foreach($md_gen->getDescriptionIds() as
$id)
774 $md_des = $md_gen->getDescription(
$id);
792 include_once
'Services/MetaData/classes/class.ilMDCreator.php';
797 $md_creator->setTitle($this->
getTitle());
798 $md_creator->setTitleLanguage($ilUser->getPref(
'language'));
800 $md_creator->setDescriptionLanguage($ilUser->getPref(
'language'));
801 $md_creator->setKeywordLanguage($ilUser->getPref(
'language'));
802 $md_creator->setLanguage($ilUser->getPref(
'language'));
803 $md_creator->create();
813 include_once(
"Services/MetaData/classes/class.ilMD.php");
814 include_once(
"Services/MetaData/classes/class.ilMDGeneral.php");
815 include_once(
"Services/MetaData/classes/class.ilMDDescription.php");
818 $md_gen =& $md->getGeneral();
824 $md_gen =& $md->getGeneral();
827 $md_gen->setTitle($this->
getTitle());
830 $md_des_ids =& $md_gen->getDescriptionIds();
831 if (count($md_des_ids) > 0)
833 $md_des =& $md_gen->getDescription($md_des_ids[0]);
847 include_once(
'Services/MetaData/classes/class.ilMD.php');
862 $q =
"UPDATE object_data ".
864 "owner = ".$ilDB->quote($this->
getOwner(),
"integer").
", ".
865 "last_update = ".$ilDB->now().
" ".
866 "WHERE obj_id = ".$ilDB->quote($this->
getId(),
"integer");
867 $ilDB->manipulate($q);
869 $q =
"SELECT last_update FROM object_data".
870 " WHERE obj_id = ".$ilDB->quote($this->
getId(),
"integer");
871 $obj_set = $ilDB->query($q);
872 $obj_rec = $ilDB->fetchAssoc($obj_set);
873 $this->last_update = $obj_rec[
"last_update"];
889 $ilDB->setLimit(1,0);
890 $q =
"SELECT * FROM object_data WHERE import_id = ".$ilDB->quote($a_import_id,
"text").
891 " ORDER BY create_date DESC";
892 $obj_set = $ilDB->query($q);
894 if ($obj_rec = $ilDB->fetchAssoc($obj_set))
896 return $obj_rec[
"obj_id"];
913 $query =
"SELECT * FROM object_reference WHERE obj_id = ".
914 $ilDB->quote($a_id,
'integer');
918 while($obj_rec = $ilDB->fetchAssoc(
$res))
920 $ref[$obj_rec[
"ref_id"]] = $obj_rec[
"ref_id"];
933 global $ilObjDataCache;
935 $tit = $ilObjDataCache->lookupTitle($a_id);
947 global $ilObjDataCache;
949 $owner = $ilObjDataCache->lookupOwner($a_id);
958 ?
"SELECT obj_id FROM object_data WHERE title = ".$ilDB->quote(
$title,
"text")
959 :
"SELECT obj_id FROM object_data WHERE ".$ilDB->like(
"title",
"text",
'%'.
$title.
'%');
962 $query .=
" AND type = ".$ilDB->quote(
$type,
"text");
967 $object_ids = array();
970 $object_ids[] =
$row[
'obj_id'];
973 return is_array($object_ids) ? $object_ids : array();
983 global $ilObjDataCache;
985 return $ilObjDataCache->lookupDescription($a_id);
995 global $ilObjDataCache;
1003 return $ilObjDataCache->lookupLastUpdate($a_id);
1016 if (!is_array($a_objs))
1018 $a_objs = array($a_objs);
1021 $set = $ilDB->query(
"SELECT max(last_update) as last_update FROM object_data ".
1022 "WHERE ".$ilDB->in(
"obj_id", $a_objs,
false,
"integer").
" ");
1023 $rec = $ilDB->fetchAssoc($set);
1025 return ($rec[
"last_update"]);
1030 global $ilObjDataCache;
1032 return (
int) $ilObjDataCache->lookupObjId($a_id);
1042 $query =
"UPDATE object_reference SET deleted= ".$ilDB->now().
' '.
1043 "WHERE ref_id = ".$ilDB->quote($a_ref_id,
'integer');
1057 $query =
'UPDATE object_reference SET deleted = '.$ilDB->now().
' '.
1058 'WHERE '.$ilDB->in(
'ref_id',(array) $a_ref_ids,
false,
'integer');
1061 $ilDB->manipulate(
$query);
1072 $query =
"UPDATE object_reference SET deleted = ".$ilDB->quote(null,
'timestamp').
1073 " WHERE ref_id = ".$ilDB->quote($a_ref_id,
'integer');
1084 $query =
"SELECT deleted FROM object_reference".
1085 " WHERE ref_id = ".$ilDB->quote($a_ref_id,
"integer");
1086 $set = $ilDB->query(
$query);
1087 $rec = $ilDB->fetchAssoc($set);
1089 return $rec[
"deleted"];
1104 $q =
"UPDATE object_data ".
1106 "title = ".$ilDB->quote($a_title,
"text").
",".
1107 "last_update = ".$ilDB->now().
" ".
1108 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer");
1110 $ilDB->manipulate($q);
1122 global $ilDB,$objDefinition;
1127 $q =
"UPDATE object_data ".
1129 "description = ".$ilDB->quote(
$desc,
"text").
",".
1130 "last_update = ".$ilDB->now().
" ".
1131 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer");
1133 $ilDB->manipulate($q);
1135 if($objDefinition->isRBACObject($this->getType()))
1138 $res = $ilDB->query(
"SELECT * FROM object_description WHERE obj_id = ".
1139 $ilDB->quote($a_obj_id,
'integer'));
1146 $ilDB->update(
'object_description',$values,array(
'obj_id' => array(
'integer',$this->
getId())));
1152 'obj_id' => array(
'integer',$this->
getId()));
1153 $ilDB->insert(
'object_description',$values);
1169 $q =
"UPDATE object_data ".
1171 "import_id = ".$ilDB->quote($a_import_id,
"text").
",".
1172 "last_update = ".$ilDB->now().
" ".
1173 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
"integer");
1175 $ilDB->manipulate($q);
1185 global $ilObjDataCache;
1189 return $ilObjDataCache->lookupType($ilObjDataCache->lookupObjId($a_id));
1191 return $ilObjDataCache->lookupType($a_id);
1201 return $tree->isSaved($a_ref_id);
1228 global $ilObjDataCache;
1230 return (
int) $ilObjDataCache->lookupObjId($a_ref_id);
1247 $q =
"SELECT * FROM object_data WHERE type = ".$ilDB->quote($a_type,
"text");
1248 $obj_set = $ilDB->query($q);
1251 while ($obj_rec = $ilDB->fetchAssoc($obj_set))
1255 $objects[$obj_rec[
"title"].
".".$obj_rec[
"obj_id"]] = array(
"id" => $obj_rec[
"obj_id"],
1256 "type" => $obj_rec[
"type"],
"title" => $obj_rec[
"title"],
1257 "description" => $obj_rec[
"description"]);
1273 $tree->insertNode($this->
getRefId(), $a_parent_ref);
1276 $log->write(
"ilObject::putInTree(), parent_ref: $a_parent_ref, ref_id: ".
1290 global $rbacadmin, $rbacreview;
1292 $parentRoles = $rbacreview->getParentRoleIds($a_parent_ref);
1294 foreach ($parentRoles as $parRol)
1296 $ops = $rbacreview->getOperationsOfRole($parRol[
"obj_id"], $this->
getType(), $parRol[
"parent"]);
1297 $rbacadmin->grantPermission($parRol[
"obj_id"], $ops, $this->
getRefId());
1313 if (!isset($this->
id))
1315 $message =
"ilObject::createNewReference(): No obj_id given!";
1316 $this->raiseError($message,$this->ilias->error_obj->WARNING);
1319 $next_id = $ilDB->nextId(
'object_reference');
1320 $query =
"INSERT INTO object_reference ".
1321 "(ref_id, obj_id) VALUES (".$ilDB->quote($next_id,
'integer').
','.$ilDB->quote($this->
id ,
'integer').
")";
1322 $this->ilias->db->query(
$query);
1324 $this->ref_id = $next_id;
1325 $this->referenced =
true;
1341 if (!isset($this->
id))
1343 $message =
"ilObject::countReferences(): No obj_id given!";
1344 $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
1347 $query =
"SELECT COUNT(ref_id) num FROM object_reference ".
1348 "WHERE obj_id = ".$ilDB->quote($this->
id,
'integer').
" ";
1369 global $rbacadmin,
$log, $ilDB;
1378 if ($this->type != $db_type)
1380 $message =
"ilObject::delete(): Type mismatch. Object with obj_id: ".$this->id.
" ".
1381 "was instantiated by type '".$this->type.
"'. DB type is: ".$db_type;
1384 $log->write($message);
1387 $this->ilias->raiseError(
"ilObject::delete(): Type mismatch. (".$this->type.
"/".$this->id.
")",$this->ilias->error_obj->WARNING);
1391 $q =
"DELETE FROM object_data ".
1392 "WHERE obj_id = ".$ilDB->quote($this->
getId(),
"integer");
1393 $ilDB->manipulate($q);
1396 $query =
"DELETE FROM object_description WHERE obj_id = ".
1397 $ilDB->quote($this->
getId(),
"integer");
1398 $ilDB->manipulate(
$query);
1401 $log->write(
"ilObject::delete(), deleted object, obj_id: ".$this->
getId().
", type: ".
1405 include_once(
"./Services/News/classes/class.ilNewsItem.php");
1407 $news_item->deleteNewsOfContext($this->
getId(), $this->
getType());
1408 include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
1411 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
1427 $query =
"DELETE FROM dav_property ".
1428 "WHERE obj_id = ".$ilDB->quote($this->
getId(),
'integer');
1432 include_once
'./Services/WebServices/ECS/classes/class.ilECSImport.php';
1440 $log->write(
"ilObject::delete(), object not deleted, number of references: ".
1446 if ($this->referenced)
1448 include_once
"Services/Object/classes/class.ilObjectActivation.php";
1452 $query =
"DELETE FROM object_reference ".
1453 "WHERE ref_id = ".$ilDB->quote($this->
getRefId(),
'integer');
1457 $log->write(
"ilObject::delete(), reference deleted, ref_id: ".$this->
getRefId().
1458 ", obj_id: ".$this->
getId().
", type: ".
1465 $rbacadmin->revokePermission($this->
getRefId(),0,
false);
1467 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
1471 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
1479 if ($this->referenced)
1517 if ($rolf_data = $rbacreview->getRoleFolderofObject($this->getRefId()))
1519 $rfoldObj = $this->ilias->obj_factory->getInstanceByRefId($rolf_data[
"ref_id"]);
1523 include_once (
"./Services/AccessControl/classes/class.ilObjRoleFolder.php");
1525 $rfoldObj->setTitle($this->
getId());
1526 $rfoldObj->setDescription(
" (ref_id ".$this->
getRefId().
")");
1527 $rfoldObj->create();
1528 $rfoldObj->createReference();
1529 $rfoldObj->putInTree($this->
getRefId());
1530 $rfoldObj->setPermissions($this->
getRefId());
1547 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
1550 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateActionFactory.php';
1553 $action->setRefId($this->
getRefId());
1567 public static function _exists($a_id, $a_reference =
false, $a_type = null)
1573 $q =
"SELECT * FROM object_data ".
1574 "LEFT JOIN object_reference ON object_reference.obj_id=object_data.obj_id ".
1575 "WHERE object_reference.ref_id= ".$ilDB->quote($a_id,
"integer");
1579 $q =
"SELECT * FROM object_data WHERE obj_id=".$ilDB->quote($a_id,
"integer");
1583 $q .=
" AND object_data.type = ".$ilDB->quote($a_type,
"text");
1585 $r = $ilDB->query($q);
1587 return $ilDB->numRows($r) ?
true :
false;
1602 function notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params = 0)
1606 $parent_id = (int) $tree->getParentId($a_node_id);
1608 if ($parent_id != 0)
1610 $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($a_node_id);
1611 $obj_data->notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$parent_id,$a_params);
1620 $this->
register = (bool) $a_bool;
1652 $order =
" ORDER BY title";
1657 $where_clause =
"WHERE type = ".
1658 $ilDB->quote($a_obj_type,
"text");
1662 $where_clause.=
" AND owner = ".$ilDB->quote($a_owner,
"integer");
1666 $q =
"SELECT * FROM object_data ".$where_clause.$order;
1667 $r = $ilDB->query($q);
1670 if ($ilDB->numRows($r) > 0)
1672 while (
$row = $ilDB->fetchAssoc($r))
1674 $row[
"desc"] =
$row[
"description"];
1692 global $ilDB,
$lng,$objDefinition;
1694 $query =
"SELECT obj_data.title obj_title,path_data.title path_title,child FROM tree ".
1695 "JOIN object_reference obj_ref ON child = obj_ref.ref_id ".
1696 "JOIN object_data obj_data ON obj_ref.obj_id = obj_data.obj_id ".
1697 "JOIN object_reference path_ref ON parent = path_ref.ref_id ".
1698 "JOIN object_data path_data ON path_ref.obj_id = path_data.obj_id ".
1699 "WHERE ".$ilDB->in(
"child", $a_ref_ids,
false,
"integer").
" ".
1700 "ORDER BY obj_data.title ";
1703 if (!$objDefinition->isPlugin($new_type))
1705 $options[0] = $lng->txt(
'obj_'.$new_type.
'_select');
1709 include_once(
"./Services/Component/classes/class.ilPlugin.php");
1713 while(
$row = $ilDB->fetchObject(
$res))
1722 if(strlen(
$path =
$row->path_title) > 40)
1744 public function cloneObject($a_target_id,$a_copy_id = 0,$a_omit_tree =
false)
1746 global $objDefinition,
$ilUser,$rbacadmin, $ilDB;
1749 $class_name = (
'ilObj'.$objDefinition->getClassName($this->
getType()));
1761 include_once(
$location.
"/class.".$class_name.
".php");
1762 $new_obj =
new $class_name(0,
false);
1763 $new_obj->setOwner($ilUser->getId());
1764 $new_obj->setTitle(
$title);
1766 $new_obj->setType($this->
getType());
1768 $new_obj->create(
true);
1772 $new_obj->createReference();
1773 $new_obj->putInTree($a_target_id);
1774 $new_obj->setPermissions($a_target_id);
1780 $rbacadmin->copyLocalRoles($this->
getRefId(),$new_obj->getRefId());
1784 include_once(
'./Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
1788 $query =
"INSERT INTO dav_property (obj_id,node_id,ns,name,value) ".
1789 "SELECT ".$ilDB->quote($new_obj->getId(),
'integer').
",node_id,ns,name,value ".
1790 "FROM dav_property ".
1791 "WHERE obj_id = ".$ilDB->quote($this->getId(),
'integer');
1792 $res = $ilDB->manipulate($query);
1809 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
1811 if(!$cp_options->isRootNode($this->getRefId()))
1815 $nodes = $tree->getChilds($a_target_id);
1817 $title_unique =
false;
1818 require_once
'Modules/File/classes/class.ilObjFileAccess.php';
1821 while(!$title_unique)
1824 foreach($nodes as $node)
1826 if((
$title == $node[
'title']) and ($this->
getType() == $node[
'type']))
1857 include_once
'./Services/AccessControl/classes/class.ilConditionHandler.php';
1858 include_once
'./Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
1861 $mappings = $cwo->getMappings();
1864 foreach($conditions as $con)
1866 if($mappings[$con[
'trigger_ref_id']])
1873 $newCondition->setTargetRefId($a_target_id);
1874 $newCondition->setTargetObjId($target_obj);
1875 $newCondition->setTargetType($target_typ);
1877 $trigger_ref = $mappings[$con[
'trigger_ref_id']];
1881 $newCondition->setTriggerRefId($trigger_ref);
1882 $newCondition->setTriggerObjId($trigger_obj);
1883 $newCondition->setTriggerType($trigger_typ);
1884 $newCondition->setOperator($con[
'operator']);
1885 $newCondition->setValue($con[
'value']);
1886 $newCondition->setReferenceHandlingType($con[
'ref_handling']);
1887 $newCondition->setObligatory($con[
'obligatory']);
1888 $newCondition->storeCondition();
1892 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
1896 include_once
'./Services/Object/classes/class.ilObjectFactory.php';
1898 $obj = $factory->getInstanceByRefId($a_target_id, FALSE);
1901 $obj->applyDidacticTemplate($tpl_id);
1916 include_once
"./Services/MetaData/classes/class.ilMD.php";
1918 $md->cloneMD($target_obj->getId(),0,$target_obj->getType());
1930 public static function _getIcon($a_obj_id =
"", $a_size =
"big", $a_type =
"",
1935 if ($a_obj_id ==
"" && $a_type ==
"")
1950 if ($ilSetting->get(
"custom_icons") &&
1951 in_array($a_type, array(
"cat",
"grp",
"crs",
"root",
"fold")))
1953 require_once(
"./Services/Container/classes/class.ilContainer.php");
1959 $file_name = $cont_dir.
"/icon_".$a_size.
".png";
1960 if (is_file($file_name))
1966 $file_name = $cont_dir.
"/icon_".$a_size.
".gif";
1967 if (is_file($file_name))
1976 case "small": $suff =
"";
break;
1977 case "tiny": $suff =
"_s";
break;
1978 default: $suff =
"_b";
break;
1982 if ($objDefinition->isPluginTypeName($a_type))
1984 $class_name =
"il".$objDefinition->getClassName($a_type).
'Plugin';
1985 $location = $objDefinition->getLocation($a_type);
1986 include_once(
$location.
"/class.".$class_name.
".php");
1987 return call_user_func(array($class_name,
"_getIcon"), $a_type, $a_size, $a_obj_id);
1993 return "./images/icon_".$a_type.$suff.
".png";
2005 global $objDefinition, $tree;
2009 $deps[
"dep"] = array();
2012 $deps[
"del_ids"][$a_obj_id] = $a_obj_id;
2014 if (!$objDefinition->isPluginTypeName($a_type))
2016 $class_name =
"ilObj".$objDefinition->getClassName($a_type);
2017 $location = $objDefinition->getLocation($a_type);
2018 include_once(
$location.
"/class.".$class_name.
".php");
2019 $odeps = call_user_func(array($class_name,
"getDeletionDependencies"), $a_obj_id);
2020 if (is_array($odeps))
2022 foreach ($odeps as
$id => $message)
2024 $deps[
"dep"][
$id][$a_obj_id][] = $message;
2029 foreach ($tree->getChilds($a_ref_id) as $c)
2038 foreach ($deps[
"del_ids"] as $obj_id)
2040 unset($deps[
"dep"][$obj_id]);
2042 $deps = $deps[
"dep"];
2065 $res = $ilDB->query(
"SELECT * FROM object_description".
2066 " WHERE ".$ilDB->in(
"obj_id", $a_obj_ids,
"",
"integer"));
2068 while(
$row = $ilDB->fetchAssoc(
$res))
2070 $all[
$row[
"obj_id"]] = $row[
"description"];
2083 global $ilDB, $objDefinition;
2088 $types = array_keys($objDefinition->getSubObjectsRecursively(
"root"));
2090 $sql =
"SELECT od.obj_id,od.type,od.title FROM object_data od";
2094 $sql .=
" WHERE od.owner = ".$ilDB->quote($a_user_id,
"integer");
2098 $sql .=
" LEFT JOIN usr_data ud ON (ud.usr_id = od.owner)".
2099 " WHERE (od.owner < ".$ilDB->quote(1,
"integer").
2100 " OR od.owner IS NULL OR ud.login IS NULL)".
2101 " AND od.owner <> ".$ilDB->quote(-1,
"integer");
2104 $sql .=
" AND ".$ilDB->in(
"od.type", $types,
"",
"text");
2106 $res = $ilDB->query($sql);
2107 while(
$row = $ilDB->fetchAssoc(
$res))
2109 $all[
$row[
"type"]][
$row[
"obj_id"]] = $row[
"title"];
2125 $set = $ilDB->query(
"SELECT create_date FROM object_data ".
2126 " WHERE obj_id = ".$ilDB->quote($a_id,
"integer"));
2127 $rec = $ilDB->fetchAssoc($set);
2128 return $rec[
"create_date"];
2143 !in_array($a_type, array(
"file",
"lm",
"wiki")))
2149 $parent_ref_id = $tree->checkForParentType($a_ref_id,
"grp");
2152 $parent_ref_id = $tree->checkForParentType($a_ref_id,
"crs");
2156 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';