Issue #1480854 by tim.plunkett, Noyz, Bojhan, yoroy, kika: Convert operation links to '#type' => 'operations'.
parent
47c093fbbb
commit
16eac3bec5
|
@ -29,7 +29,7 @@ function action_admin_manage() {
|
|||
$header = array(
|
||||
array('data' => t('Action type'), 'field' => 'type'),
|
||||
array('data' => t('Label'), 'field' => 'label'),
|
||||
array('data' => $instances_present ? t('Operations') : '', 'colspan' => '2')
|
||||
$instances_present ? t('Operations') : '',
|
||||
);
|
||||
$query = db_select('actions')
|
||||
->extend('Drupal\Core\Database\Query\PagerSelectExtender')
|
||||
|
@ -41,21 +41,37 @@ function action_admin_manage() {
|
|||
->execute();
|
||||
|
||||
foreach ($result as $action) {
|
||||
$row = array();
|
||||
$row[] = $action->type;
|
||||
$row[] = check_plain($action->label);
|
||||
$links = array();
|
||||
if ($action->parameters) {
|
||||
$links['configure'] = array(
|
||||
'title' => t('configure'),
|
||||
'href' => "admin/config/system/actions/configure/$action->aid",
|
||||
);
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => "admin/config/system/actions/delete/$action->aid",
|
||||
);
|
||||
}
|
||||
$row[] = array(
|
||||
array('data' => $action->type),
|
||||
array('data' => check_plain($action->label)),
|
||||
array('data' => $action->parameters ? l(t('configure'), "admin/config/system/actions/configure/$action->aid") : ''),
|
||||
array('data' => $action->parameters ? l(t('delete'), "admin/config/system/actions/delete/$action->aid") : '')
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
if ($row) {
|
||||
if ($rows) {
|
||||
$pager = theme('pager');
|
||||
if (!empty($pager)) {
|
||||
$row[] = array(array('data' => $pager, 'colspan' => '3'));
|
||||
$rows[] = array(array('data' => $pager, 'colspan' => '3'));
|
||||
}
|
||||
$build['action_header'] = array('#markup' => '<h3>' . t('Available actions:') . '</h3>');
|
||||
$build['action_table'] = array('#markup' => theme('table', array('header' => $header, 'rows' => $row)));
|
||||
$build['action_table'] = array('#markup' => theme('table', array('header' => $header, 'rows' => $rows)));
|
||||
}
|
||||
|
||||
if ($actions_map) {
|
||||
|
|
|
@ -28,18 +28,35 @@ function aggregator_view() {
|
|||
|
||||
$output = '<h3>' . t('Feed overview') . '</h3>';
|
||||
|
||||
$header = array(t('Title'), t('Items'), t('Last update'), t('Next update'), array('data' => t('Operations'), 'colspan' => '3'));
|
||||
$header = array(t('Title'), t('Items'), t('Last update'), t('Next update'), t('Operations'));
|
||||
$rows = array();
|
||||
foreach ($result as $feed) {
|
||||
$rows[] = array(
|
||||
l($feed->title, "aggregator/sources/$feed->fid"),
|
||||
format_plural($feed->items, '1 item', '@count items'),
|
||||
($feed->checked ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $feed->checked))) : t('never')),
|
||||
($feed->checked && $feed->refresh ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - REQUEST_TIME))) : t('never')),
|
||||
l(t('edit'), "admin/config/services/aggregator/edit/feed/$feed->fid"),
|
||||
l(t('remove items'), "admin/config/services/aggregator/remove/$feed->fid"),
|
||||
l(t('update items'), "admin/config/services/aggregator/update/$feed->fid", array('query' => array('token' => drupal_get_token("aggregator/update/$feed->fid")))),
|
||||
$row = array();
|
||||
$row[] = l($feed->title, "aggregator/sources/$feed->fid");
|
||||
$row[] = format_plural($feed->items, '1 item', '@count items');
|
||||
$row[] = ($feed->checked ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $feed->checked))) : t('never'));
|
||||
$row[] = ($feed->checked && $feed->refresh ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - REQUEST_TIME))) : t('never'));
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => "admin/config/services/aggregator/edit/feed/$feed->fid",
|
||||
);
|
||||
$links['remove'] = array(
|
||||
'title' => t('remove items'),
|
||||
'href' => "admin/config/services/aggregator/remove/$feed->fid",
|
||||
);
|
||||
$links['update'] = array(
|
||||
'title' => t('update items'),
|
||||
'href' => "admin/config/services/aggregator/update/$feed->fid",
|
||||
'query' => array('token' => drupal_get_token("aggregator/update/$feed->fid")),
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
$output .= theme('table', array('header' => $header, 'rows' => $rows, 'empty' => t('No feeds available. <a href="@link">Add feed</a>.', array('@link' => url('admin/config/services/aggregator/add/feed')))));
|
||||
|
||||
|
@ -50,7 +67,21 @@ function aggregator_view() {
|
|||
$header = array(t('Title'), t('Items'), t('Operations'));
|
||||
$rows = array();
|
||||
foreach ($result as $category) {
|
||||
$rows[] = array(l($category->title, "aggregator/categories/$category->cid"), format_plural($category->items, '1 item', '@count items'), l(t('edit'), "admin/config/services/aggregator/edit/category/$category->cid"));
|
||||
$row = array();
|
||||
$row[] = l($category->title, "aggregator/categories/$category->cid");
|
||||
$row[] = format_plural($category->items, '1 item', '@count items');
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => "admin/config/services/aggregator/edit/category/$category->cid",
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
$output .= theme('table', array('header' => $header, 'rows' => $rows, 'empty' => t('No categories available. <a href="@link">Add category</a>.', array('@link' => url('admin/config/services/aggregator/add/category')))));
|
||||
|
||||
|
|
|
@ -17,10 +17,20 @@ function ban_admin_page($default_ip = '') {
|
|||
$header = array(t('banned IP addresses'), t('Operations'));
|
||||
$result = db_query('SELECT * FROM {ban_ip}');
|
||||
foreach ($result as $ip) {
|
||||
$rows[] = array(
|
||||
$ip->ip,
|
||||
l(t('delete'), "admin/config/people/ban/delete/$ip->iid"),
|
||||
$row = array();
|
||||
$row[] = $ip->ip;
|
||||
$links = array();
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => "admin/config/people/ban/delete/$ip->iid",
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
$build['ban_ip_form'] = drupal_get_form('ban_ip_form', $default_ip);
|
||||
|
|
|
@ -146,18 +146,20 @@ function block_admin_display_form($form, &$form_state, $blocks, $theme, $block_r
|
|||
'#title' => t('Region for @block block', array('@block' => $block['info'])),
|
||||
'#options' => $block_regions,
|
||||
);
|
||||
$form['blocks'][$key]['configure'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('configure'),
|
||||
'#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/configure',
|
||||
$links['configure'] = array(
|
||||
'title' => t('configure'),
|
||||
'href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/configure',
|
||||
);
|
||||
if ($block['module'] == 'block') {
|
||||
$form['blocks'][$key]['delete'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('delete'),
|
||||
'#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete',
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete',
|
||||
);
|
||||
}
|
||||
$form['blocks'][$key]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
// Do not allow disabling the main system content block when it is present.
|
||||
if (isset($form['blocks']['system_main']['region'])) {
|
||||
|
@ -806,8 +808,7 @@ function template_preprocess_block_admin_display_form(&$variables) {
|
|||
$variables['block_listing'][$region][$i]->block_title = drupal_render($block['info']);
|
||||
$variables['block_listing'][$region][$i]->region_select = drupal_render($block['region']) . drupal_render($block['theme']);
|
||||
$variables['block_listing'][$region][$i]->weight_select = drupal_render($block['weight']);
|
||||
$variables['block_listing'][$region][$i]->configure_link = drupal_render($block['configure']);
|
||||
$variables['block_listing'][$region][$i]->delete_link = !empty($block['delete']) ? drupal_render($block['delete']) : '';
|
||||
$variables['block_listing'][$region][$i]->operations = drupal_render($block['operations']);
|
||||
$variables['block_listing'][$region][$i]->printed = FALSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
* - $data->block_title: Block title.
|
||||
* - $data->region_select: Drop-down menu for assigning a region.
|
||||
* - $data->weight_select: Drop-down menu for setting weights.
|
||||
* - $data->configure_link: Block configuration link.
|
||||
* - $data->delete_link: For deleting user added blocks.
|
||||
* - $data->operations: Block operations.
|
||||
*
|
||||
* @see template_preprocess_block_admin_display_form()
|
||||
* @see theme_block_admin_display()
|
||||
|
@ -31,7 +30,7 @@
|
|||
<th><?php print t('Block'); ?></th>
|
||||
<th><?php print t('Region'); ?></th>
|
||||
<th><?php print t('Weight'); ?></th>
|
||||
<th colspan="2"><?php print t('Operations'); ?></th>
|
||||
<th><?php print t('Operations'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -48,8 +47,7 @@
|
|||
<td class="block"><?php print $data->block_title; ?></td>
|
||||
<td><?php print $data->region_select; ?></td>
|
||||
<td><?php print $data->weight_select; ?></td>
|
||||
<td><?php print $data->configure_link; ?></td>
|
||||
<td><?php print $data->delete_link; ?></td>
|
||||
<td><?php print $data->operations; ?></td>
|
||||
</tr>
|
||||
<?php $row++; ?>
|
||||
<?php endforeach; ?>
|
||||
|
|
|
@ -19,7 +19,21 @@ function book_admin_overview() {
|
|||
|
||||
// Add any recognized books to the table list.
|
||||
foreach (book_get_books() as $book) {
|
||||
$rows[] = array(l($book['title'], $book['href'], $book['options']), l(t('edit order and titles'), 'admin/content/book/' . $book['nid']));
|
||||
$row = array(
|
||||
l($book['title'], $book['href'], $book['options']),
|
||||
);
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit order and titles'),
|
||||
'href' => 'admin/content/book/' . $book['nid'],
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
return theme('table', array('header' => $headers, 'rows' => $rows, 'empty' => t('No books available.')));
|
||||
|
@ -265,7 +279,7 @@ function theme_book_admin_table($variables) {
|
|||
drupal_add_tabledrag('book-outline', 'match', 'parent', 'book-plid', 'book-plid', 'book-mlid', TRUE, MENU_MAX_DEPTH - 2);
|
||||
drupal_add_tabledrag('book-outline', 'order', 'sibling', 'book-weight');
|
||||
|
||||
$header = array(t('Title'), t('Weight'), t('Parent'), array('data' => t('Operations'), 'colspan' => '3'));
|
||||
$header = array(t('Title'), t('Weight'), t('Parent'), t('Operations'));
|
||||
|
||||
$rows = array();
|
||||
$destination = drupal_get_destination();
|
||||
|
@ -283,9 +297,29 @@ function theme_book_admin_table($variables) {
|
|||
theme('indentation', array('size' => $form[$key]['depth']['#value'] - 2)) . drupal_render($form[$key]['title']),
|
||||
drupal_render($form[$key]['weight']),
|
||||
drupal_render($form[$key]['plid']) . drupal_render($form[$key]['mlid']),
|
||||
l(t('view'), $href),
|
||||
$access ? l(t('edit'), 'node/' . $nid . '/edit', array('query' => $destination)) : ' ',
|
||||
$access ? l(t('delete'), 'node/' . $nid . '/delete', array('query' => $destination) ) : ' ',
|
||||
);
|
||||
$links = array();
|
||||
$links['view'] = array(
|
||||
'title' => t('view'),
|
||||
'href' => $href,
|
||||
);
|
||||
if ($access) {
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => "node/$nid/edit",
|
||||
'query' => $destination,
|
||||
);
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => "node/$nid/delete",
|
||||
'query' => $destination,
|
||||
);
|
||||
}
|
||||
$data[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$row = array('data' => $data);
|
||||
if (isset($form[$key]['#attributes'])) {
|
||||
|
|
|
@ -76,7 +76,7 @@ function comment_admin_overview($form, &$form_state, $arg) {
|
|||
'author' => array('data' => t('Author'), 'field' => 'name', 'class' => array(RESPONSIVE_PRIORITY_MEDIUM)),
|
||||
'posted_in' => array('data' => t('Posted in'), 'field' => 'node_title', 'class' => array(RESPONSIVE_PRIORITY_LOW)),
|
||||
'changed' => array('data' => t('Updated'), 'field' => 'c.changed', 'sort' => 'desc', 'class' => array(RESPONSIVE_PRIORITY_LOW)),
|
||||
'operations' => array('data' => t('Operations')),
|
||||
'operations' => t('Operations'),
|
||||
);
|
||||
|
||||
$query = db_select('comment', 'c')
|
||||
|
@ -129,14 +129,16 @@ function comment_admin_overview($form, &$form_state, $arg) {
|
|||
),
|
||||
),
|
||||
'changed' => format_date($comment->changed, 'short'),
|
||||
'operations' => array(
|
||||
'data' => array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('edit'),
|
||||
'#href' => 'comment/' . $comment->cid . '/edit',
|
||||
'#options' => array('query' => $destination),
|
||||
),
|
||||
),
|
||||
);
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => 'comment/' . $comment->cid . '/edit',
|
||||
'query' => $destination,
|
||||
);
|
||||
$options[$comment->cid]['operations']['data'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ function contact_category_list() {
|
|||
t('Category'),
|
||||
t('Recipients'),
|
||||
t('Selected'),
|
||||
array('data' => t('Operations'), 'colspan' => 2),
|
||||
t('Operations'),
|
||||
);
|
||||
$rows = array();
|
||||
|
||||
|
@ -30,13 +30,26 @@ function contact_category_list() {
|
|||
|
||||
// Loop through the categories and add them to the table.
|
||||
foreach ($categories as $category) {
|
||||
$rows[] = array(
|
||||
check_plain($category->category),
|
||||
check_plain($category->recipients),
|
||||
($category->selected ? t('Yes') : t('No')),
|
||||
l(t('Edit'), 'admin/structure/contact/edit/' . $category->cid),
|
||||
l(t('Delete'), 'admin/structure/contact/delete/' . $category->cid),
|
||||
$row = array();
|
||||
$row[] = check_plain($category->category);
|
||||
$row[] = check_plain($category->recipients);
|
||||
$row[] = ($category->selected ? t('Yes') : t('No'));
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('Edit'),
|
||||
'href' => 'admin/structure/contact/edit/' . $category->cid,
|
||||
);
|
||||
$links['delete'] = array(
|
||||
'title' => t('Delete'),
|
||||
'href' => 'admin/structure/contact/delete/' . $category->cid,
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
if (!$rows) {
|
||||
|
|
|
@ -333,7 +333,7 @@ function field_ui_field_overview_form($form, &$form_state, $entity_type, $bundle
|
|||
t('Machine name'),
|
||||
t('Field type'),
|
||||
t('Widget'),
|
||||
array('data' => t('Operations'), 'colspan' => 2),
|
||||
t('Operations'),
|
||||
),
|
||||
'#parent_options' => array(),
|
||||
'#regions' => array(
|
||||
|
@ -398,23 +398,25 @@ function field_ui_field_overview_form($form, &$form_state, $entity_type, $bundle
|
|||
'#href' => $admin_field_path . '/widget-type',
|
||||
'#options' => array('attributes' => array('title' => t('Change widget type.'))),
|
||||
),
|
||||
'edit' => array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('edit'),
|
||||
'#href' => $admin_field_path,
|
||||
'#options' => array('attributes' => array('title' => t('Edit instance settings.'))),
|
||||
),
|
||||
'delete' => array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('delete'),
|
||||
'#href' => $admin_field_path . '/delete',
|
||||
'#options' => array('attributes' => array('title' => t('Delete instance.'))),
|
||||
),
|
||||
);
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => $admin_field_path,
|
||||
'attributes' => array('title' => t('Edit instance settings.')),
|
||||
);
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => "$admin_field_path/delete",
|
||||
'attributes' => array('title' => t('Delete instance.')),
|
||||
);
|
||||
$table[$name]['operations']['data'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
|
||||
if (!empty($instance['locked'])) {
|
||||
$table[$name]['edit'] = array('#value' => t('Locked'));
|
||||
$table[$name]['delete'] = array();
|
||||
$table[$name]['operations'] = array('#value' => t('Locked'));
|
||||
$table[$name]['#attributes']['class'][] = 'menu-disabled';
|
||||
}
|
||||
}
|
||||
|
@ -459,11 +461,8 @@ function field_ui_field_overview_form($form, &$form_state, $entity_type, $bundle
|
|||
'#markup' => isset($extra_field['description']) ? $extra_field['description'] : '',
|
||||
'#cell_attributes' => array('colspan' => 2),
|
||||
),
|
||||
'edit' => array(
|
||||
'#markup' => isset($extra_field['edit']) ? $extra_field['edit'] : '',
|
||||
),
|
||||
'delete' => array(
|
||||
'#markup' => isset($extra_field['delete']) ? $extra_field['delete'] : '',
|
||||
'operations' => array(
|
||||
'#markup' => '',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -19,6 +19,11 @@ function filter_admin_overview($form) {
|
|||
|
||||
$form['#tree'] = TRUE;
|
||||
foreach ($formats as $id => $format) {
|
||||
$links = array();
|
||||
$links['configure'] = array(
|
||||
'title' => t('configure'),
|
||||
'href' => "admin/config/content/formats/$id",
|
||||
);
|
||||
// Check whether this is the fallback text format. This format is available
|
||||
// to all roles and cannot be disabled via the admin interface.
|
||||
$form['formats'][$id]['#is_fallback'] = ($id == $fallback_format);
|
||||
|
@ -30,10 +35,16 @@ function filter_admin_overview($form) {
|
|||
$form['formats'][$id]['name'] = array('#markup' => check_plain($format->name));
|
||||
$roles = array_map('check_plain', filter_get_roles_by_format($format));
|
||||
$roles_markup = $roles ? implode(', ', $roles) : t('No roles may use this format');
|
||||
$links['disable'] = array(
|
||||
'title' => t('disable'),
|
||||
'href' => "admin/config/content/formats/$id/disable",
|
||||
);
|
||||
}
|
||||
$form['formats'][$id]['roles'] = array('#markup' => $roles_markup);
|
||||
$form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#href' => 'admin/config/content/formats/' . $id);
|
||||
$form['formats'][$id]['disable'] = array('#type' => 'link', '#title' => t('disable'), '#href' => 'admin/config/content/formats/' . $id . '/disable', '#access' => !$form['formats'][$id]['#is_fallback']);
|
||||
$form['formats'][$id]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
$form['formats'][$id]['weight'] = array(
|
||||
'#type' => 'weight',
|
||||
'#title' => t('Weight for @title', array('@title' => $format->name)),
|
||||
|
@ -78,18 +89,18 @@ function theme_filter_admin_overview($variables) {
|
|||
$rows = array();
|
||||
foreach (element_children($form['formats']) as $id) {
|
||||
$form['formats'][$id]['weight']['#attributes']['class'] = array('text-format-order-weight');
|
||||
$rows[] = array(
|
||||
$row = array(
|
||||
'data' => array(
|
||||
drupal_render($form['formats'][$id]['name']),
|
||||
drupal_render($form['formats'][$id]['roles']),
|
||||
drupal_render($form['formats'][$id]['weight']),
|
||||
drupal_render($form['formats'][$id]['configure']),
|
||||
drupal_render($form['formats'][$id]['disable']),
|
||||
drupal_render($form['formats'][$id]['operations']),
|
||||
),
|
||||
'class' => array('draggable'),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
$header = array(t('Name'), t('Roles'), t('Weight'), array('data' => t('Operations'), 'colspan' => 2));
|
||||
$header = array(t('Name'), t('Roles'), t('Weight'), t('Operations'));
|
||||
$output = theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => array('id' => 'text-format-order')));
|
||||
$output .= drupal_render_children($form);
|
||||
|
||||
|
|
|
@ -84,6 +84,21 @@ function image_style_form($form, &$form_state, $style) {
|
|||
'#default_value' => $effect['weight'],
|
||||
);
|
||||
|
||||
$links = array();
|
||||
if (isset($effect['form callback'])) {
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $key,
|
||||
);
|
||||
}
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $key . '/delete',
|
||||
);
|
||||
$form['effects'][$key]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
$form['effects'][$key]['configure'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('edit'),
|
||||
|
@ -583,19 +598,28 @@ function image_rotate_form($data) {
|
|||
function theme_image_style_list($variables) {
|
||||
$styles = $variables['styles'];
|
||||
|
||||
$header = array(t('Style name'), array('data' => t('Operations'), 'colspan' => 3));
|
||||
$header = array(t('Style name'), t('Operations'));
|
||||
$rows = array();
|
||||
$link_attributes = array(
|
||||
'attributes' => array(
|
||||
'class' => array('image-style-link'),
|
||||
),
|
||||
);
|
||||
|
||||
foreach ($styles as $style) {
|
||||
$row = array();
|
||||
$row[] = l($style['label'], 'admin/config/media/image-styles/edit/' . $style['name']);
|
||||
$row[] = l(t('edit'), 'admin/config/media/image-styles/edit/' . $style['name'], $link_attributes);
|
||||
$row[] = l(t('delete'), 'admin/config/media/image-styles/delete/' . $style['name'], $link_attributes);
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => 'admin/config/media/image-styles/edit/' . $style['name'],
|
||||
'class' => array('image-style-link'),
|
||||
);
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => 'admin/config/media/image-styles/delete/' . $style['name'],
|
||||
'class' => array('image-style-link'),
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
|
@ -629,14 +653,13 @@ function theme_image_style_effects($variables) {
|
|||
$summary = drupal_render($form[$key]['summary']);
|
||||
$row[] = drupal_render($form[$key]['label']) . (empty($summary) ? '' : ' ' . $summary);
|
||||
$row[] = drupal_render($form[$key]['weight']);
|
||||
$row[] = drupal_render($form[$key]['configure']);
|
||||
$row[] = drupal_render($form[$key]['remove']);
|
||||
$row[] = array('data' => $form[$key]['operations']);
|
||||
}
|
||||
else {
|
||||
// Add the row for adding a new image effect.
|
||||
$row[] = '<div class="image-style-new">' . drupal_render($form['new']['new']) . drupal_render($form['new']['add']) . '</div>';
|
||||
$row[] = drupal_render($form['new']['weight']);
|
||||
$row[] = array('data' => '', 'colspan' => 2);
|
||||
$row[] = '';
|
||||
}
|
||||
|
||||
$rows[] = array(
|
||||
|
@ -648,7 +671,7 @@ function theme_image_style_effects($variables) {
|
|||
$header = array(
|
||||
t('Effect'),
|
||||
t('Weight'),
|
||||
array('data' => t('Operations'), 'colspan' => 2),
|
||||
t('Operations'),
|
||||
);
|
||||
|
||||
if (count($rows) == 1 && (!isset($form['new']['#access']) || $form['new']['#access'])) {
|
||||
|
|
|
@ -69,26 +69,27 @@ function language_admin_overview_form($form, &$form_state) {
|
|||
),
|
||||
'#delta' => 30,
|
||||
);
|
||||
$form['languages'][$langcode]['operations'] = array(
|
||||
'#theme_wrappers' => array('language_admin_operations'),
|
||||
'#weight' => 100,
|
||||
);
|
||||
$links = array();
|
||||
if (empty($language->locked)) {
|
||||
$form['languages'][$langcode]['operations']['edit'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('edit'),
|
||||
'#href' => 'admin/config/regional/language/edit/' . $langcode,
|
||||
);
|
||||
$form['languages'][$langcode]['operations']['delete'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('delete'),
|
||||
'#href' => 'admin/config/regional/language/delete/' . $langcode,
|
||||
'#access' => $langcode != $default->langcode,
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => 'admin/config/regional/language/edit/' . $langcode,
|
||||
);
|
||||
if ($langcode != $default->langcode) {
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => 'admin/config/regional/language/delete/' . $langcode,
|
||||
);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$form['languages'][$langcode]['default']['#attributes']['disabled'] = 'disabled';
|
||||
}
|
||||
$form['languages'][$langcode]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
'#weight' => 100,
|
||||
);
|
||||
}
|
||||
|
||||
$form['actions'] = array('#type' => 'actions');
|
||||
|
@ -100,30 +101,6 @@ function language_admin_overview_form($form, &$form_state) {
|
|||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns HTML for operation links in language_admin_overview_form() table.
|
||||
*
|
||||
* @todo Introduce #type '[table_]operations' or just simply #type 'links'.
|
||||
*/
|
||||
function theme_language_admin_operations($variables) {
|
||||
$links = array();
|
||||
foreach (element_children($variables['elements']) as $key) {
|
||||
// Children are only rendered if the current user has access.
|
||||
if (isset($variables['elements'][$key]['#children'])) {
|
||||
$links[$key] = $variables['elements'][$key]['#children'];
|
||||
}
|
||||
}
|
||||
// If there are links, render a link list.
|
||||
if (!empty($links)) {
|
||||
return theme('item_list__operations', array(
|
||||
'items' => $links,
|
||||
'attributes' => array('class' => array('links', 'inline')),
|
||||
));
|
||||
}
|
||||
// Otherwise, ensure to produce no output.
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns HTML for the language overview form.
|
||||
*
|
||||
|
@ -539,11 +516,17 @@ function language_negotiation_configure_form_table(&$form, $type) {
|
|||
|
||||
$config_op = array();
|
||||
if (isset($method['config'])) {
|
||||
$config_op = array('#type' => 'link', '#title' => t('Configure'), '#href' => $method['config']);
|
||||
$config_op['configure'] = array(
|
||||
'title' => t('Configure'),
|
||||
'href' => $method['config'],
|
||||
);
|
||||
// If there is at least one operation enabled show the operation column.
|
||||
$table_form['#show_operations'] = TRUE;
|
||||
}
|
||||
$table_form['operation'][$method_id] = $config_op;
|
||||
$table_form['operation'][$method_id] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $config_op,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -931,20 +914,26 @@ function language_negotiation_configure_browser_form($form, &$form_state) {
|
|||
function theme_language_negotiation_configure_browser_form_table($variables) {
|
||||
$form = $variables['form'];
|
||||
$rows = array();
|
||||
$link_attributes = array(
|
||||
'attributes' => array(
|
||||
'class' => array('image-style-link'),
|
||||
),
|
||||
);
|
||||
foreach (element_children($form, TRUE) as $key) {
|
||||
$row = array();
|
||||
$row[] = drupal_render($form[$key]['browser_langcode']);
|
||||
$row[] = drupal_render($form[$key]['drupal_langcode']);
|
||||
$row[] = l(t('Delete'), 'admin/config/regional/language/detection/browser/delete/' . $key, $link_attributes);
|
||||
|
||||
$rows[] = array(
|
||||
'data' => $row,
|
||||
$links = array();
|
||||
$links['delete'] = array(
|
||||
'title' => t('Delete'),
|
||||
'href' => "admin/config/regional/language/detection/browser/delete/$key",
|
||||
'attributes' => array(
|
||||
'class' => array('image-style-link'),
|
||||
),
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
$header = array(
|
||||
|
|
|
@ -180,10 +180,6 @@ function language_theme() {
|
|||
'render element' => 'form',
|
||||
'file' => 'language.admin.inc',
|
||||
),
|
||||
'language_admin_operations' => array(
|
||||
'render element' => 'elements',
|
||||
'file' => 'language.admin.inc',
|
||||
),
|
||||
'language_negotiation_configure_form' => array(
|
||||
'render element' => 'form',
|
||||
),
|
||||
|
|
|
@ -12,13 +12,30 @@ use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
|
|||
*/
|
||||
function menu_overview_page() {
|
||||
$result = db_query("SELECT * FROM {menu_custom} ORDER BY title", array(), array('fetch' => PDO::FETCH_ASSOC));
|
||||
$header = array(t('Title'), array('data' => t('Operations'), 'colspan' => '3'));
|
||||
$header = array(t('Title'), t('Operations'));
|
||||
$rows = array();
|
||||
foreach ($result as $menu) {
|
||||
$row = array(theme('menu_admin_overview', array('title' => $menu['title'], 'name' => $menu['menu_name'], 'description' => $menu['description'])));
|
||||
$row[] = array('data' => l(t('list links'), 'admin/structure/menu/manage/' . $menu['menu_name']));
|
||||
$row[] = array('data' => l(t('edit menu'), 'admin/structure/menu/manage/' . $menu['menu_name'] . '/edit'));
|
||||
$row[] = array('data' => l(t('add link'), 'admin/structure/menu/manage/' . $menu['menu_name'] . '/add'));
|
||||
$row = array();
|
||||
$row[] = theme('menu_admin_overview', array('title' => $menu['title'], 'name' => $menu['menu_name'], 'description' => $menu['description']));
|
||||
$links = array();
|
||||
$links['list'] = array(
|
||||
'title' => t('list links'),
|
||||
'href' => 'admin/structure/menu/manage/' . $menu['menu_name'],
|
||||
);
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit menu'),
|
||||
'href' => 'admin/structure/menu/manage/' . $menu['menu_name'] . '/edit',
|
||||
);
|
||||
$links['add'] = array(
|
||||
'title' => t('add link'),
|
||||
'href' => 'admin/structure/menu/manage/' . $menu['menu_name'] . '/add',
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
|
@ -135,16 +152,32 @@ function _menu_overview_tree_form($tree, $delta = 50) {
|
|||
);
|
||||
// Build a list of operations.
|
||||
$operations = array();
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => 'admin/structure/menu/item/' . $item['mlid'] . '/edit',
|
||||
);
|
||||
$operations['edit'] = array('#type' => 'link', '#title' => t('edit'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/edit');
|
||||
// Only items created by the menu module can be deleted.
|
||||
if ($item['module'] == 'menu' || $item['updated'] == 1) {
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete',
|
||||
);
|
||||
$operations['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete');
|
||||
}
|
||||
// Set the reset column.
|
||||
elseif ($item['module'] == 'system' && $item['customized']) {
|
||||
$links['reset'] = array(
|
||||
'title' => t('reset'),
|
||||
'href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset',
|
||||
);
|
||||
$operations['reset'] = array('#type' => 'link', '#title' => t('reset'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset');
|
||||
}
|
||||
$form[$mlid]['operations'] = $operations;
|
||||
$form[$mlid]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
|
||||
if ($data['below']) {
|
||||
|
@ -220,21 +253,13 @@ function theme_menu_overview_form($variables) {
|
|||
t('Menu link'),
|
||||
array('data' => t('Enabled'), 'class' => array('checkbox')),
|
||||
t('Weight'),
|
||||
array('data' => t('Operations'), 'colspan' => '3'),
|
||||
t('Operations'),
|
||||
);
|
||||
|
||||
$rows = array();
|
||||
foreach (element_children($form) as $mlid) {
|
||||
if (isset($form[$mlid]['hidden'])) {
|
||||
$element = &$form[$mlid];
|
||||
// Build a list of operations.
|
||||
$operations = array();
|
||||
foreach (element_children($element['operations']) as $op) {
|
||||
$operations[] = array('data' => drupal_render($element['operations'][$op]), 'class' => array('menu-operations'));
|
||||
}
|
||||
while (count($operations) < 2) {
|
||||
$operations[] = '';
|
||||
}
|
||||
|
||||
// Add special classes to be used for tabledrag.js.
|
||||
$element['plid']['#attributes']['class'] = array('menu-plid');
|
||||
|
@ -248,7 +273,7 @@ function theme_menu_overview_form($variables) {
|
|||
$row[] = theme('indentation', array('size' => $element['#item']['depth'] - 1)) . drupal_render($element['title']);
|
||||
$row[] = array('data' => drupal_render($element['hidden']), 'class' => array('checkbox', 'menu-enabled'));
|
||||
$row[] = drupal_render($element['weight']) . drupal_render($element['plid']) . drupal_render($element['mlid']);
|
||||
$row = array_merge($row, $operations);
|
||||
$row[] = drupal_render($element['operations']);
|
||||
|
||||
$row = array_merge(array('data' => $row), $element['#attributes']);
|
||||
$row['class'][] = 'draggable';
|
||||
|
|
|
@ -17,32 +17,47 @@ function node_overview_types() {
|
|||
$types = node_type_get_types();
|
||||
$names = node_type_get_names();
|
||||
$field_ui = module_exists('field_ui');
|
||||
$header = array(t('Name'), array('data' => t('Operations'), 'colspan' => $field_ui ? '4' : '2'));
|
||||
$header = array(t('Name'), t('Operations'));
|
||||
$rows = array();
|
||||
|
||||
foreach ($names as $key => $name) {
|
||||
$type = $types[$key];
|
||||
if (node_hook($type->type, 'form')) {
|
||||
$row = array(theme('node_admin_overview', array('name' => $name, 'type' => $type)));
|
||||
// Set the edit column.
|
||||
$row[] = array('data' => l(t('edit'), 'admin/structure/types/manage/' . $type->type));
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => 'admin/structure/types/manage/' . $type->type,
|
||||
'weight' => 0,
|
||||
);
|
||||
|
||||
if ($field_ui) {
|
||||
// Manage fields.
|
||||
$row[] = array('data' => l(t('manage fields'), 'admin/structure/types/manage/' . $type->type . '/fields'));
|
||||
|
||||
// Display fields.
|
||||
$row[] = array('data' => l(t('manage display'), 'admin/structure/types/manage/' . $type->type . '/display'));
|
||||
$links['fields'] = array(
|
||||
'title' => t('manage fields'),
|
||||
'href' => 'admin/structure/types/manage/' . $type->type . '/fields',
|
||||
'weight' => 5,
|
||||
);
|
||||
$links['display'] = array(
|
||||
'title' => t('manage display'),
|
||||
'href' => 'admin/structure/types/manage/' . $type->type . '/display',
|
||||
'weight' => 10,
|
||||
);
|
||||
}
|
||||
|
||||
// Set the delete column.
|
||||
if ($type->custom) {
|
||||
$row[] = array('data' => l(t('delete'), 'admin/structure/types/manage/' . $type->type . '/delete'));
|
||||
}
|
||||
else {
|
||||
$row[] = array('data' => '');
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => 'admin/structure/types/manage/' . $type->type . '/delete',
|
||||
'weight' => 15,
|
||||
);
|
||||
}
|
||||
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
|
||||
$rows[] = $row;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -251,7 +251,7 @@ function node_delete_confirm_submit($form, &$form_state) {
|
|||
function node_revision_overview($node) {
|
||||
drupal_set_title(t('Revisions for %title', array('%title' => $node->label())), PASS_THROUGH);
|
||||
|
||||
$header = array(t('Revision'), array('data' => t('Operations'), 'colspan' => 2));
|
||||
$header = array(t('Revision'), t('Operations'));
|
||||
|
||||
$revisions = node_revision_list($node);
|
||||
|
||||
|
@ -266,25 +266,35 @@ function node_revision_overview($node) {
|
|||
}
|
||||
foreach ($revisions as $revision) {
|
||||
$row = array();
|
||||
$operations = array();
|
||||
|
||||
if ($revision->current_vid > 0) {
|
||||
$row[] = array('data' => t('!date by !username', array('!date' => l(format_date($revision->timestamp, 'short'), "node/$node->nid"), '!username' => theme('username', array('account' => $revision))))
|
||||
. (($revision->log != '') ? '<p class="revision-log">' . filter_xss($revision->log) . '</p>' : ''),
|
||||
'class' => array('revision-current'));
|
||||
$operations[] = array('data' => drupal_placeholder(t('current revision')), 'class' => array('revision-current'), 'colspan' => 2);
|
||||
$row[] = array('data' => drupal_placeholder(t('current revision')), 'class' => array('revision-current'));
|
||||
}
|
||||
else {
|
||||
$row[] = t('!date by !username', array('!date' => l(format_date($revision->timestamp, 'short'), "node/$node->nid/revisions/$revision->vid/view"), '!username' => theme('username', array('account' => $revision))))
|
||||
. (($revision->log != '') ? '<p class="revision-log">' . filter_xss($revision->log) . '</p>' : '');
|
||||
if ($revert_permission) {
|
||||
$operations[] = l(t('revert'), "node/$node->nid/revisions/$revision->vid/revert");
|
||||
$links['revert'] = array(
|
||||
'title' => t('revert'),
|
||||
'href' => "node/$node->nid/revisions/$revision->vid/revert",
|
||||
);
|
||||
}
|
||||
if ($delete_permission) {
|
||||
$operations[] = l(t('delete'), "node/$node->nid/revisions/$revision->vid/delete");
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => "node/$node->nid/revisions/$revision->vid/delete",
|
||||
);
|
||||
}
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
}
|
||||
$rows[] = array_merge($row, $operations);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
$build['node_revisions_table'] = array(
|
||||
|
|
|
@ -51,7 +51,20 @@ function openid_user_identities($account) {
|
|||
|
||||
$result = db_query("SELECT * FROM {authmap} WHERE module='openid' AND uid=:uid", array(':uid' => $account->uid));
|
||||
foreach ($result as $identity) {
|
||||
$rows[] = array(check_plain($identity->authname), l(t('Delete'), 'user/' . $account->uid . '/openid/delete/' . $identity->aid));
|
||||
$row = array();
|
||||
$row[] = check_plain($identity->authname);
|
||||
$links = array();
|
||||
$links['delete'] = array(
|
||||
'title' => t('Delete'),
|
||||
'href' => 'user/' . $account->uid . '/openid/delete/' . $identity->aid,
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
$build['openid_table'] = array(
|
||||
|
|
|
@ -25,7 +25,7 @@ function path_admin_overview($keys = NULL) {
|
|||
if ($multilanguage) {
|
||||
$header[] = array('data' => t('Language'), 'field' => 'langcode');
|
||||
}
|
||||
$header[] = array('data' => t('Operations'));
|
||||
$header[] = t('Operations');
|
||||
|
||||
$query = db_select('url_alias')
|
||||
->extend('Drupal\Core\Database\Query\PagerSelectExtender')
|
||||
|
@ -68,7 +68,7 @@ function path_admin_overview($keys = NULL) {
|
|||
);
|
||||
$row['data']['operations'] = array(
|
||||
'data' => array(
|
||||
'#theme' => 'links',
|
||||
'#type' => 'operations',
|
||||
'#links' => $operations,
|
||||
'#attributes' => array('class' => array('links', 'inline', 'nowrap')),
|
||||
),
|
||||
|
|
|
@ -157,21 +157,33 @@ function shortcut_set_switch_submit($form, &$form_state) {
|
|||
*/
|
||||
function shortcut_set_admin() {
|
||||
$shortcut_sets = shortcut_sets();
|
||||
$header = array(t('Name'), array('data' => t('Operations'), 'colspan' => 4));
|
||||
$header = array(t('Name'), t('Operations'));
|
||||
|
||||
$rows = array();
|
||||
foreach ($shortcut_sets as $set) {
|
||||
$row = array(
|
||||
check_plain($set->title),
|
||||
l(t('list links'), "admin/config/user-interface/shortcut/$set->set_name"),
|
||||
l(t('edit set name'), "admin/config/user-interface/shortcut/$set->set_name/edit"),
|
||||
);
|
||||
$links['list'] = array(
|
||||
'title' => t('list links'),
|
||||
'href' => "admin/config/user-interface/shortcut/$set->set_name",
|
||||
);
|
||||
$links['edit'] = array(
|
||||
'title' => t('list links'),
|
||||
'href' => "admin/config/user-interface/shortcut/$set->set_name/edit",
|
||||
);
|
||||
if (shortcut_set_delete_access($set)) {
|
||||
$row[] = l(t('delete set'), "admin/config/user-interface/shortcut/$set->set_name/delete");
|
||||
}
|
||||
else {
|
||||
$row[] = '';
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete set'),
|
||||
'href' => "admin/config/user-interface/shortcut/$set->set_name/delete",
|
||||
);
|
||||
}
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
@ -271,8 +283,18 @@ function shortcut_set_customize($form, &$form_state, $shortcut_set) {
|
|||
'#attributes' => array('class' => array('shortcut-weight')),
|
||||
);
|
||||
|
||||
$form['shortcuts']['links'][$mlid]['edit']['#markup'] = l(t('edit'), 'admin/config/user-interface/shortcut/link/' . $mlid);
|
||||
$form['shortcuts']['links'][$mlid]['delete']['#markup'] = l(t('delete'), 'admin/config/user-interface/shortcut/link/' . $mlid . '/delete');
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => "admin/config/user-interface/shortcut/link/$mlid",
|
||||
);
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => "admin/config/user-interface/shortcut/link/$mlid/delete",
|
||||
);
|
||||
$form['shortcuts']['links'][$mlid]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
|
||||
$form['actions'] = array(
|
||||
|
@ -322,15 +344,14 @@ function theme_shortcut_set_customize($variables) {
|
|||
$row = array();
|
||||
$row[] = drupal_render($shortcut['name']);
|
||||
$row[] = drupal_render($shortcut['weight']);
|
||||
$row[] = drupal_render($shortcut['edit']);
|
||||
$row[] = drupal_render($shortcut['delete']);
|
||||
$row[] = drupal_render($shortcut['operations']);
|
||||
$rows[] = array(
|
||||
'data' => $row,
|
||||
'class' => array('draggable'),
|
||||
);
|
||||
}
|
||||
|
||||
$header = array(t('Name'), t('Weight'), array('data' => t('Operations'), 'colspan' => 2));
|
||||
$header = array(t('Name'), t('Weight'), t('Operations'));
|
||||
$output = theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => array('id' => 'shortcuts'), 'empty' => t('No shortcuts available. <a href="@link">Add a shortcut</a>.', array('@link' => url('admin/config/user-interface/shortcut/' . $form['#shortcut_set_name'] . '/add-link')))));
|
||||
$output .= drupal_render($form['actions']);
|
||||
$output = drupal_render_children($form) . $output;
|
||||
|
|
|
@ -22,7 +22,7 @@ function statistics_recent_hits() {
|
|||
array('data' => t('Timestamp'), 'field' => 'a.timestamp', 'sort' => 'desc'),
|
||||
array('data' => t('Page'), 'field' => 'a.path'),
|
||||
array('data' => t('User'), 'field' => 'u.name'),
|
||||
array('data' => t('Operations'))
|
||||
t('Operations'),
|
||||
);
|
||||
|
||||
$query = db_select('accesslog', 'a', array('target' => 'slave'))
|
||||
|
@ -38,11 +38,22 @@ function statistics_recent_hits() {
|
|||
$result = $query->execute();
|
||||
$rows = array();
|
||||
foreach ($result as $log) {
|
||||
$rows[] = array(
|
||||
array('data' => format_date($log->timestamp, 'short'), 'class' => array('nowrap')),
|
||||
_statistics_format_item($log->title, $log->path),
|
||||
theme('username', array('account' => $log)),
|
||||
l(t('details'), "admin/reports/access/$log->aid"));
|
||||
$row = array();
|
||||
$row[] = array('data' => format_date($log->timestamp, 'short'), 'class' => array('nowrap'));
|
||||
$row[] = _statistics_format_item($log->title, $log->path);
|
||||
$row[] = theme('username', array('account' => $log));
|
||||
$links = array();
|
||||
$links['details'] = array(
|
||||
'title' => t('details'),
|
||||
'href' => "admin/reports/access/$log->aid",
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
$build['statistics_table'] = array(
|
||||
|
@ -127,7 +138,7 @@ function statistics_top_visitors() {
|
|||
array('data' => t('Hits'), 'field' => 'hits', 'sort' => 'desc'),
|
||||
array('data' => t('Visitor'), 'field' => 'u.name'),
|
||||
array('data' => t('Total page generation time'), 'field' => 'total'),
|
||||
array('data' => $ban_exists && user_access('ban IP addresses') ? t('Operations') : '', 'colspan' => 2),
|
||||
$ban_exists && user_access('Ban IP addresses') ? t('Operations') : '',
|
||||
);
|
||||
$query = db_select('accesslog', 'a', array('target' => 'slave'))
|
||||
->extend('Drupal\Core\Database\Query\PagerSelectExtender')
|
||||
|
@ -163,19 +174,33 @@ function statistics_top_visitors() {
|
|||
$rows = array();
|
||||
$destination = drupal_get_destination();
|
||||
foreach ($result as $account) {
|
||||
if ($ban_exists) {
|
||||
$links = array();
|
||||
if ($ban_exists && user_access('ban IP addresses') && !$account->uid) {
|
||||
if ($account->iid) {
|
||||
$ban_link = l(t('unban IP address'), "admin/config/people/ban/delete/$account->iid", array('query' => $destination));
|
||||
$links['unban'] = array(
|
||||
'title' => t('unban IP address'),
|
||||
'href' => "admin/config/people/ban/delete/$account->iid",
|
||||
'query' => $destination,
|
||||
);
|
||||
}
|
||||
else {
|
||||
$ban_link = l(t('ban IP address'), "admin/config/people/ban/$account->hostname", array('query' => $destination));
|
||||
$links['ban'] = array(
|
||||
'title' => t('ban IP address'),
|
||||
'href' => "admin/config/people/ban/$account->hostname",
|
||||
'query' => $destination,
|
||||
);
|
||||
}
|
||||
}
|
||||
$row = array();
|
||||
$row[] = $account->hits;
|
||||
$row[] = ($account->uid ? theme('username', array('account' => $account)) : $account->hostname);
|
||||
$row[] = format_interval(round($account->total / 1000));
|
||||
$row[] = ($ban_exists && user_access('ban IP addresses') && !$account->uid ? $ban_link : '');
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,10 +19,11 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
|||
function statistics_node_tracker() {
|
||||
if ($node = node_load(arg(1))) {
|
||||
$header = array(
|
||||
array('data' => t('Time'), 'field' => 'a.timestamp', 'sort' => 'desc'),
|
||||
array('data' => t('Referrer'), 'field' => 'a.url'),
|
||||
array('data' => t('User'), 'field' => 'u.name'),
|
||||
array('data' => t('Operations')));
|
||||
array('data' => t('Time'), 'field' => 'a.timestamp', 'sort' => 'desc'),
|
||||
array('data' => t('Referrer'), 'field' => 'a.url'),
|
||||
array('data' => t('User'), 'field' => 'u.name'),
|
||||
t('Operations'),
|
||||
);
|
||||
|
||||
$query = db_select('accesslog', 'a', array('target' => 'slave'))
|
||||
->extend('Drupal\Core\Database\Query\PagerSelectExtender')
|
||||
|
@ -41,12 +42,22 @@ function statistics_node_tracker() {
|
|||
$result = $query->execute();
|
||||
$rows = array();
|
||||
foreach ($result as $log) {
|
||||
$rows[] = array(
|
||||
array('data' => format_date($log->timestamp, 'short'), 'class' => array('nowrap')),
|
||||
_statistics_link($log->url),
|
||||
theme('username', array('account' => $log)),
|
||||
l(t('details'), "admin/reports/access/$log->aid"),
|
||||
$row = array();
|
||||
$row[] = array('data' => format_date($log->timestamp, 'short'), 'class' => array('nowrap'));
|
||||
$row[] = _statistics_link($log->url);
|
||||
$row[] = theme('username', array('account' => $log));
|
||||
$links = array();
|
||||
$links['details'] = array(
|
||||
'title' => t('details'),
|
||||
'href' => "admin/reports/access/$log->aid",
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
// Do not use $node->label() here, because $node comes from the database.
|
||||
|
@ -78,9 +89,10 @@ function statistics_user_tracker() {
|
|||
if ($account = user_load(arg(1))) {
|
||||
|
||||
$header = array(
|
||||
array('data' => t('Timestamp'), 'field' => 'timestamp', 'sort' => 'desc'),
|
||||
array('data' => t('Page'), 'field' => 'path'),
|
||||
array('data' => t('Operations')));
|
||||
array('data' => t('Timestamp'), 'field' => 'timestamp', 'sort' => 'desc'),
|
||||
array('data' => t('Page'), 'field' => 'path'),
|
||||
t('Operations'),
|
||||
);
|
||||
$query = db_select('accesslog', 'a', array('target' => 'slave'))
|
||||
->extend('Drupal\Core\Database\Query\PagerSelectExtender')
|
||||
->extend('Drupal\Core\Database\Query\TableSortExtender');
|
||||
|
@ -93,10 +105,21 @@ function statistics_user_tracker() {
|
|||
$result = $query->execute();
|
||||
$rows = array();
|
||||
foreach ($result as $log) {
|
||||
$rows[] = array(
|
||||
array('data' => format_date($log->timestamp, 'short'), 'class' => array('nowrap')),
|
||||
_statistics_format_item($log->title, $log->path),
|
||||
l(t('details'), "admin/reports/access/$log->aid"));
|
||||
$row = array();
|
||||
$row[] = array('data' => format_date($log->timestamp, 'short'), 'class' => array('nowrap'));
|
||||
$row[] = _statistics_format_item($log->title, $log->path);
|
||||
$links = array();
|
||||
$links['details'] = array(
|
||||
'title' => t('details'),
|
||||
'href' => "admin/reports/access/$log->aid",
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
drupal_set_title(user_format_name($account));
|
||||
|
|
|
@ -1990,15 +1990,19 @@ function system_date_time_settings() {
|
|||
'#options' => $choices,
|
||||
);
|
||||
|
||||
$links = array();
|
||||
// If this isn't a system provided type, allow the user to remove it from
|
||||
// the system.
|
||||
if ($type_info['locked'] == 0) {
|
||||
$form['formats']['delete']['date_format_' . $type . '_delete'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('delete'),
|
||||
'#href' => 'admin/config/regional/date-time/types/' . $type . '/delete',
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => "admin/config/regional/date-time/types/$type/delete",
|
||||
);
|
||||
}
|
||||
$form['formats']['operations']["date_format_$type"] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2026,12 +2030,11 @@ function theme_system_date_time_settings($variables) {
|
|||
);
|
||||
|
||||
foreach (element_children($form['format']) as $key) {
|
||||
$delete_key = $key . '_delete';
|
||||
$row = array();
|
||||
$row[] = $form['format'][$key]['#title'];
|
||||
$form['format'][$key]['#title_display'] = 'invisible';
|
||||
$row[] = array('data' => drupal_render($form['format'][$key]));
|
||||
$row[] = array('data' => drupal_render($form['delete'][$delete_key]));
|
||||
$row[] = drupal_render($form['operations'][$key]);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
|
@ -2725,7 +2728,7 @@ function system_delete_date_format_type_form_submit($form, &$form_state) {
|
|||
* Displays the date format strings overview page.
|
||||
*/
|
||||
function system_date_time_formats() {
|
||||
$header = array(t('Format'), array('data' => t('Operations'), 'colspan' => '2'));
|
||||
$header = array(t('Format'), t('Operations'));
|
||||
$rows = array();
|
||||
|
||||
drupal_static_reset('system_get_date_formats');
|
||||
|
@ -2734,8 +2737,21 @@ function system_date_time_formats() {
|
|||
foreach ($formats as $format) {
|
||||
$row = array();
|
||||
$row[] = array('data' => format_date(REQUEST_TIME, 'custom', $format['format']));
|
||||
$row[] = array('data' => l(t('edit'), 'admin/config/regional/date-time/formats/' . $format['dfid'] . '/edit'));
|
||||
$row[] = array('data' => l(t('delete'), 'admin/config/regional/date-time/formats/' . $format['dfid'] . '/delete'));
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => 'admin/config/regional/date-time/formats/' . $format['dfid'] . '/edit',
|
||||
);
|
||||
$links['delete'] = array(
|
||||
'title' => t('delete'),
|
||||
'href' => 'admin/config/regional/date-time/formats/' . $format['dfid'] . '/delete',
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
}
|
||||
|
@ -2840,17 +2856,27 @@ function system_add_date_formats_form_submit($form, &$form_state) {
|
|||
* @see locale_menu()
|
||||
*/
|
||||
function system_date_format_language_overview_page() {
|
||||
$header = array(
|
||||
t('Language'),
|
||||
array('data' => t('Operations'), 'colspan' => '2'),
|
||||
);
|
||||
$header = array(t('Language'), t('Operations'));
|
||||
|
||||
$languages = language_list();
|
||||
foreach ($languages as $langcode => $language) {
|
||||
$row = array();
|
||||
$row[] = $language->name;
|
||||
$row[] = l(t('edit'), 'admin/config/regional/date-time/locale/' . $langcode . '/edit');
|
||||
$row[] = l(t('reset'), 'admin/config/regional/date-time/locale/' . $langcode . '/reset');
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => "admin/config/regional/date-time/locale/$langcode/edit",
|
||||
);
|
||||
$links['reset'] = array(
|
||||
'title' => t('reset'),
|
||||
'href' => "admin/config/regional/date-time/locale/$langcode/reset",
|
||||
);
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,9 +28,23 @@ function taxonomy_overview_vocabularies($form) {
|
|||
'#delta' => 10,
|
||||
'#default_value' => $vocabulary->weight,
|
||||
);
|
||||
$form[$vocabulary->vid]['edit'] = array('#type' => 'link', '#title' => t('edit vocabulary'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name/edit");
|
||||
$form[$vocabulary->vid]['list'] = array('#type' => 'link', '#title' => t('list terms'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name");
|
||||
$form[$vocabulary->vid]['add'] = array('#type' => 'link', '#title' => t('add terms'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name/add");
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit vocabulary'),
|
||||
'href' => "admin/structure/taxonomy/$vocabulary->machine_name/edit",
|
||||
);
|
||||
$links['list'] = array(
|
||||
'title' => t('list terms'),
|
||||
'href' => "admin/structure/taxonomy/$vocabulary->machine_name",
|
||||
);
|
||||
$links['add'] = array(
|
||||
'title' => t('add terms'),
|
||||
'href' => "admin/structure/taxonomy/$vocabulary->machine_name/add",
|
||||
);
|
||||
$form[$vocabulary->vid]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
|
||||
// Only make this form include a submit button and weight if more than one
|
||||
|
@ -85,9 +99,7 @@ function theme_taxonomy_overview_vocabularies($variables) {
|
|||
$vocabulary['weight']['#attributes']['class'] = array('vocabulary-weight');
|
||||
$row[] = drupal_render($vocabulary['weight']);
|
||||
}
|
||||
$row[] = drupal_render($vocabulary['edit']);
|
||||
$row[] = drupal_render($vocabulary['list']);
|
||||
$row[] = drupal_render($vocabulary['add']);
|
||||
$row[] = drupal_render($vocabulary['operations']);
|
||||
$rows[] = array('data' => $row, 'class' => array('draggable'));
|
||||
}
|
||||
}
|
||||
|
@ -97,7 +109,7 @@ function theme_taxonomy_overview_vocabularies($variables) {
|
|||
$header[] = t('Weight');
|
||||
drupal_add_tabledrag('taxonomy', 'order', 'sibling', 'vocabulary-weight');
|
||||
}
|
||||
$header[] = array('data' => t('Operations'), 'colspan' => '3');
|
||||
$header[] = t('Operations');
|
||||
return theme('table', array('header' => $header, 'rows' => $rows, 'empty' => t('No vocabularies available. <a href="@link">Add vocabulary</a>.', array('@link' => url('admin/structure/taxonomy/add'))), 'attributes' => array('id' => 'taxonomy'))) . drupal_render_children($form);
|
||||
}
|
||||
|
||||
|
@ -278,7 +290,7 @@ function taxonomy_overview_terms($form, &$form_state, Vocabulary $vocabulary) {
|
|||
'delete' => array('title' => t('delete'), 'href' => 'taxonomy/term/' . $term->tid . '/delete', 'query' => drupal_get_destination()),
|
||||
);
|
||||
$form[$key]['operations'] = array(
|
||||
'#theme' => 'links',
|
||||
'#type' => 'operations',
|
||||
'#links' => $operations,
|
||||
'#attributes' => array('class' => array('links', 'inline')),
|
||||
);
|
||||
|
|
|
@ -46,10 +46,13 @@ function translation_node_overview(Node $node) {
|
|||
$links = language_negotiation_get_switch_links($type, $path);
|
||||
$title = empty($links->links[$langcode]['href']) ? l($translation_node->label(), $path) : l($translation_node->label(), $links->links[$langcode]['href'], $links->links[$langcode]);
|
||||
if (node_access('update', $translation_node)) {
|
||||
$text = t('edit');
|
||||
$path = 'node/' . $translation_node->nid . '/edit';
|
||||
$links = language_negotiation_get_switch_links($type, $path);
|
||||
$options[] = empty($links->links[$langcode]['href']) ? l($text, $path) : l($text, $links->links[$langcode]['href'], $links->links[$langcode]);
|
||||
if (!empty($links->links[$langcode]['href'])) {
|
||||
$options['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
) + $links->links[$langcode];
|
||||
}
|
||||
}
|
||||
$status = $translation_node->status ? t('Published') : t('Not published');
|
||||
$status .= $translation_node->translate ? ' - <span class="marker">' . t('outdated') . '</span>' : '';
|
||||
|
@ -61,15 +64,28 @@ function translation_node_overview(Node $node) {
|
|||
// No such translation in the set yet: help user to create it.
|
||||
$title = t('n/a');
|
||||
if (node_access('create', $node)) {
|
||||
$text = t('add translation');
|
||||
$path = 'node/add/' . $node->type;
|
||||
$links = language_negotiation_get_switch_links($type, $path);
|
||||
$query = array('query' => array('translation' => $node->nid, 'target' => $langcode));
|
||||
$options[] = empty($links->links[$langcode]['href']) ? l($text, $path, $query) : l($text, $links->links[$langcode]['href'], array_merge_recursive($links->links[$langcode], $query));
|
||||
if (!empty($links->links[$langcode]['href'])) {
|
||||
$options['add'] = array(
|
||||
'title' => t('add translation'),
|
||||
) + $links->links[$langcode];
|
||||
$options['add'] = array_merge_recursive($options['add'], $query);
|
||||
}
|
||||
}
|
||||
$status = t('Not translated');
|
||||
}
|
||||
$rows[] = array($language_name, $title, $status, implode(" | ", $options));
|
||||
$row[] = $language_name;
|
||||
$row[] = $title;
|
||||
$row[] = $status;
|
||||
$row[] = array(
|
||||
'data' => array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $options,
|
||||
),
|
||||
);
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
drupal_set_title(t('Translations of %title', array('%title' => $node->label())), PASS_THROUGH);
|
||||
|
|
|
@ -149,7 +149,7 @@ function user_admin_account() {
|
|||
'roles' => array('data' => t('Roles'), 'class' => array(RESPONSIVE_PRIORITY_LOW)),
|
||||
'member_for' => array('data' => t('Member for'), 'field' => 'u.created', 'sort' => 'desc', 'class' => array(RESPONSIVE_PRIORITY_LOW)),
|
||||
'access' => array('data' => t('Last access'), 'field' => 'u.access', 'class' => array(RESPONSIVE_PRIORITY_LOW)),
|
||||
'operations' => array('data' => t('Operations')),
|
||||
'operations' => t('Operations'),
|
||||
);
|
||||
|
||||
$query = db_select('users', 'u');
|
||||
|
@ -210,7 +210,16 @@ function user_admin_account() {
|
|||
'roles' => theme('item_list', array('items' => $users_roles)),
|
||||
'member_for' => format_interval(REQUEST_TIME - $account->created),
|
||||
'access' => $account->access ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $account->access))) : t('never'),
|
||||
'operations' => array('data' => array('#type' => 'link', '#title' => t('edit'), '#href' => "user/$account->uid/edit", '#options' => array('query' => $destination))),
|
||||
);
|
||||
$links = array();
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit'),
|
||||
'href' => "user/$account->uid/edit",
|
||||
'query' => $destination,
|
||||
);
|
||||
$options[$account->uid]['operations']['data'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -886,15 +895,19 @@ function user_admin_roles($form, $form_state) {
|
|||
'#default_value' => $role->weight,
|
||||
'#attributes' => array('class' => array('role-weight')),
|
||||
);
|
||||
$form['roles'][$role->rid]['edit'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('edit role'),
|
||||
'#href' => 'admin/people/roles/edit/' . $role->rid,
|
||||
$links['edit'] = array(
|
||||
'title' => t('edit role'),
|
||||
'href' => 'admin/people/roles/edit/' . $role->rid,
|
||||
'weight' => 0,
|
||||
);
|
||||
$form['roles'][$role->rid]['permissions'] = array(
|
||||
'#type' => 'link',
|
||||
'#title' => t('edit permissions'),
|
||||
'#href' => 'admin/people/permissions/' . $role->rid,
|
||||
$links['permissions'] = array(
|
||||
'title' => t('edit permissions'),
|
||||
'href' => 'admin/people/permissions/' . $role->rid,
|
||||
'weight' => 5,
|
||||
);
|
||||
$form['roles'][$role->rid]['operations'] = array(
|
||||
'#type' => 'operations',
|
||||
'#links' => $links,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -946,7 +959,7 @@ function user_admin_roles_order_submit($form, &$form_state) {
|
|||
function theme_user_admin_roles($variables) {
|
||||
$form = $variables['form'];
|
||||
|
||||
$header = array(t('Name'), t('Weight'), array('data' => t('Operations'), 'colspan' => 2));
|
||||
$header = array(t('Name'), t('Weight'), t('Operations'));
|
||||
foreach (element_children($form['roles']) as $rid) {
|
||||
$row = array();
|
||||
foreach (element_children($form['roles'][$rid]) as $column) {
|
||||
|
|
Loading…
Reference in New Issue