You are here

function imagepicker_admin_images in Image Picker 5.2

Same name and namespace in other branches
  1. 6.2 imagepicker.admin.inc \imagepicker_admin_images()
  2. 7 imagepicker.admin.inc \imagepicker_admin_images()
1 string reference to 'imagepicker_admin_images'
imagepicker_menu in ./imagepicker.module
Implementation of hook_menu().

File

./imagepicker.module, line 1748
Enables permitted roles to upload images for insertion into configured nodes.

Code

function imagepicker_admin_images() {
  drupal_add_css(drupal_get_path('module', 'imagepicker') . '/imagepicker.css');
  if (!arg(4)) {
    variable_del('imagepicker_currentuser');
    variable_set('imagepicker_currentgroup', 0);
    $action = 'users';
  }
  $uid = variable_get('imagepicker_currentuser', '');
  if (arg(4) == 'user' && is_numeric(arg(5))) {
    $uid = arg(5);
  }
  elseif (arg(4) == 'browse_public' || arg(4) == 'stats' || arg(4) == 'users' || arg(4) == 'list_public') {
    $action = arg(4);
    variable_del('imagepicker_currentuser');
    variable_set('imagepicker_currentgroup', 0);
    $uid = FALSE;
  }
  if (arg(6) == 'browse_public' || arg(6) == 'browse' || arg(6) == 'edit' || arg(6) == 'delete' || arg(6) == 'browseadmin' || arg(6) == 'upload' || arg(6) == 'stats' || arg(6) == 'quota') {
    $imgaction = arg(6);
  }
  if (is_numeric(arg(7))) {
    $img_id = arg(7);
  }
  if (arg(6) == 'upload') {
    if (variable_get('imagepicker_upload_progress_enabled', 1)) {
      $content .= theme('imagepicker_upload_progress_get_script', variable_get('imagepicker_upload_progress_delay', 0));
    }
  }
  $name = "";
  if ($uid) {
    $user = user_load(array(
      'uid' => $uid,
    ));
    $name = $user->name;
    $menu = array(
      l(t('Users'), 'admin/settings/imagepicker/images'),
      l(t('Browse All'), 'admin/settings/imagepicker/images/browse_public'),
      l(t('List All'), 'admin/settings/imagepicker/images/list_public'),
      l(t('Browse'), 'admin/settings/imagepicker/images/user/' . $uid . '/browse'),
      l(t('List'), 'admin/settings/imagepicker/images/user/' . $uid . '/browseadmin'),
      l(t('Upload'), 'admin/settings/imagepicker/images/user/' . $uid . '/upload'),
      l(t('Groups'), 'admin/settings/imagepicker/groups/user/' . $uid),
      l(t('Stats'), 'admin/settings/imagepicker/images/user/' . $uid . '/stats'),
      variable_get('imagepicker_quota_enable', 1) ? l(t('Quota'), 'admin/settings/imagepicker/images/user/' . $uid . '/quota') : '',
    );
  }
  elseif ($action) {
    $menu = array(
      l(t('Users'), 'admin/settings/imagepicker/images/users'),
      l(t('Browse All'), 'admin/settings/imagepicker/images/browse_public'),
      l(t('List All'), 'admin/settings/imagepicker/images/list_public'),
      l(t('Stats'), 'admin/settings/imagepicker/images/stats'),
    );
  }
  $content .= drupal_get_form('imagepicker_user_search_form', 'images');
  $content .= '<p>' . t('Managing images for ') . ($name ? l($name, "user/{$uid}") : 'All') . '</p>';
  if (is_array($menu)) {
    $content .= theme_item_list($menu, NULL, 'ul', $attributes = array(
      'class' => 'tabs secondary',
    ));
  }
  if ($uid) {
    if ($img_id) {
      if ($imgaction == 'edit') {
        $img = _imagepicker_get_img($img_id, FALSE, $user);
        $imgsrc = imagepicker_get_image_path($img, 'browser', array(
          'uid' => $user->uid,
          'name' => $user->name,
        ));
        $content .= "<div class='imgp_help'>" . t('Edit image details') . "</div>";
        $content .= '<div id="imgp_img_holder"><img src="' . $imgsrc . '" alt="' . check_plain($img['img_title']) . '" /></div>';
        $content .= drupal_get_form('imagepicker_edit_form', $img, 'admin', $user);
      }
      elseif ($imgaction == 'delete') {
        imagepicker_image_delete($img_id, $user, 'admin');
      }
      else {
        $content .= imagepicker_admin_view($img_id, $user);
      }
    }
    elseif ($imgaction == 'upload') {
      $content .= '<fieldset><legend>' . t('Upload file for %name', array(
        '%name' => $name,
      )) . '</legend>';
      if (variable_get('imagepicker_upload_progress_enabled', 1)) {
        $content .= theme('imagepicker_upload_progress_get_script', variable_get('imagepicker_upload_progress_delay', 0));
      }
      $content .= imagepicker_quota_ok('admin', $user);
      $content .= '</fieldset>';
    }
    elseif ($imgaction == 'stats') {
      $content .= '<fieldset><legend>' . t('Statistics for %name', array(
        '%name' => $name,
      )) . '</legend>';
      $content .= imagepicker_group_stats($user);
      $content .= '</fieldset>';
    }
    elseif ($imgaction == 'browseadmin') {
      $content .= '<fieldset><legend>' . t('List images for %name', array(
        '%name' => $name,
      )) . '</legend>';
      $content .= _imagepicker_browse_admin('admin', $user);
      $content .= '</fieldset>';
    }
    elseif ($imgaction == 'quota') {
      $usedbytes = imagepicker_get_all_bytes($user) + 1;
      $usedbytesprint = _imagepicker_bkmg($usedbytes);
      $quota = 0;
      if (variable_get('imagepicker_quota_enable', 1)) {
        $quota = $user->imagepicker_quota ? $user->imagepicker_quota : variable_get('imagepicker_quota_default', 1);
      }
      $content .= '<fieldset><legend>' . t('Quota for %name', array(
        '%name' => $name,
      )) . '</legend>';
      $imgtot = _imagepicker_user_has_img($user);
      if ($quota) {
        $pused = round($usedbytes / ($quota * 1000000) * 100, 2);
        $content .= '<p>' . t('User %name has used %pused percent or %usedbytesprint of quota and has %imgtot images.', array(
          '%name' => $name,
          '%pused' => $pused,
          '%usedbytesprint' => $usedbytesprint,
          '%imgtot' => $imgtot,
        )) . '</p>';
      }
      else {
        $content .= '<p>' . t('User %name has used %usedbytesprint and has %imgtot images.', array(
          '%name' => $name,
          '%usedbytesprint' => $usedbytesprint,
          '%imgtot' => $imgtot,
        )) . '</p>';
      }
      $content .= drupal_get_form('imagepicker_quota_form', $user);
      $content .= '</fieldset>';
    }
    else {
      $content .= '<fieldset><legend>' . t('Browse images for %name', array(
        '%name' => $name,
      )) . '</legend>';
      $content .= _imagepicker_browse('admin', $user);
      $content .= '</fieldset>';
    }
  }
  else {
    if ($action == 'stats') {
      $content .= '<fieldset><legend>' . t('Statistics') . '</legend>';
      $content .= imagepicker_group_stats();
      $content .= '</fieldset>';
    }
    elseif ($action == 'browse_public') {
      $content .= '<fieldset><legend>' . t('Images') . '</legend>';
      $content .= _imagepicker_browse_public('admin', variable_get('imagepicker_browse_public', 1));
      $content .= '</fieldset>';
    }
    elseif ($action == 'list_public') {
      $content .= '<fieldset><legend>' . t('List All') . '</legend>';
      $content .= _imagepicker_browse_admin('admin', FALSE, TRUE, variable_get('imagepicker_browse_public', 1));
      $content .= '</fieldset>';
    }
    else {
      $content .= '<fieldset><legend>' . t('Users') . '</legend>';
      $content .= imagepicker_admin_users_list('images');
      $content .= '</fieldset>';
    }
  }
  return $content;
}