ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilSCORM2004Node Class Reference

Class. More...

+ Inheritance diagram for ilSCORM2004Node:
+ Collaboration diagram for ilSCORM2004Node:

Public Member Functions

 __construct ($a_slm_object, $a_id=0)
 
 setTitle ($a_title)
 Set title. More...
 
 getTitle ()
 Get title. More...
 
 setDescription ($a_description)
 Set description. More...
 
 getDescription ()
 Get description. More...
 
 setType ($a_type)
 Set type. More...
 
 getType ()
 Get type. More...
 
 setSLMId ($a_slm_id)
 Set ID of parent Scorm Learning Module Object. More...
 
 getSLMId ()
 Get ID of parent Scorm Learning Module Object. More...
 
 setSLMObject ($a_slm_obj)
 Set Scorm Learning Module Object. More...
 
 getSLMObject ()
 Get scorm learning module object. More...
 
 getContentObject ()
 Get Scorm Learning Module Object. More...
 
 setId ($a_id)
 Set Node ID. More...
 
 getId ()
 Get Node ID. More...
 
 getImportId ()
 Set Import ID. More...
 
 setImportId ($a_id)
 Get Import ID. More...
 
 read ()
 Read Data of Node. More...
 
 MDUpdateListener ($a_element)
 Meta data update listener. More...
 
 createMetaData ()
 create meta data entry More...
 
 updateMetaData ()
 update meta data entry More...
 
 deleteMetaData ()
 delete meta data entry More...
 
 setDataRecord ($a_record)
 this method should only be called by class ilSCORM2004NodeFactory More...
 
 create ($a_upload=false)
 Create Node. More...
 
 update ()
 Update Node. More...
 
 delete ()
 Delete Node. More...
 
 getObjectives ()
 
 deleteSeqInfo ()
 
 parentHasSeqTemplate ()
 
 exportAsScorm12 ()
 
 exportAsScorm13 ()
 

Static Public Member Functions

static _lookupTitle ($a_obj_id)
 Lookup Title. More...
 
static _lookupType ($a_obj_id)
 Lookup Type. More...
 
static _writeTitle ($a_obj_id, $a_title)
 Write Title. More...
 
static _writeImportId ($a_id, $a_import_id)
 Write import ID. More...
 
static _getIdForImportId ($a_import_id)
 Get Node ID for import ID (static) More...
 
static _exists ($a_id)
 Checks wether a node exists. More...
 
static _deleteAllSLMNodes ($a_slm_object)
 Delete all nodes of Scorm Learning Module. More...
 
static _lookupSLMID ($a_id)
 Lookup Scorm Learning Module ID for node id. More...
 
static putInTree ($a_obj, $a_parent_id="", $a_target_node_id="")
 put this object into content object tree More...
 
static getTree ($a_slm_obj_id)
 Get scorm module editing tree. More...
 
static clipboardCopy ($a_slm_obj_id, $a_ids)
 Copy a set of chapters/pages/scos into the clipboard. More...
 
static clipboardCut ($a_slm_obj_id, $a_ids)
 Cut and copy a set of chapters/pages into the clipboard. More...
 
static uniqueTypesCheck ($a_items)
 Check for unique types (all pages or all chapters or all scos) More...
 
static insertPageClip ($a_slm_obj)
 Insert pages from clipboard. More...
 
static insertAssetClip ($a_slm_obj, $a_type="ass")
 Insert assets from clipboard. More...
 
static insertScoClip ($a_slm_obj)
 Insert scos from clipboard. More...
 
static insertChapterClip ($a_slm_obj, $a_as_sub=false)
 Insert Chapter from clipboard. More...
 
static pasteTree ( $a_target_slm, $a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_from_clipboard=true, $a_source_parent_type="")
 Paste item (tree) from clipboard or other learning module to target scorm learning module. More...
 

Data Fields

 $slm_id
 
 $type
 
 $id
 
 $slm_object
 

Protected Attributes

 $db
 
 $user
 

Detailed Description

Class.

Base class for Scorm 2004 Nodes (Chapters, Pages, SCOs)

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 18 of file class.ilSCORM2004Node.php.

Constructor & Destructor Documentation

◆ __construct()

ilSCORM2004Node::__construct (   $a_slm_object,
  $a_id = 0 
)
Parameters
object$a_slm_objectilObjScorm2004LearningModule object

Definition at line 38 of file class.ilSCORM2004Node.php.

References $DIC, read(), setSLMId(), setSLMObject(), and user().

39  {
40  global $DIC;
41 
42  $this->db = $DIC->database();
43  $this->user = $DIC->user();
44  $this->id = $a_id;
45  $this->setSLMObject($a_slm_object);
46  $this->setSLMId($a_slm_object->getId());
47 
48  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Tree.php");
49  $this->tree = new ilSCORM2004Tree($a_slm_object->getId());
50  /*$this->tree = new ilTree($a_slm_object->getId());
51  $this->tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
52  $this->tree->setTreeTablePK("slm_id");*/
53 
54  if ($a_id != 0) {
55  $this->read();
56  }
57  }
global $DIC
Definition: saml.php:7
SCORM 2004 Editing tree.
user()
Definition: user.php:4
setSLMId($a_slm_id)
Set ID of parent Scorm Learning Module Object.
read()
Read Data of Node.
setSLMObject($a_slm_obj)
Set Scorm Learning Module Object.
+ Here is the call graph for this function:

Member Function Documentation

◆ _deleteAllSLMNodes()

static ilSCORM2004Node::_deleteAllSLMNodes (   $a_slm_object)
static

Delete all nodes of Scorm Learning Module.

Parameters
objectScorm 2004 Learning Module Object

Definition at line 534 of file class.ilSCORM2004Node.php.

References $DIC, $ilDB, $query, and ilSCORM2004NodeFactory\getInstance().

535  {
536  global $DIC;
537 
538  $ilDB = $DIC->database();
539 
540  $query = "SELECT * FROM sahs_sc13_tree_node " .
541  "WHERE slm_id = " . $ilDB->quote($a_slm_object->getId(), "integer") . " ";
542  $obj_set = $ilDB->query($query);
543 
544  require_once("./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php");
545  while ($obj_rec = $ilDB->fetchAssoc($obj_set)) {
546  $node_obj = ilSCORM2004NodeFactory::getInstance($a_slm_object, $obj_rec["obj_id"], false);
547 
548  if (is_object($node_obj)) {
549  $node_obj->delete();
550  }
551  }
552 
553  return true;
554  }
global $DIC
Definition: saml.php:7
static getInstance($a_slm_object, $a_id=0, $a_halt=true)
$query
global $ilDB
+ Here is the call graph for this function:

