function skinr_context_ui_admin_skin_list in Skinr 8.2
Same name and namespace in other branches
- 7.2 skinr_context/skinr_context_ui.admin.inc \skinr_context_ui_admin_skin_list()
Overrides skinr_ui_list().
See also
skinr_ui_list()
1 string reference to 'skinr_context_ui_admin_skin_list'
- skinr_context_ui_menu_alter in skinr_context/
skinr_context_ui.module - Implements hook_menu_alter().
File
- skinr_context/
skinr_context_ui.admin.inc, line 414 - Admin page callbacks for the Skinr Context UI module.
Code
function skinr_context_ui_admin_skin_list($form, &$form_state) {
module_load_include('inc', 'skinr_ui', 'skinr_ui.admin');
if (isset($form_state['values']['operation']) && $form_state['values']['operation'] == 'delete') {
return skinr_ui_multiple_delete_confirm($form, $form_state, array_filter($form_state['values']['skins']));
}
$form['filter'] = skinr_ui_filter_form('skinr_ui_filters', $form_state);
$form['#submit'][] = 'skinr_ui_filter_form_submit';
$header = array(
'theme' => array(
'data' => t('Theme'),
'field' => 's.theme',
),
'type' => array(
'data' => t('Type'),
'field' => 's.module',
),
'element' => array(
'data' => t('Element'),
'field' => 's.element',
),
'group' => array(
'data' => t('Group'),
'field' => 'gs.gid',
),
'skin' => array(
'data' => t('Skin'),
'field' => 's.skin',
),
'status' => array(
'data' => t('Status'),
'field' => 's.status',
'sort' => 'desc',
),
'storage' => array(
'data' => t('Storage'),
),
'operations' => array(
'data' => t('Operations'),
),
);
$query = db_select('skinr_skins', 's')
->extend('PagerDefault')
->extend('TableSort');
$query
->join('skinr_group_skins', 'gs', 's.sid = gs.sid');
skinr_context_ui_build_skin_filter_query($query);
$query
->fields('s', array(
'sid',
))
->limit(50)
->orderByHeader($header);
if (empty($_GET['order'])) {
// Default sort.
$query
->orderBy('s.status', 'desc')
->orderBy('s.theme')
->orderBy('s.module')
->orderBy('s.element')
->orderBy('gs.gid');
}
$sids = $query
->execute()
->fetchCol();
$skins = entity_load_multiple('skin', $sids);
$form['admin'] = skinr_ui_admin_skins($header, $skins);
// Add in groups.
$gids = array();
foreach ($skins as $skin) {
$gids[$skin->gid] = $skin->gid;
}
$groups = skinr_context_group_load_multiple($gids);
foreach ($form['admin']['skins']['#options'] as $key => $option) {
$gid = isset($option['#skin']->gid) ? $option['#skin']->gid : t('none');
$form['admin']['skins']['#options'][$key]['group'] = $gid;
if (isset($groups[$gid])) {
$form['admin']['skins']['#options'][$key]['#group'] = $groups[$gid];
$form['admin']['skins']['#options'][$key]['group'] = t('@group (!gid)', array(
'@group' => $groups[$gid]->title,
'!gid' => $gid,
));
// Alter edit link.
$form['admin']['skins']['#options'][$key]['operations']['data']['#links']['edit']['href'] = 'admin/structure/skinr/edit/' . $option['#skin']->module . '/' . $option['#skin']->element . '/' . $option['#skin']->gid;
}
}
return $form;
}