diff options
Diffstat (limited to 'admin')
-rw-r--r-- | admin/include/functions.php | 38 | ||||
-rw-r--r-- | admin/picture_coi.php | 40 | ||||
-rw-r--r-- | admin/themes/default/template/picture_coi.tpl | 20 |
3 files changed, 63 insertions, 35 deletions
diff --git a/admin/include/functions.php b/admin/include/functions.php index b25991bed..9e6901f27 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -202,18 +202,18 @@ SELECT } $ok = true; - if (!isset($conf['never_delete_originals'])) - { - foreach ($files as $path) - { - if (is_file($path) and !unlink($path)) - { - $ok = false; - trigger_error('"'.$path.'" cannot be removed', E_USER_WARNING); - break; - } - } - } + if (!isset($conf['never_delete_originals'])) + { + foreach ($files as $path) + { + if (is_file($path) and !unlink($path)) + { + $ok = false; + trigger_error('"'.$path.'" cannot be removed', E_USER_WARNING); + break; + } + } + } if ($ok) { @@ -2306,7 +2306,7 @@ function clear_derivative_cache_rec($path, $pattern) } } -function delete_element_derivatives($infos) +function delete_element_derivatives($infos, $type='all') { $path = $infos['path']; if (!empty($infos['representative_ext'])) @@ -2317,8 +2317,16 @@ function delete_element_derivatives($infos) { $path = substr($path, 3); } - $dot = strpos($path, '.'); - $path = substr_replace($path, '-*', $dot, 0); + $dot = strrpos($path, '.'); + if ($type=='all') + { + $pattern = '-*'; + } + else + { + $pattern = '-'.derivative_to_url($type).'*'; + } + $path = substr_replace($path, $pattern, $dot, 0); foreach( glob(PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR.$path) as $file) { @unlink($file); diff --git a/admin/picture_coi.php b/admin/picture_coi.php index 2a3a60023..9725d5294 100644 --- a/admin/picture_coi.php +++ b/admin/picture_coi.php @@ -57,7 +57,24 @@ $row = pwg_db_fetch_assoc( pwg_query($query) ); if (isset($_POST['submit'])) { - delete_element_derivatives($row); + foreach(ImageStdParams::get_defined_type_map() as $params) + { + if ($params->sizing->max_crop != 0) + { + delete_element_derivatives($row, $params->type); + } + } + delete_element_derivatives($row, IMG_CUSTOM); + $uid = '&b='.time(); + $conf['question_mark_in_urls'] = $conf['php_extension_in_urls'] = true; + if ($conf['derivative_url_style']==1) + { + $conf['derivative_url_style']=0; //auto + } +} +else +{ + $uid = ''; } $tpl_var = array( @@ -76,20 +93,19 @@ if (!empty($row['coi'])) ); } -if (isset($_POST['submit'])) +foreach(ImageStdParams::get_defined_type_map() as $params) { - $uid = '&b='.time(); - $conf['question_mark_in_urls'] = $conf['php_extension_in_urls'] = true; - $conf['derivative_url_style']=2; //script - $tpl_var['U_SQUARE'] = DerivativeImage::url(IMG_SQUARE, $row).$uid; - $tpl_var['U_THUMB'] = DerivativeImage::url(IMG_THUMB, $row).$uid; -} -else -{ - $tpl_var['U_SQUARE'] = DerivativeImage::url(IMG_SQUARE, $row); - $tpl_var['U_THUMB'] = DerivativeImage::url(IMG_THUMB, $row); + if ($params->sizing->max_crop != 0) + { + $derivative = new DerivativeImage($params, new SrcImage($row) ); + $template->append( 'cropped_derivatives', array( + 'U_IMG' => $derivative->get_url().$uid, + 'HTM_SIZE' => $derivative->get_size_htm(), + ) ); + } } + $template->assign($tpl_var); $template->set_filename('picture_coi', 'picture_coi.tpl'); diff --git a/admin/themes/default/template/picture_coi.tpl b/admin/themes/default/template/picture_coi.tpl index 8287d3701..8465a5765 100644 --- a/admin/themes/default/template/picture_coi.tpl +++ b/admin/themes/default/template/picture_coi.tpl @@ -8,13 +8,17 @@ <a href="{$U_EDIT}">{'Edit photo information'|@translate}</a> </div> -<div> -<img src="{$U_SQUARE}" alt="{$ALT}"> -<img src="{$U_THUMB}" alt="{$ALT}"> -</div> - -<div> <form method="post"> + +<fieldset> +<legend>{'Crop'|@translate}</legend> +{foreach from=$cropped_derivatives item=deriv} +<img src="{$deriv.U_IMG}" alt="{$ALT}" {$deriv.HTM_SIZE}> +{/foreach} +</fieldset> + +<fieldset> +<legend>{'Center of interest'|@translate}</legend> <input type="hidden" id="l" name="l" value="{if isset($coi)}{$coi.l}{/if}"> <input type="hidden" id="t" name="t" value="{if isset($coi)}{$coi.t}{/if}"> <input type="hidden" id="r" name="r" value="{if isset($coi)}{$coi.r}{/if}"> @@ -25,8 +29,8 @@ <p> <input type="submit" name="submit" value="{'Submit'|@translate}"> </p> +</fieldset> </form> -</div> {footer_script} {literal} @@ -51,7 +55,7 @@ function jOnRelease() { {/literal} jQuery("#jcrop").Jcrop( {ldelim} - boxWidth: 400, boxHeight: 400, + boxWidth: 500, boxHeight: 400, onChange: jOnChange, onRelease: jOnRelease } |