$template->assign_vars(array('MOON_ID' => $lune['id'], 'MOON_IMG' => $lune['image'], 'MOON_NAME' => $lune['name'])); } $planet_fill = floor($planetrow['field_current'] / eco_planet_fields_max($planetrow) * 100); $planet_fill = $planet_fill > 100 ? 100 : $planet_fill; $planet_recyclers_orbiting = 0; foreach (sn_get_groups('flt_recyclers') as $recycler_id) { $planet_recyclers_orbiting += mrc_get_level($user, $planetrow, $recycler_id); } int_planet_pretemplate($planetrow, $template); $sn_group_ques = sn_get_groups('ques'); foreach (array(QUE_STRUCTURES => $sn_group_ques[QUE_STRUCTURES]) as $que_id => $que_type_data) { $this_que = $que['ques'][$que_id][$user['id']][$planetrow['id']]; $template->assign_block_vars('ques', array('ID' => $que_id, 'NAME' => $lang['sys_ques'][$que_id], 'LENGTH' => empty($this_que) ? 0 : count($this_que))); if (!empty($this_que)) { foreach ($this_que as $que_item) { $template->assign_block_vars('que', que_tpl_parse_element($que_item)); } } } $que_hangar_length = tpl_assign_hangar($template, $planetrow, SUBQUE_FLEET); $template->assign_block_vars('ques', array('ID' => QUE_HANGAR, 'NAME' => $lang['sys_ques'][QUE_HANGAR], 'LENGTH' => $que_hangar_length)); $que_hangar_length = tpl_assign_hangar($template, $planetrow, SUBQUE_DEFENSE); $template->assign_block_vars('ques', array('ID' => SUBQUE_DEFENSE, 'NAME' => $lang['sys_ques'][SUBQUE_DEFENSE], 'LENGTH' => $que_hangar_length)); $overview_planet_rows = $user['opt_int_overview_planet_rows']; $overview_planet_columns = $user['opt_int_overview_planet_columns']; if ($overview_planet_rows <= 0 && $overview_planet_columns <= 0) { $overview_planet_rows = $user_option_list[OPT_INTERFACE]['opt_int_overview_planet_rows']; $overview_planet_columns = $user_option_list[OPT_INTERFACE]['opt_int_overview_planet_columns']; } if ($overview_planet_rows > 0 && $overview_planet_columns <= 0) { $overview_planet_columns = ceil($planet_count / $overview_planet_rows);
function que_tpl_parse(&$template, $que_type, $user, $planet = array(), $que = null) { // TODO: Переделать для $que_type === false $planet['id'] = $planet['id'] ? $planet['id'] : 0; if (!is_array($que)) { $que = que_get($user['id'], $planet['id'], $que_type); } if (is_array($que) && isset($que['items'])) { $que = $que['ques'][$que_type][$user['id']][$planet['id']]; } // pdump($que);die(); if ($que) { foreach ($que as $que_element) { $template->assign_block_vars('que', que_tpl_parse_element($que_element)); } } if ($que_type == QUE_RESEARCH) { // TODO Исправить // $template->assign_var('RESEARCH_ONGOING', count($global_que[QUE_RESEARCH][0]) >= $config->server_que_length_research); } }
function tpl_assign_hangar(&$template, $planet, $que_type) { $que = que_get($planet['id_owner'], $planet['id'], $que_type); $que = $que['ques'][$que_type][$planet['id_owner']][$planet['id']]; $que_length = 0; if (!empty($que)) { foreach ($que as $que_item) { $template->assign_block_vars('que', que_tpl_parse_element($que_item)); } $que_length = count($que); } return $que_length; }
function tpl_parse_planet($planet) { global $lang; $fleet_list = flt_get_fleets_to_planet($planet); $que = que_get($planet['id_owner'], $planet['id'], false); $structure_que = tpl_parse_planet_que($que, $planet, QUE_STRUCTURES); // TODO Заменить на que_tpl_parse_element($que_element); $structure_que_first = is_array($structure_que['que']) ? reset($structure_que['que']) : array(); $hangar_que = tpl_parse_planet_que($que, $planet, SUBQUE_FLEET); // TODO Заменить на que_tpl_parse_element($que_element); $hangar_que_first = is_array($hangar_que['que']) ? reset($hangar_que['que']) : array(); $defense_que = tpl_parse_planet_que($que, $planet, SUBQUE_DEFENSE); // TODO Заменить на que_tpl_parse_element($que_element); $defense_que_first = is_array($defense_que['que']) ? reset($defense_que['que']) : array(); $result = array('ID' => $planet['id'], 'NAME' => $planet['name'], 'IMAGE' => $planet['image'], 'GALAXY' => $planet['galaxy'], 'SYSTEM' => $planet['system'], 'PLANET' => $planet['planet'], 'TYPE' => $planet['planet_type'], 'COORDINATES' => uni_render_coordinates($planet), 'METAL_PERCENT' => $planet['metal_mine_porcent'] * 10, 'CRYSTAL_PERCENT' => $planet['crystal_mine_porcent'] * 10, 'DEUTERIUM_PERCENT' => $planet['deuterium_sintetizer_porcent'] * 10, 'STRUCTURE' => isset($structure_que_first['id']) ? $lang['tech'][$structure_que_first['id']] : '', 'HANGAR' => isset($hangar_que_first['id']) ? $lang['tech'][$hangar_que_first['id']] : '', 'hangar_que' => $hangar_que, 'DEFENSE' => isset($defense_que_first['id']) ? $lang['tech'][$defense_que_first['id']] : '', 'defense_que' => $defense_que, 'FIELDS_CUR' => $planet['field_current'], 'FIELDS_MAX' => eco_planet_fields_max($planet), 'FILL' => min(100, floor($planet['field_current'] / eco_planet_fields_max($planet) * 100)), 'FLEET_OWN' => $fleet_list['own']['count'], 'FLEET_ENEMY' => $fleet_list['enemy']['count'], 'FLEET_NEUTRAL' => $fleet_list['neutral']['count'], 'fleet_list' => $fleet_list, 'PLANET_GOVERNOR_ID' => $planet['PLANET_GOVERNOR_ID'], 'PLANET_GOVERNOR_NAME' => $lang['tech'][$planet['PLANET_GOVERNOR_ID']], 'PLANET_GOVERNOR_LEVEL' => $planet['PLANET_GOVERNOR_LEVEL'], 'PLANET_GOVERNOR_LEVEL_MAX' => get_unit_param($planet['PLANET_GOVERNOR_ID'], P_MAX_STACK)); if (!empty($que['ques'][QUE_STRUCTURES][$planet['id_owner']][$planet['id']])) { $result['building_que'] = array(); $building_que =& $que['ques'][QUE_STRUCTURES][$planet['id_owner']][$planet['id']]; foreach ($building_que as $que_element) { $result['building_que'][] = que_tpl_parse_element($que_element); } } return $result; }