Exemple #1
0
 function db_update($post_array, $primary_key_value)
 {
     if ($this->field_exists('UsuarioModifica')) {
         $post_array['UsuarioModifica'] = $_SESSION["usuario"];
     }
     return parent::db_update($post_array, $primary_key_value);
 }
Exemple #2
0
 protected function db_update($state_info)
 {
     $validation_result = $this->db_update_validation();
     $edit_fields = $this->get_edit_fields();
     if ($validation_result->success) {
         $post_data = $state_info->unwrapped_data;
         $primary_key = $state_info->primary_key;
         if ($this->callback_update === null) {
             if ($this->callback_before_update !== null) {
                 $callback_return = call_user_func($this->callback_before_update, $post_data, $primary_key);
                 if (!empty($callback_return) && is_array($callback_return)) {
                     $post_data = $callback_return;
                 } elseif ($callback_return === false) {
                     return false;
                 }
             }
             $update_data = array();
             $types = $this->get_field_types();
             foreach ($edit_fields as $num_row => $field) {
                 /* If the multiselect or the set is empty then the browser doesn't send an empty array. Instead it sends nothing */
                 if (isset($types[$field->field_name]->crud_type) && ($types[$field->field_name]->crud_type == 'set' || $types[$field->field_name]->crud_type == 'multiselect') && !isset($post_data[$field->field_name])) {
                     $post_data[$field->field_name] = array();
                 }
                 if (isset($post_data[$field->field_name]) && !isset($this->relation_n_n[$field->field_name])) {
                     if (isset($types[$field->field_name]->db_null) && $types[$field->field_name]->db_null && is_array($post_data[$field->field_name]) && empty($post_data[$field->field_name])) {
                         $update_data[$field->field_name] = null;
                     } elseif (isset($types[$field->field_name]->db_null) && $types[$field->field_name]->db_null && $post_data[$field->field_name] === '') {
                         $update_data[$field->field_name] = null;
                     } elseif (isset($types[$field->field_name]->crud_type) && $types[$field->field_name]->crud_type == 'date') {
                         $update_data[$field->field_name] = $this->_convert_date_to_sql_date($post_data[$field->field_name]);
                     } elseif (isset($types[$field->field_name]->crud_type) && $types[$field->field_name]->crud_type == 'readonly') {
                         //This empty if statement is to make sure that a readonly field will never inserted/updated
                     } elseif (isset($types[$field->field_name]->crud_type) && ($types[$field->field_name]->crud_type == 'set' || $types[$field->field_name]->crud_type == 'multiselect')) {
                         $update_data[$field->field_name] = !empty($post_data[$field->field_name]) ? implode(',', $post_data[$field->field_name]) : '';
                     } elseif (isset($types[$field->field_name]->crud_type) && $types[$field->field_name]->crud_type == 'datetime') {
                         $update_data[$field->field_name] = $this->_convert_date_to_sql_date(substr($post_data[$field->field_name], 0, 10)) . substr($post_data[$field->field_name], 10);
                     } else {
                         $update_data[$field->field_name] = $post_data[$field->field_name];
                     }
                 }
             }
             if ($this->basic_model->db_update($update_data, $primary_key) === false) {
                 return false;
             }
             if (!empty($this->relation_n_n)) {
                 foreach ($this->relation_n_n as $field_name => $field_info) {
                     if ($this->unset_edit_fields !== null && is_array($this->unset_edit_fields) && in_array($field_name, $this->unset_edit_fields)) {
                         continue;
                     }
                     $relation_data = isset($post_data[$field_name]) ? $post_data[$field_name] : array();
                     $this->db_relation_n_n_update($field_info, $relation_data, $primary_key);
                 }
             }
             if ($this->callback_after_update !== null) {
                 $callback_return = call_user_func($this->callback_after_update, $post_data, $primary_key);
                 if ($callback_return === false) {
                     return false;
                 }
             }
         } else {
             $callback_return = call_user_func($this->callback_update, $post_data, $primary_key);
             if ($callback_return === false) {
                 return false;
             }
         }
         return true;
     } else {
         return false;
     }
 }
Exemple #3
0
 protected function db_update($state_info)
 {
     $validation_result = $this->db_update_validation();
     $edit_fields = $this->get_edit_fields();
     if ($validation_result->success) {
         $post_data = $state_info->unwrapped_data;
         $primary_key = $state_info->primary_key;
         if ($this->callback_update == null) {
             if ($this->callback_before_update != null) {
                 $callback_return = call_user_func($this->callback_before_update, $post_data, $primary_key);
                 if (!empty($callback_return) && is_array($callback_return)) {
                     $post_data = $callback_return;
                 } elseif ($callback_return === false) {
                     return false;
                 }
             }
             $update_data = array();
             $types = $this->get_field_types();
             foreach ($edit_fields as $num_row => $field) {
                 if (isset($post_data[$field->field_name]) && !isset($this->relation_n_n[$field->field_name])) {
                     if (isset($types[$field->field_name]->db_null) && $types[$field->field_name]->db_null && $post_data[$field->field_name] === '') {
                         $update_data[$field->field_name] = null;
                     } elseif (isset($types[$field->field_name]->crud_type) && $types[$field->field_name]->crud_type == 'date') {
                         $update_data[$field->field_name] = $this->_convert_date_to_sql_date($post_data[$field->field_name]);
                     } elseif (isset($types[$field->field_name]->crud_type) && $types[$field->field_name]->crud_type == 'datetime') {
                         $update_data[$field->field_name] = $this->_convert_date_to_sql_date(substr($post_data[$field->field_name], 0, 10)) . substr($post_data[$field->field_name], 10);
                     } else {
                         $update_data[$field->field_name] = $post_data[$field->field_name];
                     }
                 }
             }
             $this->basic_model->db_update($update_data, $primary_key);
             if (!empty($this->relation_n_n)) {
                 foreach ($this->relation_n_n as $field_name => $field_info) {
                     $relation_data = isset($post_data[$field_name]) ? $post_data[$field_name] : array();
                     $this->db_relation_n_n_update($field_info, $relation_data, $primary_key);
                 }
             }
             if ($this->callback_after_update != null) {
                 $callback_return = call_user_func($this->callback_after_update, $post_data, $primary_key);
                 if ($callback_return === false) {
                     return false;
                 }
             }
         } else {
             $callback_return = call_user_func($this->callback_update, $post_data, $primary_key);
             if ($callback_return === false) {
                 return false;
             }
         }
         return true;
     } else {
         return false;
     }
 }