/** * Get all clonable styles (active standard styles and individual learning * module styles with write permission). */ function _getClonableContentStyles() { global $ilAccess, $ilDB; $clonable_styles = array(); $q = "SELECT * FROM style_data"; $style_set = $ilDB->query($q); while ($style_rec = $ilDB->fetchAssoc($style_set)) { $clonable = false; if ($style_rec["standard"] == 1) { if ($style_rec["active"] == 1) { $clonable = true; } } else { include_once "./Modules/LearningModule/classes/class.ilObjContentObject.php"; $obj_ids = ilObjContentObject::_lookupContObjIdByStyleId($style_rec["id"]); foreach ($obj_ids as $id) { $ref = ilObject::_getAllReferences($id); foreach ($ref as $ref_id) { if ($ilAccess->checkAccess("write", "", $ref_id)) { $clonable = true; } } } } if ($clonable) { $clonable_styles[$style_rec["id"]] = ilObject::_lookupTitle($style_rec["id"]); } } return $clonable_styles; }