コード例 #1
0
ファイル: TopicsController.php プロジェクト: dsyman2/X2CRM
 /**
  * Displays a particular model.
  * @param integer $id the ID of the model to be displayed
  */
 public function actionView($id, $replyId = null, $latest = null)
 {
     $page = null;
     $model = $this->loadModel($id);
     if (!is_null($latest) && !Yii::app()->request->isAjaxRequest) {
         $replyId = $model->lastPost->id;
     }
     if (!is_null($replyId) && !Yii::app()->request->isAjaxRequest) {
         $post = TopicReplies::model()->findByPk($replyId);
         if (!is_null($post)) {
             $page = $post->getTopicPage();
         } else {
             $replyId = null;
         }
     }
     $this->noBackdrop = true;
     $topicReply = new TopicReplies();
     if (!isset($_GET['ajax'])) {
         $log = new ViewLog();
         $log->user = Yii::app()->user->getName();
         $log->recordType = get_class($model);
         $log->recordId = $model->id;
         $log->timestamp = time();
         $log->save();
         X2Flow::trigger('RecordViewTrigger', array('model' => $model));
     }
     $dataProvider = new CArrayDataProvider($model->replies, array('id' => 'topic-replies', 'pagination' => array('pageSize' => Topics::PAGE_SIZE)));
     $dataProvider->getPagination()->setItemCount($dataProvider->getTotalItemCount());
     if (!Yii::app()->request->isAjaxRequest && !is_null($page)) {
         $dataProvider->getPagination()->setCurrentPage($page);
     }
     $this->render('view', array('model' => $model, 'replyId' => $replyId, 'dataProvider' => $dataProvider, 'topicReply' => $topicReply, 'page' => is_null($page) ? $dataProvider->getPagination()->getCurrentPage() : $page));
 }
コード例 #2
0
 public function testGetSortedDataByInnerArrayField()
 {
     $simpleArray = array(array('innerArray' => array('sortField' => 1)), array('innerArray' => array('sortField' => 0)));
     $dataProvider = new CArrayDataProvider($simpleArray, array('sort' => array('attributes' => array('sort' => array('asc' => 'innerArray.sortField ASC', 'desc' => 'innerArray.sortField DESC', 'label' => 'Sorting', 'default' => 'asc')), 'defaultOrder' => array('sort' => CSort::SORT_ASC))));
     $sortedArray = array(array('innerArray' => array('sortField' => 0)), array('innerArray' => array('sortField' => 1)));
     $this->assertEquals($sortedArray, $dataProvider->getData());
 }
コード例 #3
0
 /**
  * Filter input array by key value pairs
  * @param array $data rawData
  * @return array filtered data array
  */
 public function filter(CArrayDataProvider $data)
 {
     $temp = $data->getData();
     foreach ($temp as $index => $item) {
         foreach ($this->filters as $key => $value) {
             if ($value == '') {
                 continue;
             }
             // bypass empty filter
             $test = false;
             // value to test for
             if ($item instanceof CModel) {
                 if (isset($item->{$key}) == false) {
                     throw new CException("Property " . get_class($item) . "::{$key} does not exist!");
                 }
                 $test = $item->{$key};
             } elseif (is_array($item)) {
                 if (!array_key_exists($key, $item)) {
                     throw new CException("Key {$key} does not exist in Array!");
                 }
                 $test = $item[$key];
             } else {
                 throw new CException("Data in CArrayDataProvider must be an array of arrays or CModels!");
             }
             if (stripos($test, $value) === false) {
                 unset($temp[$index]);
             }
         }
     }
     $data->setData(array_values($temp));
     return $data;
 }
コード例 #4
0
 /**
  * Display category tree.
  */
 public function actionIndex()
 {
     $model = new PageCategory('search');
     if (!empty($_GET['PageCategory'])) {
         $model->attributes = $_GET['PageCategory'];
     }
     $tree = new PageCategoryTree(PageCategory::model()->findAll());
     $tree = new CArrayDataProvider($tree->buildTree(), array('pagination' => array('pageSize' => 100)));
     $this->render('index', array('model' => $model, 'tree' => $tree));
 }
