FINAL suepr merge step : added all modules to this super repos

This commit is contained in:
Bachir Soussi Chiadmi
2015-04-19 16:46:59 +02:00
7585 changed files with 1723356 additions and 18 deletions

View File

@@ -0,0 +1,29 @@
name = Images Styles Generation
description = "Images Styles Generation"
; Core version (required)
core = 7.x
; Package name (see http://drupal.org/node/542202 for a list of names)
package = Files
; PHP version requirement (optional)
; php = 5.2
; Loadable code files
;files[] = materio_didactique.theme.inc
;files[] = materio_didactique.forms.inc
;files[] = materio_didactique.pages.inc
;files[] = materio_didactique.admin.inc
files[] = images_styles_gen.module
; Module dependencies
;dependencies[] = taxonomy
;dependencies[] = search_api
dependencies[] = file
; Configuration page
; configure = admin/config/materiobasemod
; For further information about configuration options, see
; - http://drupal.org/node/542202

View File

@@ -0,0 +1,94 @@
<?php
/**
* Implements hook_menu().
*/
function images_styles_gen_menu() {
$items['admin/config/media/image-styles/generate'] = array(
'title' => 'pre-generate images styles',
'page callback' => 'drupal_get_form',
'page arguments' => array('images_styles_gen_settings'),
'access arguments' => array('administer image styles'),
'type' => MENU_LOCAL_ACTION,
);
return $items;
}
function images_styles_gen_settings(){
foreach(image_styles() as $style) {
$styles_options[$style['name']] = $style['name'];
}
$form['images_styles_gen_styles'] = array(
'#type'=>'select',
'#options'=>$styles_options,
'#default_value' => variable_get('images_styles_gen_styles', array()),
'#title' => t('Images styles to pre generate'),
'#multiple' => true,
);
return system_settings_form($form);
}
/**
* Implements hook_cron().
*/
function images_styles_gen_cron() {
$result = db_query('SELECT fid, uri FROM {file_managed} WHERE filemime like :mime AND status = :status', array('mime' => 'image/%', 'status' => FILE_STATUS_PERMANENT));
$queue = DrupalQueue::get('generate_images_styles');
$n = 0;
$images_styles_gen_styles = variable_get('images_styles_gen_styles', array());
watchdog('Images Styles Generate', 'active styles variable : '. print_r($images_styles_gen_styles, true), null, WATCHDOG_INFO);
foreach(image_styles() as $style) {
if( in_array($style['name'], $images_styles_gen_styles) ){
$active_styles[] = $style;
}
}
watchdog('Images Styles Generate', 'active styles : '. print_r($active_styles, true), null, WATCHDOG_INFO);
foreach ($result as $img_info) {
foreach($active_styles as $style) {
$derivative_uri = image_style_path($style['name'], $img_info->uri);
if (file_exists($derivative_uri)) continue; // skip existing files
$data = (object) array(
'style' => $style,
'img_info' => $img_info,
'derivative_uri' => $derivative_uri
);
$queue->createItem($data);
$n ++;
}
}
watchdog('Images Styles Generate', $n .' images added on cron to queue for generation.', null, WATCHDOG_INFO);
}
/**
* Implements hook_cron_queue_info().
*/
function images_styles_gen_cron_queue_info() {
$queues['generate_images_styles'] = array(
'worker callback' => '_images_styles_gen_generate',
'time' => 30
);
return $queues;
}
function _images_styles_gen_generate($data){
if (!file_exists($data->derivative_uri)) {
try {
image_style_create_derivative($data->style, $data->img_info->uri, $data->derivative_uri);
watchdog('Images Styles Generate', 'Generated : '. $data->style['name'] .' | '.$data->img_info->uri, null, WATCHDOG_INFO);
} catch (Exception $e) {
watchdog('Images Styles Generate', 'Generation error on queue : '. $data->style['name'] .' | '. $data->img_info->uri.' | '.$e->getMessage(), null, WATCHDOG_WARNING);
}
}
return true;
}