Exemple #1
0
 /**
  * Tests lti_prepare_type_for_save's handling of the "Force SSL" configuration.
  */
 public function test_lti_prepare_type_for_save_forcessl()
 {
     $type = new stdClass();
     $config = new stdClass();
     // Try when the forcessl config property is not set.
     lti_prepare_type_for_save($type, $config);
     $this->assertObjectHasAttribute('lti_forcessl', $config);
     $this->assertEquals(0, $config->lti_forcessl);
     $this->assertEquals(0, $type->forcessl);
     // Try when forcessl config property is set.
     $config->lti_forcessl = 1;
     lti_prepare_type_for_save($type, $config);
     $this->assertObjectHasAttribute('lti_forcessl', $config);
     $this->assertEquals(1, $config->lti_forcessl);
     $this->assertEquals(1, $type->forcessl);
     // Try when forcessl config property is set to 0.
     $config->lti_forcessl = 0;
     lti_prepare_type_for_save($type, $config);
     $this->assertObjectHasAttribute('lti_forcessl', $config);
     $this->assertEquals(0, $config->lti_forcessl);
     $this->assertEquals(0, $type->forcessl);
 }
Exemple #2
0
function lti_add_type($type, $config) {
    global $USER, $SITE, $DB;

    lti_prepare_type_for_save($type, $config);

    if (!isset($type->state)) {
        $type->state = LTI_TOOL_STATE_PENDING;
    }

    if (!isset($type->timecreated)) {
        $type->timecreated = time();
    }

    if (!isset($type->createdby)) {
        $type->createdby = $USER->id;
    }

    if (!isset($type->course)) {
        $type->course = $SITE->id;
    }

    //Create a salt value to be used for signing passed data to extension services
    //The outcome service uses the service salt on the instance. This can be used
    //for communication with services not related to a specific LTI instance.
    $config->lti_servicesalt = uniqid('', true);

    $id = $DB->insert_record('lti_types', $type);

    if ($id) {
        foreach ($config as $key => $value) {
            if (substr($key, 0, 4)=='lti_' && !is_null($value)) {
                $record = new StdClass();
                $record->typeid = $id;
                $record->name = substr($key, 4);
                $record->value = $value;

                lti_add_config($record);
            }
        }
    }

    return $id;
}