/** * Diese Funktion stellt alle Daten für den Terminkalender zusammen und parsed * sie danach in das Template. * * @param meineHoehlen Enthält die Records aller eigenen Höhlen. */ function digest_getDigest($meineHoehlen) { global $config, $params; // open template $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'digest.ihtml'); // get movements // don't show returning movements // don't show details for each movement $movements = digest_getMovements($meineHoehlen, array(), false); // set each movement into the template foreach ($movements as $move) { // own movements if ($move['isOwnMovement']) { tmpl_iterate($template, 'MOVEMENTS/MOVEMENT'); tmpl_set($template, 'MOVEMENTS/MOVEMENT', $move); // adverse movements } else { tmpl_iterate($template, 'OPPONENT_MOVEMENTS/MOVEMENT'); tmpl_set($template, 'OPPONENT_MOVEMENTS/MOVEMENT', $move); } } // get artefact initiations and parse them into the template $initiations = digest_getInitiationDates($meineHoehlen); if (sizeof($initiations)) { tmpl_set($template, 'INITIATIONS/INITIATION', $initiations); } // get building appointments and parse them $appointments = digest_getAppointments($meineHoehlen); if (sizeof($appointments)) { tmpl_set($template, 'APPOINTMENTS/APPOINTMENT', $appointments); } // fill arrays with potential shortcuts $units = $buildings = $defenses = $sciences = array(); foreach ($meineHoehlen as $value) { $units[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => UNIT_BUILDER); $buildings[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => IMPROVEMENT_DETAIL); $defenses[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => EXTERNAL_BUILDER); $sciences[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => SCIENCE); } // remove elements in these arrays, if there is such an appointment foreach ($appointments as $value) { switch ($value['modus']) { case UNIT_BUILDER: unset($units[$value['caveID']]); break; case IMPROVEMENT_DETAIL: unset($buildings[$value['caveID']]); break; case EXTERNAL_BUILDER: unset($defenses[$value['caveID']]); break; case SCIENCE: unset($sciences[$value['caveID']]); break; } } // show the remaining elements as shortcuts if (sizeof($units)) { tmpl_set($template, 'UNITS/UNIT', $units); } if (sizeof($buildings)) { tmpl_set($template, 'BUILDINGS/BUILDING', $buildings); } if (sizeof($defenses)) { tmpl_set($template, 'DEFENSES/DEFENSE', $defenses); } if (sizeof($sciences)) { tmpl_set($template, 'SCIENCES/SCIENCE', $sciences); } return tmpl_parse($template); }
/** * Diese Funktion stellt alle Daten für den Terminkalender zusammen und parsed * sie danach in das Template. * * @param meineHoehlen Enthält die Records aller eigenen Höhlen. */ function digest_getDigest($ownCaves) { global $template; // open template $template->setFile('digest.tmpl'); // get movements // don't show returning movements // don't show details for each movement $movements = digest_getMovements($ownCaves, array(), true); $ownMovement = $opponentMovement = array(); // set each movement into the template foreach ($movements as $move) { // own movements if ($move['isOwnMovement']) { $ownMovement[] = $move; // adverse movements } else { $opponentMovement[] = $move; } } // get artefact initiations and parse them into the template $initiations = digest_getInitiationDates($ownCaves); $appointments = digest_getAppointments($ownCaves); // fill arrays with potential shortcuts $units = $buildings = $defenses = $sciences = array(); foreach ($ownCaves as $value) { $units[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => UNIT_BUILDER); $buildings[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => IMPROVEMENT_BUILDER); $defenses[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => DEFENSE_BUILDER); $sciences[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => SCIENCE_BUILDER); } // remove elements in these arrays, if there is such an appointment foreach ($appointments as $value) { switch ($value['modus']) { case UNIT_BUILDER: unset($units[$value['cave_id']]); break; case IMPROVEMENT_BUILDER: unset($buildings[$value['cave_id']]); break; case DEFENSE_BUILDER: unset($defenses[$value['cave_id']]); break; case SCIENCE_BUILDER: unset($sciences[$value['cave_id']]); break; } } // remove elements in these arrays, if there is such an appointment $caveAction = array(); foreach ($appointments as $value) { switch ($value['modus']) { case UNIT_BUILDER: $caveAction['units'][$value['cave_id']] = true; break; case IMPROVEMENT_BUILDER: $caveAction['buildings'][$value['cave_id']] = true; break; case DEFENSE_BUILDER: $caveAction['defenses'][$value['cave_id']] = true; break; case SCIENCE_BUILDER: $caveAction['sciences'][$value['cave_id']] = true; break; } } $u = $b = $d = $s = 0; $caveNoAction = array(); foreach ($ownCaves as $value) { if (!isset($caveAction['units'][$value['caveID']])) { $caveNoAction[$u++]['units'] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => UNIT_BUILDER); } if (!isset($caveAction['buildings'][$value['caveID']])) { $caveNoAction[$b++]['buildings'] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => IMPROVEMENT_BUILDER); } if (!isset($caveAction['defenses'][$value['caveID']])) { $caveNoAction[$d++]['defenses'] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => DEFENSE_BUILDER); } if (!isset($caveAction['sciences'][$value['caveID']])) { $caveNoAction[$s++]['sciences'] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => SCIENCE_BUILDER); } } // send to template $template->addVars(array('own_movements' => $ownMovement, 'opponent_movement' => $opponentMovement, 'initiations' => $initiations, 'appointments' => $appointments, 'cave_no_action' => $caveNoAction, 'microtime' => time() . '000')); }
function digest_getDigest($meineHoehlen) { global $params, $config; $template = @tmpl_open('templates/' . $config->template_paths[$params->SESSION->user['template']] . '/digest.ihtml'); $movements = digest_getMovements($meineHoehlen, array(5), false); foreach ($movements as $move) { if ($move['isOwnMovement']) { $java_ownmovements = TRUE; $ownmovement[ownmovement]++; tmpl_iterate($template, 'MOVEMENTS/MOVEMENT'); tmpl_set($template, 'MOVEMENTS/MOVEMENT', $move); } else { $java_opponentmovements = TRUE; $oppmovement[oppmovement]++; tmpl_iterate($template, 'OPPONENT_MOVEMENTS/MOVEMENT'); tmpl_set($template, 'OPPONENT_MOVEMENTS/MOVEMENT', $move); } } tmpl_set($template, 'MOVEMENTS', $ownmovement); tmpl_set($template, 'OPPONENT_MOVEMENTS', $oppmovement); $initiations = digest_getInitiationDates($meineHoehlen); if (sizeof($initiations)) { tmpl_set($template, 'INITIATIONS/INITIATION', $initiations); } $appointments = digest_getAppointments($meineHoehlen); if (sizeof($appointments)) { $java_appointments = TRUE; tmpl_set($template, 'APPOINTMENTS/APPOINTMENT', $appointments); } $units = $buildings = $defenses = $sciences = array(); foreach ($meineHoehlen as $value) { $units[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => UNIT_BUILDER); $buildings[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => IMPROVEMENT_DETAIL); $defenses[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => DEFENSESYSTEM); $sciences[$value['caveID']] = array('caveID' => $value['caveID'], 'cave_name' => $value['name'], 'modus' => SCIENCE); } foreach ($appointments as $value) { $appointmentcount[appointments]++; switch ($value['modus']) { case UNIT_BUILDER: unset($units[$value['caveID']]); break; case IMPROVEMENT_DETAIL: unset($buildings[$value['caveID']]); break; case DEFENSESYSTEM: unset($defenses[$value['caveID']]); break; case SCIENCE: unset($sciences[$value['caveID']]); break; } tmpl_set($template, 'APPOINTMENTS', $appointmentcount); } if (sizeof($units)) { tmpl_set($template, 'UNITS/UNIT', $units); } if (sizeof($buildings)) { tmpl_set($template, 'BUILDINGS/BUILDING', $buildings); } if (sizeof($defenses)) { tmpl_set($template, 'DEFENSES/DEFENSE', $defenses); } if (sizeof($sciences)) { tmpl_set($template, 'SCIENCES/SCIENCE', $sciences); } if ($java_ownmovements) { $java[] = "'min_ownmovement', 'max_ownmovement'"; } if ($java_opponentmovements) { $java[] = "'min_oppmovement', 'max_oppmovement'"; } if ($java_appointments) { $java[] = "'min_appointments', 'max_appointments'"; } //echo implode(", ",$java); if (sizeof($java)) { $java_str = "var sw_settings = new Array ("; $java_str .= implode(", ", $java); $java_str .= ");\r\n"; $java_str .= "showhide_settings();"; } tmpl_set($template, array('java' => $java_str)); return tmpl_parse($template); }