publish.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <?php
  2. /**
  3. * 微商城发布
  4. *
  5. *
  6. *
  7. */
  8. defined('InShopNC') or exit('Access Invalid!');
  9. class publishControl extends MircroShopControl{
  10. public function __construct() {
  11. parent::__construct();
  12. self::check_login();
  13. Tpl::output('index_sign','');
  14. }
  15. public function indexOp() {
  16. $this->goods_buyOp();
  17. }
  18. public function goods_buyOp() {
  19. $model_order = Model('order');
  20. $condition = array();
  21. $condition['buyer_id'] = $_SESSION['member_id'];
  22. $goods_list = $model_order->getOrderGoodsList($condition, '*', null, 20);
  23. Tpl::output('list',$goods_list);
  24. Tpl::output('goods_type','buy');
  25. Tpl::output('show_page',$model_order->showpage());
  26. $this->get_commend_goods_list();
  27. //获得分享app列表
  28. self::get_share_app_list();
  29. Tpl::showpage('publish_goods');
  30. }
  31. public function goods_favoritesOp() {
  32. $model_favorites = Model('favorites');
  33. $condition = array();
  34. $condition['member_id'] = $_SESSION['member_id'];
  35. $favorites_list = $model_favorites->getGoodsFavoritesList($condition, '*', 20);
  36. $goods_list = array();
  37. if (!empty($favorites_list) && is_array($favorites_list)){
  38. $goods_id_string = '';
  39. foreach ($favorites_list as $key=>$value){
  40. $goods_id_string .= $value['fav_id'].',';
  41. }
  42. $goods_id_string = rtrim($goods_id_string,',');
  43. $model_goods = Model('goods');
  44. $goods_list = $model_goods->getGoodsList(array('goods_id'=>array('in', $goods_id_string)));
  45. }
  46. Tpl::output('list',$goods_list);
  47. Tpl::output('goods_type','favorites');
  48. Tpl::output('show_page',$model_favorites->showpage());
  49. $this->get_commend_goods_list();
  50. //获得分享app列表
  51. self::get_share_app_list();
  52. Tpl::showpage('publish_goods');
  53. }
  54. //获取已经推荐的列表
  55. private function get_commend_goods_list() {
  56. $model_microshop_goods = Model('micro_goods');
  57. $commend_goods_list = $model_microshop_goods->getList(array('commend_member_id'=>$_SESSION['member_id']));
  58. $commend_goods_array = array();
  59. if(!empty($commend_goods_list)) {
  60. foreach ($commend_goods_list as $value) {
  61. $commend_goods_array[] = $value['commend_goods_id'];
  62. }
  63. }
  64. Tpl::output('commend_goods_array',$commend_goods_array);
  65. }
  66. public function goods_saveOp() {
  67. $model_goods = Model('goods');
  68. $model_microshop_goods = Model('micro_goods');
  69. $goods_id = intval($_POST['commend_goods_id']);
  70. if(empty($goods_id)) {
  71. showDialog(Language::get('wrong_argument'),'','error','');
  72. }
  73. $goods_info = $model_goods->getGoodsInfo(array('goods_id'=>$goods_id));
  74. $model_goods_relation = Model('micro_goods_relation');
  75. $goods_relation = $model_goods_relation->getOne(array('shop_class_id'=>$goods_info['gc_id']));
  76. $commend_goods_info = array();
  77. $commend_goods_info['commend_member_id'] = $_SESSION['member_id'];
  78. $commend_goods_info['commend_goods_id'] = $goods_info['goods_id'];
  79. $commend_goods_info['commend_goods_commonid'] = $goods_info['goods_commonid'];
  80. $commend_goods_info['commend_goods_store_id'] = $goods_info['store_id'];
  81. $commend_goods_info['commend_goods_name'] = $goods_info['goods_name'];
  82. $commend_goods_info['commend_goods_price'] = $goods_info['goods_price'];
  83. $commend_goods_info['commend_goods_image'] = $goods_info['goods_image'];
  84. if(empty($_POST['commend_message'])) {
  85. $commend_goods_info['commend_message'] = Language::get('microshop_goods_default_commend_message');
  86. } else {
  87. $commend_goods_info['commend_message'] = trim($_POST['commend_message']);
  88. }
  89. $commend_goods_info['commend_time'] = time();
  90. $commend_goods_info['microshop_commend'] = 0;
  91. $commend_goods_info['microshop_sort'] = 255;
  92. //没有建立分类绑定关系的,使用默认分类,没有设定默认分类的默认到第一个二级分类下
  93. if(empty($goods_relation)) {
  94. $model_goods_class = Model('micro_goods_class');
  95. $default_class = $model_goods_class->getOne(array('class_default'=>1));
  96. if(!empty($default_class)) {
  97. //默认分类
  98. $commend_goods_info['class_id'] = $default_class['class_id'] ;
  99. } else {
  100. $condition = array();
  101. $condition['class_parent_id'] = array('gt',0);
  102. $goods_class = $model_goods_class->getOne($condition,'class_id asc');
  103. if(empty($goods_class)) {
  104. showDialog(Language::get('microshop_goods_class_none'),'reload','error','');
  105. } else {
  106. $commend_goods_info['class_id'] = $goods_class['class_id'] ;
  107. }
  108. }
  109. } else {
  110. $commend_goods_info['class_id'] = $goods_relation['class_id'];
  111. }
  112. $result = $model_microshop_goods->save($commend_goods_info);
  113. $message = Language::get('nc_common_save_fail');
  114. //分享内容
  115. if($result) {
  116. $message = Language::get('nc_common_save_succ');
  117. //计数
  118. $model_micro_member_info = Model('micro_member_info');
  119. $model_micro_member_info->updateMemberGoodsCount($_SESSION['member_id'],'+');
  120. if(isset($_POST['share_app_items'])) {
  121. $commend_goods_info['type'] = 'goods';
  122. $commend_goods_info['url'] = MICROSHOP_SITE_URL.DS."index.php?act=goods&op=detail&goods_id=".$result;
  123. self::share_app_publish('publish',$commend_goods_info);
  124. }
  125. }
  126. showDialog($message,'reload',$result? 'succ' : 'error','');
  127. }
  128. /**
  129. * 个人秀图片上传
  130. **/
  131. public function personal_image_uploadOp() {
  132. $data = array();
  133. $data['status'] = 'success';
  134. if(isset($_SESSION['member_id'])) {
  135. if(!empty($_FILES['personal_image_ajax']['name'])) {
  136. $upload = new UploadFile();
  137. $upload->set('default_dir',ATTACH_MICROSHOP.DS.$_SESSION['member_id']);
  138. $upload->set('thumb_width','60,240');
  139. $upload->set('thumb_height', '5000,50000');
  140. $upload->set('thumb_ext', '_tiny,_list');
  141. $result = $upload->upfile('personal_image_ajax');
  142. if(!$result) {
  143. $data['status'] = 'fail';
  144. $data['error'] = $upload->error;
  145. }
  146. $data['file'] = $upload->file_name;
  147. }
  148. } else {
  149. $data['status'] = 'fail';
  150. $data['error'] = Language::get('no_login');
  151. }
  152. self::echo_json($data);
  153. }
  154. /**
  155. * 个人秀图片删除
  156. **/
  157. public function personal_image_deleteOp() {
  158. $data = array();
  159. $data['status'] = 'success';
  160. self::drop_personal_image($_GET['image_name']);
  161. self::echo_json($data);
  162. }
  163. /**
  164. * 个人秀数量限制检查
  165. **/
  166. public function personal_limitOp() {
  167. $result = $this->check_personal_limit();
  168. if($result) {
  169. self::return_json('','true');
  170. } else {
  171. self::return_json(Language::get('micro_personal_limit_error'),'false');
  172. }
  173. }
  174. //检查个人秀数量限制
  175. private function check_personal_limit() {
  176. $personal_limit = C('microshop_personal_limit');
  177. if(empty($personal_limit)) {
  178. return TRUE;
  179. }
  180. $model = Model('micro_member_info');
  181. $micro_member_info = $model->getOneById($_SESSION['member_id']);
  182. if(empty($micro_member_info)) {
  183. return TRUE;
  184. }
  185. if($micro_member_info['personal_count'] < $personal_limit) {
  186. return TRUE;
  187. } else {
  188. return FALSE;
  189. }
  190. }
  191. /**
  192. * 个人秀购买链接添加
  193. */
  194. public function personal_link_addOp() {
  195. $link = urldecode($_GET['link']);
  196. if(empty($link)) {
  197. self::return_json(Language::get('wrong_argument'),'false');
  198. }
  199. $model_goods_info = Model('goods_info_by_url');
  200. $result = $model_goods_info->get_goods_info_by_url($link);
  201. if($result) {
  202. self::echo_json($result);
  203. } else {
  204. self::return_json(Language::get('microshop_wrong_url'),'false');
  205. }
  206. }
  207. /**
  208. * 个人秀保存
  209. **/
  210. public function personal_saveOp() {
  211. $personal_limit = $this->check_personal_limit();
  212. if(!$personal_limit) {
  213. self::drop_personal_image($_POST['personal_image']);
  214. showDialog(Language::get('micro_personal_limit_error'),'','error','');
  215. }
  216. if(empty($_POST['personal_image'])) {
  217. showDialog(Language::get('wrong_argument'),'','error','');
  218. }
  219. $personal_info = array();
  220. $personal_info['class_id'] = intval($_POST['class_id']);
  221. if(empty($_POST['commend_message'])) {
  222. $personal_info['commend_message'] = Language::get('microshop_personal_default_commend_message');
  223. } else {
  224. $personal_info['commend_message'] = trim($_POST['commend_message']);
  225. }
  226. $personal_info['commend_member_id'] = $_SESSION['member_id'];
  227. $personal_info['commend_image'] = trim($_POST['personal_image']);
  228. $personal_info['commend_time'] = time();
  229. $personal_info['class_id'] = intval($_POST['personal_class']);
  230. $personal_link_array = array();
  231. if(!empty($_POST['personal_buy_link'])) {
  232. $model_goods_info = Model('goods_info_by_url');
  233. for ($i = 0,$count = count($_POST['personal_buy_link']); $i < $count; $i++) {
  234. $check_link = $model_goods_info->check_personal_buy_link($_POST['personal_buy_link'][$i]);
  235. if($check_link) {
  236. $personal_link_array[$i]['link'] = $_POST['personal_buy_link'][$i];
  237. $personal_link_array[$i]['image'] = $_POST['personal_buy_image'][$i];
  238. $personal_link_array[$i]['price'] = $_POST['personal_buy_price'][$i];
  239. $personal_link_array[$i]['title'] = $_POST['personal_buy_title'][$i];
  240. }
  241. }
  242. }
  243. $personal_info['commend_buy'] = serialize($personal_link_array);
  244. $personal_info['microshop_commend'] = 0;
  245. $personal_info['microshop_sort'] = 255;
  246. $model_personal = Model('micro_personal');
  247. $result = $model_personal->save($personal_info);
  248. $message = Language::get('nc_common_save_fail');
  249. //分享内容
  250. if($result) {
  251. $message = Language::get('nc_common_save_succ');
  252. //计数
  253. $model_micro_member_info = Model('micro_member_info');
  254. $model_micro_member_info->updateMemberPersonalCount($_SESSION['member_id'],'+');
  255. if(isset($_POST['share_app_items'])) {
  256. $personal_info['type'] = 'personal';
  257. $personal_info['url'] = MICROSHOP_SITE_URL.DS."index.php?act=personal&op=detail&personal_id=".$result;
  258. self::share_app_publish('publish',$personal_info);
  259. }
  260. }
  261. showDialog($message,MICROSHOP_SITE_URL.DS.'index.php?act=home&op=personal',$result? 'succ' : 'error','');
  262. }
  263. public function albumOp() {
  264. Tpl::showpage('publish_album');
  265. }
  266. }