コード例 #5
0
 public function testCaseInsensitiveSort()
 {
     // source data
     $unsortedProjects = array(array('title' => 'Zabbix', 'license' => 'GPL'), array('title' => 'munin', 'license' => 'GPL'), array('title' => 'Arch Linux', 'license' => 'GPL'), array('title' => 'Nagios', 'license' => 'GPL'), array('title' => 'zend framework', 'license' => 'BSD'), array('title' => 'Zope', 'license' => 'ZPL'), array('title' => 'active-record', 'license' => false), array('title' => 'ActiveState', 'license' => false), array('title' => 'mach', 'license' => false), array('title' => 'MySQL', 'license' => 'GPL'), array('title' => 'mssql', 'license' => 'EULA'), array('title' => 'Master-Master', 'license' => false), array('title' => 'Zend Engine', 'license' => false), array('title' => 'Mageia Linux', 'license' => 'GNU GPL'), array('title' => 'nginx', 'license' => 'BSD'), array('title' => 'Mozilla Firefox', 'license' => 'MPL'));
     // expected data
     $sortedProjects = array(array('title' => 'active-record', 'license' => false), array('title' => 'ActiveState', 'license' => false), array('title' => 'Arch Linux', 'license' => 'GPL'), array('title' => 'mach', 'license' => false), array('title' => 'Mageia Linux', 'license' => 'GNU GPL'), array('title' => 'Master-Master', 'license' => false), array('title' => 'Mozilla Firefox', 'license' => 'MPL'), array('title' => 'mssql', 'license' => 'EULA'), array('title' => 'munin', 'license' => 'GPL'), array('title' => 'MySQL', 'license' => 'GPL'), array('title' => 'Nagios', 'license' => 'GPL'), array('title' => 'nginx', 'license' => 'BSD'), array('title' => 'Zabbix', 'license' => 'GPL'), array('title' => 'Zend Engine', 'license' => false), array('title' => 'zend framework', 'license' => 'BSD'), array('title' => 'Zope', 'license' => 'ZPL'));
     $dataProvider = new CArrayDataProvider($unsortedProjects, array('sort' => array('attributes' => array('sort' => array('asc' => 'title ASC', 'desc' => 'title DESC', 'label' => 'Title', 'default' => 'desc')), 'defaultOrder' => array('sort' => CSort::SORT_ASC)), 'pagination' => array('pageSize' => 100500)));
     // we're explicitly setting case insensitive sort
     $dataProvider->caseSensitiveSort = false;
     $this->assertEquals($sortedProjects, $dataProvider->getData());
 }
コード例 #6
0
ファイル: XArrayDataProvider.php プロジェクト: hung5s/yap
 /**
  * Fetches the data from the persistent data storage.
  * @return array list of data items
  */
 protected function fetchData()
 {
     $data = parent::fetchData();
     if (empty($data)) {
         $data = $this->rawData;
     }
     return $data;
 }
コード例 #7
0
 public function run($id)
 {
     parent::beforeRun();
     $model = $this->getModel($id);
     $reply = new TopicReplies();
     if (isset($_POST['TopicReplies'])) {
         if (!$this->controller->checkPermissions($model, 'view')) {
             $this->controller->denied();
         }
         $reply->text = $_POST['TopicReplies']['text'];
         $reply->topicId = $model->id;
         $this->controller->setFileFields($reply, true);
         if ($reply->save()) {
             if (isset($_FILES['TopicReplies'])) {
                 Yii::app()->end();
             }
             $reply = new TopicReplies();
         } else {
             if (isset($_FILES['TopicReplies'])) {
                 throw new CHttpException(400, Yii::t('app', 'Upload failed'));
             }
         }
     }
     $this->controller->pageClass = $this->pageClass;
     $this->controller->dataUrl = $model->getUrl();
     //       AuxLib::debugLogR ('$_GET = ');
     //        AuxLib::debugLogR ($_GET);
     //
     //        if (isset ($_GET['topic-replies_page'])) {
     //            AuxLib::debugLogR ('merging');
     //            $this->controller->dataUrl .= '/topic-replies_page/' . $_GET['topic-replies_page'];
     //           AuxLib::debugLogR ('$this->controller->dataUrl = ');
     //            AuxLib::debugLogR ($this->controller->dataUrl);
     //
     //
     //        }
     $this->controller->pageId .= '-' . $model->id;
     $this->controller->headerTitle = $model->name;
     User::addRecentItem(get_class($model), $id);
     $dataProvider = new CArrayDataProvider($model->replies, array('id' => 'topic-replies', 'pagination' => array('pageSize' => Topics::PAGE_SIZE)));
     $dataProvider->getPagination()->setItemCount($dataProvider->getTotalItemCount());
     $this->controller->render($this->pathAliasBase . 'views.mobile.topicsView', array('model' => $model, 'reply' => $reply, 'dataProvider' => $dataProvider));
 }
