summaryrefslogtreecommitdiff
path: root/modules/story.module
blob: a611b33464ffcabb3423264e90154451de176f63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
// $Id$

function story_conf_options() {
 $output .= form_textarea("Explanation or submission guidelines", "story_help", variable_get("story_help", ""), 55, 4, "This text will be displayed at the top of the story submission form.  Useful for helping or instructing your users.");
 $output .= form_select(t("Minimum number of words"), "minimum_story_size", variable_get("minimum_node_size", 0), array(0 => "0 words", 10 => "10 words", 25 => "25 words",  50 => "50 words", 75 => "75 words", 100 => "100 words", 125 => "125 words",  150 => "150 words", 175 => "175 words", 200 => "200 words"), t("The minimum number of words a personal story entry should consist of.  This can be useful to rule out submissions that do not meet the site's standards, such as short test post."));

 return $output;
}

function story_node($field) {
  $info = array("name" => "story");

  return $info[$field];
}

function story_access($op, $node) {
  if ($op == "view") {
    return ($node->nid && $node->status && !$node->moderate);
  }

  if ($op == "create") {
    return 1;
  }
}

function story_help() {
 ?>
  // TODO: update documentation, outdated

  //<p>Queued stories: user-contributed stories are automatically whisked away to a submission queue for moderators (i.e. registered user) to frown at.  Moderators vote whether or not a story should be posted to the front page for discussion.</p>
  //<p>Posted stories: published stories accessible to all visitors.</p>
  //<p>Dumped stories: rejected stories that are no longer available to visitors.</p>
 <?php
}

function story_form($node, $help, $error) {

  if (isset($node->body)) {

    /*
    ** Validate the size of the story:
    */

    if (count(explode(" ", $node->body)) < variable_get("minimum_story_size", 0)) {
      $error["body"] = "<div style=\"color: red;\">". t("The body of your story is too short.") ."</div>";
    }

  }
  else {

    /*
    ** Carry out some explanation or submission guidelines:
    */

    $help = variable_get("story_help", "");

  }

  $output = form_textarea(t("Body"), "body", $node->body, 60, 15, $error["body"] ? $error["body"] : t("Allowed HTML tags") .": ". htmlspecialchars(variable_get("allowed_html", "")));

  return $output;
}

function story_save($node) {
  if ($node->nid) {
    return array();
  }
  else {
    return array("promote" => 1, "moderate" => 1);
  }
}

?>