You are here

function _imagepicker_browse in Image Picker 6.2

Same name and namespace in other branches
  1. 5.2 imagepicker.module \_imagepicker_browse()
  2. 5 imagepicker.module \_imagepicker_browse()
  3. 7 imagepicker.functions.inc \_imagepicker_browse()
3 calls to _imagepicker_browse()
imagepicker_admin_images in ./imagepicker.admin.inc
imagepicker_browse in ./imagepicker.functions.inc
Menu local task; presents the browse and select pages for imagepicker
imagepicker_user_browse in ./imagepicker.user.inc
main thumbnails page in my imagepicker

File

./imagepicker.functions.inc, line 791
Imagepicker functions

Code

function _imagepicker_browse($src = "iframe", $account = FALSE, $label = "") {
  if ($account) {
    $user = $account;
    $userdir = array(
      'uid' => $user->uid,
      'name' => $user->name,
    );
  }
  else {
    global $user;
    $userdir = FALSE;
  }

  // if there are groups
  $gid = 0;
  if (_imagepicker_has_groups($user)) {
    $gids = imagepicker_get_user_group_state(1, $user);
    $gid = $gids[0];
    if ($account) {
      $gid = variable_get('imagepicker_currentgroup', 0);
    }
  }
  $default_order = isset($user->imagepicker_default_browser_order) ? $user->imagepicker_default_browser_order : variable_get('imagepicker_default_browser_order', 'img_id DESC');
  if ($account && $src == 'admin') {
    $order = isset($user->imagepicker_browser_order) ? $user->imagepicker_browser_order : variable_get('imagepicker_browser_order', $default_order);
    $searchs = variable_get('imagepicker_browser_search', '');
    $how_many = isset($user->imagepicker_advanced_browser_page) ? $user->imagepicker_advanced_browser_page : variable_get('imagepicker_advanced_browser_page', 25);
  }
  else {
    $order = isset($user->imagepicker_browser_order) ? $user->imagepicker_browser_order : $default_order;
    $searchs = isset($user->imagepicker_browser_search) ? $user->imagepicker_browser_search : '';
    $how_many = isset($user->imagepicker_advanced_browser_page) ? $user->imagepicker_advanced_browser_page : variable_get('imagepicker_advanced_browser_page', 25);
  }
  $searchs = trim($searchs);
  $sarr = '';
  $searchsql = '';
  if ($searchs) {
    $xarr = _imagepicker_search_opts($searchs);
    $searchsql = $xarr[0];
    $sarr = $xarr[1];
    if ($gid) {
      $rarr = array_merge(array(
        $user->uid,
        $gid,
      ), $sarr);
      $rarr = array_merge($rarr, array(
        "i.{$order}",
      ));
    }
    else {
      $rarr = array_merge(array(
        $user->uid,
      ), $sarr);
      $rarr = array_merge($rarr, array(
        "i.{$order}",
      ));
    }
  }
  else {
    if ($gid) {
      $rarr = array(
        $user->uid,
        $gid,
        "i.{$order}",
      );
    }
    else {
      $rarr = array(
        $user->uid,
        "i.{$order}",
      );
    }
  }

  // filter by selected group
  if ($gid) {
    $sql = "SELECT i.img_id, i.uid, i.img_name, i.img_title, i.img_description, i.img_date\n      FROM {imagepicker} AS i JOIN {imagepicker_group_images} AS g USING (img_id)\n      WHERE i.uid = %d\n      AND g.gid = %d ";
    if ($searchsql) {
      $sql .= $searchsql;
    }
    $sql .= " ORDER BY %s";
    $result = pager_query($sql, $how_many, 0, NULL, $rarr);
  }
  else {
    $sql = "SELECT * FROM {imagepicker} i\n      WHERE i.uid=%d ";
    if ($searchsql) {
      $sql .= $searchsql;
    }
    $sql .= " ORDER BY %s";
    $result = pager_query($sql, $how_many, 0, NULL, $rarr);
  }
  $content = _imagepicker_thumbs_getrows($result, FALSE, $src);
  $message = "";
  if (!is_array($content)) {
    if ($searchs) {
      $message = t('Your search for %searchs found nothing', array(
        '%searchs' => $searchs,
      ));
      if ($src == 'admin') {
        imagepicker_browse_search_form_reset_func(TRUE);
      }
      else {
        imagepicker_browse_search_form_reset_func(FALSE);
      }
    }
    elseif ($gid) {
      $message = t('You do not have any images in the selected group');
    }
    else {
      $message = t('You do not have any uploaded images');
    }
  }
  $forms = array();
  $forms['browse_search'] = '';
  $forms['browse_groups'] = '';
  $forms['browse_public'] = '';
  $forms['browse_public_groups'] = '';
  $forms['browse_order'] = '';
  if ($src == 'admin') {
    if (variable_get('imagepicker_show_browse_order_form', 1)) {
      $forms['browse_order'] = drupal_get_form('imagepicker_browse_order_form', $user, TRUE);
    }
  }
  elseif (variable_get('imagepicker_show_browse_order_form', 1) && isset($user->imagepicker_show_browse_order_form) && $user->imagepicker_show_browse_order_form || variable_get('imagepicker_show_browse_order_form', 1) && !isset($user->imagepicker_show_browse_order_form)) {
    $forms['browse_order'] = drupal_get_form('imagepicker_browse_order_form', $user, FALSE);
  }

  // groups
  if (variable_get('imagepicker_groups_enabled', 1) && _imagepicker_has_groups($user) && imagepicker_has_grouplist($user)) {

    // add groups select here
    $forms['browse_groups'] = drupal_get_form('imagepicker_browse_groups_form', $account ? $user : FALSE);
  }

  // browse_search
  if ($src == 'admin') {
    if (variable_get('imagepicker_show_browse_search_form', 1)) {
      $forms['browse_search'] = drupal_get_form('imagepicker_browse_search_form', $user, TRUE);
    }
  }
  elseif (variable_get('imagepicker_show_browse_search_form', 1) && isset($user->imagepicker_show_browse_search_form) && $user->imagepicker_show_browse_search_form || variable_get('imagepicker_show_browse_search_form', 1) && !isset($user->imagepicker_show_browse_search_form)) {
    $forms['browse_search'] = drupal_get_form('imagepicker_browse_search_form', $user, FALSE);
  }
  if ($src == "account" || $src == "admin") {
    $help = t('Hold the mouse over an image to view Name, Title and Description, Click on it to view.');
  }
  else {
    $help = t('Hold the mouse over an image to view Name, Title and Description, Click on it to use.');
  }
  return theme('imagepicker_browser', $content, $forms, $message, $help, $label);
}