'', 'label' => FmtPageName(' $[Create a new page called:] ', $pagename), 'button' => 'left', 'value' => NULL, 'focus' => NULL, 'base' => NULL, 'prefix' => NULL, 'suffix' => NULL, 'save' => NULL, 'template' => NULL, ); $opt = array_merge($defaults, ParseArgs($m[1])); $buttonHTML = " \n"; $onfocusHTML = " onfocus=\"if(this.value=='{$opt['value']}') {this.value=''}\" onblur=\"if(this.value=='') {this.value='{$opt['value']}'}\" "; $out = "\n
\n". ($opt['value'] ? " \n" : ""). ($opt['focus'] ? " \n" : ""). ($opt['base'] ? " \n" : ""). ($opt['prefix'] ? " \n" : ""). ($opt['suffix'] ? " \n" : ""). ($opt['save'] ? " \n" : ""). ($opt['template'] ? " \n" : ""). ($opt['button']=="left" ? $buttonHTML : "") . " \n" . ($opt['button']=="right" ? $buttonHTML : "") . "
"; return Keep($out); } # handles action=new, i.e. what the form sends, sends new page to edit function HandleNew($pagename) { global $Author, $Now, $EnableAutoSave, $NewPageProtectedGroups, $NewPageBaseGroup, $PageUrl; $name = @$_REQUEST['name']; if (!$name) Redirect($pagename); if(@$_REQUEST['prefix']) $name = $_REQUEST['prefix'].$name; if(@$_REQUEST['suffix']) $name = $name.$_REQUEST['suffix']; if (@$_REQUEST['focus'] && $name==$_REQUEST['value']) Redirect($pagename); if (isset($NewPageBaseGroup)) $base = MakePageName($pagename, $NewPageBaseGroup.".HomePage"); else if ($_REQUEST['base']) $base = MakePageName($pagename, $_REQUEST['base']); $basegroup = PageVar($base, '$Group'); if (isset($NewPageBaseGroup) OR $_REQUEST['base']) { $name = str_replace(".", "", $name); $newpage = MakePageName($base, "$basegroup.$name"); } else $newpage = MakePageName($pagename, $name); if (in_array(PageVar($newpage, '$Group'),$NewPageProtectedGroups)) Redirect($pagename); $urlfmt = '$PageUrl?action=edit'; if (@$_REQUEST['template']) { $urlfmt .= '&template=' . MakePageName($base, $_REQUEST['template']); } if ((@$_REQUEST['save']=='1' || @$_REQUEST['save']=='true') AND ($EnableAutoSave==1 OR CondAuth($pagename,'edit'))) { if(PageExists($newpage)) Redirect($newpage, $urlfmt); if (@$_REQUEST['template'] && PageExists($_REQUEST['template'])) { $p = RetrieveAuthPage($_REQUEST['template'], 'read', false, READPAGE_CURRENT); if ($p['text'] > '') $new['text'] = $p['text']; $new['author'] = $Author; $new['ctime'] = $Now; } SaveAttributes($newpage, $new, $new); PostPage($newpage, $new, $new); PostRecentChanges($newpage, $new, $new); Redirect($newpage); } Redirect($newpage, $urlfmt); }