4 This plugin provides the virtual "CreatePage" and "AddNewPage" pages to
5 allow immediately adding of a new page. It also automatically inserts
6 a link to the new page from another (pre-defined) Root page, so the
7 Wiki won't end up with lots of not interconnected pages (which used
8 to be the drawback of a plugin like this).
12 $ewiki_plugins["page"]["AddNewPage"] = "ewiki_addpage";
13 $ewiki_plugins["page"]["CreatePage"] = "ewiki_addpage";
14 $ewiki_plugins["page"]["EineSeiteHinzufügen"] = "ewiki_addpage";
16 $ewiki_t["de"]["name of the new page"] = "Name der neuen Seite";
17 $ewiki_t["de"]["link it from"] = "verlinken von";
18 $ewiki_t["de"]["create"] = "erstellen";
19 $ewiki_t["de"]["AddedPages"] = "HinzugefügteSeiten";
22 function ewiki_addpage($id, &$data, $version) {
24 $o = ewiki_make_title($id, $id, 2);
26 #-- output page creation dialog
27 if (empty($_REQUEST["new_id"])) {
30 '<form action="'.ewiki_script("",$id).'" method="POST" enctype="multipart/formdata"> '
31 .'_{name of the new page} <input type="text" name="new_id" size="26" value="">'
33 .'<input type="submit" value="_{create}">'
35 .'<input type="checkbox" name="add_link_from" value="1" checked="checked">'
37 .'<input type="text" name="link_from" size="20" value="_{AddedPages}">'
43 $new_id = trim($_REQUEST["new_id"]);
45 #-- add a link to new page
46 if ($_REQUEST["add_link_from"] && ($from = $_REQUEST["link_from"])) {
47 $row = ewiki_db::GET($from);
48 if ($row && $row["version"]) {
49 if (($row["flags"] & EWIKI_DB_F_TYPE) == EWIKI_DB_F_TEXT) {
51 $row["content"] .= "\n* [$new_id]";
52 ewiki_scan_wikiwords($row["content"], $row["refs"], "_STRIP_EMAIL=1");
53 $row["refs"] = "\n\n".implode("\n", array_keys($row["refs"]))."\n\n";
63 "flags" => EWIKI_DB_F_TEXT,
65 "lastmodified" => time(),
68 "content" => "\n* [$new_id]",
69 "refs" => "\n\n$new_id\n\n",
73 ewiki_db::WRITE($row);
78 $o = ewiki_page($new_id);