本文整理匯總了PHP中OutputPage::setEncodings方法的典型用法代碼示例。如果您正苦於以下問題:PHP OutputPage::setEncodings方法的具體用法?PHP OutputPage::setEncodings怎麽用?PHP OutputPage::setEncodings使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類OutputPage
的用法示例。
在下文中一共展示了OutputPage::setEncodings方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: isset
}
$wgDisableCounters = false;
// no real hits here
$start = isset($args[0]) ? intval($args[0]) : 0;
$overwrite = isset($args[1]) && $args[1] === 'overwrite';
echo "Building content page file cache from page {$start}!\n";
echo "Format: <start> [overwrite]\n";
$dbr = wfGetDB(DB_SLAVE);
$start = $start > 0 ? $start : $dbr->selectField('page', 'MIN(page_id)', false, __FUNCTION__);
$end = $dbr->selectField('page', 'MAX(page_id)', false, __FUNCTION__);
if (!$start) {
die("Nothing to do.\n");
}
$_SERVER['HTTP_ACCEPT_ENCODING'] = 'bgzip';
// hack, no real client
OutputPage::setEncodings();
# Not really used yet
$BATCH_SIZE = 100;
# Do remaining chunk
$end += $BATCH_SIZE - 1;
$blockStart = $start;
$blockEnd = $start + $BATCH_SIZE - 1;
$dbw = wfGetDB(DB_MASTER);
// Go through each page and save the output
while ($blockEnd <= $end) {
// Get the pages
$res = $dbr->select('page', array('page_namespace', 'page_title', 'page_id'), array('page_namespace' => $wgContentNamespaces, "page_id BETWEEN {$blockStart} AND {$blockEnd}"), array('ORDER BY' => 'page_id ASC', 'USE INDEX' => 'PRIMARY'));
while ($row = $dbr->fetchObject($res)) {
$rebuilt = false;
$wgTitle = Title::makeTitleSafe($row->page_namespace, $row->page_title);
if (null == $wgTitle) {
示例2: execute
public function execute()
{
global $wgUseFileCache, $wgDisableCounters, $wgContentNamespaces, $wgRequestTime;
global $wgTitle, $wgArticle, $wgOut, $wgUser;
if (!$wgUseFileCache) {
$this->error("Nothing to do -- \$wgUseFileCache is disabled.", true);
}
$wgDisableCounters = false;
$start = $this->getArg(0, "0");
if (!ctype_digit($start)) {
$this->error("Invalid value for start parameter.", true);
}
$start = intval($start);
$overwrite = $this->hasArg(1) && $this->getArg(1) === 'overwrite';
$this->output("Building content page file cache from page {$start}!\n");
$dbr = wfGetDB(DB_SLAVE);
$start = $start > 0 ? $start : $dbr->selectField('page', 'MIN(page_id)', false, __FUNCTION__);
$end = $dbr->selectField('page', 'MAX(page_id)', false, __FUNCTION__);
if (!$start) {
$this->error("Nothing to do.", true);
}
$_SERVER['HTTP_ACCEPT_ENCODING'] = 'bgzip';
// hack, no real client
OutputPage::setEncodings();
# Not really used yet
# Do remaining chunk
$end += $this->mBatchSize - 1;
$blockStart = $start;
$blockEnd = $start + $this->mBatchSize - 1;
$dbw = wfGetDB(DB_MASTER);
// Go through each page and save the output
while ($blockEnd <= $end) {
// Get the pages
$res = $dbr->select('page', array('page_namespace', 'page_title', 'page_id'), array('page_namespace' => $wgContentNamespaces, "page_id BETWEEN {$blockStart} AND {$blockEnd}"), array('ORDER BY' => 'page_id ASC', 'USE INDEX' => 'PRIMARY'));
foreach ($res as $row) {
$rebuilt = false;
$wgRequestTime = wfTime();
# bug 22852
$wgTitle = Title::makeTitleSafe($row->page_namespace, $row->page_title);
if (null == $wgTitle) {
$this->output("Page {$row->page_id} has bad title\n");
continue;
// broken title?
}
$wgOut->setTitle($wgTitle);
// set display title
$wgUser->getSkin($wgTitle);
// set skin title
$wgArticle = new Article($wgTitle);
// If the article is cacheable, then load it
if ($wgArticle->isFileCacheable()) {
$cache = new HTMLFileCache($wgTitle);
if ($cache->isFileCacheGood()) {
if ($overwrite) {
$rebuilt = true;
} else {
$this->output("Page {$row->page_id} already cached\n");
continue;
// done already!
}
}
ob_start(array(&$cache, 'saveToFileCache'));
// save on ob_end_clean()
$wgUseFileCache = false;
// hack, we don't want $wgArticle fiddling with filecache
$wgArticle->view();
@$wgOut->output();
// header notices
$wgUseFileCache = true;
ob_end_clean();
// clear buffer
$wgOut = new OutputPage();
// empty out any output page garbage
if ($rebuilt) {
$this->output("Re-cached page {$row->page_id}\n");
} else {
$this->output("Cached page {$row->page_id}\n");
}
} else {
$this->output("Page {$row->page_id} not cacheable\n");
}
$dbw->commit();
// commit any changes
}
$blockStart += $this->mBatchSize;
$blockEnd += $this->mBatchSize;
wfWaitForSlaves(5);
}
$this->output("Done!\n");
// Remove these to be safe
if (isset($wgTitle)) {
unset($wgTitle);
}
if (isset($wgArticle)) {
unset($wgArticle);
}
}