<?php
/* Updates list of moniva paracel locations
DO NOT ALLOW INPUTS, THIS IS PUBLIC!
*/
//Ominva location files
$XMLUrl = 'http://w...content-available-to-author-only...a.lv/locations.xml';
//Countries for which to get paracel boxes
$countries = array('LV','LT','EE');
//Should we group by city or just show all locations
$byCity = true;
//Give full data or just small, small is good for listing in front end where you need only minimal info.
$full = false;
/***
* Main manipulator of data, returns array with locations.
* If $byCity was set true, you need to expect it as it
* will be one dimension deeper than if false.
**/
function sortLocations($XMLUrl, $countries, $byCity, $full) {
//Load xml
$xml = simplexml_load_file($XMLUrl);
//Count countries and decide to show it
$country = count($countries) > 1 ? '[ $box->A0_NAME]' : '';
//If city is needed
$city = $byCity ? '[ $box->ZIP]' : '';
//premake array
$return = array();
try {
//Loop through the xml
foreach($xml->LOCATION as $box) {
//Check if in country list
if(in_array( $box->A0_NAME, $countries)) {
//Check if country exists
if(!empty($country)) {
if(!array_key_exists( $box->A0_NAME,$return)) {
$return[ $box->A0_NAME] = array();
}
}
//Is this EE
$isEE = $box->A0_NAME == 'EE' ? TRUE : FALSE ;
//Check if city needed, if so the add it.
if($byCity) {
if(!array_key_exists( $box->ZIP, ${'return'.$country})) {
${'return'.$country.'['. $box->ZIP.']'} = array();
}
}
//var_dump(${'return'});
//Generate adress, EE need more than rest, but do rest for everyone.
$address = '';
for ($k = 1 ; $k <= 8; $k++){
if($k == 1) {//we need 1st one only for EE
if($isEE) {
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? $box->{'A'.$k.'_NAME'}.' ':'';
}
} else {//Add rest just in order
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? $box->{'A'.$k.'_NAME'}.' ':'';
}
}
//Lets generate data
if($full) {
$boxData = array (
'name' => $box->NAME,
'country' => $box->A0_NAME,
'hours' => $box->SERVICE_HOURS,
'coordinates' => $box->Y_COORDINATE . ' ' . $box->X_COORDINATE,
'address' => $address,
'type' => $box->TYPE,
'city' => $isEE ? $box->A2_NAME : $box->A1_NAME,
);
} else {
$boxData = array (
'name' => $box->NAME,
'country' => $box->A0_NAME,
'address' => $address,
);
}
//Now lets add it finally
//var_dump($return);
array_push( ${'return'.$country.($isEE ? $cityEE : $city)} , $boxData);
} //ENd of check if in country list
} // ENd of loop
echo 'Caught exception: ', $e->getMessage(), "\n";
}
var_dump($return);
return $return;
} //End of function
var_dump(sortLocations($XMLUrl, $countries, $byCity, $full));
PD9waHAKLyogVXBkYXRlcyBsaXN0IG9mIG1vbml2YSBwYXJhY2VsIGxvY2F0aW9ucwogICBETyBOT1QgQUxMT1cgSU5QVVRTLCBUSElTIElTIFBVQkxJQyEKICovCgovL09taW52YSBsb2NhdGlvbiBmaWxlcwokWE1MVXJsID0gJ2h0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLmx2L2xvY2F0aW9ucy54bWwnOwoKLy9Db3VudHJpZXMgZm9yIHdoaWNoIHRvIGdldCBwYXJhY2VsIGJveGVzCiRjb3VudHJpZXMgPSBhcnJheSgnTFYnLCdMVCcsJ0VFJyk7CgovL1Nob3VsZCB3ZSBncm91cCBieSBjaXR5IG9yIGp1c3Qgc2hvdyBhbGwgbG9jYXRpb25zCiRieUNpdHkgPSB0cnVlOwoKLy9HaXZlIGZ1bGwgZGF0YSBvciBqdXN0IHNtYWxsLCBzbWFsbCBpcyBnb29kIGZvciBsaXN0aW5nIGluIGZyb250IGVuZCB3aGVyZSB5b3UgbmVlZCBvbmx5IG1pbmltYWwgaW5mby4KJGZ1bGwgPSBmYWxzZTsKCiAgCi8qKioKICogTWFpbiBtYW5pcHVsYXRvciBvZiBkYXRhLCByZXR1cm5zIGFycmF5IHdpdGggbG9jYXRpb25zLgogKiBJZiAkYnlDaXR5IHdhcyBzZXQgdHJ1ZSwgeW91IG5lZWQgdG8gZXhwZWN0IGl0IGFzIGl0IAogKiB3aWxsIGJlIG9uZSBkaW1lbnNpb24gZGVlcGVyIHRoYW4gaWYgZmFsc2UuCiAqKi8KZnVuY3Rpb24gc29ydExvY2F0aW9ucygkWE1MVXJsLCAkY291bnRyaWVzLCAkYnlDaXR5LCAkZnVsbCkgewogIAogIC8vTG9hZCB4bWwKICAkeG1sID0gc2ltcGxleG1sX2xvYWRfZmlsZSgkWE1MVXJsKTsKICAKICAvL0NvdW50IGNvdW50cmllcyBhbmQgZGVjaWRlIHRvIHNob3cgaXQKICAkY291bnRyeSA9IGNvdW50KCRjb3VudHJpZXMpID4gMSA/ICdbICRib3gtPkEwX05BTUVdJyA6ICcnOwogIAogIC8vSWYgY2l0eSBpcyBuZWVkZWQKICAkY2l0eSAgID0gJGJ5Q2l0eSA/ICdbICRib3gtPlpJUF0nIDogJyc7CiAgCiAgLy9wcmVtYWtlIGFycmF5CiAgJHJldHVybiA9IGFycmF5KCk7CiAgCiAgdHJ5IHsKICAKICAgIC8vTG9vcCB0aHJvdWdoIHRoZSB4bWwKICAgIGZvcmVhY2goJHhtbC0+TE9DQVRJT04gYXMgJGJveCkgewogICAgICAKICAgICAgLy9DaGVjayBpZiBpbiBjb3VudHJ5IGxpc3QKICAgICAgaWYoaW5fYXJyYXkoICRib3gtPkEwX05BTUUsICRjb3VudHJpZXMpKSB7CiAgICAgIAogICAgICAgIC8vQ2hlY2sgaWYgY291bnRyeSBleGlzdHMKICAgICAgICBpZighZW1wdHkoJGNvdW50cnkpKSB7CiAgICAgICAgICBpZighYXJyYXlfa2V5X2V4aXN0cyggJGJveC0+QTBfTkFNRSwkcmV0dXJuKSkgewogICAgICAgICAgICAkcmV0dXJuWyAkYm94LT5BMF9OQU1FXSA9IGFycmF5KCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vSXMgdGhpcyBFRQogICAgICAgICRpc0VFID0gJGJveC0+QTBfTkFNRSA9PSAnRUUnID8gVFJVRSA6IEZBTFNFIDsKICAgICAgICAKICAgICAgICAvL0NoZWNrIGlmIGNpdHkgbmVlZGVkLCBpZiBzbyB0aGUgYWRkIGl0LgogICAgICAgIGlmKCRieUNpdHkpIHsKICAgICAgICAgIGlmKCFhcnJheV9rZXlfZXhpc3RzKCAkYm94LT5aSVAsICR7J3JldHVybicuJGNvdW50cnl9KSkgewogICAgICAgICAgICAkeydyZXR1cm4nLiRjb3VudHJ5LidbJy4gJGJveC0+WklQLiddJ30gPSBhcnJheSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAvL3Zhcl9kdW1wKCR7J3JldHVybid9KTsKICAgICAgICAKICAgICAgICAvL0dlbmVyYXRlIGFkcmVzcywgRUUgbmVlZCBtb3JlIHRoYW4gcmVzdCwgYnV0IGRvIHJlc3QgZm9yIGV2ZXJ5b25lLgogICAgICAgICRhZGRyZXNzID0gJyc7CiAgICAgICAgZm9yICgkayA9IDEgOyAkayA8PSA4OyAkaysrKXsKICAgICAgICAgIGlmKCRrID09IDEpIHsvL3dlIG5lZWQgMXN0IG9uZSBvbmx5IGZvciBFRQogICAgICAgICAgICBpZigkaXNFRSkgewogICAgICAgICAgICAgICRhZGRyZXNzIC49ICFlbXB0eSgkYm94LT57J0EnLiRrLidfTkFNRSd9ICkgPyAgJGJveC0+eydBJy4kay4nX05BTUUnfS4nICc6Jyc7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7Ly9BZGQgcmVzdCBqdXN0IGluIG9yZGVyCiAgICAgICAgICAgICRhZGRyZXNzIC49ICFlbXB0eSgkYm94LT57J0EnLiRrLidfTkFNRSd9ICkgPyAgJGJveC0+eydBJy4kay4nX05BTUUnfS4nICc6Jyc7CiAgICAgICAgICB9IAogICAgICAgIH0KICAgICAgICAKICAgICAgICAvL0xldHMgZ2VuZXJhdGUgZGF0YQogICAgICAgIGlmKCRmdWxsKSB7CiAgICAgICAgICAkYm94RGF0YSA9IGFycmF5ICgKICAgICAgICAgICAgJ25hbWUnID0+ICAkYm94LT5OQU1FLAogICAgICAgICAgICAnY291bnRyeScgPT4gICRib3gtPkEwX05BTUUsCiAgICAgICAgICAgICdob3VycycgPT4gICRib3gtPlNFUlZJQ0VfSE9VUlMsCiAgICAgICAgICAgICdjb29yZGluYXRlcycgPT4gICRib3gtPllfQ09PUkRJTkFURSAuICcgJyAuICAkYm94LT5YX0NPT1JESU5BVEUsCiAgICAgICAgICAgICdhZGRyZXNzJyA9PiAkYWRkcmVzcywKICAgICAgICAgICAgJ3R5cGUnID0+ICAkYm94LT5UWVBFLAogICAgICAgICAgICAnY2l0eScgPT4gJGlzRUUgPyAgJGJveC0+QTJfTkFNRSA6ICAkYm94LT5BMV9OQU1FLAogICAgICAgICAgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgJGJveERhdGEgPSBhcnJheSAoCiAgICAgICAgICAgICduYW1lJyA9PiAgJGJveC0+TkFNRSwKICAgICAgICAgICAgJ2NvdW50cnknID0+ICAkYm94LT5BMF9OQU1FLAogICAgICAgICAgICAnYWRkcmVzcycgPT4gJGFkZHJlc3MsCiAgICAgICAgICApOyAKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy9Ob3cgbGV0cyBhZGQgaXQgZmluYWxseQogICAgICAgIC8vdmFyX2R1bXAoJHJldHVybik7CiAgICAgICAgYXJyYXlfcHVzaCggJHsncmV0dXJuJy4kY291bnRyeS4oJGlzRUUgPyAkY2l0eUVFIDogJGNpdHkpfSAsICRib3hEYXRhKTsKICAgICAgICAKICAgICAgfSAvL0VOZCBvZiBjaGVjayBpZiBpbiBjb3VudHJ5IGxpc3QKICAgIH0gLy8gRU5kIG9mIGxvb3AKICAKICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgIGVjaG8gJ0NhdWdodCBleGNlcHRpb246ICcsICRlLT5nZXRNZXNzYWdlKCksICJcbiI7CiAgfQogIAogIHZhcl9kdW1wKCRyZXR1cm4pOwogIHJldHVybiAkcmV0dXJuOwogIAogIAp9IC8vRW5kIG9mIGZ1bmN0aW9uCgoKdmFyX2R1bXAoc29ydExvY2F0aW9ucygkWE1MVXJsLCAkY291bnRyaWVzLCAkYnlDaXR5LCAkZnVsbCkpOw==
Main.java:1: error: class, interface, or enum expected
<?php
^
Main.java:9: error: class, interface, or enum expected
$XMLUrl = 'http://www.omniva.lv/locations.xml';
^
Main.java:9: error: unclosed character literal
$XMLUrl = 'http://www.omniva.lv/locations.xml';
^
Main.java:12: error: unclosed character literal
$countries = array('LV','LT','EE');
^
Main.java:12: error: unclosed character literal
$countries = array('LV','LT','EE');
^
Main.java:15: error: class, interface, or enum expected
$byCity = true;
^
Main.java:18: error: class, interface, or enum expected
$full = false;
^
Main.java:26: error: class, interface, or enum expected
function sortLocations($XMLUrl, $countries, $byCity, $full) {
^
Main.java:32: error: class, interface, or enum expected
$country = count($countries) > 1 ? '[(string) $box->A0_NAME]' : '';
^
Main.java:32: error: unclosed character literal
$country = count($countries) > 1 ? '[(string) $box->A0_NAME]' : '';
^
Main.java:32: error: unclosed character literal
$country = count($countries) > 1 ? '[(string) $box->A0_NAME]' : '';
^
Main.java:32: error: empty character literal
$country = count($countries) > 1 ? '[(string) $box->A0_NAME]' : '';
^
Main.java:35: error: class, interface, or enum expected
$city = $byCity ? '[(string) $box->ZIP]' : '';
^
Main.java:35: error: unclosed character literal
$city = $byCity ? '[(string) $box->ZIP]' : '';
^
Main.java:35: error: unclosed character literal
$city = $byCity ? '[(string) $box->ZIP]' : '';
^
Main.java:35: error: empty character literal
$city = $byCity ? '[(string) $box->ZIP]' : '';
^
Main.java:38: error: class, interface, or enum expected
$return = array();
^
Main.java:40: error: class, interface, or enum expected
try {
^
Main.java:52: error: class, interface, or enum expected
}
^
Main.java:56: error: unclosed character literal
$isEE = (string) $box->A0_NAME == 'EE' ? TRUE : FALSE ;
^
Main.java:56: error: unclosed character literal
$isEE = (string) $box->A0_NAME == 'EE' ? TRUE : FALSE ;
^
Main.java:59: error: class, interface, or enum expected
if($byCity) {
^
Main.java:60: error: unclosed character literal
if(!array_key_exists((string) $box->ZIP, ${'return'.$country})) {
^
Main.java:60: error: unclosed character literal
if(!array_key_exists((string) $box->ZIP, ${'return'.$country})) {
^
Main.java:61: error: unclosed character literal
${'return'.$country.'['.(string) $box->ZIP.']'} = array();
^
Main.java:61: error: unclosed character literal
${'return'.$country.'['.(string) $box->ZIP.']'} = array();
^
Main.java:62: error: class, interface, or enum expected
}
^
Main.java:68: error: empty character literal
$address = '';
^
Main.java:69: error: class, interface, or enum expected
for ($k = 1 ; $k <= 8; $k++){
^
Main.java:69: error: class, interface, or enum expected
for ($k = 1 ; $k <= 8; $k++){
^
Main.java:69: error: class, interface, or enum expected
for ($k = 1 ; $k <= 8; $k++){
^
Main.java:72: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:72: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:72: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:72: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:72: error: empty character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:73: error: class, interface, or enum expected
}
^
Main.java:75: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:75: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:75: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:75: error: unclosed character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:75: error: empty character literal
$address .= !empty($box->{'A'.$k.'_NAME'} ) ? (string) $box->{'A'.$k.'_NAME'}.' ':'';
^
Main.java:76: error: class, interface, or enum expected
}
^
Main.java:82: error: unclosed character literal
'name' => (string) $box->NAME,
^
Main.java:82: error: unclosed character literal
'name' => (string) $box->NAME,
^
Main.java:83: error: unclosed character literal
'country' => (string) $box->A0_NAME,
^
Main.java:83: error: unclosed character literal
'country' => (string) $box->A0_NAME,
^
Main.java:84: error: unclosed character literal
'hours' => (string) $box->SERVICE_HOURS,
^
Main.java:84: error: unclosed character literal
'hours' => (string) $box->SERVICE_HOURS,
^
Main.java:85: error: unclosed character literal
'coordinates' => (string) $box->Y_COORDINATE . ' ' . (string) $box->X_COORDINATE,
^
Main.java:85: error: unclosed character literal
'coordinates' => (string) $box->Y_COORDINATE . ' ' . (string) $box->X_COORDINATE,
^
Main.java:86: error: unclosed character literal
'address' => $address,
^
Main.java:86: error: unclosed character literal
'address' => $address,
^
Main.java:87: error: unclosed character literal
'type' => (string) $box->TYPE,
^
Main.java:87: error: unclosed character literal
'type' => (string) $box->TYPE,
^
Main.java:88: error: unclosed character literal
'city' => $isEE ? (string) $box->A2_NAME : (string) $box->A1_NAME,
^
Main.java:88: error: unclosed character literal
'city' => $isEE ? (string) $box->A2_NAME : (string) $box->A1_NAME,
^
Main.java:90: error: class, interface, or enum expected
} else {
^
Main.java:92: error: unclosed character literal
'name' => (string) $box->NAME,
^
Main.java:92: error: unclosed character literal
'name' => (string) $box->NAME,
^
Main.java:93: error: unclosed character literal
'country' => (string) $box->A0_NAME,
^
Main.java:93: error: unclosed character literal
'country' => (string) $box->A0_NAME,
^
Main.java:94: error: unclosed character literal
'address' => $address,
^
Main.java:94: error: unclosed character literal
'address' => $address,
^
Main.java:96: error: class, interface, or enum expected
}
^
Main.java:100: error: unclosed character literal
array_push( ${'return'.$country.($isEE ? $cityEE : $city)} , $boxData);
^
Main.java:100: error: unclosed character literal
array_push( ${'return'.$country.($isEE ? $cityEE : $city)} , $boxData);
^
Main.java:102: error: class, interface, or enum expected
} //ENd of check if in country list
^
Main.java:106: error: unclosed character literal
echo 'Caught exception: ', $e->getMessage(), "\n";
^
Main.java:106: error: unclosed character literal
echo 'Caught exception: ', $e->getMessage(), "\n";
^
Main.java:107: error: class, interface, or enum expected
}
^
Main.java:110: error: class, interface, or enum expected
return $return;
^
Main.java:113: error: class, interface, or enum expected
} //End of function
^
73 errors