Waid

Вход
  Зарегистрироваться
Перейти к контенту

Главное меню:

 
Автор Сообщение

admin

Сообщения: 197
http://waid.ru/
Город: 0
Профессия:
Возраст: 51

#1   30.05.2015 22:23          

Т.к имею блог на wordpress я задумался как проходит проверка на обновление покопавшись в движке я так и не узнал как это делается ибо с ООП я не дружу поэтому и сделал альтернативу этой штуке. и так поехали.
1) На сервере своего так сказать главного сайта ( не в движке что будем распространять а у себя) создадим 3 файла api.xml и conf.php и .htaccess
В api.xml пишем
<?php
header("Content-Type: text/xml");
header("Expires: Thu, 19 Feb 1998 13:24:18 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0,pre-check=0");
header("Cache-Control: max-age=0");
header("Pragma: no-cache");
require_once 'conf.php';
echo "<?xml version='1.0' standalone='yes'?>
<response list=\"true\">
<root>
<new_vers>".$new_vers."</new_vers>
<update_url>".$url."</update_url>
<news>Что нового:
".$news."
</news>
</root>
</response>";
?>

Вы спросите почему я в xml файл пишу php код причина проста мне лень было делать отдельный скрипт который бы генерировал основной xml откуда и читалось бы информация о версии обновы.

Второй шаг это создание conf.php и туда пишем следующие
<?php
$new_vers='1.0.2'; //версия вашего движка
$news='Добавлена почта'; // что вы хотите рассказать о новой версии
$url= 'http://xlamok.ru/upsate/dist_1.0.2.zip'; //ссылка на новую версию на сервере.
?>
Надеюсь тут комментарии не нужны.

Третий шаг создание .htaccess (если он у вас есть то просто добавьте следующий текс)

<Files "api.xml">
AddType application/x-httpd-php .xml
</Files>
Здесь мы заставляем apache выполнять наш api.xml как обычный php скрипт.
Всё работу с файлами у себя на сервере закончили.
Теперь напишем скрипт проверки обновлений и положим в движок который будем раздавать
<?php
function check_update($current_version){
$responses = 'https://sofa.ru/api.xml';// адрес к своему api.xml
$xml= simplexml_load_file($responses);
foreach ($xml->root as $item) {
$rez_a=str_replace('.','',$item->new_vers);
$rez_b=str_replace('.','',$current_version);
echo'Новая версия: '. $item->new_vers .'<br>';
echo'Ваша версия: '. $current_version.'<br>';
if($rez_a-$rez_b== 0){
echo 'Обновлений нет (((';
}else{
echo 'Доступно обновление<br>';
echo'Скачать: <a href="'. $item->update_url .'">'. $item->update_url .'</a> <br>';
echo'<textarea cols="48" rows="20">'. $item->news .'</textarea> ';
}
}
}
$dist='1.0.1';// установленная версия
check_update($dist);
?>

Это грубый пример скрипта проверки обновлений можно доработать я дал вариант который проще для меня, можно большинство переписать на mysql, но мне лень это делать да и не зачем в примере показывать лишний текст который вы наверняка знаете как осуществить.

Если вы заметили что код коряв, прошу поправить и высказать свое мнение.

Место для вашей рекламы (980х100)