<?

/************************************************************************
*
*                  OMS Web Service Functions 1.4
*                  -----------------------------
*
*     Copyright:   (C) 2007 moving primates GmbH
*      Function:   GetConcert
*   Description:   Gets all available information from one conert.
*   Change Date:   12/Jun/2007
*
*************************************************************************
*
*   REQUIRED ELEMENTS:
*
*   The following required elements must be send with the request:
*
*   - ConcertID    < value must be numeric
*   - Fieldlist    < must contain at least one child element
*
*   FIELD ELEMENTS:
*
*   The following are Field elements which define what you get back from
*   the Web Service function. They must be named "Field", their value
*   must be the exact name of the following enumeration and they must be
*   created as a child element of "Fieldlist".
*
*   Field elements are optional, however it is required that you
*   create at least one; their send order is irrelevant.
*
*    - ConcertID
*   - ConcertVenue
*   - ConcertStreet
*   - ConcertCity
*   - ConcertPostalCode
*   - ConcertCountryID
*   - ConcertCountryCode
*   - ConcertCountryName
*   - ConcertDate
*   - ConcertPrice
*   - CurrencyID
*   - CurrencyCode
*   - CurrencyName
*   - TicketsViaPhone
*   - TicketsViaInternet
*   - TicketsViaEmail
*   - ConcertAdditionalInfo
*
*    - ArtistID
*   - ArtistName
*   - ArtistURL
*   - Website
*   - MusicalInfluence
*   - SoundsLike
*   - ArtistPictureExists
*   - FirstOnlineDate
*   - PostalCode
*   - City
*   - CountryID
*   - CountryCode
*   - CountryName
*   - ArtistGenreID
*   - ArtistGenreParentID
*   - ArtistGenreTopParentID
*   - ArtistGenreName
*   - ArtistParentGenreName
*   - ArtistTopParentGenreName
*
*************************************************************************
*   More info about elements and the functions can be found inside
*   the documentation.
************************************************************************/

$ConcertID = "55614"; // Example ID
include("inc/config.php"); // Example path, point it to your config.php


$dom = create_document();
$root = create_root_element($dom, "OMS");
create_element_attribute($root, "xmlns", $oms_cfg['artist_data_xmlns'] . "/GetConcert");


// Here we are defining the REQUIRED elements

$el_concert_id = create_element($dom, "ConcertID");
set_element_value($dom, $el_concert_id, $ConcertID);


// Here we are defining the FIELDLIST and its elements (requesting all available)

$el_fields_list = create_element($dom, "FieldList");

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertVenue");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertStreet");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertCity");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertPostalCode");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertCountryID");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertCountryCode");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertCountryName");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertDate");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertPrice");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "CurrencyID");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "CurrencyCode");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "CurrencyName");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "TicketsViaPhone");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "TicketsViaInternet");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "TicketsViaEmail");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ConcertAdditionalInfo");
add_child_element($el_fields_list, $el_field);


$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistID");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistName");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistURL");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "Website");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "MusicalInfluence");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "SoundsLike");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistPictureExists");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "FirstOnlineDate");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "PostalCode");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "City");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "CountryID");
add_child_element($el_fields_list, $el_field);
                                   
$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "CountryCode");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "CountryName");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistGenreID");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistGenreParentID");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistGenreTopParentID");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistGenreName");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistParentGenreName");
add_child_element($el_fields_list, $el_field);

$el_field = create_element($dom, "Field");
set_element_value($dom, $el_field, "ArtistTopParentGenreName");
add_child_element($el_fields_list, $el_field);


// Preparing the XML which is going to be send

add_child_element($root, $el_concert_id);
add_child_element($root, $el_fields_list);

$xml_str = dump_to_string($dom);

$par = array("String_1" => $oms_cfg['ws_login'],
            
"String_2" => $oms_cfg['ws_password'],
            
"String_3" => $xml_str );


// Executing the Web Service function "GetConcert"

$GetConcert = ProcessWSCall($oms_cfg['artist_data_ws_url'], "GetConcert", $par, $oms_cfg['artist_data_xmlns']);


