FuelPHP Bin
Sign in
Public
PHP
Save
Controller: <?php namespace Metadata; class Controller_Admin_Metadata extends \Controller_Admin { public function action_createcategory() { $btn_select = __('select'); $btn_save = __('save'); if (\Input::method() == 'POST') { if (\Input::post('submit') == $btn_select) { // Storing selected tree_id in Session for later use $session = \Session::instance(); \Session::set('tree_id', \Input::post('tree_id')); } elseif (\Input::post('submit') == $btn_save) { $val = \Metadata\Model_Tree::validate('create'); if ($val->run()) { $tree = \Metadata\Model_Tree::forge(); $tree->tree_get_root(); $tree->tree_id = \Session::get('tree_id'); $tree->name = \Input::post('name'); \Debug::dump($tree); #die; $tree->tree_new_first_child_of($tree); if ($tree and $tree->save()) { \Messages::success(__('save_success')); \Response::redirect('admin/metadata/createcategory'); } else { \Messages::error(__('save_error')); } } else { \Messages::error($val->error()); } } else {} } // Storing selected tree_id in Session for later use $session = \Session::instance(); $data['tree_id'] = \Session::get('tree_id'); \Debug::dump($data['tree_id']); // Reading out all tree roots (left_id=1) $data['metatrees'] = \Perfectum::objectToArrayWithKey(\Metadata\Model_Tree::find('all', array('where' => array(array('left_id', 1),))),'name', true); return \Theme::instance() ->get_template() ->set('content', \Theme::instance()->view('admin/meta/createcategory', $data)); } } View: createcategory.php <div class="row-fluid sortable"> <div class="box span12"> <div class="box-header" data-original-title> <h2><i class="icon-plus"></i><span class="break"></span><?php echo __('create'); ?> <?php echo __('metacategory'); ?></h2> <div class="box-icon"> <a href="#" class="btn-minimize"><i class="icon-chevron-up"></i></a> </div> </div> <?php $data['metatrees'] = $metatrees; $data['tree_id'] = $tree_id; echo render('admin/meta/select', $data); echo render('admin/meta/_categoryform', $data); ?> </div><!--/span--> </div><!--/row--> View: _categoryform.php <?php if (isset($tree_id)) : ?> <div class="box-content"> <?php echo \Form::open(array('class' => "form-horizontal")); ?> <div class="control-group"> <?php echo \Form::label(__('new_category'), 'name', array('class' => 'span2')); ?> <div class="controls"> <?php echo \Form::input('name', \Input::post('name', isset($category) ? $tree->category : ''), array('class' => 'span5')); ?> </div> </div> <div class="form-actions"> <?php echo \Form::submit('submit', __('save'), array('class' => 'btn btn-primary')); ?> </div> <?php echo \Form::close(); ?> </div> <?php else: ?> <div class="box-content"> <?php echo __('please_choose'); ?> </div> <?php endif; ?> View: select.php <div class="box-content"> <?php echo \Form::open(array('class' => "form-horizontal")); ?> <div class="control-group"> <?php echo \Form::label(__('metatree'), 'tree_id', array('class' => 'control-label')); ?> <div class="controls"> <?php echo \Form::select('tree_id', \Input::post('tree_id'), $metatrees, array('id' => 'admin_trees')); ?> <?php echo \Form::submit('submit', __('select'), array('class' => 'btn btn-primary')); ?> </div> <?php echo \Form::close(); ?> </div>