diff --git a/htdocs/admin/agenda_extsites.php b/htdocs/admin/agenda_extsites.php index 2427b7941f7..52a77de8eae 100644 --- a/htdocs/admin/agenda_extsites.php +++ b/htdocs/admin/agenda_extsites.php @@ -57,30 +57,44 @@ if ($actionsave) if ($disableext) $disableext=0; else $disableext=1; $res=dolibarr_set_const($db,'AGENDA_DISABLE_EXT',$disableext,'chaine',0); - $i=1; + $i=1; $errorsaved=0; $error=0; // Save agendas while ($i <= $MAXAGENDA) { - $color=trim(GETPOST('agenda_ext_color'.$i,'alpha')); - if ($color=='-1') $color=''; - + $name=trim(GETPOST('agenda_ext_name'.$i),'alpha'); + $src=trim(GETPOST('agenda_ext_src'.$i,'alpha')); + $color=trim(GETPOST('agenda_ext_color'.$i,'alpha')); + if ($color=='-1') $color=''; + + if (! empty($src) && ! preg_match('/^(http\s*|ftp\s*):/', $src)) + { + setEventMessage($langs->trans("ErrorParamMustBeAnUrl"),'errors'); + $error++; + $errorsaved++; + break; + } + //print 'color='.$color; - $res=dolibarr_set_const($db,'AGENDA_EXT_NAME'.$i,trim(GETPOST('agenda_ext_name'.$i),'alpha'),'chaine',0); + $res=dolibarr_set_const($db,'AGENDA_EXT_NAME'.$i,$name,'chaine',0); if (! $res > 0) $error++; - $res=dolibarr_set_const($db,'AGENDA_EXT_SRC'.$i,trim(GETPOST('agenda_ext_src'.$i,'alpha')),'chaine',0); + $res=dolibarr_set_const($db,'AGENDA_EXT_SRC'.$i,$src,'chaine',0); if (! $res > 0) $error++; $res=dolibarr_set_const($db,'AGENDA_EXT_COLOR'.$i,$color,'chaine',0); if (! $res > 0) $error++; $i++; } + // Save nb of agenda - $res=dolibarr_set_const($db,'AGENDA_EXT_NB',trim(GETPOST('AGENDA_EXT_NB','alpha')),'chaine',0); - if (! $res > 0) $error++; - if (empty($conf->global->AGENDA_EXT_NB)) $conf->global->AGENDA_EXT_NB=5; - $MAXAGENDA=empty($conf->global->AGENDA_EXT_NB)?5:$conf->global->AGENDA_EXT_NB; - + if (! $error) + { + $res=dolibarr_set_const($db,'AGENDA_EXT_NB',trim(GETPOST('AGENDA_EXT_NB','alpha')),'chaine',0); + if (! $res > 0) $error++; + if (empty($conf->global->AGENDA_EXT_NB)) $conf->global->AGENDA_EXT_NB=5; + $MAXAGENDA=empty($conf->global->AGENDA_EXT_NB)?5:$conf->global->AGENDA_EXT_NB; + } + if (! $error) { $db->commit(); @@ -89,7 +103,7 @@ if ($actionsave) else { $db->rollback(); - $mesg = "".$langs->trans("Error").""; + if (empty($errorsaved)) $mesg = "".$langs->trans("Error").""; } } @@ -156,18 +170,22 @@ $var=true; while ($i <= $MAXAGENDA) { $key=$i; - $var=!$var; - print "