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