Exemple #1
0
 function db_insert($post_array)
 {
     if ($this->field_exists('UsuarioModifica')) {
         $post_array['UsuarioModifica'] = $_SESSION["usuario"];
     }
     return parent::db_insert($post_array);
 }
Exemple #2
0
 protected function db_insert($state_info)
 {
     $validation_result = $this->db_insert_validation();
     if ($validation_result->success) {
         $post_data = $state_info->unwrapped_data;
         $add_fields = $this->get_add_fields();
         if ($this->callback_insert === null) {
             if ($this->callback_before_insert !== null) {
                 $callback_return = call_user_func($this->callback_before_insert, $post_data);
                 if (!empty($callback_return) && is_array($callback_return)) {
                     $post_data = $callback_return;
                 } elseif ($callback_return === false) {
                     return false;
                 }
             }
             $insert_data = array();
             $types = $this->get_field_types();
             foreach ($add_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])) {
                         $insert_data[$field->field_name] = null;
                     } elseif (isset($types[$field->field_name]->db_null) && $types[$field->field_name]->db_null && $post_data[$field->field_name] === '') {
                         $insert_data[$field->field_name] = null;
                     } elseif (isset($types[$field->field_name]->crud_type) && $types[$field->field_name]->crud_type == 'date') {
                         $insert_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')) {
                         $insert_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') {
                         $insert_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 {
                         $insert_data[$field->field_name] = $post_data[$field->field_name];
                     }
                 }
             }
             $insert_result = $this->basic_model->db_insert($insert_data);
             if ($insert_result !== false) {
                 $insert_primary_key = $insert_result;
             } else {
                 return false;
             }
             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, $insert_primary_key);
                 }
             }
             if ($this->callback_after_insert !== null) {
                 $callback_return = call_user_func($this->callback_after_insert, $post_data, $insert_primary_key);
                 if ($callback_return === false) {
                     return false;
                 }
             }
         } else {
             $callback_return = call_user_func($this->callback_insert, $post_data);
             if ($callback_return === false) {
                 return false;
             }
         }
         if (isset($insert_primary_key)) {
             return $insert_primary_key;
         } else {
             return true;
         }
     }
     return false;
 }
Exemple #3
0
 protected function db_insert($state_info)
 {
     $validation_result = $this->db_insert_validation();
     if ($validation_result->success) {
         $post_data = $state_info->unwrapped_data;
         $add_fields = $this->get_add_fields();
         if ($this->callback_insert == null) {
             if ($this->callback_before_insert != null) {
                 $callback_return = call_user_func($this->callback_before_insert, $post_data);
                 if (!empty($callback_return) && is_array($callback_return)) {
                     $post_data = $callback_return;
                 } elseif ($callback_return === false) {
                     return false;
                 }
             }
             $insert_data = array();
             $types = $this->get_field_types();
             foreach ($add_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] === '') {
                         $insert_data[$field->field_name] = null;
                     } elseif (isset($types[$field->field_name]->crud_type) && $types[$field->field_name]->crud_type == 'date') {
                         $insert_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') {
                         $insert_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 {
                         $insert_data[$field->field_name] = $post_data[$field->field_name];
                     }
                 }
             }
             $insert_result = $this->basic_model->db_insert($insert_data);
             if ($insert_result !== false) {
                 $insert_primary_key = $insert_result;
             } else {
                 return false;
             }
             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, $insert_primary_key);
                 }
             }
             if ($this->callback_after_insert != null) {
                 $callback_return = call_user_func($this->callback_after_insert, $post_data, $insert_primary_key);
                 if ($callback_return === false) {
                     return false;
                 }
             }
         } else {
             $callback_return = call_user_func($this->callback_insert, $post_data);
             if ($callback_return === false) {
                 return false;
             }
         }
         if (isset($insert_primary_key)) {
             return $insert_primary_key;
         } else {
             return true;
         }
     }
     return false;
 }