* @author Slawkens * @copyright 2017 MyAAC * @link http://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); $title = 'Spells'; $canEdit = hasFlag(FLAG_CONTENT_SPELLS) || admin(); if(isset($_POST['reload_spells']) && $canEdit) { require LIBS . 'spells.php'; if(!Spells::loadFromXML(true)) { error(Spells::getLastError()); } } if(isset($_REQUEST['vocation_id'])) { $vocation_id = $_REQUEST['vocation_id']; if($vocation_id == 'all') { $vocation = 'all'; } else { $vocation = $config['vocations'][$vocation_id]; } } else { $vocation = (isset($_REQUEST['vocation']) ? urldecode($_REQUEST['vocation']) : 'all'); if($vocation == 'all') { $vocation_id = 'all'; } else { $vocation_ids = array_flip($config['vocations']); $vocation_id = $vocation_ids[$vocation]; } } $order = 'words'; if(isset($_REQUEST['order'])) $order = $_REQUEST['order']; if(!in_array($order, array('words', 'type', 'mana', 'level', 'maglevel', 'soul'))) $order = 'level'; $spells = array(); $spells_db = $db->query('SELECT * FROM `' . TABLE_PREFIX . 'spells` WHERE `hidden` != 1 AND `type` < 3 ORDER BY ' . $order . ', level'); if((string)$vocation_id != 'all') { foreach($spells_db->fetchAll() as $spell) { $spell_vocations = json_decode($spell['vocations'], true); if(in_array($vocation_id, $spell_vocations) || count($spell_vocations) == 0) { $spell['vocations'] = null; $spells[] = $spell; } } } else { foreach($spells_db->fetchAll() as $spell) { $vocations = json_decode($spell['vocations'], true); foreach($vocations as &$tmp_vocation) { if(isset($config['vocations'][$tmp_vocation])) $tmp_vocation = $config['vocations'][$tmp_vocation]; else $tmp_vocation = 'Unknown'; } $spell['vocations'] = implode('
', $vocations); $spells[] = $spell; } } echo $twig->render('spells.html.twig', array( 'canEdit' => $canEdit, 'post_vocation_id' => $vocation_id, 'post_vocation' => $vocation, 'post_order' => $order, 'spells' => $spells, )); ?>