コード例 #1
0
ファイル: RelController.php プロジェクト: paranoidxc/iwebhost
 public function actionPickAtt()
 {
     $return_id = $_GET['return_id'];
     $rtype = $_GET['rtype'];
     $criteria = new CDbCriteria();
     if (isset($_GET['keyword'])) {
         $screen_name = trim($_GET['keyword']);
         $criteria->condition = 'screen_name like :screen_name';
         $criteria->params = array(':screen_name' => "%{$screen_name}%");
         $partial_tpl = '_att';
         //$atts = Attachment::model()->findAll($criteria);
         //$this->renderPartial('_att',array('return_id' => $return_id,'atts' => $atts,'rtype' => $rtype ),false,true);
     } else {
         $partial_tpl = 'pickatt';
         //$atts = Attachment::model()->findAll();
         //$this->renderPartial('pickatt',array('return_id' => $return_id,'atts' => $atts ,'rtype' => $rtype ),false,true);
     }
     $item_count = Attachment::model()->count($criteria);
     $page_size = 10;
     $pages = new CPagination($item_count);
     $pages->setPageSize($page_size);
     $pagination = new CLinkPager();
     $pagination->cssFile = false;
     $pagination->setPages($pages);
     $pagination->init();
     $criteria->limit = $page_size;
     $criteria->offset = $pages->offset;
     $select_pagination = new CListPager();
     $select_pagination->htmlOptions['onchange'] = "";
     $select_pagination->setPages($pages);
     $select_pagination->init();
     $atts = Attachment::model()->findAll($criteria);
     $this->renderPartial($partial_tpl, array('return_id' => $return_id, 'atts' => $atts, 'rtype' => $rtype, 'pagination' => $pagination, 'select_pagination' => $select_pagination), false, true);
 }
コード例 #2
0
 public function actioncxIndex()
 {
     //print_r( ucfirst($this->getId() ) );
     //$this->actionId     = $this->getAction()->getId();
     $controllerId = $this->controllerId;
     $criteria = new CDbCriteria();
     if (isset($_GET['keyword']) || !empty($_GET['keyword']) || strlen($_GET['keyword']) > 0) {
         $keyword = trim($_GET['keyword']);
         $criteria->condition = 'title like :keyword ';
         $criteria->params = array(':keyword' => "%{$keyword}%");
         $is_partial = true;
     }
     $imodel = new $controllerId();
     $item_count = call_user_func(array($imodel, 'count'), $criteria);
     $page_size = 10;
     $pages = new CPagination($item_count);
     $pages->setPageSize($page_size);
     $pagination = new CLinkPager();
     $pagination->cssFile = false;
     $pagination->setPages($pages);
     $pagination->init();
     $criteria->limit = $page_size;
     $criteria->offset = $pages->offset;
     $select_pagination = new CListPager();
     $select_pagination->header = '跳转到:';
     $select_pagination->htmlOptions['onchange'] = "";
     $select_pagination->setPages($pages);
     $select_pagination->init();
     $list = call_user_func(array($imodel, 'findAll'), $criteria);
     if ($is_partial) {
         $this->renderPartial('_index', array('list' => $list, 'pagination' => $pagination, 'select_pagination' => $select_pagination), false, true);
     } else {
         $this->render('index', array('list' => $list, 'pagination' => $pagination, 'select_pagination' => $select_pagination), false, true);
     }
 }
コード例 #3
0
ファイル: IController.php プロジェクト: paranoidxc/iwebhost
 /**
  * Lists all models.
  */
 public function actionIndex($opt = null)
 {
     $controllerId = strlen($opt['controllerId']) > 0 ? $opt['controllerId'] : $this->controllerId;
     if (!is_array($opt)) {
         $criteria = new CDbCriteria();
         $keyword = trim($_GET['keyword']);
     } else {
         extract($opt);
     }
     $imodel = new $controllerId();
     $item_count = call_user_func(array($imodel, 'count'), $criteria);
     $page_size = strlen($opt['page_size']) > 0 ? $opt['page_size'] : 10;
     $pages = new CPagination($item_count);
     $pages->setPageSize($page_size);
     $pagination = new CLinkPager();
     $pagination->cssFile = false;
     $pagination->setPages($pages);
     $pagination->init();
     $criteria->limit = $page_size;
     $criteria->offset = $pages->offset;
     $select_pagination = new CListPager();
     $select_pagination->header = Yii::t('cp', 'Go to:');
     $select_pagination->htmlOptions['onchange'] = "";
     $select_pagination->setPages($pages);
     $select_pagination->init();
     $list = call_user_func(array($imodel, 'findAll'), $criteria);
     if (!is_array($opt['tpl_params'])) {
         $opt['tpl_params'] = array();
     }
     $opt['tpl_params']['list'] = $list;
     $opt['tpl_params']['pagination'] = $pagination;
     $opt['tpl_params']['select_pagination'] = $select_pagination;
     // echo Chtml::listBox('category_id',1,$leafs)
     //print_r($opt['tpl_params']);
     if ($is_partial) {
         $this->renderPartial('_index', $opt['tpl_params'], false, true);
     } else {
         $tpl = strlen($opt['tpl']) > 0 ? $opt['tpl'] : 'index';
         if ($_GET['ajax'] == 'ajax') {
             $this->renderPartial($tpl, $opt['tpl_params'], false, true);
         } else {
             $this->render($tpl, $opt['tpl_params'], false, true);
         }
     }
 }
コード例 #4
0
ファイル: MController.php プロジェクト: paranoidxc/iwebhost
 public function actionPhotos()
 {
     $criteria = new CDbCriteria();
     $criteria->condition = 'user_id = :user_id';
     $criteria->params = array(':user_id' => User()->id);
     $criteria->order = 'c_time DESC';
     if (isset($_GET['keyword'])) {
         $partial_tpl = '_photos';
     } else {
         $partial_tpl = 'photos';
     }
     $item_count = Attachment::model()->count($criteria);
     $pages = new CPagination($item_count);
     $pages->setPageSize($page_size);
     $pagination = new CLinkPager();
     $pagination->cssFile = false;
     $pagination->setPages($pages);
     $pagination->init();
     $criteria->limit = 6;
     $criteria->offset = $pages->offset;
     $select_pagination = new CListPager();
     $photos = Attachment::model()->findAll($criteria);
     $this->renderPartial($partial_tpl, array('photos' => $photos, 'pagination' => $pagination, 'select_pagination' => $select_pagination), false, true);
 }
コード例 #5
0
 public function actionAPIx()
 {
     $item_count = 32;
     $page_size = 2;
     $pages = new CPagination($item_count);
     //$pages->pageVar = 'iook=8&ok';
     //$pages->createPageUrl(CController::createUrl('blog/index',$pages) );
     $pages->setPageSize($page_size);
     // simulate the effect of LIMIT in a sql query
     //$end =($pages->offset+$pages->limit <= $item_count ? $pages->offset+$pages->limit : $item_count);
     //$sample =range($pages->offset+1, $end);
     $pagination = new CLinkPager();
     //print_r("<pre>");
     //print_r($pagination);
     //print_r("</pre>");
     //$pages->pageVar='stat='.$_GET[stat]."&page";
     $pagination->setPages($pages);
     $pagination->init();
     $pagination->run();
     print_r("--");
     print_r($pages->offset);
     print_r("--");
     $pagination = new CListPager();
     $pages->pageVar = 'ioof';
     $pagination->setPages($pages);
     $pagination->init();
     $pagination->run();
     exit;
     echo 'find id=2 essay <br>';
     echo '<pre>';
     $a = API::essay(array('id' => '2'));
     $a->print;
     echo 'find id=2,3,4 essay <br>';
     $a = API::essay(array('id' => ',1,2,3,4,5,6,7,,8,,9,0,0,-,-,,,,r,r,r,w,,3,2,3'));
     foreach ($a as $t) {
         print_r("<hr>");
         $t->print;
     }
     echo '</pre>';
     exit;
 }
コード例 #6
0
ファイル: Category.php プロジェクト: paranoidxc/iwebhost
 public function essays($opt = null)
 {
     $include = empty($opt['include']) ? false : true;
     $split = empty($opt['split']) ? false : true;
     $order = empty($opt['order']) ? ' id DESC ' : $opt['order'];
     if ($include) {
         $ids = $this->sub_nodes();
         $criteria = new CDbCriteria();
         $criteria->condition = 'find_in_set(category_id,:ids)';
         $criteria->order = $order;
         $criteria->params = array(':ids' => $ids);
         if ($split) {
             $item_count = Article::model()->count($criteria);
             $page_size = 2;
             $pages = new CPagination($item_count);
             $pages->setPageSize($page_size);
             $pagination = new CLinkPager();
             $pagination->setPages($pages);
             $pagination->init();
             //$pagination->run(); // display the html pagination
             $criteria->limit = $page_size;
             $criteria->offset = $pages->offset;
             $articles = Article::model()->findall($criteria);
         } else {
             $articles = Article::model()->findall($criteria);
         }
     } else {
         $articles = $this->articles;
     }
     if ($split) {
         return array($articles, $pagination);
     } else {
         return $articles;
     }
 }
