Программный комплекс управления сайтом с использованием "Kohana Framework"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ation\classes\controller\page.php
<?php defined(SYSPATH) or die(No direct script access.);Controller_Page extends Childrenbefore // обычная страница, расширяется от Childrenbefore
{
public $template = title; // испоьзование базового вида страницы
public function action_index() // функция выполняемая по умолчанию
{
$this->template->content = View::factory(pageview); // вывод вида pageview, добавит вид страницы к базовому
}
}
..\aplication\classes\controller\tag.php
<?php defined(SYSPATH) or die(No direct script access.);Controller_Tag extends Childrenbefore
{$template = title;function action_showtag()
{
$url = $this->request->param(id); // $url присваеваем последнее слово из адреса
$data = array(); // инициализация пустого массива
$tag = new Model_Tag(); // создание экземпляра класса модели_tag
$data[tag] = $tag->tagInfoByUrl($url); // запись в массив дата поле tag результата работы метода tagInfoByUrl
if(!$data[tag]) // елси тег не найден вывести ошибку
{
throw new HTTP_Exception_404(Запрашиваемый тег не найден!);
return;
}
// если тег найден записать в массив data поле materials результат функции contentTagById в моделе tag
$data[materials] = $tag->contentTagById($data[tag][id]); // на вход функции приходит найденный идентификатор тега.
// запись материалов по данному тегу в массив data c полем material и вывод в файл вида tagview
$this->template->content = View::factory(tagview, $data);
}
}
..\aplication\classes\controller\admin\edit.php
<?php defined(SYSPATH) or die(No direct script access.);
Controller_Admin_Edit extends Adminverification // главный контроллер, наследуется от Adminverification
{ $template = admin/title; // основной вид страницы
public function action_index() // функция выполняемая по умолчанию index
{
$data = array(); // пустой массив
$category = new Model_Category(tree); // соединяемся с таблицей категорий
$data[categories] = $category->getTree(); // получаем их список
$editmatcat = new Model_Editmatcat; // подключаем модель верстки материалов(isset($_POST[iscategory])) // если категория выбрана
{
unset($data[categories]); // чтоб не отображалить категории когда материал уже выбран
$categoryId = Arr::get($_POST, SelectCat, ); // записать ее идентификатор
if($data[matnames] = $editmatcat->ShowMatNameList($categoryId)); // вывести имена материалов принадлежащих этой категории
}(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");
}
}(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.);Controller_Admin_One extends Adminverification // главный контроллер, наследуется от Adminverification
{$template = admin/title; // основной вид страницы
public function action_index() // функция выполняемая по умолчанию index
{
$category = new Model_Category(tree);
$data[categories] = $category->getTree();(isset($_POST[addcategory]))
{
$categoryName = html::chars( Arr::get($_POST, categoryName, ), false);
$parentId = Arr::get($_POST, parentId, );
$res = $category->catInsert($parentId, array(name=>$categoryName)); ($res)
{::initial()->redirect(admin);
}
{
$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,
Copyright © 2008-2014 geum.ru рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение