예제 #1
0
 /**
  * 获得商店详情
  * 
  * @param   array   $param          参数
  * @param   number  $update_visit   是否更新访问,1->更新(默认), 其它 -> 不更新
  * @return  array
  */
 function getDetail($param = array(), $update_visit = 1)
 {
     $info = array();
     $shop_id = $param['shop_id'] ? $param['shop_id'] : 0;
     $member_id = $param['member_id'] ? $param['member_id'] : 0;
     if ($shop_id > 0 || $member_id > 0) {
         if ($shop_id) {
             $filter['shop_id'] = $param['shop_id'];
         }
         if ($member_id) {
             $filter['member_id'] = $param['member_id'];
         }
         $info = parent::dump($filter);
         // 添加商品访问
         if ($info['is_open'] == 1) {
             if ($update_visit == 1) {
                 $_info = array('see_num' => $info['see_num'] + 1);
                 parent::update($_info, array('shop_id' => $info['shop_id']));
             }
             $_param = array('app' => 'microshop', 'ctl' => 'site_index', 'full' => 1, 'act' => 'detail', 'arg0' => $info['shop_id']);
             $info['shop_link'] = app::get('site')->router()->gen_url($_param);
             $m_mdl = app::get('b2c')->model('members');
             $m_info = $m_mdl->dump($info['member_id']);
             $info['follow_num'] = $m_info['follow_num'];
             $info['fans_num'] = $m_info['follow_num'];
             $info['cover'] = $m_info['cover'] ? kernel::single('base_storager')->image_path($m_info['cover']) : $this->app->res_url . '/images/top-bg.png';
             $info['avatar'] = $m_info['avatar'] ? kernel::single('base_storager')->image_path($m_info['avatar']) : $this->app->res_url . '/images/top-bg.png';
             $info['info'] = $m_info['info'];
         }
     }
     return $info;
 }
예제 #2
0
 function update($data, $filter)
 {
     $c = parent::update($data, $filter);
     if ($filter['role_id']) {
         $role_id = array();
         foreach ($this->getList('role_id', $filter) as $r) {
             $role_id[] = $r['role_id'];
         }
     } else {
         $role_id = $filter['role_id'];
     }
     if (count($role_id) == 1) {
         $rows = $this->db->select('select action_id from sdb_base_lnk_acts where role_id in (' . implode(',', $role_id) . ')');
         $in_db = array();
         foreach ($rows as $r) {
             $in_db[] = $r['action_id'];
         }
         $data['actions'] = $data['actions'] ? $data['actions'] : array();
         $to_add = array_diff($data['actions'], $in_db);
         $to_del = array_diff($in_db, $data['actions']);
         if (count($to_add) > 0) {
             $sql = 'INSERT INTO `sdb_base_lnk_acts` (`role_id`,`action_id`) VALUES ';
             foreach ($to_add as $action_id) {
                 $actions[] = "({$role_id[0]},{$action_id})";
             }
             $sql .= implode($actions, ',') . ';';
             $a = $this->db->exec($sql);
         }
         if (count($to_del) > 0) {
             $this->db->exec('delete from sdb_base_lnk_acts where action_id in (' . implode(',', $to_del) . ') and role_id=' . intval($role_id[0]));
         }
     } else {
     }
     return $c;
 }
예제 #3
0
 public function update($params, $filter)
 {
     $params = $this->valid_update($params);
     if (!$params) {
         return false;
     }
     return parent::update($params, $filter);
 }
예제 #4
0
 public function update($params, $filter = array(), $mustUpdate = null)
 {
     $params = $this->format_params($params);
     if (!$params) {
         return false;
     }
     if (parent::update($params, $filter)) {
         kernel::single('site_module_base')->create_site_config();
         return true;
     } else {
         return false;
     }
 }
