Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if (!ini_get('allow_url_fopen')) {
- die();
- }
- $handle = fopen('http://www.cctld.uz/rss/', 'rb');
- if ($handle) {
- $rss = stream_get_contents($handle);
- }
- fclose($handle);
- define('PUBS_FILE_NAME', 'names.xml');
- if (is_file(PUBS_FILE_NAME)) {
- if ($pubsFile = fopen(PUBS_FILE_NAME, 'rb')) {
- $pubsFile = fread($pubsFile, filesize(PUBS_FILE_NAME));
- if ($pubsFile) {
- $pubsFile = new SimpleXmlElement($pubsFile, LIBXML_NOCDATA);
- }
- }
- } else {
- $pubsFile = new DOMDocument("1.0", "UTF-8");
- $pubsFile->formatOutput = true;
- $tmpPubsFile = '';
- }
- $rss = new SimpleXmlElement($rss, LIBXML_NOCDATA);
- if(isset($rss->channel->item)) parseRSS($rss);
- function parseRSS($rss) {
- global $pubsFile, $tmpPubsFile;
- foreach ($rss->channel->item as $e) {
- if ( stripos((string)$e->title[0], 'новые') !== false ) {
- writeRssData($e->pubDate, $e->description);
- }
- }
- # write data stored in $pubsFile variable
- $pubsFile = new DOMDocument();
- $pubsFile->loadXML($tmpPubsFile);
- $pubsFile->save(PUBS_FILE_NAME);
- }
- function writeRssData($pubDate, $description){
- global $pubsFile, $tmpPubsFile;
- $day = date('d', strtotime($pubDate));
- $month = date('F', strtotime($pubDate));
- $year = date('Y', strtotime($pubDate));
- if (isset($pubsFile->data)) {
- # open & read
- echo 'file';
- } else {
- if ($pubsFile->getElementById($pubDate) === NULL) {
- $data = $pubsFile->getElementsByTagName('data')->item(0);
- #if ($data->length == 0) {
- if (!$data) {
- $data = $pubsFile->createElement("data");
- }
- $pubsFile->appendChild($data);
- #if ($pubsFileYears->length == 0){
- $pubsFileYears = $pubsFile->getElementsByTagName('years')->item(0);
- if (!$pubsFileYears){
- $pubsFileYears = $pubsFile->createElement('years');
- $pubsFileYearsId = $pubsFile->createAttribute('id');
- $pubsFileYearsId->value = 'years';
- $pubsFileYears->value = $pubsFileYearsId;
- }
- $data->appendChild($pubsFileYears);
- $pubsFileYear = $pubsFile->getElementById($year);
- if (!$pubsFileYear) {
- $pubsFileYear = $pubsFile->createElement('year');
- $pubsFileYearId = $pubsFile->createAttribute('id');
- $pubsFileYearId->value = $year;
- $pubsFileYear->appendChild($pubsFileYearId);
- }
- $pubsFileYears->appendChild($pubsFileYear);
- $pubsFileMonth = $pubsFile->getElementById(date('m', strtotime($pubDate)).'.'.$year);
- if ($pubsFileMonth === NULL) {
- $pubsFileMonth = $pubsFile->createElement('month');
- $pubsFileMonthId = $pubsFile->createAttribute('id');
- $pubsFileMonthId->value = date('m', strtotime($pubDate)).'.'.$year;
- $pubsFileMonth->appendChild($pubsFileMonthId);
- }
- $pubsFileYear->appendChild($pubsFileMonth);
- $pubsFileDay = $pubsFile->createElement('day');
- $pubsFileDayId = $pubsFile->createAttribute('id');
- $pubsFileDayId->value = $day.'.'.date('m', strtotime($pubDate)).'.'.$year;
- $pubsFileDay->appendChild($pubsFileDayId);
- $pubsFileDescription = $pubsFile->createTextNode($description);
- $pubsFileDay->appendChild($pubsFileDescription);
- $pubsFileMonth->appendChild($pubsFileDay);
- $data->appendChild($pubsFileYears);
- $tmpPubsFile .= $data->ownerDocument->saveXML();
- #$tmpPubsFile = $pubsFile->saveXML();
- /*$pubsFile = new DOMDocument("1.0", "UTF-8");
- $tmpPubsFile = $pubsFile->importNode($data, TRUE);
- $pubsFile->appendChild($tmpPubsFile);*/
- #$pubsFile->loadXML($tmpPubsFile);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement