PDA

Просмотр полной версии : Онлайн счетчик голосов


GlooK
13.01.2010, 10:51
Онлайн счетчик голосов

Скрипт отображает голоса на приложении.

Пример:
http://app.shacknet.nu/onvote.php

Вот набросал скрипт для отображения актуальной информации в ваших объявлениях.
Так как в ВК на каждую авторизацию повесили каптчу, скрипт был переделан под использование кук.

P.S. Не забудьте положить рядом со скриптом файл 'trebuchet.ttf' из папки C:\WINDOWS\FONTS

<?php

$login = ''; // кука l с домена login.vk.com
$passwd = ''; // кука p с домена login.vk.com
$appid = 616100; // приложение

$maintext = 'В наличии: ';
$fontfile = './trebuchet.ttf';
$coordx = 2;
$coordy = 15;
$fontsize = 12;
$imagewidth = 140;
$imageheight = 19;
$fontcolor = 0x000000;
$bgcolor = 0xFFFFFF;
$bordercolor = 0x000000;

### setcurlcookie
function setcurlcookie($setcookie) {
global $cookie;
if (!empty($setcookie)) {$cookie = $setcookie;}}

### curl
function curl($url, $post = '', $binary = 0) {
global $cookie;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
if ($binary == 0) {
curl_setopt($ch, CURLOPT_HEADER, 1);}
else {
curl_setopt($ch, CURLOPT_HEADER, 0);}
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, $binary);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;}

### authorization
function authorization($login, $passwd) {
setcurlcookie('l='.$login.'; p='.$passwd.';');
$result = curl('http://login.vk.com/?vk=');
preg_match('/name=\'s\' id=\'s\' value=\'(.*?)\'/i', $result, $temp);
$cookieid = $temp[1];
if (!empty($cookieid)) {
setcurlcookie('remixchk=5; remixsid='.$cookieid);
return true;
} else {
return false;}}

### viewvote
function viewvote($appid) {
$result = curl('http://vkontakte.ru/apps.php?act=a_load_settings','id='.$appid.'&mask=0&main=1');
preg_match('/new_votes\\\">(.*?)</i', $result, $temp);
$countvote = $temp[1];
return $countvote;
}

### showimage
function showimage($imagemsg) {
global $fontfile, $fontsize, $fontcolor, $bgcolor, $bordercolor, $imagewidth, $imageheight, $coordx, $coordy;
header('Content-type: image/png');
$image = imagecreatetruecolor($imagewidth, $imageheight);
imagefill($image, 0, 0, $bgcolor);
imagettftext($image, $fontsize, 0, $coordx, $coordy, $fontcolor, $fontfile, iconv('cp1251', 'utf-8', $imagemsg));
imagerectangle($image, 0, 0, $imagewidth - 1, $imageheight - 1, $bordercolor);
imagepng($image);
imagedestroy($image);
}

authorization($login, $passwd);
$countvote = viewvote($appid);
showimage($maintext.$countvote);
?>