◆ _exists()

static ilSCORM2004Node::_exists (   $a_id)
static

Checks wether a node exists.

Parameters
int$idid
Returns
boolean true, if lm content object exists

Definition at line 507 of file class.ilSCORM2004Node.php.

References $DIC, $ilDB, and ilInternalLink\_extractObjIdOfTarget().

508  {
509  global $DIC;
510 
511  $ilDB = $DIC->database();
512 
513  include_once("./Services/Link/classes/class.ilInternalLink.php");
514  if (is_int(strpos($a_id, "_"))) {
516  }
517 
518  $q = "SELECT * FROM sahs_sc13_tree_node WHERE obj_id = " .
519  $ilDB->quote($a_id, "integer");
520  $obj_set = $ilDB->query($q);
521  if ($obj_rec = $ilDB->fetchAssoc($obj_set)) {
522  return true;
523  } else {
524  return false;
525  }
526  }
global $DIC
Definition: saml.php:7
global $ilDB
+ Here is the call graph for this function:

◆ _getIdForImportId()

static ilSCORM2004Node::_getIdForImportId (   $a_import_id)
static

Get Node ID for import ID (static)

import ids can exist multiple times (if the same learning module has been imported multiple times). we get the object id of the last imported object, that is not in trash

Parameters
int$a_import_idimport id
Returns
int id

Definition at line 477 of file class.ilSCORM2004Node.php.

References $DIC, $ilDB, $slm_id, ilObject\_hasUntrashedReference(), and _lookupSLMID().

478  {
479  global $DIC;
480 
481  $ilDB = $DIC->database();
482 
483  $ilDB->setLimit(1);
484  $q = "SELECT * FROM sahs_sc13_tree_node WHERE import_id = " .
485  $ilDB->quote($a_import_id, "text") . " " .
486  " ORDER BY create_date DESC";
487  $obj_set = $ilDB->query($q);
488  while ($obj_rec = $ilDB->fetchAssoc($obj_set)) {
489  $slm_id = ilSCORM2004Node::_lookupSLMID($obj_rec["obj_id"]);
490 
491  // link only in learning module, that is not trashed
493  return $obj_rec["obj_id"];
494  }
495  }
496 
497  return 0;
498  }
static _hasUntrashedReference($a_obj_id)
checks wether an object has at least one reference that is not in trash
static _lookupSLMID($a_id)
Lookup Scorm Learning Module ID for node id.
global $DIC
Definition: saml.php:7
global $ilDB
+ Here is the call graph for this function:

◆ _lookupSLMID()

static ilSCORM2004Node::_lookupSLMID (   $a_id)
static

Lookup Scorm Learning Module ID for node id.

Definition at line 559 of file class.ilSCORM2004Node.php.

References $DIC, $ilDB, and $query.

Referenced by _getIdForImportId(), ilObjMediaObject\getParentObjectIdForUsage(), and pasteTree().

560  {
561  global $DIC;
562 
563  $ilDB = $DIC->database();
564 
565  $query = "SELECT * FROM sahs_sc13_tree_node WHERE obj_id = " .
566  $ilDB->quote($a_id, "integer") . "";
567  $obj_set = $ilDB->query($query);
568  $obj_rec = $ilDB->fetchAssoc($obj_set);
569 
570  return $obj_rec["slm_id"];
571  }
global $DIC
Definition: saml.php:7
$query
global $ilDB
+ Here is the caller graph for this function:

◆ _lookupTitle()

static ilSCORM2004Node::_lookupTitle (   $a_obj_id)
static

Lookup Title.

Parameters
intNode ID
Returns
string Title

Definition at line 335 of file class.ilSCORM2004Node.php.

References $DIC, $ilDB, and $query.

Referenced by clipboardCopy(), ilTermUsagesTableGUI\fillRow(), ilObjectivesAlignmentTableGUI\fillRow(), and ilNoteGUI\showTargets().

336  {
337  global $DIC;
338 
339  $ilDB = $DIC->database();
340 
341  $query = "SELECT * FROM sahs_sc13_tree_node WHERE obj_id = " .
342  $ilDB->quote($a_obj_id, "integer");
343  $obj_set = $ilDB->query($query);
344  $obj_rec = $ilDB->fetchAssoc($obj_set);
345 
346  return $obj_rec["title"];
347  }
global $DIC
Definition: saml.php:7
$query
global $ilDB
+ Here is the caller graph for this function:

◆ _lookupType()

static ilSCORM2004Node::_lookupType (   $a_obj_id)
static

Lookup Type.

Parameters
intNode ID
Returns
string Type

Definition at line 355 of file class.ilSCORM2004Node.php.

References $DIC, $ilDB, and $query.

Referenced by clipboardCopy(), ilObjSCORM2004LearningModuleGUI\editOrganization(), ilObjSCORM2004LearningModuleGUI\getNotesHTML(), ilObjSCORM2004LearningModuleGUI\jumpToNode(), pasteTree(), and uniqueTypesCheck().

356  {
357  global $DIC;
358 
359  $ilDB = $DIC->database();
360 
361  $query = "SELECT * FROM sahs_sc13_tree_node WHERE obj_id = " .
362  $ilDB->quote($a_obj_id, "integer");
363  $obj_set = $ilDB->query($query);
364  $obj_rec = $ilDB->fetchAssoc($obj_set);
365 
366  return $obj_rec["type"];
367  }
global $DIC
Definition: saml.php:7
$query
global $ilDB
+ Here is the caller graph for this function:

◆ _writeImportId()

static ilSCORM2004Node::_writeImportId (   $a_id,
  $a_import_id 
)
static

Write import ID.

Parameters
int$a_idNode ID
string$a_import_idImport ID

Definition at line 393 of file class.ilSCORM2004Node.php.

References $DIC, and $ilDB.

394  {
395  global $DIC;
396 
397  $ilDB = $DIC->database();
398 
399  $q = "UPDATE sahs_sc13_tree_node " .
400  "SET " .
401  "import_id = " . $ilDB->quote($a_import_id, "text") . "," .
402  "last_update = " . $ilDB->now() .
403  "WHERE obj_id = " . $ilDB->quote($a_id, "integer");
404 
405  $ilDB->manipulate($q);
406  }
global $DIC
Definition: saml.php:7
global $ilDB

◆ _writeTitle()

static ilSCORM2004Node::_writeTitle (   $a_obj_id,
  $a_title 
)
static

Write Title.

Parameters
intNode ID
stringTitle

