Программный комплекс управления сайтом с использованием "Kohana Framework"
Разработка структурной схемы и интерфейса программного комплекса управления сайтом. Выбор языка программирования. Принципы тестирования программы. Разработка руководства оператора и системного программиста. Расчет сметы затрат на программный продукт.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 11.06.2012 |
Размер файла | 4,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
$key = $genpass = $generation->PasswordGeneration(16);
// хэшируем данный пароль для дальнейшего его поступления в бд
$auth = Auth::instance();
$myuser->password = $auth->hash_password($password);
try
{
if(isset($email)and(isset($password)))
{
$myuser->save();
// узнаем id пользователя
$usertemp = ORM::factory('myuser', array('username'=>$email));
$adduserid = $usertemp->id;
// для проверки ида нового юзера на экране
// var_dump($adduserid);
// exit;
// Создаем роли
$addrole = new Model_Addrole();
$addrole->user_id = $adduserid;
if ( ($key!=0)or($key!='-1')or($key!=2) )
{
$addrole->role_id = $key;
}
$addrole->save();
// Диактивация регистрационного кода
$regcode->disactive_code($regcodevalue, $adduserid);
// Отправка эл.почты
$sendtomail = new Model_Sendtomail();
$to = $email;
$from = 'skutorlike@mail.ru';
//$subject = 'Подтверждение регистрации в КГК';
/* $message = "Ваш логин: $email, Ваш пароль: $password
<br>
<br>Ссылка для подтверждения аккаунта: <a href='http://localhost/authformer/checkreg/$key'> ПОДТВЕРДИТЬ </a>";
*/
$subject = Kohana::message('emailthemes/register','subject');
$data = array ('email' => $email,'password' => $password, 'key' => $key );
$message = View::factory('emailbody/register',$data);
$sendtomail->sendemail($to,$from,$subject,$message, true);
unset($key);
unset($genpass);
return TRUE;
}
}
catch(ORM_Validation_Exception $e)
{
$this->errors = $e->errors('validation');
return FALSE;
}
}
public function regcomplete($kolan)
{
if(($kolan!='-1')or($kolan!='0')or($kolan!='all')or($kolan!='1'))
{
$result = DB::select()
->from('roles_users')
->where('role_id', '=', Security::xss_clean($kolan))
->execute();
if (count($result) == 0)
{
return false;
throw new Exeption('Данный ключ не существует');
}
else
{
$query = DB::update('roles_users')
->set(array('role_id' => '1'))
->where('role_id', '=', $kolan);
$query->execute();
return true;
}
}
}
public function updatepassword($code)
{
$usertemp = ORM::factory('myuser', array('rempass'=>$code));
if(!$usertemp->loaded())
{
return FALSE;
}
$generation = new Model_Generation();
$genpass = $generation->PasswordGeneration(8);
//Хеширование пароля
$auth = Auth::instance();
$usertemp->password = $auth->hash_password($genpass);
//Очистка кода восстановления
$usertemp->rempass = NULL;
$usertemp->save();
$sendtomail = new Model_Sendtomail();
//Отправка эл. почты
$email = $usertemp->username;
$from = 'skutorlike@mail.ru';
//$subject = 'Авторизационные данные обновлены';
$subject = Kohana::message('emailthemes/rememberpasswordcomplete','subject');
//$message = "Ваш логин: $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 = "Перейдите по ссылке <a href='http://localhost/authformer/checkcode/$genpass'>Восстановить пароль</a>";
$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.');
// валидация параметра -код-
class 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.');
class 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.');
class 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.');
class Model_Tag extends ORM
{
protected $_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"]; // определяем доменное имя сайта до первого слеша(http://hello.ru)
$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;
}
public 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;
return $result; // в результатае функция вернет массив result
}
else
{
return FALSE;
}
}
public function contentTagById($id) // пришел ид набранного тега
{
$tag = ORM::factory('tag', array('id'=>$id)); // ищем есть ли он в таблице tag в поле id
if($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);
}
return $result; // функция вернет массив result
}
else
{
return FALSE;
}
}
}
..\aplication\classes\model\tagsmaterial.php
<?php defined('SYSPATH') or die('No direct script access.');
class Model_Tagsmaterial extends ORM
{
protected $_table_name = 'tags_materials';
}
..\aplication\classes\model\tree.php
<?php defined('SYSPATH') or die('No direct script access.');
class Model_Tree extends ORM
{
protected $_table_name = 'tree';
protected $_has_many = array( // метод связи -один ко многим-
'materials' => array( // какое доп. свойство хотите
'model' => 'material', // с какой моделью хотим соединится
// (модель соостветственно должна расширятся от орм)
'foreign_key' => 'category_id', // название связываемого поля
),
);
public function categoryInfoByUrl($url)
{
$tree = ORM::factory('tree', array('nametrans'=>$url)); // создается экземпляр класса orm для работы с бд
// из таблицы tree достается строчка в которой поле nametrans совпадает со значением переменной $url
if($tree->loaded()) // проверка загруженной строки
{
$result['id'] = $tree->id; // если строка найдена и загружена то
$result['name'] = $tree->name; // присвоем массиву result идентификтаор и имя категории
return $result; // все успешно метод возвращает массив с полями ид и имя категории
}
else // если строк ане загруженна функция вернет false
{
return FALSE;
}
}
public function contentСategoryById($id)
{
$tree = ORM::factory('tree', array('id'=>$id)); // создается экземпляр класса orm для работы с бд
// из таблицы tree достается строчка в которой поле url совпадает со значением переменной $url
if($tree->loaded())// есть ли такой идентификатор в таблице
{
$result = array(); // пустой массив $result
$res = $tree->materials->find_all(); // загрузка всех материалов данной категории в массив $res
foreach($res as $item) // прокрутка материалов и понумерованная запись в массив $result
{
$result[] = array('id' => $item->id, 'content' => $item->content, 'name' => $item->name);
}
return $result;
}
else
{
return FALSE;}}}
..\aplication\classes\model\user.php
<?php defined('SYSPATH') or die('No direct access allowed.');
class Model_User extends Model_Auth_User {
public function rules()
{
return array(
'username' => array(
array('not_empty'),
array('min_length', array(':value', 4)),
array('max_length', array(':value', 32)),
),
'password' => array(
array('not_empty'),
),
'email' => array(
array('not_empty'),
array('min_length', array(':value', 4)),
array('max_length', array(':value', 127)),
array('email'),
),
);
}
}
..\aplication\views\404view.php
<style>
*body{
margin: 0;
padding: 0;}
#wrapper{
width: 500px;
margin: 0 auto;}
#e404e{
margin: 0 auto;
padding: 100px 0;
text-align: center;
border: none;}
</style>
<div id="wrapper">
<div id="e404e">
<p> Ошибка - № 404.
<br /> Страница не найдена!
</p>
<a href="/">
<img src="/img/404.gif" alt="error404 - страница не найдена" border="0" />
</a>
<br />
<?php echo $message ?>
</div>
</div>
..\aplication\views\accountview.php
<!--Вызов отображение формы логина-->
<?
$request = Request::factory('authformer/form/1');
$response = $request->execute();
echo $response;
?>
<!-- / Вызов отображение формы логина-->
<!-- Вывод сообщения об успешной смене пароля -->
<?if(isset($ok)) // если существует $ok
{?>
<p style="text-align:center; color:green;">
Новый пароль успешно сохранен
</p>
<?}?>
<!-- /Вывод сообщения об успешной смене пароля -->
<!-- Вывод ошибок валидации при сохранении нового пароля -->
<? if(isset($errors) // усли существует $errors
){?>
<?foreach($errors as $item){?>
<p style="color:red"><?=$item?></p>
<?}?>
<?}?>
<!-- / Вывод ошибок валидации при сохранении нового пароля -->
<h2>Личный кабинет</h2>
<p>Здравствуйте, <?=$username?>.</p>
<p><b>Смена пароля:</b> <input type="checkbox" id="showpassbtn" /><label for="showpassbtn"> Не прятать пароль за звездочки</label></p>
<form action="" method="post">
<table class="changepassword">
<tr>
<td style="text-align: right">Старый пароль:</td>
<td><input type="password" name="oldpass" id="oldpass" /></td>
<td>
<span style="display: none" id="ok"><img src="/img/true.png" title="Старый пароль введен правильно" alt="Старый пароль введен правильно" /></span>
<span style="display: none" id="error"><img src="/img/false.png" title="Ошибка в старом пароле" alt="Ошибка в старом пароле" /></span>
</td>
</tr>
<tr>
<td style="text-align: right">Новый пароль:</td>
<td><input type="password" name="newpass1" id="newpass1" /></td>
<td> </td>
</tr>
<tr>
<td style="text-align: right">Повторите новый пароль:</td>
<td><input type="password" name="newpass2" id="newpass2" /></td>
<td>
<span style="display: none" id="newpassmatchesok"><img src="/img/true.png" title="Пароли совпадают" alt="Пароли совпадают" /></span>
<span style="display: none" id="newpassmatcheserror"><img src="/img/false.png" title="Пароли несовпадают" alt="Пароли несовпадают" /></span>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Сохранить пароль" name="btnpassremove" /></td>
</tr>
</table>
</form>
<script type="text/javascript">
function checkOldPass()
{
var oldpass = $("#oldpass").val(); // создается перемеррная oldpass куда заносится значение поля с id=oldpass
$.ajax({ // запрос на отправку данных
type: "POST", // метод скрытый
data: "oldpass=" + oldpass, // в контейнер oldpass запишется значение переменной oldpass
url: "/ajax/checkOldPass", // куда отправится
dataType: "json",
success: function(data)
{
if(data.result) // если функция action_checkOldPass контроллера Ajax вернула true или false
{
$("#ok").css('display','inline');
$("#error").css('display','none');
}
else
{
$("#error").css('display','inline');
$("#ok").css('display','none');
}
}
})
}
function showPass()
{
var checked = $("#showpassbtn").attr('checked'); // переменная checked
if(checked == "checked") // если галка стоит
{
document.getElementById('oldpass').type = 'text'; // поле с идентификатором oldpass становится типа text
document.getElementById('newpass1').type = 'text';
document.getElementById('newpass2').type = 'text';
}
else
{
document.getElementById('oldpass').type = 'password';
document.getElementById('newpass1').type = 'password';
document.getElementById('newpass2').type = 'password';
}
}
function matchesPass()
{
if($("#newpass1").val() == $("#newpass2").val()) // сравнение newpass1 поля с newpass2 полем
{
$("#newpassmatchesok").css('display','inline');
$("#newpassmatcheserror").css('display','none');
}
else
{
$("#newpassmatcheserror").css('display','inline');
$("#newpassmatchesok").css('display','none');
}
}
$(document).ready(function(){
$("#oldpass").blur(checkOldPass);
$("#showpassbtn").click(showPass);
$("#newpass2").keyup(matchesPass);
});
</script>
..\aplication\views\authview.php
<?php
if (isset ($errors))
{
echo "<p style=\"text-align:center; color:red\"/>
Неверный логин или пароль. </p>";
}
if (isset ($badimagecode))
{
echo "<p style=\"text-align:center; color:red\"/>
Неверно введен код с картинки. </p>";
}
?>
<form action="" method="post">
<table class="login">
<tr>
<th colspan="2" style="text-align:center"><h2> Авторизация </h2> </th>
</tr>
<tr>
<td>Логин: </td>
<td> <input type="text" name="login" /> </td>
</tr>
<tr>
<td>Пароль: </td>
<td> <input type="password" name="password" /> </td>
</tr>
<script>
function reload(){
id=Math.floor(Math.random()*1000000);
$("img.captcha").attr("src","/captcha/default?id="+id);
}
</script>
<tr>
<td>
<?=$captcha_image?>
<img alt="Обновить код" onclick="reload()" src="/img/refresh.gif" style="cursor:pointer; vertical-align: super;" title="Обновить код" />
</td>
<td>
<input type="text" name="captcha" />
</td>
</tr>
<tr>
<th colspan="2" style="text-align:right"> <input type="submit" value="Войти" name="authbutton" style="width: 163px; height: 30px;" /> </th>
</tr>
<tr>
</tr>
</table><br />
<a style="color: black; margin-left: 60px; padding: 10px;" href="authformer/wantnewpassword"> Забыл пароль </a>
<a style="color: black; padding: 10px;" href="authformer/reg"> Регистрация </a>
</form>
..\aplication\views\catview.php
<style>
#catview a{
color:#333;
font-weight: bold;
font-size: 16px;
font-style: normal; }
#catview a:hover{
color:#000;
font-style: italic; }
#content_container{
background-image: none;}
</style>
<div id="catview">
<h2>Содержимое категории <?=$category['name']
// в контроллере категорий
// $data['category'] = $tree->categoryInfoByUrl($url)
?></h2>
<ul style="padding: 30px;">
<? if(count($materials)) // проверка есть ли материалы в категории
{
foreach($materials as $item)
{?>
<li>
<p></p><a href="/materials/showcontent/<?=$item['id']?>"><? echo htmlspecialchars($item['name'])?></a></p>
<p><?=$item['content']?></p>
</li>
<?}?>
<?}else{?>
<p>В выбранной категории нет материалов</p>
<?}?>
</ul>
</div>
..\aplication\views\checkcodeview.php
<?php
echo
"<p style=\"text-align:center; color:green;\"> Введите адрес Вашей электронной почты: </p>";
if(isset($error))
{
echo
"<p style=\"text-align:center; color:green;\"> Данный адрес не существует. </p>";
}
if(isset($ok))
{
echo
"<p style=\"text-align:center; color:red;\"> Зайдите и проверьте Вашу почту </p>";
}
?>
..\aplication\views\completeregisterview.php
<script>
function url()
{
setTimeout("location.href='/authformer';", 4000);
}
</script>
<body onload="url()">
<?php
echo
"<p style='text-align:center; color:green;'> ПРОВЕРКА ПОДЛИННОСТИ РЕГИСТРАЦИОННЫХ ДАННЫХ: </p>";
if(isset($error))
{
echo
"<p style='text-align:center; color:red;'> Код подтверждения регистрации недействителен! </p>";
}
if(isset($ok))
{echo
"<p style='text-align:center; color:green;'> Регистрация успешно подтверждена! </p>"; }?>
..\aplication\views\contentview.php
<style>
body{
margin: 0;
padding: 0;}
h3{font-weight: normal;}
#content_container{background-image: none;}
#links a{
color: #333;
font-style: normal;
margin: 0;
padding: 0;}
#links{
margin: 0;
padding: 0;
line-height: normal;}
</style><div id="links"><ul style="padding: 30px;"><li>
Категория: <b><?=$category?></b></li><li>Материал: <b><?=$name?></b></li><br />
<b>Содержимое статьи:</b> <? print $content?></ul><ul><p>
<b>Статье присвоены следующие теги: </b><br /><? if(isset($tag))
{ foreach($tag as $item){?><li> <?= $item['name']?></li><?} }?></p></ul></div>
..\aplication\views\dontaccess.php
<p style="text-align: center;"> У Вас недостаточно доступа для просмотра данной страницы! </p>
..\aplication\views\formloginin.php
<script type="text/javascript">
function OpenSlider() // при нажатии вход
{
$("#slider-in").animate({ height: "200px" }); // плавное изменение высоты от 0 до 170пх
$("#login").focus(); // фокусировка поля с ид логин
$("#open-div").toggle(); // toogle изменяет с видемого на невидимый
$("#close-div").toggle(); // наоборот с невидимого сделал видимым
return false; // запрет перехода по ссылке -Войти-
}
function CloseSlider()
{
$("#slider-in").animate({ height: "0" }); // наоборот первому
$("#open-div").toggle();
$("#close-div").toggle();
return false;
}
$(document).ready(function(){ // прочетсь сначала весь документ
$("#open-button").click(OpenSlider); // запустить функцию открытьслайдер 1-ая
$("#close-button").click(CloseSlider); // в случае нажатия на скрыть с ид клос-батом запустить функцию клос слайдер
});
</script>
<div id="slider">
<div id="slider-in">
<form action="/authformer" method="post">
<p id="ptext">Логин:</p>
<input type="text" name="login" id="login" />
<p id="ptext">Пароль:</p>
<input type="password" name="password" /><br />
<p class="btmimg" ><input type="image" name="authbutton" value=" " style="width: 110; height: 40; outline: hidden; border: none;" /></p>
</form>
<p><a href="/authformer/reg">Быстрая регистрация</a></p>
<p><a href="authformer/wantnewpassword"> Забыл пароль </a> </p>
</div>
<div id="open-div"><a href="#" id="open-button">Вход</a></div>
<div id="close-div" style="display:none"><a href="#" id="close-button" ><img src="/img/exit.png" width="14px" height="14px" alt="hide" align="right" /> </a></div>
</div>
..\aplication\views\formloginout.php
<div id="slider"><a href="/authformer/logout">Выйти</a></div>
..\aplication\views\materialsview.php
<style>#content_container{background-image: none;}</style>
<?foreach($materials as $item){?>
<p><?=($item['content'])?></p>
<?}?>
..\aplication\views\pageview.php
<p style="text-align: center;"> Это обычная страница! </p>
..\aplication\views\regview.php
<?php
if(isset($regok))
{
echo
"<p style='text-align:center; color:green;'> Регистрация прошла успешно. Проверьте Ваш E-Mail. </p>"; ?>
<script>function url() { setTimeout("location.href='/authformer';", 5000); }</script>
<body onload="url()"><?php } if(isset($errors)){foreach ($errors as $item){
echo "<p style='text-align:center; color:red;'> Ошибка $item </p>";} }
if (isset ($badimagecode)){
echo "<p style=\"text-align:center; color:red\"/>Неверно введен код с картинки. </p>";}?>
<form action="" method="post"><table class="login"><tr><th colspan="2" style="text-align:center"><h2> <? echo "Регистрация"; ?> </h2> </th></tr><tr>
<td>E-Mail: </td><td> <input type="text" name="email" /> </td>
</tr><tr><tr><td>Пароль: </td><td> <input type="password" name="password" /> </td></tr><td>Код регистрации(инвайт): </td><td> <input type="text" name="regcodevalue" /> </td></tr><script>
function reload(){id=Math.floor(Math.random()*1000000);
$("img.captcha").attr("src","/captcha/default?id="+id);}</script>
<tr> <td><?=$captcha_image?>
<img alt="Обновить код" onclick="reload()" src="/img/refresh.gif" style="cursor:pointer; vertical-align: super;" title="Обновить код" />
</td><td><input type="text" name="captcha" /></td></tr> <tr>
<th colspan="2" style="text-align:right"> <input type="submit" value="Зарегистрироваться" name="regbutton" style="width: 163px; height: 30px;" /> </th></tr></table> </form>
..\aplication\views\rempassview.php
<?php
echo "<p style=\"text-align:center; color:green;\"> Введите адрес Вашей электронной почты: </p>";
if(isset($error))
{echo "<p style=\"text-align:center; color:green;\"> Данный адрес не существует. </p>"; }
if(isset($ok))
{echo "<p style=\"text-align:center; color:red;\"> Зайдите и проверьте Вашу почту </p>"; }?>
<form action="" method="post"><table class="login"><tr>
<th colspan="2" style="text-align:center"><h2> Восстановление забытого пароля </h2> </th></tr><tr><td>E-Mail: </td><td> <input type="text" name="email" id="email" />
<span id="trueimg" style="display: none;"><img src="/img/true.png" alt="true" /></span>
<span id="falseimg" style="display: none;"><img src="/img/false.png" alt="false" /></span> </td></tr><tr><th colspan="2" style="text-align:right"> <input type="submit" value="Восстановить" name="passubmit" style="width: 163px; height: 30px;" /> </th>
</tr></table></form>
<script type="text/javascript">
function runajax(){var email = $("#email").val();
$.ajax({type: "POST",data: "email=" + email,url: "/ajax/emailunique",dataType: "json",success: function(data){
if(!data.result){$("#trueimg").css('display','inline');$("#falseimg").css('display','none');}
else{$("#falseimg").css('display','inline');$("#trueimg").css('display','none');}}})}
$(document).ready(function(){$("#email").blur(runajax);});</script>
..\aplication\views\tagview.php
<h2>Содержимое категории <?=$tag['name']?></h2><ul style="padding: 30px;">
<?if(count($materials)) {foreach($materials as $item){?><li>
<p><a href="/materials/showcontent/<?=$item['id']?>"><?=$item['name']?></a></p>
<p><?=$item['content']?></p></li><?}?><?}else{?>
<p>В выбранной категории нет материалов</p><?}?></ul>
..\aplication\views\title.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Skutor - Kohana Framework</title>
<link href="/css/stylesheet.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/js/jquery-1.7.1.js" ></script>
<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
</head><body>
<div id="top_bar_black"> <div id="logo_container"> <div id="logo_image"> </div> <div id="nav_block"> <div class="nav_button"><a href="/">Главная </a></div><div class="nav_button"><a href="/category/show/biografiya"> Биография автора</a></div><div class="nav_button"><a href="/category/show/dizayn"> Дизайн-проект</a></div><div class="nav_button"><a href="/category/show/dvijok"> Движок-проект</a></div><div class="nav_button"><a href="/category/show/kontaktyi"> Контакты </a></div> </div></div> </div><div id="content_container"><?php echo $content ?></div><div id="clear"></div><div id="bottom_bar_black"> <div id="main_container"></div> </div><div id="copywriteblock"> <a href="mailto:skutorlike@mail.ru">© Автор сайта: skutor </a></div></body></html>
..\aplication\views\titleview.php
<?php $request = Request::factory('authformer/form'); // запуск метода form в контроллере authformer
$response = $request->execute(); echo $response;?>
<div id="header"> <div class="header_content_mainline"> Программный Комплекс Управления Сайтом</div><div id="header_content_tagline">The System Software Control of Website with Kohana Framework </div></div><div id="header_lower"> <div id="header_content_boxline">"Движок"<div id="header_content_boxcontent"><br />Вообще-то, движок, это жаргонное выражение, правильное название - программный комплекс управления сайтом. Подобная система управления может состоять из множества небольших модулей (т.е. несколько маленьких программ), которые объединены в общую систему.Наиболее часто встречается аббревиатура CMS - Content Managment System - Система Управления Контентом.Движки, в подавляющем большинстве случаев, программируются на языке PHP, тем не менее, возможно применение других языков, всё зависит от программиста и возможностей хостинга. В любом случае, движок всегда работает в связке с базой данных MySQL (базы данных так же должны поддерживаться хостером).<br /><b>Принцип действия:</b>Для начала, обратимся к работе обычного сайта. Как происходит открытие веб-страницы? В строку браузера вводится адрес и открывается соответствующая ему страница, из тех, которые лежат на сервере. Если адрес введён неправильно, то получим ошибку 404 (на сервере такая страница не обнаружена). Как происходит открытие страницы на сайте, которой функционирует с помощью CMS? Страниц, как таковых, на сервере нет. Есть база данных, в которой находится текстовая информация и есть программа, которая работает с этой базой данный (тот самый движок). В строку браузера вводится адрес, в соответствии с адресом, программа «выдёргивает» из базы определённый кусок текста, вставляет его в заранее заданный дизайн и показывает посетителю. На все эти действия уходят доли секунды.Таким образом, страница будет генерироваться столько раз, сколько её будут запрашивать посетители.Итак, мы пришли к определениям статической и динамической страницы.Статическая страница - находится на сервере в виде отдельного файла и отображается при каждом запросе.Динамическая страница - фактически, её не существует, т.е. она собирается заново при каждом новом запросе посетителя сайта.</div></div> </div>
<div id="header_lower"> <div id="header_content_boxline">Kohana</div> <div id="header_content_boxcontent"><br /><b> Kohana </b> -- это HMVC PHP5 веб фреймворк, предоставляющий средства для разработки web-приложений. Благодаря своей каскадной файловой системе, большому количеству встроенных утилит и последовательному API, он идеально подходит для решения большинства задач, а высокая скорость выполнения и обширные возможности профилирования позволяют ускорить разработку и использовать менее мощные ресурсы для содержания конечного продукта.<p><ul><b>Почему именно Kohana?</b><li>Высокая скорость выполнения</li><li>Использование всех возможностей PHP5</li><li>Большое количество встроенных инструментов, в том числе ORM и Database</li><li>Малые системные требования</li><li>Средства профилирования и отладки</li><li>Поддержка UTF-8 и I18N</li></ul></p>Первоначальная версия Kohana была известна как Blue Frame и являлась форком CodeIgniter. Затем разработчики посчитали нужным переименовать свой проект, и с версии 2.0 за фреймворком укрепилось название Kohana. В сентябре 2009 года выходит новая версия, 3.0, в которой был полностью переписан код, добавлено множество нововведений, а также увеличена скорость по отношению к Kohana 2.</div></div>
..\aplication\views\emailbody\register.php
<?php echo"Ваш логин: $email, Ваш пароль: $password <br><br>Ссылка для подтверждения аккаунта: <a href='http://localhost/authformer/checkreg/$key'> ПОДТВЕРДИТЬ </a>";?>
..\aplication\views\emailbody\rememberpassword.php
<?php echo "Перейдите по ссылке
<a href='http://localhost/authformer/checkcode/$genpass'>восстановить пароль</a>"; ?>
..\aplication\views\emailbody\rememberpasswordcomplete.php
<?php echo "Ваш логин: $email Ваш пароль: $genpass"; ?>
..\aplication\views\admin\adminview.php
<p><h3>Страница управления материалами</p></h3><div style="padding: 50px;">
<!-- Вывод ошибок валидации при сохранении нового пароля -->
<? if(isset($errors) // если существует $errors){?><?foreach($errors as $item){?>
<p style="color:red"><?=$item?></p><?}?><?}?>
<!-- / Вывод ошибок валидации при сохранении нового пароля -->
<div><form method="post" action=""><h3 style="font-size: 16px; font-family: Verdana;">Создать категорию: </h3><select name="parentId">
<?foreach($categories as $item) {?><option value="<?=$item['id']?>"><?=str_repeat(' ', 4*$item['level']).htmlspecialchars($item['name'])?></option><?}?></select>
<input type="text" name="categoryName" /><input type="submit" value="Добавить" name="addcategory" /></form></div>
<h3 style="font-size: 16px; font-family: Verdana;">Добавить материал: </h3>
<form action="" method="post" style="width: 900px;"><div><select name="categoryId">
<?foreach($categories as $item) {?><option value="<?=$item['id']?>"><?=str_repeat(' ', 4*$item['level']).htmlspecialchars($item['name'])?></option>
<?}?></select><span>Название материала: <input type="text" name="materialname" />
<span style="padding: 0 10px;">
Теги к статье(через запятую): <input type="text" name="tagnames" alt="Введите теги к материалу через запятую!" />
</div></span></span><textarea name="content" id="editor"></textarea>
<input type="submit" value="Сохранить" name="materialsavebtn" /></form></div>
<script type="text/javascript">
CKEDITOR.replace( 'editor' ); // CKEDITOR подключить к текстовому полю с идентификатором editor
</script></div>
..\aplication\views\admin\editview.php
<p><h3>Страница редактирования категорий и материалов</h3></p>
<div style="padding: 50px;"><div>
<?php if(isset($main)) echo 'Главную категорию запрещено удалять!'; ?>
<?php if(isset($mainm)) echo 'Удаление материала запрещено!'; ?>
<form action="" method="post"><?if(isset($categories)){?><?="<select name=\"SelectCat\">";foreach($categories as $item) {?><option value="<?=$item['id']?>"><?=str_repeat(' ',4*$item['level']).htmlspecialchars($item['name'])?></option><?}?></select>
<input type="submit" value="Выбрать категорию" name="iscategory" />
<input type="submit" value="Удалить категорию" name="delcategory" /><?}?></form>
<form method="post" action=""><? if(isset($matnames)){?><?="<select name=\"SelectMat\" >";foreach($matnames as $item) {?><option value="<?=$item['name']?>"><?=htmlspecialchars($item['name'])?></option><?}?></select>
<input type="submit" value="Выбрать материал" name="ismaterial" />
<input type="submit" value="Удалить материал" name="delmaterial" /><?}?></form><form action="" method="post"><? if(isset($textik)){echo"<b>Название материала</b><input type=\"text\" value=\"$mn\" name=\"mn\" id=\"mn\" />
<textarea name=\"content\" id=\"editor\" >";
print $textik; echo"</textarea> <script type=\"text/javascript\">
CKEDITOR.replace( 'editor' ); // CKEDITOR подключить к текстовому полю с идентификатором editor
</script>
<input type=\"submit\" value=\"Сохранить изменения\" name=\"savem\" />"; }?> </form></div></div>
..\aplication\views\admin\title.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Skutor - Kohana Framework</title>
<link href="/css/stylesheetadmin.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/js/jquery-1.7.1.js" ></script>
<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
</head><body><div id="top_bar_black"> <div id="logo_container">
<div id="logo_image"> </div> <div id="nav_block">
<div class="nav_button"><a href="/">На главную </a></div>
<div class="nav_button"><a href="/admin"> Добавление</a></div>
<div class="nav_button"><a href="/admin/edit"> Редактирование</a></div>
<div class="nav_button"><a href="/admin/users"> Пользователи</a></div> </div></div></div>
<div id="content_container"><?php echo $content ?>
</div><div id="clear"></div><div id="bottom_bar_black"> <div id="main_container"></div> </div><div id="copywriteblock"> <a href="mailto:skutorlike@mail.ru">© Автор сайта: skutor </a></div></body></html>
..\aplication\views\admin\usersview.php
<p><h3>Страница управления пользователями</p></h3><div id="analitics"><p>
<font color="green"> Зарегистрировано пользователей: </font> <?=$usercount?>
<br /><font color="red"> Администраторов: </font> <?=$admincount?></p></div>
<div id="search"><form method="post" action="">
<h3 style="font-size: 16px; font-family: Verdana;">Поиск пользователя: </h3>
<input type="text" name="username" /><input type="submit" value="Найти" name="SearchGo" /></form>
<?php if(isset($findok)){echo "<p style=\"color: green;\">Результат: </p>";
foreach($name as $item) {echo $item['username']."<br />";}}else
echo "Ничего не найдено";?></div><div id="clear"></div>
..\aplication\messages\addmatErrors.php
<? // тест документ, не используется!
return array (
'materialname'=> array(
'not_empty'=> 'Вы не дали название материалу',
'min_length'=> 'Название материала слишком короткое',
'max_length'=>'Название не должно быть длиннее 20 символов',
'alpha_numeric'=>'Название может использовать только английские и целочисленные символы верхнего и нижнего регистров. Без специальных сиволов.',
), 'tags'=> array('not_empty'=> 'Вы не ввели ни одного тега.', ),);
..\aplication\messages\catErrors.php
<? return array (
'name'=> array(
'not_empty'=> 'Название категории не должно быть пустым.',
'min_length'=> 'Вы ввели название категории менее трех символов.',
'regex'=>'Можно использовать только русские,английские и целочисленные символы верхнего и нижнего регистров. Без специальных сиволов.', ),
'parentID'=> array(
'check_id'=>'Нельзя создать категорию, так как не существует родительской категории.',),
'nametrans'=> array(
'unique_url'=>'URL уже существует.',),
'password'=> array(
'not_empty'=> 'Пароль не должен быть пустым.',
'min_length'=> 'Пароль должен содержать не менее 7 символов.',
'max_length'=>'Пароль должен содержать не более 16 символов.',
'regex'=>'Можно использовать только английские и целочисленные символы верхнего и нижнего регистров. Без специальных сиволов.', ),
'oldpass' => array(
'not_empty' => 'Вы не ввели старый пароль',
'checkOldPass' => 'Ошибка в старом пароле', ),
'newpass1' => array(
'not_empty' => 'Вы не ввели новый пароль',
'matches' => 'Новые пароли должны совпадать',
'min_length'=> 'Пароль должен содержать не менее 7 символов.',
'max_length'=>'Пароль должен содержать не более 16 символов.',
'regex'=>'Можно использовать только английские и целочисленные символы верхнего и нижнего регистров. Без специальных сиволов.', ),);
..\aplication\messages\passErrors.php
<? // тест документ, не используется!
return array ('password'=> array(
'not_empty'=> 'Пароль не должен быть пустым.',
'min_length'=> 'Пароль должен содержать не менее 7 символов.',
'max_length'=>'Пароль должен содержать не более 16 символов.',
'regex'=>'Можно использовать только английские и целочисленные символы верхнего и нижнего регистров. Без специальных сиволов.', ), );
..\aplication\messages\validation\myuser.php
<? return array ('username'=> array(
'not_empty'=> 'Вы не заполнили поле Email.',
'email'=> 'Это не Email.',
'username_unique'=> 'Данный Email уже зарегистрирован.', ),);
..\aplication\messages\validation\regcode.php
<? return array ( 'code'=> array(
'not_empty'=> 'Поле регистрационного кода не должно быть пустым.',
'bad_code'=> 'Код используется другим пользователем или не существует.', ),);
..\aplication\messages\emailthemes\register.php
<?php defined('SYSPATH') or die('No direct script access.'); return array(
'subject' => 'Подтверждение регистрации',);
..\aplication\messages\emailthemes\rememberpassword.php
<?php defined('SYSPATH') or die('No direct script access.'); return array(
'subject' => 'Восстановление пароля', );
..\aplication\messages\emailthemes\rememberpasswordcomplete.php
<?php defined('SYSPATH') or die('No direct script access.'); return array(
'subject' => 'Ваш новый пароль', );
SQL dump базы данных “kgksite”
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `materials`
-- ----------------------------
DROP TABLE IF EXISTS `materials`;
CREATE TABLE `materials` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`category_id` int(10) unsigned NOT NULL,
`content` text NOT NULL,
`createtime` int(10) DEFAULT NULL,
`modtime` int(10) DEFAULT NULL,
`name` varchar(25) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `category_id` (`category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of materials
-- ----------------------------
INSERT INTO `materials` VALUES ('1', '5', '<p>\r\nВы можете свзяаться со мной по адресу:</p>\r\n<p>\r\n<a href=\"mailto:skutorlike@mail.ru?subject=%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%81%20%D0%B2%D0%B0%D1%88%D0%B5%D0%B3%D0%BE%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%20Kohana\">skutorlike@mail.ru</a></p>\r\n', '1329132907', null, 'Email');
INSERT INTO `materials` VALUES ('7', '4', '<p>\r\nКакая-то информация</p>\r\n', '1336382841', null, 'Материал1');
INSERT INTO `materials` VALUES ('8', '4', '<p>\n<strong>Некая информация к Материалу № 2.</strong></p>\n', '1337088918', '1338127500', 'sdfsdfsdf');
INSERT INTO `materials` VALUES ('9', '4', '<p>\ninformation, many many information =)</p>\n', '1337088918', '1338127561', 'playgamer');
INSERT INTO `materials` VALUES ('11', '5', '<p>\r\ntext for example</p>\r\n', '1338381423', null, 'example2');
-- ----------------------------
-- Table structure for `regcodes`
-- ----------------------------
DROP TABLE IF EXISTS `regcodes`;
CREATE TABLE `regcodes` (
`id` int(7) NOT NULL AUTO_INCREMENT,
`code` varchar(32) NOT NULL,
`user_id` int(7) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of regcodes
-- ----------------------------
INSERT INTO `regcodes` VALUES ('1', '111', '1');
INSERT INTO `regcodes` VALUES ('2', '222', '2');
INSERT INTO `regcodes` VALUES ('3', '333', '2');
INSERT INTO `regcodes` VALUES ('4', '787', '9');
INSERT INTO `regcodes` VALUES ('5', '121', '3');
-- ----------------------------
-- Table structure for `roles`
-- ----------------------------
DROP TABLE IF EXISTS `roles`;
CREATE TABLE `roles` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`description` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of roles
-- ----------------------------
INSERT INTO `roles` VALUES ('1', 'login', 'Login privileges, granted after account confirmation');
INSERT INTO `roles` VALUES ('2', 'admin', 'Administrative user, has access to everything.');
-- ----------------------------
-- Table structure for `roles_users`
-- ----------------------------
DROP TABLE IF EXISTS `roles_users`;
CREATE TABLE `roles_users` (
`user_id` int(11) unsigned NOT NULL,
`role_id` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of roles_users
-- ----------------------------
INSERT INTO `roles_users` VALUES ('1', '1');
INSERT INTO `roles_users` VALUES ('1', '2');
INSERT INTO `roles_users` VALUES ('2', '1');
INSERT INTO `roles_users` VALUES ('3', '1');
-- ----------------------------
-- Table structure for `tags`
-- ----------------------------
DROP TABLE IF EXISTS `tags`;
CREATE TABLE `tags` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`url` varchar(100) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tags
-- ----------------------------
INSERT INTO `tags` VALUES ('1', 'email', 'http://localhost/materials/showcontent/59');
INSERT INTO `tags` VALUES ('2', 'author', 'http://localhost/materials/showcontent/60');
INSERT INTO `tags` VALUES ('3', 'contact', 'http://localhost/materials/showcontent/61');
INSERT INTO `tags` VALUES ('7', 'deletematerials', 'http://localhost/materials/showcontent/7');
INSERT INTO `tags` VALUES ('8', 'info', 'http://localhost/materials/showcontent/8');
INSERT INTO `tags` VALUES ('9', 'material2', 'http://localhost/materials/showcontent/9');
INSERT INTO `tags` VALUES ('10', 'mat2', 'http://localhost/materials/showcontent/10');
INSERT INTO `tags` VALUES ('11', 'zero', 'http://localhost/materials/showcontent/11');
INSERT INTO `tags` VALUES ('12', 'example', 'http://localhost/materials/showcontent/12');
INSERT INTO `tags` VALUES ('13', 'foryou', 'http://localhost/materials/showcontent/13');
INSERT INTO `tags` VALUES ('14', 'test', 'http://localhost/materials/showcontent/14');
INSERT INTO `tags` VALUES ('15', 'second', 'http://localhost/materials/showcontent/15');
-- ----------------------------
-- Table structure for `tags_materials`
-- ----------------------------
DROP TABLE IF EXISTS `tags_materials`;
CREATE TABLE `tags_materials` (
`tag_id` int(10) NOT NULL,
`material_id` int(10) NOT NULL,
KEY `FK_tags_materials_tags` (`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tags_materials
-- ----------------------------
INSERT INTO `tags_materials` VALUES ('1', '1');
INSERT INTO `tags_materials` VALUES ('2', '1');
INSERT INTO `tags_materials` VALUES ('3', '1');
INSERT INTO `tags_materials` VALUES ('1', '2');
INSERT INTO `tags_materials` VALUES ('7', '3');
INSERT INTO `tags_materials` VALUES ('8', '7');
INSERT INTO `tags_materials` VALUES ('9', '8');
INSERT INTO `tags_materials` VALUES ('10', '8');
INSERT INTO `tags_materials` VALUES ('11', '9');
INSERT INTO `tags_materials` VALUES ('12', '10');
INSERT INTO `tags_materials` VALUES ('13', '10');
INSERT INTO `tags_materials` VALUES ('14', '11');
INSERT INTO `tags_materials` VALUES ('15', '12');
-- ----------------------------
-- Table structure for `tree`
-- ----------------------------
DROP TABLE IF EXISTS `tree`;
CREATE TABLE `tree` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(250) NOT NULL,
`nametrans` varchar(250) NOT NULL,
`left_key` int(10) NOT NULL,
`right_key` int(10) NOT NULL,
`level` int(10) NOT NULL,
PRIMARY KEY (`id`,`nametrans`),
UNIQUE KEY `url` (`nametrans`) USING BTREE,
KEY `key` (`left_key`,`right_key`,`level`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tree
-- ----------------------------
INSERT INTO `tree` VALUES ('1', 'Главная', 'main', '1', '34', '0');
INSERT INTO `tree` VALUES ('3', 'Дизайн', 'Dizayn', '18', '19', '1');
INSERT INTO `tree` VALUES ('4', 'Движок', 'Dvijok', '20', '23', '1');
INSERT INTO `tree` VALUES ('5', 'Контакты', 'Kontaktyi', '24', '25', '1');
-- ----------------------------
-- Table structure for `users`
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(40) NOT NULL,
`username` varchar(40) NOT NULL,
`password` varchar(64) NOT NULL,
`logins` int(10) unsigned NOT NULL DEFAULT '0',
`last_login` int(10) unsigned DEFAULT NULL,
`rempass` varchar(70) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_username` (`username`),
UNIQUE KEY `uniq_email` (`email`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES ('1', 'skutorlike@mail.ru', 'skutorlike@mail.ru', '56878f874f984e7030652aa0d61550b9d28bec2fe256161c0e56bfd61de7794b', '112', '1338720949', null);
INSERT INTO `users` VALUES ('2', 'zoikazaripova@mail.ru', 'zoikazaripova@mail.ru', '56878f874f984e7030652aa0d61550b9d28bec2fe256161c0e56bfd61de7794b', '0', null, null);
INSERT INTO `users` VALUES ('3', 'winist@yandex.ru', 'winist@yandex.ru', '56878f874f984e7030652aa0d61550b9d28bec2fe256161c0e56bfd61de7794b', '2', '1338151839', null);
-- ----------------------------
-- Table structure for `user_tokens`
-- ----------------------------
DROP TABLE IF EXISTS `user_tokens`;
CREATE TABLE `user_tokens` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL,
`user_agent` varchar(40) NOT NULL,
`token` varchar(40) NOT NULL,
`type` varchar(100) NOT NULL,
`created` int(10) unsigned NOT NULL,
`expires` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_token` (`token`),
Подобные документы
Обзор существующих решений и обоснование выбора языка программирования. Разработка структурной схемы, интерфейса программного продукта. Технические требования к оборудованию, тест программного продукта, руководство системного программиста и оператора.
дипломная работа [2,0 M], добавлен 10.07.2012Техническое задание на разработку программного продукта и требования к программе. Написание алгоритма работы и разработка интерфейса программы. Руководство системного программиста и оператора. Основные методы и принципы тестирования базы данных.
дипломная работа [2,7 M], добавлен 27.01.2013Проектирование программного обеспечения для классифицирования выпускников высшего учебного заведения. Выбор системы управления базами данных и языка программирования. Разработка структуры данных, схема базы данных. Реализация программного комплекса.
дипломная работа [2,4 M], добавлен 27.03.2013Функциональная структура приложения. Спецификация и структурная диаграмма программного комплекса. Блок-схемы алгоритмов ряда модулей. Данные для тестирования программных модулей и программного комплекса в целом, инструкция пользователя по работе с ним.
курсовая работа [58,5 K], добавлен 25.02.2012Обзор систем управления сайтом, регистрации и отслеживания ошибок. Создание проекта "Senet" в системе регистрации и отслеживания проблем Mantis. Расчет затрат на разработку и эксплуатацию программного обеспечения. Охрана труда и техника безопасности.
дипломная работа [1,7 M], добавлен 24.06.2015Методика и этапы проектирования ядра системы управления сайтом с помощью среды Zend Studio 8. Разработка обработчиков событий, для управления этой системой. Создание каскадных таблиц стилей для оформления панели администрирования с помощью Notepad++.
дипломная работа [4,6 M], добавлен 30.06.2011Исследование организационной структуры ООО "Трансэнергосервис". Обзор методологий проектирования интернет-представительства. Инструментальные средства разработки и реализации системы управления сайтом: разработка интерфейса пользователя и web-сайта.
дипломная работа [1,7 M], добавлен 10.08.2014Обоснование выбора программно-технических средств. Надежность программы и состав технических средств. Разработка структурной схемы программы, алгоритмического и программного интерфейса. Технология разработки интерфейса пользователя и программных модулей.
дипломная работа [3,2 M], добавлен 22.01.2013Описание алгоритмов работы программного блока, тестирования, сохранения результатов, просмотра статистики и построения графика. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Руководство оператора. Охрана труда.
дипломная работа [4,4 M], добавлен 06.03.2013Программный комплекс автоматизации телефонных соединений. Разработка графического интерфейса пользователя, технологической инструкции для пользователя программы, контроля и аттестации программ. Расчет затрат при автоматизации телефонных соединений.
дипломная работа [4,7 M], добавлен 15.10.2013