예제 #5
0
파일: statics.php 프로젝트: syjzwjj/quyeba
 public function update($data, $filter, $mustUpdate = null)
 {
     $old_rows = $this->getList('*', $filter);
     $res = parent::update($data, $filter, $mustUpdate);
     if ($res) {
         foreach ($old_rows as $row) {
             kernel::single('site_route_static')->del_dispatch($row['static']);
             kernel::single('site_route_static')->del_genurl($row['url']);
         }
         $rows = $this->getList('*', $filter);
         foreach ($rows as $row) {
             kernel::single('site_route_static')->set_dispatch($row['static'], $row);
             kernel::single('site_route_static')->set_genurl($row['url'], $row);
         }
     }
     return $res;
 }
예제 #6
0
 /**
  * 更新发布时间.
  *
  * @param array $filter 符合条件
  *
  * @return bool 返回插入结果
  */
 public function update_time($filter)
 {
     $params['uptime'] = time();
     return parent::update($params, $filter);
 }
예제 #7
0
파일: members.php 프로젝트: syjzwjj/quyeba
 /**
  *直接调用父类UPDATE方法 完全是为了把会员信息存入KV by hanbingshu
  */
 public function update($data, $filter, $mustUpdate = null)
 {
     return parent::update($data, $filter, $mustUpdate);
     #return $this->save_member_info_kv($filter['member_id']);
 }
예제 #8
0
파일: bodys.php 프로젝트: sss201413/ecstore
 /**
  * 更新数据
  * @param array $params 更新的数据
  * @param array $filter 更新的条件
  * @return bool 返回更新结果
  */
 public function update($params, $filter = array(), $mustUpdate = null)
 {
     $params = $this->valid_update($params);
     if (!$params) {
         return false;
     }
     $rows = $this->getList('article_id', $filter);
     if (parent::update($params, $filter)) {
         foreach ($rows as $row) {
             kernel::single('content_article_detail')->delete_body_kvstore($row['article_id']);
         }
         kernel::single('content_article_detail')->store_detail_change();
         return true;
     } else {
         return false;
     }
 }
