diff --git a/htdocs/core/lib/website2.lib.php b/htdocs/core/lib/website2.lib.php index 17021ab25db..0b836399f43 100644 --- a/htdocs/core/lib/website2.lib.php +++ b/htdocs/core/lib/website2.lib.php @@ -563,7 +563,7 @@ function dolSaveLicense($file, $content) */ function showWebsiteTemplates(Website $website) { - global $conf, $langs, $db, $form; + global $conf, $langs, $db, $form, $user; $dirthemes = array('/doctemplates/websites'); if (!empty($conf->modules_parts['websitetemplates'])) { // Using this feature slow down application @@ -582,11 +582,15 @@ function showWebsiteTemplates(Website $website) // Title print ''; print $form->textwithpicto($langs->trans("Templates"), $langs->trans("ThemeDir").' : '.join(", ", $dirthemes)); + print ' '; + print ''; + print img_picto('', 'refresh'); + print ''; print ''; print ''; $url = 'https://www.dolistore.com/43-web-site-templates'; print ''; - print $langs->trans('DownloadMoreSkins'); + print img_picto('', 'globe', 'class="pictofixedwidth"').$langs->trans('DownloadMoreSkins'); print ''; print ''; @@ -645,6 +649,9 @@ function showWebsiteTemplates(Website $website) print $subdir; print '
'; print ''.dol_print_size(dol_filesize($dirtheme."/".$subdir), 1, 1).' - '.dol_print_date(dol_filemtime($templatedir), 'dayhour', 'tzuserrel').''; + if ($user->hasRight('website', 'delete')) { + print ' ref).'&templateuserfile='.urlencode($subdir).'">'.img_picto('', 'delete').''; + } print '
ref).'&templateuserfile='.urlencode($subdir).'" class="button">'.$langs->trans("Load").''; print ''; diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 514c24db164..16985c511e1 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -449,6 +449,36 @@ if ($massaction == 'replace' && GETPOST('confirmmassaction', 'alpha') && !$searc $massaction = ''; } +if ($action == 'deletetemplate') { + $dirthemes = array('/doctemplates/websites'); + if (!empty($conf->modules_parts['websitetemplates'])) { // Using this feature slow down application + foreach ($conf->modules_parts['websitetemplates'] as $reldir) { + $dirthemes = array_merge($dirthemes, (array) ($reldir.'doctemplates/websites')); + } + } + $dirthemes = array_unique($dirthemes); + + + // Delete template files and dir + $mode = 'importsite'; + $action = 'importsite'; + + if (count($dirthemes)) { + $i = 0; + foreach ($dirthemes as $dir) { + //print $dirroot.$dir;exit; + $dirtheme = DOL_DATA_ROOT.$dir; // This include loop on $conf->file->dol_document_root + if (is_dir($dirtheme)) { + $templateuserfile = GETPOST('templateuserfile'); + $imguserfile = preg_replace('/\.zip$/', '', $templateuserfile).'.jpg'; + dol_delete_file($dirtheme.'/'.$templateuserfile); + dol_delete_file($dirtheme.'/'.$imguserfile); + } + } + } +} + + // Set category if ($massaction == 'setcategory' && GETPOST('confirmmassaction', 'alpha') && $usercanedit) { $error = 0;