Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

.\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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...