예제 #9
0
 /**
  * 获得商品列表
  *
  * @param   array   $param          参数
  * @param   number  $update_visit   是否更新访问,1->更新(默认), 其它 -> 不更新
  * @return  array
  */
 function getSpecialInfo($param = array(), $update_visit = 1)
 {
     $info = array();
     if ($param['special_id']) {
         $filter = array('special_id' => $param['special_id']);
         $info = parent::dump($filter);
         $_param = array('app' => 'microshop', 'ctl' => 'site_index', 'full' => 1, 'act' => 'special', 'arg0' => $param['special_id']);
         $info['special_url'] = app::get('site')->router()->gen_url($_param);
         // 验证商店是否关闭
         $s_mdl = $this->app->model('shop');
         $_filter = array('shop_id' => $info['shop_id']);
         $s_info = $s_mdl->getDetail($_filter, 2);
         $info['shop_open'] = $s_info['is_open'];
         if ($info['shop_open'] != 1) {
             return $info;
         }
         // 专辑访问添加
         if ($update_visit == 1) {
             $_info = array('see_num' => $info['see_num'] + 1);
             parent::update($_info, $filter);
         }
         // 获得商品信息
         $mdl = $this->app->model('special_products');
         $page = intval($param['page']);
         $page = $page ? $page : 1;
         $limit = $param['limit'] ? $param['limit'] : 20;
         $offset = ($page - 1) * $limit;
         $offset = $offset > 0 ? $offset : 0;
         $orderby = $param['orderby'] ? $param['orderby'] : 'addtime DESC';
         $fields = $param['fields'] ? $param['fields'] : '*';
         $count = $mdl->count($filter);
         $list = array();
         if ($count > 0) {
             $list = $mdl->getList($fields, $filter, $offset, $limit, $orderby);
         }
         $platform = $param['platform'] ? $param['platform'] : 'wap';
         if ($list) {
             $p_mdl = app::get('b2c')->model('products');
             $g_mdl = app::get('b2c')->model('goods');
             $p_ids = array();
             foreach ($list as $v) {
                 $p_ids[] = $v['product_id'];
             }
             if ($p_ids) {
                 // 获得产品列表
                 $products = $p_mdl->getList('*', array('product_id' => $p_ids, 'marketable' => 'true'));
                 if ($products) {
                     $g_ids = array();
                     foreach ($products as $k => $v) {
                         $g_ids[$v['goods_id']] = $v['goods_id'];
                     }
                     $good_ids = array_values($g_ids);
                     // 获得商品图片
                     $img_arr = $g_mdl->getList('image_default_id, goods_id', array('goods_id' => $good_ids));
                     // 构造产品图片数据
                     foreach ($products as $k => $v) {
                         $products[$k]['title'] = $v['name'];
                         foreach ($img_arr as $val) {
                             if ($val['goods_id'] == $v['goods_id']) {
                                 $img_id = $val['image_default_id'];
                                 $products[$k]['images'] = array('big_url' => kernel::single('base_storager')->image_path($img_id, 'l'), 'thisuasm_url' => kernel::single('base_storager')->image_path($img_id, 'm'), 'small_url' => kernel::single('base_storager')->image_path($img_id, 's'));
                                 $products[$k]['image_default_id'] = $img_id;
                             }
                         }
                     }
                     // 获得商品收藏
                     $fav_arr = app::get('b2c')->model('member_goods')->getList('goods_id', array('goods_id' => $good_ids, 'type' => 'fav'));
                     // 构造产品收藏数据
                     foreach ($products as $k => $v) {
                         $products[$k]['fav_num'] = $products[$k]['fav_num'] ? $products[$k]['fav_num'] : 0;
                         foreach ($fav_arr as $val) {
                             if ($val['goods_id'] == $v['goods_id']) {
                                 $products[$k]['fav_num'] += 1;
                             }
                         }
                     }
                     // 将产品数据放入到列表中
                     foreach ($list as $k => $v) {
                         foreach ($products as $val) {
                             if ($val['product_id'] == $v['product_id']) {
                                 $list[$k]['detail'] = $val;
                             }
                         }
                         $v['platform'] = $platform;
                         $list[$k]['buy_url'] = $this->getBuyUrl($v);
                         $list[$k]['buy_code'] = $this->getBuyCode($v);
                     }
                 }
             }
         }
         $info['products'] = $list;
         $info['products_count'] = $count;
     }
     return $info;
 }
예제 #10
0
 public function update($params, $filter)
 {
     $params = $this->valid_update($params);
     if (!$params) {
         return false;
     }
     if (isset($params['parent_id'])) {
         $node_path_arr = array();
         if ($params['parent_id'] > 0) {
             $node_path = $this->select()->columns('node_path')->where('node_id = ?', $params['parent_id'])->instance()->fetch_one();
             if ($node_path) {
                 $node_path_arr = @explode(",", $node_path);
             }
         }
         $rows = $this->getList('*', $filter);
         foreach ($rows as $row) {
             if ($row['node_id'] == $params['parent_id']) {
                 trigger_error('节点『' . $row['node_name'] . "』的父节点不能为自己", E_USER_ERROR);
                 return false;
                 //父节点不能更新为自己,防止错误
             }
             if (in_array($row['node_id'], $node_path_arr)) {
                 trigger_error('节点『' . $row['node_name'] . "』的父节点不能为自己的子节点", E_USER_ERROR);
                 return false;
                 //父节点不能移动至自己的子节点,防止错误
             }
         }
     }
     $res = parent::update($params, $filter);
     if ($res) {
         if (isset($params['parent_id'])) {
             foreach ($rows as $row) {
                 if ($row['parent_id'] != $params['parent_id']) {
                     $this->upgrade_parent($row['node_id']);
                     $this->update_nodes_path($row['node_id']);
                     $this->update_node_path($row['parent_id']);
                 }
             }
         }
         return true;
     } else {
         return false;
     }
 }