コード例 #8
0
 /**
  * Class constructor
  * @param Media[] $rawData the data
  * @param array $config the component configuration (optional)
  */
 public function __construct($rawData, $config = array())
 {
     // Optionally apply pagination, unless it has been explicitly disabled
     $pagesize = Setting::getInteger('pagesize');
     if (!isset($config['pagination'])) {
         $config['pagination'] = $pagesize ? array('pageSize' => $pagesize) : false;
     }
     // Determine the key field from the first item
     if (isset($rawData[0])) {
         $config['keyField'] = $rawData[0]->getIdField();
     }
     parent::__construct($rawData, $config);
 }
コード例 #9
0
ファイル: QueueController.php プロジェクト: jasonhai/yii-nfy
 /**
  * Displays and send messages in the specified queue.
  * @param string $queue_name
  * @param string $subscriber_id
  */
 public function actionMessages($queue_name, $subscriber_id = null)
 {
     if (($subscriber_id = trim($subscriber_id)) === '') {
         $subscriber_id = null;
     }
     list($queue, $authItems) = $this->loadQueue($queue_name, array('nfy.message.read', 'nfy.message.create'));
     $this->verifySubscriber($queue, $subscriber_id);
     $formModel = new MessageForm('create');
     if ($authItems['nfy.message.create'] && isset($_POST['MessageForm'])) {
         $formModel->attributes = $_POST['MessageForm'];
         if ($formModel->validate()) {
             $queue->send($formModel->content, $formModel->category);
             $this->redirect(array('messages', 'queue_name' => $queue_name, 'subscriber_id' => $subscriber_id));
         }
     }
     $dataProvider = null;
     if ($authItems['nfy.message.read']) {
         $dataProvider = new CArrayDataProvider($queue->peek($subscriber_id, 200, array(NfyMessage::AVAILABLE, NfyMessage::RESERVED, NfyMessage::DELETED)), array('sort' => array('attributes' => array('id'), 'defaultOrder' => array('id' => CSort::SORT_DESC))));
         // reverse display order to simulate a chat window, where latest message is right above the message form
         $dataProvider->setData(array_reverse($dataProvider->getData()));
     }
     $this->render('messages', array('queue' => $queue, 'queue_name' => $queue_name, 'dataProvider' => $dataProvider, 'model' => $formModel, 'authItems' => $authItems));
 }
コード例 #10
0
 /**
  * Fetches the data from the persistent data storage.
  *
  * @return array list of data items
  */
 protected function fetchData()
 {
     if (($alphapagination = $this->getAlphaPagination()) !== false) {
         if ($alphapagination->attribute != '') {
             $alphapagination->resetPaginationVar();
             $currentPage = $alphapagination->getCurrentPage();
             $search = $alphapagination->getDbChar($currentPage - 1);
             if ($currentPage >= 0) {
                 $this->alphaFilterData($currentPage === 0 ? 0 : $search, $alphapagination->attribute, $alphapagination->forceCaseInsensitive);
             }
         } else {
             throw new CException(Yii::t('ApPagination.alphapager', 'There is no value set for "attribute". You must set the model attribute the pagination condition should be applied to.'));
         }
     }
     return parent::fetchData();
 }
コード例 #11
0
 public function __construct($response, $config = array())
 {
     $this->response = $response;
     $matches = array();
     foreach ($this->response['matches'] as $id => $data) {
         $match = new stdClass();
         foreach ($data['attrs'] as $key => $value) {
             $match->{$key} = $value;
         }
         $match->id = $id;
         $match->model = ActiveRecord::model($match->model_id)->findByPk($match->object_id);
         $match->_weight = $data['weight'];
         $matches[$id] = $match;
     }
     parent::__construct($matches, $config);
 }
コード例 #12
0
ファイル: BuyGoodsService.php プロジェクト: zwq/unpei
 public static function mycoupon()
 {
     $organID = Yii::app()->user->getOrganID();
     //判断优惠券是否过期
     $sql = "select ID ,CouponSn,Amount,PromoID,CreateTime,Valid from pap_coupon_manage where" . " IsUse=0 and OwnerID={$organID} and (CreateTime+3600*24*Valid)>UNIX_TIMESTAMP(NOW())" . "  order by Amount DESC";
     $rawData = Yii::app()->papdb->createCommand($sql)->queryAll();
     $dataProvider = new CArrayDataProvider($rawData, array('id' => 'coupon', 'pagination' => array('pageSize' => 10000)));
     $data = $dataProvider->getData();
     foreach ($data as $key => $val) {
         //截止日期
         $data[$key]['EndTime'] = intval($val['CreateTime']) + 3600 * 24 * intval($val['Valid']);
     }
     $dataProvider->setData($data);
     return $dataProvider;
 }
コード例 #13
0
ファイル: portfolio_returns.php プロジェクト: artmart/verare
                    $return = new PortfolioReturns();
                    $return->portfolio_id = $portfolio_id;
                    $return->is_prtfolio_or_group = 1;
                    $return->trade_date = $rawData[$i]['trade_date'];
                    $return->return = $rawData[$i]['return'];
                    $return->save();
                } else {
                    $existing_return->return = $rawData[$i]['return'];
                    $existing_return->save();
                }
                $i++;
            }
            ?>
<div class="row-fluid"></div>
    <?php 
            $dp = new CArrayDataProvider($rawData, ['pagination' => ['pageSize' => 70, 'params' => ['portfolio' => $portfolio_id, 'dt' => $dt]]]);
            $dp->setTotalItemCount(count($rawData));
            ?>
	
