Minor fix: correct url checking

git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@196 b3834d28-1941-0410-a4f8-b48e95affb8f
This commit is contained in:
mensonge 2008-12-04 15:08:09 +00:00
parent 6b70f8355a
commit d72790690e
2 changed files with 125 additions and 118 deletions

View file

@ -39,14 +39,17 @@ header('Content-Type: text/plain');
if(!$xml) { if(!$xml) {
header('Content-Type: text/plain'); header('Content-Type: text/plain');
foreach($bookmarks['bookmarks'] as $row) { foreach($bookmarks['bookmarks'] as $row) {
if(checkUrl($row['bAddress'], false)) {
echo $row['bAddress']."\n"; echo $row['bAddress']."\n";
} }
}
} else { } else {
header('Content-Type: application/xml'); header('Content-Type: application/xml');
echo '<GoogleCustomizations>'."\n"; echo '<GoogleCustomizations>'."\n";
echo ' <Annotations>'."\n"; echo ' <Annotations>'."\n";
foreach($bookmarks['bookmarks'] as $row) { foreach($bookmarks['bookmarks'] as $row) {
if(substr($row['bAddress'], 0, 7) == "http://") { //if(substr($row['bAddress'], 0, 7) == "http://") {
if(checkUrl($row['bAddress'], false)) {
echo ' <Annotation about="'.filter($row['bAddress']).'">'."\n"; echo ' <Annotation about="'.filter($row['bAddress']).'">'."\n";
echo ' <Label name="include"/>'."\n"; echo ' <Label name="include"/>'."\n";
echo ' </Annotation>'."\n"; echo ' </Annotation>'."\n";

View file

@ -96,12 +96,13 @@ function shortenString($string, $maxSize=75) {
} }
/* Check url format and check online if the url is a valid page (Not a 404 error for example) */ /* Check url format and check online if the url is a valid page (Not a 404 error for example) */
function checkUrl($url) { function checkUrl($url, $checkOnline = true) {
//check format //check format
if(!preg_match("#(ht|f)tp(s?)\://\S+\.\S+#i",$url)) { if(!preg_match("#(ht|f)tp(s?)\://\S+\.\S+#i",$url)) {
return false; return false;
} }
if($checkOnline) {
//look if the page doesn't return a void or 40X or 50X HTTP code error //look if the page doesn't return a void or 40X or 50X HTTP code error
$h = @get_headers($url); $h = @get_headers($url);
if(is_array($h) && strpos($h[0], '40') === false && strpos($h[0], '50') === false) { if(is_array($h) && strpos($h[0], '40') === false && strpos($h[0], '50') === false) {
@ -109,6 +110,9 @@ function checkUrl($url) {
} else { } else {
return false; return false;
} }
} else {
return true;
}
} }