2
0
forked from Wavyzz/dolibarr

Amlioration gestion erreur sur boites RSS quand pas de connexion rseau

This commit is contained in:
Laurent Destailleur
2006-11-05 16:29:42 +00:00
parent c1ec2503ce
commit f98bd2ef29
2 changed files with 39 additions and 24 deletions

View File

@@ -66,15 +66,19 @@ class box_external_rss extends ModeleBoxes {
*/ */
function loadBox($max=5) function loadBox($max=5)
{ {
global $user, $langs; global $user, $langs, $conf;
$langs->load("boxes"); $langs->load("boxes");
// On recupere numero de param de la boite // On recupere numero de param de la boite
ereg('^([0-9]+) ',$this->param,$reg); ereg('^([0-9]+) ',$this->param,$reg);
$site=$reg[1]; $site=$reg[1];
// Creation rep (pas besoin, on le cree apres recup flux)
//$result=create_exdir($conf->externalrss->dir_temp);
// Recupere flux RSS definie dans EXTERNAL_RSS_URLRSS_$site // Recupere flux RSS definie dans EXTERNAL_RSS_URLRSS_$site
$url=@constant("EXTERNAL_RSS_URLRSS_".$site); $url=@constant("EXTERNAL_RSS_URLRSS_".$site);
//define('MAGPIE_DEBUG',1);
$rss=fetch_rss($url); $rss=fetch_rss($url);
if (! is_object($rss)) if (! is_object($rss))
{ {
@@ -101,7 +105,7 @@ class box_external_rss extends ModeleBoxes {
} }
// INFO sur le <20>lements // INFO sur le <20>lements
for($i = 0; $i < $max ; $i++) for($i = 0; $i < $max && $i < sizeof($rss->items); $i++)
{ {
$item = $rss->items[$i]; $item = $rss->items[$i];
@@ -109,7 +113,7 @@ class box_external_rss extends ModeleBoxes {
$href = $item['link']; $href = $item['link'];
$title = urldecode($item['title']); $title = urldecode($item['title']);
$date = $item['date_timestamp']; // date will be empty if conversion into timestamp failed $date = $item['date_timestamp']; // date will be empty if conversion into timestamp failed
if ($rss->is_rss()) // If RSS if ($rss->is_rss()) // If RSS
{ {
if (! $date && isset($item['pubdate'])) $date=$item['pubdate']; if (! $date && isset($item['pubdate'])) $date=$item['pubdate'];
if (! $date && isset($item['dc']['date'])) $date=$item['dc']['date']; if (! $date && isset($item['dc']['date'])) $date=$item['dc']['date'];

View File

@@ -36,11 +36,11 @@
class ModeleBoxes class ModeleBoxes
{ {
var $MAXLENGTHBOX=60; // Mettre 0 pour pas de limite var $MAXLENGTHBOX=60; // Mettre 0 pour pas de limite
var $error=''; var $error='';
/** /**
\brief Renvoi le dernier message d'erreur de cr<63>ation de facture \brief Renvoi le dernier message d'erreur de cr<63>ation de facture
*/ */
function error() function error()
@@ -49,7 +49,7 @@ class ModeleBoxes
} }
/** /**
\brief Methode standard d'affichage des boites \brief Methode standard d'affichage des boites
\param $head tableau des caract<63>ristiques du titre \param $head tableau des caract<63>ristiques du titre
\param $contents tableau des lignes de contenu \param $contents tableau des lignes de contenu
@@ -60,30 +60,41 @@ class ModeleBoxes
$bcx[0] = 'class="box_pair"'; $bcx[0] = 'class="box_pair"';
$bcx[1] = 'class="box_impair"'; $bcx[1] = 'class="box_impair"';
$var = true; $var = true;
$nbcol=sizeof($contents[0])+1; $nbcol=sizeof($contents[0])+1;
$nblines=sizeof($contents); $nblines=sizeof($contents);
print "\n\n<!-- Box start -->\n"; print "\n\n<!-- Box start -->\n";
print '<table width="100%" class="noborder"'; print '<table width="100%" class="noborder"';
if (isset($this->boxid)) print ' id="boxobject_'.$this->boxid.'"'; if (isset($this->boxid)) print ' id="boxobject_'.$this->boxid.'"';
print '>'; print '>';
// Affiche titre de la boite // Affiche titre de la boite
print '<tr class="box_titre"'; print '<tr class="box_titre">';
if ($conf->use_ajax) print ' style="cursor:move;"';
print '>';
print '<td'; print '<td';
if ($nbcol > 0) { print ' colspan="'.$nbcol.'"'; } if ($nbcol > 0) { print ' colspan="'.$nbcol.'"'; }
print '>'; print '>';
if ($conf->use_ajax)
{
print '<table class="nobordernopadding" width="100%"><tr><td align="left">';
}
print dolibarr_trunc($head['text'],isset($head['limit'])?$head['limit']:$this->MAXLENGTHBOX); print dolibarr_trunc($head['text'],isset($head['limit'])?$head['limit']:$this->MAXLENGTHBOX);
if ($head['sublink']) if ($head['sublink'])
{ {
print ' <a href="'.$head['sublink'].'" target="_new">'.img_picto($head['subtext'],$head['subpicto']).'</a>'; print ' <a href="'.$head['sublink'].'" target="_new">'.img_picto($head['subtext'],$head['subpicto']).'</a>';
} }
print '</td></tr>'; if ($conf->use_ajax)
{
print '</td><td class="nocellnopadd" width="14">';
print img_picto($langs->trans("Move"),'uparrow','style="cursor:move;"');
print '</td></tr></table>';
}
print '</td>';
print '</tr>';
// Affiche chaque ligne de la boite // Affiche chaque ligne de la boite
for ($i=0, $n=$nblines; $i < $n; $i++) for ($i=0, $n=$nblines; $i < $n; $i++)
{ {
@@ -95,7 +106,7 @@ class ModeleBoxes
if (isset($contents[$i][-1]['class'])) print '<tr valign="top" class="'.$contents[$i][-1]['class'].'">'; if (isset($contents[$i][-1]['class'])) print '<tr valign="top" class="'.$contents[$i][-1]['class'].'">';
else print '<tr valign="top" '.$bcx[$var].'>'; else print '<tr valign="top" '.$bcx[$var].'>';
} }
// Affiche chaque cellule // Affiche chaque cellule
for ($j=0, $m=isset($contents[$i][-1])?sizeof($contents[$i])-1:sizeof($contents[$i]); $j < $m; $j++) for ($j=0, $m=isset($contents[$i][-1])?sizeof($contents[$i])-1:sizeof($contents[$i]); $j < $m; $j++)
{ {
@@ -106,7 +117,7 @@ class ModeleBoxes
if (isset($contents[$i][$j]['colspan'])) $tdparam.=' colspan="'. $contents[$i][$j]['colspan'].'"'; if (isset($contents[$i][$j]['colspan'])) $tdparam.=' colspan="'. $contents[$i][$j]['colspan'].'"';
if (isset($contents[$i][$j]['class'])) $tdparam.=' class="'. $contents[$i][$j]['class'].'"'; if (isset($contents[$i][$j]['class'])) $tdparam.=' class="'. $contents[$i][$j]['class'].'"';
if (isset($contents[$i][$j]['td'])) $tdparam.=' '.$contents[$i][$j]['td']; if (isset($contents[$i][$j]['td'])) $tdparam.=' '.$contents[$i][$j]['td'];
if (!$contents[$i][$j]['text']) $contents[$i][$j]['text']=""; if (!$contents[$i][$j]['text']) $contents[$i][$j]['text']="";
$texte=isset($contents[$i][$j]['text'])?$contents[$i][$j]['text']:''; $texte=isset($contents[$i][$j]['text'])?$contents[$i][$j]['text']:'';
$textewithnotags=eregi_replace('<[^>]+>','',$texte); $textewithnotags=eregi_replace('<[^>]+>','',$texte);
@@ -116,7 +127,7 @@ class ModeleBoxes
if (isset($contents[$i][$j]['logo']) && $contents[$i][$j]['logo']) print '<td width="16">'; if (isset($contents[$i][$j]['logo']) && $contents[$i][$j]['logo']) print '<td width="16">';
else print '<td '.$tdparam.'>'; else print '<td '.$tdparam.'>';
// Picto // Picto
if (isset($contents[$i][$j]['url'])) { if (isset($contents[$i][$j]['url'])) {
print '<a href="'.$contents[$i][$j]['url'].'" title="'.$textewithnotags.'"'; print '<a href="'.$contents[$i][$j]['url'].'" title="'.$textewithnotags.'"';
@@ -124,7 +135,7 @@ class ModeleBoxes
print isset($contents[$i][$j]['target'])?' target="'.$contents[$i][$j]['target'].'"':''; print isset($contents[$i][$j]['target'])?' target="'.$contents[$i][$j]['target'].'"':'';
print '>'; print '>';
} }
// Texte // Texte
if (isset($contents[$i][$j]['logo']) && $contents[$i][$j]['logo']) if (isset($contents[$i][$j]['logo']) && $contents[$i][$j]['logo'])
{ {
@@ -142,7 +153,7 @@ class ModeleBoxes
} }
$maxlength=$this->MAXLENGTHBOX; $maxlength=$this->MAXLENGTHBOX;
if (isset($contents[$i][$j]['maxlength'])) $maxlength=$contents[$i][$j]['maxlength']; if (isset($contents[$i][$j]['maxlength'])) $maxlength=$contents[$i][$j]['maxlength'];
if ($maxlength && strlen($textewithnotags) > $maxlength) if ($maxlength && strlen($textewithnotags) > $maxlength)
{ {
$texte=substr($texte,0,$maxlength)."..."; $texte=substr($texte,0,$maxlength)."...";
@@ -156,17 +167,17 @@ class ModeleBoxes
print $texte2; print $texte2;
print "</td>"; print "</td>";
} }
if (sizeof($contents[$i])) print '</tr>'; if (sizeof($contents[$i])) print '</tr>';
} }
} }
print "</table>"; print "</table>";
print "\n<!-- Box end -->\n\n"; print "\n<!-- Box end -->\n\n";
} }
} }