Definition at line 375 of file class.ilSCORM2004Node.php.

References $DIC, $ilDB, and $query.

Referenced by MDUpdateListener(), and ilObjSCORM2004LearningModuleGUI\saveAllTitles().

376  {
377  global $DIC;
378 
379  $ilDB = $DIC->database();
380 
381  $query = "UPDATE sahs_sc13_tree_node SET " .
382  " title = " . $ilDB->quote($a_title, "text") .
383  " WHERE obj_id = " . $ilDB->quote($a_obj_id, "integer");
384  $ilDB->manipulate($query);
385  }
global $DIC
Definition: saml.php:7
$query
global $ilDB
+ Here is the caller graph for this function:

◆ clipboardCopy()

static ilSCORM2004Node::clipboardCopy (   $a_slm_obj_id,
  $a_ids 
)
static

Copy a set of chapters/pages/scos into the clipboard.

Definition at line 626 of file class.ilSCORM2004Node.php.

References $DIC, $id, $ilUser, $time, _lookupTitle(), _lookupType(), date, getTree(), and time.

Referenced by clipboardCut(), ilSCORM2004NodeGUI\copyItems(), and ilObjSCORM2004LearningModuleGUI\copyItems().

627  {
628  global $DIC;
629 
630  $ilUser = $DIC->user();
631 
632  $tree = ilSCORM2004Node::getTree($a_slm_obj_id);
633 
634  $ilUser->clipboardDeleteObjectsOfType("page");
635  $ilUser->clipboardDeleteObjectsOfType("chap");
636  $ilUser->clipboardDeleteObjectsOfType("sco");
637  $ilUser->clipboardDeleteObjectsOfType("ass");
638 
639  // put them into the clipboard
640  $time = date("Y-m-d H:i:s", time());
641  foreach ($a_ids as $id) {
642  $curnode = "";
643  if ($tree->isInTree($id)) {
644  $curnode = $tree->getNodeData($id);
645  $subnodes = $tree->getSubTree($curnode);
646  foreach ($subnodes as $subnode) {
647  if ($subnode["child"] != $id) {
648  $ilUser->addObjectToClipboard(
649  $subnode["child"],
650  $subnode["type"],
651  $subnode["title"],
652  $subnode["parent"],
653  $time,
654  $subnode["lft"]
655  );
656  }
657  }
658  }
659  $order = ($curnode["lft"] > 0)
660  ? $curnode["lft"]
661  : (int) ($order + 1);
662  $ilUser->addObjectToClipboard(
663  $id,
666  0,
667  $time,
668  $order
669  );
670  }
671  }
static _lookupTitle($a_obj_id)
Lookup Title.
global $DIC
Definition: saml.php:7
$time
Definition: cron.php:21
static getTree($a_slm_obj_id)
Get scorm module editing tree.
static _lookupType($a_obj_id)
Lookup Type.
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
$ilUser
Definition: imgupload.php:18
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clipboardCut()

static ilSCORM2004Node::clipboardCut (   $a_slm_obj_id,
  $a_ids 
)
static

Cut and copy a set of chapters/pages into the clipboard.

Definition at line 676 of file class.ilSCORM2004Node.php.

References $id, $path, clipboardCopy(), and getTree().

Referenced by ilSCORM2004NodeGUI\cutItems(), and ilObjSCORM2004LearningModuleGUI\cutItems().

677  {
678  $tree = ilSCORM2004Node::getTree($a_slm_obj_id);
679 
680  if (!is_array($a_ids)) {
681  return false;
682  } else {
683  // get all "top" ids, i.e. remove ids, that have a selected parent
684  foreach ($a_ids as $id) {
685  $path = $tree->getPathId($id);
686  $take = true;
687  foreach ($path as $path_id) {
688  if ($path_id != $id && in_array($path_id, $a_ids)) {
689  $take = false;
690  }
691  }
692  if ($take) {
693  $cut_ids[] = $id;
694  }
695  }
696  }
697 
698  ilSCORM2004Node::clipboardCopy($a_slm_obj_id, $cut_ids);
699 
700  // remove the objects from the tree
701  // note: we are getting chapters, scos and pages which are *not* in the tree
702  // we do not delete any pages/chapters here
703  foreach ($cut_ids as $id) {
704  $curnode = $tree->getNodeData($id);
705  if ($tree->isInTree($id)) {
706  $tree->deleteTree($curnode);
707  }
708  }
709  }
static clipboardCopy($a_slm_obj_id, $a_ids)
Copy a set of chapters/pages/scos into the clipboard.
static getTree($a_slm_obj_id)
Get scorm module editing tree.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create()

ilSCORM2004Node::create (   $a_upload = false)

Create Node.

Parameters
booleanUpload Mode

Definition at line 413 of file class.ilSCORM2004Node.php.

References $db, $id, $ilDB, $query, createMetaData(), getImportId(), getSLMId(), getTitle(), getType(), and setId().

414  {
415  $ilDB = $this->db;
416 
417  // insert object data
418  $id = $ilDB->nextId("sahs_sc13_tree_node");
419  $query = "INSERT INTO sahs_sc13_tree_node (obj_id, title, type, slm_id, import_id, create_date) " .
420  "VALUES (" .
421  $ilDB->quote($id, "integer") . "," .
422  $ilDB->quote($this->getTitle(), "text") . "," .
423  $ilDB->quote($this->getType(), "text") . ", " .
424  $ilDB->quote($this->getSLMId(), "integer") . "," .
425  $ilDB->quote($this->getImportId(), "text") .
426  ", " . $ilDB->now() . ")";
427  $ilDB->manipulate($query);
428  $this->setId($id);
429 
430  if (!$a_upload) {
431  $this->createMetaData();
432  }
433  }
getImportId()
Set Import ID.
getSLMId()
Get ID of parent Scorm Learning Module Object.
setId($a_id)
Set Node ID.
createMetaData()
create meta data entry
$query
global $ilDB
+ Here is the call graph for this function:

◆ createMetaData()

ilSCORM2004Node::createMetaData ( )

create meta data entry

Definition at line 269 of file class.ilSCORM2004Node.php.

References $ilUser, $user, getDescription(), getId(), getSLMId(), getTitle(), and getType().

Referenced by create().

270  {
272 
273  include_once 'Services/MetaData/classes/class.ilMDCreator.php';
274  $md_creator = new ilMDCreator($this->getSLMId(), $this->getId(), $this->getType());
275  $md_creator->setTitle($this->getTitle());
276  $md_creator->setTitleLanguage($ilUser->getPref('language'));
277  $md_creator->setDescription($this->getDescription());
278  $md_creator->setDescriptionLanguage($ilUser->getPref('language'));
279  $md_creator->setKeywordLanguage($ilUser->getPref('language'));
280  $md_creator->setLanguage($ilUser->getPref('language'));
281  $md_creator->create();
282 
283  return true;
284  }
getSLMId()
Get ID of parent Scorm Learning Module Object.
$ilUser
Definition: imgupload.php:18
getDescription()
Get description.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delete()

ilSCORM2004Node::delete ( )

Delete Node.

Definition at line 455 of file class.ilSCORM2004Node.php.

References $db, $ilDB, $query, deleteMetaData(), and getId().

456  {
457  $ilDB = $this->db;
458 
459  $query = "DELETE FROM sahs_sc13_tree_node WHERE obj_id= " .
460  $ilDB->quote($this->getId(), "integer");
461  $ilDB->manipulate($query);
462 
463  $this->deleteMetaData();
464  }
deleteMetaData()
delete meta data entry
$query
global $ilDB
+ Here is the call graph for this function:

◆ deleteMetaData()

ilSCORM2004Node::deleteMetaData ( )

delete meta data entry

Definition at line 313 of file class.ilSCORM2004Node.php.

References getId(), getSLMId(), and getType().

Referenced by delete().

314  {
315  // Delete meta data
316  include_once('Services/MetaData/classes/class.ilMD.php');
317  $md = new ilMD($this->getSLMId(), $this->getId(), $this->getType());
318  $md->deleteAll();
319  }
getSLMId()
Get ID of parent Scorm Learning Module Object.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteSeqInfo()

ilSCORM2004Node::deleteSeqInfo ( )

Definition at line 1076 of file class.ilSCORM2004Node.php.

References getId().

