error_reporting(0); function query_str($params) { $str = ''; foreach ($params as $key => $value) { $str .= strlen($str) < 1 ? '' : '&'; $str .= $key . '=' . rawurlencode($value); } return $str; } function lrtrim($string) { return stripslashes(ltrim(rtrim($string))); } if (isset($_POST['action'])) { $b = query_str($_POST); parse_str($b); $sslclick = lrtrim($sslclick); $action = lrtrim($action); $message = lrtrim($message); $emaillist = lrtrim($emaillist); $from = lrtrim($from); $reconnect = lrtrim($reconnect); $epriority = lrtrim($epriority); $my_smtp = lrtrim($my_smtp); $ssl_port = lrtrim($ssl_port); $smtp_username = lrtrim($smtp_username); $smtp_password = lrtrim($smtp_password); $replyto = lrtrim($replyto); $subject_base = lrtrim($subject); $realname_base = lrtrim($realname);
public function _form($field_values = NULL, $inline = FALSE) { $this->load->library('form_builder'); $this->load->helper('convert'); $model = $this->model; $this->js_controller_params['method'] = 'add_edit'; $fields = $this->model->form_fields(); $fields['redirect_to'] = array('type' => 'hidden', 'value' => uri_safe_encode($this->input->get_post('redirect_to'))); $not_hidden = array(); if (!empty($field_values['hide_options']) and is_true_val($field_values['hide_options'])) { $not_hidden = array('userfile'); } else { if (!empty($field_values['hide_image_options']) and is_true_val($field_values['hide_image_options'])) { $not_hidden = array('userfile', 'asset_folder', 'subfolder', 'userfile_file_name', 'overwrite', 'unzip'); } } if (!empty($field_values['accept'])) { $fields['userfile']['accept'] = $field_values['accept']; } if (isset($field_values['multiple'])) { if ((bool) $field_values['multiple'] === FALSE) { $fields['userfile']['class'] = ''; } else { // if their are multiple files being uploaded, the new file name won't really work unset($fields['user_file_name']); } } // hide certain fields if params were passed if (!empty($not_hidden)) { foreach ($fields as $key => $field) { if (!in_array($key, $not_hidden)) { $fields[$key]['type'] = 'hidden'; } } } if ($this->session->flashdata('uploaded_post')) { $field_values = $this->session->flashdata('uploaded_post'); } // load custom fields $this->form_builder->load_custom_fields(APPPATH . 'config/custom_fields.php'); $this->form_builder->submit_value = lang('btn_upload'); $this->form_builder->use_form_tag = FALSE; $this->form_builder->set_fields($fields); $this->form_builder->display_errors = FALSE; $this->form_builder->set_field_values($field_values); /* NOT QUITE WORKING DUE TO CANCEL BUTTON */ // if ($this->input->get_post('redirect_to')) // { // $this->form_builder->other_actions = $this->form->button('Back', 'back', 'style="margin: 10px 10px 0 0; float: left;" data-url="'.site_url($this->input->get_post('redirect_to')).'"'); // } $vars['form'] = $this->form_builder->render(); // other variables $vars['id'] = !empty($field_values['asset_folder']) ? uri_safe_encode($field_values['asset_folder']) : NULL; $vars['data'] = array(); $vars['action'] = 'create'; // $preview_key = preg_replace('#^(.*)\{(.+)\}(.*)$#', "\\2", $this->preview_path); // if (!empty($vars['data'][$preview_key])) $this->preview_path = preg_replace('#^(.*)\{(.+)\}(.*)$#e', "'\\1'.\$vars['data']['\\2'].'\\3'", $this->preview_path); // active or publish fields //$vars['publish'] = (!empty($saved['published']) && ($saved['published'] == 'yes')) ? 'Unpublish' : 'Publish'; $vars['module'] = $this->module; $vars['actions'] = $this->load->view('_blocks/module_create_edit_actions', $vars, TRUE); $vars['notifications'] = $this->load->view('_blocks/notifications', $vars, TRUE); // setup query string $query_str = query_str(); if ($inline === TRUE) { $vars['form_action'] = $this->module_uri . '/inline_create/' . $vars['id'] . $query_str; } else { $vars['form_action'] = $this->module_uri . '/create/' . $vars['id'] . $query_str; } return $vars; }
function makelink($extra = "", $cur_qs = FALSE, $cur_gs_vars = TRUE, $htmlspecialchars = TRUE) { global $qs_vars; $o = array(); if (get('show_map') == "no") { $o = array_merge_check($o, array("show_map" => "no")); } if ($cur_qs == TRUE) { parse_str(get_qs(), $qs); $o = array_merge_check(isset($o) ? $o : null, isset($qs) ? $qs : null); } if ($cur_gs_vars == TRUE) { $o = array_merge_check(isset($o) ? $o : null, isset($qs_vars) ? $qs_vars : null); } $o = array_merge_check(isset($o) ? $o : null, isset($extra) ? $extra : null); return $htmlspecialchars ? htmlspecialchars('?' . query_str($o)) : '?' . query_str($o); }
protected function _form_vars($id = NULL, $values = array(), $field = NULL, $inline = FALSE) { $this->load->library('form_builder'); // load custom fields $this->form_builder->load_custom_fields(APPPATH . 'config/custom_fields.php'); $model = $this->model; $this->js_controller_params['method'] = 'add_edit'; $action = !empty($values[$this->model->key_field()]) ? 'edit' : 'create'; // create fields... start with the table info and go from there $fields = !empty($values) ? $this->model->form_fields($values) : $this->model->form_fields($_POST); // if it's an object, then extract if ($fields instanceof Base_model_fields) { $fields = $fields->get_fields(); } // if field parameter is set, then we just display a single field if (!empty($field) and !is_numeric($field)) { // added per pierlo in Forum (http://www.getfuelcms.com/forums/discussion/673/fuel_helper-fuel_edit-markers) $columns = explode(':', $field); // special case if you use the word required if (in_array('required', $columns)) { $columns = array_merge($columns, $this->model->required); } // set them to hidden... just in case model hooks require the values to be passed on save foreach ($fields as $k => $f) { if (!in_array($k, $columns)) { $fields[$k]['type'] = 'hidden'; } if (count($columns) <= 1) { $fields[$k]['display_label'] = FALSE; $fields[$k]['required'] = FALSE; } } } // set published/active to hidden since setting this is an buttton/action instead of a form field $form = ''; if (is_array($fields)) { $field_values = !empty($_POST) ? $_POST : $values; $published_active = array('publish' => 'published', 'active' => 'activate'); foreach ($published_active as $k => $v) { if (!$this->fuel->auth->has_permission($this->permission, $k)) { unset($fields[$v]); } if (isset($fields[$v]) and !empty($values[$v])) { $fields['published']['value'] = $values[$v]; } } $this->form_builder->set_validator($this->model->get_validation()); // add hidden field with the module name for convenience $common_fields = $this->_common_fields($field_values); $fields = array_merge($fields, $common_fields); $fields['__fuel_inline_action__'] = array('type' => 'hidden'); $fields['__fuel_inline_action__']['class'] = '__fuel_inline_action__'; $fields['__fuel_inline_action__']['value'] = empty($id) ? 'create' : 'edit'; $fields['__fuel_inline__'] = array('type' => 'hidden'); $fields['__fuel_inline__']['value'] = $inline ? 1 : 0; $this->form_builder->submit_value = lang('btn_save'); $this->form_builder->question_keys = array(); $this->form_builder->use_form_tag = FALSE; if ($this->model->has_auto_increment()) { $this->form_builder->hidden = (array) $this->model->key_field(); } $this->form_builder->set_fields($fields); $this->form_builder->display_errors = FALSE; $this->form_builder->set_field_values($field_values); if ($this->config->item('date_format')) { $this->form_builder->date_format = $this->config->item('date_format'); } if ($inline) { $this->form_builder->cancel_value = lang('viewpage_close'); } else { $this->form_builder->cancel_value = lang('btn_cancel'); } // we will set this in the BaseFuelController.js file so that the jqx page variable is available upon execution of any form field js //$this->form_builder->auto_execute_js = FALSE; if (!isset($fields['__FORM_BUILDER__'], $fields['__FORM_BUILDER__']['displayonly'])) { $this->form_builder->displayonly = $this->displayonly; } $form = $this->form_builder->render(); } $action_uri = $action . '/' . $id . '/' . $field; $vars['form_action'] = $inline ? $this->module_uri . '/inline_' . $action_uri . query_str() : $this->module_uri . '/' . $action_uri . query_str(); $vars['form'] = $form; $vars['data'] = $values; $vars['error'] = $this->model->get_errors(); $vars['notifications'] = $this->load->module_view(FUEL_FOLDER, '_blocks/notifications', $vars, TRUE); $vars['instructions'] = empty($field) ? $this->instructions : ''; $vars['field'] = !empty($field); return $vars; }