123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309 |
- <?php
- /**
- * 相册管理
- *
- *
- *
- *
-
- */
- defined('InShopNC') or exit('Access Invalid!');
- class albumModel extends Model{
- public function __construct(){
- parent::__construct();
- }
- /**
- * 计算数量
- *
- * @param array $condition 条件
- * $param string $table 表名
- * @return int
- */
- public function getAlbumPicCount($condition) {
- $result = $this->table('album_pic')->where($condition)->count();
- return $result;
- }
- /**
- * 计算数量
- *
- * @param array $condition 条件
- * $param string $table 表名
- * @return int
- */
- public function getCount($condition, $table = 'album_pic') {
- $result = $this->table($table)->where($condition)->count();
- return $result;
- }
- /**
- * 获取单条数据
- *
- * @param array $condition 条件
- * @param string $table 表名
- * @return array 一维数组
- */
- public function getOne($condition, $table = 'album_pic') {
- $resule = $this->table($table)->where($condition)->find();
- return $resule;
- }
- /**
- * 分类列表
- *
- * @param array $condition 查询条件
- * @param obj $page 分页对象
- * @return array 二维数组
- */
- public function getClassList($condition,$page=''){
- $param = array();
- $param['table'] = 'album_class,album_pic';
- $param['field'] = 'album_class.*,count(album_pic.aclass_id) as count';
- $param['join_type'] = 'left join';
- $param['join_on'] = array('album_class.aclass_id = album_pic.aclass_id');
- $param['where'] = $this->getCondition($condition);
- $param['order'] = $condition['order'] ? $condition['order'] : 'album_class.aclass_sort desc';
- $param['group'] = 'album_class.aclass_id';
- return Db::select($param,$page);
- }
- /**
- * 计算分类数量
- *
- * @param int id
- * @return array 一维数组
- */
- public function countClass($id){
- $param = array();
- $param['table'] = 'album_class';
- $param['field'] = 'count(*) as count';
- $param['where'] = " and store_id = '$id'";
- $return = Db::select($param);
- return $return['0'];
- }
- /**
- * 验证相册
- *
- * @param array $param 参数内容
- * @return bool 布尔类型的返回结果
- */
- public function checkAlbum($condition) {
- /**
- * 验证是否为当前合作伙伴
- */
- $check_array = self::getClassList($condition,'');
- if (!empty($check_array)){
- unset($check_array);
- return true;
- }
- unset($check_array);
- return false;
- }
- /**
- * 图片列表
- *
- * @param array $condition 查询条件
- * @param obj $page 分页对象
- * @return array 二维数组
- */
- public function getPicList($condition, $page='', $field='*'){
- $param = array();
- $param['table'] = 'album_pic';
- $param['where'] = $this->getCondition($condition);
- $param['order'] = $condition['order'] ? $condition['order'] : 'apic_id desc';
- $param['field'] = $field;
- return Db::select($param,$page);
- }
- /**
- * 添加相册分类
- *
- * @param array $input
- * @return bool
- */
- public function addClass($input){
- if(is_array($input) && !empty($input)){
- return Db::insert('album_class',$input);
- }else{
- return false;
- }
- }
- /**
- * 添加相册图片
- *
- * @param array $input
- * @return bool
- */
- public function addPic($input) {
- $result = $this->table('album_pic')->insert($input);
- return $result;
- }
- /**
- * 更新相册分类
- *
- * @param array $input
- * @param int $id
- * @return bool
- */
- public function updateClass($input,$id){
- if(is_array($input) && !empty($input)){
- return Db::update('album_class',$input," aclass_id='$id' ");
- }else{
- return false;
- }
- }
- /**
- * 更新相册图片
- *
- * @param array $input
- * @param int $id
- * @return bool
- */
- public function updatePic($input,$condition){
- if(is_array($input) && !empty($input)){
- return Db::update('album_pic',$input,$this->getCondition($condition));
- }else{
- return false;
- }
- }
- /**
- * 删除分类
- *
- * @param string $id
- * @return bool
- */
- public function delClass($id){
- if(!empty($id)) {
- return Db::delete('album_class'," aclass_id ='".$id."' ");
- }else{
- return false;
- }
- }
- /**
- * 根据店铺id删除图片空间相关信息
- *
- * @param int $id
- * @return bool
- */
- public function delAlbum($id){
- $id = intval($id);
- Db::delete('album_class'," store_id= ".$id);
- $pic_list = $this->getPicList(array(" store_id= ".$id),'','apic_cover');
- if(!empty($pic_list) && is_array($pic_list)){
- $image_ext = explode(',', GOODS_IMAGES_EXT);
- foreach($pic_list as $v){
- foreach ($image_ext as $ext) {
- $file = str_ireplace('.', $ext . '.', $v['apic_cover']);
- @unlink(BASE_UPLOAD_PATH.DS.ATTACH_GOODS.DS.$id.DS.$file);
- }
- }
- }
- Db::delete('album_pic'," store_id= ".$id);
- }
- /**
- * 删除图片
- *
- * @param string $id
- * @param int $store_id
- * @return bool
- */
- public function delPic($id, $store_id){
- $pic_list = $this->getPicList(array('in_apic_id'=>$id),'','apic_cover');
-
- /**
- * 删除图片
- */
- if(!empty($pic_list) && is_array($pic_list)){
- $image_ext = explode(',', GOODS_IMAGES_EXT);
- foreach($pic_list as $v){
- @unlink(BASE_UPLOAD_PATH.DS.ATTACH_GOODS.DS.$store_id.DS.$v['apic_cover']);
- foreach ($image_ext as $ext) {
- $file = str_ireplace('.', $ext . '.', $v['apic_cover']);
- @unlink(BASE_UPLOAD_PATH.DS.ATTACH_GOODS.DS.$store_id.DS.$file);
- }
- }
- }
- if(!empty($id)) {
- return Db::delete('album_pic','apic_id in('.$id.')');
- }else{
- return false;
- }
- }
- /**
- * 查询单条分类信息
- *
- * @param int $id 活动id
- * @return array 一维数组
- */
- public function getOneClass($param){
- if(is_array($param) && !empty($param)) {
- return Db::getRow(array_merge(array('table'=>'album_class'),$param));
- }else{
- return false;
- }
- }
- /**
- * 根据id查询一张图片
- *
- * @param int $id 活动id
- * @return array 一维数组
- */
- public function getOnePicById($param){
- if(is_array($param) && !empty($param)) {
- return Db::getRow(array_merge(array('table'=>'album_pic'),$param));
- }else{
- return false;
- }
- }
- /**
- * 构造查询条件
- *
- * @param array $condition 条件数组
- * @return $condition_sql
- */
- private function getCondition($condition){
- $condition_sql = '';
- if($condition['apic_id'] != '') {
- $condition_sql .= " and apic_id= '{$condition['apic_id']}'";
- }
- if($condition['apic_name'] != '') {
- $condition_sql .= " and apic_name='".$condition['apic_name']."'";
- }
- if($condition['apic_tag'] != '') {
- $condition_sql .= " and apic_tag like '%".$condition['apic_tag']."%'";
- }
- if($condition['aclass_id'] != '') {
- $condition_sql .= " and aclass_id= '{$condition['aclass_id']}'";
- }
- if($condition['album_aclass.store_id'] != '') {
- $condition_sql .= " and `album_class`.store_id = '{$condition['album_aclass.store_id']}'";
- }
- if($condition['album_aclass.aclass_id'] != '') {
- $condition_sql .= " and `album_class`.aclass_id= '{$condition['album_aclass.aclass_id']}'";
- }
- if($condition['album_pic.store_id'] != '') {
- $condition_sql .= " and `album_pic`.store_id= '{$condition['album_pic.store_id']}'";
- }
- if($condition['album_pic.apic_id'] != '') {
- $condition_sql .= " and `album_pic`.apic_id= '{$condition['album_pic.apic_id']}'";
- }
- if($condition['store_id'] != '') {
- $condition_sql .= " and store_id= '{$condition['store_id']}'";
- }
- if($condition['aclass_name'] != '') {
- $condition_sql .= " and aclass_name='".$condition['aclass_name']."'";
- }
- if($condition['in_apic_id'] != '') {
- $condition_sql .= " and apic_id in (".$condition['in_apic_id'].")";
- }
- if($condition['gt_apic_id'] != '') {
- $condition_sql .= " and apic_id > '{$condition['gt_apic_id']}'";
- }
- if($condition['like_cover'] != '') {
- $condition_sql .= " and apic_cover like '%".$condition['like_cover']."%'";
- }
- if($condition['is_default'] != '') {
- $condition_sql .= " and is_default= '{$condition['is_default']}'";
- }
- if($condition['album_class.un_aclass_id'] != '') {
- $condition_sql .= " and `album_class`.aclass_id <> '{$condition['album_class.un_aclass_id']}'";
- }
- return $condition_sql;
- }
- }
- ?>
|