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(); }
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')); }
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"); } }