You are here

function opigno_scorm_sco_cmi_get in Opigno 7

Get a CMI data value for the given SCO.

Parameters

int $uid:

int $sco_id:

string $cmi_key:

Return value

mixed|null

2 calls to opigno_scorm_sco_cmi_get()
opigno_scorm_ajax_sco_cmi in modules/scorm/includes/opigno_scorm.ajax.inc
AJAX callback: CMI communication.
opigno_scorm_ui_sco_cmi_get in modules/scorm/ui/opigno_scorm_ui.module
Helper function to get SCO CMI data while also providing a default value.

File

modules/scorm/opigno_scorm.module, line 436
Opigno SCORM API.

Code

function opigno_scorm_sco_cmi_get($uid, $sco_id, $cmi_key) {
  $data = NULL;
  $result = db_select('opigno_scorm_sco_cmi_data', 'o')
    ->fields('o', array(
    'value',
    'serialized',
  ))
    ->condition('o.uid', $uid)
    ->condition('o.sco_id', $sco_id)
    ->condition('o.cmi_key', $cmi_key)
    ->execute()
    ->fetchObject();
  if (isset($result->value)) {
    $data = !empty($result->serialized) ? unserialize($result->value) : $result->value;
  }

  // Allow modules to alter the data (or even set it if it doesn't exist).
  $context = array(
    'uid' => $uid,
    'sco_id' => $sco_id,
    'original_value' => $data,
  );
  drupal_alter('opigno_scorm_sco_cmi_get', $data, $cmi_key, $context);
  return $data;
}