\$[Title]: "; if (!isset($ForceTitleMessageFmt)) $ForceTitleMessageFmt = '

A Title must be defined for this page

'; # pattern should be same as defined in markup if (!isset($EditTitlePattern)) $EditTitlePattern = '/\\(:title\\s(.*?):\\)/'; ## define pointers to functions (Note: order IS important) array_push($EditFunctions, 'RemoveTitle'); array_unshift($EditFunctions, 'RequireTitle'); array_unshift($EditFunctions, 'AddTitle'); array_unshift($EditFields, 'title'); ## RemoveTitle removes title from markup and sets it to display in text input field function RemoveTitle($pagename, &$page, &$new){ global $InputTags, $EditTitle, $EditTitleInputFmt, $EditTitlePattern; if (isEnabled($EditTitle, 1)) { if (!isset($new['title'])){ if (preg_match($EditTitlePattern, $new['text'], $matches)){ $new['title'] = $matches[1]; }else{ $new['title'] = ''; } } $new['text'] = trim(preg_replace($EditTitlePattern,'', $new['text'] )); SDVA($InputTags["e_title"], array( ':html' => $EditTitleInputFmt, 'name' => 'title', 'size' => '60' ,'value' => $new['title'])); } else { SDVA($InputTags["e_title"], array(':html' => '')); } return; } ## AddTitle adds title back into markup before saving function AddTitle($pagename, &$page, &$new){ global $EditTitle; if ($new['title'] > '' && isEnabled($EditTitle, 1)) $new['text'] = "(:title ".$new['title'].":)\n".$new['text']; return; } ## Require that a title be defined on each page function RequireTitle($pagename, &$page, &$new){ global $EnablePost, $MessagesFmt, $ForceTitle, $EditTitlePattern, $ForceTitleMessageFmt; if (isEnabled($ForceTitle, 0) && (trim($new['text']) != 'delete') && (!preg_match($EditTitlePattern, $new['text']))) { $EnablePost = 0; $MessagesFmt[] = $ForceTitleMessageFmt; } return; }