image_effects_text.module in ImageCache Actions 7
Same filename and directory in other branches
Provide text manipulation effects for image styles.
Ported by dman from https://drupal.org/node/264862#comment-865490 by patrickharris
Ported to D7 by fietserwin from imagecache_textactions 6.x-1.8.
- The module has been renamed to follow D7 terminology:
- imagecache -> image
- action(s) -> effect(s)
 resulting in image_effects_text. 
- The .module file is kept as small as possible. The real work is done in the .inc file.
- Function and parameter naming has been changed to match the image effects in the core image module.
File
image_effects_text/image_effects_text.moduleView source
<?php
/**
 * @file Provide text manipulation effects for image styles.
 *
 * Ported by dman
 * from https://drupal.org/node/264862#comment-865490 by patrickharris
 *
 * Ported to D7 by fietserwin
 * from imagecache_textactions 6.x-1.8.
 * - The module has been renamed to follow D7 terminology:
 *   * imagecache -> image
 *   * action(s) -> effect(s)
 *   resulting in image_effects_text.
 * - The .module file is kept as small as possible. The real work is done in the
 *   .inc file.
 * - Function and parameter naming has been changed to match the image effects
 *   in the core image module.
 */
/**
 * Implements hook_image_effect_info().
 *
 * Defines information about the supported effects.
 */
function image_effects_text_image_effect_info() {
  $effects = array();
  $effects['image_effects_text'] = array(
    'label' => t('Text'),
    'help' => t('Add static or dynamic (coded) text to an image.'),
    'dimensions passthrough' => TRUE,
    'effect callback' => 'image_effects_text_effect',
    'form callback' => 'image_effects_text_form',
    'summary theme' => 'image_effects_text_summary',
  );
  return $effects;
}
/**
 * Implements hook_help().
 */
function image_effects_text_help($path, $arg) {
  if ($path === 'admin/advanced_help' && count($arg) >= 3 && $arg[2] === 'image_effects_text' || $path === 'admin/help/image_effects_text') {
    module_load_include('inc', 'image_effects_text', 'image_effects_text');
    return image_effects_text_help_inc($path, $arg);
  }
  else {
    if ($path === 'admin/help#image_effects_text') {
      // This path just checks if there is (non-empty) help, so it can place a
      // link to it.
      return ' ';
    }
  }
  return '';
}
/**
 * Implements hook_theme().
 *
 * Registers theme functions for the effect summaries.
 */
function image_effects_text_theme() {
  return array(
    'image_effects_text_summary' => array(
      'variables' => array(
        'data' => NULL,
      ),
      'file' => 'image_effects_text.inc',
    ),
  );
}
/**
 * Implements hook_exit().
 *
 * For imagemagick we place the text in a temporary file as this prevents
 * problems with non-ASCII characters. This hook deletes files created during
 * execution of the text effect. As a style may contain multiple text effects,
 * there may be multiple files to delete.
 *
 * To keep track of temporary files created by this effect, the image effect
 * function itself also calls this hook, but passes the filename as a parameter.
 *
 * @param string|null $destination
 */
function image_effects_text_exit($destination = NULL) {
  static $tmp_file_names = array();
  if (isset($destination)) {
    if (substr($destination, 0, strlen('temporary://')) === 'temporary://') {
      // Called by the effect function. Add to our static list of files ot delete.
      $tmp_file_names[] = $destination;
    }
  }
  else {
    // Normal invocation as Drupal hook: delete any files we have collected.
    foreach ($tmp_file_names as $tmp_file_name) {
      unlink($tmp_file_name);
    }
  }
}
/**
 * Builds the form structure for the overlay text image effect.
 */
function image_effects_text_form($data) {
  module_load_include('inc', 'image_effects_text', 'image_effects_text');
  return image_effects_text_form_inc($data);
}
/**
 * Callback to perform the image effect on the given image.
 */
function image_effects_text_effect($image, $data) {
  module_load_include('inc', 'image_effects_text', 'image_effects_text');
  return image_effects_text_effect_inc($image, $data);
}Functions
| Name   | Description | 
|---|---|
| image_effects_text_effect | Callback to perform the image effect on the given image. | 
| image_effects_text_exit | Implements hook_exit(). | 
| image_effects_text_form | Builds the form structure for the overlay text image effect. | 
| image_effects_text_help | Implements hook_help(). | 
| image_effects_text_image_effect_info | Implements hook_image_effect_info(). | 
| image_effects_text_theme | Implements hook_theme(). | 
