Beispiel #1
0
 private function create_share_item($image_path, $image_num, $img_array)
 {
     $local_user = $this->current_user;
     $segment = spClass('Segment');
     if ($image_path) {
         $cover_path = APP_PATH . $image_path . '_middle.jpg';
         $img_pro = @getimagesize($cover_path);
         $img['width'] = $img_pro['0'];
         $img['height'] = $img_pro['1'];
         $imagelib = spClass('ImageLib');
         $data['color'] = $imagelib->sample_color($cover_path);
         $data['img_pro'] = array_to_str($img, ',');
         $data['image_path'] = $image_path;
     }
     if ($img_array) {
         $data['images_array'] = serialize($img_array);
     }
     $data['title'] = $this->spArgs('title');
     $data['category_id'] = $this->spArgs('category_id');
     $data['user_id'] = $local_user['user_id'];
     $data['intro'] = $this->spArgs('intro');
     $segment_str = $segment->segment($data['intro']);
     $data['intro'] = parse_tag($data['category_id'], $data['intro']);
     $at_array = $this->parse_at($data['intro']);
     $tag_parse = $this->parse_tag($data['intro']);
     $data['intro'] = $at_array['message'];
     $tags = str_replace(',', ' ', $this->spArgs('tags'));
     $data['intro_search'] .= ' ' . $segment->convert_to_py($tags);
     $data['intro_search'] .= ' ' . $segment->convert_to_py($tag_parse);
     $data['intro_search'] .= ' ' . $at_array['atsearch_str'];
     $data['intro_search'] .= $segment_str['py'];
     $data['keywords'] .= ' ' . $tags;
     $data['keywords'] .= ' ' . $tag_parse;
     $data['keywords'] .= ' ' . $segment_str['cn'];
     if ($groupid = $this->spArgs('groupid')) {
         $data['intro_search'] .= " group{$groupid}g";
     }
     if ($topicid = $this->spArgs('topicid')) {
         $data['intro_search'] .= " topic{$topicid}t";
     }
     $data['share_type'] = $this->spArgs('share_type', 'upload');
     $data['price'] = $this->spArgs('price', '0');
     if (!is_numeric($data['price'])) {
         $data['price'] = 0;
     }
     if ($this->is_editer()) {
         $data['is_show'] = 1;
     } else {
         $data['is_show'] = $this->settings['basic_setting']['site_need_verify'] && $this->permission['need_verify'] ? 0 : 1;
     }
     $data['reference_url'] = $this->spArgs('reference_url', '');
     $data['reference_itemid'] = $this->spArgs('item_id', '');
     $data['reference_channel'] = $this->spArgs('channel');
     $data['promotion_url'] = $this->spArgs('promotion_url');
     $data['total_images'] = $image_num;
     $share_attr = array();
     if ($data['share_type'] == 'video') {
         $share_attr['video']['flv'] = $this->spArgs('flv', '', 'POST', 'false');
         $share_attr['video']['imgurl'] = $image_path;
         $share_attr['video']['title'] = $data['title'];
         $data['share_attribute'] = serialize($share_attr);
     }
     $create_time = time();
     $data['create_time'] = $create_time;
     $share_data['create_time'] = $create_time;
     $share_data['poster_id'] = $local_user['user_id'];
     $share_data['poster_nickname'] = $local_user['nickname'];
     $share_data['original_id'] = 0;
     $share_data['user_id'] = $local_user['user_id'];
     $share_data['user_nickname'] = $local_user['nickname'];
     $share_data['total_comments'] = 0;
     $share_data['total_likes'] = 0;
     $share_data['total_clicks'] = 0;
     $share_data['total_forwarding'] = 0;
     $share_data['album_id'] = $this->spArgs('album_id');
     $share_data['category_id'] = $this->spArgs('category_id');
     //$data['share'] = $share_data;
     $ptx_item = spClass('ptx_item');
     //$ptx_item->linker['share']['enabled'] = true;
     $item_id = $ptx_item->create($data);
     $ptx_share = spClass('ptx_share');
     $share_data['item_id'] = $item_id;
     $share_id = $ptx_share->create($share_data);
     $ptx_album = spClass('ptx_album');
     $ptx_album->update_album_cover($share_data['album_id']);
     $event_dispatcher = spClass('event_dispatcher');
     $event_data['to_user_id'] = $local_user['user_id'];
     $event_data['to_nickname'] = $local_user['nickname'];
     $event_data['share_id'] = $share_id;
     $event_data['share_title'] = $data['title'];
     if ($data['share_type'] == 'video') {
         $event_dispatcher->invoke('post_video', $event_data);
     } elseif ($data['share_type'] == 'article') {
         $event_dispatcher->invoke('post_article', $event_data);
     } else {
         $event_dispatcher->invoke('post_share', $event_data);
     }
     return true;
 }
