.\aplication\classes\model\regcode.php
.. \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; }}}
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|