function imagepicker_browse_admin_form in Image Picker 7
Same name and namespace in other branches
- 6.2 imagepicker.functions.inc \imagepicker_browse_admin_form()
1 string reference to 'imagepicker_browse_admin_form'
File
- ./
imagepicker.functions.inc, line 325 - @author Bob Hutchinson http://drupal.org/user/52366 @copyright GNU GPL
Code
function imagepicker_browse_admin_form($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 = IMAGEPICKER_ADMIN_PATH . '/images/user/' . $user->uid . '/edit/';
$deletepath = IMAGEPICKER_ADMIN_PATH . '/images/user/' . $user->uid . '/delete/';
$imgpath = IMAGEPICKER_ADMIN_PATH . '/images/user/' . $user->uid . '/browse/';
$returnpath = 'a-' . $user->uid;
}
else {
$path = 'user/' . $user->uid . '/imagepicker';
$editpath = 'user/' . $user->uid . '/imagepicker/images/edit/';
$deletepath = 'user/' . $user->uid . '/imagepicker/images/delete/';
$imgpath = 'user/' . $user->uid . '/imagepicker/images/browse/';
$returnpath = 'u-' . $user->uid;
}
// if there are groups
if (imagepicker_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 = imagepicker_variable_get('imagepicker_currentgroup', 0);
}
}
}
elseif ($src == 'admin' && _imagepicker_has_public_groups($user, TRUE)) {
$gid = imagepicker_variable_get('imagepicker_public_currentgroup', 0);
}
}
// table header
if ($public && $src == 'admin') {
$header = array(
'img_name' => array(
'data' => t('Name'),
'field' => 'i.img_name',
'sort' => 'desc',
),
'img_title' => array(
'data' => t('Title'),
'field' => 'i.img_title',
),
'img_desc' => t('Description'),
'img_list' => array(
'data' => t('User'),
'field' => 'n.name',
),
'img_date' => array(
'data' => t('Date'),
'field' => 'i.img_date',
),
'img_actions' => array(
'data' => t('Actions'),
),
);
$cols = 7;
}
else {
$header = array(
'img_name' => array(
'data' => t('Name'),
'field' => 'i.img_name',
'sort' => 'desc',
),
'img_title' => array(
'data' => t('Title'),
'field' => 'i.img_title',
),
'img_desc' => t('Description'),
'img_date' => array(
'data' => t('Date'),
'field' => 'i.img_date',
),
'img_actions' => array(
'data' => t('Actions'),
),
);
$cols = 6;
}
$use_icons = imagepicker_variable_get('imagepicker_use_icons', 1);
if ($src == 'admin') {
$max = imagepicker_variable_get('imagepicker_rows_per_page', 25);
$searchs = imagepicker_variable_get('imagepicker_browser_search', '');
}
else {
$max = imagepicker_variable_get('imagepicker_rows_per_page', imagepicker_variable_get('imagepicker_rows_per_page', 25), $user->uid);
$searchs = imagepicker_variable_get('imagepicker_browser_search', '', $user->uid);
}
if ($searchs) {
$searchs = trim($searchs);
$searchs = check_plain($searchs);
}
if ($public && $src == 'admin') {
if ($range == 1 || $range == 2) {
$publicstate = $range == 1 ? 1 : 0;
$query = db_select('users', 'u')
->extend('PagerDefault')
->limit($max)
->extend('TableSort')
->orderByHeader($header);
$query
->fields('i', array(
'img_id',
'uid',
'img_name',
'img_title',
'img_description',
'img_date',
));
$query
->addField('u', 'name');
$query
->join('imagepicker', 'i');
$query
->leftjoin('imagepicker_group_images', 'g', 'g.img_id = i.img_id');
$query
->leftjoin('imagepicker_user_groups', 'iug', 'iug.gid = g.gid');
$query
->condition('u.uid', 'iug.uid')
->condition('iug.public', $publicstate);
if ($gid && $publicstate) {
$query
->condition('iug.gid', $gid);
}
if ($range == 1) {
$label = t('List All Public Images');
}
else {
$label = t('List All Private Images');
}
}
else {
$query = db_select('imagepicker', 'i')
->extend('PagerDefault')
->limit($max)
->extend('TableSort')
->orderByHeader($header);
$query
->fields('i', array(
'img_id',
'uid',
'img_name',
'img_title',
'img_description',
'img_date',
));
$query
->join('users', 'u', 'i.uid = u.uid');
$query
->addField('u', 'name');
$query
->condition('u.status', 1);
}
}
else {
// filter by selected group
if ($gid) {
$query = db_select('imagepicker', 'i')
->extend('PagerDefault')
->limit($max)
->extend('TableSort')
->orderByHeader($header);
$query
->fields('i', array(
'img_id',
'uid',
'img_name',
'img_title',
'img_description',
'img_date',
));
$query
->addField('u', 'name');
$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)
->extend('TableSort')
->orderByHeader($header);
$query
->fields('i', array(
'img_id',
'uid',
'img_name',
'img_title',
'img_description',
'img_date',
));
$query
->addField('u', 'name');
$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);
}
$records = $query
->execute();
// 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,
);
$fmt = imagepicker_variable_get('imagepicker_dateformat_default', 'medium');
$rowct = 0;
$options = array();
// iterate
foreach ($records as $row) {
$img_name = $row->img_name;
$img_id = $row->img_id;
$description = $row->img_description;
$img_date = format_date($row->img_date, $fmt);
if (drupal_strlen($description) > IMAGEPICKER_DESC_LEN) {
$description = drupal_substr($description, 0, IMAGEPICKER_DESC_LEN) . '...';
}
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 . $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);
$imglink = l($img_name, $imgpath . $img_id);
$listlink = l($row->name, $listpath);
$options[$img_id] = array(
'img_name' => $imglink,
'img_title' => $row->img_title,
'img_desc' => $description,
'img_list' => $listlink,
'img_date' => $img_date,
'img_actions' => "{$editlink} {$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);
$options[$img_id] = array(
'img_name' => $imglink,
'img_title' => $row->img_title,
'img_desc' => $description,
'img_date' => $img_date,
'img_actions' => "{$editlink} {$deletelink}",
);
$cols = 6;
}
$rowct++;
}
// end of foreach loop
$form['options']['cols'] = array(
'#type' => 'value',
'#value' => $cols,
);
$form['options']['returnpath'] = array(
'#type' => 'value',
'#value' => $returnpath,
);
$message = '';
if ($rowct == 0) {
$ibp = imagepicker_variable_get('imagepicker_browse_public', 0);
if ($ibp == 1 && $range == 1) {
$ibpout = "public";
}
elseif ($ibp == 2 || $range == 2) {
$ibpout = "private";
}
else {
$ibpout = "";
}
imagepicker_variable_set('imagepicker_browse_public', 0);
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);
}
}
else {
$message = t('There are no !status images', array(
'!status' => $ibpout,
));
}
}
// tableselect
$form['images'] = array(
'#type' => 'tableselect',
'#header' => $header,
'#options' => $options,
'#empty' => $message,
);
$form['pager'] = array(
'#markup' => theme('pager', array(
'tags' => NULL,
)),
);
return $form;
}