/** * joosAutoadmin::edit() * * Генерация формы добавления/редактирования записи * * @param joosModel $obj * @param object $obj_data * @param array $params */ public static function edit(joosModel $obj, $obj_data, $params = null) { self::$active_model_name = get_class($obj); $option = joosRequest::param('option'); $task = joosRequest::param('task'); //Настраиваем параметры HTML-разметки формы if (!$params) { $params = array('label_begin' => '<div class="control-group">', 'label_end' => '', 'el_begin' => '<div class="controls">', 'el_end' => '</div></div>'); //'tab_wrap_begin' => '<tr><td>', //'tab_wrap_end' => '</td></tr>',); } //Вывод заголовка страницы с формой $header = $obj->get_tableinfo(); //Получаем данные joosAdminView::set_param('component_title', isset($header['header_main']) ? $header['header_main'] : ''); joosAdminView::set_param('component_header', $obj_data->{$obj->get_key_field()} > 0 ? $header['header_edit'] : $header['header_new']); $class = self::$active_actions_class; joosAdminView::set_param('submenu', $class::get_submenu()); joosAdminView::set_param('current_model', self::get_active_model_name()); //echo self::header(array(), 'edit'); // начинаем отлавливать поступаемый JS код //@ зачем? //self::$js_onformsubmit[] = '<script type="text/javascript" charset="utf-8">function submitbutton(pressbutton) {'; //Массив сформированных элементов для вывода $_elements = array(); //Получаем данные о элементах формы $fields_info = $obj->get_fieldinfo(); foreach ($fields_info as $key => $field) { if ($field['editable'] == true && !(isset($field['hide_on']) && $field['hide_on'] === $task)) { $v = isset($obj_data->{$key}) ? $obj_data->{$key} : ''; $_elements[$key] = self::get_edit_html_element($field, $key, $v, $obj_data, $params); } } //Если заданы табы //@todo Реализуем позже /* $_tabs_areas = ''; $_tabs_array = array(); $_tabs_new = is_callable(array($obj, 'get_tabsinfo')) ? $obj->get_tabsinfo() : null; if ($_tabs_new) { $_tabs_areas .= '<div id="tabs_wrap"><ul id="tabs_list">'; foreach ($_tabs_new as $_tab_key => $_tab_fields) { $_tabs_areas .= '<li><span rel="tab_' . $_tab_key . '">' . $_tab_fields['title'] . '</span></li>'; foreach ($_tab_fields['fields'] as $f) { if (isset($_elements[$f])) { $_tabs_array[$_tab_key]['title'] = __($_tab_fields['title']); $_tabs_array[$_tab_key]['elements'][] = $_elements[$f]; } } } $_tabs_areas .= '</ul></div>'; $i = 1; foreach ($_tabs_array as $tab_area_key => $tab_fields) { $_tabs_areas .= '<div ' . ( $i == 1 ? '' : 'style="display: none" ' ) . ' class="tab_area tab_area_' . $i . '" id="tab_' . $tab_area_key . '">'; //Начало общего контейнера $_tabs_areas .= $params['wrap_begin']; //Вывод элементов $_tabs_areas .= implode('', $tab_fields['elements']); //Конец общего контейнера $_tabs_areas .= $params['wrap_end']; $_tabs_areas .= '</div>'; $i++; } echo $_tabs_areas; } else { */ /* //Начало общего контейнера echo $params['wrap_begin']; //Вывод элементов echo implode('', $_elements); //Конец общего контейнера echo $params['wrap_end']; } */ // закрываем JS вкрапления //self::$js_onformsubmit[] = 'submitform( pressbutton );'; //self::$js_onformsubmit[] = '};</script>'; //echo "\n" . implode("\n", self::$js_onformsubmit) . "\n"; require_once JTEMPLATE_ADMIN_BASE . DS . 'html' . DS . 'edit.php'; }
?> <div class="page-header"> <ul class="nav nav-pills" style="float: right"> <?php foreach (joosAdminView::get_submenu() as $submenu_item) { ?> <li <?php echo $submenu_item['active'] == false ? '' : 'class="active"'; ?> > <a href="<?php echo $submenu_item['href']; ?> "> <?php echo $submenu_item['name']; ?> </a> </li> <?php } ?> </ul> <h2><?php echo joosAdminView::get_component_title() . ' / ' . joosAdminView::get_component_header(); ?> </h2> </div> Информация о компоненте блогов
> <a href="<?php echo $submenu_item['href']; ?> "> <?php echo $submenu_item['name']; ?> </a> </li> <?php } ?> </ul> <h2><?php echo joosAdminView::get_component_title(); ?> </h2> </div> <section> <div class="row"> <div class="span12"> <textarea rows="30" class="span12"><?php echo $body; ?> </textarea> </div> </div> </section>
?> </div> </div> </div> </section> <section id="admin-form_body"> <fieldset> <?php echo implode('', $_elements); ?> </fieldset> </section> </div> <?php //Выводим скрытые поля формы echo joosHtml::hidden($obj->get_key_field(), $obj_data->{$obj->get_key_field()}) . "\t"; // id объекта echo joosHtml::hidden('option', $option) . "\t"; echo joosHtml::hidden('model', joosAdminView::get_current_model()) . "\t"; echo joosHtml::hidden('menu', joosAutoadmin::get_active_menu_name()); echo joosHtml::hidden('task', '') . "\t"; echo joosHtml::hidden(joosCSRF::get_code(), 1) . "\t"; // элемент защиты от XSS ?> </form>
?> </div> </div> </div> <table class="table table-bordered table-admin"> <thead> <th width="20px"><input type="checkbox" name="toggle" value="" class="js-select_all"></th> <?php echo joosAdminView::get_listing_param('table_headers'); ?> </thead> <tbody> <?php echo joosAdminView::get_listing_param('table_body'); ?> </tbody> </table> <input type="hidden" name="option" value="<?php echo $option; ?> " /> <input type="hidden" name="model" value="<?php echo joosAutoadmin::get_active_model_name(); ?> "/> <input type="hidden" name="menu" value="<?php echo joosAutoadmin::get_active_menu_name(); ?>
<td>2</td> <td><a href="#">NickName</a></td> <td>Пользователь [7]</td> <td>5 июня, 2004</td> <td>22 мая, 2012, 12:26</td> <td><a href="#" title="Запретить"><i class="icon-ok"></i></a></td> </tr> </tbody> </table> <input type="hidden" value="<?php echo $option; ?> " name="option"/> <input type="hidden" value="<?php echo joosAdminView::get_current_model(); ?> " name="model"/> <input type="hidden" value="" name="menu"/> <input type="hidden" value="<?php echo $task; ?> " name="task"/> <input type="hidden" value="" name="boxchecked"/> <input type="hidden" value="" name="obj_name"/> <input type="hidden" value="1" name="<?php echo joosCSRF::get_code(); ?> "/> </form>
public function action_after() { joosAdminView::set_param('submenu', self::get_submenu()); }