/** * Set all of the the link-level settings. * * @param $keyvals An array of key/value pairs that is serialized * in JSON and stored. If this is an empty array, this effectively * empties out all the settings. */ public static function linkSetAll($keyvals) { global $CFG, $PDOX, $LINK; global $settingsDebugArray; $settingsDebugArray = array(); $json = json_encode($keyvals); $q = $PDOX->queryDie("UPDATE {$CFG->dbprefix}lti_link \n SET settings = :SET WHERE link_id = :LID", array(":SET" => $json, ":LID" => $LINK->id)); $settingsDebugArray[] = array(count($keyvals) . " settings updated link_id=" . $LINK->id); if (isset($_SESSION['lti'])) { $_SESSION['lti']['link_settings'] = $json; unset($_SESSION['lti']['link_settings_merge']); } $settings_url = LTIX::sessionGet('link_settings_url', false); if ($settings_url === false) { return; } $settingsDebugArray[] = array("Sending settings to " . $settings_url); $retval = LTIX::settingsSend($keyvals, $settings_url, $settingsDebugArray); }