/** * Return XML object for parser when RTE enabled * called from Parser::replaceInternalLinks2 * * @param $poll WikiaPoll * @param $nt Title * @param $RTE_wikitextIdx */ public static function generateRTE($poll, $nt, $RTE_wikitextIdx) { global $wgBlankImgUrl; $data = array(); $data['type'] = 'poll'; $data['pollId'] = $nt->getArticleId(); $data['wikitext'] = RTEData::get('wikitext', $RTE_wikitextIdx); $pollData = $poll->getData(); if (isset($pollData['question'])) { $data['question'] = $pollData['question']; } if (isset($pollData['answers'])) { foreach ($pollData["answers"] as $answer) { $data['answers'][] = $answer['text']; } } // store data and mark HTML $dataIdx = RTEData::put('data', $data); // render poll placeholder $tag = Xml::element('img', array('_rte_dataidx' => sprintf('%04d', $dataIdx), 'class' => "media-placeholder placeholder-poll", 'src' => $wgBlankImgUrl, 'type' => 'poll')); return RTEData::addIdxToTag($dataIdx, $tag); }
/** * Render gallery placeholder for RTE * * @param $gallery WikiaPhotoGallery * @param $width Integer * $param $height Integer */ public static function renderGalleryPlaceholder($gallery, $width, $height) { wfProfileIn(__METHOD__); $data = $gallery->getData(); $class = 'media-placeholder image-gallery'; if ($data['type'] == WikiaPhotoGallery::WIKIA_PHOTO_SLIDESHOW) { $class .= ' image-slideshow'; } // support "position" attribute (gallery alignment) switch ($gallery->getParam('position')) { case 'left': $class .= ' alignLeft'; break; case 'center': $class .= ' alignCenter'; break; case 'right': $class .= ' alignRight'; break; } if ($data['type'] == WikiaPhotoGallery::WIKIA_PHOTO_SLIDER) { $class .= ' image-gallery-slider'; } global $wgBlankImgUrl; $attribs = array('src' => $wgBlankImgUrl, 'class' => $class, 'type' => 'image-gallery', 'height' => $height, 'width' => $width); // render image for media placeholder $ret = Xml::element('img', $attribs); // store wikitext $data['wikitext'] = RTEData::get('wikitext', self::$mWikitextIdx); // store data and mark HTML $dataIdx = RTEData::put('data', $data); $ret = RTEData::addIdxToTag($dataIdx, $ret); wfProfileOut(__METHOD__); return $ret; }
public function makeKnownLinkHolder($nt, $text = '', $query = '', $trail = '', $prefix = '') { wfProfileIn(__METHOD__); $dataIdx = RTEMarker::getDataIdx(RTEMarker::INTERNAL_DATA, $text); $ret = parent::makeKnownLinkHolder($nt, $text, $query, $trail, $prefix); $ret = RTEData::addIdxToTag($dataIdx, $ret); wfProfileOut(__METHOD__); return $ret; }