diff options
Diffstat (limited to 'modules/page/page.module')
-rw-r--r-- | modules/page/page.module | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/modules/page/page.module b/modules/page/page.module index ed5f881b3..29c388914 100644 --- a/modules/page/page.module +++ b/modules/page/page.module @@ -43,32 +43,13 @@ function page_access($op, $node) { } function page_save($op, $node) { - if ($op == "approve") { return array("status" => 1); } - if ($op == "create") { - if ($node->format) { // do not filter PHP code, do not auto-extract a teaser - return array("teaser" => $node->body, "format", "link", "description"); - } - else { - return array("body" => filter($node->body), "teaser" => filter($node->teaser), "format", "link", "description"); - } - } - if ($op == "decline") { return array("status" => 0); } - - if ($op == "update") { - if ($node->format) { // do not filter PHP code, do not auto-extract a teaser - return array("teaser" => $node->body, "format", "link", "description"); - } - else { - return array("body" => filter($node->body), "teaser" => filter($node->teaser), "format", "link", "description"); - } - } } function page_insert($node) { @@ -156,4 +137,16 @@ function page_form(&$node, &$help, &$error) { return $output; } +function page_validate(&$node) { + if ($node->format && user_access("create php content")) { + // Do not filter PHP code, do not auto-extract a teaser + $node->teaser = $node->body; + } + else { + $node->format = 0; + $node->body = filter($node->body); + $node->teaser = filter($node->body); + } +} + ?> |