public function replace($replace_id, $id, $delete = TRUE) { $CI =& get_instance(); $CI->load->module_model(FUEL_FOLDER, 'fuel_pagevariables_model'); // start a transaction in case there are any errors $CI->fuel_pagevariables_model->db()->trans_begin(); // retrieve new variables $new_values = $CI->fuel_pagevariables_model->find_all_array(array('page_id' => $id)); // delete old variables $CI->fuel_pagevariables_model->delete(array('page_id' => $replace_id)); $saved = TRUE; foreach ($new_values as $var) { $var['page_id'] = $replace_id; if (!$CI->fuel_pagevariables_model->save($var)) { $saved = FALSE; } } // check if there are any errors and if so we rollem back... if ($CI->fuel_pagevariables_model->db()->trans_status() === FALSE) { $saved = FALSE; $CI->fuel_pagevariables_model->db()->trans_rollback(); } else { $CI->fuel_pagevariables_model->db()->trans_commit(); } $saved = parent::replace($replace_id, $id, $delete); return $saved; }