Beispiel #1
0
 public function set_values(array $data)
 {
     if (!Valid::url($data['next_url'])) {
         $data['next_url'] = NULL;
     }
     $data['fields'] = array();
     if (!empty($data['field']) and is_array($data['field'])) {
         foreach ($data['field'] as $key => $values) {
             foreach ($values as $index => $value) {
                 if ($index == 0) {
                     continue;
                 }
                 if ($key == 'source') {
                     $value = URL::title($value, '_');
                 }
                 $data['fields'][$index][$key] = $value;
             }
         }
         $data['field'] = NULL;
     }
     $email_type_fields = array();
     foreach ($data['fields'] as $field) {
         $email_type_fields['key'][] = $field['id'];
         $email_type_fields['value'][] = !empty($field['name']) ? $field['name'] : Inflector::humanize($field['id']);
     }
     $this->create_email_type($email_type_fields);
     return parent::set_values($data);
 }
Beispiel #2
0
 public function set_values(array $data)
 {
     $data['remember'] = empty($data['remember']) ? FALSE : (bool) $data['remember'];
     if (empty($data['roles_redirect']) or !is_array($data['roles_redirect'])) {
         $data['roles_redirect'] = $this->get_default_roles();
     } else {
         $roles = array();
         foreach ($data['roles_redirect'] as $data) {
             if (empty($data['roles']) or empty($data['next_url'])) {
                 continue;
             }
             $roles[] = array('roles' => $data['roles'], 'next_url' => $data['next_url']);
         }
         if (empty($roles)) {
             $roles = $this->get_default_roles();
         }
         $data['roles_redirect'] = $roles;
     }
     return parent::set_values($data);
 }
Beispiel #3
0
 public function fetch_backend_content()
 {
     if ($this->ds_id > 0 and !Datasource_Data_Manager::exists($this->ds_id)) {
         $this->ds_id = 0;
         Widget_Manager::update($this);
     }
     return parent::fetch_backend_content();
 }