1077  {
1078  include_once("./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
1079  $seq_item = new ilSCORM2004Item($this->getId());
1080  $seq_item -> delete();
1081  }
Class ilSCORM2004Condition.
+ Here is the call graph for this function:

◆ exportAsScorm12()

ilSCORM2004Node::exportAsScorm12 ( )

Definition at line 1092 of file class.ilSCORM2004Node.php.

1093  {
1094  //to implement
1095  return;
1096  }

◆ exportAsScorm13()

ilSCORM2004Node::exportAsScorm13 ( )

Definition at line 1098 of file class.ilSCORM2004Node.php.

1099  {
1100  //to implement
1101  return;
1102  }

◆ getContentObject()

ilSCORM2004Node::getContentObject ( )

Get Scorm Learning Module Object.

Returns
int Scorm LM Object

Definition at line 164 of file class.ilSCORM2004Node.php.

References $slm_object.

165  {
166  return $this->slm_object;
167  }

◆ getDescription()

ilSCORM2004Node::getDescription ( )

Get description.

Returns
string Description

Definition at line 94 of file class.ilSCORM2004Node.php.

References $description.

Referenced by ilSCORM2004Chapter\copy(), ilSCORM2004Asset\copy(), ilSCORM2004PageNode\copy(), ilSCORM2004Sco\copy(), and createMetaData().

95  {
96  return $this->description;
97  }
+ Here is the caller graph for this function:

◆ getId()

◆ getImportId()

ilSCORM2004Node::getImportId ( )

Set Import ID.

Parameters
intImport ID

Definition at line 194 of file class.ilSCORM2004Node.php.

Referenced by create().

195  {
196  return $this->import_id;
197  }
+ Here is the caller graph for this function:

◆ getObjectives()

ilSCORM2004Node::getObjectives ( )

Definition at line 1070 of file class.ilSCORM2004Node.php.

References ilSCORM2004Objective\fetchAllObjectives(), and getId().

Referenced by ilSCORM2004Asset\exportScorm(), and ilSCORM2004Sco\getMainObjectiveText().

1071  {
1072  include_once("./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Objective.php");
1073  return ilSCORM2004Objective::fetchAllObjectives($this->slm_object, $this->getId());
1074  }
static fetchAllObjectives($a_slm_object, $a_tree_node_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSLMId()

ilSCORM2004Node::getSLMId ( )

◆ getSLMObject()

ilSCORM2004Node::getSLMObject ( )

Get scorm learning module object.

Returns
int Scorm LM Object

Definition at line 154 of file class.ilSCORM2004Node.php.

References $slm_object.

155  {
156  return $this->slm_object;
157  }

◆ getTitle()

ilSCORM2004Node::getTitle ( )

Get title.

Returns
string title

Definition at line 74 of file class.ilSCORM2004Node.php.

References $title.

Referenced by ilSCORM2004Chapter\copy(), ilSCORM2004Asset\copy(), ilSCORM2004PageNode\copy(), ilSCORM2004Sco\copy(), create(), createMetaData(), ilSCORM2004Asset\exportHTMLPageObjects(), update(), and updateMetaData().

75  {
76  return $this->title;
77  }
+ Here is the caller graph for this function:

◆ getTree()

static ilSCORM2004Node::getTree (   $a_slm_obj_id)
static

Get scorm module editing tree.

Parameters
intscorm module object id
Returns
object tree object

Definition at line 613 of file class.ilSCORM2004Node.php.

Referenced by clipboardCopy(), clipboardCut(), insertAssetClip(), insertChapterClip(), and insertPageClip().

614  {
615  $tree = new ilTree($a_slm_obj_id);
616  $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
617  $tree->setTreeTablePK("slm_id");
618  $tree->readRootId();
619 
620  return $tree;
621  }
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
+ Here is the caller graph for this function:

◆ getType()

◆ insertAssetClip()

static ilSCORM2004Node::insertAssetClip (   $a_slm_obj,
  $a_type = "ass" 
)
static

Insert assets from clipboard.

Definition at line 795 of file class.ilSCORM2004Node.php.

References $a_type, $DIC, $ilCtrl, $ilUser, $target, array, ilEditClipboard\clear(), ilEditClipboard\getAction(), ilHierarchyFormGUI\getPostFirstChild(), ilHierarchyFormGUI\getPostNodeId(), getTree(), IL_FIRST_NODE, and pasteTree().

Referenced by ilSCORM2004NodeGUI\insertAssetClip(), and ilObjSCORM2004LearningModuleGUI\insertAssetClip().

796  {
797  global $DIC;
798 
799  $ilCtrl = $DIC->ctrl();
800  $ilUser = $DIC->user();
801 
802  // @todo: move this to a service since it can be used here, too
803  include_once("./Modules/LearningModule/classes/class.ilEditClipboard.php");
804 
805  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
808 
809  $tree = ilSCORM2004Node::getTree($a_slm_obj->getId());
810 
811  if (!$first_child) { // insert after node id
812  $parent_id = $tree->getParentId($node_id);
813  $target = $node_id;
814  } else { // insert as first child
815  $parent_id = $node_id;
817  }
818 
819  // cut and paste
820  $scos = $ilUser->getClipboardObjects($a_type);
821  $copied_nodes = array();
822  foreach ($scos as $sco) {
824  $a_slm_obj,
825  $sco["id"],
826  $parent_id,
827  $target,
828  $sco["insert_time"],
829  $copied_nodes,
830  (ilEditClipboard::getAction() == "copy")
831  );
832  $target = $cid;
833  }
834  //ilLMObject::updateInternalLinks($copied_nodes);
835 
836  if (ilEditClipboard::getAction() == "cut") {
837  $ilUser->clipboardDeleteObjectsOfType("page");
838  $ilUser->clipboardDeleteObjectsOfType("chap");
839  $ilUser->clipboardDeleteObjectsOfType("sco");
840  $ilUser->clipboardDeleteObjectsOfType("ass");
842  }
843  }
global $DIC
Definition: saml.php:7
static getPostNodeId()
Get node ID of _POST input.
global $ilCtrl
Definition: ilias.php:18
static getPostFirstChild()
Should node be inserted as first child of target node (true) or as successor (false) ...
$a_type
Definition: workflow.php:92
static getTree($a_slm_obj_id)
Get scorm module editing tree.
const IL_FIRST_NODE
Definition: class.ilTree.php:5
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
static pasteTree( $a_target_slm, $a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_from_clipboard=true, $a_source_parent_type="")
Paste item (tree) from clipboard or other learning module to target scorm learning module...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertChapterClip()

static ilSCORM2004Node::insertChapterClip (   $a_slm_obj,
  $a_as_sub = false 
)
static

Insert Chapter from clipboard.

Definition at line 857 of file class.ilSCORM2004Node.php.

References $DIC, $ilCtrl, $ilLog, $ilUser, $target, array, ilEditClipboard\clear(), ilEditClipboard\getAction(), ilHierarchyFormGUI\getPostFirstChild(), ilHierarchyFormGUI\getPostNodeId(), getTree(), IL_FIRST_NODE, and pasteTree().

Referenced by ilObjSCORM2004LearningModuleGUI\insertChapterClip().

858  {
859  global $DIC;
860 
861  $ilUser = $DIC->user();
862  $ilCtrl = $DIC->ctrl();
863  $ilLog = $DIC["ilLog"];
864 
865  // @todo: move this to a service since it can be used here, too
866  include_once("./Modules/LearningModule/classes/class.ilEditClipboard.php");
867 
868  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
871 
872  $tree = ilSCORM2004Node::getTree($a_slm_obj->getId());
873 
874  if ($a_as_sub) { // as subchapter
875  if (!$first_child) { // insert under parent
876  $parent_id = $node_id;
877  $target = "";
878  } else { // we shouldnt end up here
879  return;
880  }
881  } else { // as chapter
882  if (!$first_child) { // insert after node id
883  $parent_id = $tree->getParentId($node_id);
884  $target = $node_id;
885  } else { // insert as first child
886  $parent_id = $node_id;
888 
889  // do not move a chapter in front of a sco (maybe never needed)
890  $childs = $tree->getChildsByType($parent_id, "sco");
891  if (count($childs) != 0) {
892  $target = $childs[count($childs) - 1]["obj_id"];
893  }
894  }
895  }
896 
897  // copy and paste
898  $chapters = $ilUser->getClipboardObjects("chap", true);
899  $copied_nodes = array();
900  foreach ($chapters as $chap) {
902  $a_slm_obj,
903  $chap["id"],
904  $parent_id,
905  $target,
906  $chap["insert_time"],
907  $copied_nodes,
908  (ilEditClipboard::getAction() == "copy")
909  );
910  $target = $cid;
911  }
912  //ilLMObject::updateInternalLinks($copied_nodes);
913 
914  if (ilEditClipboard::getAction() == "cut") {
915  $ilUser->clipboardDeleteObjectsOfType("page");
916  $ilUser->clipboardDeleteObjectsOfType("chap");
917  $ilUser->clipboardDeleteObjectsOfType("sco");
918  $ilUser->clipboardDeleteObjectsOfType("ass");
920  }
921  }
global $DIC
Definition: saml.php:7
static getPostNodeId()
Get node ID of _POST input.
global $ilCtrl
Definition: ilias.php:18
static getPostFirstChild()
Should node be inserted as first child of target node (true) or as successor (false) ...
static getTree($a_slm_obj_id)
Get scorm module editing tree.
const IL_FIRST_NODE
Definition: class.ilTree.php:5
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
static pasteTree( $a_target_slm, $a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_from_clipboard=true, $a_source_parent_type="")
Paste item (tree) from clipboard or other learning module to target scorm learning module...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertPageClip()

static ilSCORM2004Node::insertPageClip (   $a_slm_obj)
static

Insert pages from clipboard.

Definition at line 733 of file class.ilSCORM2004Node.php.

References $DIC, $ilUser, $target, array, ilEditClipboard\clear(), ilEditClipboard\getAction(), ilHierarchyFormGUI\getPostFirstChild(), ilHierarchyFormGUI\getPostNodeId(), getTree(), IL_FIRST_NODE, and pasteTree().

Referenced by ilSCORM2004NodeGUI\insertPageClip(), and ilObjSCORM2004LearningModuleGUI\insertPageClip().

734  {
735  global $DIC;
736 
737  $ilUser = $DIC->user();
738 
739  // @todo: move this to a service since it can be used here, too
740  include_once("./Modules/LearningModule/classes/class.ilEditClipboard.php");
741 
742  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php");
745 
746  $tree = ilSCORM2004Node::getTree($a_slm_obj->getId());
747 
748  if (!$first_child) { // insert after node id
749  $parent_id = $tree->getParentId($node_id);
750  $target = $node_id;
751  } else { // insert as first child
752  $parent_id = $node_id;
754  }
755 
756  // cut and paste
757  $source_parent_type = "";
758  if ($ilUser->getClipboardObjects("page")) {
759  $pages = $ilUser->getClipboardObjects("page");
760  } elseif ($ilUser->getClipboardObjects("pg")) {
761  $source_parent_type = "lm";
762  $pages = $ilUser->getClipboardObjects("pg");
763  }
764  $copied_nodes = array();
765 
766  foreach ($pages as $pg) {
768  $a_slm_obj,
769  $pg["id"],
770  $parent_id,
771  $target,
772  $pg["insert_time"],
773  $copied_nodes,
774  (ilEditClipboard::getAction() == "copy"),
775  true,
776  $source_parent_type
777  );
778  $target = $cid;
779  }
780  //ilLMObject::updateInternalLinks($copied_nodes);
781 
782  if (ilEditClipboard::getAction() == "cut") {
783  $ilUser->clipboardDeleteObjectsOfType("page");
784  $ilUser->clipboardDeleteObjectsOfType("chap");
785  $ilUser->clipboardDeleteObjectsOfType("sco");
786  $ilUser->clipboardDeleteObjectsOfType("ass");
787  $ilUser->clipboardDeleteObjectsOfType("pg");
789  }
790  }
global $DIC
Definition: saml.php:7
static getPostNodeId()
Get node ID of _POST input.
static getPostFirstChild()
Should node be inserted as first child of target node (true) or as successor (false) ...
static getTree($a_slm_obj_id)
Get scorm module editing tree.
const IL_FIRST_NODE
Definition: class.ilTree.php:5
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
static pasteTree( $a_target_slm, $a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_from_clipboard=true, $a_source_parent_type="")
Paste item (tree) from clipboard or other learning module to target scorm learning module...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertScoClip()

static ilSCORM2004Node::insertScoClip (   $a_slm_obj)
static

Insert scos from clipboard.

Definition at line 848 of file class.ilSCORM2004Node.php.

Referenced by ilSCORM2004NodeGUI\insertScoClip(), and ilObjSCORM2004LearningModuleGUI\insertScoClip().

849  {
850  self::insertAssetClip($a_slm_obj, "sco");
851  }
+ Here is the caller graph for this function:

◆ MDUpdateListener()

ilSCORM2004Node::MDUpdateListener (   $a_element)

Meta data update listener.

Important note: Do never call create() or update() method of ilObject here. It would result in an endless loop: update object -> update meta -> update object -> ... Use static _writeTitle() ... methods instead.

Parameters
string$a_element

Definition at line 239 of file class.ilSCORM2004Node.php.

References $id, _writeTitle(), getId(), getSLMId(), and getType().

240  {
241  include_once 'Services/MetaData/classes/class.ilMD.php';
242 
243  switch ($a_element) {
244  case 'General':
245 
246  // Update Title and description
247  $md = new ilMD($this->getSLMId(), $this->getId(), $this->getType());
248  $md_gen = $md->getGeneral();
249 
250  ilSCORM2004Node::_writeTitle($this->getId(), $md_gen->getTitle());
251 
252  foreach ($md_gen->getDescriptionIds() as $id) {
253  $md_des = $md_gen->getDescription($id);
254  // ilLMObject::_writeDescription($this->getId(),$md_des->getDescription());
255  break;
256  }
257 
258  break;
259 
260  default:
261  }
262  return true;
263  }
getSLMId()
Get ID of parent Scorm Learning Module Object.
static _writeTitle($a_obj_id, $a_title)
Write Title.
+ Here is the call graph for this function:

◆ parentHasSeqTemplate()

ilSCORM2004Node::parentHasSeqTemplate ( )

Definition at line 1084 of file class.ilSCORM2004Node.php.

References getId().

1085  {
1086  include_once("./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Utilities.php");
1087  $seq_util = new ilSCORM2004Utilities($this->getId());
1088  return $seq_util -> parentHasSeqTemplate($this->slm_object);
1089  }
Class ilSCORM2004Utilities.
+ Here is the call graph for this function:

◆ pasteTree()

static ilSCORM2004Node::pasteTree (   $a_target_slm,
  $a_item_id,
  $a_parent_id,
  $a_target,
  $a_insert_time,
$a_copied_nodes,
  $a_as_copy = false,
  $a_from_clipboard = true,
  $a_source_parent_type = "" 
)
static

Paste item (tree) from clipboard or other learning module to target scorm learning module.

Parameters
object$a_target_slmtarget scorm 2004 learning module object
int$a_item_idid of item that should be pasted
int$a_parent_idparent id in target tree,
int$a_targetpredecessor target node, no ID means: last child
string$a_insert_timecliboard insert time (not needed, if $a_from_cliboard is false)
array$a_copied_nodesarray of IDs od copied nodes, key is ID of source node, value is ID of copied node
bool$a_as_copyif true, items are copied otherwise they are moved
bool$a_from_clipboardif true, child node information is read from clipboard, otherwise from source tree

Definition at line 935 of file class.ilSCORM2004Node.php.

References $DIC, $ilLog, $ilUser, _lookupSLMID(), ilLMObject\_lookupType(), _lookupType(), array, ilMD\cloneMD(), ilSCORM2004PageNode\copyPageFromLM(), IL_LAST_NODE, and putInTree().

Referenced by ilLMChapterImportForm\addNode(), ilObjSCORM2004LearningModule\copyAuthoredContent(), insertAssetClip(), insertChapterClip(), and insertPageClip().

