status; } } function page_save($op, $node) { if ($op == "approve") { return array("status" => 1); } if ($op == "create") { return array("format", "link", "promote" => 0, "moderate" => 0, "status" => 1); } if ($op == "decline") { return array("status" => 0); } if ($op == "update") { return array("format", "link"); } } function page_insert($node) { db_query("INSERT INTO page (nid, format, link) VALUES ('$node->nid', '$node->format', '$node->link')"); } function page_update($node) { db_query("UPDATE page SET format = '$node->format', link = '$node->link' WHERE nid = '$node->nid'"); } function page_delete(&$node) { db_query("DELETE FROM page WHERE nid = '$node->nid'"); } function page_load($node) { $page = db_fetch_object(db_query("SELECT format, link FROM page WHERE nid = '$node->nid'")); return $page; } function page_link($type) { if ($type == "page") { $result = db_query("SELECT n.nid, p.link FROM page p LEFT JOIN node n ON p.nid = n.nid WHERE n.status = '1' AND p.link != '' ORDER BY p.link"); while ($page = db_fetch_object($result)) { $links[] = "nid\">$page->link"; } } return $links ? $links : array(); } function page_body($node) { global $theme, $op; if ($node->format) { /* ** Make sure only authorized users can preview static (PHP) ** pages. */ if ($op == t("Preview")) { if (user_access("adminster nodes")) { $node->body = stripslashes($node->body); // see also page_form() } else { return; } } ob_start(); eval($node->body); $output = ob_get_contents(); ob_end_clean(); } else { $output = check_output($node->body, 1); } return $output; } function page_view($node, $main = 0) { global $theme; /* ** Extract the page body. If body is dynamic (using PHP code), the body ** will be generated. */ $output .= page_body($node); /* ** Add the node specific links: */ $output .= "
". $theme->links(link_node($node, $main)) ."
"; $theme->box($node->title, $output); } function page_form(&$node, &$help, &$error) { global $op; if ($node->format) { if ($op != t("Preview")) { $node->body = addslashes($node->body); } } else { if ($node->teaser) { $output .= form_textarea(t("Teaser"), "teaser", $node->teaser, 60, 5, $error["teaser"]); } } $output .= form_textarea("Body", "body", $node->body, 60, 20); $output .= form_textfield("Link", "link", $node->link, 60, 64); $output .= form_select("Type", "format", $node->format, array(0 => "HTML / text", 1 => "PHP")); return $output; } ?>