public function chat($openid)
 {
     $Users = D('Weixinuser');
     $user_detail = $Users->detail($openid, false);
     $Weixinlog = D('Weixinlog');
     $Weixinsend = D('Weixinsend');
     $receive = $Weixinlog->field('MsgId,FromUserName as openid,CreateTime as time,Content as content')->where(array('FromUserName' => $openid))->select();
     foreach ($receive as $key => $value) {
         $receive[$key]['direction'] = 'in';
         $receive[$key]['headimgurl'] = $user_detail['headimgurl'];
         $receive[$key]['nickname'] = $user_detail['nickname'];
     }
     //        dump($receive);
     $send = $Weixinsend->field('MsgId_to as MsgId,openid as openid,UNIX_TIMESTAMP(CreateTime) as time,Content as content')->where(array('openid' => $openid))->select();
     foreach ($send as $key => $value) {
         $send[$key]['direction'] = 'out';
         $send[$key]['headimgurl'] = __ROOT__ . '/Public/admin/assets/img/avatar1.jpg';
         $send[$key]['nickname'] = '我';
     }
     $chat = sysSortArray(array_merge($receive, $send), 'time', "SORT_ASC");
     //        dump($chat);
     $this->assign('chat', $chat);
     $this->assign('action', '用户对话 - To:' . $user_detail['nickname']);
     $this->assign('action_url', U('Weixin/User/chat', array('openid' => $openid)));
     $this->assign('form_url', U('Weixin/User/chatHandle', array('openid' => $openid)));
     $this->assign('user_detail', $user_detail);
     $this->display();
 }
