本文整理汇总了PHP中WikiPage::_get_raw_body方法的典型用法代码示例。如果您正苦于以下问题:PHP WikiPage::_get_raw_body方法的具体用法?PHP WikiPage::_get_raw_body怎么用?PHP WikiPage::_get_raw_body使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WikiPage
的用法示例。
在下文中一共展示了WikiPage::_get_raw_body方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: do_post_fixbacklinks
function do_post_fixbacklinks($formatter, $options = array())
{
global $DBInfo;
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !$DBInfo->security->writable($options)) {
$options['title'] = _("Page is not writable");
return do_invalid($formatter, $options);
}
$options['name'] = trim($options['name']);
$new = $options['name'];
if (!empty($DBInfo->use_namespace) and $new[0] == '~' and ($p = strpos($new, '/')) !== false) {
// Namespace renaming ~foo/bar -> foo~bar
$dummy = substr($new, 1, $p - 1);
$dummy2 = substr($new, $p + 1);
$options['name'] = $dummy . '~' . $dummy2;
}
if (isset($options['name'][0]) and $options['name']) {
if ($DBInfo->hasPage($options['name'])) {
$formatter->send_header('', $options);
$new_encodedname = _rawurlencode($options['name']);
$fixed = 0;
$msg = '';
$title = sprintf(_("backlinks of \"%s\" page are fixed !"), $options['page']);
$comment = sprintf(_("Fixed \"%s\" to \"%s\""), $options['page'], $options['name']);
if ($options['pagenames'] and is_array($options['pagenames'])) {
$regex = preg_quote($options['page']);
//$options['minor'] = 1; # disable log
foreach ($options['pagenames'] as $page) {
$p = new WikiPage($page);
if (!$p->exists()) {
continue;
}
$f = new Formatter($p);
$body = $p->_get_raw_body();
$nbody = preg_replace("/{$regex}/m", $options['name'], $body);
// FIXME
if ($nbody !== false && $body != $nbody) {
$f->page->write($nbody);
if (!$options['show_only']) {
$DBInfo->savePage($f->page, $comment, $options);
}
$msg .= sprintf(_("'%s' is changed"), $f->link_tag(_rawurlencode($page), "?action=highlight&value=" . $new_encodedname, _html_escape($page))) . "<br />";
$fixed++;
}
}
}
if ($fixed == 0) {
$title = _("No pages are fixed!");
}
$formatter->send_title($title, '', $options);
if ($fixed > 0) {
print $msg;
print sprintf(_("'%s' links are successfully fixed as '%s'."), _html_escape($options['page']), $formatter->link_tag($new_encodedname, "?action=highlight&value=" . $new_encodedname, _html_escape($options['name'])));
}
$formatter->send_footer('', $options);
return;
} else {
$title = sprintf(_("Fail to fix backlinks of \"%s\" !"), $options['page']);
$options['msg'] = sprintf(_("New pagename \"%s\" is not exists!"), $options['name']);
$formatter->send_header('', $options);
$formatter->send_title($title, '', $options);
$formatter->send_footer('', $options);
return;
}
}
$title = sprintf(_("Fix backlinks of \"%s\" ?"), $options['page']);
$formatter->send_header('', $options);
$formatter->send_title($title, '', $options);
$obtn = _("Old name:");
$nbtn = _("New name:");
$pgname = _html_escape($options['page']);
print "<form method='post'>\n <table border='0'>\n <tr><td align='right'>{$obtn} </td><td><b>{$pgname}</b></td></tr>\n <tr><td align='right'>{$nbtn} </td><td><input name='name' /></td></tr>\n";
if (!empty($options['value']) and $options['value'] == 'check_backlinks') {
$button = _("Fix backlinks");
print "<tr><td colspan='2'>\n";
print check_backlinks($formatter, $options);
print "</td></tr>\n";
} else {
$button = _("Check backlinks");
}
if ($DBInfo->security->is_protected("fixbacklinks", $options)) {
print "<tr><td align='right'>" . _("Password") . ": </td><td><input type='password' name='passwd' /> " . _("Only WikiMaster can fix backlinks of this page") . "</td></tr>\n";
}
if (!empty($options['value']) and $options['value'] == 'check_backlinks') {
print "<tr><td colspan='2'><input type='checkbox' name='show_only' checked='checked' />" . _("show only") . "</td></tr>\n";
}
print "<tr><td></td><td><input type='submit' name='button_fixbacklinks' value='{$button}' />";
print "<input type='hidden' name='value' value='check_backlinks' />";
print "</td></tr>\n";
print "\n </table>\n <input type='hidden' name='action' value='fixbacklinks' />\n </form>";
$formatter->send_footer('', $options);
}
示例2: macro_FullSearch
//.........这里部分代码省略.........
// ignore count if < 0
}
}
} else {
$params = array();
$ret = array();
$params['ret'] =& $ret;
$params['offset'] = $offset;
$params['search'] = 1;
$params['incl'] = $incl;
$params['excl'] = $excl;
$pages = $DBInfo->getPageLists($params);
// set time_limit
$mt = explode(' ', microtime());
$timestamp = $mt[0] + $mt[1];
$j = 0;
$time_limit = isset($DBInfo->process_time_limit) ? $DBInfo->process_time_limit : 3;
// default 3-seconds
$j = 0;
while (list($_, $page_name) = each($pages)) {
// check time_limit
if ($time_limit and $j % 30 == 0) {
$mt = explode(' ', microtime());
$now = $mt[0] + $mt[1];
if ($now - $timestamp > $time_limit) {
break;
}
}
$j++;
$p = new WikiPage($page_name);
if (!$p->exists()) {
continue;
}
$body = $p->_get_raw_body();
#$count = count(preg_split($pattern, $body))-1;
$count = preg_match_all($pattern, $body, $matches);
if ($count) {
foreach ($excl as $ex) {
if (stristr($body, $ex)) {
continue;
}
}
foreach ($incl as $in) {
if (!stristr($body, $in)) {
continue;
}
}
$hits[$page_name] = $count;
}
}
$searched = $j > 0 ? $j : 0;
$offset = !empty($offset) ? $offset + $j : $j;
}
}
}
}
#krsort($hits);
#ksort($hits);
$name = array_keys($hits);
array_multisort($hits, SORT_DESC, $name, SORT_ASC);
if (in_array($arena, array('backlinks', 'keywords'))) {
$fc->update($sid, $name);
} else {
$fc->update($sid, array('hits' => $hits, 'offset' => $offset, 'searched' => $searched));
}
}
示例3: do_post_rename
function do_post_rename($formatter, $options)
{
global $DBInfo;
$new = $options['name'];
if ($new[0] == '~' and ($p = strpos($new, '/')) !== false) {
// Namespace renaming
$dummy = substr($new, 1, $p - 1);
$dummy2 = substr($new, $p + 1);
$options['name'] = $dummy . '~' . $dummy2;
}
if (isset($options['name']) and trim($options['name'])) {
if ($DBInfo->hasPage($options['page']) && !$DBInfo->hasPage($options['name'])) {
$title = sprintf(_("\"%s\" is renamed !"), $options['page']);
$formatter->send_header("", $options);
$formatter->send_title($title, "", $options);
$new_encodedname = _rawurlencode($options['name']);
if ($options['pagenames'] and is_array($options['pagenames'])) {
$regex = preg_quote($options['page']);
$options['minor'] = 1;
foreach ($options['pagenames'] as $page) {
$p = new WikiPage($page);
if (!$p->exists()) {
continue;
}
$f = new Formatter($p);
$body = $p->_get_raw_body();
$body = preg_replace("/{$regex}/m", $options['name'], $body);
$f->page->write($body);
if (!$options['show_only']) {
$DBInfo->savePage($f->page, '', $options);
}
$msg .= sprintf(_("'%s' is changed"), $f->link_tag(_rawurlencode($page), "?action=highlight&value=" . $new_encodedname)) . "<br />";
}
}
print $msg;
if (!$options['show_only']) {
$DBInfo->renamePage($options['page'], $options['name'], $options);
}
print sprintf(_("'%s' is renamed as '%s' successfully."), $options['page'], $formatter->link_tag($options['name'], "?action=highlight&value=" . $new_encodedname));
$formatter->send_footer("", $options);
return;
} else {
$title = sprintf(_("Fail to rename \"%s\" !"), $options['page']);
$formatter->send_header("", $options);
$formatter->send_title($title, "", $options);
$formatter->send_footer("", $options);
return;
}
}
$title = sprintf(_("Rename \"%s\" ?"), $options['page']);
$formatter->send_header("", $options);
$formatter->send_title($title, "", $options);
#<tr><td align='right'><input type='checkbox' name='show' checked='checked' />show only </td><td><input type='password' name='passwd'>
$obtn = _("Old name:");
$nbtn = _("New name:");
print "<form method='post'>\n<table border='0'>\n<tr><td align='right'>{$obtn} </td><td><b>{$options['page']}</b></td></tr>\n<tr><td align='right'>{$nbtn} </td><td><input name='name' /></td></tr>\n";
$rename_button = _("Rename");
if ($options['value'] == 'check_backlinks') {
print "<tr><td colspan='2'>\n";
print check_backlinks($formatter, $options);
print "</td></tr>\n";
$rename_button = _("Rename and fix Backlinks");
}
if ($DBInfo->security->is_protected("rename", $options)) {
print "<tr><td align='right'>" . _("Password") . ": </td><td><input type='password' name='passwd' /> " . _("Only WikiMaster can rename this page") . "</td></tr>\n";
}
print "<tr><td colspan='2'><input type='checkbox' name='history' />" . _("with revision history") . "</td></tr>\n";
print "<tr><td colspan='2'><input type='checkbox' name='show_only' checked='checked' />" . _("show only") . "</td></tr>\n";
print "<tr><td></td><td><input type='submit' name='button_rename' value='{$rename_button}' />";
print " <a href='?action=rename&value=check_backlinks'>" . _("Check backlinks") . "</a>";
print "</td></tr>\n";
print "\n</table>\n <input type=hidden name='action' value='rename' />\n </form>";
# $formatter->send_page();
$formatter->send_footer("", $options);
}
示例4: do_rss_rc
//.........这里部分代码省略.........
$url = qualifiedUrl($formatter->link_url(_rawurlencode($page_name)));
$diff_url = qualifiedUrl($formatter->link_url(_rawurlencode($page_name), '?action=diff'));
$extra = "<br /><a href='{$diff_url}'>" . _("show changes") . "</a>\n";
if (!$DBInfo->hasPage($page_name)) {
$status = 'deleted';
$html = '<![CDATA[' . "<a href='{$url}'>" . $page_name . "</a> is deleted" . ']]>' . "\n";
} else {
$status = 'updated';
if (!empty($options['diffs'])) {
$p = new WikiPage($page_name);
$f = new Formatter($p);
$options['raw'] = 1;
$options['nomsg'] = 1;
$html = $f->macro_repl('Diff', '', $options);
if (!$html) {
ob_start();
$f->send_page('', array('fixpath' => 1));
#$f->send_page('');
$html = ob_get_contents();
ob_end_clean();
$extra = '';
}
$html = str_replace(']', ']', $html);
$html = "<![CDATA[" . $html . $extra . "]]>";
#$html=strtr($html.$extra,array('&'=>'&','<'=>'<'));
} else {
if (!empty($options['summary'])) {
$p = new WikiPage($page_name);
$f = new Formatter($p);
$f->section_edit = 0;
$f->sister_on = 0;
$f->perma_icon = '';
$options['nomsg'] = 1;
$b = $p->_get_raw_body();
$chunks = preg_split('/\\n#{4,}/', $b);
# summary breaker is ####
ob_start();
if ($chunks) {
$f->send_page($chunks[0], array('fixpath' => 1));
} else {
$f->send_page('', array('fixpath' => 1));
}
#$f->send_page('');
$html = ob_get_contents();
ob_end_clean();
$chunks = preg_split('/<!-- break -->/', $html);
# <!-- break -->
if ($chunks[0]) {
$html = $chunks[0];
}
$html = str_replace(']', ']', $html);
$html = "<![CDATA[" . $html . "]]>";
} else {
$html = str_replace('&', '&', $log);
}
}
}
$zone = "+00:00";
$date = gmdate("Y-m-d\\TH:i:s", $ed_time) . $zone;
#$datetag = gmdate("YmdHis",$ed_time);
$channel .= "<rdf:li rdf:resource=\"{$url}\"></rdf:li>\n";
$valid_page_name = preg_replace('/&(?!#?\\w+;)/', '&', _html_escape($page_name));
$items .= "<item rdf:about=\"{$url}\">\n";
$items .= " <title>{$valid_page_name}</title>\n";
$items .= " <link>{$url}</link>\n";
$items .= " <description>{$html}</description>\n";
示例5: macro_FastSearch
//.........这里部分代码省略.........
$searchkeys = $sc->fetch($word);
} else {
$searchkeys = $DB->_search($word);
$sc->update($word, $searchkeys);
}
$new_words = array_merge($new_words, $searchkeys);
$new_words = array_merge($idx, $DB->_search($word));
}
$words = array_merge($words, $new_words);
//
$word = array_shift($words);
$idx = $DB->_fetchValues($word);
foreach ($words as $word) {
$ids = $DB->_fetchValues($word);
// FIXME
foreach ($ids as $id) {
$idx[] = $id;
}
}
$init_hits = array_count_values($idx);
// initial hits
$idx = array_keys($init_hits);
//arsort($idx);
$all_count = $DBInfo->getCounter();
$pages = array();
$hits = array();
foreach ($idx as $id) {
$key = $DB->_fetch($id);
$pages[$id] = $key;
$hits['_' . $key] = $init_hits[$id];
// HACK. prefix '_' to numerical named pages
}
$DB->close();
if (!empty($_GET['q']) and isset($_GET['q'][0])) {
return $pages;
}
$context = !empty($opts['context']) ? $opts['context'] : 0;
$limit = isset($opts['limit'][0]) ? $opts['limit'] : $default_limit;
$contexts = array();
if ($arena == 'fullsearch' || $arena == 'pagelinks') {
$idx = 1;
foreach ($pages as $page_name) {
if (!empty($limit) and $idx > $limit) {
break;
}
$p = new WikiPage($page_name);
if (!$p->exists()) {
continue;
}
$body = $p->_get_raw_body();
$count = preg_match_all($pattern, $body, $matches);
// more precisely count matches
if ($context) {
# search matching contexts
$contexts[$page_name] = find_needle($body, $needle, '', $context);
}
$hits['_' . $page_name] = $count;
// XXX hack for numerical named pages
$idx++;
}
}
//uasort($hits, 'strcasecmp');
//$order = 0;
//uasort($hits, create_function('$a, $b', 'return ' . ($order ? '' : '-') . '(strcasecmp($a, $b));'));
$name = array_keys($hits);
array_multisort($hits, SORT_DESC, $name, SORT_ASC);
$opts['hits'] = $hits;
$opts['hit'] = count($hits);
$opts['all'] = $all_count;
if (!empty($opts['call'])) {
return $hits;
}
$out = "<!-- RESULT LIST START -->";
// for search plugin
$out .= "<ul>";
$idx = 1;
while (list($page_name, $count) = each($hits)) {
$page_name = substr($page_name, 1);
$out .= '<!-- RESULT ITEM START -->';
// for search plugin
$out .= '<li>' . $formatter->link_tag(_rawurlencode($page_name), "?action=highlight&value=" . _urlencode($needle), $page_name, "tabindex='{$idx}'");
if ($count > 1) {
$out .= ' . . . . ' . sprintf($count == 1 ? _("%d match") : _("%d matches"), $count);
if (!empty($contexts[$page_name])) {
$out .= $contexts[$page_name];
}
}
$out .= "</li>\n";
$out .= '<!-- RESULT ITEM END -->';
// for search plugin
$idx++;
if (!empty($limit) and $idx > $limit) {
break;
}
}
$out .= "</ul>\n";
$out .= "<!-- RESULT LIST END -->";
// for search plugin
return $out;
}