public function render($params = array()) { $render_file = $params['render_file']; $l = new \Microweber\View($render_file); $l->page_id = $params['page_id']; $l->content_id = $params['content_id']; $l->post_id = $params['post_id']; // $l->category_id = $params['category_id']; if (isset($params['content'])) { $l->content = $params['content']; } if (isset($params['category_id'])) { $l->category_id = $params['category_id']; } if (isset($params['category'])) { $l->category = $params['category']; } // $l->category = $params['category']; $l->page = $params['page']; $l->application = $this->app; if (!empty($params)) { foreach ($params as $k => $v) { $l->assign($k, $v); } } $l = $l->__toString(); return $l; }
/** * make_field. * * @desc make_field * * @category forms * * @author Microweber * * @link http://microweber.com * * @param string $field_type * @param string $field_id * @param array $settings */ public function make($field_id = 0, $field_type = 'text', $settings = false) { if (is_array($field_id)) { if (!empty($field_id)) { $data = $field_id; } } else { if ($field_id != 0) { $data = $this->get_by_id($id = $field_id); } } if (isset($data['settings']) or isset($_REQUEST['settings']) and trim($_REQUEST['settings']) == 'y') { $settings = true; } if (isset($data['copy_from'])) { $copy_from = intval($data['copy_from']); if (is_admin() == true) { $table_custom_field = $this->table; $form_data = $this->app->database_manager->get_by_id($table_custom_field, $id = $copy_from); if (is_array($form_data)) { $field_type = $form_data['type']; $data['id'] = 0; if (isset($data['save_on_copy'])) { $cp = $form_data; $cp['id'] = 0; $cp['copy_of_field'] = $copy_from; if (isset($data['rel_type'])) { $cp['rel_type'] = $data['rel_type']; } if (isset($data['rel_id'])) { $cp['rel_id'] = $data['rel_id']; } $this->save($cp); $data = $cp; } else { $data = $form_data; } } } } elseif (isset($data['field_id'])) { $data = $this->get_by_id($id = $data['field_id']); } if (isset($data['type'])) { $field_type = $data['type']; } if (!isset($data['custom_field_required'])) { $data['custom_field_required'] = 'n'; } if (isset($data['type'])) { $field_type = $data['type']; } if (isset($data['field_type'])) { $field_type = $data['field_type']; } if (isset($data['field_values']) and !isset($data['value'])) { $data['values'] = $data['field_values']; } $data['type'] = $field_type; if (isset($data['options']) and is_string($data['options'])) { $data['options'] = $this->_decode_options($data['options']); } $data = $this->app->url_manager->replace_site_url_back($data); $dir = mw_includes_path(); $dir = $dir . DS . 'custom_fields' . DS; $field_type = str_replace('..', '', $field_type); $load_from_theme = false; if (defined('ACTIVE_TEMPLATE_DIR')) { $custom_fields_from_theme = ACTIVE_TEMPLATE_DIR . 'modules' . DS . 'custom_fields' . DS; if (is_dir($custom_fields_from_theme)) { if ($settings == true or isset($data['settings'])) { $file = $custom_fields_from_theme . $field_type . '_settings.php'; } else { $file = $custom_fields_from_theme . $field_type . '.php'; } if (is_file($file)) { $load_from_theme = true; } } } if ($load_from_theme == false) { if ($settings == true or isset($data['settings'])) { $file = $dir . $field_type . '_settings.php'; } else { $file = $dir . $field_type . '.php'; } } if (!is_file($file)) { $field_type = 'text'; if ($settings == true or isset($data['settings'])) { $file = $dir . $field_type . '_settings.php'; } else { $file = $dir . $field_type . '.php'; } } $file = normalize_path($file, false); if (is_file($file)) { $l = new \Microweber\View($file); // $l->assign('settings', $settings); if (isset($data['params'])) { $l->assign('params', $data['params']); } else { $l->assign('params', false); } // $l->settings = $settings; if (isset($data) and !empty($data)) { $l->data = $data; } else { $l->data = array(); } $l->assign('data', $data); $layout = $l->__toString(); return $layout; } }