function MakeUploadName($pagename, $x) { global $UploadNameChars, $MakeUploadNamePatterns; SDV($UploadNameChars, "-\\w. "); SDV($MakeUploadNamePatterns, array("/[^{$UploadNameChars}]/" => '', '/\\.[^.]*$/' => PCCF('return strtolower($m[0]);'), '/^[^[:alnum:]_]+/' => '', '/[^[:alnum:]_]+$/' => '')); return PPRA($MakeUploadNamePatterns, $x); }
function SaveAttributes($pagename,&$page,&$new) { global $EnablePost, $LinkTargets, $SaveAttrPatterns, $PCache, $SaveProperties; if (!$EnablePost) return; $text = PPRA($SaveAttrPatterns, $new['text']); $LinkTargets = array(); $html = MarkupToHTML($pagename,$text); $new['targets'] = implode(',',array_keys((array)$LinkTargets)); $p = & $PCache[$pagename]; foreach((array)$SaveProperties as $k) { if (@$p["=p_$k"]) $new[$k] = $p["=p_$k"]; else unset($new[$k]); } unset($new['excerpt']); }
function bi_SaveTags($body, $user_tags, $pn, $mode = 'save') { global $bi_TagSeparator, $bi_MakePageNamePatterns; if ($mode == 'display') { $page = @RetrieveAuthPage($pn, 'read', false, READPAGE_CURRENT); return $page['targets'] ? '(:includesection "#tag-commalist-pagelist links=' . $page['targets'] . '":)' : ''; } // Read tags from body, strip [[!...]] if ($body) { $bodyTags = preg_match_all('/\\[\\[\\!(.*?)\\]\\]/', $body, $match) ? $match[1] : array(); } //array of tags contained in [[!...]] markup. // Make sure tag-field entries are in standard separated format, and place in array if ($user_tags) { $fieldTags = explode($bi_TagSeparator, preg_replace('/' . trim($bi_TagSeparator) . '\\s*/', $bi_TagSeparator, trim($user_tags))); } // Concatenate the tag-field tags, with those in the body, PPRA removes all non-pagename chars $allTags = PPRA($bi_MakePageNamePatterns, array_unique(array_merge((array) $fieldTags, (array) $bodyTags))); sort($allTags); return $allTags ? '[[!' . implode(']]' . $bi_TagSeparator . '[[!', $allTags) . ']]' : ''; }