Модуль для DLE, последние апдейты

Возврат к списку

TIc-PR-sajta.jpg

Здравствуйте уважаемые читатели, в сегодняшней статье речь пойдет о создании модуля для DLE "Последние апдейты". Модуль будет нас информировать о последних апдейтах ТИЦ, PR и ЯВ. Все значения мы будем грабить с популярного ресурса pr-cy.ru.

Модуль будет простой, без админки и состоит из 3 файлов: up.php , cronup.php , updates. Итак, подробнее о каждом файле.

Скрипт up.php будет выводить значения последних апдейтов в сайдбаре. Он парсит файл updates в котором заранее записаны даты последних апов и выводит данные.
Исходники up.php
<?php 
/* 
===================================================== 
Мод 
===================================================== 
Данный код защищен авторскими правами 
===================================================== 
Файл:  up.php 
---------------------------------------------------------- 
Назначение:  Updates 
===================================================== 
*/ 
if(!defined('DATALIFEENGINE')) 
{ 
  die("Hacking attempt!"); 
} 

                    if (!$up) { 

                     $ups =  @file(ROOT_DIR."/engine/modules/updates"); 



                     $ups = array_map("trim",$ups); 

                     if ($ups[0]==date("d.m.Y")){ 
                          $cy = "<b>$ups[0]</b>"; 
                          }else{ 
                          $cy = $ups[0]; 
                          } 

                          if ($ups[1]==date("d.m.Y")){ 
                          $pr = "<b>$ups[1]</b>"; 
                          }else{ 
                          $pr = $ups[1]; 
                          } 


                           if ($ups[2]==date("d.m.Y")){ 
                          $yav = "<b>$ups[2]</b>"; 
                          }else{ 
                          $yav = $ups[2]; 
                          } 


                 $up .= <<<HTML 
<table> 
<tr><td><span class="blue">G</span><span class="red">o</span><span class="yellow">o</span><span class="blue">g</span><span class="red">le</span> <span class="lar">PR</span></td><td><span class="date"><acronym>$pr</acronym></span></td></tr> 
<tr><td><span class="red">Я</span><b>ндекс</b> <span class="ar">тИЦ</span></td><td><span class="date"><acronym>$cy</acronym></span></td></tr> 
<tr><td><span class="ar">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;выдача</span></td><td><span class="date"><acronym>$yav</acronym></span></td></tr> 
</table> 
HTML; 


                    } 
?> 

Файл cronup.php является граббером, он грабит результаты последних апов с http://pr-cy.ru/updates.xml и записывает результат в файл updates
<?php 

$body = file_get_contents("http://pr-cy.ru/updates.xml"); 

preg_match("#<cy>(.*)</cy>#is",$body,$cy_match); 
preg_match("#<pr>(.*)</pr>#is",$body,$pr_match); 
preg_match("#<yav>(.*)</yav>#is",$body,$yav_match); 

$cy = trim($cy_match[1]); 
$pr = trim($pr_match[1]); 
$yav = trim($yav_match[1]); 

$fp = fopen ("updates", "w+"); 
fwrite ($fp, "$cy\r\n$pr\r\n$yav"); 
fclose ($fp); 


?> 
Для установки модуля, нужно залить файлы up.php, cronup.php и updates (установить права 777) в директорию engine/modules/. Затем открываем файл index.php .

Находим строку:
require_once ROOT_DIR.'/engine/init.php'; 
Ниже дописываем строку:
require_once ROOT_DIR.'/engine/modules/up.php'; 
Находим строку:
$tpl->set('{calendar}', $tpl->result['calendar']);
 Ниже дописываем строку:
$tpl->set('{up}',$up);
Для корректной работы модуля нужно выставить крон (1-2 часа) на файл engine/modules/cronup.php. Через каждые 2 часа граббер будет копировать информацию о последних апдейтах и записывать её в файл updates вот в таком виде:
xx.xx.xxxx - первая строка (дата последнего апа ТИЦ) 
xx.xx.xxxx - вторая строка (дата последнего апа PR) 
xx.xx.xxxx - третья строка ( дата последней ЯВ) 

Затем скрипт engine/modules/up.php обрабатывает содержимое файла updates и заменяет макрос {up} (этот макрос нужно предварительно вписать в шаблон сайта main.tpl) на результат. С помощью такого блогоинформера я и узнал о последнем апе ТИЦ, который состоялся 31 мая и ничего положительно для меня не принес(. Надо больше работать над продвижением и наращивать ссылочную массу.

Постовой: Вы знаете хоть какие нибудь известные слоганы?


Возврат к списку