Программный комплекс управления сайтом с использованием "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   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение