예제 #1
0
 /**
  * 管理图片
  */
 public function ActionAdminPicture()
 {
     //搜索条件处理 [E]
     $searchType = Yii::app()->request->getParam('searchType');
     if ($searchType === 'page') {
         //判断是分页提交还是搜索列表提交的查询条件
         $search = Yii::app()->request->getParam('search');
         $search = unserialize(base64_decode($search));
         //对分布传来的数据进行还原
     } else {
         $search = Yii::app()->request->getParam('search');
     }
     $search_continentid = '';
     //搜索的大洲ID
     $search_countryid = '';
     //搜索的国家ID
     $search_cityids = '';
     //要搜索的所有城市id
     $search_picture_category_id = '';
     //要搜索的图片类型
     $search_pic_name = '';
     //要搜索的图片名称或标题
     $continent = array();
     $country = array();
     $city = array();
     //得到国家名下对应的所有城市ID信息字符串
     if (isset($search) && !empty($search['continent'])) {
         //大洲
         $search_continentid = intval($search['continent']);
         if ($search['country']) {
             //大洲+国家
             $search_countryid = intval($search['country']);
             if (empty($search['city'])) {
                 //大洲+国家+城市
                 $search_cityids = AreaManage::getCityIdStrByCountryId($search_countryid);
             } else {
                 //大洲+国家
                 $search_cityids = intval($search['city']);
             }
         } else {
             //只选择大洲
             $search_countryid = AreaManage::getCountryStrByContinentId($search_continentid);
             if (empty($search['city'])) {
                 $search_cityids = AreaManage::getCityIdStrByCountryId($search_countryid);
             } else {
                 $search_cityids = trim($search['city']);
             }
         }
     }
     //得到图片类型
     if (is_numeric(trim($search['picture_category_id']))) {
         $search_picture_category_id = trim($search['picture_category_id']);
     }
     //图片标题
     if (trim($search['pic_name'])) {
         $search_pic_name = trim($search['pic_name']);
     }
     //所有图片类型
     $picture_category = PictureCategory::model()->findAll();
     $picture_category_list = array();
     if (!empty($picture_category)) {
         foreach ($picture_category as $v) {
             $picture_category_list[$v['ID']] = $v;
         }
     }
     $continent = Continent::model()->findAll();
     //获取所有的大洲信息
     if (!empty($search_continentid)) {
         //返回搜索大洲的下级国家信息
         $country = AreaManage::getCountryByContinentId($search_continentid);
     }
     if (!empty($search_countryid)) {
         //返回搜索国家的下级城市信息
         $city = AreaManage::getCityByCountryId($search_countryid);
     }
     $picture_category = PictureCategory::model()->findAllByAttributes(array('ParentId' => 0));
     // 图片二级类别列表
     if (!empty($search['picture_parent_id'])) {
         // 如果选择了一级图片类别则根据一级类别ID 查询二级类别
         $picture_children_category = PictureCategory::model()->findAllByAttributes(array('ParentId' => $search['picture_parent_id']));
     } else {
         $picture_children_category = array();
     }
     //搜索条件处理 [E]
     $criteria = new CDbCriteria();
     $criteria->order = 'ID DESC';
     // 增加搜索条件 [S]
     $cityIdArr = !empty($search_cityids) ? explode(',', $search_cityids) : array();
     $criteria->compare('Valid', '0');
     //对打上删除标记的数据进行过滤
     if (count($cityIdArr) > 0) {
         $criteria->addInCondition('CityId', $cityIdArr);
     }
     if (!empty($search_picture_category_id)) {
         $criteria->compare('CategoryId', $search_picture_category_id);
     }
     if (!empty($search_pic_name)) {
         //$criteria->compare('Title',$search_pic_name,true);
         $criteria->addSearchCondition('Title', $search_pic_name);
     }
     //增加搜索条件 [E]
     $count = Picture::model()->count($criteria);
     $pager = new CPagination($count);
     if (!empty($search)) {
         //判断是否存在搜索条件,并对搜索条件进行数据处理(便于url传输)
         $pager->params = array('search' => base64_encode(serialize($search)), 'searchType' => 'page');
     }
     $pager->pageSize = 20;
     $pager->applyLimit($criteria);
     $picture_list = Picture::model()->findAll($criteria);
     $picIdStr = '';
     //图片ID字符串
     $cityIDStr = '';
     //城市ID字符串
     if (!empty($picture_list)) {
         foreach ($picture_list as $val) {
             $picIdStr .= $val['ID'] . ',';
             $cityIDStr .= $val['CityId'] . ',';
         }
     }
     //得到图片地址信息列表
     $picture_source = PictureSourceManage::getPicSourceArrByPicIdStr($picIdStr);
     //得到每张图片所在的名称:(城市-国家-大洲)
     $area = AreaManage::getAreaByCityid($cityIDStr);
     $this->render('list_picture', array('picture_list' => $picture_list, 'picture_category_list' => $picture_category_list, 'picture_source' => $picture_source, 'pages' => $pager, 'area' => $area, 'continent' => $continent, 'picture_category' => $picture_category, 'picture_children_category' => $picture_children_category, 'search' => $search, 'country' => $country, 'city' => $city));
 }
