예제 #1
0
파일: emote.php 프로젝트: TrinityCore/aowow
 protected function generateContent()
 {
     /***********/
     /* Infobox */
     /***********/
     $infobox = Lang::getInfoBoxForFlags($this->subject->getField('cuFlags'));
     // has Animation
     if ($this->subject->getField('isAnimated')) {
         $infobox[] = Lang::emote('isAnimated');
     }
     /****************/
     /* Main Content */
     /****************/
     $text = '';
     if ($aliasses = DB::Aowow()->selectCol('SELECT command FROM ?_emotes_aliasses WHERE id = ?d AND locales & ?d', $this->typeId, 1 << User::$localeId)) {
         $text .= '[h3]' . Lang::emote('aliases') . '[/h3][ul]';
         foreach ($aliasses as $a) {
             $text .= '[li]/' . $a . '[/li]';
         }
         $text .= '[/ul][br][br]';
     }
     $texts = [];
     if ($_ = $this->subject->getField('self', true)) {
         $texts[Lang::emote('self')] = $_;
     }
     if ($_ = $this->subject->getField('target', true)) {
         $texts[Lang::emote('target')] = $_;
     }
     if ($_ = $this->subject->getField('noTarget', true)) {
         $texts[Lang::emote('noTarget')] = $_;
     }
     if (!$texts) {
         $text .= '[div][i class=q0]' . Lang::emote('noText') . '[/i][/div]';
     } else {
         foreach ($texts as $h => $t) {
             $text .= '[pad][b]' . $h . '[/b][ul][li][span class=s4]' . preg_replace('/%\\d?\\$?s/', '<' . Util::ucFirst(Lang::main('name')) . '>', $t) . '[/span][/li][/ul]';
         }
     }
     $this->extraText = $text;
     $this->infobox = $infobox ? '[ul][li]' . implode('[/li][li]', $infobox) . '[/li][/ul]' : null;
     /**************/
     /* Extra Tabs */
     /**************/
     // tab: achievement
     $condition = array(['ac.type', ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE], ['ac.value1', $this->typeId]);
     $acv = new AchievementList($condition);
     $this->lvTabs[] = ['achievement', ['data' => array_values($acv->getListviewData())]];
     $this->extendGlobalData($acv->getJsGlobals());
 }