Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop_dict

This commit is contained in:
Regis Houssin 2017-06-09 08:04:08 +02:00
commit c95b5a4567
3 changed files with 98 additions and 38 deletions

View File

@ -72,11 +72,11 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil
$reshook = 0; $reshook = 0;
$file_list = array(); $file_list = array();
$hookmanager->resArray=array(); if (is_object($hookmanager) && ! $nohook)
if (! $nohook)
{ {
$hookmanager->initHooks(array('fileslib')); $hookmanager->resArray=array();
$hookmanager->initHooks(array('fileslib'));
$parameters=array( $parameters=array(
'path' => $newpath, 'path' => $newpath,
@ -197,7 +197,7 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil
} }
} }
$file_list = array_merge($file_list, $hookmanager->resArray); if (is_object($hookmanager) && is_array($hookmanager->resArray)) $file_list = array_merge($file_list, $hookmanager->resArray);
return $file_list; return $file_list;
} }

View File

@ -438,6 +438,7 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $
dol_mkdir($dirthumb); dol_mkdir($dirthumb);
// Initialisation des variables selon l'extension de l'image // Initialisation des variables selon l'extension de l'image
$img=null;
switch($infoImg[2]) switch($infoImg[2])
{ {
case IMAGETYPE_GIF: // 1 case IMAGETYPE_GIF: // 1

View File

@ -26,6 +26,7 @@
include_once 'inc.php'; include_once 'inc.php';
if (file_exists($conffile)) include_once $conffile; if (file_exists($conffile)) include_once $conffile;
require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php'; require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
include_once $dolibarr_main_document_root.'/core/lib/images.lib.php';
require_once $dolibarr_main_document_root.'/core/class/extrafields.class.php'; require_once $dolibarr_main_document_root.'/core/class/extrafields.class.php';
require_once 'lib/repair.lib.php'; require_once 'lib/repair.lib.php';
@ -72,11 +73,12 @@ $actiondone=1;
print '<h3>'.$langs->trans("Repair").'</h3>'; print '<h3>'.$langs->trans("Repair").'</h3>';
print 'Option restore_thirdparties_logos is '.(GETPOST('restore_thirdparties_logos')?GETPOST('restore_thirdparties_logos'):'0').'<br>'."\n"; print 'Option restore_thirdparties_logos is '.(GETPOST('restore_thirdparties_logos','alpha')?GETPOST('restore_thirdparties_logos','alpha'):'0').'<br>'."\n";
print 'Option clean_linked_elements is '.(GETPOST('clean_linked_elements')?GETPOST('clean_linked_elements'):'0').'<br>'."\n"; print 'Option clean_linked_elements is '.(GETPOST('clean_linked_elements','alpha')?GETPOST('clean_linked_elements','alpha'):'0').'<br>'."\n";
print 'Option clean_orphelin_dir (0 or \'test\' or \'confirmed\') is '.(GETPOST('clean_orphelin_dir')?GETPOST('clean_orphelin_dir'):'0').'<br>'."\n"; print 'Option clean_orphelin_dir (0 or \'test\' or \'confirmed\') is '.(GETPOST('clean_orphelin_dir','alpha')?GETPOST('clean_orphelin_dir','alpha'):'0').'<br>'."\n";
print 'Option clean_product_stock_batch (0 or \'test\' or \'confirmed\') is '.(GETPOST('clean_product_stock_batch')?GETPOST('clean_product_stock_batch'):'0').'<br>'."\n"; print 'Option clean_product_stock_batch (0 or \'test\' or \'confirmed\') is '.(GETPOST('clean_product_stock_batch','alpha')?GETPOST('clean_product_stock_batch','alpha'):'0').'<br>'."\n";
print 'Option set_empty_time_spent_amount (0 or \'test\' or \'confirmed\') is '.(GETPOST('set_empty_time_spent_amount')?GETPOST('set_empty_time_spent_amount'):'0').'<br>'."\n"; print 'Option set_empty_time_spent_amount (0 or \'test\' or \'confirmed\') is '.(GETPOST('set_empty_time_spent_amount','alpha')?GETPOST('set_empty_time_spent_amount','alpha'):'0').'<br>'."\n";
print 'Option rebuild_product_thumbs (0 or \'test\' or \'confirmed\') is '.(GETPOST('rebuild_product_thumbs','alpha')?GETPOST('rebuild_product_thumbs','alpha'):'0').'<br>'."\n";
print '<br>'; print '<br>';
print '<table cellspacing="0" cellpadding="1" border="0" width="100%">'; print '<table cellspacing="0" cellpadding="1" border="0" width="100%">';
@ -318,7 +320,7 @@ if ($ok)
// clean_linked_elements: Check and clean linked elements // restore_thirdparties_logos: Move logos to correct new directory.
if ($ok && GETPOST('restore_thirdparties_logos')) if ($ok && GETPOST('restore_thirdparties_logos'))
{ {
//$exts=array('gif','png','jpg'); //$exts=array('gif','png','jpg');
@ -393,8 +395,66 @@ if ($ok && GETPOST('restore_thirdparties_logos'))
} }
// rebuild_product_thumbs: Rebuild thumbs for product files
if ($ok && GETPOST('rebuild_product_thumbs','alpha'))
{
$ext='';
global $maxwidthsmall, $maxheightsmall, $maxwidthmini, $maxheightmini;
print '<tr><td colspan="2"><br>*** Rebuild product thumbs<br>';
$sql="SELECT s.rowid, s.ref FROM ".MAIN_DB_PREFIX."product as s ORDER BY s.ref";
$resql=$db->query($sql);
if ($resql)
{
$num=$db->num_rows($resql);
$i=0;
while($i < $num)
{
$obj=$db->fetch_object($resql);
if (! empty($obj->ref))
{
$files=dol_dir_list($dolibarr_main_data_root.'/produit/'.$obj->ref, 'files', 0);
foreach($files as $file)
{
// Generate thumbs.
if (image_format_supported($file['fullname']) == 1)
{
$imgThumbSmall='notbuild';
if (GETPOST('rebuild_product_thumbs','alpha') == 'confirmed')
{
// Used on logon for example
$imgThumbSmall = vignette($file['fullname'], $maxwidthsmall, $maxheightsmall, '_small', 50, "thumbs");
}
print 'Check product '.$obj->rowid.", file ".$file['fullname']." -> ".$imgThumbSmall." maxwidthsmall=".$maxwidthsmall." maxheightsmall=".$maxheightsmall."<br>\n";
$imgThumbMini='notbuild';
if (GETPOST('rebuild_product_thumbs','alpha') == 'confirmed')
{
// Create mini thumbs for image (Ratio is near 16/9)
// Used on menu or for setup page for example
$imgThumbMini = vignette($file['fullname'], $maxwidthmini, $maxheightmini, '_mini', 50, "thumbs");
}
print 'Check product '.$obj->rowid.", file ".$file['fullname']." -> ".$imgThumbMini." maxwidthmini=".$maxwidthmini." maxheightmini=".$maxheightmini."<br>\n";
}
}
}
$i++;
}
}
else
{
$ok=0;
dol_print_error($db);
}
print '</td></tr>';
}
// clean_linked_elements: Check and clean linked elements // clean_linked_elements: Check and clean linked elements
if ($ok && GETPOST('clean_linked_elements')) if ($ok && GETPOST('clean_linked_elements','alpha'))
{ {
print '<tr><td colspan="2"><br>*** Check table of linked elements and delete orphelins links</td></tr>'; print '<tr><td colspan="2"><br>*** Check table of linked elements and delete orphelins links</td></tr>';
// propal => order // propal => order
@ -418,7 +478,7 @@ if ($ok && GETPOST('clean_linked_elements'))
// clean_orphelin_dir: Run purge of directory // clean_orphelin_dir: Run purge of directory
if ($ok && GETPOST('clean_orphelin_dir')) if ($ok && GETPOST('clean_orphelin_dir','alpha'))
{ {
$conf->setValues($db); $conf->setValues($db);
@ -530,7 +590,7 @@ if ($ok && GETPOST('clean_orphelin_dir'))
// Clean of orphelins directories are done into repair.php // Clean of orphelins directories are done into repair.php
print '<tr><td colspan="2">'; print '<tr><td colspan="2">';
print 'Delete orphelins file '.$file['fullname'].'<br>'; print 'Delete orphelins file '.$file['fullname'].'<br>';
if (GETPOST('clean_orphelin_dir') == 'confirmed') if (GETPOST('clean_orphelin_dir','alpha') == 'confirmed')
{ {
dol_delete_file($file['fullname'],1,1,1); dol_delete_file($file['fullname'],1,1,1);
dol_delete_dir(dirname($file['fullname']),1); dol_delete_dir(dirname($file['fullname']),1);
@ -545,9 +605,9 @@ if ($ok && GETPOST('clean_orphelin_dir'))
} }
// clean_linked_elements: Check and clean linked elements // clean_linked_elements: Check and clean linked elements
if ($ok && GETPOST('clean_product_stock_batch')) if ($ok && GETPOST('clean_product_stock_batch','alpha'))
{ {
$methodtofix=GETPOST('methodtofix')?GETPOST('methodtofix'):'updatestock'; $methodtofix=GETPOST('methodtofix','alpha')?GETPOST('methodtofix','alpha'):'updatestock';
print '<tr><td colspan="2"><br>*** Clean table product_batch, methodtofix='.$methodtofix.' (possible values: updatestock or updatebatch)</td></tr>'; print '<tr><td colspan="2"><br>*** Clean table product_batch, methodtofix='.$methodtofix.' (possible values: updatestock or updatebatch)</td></tr>';
@ -646,7 +706,7 @@ if ($ok && GETPOST('clean_product_stock_batch'))
// clean_linked_elements: Check and clean linked elements // clean_linked_elements: Check and clean linked elements
if ($ok && GETPOST('clean_product_stock_negative_if_batch')) if ($ok && GETPOST('clean_product_stock_negative_if_batch','alpha'))
{ {
print '<tr><td colspan="2"><br>Clean table product_batch, methodtofix='.$methodtofix.' (possible values: updatestock or updatebatch)</td></tr>'; print '<tr><td colspan="2"><br>Clean table product_batch, methodtofix='.$methodtofix.' (possible values: updatestock or updatebatch)</td></tr>';
@ -675,7 +735,7 @@ if ($ok && GETPOST('clean_product_stock_negative_if_batch'))
} }
// clean_linked_elements: Check and clean linked elements // clean_linked_elements: Check and clean linked elements
if ($ok && GETPOST('set_empty_time_spent_amount')) if ($ok && GETPOST('set_empty_time_spent_amount','alpha'))
{ {
print '<tr><td colspan="2"><br>*** Set value of time spent without amount</td></tr>'; print '<tr><td colspan="2"><br>*** Set value of time spent without amount</td></tr>';
@ -732,7 +792,6 @@ if ($ok && GETPOST('set_empty_time_spent_amount'))
dol_print_error($db); dol_print_error($db);
} }
} }