function _imagepicker_browse in Image Picker 7
Same name and namespace in other branches
- 5.2 imagepicker.module \_imagepicker_browse()
- 5 imagepicker.module \_imagepicker_browse()
- 6.2 imagepicker.functions.inc \_imagepicker_browse()
Parameters
$src:
$account:
$label:
Return value
thumbnail browser
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 846 - @author Bob Hutchinson http://drupal.org/user/52366 @copyright GNU GPL
Code
function _imagepicker_browse($src = "iframe", $account = FALSE, $label = "") {
if ($account) {
$user = $account;
$userdir = array(
'uid' => $user->uid,
);
}
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 = imagepicker_variable_get('imagepicker_currentgroup', 0);
}
}
if ($account && $src == 'admin') {
$default_order = imagepicker_variable_get('imagepicker_default_browser_order', 'img_id DESC');
$order = imagepicker_variable_get('imagepicker_browser_order', $default_order);
$searchs = imagepicker_variable_get('imagepicker_browser_search', '');
$max = imagepicker_variable_get('imagepicker_advanced_browser_page', 25);
}
else {
$default_order = imagepicker_variable_get('imagepicker_default_browser_order', imagepicker_variable_get('imagepicker_default_browser_order', 'img_id DESC'), $user->uid);
$order = imagepicker_variable_get('imagepicker_browser_order', $default_order, $user->uid);
$searchs = imagepicker_variable_get('imagepicker_browser_search', '', $user->uid);
$max = imagepicker_variable_get('imagepicker_advanced_browser_page', imagepicker_variable_get('imagepicker_advanced_browser_page', 25), $user->uid);
}
if ($searchs) {
$searchs = trim($searchs);
$searchs = check_plain($searchs);
}
// filter by selected group
if ($gid) {
$query = db_select('imagepicker', 'i')
->extend('PagerDefault')
->limit($max);
$query
->fields('i', array(
'img_id',
'uid',
'img_name',
'img_title',
'img_description',
'img_date',
));
$query
->join('imagepicker_group_images', 'g', 'i.img_id = g.img_id');
$query
->join('users', 'u', 'i.uid = u.uid');
$query
->condition('u.uid', $user->uid)
->condition('u.status', 1)
->condition('gid', $gid);
}
else {
$query = db_select('imagepicker', 'i')
->extend('PagerDefault')
->limit($max);
$query
->fields('i', array(
'img_id',
'uid',
'img_name',
'img_title',
'img_description',
'img_date',
));
$query
->join('users', 'u', 'i.uid = u.uid');
$query
->condition('u.uid', $user->uid)
->condition('u.status', 1);
}
// do search
$searchsql = '';
if ($searchs) {
$searchsql = _imagepicker_search_opts($searchs, $account);
}
if (is_array($searchsql)) {
$query
->condition($searchsql[0], $searchsql[1], $searchsql[2]);
}
elseif (is_object($searchsql)) {
$query
->condition($searchsql);
}
// finish
$a = explode(' ', $order);
$query
->orderBy($a[0], isset($a[1]) ? $a[1] : 'ASC');
$records = $query
->execute();
$content = _imagepicker_thumbs_getrows($records, 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 (imagepicker_variable_get('imagepicker_show_browse_order_form', 1)) {
$forms['browse_order'] = drupal_get_form('imagepicker_browse_order_form', $user, TRUE);
}
}
elseif (imagepicker_variable_get('imagepicker_show_browse_order_form', imagepicker_variable_get('imagepicker_show_browse_order_form', 1), $user->uid)) {
$forms['browse_order'] = drupal_get_form('imagepicker_browse_order_form', $user, FALSE);
}
if (imagepicker_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);
}
if ($src == 'admin') {
if (imagepicker_variable_get('imagepicker_show_browse_search_form', 1)) {
$forms['browse_search'] = drupal_get_form('imagepicker_browse_search_form', $user, TRUE);
}
}
elseif (imagepicker_variable_get('imagepicker_show_browse_search_form', imagepicker_variable_get('imagepicker_show_browse_search_form', 1), $user->uid)) {
$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', array(
'content' => $content,
'forms' => $forms,
'message' => $message,
'help' => $help,
'label' => $label,
));
}