public function configure() { $this->useFields(array('id', 'type', 'url', 'comment')); $this->widgetSchema['url'] = new sfWidgetFormInputText(); $this->widgetSchema['url']->setAttributes(array('class' => 'small_medium_size')); /* Validators */ $this->validatorSchema['id'] = new sfValidatorInteger(array('required' => false)); $this->validatorSchema['url'] = new sfValidatorString(array('required' => false)); $this->validatorSchema['comment'] = new sfValidatorString(array('trim' => true, 'required' => false)); $this->mergePostValidator(new ExtLinksValidatorSchema()); $this->widgetSchema['type'] = new sfWidgetFormChoice(array('choices' => ExtLinks::getLinkTypes())); $this->validatorSchema['type'] = new sfValidatorChoice(array('choices' => array_keys(ExtLinks::getLinkTypes()))); }
private function addExternalLink($externallinks) { $unique_externallinks = array_unique(array_map('trim', explode(';', $externallinks))); foreach ($unique_externallinks as $externallink) { $prefix = substr($externallink, 0, strpos($externallink, "://")); if ($prefix != "http" && $prefix != "https") { $externallink = "http://" . $externallink; } $ext = new ExtLinks(); $ext->setUrl($externallink); $ext->setComment('Record web address'); $this->staging->addRelated($ext); } }