示例#2
0
 public function edit_share()
 {
     if ($this->share_id) {
         $ptx_share = spClass('ptx_share');
         $share = $ptx_share->get_share_by_id($this->share_id);
         if ($share) {
             if (!$this->is_editer() && $share['user_id'] != $this->current_user['user_id']) {
                 return $this->ajax_failed_response(T('no_permission'));
             }
             $share_data['album_id'] = $this->album_id;
             $share_data['category_id'] = $this->category_id;
             if (!$share_data['album_id'] || !is_numeric($share_data['album_id']) || !$share_data['category_id'] || !is_numeric($share_data['category_id'])) {
                 return $this->ajax_failed_response(T('album_cat_required'));
             }
             if ($share['user_id'] == $share['poster_id'] && ($share['poster_id'] == $this->current_user['user_id'] || $this->is_editer())) {
                 $intro_length = strlen($this->spArgs('intro'));
                 if ($intro_length == 0 || $intro_length > 6000) {
                     return $this->ajax_failed_response(T('intro_too_long'));
                 }
                 $title_length = strlen($this->spArgs('title'));
                 if ($title_length == 0 || $title_length > 200) {
                     return $this->ajax_failed_response(T('title_too_long'));
                 }
                 $update_data['title'] = $this->spArgs("title");
                 $segment = spClass('Segment');
                 $update_data['intro'] = $this->spArgs('intro');
                 $segment_str = $segment->segment($update_data['intro']);
                 $at_array = $this->parse_at($update_data['intro']);
                 $tag_parse = $this->parse_tag($update_data['intro']);
                 $update_data['intro'] = $at_array['message'];
                 //$update_data['intro_search'] .= ' '.$segment->convert_to_py($tag_parse);
                 //$update_data['intro_search'] .= ' '.$at_array['atsearch_str'];
                 //$update_data['intro_search'] .= $segment_str['py'];
                 //$update_data['keywords'] .= ' '.$tag_parse;
                 //$update_data['keywords'] .= ' '.$segment_str['cn'];
                 $update_data['price'] = $this->spArgs('price', '0');
                 $update_data['promotion_url'] = $this->spArgs('promotion_url', '');
                 $all_files = $this->spArgs('all_files');
                 $all_files_arr = unserialize(stripslashes($all_files));
                 $images = unserialize($share['images_array']);
                 $images_array = array();
                 $images_array_remove = array();
                 $images_cover = null;
                 $old_images_cover = null;
                 $del_cover = false;
                 foreach ($images as $image) {
                     if ($image['url'] == $share['image_path']) {
                         $old_images_cover = $image;
                     }
                     if ($image_find = $this->hasImage($all_files_arr, $image)) {
                         $images_array[] = array('id' => $image_find['id'], 'url' => $image_find['url'], 'desc' => delete_html($image_find['desc']), 'cover' => $image_find['cover']);
                         if ($image_find['cover']) {
                             $images_cover = $image_find;
                         }
                     } else {
                         if ($image['url'] == $share['image_path']) {
                             $del_cover = true;
                         }
                         $images_array_remove[] = $image;
                     }
                 }
                 $imagelib = spClass('ImageLib');
                 if ($images_cover && $images_cover['url'] != $share['image_path']) {
                     $file_path = APP_PATH . $share['image_path'] . '.jpg';
                     @copy(APP_PATH . $share['image_path'] . '_large.jpg', APP_PATH . $share['image_path'] . '_large_tmp.jpg');
                     @copy(APP_PATH . $images_cover['url'] . '_large.jpg', APP_PATH . $share['image_path'] . '_large.jpg');
                     @copy(APP_PATH . $images_cover['url'] . '_large.jpg', $file_path);
                     if (!$del_cover) {
                         @copy(APP_PATH . $share['image_path'] . '_square_like.jpg', APP_PATH . $images_cover['url'] . '_square_like.jpg');
                         @copy(APP_PATH . $share['image_path'] . '_large_tmp.jpg', APP_PATH . $images_cover['url'] . '_large.jpg');
                     } else {
                         file_exists(APP_PATH . $images_cover['url'] . '_square_like.jpg') && unlink(APP_PATH . $images_cover['url'] . '_square_like.jpg');
                         file_exists(APP_PATH . $images_cover['url'] . '_large.jpg') && unlink(APP_PATH . $images_cover['url'] . '_large.jpg');
                     }
                     $imagelib->crop_square($file_path, 100, 'square_like');
                     $imagelib->create_thumb($file_path, 'middle', 200);
                     $imagelib->create_thumb($file_path, 'small', 150);
                     $imagelib->crop_square($file_path, 62);
                     file_exists(APP_PATH . $share['image_path'] . '_large_tmp.jpg') && unlink(APP_PATH . $share['image_path'] . '_large_tmp.jpg');
                     file_exists($file_path) && unlink($file_path);
                     $cover_path = APP_PATH . $share['image_path'] . '_middle.jpg';
                     $img_pro = @getimagesize($cover_path);
                     $img['width'] = $img_pro['0'];
                     $img['height'] = $img_pro['1'];
                     $imagelib = spClass('ImageLib');
                     $update_data['color'] = $imagelib->sample_color($cover_path);
                     $update_data['img_pro'] = array_to_str($img, ',');
                     foreach ($images_array as $key => $new_img) {
                         if ($new_img['url'] == $images_cover['url']) {
                             $images_array[$key]['cover'] = false;
                             $images_array[$key]['desc'] = $old_images_cover['desc'];
                             $images_array[$key]['id'] = $old_images_cover['id'];
                             if ($del_cover) {
                                 $images_array[$key]['url'] = $share['image_path'];
                                 $images_array[$key]['cover'] = true;
                             }
                             continue;
                         }
                         if ($new_img['url'] == $share['image_path']) {
                             $images_array[$key]['desc'] = $images_cover['desc'];
                             $images_array[$key]['id'] = $images_cover['id'];
                             $images_array[$key]['cover'] = true;
                         }
                     }
                 }
                 foreach ($images_array_remove as $remove) {
                     if ($remove['url'] == $share['image_path']) {
                         continue;
                     }
                     file_exists(APP_PATH . $remove['url'] . '_large.jpg') && unlink(APP_PATH . $remove['url'] . '_large.jpg');
                     file_exists(APP_PATH . $remove['url'] . '_middle.jpg') && unlink(APP_PATH . $remove['url'] . '_middle.jpg');
                     file_exists(APP_PATH . $remove['url'] . '_small.jpg') && unlink(APP_PATH . $remove['url'] . '_small.jpg');
                     file_exists(APP_PATH . $remove['url'] . '_square.jpg') && unlink(APP_PATH . $remove['url'] . '_square.jpg');
                     file_exists(APP_PATH . $remove['url'] . '_square_like.jpg') && unlink(APP_PATH . $remove['url'] . '_square_like.jpg');
                 }
                 if (!is_numeric($update_data['price'])) {
                     $update_data['price'] = 0;
                 }
                 $update_data['total_images'] = array_length($images_array);
                 $update_data['images_array'] = serialize(sysSortArray($images_array, "id", "SORT_ASC", "SORT_NUMERIC"));
                 $ptx_item = spClass("ptx_item");
                 $item_condition['item_id'] = $share['item_id'];
                 $ptx_item->update($item_condition, $update_data);
             }
             $share_condition['share_id'] = $share['share_id'];
             $ptx_share->update($share_condition, $share_data);
             if ($share_data['album_id'] != $share['album_id']) {
                 $ptx_album = spClass('ptx_album');
                 $ptx_album->update_album_cover($share['album_id']);
                 $ptx_album->update_album_cover($share_data['album_id']);
             }
             return $this->ajax_success_response(null, T('edit_succeed'));
         }
     }
     return $this->ajax_failed_response(T('illegal_operation'));
 }
