home | career | drupal | java | mac | mysql | perl | php | scala | uml | unix

Drupal example source code file (tracker.module)

This example Drupal source code file (tracker.module) is included in the DevDaily.com "Drupal Source Code Warehouse" project. The intent of this project is to help you "Learn Drupal by Example".

PHP - Drupal tags/keywords

access, arguments, array, content, file, function, page, php, posts, return, the, title, tracker, type

The tracker.module Drupal example source code

<?php
// $Id: tracker.module,v 1.154.2.1 2008/04/09 21:11:51 goba Exp $

/**
 * @file
 * Enables tracking of recent posts for users.
 */

/**
 * Implementation of hook_help().
 */
function tracker_help($path, $arg) {
  switch ($path) {
    case 'admin/help#tracker':
      $output = '<p>'. t('The tracker module displays the most recently added or updated content on your site, and provides user-level tracking to follow the contributions of particular authors.') .'</p>';
      $output .= '<p>'. t("The <em>Recent posts</em> page is available via a link in the navigation menu block and displays new and recently-updated content (including the content type, the title, the author's name, number of comments, and time of last update) in reverse chronological order. Posts are marked updated when changes occur in the text, or when new comments are added. To use the tracker module to follow a specific user's contributions, select the <em>Track</em> tab from the user's profile page.") .'</p>';
      $output .= '<p>'. t('For more information, see the online handbook entry for <a href="@tracker">Tracker module</a>.', array('@tracker' => 'http://drupal.org/handbook/modules/tracker/')) .'</p>';
      return $output;
  }
}

/**
 * Implementation of hook_menu().
 */
function tracker_menu() {
  $items['tracker'] = array(
    'title' => 'Recent posts',
    'page callback' => 'tracker_page',
    'access arguments' => array('access content'),
    'weight' => 1,
    'file' => 'tracker.pages.inc',
  );
  $items['tracker/all'] = array(
    'title' => 'All recent posts',
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );
  $items['tracker/%user_uid_optional'] = array(
    'title' => 'My recent posts',
    'access callback' => '_tracker_myrecent_access',
    'access arguments' => array(1),
    'page arguments' => array(1),
    'type' => MENU_LOCAL_TASK,
  );

  $items['user/%user/track'] = array(
    'title' => 'Track',
    'page callback' => 'tracker_page',
    'page arguments' => array(1, TRUE),
    'access callback' => '_tracker_user_access',
    'access arguments' => array(1),
    'type' => MENU_LOCAL_TASK,
    'file' => 'tracker.pages.inc',
  );
  $items['user/%user/track/posts'] = array(
    'title' => 'Track posts',
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );
  return $items;
}

/**
 * Access callback for tracker/%user_uid_optional
 */
function _tracker_myrecent_access($account) {
  // This path is only allowed for authenticated users looking at their own posts.
  return $account->uid && ($GLOBALS['user']->uid == $account->uid) && user_access('access content');
}

/**
 * Access callback for user/%user/track
 */
function _tracker_user_access($account) {
  return user_view_access($account) && user_access('access content');
}

Other Drupal examples (source code examples)

Here is a short list of links related to this Drupal tracker.module source code file:

new blog posts

"Drupal" is a registered trademark of Dries Buytaert.

my drupal tutorials and examples  

Copyright 1998-2016 Alvin Alexander, alvinalexander.com
All Rights Reserved.

Beginning in 2016, a portion of the proceeds from pages under the '/drupal-code-examples/' URI will be donated to charity.