diff --git a/htdocs/admin/security_other.php b/htdocs/admin/security_other.php index 389387c359ba05a5023b3bae8297af78bbf71677..3d60db2e9ef74d9e4d84c431a6e29593953f1aae 100644 --- a/htdocs/admin/security_other.php +++ b/htdocs/admin/security_other.php @@ -25,6 +25,7 @@ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); $langs->load("users"); $langs->load("admin"); @@ -32,10 +33,38 @@ $langs->load("other"); if (!$user->admin) accessforbidden(); +$upload_dir=$conf->admin->dir_temp; + /* * Actions */ + +if ($_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC)) +{ + /* + * Creation repertoire si n'existe pas + */ + if (! is_dir($upload_dir)) create_exdir($upload_dir); + + if (is_dir($upload_dir)) + { + @dol_delete_file($upload_dir . "/" . $_FILES['userfile']['name'],1); + + if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name'],0) > 0) + { + $mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>'; + //print_r($_FILES); + } + else + { + // Echec transfert (fichier depassant la limite ?) + $mesg = '<div class="error">'.$langs->trans("ErrorFileNotUploaded").'</div>'; + // print_r($_FILES); + } + } +} + if ($_GET["action"] == 'set_main_upload_doc') { if (! dolibarr_set_const($db, 'MAIN_UPLOAD_DOC',$_POST["MAIN_UPLOAD_DOC"],'chaine',0,'',$conf->entity)) @@ -89,11 +118,20 @@ else if ($_GET["action"] == 'disable_avscan') exit; } +if ($_GET["action"] == 'MAIN_ANTIVIRUS_COMMAND') +{ + dolibarr_set_const($db, "MAIN_ANTIVIRUS_COMMAND", $_POST["MAIN_ANTIVIRUS_COMMAND"],'chaine',0,'',$conf->entity); + Header("Location: security_other.php"); + exit; +} + /* * Affichage onglet */ +$form = new Form($db); + llxHeader('',$langs->trans("Miscellanous")); print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); @@ -101,55 +139,21 @@ print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); print $langs->trans("MiscellanousDesc")."<br>\n"; print "<br>\n"; - $head=security_prepare_head(); dol_fiche_head($head, 'misc', $langs->trans("Security")); -$var=false; -$form = new Form($db); - +// Timeout +$var=true; print '<table width="100%" class="noborder">'; print '<tr class="liste_titre">'; -print '<td colspan="2">'.$langs->trans("Parameter").'</td>'; +print '<td colspan="2">'.$langs->trans("Parameters").'</td>'; print '<td>'.$langs->trans("Value").'</td>'; print '<td> </td>'; print "</tr>\n"; - -print '<form action="'.$_SERVER["PHP_SELF"].'?action=set_main_upload_doc" method="POST">'; -print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; -print '<tr '.$bc[$var].'>'; -print '<td colspan="2">'.$langs->trans("MaxSizeForUploadedFiles").'.'; -$max=@ini_get('upload_max_filesize'); -if ($max) print ' '.$langs->trans("MustBeLowerThanPHPLimit",$max*1024,$langs->trans("Kb")).'.'; -else print ' '.$langs->trans("NoMaxSizeByPHPLimit").'.'; -print '</td>'; -print '<td nowrap="1">'; -print '<input class="flat" name="MAIN_UPLOAD_DOC" type="text" size="6" value="'.$conf->global->MAIN_UPLOAD_DOC.'"> '.$langs->trans("Kb"); -print '</td>'; -print '<td align="center">'; -print '<input type="submit" class="button" name="button" value="'.$langs->trans("Modify").'">'; -print '</td>'; -print '</tr></form>'; - -$var=!$var; -print '<form action="'.$_SERVER["PHP_SELF"].'?action=MAIN_UMASK" method="POST">'; -print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; -print '<tr '.$bc[$var].'>'; -print '<td>'.$langs->trans("UMask").'</td><td align="right">'; -print $form->textwithpicto('',$langs->trans("UMaskExplanation")); -print '</td>'; -print '<td nowrap="1">'; -print '<input class="flat" name="MAIN_UMASK" type="text" size="6" value="'.$conf->global->MAIN_UMASK.'">'; -print '</td>'; -print '<td align="center">'; -print '<input type="submit" class="button" name="button" value="'.$langs->trans("Modify").'">'; -print '</td>'; -print '</tr></form>'; - $var=!$var; if (empty($conf->global->MAIN_SESSION_TIMEOUT)) $conf->global->MAIN_SESSION_TIMEOUT=ini_get("session.gc_maxlifetime"); print '<form action="'.$_SERVER["PHP_SELF"].'?action=MAIN_SESSION_TIMEOUT" method="POST">'; @@ -161,7 +165,7 @@ print '</td>'; print '<td nowrap="1">'; print '<input class="flat" name="MAIN_SESSION_TIMEOUT" type="text" size="6" value="'.$conf->global->MAIN_SESSION_TIMEOUT.'"> '.$langs->trans("seconds"); print '</td>'; -print '<td align="center">'; +print '<td align="right">'; print '<input type="submit" class="button" name="button" value="'.$langs->trans("Modify").'">'; print '</td>'; print '</tr></form>'; @@ -172,7 +176,6 @@ print '<br>'; // Other Options - $var=true; print '<table class="noborder" width="100%">'; @@ -220,64 +223,77 @@ print '</table>'; print '<br>'; -// Antivirus options -$var=true; +// Upload options +$var=false; print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; -print '<td colspan="3">'.$langs->trans("AntiVirus").'</td>'; -print '<td align="center" width="80">'.$langs->trans("Activated").'</td>'; -print '<td align="center" width="80">'.$langs->trans("Action").'</td>'; +print '<td colspan="2">'.$langs->trans("Parameters").'</td>'; +print '<td colspan="2">'.$langs->trans("Value").'</td>'; print '</tr>'; -// Enable AV scanner +print '<form action="'.$_SERVER["PHP_SELF"].'?action=set_main_upload_doc" method="POST">'; +print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; +print '<tr '.$bc[$var].'>'; +print '<td colspan="2">'.$langs->trans("MaxSizeForUploadedFiles").'.'; +$max=@ini_get('upload_max_filesize'); +if ($max) print ' '.$langs->trans("MustBeLowerThanPHPLimit",$max*1024,$langs->trans("Kb")).'.'; +else print ' '.$langs->trans("NoMaxSizeByPHPLimit").'.'; +print '</td>'; +print '<td nowrap="1">'; +print '<input class="flat" name="MAIN_UPLOAD_DOC" type="text" size="6" value="'.$conf->global->MAIN_UPLOAD_DOC.'"> '.$langs->trans("Kb"); +print '</td>'; +print '<td align="center">'; +print '<input type="submit" class="button" name="button" value="'.$langs->trans("Modify").'">'; +print '</td>'; +print '</tr></form>'; + $var=!$var; -print "<tr ".$bc[$var].">"; -print '<td colspan="3">'.$langs->trans("UseAvToScanUploadedFiles"); -if($conf->global->MAIN_USE_AVSCAN == 1) -{ - print ' : '; - // Clamav - if (function_exists("cl_scanfile")) - { - print cl_info(); - } -} +print '<form action="'.$_SERVER["PHP_SELF"].'?action=MAIN_UMASK" method="POST">'; +print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; +print '<tr '.$bc[$var].'>'; +print '<td>'.$langs->trans("UMask").'</td><td align="right">'; +print $form->textwithpicto('',$langs->trans("UMaskExplanation")); print '</td>'; -print '<td align="center" width="60">'; -if($conf->global->MAIN_USE_AVSCAN == 1) -{ - print img_tick(); -} +print '<td nowrap="1">'; +print '<input class="flat" name="MAIN_UMASK" type="text" size="6" value="'.$conf->global->MAIN_UMASK.'">'; print '</td>'; -print '<td align="center" width="100">'; -if (function_exists("cl_scanfile")) // Clamav -{ - if ($conf->global->MAIN_USE_AVSCAN == 0) - { - print '<a href="security_other.php?action=activate_avscan">'.$langs->trans("Activate").'</a>'; - } - if($conf->global->MAIN_USE_AVSCAN == 1) - { - print '<a href="security_other.php?action=disable_avscan">'.$langs->trans("Disable").'</a>'; - } -} -else -{ - $html = new Form($db); - $desc = $html->textwithpicto('',$langs->transnoentities("EnablePhpAVModuleDesc"),1,'warning'); - print $desc; -} -print "</td>"; +print '<td align="center">'; +print '<input type="submit" class="button" name="button" value="'.$langs->trans("Modify").'">'; +print '</td>'; +print '</tr></form>'; +// Use anti virus +$var=!$var; +print '<form action="'.$_SERVER["PHP_SELF"].'?action=MAIN_ANTIVIRUS_COMMAND" method="POST">'; +print "<tr ".$bc[$var].">"; +print '<td colspan="2">'.$langs->trans("AntiVirusCommand").'<br>'; +print $langs->trans("AntiVirusCommandExample"); +print '</td>'; +print '<td align="center" width="100">'; +print '<input type="text" name="MAIN_ANTIVIRUS_COMMAND" size=80 value="'.$conf->global->MAIN_ANTIVIRUS_COMMAND.'">'; print "</td>"; +print '<td align="right">'; +print '<input type="submit" class="button" name="button" value="'.$langs->trans("Modify").'">'; +print '</td>'; print '</tr>'; +print '</form>'; print '</table>'; print '</div>'; + +// Form to test upload +if ($mesg) print $mesg; + +// Affiche formulaire upload +print '<br>'; +$formfile=new FormFile($db); +$formfile->form_attach_new_file(DOL_URL_ROOT.'/admin/security_other.php',$langs->trans("FormToTestFileUploadForm"),0,0,1); + + $db->close(); llxFooter('$Date$ - $Revision$'); diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 413626b51781e5802c86679c9e8697939050d25e..16337edcdbde3ace99dc9d9d7053a517cefb9c92 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -34,6 +34,7 @@ ExternalUsers=External users GlobalSetup=Global setup GUISetup=Display SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) IfModuleEnabled=Note: yes is effective only if module <b>%s</b> is enabled RemoveLock=Remove file <b>%s</b> if it exists to allow the update tool. RestoreLock=Replace a file <b>%s</b> with read permission only on file to disable any usage of update tool. diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index a14178036f9e4f6fea6dea5a5a912648e6e8baae..a35ee7936e8ca2cbd33403a2d8c0fcbce6688ad8 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -34,6 +34,7 @@ ExternalUsers = Utilisateurs externes GlobalSetup = Général GUISetup = Affichage SetupArea = Espace configuration +FormToTestFileUploadForm=Formulaire de test d'upload de fichier (selon options choisies) IfModuleEnabled = Rem: oui est effectif uniquement si le module <b>%s</b> est activé RemoveLock = Effacer le fichier <b>%s</b> s'il existe afin d'autoriser l'outil de mise a jour. RestoreLock = Replacer un fichier <b>%s</b> en ne donnant des droits que de lecture sur ce fichier afin d'interdire à nouveau les mises à jour. diff --git a/htdocs/product/document.php b/htdocs/product/document.php index 9f8939b3c0a7b741602d4c0999226db56c9a072f..9be98fe632606600b62c8c6496ecfa78aeb3a5c6 100755 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -74,10 +74,11 @@ $modulepart='produit'; /* * Action envoie fichier */ + if ($_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC)) { /* - * Creation r�pertoire si n'existe pas + * Creation repertoire si n'existe pas */ if (! is_dir($upload_dir)) create_exdir($upload_dir); @@ -90,7 +91,7 @@ if ($_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC)) } else { - // Echec transfert (fichier d�passant la limite ?) + // Echec transfert (fichier depassant la limite ?) $mesg = '<div class="error">'.$langs->trans("ErrorFileNotUploaded").'</div>'; // print_r($_FILES); }