<h3>Prices and Returns</h3>	
	<?php 
            //$this->widget('bootstrap.widgets.TbGridView', array(
            $this->widget('ext.groupgridview.GroupGridView', array('ajaxUpdate' => false, 'id' => 'product-groups-grid', 'dataProvider' => $dp, 'columns' => $columns));
        } else {
            ?>
    <div class="row-fluid"></div>
    <div class="span1"></div>        
    <div class="alert alert-info span5">
      <button type="button" class="close" data-dismiss="alert">x</button>
      <strong>Error!</strong> Prices not fount for selected instrument.
    </div>
コード例 #14
0
 public function actionTodaysTopics()
 {
     $college = College::getUserCollege();
     $this->areaLarge = $college->college_name;
     $this->areaSmall = Yii::t('forum', 'forum.area.todaystopics');
     $this->canPost = false;
     $threads = Thread::model()->getTodaysThreads($college->college_id);
     $topicRows = array();
     foreach ($threads as $i => $thread) {
         $row = array('id' => $thread['thread_id'], 'topic' => $thread['title'], 'program_name' => $thread['program_name'], 'program' => $thread['program_id'], 'semester' => CHtml::link($thread['semester_name'], array('viewTopics', 'programId' => $thread['program_id'], 'semesterId' => $thread['semester_id'])), 'progCode' => $thread['program_code'], 'postDate' => $thread['date_created'], 'numReplies' => $thread['reply_count']);
         $topicRows[] = $row;
     }
     $gridColumns = array(array('name' => 'topic', 'header' => 'Topic', 'type' => 'raw', 'value' => 'CHtml::link($data["topic"], array("post/readTopic", "id" => $data["id"]));'), array('name' => 'program_name', 'header' => 'Program', 'type' => 'raw', 'value' => 'CHtml::link($data["program_name"], array("programView", "programId" => $data["program"]));'), array('name' => 'semester', 'header' => 'Semester', 'type' => 'raw'), array('name' => 'postDate', 'header' => 'Post Date', 'filter' => false, 'value' => 'Yii::app()->timeagoFormat->timeago(new DateTime($data["postDate"]))'), array('name' => 'numReplies', 'header' => 'Replies', 'filter' => false));
     $filtersForm = new FiltersForm();
     if (isset($_GET['FiltersForm'])) {
         $filtersForm->filters = $_GET['FiltersForm'];
     }
     $filteredData = $filtersForm->filter($topicRows);
     $forumGridData = new CArrayDataProvider(array_values($filteredData), array('sort' => array('attributes' => array('topic', 'program', 'postDate', 'numReplies'))));
     $forumGridData->setPagination(false);
     $this->render('topics', array('gridColumns' => $gridColumns, 'forumGridData' => $forumGridData, 'filtersForm' => $filtersForm));
 }
コード例 #15
0
 public function actionCozinha($id = null)
 {
     $dataPizzas = array();
     $dataCombinados = array();
     $dataProdutoPedido = array();
     $model = array();
     $modelPizzaria = Pizzaria::model()->find();
     if (!empty($id)) {
         $model = $this->loadModel($id);
         $dataProdutoPedido = new CArrayDataProvider('ProdutoPedido');
         $dataProdutoPedido->setData($model->produtoPedidos);
         switch ($modelPizzaria->tipo_restaurante) {
             case TipoRestaurante::_TIPO_PIZZARIA_:
                 $dataPizzas = new CArrayDataProvider('Pizza');
                 $dataPizzas->setData($model->pizzas);
                 break;
             default:
                 $dataCombinados = new CArrayDataProvider('CombinadoPedido');
                 $dataCombinados->setData($model->combinadoPedidos);
                 break;
         }
     }
     $modelPedidosPreparando = Pedido::model()->preparando()->findAll();
     $dataPedidosPreparando = new CArrayDataProvider($modelPedidosPreparando);
     $this->render('cozinha', array('model' => $model, 'dataPizzas' => $dataPizzas, 'dataCombinados' => $dataCombinados, 'dataProdutoPedido' => $dataProdutoPedido, 'modelPizzaria' => $modelPizzaria, 'dataPedidosPreparando' => $dataPedidosPreparando));
 }
コード例 #16
0
ファイル: StudentController.php プロジェクト: nguyenvanvu/slu
 public function actionAttendedStudent()
 {
     $search_params = array();
     $model = new RsStudent();
     //#8227	141110
     //        $sql_status = $model->sql_status();
     //        $sql = $sql_status['sql'];
     //        if($_REQUEST) {
     //            if (isset($_REQUEST['s_status']) && $_REQUEST['s_status'] == 0){
     //                $search_params['s_status'] = $_REQUEST['s_status'];
     //                $sql = "select DISTINCT ON (rs_student.id) rs_student.*, 0 as status from rs_student inner join rs_test_result on rs_test_result.student_id = rs_student.id and pof = 1";
     //                if ((isset($_REQUEST['start_date']) && $_REQUEST['start_date']!='') && (isset($_REQUEST['end_date']) && $_REQUEST['end_date']!=''))
     //                {
     //                    $sql = $sql." and date BETWEEN '".$_REQUEST['start_date']."' AND '".$_REQUEST['end_date']."'";
     //                    $search_params['start_date'] = $_REQUEST['start_date'];
     //                    $search_params['end_date'] = $_REQUEST['end_date'];
     //                }else{
     //                    if((isset($_REQUEST['start_date']) && $_REQUEST['start_date']!='') && ($_REQUEST['end_date']==''))
     //                    {
     //                        $sql = $sql." and date >= '".$_REQUEST['start_date']."'";
     //                        $search_params['start_date'] = $_REQUEST['start_date'];
     //                    }
     //                    if(($_REQUEST['start_date']=='') && (isset($_REQUEST['end_date']) && $_REQUEST['end_date']))
     //                    {
     //                        $sql = $sql." and date <= '".$_REQUEST['end_date']."'";
     //                        $search_params['end_date'] = $_REQUEST['end_date'];
     //                    }
     //                }
     //            }
     //            if (isset($_REQUEST['s_status']) && $_REQUEST['s_status'] == 1){
     //                $search_params['s_status'] = $_REQUEST['s_status'];
     //                $sql = "select DISTINCT ON (id) * from ((".$sql_status['sql_eligible'].") union (".$sql_status['sql_not_pof'].")) as tbl order by id,status";
     //            }
     //            if (isset($_REQUEST['s_status']) && $_REQUEST['s_status'] == 2){
     //                $search_params['s_status'] = $_REQUEST['s_status'];
     //                if ((isset($_REQUEST['start_date']) && $_REQUEST['start_date']) && (isset($_REQUEST['end_date']) && $_REQUEST['end_date']))
     //                {
     //                    $sql = "select DISTINCT ON (id) * from (";
     //                    $sql .= "(".$sql_status['sql_pof']." and date BETWEEN '".$_REQUEST['start_date']."' AND '".$_REQUEST['end_date']."')";
     //                    $sql .= " union (".$sql_status['sql_eligible'].")".
     //                            ' union ('.$sql_status['sql_not_pof']." and date BETWEEN '".$_REQUEST['start_date']."' AND '".$_REQUEST['end_date']."')";
     //                    $sql .= ")as tbl order by id,status";
     //                    $search_params['start_date'] = $_REQUEST['start_date'];
     //                    $search_params['end_date'] = $_REQUEST['end_date'];
     //                }else
     //                {
     //                    if((isset($_REQUEST['start_date']) && $_REQUEST['start_date']!='') && ($_REQUEST['end_date']==''))
     //                    {
     //                        $sql = "select DISTINCT ON (id) * from (";
     //                        $sql .= "(".$sql_status['sql_pof']." and date >= '".$_REQUEST['start_date']."')";
     //                        $sql .= " union (".$sql_status['sql_eligible'].")".
     //                            " union (".$sql_status['sql_not_pof']." and date >= '".$_REQUEST['start_date']."')";
     //                        $sql .= ")as tbl order by id,status";
     //                        $search_params['start_date'] = $_REQUEST['start_date'];
     //                    }
     //                    if(($_REQUEST['start_date']=='') && (isset($_REQUEST['end_date']) && $_REQUEST['end_date']))
     //                    {
     //                        $sql = "select DISTINCT ON (id) * from (";
     //                        $sql .= "(".$sql_status['sql_pof']." and date <= '".$_REQUEST['end_date']."')";
     //                        $sql .= " union (".$sql_status['sql_eligible'].")".
     //                            " union (".$sql_status['sql_not_pof']." and date <= '".$_REQUEST['end_date']."')";
     //                        $sql .= ")as tbl order by id,status";
     //                        $search_params['end_date'] = $_REQUEST['end_date'];
     //                    }
     //                }
     //            }
     //        }
     $sql = '';
     if ($_REQUEST) {
         if (isset($_REQUEST['s_status'])) {
             $search_params['s_status'] = $_REQUEST['s_status'];
         }
         $search_params['start_date'] = '';
         $search_params['end_date'] = '';
         $Cond = '';
         if (isset($_REQUEST['start_date']) && $_REQUEST['start_date'] != '' && (isset($_REQUEST['end_date']) && $_REQUEST['end_date'] != '')) {
             $Cond = "date BETWEEN '" . $_REQUEST['start_date'] . "' AND '" . $_REQUEST['end_date'] . "'";
             $search_params['start_date'] = $_REQUEST['start_date'];
             $search_params['end_date'] = $_REQUEST['end_date'];
         } else {
             if (isset($_REQUEST['start_date']) && $_REQUEST['start_date'] != '' && $_REQUEST['end_date'] == '') {
                 $Cond = "date >= '" . $_REQUEST['start_date'] . "'";
                 $search_params['start_date'] = $_REQUEST['start_date'];
             }
             if (@$_REQUEST['start_date'] == '' && (isset($_REQUEST['end_date']) && $_REQUEST['end_date'])) {
                 $Cond = "date <= '" . $_REQUEST['end_date'] . "'";
                 $search_params['end_date'] = $_REQUEST['end_date'];
             }
         }
         $sql_status = $model->sql_status(array('date' => $Cond));
         $sql = $sql_status['sql'];
         if (isset($_REQUEST['s_status']) && $_REQUEST['s_status'] == 0) {
             $sql = $sql_status['sql_pof'];
         }
         if (isset($_REQUEST['s_status']) && $_REQUEST['s_status'] == 1) {
             $sql = "select DISTINCT ON (id) * from ((" . $sql_status['sql_eligible'] . ") union (" . $sql_status['sql_not_pof'] . ")) as tbl order by id,status_rank";
         }
         if (isset($_REQUEST['s_status']) && $_REQUEST['s_status'] == 2) {
             $sql = "select DISTINCT ON (id) * from (";
             $sql .= "(" . $sql_status['sql_pof'] . ")";
             $sql .= " union (" . $sql_status['sql_eligible'] . ")" . " union (" . $sql_status['sql_not_pof'] . ")";
             $sql .= ")as tbl order by id,status_rank";
         }
     } else {
         $sql_status = $model->sql_status();
         $sql = $sql_status['sql'];
     }
     $list_student = $model->data_query($sql);
     $dataProvider = new CArrayDataProvider($list_student, array('pagination' => array('pageSize' => 10)));
     $pages = $dataProvider->pagination;
     $list_student = $dataProvider->getData();
     $this->render('attendedStudent', array('list_student' => $list_student, "pages" => $pages, 'searchParams' => $search_params));
 }