.\aplication\classes\controller\admin\edit.php
.. \aplication\classes\controller\admin\edit. php <? php defined('SYSPATH') or die('No direct script access. ');
class Controller_Admin_Edit extends Adminverification // главный контроллер, наследуется от Adminverification { public $template = 'admin/title'; // основной вид страницы public function action_index() // функция выполняемая по умолчанию index { $data = array(); // пустой массив $category = new Model_Category('tree'); // соединяемся с таблицей категорий $data['categories'] = $category-> getTree(); // получаем их список $editmatcat = new Model_Editmatcat; // подключаем модель верстки материалов if(isset($_POST['iscategory'])) // если категория выбрана { unset($data['categories']); // чтоб не отображалить категории когда материал уже выбран $categoryId = Arr:: get($_POST, 'SelectCat', ''); // записать ее идентификатор if($data['matnames'] = $editmatcat-> ShowMatNameList($categoryId)); // вывести имена материалов принадлежащих этой категории } if(isset($_POST['delcategory'])) // если категория выбрана { $categoryId = Security:: xss_clean(Arr:: get($_POST, 'SelectCat', '')); // записать ее идентификатор if(($categoryId == " 1" )and($categoryId == " -1" )and($categoryId == "; " )and($categoryId == " all" )) {$data[" main" ]=" "; } else { if($editmatcat-> Delmatsfromcategory($categoryId)); Request:: initial()-> redirect(" admin/edit" ); } } if(isset($_POST['delmaterial'])) // если категория выбрана { $SelectMat = Security:: xss_clean(Arr:: get($_POST, 'SelectMat', '')); // записать ее идентификатор $midtemp = ORM:: factory('material', array('name'=> $SelectMat)); // наследует ОРМ связь с таблицей материал и вынимаем строчку этого материала $mid = $midtemp-> id; if(($mid == " 1" )and($mid == " -1" )and($mid == "; " )and($mid == " all" )) {$data[" mainm" ]=" "; }
else { if($editmatcat-> Delmat($mid)); Request:: initial()-> redirect(" admin/edit" ); } } if(isset($_POST['ismaterial'])) // если материал выбран { unset($data['categories']); // чтоб не отображалить категории когда материал уже выбран $SelectMat = Arr:: get($_POST, 'SelectMat', ''); // вынимаем из селекта русское имя материала $midtemp = ORM:: factory('material', array('name'=> $SelectMat)); // наследует ОРМ связь с таблицей материал и вынимаем строчку этого материала $mid = $midtemp-> id; Request:: initial()-> redirect(" admin/edit/rewrite/$mid" ); //$data['content'] = $editmatcat-Show($categoryId, $SelectMat); //if($editmatcat-> ) } $this-> template-> content = View:: factory('admin/editview', $data); }
public function action_rewrite() { $mid = Security:: xss_clean($this-> request-> param('id')); $data = array(); $midtemp = ORM:: factory('material', array('id'=> $mid)); $data['mn'] = $midtemp-> name; // возьмем имя материала $data['textik'] = $midtemp-> content; // и его текстовое содержание if(isset($_POST['savem'])) { $newname = Arr:: get($_POST, 'mn', ''); $newtextik = Arr:: get($_POST, 'content', ''); if(! $midtemp-> loaded()) { return FALSE; } $midtemp-> name = $newname; $midtemp-> content =$newtextik; $midtemp-> save(); Request:: initial()-> redirect(" admin/edit" ); } $this-> template-> content = View:: factory('admin/editview', $data); } } .. \aplication\classes\controller\admin\one. php <? php defined('SYSPATH') or die('No direct script access. '); class Controller_Admin_One extends Adminverification // главный контроллер, наследуется от Adminverification { public $template = 'admin/title'; // основной вид страницы public function action_index() // функция выполняемая по умолчанию index { $category = new Model_Category('tree'); $data['categories'] = $category-> getTree(); if(isset($_POST['addcategory'])) { $categoryName = html:: chars( Arr:: get($_POST, 'categoryName', ''), false); $parentId = Arr:: get($_POST, 'parentId', '');
$res = $category-> catInsert($parentId, array('name'=> $categoryName)); if($res) { Request:: initial()-> redirect('admin'); } else { $data['errors'] = $category-> getErrors(); } } if(isset($_POST['materialsavebtn'])) // если нажата кнопка materialsavebtn { $categoryId = Arr:: get($_POST, 'categoryId', ''); // выбранную категорию записать в переменную $categoryId $content = Arr:: get($_POST, 'content', ''); // а содержание текстового поля в $content $materialname = html:: chars(Arr:: get($_POST, 'materialname', ''), false); $tags = html:: chars( Arr:: get($_POST, 'tagnames', ''), false); $tagnames = explode(", ", $tags); // разбить строку на массив используя запятые // пример string=one, two, three; // result[0]=one; result[1]=two; result[2]=three; //html:: chars ($string, false); фильтрация от html тегов в поле $namevalid = new Model_Namevalid; if($resu=$namevalid-> MatNameValid($materialname)) // если имя материала введено { if($resu=$namevalid-> TagNameValid($tags)) { $material = ORM:: factory('material'); // то добавим его в базу данных в таблицу materials $material-> addMaterial($categoryId, $content, $materialname); $matid=$material-> ShowIdFromAddMaterial($materialname); // получим идентификтаор добавленного материала $result = count($tagnames); for ($x=0; $x< $result; ) { $tag = new Model_Tag; $name=$tagnames[$x]; $tag-> tagadd($matid, $name); unset($name); $x++; } Request:: initial()-> redirect('admin'); } else { $data['errors']=$namevalid-> getErrors(); } // пошлем идентификатор и введенный тег к материалу функции сохранения их в теговые таблицы // переадрисуем обратно в админку } else { $data['errors']=$namevalid-> getErrors(); // обработка ошибок в имени материала } } $this-> template-> content = View:: factory('admin/adminview', $data); } }
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|