From b5cc7ae1c85b934404a7abf969e9cc0a14ae4def Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 19 Jun 2015 00:52:58 +0200 Subject: [PATCH] Work on merge tab photos and attached files --- htdocs/core/class/html.formfile.class.php | 16 +++- htdocs/product/class/product.class.php | 3 +- htdocs/product/document.php | 89 ++++++++++++----------- 3 files changed, 63 insertions(+), 45 deletions(-) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 699060afcfc..060f1d387c7 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -840,7 +840,12 @@ class FormFile $fileinfo = pathinfo($file['name']); print '<td align="center">'; $minifile=$fileinfo['filename'].'_mini.'.strtolower($fileinfo['extension']); // Thumbs are created with filename in lower case - if (image_format_supported($file['name']) > 0) print '<img border="0" height="'.$maxheightmini.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.'thumbs/'.$minifile).'" title="">'; + if (image_format_supported($file['name']) > 0) + { + print '<a href="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.$fileinfo['filename'].'.'.strtolower($fileinfo['extension'])).'" class="aphoto" target="_blank">'; + print '<img border="0" height="'.$maxheightmini.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.'thumbs/'.$minifile).'" title="">'; + print '</a>'; + } else print ' '; print '</td>'; } @@ -848,6 +853,15 @@ class FormFile // ($param must start with &) print '<td align="right">'; if ($useinecm) print '<a href="'.DOL_URL_ROOT.'/ecm/docfile.php?urlfile='.urlencode($file['name']).$param.'" class="editfilelink" rel="'.urlencode($file['name']).'">'.img_view().'</a> '; + else + { + if (image_format_supported($file['name']) > 0) + { + // TODO Add link from photo page here + + + } + } if ($permtodelete) { /* diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 079c0772d8b..90851b53e90 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3552,7 +3552,8 @@ class Product extends CommonObject // Si fichier vignette disponible et image source trop grande, on utilise la vignette, sinon on utilise photo origine $alt=$langs->transnoentitiesnoconv('File').': '.$pdir.$photo; $alt.=' - '.$langs->transnoentitiesnoconv('Size').': '.$imgarray['width'].'x'.$imgarray['height']; - if ($photo_vignette && $imgarray['height'] > $maxHeight) { + if ($photo_vignette && $imgarray['height'] > $maxHeight) + { $return.= '<!-- Show thumb -->'; $return.= '<img class="photo photowithmargin" border="0" '.($conf->dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdirthumb.$photo_vignette).'" title="'.dol_escape_htmltag($alt).'">'; } diff --git a/htdocs/product/document.php b/htdocs/product/document.php index 797af35248e..35d1b1080fb 100644 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -103,7 +103,7 @@ if (empty($reshook)) } } } - + // Action sending file include_once DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_pre_headers.tpl.php'; @@ -112,18 +112,18 @@ if (empty($reshook)) if ($action=='filemerge') { $is_refresh = GETPOST('refresh'); if (empty($is_refresh)) { - + $filetomerge_file_array = GETPOST('filetoadd'); - + $filetomerge_file_array = GETPOST('filetoadd'); - + if ($conf->global->MAIN_MULTILANGS) { $lang_id = GETPOST('lang_id'); } - + // Delete all file already associated $filetomerge = new Propalmergepdfproduct($db); - + if ($conf->global->MAIN_MULTILANGS) { $result=$filetomerge->delete_by_product($user, $object->id, $lang_id); } else { @@ -132,17 +132,17 @@ if ($action=='filemerge') { if ($result<0) { setEventMessage($filetomerge->error,'errors'); } - + // for each file checked add it to the product if (is_array($filetomerge_file_array)) { foreach ( $filetomerge_file_array as $filetomerge_file ) { $filetomerge->fk_product = $object->id; $filetomerge->file_name = $filetomerge_file; - + if ($conf->global->MAIN_MULTILANGS) { $filetomerge->lang = $lang_id; } - + $result=$filetomerge->create($user); if ($result<0) { setEventMessage($filetomerge->error,'errors'); @@ -206,31 +206,31 @@ if ($object->id) print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>'; print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>'; print '</table>'; - + print '</div>'; $modulepart = 'produit'; $permission = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->creer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->creer)); $param = '&id=' . $object->id; include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php'; - - - //Merge propal PDF docuemnt PDF files + + + // Merge propal PDF docuemnt PDF files if (!empty($conf->global->PRODUIT_PDF_MERGE_PROPAL)) { $filetomerge = new Propalmergepdfproduct($db); - + if ($conf->global->MAIN_MULTILANGS) { $lang_id = GETPOST('lang_id'); $result = $filetomerge->fetch_by_product($object->id, $lang_id); } else { $result = $filetomerge->fetch_by_product($object->id); } - + $form = new Form($db); - + $filearray = dol_dir_list($upload_dir, "files", 0, '', '\.meta$', 'name', SORT_ASC, 1); - + // For each file build select list with PDF extention if (count($filearray) > 0) { print '<br>'; @@ -238,31 +238,31 @@ if ($object->id) if (count($filetomerge->lines) > 0) { print $langs->trans('PropalMergePdfProductActualFile'); } - + print '<form name="filemerge" action="' . DOL_URL_ROOT . '/product/document.php?id=' . $object->id . '" method="post">'; print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">'; print '<input type="hidden" name="action" value="filemerge">'; if (count($filetomerge->lines) == 0) { print $langs->trans('PropalMergePdfProductChooseFile'); } - + print '<table class="noborder">'; - + // Get language if ($conf->global->MAIN_MULTILANGS) { - + $langs->load("languages"); - + print '<tr class="liste_titre"><td>'; - + $delauft_lang = (empty($lang_id)) ? $langs->getDefaultLang() : $lang_id; - + $langs_available = $langs->get_available_languages(DOL_DOCUMENT_ROOT, 12); - + print '<select class="flat" id="lang_id" name="lang_id">'; - + asort($langs_available); - + $uncompletelanguages = array ( 'da_DA', 'fi_FI', @@ -275,8 +275,10 @@ if ($object->id) 'tr_TR', 'zh_CN' ); - foreach ( $langs_available as $key => $value ) { - if ($showwarning && in_array($key, $uncompletelanguages)) { + foreach ( $langs_available as $key => $value ) + { + if ($showwarning && in_array($key, $uncompletelanguages)) + { // $value.=' - '.$langs->trans("TranslationUncomplete",$key); } if ($filter && is_array($filter)) { @@ -290,28 +292,28 @@ if ($object->id) } } print '</select>'; - + if ($conf->global->MAIN_MULTILANGS) { print '<input type="submit" class="button" name="refresh" value="' . $langs->trans('Refresh') . '">'; } - + print '</td></tr>'; } - + $style = 'impair'; - foreach ( $filearray as $filetoadd ) { - - if ($ext = pathinfo($filetoadd['name'], PATHINFO_EXTENSION) == 'pdf') { - + foreach ($filearray as $filetoadd) + { + if ($ext = pathinfo($filetoadd['name'], PATHINFO_EXTENSION) == 'pdf') + { if ($style == 'pair') { $style = 'impair'; } else { $style = 'pair'; } - + $checked = ''; $filename = $filetoadd['name']; - + if ($conf->global->MAIN_MULTILANGS) { if (array_key_exists($filetoadd['name'] . '_' . $delauft_lang, $filetomerge->lines)) { $filename = $filetoadd['name'] . ' - ' . $langs->trans('Language_' . $delauft_lang); @@ -322,23 +324,24 @@ if ($object->id) $checked = ' checked '; } } - + print '<tr class="' . $style . '"><td>'; - + print '<input type="checkbox" ' . $checked . ' name="filetoadd[]" id="filetoadd" value="' . $filetoadd['name'] . '">' . $filename . '</input>'; print '</td></tr>'; } } + print '<tr><td>'; - print '<input type="submit" class="button" name="save" value="' . $langs->trans('Save') . '">'; print '</td></tr>'; + print '</table>'; - + print '</form>'; } } - + } else { -- GitLab