Программный комплекс управления сайтом с использованием "Kohana Framework"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



_initial())

{new HTTP_Exception_404(File not found!);

}

$this->auto_render = FALSE; //не использовать главный шаблон вида "title"

$auth = Auth::instance();($auth->logged_in())

{

$this->response->body(View::factory(formloginout));

}

{

$this->response->body(View::factory(formloginin));

}

}

public function action_reg() // функция регистрации

{

$data = array(); // инициализация пустого массива

$captcha = Captcha::instance();

$captcha_image = $captcha->render();

if(isset($_POST[regbutton])) // елси нажата кнопка regbutton

{

$email =Security::xss_clean(Arr::get($_POST, email, )); // iитать значение из поля email

$password = Security::xss_clean(Arr::get($_POST, password, )); // аналогично

$regcodevalue = Security::xss_clean(Arr::get($_POST, regcodevalue, ));

$capturenka=Captcha::valid(Security::xss_clean(Arr::get($_POST, captcha, )));

if(!$capturenka) {$data["badimagecode"]="";}

else

{

$register = new Model_Reg(); // объявление модели регистрации

if($register->reg($email, $password, $regcodevalue)) // запись в переменную результата функции reg в модели регистрации

// и отправка на вход функции введенных значений

{

$data["regok"] = ""; // елси функция вернула true создадим пустую строку в поле массива regok

}

else

{

$data["errors"] = $register-> errors; // если функция вернула ошибку валидации записать ошибку в массив

}

}

}

// $view_my_form = View::factory(v_myform)->bind(captcha_image, $captcha_image);

// $this->template->content = $view_my_form;

$this->template->content = View::factory(regview, $data)->bind(captcha_image, $captcha_image); // вывод вида regview и массива data

}

public function action_wantnewpassword()

{

$data = array();

if(isset($_POST[passubmit]))

{

$email = Security::xss_clean(Arr::get($_POST, email, ));

$register = new Model_Reg();

if($register->wantnewpassword($email))

{

$data["ok"] = "";

}

else

{

$data["error"] = "";

}

}

$this->template->content = View::factory(rempassview, $data);

}

public function action_checkreg()

{

$kolan = $this->request->param(id);

$data = array();

$register = new Model_Reg();

if($register->regcomplete($kolan))

{

$data["ok"]="";

}

else

{

$data["error"]="";

}

$this->template->content = View::factory(completeregisterview, $data);

}

public function action_checkcode($code)

{

$data = array();

$register = new Model_Reg();

if($register->updatepassword($code))

{

$data["ok"]="";

}

else

{

$data["error"]="";

}

$this->template->content = View::factory(checkcodeview, $data);

}

}

..\aplication\classes\controller\category.php

<?php defined(SYSPATH) or die(No direct script access.);Controller_Category extends Childrenbefore

{$template = title;function action_show()

{

$url = $this->request->param(id); // запись параметра из url

$data = array(); // инициализация пустого массива data

$tree = new Model_Tree(); // объявление экземпляра класса(model_tree)

$data[category] = $tree->categoryInfoByUrl($url);

// использование метода categoryInfoByUrl модели tree

// метод определит идентификатор и название категории по введенной пользователем ссылке и присвоит их массиву дата

// --образуя многомерный массив--

if(!$data[category]) // проверка существования категории, если ее нету вывести ошибку 404

{

throw new HTTP_Exception_404(Запрашиваемая категория не найдена);

return;

}

$data[materials] = $tree->contentСategoryById($data[category][id]);

// создать поле materials и запистаь туда результат обработки метода contentСategoryById

// contentСategoryById получате значение многомерного массива=идентификатору категории(результата обработки categoryInfoByUrl)

// все материалы введенной категории записываются по описанным методам в массив data поле materials

$this->template->content = View::factory(catview, $data);

}

}

..\aplication\classes\controller\materials.php

<?php defined(SYSPATH) or die(No direct script access.);Controller_Materials extends Childrenbefore

{

public $template = title;

public function action_category()

{

$nametrans = $this->request->param(id); // передача параметра из ссылки, id будет являтся название категории

// причина названия катогории как идентификатора кроется в маршрутизации Kohana файлом bootstrap

$data = array();

$category = new Model_Category(tree);

$material = new Model_Material();

$category_id = $category->getCategoryIdByUrl($nametrans);

if(!$category_id)

{

// если категории нету, то подключить класс HTTP_Exception_404, его путь использования в bootstrap(настройки)

throw new HTTP_Exception_404(Страница не найдена!);

return; // завершить выполнение функции

}

$data[materials] = $material->getMaterialsByCategory($category_id);

$this->template->content = View::factory(materialsview, $data);

}

public function action_showcontent()

{

$data = array();

$id = $this->request->param(id); // звпись последней части url в переменную id

$material = new Model_Material(); // создания экземпляра класса модели material

$data = $material->showMaterialById($id); // запись в массив data результата работы метода showMaterialById

//(на который передаем ид материала) модели material

if(!$data) // если дата передана false она становится true и выдает ошибку ненайденной страницы 404

{

throw new HTTP_Exception_404(Запрашиваемая статья не найдена);

return;

}

$this->template->content = View::factory(contentview, $data);

}

}

..\aplication\classes\controller\netprav.php

<?php defined(SYSPATH) or die(No direct script access.);Controller_Netprav extends Childrenbefore

{

public $template = title;

public function action_index()

{

$this->template->content = View::factory(dontaccess);

}

}

..\aplication\classes\controller\one.php

<?php defined(SYSPATH) or die(No direct script access.);

// контроллер загружаемый по умолчанию ONE(согласно конфигу коханы bootstrap) расширяется от контроллера Template(Внутренний файл инструкций Kohana)

class Controller_One extends Controller_Template

{

public $template = title; // загрузка базового вида

public function action_index() // функция по умолчанию

{

$this->template->content = View::factory(titleview); // добавление к базовому виду вида страницы titleview

}

}

..\aplic

Copyright © 2008-2014 geum.ru   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение