diff --git a/xsaf2.php b/xsaf2.php
index 67d622a..ec4da08 100755
--- a/xsaf2.php
+++ b/xsaf2.php
@@ -1,5 +1,5 @@
$expire)
- { echo "too early"; die; }
- else
- { unlink($lockfile); file_put_contents($lockfile, ''); }
-}
-else file_put_contents($lockfile, '');
+if (file_exists($lockfile)) {
+ if (filemtime($lockfile) > $expire) {
+ echo "too early";
+ die;
+ }else{
+ unlink($lockfile);
+ file_put_contents($lockfile, '');
+ }
+}else{
+ file_put_contents($lockfile, '');
+}
define('ROOT_DIR', __DIR__);
-function escape($str)
-{
+function escape($str) {
return htmlspecialchars($str, ENT_COMPAT, 'UTF-8', false);
}
-function serverUrl()
-{
+
+function serverUrl() {
$https = (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])=='on')) || $_SERVER["SERVER_PORT"]=='443'; // HTTPS detection.
$serverport = ($_SERVER["SERVER_PORT"]=='80' || ($https && $_SERVER["SERVER_PORT"]=='443') ? '' : ':'.$_SERVER["SERVER_PORT"]);
return 'http'.($https?'s':'').'://'.$_SERVER["SERVER_NAME"].$serverport;
}
-function NoProtocolSiteURL($url)
-{
+
+function NoProtocolSiteURL($url) {
$siteurlnoprototypes = array("http://", "https://");
$siteurlnoproto = str_replace($siteurlnoprototypes, "", $url);
return $siteurlnoproto;
}
-function xsafimport($xsafremote, $iter)
-{
-echo "\n*Traitement $xsafremote avec $iter créations max";
+
+function xsafimport($xsafremote, $iter) {
+ echo "\n*Traitement $xsafremote avec $iter créations max";
$json_import = file_get_contents($xsafremote);
- if(!empty($json_import)){
+ if(!empty($json_import)) {
$to_update=array();
foreach (json_decode($json_import) as $value) {
$infos="";
- if(count($value)==3 && !empty($value[0]) && !empty($value[1]) && !empty($value[2])){
-
+ if(count($value)==3 && !empty($value[0]) && !empty($value[1]) && !empty($value[2])) {
$sitename = $value[0];
$siteurl = escape($value[1]);
$rssurl = escape($value[2]);
- if(strpos($siteurl, 'twitter.com') !== FALSE or strpos($siteurl, 'identi.ca') !== FALSE or strpos($sitename, 'statusnet-') !== FALSE) {$social=TRUE;} else {$social=FALSE;}
- if($social==FALSE)
- {
+ if(strpos($siteurl, 'twitter.com') !== FALSE or strpos($siteurl, 'identi.ca') !== FALSE or strpos($sitename, 'statusnet-') !== FALSE) {$social=TRUE;} else {$social=FALSE;}
+ if($social==FALSE) {
$foldername = sha1(NoProtocolSiteURL($siteurl));
if(substr($siteurl, -1) == '/'){ $foldername2 = sha1(NoProtocolSiteURL(substr($siteurl, 0, -1))); }else{ $foldername2 = sha1(NoProtocolSiteURL($siteurl).'/');}
- }
- else
- {
+ } else{
$foldername = $sitename;$foldername2 = $sitename;
- }
+ }
$sitedomain1 = preg_split('/\//', $siteurl, 0);
$sitedomain2=$sitedomain1[2];
@@ -67,88 +65,97 @@ echo "\n*Traitement $xsafremote avec $iter créations max";
if ( mkdir('./'. $foldername, 0755, false) ) {
$fp = fopen('./'. $foldername .'/index.php', 'w+');
-$response = get_headers($rssurl, 1); // check for redirections
-if(!empty($response['Location']))
- { $result="false"; }
-else
-{
-$xml = simplexml_load_file($rssurl); // quick feed check
-if (isset($xml->entry)) // ATOM feed.
- {$result="true";}
-elseif (isset($xml->item)) // RSS 1.0 /RDF
- {$result="true";}
-elseif (isset($xml->channel->item)) // RSS 2.0
- {$result="true";}
-else
- {$result="false";}
-}
+ $response = get_headers($rssurl, 1); // check for redirections
+ if(!empty($response['Location'])) {
+ $result="false";
+ }else{
+ $xml = simplexml_load_file($rssurl); // quick feed check
+ if (isset($xml->entry)) { // ATOM feed.
+ $result="true";
+ }elseif (isset($xml->item)) { // RSS 1.0 /RDF
+ $result="true";
+ }elseif (isset($xml->channel->item)) { // RSS 2.0
+ $result="true";
+ }else{
+ $result="false";
+ }
+ }
-/* autoblog */
-if($social==FALSE and $result!=="false")
-{ $iter--;
- if( !fwrite($fp, "") ){
- $infos = "\nImpossible d'écrire le fichier index.php dans ".$foldername;
- fclose($fp);
- }else{
- fclose($fp);
- $fp = fopen('./'. $foldername .'/vvb.ini', 'w+');
- if( !fwrite($fp, '[VroumVroumBlogConfig]
+ /* autoblog */
+ if($social==FALSE and $result!=="false") {
+ $iter--;
+ if( !fwrite($fp, "") ) {
+ $infos = "\nImpossible d'écrire le fichier index.php dans ".$foldername;
+ fclose($fp);
+ }else{
+ 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 .'
C\'est un blog automatisé qui réplique les articles de '. $sitename .'"
SITE_URL="'. $siteurl .'"
FEED_URL="'. $rssurl .'"
DOWNLOAD_MEDIA_FROM='.$sitedomain) ){
- fclose($fp);
- $infos = "\nImpossible d'écrire le fichier vvb.ini dans ".$foldername;
- }else{
- fclose($fp);
- $infos = "\n$iter/autoblog crée avec succès : $foldername";
- $to_update[]=serverUrl().preg_replace("/(.*)\/(.*)$/i","$1/".$foldername , $_SERVER['SCRIPT_NAME']); // url of the new autoblog
+ fclose($fp);
+ $infos = "\nImpossible d'écrire le fichier vvb.ini dans ".$foldername;
+ }else{
+ fclose($fp);
+ $infos = "\n$iter/autoblog crée avec succès : $foldername";
+ $to_update[]=serverUrl().preg_replace("/(.*)\/(.*)$/i","$1/".$foldername , $_SERVER['SCRIPT_NAME']); // url of the new autoblog
+ }
}
}
-}
-/* automicroblog */
-else if($social!==FALSE and $result!=="false")
-{ $iter--;
- if( !fwrite($fp, "") ){
- $infos = "\nImpossible d'écrire le fichier index.php dans ".$foldername;
- fclose($fp);
- }else{
- fclose($fp);
- $fp = fopen('./'. $foldername .'/vvb.ini', 'w+');
- if( !fwrite($fp, '[VroumVroumBlogConfig]
+ /* automicroblog */
+ else if($social!==FALSE and $result!=="false"){
+ $iter--;
+ if( !fwrite($fp, "") ){
+ $infos = "\nImpossible d'écrire le fichier index.php dans ".$foldername;
+ fclose($fp);
+ }else{
+ fclose($fp);
+ $fp = fopen('./'. $foldername .'/vvb.ini', 'w+');
+ if( !fwrite($fp, '[VroumVroumBlogConfig]
SITE_TITLE="'. $sitename .'"
SITE_DESCRIPTION="AutoMicroblog automatisé de "
SITE_URL="'. $siteurl .'"
FEED_URL="'. $rssurl .'"') ){
- fclose($fp);
- $infos = "\nImpossible d'écrire le fichier vvb.ini dans ".$foldername;
- }else{
- fclose($fp);
- $infos = "\n$iter/automicroblog crée avec succès : $foldername";
- $to_update[]=serverUrl().preg_replace("/(.*)\/(.*)$/i","$1/".$foldername , $_SERVER['SCRIPT_NAME']); // url of the new autoblog
+ fclose($fp);
+ $infos = "\nImpossible d'écrire le fichier vvb.ini dans ".$foldername;
+ }else{
+ fclose($fp);
+ $infos = "\n$iter/automicroblog crée avec succès : $foldername";
+ $to_update[]=serverUrl().preg_replace("/(.*)\/(.*)$/i","$1/".$foldername , $_SERVER['SCRIPT_NAME']); // url of the new autoblog
+ }
}
+ } else {
+ $infos = "\n$rssurl -> flux invalide";
}
-
-} else { $infos = "\n$rssurl -> flux invalide"; }
-/* end of file writing */
+ /* end of file writing */
}else {
$infos = "\nImpossible de créer le répertoire ".$foldername;
}
- } else { /*$infos = "\nFin d'itération ou Le répertoire ".$foldername." existe déjà ($sitename;$siteurl;$rssurl)";*/ }
- if(DEBUG){ echo $infos; }
+ } else {
+ /*$infos = "\nFin d'itération ou Le répertoire ".$foldername." existe déjà ($sitename;$siteurl;$rssurl)";*/
+ }
+ if(DEBUG){
+ echo $infos;
+ }
}
}
/*if(!empty($to_update)){
- if(DEBUG){ echo "\nupdate of autoblogs ..."; }
+ if(DEBUG){
+ echo "\nupdate of autoblogs ...";
+ }
// because it's could be very long, we finish by updating new autoblogs
foreach ($to_update as $url) {
get_headers($url);
}
- if(DEBUG){ echo "done\n\n"; }
+ if(DEBUG){
+ echo "done\n\n";
+ }
}*/
}
-$iter=''; return;
+ $iter=''; return;
}
/* And now, the XSAF links to be imported, with maximal import per run ! */
@@ -156,6 +163,8 @@ xsafimport('https://raw.github.com/mitsukarenai/xsaf-bootstrap/master/2.json', 2
//xsafimport('https://www.ecirtam.net/autoblogs/?export', 2);
//xsafimport('https://autoblog.suumitsu.eu/?export', 1);
-if(DEBUG){ echo "\n\nXSAF import finished\n\n"; }
+if(DEBUG) {
+ echo "\n\nXSAF import finished\n\n";
+}
die;
?>