5 require_once
"./Services/Object/classes/class.ilObject.php";
53 public function __construct($a_id = 0, $a_call_by_reference =
true)
57 $this->db = $DIC->database();
58 $this->
user = $DIC->user();
63 $this->
setOrder(self::ORDER_CREATION_DATE_DESC);
73 $this->online = $a_online;
93 $this->publicfiles = $a_publicfiles;
113 $this->view_mode = $a_val;
132 $this->itemsarray = $a_itemsarray;
142 return $this->itemsarray;
166 $med_items =
ilUtil::sortArray($med_items,
"creation_date",
"desc",
false,
true);
172 foreach (array_keys($med_items) as $idx) {
173 if (array_key_exists($idx,
$order)) {
174 $med_items[$idx][
"order"] = (
$order[$idx] + 1) * 10;
178 $med_items[$idx][
"order"] = (++$pos) * 10;
197 $this->downloadable = $a_downloadable;
226 $this->defaultAccess = (int) $value == 0 ? 0 : 1;
236 $this->order = $a_value;
256 require_once(
"./Modules/MediaCast/classes/class.ilObjMediaCastAccess.php");
269 $query =
"INSERT INTO il_media_cast_data (" .
299 if (!parent::update()) {
304 $query =
"UPDATE il_media_cast_data SET " .
305 " is_online = " .
$ilDB->quote((
int) $this->
getOnline(),
"integer") .
309 ", sortmode = " .
$ilDB->quote((
int) $this->
getOrder(),
"integer") .
311 " WHERE id = " .
$ilDB->quote((
int) $this->
getId(),
"integer");
328 $query =
"SELECT * FROM il_media_cast_data WHERE id = " .
331 $rec =
$ilDB->fetchAssoc($set);
348 public function delete()
353 if (!parent::delete()) {
359 foreach ($med_items as $item) {
360 include_once(
"./Services/News/classes/class.ilNewsItem.php");
362 $news_item->delete();
368 $query =
"DELETE FROM il_media_cast_data" .
369 " WHERE id = " .
$ilDB->quote($this->
getId(),
"integer");
381 include_once(
"./Services/News/classes/class.ilNewsItem.php");
383 $it->setContextObjId($this->
getId());
384 $it->setContextObjType($this->
getType());
385 $this->itemsarray = $it->queryNewsForContext(
false, 0,
"",
false, $a_oldest_first);
387 return $this->itemsarray;
394 if (!$this->
getId()) {
398 $sql =
"DELETE FROM il_media_cast_data_ord" .
399 " WHERE obj_id = " .
$ilDB->quote($this->
getId(),
"integer");
400 $ilDB->manipulate($sql);
407 if (!$this->
getId()) {
412 $sql =
"SELECT item_id FROM il_media_cast_data_ord" .
413 " WHERE obj_id = " .
$ilDB->quote($this->
getId(),
"integer") .
417 $all[] = $row[
"item_id"];
426 if (!$this->
getId()) {
433 foreach ($a_items as $item_id) {
436 $sql =
"INSERT INTO il_media_cast_data_ord (obj_id,item_id,pos)" .
437 " VALUES (" .
$ilDB->quote($this->
getId(),
"integer") .
"," .
438 $ilDB->quote($item_id,
"integer") .
"," .
439 $ilDB->quote($pos,
"integer") .
")";
440 $ilDB->manipulate($sql);
451 $items[] = $mapping[
$i];
453 $newObj->saveOrder($items);
462 public function cloneObject($a_target_id, $a_copy_id = 0, $a_omit_tree =
false)
464 $new_obj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
469 if (!$cp_options->isRootNode($this->getRefId())) {
477 $new_obj->setOrder($this->
getOrder());
481 include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
493 include_once(
'./Services/Tracking/classes/class.ilLPObjSettings.php');
495 $obj_settings->cloneSettings($new_obj->getId());
496 unset($obj_settings);
501 $collection = $olp->getCollectionInstance();
503 $collection->cloneCollection($new_obj->getRefId(), $cp_options->getCopyId(),
$this->mob_mapping);
520 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
521 foreach ($this->
readItems(
true) as $item) {
523 $mob_id = $item[
"mob_id"];
525 $new_mob = $mob->duplicate();
529 include_once(
"./Services/News/classes/class.ilNewsItem.php");
531 $mc_item->setMobId($new_mob->getId());
533 $mc_item->setContextObjId($a_new_obj->getId());
534 $mc_item->setContextObjType($a_new_obj->getType());
535 $mc_item->setUserId(
$ilUser->getId());
536 $mc_item->setPlaytime($item[
"playtime"]);
537 $mc_item->setTitle($item[
"title"]);
538 $mc_item->setContent($item[
"content"]);
539 $mc_item->setVisibility($item[
"visibility"]);
541 $this->mob_mapping[$mob_id] = $new_mob->getId();
542 $item_mapping[$item[
"id"]] = $mc_item->getId();
544 return $item_mapping;
550 require_once
'Services/Tracking/classes/class.ilChangeEvent.php';
559 require_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
573 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
577 $mc_item->setMobId($mob->getId());
579 $mc_item->setContextObjId($this->
getId());
580 $mc_item->setContextObjType($this->
getType());
581 $mc_item->setUserId($user_id);
582 $med_item = $mob->getMediaItem(
"Standard");
584 $mc_item->setTitle($mob->getTitle());
585 $mc_item->setContent($mob->getLongDescription());
589 $mc_item->setLimitation(
false);
596 $collection = $lp->getCollectionInstance();
597 if ($collection && $collection->hasSelectableItems()) {
604 return $mc_item->getId();
614 $hours = floor($seconds / 3600);
615 $minutes = floor(($seconds % 3600) / 60);
616 $seconds = $seconds % 60;
617 $duration = str_pad($hours, 2,
"0", STR_PAD_LEFT) .
":" .
618 str_pad($minutes, 2,
"0", STR_PAD_LEFT) .
":" .
619 str_pad($seconds, 2,
"0", STR_PAD_LEFT);
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static _recordReadEvent( $a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
static _write($a_type, $a_setting, $a_value, $a_user=0, $a_block_id=0)
Write setting to database.
static _updateStatus($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_force_raise=false)
Update status.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
foreach($_POST as $key=> $value) $res
getId()
get object id public
static _lookup($a_type, $a_setting, $a_user=0, $a_block_id=0)
Lookup setting from database.
getType()
get object type public
__construct(Container $dic, ilPlugin $plugin)
getRefId()
get reference id public
static getInstance($a_obj_id)