Beispiel #2
0
         }
         $category_result = $db->get_all("SELECT category_id FROM lz_category WHERE name like '%" . $category . "%' ");
     }
     //综合期数和分类的限定结果,去重,返回限定结果
     if ($condition_flag == 3) {
         $condition_result = found_in($category_result, $number_result);
     } elseif ($condition_flag == 1) {
         $condition_result = $number_result;
     } elseif ($condition_flag == 2) {
         $condition_result = $category_result;
     }
     $condition_string = array_to_str($condition_result, 'category_id');
     //将category中的限定结果在lz_item表中查找,得到item_id结果,返回最终的限定结果
     if ($condition_string != null) {
         $condition_result = $db->get_all("SELECT item_id FROM lz_item WHERE category_id in (" . $condition_string . ") ");
         $condition = array_to_str($condition_result, 'item_id');
     }
     //sort($condition);
 }
 //搜索作者
 if ($author != null) {
     //在双字作者中间加上两个空格,方便与数据库中内容匹配
     if (strlen($author) == 6) {
         $author = str_insert($author, 3, "  ");
     }
     //如果之前限定了搜索范围
     if ($condition != null) {
         $author_result = $db->get_all("SELECT aid FROM lz_author WHERE (author like '%" . $author . "%') and aid in(" . $condition . ") ");
     } else {
         $author_result = $db->get_all("SELECT aid FROM lz_author WHERE author like '%" . $author . "%'");
     }
Beispiel #3
0
 function recreate_pin()
 {
     $pin_width = $this->settings['image_size']['pin_width'] ? $this->settings['image_size']['pin_width'] : 200;
     if (!$pin_width) {
         $pin_width = $this->settings['ui_pin']['pin_imagewidth'] ? $this->settings['ui_pin']['pin_imagewidth'] : 200;
     }
     $number = 100;
     $page = $this->spArgs("page", 1);
     $ptx_item = spClass('ptx_item');
     $items = $ptx_item->search(null, $page, $number, " ptx_item.image_path,ptx_item.item_id ", NULL);
     foreach ($items as $item) {
         $large_path = APP_PATH . $item['image_path'] . '_large.jpg';
         if (!file_exists($large_path)) {
             continue;
         }
         $cover_path = APP_PATH . $item['image_path'] . '_middle.jpg';
         file_exists($cover_path) && unlink($cover_path);
         $imagelib = spClass('ImageLib');
         $imagelib->create_thumb($large_path, '', $pin_width, 0, $cover_path);
         $img_pro = @getimagesize($cover_path);
         $img['width'] = $img_pro['0'];
         $img['height'] = $img_pro['1'];
         $data['img_pro'] = array_to_str($img, ',');
         $ptx_item->update(array('item_id' => $item['item_id']), $data);
         $width = $this->settings['image_size']['square_width'] ? $this->settings['image_size']['square_width'] : 100;
         $cover_path = APP_PATH . $item['image_path'] . '_square_like.jpg';
         file_exists($cover_path) && unlink($cover_path);
         $imagelib->crop_square($large_path, $width, 'square_like', $cover_path);
     }
     if (array_length($items) > 0) {
         $start = ($page - 1) * $number;
         $end = $start + $number;
         $str = T('processing_data') . "{$start}----{$end}";
         $url = spUrl('admin', 'recreate_pin', array('page' => $page + 1));
         admin_show_message($str, $this, $url, 1500);
         return;
     } else {
         $str = T('processing_data_success');
         $url = spUrl('admin', 'recreate_image');
         admin_show_message($str, $this, $url, 1500);
     }
 }