You are here

function vsf_manualcrop_visual_select_file_results_alter in Visual select file 7

Implements hook_visual_select_file_results_alter().

File

submodules/vsf_manualcrop/vsf_manualcrop.module, line 132

Code

function vsf_manualcrop_visual_select_file_results_alter(&$results, $context) {
  if (!isset($_GET['ckeditor'])) {
    return;
  }

  // Add styles with manualcrop to JS settings.
  $styles = array_keys(manualcrop_styles_with_crop());
  $results['crop_styles'] = $styles;

  // Collect this page's fids.
  $fids = array_keys($results['results']);
  if (!$fids) {
    return;
  }

  // Fetch and group all relevant manual crops.
  $query = db_query('SELECT fid, style_name FROM {manualcrop} WHERE fid IN (:fids)', array(
    ':fids' => $fids,
  ));
  $crops = array();
  foreach ($query as $crop) {
    $crops[$crop->fid][] = $crop->style_name;
  }

  // Add cropped styles to JS settings.
  foreach ($results['results'] as $fid => &$file) {
    $file[4] = @$crops[$fid] ?: array();
    unset($file);
  }
}