diff --git a/0.3/README.md b/0.3/README.md index e7eaa76..1a0fa83 100755 --- a/0.3/README.md +++ b/0.3/README.md @@ -3,7 +3,7 @@ Projet Autoblog serie 0.3 - version VroumVroumBlog 0.3.0 BETA -Auteurs: Mitsu (https://www.suumitsu.eu/) & Oros (https://www.ecirtam.net/) +Auteurs: Mitsu (https://www.suumitsu.eu/), Oros (https://www.ecirtam.net/) et Arthur Hoaro (http://hoa.ro) Licence: Domaine Public diff --git a/0.3/functions.php b/0.3/functions.php index 9a83b1c..6166b92 100755 --- a/0.3/functions.php +++ b/0.3/functions.php @@ -20,13 +20,15 @@ function NoProtocolSiteURL($url) { function DetectRedirect($url) { if(parse_url($url, PHP_URL_HOST)==FALSE) { - die('Not a URL'); + //die('Not a URL'); + return array( 'error' => 'Not a URL: '. escape ($url) ); } $response = get_headers($url, 1); if(!empty($response['Location'])) { $response2 = get_headers($response['Location'], 1); if(!empty($response2['Location'])) { - die('too much redirection'); + //die('too much redirection'); + return array( 'error' => 'too much redirection: '. escape ($url) ); } else { return $response['Location']; } } diff --git a/0.3/index.php b/0.3/index.php index 7c6fe42..adf80c5 100755 --- a/0.3/index.php +++ b/0.3/index.php @@ -5,7 +5,7 @@ Authors: Mitsu https://www.suumitsu.eu/ Oros https://www.ecirtam.net/ - Arthur Hoaro http://aryo.fr + Arthur Hoaro http://hoa.ro License: Public Domain Instructions: @@ -104,15 +104,19 @@ function create_from_opml($opml) { foreach( $opml->body->outline as $outline ) { if ( !empty( $outline['title'] ) && !empty( $outline['text'] ) && !empty( $outline['xmlUrl']) && !empty( $outline['htmlUrl'] )) { - $siteurl = escape($outline['htmlUrl']); - $sitetype = escape($outline['text']); if ( $sitetype == 'generic' or $sitetype == 'microblog' or $sitetype == 'shaarli') { } else { $sitetype = 'generic'; } $rssurl = DetectRedirect(escape( $outline['xmlUrl'])); - $sitename = escape( $outline['title'] ); + if( isset($rssurl['error']) ) + $error[] = $rssurl['error']; + else { + $sitename = escape( $outline['title'] ); + $siteurl = escape($outline['htmlUrl']); + $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 ) ); - $error = array_merge( $error, createAutoblog( $sitetype, $sitename, $siteurl, $rssurl, $error ) ); - - if( empty ( $error )) - $success[] = 'Autoblog "'. $sitename .'" crée avec succès. → afficher l\'autoblog.'; + if( empty ( $error )) + $success[] = 'Autoblog "'. $sitename .'" crée avec succès. → afficher l\'autoblog.'; + } } } } @@ -342,43 +346,52 @@ if(!empty($_GET['via_button']) && $_GET['number'] === '17' && ALLOW_NEW_AUTOBLOG else { if(isset($_GET['add']) && $_GET['add'] === '1' && !empty($_GET['siteurl']) && !empty($_GET['sitename'])) { $rssurl = DetectRedirect(escape($_GET['rssurl'])); - $siteurl = escape($_GET['siteurl']); - $sitename = escape($_GET['sitename']); - $sitetype = escape($_GET['type']); - - $error = array_merge( $error, createAutoblog($sitetype, $sitename, $siteurl, $rssurl, $error)); - if( empty($error)) { - $form .= ''; - $form .= '

Autoblog '. $sitename .' ajouté avec succès.
'; - } + if( isset($rssurl['error']) ) + $form .= '

Erreur : '. $rssurl['error'] .'
'; else { - $form .= '

'; + $siteurl = escape($_GET['siteurl']); + $sitename = escape($_GET['sitename']); + $sitetype = updateType($siteurl); // Disabled input doesn't send POST data + $sitetype = $sitetype['type']; + + $error = array_merge( $error, createAutoblog($sitetype, $sitename, $siteurl, $rssurl, $error)); + if( empty($error)) { + $form .= ''; + $form .= '

Autoblog '. $sitename .' ajouté avec succès.
'; + } + else { + $form .= '

'; + } } - $form .= 'Fermer la fenêtre.

'; + $form .= 'Fermer la fenêtre.

'; } else { $rssurl = DetectRedirect(escape($_GET['rssurl'])); - $datafeed = file_get_contents($rssurl); - if( $datafeed !== false ) { - $siteurl = get_link_from_datafeed($datafeed); - $sitename = get_title_from_datafeed($datafeed); - $sitetype = updateType($_GET['type']); - $sitetype = $sitetype['type']; - - $form .= 'Merci de vérifier les informations suivantes, corrigez si nécessaire.
-
- -
-
-
-
-
'; - } + if( isset($rssurl['error']) ) + $form .= '

Erreur : '. $rssurl['error'] .'
Fermer la fenêtre.

'; else { - $form .= '

URL du flux RSS incorrecte.
Fermer la fenêtre.

'; + $datafeed = file_get_contents($rssurl); + if( $datafeed !== false ) { + $siteurl = get_link_from_datafeed($datafeed); + $sitename = get_title_from_datafeed($datafeed); + $sitetype = updateType($siteurl); + $sitetype = $sitetype['type']; + + $form .= 'Merci de vérifier les informations suivantes, corrigez si nécessaire.
+
+ +
+
+
+
+
'; + } + else { + $form .= '

URL du flux RSS incorrecte.
Fermer la fenêtre.

'; + } } } } @@ -419,16 +432,19 @@ if(!empty($_POST['socialaccount']) && !empty($_POST['socialinstance']) && ALLOW_ $rssurl = $siteurl."?do=rss"; $socialaccount = get_title_from_feed($rssurl); } - - $headers = get_headers($rssurl, 1); - if (strpos($headers[0], '200') == FALSE) { - $error[] = "Flux inaccessible (compte inexistant ?)"; - } - if( empty($error) ) { - $error = array_merge( $error, createAutoblog($sitetype, ucfirst($socialinstance) .' - '. $socialaccount, $siteurl, $rssurl, $error)); - if( empty($error)) - $success[] = ''.ucfirst($socialinstance) .' - '. $socialaccount.' ajouté avec succès.'; + + if( !isset($rssurl['error']) && !isset($siteurl['error']) ) { + $headers = get_headers($rssurl, 1); + if (strpos($headers[0], '200') == FALSE) { + $error[] = "Flux inaccessible (compte inexistant ?)"; + } + if( empty($error) ) { + $error = array_merge( $error, createAutoblog($sitetype, ucfirst($socialinstance) .' - '. $socialaccount, $siteurl, $rssurl, $error)); + if( empty($error)) + $success[] = ''.ucfirst($socialinstance) .' - '. $socialaccount.' ajouté avec succès.'; + } } + else $error[] = (isset($rssurl['error'])) ? $rssurl['error'] : $siteurl['error']; } else $error[] = 'Antibot : Chiffres incorrects.'; @@ -447,37 +463,40 @@ if( !empty($_POST['generic']) && ALLOW_NEW_AUTOBLOGS && ALLOW_NEW_AUTOBLOGS_BY_L if(empty($error)) { $rssurl = DetectRedirect(escape($_POST['rssurl'])); + if( !isset($rssurl['error']) ) { + if(!empty($_POST['siteurl'])) { - if(!empty($_POST['siteurl'])) { - $siteurl = escape($_POST['siteurl']); - $sitename = get_title_from_feed($rssurl); + $siteurl = escape($_POST['siteurl']); + $sitename = get_title_from_feed($rssurl); - $error = array_merge( $error, createAutoblog('generic', $sitename, $siteurl, $rssurl, $error)); + $error = array_merge( $error, createAutoblog('generic', $sitename, $siteurl, $rssurl, $error)); - if( empty($error)) - $success[] = 'Autoblog '. $sitename .' crée avec succès.afficher l\'autoblog'; - } - else { - // checking procedure - $rssurl = DetectRedirect($rssurl); - $datafeed = file_get_contents($rssurl); - if( $datafeed === false ) { - $error[] = 'URL "'. $rssurl .'" inaccessible.'; - } - $sitetype = 'generic'; - $siteurl = get_link_from_datafeed($datafeed); - $sitename = get_title_from_datafeed($datafeed); + if( empty($error)) + $success[] = 'Autoblog '. $sitename .' crée avec succès.afficher l\'autoblog'; + } + else { + // checking procedure + + $datafeed = file_get_contents($rssurl); + if( $datafeed === false ) { + $error[] = 'URL "'. $rssurl .'" inaccessible.'; + } + $sitetype = 'generic'; + $siteurl = get_link_from_datafeed($datafeed); + $sitename = get_title_from_datafeed($datafeed); - $form = 'Merci de vérifier les informations suivantes, corrigez si nécessaire.
-
-
-
-
-
-
-
'; - - } + $form = 'Merci de vérifier les informations suivantes, corrigez si nécessaire.
+
+
+
+
+
+
+
'; + + } + } + else $error[] = $rssurl['error']; } } @@ -770,7 +789,7 @@ if( !empty($_POST['opml_file']) && ALLOW_NEW_AUTOBLOGS && ALLOW_NEW_AUTOBLOGS_BY ".count($autoblogs)." autoblogs hébergés

"; ?> - Propulsé par Projet Autoblog 0.3 de Mitsu, Oros et Arthur Hoaro (Domaine Public) + Propulsé par Projet Autoblog 0.3 de Mitsu, Oros et Arthur Hoaro (Domaine Public) ".$HTML_footer; } ?> diff --git a/0.3/xsaf3.php b/0.3/xsaf3.php index 2c68c7b..48de197 100755 --- a/0.3/xsaf3.php +++ b/0.3/xsaf3.php @@ -6,7 +6,6 @@ define('AUTOBLOG_FILE_NAME', 'autoblog.php'); define('ALLOW_REMOTE_DB_DL', false); define('ALLOW_REMOTE_MEDIA_DL', false); define('EXEC_TIME', 5); -define( 'ALLOW_NEW_AUTOBLOGS_BY_XSAF', TRUE ); header("HTTP/1.0 403 Forbidden"); /* Uncivilized method to prevent bot indexing, huh :) */ header('X-Robots-Tag: noindex'); /* more civilized method, but bots may not all take into account */