function record_shorten_records_table in Shorten URLs 8.2
Same name and namespace in other branches
- 8 modules/record_shorten/record_shorten.module \record_shorten_records_table()
- 6 record_shorten.module \record_shorten_records_table()
- 7.2 record_shorten.module \record_shorten_records_table()
- 7 record_shorten.module \record_shorten_records_table()
Builds a list of shortened URLs.
1 call to record_shorten_records_table()
- DefaultController::page in modules/
record_shorten/ src/ Controller/ DefaultController.php - Page build for Record Shorten.
File
- modules/
record_shorten/ record_shorten.module, line 47
Code
function record_shorten_records_table() {
// @TODO : Views display plugin needs to be fixed.
// if (\Drupal::moduleHandler()->moduleExists('views')) {
// return views_embed_view('record_shorten', 'default');
// }
$header = [
t('Original'),
t('Short'),
t('Service'),
];
$rows = [];
// SELECT original, short, service FROM {record_shorten} ORDER BY sid DESC.
$result = \Drupal::database()
->select('record_shorten', 'rs')
->extend('Drupal\\Core\\Database\\Query\\PagerSelectExtender')
->limit(10)
->fields('rs', [
'original',
'short',
'service',
])
->orderBy('rs.sid', 'DESC')
->execute();
foreach ($result as $row) {
// Sigh... DBTNG doesn't have a ->fetchAsNonAssocArray()
$rows[] = [
Html::escape($row->original),
Html::escape($row->short),
Html::escape($row->service),
];
}
$table = [
'#type' => 'table',
'#header' => $header,
'#rows' => $rows,
];
// Render Table.
$output = \Drupal::service('renderer')
->render($table);
// Finally add Pager.
$pager = [
'#type' => 'pager',
];
$output .= \Drupal::service('renderer')
->render($pager);
return $output;
}