You are here

function imagecrop_form_user_profile_form_alter in Image javascript crop 7

Implements hook_form_user_profile_form_alter(). Add imagecrop to profile picture, if enabled.

File

./imagecrop.module, line 260
Provides a javascript toolbox through an imagecache action.

Code

function imagecrop_form_user_profile_form_alter(&$form, $form_state, $form_id) {
  $hooks = variable_get('imagecrop_modules', array());
  if (!empty($form['picture']['picture']['#value']) && !empty($hooks['profile_picture'])) {
    $styles = array_keys(get_imagecrop_styles());
    if (count($styles) > 0) {

      // Create fake file object for permission check.
      $file = new stdClass();
      $file->uid = $form['#user']->uid;
      $imagecrop = new ImageCrop();
      $imagecrop
        ->setFile($file);
      global $user;
      if (!$imagecrop
        ->hasUserAccess($user)) {
        return;
      }
      $variables = array(
        'styles' => $styles,
        'js_file' => 'imagecrop_field.js',
        'text' => t('Crop picture'),
        'fid' => $form['picture']['picture']['#value']->fid,
      );
      $form['picture']['picture_current']['#markup'] .= imagecrop_linkitem($form, $variables);
    }
  }
}