summaryrefslogtreecommitdiff
path: root/modules/story/story.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/story/story.module')
-rw-r--r--modules/story/story.module14
1 files changed, 11 insertions, 3 deletions
diff --git a/modules/story/story.module b/modules/story/story.module
index dfb6c6cef..7f0c1ba64 100644
--- a/modules/story/story.module
+++ b/modules/story/story.module
@@ -45,8 +45,9 @@ function story_form($edit = array()) {
$form .= form_textarea(t("Body"), "body", $edit[body], 50, 15, t("Allowed HTML tags") .": ". htmlspecialchars($allowed_html));
// hidden fields:
- $form .= form_hidden("timestamp", $edit[timestamp]);
- $form .= form_hidden("nid", $edit[nid]);
+ if ($edit[nid] > 0) {
+ $form .= form_hidden("nid", $edit[nid]);
+ }
if (!$edit) {
$form .= form_submit(t("Preview"));
@@ -68,7 +69,14 @@ function story_form($edit = array()) {
}
function story_save($edit) {
- node_save(array_diff(array_merge($edit, array(nid => $edit[nid], type => "story")), array(userid => $edit[userid])));
+ global $status, $user;
+
+ if (!$edit[nid]) {
+ node_save($edit, array(abstract, author => $user->id, body, cid, comment => category_comment($edit[cid]), moderate => topic_moderate($edit[tid]), promote => category_promote($edit[cid]), score => 0, status => (category_submission($edit[cid]) ? $status[queued] : $status[posted]), tid, timestamp => time(), title, type => "story", votes => 0));
+ }
+ else if (user_access($user)) {
+ node_save($edit, array(abstract, body, cid, tid, title, type => "story"));
+ }
}
function story_block() {