Ejemplo n.º 1
0
 private function createMail(&$reqCss = false)
 {
     $mail = [];
     if ($_ = $this->subject->getField('mailTemplate')) {
         $letter = DB::Aowow()->selectRow('SELECT * FROM ?_mailtemplate WHERE id = ?d', $_);
         if (!$letter) {
             return [];
         }
         $reqCss = true;
         $mail = array('delay' => null, 'sender' => null, 'subject' => Util::parseHtmlText(Util::localizedString($letter, 'subject', true)), 'text' => Util::parseHtmlText(Util::localizedString($letter, 'text', true)));
     } else {
         if ($_ = Util::parseHtmlText($this->subject->getField('text', true, true))) {
             $reqCss = true;
             $mail = array('delay' => null, 'sender' => null, 'subject' => Util::parseHtmlText($this->subject->getField('subject', true, true)), 'text' => $_);
         }
     }
     if ($_ = CreatureList::getName($this->subject->getField('sender'))) {
         $mail['sender'] = sprintf(Lang::quest('mailBy'), $this->subject->getField('sender'), $_);
     }
     return $mail;
 }
Ejemplo n.º 2
0
 private function createMail(&$attachmentTab, $startEnd)
 {
     $mail = [];
     if ($_ = $this->subject->getField('rewardMailTemplateId')) {
         $delay = $this->subject->getField('rewardMailDelay');
         $letter = DB::Aowow()->selectRow('SELECT * FROM ?_mailtemplate WHERE id = ?d', $_);
         $mail = array('delay' => $delay ? sprintf(Lang::quest('mailIn'), Util::formatTime($delay * 1000)) : null, 'sender' => null, 'text' => $letter ? Util::parseHtmlText(Util::localizedString($letter, 'text')) : null, 'subject' => Util::parseHtmlText(Util::localizedString($letter, 'subject')));
         foreach ($startEnd as $se) {
             if (!($se['method'] & 0x2) || $se['type'] != TYPE_NPC) {
                 continue;
             }
             if ($_ = CreatureList::getName($se['typeId'])) {
                 $mail['sender'] = sprintf(Lang::quest('mailBy'), $se['typeId'], $_);
                 break;
             }
         }
         $extraCols = ['Listview.extraCols.percent'];
         $mailLoot = new Loot();
         if ($mailLoot->getByContainer(LOOT_MAIL, $_)) {
             $this->extendGlobalData($mailLoot->jsGlobals);
             $attachmentTab = array('file' => 'item', 'data' => $mailLoot->getResult(), 'params' => array('name' => '[Mail Attachments]', 'id' => 'mail-attachments', 'extraCols' => "\$[" . implode(', ', array_merge($extraCols, $mailLoot->extraCols)) . "]", 'hiddenCols' => "\$['side', 'slot', 'reqlevel']"));
         }
     }
     return $mail;
 }
Ejemplo n.º 3
0
 public function renderTooltip()
 {
     if (!$this->curTpl) {
         return null;
     }
     $title = Util::jsEscape($this->getField('name', true));
     $level = $this->curTpl['level'];
     if ($level < 0) {
         $level = 0;
     }
     $x = '';
     if ($level) {
         $level = sprintf(Lang::quest('questLevel'), $level);
         if ($this->curTpl['flags'] & QUEST_FLAG_DAILY) {
             // daily
             $level .= ' ' . Lang::quest('daily');
         }
         $x .= '<table><tr><td><table width="100%"><tr><td><b class="q">' . $title . '</b></td><th><b class="q0">' . $level . '</b></th></tr></table></td></tr></table>';
     } else {
         $x .= '<table><tr><td><b class="q">' . $title . '</b></td></tr></table>';
     }
     $x .= '<table><tr><td><br />' . $this->parseText('objectives');
     $xReq = '';
     for ($i = 1; $i < 5; $i++) {
         $ot = $this->getField('objectiveText' . $i, true);
         $rng = $this->curTpl['reqNpcOrGo' . $i];
         $rngQty = $this->curTpl['reqNpcOrGoCount' . $i];
         if ($rngQty < 1 && (!$rng || $ot)) {
             continue;
         }
         if ($ot) {
             $name = $ot;
         } else {
             $name = $rng > 0 ? CreatureList::getName($rng) : GameObjectList::getName(-$rng);
         }
         $xReq .= '<br /> - ' . Util::jsEscape($name) . ($rngQty > 1 ? ' x ' . $rngQty : null);
     }
     for ($i = 1; $i < 7; $i++) {
         $ri = $this->curTpl['reqItemId' . $i];
         $riQty = $this->curTpl['reqItemCount' . $i];
         if (!$ri || $riQty < 1) {
             continue;
         }
         $xReq .= '<br /> - ' . Util::jsEscape(ItemList::getName($ri)) . ($riQty > 1 ? ' x ' . $riQty : null);
     }
     if ($et = $this->getField('end', true)) {
         $xReq .= '<br /> - ' . Util::jsEscape($et);
     }
     if ($_ = $this->getField('rewardOrReqMoney')) {
         if ($_ < 0) {
             $xReq .= '<br /> - ' . Lang::quest('money') . Lang::main('colon') . Util::formatMoney(abs($_));
         }
     }
     if ($xReq) {
         $x .= '<br /><br /><span class="q">' . Lang::quest('requirements') . Lang::main('colon') . '</span>' . $xReq;
     }
     $x .= '</td></tr></table>';
     return $x;
 }