コード例 #7
0
ファイル: GController.php プロジェクト: paranoidxc/iwebhost
 /**
  * Lists all models.
  */
 public function actionIndex($opt = null)
 {
     $controllerId = strlen($opt['controllerId']) > 0 ? $opt['controllerId'] : $this->controllerId;
     if (!is_array($opt)) {
         $criteria = new CDbCriteria();
         $keyword = trim($_GET['keyword']);
     } else {
         extract($opt);
     }
     if (isset($_GET['id_start']) && !empty($_GET['id_start'])) {
         $criteria->condition .= " AND id >= :id_start ";
         $criteria->params[':id_start'] =& $_GET['id_start'];
         $tpl_params['id_start'] =& $_GET['id_start'];
     }
     if (isset($_GET['id_end']) && !empty($_GET['id_end'])) {
         $criteria->condition .= " AND id <= :id_end ";
         $criteria->params[':id_end'] =& $_GET['id_end'];
         $tpl_params['id_end'] =& $_GET['id_end'];
     }
     //if( isset($_GET['account_type']) && !empty($_GET['account_type']) ) {
     if (strlen($_GET['account_type']) > 0) {
         $criteria->condition .= " AND account_type = :account_type ";
         $criteria->params[':account_type'] =& str_replace('.html', '', $_GET['account_type']);
         $tpl_params['account_type'] =& str_replace('.html', '', $_GET['account_type']);
     }
     $tpl_params['is_hide_adv'] =& $_GET['is_hide_adv'];
     $imodel = new $controllerId();
     $item_count = call_user_func(array($imodel, 'count'), $criteria);
     $page_size = strlen($opt['page_size']) > 0 ? $opt['page_size'] : 10;
     $pages = new CPagination($item_count);
     $pages->setPageSize($page_size);
     $pagination = new CLinkPager();
     $pagination->header = '';
     $pagination->cssFile = false;
     $pagination->setPages($pages);
     $pagination->init();
     $criteria->limit = $page_size;
     $criteria->offset = $pages->offset;
     $select_pagination = new CListPager();
     $select_pagination->header = '<span>跳到:</span>';
     //    $select_pagination->htmlOptions['onchange']="";
     $select_pagination->setPages($pages);
     $select_pagination->init();
     $list = call_user_func(array($imodel, 'findAll'), $criteria);
     if (!is_array($opt['tpl_params'])) {
         $opt['tpl_params'] = array();
     }
     $opt['tpl_params']['item_count'] = '第 <span class="fwB">' . ($page_size * $pagination->currentPage + 1) . ' - ' . $page_size * ($pagination->currentPage + 1);
     $opt['tpl_params']['item_count'] .= '</span>,共 <span class="fwB" >' . $item_count . '</span> 条 ';
     $opt['tpl_params']['list'] = $list;
     $opt['tpl_params']['pagination'] = $pagination;
     $opt['tpl_params']['select_pagination'] = $select_pagination;
     // echo Chtml::listBox('category_id',1,$leafs)
     //print_r($opt['tpl_params']);
     $this->tpl_params =& $tpl_params;
     if ($is_partial) {
         $this->renderPartial('_index', $opt['tpl_params'], false, true);
     } else {
         $tpl = strlen($opt['tpl']) > 0 ? $opt['tpl'] : 'index';
         if ($_GET['ajax'] == 'ajax') {
             $this->renderPartial($tpl, $opt['tpl_params'], false, true);
         } else {
             $this->render($tpl, $opt['tpl_params'], false, true);
         }
     }
 }
コード例 #8
0
ファイル: API.php プロジェクト: paranoidxc/iwebhost
 public static function essay($opt)
 {
     $order = empty($opt['order']) ? ' id DESC ' : $opt['order'];
     if (is_array($opt)) {
         if (!empty($opt['id'])) {
             $id = $opt['id'];
             if (strpos($id, ',') === false) {
                 return Article::model()->findbyPk($id);
             } else {
                 $criteria = new CDbCriteria();
                 $criteria->condition = 'find_in_set(id, :id)';
                 $criteria->params = array(':id' => $id);
                 $criteria->order = $order;
                 $item_count = Article::model()->count($criteria);
                 $page_size = 2;
                 $pages = new CPagination($item_count);
                 //$pages->pageVar = 'iook=8&ok';
                 $pages->setPageSize($page_size);
                 $pagination = new CLinkPager();
                 $pagination->setPages($pages);
                 $pagination->init();
                 //$pagination->run(); // display the html pagination
                 $criteria->limit = $page_size;
                 $criteria->offset = $pages->offset;
                 //print_r($page_size);
                 //print_r($pages->offset);
                 $list = Article::model()->findall($criteria);
                 return array($list, $pagination);
             }
         } else {
             if (!empty($opt['ident'])) {
                 $ident = $opt['ident'];
                 if (strpos($id, ',') === false) {
                     return Article::model()->find(array('condition' => ' ident =:ident ', 'params' => array('ident' => $ident)));
                 } else {
                     return Article::model()->findall(array('condition' => 'find_in_set(ident, :ident)', 'params' => array(':ident' => $ident), 'order' => $order));
                 }
             }
         }
     } else {
         echo "ERROR PHP File:" . dirname(__FILE__) . '/API.php';
         echo "ERROR Fuction essay";
         exit;
     }
 }