Example #1
0
<?php

$path = "/home/user";
// Путь, где скрипт будет хранить файл с данными, а также куки
//В файле ниже хранятся две важные вещи: 1) ID последнего твита 2) Activity Hash, необходимый для изменения статуса вконтакте
$data = file_exists("{$path}/data.inc") ? unserialize(implode('', file("{$path}/data.inc"))) : array();
//Тут записываем юзеров, твиты которых нужно транслировать
$users = array(array('VK E-Mail', 'VK Password', 'Twitter Login', 'Twitter Password'));
//------------------------------------------------------------------------------
$ch_vk = new cURL(false);
$ch_twi = new cURL(false);
$xml = xml_parser_create();
foreach ($users as $i => $v) {
    $ch_vk->cookie("{$path}/{$v['0']}.txt");
    //Устанавливаем нужные куки для контакта.
    debug("{$v['0']}:");
    if (!filesize("{$path}/{$v['0']}.txt") || !$data[$v[0]]['ahash']) {
        //Авторизируемся вконтакте, если куки пустые.
        debug(" Авторизируемся ВКонтакте...");
        $r = $ch_vk->post('http://login.vk.com/', "act=login&try_to_login=1&email={$v['0']}&pass={$v['1']}");
        if (preg_match("/<input type='hidden' name='s' id='s' value='(.*?)' \\/>/si", $r, $m)) {
            $ch_vk->post('http://vkontakte.ru/login.php', "op=slogin&redirect=0&s={$m['1']}");
            sleep(1);
            $r = $ch_vk->get('http://vkontakte.ru/');
            //Получим Activity Hash
            if (preg_match("/<a href='\\/login.php'>/si", $r, $m)) {
                debug("Авторизация не прошла.");
                continue;
            }
            if (preg_match("/<input type='hidden' id='activityhash' value='(.*?)'>/si", $r, $m)) {
                $data[$v[0]]['ahash'] = $m[1];