diff --git a/0.3/autoblog.css b/0.3/autoblog.css new file mode 100644 index 0000000..e870beb --- /dev/null +++ b/0.3/autoblog.css @@ -0,0 +1,28 @@ +body {background-color:#efefef;text-align:center;color:#333;font-family:sans-serif;} +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;text-align:justify;box-shadow:0px 5px 7px #aaa;} +input {width:30em;} +input[type="radio"] {width:1em;} +input[type="submit"] {width:8em;} +input[type="text"]#socialaccount, input[type="text"]#statusneturl, input[type="text"]#shaarliurl,input[type="text"].smallinput {width:20em;} +div.form {padding:0.2em;border:1px solid #fff;} +div.form:hover {background-color:#FAF4DA;border:1px dotted;} +.vignette {width:20em;height:2em;float:left;margin:0; padding:20px;background-color:#eee;border: 1px solid #888;} +.vignette:hover {background-color:#fff;} +.vignette .title {font-size: 14pt;text-shadow: #ccc 0px 5px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} +.vignette .title a:hover {color:darkred; text-decoration:none;} +.vignette .source {font-size:x-small;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} +.vignette .source a:hover {color:darkred; text-decoration:none;} +.clear {clear:both;text-align:right;font-size:small;} +#logo {float: right;} +.bouton{background: -moz-linear-gradient(center top , #EDEDED 5%, #DFDFDF 100%) repeat scroll 0 0 #EDEDED;border: 1px none;padding: 10px;border: 1px solid #7777777;border-radius: 8px 8px 8px 8px;box-shadow: 0 1px 0 0 #FFFFFF inset;display: inline-block;} +.success {color: green;} +.error {color: red;} +.button_list{display:none;} +.button{-moz-box-shadow:inset 0 1px 0 0 #d9fbbe;-webkit-box-shadow:inset 0 1px 0 0 #d9fbbe;box-shadow:inset 0 1px 0 0 #d9fbbe;background:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b8e356',endColorstr='#a5cc52');background-color:#b8e356;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #83c41a;display:inline-block;color:#fff;font-family:arial;font-size:14px;font-weight:700;text-decoration:none;text-shadow:1px 1px 0 #86ae47;padding:6px 24px;} +.button:hover{background:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#a5cc52',endColorstr='#b8e356');background-color:#a5cc52;} +.button:active{position:relative;top:1px;} +.buttonactive{background-color:#aaa;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #83c41a;display:inline-block;color:#fff;font-family:arial;font-size:14px;font-weight:700;text-decoration:none;text-shadow:1px 1px 0 #86ae47;padding:6px 24px;} \ No newline at end of file diff --git a/0.3/index.php b/0.3/index.php index 8b6feb5..ba180da 100755 --- a/0.3/index.php +++ b/0.3/index.php @@ -2,7 +2,7 @@ /* Projet Autoblog 0.3-beta Code: https://github.com/mitsukarenai/Projet-Autoblog - Authors: + Authors: Mitsu https://www.suumitsu.eu/ Oros https://www.ecirtam.net/ Arthur Hoaro http://hoa.ro @@ -56,14 +56,14 @@ function get_link_from_feed($url) { function get_link_from_datafeed($data) { if($data === false) { return 'url inaccessible'; } $xml = simplexml_load_string($data); // quick feed check - + // ATOM feed && RSS 1.0 /RDF && RSS 2.0 - if (!isset($xml->entry) && !isset($xml->item) && !isset($xml->channel->item)) - die('le flux n\'a pas une syntaxe valide'); + if (!isset($xml->entry) && !isset($xml->item) && !isset($xml->channel->item)) + die('le flux n\'a pas une syntaxe valide'); $check = substr($data, 0, 5); - if($check !== 'body->outline as $outline ) { if ( !empty( $outline['title'] ) && !empty( $outline['text'] ) && !empty( $outline['xmlUrl']) && !empty( $outline['htmlUrl'] )) { try { $rssurl = DetectRedirect(escape( $outline['xmlUrl'])); - - $sitename = escape( $outline['title'] ); + + $sitename = escape( $outline['title'] ); $siteurl = escape($outline['htmlUrl']); - $sitetype = escape($outline['text']); if ( $sitetype == 'generic' or $sitetype == 'microblog' or $sitetype == 'shaarli') { } else { $sitetype = 'generic'; } + $sitetype = escape($outline['text']); if ( $sitetype == 'generic' or $sitetype == 'microblog' or $sitetype == 'shaarli') { } else { $sitetype = 'generic'; } $error = array_merge( $error, createAutoblog( $sitetype, $sitename, $siteurl, $rssurl, $error ) ); - + if( empty ( $error )) $success[] = 'Autoblog "'. $sitename .'" crée avec succès. → afficher l\'autoblog.'; } @@ -133,23 +133,23 @@ function create_from_opml($opml) { **/ function versionCheck() { $versionfile = 'version'; - $lastestUrl = 'https://raw.github.com/mitsukarenai/Projet-Autoblog/master/0.3/version'; - + $lastestUrl = 'https://raw.github.com/mitsukarenai/Projet-Autoblog/master/0.3/version'; + $expire = time() - 84600 ; // 23h30 en secondes $lockfile = '.versionlock'; - + if (file_exists($lockfile) && filemtime($lockfile) > $expire) { if( file_get_contents($lockfile) == 'NEW' ) { // No new version installed if( filemtime( $lockfile ) > filemtime( $versionfile ) ) return true; else unlink($lockfile); - } + } else return false; - } - + } + if (file_exists($lockfile) && filemtime($lockfile) < $expire) { unlink($lockfile); } - + if( file_get_contents($versionfile) != file_get_contents($lastestUrl) ) { file_put_contents($lockfile, 'NEW'); return true; @@ -191,14 +191,14 @@ if (isset($_GET['check'])) $svg_twitter=''; $svg_identica=''; $svg_statusnet=''; - + $errorlog="./".escape( $_GET['check'] ) ."/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)) /* errorlog existe encore ? se contenter de lire sa taille pour avoir le statut */ - { + { if(filesize($errorlog) == "0") {die($svg_vert);} else if(filesize($errorlog) == "1") {die($svg_jaune);} else {die($svg_rouge);} @@ -219,9 +219,9 @@ if (isset($_GET['check'])) $rss = new AutoblogRSS(RSS_FILE); $rss->addUnavailable($ini['SITE_TITLE'], escape($_GET['check']), $ini['SITE_URL'], $ini['FEED_URL']); } - file_put_contents($errorlog, '..'); - die($svg_rouge); - } + file_put_contents($errorlog, '..'); + die($svg_rouge); + } $code=explode(" ", $headers[0]); /* code retour 200: flux disponible */ if($code[1] == "200") { @@ -230,9 +230,9 @@ if (isset($_GET['check'])) $rss = new AutoblogRSS(RSS_FILE); $rss->addAvailable($ini['SITE_TITLE'], escape($_GET['check']), $ini['SITE_URL'], $ini['FEED_URL']); } - file_put_contents($errorlog, ''); + file_put_contents($errorlog, ''); die($svg_vert); - } + } /* autre code retour: un truc a changé (redirection, changement de CMS, .. bref vvb.ini doit être corrigé) */ else { if( $oldvalue !== null && $oldvalue != '.' ) { @@ -240,9 +240,9 @@ if (isset($_GET['check'])) $rss = new AutoblogRSS(RSS_FILE); $rss->addCodeChanged($ini['SITE_TITLE'], escape($_GET['check']), $ini['SITE_URL'], $ini['FEED_URL'], $code[1]); } - file_put_contents($errorlog, '.'); + file_put_contents($errorlog, '.'); die($svg_jaune); - } + } } } @@ -253,23 +253,23 @@ if (isset($_GET['export'])) { header('Content-Type: application/json'); $directory = "./"; $subdirs = glob($directory . "*"); - + foreach($subdirs as $unit) { if(is_dir($unit) && strpos($unit.'/', DOC_FOLDER) === FALSE) { $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); - + $feed=$config->feed_url; $type=$config->site_type; $title=$config->site_title; - $url=$config->site_url; + $url=$config->site_url; $reponse[$unit] = array("SITE_TYPE"=>"$type", "SITE_TITLE"=>"$title", "SITE_URL"=>"$url", "FEED_URL"=>"$feed"); } @@ -321,13 +321,13 @@ if (isset($_GET['exportopml'])) // OPML $directory = "./"; $subdirs = glob($directory . "*"); - + foreach($subdirs as $unit) { - if(is_dir($unit) && strpos($unit.'/', DOC_FOLDER) === FALSE) { + if(is_dir($unit) && strpos($unit.'/', DOC_FOLDER) === FALSE) { $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; @@ -377,30 +377,30 @@ if (isset($_GET['sitemap'])) if( isset($_GET['updateall']) && ALLOW_FULL_UPDATE) { $expire = time() - 84600 ; // 23h30 en secondes - $lockfile = ".updatealllock"; + $lockfile = ".updatealllock"; if (file_exists($lockfile) && filemtime($lockfile) > $expire) { echo "too early"; die; - } + } else { if( file_exists($lockfile) ) unlink($lockfile); - + if( file_put_contents($lockfile, date(DATE_RFC822)) ===FALSE) { echo "Merci d'ajouter des droits d'écriture sur le fichier."; die; - } + } } - + $directory = "./"; $subdirs = glob($directory . "*"); foreach($subdirs as $unit) { if(is_dir($unit) && strpos($unit.'/', DOC_FOLDER) === FALSE) { if( !file_exists(ROOT_DIR . '/' . $unit . '/.disabled')) { - file_get_contents(serverUrl() . substr($_SERVER['PHP_SELF'], 0, -9) . $unit . '/index.php'); + file_get_contents(serverUrl() . substr($_SERVER['PHP_SELF'], 0, -9) . $unit . '/index.php'); } } - } + } } $antibot = generate_antibot(); @@ -417,20 +417,20 @@ $form = '
'; - } + } else { $form .= 'URL du flux RSS incorrecte.
Fermer la fenêtre.
@@ -702,13 +672,13 @@ if( !empty($_POST['opml_file']) && ALLOW_NEW_AUTOBLOGS && ALLOW_NEW_AUTOBLOGS_BY
Si l'article source est supprimé, et même si le site d'origine disparaît, les articles restent lisibles sur l'autoblog.
L'objectif premier de ce projet est de lutter contre la censure et toute sorte de pression...
- Voici une liste d'autoblogs hébergés sur + Voici une liste d'autoblogs hébergés sur (plus d'infos sur le projet). -
+
Si vous souhaitez que héberge un autoblog d'un site,
remplissez le formulaire suivant: