当前位置: 首页>>代码示例>>PHP>>正文


PHP Parser::disableCache方法代码示例

本文整理汇总了PHP中Parser::disableCache方法的典型用法代码示例。如果您正苦于以下问题:PHP Parser::disableCache方法的具体用法?PHP Parser::disableCache怎么用?PHP Parser::disableCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Parser的用法示例。


在下文中一共展示了Parser::disableCache方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: AJAXPollRender

 static function AJAXPollRender($input, $args = array(), Parser $parser)
 {
     global $wgUser, $wgOut, $wgTitle, $wgScriptPath, $wgUseAjax;
     $parser->disableCache();
     $parser->addTrackingCategory('ajaxpoll-tracking-category');
     if ($wgUser->getName() == '') {
         $userName = wfGetIP();
     } else {
         $userName = $wgUser->getName();
     }
     // ID of the poll
     $id = strtoupper(md5($input));
     $par = new Parser();
     $input = $par->parse($input, $wgTitle, $wgOut->parserOptions());
     $input = trim(strip_tags($input->getText()));
     $lines = explode("\n", trim($input));
     // compatibility for non-ajax requests - just in case
     if (!$wgUseAjax) {
         $responseId = "ajaxpoll-post-id";
         $responseAnswer = "ajaxpoll-post-answer-{$id}";
         $responseToken = "ajaxPollToken";
         if (isset($_POST[$responseId]) && isset($_POST[$responseAnswer]) && $_POST[$responseId] == $id && isset($_POST[$responseToken])) {
             self::submitVote($id, intval($_POST[$responseAnswer]), $_POST[$responseToken]);
         }
     }
     $dbw = wfGetDB(DB_MASTER);
     $dbw->begin(__METHOD__);
     /**
      * Register poll in the database
      */
     $row = $dbw->selectRow(array('ajaxpoll_info'), array('COUNT(poll_id) AS count'), array('poll_id' => $id), __METHOD__);
     $showResultsBeforeVoting = null;
     if (array_key_exists('show-results-before-voting', $args)) {
         if (strval($args['show-results-before-voting']) !== '0') {
             $showResultsBeforeVoting = '1';
         } else {
             $showResultsBeforeVoting = '0';
         }
     }
     if (empty($row->count)) {
         $dbw->insert('ajaxpoll_info', array('poll_id' => $id, 'poll_show_results_before_voting' => $showResultsBeforeVoting, 'poll_txt' => $input, 'poll_date' => wfTimestampNow()), __METHOD__);
     } else {
         $dbw->update('ajaxpoll_info', array('poll_show_results_before_voting' => $showResultsBeforeVoting), array('poll_id' => $id), __METHOD__);
     }
     $dbw->commit(__METHOD__);
     switch ($lines[0]) {
         case 'STATS':
             $ret = self::buildStats($id, $userName);
             break;
         default:
             $ret = Html::rawElement('div', array('id' => 'ajaxpoll-container-' . $id), self::buildHTML($id, $userName, $lines));
             break;
     }
     return $ret;
 }
开发者ID:Jobava,项目名称:diacritice-meta-repo,代码行数:55,代码来源:AJAXPoll_body.php

示例2: setHiddenElements

 /**
  * Set elements that should be hidden
  *
  * @param $parser Parser current parser
  * @return string
  */
 static function setHiddenElements(Parser $parser)
 {
     global $wgTweekiSkinHideAll, $wgTweekiSkinHideable;
     $parser->disableCache();
     // Argument 0 is $parser, so begin iterating at 1
     for ($i = 1; $i < func_num_args(); $i++) {
         if (in_array(func_get_arg($i), $wgTweekiSkinHideable)) {
             $wgTweekiSkinHideAll[] = func_get_arg($i);
         }
     }
     return '';
 }
开发者ID:bashtage,项目名称:Tweeki,代码行数:18,代码来源:Tweeki.hooks.php

示例3: parserFunction_ev

 /**
  * Embeds video of the chosen service
  * @param Parser $parser Instance of running Parser.
  * @param String $service Which online service has the video.
  * @param String $id Identifier of the chosen service
  * @param String $width Width of video (optional)
  * @param String $desc description to show (optional, unused)
  * @param String $align alignment of the video (optional, unused)
  * @return String Encoded representation of input params (to be processed later)
  */
 public static function parserFunction_ev($parser, $service = null, $id = null, $width = null, $align = null, $desc = null)
 {
     global $wgScriptPath;
     # Initialize things once
     if (!EmbedVideo::$initialized) {
         EmbedVideo::VerifyWidthMinAndMax();
         # Add system messages
         wfLoadExtensionMessages('embedvideo');
         $parser->disableCache();
         EmbedVideo::$initialized = true;
     }
     # Get the name of the host
     if ($service === null || $id === null) {
         return EmbedVideo::errMissingParams($service, $id);
     }
     $service = trim($service);
     $id = trim($id);
     $desc = $parser->recursiveTagParse($desc);
     $entry = EmbedVideo::getServiceEntry($service);
     if (!$entry) {
         return EmbedVideo::errBadService($service);
     }
     if (!EmbedVideo::sanitizeWidth($entry, $width)) {
         return EmbedVideo::errBadWidth($width);
     }
     $height = EmbedVideo::getHeight($entry, $width);
     $hasalign = $align !== null;
     if ($hasalign) {
         $desc = EmbedVideo::getDescriptionMarkup($desc);
     }
     # If the service has an ID pattern specified, verify the id number
     if (!EmbedVideo::verifyID($entry, $id)) {
         return EmbedVideo::errBadID($service, $id);
     }
     # if the service has it's own custom extern declaration, use that instead
     if (array_key_exists('extern', $entry) && ($clause = $entry['extern']) != null) {
         $clause = wfMsgReplaceArgs($clause, array($wgScriptPath, $id, $width, $height));
         if ($hasalign) {
             $clause = EmbedVideo::generateAlignExternClause($clause, $align, $desc, $width, $height);
         }
         return array($clause, 'noparse' => true, 'isHTML' => true);
     }
     # Build URL and output embedded flash object
     $url = wfMsgReplaceArgs($entry['url'], array($id, $width, $height));
     $clause = "";
     if ($hasalign) {
         $clause = EmbedVideo::generateAlignClause($url, $width, $height, $align, $desc);
     } else {
         $clause = EmbedVideo::generateNormalClause($url, $width, $height);
     }
     return array($clause, 'noparse' => true, 'isHTML' => true);
 }
开发者ID:realsoc,项目名称:mediawiki-extensions,代码行数:62,代码来源:EmbedVideo.hooks.php

示例4: wfRenderCalendar

/**
 * Renders a table of all the individual month tables
 *
 * @param Parser $parser
 * @return string
 */
function wfRenderCalendar(&$parser)
{
    $parser->disableCache();
    $argv = array();
    foreach (func_get_args() as $arg) {
        if (!is_object($arg)) {
            if (preg_match('/^(.+?)\\s*=\\s*(.+)$/', $arg, $match)) {
                $argv[$match[1]] = $match[2];
            }
        }
    }
    if (isset($argv['format'])) {
        $f = $argv['format'];
    } else {
        $f = '%e %B %Y';
    }
    if (isset($argv['dayformat'])) {
        $df = $argv['dayformat'];
    } else {
        $df = false;
    }
    if (isset($argv['title'])) {
        $p = $argv['title'] . '/';
    } else {
        $p = '';
    }
    if (isset($argv['query'])) {
        $q = $argv['query'] . '&action=edit';
    } else {
        $q = 'action=edit';
    }
    if (isset($argv['year'])) {
        $y = $argv['year'];
    } else {
        $y = date('Y');
    }
    if (isset($argv['month'])) {
        $m = $argv['month'];
        return wfRenderMonth(strftime('%m', strtotime("{$y}-{$m}-01")), $y, $p, $q, $f, $df);
    } else {
        $m = 1;
    }
    $table = "{| class=\"calendar\"\n";
    for ($rows = 3; $rows--; $table .= "|-\n") {
        for ($cols = 0; $cols < 4; $cols++) {
            $table .= '|' . wfRenderMonth($m++, $y, $p, $q, $f, $df) . "\n";
        }
    }
    return "{$table}\n|}\n";
}
开发者ID:Tjorriemorrie,项目名称:app,代码行数:56,代码来源:SimpleCalendar.php

示例5: renderVote

 /**
  * Callback function for registerParserHook.
  *
  * @param string $input User-supplied input, unused
  * @param array $args User-supplied arguments
  * @param Parser $parser Instance of Parser, unused
  * @return string HTML
  */
 public static function renderVote($input, $args, $parser)
 {
     global $wgOut, $wgUser;
     wfProfileIn(__METHOD__);
     // Disable parser cache (sadly we have to do this, because the caching is
     // messing stuff up; we want to show an up-to-date rating instead of old
     // or totally wrong rating, i.e. another page's rating...)
     $parser->disableCache();
     // Add CSS & JS
     // In order for us to do this *here* instead of having to do this in
     // registerParserHook(), we must've disabled parser cache
     $parser->getOutput()->addModuleStyles('ext.voteNY.styles');
     if ($wgUser->isAllowed('voteny')) {
         $parser->getOutput()->addModules('ext.voteNY.scripts');
     }
     // Define variable - 0 means that we'll get that green voting box by default
     $type = 0;
     // Determine what kind of a voting gadget the user wants: a box or pretty stars?
     if (preg_match("/^\\s*type\\s*=\\s*(.*)/mi", $input, $matches)) {
         $type = htmlspecialchars($matches[1]);
     } elseif (!empty($args['type'])) {
         $type = intval($args['type']);
     }
     $output = null;
     $title = $wgOut->getTitle();
     if ($title) {
         $articleID = $title->getArticleID();
         switch ($type) {
             case 0:
                 $vote = new Vote($articleID);
                 break;
             case 1:
                 $vote = new VoteStars($articleID);
                 break;
             default:
                 $vote = new Vote($articleID);
         }
         $output = $vote->display();
     }
     wfProfileOut(__METHOD__);
     return $output;
 }
开发者ID:Rikuforever,项目名称:wiki,代码行数:50,代码来源:VoteHooks.php

示例6: renderToolProperty

 static function renderToolProperty($input, array $args, Parser $parser, PPFrame $frame)
 {
     $parser->disableCache();
     $id = $args['id'];
     $property = $args['property'];
     $format = array_key_exists('format', $args) ? $args['format'] : null;
     $function = array_key_exists('function', $args) ? $args['function'] : null;
     $parsedId = $parser->recursiveTagParse($id, $frame);
     if (is_numeric($parsedId) && !array_key_exists($parsedId, self::$resources)) {
         $lnf = new LNF();
         self::$resources[$parsedId] = $lnf->getResource($parsedId);
     }
     if (array_key_exists($parsedId, self::$resources)) {
         $res = self::$resources[$parsedId];
     }
     if ($res == null) {
         return $property;
     }
     if ($property == "ToolEngineers") {
         if (is_array($res->ToolEngineers)) {
             $html = "<ul>";
             foreach ($res->ToolEngineers as $item) {
                 $html .= '<li><a href="mailto:' . $item->Email[0] . '">' . $item->DisplayName . '</li>';
             }
             $html .= "</ul>";
             return $html;
         } else {
             $result = self::getPropertyValue($res, "ToolEngineers");
         }
     } else {
         $result = self::getPropertyValue($res, $property);
     }
     if ($function != null) {
         $result = self::$function($result);
     }
     if ($format == null) {
         return $result;
     } else {
         return sprintf($format, $result);
     }
 }
开发者ID:jgett,项目名称:mediawiki-extension-lnf,代码行数:41,代码来源:LNF.hooks.php

示例7: fixTemplate

 /**
  * fixTemplate
  *
  * This code ensures that the version of the Template that was in existence
  * at the same time as the Memento gets loaded and displayed with the
  * Memento.
  *
  * @fixme make this compatible with parser cache
  * @param Title $title
  * @param Parser $parser
  * @param integer $id
  *
  * @return array containing the text, finalTitle, and deps
  */
 public function fixTemplate(Title $title, Parser $parser, &$id)
 {
     // stopgap measure until we can find a better way
     // to work with parser cache
     $parser->disableCache();
     $request = $parser->getUser()->getRequest();
     if ($request->getHeader('ACCEPT-DATETIME')) {
         $requestDatetime = $request->getHeader('ACCEPT-DATETIME');
         $mwMementoTimestamp = $this->parseRequestDateTime($requestDatetime);
         $firstRev = $title->getFirstRevision();
         // if the template no longer exists, return gracefully
         if ($firstRev != null) {
             if ($firstRev->getTimestamp() < $mwMementoTimestamp) {
                 $pgID = $title->getArticleID();
                 $this->db->begin();
                 $res = $this->db->selectRow('revision', array('rev_id'), array('rev_page' => $pgID, 'rev_timestamp <=' . $this->db->addQuotes($mwMementoTimestamp)), __METHOD__, array('ORDER BY' => 'rev_id DESC', 'LIMIT' => '1'));
                 $id = $res->rev_id;
             } else {
                 // if we get something prior to the first memento, just
                 // go with the first one
                 $id = $firstRev->getId();
             }
         }
     }
 }
开发者ID:NDKilla,项目名称:memento,代码行数:39,代码来源:MementoResource.php

示例8: skin

 /**
  * @param Parser $parser
  * @return bool
  */
 function skin(&$parser)
 {
     global $wgUser, $wgRequest;
     $parser->disableCache();
     return $wgRequest->getVal('useskin', $wgUser->getGlobalPreference('skin'));
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:10,代码来源:DynamicFunctions.php

示例9: onBlog

 /**
  * Renders the blog. Called by parser function for bs:blog tag and also from Blog::onUnknownAction.
  * @param string $input Inner HTML of bs:blog tag. Not used.
  * @param array $args List of tag attributes.
  * @param Parser $parser MediaWiki parser object
  * @return string HTML output that is to be displayed.
  */
 public function onBlog($input, $args, $parser)
 {
     $oTitle = null;
     if ($parser instanceof Parser) {
         $oTitle = $parser->getTitle();
         $parser->disableCache();
     } else {
         $oTitle = $this->getTitle();
     }
     $sKey = BsCacheHelper::getCacheKey('BlueSpice', 'Blog', $oTitle->getArticleID());
     $aData = BsCacheHelper::get($sKey);
     if ($aData !== false) {
         return $aData;
     }
     // initialize local variables
     $oErrorListView = new ViewTagErrorList($this);
     BsExtensionManager::setContext('MW::Blog::ShowBlog');
     // get all config options
     $iShowLimit = BsConfig::get('MW::Blog::ShowLimit');
     //$blogShowTrackback    = BsConfig::get('MW::Blog::ShowTrackback');  // see comment below
     $bShowPermalink = BsConfig::get('MW::Blog::ShowPermalink');
     $bShowInfo = BsConfig::get('MW::Blog::ShowInfo');
     $sSortBy = BsConfig::get('MW::Blog::SortBy');
     $bMoreInNewWindow = BsConfig::get('MW::Blog::MoreInNewWindow');
     $bShowAll = BsConfig::get('MW::Blog::ShowAll');
     $bMoreAtEndOfEntry = BsConfig::get('MW::Blog::MoreAtEndOfEntry');
     $bShowNewEntryField = BsConfig::get('MW::Blog::ShowNewEntryField');
     $bNewEntryFieldPosition = BsConfig::get('MW::Blog::NewEntryFieldPosition');
     $sImageRenderMode = BsConfig::get('MW::Blog::ImageRenderMode');
     $sImageFloatDirection = BsConfig::get('MW::Blog::ThumbFloatDirection');
     $iMaxEntryCharacters = BsConfig::get('MW::Blog::MaxEntryCharacters');
     // Trackbacks are not supported the way we intend it to be. From http://www.mediawiki.org/wiki/Manual:$wgUseTrackbacks
     // When MediaWiki receives a trackback ping, a box will show up at the bottom of the article containing a link to the originating page
     //if (!$wgUseTrackbacks)
     $bShowTrackback = false;
     // get tag attributes
     $argsIShowLimit = BsCore::sanitizeArrayEntry($args, 'count', $iShowLimit, BsPARAMTYPE::NUMERIC | BsPARAMOPTION::DEFAULT_ON_ERROR);
     $argsSCategory = BsCore::sanitizeArrayEntry($args, 'cat', false, BsPARAMTYPE::STRING);
     $argsINamespace = BsNamespaceHelper::getNamespaceIndex(BsCore::sanitizeArrayEntry($args, 'ns', NS_BLOG, BsPARAMTYPE::STRING));
     $argsBNewEntryField = BsCore::sanitizeArrayEntry($args, 'newentryfield', $bShowNewEntryField, BsPARAMTYPE::BOOL);
     $argsSNewEntryFieldPosition = BsCore::sanitizeArrayEntry($args, 'newentryfieldposition', $bNewEntryFieldPosition, BsPARAMTYPE::STRING);
     $argsSImageRenderMode = BsCore::sanitizeArrayEntry($args, 'imagerendermode', $sImageRenderMode, BsPARAMTYPE::STRING);
     $argsSImageFloatDirection = BsCore::sanitizeArrayEntry($args, 'imagefloatdirection', $sImageFloatDirection, BsPARAMTYPE::STRING);
     $argsIMaxEntryCharacters = BsCore::sanitizeArrayEntry($args, 'maxchars', $iMaxEntryCharacters, BsPARAMTYPE::INT);
     $argsSSortBy = BsCore::sanitizeArrayEntry($args, 'sort', $sSortBy, BsPARAMTYPE::STRING);
     $argsBShowInfo = BsCore::sanitizeArrayEntry($args, 'showinfo', $bShowInfo, BsPARAMTYPE::BOOL);
     $argsBMoreInNewWindow = BsCore::sanitizeArrayEntry($args, 'moreinnewwindow', $bMoreInNewWindow, BsPARAMTYPE::BOOL);
     $argsBShowPermalink = BsCore::sanitizeArrayEntry($args, 'showpermalink', $bShowPermalink, BsPARAMTYPE::BOOL);
     $argsModeNamespace = BsCore::sanitizeArrayEntry($args, 'mode', null, BsPARAMTYPE::STRING);
     if ($argsModeNamespace === 'ns' && is_object($oTitle)) {
         $argsINamespace = $oTitle->getNamespace();
     }
     // validate tag attributes
     $validateIShowLimit = BsValidator::isValid('ArgCount', $argsIShowLimit, array('fullResponse' => true));
     if ($validateIShowLimit->getErrorCode()) {
         $oErrorListView->addItem(new ViewTagError($validateIShowLimit->getI18N()));
     }
     if ($argsSCategory) {
         $validateSCategory = BsValidator::isValid('Category', $argsSCategory, array('fullResponse' => true));
         if ($validateSCategory->getErrorCode()) {
             $oErrorListView->addItem(new ViewTagError($validateSCategory->getI18N()));
         }
     }
     $oValidationResult = BsValidator::isValid('SetItem', $argsSImageRenderMode, array('fullResponse' => true, 'setname' => 'imagerendermode', 'set' => array('full', 'thumb', 'none')));
     if ($oValidationResult->getErrorCode()) {
         $oErrorListView->addItem(new ViewTagError($oValidationResult->getI18N()));
     }
     $oValidationResult = BsValidator::isValid('SetItem', $argsSImageFloatDirection, array('fullResponse' => true, 'setname' => 'imagefloatdirection', 'set' => array('left', 'right', 'none')));
     if ($oValidationResult->getErrorCode()) {
         $oErrorListView->addItem(new ViewTagError($oValidationResult->getI18N()));
     }
     $oValidationResult = BsValidator::isValid('SetItem', $argsSSortBy, array('fullResponse' => true, 'setname' => 'sort', 'set' => array('title', 'creation')));
     if ($oValidationResult->getErrorCode()) {
         $oErrorListView->addItem(new ViewTagError($oValidationResult->getI18N()));
     }
     // if there are errors, abort with a message
     if ($oErrorListView->hasEntries()) {
         return $oErrorListView->execute();
     }
     if (BsConfig::get('MW::Blog::ShowTagFormWhenNotLoggedIn') != true) {
         $oPermissionTest = Title::newFromText('PermissionTest', $argsINamespace);
         if (!$oPermissionTest->userCan('edit')) {
             $argsBNewEntryField = false;
         }
     }
     // get array of article ids from Blog/subpages
     $oBlogTitle = Title::makeTitleSafe($oTitle->getNamespace(), 'Blog');
     $aSubpages = $oBlogTitle->getSubpages();
     $iLimit = 0;
     // for later use
     $aArticleIds = array();
     foreach ($aSubpages as $oSubpage) {
         $aArticleIds[] = $oSubpage->getArticleID();
//.........这里部分代码省略.........
开发者ID:hfroese,项目名称:mediawiki-extensions-BlueSpiceExtensions,代码行数:101,代码来源:Blog.class.php

示例10: renderHook

 /**
  * Parser hook callback
  *
  * @param string $input Tag input
  * @param array $args Tag attributes
  * @param Parser $parser Parent parser
  * @return string
  */
 public static function renderHook($input, $args, $parser)
 {
     global $wgRandomImageNoCache;
     if ($wgRandomImageNoCache) {
         $parser->disableCache();
     }
     $random = new RandomImage($parser, $args, $input);
     return $random->render();
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:17,代码来源:RandomImage.class.php

示例11: efManualParserFunction_Render

/**
 * This is called when {{#manual:short|long}} is found in an article content. It should produce an output
 * set of HTML which provides the name (long) as a link to the most recent (based on version tags) TOC
 * management page for that manual.
 *
 * @param Parser $parser
 * @param string $shortName Short name of the Manual used in links.
 * @param string $longName Long/display name of Manual.
 * @param string $categories The categories for the Manual, in a comma-separated list
 * @return array
 */
function efManualParserFunction_Render(&$parser, $shortName = '', $longName = '', $categories = '')
{
    global $wgArticlePath;
    $valid = TRUE;
    if (!preg_match(PONYDOCS_PRODUCTMANUAL_REGEX, $shortName) || !strlen($shortName) || !strlen($longName)) {
        return $parser->insertStripItem('', $parser->mStripState);
    }
    $manualName = preg_replace('/([^' . PONYDOCS_PRODUCTMANUAL_LEGALCHARS . ']+)/', '', $shortName);
    // TODO: It's silly to do this twice (the other is in LoadManualsForProduct().
    //       We should get the manual object from PonyDocsProductManual
    $static = FALSE;
    if (strpos($shortName, PONYDOCS_PRODUCT_STATIC_PREFIX) === 0) {
        $static = TRUE;
        $manualName = substr($manualName, strlen(PONYDOCS_PRODUCT_STATIC_PREFIX));
    }
    $productName = PonyDocsProduct::GetSelectedProduct();
    $version = PonyDocsProductVersion::GetSelectedVersion($productName);
    // Don't cache Documentation:[product]:Manuals pages because when we switch selected version the content will come from cache
    $parser->disableCache();
    // If static, link to Special:StaticDocImport
    if ($static) {
        $output = "<p><a href=\"" . str_replace('$1', "Special:StaticDocImport/{$productName}/{$manualName}", $wgArticlePath) . "\" style=\"font-size: 1.3em;\">{$longName}</a></p>\n" . "<span style=\"padding-left: 20px;\">Click manual to manage static documentation.</span>\n";
        // Otherwise, link to TOC for current Version OR add a link to create a new TOC if none exists
    } else {
        // TODO: We should call PonyDocsTOC.php or maybe PonyDocsProductManual to see if there's a TOC in this manual
        //       or maybe actually get the manual object and query it
        $dbr = wfGetDB(DB_SLAVE);
        $res = $dbr->select(array('categorylinks', 'page'), 'page_title', array('cl_from = page_id', 'page_namespace = "' . NS_PONYDOCS . '"', "cl_to = 'V:{$productName}:{$version}'", 'cl_type = "page"', "cl_sortkey LIKE '" . $dbr->strencode(strtoupper($productName)) . ':' . $dbr->strencode(strtoupper($manualName)) . "TOC%'"), __METHOD__);
        if (!$res->numRows()) {
            /**
             * Link to create new TOC page -- should link to current version TOC and then add message to explain.
             */
            $output = '<p><a href="' . str_replace('$1', PONYDOCS_DOCUMENTATION_NAMESPACE_NAME . ':' . $productName . ':' . $manualName . 'TOC' . $version, $wgArticlePath) . '" style="font-size: 1.3em;">' . $longName . "</a></p>\n <span style=\"padding-left: 20px;\">Click manual to create TOC for current version (" . $version . ").</span>\n";
        } else {
            $row = $dbr->fetchObject($res);
            $output = '<p><a href="' . str_replace('$1', PONYDOCS_DOCUMENTATION_NAMESPACE_NAME . ":{$row->page_title}", $wgArticlePath) . '" style="font-size: 1.3em;">' . $longName . "</a></p>\n";
        }
    }
    if ($categories != '') {
        $output .= "<br>Categories: {$categories}";
    }
    return $parser->insertStripItem($output, $parser->mStripState);
}
开发者ID:Velody,项目名称:ponydocs,代码行数:54,代码来源:PonyDocsExtension.php

示例12: BugzillaRender

function BugzillaRender($input, array $args, Parser $parser, $frame = null)
{
    global $wgBugzillaRESTURL;
    // We don't want the page to be cached
    // TODO: Not sure if we need this
    $parser->disableCache();
    // TODO: Figure out to have the parser not do anything to our output
    // mediawiki docs are wrong :-(
    // error_log(print_r($parser->mStripState, true));
    // $parser->mStripState->addItem( 'nowiki', 'NOWIKI', true);
    // 'noparse' => true, 'isHTML' => true, 'markerType' => 'nowiki' );
    $input = $parser->recursiveTagParse($input, $frame);
    // Create a new bugzilla object
    $bz = Bugzilla::create($args, $input, $parser->getTitle());
    // Show the desired output (or an error if there was one)
    return $bz->render();
}
开发者ID:rhabacker,项目名称:mediawiki-bugzilla,代码行数:17,代码来源:Bugzilla.php

示例13: onUsersLink

 /**
  * Renders bs:whoisonline:popup output.
  * @param Parser $oParser MediaWiki parser object.
  * @param string $sLinkTitle Label of the link that is the anchor of the flyout
  * @return array Rendered HTML and flags. Used by magic word function hook as well as by onUsersLinkTag.
  */
 public function onUsersLink($oParser, $sLinkTitle = '')
 {
     $oParser->disableCache();
     wfProfileIn('BS::' . __METHOD__);
     $sLinkTitle = BsCore::sanitize($sLinkTitle, '', BsPARAMTYPE::STRING);
     if (empty($sLinkTitle)) {
         $sLinkTitle = wfMessage('bs-whoisonline-widget-title')->plain();
     }
     $oWhoIsOnlineTagView = new ViewWhoIsOnlineTag();
     $oWhoIsOnlineTagView->setOption('title', $sLinkTitle);
     $oWhoIsOnlineTagView->setPortlet($this->getPortlet());
     $sOut = $oWhoIsOnlineTagView->execute();
     wfProfileOut('BS::' . __METHOD__);
     return $oParser->insertStripItem($sOut, $oParser->mStripState);
 }
开发者ID:hfroese,项目名称:mediawiki-extensions-BlueSpiceExtensions,代码行数:21,代码来源:WhoIsOnline.class.php

示例14: onWantedArticlesTag

 /**
  * Callback for MediaWiki Parser. Renders the list of wanted articles
  * @param string $sInput The content of the tag. Usually empty string.
  * @param array $aAttributes An Array of given attributes
  * @param Parser $oParser The MediaWiki parser object
  * @return string The rendered <bs:wantedarticles /> tag
  */
 public function onWantedArticlesTag($sInput, $aAttributes, $oParser)
 {
     $oParser->disableCache();
     $oErrorListView = new ViewTagErrorList($this);
     $sDefaultTitle = wfMessage('bs-wantedarticle-tag-default-title')->plain();
     $iCount = BsCore::sanitizeArrayEntry($aAttributes, 'count', 5, BsPARAMTYPE::INT);
     $sSort = BsCore::sanitizeArrayEntry($aAttributes, 'sort', 'time', BsPARAMTYPE::STRING);
     $sOrder = BsCore::sanitizeArrayEntry($aAttributes, 'order', 'DESC', BsPARAMTYPE::STRING);
     $sTitle = BsCore::sanitizeArrayEntry($aAttributes, 'title', $sDefaultTitle, BsPARAMTYPE::STRING);
     $sType = BsCore::sanitizeArrayEntry($aAttributes, 'type', 'list', BsPARAMTYPE::STRING);
     //Validation
     $oValidationICount = BsValidator::isValid('IntegerRange', $iCount, array('fullResponse' => true, 'lowerBoundary' => 1, 'upperBoundary' => 30));
     if ($oValidationICount->getErrorCode()) {
         $oErrorListView->addItem(new ViewTagError('count: ' . $oValidationICount->getI18N()));
     }
     if (!in_array($sSort, array('', 'time', 'title'))) {
         $oErrorListView->addItem(new ViewTagError('sort: ' . wfMessage('bs-wantedarticle-sort-value-unknown')->plain()));
     }
     if (!in_array($sOrder, array('', 'ASC', 'DESC'))) {
         $oErrorListView->addItem(new ViewTagError('order: ' . wfMessage('bs-wantedarticle-order-value-unknown')->plain()));
     }
     if ($oErrorListView->hasItems()) {
         return $oErrorListView->execute();
     }
     //Create list
     $aWishList = $this->getTitleListFromTitle($this->getDataSourceTemplateArticle()->getTitle());
     switch ($sSort) {
         case 'title':
             $aTitleList = $this->sortWishListByTitle($aWishList);
             break;
         case 'time':
         default:
             $aTitleList = $this->getDefaultTitleList($aWishList);
     }
     if ($sOrder == 'ASC') {
         $aTitleList = array_reverse($aTitleList);
     }
     $oWishListView = new ViewWantedArticleTag();
     $oWishListView->setTitle($sTitle)->setType($sType)->setOrder($sOrder)->setSort($sSort)->setCount($iCount)->setList($aTitleList);
     return $oWishListView->execute();
 }
开发者ID:hfroese,项目名称:mediawiki-extensions-BlueSpiceExtensions,代码行数:48,代码来源:WantedArticle.class.php

示例15: onPagesVisitedTag

 /**
  * Handles the Parser Hook for TagExtensions
  * @param string $sInput Content of $lt;pagesvisited /&gt; from MediaWiki Framework
  * @param array $aAttributes Attributes of &lt;pagesvisited /&gt; from MediaWiki Framework
  * @param Parser $oParser Parser object from MediaWiki Framework
  * @return string HTML list of recently visited pages
  */
 public function onPagesVisitedTag($sInput, $aAttributes, $oParser)
 {
     $oParser->disableCache();
     $oErrorListView = new ViewTagErrorList($this);
     $iCount = BsCore::sanitizeArrayEntry($aAttributes, 'count', 5, BsPARAMTYPE::INT);
     $iMaxTitleLength = BsCore::sanitizeArrayEntry($aAttributes, 'maxtitlelength', 20, BsPARAMTYPE::INT);
     $sNamespaces = BsCore::sanitizeArrayEntry($aAttributes, 'namespaces', 'all', BsPARAMTYPE::STRING | BsPARAMOPTION::CLEANUP_STRING);
     $sSortOrder = BsCore::sanitizeArrayEntry($aAttributes, 'order', 'time', BsPARAMTYPE::STRING | BsPARAMOPTION::CLEANUP_STRING);
     //Validation
     $oValidationICount = BsValidator::isValid('IntegerRange', $iCount, array('fullResponse' => true, 'lowerBoundary' => 1, 'upperBoundary' => 30));
     if ($oValidationICount->getErrorCode()) {
         $oErrorListView->addItem(new ViewTagError('count: ' . $oValidationICount->getI18N()));
     }
     $oValidationIMaxTitleLength = BsValidator::isValid('IntegerRange', $iMaxTitleLength, array('fullResponse' => true, 'lowerBoundary' => 5, 'upperBoundary' => 50));
     if ($oValidationIMaxTitleLength->getErrorCode()) {
         $oErrorListView->addItem(new ViewTagError('maxtitlelength: ' . $oValidationIMaxTitleLength->getI18N()));
     }
     if ($oErrorListView->hasItems()) {
         return $oErrorListView->execute();
     }
     $iCurrentNamespaceId = $oParser->getTitle()->getNamespace();
     $oListView = $this->makePagesVisitedWikiList($iCount, $sNamespaces, $iCurrentNamespaceId, $iMaxTitleLength, $sSortOrder);
     $sOut = $oListView->execute();
     if ($oListView instanceof ViewTagErrorList) {
         return $sOut;
     } else {
         return $this->mCore->parseWikiText($sOut, $this->getTitle());
     }
 }
开发者ID:hfroese,项目名称:mediawiki-extensions-BlueSpiceExtensions,代码行数:36,代码来源:PagesVisited.class.php


注:本文中的Parser::disableCache方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。