Многоуважаемые пользователи, сломал уже всю голову себе... но ни как не могу перевести данный скрипт php Выдачи бонусов на AutoIT.
Config.php
Файл голосования который загружаю в браузере для выдачи голосов
Скрипт делает примерно такую работу:
Загружает данные с сайта "Мой_сайт" данные в исходном коде такие же как показано ниже, без каких либо тегов.
Пример данных с Мой_сайт:
Статистика голосования для http://мой_сайт/
2012-12-07 22:56:03 NIck1
2012-12-07 22:51:12 Nick2
2012-12-07 22:49:58 Nick3
2012-12-07 22:48:29 Nick4
2012-12-07 22:47:25 Nick5
и т.д.
После получения данных (пример 2012-12-07 22:56:03 NIck1), он регулярным выражением получает ник (Nick1), делает запрос в базу, есть ли такой ник, если нету проходит мимо, если есть, то получет у ника obj_Id. После получения obj_Id, получает уже с таблицы учета, получал ли человек за это премию, если нет, то тут уже идет запрос на добавление премии и в таблицу учета.
Добавлено:
Я написал код, но он огромный очень и после выдачи 1 бонуса начинает циклится на одном и том же человеке и в итоге ходит по кругу и не выдает больше ничего. Код выкладывать стремно, т.к. он в строк 350, а то и больше.... Да и думаю там ахинея полная...
Config.php
Код:
<?php
$config['host']='127.0.0.1';
//Порт MySQL сервера
$config['port']='3306';
//Имя пользователя для коннекта к базе данных
$config['user']='root';
//Пароль от пользователя базы данных
$config['pasw']='root';
//Имя базы данных
$config['date']='root';
//Ссылка (URL) на лист информации о последних проголосовавших.
$config['url_info']='Мой_Сайт';
//ID премии, которая будет выдаваться в виде приза
$config['bonus_id']='6673';
//Их количество
$config['numberous']='1';
//Название вещи (В единственном числе)
$config['name']='Вещь1';
function connect()
{
global $config;
$host=$config['host'];
$port=$config['port'];
$user=$config['user'];
$pasw=$config['pasw'];
$date=$config['date'];
$connect_mysql = @mysql_connect($host.":".$port,$user,$pasw);
if($connect_mysql)
{
$connect_db = @mysql_select_db($date,$connect_mysql);
if(!$connect_db)
{
$error="Ошибка #2";
}
}
else
{
$error="Ошибка #1";
}
if ($error)
{
echo "
<font color='red'>Извините, к сожалению на данный момент этот сервис не доступен.
".$error."</font>
";
exit;
}
}
?>
Файл голосования который загружаю в браузере для выдачи голосов
Код:
<?php
require_once 'config.php';
connect();
$limit = true;
$limit_count = intval($config['limit']);
$prefixList = array_map("trim", explode(",", $la2config["l2top"]["prefix_list"]));
$bonus_id_sql=mysql_escape_string($config['bonus_id']);
$numberous_sql=mysql_escape_string($config['numberous']);
$html=@file_get_contents(htmlspecialchars_decode($config['url_info']));
if (preg_match_all("#([0-9]{4}\-[0-9]{2}\-[0-9]{2}\s+[0-9]{2}:[0-9]{2}\:[0-9]{2})\t+([0-9a-zA-Zа-яА-Я \-\=]*)#",$html,$matches)) {
for($i = 0; $i < count($matches[1]); $i++) {
$time = substr($matches[1][$i],0,20);
if (preg_match("#([a-zA-Zа-яА-Я0-9]+)\-([a-zA-Zа-яА-Я0-9 -]*)#", $matches[2][$i], $char_matches)) {
if (($server = array_search($char_matches[1])) === false) {
$server = intval($char_matches[1]);
}
$nick = substr($char_matches[2],0,30);
} else {
$server = "0";
$nick = substr($matches[2][$i],0,30);
}
if ($nick != "") {
$char_id_arr=mysql_fetch_assoc(mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '$nick';"));
$char_id_sql=mysql_escape_string($char_id_arr['obj_Id']);
$time_sql=mysql_escape_string($time);
$array=mysql_fetch_assoc(mysql_query("SELECT * FROM `character_vote` WHERE `char_name` = '$nick' AND `date` = '$time_sql';"));
if ($array == array())
{
$SQL=mysql_query("INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`, `enchant_level`, `flags`, `payment_status`, `description`)
VALUES('$char_id_sql', '$bonus_id_sql', '$numberous_sql', '0', '0', '0', 'L2Top')");
}
if ($SQL)
{
mysql_query("INSERT INTO `character_vote` (`char_name`, `date`) VALUES ('$nick', '$time');");
}
}
}
}
?>
Скрипт делает примерно такую работу:
Загружает данные с сайта "Мой_сайт" данные в исходном коде такие же как показано ниже, без каких либо тегов.
Пример данных с Мой_сайт:
Статистика голосования для http://мой_сайт/
2012-12-07 22:56:03 NIck1
2012-12-07 22:51:12 Nick2
2012-12-07 22:49:58 Nick3
2012-12-07 22:48:29 Nick4
2012-12-07 22:47:25 Nick5
и т.д.
После получения данных (пример 2012-12-07 22:56:03 NIck1), он регулярным выражением получает ник (Nick1), делает запрос в базу, есть ли такой ник, если нету проходит мимо, если есть, то получет у ника obj_Id. После получения obj_Id, получает уже с таблицы учета, получал ли человек за это премию, если нет, то тут уже идет запрос на добавление премии и в таблицу учета.
Добавлено:
Сообщение автоматически объединено:
Я написал код, но он огромный очень и после выдачи 1 бонуса начинает циклится на одном и том же человеке и в итоге ходит по кругу и не выдает больше ничего. Код выкладывать стремно, т.к. он в строк 350, а то и больше.... Да и думаю там ахинея полная...