/** * execute * * @param \Form\Form $form */ public function update($form) { $object = new \LTI_Tool_Consumer($form->getFieldValue('key'), $this->getConfig()->getLtiDataConnector()); // Load object $object->name = $form->getFieldValue('name'); $object->secret = $form->getFieldValue('secret'); $object->enabled = $form->getFieldValue('enabled'); $object->protected = $form->getFieldValue('protected'); $object->css_path = $form->getFieldValue('css_path'); $object->updated = \Tk\Date::create()->getTimestamp(); // validate object if (!$object->name) { $form->addFieldError('name', 'Please supply a valid consumer name'); } if (!preg_match('/^[a-z0-9_-]{1,64}$/i', $object->getKey())) { $form->addFieldError('consumerKey', 'Invalid characters used in key field'); } if (!preg_match('/^[a-z0-9]{1,64}$/i', $object->secret)) { $form->addFieldError('secret', 'Invalid characters used in secret field'); } if ($form->hasErrors()) { if (!\Mod\Notice::hasMessages()) { \Mod\Notice::addError('The form contains errors.'); } return; } if (!$this->getConfig()->getLtiDataConnector()->Tool_Consumer_save($object)) { if (!\Mod\Notice::hasMessages()) { \Mod\Notice::addError('Error saving consumer to DB.'); } return; } //$this->getRedirectUrl()->set('key', $object->getKey())->redirect(); $this->getRedirectUrl()->redirect(); }