Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Name: Динамическая обложка в группу ВКонтакте
- * @author: Vasily Pirajog // vk.com/id19933
- * public/private: private
- */
- include('function.php');
- $token = '047703265e8a5a8235dc3df14ac11e7338c107fbf73a710c10c2143b4b34e615157c6aa0b6390db025304';
- $group_id = '112101347';
- $date_today = date('Ymd');
- $subscribe = json_decode(api('groups.getMembers', array('group_id' => $group_id, 'sort' => 'time_desc', 'fields' => 'photo_200', 'access_token' => $token)));
- // var_dump($subscribe);
- $bag = '11.jpg'; // случайный фон
- $draw = new ImagickDraw();
- $background = new Imagick($bag);
- $draw->setFont('ttf.ttf');
- $draw->setTextAlignment(Imagick::ALIGN_CENTER);
- if($subscribe->response) {
- $user_info = json_decode(api('users.get', array('lang' => 'en', 'user_id' => $subscribe->response->users[0]->uid)));
- // var_dump($user_info);
- $name_sub = $user_info->response[0]->first_name.' '.$user_info->response[0]->last_name;
- download($subscribe->response->users[0]->photo_200, 'sub.jpg');
- $sub_photo = new Imagick('sub.jpg');
- rounding($sub_photo, '200', '200');
- // $photo, $width, $height
- $draw->setFontSize('40');
- $draw->setFillColor("rgb(225,225,225)");
- $background->compositeImage($sub_photo, Imagick::COMPOSITE_DEFAULT, '150', '70');
- // $photo, fucntion(), $x, $y
- //
- function wall_counters($owner_id) {
- $page = 0;
- $limit = 100;
- $lukas = 0;
- do {
- $offset = $page * $limit;
- $posts = json_decode(api('wall.get', array('domain' => 'lae_official', 'filter' => 'all', 'count' => $limit, 'v' => '5.64', 'offset' => $offset)));
- sleep(1);
- if(!isset($posts->response)) {
- $lukas = 'Error response';
- } else {
- for($i = 0; $i < $posts->response->count; $i++) {
- $lukas += $posts->response->items[$i]->likes->count;
- if($lukas >= 0) {
- $comments += $posts->response->items[$i]->comments->count;
- if($comments >= 0) {
- $reposts += $posts->response->items[$i]->reposts->count;
- }
- }
- }
- }
- $page++;
- } while($posts->response->count > $offset + $limit);
- return array($lukas, $comments, $reposts);
- }
- echo wall_counters(1)[0]; // likes
- echo "<br>";
- echo wall_counters(1)[1]; // comments
- echo "<br>";
- echo wall_counters(1)[2]; // reposts
- echo "<br>";
- //
- $wall_get =json_decode(api('wall.get', array('owner_id' => '-125717080', 'count' => '50', 'v' => '5.64')));
- if($wall_get) {
- $countlike = array();
- $countcomments = array();
- foreach($wall_get->response->items as $wall) {
- $count = $wall->comments->count;
- if($count > 0) {
- $comments_get = json_decode(api('wall.getComments', array('owner_id' => '-125717080', 'post_id' => $wall->id, 'need_likes' => '1', 'count' => '100')));
- foreach($comments_get->response as $comments) {
- if($date_today == date('Ymd', $comments->date)) {
- if(!isset($countcomments[$comments->from_id]) and !isset($countlike[$comments->from_id])) {
- $countcomments[$comments->from_id] = 1;
- $countlike[$comments->from_id] = $comments->likes->count;
- } else {
- $countcomments[$comments->from_id]++;
- $countlike[$comments->from_id] += $comments->likes->count;
- }
- }
- }
- }
- }
- }
- if(count($countlike) > 0) {
- $value = max($countlike);
- $uid_top = array_search($value, $countlike);
- $user = json_decode(api('users.get', array('user_ids' => $uid_top, 'fields' => 'photo_200')));
- echo 'Top of the day by likes: '.$user->response[0]->first_name.' '.$user->response[0]->last_name;
- }
- echo "<br>";
- if(count($countcomments) > 0) {
- $value = max($countcomments);
- $uid_top = array_search($value, $countcomments);
- $user = json_decode(api('users.get', array('user_ids' => $uid_top, 'fields' => 'photo_200')));
- echo 'The best commentator of the day: '.$user->response[0]->first_name.' '.$user->response[0]->last_name;
- }
- //
- $background->annotateImage($draw, '250', '330', 0, $name_sub); // имя участника
- $background->annotateImage($draw, '795', '70', 0, date("H:i")); // время на фото
- // $draw, $x, $y, 0, $name_sub
- }
- $back = 'result.png'; // готовая фотка
- $background->setImageFormat("png");
- $background->writeImage($back);
- $photo = array('photo' => new CURLFile($back, 'image/jpeg', 'image0'));
- $get = json_decode(api('photos.getOwnerCoverPhotoUploadServer', array('group_id' => $group_id, 'crop_x2' => '1590','crop_y2' => '400', 'access_token' => $token)));
- // if($get->response) {
- // $upload = json_decode(curl($get->response->upload_url, $photo));
- // if($upload->hash) {
- // $save = json_decode(api('photos.saveOwnerCoverPhoto', array('hash' => $upload->hash,'photo' => $upload->photo, 'access_token' => $token)));
- // if($save->response) die ('Обложка успешно обновлена');
- // else die('Обложка не обновлена');
- // } else {
- // die('Не удалось загрузить фотографию на сервер');
- // }
- // } else {
- // die('Не удалось получить данные для загрузки фотографии');
- // }
- if($get->response) {
- $upload = json_decode(curl($get->response->upload_url, $photo));
- if($upload->hash) {
- $save = json_decode(api('photos.saveOwnerCoverPhoto', array('hash' => $upload->hash,'photo' => $upload->photo, 'access_token' => $token)));
- if($save->response) die (' ');
- else die(' ');
- } else {
- die(' ');
- }
- } else {
- die(' ');
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement