You are here

function _opigno_scorm_ui_player_scorm_tree in Opigno 7

Helper function to recursively create the SCO tree.

Parameters

int $scorm_id:

int $parent_identifier = 0:

Return value

array

1 call to _opigno_scorm_ui_player_scorm_tree()
opigno_scorm_ui_player_scorm_tree in modules/scorm/ui/includes/opigno_scorm_ui.player.inc
Traverse the SCORM package data and construct a SCO tree.

File

modules/scorm/ui/includes/opigno_scorm_ui.player.inc, line 27
Player logic.

Code

function _opigno_scorm_ui_player_scorm_tree($scorm_id, $parent_identifier = 0) {
  $tree = array();
  $result = db_select('opigno_scorm_package_scos', 'sco')
    ->fields('sco', array(
    'id',
  ))
    ->condition('sco.scorm_id', $scorm_id)
    ->condition('sco.parent_identifier', $parent_identifier)
    ->execute();
  while ($sco_id = $result
    ->fetchField()) {
    $sco = opigno_scorm_sco_load($sco_id);
    $children = _opigno_scorm_ui_player_scorm_tree($scorm_id, $sco->identifier);
    $sco->children = $children;
    $tree[] = $sco;
  }
  return $tree;
}