public function loadModel($id) { if (($model = Picture::model()->findByPk($id)) === null) { throw new CHttpException(404, 'Страница не найдена'); } return $model; }
public function run() { $models = Picture::model()->published()->onMainPage()->with('category')->findAll(array('order' => 'category.sort ASC, t.sort ASC', 'limit' => (int) $this->limit)); if (empty($models)) { return; } $this->render($this->view, array('models' => $models)); }
/** * This is the default 'index' action that is invoked * when an action is not explicitly requested by users. */ public function actionIndex() { $model = array(); $model['publishers'] = count(Publishing::model()->findAll()); $model['authors'] = count(Author::model()->findAll()); $model['books'] = count(Book::model()->findAll()); $model['pictures'] = count(Picture::model()->findAll()); // renders the view file 'protected/views/site/index.php' // using the default layout 'protected/views/layouts/main.php' $this->render('index', ['model' => $model]); }
public function actionResize($id1,$id2,$width,$height,$type) { $id = $id1*1000+$id2; /** @var Picture $picture */ $picture = Picture::model()->findByPk($id); if (!$picture) throw new CHttpException(404,'The requested page does not exist.'); if ($picture->resize($width,$height) !== null) { header("Content-type: ".$picture->getType()->getMime()); echo file_get_contents($picture->getResizePath($width,$height)); exit(); } throw new CHttpException(404,'The requested page does not exist.'); }
public static function getBookAll($id) { $book = array(); $modelBook = Book::model()->findByPk($id); $book['name'] = $modelBook->name; $book['date'] = $modelBook->date; $modelAuthor = Author::model()->findByPk($modelBook->author_id); $book['author'] = $modelAuthor->name; $modelPublisher = Publishing::model()->findByPk($modelAuthor->publishing_id); $book['publisher'] = $modelPublisher->name; $modelCategory = Category::model()->findByPk($modelBook->category_id); $book['category'] = $modelCategory->name; $criteria = new CDbCriteria(); $criteria->compare('book_id', $modelBook->id); $bookPicture = Picture::model()->findAll($criteria); $book['pictures'] = array(); foreach ($bookPicture as $pic) { $book['pictures'][] = $pic->image; } return $book; }
public function actionShow($alias) { $model = Picture::model()->published()->with(array('category', 'author', 'color', 'images' => array('scopes' => 'published', 'order' => 'images.sort ASC')))->findByAlias($alias); if (!$model) { throw new CHttpException(404); } // Учитываем фильтр в каталоге $filter = Yii::app()->user->getState('galleryFilter'); // Определяем следующую картину $nextItem = $model->getNextItem($filter); // Определяем предыдущую картину $prevItem = $model->getPrevItem($filter); // Увеличиваем значение счетчика просмотров картины if (!Yii::app()->request->cookies['hits']) { $cookie = new CHttpCookie('hits', true); $cookie->expire = time() + 3600; $cookie->path = $this->createUrl("/catalog/catalog/show", array("alias" => $alias)); Yii::app()->request->cookies['hits'] = $cookie; $model->saveCounters(array('hits' => 1)); } $this->render('picture', array('model' => $model, 'nextItem' => $nextItem, 'prevItem' => $prevItem, 'returnUrl' => Yii::app()->user->getState('galleryReturnUrl'))); }
public function actionLoadVersionVehicle() { $criteria = new CDbCriteria(); $criteria->order = 'reference'; $criteria->condition = 'id != 32 AND id != 33 AND id != 34 AND id != 36 AND id != 37 AND id != 38 AND id != 39 AND id != 40 AND id != 41 AND id != 42'; $vehicle_version = VehicleVersion::model()->findAllByAttributes(array("vehicle_id" => $_POST['vehicle_id'], "status" => "ACTIVE"), $criteria); $vehicle_image = Picture::model()->findByAttributes(array("vehicle_id" => $_POST['vehicle_id'])); $vehicle_s = Vehicle::model()->findByPk($_POST['vehicle_id']); $return = array(); foreach ($vehicle_version as $z => $vehicle) { $return[$z]['id'] = $vehicle->id; $return[$z]['reference'] = $vehicle->reference; $return[$z]['motor'] = $vehicle->motor; $return[$z]['type'] = $vehicle->type; $return[$z]['transmission'] = $vehicle->transmission; $return[$z]['combustion'] = $vehicle->combustion; $return[$z]['ac'] = $vehicle->ac; $return[$z]['abs'] = $vehicle->abs; } $return['image'] = $vehicle_image->description; $return['name'] = $vehicle_s->name; echo json_encode($return); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Picture the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Picture::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
/** * 根据图片ID,对图片进行假删除 */ public function ActionDelPicture() { $picture_ID = $_POST['pic_id']; if (is_numeric($picture_ID)) { $picture_ID = intval($picture_ID); $picture_model = Picture::model()->findByPk($picture_ID); if (!empty($picture_model)) { //更新有效性状态为无效 $count = Picture::model()->updateByPk($picture_ID, array('Valid' => 1)); if ($count > 0) { echo true; } else { echo false; } } else { echo '数据不存在'; } } else { echo '参数无效'; } }
/** * 根据图片类型id,删除图片类型 * @param $picture_category_id */ public function ActionDelPictureCategory($picture_category_id) { $picture_category_model = PictureCategory::model(); $picture_category_info = $picture_category_model->findByPk($picture_category_id); $pictures = Picture::model()->findAllByAttributes(array('CategoryId' => $picture_category_id)); //判断图片类型是否有图片管理 if (empty($pictures)) { if ($picture_category_info->delete()) { Yii::app()->user->setFlash('delete_pic', '删除成功'); $this->redirect(Yii::app()->createUrl('PictureCategory/ListPictureCategory')); } else { Yii::app()->user->setFlash('delete_pic', '删除失败'); } } else { Yii::app()->user->setFlash('delete_pic', '该图片类型不可删除,已有图片关联。'); $this->redirect(Yii::app()->createUrl('PictureCategory/ListPictureCategory')); } }
public function getPrevItem($filter = array()) { $criteria = $this->_constructCriteriaByFilter($filter); $criteria->order = 'category.sort DESC, t.sort DESC'; // Условие выборки по порядку $fullCriteria = clone $criteria; if ($this->category_id !== null) { $fullCriteria->addCondition('((t.category_id = :category_id AND t.sort <= :sort) OR category.sort < :category_sort) AND t.id <> :id'); $fullCriteria->params = array_merge($fullCriteria->params, array(':category_id' => $this->category_id, ':sort' => $this->sort, ':category_sort' => $this->category->sort, ':id' => $this->id)); } else { $fullCriteria->addCondition('t.sort <= :sort AND t.id <> :id'); $fullCriteria->params = array_merge($fullCriteria->params, array(':sort' => $this->sort, ':id' => $this->id)); } $prevItem = Picture::model()->published()->find($fullCriteria); if ($prevItem === null) { $prevItem = Picture::model()->published()->find($criteria); } return $prevItem; }
public function getIsCreateUser($pk, $model) { if ($model == "diary" && Diary::model()->findByPk($pk)->create_user == Yii::app()->user->id) { return true; } else { if ($model == "photo" && Photo::model()->findByPk($pk)->create_user == Yii::app()->user->id) { return true; } else { if ($model == "recent" && Recent::model()->findByPk($pk)->create_user == Yii::app()->user->id) { return true; } else { if ($model == "timeline" && Timeline::model()->findByPk($pk)->create_user == Yii::app()->user->id) { return true; } else { if ($model == "pictue" && Picture::model()->findByPk($pk)->create_user == Yii::app()->user->id) { return true; } } } } } return false; }
/** * @uses 根据参数查询图片信息。 * 1:如果国家信息不为空,无城市参数,获取国家全部城市列表。 * 2:如果国家信息为空,则以城市信息为准获取图片数据。 * @link http://brs.baicheng.com/index.php?r=Api/Picture/picture * $json_params包含如下参数 * country_id 国家id 【可选】 默认为:0 。 * city_ids 城市id串 【可选】默认为空 例如:123,234,122。 * cate_id 图片类型id 【可选】 默认为:0 * page_size 分页大小 【可选】 默认为:20 * page 页码 【可选】默认为:1 * @return bool 返回数据,如果参数错误返回false,如果参数正确并获取到数据,则返回对应的json数据 */ public function ActionPicture() { $json_params = Yii::app()->request->getParam('json_params'); if (!empty($json_params)) { $params_arr = json_decode($json_params, true); //大洲 if (isset($params_arr['country_id']) && !empty($params_arr['country_id'])) { $country_id = $params_arr['country_id']; } else { $country_id = 0; } //城市 if (isset($params_arr['city_ids']) && !empty($params_arr['city_ids'])) { $city_ids = $params_arr['city_ids']; } else { $city_ids = ""; } //类型 if (isset($params_arr['cate_id']) && !empty($params_arr['cate_id'])) { $cate_id = $params_arr['cate_id']; } else { $cate_id = 0; } //分页大小 if (isset($params_arr['page_size']) && !empty($params_arr['page_size'])) { $page_size = $params_arr['page_size']; } else { $page_size = 20; } //页码 if (isset($params_arr['page']) && !empty($params_arr['page'])) { $page = $params_arr['page']; } else { $page = 1; } if (empty($country_id) && empty($city_ids) || $page < 1 || $page_size < 1) { //参数错误 return false; } else { if (!empty($country_id) && empty($city_ids)) { //如果有国家id,无城市ids,将获取国家下的所有城市。 $country_cities = City::model()->findAllByAttributes(array('CountryID' => $country_id)); $country_cities_arr = array(); foreach ($country_cities as $cc) { $country_cities_arr[] = $cc['ID']; } array_unique($country_cities_arr); $city_ids = implode(",", $country_cities_arr); //该国家所有的城市id串 } $cities_arr = explode(",", $city_ids); //城市id串 $pictures_arr = array(); //返回的数组 //分页获取图片信息 $pic_condition = new CDbCriteria(); $pic_condition->addInCondition('CityId', $cities_arr); $pic_condition->addColumnCondition(array('Valid' => 0)); if (!empty($cate_id)) { $pic_condition->addColumnCondition(array('CategoryId' => $cate_id)); } $pic_condition->order = 'ID ASC'; $count = Picture::model()->count($pic_condition); $pager = new CPagination($count); $pager->pageSize = $page_size; $pager->setCurrentPage($page - 1); $pager->applyLimit($pic_condition); $picture_list = Picture::model()->findAll($pic_condition); //返回数组中分页信息 $pictures_arr['PageCount'] = $count; $pictures_arr['PageSize'] = $page_size; $pictures_arr['Page'] = $page; //封装返回数据 foreach ($picture_list as $key => $val) { $pictures_arr['PictureList'][$key]['ID'] = $val['ID']; $pictures_arr['PictureList'][$key]['CityId'] = $val['CityId']; $pictures_arr['PictureList'][$key]['CategoryId'] = $val['CategoryId']; $pictures_arr['PictureList'][$key]['PictureCategoryName'] = $val->picture_category['PictureCategoryName']; $pictures_arr['PictureList'][$key]['Name'] = $val['Name']; $pictures_arr['PictureList'][$key]['Title'] = $val['Title']; $pictures_arr['PictureList'][$key]['Description'] = $val['Description']; foreach ($val->picture_source as $v) { if ($v['SizeType'] == 0) { $pictures_arr['PictureList'][$key]['PicSrcBig'] = str_replace("uploads/", "", $v['PicSrc']); } elseif ($v['SizeType'] == 1) { $pictures_arr['PictureList'][$key]['PicSrcMiddle'] = str_replace("uploads/", "", $v['PicSrc']); } elseif ($v['SizeType'] == 2) { $pictures_arr['PictureList'][$key]['PicSrcSmall'] = str_replace("uploads/", "", $v['PicSrc']); } } } if (!empty($pictures_arr)) { //如果有查询数据则返回json格式数据 echo json_encode($pictures_arr); } else { //无符合条件数据,则返回false echo false; } } } }