Outils pour utilisateurs

Outils du site


php:autoblog2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
php:autoblog2 [2012-12-15 01:50] mitsuphp:autoblog2 [2013-01-23 21:04] (Version actuelle) mitsu
Ligne 2: Ligne 2:
  
  
-Autoblog listing 2012-12-15 +Autoblog listing (développement en cours avec [[https://www.ecirtam.net|Oros]])
  
-<file php index.php> +Licence: Domaine Public
-<?php+
  
-function get_title_from_feed($url) +Le code est désormais sur Github: https://github.com/mitsukarenai/ferme-autoblog/
-+
- // get site title from feed +
- $data = file_get_contents("$url"); +
- if($data === false) { die('url inaccessible'); +
- $dom = new DOMDocument; +
- $dom->loadXML($data) or die('xml malformé'); +
- $title = $dom->getElementsByTagName('title'); +
- return $title->item(0)->nodeValue; +
-+
- +
-function get_link_from_feed($url) +
-+
- // get site link from feed +
- $data = file_get_contents("$url"); +
- $check = substr($data, 0, 5); +
- if($check !== '<?xml') { die('n\'est pas un flux valide');+
- $xml = new SimpleXmlElement($data); +
- $channel['link'] = $xml->channel->link; +
- if($channel['link'] === NULL) +
-+
- $dom = new DOMDocument; +
- $dom->loadXML($data) or die('xml malformé'); +
- $link = $dom->getElementsByTagName('uri'); +
- return $link->item(0)->nodeValue; +
-+
- else +
-+
- return $channel['link']; +
-+
-+
- +
-if (isset($_GET['export'])) +
-// autoblog exporting +
-+
-header('Content-Type: application/json'); +
-$directory = "./"; +
-$subdirs = glob($directory . "*"); +
-foreach($subdirs as $unit) +
-+
-  if(is_dir($unit)) +
- +
- $unit=substr($unit, 2); +
- $ini = parse_ini_file($unit.'/vvb.ini'); +
- $config = new stdClass; +
- foreach ($ini as $key=>$value) +
-       +
- $key = strtolower($key); +
- $config->$key = $value; +
-+
- unset($ini); +
- $title=$config->site_title; +
- $url=$config->site_url; +
- $feed=$config->feed_url; +
- $reponse[$unit] = array("$title", "$url", "$feed"); +
- +
-+
-echo json_encode($reponse); +
-die; +
-+
- +
-define('ROOT_DIR', __DIR__); +
-function escape($str) +
-+
-    return htmlspecialchars($str, ENT_COMPAT, 'UTF-8', false); +
-+
- +
-$form = '<form method="POST"><input placeholder="Adresse du flux RSS/ATOM" type="text" name="rssurl" id="rssurl"><br> +
-            <input placeholder="Antibot: \'dix sept\' en chiffre" type="text" name="number" id="number"><br><input type="submit" value="Vérifier"></form>'; +
- +
- +
-if( !empty($_POST) ) { +
-    $error = array(); +
- if(empty($_POST['rssurl'])) +
- {$error[] = "Veuillez entrer l'adresse du flux.";+
- if(empty($_POST['number'])) +
- {$error[] = "Le chiffre. Écrivez le chiffre.";+
-    if($_POST['number'] !== '17'+
- {$error[] = "C'est pas le bon chiffre.";}  +
- +
- if(empty($error)) +
-+
- $rssurl = escape($_POST['rssurl']); +
- if(!empty($_POST['siteurl'])) +
-+
- // check done, writing out +
- $siteurl = escape($_POST['siteurl']);$foldername = sha1($siteurl);$sitename = get_title_from_feed($rssurl); +
- $sitedomain1 = preg_split('/\//', $siteurl, 0);$sitedomain2=$sitedomain1[2];$sitedomain3=explode(".", $sitedomain2);$sitedomain3=array_reverse($sitedomain3);$sitedomain = $sitedomain3[1].'.'.$sitedomain3[0]; +
- if(file_exists($foldername)) { die('Erreur: l\'autoblog <a href="./'.$foldername.'/">existe déjà</a>.');+
- if ( mkdir('./'. $foldername, 0755, false) ) { +
-                $fp = fopen('./'. $foldername .'/index.php', 'w+'); +
-                if( !fwrite($fp, "<?php require_once dirname(__DIR__) . '/autoblog.php'; ?>") ) +
-                    $error[] = "Impossible d'écrire le fichier index.php"; +
-                fclose($fp); +
-                $fp = fopen('./'. $foldername .'/vvb.ini', 'w+'); +
-                if( !fwrite($fp, '[VroumVroumBlogConfig] +
-SITE_TITLE="'. $sitename .'" +
-SITE_DESCRIPTION="Ce site n\'est pas le site officiel de '. $sitename .'<br>C\'est un blog automatis&eacute; qui r&eacute;plique les articles de <a href="'. $siteurl .'">'. $sitename .'</a>" +
-SITE_URL="'. $siteurl .'" +
-FEED_URL="'. $rssurl .'" +
-DOWNLOAD_MEDIA_FROM='.$sitedomain) ) +
-                    $error[] = "Impossible d'écrire le fichier vvb.ini"; +
-                fclose($fp); +
- $error[] = '<b style="color:darkgreen">autoblog crée avec succès.</b> &rarr; <a href="'.$foldername.'">initialiser l\'autoblog</a>'; +
-            } +
-            else  +
-                $error[] = "Impossible de créer le répertoire."; +
- +
-  +
-+
- else +
-+
- // checking procedure +
- $siteurl = get_link_from_feed($rssurl);$foldername = sha1($siteurl);$sitename = get_title_from_feed($rssurl); +
- $sitedomain1 = preg_split('/\//', $siteurl, 0);$sitedomain2=$sitedomain1[2];$sitedomain3=explode(".", $sitedomain2);$sitedomain3=array_reverse($sitedomain3);$sitedomain = $sitedomain3[1].'.'.$sitedomain3[0]; +
- if(file_exists($foldername)) { die('Erreur: l\'autoblog <a href="./'.$foldername.'/">existe déjà</a>.');+
- $form = '<span style="color:blue">Merci de vérifier les informations suivantes, corrigez si nécessaire.</span><br> +
- <form method="POST"><input style="color:black" type="text" id="sitename" value="'.$sitename.'" disabled><label for="sitename">&larr; titre du site (auto)</label><br>  +
- <input placeholder="Adresse du site" type="text" name="siteurl" id="siteurl" value="'.$siteurl.'"><label for="siteurl">&larr; page d\'accueil (auto)</label><br> +
-            <input placeholder="Adresse du flux RSS/ATOM" type="text" name="rssurl" id="rssurl" value="'.$rssurl.'"><label for="rssurl">&larr; adresse du flux</label><br> +
-            <input placeholder="Antibot: \'dix sept\' en chiffre" type="text" name="number" id="number" value="17"><label for="number">&larr; antibot</label><br><input type="submit" value="Créer"></form>'; +
-+
- +
-+
-+
-?> +
-<!DOCTYPE html> +
-<html lang="en" dir="ltr"> +
- <head> +
- <meta charset="utf-8"> +
-    <title>Le Projet Autoblog</title> +
- <style type="text/css"> +
- body {background-color:#efefef;text-align:center;color:#333;+
- a {color:black;text-decoration:none;font-weight:bold;+
- a:hover {color:darkred;+
- h1 { text-align:center;font-size:40pt;text-shadow: #ccc 0px 5px 5px; } +
- h2 { text-align:center;font-size: 16pt;margin:0 0 1em 0;font-style:italic;text-shadow: #ccc 0px 5px 5px; } +
- .pbloc {background-color:white;padding: 12px 10px 12px 10px;border:1px solid #aaa;max-width:70em;margin:1em auto;word-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;text-align:justify;box-shadow:0px 5px 7px #aaa;} +
- input {width:30em;+
- .vignette { width:20em;float:left;margin:0; padding:20px;background-color:#eee;border: 1px solid #888;} +
- .vignette .title { font-size: 14pt;font-style:italic;text-shadow: #ccc 0px 5px 5px;} +
- .vignette .title a:hover { color:darkred; text-decoration:none;+
- .vignette .source { font-style:italic;font-size:x-small;+
- .vignette .source a:hover { color:darkred; text-decoration:none;+
- .clear {clear:both;text-align:right;font-size:small;+
- #logo {float: right;} +
- </style> +
-</head> +
- <body> +
- <h1>Le Projet Autoblog</h1> +
- <div class="pbloc"> +
- <img id="logo" src="./logo.svg" alt=""> +
- <b>Note</b><br> +
- Voici une liste d'autoblogs hébergés sur <i><?php echo $_SERVER['SERVER_NAME']; ?></i> (<a href="http://sebsauvage.net/streisand.me/">plus d'infos sur le projet</a>).<br><br> +
- <b>Autres fermes</b><br> +
- &rarr; <a href="https://duckduckgo.com/?q=!g %22Voici une liste d'autoblogs hébergés%22">Rechercher</a><br><br> +
- <b>Ajouter votre site</b><br> +
-<?php +
-if( !empty( $error )) { +
-    echo '<p>Erreur(s) :</p><ul>'; +
-    foreach ( $error AS $value ) { +
-        echo '<li>'. $value .'</li>'; +
-    } +
-    echo '</ul>'; +
-+
-?> +
-Si vous souhaitez que <i><?php echo $_SERVER['SERVER_NAME']; ?></i> héberge un autoblog de votre site, remplissez le formulaire suivant:<br><br> +
- <?php echo $form; ?> +
-</div> +
-<div class="pbloc"> +
-<h2>Autoblogs hébergés</h2> +
-<div class="clear"><a href="?export">export<sup> JSON</sup></a></div> +
-<?php +
-$directory = "./"; +
-$subdirs = glob($directory . "*"); +
-foreach($subdirs as $unit) +
-+
- if(is_dir($unit)) +
- { +
- $ini = parse_ini_file(ROOT_DIR . '/' . $unit . '/vvb.ini'); +
- $config = new stdClass; +
- $unit=substr($unit, 2); +
- foreach ($ini as $key=>$value) +
-        { +
-            $key = strtolower($key); +
-            $config->$key = $value; +
-        } +
-        unset($ini); +
- echo ' +
- <div class="vignette"> +
- <div class="title"><a href="'.$unit.'/">'.escape($config->site_title).'</a></div> +
- <div class="source"><a href="'.$unit.'/vvb.ini">config</a> | source: <a href="'.escape($config->site_url).'">'.escape($config->site_url).'</a></div> +
- </div>'; +
- } +
-+
-?> +
-<div class="clear"></div> +
-</div> +
-Autoblogs propulsés par <a href="http://autoblog.kd2.org/source.txt">VroumVroumBlog 0.2.10</a> [SQLite] (Domaine Public)<br><a href="http://wiki.suumitsu.eu/doku.php?id=php:autoblog2">index 2</a> inspiré de <a href="http://wiki.hoa.ro/doku.php?id=web%3Aferme-autoblog">Ferme d'Autoblog</a> (Arthur Hoaro, Creative Commons by 3.0) +
-</body> +
-</html> +
-</file>+
php/autoblog2.1355536256.txt.gz · Dernière modification : (modification externe)