Ejemplo n.º 1
0
function createAutoblog($type, $sitename, $siteurl, $rssurl)
{
    if ($type == 'generic' || empty($type)) {
        $var = updateType($siteurl);
        $type = $var['type'];
        if (!empty($var['name'])) {
            if (!stripos($siteurl, $var['name'] === false)) {
                $sitename = ucfirst($var['name']) . ' - ' . $sitename;
            }
        }
    }
    if (folderExists($siteurl, $rssurl)) {
        throw new Exception('Erreur : l\'autoblog ' . $sitename . ' existe déjà.');
    }
    $foldername = urlToFolder($siteurl, $rssurl);
    if (mkdir($foldername, 0755, false)) {
        $fp = fopen($foldername . '/index.php', 'w+');
        if (!fwrite($fp, "<?php require_once '../autoblog.php'; ?>")) {
            throw new Exception('Impossible d\'écrire le fichier index.php');
        }
        fclose($fp);
        $fp = fopen($foldername . '/vvb.ini', 'w+');
        if (!fwrite($fp, '[VroumVroumBlogConfig]
SITE_TYPE="' . $type . '"
SITE_TITLE="' . $sitename . '"
SITE_DESCRIPTION="Site original : <a href=\'' . $siteurl . '\'>' . $sitename . '</a>"
SITE_URL="' . $siteurl . '"
FEED_URL="' . $rssurl . '"
ARTICLES_PER_PAGE="' . getArticlesPerPage($type) . '"
UPDATE_INTERVAL="' . getInterval($type) . '"
UPDATE_TIMEOUT="' . getTimeout($type) . '"')) {
            throw new Exception('Impossible d\'écrire le fichier vvb.ini');
        }
        fclose($fp);
    } else {
        throw new Exception('Impossible de créer le répertoire.');
    }
    updateXML('new_autoblog_added', 'new', $foldername, $sitename, $siteurl, $rssurl);
    unlink(AUTOBLOGS_CACHE_FILENAME);
}
Ejemplo n.º 2
0
}
/* create an output array */
if ($method == 1) {
    /* standard deviation subroutine */
    if ($std_kills) {
        if (!$dryrun) {
            $new_output = updateXML($output, $rra);
        }
    } else {
        echo ($html ? "<tr><td colspan='20' class='spikekill_note'>" : "") . "NOTE: NO Standard Deviation Spikes found in '{$rrdfile}'" . ($html ? "</td></tr>\n" : "\n");
    }
} else {
    /* variance subroutine */
    if ($var_kills) {
        if (!$dryrun) {
            $new_output = updateXML($output, $rra);
        }
    } else {
        echo ($html ? "<tr><td colspan='20' class='spikekill_note'>" : "") . "NOTE: NO Variance Spikes found in '{$rrdfile}'" . ($html ? "</td></tr>\n" : "\n");
    }
}
/* finally update the file XML file and Reprocess the RRDfile */
if (!$dryrun) {
    if ($total_kills) {
        if (writeXMLFile($new_output, $xmlfile)) {
            if (backupRRDFile($rrdfile)) {
                createRRDFileFromXML($xmlfile, $rrdfile);
            } else {
                echo ($html ? "<tr><td colspan='20' class='spikekill_note'>" : "") . "FATAL: Unable to backup '{$rrdfile}'" . ($html ? "</td></tr>\n" : "\n");
            }
        } else {
Ejemplo n.º 3
0
/**
 * SVG
 **/
function check($folder)
{
    $randomtime = rand(86400, 259200);
    /* intervalle de mise à jour: de 1 à 3 jours  (pour éviter que le statut de tous les autoblogs soit rafraichi en bloc et bouffe le CPU) */
    $expire = time() - $randomtime;
    /* SVG minimalistes */
    $svg_ok = RESOURCES_FOLDER . 'icon-ok.svg';
    $svg_mv = RESOURCES_FOLDER . 'icon-mv.svg';
    $svg_err = RESOURCES_FOLDER . 'icon-err.svg';
    $errorlog = './' . $folder . '/error.log';
    $oldvalue = null;
    if (file_exists($errorlog)) {
        $oldvalue = file_get_contents($errorlog);
    }
    if (file_exists($errorlog) && filemtime($errorlog) < $expire) {
        unlink($errorlog);
    }
    /* errorlog périmé ? Suppression. */
    if (file_exists($errorlog)) {
        if (filesize($errorlog) == "0") {
            return $svg_ok;
        } else {
            if (filesize($errorlog) == "1") {
                return $svg_mv;
            } else {
                return $svg_err;
            }
        }
    } else {
        $ini = parse_ini_file("./" . $folder . "/vvb.ini") or die;
        $headers = get_headers($ini['FEED_URL']);
        if (!empty($headers)) {
            $code = explode(" ", $headers[0]);
        } else {
            $code = array();
        }
        /* le flux est indisponible (typiquement: erreur DNS ou possible censure) - à vérifier */
        if (empty($headers) || $headers === FALSE || !empty($code) && ($code[1] == '500' || $code[1] == '404')) {
            if ($oldvalue !== null && $oldvalue != '..') {
                updateXML('unavailable', 'nxdomain', $folder, $ini['SITE_TITLE'], $ini['SITE_URL'], $ini['FEED_URL']);
            }
            file_put_contents($errorlog, '..');
            return $svg_err;
        }
        /* code retour 200: flux disponible */
        if ($code[1] == "200") {
            if ($oldvalue !== null && $oldvalue != '') {
                updateXML('available', '200', $folder, $ini['SITE_TITLE'], $ini['SITE_URL'], $ini['FEED_URL']);
            }
            file_put_contents($errorlog, '');
            return $svg_ok;
        } else {
            if ($oldvalue !== null && $oldvalue != '.') {
                updateXML('moved', '3xx', $folder, $ini['SITE_TITLE'], $ini['SITE_URL'], $ini['FEED_URL']);
            }
            file_put_contents($errorlog, '.');
            return $svg_mv;
        }
    }
}