示例#3
0
 function homepage_slide()
 {
     if ($this->check_admin()) {
         $act = $this->spArgs("act");
         $homeslide = $this->settings['homeslide'];
         if ($act == 'add') {
             if ($image_url = $this->spArgs("filename")) {
                 $slide_image = array('key' => time(), 'image_url' => 'data/attachments/homeslide/' . $image_url, 'link_url' => $this->spArgs("link_url"), 'order' => $this->spArgs("order"), 'title' => $this->spArgs("title"), 'desc' => $this->spArgs("desc"));
                 if (!is_array($homeslide)) {
                     $homeslide = array();
                 }
                 array_push($homeslide, $slide_image);
                 $homeslide = sysSortArray($homeslide, 'order', 'SORT_ASC', 'SORT_NUMERIC');
                 $this->ptx_settings->set_value('homeslide', $homeslide);
                 $this->ptx_settings->updateSettings();
             }
         } elseif ($act == 'edit') {
             $key = $this->spArgs("key");
             foreach ($homeslide as $slide) {
                 if ($slide['key'] == $key) {
                     $slide_edit = $slide;
                     break;
                 }
             }
             $this->slide = $slide_edit;
             $this->display("/admin/homepage_slide_edit.php");
             return;
         } elseif ($act == 'edit_submit') {
             $key = $this->spArgs("key");
             foreach ($homeslide as $i => $slide) {
                 if ($slide['key'] == $key) {
                     $index = $i;
                     break;
                 }
             }
             $homeslide[$index]['link_url'] = $this->spArgs("link_url");
             $homeslide[$index]['order'] = $this->spArgs("order");
             $homeslide[$index]['desc'] = $this->spArgs("desc");
             $homeslide[$index]['title'] = $this->spArgs("title");
             $homeslide = sysSortArray($homeslide, 'order', 'SORT_ASC', 'SORT_NUMERIC');
             $this->ptx_settings->set_value('homeslide', $homeslide);
             $this->ptx_settings->updateSettings();
             $this->jump(spUrl('admin', 'homepage_slide'));
             return;
         } elseif ($act == 'upload') {
             import(APP_PATH . '/include/ajaxuploader.php');
             $settings = $this->settings;
             if ($settings['file_setting']) {
                 $allowedExtensions = explode('|', $settings['file_setting']['upload_file_type']);
                 $sizeLimit = $settings['file_setting']['upload_file_size'] * 1024;
             } else {
                 $allowedExtensions = array('jpg', 'jpeg', 'gif', 'png');
                 $sizeLimit = 2 * 1024 * 1024;
             }
             $uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
             $temp_dir = '/data/attachments/homeslide/';
             !is_dir(APP_PATH . $temp_dir) && @mkdir(APP_PATH . $temp_dir, 0777, true);
             $result = $uploader->handleUpload(APP_PATH . $temp_dir);
             $this->ajax_response($result);
             return;
         } elseif ($act == 'delete') {
             $key = $this->spArgs("key");
             foreach ($homeslide as $i => $slide) {
                 if ($slide['key'] == $key) {
                     $index = $i;
                     $image_url = $slide['image_url'];
                     break;
                 }
             }
             array_splice($homeslide, $index, 1);
             if ($image_url) {
                 file_exists(APP_PATH . '/' . $image_url) && unlink(APP_PATH . '/' . $image_url);
             }
             $this->ptx_settings->set_value('homeslide', $homeslide);
             $this->ptx_settings->updateSettings();
         }
         $this->slides = $homeslide ? $homeslide : array();
         $this->display("/admin/homepage_slide.php");
     }
 }