/**
  * 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;
 }
Esempio n. 3
0
 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;
 }