Ignore:
Timestamp:
Apr 15, 2011, 5:40:23 PM (13 years ago)
Author:
patdenice
Message:

feature:2259
Add thumbnails regeneration in batch manager

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/batch_manager_global.php

    r10380 r10389  
    3434
    3535include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
     36include_once(PHPWG_ROOT_PATH.'admin/include/functions_upload.inc.php');
     37prepare_upload_configuration();
     38
     39$upload_form_config = get_upload_form_config();
     40foreach ($upload_form_config as $param_shortname => $param)
     41{
     42  $param_name = 'upload_form_'.$param_shortname;
     43  $form_values[$param_shortname] = $conf[$param_name];
     44}
    3645
    3746// +-----------------------------------------------------------------------+
     
    395404  }
    396405
     406  if ('regenerateThumbnails' == $action)
     407  {
     408    if ($_POST['regenerateSuccess'] != '0')
     409      array_push($page['infos'], sprintf(l10n('%s thumbnails have been regenerated'), $_POST['regenerateSuccess']));
     410
     411    if ($_POST['regenerateError'] != '0')
     412      array_push($page['warnings'], sprintf(l10n('%s thumbnails have been regenerated'), $_POST['regenerateError']));
     413
     414    // Update configuration
     415    $fields = array('thumb_maxwidth', 'thumb_maxheight', 'thumb_quality');
     416    $updates = array();
     417    foreach ($fields as $field)
     418    {
     419      $value = null;
     420      if (!empty($_POST[$field]))
     421      {
     422        $value = $_POST[$field];
     423      }
     424
     425      if (preg_match($upload_form_config[$field]['pattern'], $value)
     426        and $value >= $upload_form_config[$field]['min']
     427        and $value <= $upload_form_config[$field]['max'])
     428      {
     429        $conf['upload_form_'.$field] = $value;
     430         $updates[] = array(
     431          'param' => 'upload_form_'.$field,
     432          'value' => $value
     433          );
     434      }
     435      else
     436      {
     437        $updates = null;
     438        break;
     439      }
     440      $form_values[$field] = $value;
     441    }
     442    if (!empty($updates))
     443    {
     444      mass_updates(
     445        CONFIG_TABLE,
     446        array(
     447          'primary' => array('param'),
     448          'update' => array('value')
     449          ),
     450        $updates
     451        );
     452    }
     453    function regenerateThumbnails_prefilter($content, $smarty)
     454    {
     455      return str_replace('{$thumbnail.TN_SRC}', '{$thumbnail.TN_SRC}?rand='.md5(uniqid(rand(), true)), $content);
     456    }
     457    $template->set_prefilter('batch_manager_global', 'regenerateThumbnails_prefilter');
     458    $template->delete_compiled_templates();
     459  }
     460
    397461  trigger_action('element_set_global_action', $action, $collection);
    398462}
     
    431495    'filter' => $_SESSION['bulk_manager_filter'],
    432496    'selection' => $collection,
     497    'all_elements' => $page['cat_elements_id'],
     498    'upload_form_settings' => $form_values,
    433499    'U_DISPLAY'=>$base_url.get_query_string_diff(array('display')),
    434500    'F_ACTION'=>$base_url.get_query_string_diff(array('cat')),
Note: See TracChangeset for help on using the changeset viewer.