, Copyright 2006. License http://www.gnu.org/licenses/gpl.html GNU General Public License SDV($ZAPmodule[files], " create destroy upload log "); function ZAPfiles($field, $value) { global $WorkDir, $WikiDir, $pagename, $MessagesFmt, $m, $lock; if($lock != "nolock") { if (($field == "create") and ($value != "")) { $pagetext = ZAPtemplate("page") . " \n\n"; if ($pagetext == false) $pagetext = ""; if ((isset($_POST[createdata])) && ($_POST[createdata] != "")) { $pagedata = ZAPsetdata($_POST[createdata]); } else $pagedata = ""; $p = explode(",", $value); foreach($p as $pp) { $pp = ZAPfixpage($pp); if (! PageExists($pp)) { ZAPsavepage($pp, $pagetext, $pagedata); $m .= "Page $pp has been created. "; } else $m .= "Page $pp already exists. Could not be created. "; } } if (($field == "destroy") && ($value != "")) { $p = explode(",", $value); foreach($p as $pp) { $pp = ZAPfixpage($pp); if (($pp != $pagename) && (PageExists($pp))) { $oldpage = ReadPage($pp); $newpage = $oldpage; $newpage['text'] = "delete"; UpdatePage($pp, $oldpage, $newpage); $m .= "Page $pp has been deleted. "; } else $m .= "Page $pp does not exist or could not be deleted. "; } } if ($field == "log") ZAPlog($field, $value); if ($field == "upload") { if (($_POST['uploadfile'] != "") && ($_POST['upname'] != "")) HandlePostUpload($pagename); else $m .= "Missing fields required for upload feature."; } } return; } function ZAPlog($field, $value) { global $m, $_POST; $entry = $_POST[$field . "entry"]; $v = explode(",", $value); foreach ($v as $logpage) { if (strpos($logpage, "|")) { $logflags = substr($logpage, strpos($logpage, "|")); $logpage = substr($logpage, 0, strpos($logpage, "|")); } else $logflags = ""; $oldlogpage = ReadPage($logpage); $newlogpage = $oldlogpage; $newlogpage[text] = substr($newlogpage[text], 3, -3); if (strpos($logflags, "prepend")) { $m .= "test"; $newlogpage[text] = $entry . "\n" . $newlogpage[text]; } else $newlogpage[text] = $newlogpage[text] . "\n" . $entry; if ($logflags != "") { $log = explode("\n", $newlogpage[text]); if (strpos($logflags, "sort")) { natcasesort($log); $log = array_unique($log); } if (strpos($logflags, "delete")) { foreach ($log as $x => $xx) { if ($xx == $entry) unset($log[$x]); } } if ((strpos($logflags, "trim")) && (isset($_POST[$field . "trim"])) && (count($log) > $_POST[$field . "trim"])) { $log = array_slice($log, 0, $_POST[$field . "trim"]); $_POST[$field . "trim"] = "True"; } $newlogpage[text] = implode("\n", $log); } $newlogpage[text] = "[@\n" . $newlogpage[text] . "\n@]"; UpdatePage($logpage, $oldlogpage, $newlogpage); } $m .= "Entry has been successfully saved. "; }