Пример #1
0
function ParseTextLinks($text)
{
    if (!preg_match_all('/(\\[(achievement|item|quest|spell)=(\\d+)\\])/', $text, $matches)) {
        return;
    }
    $types = $matches[2];
    $ids = $matches[3];
    foreach ($types as $i => $type) {
        $id = $ids[$i];
        switch ($type) {
            case 'achievement':
                require_once 'includes/allachievements.php';
                allachievementsinfo($id);
                break;
            case 'item':
                require_once 'includes/allitems.php';
                allitemsinfo($id);
                break;
            case 'quest':
                require_once 'includes/allquests.php';
                allquestinfo($id);
                break;
            case 'spell':
                require_once 'includes/allspells.php';
                allspellsinfo($id);
                break;
        }
    }
}
Пример #2
0
     }
     if ($item['quality']) {
         $x .= 'quality: ' . $item['quality'] . ',';
     }
     if ($item['icon']) {
         $x .= 'icon: \'' . str_normalize($item['icon']) . '\',';
     }
     if ($item['info']) {
         $x .= 'tooltip: \'' . str_normalize($item['info']) . '\'';
     }
     $x .= '});';
     break;
 case 'spell':
     if (!($spell = load_cache(14, $id))) {
         require_once 'includes/allspells.php';
         $spell = allspellsinfo($id, 1);
         save_cache(14, $id, $spell);
     }
     $x .= '$WowheadPower.registerSpell(' . $id . ', 0,{';
     if ($spell['name']) {
         $x .= 'name: \'' . str_normalize($spell['name']) . '\',';
     }
     if ($spell['icon']) {
         $x .= 'icon: \'' . str_normalize($spell['icon']) . '\',';
     }
     if ($spell['info']) {
         $x .= 'tooltip: \'' . str_normalize($spell['info']) . '\'';
     }
     $x .= '});';
     break;
 case 'quest':
Пример #3
0
     // Добавляем ссылку на квест
 // Добавляем ссылку на квест
 case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST:
     $tmp['link'] = array('href' => '?quest=' . $row['value1'], 'text' => $row['name']);
     break;
     // Добавляем иконку и ссылку на спелл
 // Добавляем иконку и ссылку на спелл
 case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET:
 case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2:
 case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL:
 case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL:
 case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2:
     $tmp['link'] = array('href' => '?spell=' . $row['value1'], 'text' => $row['name']);
     $tmp['icon'] = $iconId;
     $achievement['icons'][] = array('itr' => $iconId++, 'type' => 'g_spells', 'id' => $row['value1']);
     allspellsinfo($row['value1']);
     break;
     // Добавляем ссылку и иконку предмета
 // Добавляем ссылку и иконку предмета
 case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM:
 case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM:
 case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM:
 case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM:
     $item = allitemsinfo($row['value1']);
     $tmp['link'] = array('href' => '?item=' . $row['value1'], 'text' => $row['name'], 'quality' => $item['quality']);
     $tmp['icon'] = $iconId;
     $achievement['icons'][] = array('itr' => $iconId++, 'type' => 'g_items', 'id' => $row['value1'], 'count' => $row['value2']);
     break;
     // Добавляем ссылку на фракцию и требуемую репутацию
 // Добавляем ссылку на фракцию и требуемую репутацию
 case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION:
Пример #4
0
                    $spell['effect'][$i]['item']['entry'] = $row['effect' . $j . 'itemtype'];
                    $tmpRow = allitemsinfo($spell['effect'][$i]['item']['entry'], 0);
                    $spell['effect'][$i]['item']['name'] = $tmpRow['name'];
                    $spell['effect'][$i]['item']['quality'] = $tmpRow['quality'];
                    $spell['effect'][$i]['item']['count'] = $row['effect' . $j . 'BasePoints'] + 1;
                    // Иконка итема, если спелл создает этот итем
                    if (!isset($spell['icon'])) {
                        $spell['icon'] = $tmpRow['iconname'];
                    }
                }
                // Создает спелл
                if ($row['effect' . $j . 'triggerspell'] > 0) {
                    $spell['effect'][$i]['spell'] = array();
                    $spell['effect'][$i]['spell']['entry'] = $row['effect' . $j . 'triggerspell'];
                    $spell['effect'][$i]['spell']['name'] = $DB->selectCell('SELECT spellname_loc' . $_SESSION['locale'] . ' FROM ?_spell WHERE spellID = ?d LIMIT 1', $spell['effect'][$i]['spell']['entry']);
                    allspellsinfo($spell['effect'][$i]['spell']['entry']);
                }
                $i++;
            }
        }
        if (!isset($spell['icon'])) {
            $spell['icon'] = $row['iconname'];
        }
        // Спеллы с таким же названием
        $seealso = $DB->select('
			SELECT s.*, i.iconname
			FROM ?_spell s, ?_spellicons i
			WHERE
				s.spellname_loc' . $_SESSION['locale'] . ' = ?
				AND s.spellID <> ?d
				AND (