You are here

function jquerymobile_page_default in jQuery Mobile module 7.2

Menu callback; Generate a listing of promoted nodes.

1 string reference to 'jquerymobile_page_default'
jquerymobile_menu_alter in ./jquerymobile.module
Implements hook_menu_alter().

File

./jquerymobile.inc, line 11
Includes for jquerymobile

Code

function jquerymobile_page_default() {
  global $theme_key;
  $select = db_select('node', 'n')
    ->fields('n', array(
    'nid',
    'sticky',
    'created',
  ))
    ->condition('promote', 1)
    ->condition('status', 1)
    ->orderBy('sticky', 'DESC')
    ->orderBy('created', 'DESC')
    ->extend('PagerDefault')
    ->limit(variable_get('default_nodes_main', 10))
    ->addTag('node_access');
  $nids = $select
    ->execute()
    ->fetchCol();
  if (!empty($nids)) {
    $nodes = node_load_multiple($nids);
    if (_jquerymobile_is_mobile_theme($theme_key) && _jquerymobile_get_setting($theme_key, 'front')) {
      $build = _jquerymobile_view_multiple($nodes);
    }
    else {
      $build = node_view_multiple($nodes);
    }

    // 'rss.xml' is a path, not a file, registered in node_menu().
    drupal_add_feed('rss.xml', variable_get('site_name', 'Drupal') . ' ' . t('RSS'));
    $build['pager'] = array(
      '#theme' => 'pager',
      '#weight' => 5,
    );
    drupal_set_title('');
  }
  else {
    drupal_set_title(t('Welcome to @site-name', array(
      '@site-name' => variable_get('site_name', 'Drupal'),
    )), PASS_THROUGH);
    $default_message = '<p>' . t('No front page content has been created yet.') . '</p>';
    $default_links = array();
    if (_node_add_access()) {
      $default_links[] = l(t('Add new content'), 'node/add');
    }
    if (!empty($default_links)) {
      $default_message .= theme('item_list', array(
        'items' => $default_links,
      ));
    }
    $build['default_message'] = array(
      '#markup' => $default_message,
      '#prefix' => '<div id="first-time">',
      '#suffix' => '</div>',
    );
  }
  return $build;
}