function select_ajax($dir = NULL) { if (!is_numeric($dir)) { $dir = $select_ajax_segment = fuel_uri_string(1, NULL, TRUE); $dirs = $this->model->get_dirs(); foreach ($dirs as $key => $d) { if ($d == $dir) { $dir = $key; break; } } } $this->load->helper('array'); $this->load->helper('form'); $this->load->library('form_builder'); $this->model->add_filters(array('group_id' => $dir)); $options = options_list($this->model->list_items(), 'name', 'name'); $preview = '<div id="asset_preview"></div>'; $field_values['asset_folder']['value'] = $dir; $fields['asset_select'] = array('value' => '', 'label' => 'Select', 'type' => 'select', 'options' => $options, 'after_html' => $preview); $this->form_builder->css_class = 'asset_select'; $this->form_builder->submit_value = null; $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); $vars['form'] = $this->form_builder->render(); $this->load->view('assets/assets_select_ajax', $vars); }
public function select($dir = NULL) { if (!is_numeric($dir)) { $dir = fuel_uri_string(1, NULL, TRUE); $dirs = $this->fuel->assets->dirs(); foreach ($dirs as $key => $d) { if ($d == $dir) { $dir = $key; break; } } } $value = ''; if ($this->session->flashdata('uploaded_post')) { $uploaded_post = $this->session->flashdata('uploaded_post'); if (isset($uploaded_post)) { $subfolder = trim(preg_replace('#^' . preg_quote($dir) . '(.*)#', '$1', $uploaded_post['asset_folder']), '/'); if (!empty($subfolder)) { $subfolder = $subfolder . '/'; } $value = $subfolder . $uploaded_post['uploaded_file_name']; } } else { $value = $this->input->get_post('selected', TRUE); } $this->js_controller_params['method'] = 'select'; $this->js_controller_params['folder'] = $dir; $this->load->helper('array'); $this->load->library('form_builder'); $this->model->add_filters(array('group_id' => $dir)); $order = $this->input->get_post('order', TRUE); if ($order == 'last_updated') { $by = 'desc'; } else { $order = 'name'; $by = 'asc'; } $options = options_list($this->model->list_items(NULL, 0, $order, $by), 'name', 'name'); $redirect_to = uri_safe_encode(fuel_uri(fuel_uri_string(), TRUE)); // added back to make it refresh $preview = ' OR <a href="' . fuel_url('assets/inline_create?asset_folder=' . urlencode($dir) . '&redirect_to=' . $redirect_to) . '" class="btn_field">Upload</a><div id="asset_preview"></div>'; $field_values['asset_folder']['value'] = $dir; $fields['asset_select'] = array('value' => $value, 'label' => lang('assets_select_action'), 'type' => 'select', 'options' => $options, 'after_html' => $preview); if (isset($_GET['width'])) { $fields['width'] = array('value' => $this->input->get_post('width', TRUE), 'label' => lang('form_label_width'), 'size' => 5, 'row_class' => 'img_only'); } if (isset($_GET['height'])) { $fields['height'] = array('value' => $this->input->get_post('height', TRUE), 'label' => lang('form_label_height'), 'size' => 5, 'row_class' => 'img_only'); } if (isset($_GET['alt'])) { $fields['alt'] = array('value' => $this->input->get_post('alt', TRUE), 'label' => lang('form_label_alt'), 'row_class' => 'img_only'); } if (isset($_GET['align'])) { $alignment_options = array('' => '', 'left' => 'left', 'right' => 'right', 'middle' => 'middle', 'top' => 'top', 'bottom' => 'bottom'); $fields['align'] = array('value' => $this->input->get_post('align', TRUE), 'label' => lang('form_label_align'), 'type' => 'select', 'options' => $alignment_options, 'row_class' => 'img_only'); } if (isset($_GET['class'])) { $fields['class'] = array('value' => $this->input->get_post('class', TRUE), 'label' => lang('form_label_class'), 'size' => 6, 'row_class' => 'img_only'); } $this->form_builder->css_class = 'asset_select'; $this->form_builder->submit_value = NULL; $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); $vars['form'] = $this->form_builder->render_divs(); $this->fuel->admin->set_inline(TRUE); $crumbs = array('' => $this->module_name, lang('assets_select_action')); //$this->fuel->admin->set_panel_display('notification', FALSE); $this->fuel->admin->set_titlebar($crumbs); $this->fuel->admin->render('modal_select', $vars); }