$[(approve sites)]"; } } // Technocrati-spec links, & create categories when tagging.... $LinkCategoryFmt = ""; $AutoCreate['/^Category\\./'] = array('ctime' => $Now); $AutoCreate['/^' . $XesBlogGroup . 'Archive\\./'] = array('ctime' => $Now); // Add tagging box include_once ($FarmD . '/cookbook/tagpages.php'); // Sidebar box to add new blog entries -- only visible to the admin include_once("$FarmD/cookbook/newpageboxplus.php"); // Tag clouds.... $ListCategories_SortSizedList = true; $ListCategories_CreatePages = false; // automatically create Category.Bla pages? include_once("$FarmD/cookbook/listcategories.php"); // Turn on ability to save as draft - helpful if you want to tag or wait before publishing $EnableDrafts = 1; // enable RSS -- Atom etc. needs work. if ($action == 'rss') { include_once("$FarmD/scripts/feeds.php"); // Load Enhanced Feed script include_once("$FarmD/cookbook/enhancedwebfeeds.php"); // Reset Feed tags for Blog feed $FeedFmt['rss']['feed']['title'] = $XesFeedTitle; $FeedFmt['rss']['feed']['copyright'] = $XesFeedCopyright; $FeedFmt['rss']['feed']['description'] = $XesFeedDescription; // Reset Item tags for Blog feed $FeedFmt['rss']['item']['title'] = $XesItemTitle; $FeedFmt['rss']['item']['description'] = $XesItemDescription; $FeedFmt['rss']['item']['category'] = $XesItemCategory; // Set default values for ?action=rss if ($Group == $XesBlogGroup) { SDVA($_REQUEST, array('group' => $XesBlogGroup,'order' => $XesBlogOrder, 'count' => $XesBlogCount,'list' => 'normal', 'name' => $XesBlogPages)); }else{ SDVA($_REQUEST, array('group' => $XesFeedGroups, 'order' => $XesFeedOrder, 'count' => $XesFeedCount,'list' => 'normal', 'name' => $XesFeedPages)); } } // PmForm Comment forms & captcha include_once('/home/www/wikifarm/pmwiki/cookbook/pmform.php'); $PmForm['xescomments'] = 'saveto="Comments/{$Group}-{$Name}-' . date("Ymd\THms") . '" form=Site.XesCommentsTemplates#xescommentform fmt=Site.XesCommentsTemplates#xescommentpost'; include_once ("$FarmD/cookbook/captcha.php"); // Link & comment security if ($XesAddURLApproval){ include_once("$FarmD/scripts/urlapprove.php"); $UnapprovedLinkCountMax = 5; $EnableBlocklist = 10; # enable automatic blocklists } //Add timestamps to comments if ($_POST['post'] && preg_match('/^Comments[\/\.]' . $XesBlogGroup . '-/',$pagename) && (! preg_match('/(SideBar|Group(Print)?(Attributes|Header|Footer))$/',$pagename)) && !($_POST['text'] == "delete")) { $_POST['text'] .= "\n(:timestamp:" . date("Y-m-d\TH:m:s") . ":)"; } //Add timestamps & Google ping notifications for blog group posts... if ($_POST['post'] && preg_match('/^' . $XesBlogGroup . '[\/\.]/',$pagename) && (! preg_match('/(RecentChanges|SideBar|Group(Print)?(Attributes|Header|Footer))$/',$pagename)) && !(PageTextVar($pagename,"timestamp")) && !($_POST['text'] == "delete")) { $_POST['text'] .= "\n\n(:timestamp:" . date("Y-m-d\TH:m:s") . ":)\n%archivelink%[[" . $XesBlogGroup . "Archive/" . date("Y-m") . " | Other Posts in " . date("F Y") . "]]%%"; if ($XesAddGoogleBlogPing){ $GoogleBlogPing_Name = $WikiTitle; $GoogleBlogPing_BlogHomepage = $XesBlogGroup . "." . $XesBlogHome; $GoogleBlogPing_BlogUrl = false; // explicit Blog url, overwrites the BlogHomePage $GoogleBlogPing_FeedUrl = $ScriptUrl . '/' . $XesBlogGroup . '/RecentChanges?action=rss'; // URL of RSS, RDF, or Atom feed (optional) //Note, I'm not 100% certain this is working: $GoogleBlogPing_PingPages = "/^" . $XesBlogGroup . "[\/\.].*/"; // regexp for the pagenames to send pings for include_once("$FarmD/cookbook/googleblogping.php"); } } //comments group protection.... if (!CondAuth($pagename, 'admin')) { $pagename2 = preg_replace('/^Comments[\/\.]('.$XesBlogGroup.')-(.*)-\d{8}T\d{6}$/','${1}/${2}',$pagename); if ($action=='browse' && $pagename != $pagename2) { Redirect($pagename2); exit;} } // enable/disable Pingback support if ($XesAddPingbacks){ //Pingback -- requires too much PEAR... $Pingback_SendPages = "/^" . $XesBlogGroup . "[\/\.].*/"; $Pingback_ReceivePages = "/^" . $XesBlogGroup . "[\/\.].*/"; include_once ("$FarmD/cookbook/pingback.php"); //Pingback & comment notifications $EnableNotify = 1; $NotifyItemFmt = " * {\$FullName} . . . \$PostTime by {\$Author} \n Summary: {\$LastModifiedSummary}\n {\$PageUrl}?action=diff"; $NotifyList[] = 'notify=' . $XesPingNotify . ' group=Pingback,Comments'; } // Comment approval $FmtPV['$Xes_Approved'] = '$page["Xes_Approved"]'; $HandleActions['XES_Approval'] = 'XES_Approval'; Markup('XES_Approve', 'directives', '/\\(:approve (.*?):\\)/', "XES_Approve_Button"); //Markup('XES_Approve', 'directives', '/\\(:approve:\\)/e', "XES_Approve_Button()"); function XES_Approve_Button($m) { //function XES_Approve_Button() { $url=$m[1]; $button = "
"; return Keep($button); } function XES_Approval () { global $pagename, $MessagesFmt; if (CondAuth($pagename, 'admin')) { // Read the old page, set up the new page $oldpage = ReadPage($pagename); $newpage = $oldpage; $newpage['Xes_Approved'] = "true"; // Make the page changes UpdatePage($pagename, $oldpage, $newpage); unset($_POST); $MessagesFmt[] = "$[Comment approved!]"; HandleBrowse($pagename); exit(); } else { $MessagesFmt[] = "$[You do not have permission to approve comments.]"; HandleBrowse($pagename); exit(); } } // enable/disable XMLRPC Support if ($XesAddXMLRPC){ include_once ("$FarmD/cookbook/xmlrpc.php"); } // add calendar support $BlogCal['defaultgroup'] = 'Blog'; $BlogCal['pastonly'] = 1; $BlogCal['isobasic'] = 1; include_once("$FarmD/cookbook/blogcal.php");