consultation->classes->model->consultation.php
Код: <?php
class Model_Consultation extends Model {
public function get_question($id, $method) { return DB::select() ->from('consultation') ->where($method, "=", $id) ->as_object() ->execute() ->current(); }
public function get_questions() { return DB::select() ->from('consultation') ->as_object() ->execute(); } public function get_response() { return DB::select() ->from('consultation_response') ->as_object() ->execute(); } public function add_question($args) { unset($args['submit']); $args = array_merge( array( 'pat_name' => '', 'pat_email' => '', 'question' => '', 'date_question' => '', ), $args ); return DB::insert('consultation', array_keys($args)) ->values(array_values($args)) ->execute(); } public function add_response($args) { unset($args['submit']); $args = array_merge( array( 'id' => '', 'id_cons' => $args['id_cons'], 'doc_name' => '', 'response' => '', 'date_response' => '', ), $args ); return DB::insert('consultation_response', array_keys($args)) ->values(array_values($args)) ->execute(); } public function update_consultation($args) { unset($args['submit']); //print_r($args);die; $args = array_merge( array( 'id' => '', 'response' => '', 'doc_name' => '', 'date_response'=> '', ), $args ); return DB::update('consultation_response') ->set($args) ->where('id', '=', $args['id']) ->execute(); }
public function remove_consultation($id) { DB::delete('consultation') ->where('id', '=', $id) ->execute(); return DB::delete('consultation_response') ->where('id_cons', '=', $id) ->execute(); } public function remove_response($id) { return DB::delete('consultation_response') ->where('id', '=', $id) ->execute(); }
}
consultation->classes->consultation.php
Код: <?php defined('SYSPATH') OR die('No direct access allowed.');
class Consultation {
//protected static $mail; public $template = 'v_form'; //***** Добавить вопрос в базу **///// public static function addquestion($data){ $result = Model::factory('consultation')->add_question($data); //echo Debug::vars($result); } public static function addresponse($data){ $result = Model::factory('consultation')->add_response($data); } //****** Вывод Вопроса по id *****// public static function showquestion($id){ $consultation = Model::factory('consultation')->get_question($id,'id'); //print_r($consultation);die; return $view = View::factory('v_question') ->bind('consultation', $consultation); } //****** Вывод списка вопросов *****// public static function showquestions($config = NULL){ $consultation = Model::factory('consultation')->get_questions(); //print_r($consultation);die; $consultation_response = Model::factory('consultation')->get_response(); //print_r($consultation);die; return $view = View::factory('v_list', array("consultation" => $consultation, "consultation_response" => $consultation_response )); } //****** Вывод списка вопросов в админке ***// public static function admshowquestions($config = NULL){ $consultation = Model::factory('consultation')->get_questions(); $consultation_response = Model::factory('consultation')->get_response(); return $view = View::factory('v_adminlist', array("consultation" => $consultation, "consultation_response" => $consultation_response)); } //****** Выводим ответ***/// /* public static function showresponse($config = NULL){ $consultation = Model::factory('consultation')->get_response(); return $view = View::factory('v_list', array("consultation" => $consultation)); }*/ //***** Вывод формы для ввода вопроса **// public static function showform($config = NULL){ return View::factory('v_form'); } //***** Удаляем вопрос из базы по айди ***// public static function del_question($id){ Model::factory('consultation')->remove_consultation($id); } public static function del_response($id){ Model::factory('consultation')->remove_response($id); } //***** Возвращает форму для ответа **/// public static function showresponseform($id){ $config = Kohana::$config->load('consultation'); //$page_id = ($config->source == 'query_string') ? $_GET[$config->method] : $this->request->param($config->method); $users=$config->users; return View::factory('v_responseform', array("id" => $id, "users" => $users)); }
} // End
consultation->config->consultation.php
Код: <?php defined('SYSPATH') or die('No direct access allowed.');
return array(
'users' => array( 'Пользователь 1' => 'Пользователь 1', 'Пользователь 2' => 'Пользователь 2' ),
);
consultation->views->v_adminlist.php
Код: <br> <?php foreach ($consultation as $cons) : ?>
<table width="100%" cellspacing="10" style="border-top:1px solid #d9d7d7; border-bottom:1px solid #d9d7d7; border-right:1px solid #d9d7d7; border-left:1px solid #d9d7d7;">
<tr> <td valign="top" width="50px">Имя:</td> <td valign="top"><b><?php echo $cons->pat_name; ?></b></td> <td><b>Функции</b></td> </tr> <tr> <td valign="top" width="50px">Вопрос:</td> <td valign="top" align="left"><?php echo $cons->question; ?></td> <td align="left" width="120px"> <?=HTML::anchor('admin/consultation/response/'. $cons->id, 'Ответить')?> <?=HTML::anchor('admin/consultation/delete/'. $cons->id, 'Удалить')?> </td> </tr> <?php foreach ($consultation_response as $response) : ?> <? if($response->response!==''&& $cons->id==$response->id_cons){?> <table bgcolor="E3E3E3" width="100%" cellspacing="10" style="border-bottom:1px solid #d9d7d7; border-right:1px solid #d9d7d7; border-left:1px solid #d9d7d7;"> <tr> <td valign="top" width="50px">Врач:</td> <td valign="top"><b><?php echo $response->doc_name; ?></b></td> </tr> <tr> <td valign="top" width="50px">Ответ:</td> <td valign="top" align="left"><?php echo $response->response; ?></td> <td align="left" width="120px"> <?=HTML::anchor('admin/consultation/response_edit/'. $cons->id, 'Редактировать')?> <?=HTML::anchor('admin/consultation/delete_response/'. $response->id, 'Удалить')?> </td> </tr>
</table> <?}?> <?php endforeach;?>
</table> <br> <?php //$consultation->next(); endforeach; ?>
consultation->views->v_form.php
Код: <br/>
<br> <center> <?$form = Form::open('consultation/index'); // Ваша функция генерации формы $form = Antispam::factory($form)->getForm(); // Подготовка формы для ботов echo $form; // Ваш способ показа формы ?> <div style="width:400px; text-align:left; border:1px solid #CCCCCC; color:#003300; font:12px tahoma, verdana; background:#F5F5F5;"> <div style="text-align:center; background:#708090; border:1px solid #F5F5F5; color:#ffffff; padding:5px 5px 5px 5px;"> Задать вопрос врачу </div> <?=Form::hidden('date_question', date('d.m.Y'), NULL)?> <?=Form::label('pat_name', 'Ваше имя', array('style' => 'padding:8px 20px 0px 20px;'))?>: <div style="padding:1px 20px 0px 20px;"> <?=Form::input('pat_name', null, array('style' => 'width:358px; height:20px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970; outline: none;','size' => '30'))?> </div> <?=Form::label('pat_email', 'Ваш E-mail', array('style' => 'padding:8px 20px 0px 20px;'))?>: <div style="padding:1px 20px 0px 20px;"> <?=Form::input('pat_email', null, array('style' => 'width:358px; height:20px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970; outline: none;', 'size' => '30'))?> </div> <?=Form::label('question', 'Ваш вопрос', array('style' => 'padding:8px 20px 0px 20px;'))?>:
<div style="padding:1px 20px 0px 20px;"> <?=Form::textarea('question', null, array('style' => 'width:358px; height:100px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970; resize: none; outline: none;'))?> </div>
<div style="padding:5px 20px 15px 20px; text-align:center;"> <?=Form::submit('send', 'Отправить', array('style' => 'cursor:pointer; width:200px; height:35px; font:15px tahoma;'))?> </div> </div> <?=Form::close()?> </div> </center>
consultation->views->v_list.php
Код: <br> <?php foreach ($consultation as $cons) : ?>
<table width="100%" cellspacing="10" style="border-top:1px solid #d9d7d7; border-bottom:1px solid #d9d7d7; border-right:1px solid #d9d7d7; border-left:1px solid #d9d7d7;">
<tr> <td valign="top" width="50px">Имя:</td> <td valign="top"><b><?php echo $cons->pat_name; ?></b></td> </tr> <tr> <td valign="top" width="50px">Вопрос:</td> <td valign="top" align="left"><?php echo $cons->question; ?></td>
</tr> <tr> <td align="right" colspan="2" ><?php echo $cons->date_question; ?></td> </tr> <?php foreach ($consultation_response as $response) : ?> <? if($response->response!==''&& $cons->id==$response->id_cons){?> <table bgcolor="E3E3E3" width="100%" cellspacing="10" style="border-bottom:1px solid #d9d7d7; border-right:1px solid #d9d7d7; border-left:1px solid #d9d7d7;"> <tr> <td valign="top" width="50px">Врач:</td> <td valign="top"><b><?php echo $response->doc_name; ?></b></td> </tr> <tr> <td valign="top" width="50px">Ответ:</td> <td valign="top" align="left"><?php echo $response->response; ?></td>
</tr> <tr> <td align="right" colspan="2" ><?php echo $response->date_response; ?></td> </tr> </table> <?}?> <?php endforeach;?> </table> <br> <?php endforeach;?>
consultation->views->v_question.php
Код: <br>
<table width="100%" cellspacing="10" style="border-top:1px solid #d9d7d7; border-right:1px solid #d9d7d7; border-left:1px solid #d9d7d7;">
<tr> <td valign="top" width="50px">Имя:</td> <td valign="top"><b><?php echo $consultation->pat_name; ?></b></td> </tr> <tr> <td valign="top" width="50px">Вопрос:</td> <td valign="top" align="left"><?php echo $consultation->question; ?></td>
</tr>
</table>
consultation->views->v_responseform.php
Код: <center> <?$form = Form::open('admin/consultation/response/'); // Ваша функция генерации формы $form = Antispam::factory($form)->getForm(); // Подготовка формы для ботов echo $form; // Ваш способ показа формы ?> <div style="width:798px; text-align:left; border:1px solid #CCCCCC; color:#003300; font:12px tahoma, verdana; background:#F5F5F5;"> <div style="text-align:center; background:#708090; border:1px solid #F5F5F5; color:#ffffff; padding:5px 5px 5px 5px;"> Ответить </div> <?=Form::hidden('id_cons', $id, NULL)?> <?=Form::label('doc_name', 'Ваше имя', array('style' => 'padding:8px 20px 0px 20px;'))?>: <div style="padding:1px 20px 0px 20px;"> <?=Form::select('doc_name', $users, NULL, array('style' => 'width:358px; height:35px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970; outline: none;','size' => '1'))?> </div> <?=Form::label('date_response', 'Дата', array('style' => 'padding:8px 20px 0px 20px;'))?>: <div style="padding:1px 20px 0px 20px;"> <?=Form::input('date_response', date('d.m.Y'), array('style' => 'width:358px; height:35px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970; outline: none;','size' => '1'))?> </div> <?=Form::label('response', 'Ответ', array('style' => 'padding:8px 20px 0px 20px;'))?>:
<div style="padding:1px 20px 0px 20px;"> <?=Form::textarea('response', null, array('style' => 'width:750px; height:200px; background:#FFFFFF; border:1px solid #CCCCCC; color:#191970; resize: none; outline: none;'))?> </div>
<div style="padding:5px 20px 15px 20px; text-align:center;"> <?=Form::submit('send', 'Отправить', array('style' => 'cursor:pointer; width:200px; height:35px; font:15px tahoma;'))?> </div> </div> <?=Form::close()?> </div> </center>
consultation.sql
Код: CREATE TABLE IF NOT EXISTS `consultation` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `pat_email` varchar(254) NOT NULL, `pat_name` varchar(32) NOT NULL DEFAULT '', `question` text NOT NULL, `date_question` varchar(15) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `consultation_response` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `id_cons` int(11) unsigned NOT NULL, `doc_name` varchar(32) NOT NULL, `response` text NOT NULL, `date_response` varchar(15) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|