Можно еще сделать так.
Как предлагал Garrett сделать таблицу в MySQL. В таблице хранить user_id и version. Когда пользователь заходит на форум, срабатывает скрипт который проверяет авторизован пользователь или нет, после того как прошла проверка получаем значения поля version для user_id. Сраниваем версии. Если версия AutoIt из файла update.dat больше чем версия version, тогда сравниваем Beta версию, если Beta больше показываем сообщение что доступна новая Beta версия и записываем ее в базу. Если же Beta версия мень показываем сообщение что доступна новая версия и записываем ее в базу.
Вот скрипт
Сделал в качестве функции, ее надо поместить в конец файла index.template.php который лежит папке [Путь_до_папки_с_форумом]\Themes\[название темы оформления]\
После
Добавить вот эту строчку
Котороя и будет запускать фунцию оповещения.
Таблица в базе данных должна называться version_notice и содержать 2 поля user_id и version.
Как предлагал Garrett сделать таблицу в MySQL. В таблице хранить user_id и version. Когда пользователь заходит на форум, срабатывает скрипт который проверяет авторизован пользователь или нет, после того как прошла проверка получаем значения поля version для user_id. Сраниваем версии. Если версия AutoIt из файла update.dat больше чем версия version, тогда сравниваем Beta версию, если Beta больше показываем сообщение что доступна новая Beta версия и записываем ее в базу. Если же Beta версия мень показываем сообщение что доступна новая версия и записываем ее в базу.
Вот скрипт
Код:
function autoit_new_version_alert($nva_userid)
{
require(dirname(dirname(__FILE__)) . '/Settings.php');
$curl_options = array(
CURLOPT_URL=>"http://www.autoitscript.com/autoit3/files/beta/update.dat",
CURLOPT_HEADER=>true,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_USERAGENT=>"AutoIt" // Маскируемся под AutoIt
);
$curl_handle = curl_init();
curl_setopt_array($curl_handle, $curl_options);
$server_output = curl_exec($curl_handle);
curl_close($curl_handle);
preg_match('/\[AutoIt\]\r\nversion=(?P<version>[\d\.]+)\r\n.*\r\nsetup=(?P<download_url>[\w:\/\.\-\?]+)/', $server_output, $final);
preg_match('/\[AutoItBeta\]\r\nversion=(?P<version>[\d\.]+)\r\n.*\r\nsetup=(?P<download_url>[\w:\/\.\-\?]+)/', $server_output, $beta);
$nva_db = array("db_server" => $db_server, "db_name" => $db_name, "db_user" => $db_user, "db_passwd" => $db_passwd);
$nva_dbconn = mysql_connect($nva_db['db_server'], $nva_db['db_user'], $nva_db['db_passwd']); //Подключаемся к базе данных
if (!$nva_dbconn) {die('Could not connect: ' . mysql_error()); } //Проверяем подлючение
// echo "Connected successfully | " . $nva_dbconn . "
";
$nva_dbselect = mysql_select_db($nva_db['db_name'], $nva_dbconn);
if (!$nva_dbselect) {die('Could not select database: ' . mysql_error()); } //Проверяем выбор базы данных
// echo "Database seletced | " . $nva_dbselect . "
";
$getver_query = "SELECT version FROM version_notice WHERE user_id = " . $nva_userid;
$notice = mysql_fetch_assoc(mysql_query($getver_query, $nva_dbconn));
if ($final['version'] > $notice['version']) {
if ($beta['version'] > $notice['version']) {
echo "<script>alert('Доступна новая " .$beta['version'] . " Beta версия AutoIt.')</script>";
$updver_query = "UPDATE version_notice SET version = '" . $beta['version'] ."' WHERE user_id = " . $nva_userid;
} else {
echo "<script>alert('Доступна новая " .$final['version'] . " версия AutoIt.')</script>";
$updver_query = "UPDATE version_notice SET version = '" . $final['version'] ."' WHERE user_id = " . $nva_userid;
}
mysql_query($updver_query, $nva_dbconn);
}
mysql_close($nva_dbconn);
}
Сделал в качестве функции, ее надо поместить в конец файла index.template.php который лежит папке [Путь_до_папки_с_форумом]\Themes\[название темы оформления]\
После
Код:
function template_body_above()
{
global $context, $settings, $options, $scripturl, $txt, $modSettings;
Добавить вот эту строчку
Код:
if ($context['user']['is_logged']) { autoit_new_version_alert($context['user']['id']); }
Котороя и будет запускать фунцию оповещения.
Таблица в базе данных должна называться version_notice и содержать 2 поля user_id и version.