예제 #2
0
 /**
  * 景点管理
  */
 public function actionListViewSpot()
 {
     //搜索条件处理 [E]
     $searchType = Yii::app()->request->getParam('searchType');
     if ($searchType === 'page') {
         //判断是分页提交还是搜索列表提交的查询条件
         $search = Yii::app()->request->getParam('search');
         $search = unserialize(base64_decode($search));
         //对分布传来的数据进行还原
     } else {
         $search = Yii::app()->request->getParam('search');
     }
     $search_continentid = '';
     //搜索的大洲ID
     $search_countryid = '';
     //搜索的国家ID
     $search_cityids = '';
     //要搜索的所有城市id
     $search_name = '';
     //要搜索的图片名称或标题
     $continent = array();
     $country = array();
     $city = array();
     //得到国家名下对应的所有城市ID信息字符串
     if (isset($search) && !empty($search['continent'])) {
         //大洲
         $search_continentid = intval($search['continent']);
         if ($search['country']) {
             //大洲+国家
             $search_countryid = intval($search['country']);
             if (empty($search['city'])) {
                 //大洲+国家+城市
                 $search_cityids = AreaManage::getCityIdStrByCountryId($search_countryid);
             } else {
                 //大洲+国家
                 $search_cityids = intval($search['city']);
             }
         } else {
             //只选择大洲
             $search_countryid = AreaManage::getCountryStrByContinentId($search_continentid);
             if (empty($search['city'])) {
                 $search_cityids = AreaManage::getCityIdStrByCountryId($search_countryid);
             } else {
                 $search_cityids = trim($search['city']);
             }
         }
     }
     //图片标题
     if (trim($search['name'])) {
         $search_name = trim($search['name']);
     }
     //所有图片类型
     $picture_category = PictureCategory::model()->findAll();
     $picture_category_list = array();
     if (!empty($picture_category)) {
         foreach ($picture_category as $v) {
             $picture_category_list[$v['ID']] = $v;
         }
     }
     $continent = Continent::model()->findAll();
     //获取所有的大洲信息
     if (!empty($search_continentid)) {
         //返回搜索大洲的下级国家信息
         $country = AreaManage::getCountryByContinentId($search_continentid);
     }
     if (!empty($search_countryid)) {
         //返回搜索国家的下级城市信息
         $city = AreaManage::getCityByCountryId($search_countryid);
     }
     //搜索条件处理 [E]
     $criteria = new CDbCriteria();
     $criteria->order = 'ID desc';
     $criteria->compare('Valid', '0', true);
     //增加搜索条件 [S]
     $cityIdArr = !empty($search_cityids) ? explode(',', $search_cityids) : array();
     if (count($cityIdArr) > 0) {
         $criteria->addInCondition('CityID', $cityIdArr);
     }
     if (!empty($search_name)) {
         $criteria->addSearchCondition('NameCn', $search_name);
         //$criteria->addSearchCondition('NameCnShort',$search_name,true,'or');
     }
     //增加搜索条件 [E]
     $view_spot_count = ViewSpot::model()->count($criteria);
     $pager = new CPagination($view_spot_count);
     if (!empty($search)) {
         //判断是否存在搜索条件,并对搜索条件进行数据处理(便于url传输)
         $pager->params = array('search' => base64_encode(serialize($search)), 'searchType' => 'page');
     }
     $pager->pageSize = 20;
     $pager->applyLimit($criteria);
     $view_spot_models = ViewSpot::model()->findAll($criteria);
     $cityIDStr = '';
     //城市ID字符串
     if (!empty($view_spot_models)) {
         foreach ($view_spot_models as $val) {
             $cityIDStr .= $val['CityID'] . ',';
         }
     }
     //得到每张图片所在的名称:(城市-国家-大洲)
     $area = AreaManage::getAreaByCityid($cityIDStr);
     $this->render('list_view_spot', array('view_spot_models' => $view_spot_models, 'pager' => $pager, 'country' => $country, 'continent' => $continent, 'city' => $city, 'search' => $search, 'area' => $area));
 }