/************************************************************************
*
*   From here on we assign the content of the array to variables and
*   create some example output. This was done so you can see something
*   when opening the PHP files with your browser.
*
*   If you are looking for this code without any comments or output,
*   then check out the folder 'minimal_code'.
*
************************************************************************/

?>
<style type="text/css">
<!--
.font {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
}
-->
</style>
<span class="font"> <strong>We sent the following elements with our <u>REQUEST</u>:</strong><br />
<ul>
    <li><em>ConcertID</em> - value was &quot;65108&quot;, an example ID from an artist</li>
    <li><em>Fieldlist</em> - the requested child elements were: <i>
        <ul>
            <li>ConcertID</li>
            <li>ConcertVenue</li>
            <li>ConcertStreet</li>
            <li>ConcertCity</li>
            <li>ConcertPostalCode</li>
            <li>ConcertCountryID</li>
            <li>ConcertCountryCode</li>
            <li>ConcertCountryName</li>
            <li>ConcertDate</li>
            <li>ConcertPrice</li>
            <li>CurrencyID</li>
            <li>CurrencyCode</li>
            <li>CurrencyName</li>
            <li>TicketsViaPhone</li>
            <li>TicketsViaInternet</li>
            <li>TicketsViaEmail</li>
            <li>ConcertAdditionalInfo</li>
            <li>ArtistName</li>
            <li>ArtistURL</li>
            <li>Website</li>
            <li>MusicalInfluence</li>
            <li>SoundsLike</li>
            <li>ArtistPictureExists</li>
            <li>FirstOnlineDate</li>
            <li>PostalCode</li>
            <li>City</li>
            <li>CountryID</li>
            <li>CountryCode</li>
            <li>CountryName</li>
            <li>ArtistGenreID</li>
            <li>ArtistGenreParentID</li>
            <li>ArtistGenreTopParentID</li>
            <li>ArtistGenreName</li>
            <li>ArtistParentGenreName</li>
            <li>ArtistTopParentGenreName</li>
        </ul>
        </i> </li>
</ul>
<br />
<strong>We got back the following array in <u>RESPONSE</u>:</strong><br />
<pre><? var_dump($GetConcert); ?>
</pre>
<br />
<strong>We assign the array to  seperate variables and <u>OUTPUT</u> these (without any design here):</strong><br />
<ul>
    <?
    $ConcertVenue
= $GetConcert['TourDate'][0]['ConcertVenue'];
    
$ConcertStreet = $GetConcert['TourDate'][0]['ConcertStreet'];
    
$ConcertCity = $GetConcert['TourDate'][0]['ConcertCity'];
    
$ConcertPostalCode = $GetConcert['TourDate'][0]['ConcertPostalCode'];
    
$ConcertCountryID = $GetConcert['TourDate'][0]['ConcertCountryID'];
    
$ConcertCountryCode = $GetConcert['TourDate'][0]['ConcertCountryCode'];
    
$ConcertCountryName = $GetConcert['TourDate'][0]['ConcertCountryName'];
    
$ConcertDate = $GetConcert['TourDate'][0]['ConcertDate'];
    
$ConcertPrice = $GetConcert['TourDate'][0]['ConcertPrice'];
    
$CurrencyID = $GetConcert['TourDate'][0]['CurrencyID'];
    
$CurrencyCode = $GetConcert['TourDate'][0]['CurrencyCode'];
    
$CurrencyName = $GetConcert['TourDate'][0]['CurrencyName'];
    
$TicketsViaPhone = $GetConcert['TourDate'][0]['TicketsViaPhone'];
    
$TicketsViaInternet = $GetConcert['TourDate'][0]['TicketsViaInternet'];
    
$TicketsViaEmail = $GetConcert['TourDate'][0]['TicketsViaEmail'];
    
$ConcertAdditionalInfo = $GetConcert['TourDate'][0]['ConcertAdditionalInfo'];
    
    
$ArtistID = $GetConcert['TourDate'][0]['ArtistID'];
    
$ArtistName = $GetConcert['TourDate'][0]['ArtistName'];
    
$ArtistURL = $GetConcert['TourDate'][0]['ArtistURL'];
    
$Website = $GetConcert['TourDate'][0]['Website'];
    