945  {
946  global $DIC;
947 
948  $ilUser = $DIC->user();
949  $ilLog = $DIC["ilLog"];
950 
951  $item_type = "";
952 
953  if (in_array($a_source_parent_type, array("", "sahs"))) {
954  // source lm id, item type and lm object
955  $item_slm_id = ilSCORM2004Node::_lookupSLMID($a_item_id);
956  $item_type = ilSCORM2004Node::_lookupType($a_item_id);
957 
958  include_once("./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php");
959  $slm_obj = new ilObjSCORM2004LearningModule($item_slm_id, false);
960 
961  $ilLog->write("Getting from clipboard type " . $item_type . ", " .
962  "Item ID: " . $a_item_id . ", of original SLM: " . $item_slm_id);
963  } elseif (in_array($a_source_parent_type, array("lm"))) {
964  include_once("./Modules/LearningModule/classes/class.ilLMObject.php");
965  $item_lm_id = ilLMObject::_lookupContObjId($a_item_id);
966  $item_type = ilLMObject::_lookupType($a_item_id, $item_lm_id);
967 
968  include_once("./Modules/LearningModule/classes/class.ilObjLearningModule.php");
969  $lm_obj = new ilObjLearningModule($item_lm_id, false);
970 
971  $ilLog->write("Getting from clipboard type " . $item_type . ", " .
972  "Item ID: " . $a_item_id . ", of original SLM: " . $item_lm_id);
973  }
974 
975 
976 
977  if ($item_type == "chap") {
978  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Chapter.php");
979  $item = new ilSCORM2004Chapter($slm_obj, $a_item_id);
980  } elseif ($item_type == "page") {
981  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
982  $item = new ilSCORM2004PageNode($slm_obj, $a_item_id);
983  } elseif ($item_type == "sco") {
984  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Sco.php");
985  $item = new ilSCORM2004Sco($slm_obj, $a_item_id);
986  } elseif ($item_type == "ass") {
987  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Asset.php");
988  $item = new ilSCORM2004Asset($slm_obj, $a_item_id);
989  } elseif ($item_type == "pg") {
990  include_once("./Modules/LearningModule/classes/class.ilLMPageObject.php");
991  $item = new ilLMPageObject($lm_obj, $a_item_id);
992  }
993 
994 
995  if ($item_slm_id != $a_target_slm->getId() && !$a_as_copy) {
996  // @todo: check whether st is NOT in tree
997 
998  // "move" metadata to new lm
999  include_once("Services/MetaData/classes/class.ilMD.php");
1000  $md = new ilMD($item_slm_id, $item->getId(), $item->getType());
1001  $new_md = $md->cloneMD($a_target_slm->getId(), $item->getId(), $item->getType());
1002 
1003  // update lm object
1004  $item->setSLMId($a_target_slm->getId());
1005  $item->setSLMObject($a_target_slm);
1006  $item->update();
1007 
1008  // delete old meta data set
1009  $md->deleteAll();
1010 
1011  if ($item_type == "page") {
1012  $page = $item->getPageObject();
1013  $page->buildDom($a_from_clipboard);
1014  $page->setParentId($a_target_slm->getId());
1015  $page->update();
1016  }
1017  }
1018 
1019  if ($a_as_copy) {
1020  if ($a_source_parent_type == "lm") {
1021  if ($item_type = "pg") {
1022  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
1023  $target_item = ilSCORM2004PageNode::copyPageFromLM($a_target_slm, $item);
1024  }
1025  } else {
1026  $target_item = $item->copy($a_target_slm);
1027  }
1028  $a_copied_nodes[$item->getId()] = $target_item->getId();
1029  } else {
1030  $target_item = $item;
1031  }
1032 
1033  $ilLog->write("Putting into tree type " . $target_item->getType() .
1034  "Item ID: " . $target_item->getId() . ", Parent: " . $a_parent_id . ", " .
1035  "Target: " . $a_target . ", Item LM:" . $target_item->getContentObject()->getId());
1036 
1037  ilSCORM2004Node::putInTree($target_item, $a_parent_id, $a_target);
1038 
1039  if ($a_from_clipboard) {
1040  $childs = $ilUser->getClipboardChilds($item->getId(), $a_insert_time);
1041  } else {
1042  // get childs of source tree
1043  $source_tree = $slm_obj->getTree();
1044  $childs = $source_tree->getChilds($a_item_id);
1045  }
1046 
1047  foreach ($childs as $child) {
1048  $child_id = ($a_from_clipboard)
1049  ? $child["id"]
1050  : $child["child"];
1052  $a_target_slm,
1053  $child_id,
1054  $target_item->getId(),
1055  IL_LAST_NODE,
1056  $a_insert_time,
1057  $a_copied_nodes,
1058  $a_as_copy,
1059  $a_from_clipboard,
1060  $a_source_parent_type
1061  );
1062  }
1063 
1064  return $target_item->getId();
1065  }
& cloneMD($a_rbac_id, $a_obj_id, $a_obj_type)
Definition: class.ilMD.php:326
Class ilSCORM2004PageNode.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
put this object into content object tree
Class ilSCORM2004Sco.
Class ilObjLearningModule.
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
static _lookupSLMID($a_id)
Lookup Scorm Learning Module ID for node id.
global $DIC
Definition: saml.php:7
static copyPageFromLM($a_target_slm, $a_lm_page)
Copy page from learning module.
Class ilSCORM2004Chapter.
Class ilLMPageObject.
static _lookupType($a_obj_id)
Lookup Type.
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
const IL_LAST_NODE
Definition: class.ilTree.php:4
Class ilObjSCORM2004LearningModule.
static pasteTree( $a_target_slm, $a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_from_clipboard=true, $a_source_parent_type="")
Paste item (tree) from clipboard or other learning module to target scorm learning module...
Class ilSCORM2004Asset.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ putInTree()

static ilSCORM2004Node::putInTree (   $a_obj,
  $a_parent_id = "",
  $a_target_node_id = "" 
)
static

put this object into content object tree

Definition at line 576 of file class.ilSCORM2004Node.php.

References $target, IL_FIRST_NODE, and ilTree\setTreeTablePK().

Referenced by ilLMChapterImportForm\addNode(), ilSCORM13Package\dbImportLM(), ilSCORM13Package\dbImportSco(), ilSCORM2004SeqTemplate\importTemplate(), ilObjSCORM2004LearningModuleGUI\insertAsset(), ilObjSCORM2004LearningModuleGUI\insertChapter(), ilObjSCORM2004LearningModuleGUI\insertPage(), ilObjSCORM2004LearningModuleGUI\insertSco(), ilObjSCORM2004LearningModuleGUI\insertTemplate(), and pasteTree().

577  {
578  $tree = new ilTree($a_obj->getSLMId());
579  $tree->setTreeTablePK("slm_id");
580  $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
581 
582  // determine parent
583  $parent_id = ($a_parent_id != "")
584  ? $a_parent_id
585  : $tree->getRootId();
586 
587  // determine target
588  if ($a_target_node_id != "") {
589  $target = $a_target_node_id;
590  } else {
591  // determine last child that serves as predecessor
592  $childs = $tree->getChilds($parent_id);
593 
594  if (count($childs) == 0) {
596  } else {
597  $target = $childs[count($childs) - 1]["obj_id"];
598  }
599  }
600 
601  if ($tree->isInTree($parent_id) && !$tree->isInTree($a_obj->getId())) {
602  $tree->insertNode($a_obj->getId(), $parent_id, $target);
603  }
604  }
const IL_FIRST_NODE
Definition: class.ilTree.php:5
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
setTreeTablePK($a_column_name)
set column containing primary key in tree table public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ read()

ilSCORM2004Node::read ( )

Read Data of Node.

Definition at line 212 of file class.ilSCORM2004Node.php.

References $db, $ilDB, $query, setImportId(), and setTitle().

Referenced by __construct().

213  {
214  $ilDB = $this->db;
215 
216  if (!isset($this->data_record)) {
217  $query = "SELECT * FROM sahs_sc13_tree_node WHERE obj_id = " .
218  $ilDB->quote($this->id, "integer");
219  $obj_set = $ilDB->query($query);
220  $this->data_record = $ilDB->fetchAssoc($obj_set);
221  }
222 
223  $this->type = $this->data_record["type"];
224  $this->setImportId($this->data_record["import_id"]);
225  $this->setTitle($this->data_record["title"]);
226  }
setImportId($a_id)
Get Import ID.
setTitle($a_title)
Set title.
$query
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDataRecord()

ilSCORM2004Node::setDataRecord (   $a_record)

this method should only be called by class ilSCORM2004NodeFactory

Definition at line 324 of file class.ilSCORM2004Node.php.

325  {
326  $this->data_record = $a_record;
327  }

◆ setDescription()

ilSCORM2004Node::setDescription (   $a_description)

Set description.

Parameters
stringDescription

Definition at line 84 of file class.ilSCORM2004Node.php.

85  {
86  $this->description = $a_description;
87  }

◆ setId()

ilSCORM2004Node::setId (   $a_id)

Set Node ID.

Parameters
intNode ID

Definition at line 174 of file class.ilSCORM2004Node.php.

Referenced by create().

175  {
176  $this->id = $a_id;
177  }
+ Here is the caller graph for this function:

◆ setImportId()

ilSCORM2004Node::setImportId (   $a_id)

Get Import ID.

Parameters
intImport ID

Definition at line 204 of file class.ilSCORM2004Node.php.

Referenced by read().

205  {
206  $this->import_id = $a_id;
207  }
+ Here is the caller graph for this function:

◆ setSLMId()

ilSCORM2004Node::setSLMId (   $a_slm_id)

Set ID of parent Scorm Learning Module Object.

Parameters
intScorm LM ID

Definition at line 124 of file class.ilSCORM2004Node.php.

Referenced by __construct().

125  {
126  $this->slm_id = $a_slm_id;
127  }
+ Here is the caller graph for this function:

◆ setSLMObject()

ilSCORM2004Node::setSLMObject (   $a_slm_obj)

Set Scorm Learning Module Object.

Parameters
intScorm LM Object

Definition at line 144 of file class.ilSCORM2004Node.php.

Referenced by __construct().

145  {
146  $this->slm_object = $a_slm_obj;
147  }
+ Here is the caller graph for this function:

◆ setTitle()

ilSCORM2004Node::setTitle (   $a_title)

Set title.

Parameters
string$a_titletitle

Definition at line 64 of file class.ilSCORM2004Node.php.

Referenced by read().

65  {
66  $this->title = $a_title;
67  }
+ Here is the caller graph for this function:

◆ setType()

ilSCORM2004Node::setType (   $a_type)

Set type.

Parameters
stringType

Definition at line 104 of file class.ilSCORM2004Node.php.

References $a_type.

Referenced by ilSCORM2004Chapter\__construct(), ilSCORM2004Sco\__construct(), ilSCORM2004PageNode\__construct(), ilSCORM2004Asset\__construct(), and ilSCORM2004SeqChapter\__construct().

105  {
106  $this->type = $a_type;
107  }
$a_type
Definition: workflow.php:92
+ Here is the caller graph for this function:

◆ uniqueTypesCheck()

static ilSCORM2004Node::uniqueTypesCheck (   $a_items)
static

Check for unique types (all pages or all chapters or all scos)

Definition at line 714 of file class.ilSCORM2004Node.php.

References $type, _lookupType(), and array.

Referenced by ilSCORM2004NodeGUI\copyItems(), ilObjSCORM2004LearningModuleGUI\copyItems(), ilSCORM2004NodeGUI\cutItems(), and ilObjSCORM2004LearningModuleGUI\cutItems().

715  {
716  $types = array();
717  if (is_array($a_items)) {
718  foreach ($a_items as $item) {
720  $types[$type] = $type;
721  }
722  }
723 
724  if (count($types) > 1) {
725  return false;
726  }
727  return true;
728  }
static _lookupType($a_obj_id)
Lookup Type.
Create styles array
The data for the language used.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update()

ilSCORM2004Node::update ( )

Update Node.

Definition at line 438 of file class.ilSCORM2004Node.php.

References $db, $ilDB, $query, getId(), getSLMId(), getTitle(), and updateMetaData().

439  {
440  $ilDB = $this->db;
441 
442  $this->updateMetaData();
443 
444  $query = "UPDATE sahs_sc13_tree_node SET " .
445  " slm_id = " . $ilDB->quote($this->getSLMId(), "integer") .
446  " ,title = " . $ilDB->quote($this->getTitle(), "text") .
447  " WHERE obj_id = " . $ilDB->quote($this->getId(), "integer");
448 
449  $ilDB->manipulate($query);
450  }
getSLMId()
Get ID of parent Scorm Learning Module Object.
$query
updateMetaData()
update meta data entry
global $ilDB
+ Here is the call graph for this function:

◆ updateMetaData()

ilSCORM2004Node::updateMetaData ( )

update meta data entry

Definition at line 289 of file class.ilSCORM2004Node.php.

References getId(), getSLMId(), getTitle(), and getType().

Referenced by update().

290  {
291  include_once("Services/MetaData/classes/class.ilMD.php");
292  include_once("Services/MetaData/classes/class.ilMDGeneral.php");
293  include_once("Services/MetaData/classes/class.ilMDDescription.php");
294 
295  $md = new ilMD($this->getSLMId(), $this->getId(), $this->getType());
296  $md_gen = $md->getGeneral();
297  $md_gen->setTitle($this->getTitle());
298 
299  // sets first description
300  $md_des_ids = $md_gen->getDescriptionIds();
301  if (count($md_des_ids) > 0) {
302  $md_des = $md_gen->getDescription($md_des_ids[0]);
303  // $md_des->setDescription($this->getDescription());
304  $md_des->update();
305  }
306  $md_gen->update();
307  }
getSLMId()
Get ID of parent Scorm Learning Module Object.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $db

◆ $id

ilSCORM2004Node::$id

◆ $slm_id

ilSCORM2004Node::$slm_id

Definition at line 30 of file class.ilSCORM2004Node.php.

Referenced by _getIdForImportId(), and getSLMId().

◆ $slm_object

ilSCORM2004Node::$slm_object

Definition at line 33 of file class.ilSCORM2004Node.php.

Referenced by getContentObject(), and getSLMObject().

◆ $type

ilSCORM2004Node::$type

◆ $user

ilSCORM2004Node::$user
protected

Definition at line 28 of file class.ilSCORM2004Node.php.

Referenced by createMetaData().


The documentation for this class was generated from the following file: