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