$MusicalInfluence = $GetConcert['TourDate'][0]['MusicalInfluence'];
    
$SoundsLike = $GetConcert['TourDate'][0]['SoundsLike'];
    
$ArtistPictureExists = $GetConcert['TourDate'][0]['ArtistPictureExists'];
    
$FirstOnlineDate = $GetConcert['TourDate'][0]['FirstOnlineDate'];
    
$PostalCode = $GetConcert['TourDate'][0]['PostalCode'];
    
$City = $GetConcert['TourDate'][0]['City'];
    
$CountryID = $GetConcert['TourDate'][0]['CountryID'];
    
$CountryCode = $GetConcert['TourDate'][0]['CountryCode'];
    
$CountryName = $GetConcert['TourDate'][0]['CountryName'];
    
$ArtistGenreID = $GetConcert['TourDate'][0]['ArtistGenreID'];
    
$ArtistGenreParentID = $GetConcert['TourDate'][0]['ArtistGenreParentID'];
    
$ArtistGenreTopParentID = $GetConcert['TourDate'][0]['ArtistGenreTopParentID'];
    
$ArtistGenreName = $GetConcert['TourDate'][0]['ArtistGenreName'];
    
$ArtistParentGenreName = $GetConcert['TourDate'][0]['ArtistParentGenreName'];
    
$ArtistTopParentGenreName = $GetConcert['TourDate'][0]['ArtistTopParentGenreName'];
?>
    <li>Concert Venue: <? echo $ConcertVenue; ?></li>
    <li>Concert Street: <? echo $ConcertStreet; ?></li>
    <li>Concert City: <? echo $ConcertCity; ?></li>
    <li>Concert Postal Code: <? echo $ConcertPostalCode; ?></li>
    <li>Concert Country ID: <? echo $ConcertCountryID; ?></li>
    <li>Concert Country Code: <? echo $ConcertCountryCode; ?></li>
    <li>Concert Country Name: <? echo $ConcertCountryName; ?></li>
    <li>Concert Date: <? echo $ConcertDate; ?></li>
    <li>Concert Price: <? echo $ConcertPrice; ?></li>
    <li>Currency ID: <? echo $CurrencyID; ?></li>
    <li>Currency Code: <? echo $CurrencyCode; ?></li>
    <li>Currency Name: <? echo $CurrencyName; ?></li>
    <li>Tickets Via Phone: <? echo $TicketsViaPhone; ?></li>
    <li>Tickets Via Internet: <? echo $TicketsViaInternet; ?></li>
    <li>Tickets Via Email: <? echo $TicketsViaEmail; ?></li>
    <li>Concert Additional Info: <? echo $ConcertAdditionalInfo; ?></li>
    <li>Artist ID: <? echo $ArtistID; ?></li>
    <li>Artist Name: <? echo $ArtistName; ?></li>
    <li>Artist URL: <? echo $ArtistURL; ?></li>
    <li>Web Site: <? echo $Website; ?></li>
    <li>Musical Influence: <? echo $MusicalInfluence; ?></li>
    <li>Sounds Like: <? echo $SoundsLike; ?></li>
    <li>Artist Picture Exists: <? echo $ArtistPictureExists; ?></li>
    <li>First Online Date: <? echo $FirstOnlineDate; ?></li>
    <li>Postal Code: <? echo $PostalCode; ?></li>
    <li>City: <? echo $City; ?></li>
    <li>Country ID: <? echo $CountryID; ?></li>
    <li>Country Code: <? echo $CountryCode; ?></li>
    <li>Country Name: <? echo $CountryName; ?></li>
    <li>Artist Genre ID: <? echo $ArtistGenreID; ?></li>
    <li>Artist Genre Parent ID: <? echo $ArtistGenreParentID; ?></li>
    <li>Artist Genre Top Parent ID: <? echo $ArtistGenreTopParentID; ?></li>
    <li>Artist Genre Name: <? echo $ArtistGenreName; ?></li>
    <li>Artist Parent Genre Name: <? echo $ArtistParemtGenreName; ?></li>
    <li>Artist Top Parent Genre Name: <? echo $ArtistTopParentGenreName; ?></li>
</ul>
</span>