story.module in Drupal 4
Enables users to submit stories, articles or similar content.
File
modules/story.moduleView source
<?php
/**
* @file
* Enables users to submit stories, articles or similar content.
*/
/**
* Implementation of hook_help().
*/
function story_help($section) {
switch ($section) {
case 'admin/help#story':
$output = '<p>' . t('The story module is used to create a content post type called <em>stories.</em> Stories are articles in their simplest form: they have a title, a teaser and a body. Stories are typically used to post news articles or as a group blog. ') . '</p>';
$output .= '<p>' . t('The story administration interface allows for complex configuration. It provides a submission form, workflow, default view permission, default edit permission, permissions for permission, and attachments. Trackbacks can also be enabled.') . '</p>';
$output .= t('<p>You can</p>
<ul>
<li>post a story at <a href="%node-add-story">create content >> story</a>.</li>
<li>configure story at <a href="%admin-settings-content-types-story">administer >> settings >> content types >> configure story</a>.</li>
</ul>
', array(
'%node-add-story' => url('node/add/story'),
'%admin-settings-content-types-story' => url('admin/settings/content-types/story'),
));
$output .= '<p>' . t('For more information please read the configuration and customization handbook <a href="%story">Story page</a>.', array(
'%story' => 'http://drupal.org/handbook/modules/story/',
)) . '</p>';
return $output;
case 'admin/modules#description':
return t('Allows users to submit stories, articles or similar content.');
case 'node/add#story':
return t('Stories are articles in their simplest form: they have a title, a teaser and a body, but can be extended by other modules. The teaser is part of the body too. Stories may be used as a personal blog or for news articles.');
}
}
/**
* Implementation of hook_node_info().
*/
function story_node_info() {
return array(
'story' => array(
'name' => t('story'),
'base' => 'story',
),
);
}
/**
* Implementation of hook_perm().
*/
function story_perm() {
return array(
'create stories',
'edit own stories',
);
}
/**
* Implementation of hook_access().
*/
function story_access($op, $node) {
global $user;
if ($op == 'create') {
return user_access('create stories');
}
if ($op == 'update' || $op == 'delete') {
if (user_access('edit own stories') && $user->uid == $node->uid) {
return TRUE;
}
}
}
/**
* Implementation of hook_menu().
*/
function story_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array(
'path' => 'node/add/story',
'title' => t('story'),
'access' => user_access('create stories'),
);
}
return $items;
}
/**
* Implementation of hook_form().
*/
function story_form(&$node) {
$form['title'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#required' => TRUE,
'#default_value' => $node->title,
'#weight' => -5,
);
$form['body_filter']['body'] = array(
'#type' => 'textarea',
'#title' => t('Body'),
'#default_value' => $node->body,
'#rows' => 20,
'#required' => TRUE,
);
$form['body_filter']['format'] = filter_form($node->format);
return $form;
}
Functions
Name | Description |
---|---|
story_access | Implementation of hook_access(). |
story_form | Implementation of hook_form(). |
story_help | Implementation of hook_help(). |
story_menu | Implementation of hook_menu(). |
story_node_info | Implementation of hook_node_info(). |
story_perm | Implementation of hook_perm(). |