_mediamosa_app_list()Show a listing of apps.
sites/all/modules/mediamosa/modules/app/mediamosa_app.module, line 199
<?php
function _mediamosa_app_list() {
// Our header.
$header = array(
array('data' => t('App ID'), 'field' => 'a.' . mediamosa_app_db::APP_ID),
array('data' => t('Name'), 'field' => 'a.' . mediamosa_app_db::APP_NAME),
array('data' => t('Quota'), 'field' => 'a.' . mediamosa_app_db::QUOTA),
t('Offline webservices'),
array('data' => t('Owner'), 'field' => 'a.' . mediamosa_app_db::OWNER),
array('data' => t('Status'), 'field' => 'a.' . mediamosa_app_db::ACTIVE),
t('Contacts'),
t('Operations')
);
// Get the app nodes.
$result = mediamosa_db::db_select(mediamosa_app_db::TABLE_NAME, 'a')->extend('PagerDefault')->extend('TableSort')
->fields('a')
->limit(mediamosa_settings::maintenance_items_per_page())
->orderByHeader($header)
->execute();
// Get all statuses of webservices per app.
$a_webservice_statuses = mediamosa_webservice_app::webservice_get_all_status();
// Get destination.
$l_options = array('query' => drupal_get_destination());
$apps = $rows = array();
foreach ($result as $app) {
$app_id = $app[mediamosa_app_db::APP_ID];
$actions = array(
l(t('Edit'), 'admin/mediamosa/config/app/'. $app[mediamosa_app_db::NID] . '/edit', $l_options),
l(t('Delete'), 'admin/mediamosa/config/app/'. $app[mediamosa_app_db::NID] . '/delete', $l_options),
);
$a_offline_webservices = array();
if (isset($a_webservice_statuses[$app_id])) {
foreach ($a_webservice_statuses[$app_id] as $handle => $status) {
if (!$status) {
$a_offline_webservices[] = $handle;
}
}
}
$rows[] = array(
$app[mediamosa_app_db::APP_ID],
'title' => array('data' => l($app[mediamosa_app_db::APP_NAME], 'admin/mediamosa/config/app/'. $app[mediamosa_app_db::NID]), 'field' => $app[mediamosa_app_db::APP_NAME]),
$app[mediamosa_app_db::QUOTA],
implode(', ', $a_offline_webservices),
$app[mediamosa_app_db::OWNER],
$app[mediamosa_app_db::ACTIVE] == mediamosa_app_db::ACTIVE_TRUE ? t('Enabled') : t('<b>Disabled</b>'),
l(t('Contacts'), 'admin/mediamosa/config/app/'. $app[mediamosa_app_db::APP_ID] . '/contacts'),
implode(' | ', $actions),
);
}
$form['pager_top'] = array('#theme' => 'pager');
$form['table'] = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => t('You have no client applications. Click on the <em>Add</em> tab to create one.')
);
$form['pager_bottom'] = array('#theme' => 'pager');
return $form;
}
?>