diff --git a/htdocs/core/class/rssparser.class.php b/htdocs/core/class/rssparser.class.php index 1b018b5073d..03b8e73badf 100755 --- a/htdocs/core/class/rssparser.class.php +++ b/htdocs/core/class/rssparser.class.php @@ -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(); } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index c86ffb54295..b056b135e06 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -877,6 +877,7 @@ DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT files for WatermarkOnDraft=Watermark on draft document CompanyIdProfChecker=Professional Id unique MustBeUnique=Must be unique ? +Miscellanous=Miscellanous ##### Webcal setup ##### WebCalSetup=Webcalendar link setup WebCalSyncro=Add Dolibarr events to WebCalendar diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index 9c28211732b..e60083b6258 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -15,14 +15,14 @@ BoxLastCustomerOrders=Last customer orders BoxLastBooks=Last books BoxLastActions=Last actions BoxLastContracts=Last contracts -BoxLastContacts=Derniers contacts/adresses +BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxCurrentAccounts=Current accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices BoxTitleLastBooks=Last %s recorded books -BoxTitleNbOfCustomers=Nombre de client +BoxTitleNbOfCustomers=Number of clients BoxTitleLastRssInfos=Last %s news from %s BoxTitleLastProducts=Last %s modified products/services BoxTitleLastCustomerOrders=Last %s modified customer orders @@ -44,11 +44,11 @@ BoxTitleCurrentAccounts=Current account's balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer's invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier's invoices -BoxTitleLastModifiedContacts=Last %s modified contacts/addresses +BoxTitleLastModifiedContacts=Last %s modified contacts/addresses BoxMyLastBookmarks=My last %s bookmarks FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Last successfull refresh date: %s LastRefreshDate=Last refresh date -NoRecordedBookmarks=No bookmarks defined. +NoRecordedBookmarks=No bookmarks defined. ClickToAdd=Click here to add. NoRecordedCustomers=No recorded customers NoRecordedContacts=No recorded contacts diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 42b184565c2..77f3ee56575 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -885,6 +885,7 @@ DocumentModelOdt=Genération depuis des modèles OpenDocument (Fichier .ODT Open WatermarkOnDraft=Filigrane sur les documents brouillons CompanyIdProfChecker=Id professionel unique MustBeUnique=Doit être unique ? +Miscellanous=Miscellanous ##### Webcal setup ##### WebCalSetup= Configuration du lien vers le calendrier Webcalendar WebCalSyncro= Intégrer les événements Dolibarr dans WebCalendar diff --git a/htdocs/langs/ru_RU/boxes.lang b/htdocs/langs/ru_RU/boxes.lang index c3d52b9528f..644c87a76eb 100644 --- a/htdocs/langs/ru_RU/boxes.lang +++ b/htdocs/langs/ru_RU/boxes.lang @@ -10,12 +10,12 @@ // Reference language: en_US CHARSET=UTF-8 BoxLastRssInfos=Информация RSS -BoxLastProducts=Последние %s товаров / услуг -BoxLastProductsInContract=Последние %s проданных товаров / услуг +BoxLastProducts=Последние %s товары / услуги +BoxLastProductsInContract=Последние %s проданные товары / услуги BoxLastSupplierBills=Последние счета-фактуры поставщиков BoxLastCustomerBills=Последние счета-фактуры покупателям BoxLastProposals=Последние коммерческие предложения -BoxLastProspects=Последние измененные потенциальные покупатели +BoxLastProspects=Последние измененные потенциальные клиенты BoxLastCustomers=Последние измененные покупатели BoxLastCustomerOrders=Последние заказы покупателей BoxLastSuppliers=Последние измененные поставщики @@ -26,8 +26,8 @@ BoxSalesTurnover=Оборот по продажам BoxTitleLastBooks=Последние %s зарегистрированных сделок BoxTitleNbOfCustomers=Кол-во покупателей BoxTitleLastRssInfos=Последние новости %s из %s -BoxTitleLastProducts=Последние %s измененных товаров / услуг -BoxTitleLastCustomerOrders=Последние %s измененных заказов покупателей +BoxTitleLastProducts=Последние %s измененные товары / услуги +BoxTitleLastCustomerOrders=Последние %s измененные заказы покупателей BoxTitleLastSuppliers=Последние %s зарегистрированных поставщиков BoxTitleLastCustomers=Последние %s зарегистрированных покупателей BoxTitleLastCustomersOrProspects=Последние %s зарегистрированных покупателей и потенциальных клиентов @@ -48,20 +48,10 @@ NoRecordedOrders=Нет зарегистрированных заказы пок NoRecordedProposals=Нет зарегистрированных предложений NoRecordedInvoices=Нет зарегистрированных счетов-фактур покупателям NoRecordedSupplierInvoices=Нет зарегистрированных счетов-фактур поставщиков -// Date 2009-01-19 21:30:52 -// STOP - Lines generated via parser - -// START - Lines generated via autotranslator.php tool (2009-08-13 21:14:36). -// Reference language: en_US LastRefreshDate=Дата последнего обновления NoRecordedProducts=Нет зарегистрированных товаров / услуг NoRecordedProspects=Нет зарегистрированных потенциальных клиентов NoContractedProducts=Нет законтрактованных товаров / услуг -// STOP - Lines generated via autotranslator.php tool (2009-08-13 21:14:36). - - -// START - Lines generated via autotranslator.php tool (2009-08-19 20:18:27). -// Reference language: en_US BoxOldestUnpaidCustomerBills=Самые старые неоплаченные счета-фактуры покупателям BoxOldestUnpaidSupplierBills=Самые старые неоплаченные счета-фактуры поставщиков BoxTotalUnpaidCustomerBills=Общая сумма неоплаченных счетов-фактур покупателям @@ -72,11 +62,21 @@ BoxTitleTotalUnpaidCustomerBills=Неоплаченные счета-факту BoxTitleTotalUnpaidSuppliersBills=Неоплаченные счета-фактуры поставщиков NoUnpaidCustomerBills=Нет неоплаченных счетов-фактур покупателям NoUnpaidSupplierBills=Нет неоплаченных счетов-фактур поставщиков -// STOP - Lines generated via autotranslator.php tool (2009-08-19 20:18:27). - -// START - Lines generated via autotranslator.php tool (2010-09-04 01:33:40). -// Reference language: en_US -> ru_RU BoxTitleLastModifiedSuppliers=Последнее %s измененных поставщиков -BoxTitleLastModifiedCustomers=Последнее %s измененных клиентов +BoxTitleLastModifiedCustomers=Последнее %s измененных покупателей BoxTitleLastModifiedProspects=Последнее %s измененных потенциальных клиентов -// STOP - Lines generated via autotranslator.php tool (2010-09-04 01:56:40). +BoxLastContracts=Последние договоры +BoxLastContacts=Последние контакты / адреса +BoxLastMembers=Последнее участники +BoxTitleLastModifiedCustomers=Последние %s измененных покупателей +BoxTitleLastModifiedProspects=Последние %s измененных потенциальных клиентов +BoxTitleLastProductsInContract=Последние %s товаров / услуг в договорах +BoxTitleLastModifiedMembers=Последние %s измененных участников +BoxTitleLastModifiedContacts=Последние %s измененных контактов / адресов +NoRecordedContacts=Нет введенных контактов +BoxTitleLastContracts=Последние %s договоров +BoxTitleLastModifiedDonations=Последние %s измененных пожертвований +BoxTitleLastModifiedExpenses=Последние %s измененных расходов +NoModifiedSupplierBills=Нет введенных счетов-фактур поставщиков +NoRecordedContracts=Нет введенных договоров +// STOP - Lines generated via autotranslator.php tool (2011-08-25 22:47:13). diff --git a/htdocs/lib/files.lib.php b/htdocs/lib/files.lib.php index 312cece614e..7df39b03ea3 100644 --- a/htdocs/lib/files.lib.php +++ b/htdocs/lib/files.lib.php @@ -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 */