예제 #11
0
파일: nodes.php 프로젝트: syjzwjj/quyeba
 /**
  * 更新节点
  * @var int $node_id
  * @var array $params
  * @access public
  * @return boolean
  */
 public function update($params, $filter)
 {
     $params = $this->valid_update($params);
     if (!$params) {
         return false;
     }
     $rows = $this->getList('*', $filter);
     if (isset($params['parent_id'])) {
         $node_path_arr = array();
         if ($params['parent_id'] > 0) {
             $node_path = $this->select()->columns('node_path')->where('node_id = ?', $params['parent_id'])->instance()->fetch_one();
             if ($node_path) {
                 $node_path_arr = @explode(",", $node_path);
             }
         }
         foreach ($rows as $row) {
             if ($row['node_id'] == $params['parent_id']) {
                 trigger_error(app::get('content')->_('节点『') . $row['node_name'] . app::get('content')->_("』的父节点不能为自己"), E_USER_ERROR);
                 return false;
                 //父节点不能更新为自己,防止错误
             }
             if (in_array($row['node_id'], $node_path_arr)) {
                 trigger_error(app::get('content')->_('节点『') . $row['node_name'] . app::get('content')->_("』的父节点不能为自己的子节点"), E_USER_ERROR);
                 return false;
                 //父节点不能移动至自己的子节点,防止错误
             }
         }
     }
     $res = parent::update($params, $filter);
     if ($res) {
         foreach ($rows as $row) {
             if (isset($params['parent_id']) && $row['parent_id'] != $params['parent_id']) {
                 $this->upgrade_parent($row['node_id']);
                 $this->update_nodes_path($row['node_id']);
                 $this->update_node_path($row['parent_id']);
             }
             kernel::single('content_article_node')->delete_node_kvstore($row['node_id']);
             //todo: 清空kvstore值
         }
         kernel::single('content_article_node')->store_nodes_change();
         return true;
     } else {
         return false;
     }
 }
예제 #12
0
파일: menus.php 프로젝트: sss201413/ecstore
 /**
  * 更新菜单
  * @var int $menu_id
  * @var array $params
  * @access public
  * @return boolean
  */
 public function update($params, $filter)
 {
     if (!$params) {
         return false;
     }
     $rows = $this->getList('*', $filter);
     if (isset($params['parent_id'])) {
         $menu_path_arr = array();
         if ($params['parent_id'] > 0) {
             $menu_path = $this->select()->columns('menu_path')->where('menu_id = ?', $params['parent_id'])->instance()->fetch_one();
             if ($menu_path) {
                 $menu_path_arr = @explode(",", $menu_path);
             }
         }
         foreach ($rows as $row) {
             if ($row['menu_id'] == $params['parent_id']) {
                 trigger_error(app::get('weixin')->_('菜单『') . $row['menu_name'] . app::get('weixin')->_("』的父菜单不能为自己"), E_USER_ERROR);
                 return false;
                 //父菜单不能更新为自己,防止错误
             }
             if (in_array($row['menu_id'], $menu_path_arr)) {
                 trigger_error(app::get('weixin')->_('菜单『') . $row['menu_name'] . app::get('weixin')->_("』的父菜单不能为自己的子节点"), E_USER_ERROR);
                 return false;
                 //父菜单不能移动至自己的子菜单,防止错误
             }
         }
     }
     $res = parent::update($params, $filter);
     if ($res) {
         foreach ($rows as $row) {
             if (isset($params['parent_id']) && $row['parent_id'] != $params['parent_id']) {
                 $this->upgrade_parent($row['menu_id']);
                 $this->update_menus_path($row['menu_id']);
                 $this->update_menu_path($row['parent_id']);
             }
         }
         return true;
     } else {
         return false;
     }
 }