Fix: Better error management

This commit is contained in:
Laurent Destailleur 2011-08-26 17:59:14 +00:00
parent 90bbfc386e
commit a2c8e7abdf
2 changed files with 33 additions and 4 deletions

View File

@ -19,7 +19,7 @@
* \file htdocs/core/class/rssparser.class.php
* \ingroup core
* \brief File of class to parse rss feeds
* \version $Id: rssparser.class.php,v 1.1 2011/08/17 13:44:13 eldy Exp $
* \version $Id: rssparser.class.php,v 1.2 2011/08/26 17:59:14 eldy Exp $
*/
class RssParser
{
@ -75,8 +75,15 @@ class RssParser
{
include_once(DOL_DOCUMENT_ROOT.'/lib/files.lib.php');
// Check parameters
if (! dol_is_url($urlRSS))
{
$this->error="ErrorBadUrl";
return -1;
}
$this->_urlRSS = $urlRSS;
$newpathofdestfile=$cachedir.'/'.md5($this->_urlRSS);
$newpathofdestfile=$cachedir.'/'.md5($this->_urlRSS);
$newmask=octdec('0644');
//dol_syslog("RssPArser::parser parse url=".$urlRSS." => cache file=".$newpathofdestfile);
@ -110,7 +117,8 @@ class RssParser
{
try {
$rss = @simplexml_load_file($this->_urlRSS);
}
var_dump($this->_urlRSS);
}
catch (Exception $e) {
print 'Error retrieving URL '.$this->urlRSS.' - '.$e->getMessage();
}

View File

@ -19,7 +19,7 @@
/**
* \file htdocs/lib/files.lib.php
* \brief Library for file managing functions
* \version $Id: files.lib.php,v 1.71 2011/07/31 23:25:43 eldy Exp $
* \version $Id: files.lib.php,v 1.72 2011/08/26 17:59:14 eldy Exp $
*/
/**
@ -186,6 +186,7 @@ function dol_compare_file($a, $b)
/**
* Return mime type of a file
*
* @param file Filename we looking for MIME type
* @param default Default mime type if extension not found in known list
* @param mode 0=Return full mime, 1=otherwise short mime string, 2=image for mime type, 3=source language
@ -295,6 +296,7 @@ function dol_mimetype($file,$default='application/octet-stream',$mode=0)
/**
* Test if filename is a directory
*
* @param folder Name of folder
* @return boolean True if it's a directory, False if not found
*/
@ -307,6 +309,7 @@ function dol_is_dir($folder)
/**
* Return if path is a file
*
* @param $pathoffile
* @return boolean True or false
*/
@ -316,8 +319,26 @@ function dol_is_file($pathoffile)
return is_file($newpathoffile);
}
/**
* Return if path is an URL
*
* @param $url
* @return boolean True or false
*/
function dol_is_url($url)
{
$tmpprot=array('file','http','ftp','zlib','data','ssh2','ogg','expect');
foreach($tmpprot as $prot)
{
if (preg_match('/^'.$prot.':/i',$url)) return true;
}
return false;
}
/**
* Test if a folder is empty
*
* @param folder Name of folder
* @return boolean True if dir is empty or non-existing, False if it contains files
*/