/empty.php
PHP | 251 lines | 199 code | 52 blank | 0 comment | 38 complexity | 4cf1c805d1eabccbcd9ec8b10b6fc965 MD5 | raw file
- <?php
- session_start();
- header('Content-Type: text/html; charset=utf-8');
- date_default_timezone_set('Europe/Paris');
- include_once("functions.php");
- ?>
- <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
- <html xmlns='http://www.w3.org/1999/xhtml'>
-
- <?php
- $settingsXml = new DOMDocument('1.0','UTF-8');
- $settingsXml->formatOutput = true;
- $settingsXml->preserveWhiteSpace = false;
- $settingsXml->load("settings.xml");
- $settingsXpath = new DOMXPath($settingsXml);
- $totalNumberOfUsers = 0;
- $query = '//settings/accounts/user';
- $entries = $settingsXpath->query($query);
- $totalNumberOfUsers = $entries->length;
- if ($_SESSION['userConnected']) {
- $userConnected = $_SESSION['userConnected'];
- $userFile = $_SESSION['userFile'];
-
- $userFileXml = new DOMDocument('1.0','UTF-8');
- $userFileXml->formatOutput = true;
- $userFileXml->preserveWhiteSpace = false;
- $userFileXml->load("data/".$userFile);
- $userFileXpath = new DOMXPath($userFileXml);
- }
- if (!$userConnected) { $notLogged = true; }
- if ($userConnected) {
- $userData = array(
- 'id' => $userConnected,
- 'fullName' => getUserFullName($userFileXpath), 'firstName' => getUserFirstName($userFileXpath),
- 'email' => getUserEmail($userFileXpath), 'location' => getUserLocation($userFileXpath), 'img' => getUserImg($userFileXpath)
- );
-
- $userTotals = array('km' => 0, 'days' => 0, 'itineraries' => 0, 'cities' => 0);
-
- $userVisitedCities = array();
- $userVisitedCountries = array();
- $randomCities = array();
-
- $userTravels = array();
- $userUpcomingTravels = array();
- $userEmptyTravels = array();
-
- $query = '//travel-document/travel-data/travel';
- $travelsNode = $userFileXpath->query($query);
-
- foreach ($travelsNode as $travel) {
- $currentTravel = array(
- 'id' => $travel->getAttribute('id'), 'name' => $travel->getAttribute('name'),
- 'type' => $travel->getAttribute('type'),
- 'typeName' => null, 'typeImg' => null,
- 'firstDay' => null, 'lastDay' => null,
- 'days' => 0, 'km' => 0, 'avgSpeed' => null, 'itineraries' => array(),
- 'visitedCities' => array(), 'visitedCountries' => array(), 'transportTypes' => array()
- );
-
- $currentTravel['typeName'] = getTravelTypeName($settingsXpath,$currentTravel['type']);
- $currentTravel['typeImg'] = getTravelTypeImg($settingsXpath,$currentTravel['type']);
-
- $itineraryCount = 0;
- $itinerariesNode = $travel->childNodes;
-
- foreach ($itinerariesNode as $itinerary) {
- $itineraryCount++;
-
- $currentItinerary = array(
- 'number' => $itineraryCount,
- 'depLocation' => getItineraryDepartureLocation($userFileXpath,$itinerary),
- 'depDate' => getItineraryDepartureDate($userFileXpath,$itinerary),
- 'arrLocation' => getItineraryArrivalLocation($userFileXpath,$itinerary),
- 'arrDate' => getItineraryArrivalDate($userFileXpath,$itinerary),
- 'transport' => getItineraryTransport($userFileXpath,$itinerary),
- 'depLocationName' => null, 'depLocationCountry' => null, 'depLocationLat' => null, 'depLocationLng' => null,
- 'arrLocationName' => null, 'arrLocationCountry' => null, 'arrLocationLat' => null, 'arrLocationLng' => null,
- 'km' => null, 'days' => null
- );
-
- $currentItinerary['depLocationName'] = getLocationName($settingsXpath,$currentItinerary['depLocation']);
- $currentItinerary['depLocationCountry'] = getLocationCountry($settingsXpath,$currentItinerary['depLocation']);
- $depCoords = getLocationLatLng($settingsXpath,$currentItinerary['depLocation']);
- $currentItinerary['depLocationLat'] = $depCoords['lat'];
- $currentItinerary['depLocationLng'] = $depCoords['lng'];
-
- $currentItinerary['arrLocationName'] = getLocationName($settingsXpath,$currentItinerary['arrLocation']);
- $currentItinerary['arrLocationCountry'] = getLocationCountry($settingsXpath,$currentItinerary['arrLocation']);
- $arrCoords = getLocationLatLng($settingsXpath,$currentItinerary['arrLocation']);
- $currentItinerary['arrLocationLat'] = $arrCoords['lat'];
- $currentItinerary['arrLocationLng'] = $arrCoords['lng'];
-
- if (!in_array($currentItinerary['depLocation'],$currentTravel['visitedCities'])) { $currentTravel['visitedCities'][] = $currentItinerary['depLocation']; }
- if (!in_array($currentItinerary['depLocationCountry'],$currentTravel['visitedCountries'])) { $currentTravel['visitedCountries'][] = $currentItinerary['depLocationCountry']; }
- $systemDepDate = substr($currentItinerary['depDate'],6,4) . "-" . substr($currentItinerary['depDate'],3,2) . "-" . substr($currentItinerary['depDate'],0,2);
-
- if (!in_array($currentItinerary['arrLocation'],$currentTravel['visitedCities'])) { $currentTravel['visitedCities'][] = $currentItinerary['arrLocation']; }
- if (!in_array($currentItinerary['arrLocationCountry'],$currentTravel['visitedCountries'])) { $currentTravel['visitedCountries'][] = $currentItinerary['arrLocationCountry']; }
- $systemArrDate = substr($currentItinerary['arrDate'],6,4) . "-" . substr($currentItinerary['arrDate'],3,2) . "-" . substr($currentItinerary['arrDate'],0,2);
-
- if ($currentTravel['firstDay'] == null) { $currentTravel['firstDay'] = $systemDepDate; }
- if (strtotime($systemDepDate) < strtotime($currentTravel['firstDay'])) { $currentTravel['firstDay'] = $systemDepDate; }
- if ($currentTravel['lastDay'] == null) { $currentTravel['lastDay'] = $systemArrDate; }
- if (strtotime($systemArrDate) > strtotime($currentTravel['lastDay'])) { $currentTravel['lastDay'] = $systemArrDate; }
-
- if (!in_array($currentItinerary['transport'],$currentTravel['transportTypes'])) {
- $currentTravel['transportTypes'][] = $currentItinerary['transport'];
- }
-
- $currentItinerary['days'] = _date_diff(strtotime($systemDepDate),strtotime($systemArrDate));
- $currentItinerary['km'] = getDistance($currentItinerary['depLocationLat'],$currentItinerary['depLocationLng'],$currentItinerary['arrLocationLat'],$currentItinerary['arrLocationLng']);
- $currentTravel['km'] = $currentTravel['km'] + $currentItinerary['km'];
-
- if (($currentTravel['days'] == 0) && ($currentTravel['km'] != 0)) { $currentTravel['days'] = 1; }
- if ($currentTravel['days'] == 0) { $currentTravel['avgSpeed'] = 0; }
- else { $currentTravel['avgSpeed'] = round($currentTravel['km'] / ($currentTravel['days'] * 24),2); }
-
- $currentTravel['itineraries'][] = $currentItinerary;
- }
-
- $systemTravelDays = _date_diff(strtotime($currentTravel['firstDay']),strtotime($currentTravel['lastDay']));
- $currentTravel['days'] = $systemTravelDays['days'];
-
- $userTotals['km'] = $userTotals['km'] + $currentTravel['km'];
- $userTotals['days'] = $userTotals['days'] + $currentTravel['days'];
- $userTotals['itineraries'] = $userTotals['itineraries'] + count($currentTravel['itineraries']);
- $userTotals['cities'] = $userTotals['cities'] + count($currentTravel['visitedCities']);
-
- foreach ($currentTravel['visitedCities'] as $city) {
- if (!in_array($city,$userVisitedCities)) { $userVisitedCities[] = $city; }
- }
-
- if ($currentTravel['km'] == 0) { $userEmptyTravels[] = $currentTravel; }
- else if (strtotime($currentTravel['firstDay']) > strtotime(date("Y-m-d")) || strtotime($currentTravel['lastDay']) > strtotime(date("Y-m-d"))) {
- $userUpcomingTravels[] = $currentTravel;
- }
- else if (strtotime($currentTravel['lastDay']) < strtotime(date("Y-m-d"))) { $userTravels[] = $currentTravel; }
-
- }
- }
- openHeadTag();
- if ($notLogged) { title("Error"); }
- else { title("Empty Travels"); }
- defaultMetaTag();
- closeHeadTag();
- if ($notLogged) { displayNotLogged(); }
- else {
- echo "<body class='bodygrey'>
- <div class='headerspace'></div>
- <div class='header'>
-
- <!-- logo -->
- <a href=''><img src='images/logo2.png' alt='Logo' /></a>";
-
- displayNavbar("Travel Information");
- displayAccountInfo($userData);
-
- echo "</div><!-- header -->";
- displaySidebar("Empty Travels");
- echo "<div class='maincontent'>
-
- <div class='breadcrumbs'>
- <a href='index.php'>Dashboard</a>
- <a href='travelinfo.php'>Travel Information</a>
- <span>Empty Travels</span>
- </div><!-- breadcrumbs -->
- <div class='left'>
-
- <h1 class='pageTitle'>Empty Travels</h1>
-
- <div class='widgetbox'>
- <h3><span>About</span></h3>
- <div class='content'>
- <p>If you have just created a new travel, it does not contain any itinerary yet.<br/>
- Here is the list of the travels that are still waiting for the input of an itinerary.</p>
- </div><!-- content-->
- </div><!-- widgetbox -->";
-
- if (count($userEmptyTravels) == 0) {
- echo "<h2>You have no empty travels at the moment. Why not adding a new one?</h2>";
- }
- else {
- echo "<h2>There ".qty("is","are",count($userEmptyTravels))." ".count($userEmptyTravels)." empty ".qty("travel","travels",count($userEmptyTravels))." waiting for an itinerary.</h2>";
- }
- echo "<br/>";
-
- echo "<table cellpadding='0' cellspacing='0' border='0' class='dyntable' id='emptyTravels'>
- <thead>
- <tr>
- <th class='head0'>Travel #</th>
- <th class='head1'>Travel ID</th>
- <th class='head0'>Travel type</th>
- <th class='head1'>Travel name</th>
- </tr>
- </thead>
- <colgroup>
- <col class='con0' />
- <col class='con1' />
- <col class='con0' />
- <col class='con1' />
- </colgroup>
- <tbody>";
-
- $travelCount = 0;
- foreach ($userEmptyTravels as $travel) {
- $travelCount++;
- echo "<tr class='gradeC'>
- <td class='center'>#".$travelCount."</td>
- <td class='center'><a href='travel.php?id=".$travel['id']."'>".$travel['id']."</a></td>
- <td class='center'><img src='images/".$travel['typeImg']."' alt=''/> ".$travel['typeName']."</td>
- <td class='center'><a href='travel.php?id=".$travel['id']."'>".$travel['name']."</a></td>
- </tr>";
- }
-
- echo "</tbody>
- <tfoot>
- <tr>
- <th class='head0'>Travel #</th>
- <th class='head1'>Travel ID</th>
- <th class='head0'>Travel type</th>
- <th class='head1'>Travel name</th>
- </tr>
- </tfoot>
- </table>
-
- </div><!--left-->
-
- <br clear='all' />
-
- </div><!--maincontent-->
- <br />";
- displayFooter();
- echo "</body>";
- }
- ?>
- </html>