function imagepicker_browse_admin_form in Image Picker 6.2
Same name and namespace in other branches
- 7 imagepicker.functions.inc \imagepicker_browse_admin_form()
list of images with bulk operations
1 string reference to 'imagepicker_browse_admin_form'
File
- ./
imagepicker.functions.inc, line 308 - Imagepicker functions
Code
function imagepicker_browse_admin_form(&$form_state, $src = "iframe", $account = FALSE, $public = FALSE, $range = 1) {
if ($account) {
$user = $account;
}
else {
global $user;
}
// paths
if ($src == 'iframe') {
$path = '';
$editpath = "imagepicker/edit/";
$deletepath = "imagepicker/delete/";
$imgpath = 'imagepicker/browse/';
}
elseif ($src == 'admin') {
$path = IMAGEPICKER_ADMIN_PATH;
$editpath = $path . '/images/user/' . $user->uid . '/edit/';
$deletepath = $path . '/images/user/' . $user->uid . '/delete/';
$imgpath = $path . '/images/user/' . $user->uid . '/browse/';
$returnpath = 'a-' . $user->uid;
}
else {
$path = 'user/' . $user->uid . '/imagepicker';
$editpath = $path . '/images/edit/';
$deletepath = $path . '/images/delete/';
$imgpath = $path . '/images/browse/';
$returnpath = 'u-' . $user->uid;
}
// if there are groups
if (variable_get('imagepicker_groups_enabled', 1)) {
$gid = 0;
if (!$public) {
if (_imagepicker_has_groups($src == 'admin' ? $user : FALSE) && imagepicker_has_grouplist($src == 'admin' ? $user : FALSE)) {
$gids = imagepicker_get_user_group_state(1, $src == 'admin' ? $user : FALSE);
$gid = $gids[0];
if ($account) {
$gid = variable_get('imagepicker_currentgroup', 0);
}
}
}
elseif ($src == 'admin' && _imagepicker_has_public_groups($user, TRUE)) {
$gid = variable_get('imagepicker_public_currentgroup', 0);
}
}
// tablesort
if ($public && $src == 'admin') {
$header = array(
array(),
array(
'data' => t('Name'),
'field' => 'i.img_name',
),
array(
'data' => t('Title'),
'field' => 'i.img_title',
),
t('Description'),
array(
'data' => t('User'),
'field' => 'n.name',
),
array(
'data' => t('Date'),
'field' => 'i.img_date',
),
array(
'data' => t('Actions'),
'colspan' => 2,
),
);
}
else {
$header = array(
array(),
array(
'data' => t('Name'),
'field' => 'i.img_name',
),
array(
'data' => t('Title'),
'field' => 'i.img_title',
),
t('Description'),
array(
'data' => t('Date'),
'field' => 'i.img_date',
),
array(
'data' => t('Actions'),
'colspan' => 2,
),
);
}
$use_icons = variable_get('imagepicker_use_icons', 1);
if ($src == 'admin') {
$how_many = variable_get('imagepicker_rows_per_page', 25);
}
else {
$how_many = isset($user->imagepicker_rows_per_page) ? $user->imagepicker_rows_per_page : variable_get('imagepicker_rows_per_page', 25);
}
$searchs = isset($user->imagepicker_browser_search) ? $user->imagepicker_browser_search : '';
$searchs = trim($searchs);
$sarr = '';
$searchsql = '';
if ($searchs) {
$xarr = _imagepicker_search_opts($searchs);
$searchsql = $xarr[0];
$sarr = $xarr[1];
}
if ($public && $src == 'admin') {
if ($range == 1) {
$sql = "SELECT i.img_id, i.uid, i.img_name, i.img_title, i.img_description, i.img_date, n.name\n FROM {imagepicker} i, {users} n, {imagepicker_user_groups} u, {imagepicker_group_images} g\n WHERE i.uid=n.uid AND u.public=1 AND g.img_id=i.img_id AND u.gid=g.gid";
if ($searchsql) {
$sql .= $searchsql;
}
if ($gid) {
$sql .= " AND u.gid = %d";
$garr = array(
$gid,
);
}
$sql .= tablesort_sql($header);
$label = t('List All Public Images');
}
elseif ($range == 2) {
$sql = "SELECT i.img_id, i.uid, i.img_name, i.img_title, i.img_description, i.img_date, n.name\n FROM {imagepicker} i, {users} n, {imagepicker_user_groups} u, {imagepicker_group_images} g\n WHERE i.uid=n.uid AND u.public=0 AND g.img_id=i.img_id AND u.gid=g.gid";
if ($searchsql) {
$sql .= $searchsql;
}
$sql .= tablesort_sql($header);
$label = t('List All Private Images');
}
else {
$sql = "SELECT DISTINCT i.img_id, i.uid, i.img_name, i.img_title, i.img_description, i.img_date, n.name\n FROM {imagepicker} i, {users} n\n WHERE i.uid = n.uid";
if ($searchsql) {
$sql .= $searchsql;
}
$sql .= tablesort_sql($header);
}
if (is_array($sarr) || is_array($garr)) {
$rarr = array();
if (is_array($sarr)) {
$rarr = $sarr;
}
if (is_array($garr)) {
$rarr = array_merge($rarr, $garr);
}
$result = pager_query($sql, $how_many, 0, NULL, $rarr);
}
else {
$result = pager_query($sql, $how_many, 0, NULL);
}
}
else {
// 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} i, {imagepicker_group_images} g\n WHERE i.uid=%d AND i.img_id=g.img_id AND g.gid=%d";
if ($searchsql) {
$sql .= $searchsql;
}
$sql .= tablesort_sql($header);
if ($searchsql) {
$rarr = array_merge(array(
$user->uid,
$gid,
), $sarr);
}
else {
$rarr = array(
$user->uid,
$gid,
);
}
}
else {
$sql = "SELECT i.img_id, i.uid, i.img_name, i.img_title, i.img_description, i.img_date\n FROM {imagepicker} i\n WHERE i.uid=%d";
if ($searchsql) {
$sql .= $searchsql;
}
$sql .= tablesort_sql($header);
if ($searchsql) {
$rarr = array_merge(array(
$user->uid,
), $sarr);
}
else {
$rarr = array(
$user->uid,
);
}
}
$result = pager_query($sql, $how_many, 0, NULL, $rarr);
}
// bulk ops form
$form['options'] = array(
'#type' => 'fieldset',
'#title' => t('Bulk operations'),
);
if ($src == 'admin' && !$account) {
$op_opts = array(
'delete' => t('Delete'),
);
}
else {
$op_opts = array(
'delete' => t('Delete'),
'groups' => t('Groups'),
);
}
$form['options']['operation'] = array(
'#type' => 'select',
'#options' => $op_opts,
'#default_value' => 'delete',
);
$form['options']['submit'] = array(
'#type' => 'submit',
'#value' => t('Update'),
);
$form['options']['src'] = array(
'#type' => 'value',
'#value' => $src,
);
$form['options']['public'] = array(
'#type' => 'value',
'#value' => $public,
);
$form['options']['path'] = array(
'#type' => 'value',
'#value' => $path,
);
$rowct = 0;
while ($row = db_fetch_array($result)) {
// img_id img_name img_title img_description
$img_name = $row['img_name'];
$img_id = $row['img_id'];
$description = $row['img_description'];
$img_date = format_date($row['img_date'], variable_get('imagepicker_dateformat_default', 'medium'));
if (drupal_strlen($description) > 30) {
$description = drupal_substr($description, 0, 30) . '...';
}
if ($public && $src == 'admin') {
$editpath = $path . '/images/user/' . $row['uid'] . '/edit/';
$deletepath = $path . '/images/user/' . $row['uid'] . '/delete/';
$imgpath = $path . '/images/user/' . $row['uid'] . '/browse/';
$listpath = $path . '/images/user/' . $row['uid'] . '/browseadmin';
$returnpath = 'a';
$editlink = $use_icons ? _imagepicker_get_icon('edit', $editpath . $row['img_id'], array(
'title' => t('Edit'),
)) : l(t('Edit'), $editpath . $row['img_id']);
$deletelink = $use_icons ? _imagepicker_get_icon('delete', $deletepath . $row['img_id'], array(
'title' => t('Delete'),
)) : l(t('Delete'), $deletepath . $row['img_id']);
$imglink = l($img_name, $imgpath . $img_id);
$listlink = l($row['name'], $listpath);
$form['img_name'][$img_id] = array(
'#value' => $imglink,
);
$form['img_title'][$img_id] = array(
'#value' => $row['img_title'],
);
$form['img_desc'][$img_id] = array(
'#value' => $description,
);
$form['img_list'][$img_id] = array(
'#value' => $listlink,
);
$form['img_date'][$img_id] = array(
'#value' => $img_date,
);
$form['img_edit'][$img_id] = array(
'#value' => $editlink,
);
$form['img_delete'][$img_id] = array(
'#value' => $deletelink,
);
$cols = 7;
}
else {
$imglink = l($img_name, $imgpath . $img_id);
$editlink = $use_icons ? _imagepicker_get_icon('edit', $editpath . $img_id, array(
'title' => t('Edit'),
)) : l(t('Edit'), $editpath . $img_id);
$deletelink = $use_icons ? _imagepicker_get_icon('delete', $deletepath . $img_id, array(
'title' => t('Delete'),
)) : l(t('Delete'), $deletepath . $img_id);
$form['img_name'][$img_id] = array(
'#value' => $imglink,
);
$form['img_title'][$img_id] = array(
'#value' => $row['img_title'],
);
$form['img_desc'][$img_id] = array(
'#value' => $description,
);
$form['img_date'][$img_id] = array(
'#value' => $img_date,
);
$form['img_edit'][$img_id] = array(
'#value' => $editlink,
);
$form['img_delete'][$img_id] = array(
'#value' => $deletelink,
);
$cols = 6;
}
$images[$img_id] = '';
$rowct++;
}
// end of while loop
$form['images'] = array(
'#type' => 'checkboxes',
'#options' => $images,
);
$form['options']['cols'] = array(
'#type' => 'value',
'#value' => $cols,
);
$form['options']['returnpath'] = array(
'#type' => 'value',
'#value' => $returnpath,
);
$pager = theme('pager', NULL, $max);
if ($pager) {
$form['pager'] = array(
'#value' => $pager,
);
}
$form['#submit'][] = 'imagepicker_browse_admin_form_submit';
if ($rowct) {
return $form;
}
return FALSE;
}