Skip to content
Snippets Groups Projects
Commit 811b0d9a authored by Laurent Destailleur's avatar Laurent Destailleur
Browse files

Fix missing thumbs images for products

parent 75624376
No related branches found
No related tags found
No related merge requests found
...@@ -26,6 +26,7 @@ ...@@ -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; ...@@ -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) ...@@ -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')) ...@@ -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')) ...@@ -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')) ...@@ -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')) ...@@ -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')) ...@@ -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')) ...@@ -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')) ...@@ -732,7 +792,6 @@ if ($ok && GETPOST('set_empty_time_spent_amount'))
dol_print_error($db); dol_print_error($db);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment