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

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

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



?гин: $email Ваш пароль: $genpass";

$data = array (email => $email,genpass => $genpass );

$message = View::factory(emailbody/rememberpasswordcomplete,$data);

$sendtomail->sendemail($email, $from, $subject, $message, TRUE);

return TRUE;

}

public function wantnewpassword($email)

{

$usertemp = ORM::factory(myuser, array(username=>$email));

if(!$usertemp->loaded())

{

return FALSE;

}

$generation = new Model_Generation();

$genpass = $generation->PasswordGeneration(8);

$usertemp->rempass = $genpass;

$usertemp->save();

$sendtomail = new Model_Sendtomail();

//Отправка эл. почты

$from = skutorlike@mail.ru;

//$subject = Восстановление пароля;

$subject = Kohana::message(emailthemes/rememberpassword,subject);

//$message = "Перейдите по ссылке ";

$data = array (genpass => $genpass);

$message = View::factory(emailbody/rememberpassword,$data);

$sendtomail->sendemail($email, $from, $subject, $message, TRUE);

return TRUE;

}

}

..\aplication\classes\model\regcode.php

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

// валидация параметра -код-Model_Regcode extends ORM

{

// protected $_table_name = users

public function rules()

{

return array(

code => array(

array(not_empty),

array(array($this, bad_code)),

),

);

}

public function bad_code($code)

{

$regcodetemp = ORM::factory(regcode, array(code=>$code));

// создание временной переменной регкодетемп хранящий введенное значение и сверка тождественности с параметром регкод который зависит от таблицы с кодами

if($regcodetemp->loaded())

{

if($regcodetemp->user_id == NULL)

// если код не занят еще ни 1 пользователем то вернуть функции тру если занят вернуть фолс.

{

return TRUE;

}

else

{

return FALSE;

}

}

else

{

return FALSE;

}

}

public function disactive_code($code, $user_id)

{

$regcodetemp = ORM::factory(regcode, array(code=>$code));

$regcodetemp->user_id = $user_id;

$regcodetemp->save();

}

}

..\aplication\classes\model\searchuser.php

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

{

public function find($SearchUsername)

{

$query = DB::select(username)

->from(users)

->where(username, like, (%.Security::xss_clean($SearchUsername)).%);

$result = $query->execute()->as_array();

return $result;

}

public function usercount()

{

$result = DB::select(id)

->from(users)

->execute();

return count($result);

}

public function admincount()

{

$result = DB::select(role_id)

->where(role_id, =, 2)

->from(roles_users)

->execute();

return count($result);

}

}

..\aplication\classes\model\sendtomail.php

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

{

public function sendemail($to,$from,$subject,$message, $html)

{

try

{

$count = Email::send($to,$from,$subject,$message, $html);

return TRUE;

}

catch (Exception $e)

{

echo $e->getMessage();

return false;

}

}

}

..\aplication\classes\model\tag.php

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

{$_has_many = array( // связь -многие ко многим-

material => array(

model => material,

through => tags_materials, //обязательный параметр для этой связи // связь между таблицей -materials- и -tags- будет осуществлятся через таблицу -tags_materials-

foreign_key => tag_id, // ключевое поле текущей таблицы

far_key => material_id, // ключевое поле к таблице которой привязываем

),

);

public function tagadd($matid, $name)

{

$url=$_SERVER["HTTP_ORIGIN"]; // определяем доменное имя сайта до первого слеша(

$this->name = Security::xss_clean($name); // в таблицу tags поле name записываем тег

// проверим заодно введенные теги, чтоб были без скриптов и др гадостей

$this->url = ; // ссылка тега изначальна как пустая, поскольку у него еще нету идентификатора

$this->save(); // записываем в таблицу и получаем идентификатор

$tagid=$this->id; // берем данный идентификатор в переменную tagid

$TagsMaterial = new Model_Tagsmaterial; // объявляем класс для работы с бд(нужно для таблицы tags_materials)

$TagsMaterial->tag_id=$tagid; // записываем в таблицу tags_materials идентификтаор нашего тега

$TagsMaterial->material_id = $matid; // записываем в эту же таблицу идентификатор тега к этому материалу

$TagsMaterial->save(); // сохраняем в таблицу

$tags = ORM::factory(tag, array(id=>$tagid)); // находим записанную строчку у таблицы tags

$this->url = "$url/materials/showcontent/$tagid"; // теперь заполним нашу пустую ссылку ссылкой на идентификтаор материала

$this->save(); // произведем сохранение записи

return;

}function tagInfoByUrl($url)

{

$tree = ORM::factory(tag, array(url=>$url));

// создания класса работы с бд и поиск в поле url нашего введенного url

if($tree->loaded()) // если загружена хоть 1 строчка

{

$result[id] = $tree->id; // присвоить массиву result с полем ид и name найденный идентификатор и имя

$result[name] = $tree->name;$result; // в результатае функция вернет массив result

}

{FALSE;

}

}function contentTagById($id) // пришел ид набранного тега

{

$tag = ORM::factory(tag, array(id=>$id)); // ищем есть ли он в таблице tag в поле id($tag->loaded()) // если есть

{

$result = array(); // создаем пустой массив

$res = $tag->material->find_all(); // создание дополнительного поля material и

// поиск всех материалов рлдходящих к тегу с имеющимся идентификатором

foreach($res as $item) // заполнение массива result поматериально с каждым шагом цикла

{

$result[] = array(id => $item->id, content => $item->content, name => $item->name);

}$result; // функция вернет массив result

}

{FALSE;

}

}

}

..\aplication\classes\model\tagsmaterial.php

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

{$_table_name = tags_materials;

}

..\aplication\classes\model\tree.php

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

{$_table_name = tree;$_has_many = array( // метод связи -один ко многим-

materials => array( // какое доп. свойство хотите

model => material, // с какой моделью хотим соединится

// (модель

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