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

Здравствуйте уважаемые читатели, в сегодняшней статье речь пойдет о создании модуля для 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 мая и ничего положительно для меня не принес(. Надо больше работать над продвижением и наращивать ссылочную массу.

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

Понравилась статья?

Подписка на обновления блога через RSS ленту или по электронной почте, а так же следуй за мной .

RotaPost - Эффективная реклама в блогах

Ваш комментарий

О блоге

Здравствуйте! Меня зовут Михаил.Раньше я называл себя Новороссийским бомжем, но решил немного отойти от этого. Теперь мой блог - это Блог PHP программиста. Я уже 3 года занимаюсь PHP программированием. С недавнего времени создаю и продвигаю web сайты. Среди собственных разработок — самописная CMS, работающая на файлах, CMS для создания online тестов и т.д.

Подробнее о блоге

Связаться со мной