Пример #1
0
 private function update_news()
 {
     if (file_exists(guildnewsfeed::$cachefile)) {
         if (time() - guildnewsfeed::$updatetime * 60 < filemtime(guildnewsfeed::$cachefile)) {
             return;
         }
     }
     $fp = fopen(guildnewsfeed::$feedurl, "r");
     $inul = 0;
     $inli = 0;
     $line = 0;
     $li = array();
     while (!feof($fp)) {
         $input = fgets($fp);
         if (preg_match("/<ul class=\"activity-feed activity-feed-wide\">/", $input)) {
             $inul = 1;
         }
         if ($inul && preg_match("/<\\/ul>/", $input)) {
             $inul = 0;
         }
         if ($inul) {
             if (preg_match("/<li[^>]*>/", $input)) {
                 $inli = 1;
             }
             if ($inli) {
                 $li[$line] .= trim($input);
             }
             if ($inli && preg_match("/<\\/li>/", $input)) {
                 $inli = 0;
                 $line++;
             }
         }
     }
     fclose($fp);
     $fp = fopen(guildnewsfeed::$cachefile, "w");
     foreach ($li as $x) {
         fwrite($fp, guildnewsfeed::process($x) . "\n");
     }
     fclose($fp);
 }