class ListItem {
public $ItemID;
public $Builder;
public $Model;
public $YearBuilt;
public $WebNotes;
public $Code;
public $ImageUrl;
public $Sold;
public $PendingSale;
public $ReservedPrice;
public $SellPriceFormatted;
public $SellPriceReduced;
public $OldSellPriceFormatted;
public $Length;
public $Engine;
public $PostName;
}
?>
// options for ssl in php 5.6.5
$opts = array(
'ssl' => array(
'ciphers' => 'RC4-SHA',
'verify_peer' => false,
'verify_peer_name' => false
)
);
// SOAP 1.2 client
$soap_params = array(
'encoding' => 'UTF-8',
'verifypeer' => false,
'verifyhost' => false,
'soap_version' => SOAP_1_2,
'trace' => 1,
'exceptions' => 1,
'connection_timeout' => 180,
'stream_context' => stream_context_create($opts)
);
$client = new SoapClient("http://api.digibusiness.it/navis2ws/navis2ws.asmx?WSDL", $soap_params);
$ListItems = array();
//BUILDERS
$get_builders_params = array(
"groupID" => $config->GroupGuid
);
if (isset($newBoats)) {
$get_builders_params["newBoats"] = $newBoats;
}
if (isset($soldBoats)) {
$get_builders_params["soldBoats"] = $soldBoats;
}
if ($config->PageType === "sales") {
$get_builders_params["saleBoats"] = true;
}
else if ($config->PageType === "charter") {
$get_builders_params["charterBoats"] = true;
}
$get_builders_params["visibilityLevel"] = $config->VisibilityLevel;
$builder_cache_path = ini_get("soap.wsdl_cache_dir") . "/GetBuildersString." . str_replace(http_build_query($get_builders_params), "&", "_") . ".cache.xml";
if (file_exists($builder_cache_path) && ((time() - filemtime($builder_cache_path)) < (30 * 60))) {
//prendo il file dalla cache (max 30 minuti di cache)
$GetBuilders = simplexml_load_file($builder_cache_path);
}
else {
//chiamo il webservice e salvo il file
$GetBuilders = $client->GetBuildersString($get_builders_params);
$GetBuilders = new SimpleXMLElement($GetBuilders->GetBuildersStringResult);
$GetBuilders->asXML($builder_cache_path);
}
//1. chiamata webservice
//BOATS LIST
$params = array(
"groupID" => $config->GroupGuid,
"webNotes" => $config->NotesInDescription,
"webNotesField" => $config->NotesInDescriptionType,
"includeVisibilityLevels" => $config->AllowVisibilityLevelsParam,
"visibilityLevel" => $config->VisibilityLevel,
"imagesResolution" => (($config->BoatListThumbnailWidth <= 128) ? "Res128" : (($config->BoatListThumbnailWidth <= 256) ? "Res256" : "Res512")),
//per ordinare per data di modifica
//"orderBy" => "UpdDate",
//"orderByDesc" => true,
"culture" => $config->CultureWS
);
if ($config->PageType === "sales") {
$params["saleBoats"] = true;
}
else if ($config->PageType === "charter") {
$params["charterBoats"] = true;
}
if (isset($newBoats)) {
$params["newBoats"] = $newBoats;
}
if (isset($soldBoats)) {
$params["soldBoats"] = $soldBoats;
}
$freeText = normalizeStr(get("freeText"));
if (!empty($freeText)) $params["freeText"] = $freeText;
//$reducedPrice = normalizeStr(get("reducedPrice"));
//if (!empty($reducedPrice)) $params["reducedPrice"] = $reducedPrice;
$model = normalizeStr(get("model"));
if (!empty($model)) {
$params["model"] = $model;
$params["partialSearchForModel"] = true;
}
//La variabile $boatType può avere un valore di default
if (!isParamEmpty(get("boatType"))) {
$boatType = normalizeStr(get("boatType"));
}
if (isset($boatType)) {
if (in_array($boatType, array("M", "V", "G"))) {
$params["boatType"] = $boatType;
}
else if ($boatType == "Open") {
$params["boatFamily"] = "1001,1002,1003,1004,1005,1006,1011,1014,1015,1016";
$boatType = null;
}
else if ($boatType == "Fly") {
$params["boatFamily"] = "1008,1009,1010,1011,1012,1013";
$boatType = null;
}
else if ($boatType == "Fisherman") {
$params["boatFamily"] = "1007";
$boatType = null;
}
}
else {
$boatType = null;
}
if (!isParamEmpty(get("builder"))) $params["builder"] = normalizeStr(get("builder"));
if (!isParamEmpty(get("lengthFrom"))) $params["lengthFrom"] = normalizeStr(get("lengthFrom"));
if (!isParamEmpty(get("lengthTo"))) $params["lengthTo"] = normalizeStr(get("lengthTo"));
if (!isParamEmpty(get("beamFrom"))) $params["beamFrom"] = normalizeStr(get("beamFrom"));
if (!isParamEmpty(get("beamTo"))) $params["beamTo"] = normalizeStr(get("beamTo"));
if (!isParamEmpty(get("draftFrom"))) $params["draftFrom"] = normalizeStr(get("draftFrom"));
if (!isParamEmpty(get("draftTo"))) $params["draftTo"] = normalizeStr(get("draftTo"));
if (!isParamEmpty(get("navigationZone"))) $params["navigationZone"] = normalizeStr(get("navigationZone"));
if (!isParamEmpty(get("priceFrom"))) $params["priceFrom"] = normalizeStr(get("priceFrom"));
if (!isParamEmpty(get("priceTo"))) $params["priceTo"] = normalizeStr(get("priceTo"));
if (!isParamEmpty(get("yearFrom"))) $params["yearFrom"] = normalizeStr(get("yearFrom"));
if (!isParamEmpty(get("yearTo"))) $params["yearTo"] = normalizeStr(get("yearTo"));
if (!isParamEmpty(get("enginesFamily"))) $params["enginesFamily"] = normalizeStr(get("enginesFamily"));
if (!isParamEmpty(get("enginesCountFrom"))) $params["enginesCountFrom"] = normalizeStr(get("enginesCountFrom"));
if (!isParamEmpty(get("enginesCountTo"))) $params["enginesCountTo"] = normalizeStr(get("enginesCountTo"));
if (!isParamEmpty(get("hpFrom"))) $params["hpFrom"] = normalizeStr(get("hpFrom"));
if (!isParamEmpty(get("hpTo"))) $params["hpTo"] = normalizeStr(get("hpTo"));
if (!isParamEmpty(get("hullMaterial"))) $params["hullMaterial"] = normalizeStr(get("hullMaterial"));
if ((empty($boatType)) || (in_array($boatType, array("M", "V", "G")))) {
if (($config->PageType == "sales") || ($config->PageType == "sharing") || ($boatListCharterMode != 2)) {
//chiamo il webmethod per la lista delle barche in vendita o per il metodo charter base
$GetBoatsList = $client->GetBoatsListAdvancedOptionsString($params);
$GetBoatsList = new SimpleXMLElement($GetBoatsList->GetBoatsListAdvancedOptionsStringResult);
}
else {
$cache_time = 15 * 60; //15 minuti di cache
//GET CHARTER SEASONS
$path = ini_get("soap.wsdl_cache_dir")."/GetCharterSeasons.".$config->GroupGuid.".".$config->CultureWS.".cache.xml";
if (file_exists($path) && ((time() - filemtime($path)) < $cache_time)) {
//prendo il file dalla cache
$seasonsTbl = simplexml_load_file($path);
}
else {
//chiamo il webservice e salvo il file
$seasonsTbl = $client->GetCharterSeasonsString(array("groupID" => $config->GroupGuid, "culture" => $config->CultureWS));
$seasonsTbl = new SimpleXMLElement($seasonsTbl->GetCharterSeasonsStringResult);
$seasonsTbl->asXML($path);
}
//crezione della lista stagioni
$charterSeasons = array();
$letter = 65;
foreach($seasonsTbl->children() as $season) {
$id_season = (string)$season->IdSeason;
$charterSeasons[$id_season] = array(
"Text" => (string)$season->Text,
"PeriodFrom" => (string)$season->PeriodFrom,
"PeriodTo" => (string)$season->PeriodTo,
"D" => $boatListCharterShowDay ? chr($letter++) : null,
"E" => $boatListCharterShowWeekEnd ? chr($letter++) : null,
"W" => $boatListCharterShowWeek ? chr($letter++) : null,
);
}
//GET BOAT SERVICE TYPES
$path = ini_get("soap.wsdl_cache_dir")."/GetBoatServiceTypes.".$config->GroupGuid.".".$config->CultureWS.".cache.xml";
if (file_exists($path) && ((time() - filemtime($path)) < $cache_time)) {
//prendo il file dalla cache
$boatservicetypesTbl = simplexml_load_file($path);
}
else {
//chiamo il webservice e salvo il file
$boatservicetypesTbl = $client->GetCharterBoatServiceTypesString(array("groupID" => $config->GroupGuid, "TranslationID" => null));
$boatservicetypesTbl = new SimpleXMLElement($boatservicetypesTbl->GetCharterBoatServiceTypesStringResult);
$boatservicetypesTbl->asXML($path);
}
//parametri aggiuntivi per il charter
if (!isParamEmpty(get("cabinsFrom"))) $params["cabinsFrom"] = normalizeStr(get("cabinsFrom"));
if (!isParamEmpty(get("cabinsTo"))) $params["cabinsTo"] = normalizeStr(get("cabinsTo"));
if (!isParamEmpty(get("bathsFrom"))) $params["bathsFrom"] = normalizeStr(get("bathsFrom"));
if (!isParamEmpty(get("bathsTo"))) $params["bathsTo"] = normalizeStr(get("bathsTo"));
if (!isParamEmpty(get("accommodationsCabinsFrom"))) $params["accommodationsCabinsFrom"] = normalizeStr(get("accommodationsCabinsFrom"));
if (!isParamEmpty(get("accommodationsCabinsTo"))) $params["accommodationsCabinsTo"] = normalizeStr(get("accommodationsCabinsTo"));
if (!isParamEmpty(get("service"))) $params["service"] = normalizeStr(get("service"));
//elaborazione del range del periodo di ricerca
$charterPeriodFrom = null;
$charterDuration = null;
if (
(!isParamEmpty(get("periodFrom"))) &&
(!isParamEmpty(get("duration"))) &&
(preg_match('/^\d{2}\/\d{2}\/\d{4}$/', get("periodFrom"))) &&
(preg_match('/^\d{1,2}$/', get("duration")))
) {
$charterPeriodFrom = get("periodFrom");
list($day, $month, $year) = explode('/', $charterPeriodFrom); //split->explode
$timeStamp = mktime(0, 0, 0, $month, $day, $year);
$charterDuration = get("duration");
if ($charterDuration == 1) {
$duration = 7;
$params["priceType"] = "W";
}
else if ($charterDuration == 2) {
$duration = 2;
$params["priceType"] = "E";
}
else if ($charterDuration >= 3) {
$duration = $charterDuration - 2;
$params["priceType"] = "D";
}
$offset = "+" . $duration . " days";
$new_timestamp = strtotime($offset, $timeStamp);
$params["periodFrom"] = date("Y-m-d", $timeStamp);
$params["periodTo"] = date("Y-m-d", $new_timestamp);
$params["duration"] = $charterDuration;
}
//parametro aggiuntivo per la visualizzazione con legenda (JSON MODE)
if ( ($boatListCharterShowDay == true) || ($boatListCharterShowWeekEnd == true) || ($boatListCharterShowWeek == true) ) {
$params["priceType"] = "J";
}
//chiamo il webmethod per il charter avanzato
$GetBoatsList = $client->GetCharterBoatsListString($params);
$GetBoatsList = new SimpleXMLElement($GetBoatsList->GetCharterBoatsListStringResult);
}
foreach ($GetBoatsList->children() as $node) {
//Aggiungo le barche a $ListItems
$item = new ListItem();
$item->ItemID = $node->BoatID;
$item->Builder = $node->Builder;
$item->Model = $node->Model;
$item->YearBuilt = $node->YearBuilt;
$item->Code = $node->Code;
$item->ImageUrl = $node->ImageUrl;
$item->WebNotes = $node->WebNotes;
$item->Sold = $node->Sold;
$item->PendingSale = $node->PendingSale;
$item->ReservedPrice = $node->ReservedPrice;
$item->SellPriceFormatted = $node->SellPriceFormatted;
$item->SellPriceReduced = $node->SellPriceReduced;
$item->OldSellPriceFormatted = $node->OldSellPriceFormatted;
$item->Length = $node->Length;
$item->Engine = $node->Engine;
$item->Evi = $node->Evi;
array_push($ListItems, $item);
//2. sincronizzazione articoli
$post_boat_id = (string)$item->ItemID;
$post_title = getBoatDescription($item->Builder, $item->Model, $item->YearBuilt);
$post_image = (string)$item->ImageUrl;
$post_description = substr($item->WebNotes, 0, 165);
//Ottengo l'articolo da wordpress cercando meta_key: "navis_BoatID" e meta_value: $post_boat_id
$posts = get_posts(array(
//'name' => sanitize_title($post_title),
'post_type' => "navis",
'post_content' => '[include_navis_detail "'. $post_boat_id .'" "B"]',
'post_status' => 'any',
'numberposts' => 1,
'meta_key' => 'navis_BoatID',
'meta_value' => $post_boat_id
));
if (!$posts) {
// L'articolo non è presente, lo inserisco
// Post data
$post = array(
'ID' => null,
'post_title' => $post_title,
'post_content' => '[include_navis_detail "'. $post_boat_id .'" "B"]',
'post_status' => 'publish',
'post_excerpt' => '',
'post_name' => sanitize_title($post_title . "-" . $item->Code),
'post_type' => "navis"
);
//$app_post_id è l'id di wordpress dell'articolo
$app_post_id = wp_insert_post($post);
if ($app_post_id) {
do_action( 'wpml_make_post_duplicates', $app_post_id );
}
// Utilizzo le Note come meta-description
if ($config->NotesInDescription) {
add_post_meta($app_post_id, '_yoast_wpseo_metadesc', $post_description);
}
// General meta
// Aggiungo all'articolo appena inserito le proprietà dalla barca attraverso i metadata.
// In questo modo si crea il metadata navis_BoatID, che verrà usato per recuperare l'articolo salvato.
foreach ($node as $key => $value) {
update_post_meta($app_post_id, 'navis_' . $key, (string)$value);
}
$item->PostName = $post['post_name'];
}
else {
$item->PostName = $posts[0]->post_name;
}
}
}
//TRAILERS
if (($config->ShowTrailers) && ((empty($boatType)) || ($boatType == "T"))) {
$params_binding_trailers = array(
"groupID" => "groupID",
"newBoats" => "newTrailers",
"saleBoats" => "saleTrailers",
"charterBoats" => "charterTrailers",
"stockBoats" => "stockTrailers",
"priceFrom" => "priceFrom",
"priceTo" => "priceTo",
"navigationZone" => "zone",
"webNotes" => "webNotes",
"requestAssignment" => "requestAssignment",
"visibilityLevel" => "visibilityLevel",
"secondaryVisibilityLevel" => "secondaryVisibilityLevel",
"imagesResolution" => "imagesResolution",
"limit" => "limit",
"culture" => "culture"
);
$params_trailers = array();
foreach ($params_binding_trailers as $boats_param_key => $trailer_param_key) {
if (array_key_exists($boats_param_key, $params)) {
$params_trailers[$trailer_param_key] = $params[$boats_param_key];
}
}
if (count($params) == count($params_trailers)) {
//chiamo il webmethod per la lista delle barche in vendita o per il metodo charter base
$GetTrailersList = $client->GetTrailersListString($params_trailers);
$GetTrailersList = new SimpleXMLElement($GetTrailersList->GetTrailersListStringResult);
foreach ($GetTrailersList->children() as $node) {
//Aggiungo le barche a $ListItems
$item = new ListItem();
$item->ItemID = $node->ItemID;
$item->Builder = $node->Brand;
$item->Model = $node->Model;
$item->YearBuilt = $node->YearReg;
$item->Code = $node->Code;
$item->ImageUrl = $node->ImageUrl;
$item->WebNotes = $node->WebNotes;
$item->ReservedPrice = $node->ReservedPrice;
$item->SellPriceFormatted = $node->SellPriceFormatted;
$item->SellPriceReduced = $node->SellPriceReduced;
$item->OldSellPriceFormatted = $node->OldSellPriceFormatted;
$item->Length = $node->Length;
array_push($ListItems, $item);
//2. sincronizzazione articoli
$post_boat_id = (string)$item->ItemID;
$post_title = getBoatDescription($item->Builder, $item->Model, $item->YearBuilt);
$post_image = (string)$item->ImageUrl;
$post_description = substr($item->WebNotes, 0, 165);
//Ottengo l'articolo da wordpress cercando meta_key: "navis_ItemID" e meta_value: $post_boat_id
$posts = get_posts(array(
//'name' => sanitize_title($post_title),
'post_type' => "navis",
'post_content' => '[include_navis_detail "'. $post_boat_id .'" "T"]',
'post_status' => 'any',
'numberposts' => 1,
'meta_key' => 'navis_ItemID',
'meta_value' => $post_boat_id,
));
if (!$posts) {
// L'articolo non è presente, lo inserisco
// Post data
$post = array(
'ID' => null,
'post_title' => $post_title,
'post_content' => '[include_navis_detail "'. $post_boat_id .'" "T"]',
'post_status' => 'publish',
'post_excerpt' => '',
'post_name' => sanitize_title($post_title . "-" . $item->Code),
'post_type' => "navis"
);
//$app_post_id è l'id di wordpress dell'articolo
$app_post_id = wp_insert_post($post);
// Utilizzo le Note come meta-description
if ($config->NotesInDescription) {
add_post_meta($app_post_id, '_yoast_wpseo_metadesc', $post_description);
}
// General meta
// Aggiungo all'articolo appena inserito le proprietà dalla barca attraverso i metadata.
// In questo modo si crea il metadata navis_ItemID, che verrà usato per recuperare l'articolo salvato.
foreach ($node as $key => $value) {
update_post_meta($app_post_id, 'navis_' . $key, (string)$value);
}
$item->PostName = $post['post_name'];
}
else {
$item->PostName = $posts[0]->post_name;
}
}
}
}
//MOTORI
if (($config->ShowEngines) && ((empty($boatType)) || ($boatType == "E"))) {
$params_binding_engines = array(
"groupID" => "groupID",
"newBoats" => "newEngines",
"saleBoats" => "saleEngines",
"charterBoats" => "charterEngines",
"stockBoats" => "stockEngines",
"builder" => "builder",
"partialSearchForBuilder" => "partialSearchForBuilder",
"model" => "model",
"partialSearchForModel" => "partialSearchForModel",
"yearFrom" => "yearFrom",
"yearTo" => "yearTo",
"priceFrom" => "priceFrom",
"priceTo" => "priceTo",
"requestAssignment" => "requestAssignment",
"visibilityLevel" => "visibilityLevel",
"secondaryVisibilityLevel" => "secondaryVisibilityLevel",
"imagesResolution" => "imagesResolution",
"limit" => "limit",
"culture" => "culture"
);
$params_engines = array();
foreach ($params_binding_engines as $boats_param_key => $engines_param_key) {
if (array_key_exists($boats_param_key, $params)) {
$params_engines[$engines_param_key] = $params[$boats_param_key];
}
}
if (count($params) == count($params_engines)) {
//chiamo il webmethod per la lista delle barche in vendita o per il metodo charter base
$GetEnginesList = $client->GetEnginesListString($params_engines);
$GetEnginesList = new SimpleXMLElement($GetEnginesList->GetEnginesListStringResult);
foreach ($GetEnginesList->children() as $node) {
//Aggiungo le barche a $ListItems
$item = new ListItem();
$item->ItemID = $node->EngineID;
$item->Builder = $node->Builder;
$item->Model = $node->Model;
$item->YearBuilt = $node->YearBuilt;
$item->Code = $node->Code;
$item->ImageUrl = $node->ImageUrl;
$item->WebNotes = $node->WebNotes;
$item->ReservedPrice = $node->ReservedPrice;
$item->SellPriceFormatted = $node->SellPriceFormatted;
$item->SellPriceReduced = $node->SellPriceReduced;
$item->OldSellPriceFormatted = $node->OldSellPriceFormatted;
$item->Length = $node->Length;
$item->Engine = $node->Engine;
array_push($ListItems, $item);
//2. sincronizzazione articoli
$post_boat_id = (string)$item->ItemID;
$post_title = getBoatDescription($item->Builder, $item->Model, $item->YearBuilt);
$post_image = (string)$item->ImageUrl;
$post_description = substr($item->WebNotes, 0, 165);
//Ottengo l'articolo da wordpress cercando meta_key: "navis_EngineID" e meta_value: $post_boat_id
$posts = get_posts(array(
//'name' => sanitize_title($post_title),
'post_type' => "navis",
'post_content' => '[include_navis_detail "'. $post_boat_id .'" "E"]',
'post_status' => 'any',
'numberposts' => 1,
'meta_key' => 'navis_EngineID',
'meta_value' => $post_boat_id,
));
if (!$posts) {
// L'articolo non è presente, lo inserisco
// Post data
$post = array(
'ID' => null,
'post_title' => $post_title,
'post_content' => '[include_navis_detail "'. $post_boat_id .'" "E"]',
'post_status' => 'publish',
'post_excerpt' => '',
'post_name' => sanitize_title($post_title . "-" . $item->Code),
'post_type' => "navis"
);
//$app_post_id è l'id di wordpress dell'articolo
$app_post_id = wp_insert_post($post);
if ($app_post_id) {
do_action( 'wpml_make_post_duplicates', $app_post_id );
}
// Utilizzo le Note come meta-description
if ($config->NotesInDescription) {
add_post_meta($app_post_id, '_yoast_wpseo_metadesc', $post_description);
}
// General meta
// Aggiungo all'articolo appena inserito le proprietà dalla barca attraverso i metadata.
// In questo modo si crea il metadata navis_EngineID, che verrà usato per recuperare l'articolo salvato.
foreach ($node as $key => $value) {
update_post_meta($app_post_id, 'navis_' . $key, (string)$value);
}
$item->PostName = $post['post_name'];
}
else {
$item->PostName = $posts[0]->post_name;
}
}
}
}
?>
$emailBoxTopTextTitle = "Cosa stai cercando?";
$emailBoxTopDesc = "Inserendo il tuo indirizzo e-mail riceverai notifica dell'inserimento di tutte le offerte che rispondono alle tue esigenze.";
$emailBoxSubject = "";
$emailBoxBoatId = "";
if ($config->BoatInfoSaveRequest == true) {
include dirname(__DIR__) . "/pack/save_request_box.php";
}
if ($config->ShowLinkVendiBarca == true){
//Pulsante Vendi Barca
$html = "
";
$html .= "
BoatListSalesParametersPosition == "top") ? "col-xs-12" : "col-sm-3 col-xs-12") . "\">";
}
else {
$html = "
BoatListSalesParametersPosition == "top") ? "col-xs-12" : "col-sm-3 col-xs-12") . "\">";
}
$html .= "
BoatListSalesParametersPosition == "left") ? "style=\"padding:0\"" : "") . ">";
$html .= "
";
$html .= "
";
$html .= "
";
$url = $_SERVER['REQUEST_URI'];
if (stristr($url, "view=")) {
parse_str($_SERVER['QUERY_STRING']);
if ($view != null) {
$config->DefaultBoatListType = $view;
}
}
if ($config->DefaultBoatListType == "list") {
$html .= "
BoatListSalesParametersPosition == "top") ? "col-xs-12" : "col-sm-9 col-xs-12") . "\">";
if ($config->SaveRequestBox == true) {
//non hai trovato quello che cerchi
$html .= "
BoatListSalesParametersPosition == "top") ? "col-xs-12" : "col-sm-9 col-xs-12") . "\" style=\"text-align:center;font-size:12px;\">";
$html .= "
" . __("Haven't found what you are looking for?", "navis-wp") . " " . __("Click here.", "navis-wp") . "
";
$html .= "
";
}
if ($config->ListTypeButtons == true) {
if ($config->SaveRequestBox == true) {
$html .= "
";
}
$html .= "
";
$html .= "";
$html .= "";
$html .= "" . __("Picture", "navis-wp") . " | ";
$html .= "" . __("Builder", "navis-wp") . " | ";
$html .= "" . __("Model", "navis-wp") . " | ";
$html .= "" . __("Year", "navis-wp") . " | ";
$html .= "" . __("Length", "navis-wp") . " | ";
$html .= "" . __("Engines", "navis-wp") . " | ";
$html .= "" . __("Price", "navis-wp") . " | ";
$html .= "
";
$html .= "";
foreach ($ListItems as $item) {
$builder_model = getBoatDescription(htmlEncode($item->Builder), htmlEncode($item->Model));
$html .= "\n";
$html .= "";
$html .= "";
$html .= " PostName . "\" title=\"" . $builder_model . "\"> ImageUrl) . "\" width=\"" . $config->BoatListThumbnailWidth . "\" alt=\"" . $builder_model . "\" />";
$html .= " ";
$html .= " ";
$html .= " ";
$html .= " " . ((strpos(htmlEncode($item->Model), htmlEncode($item->Builder)) !== false) ? htmlEncode($item->Model) : htmlEncode($item->Builder) . " - " . htmlEncode($item->Model)) ." ";
if ($item->Sold == "true") {
$html .= " " . __("Sold", "navis-wp");
}
else if ($item->PendingSale == "true") {
$html .= " " . __("Pending sale", "navis-wp");
}
else {
$html .= " ". (($item->ReservedPrice == "true") ? __("Reserved price", "navis-wp") : $item->SellPriceFormatted);
if (($config->BoatListShowReducedPrice) && ($item->SellPriceReduced == "true")) {
$html .= " - " . htmlEncode($item->OldSellPriceFormatted) . "";
}
}
$html .= " ";
$html .= " ";
$html .= " ";
$html .= " | ";
$html .= "" . toUpperWords(htmlEncode($item->Builder)) . " | ";
$html .= "" . toUpperWords(htmlEncode($item->Model)) ." | ";
$html .= "" . $item->YearBuilt . " | ";
$html .= "" . normalizeNum($item->Length, "", false, true) . " m | ";
$html .= "" . htmlEncode($item->Engine) . " | ";
if ($item->Sold == "true") {
$html .= "". __("Sold", "navis-wp") . " ";
}
else if ($item->PendingSale == "true") {
$html .= " | " . __("Pending sale", "navis-wp") . " ";
}
else {
$html .= " | " . (($item->ReservedPrice == "true") ? __("Reserved price", "navis-wp") : $item->SellPriceFormatted) . " ";
if (($config->BoatListShowReducedPrice) && ($item->SellPriceReduced == "true")) {
$html .= "" . htmlEncode($item->OldSellPriceFormatted) . " ";
}
}
$html .= " | ";
$html .= "";
$html .= "";
$html .= " " . ((strpos(htmlEncode($item->Model), htmlEncode($item->Builder)) !== false) ? htmlEncode($item->Model) : htmlEncode($item->Builder) . " - " . htmlEncode($item->Model)) ." ";
$html .= " " . __("Year", "navis-wp") . ": " . $item->YearBuilt . " ";
$html .= " " . __("Length", "navis-wp") . ": ". normalizeNum($item->Length, "", false, true) ." m ";
if ($item->Sold == "true") {
$html .= " " . __("Sold", "navis-wp") . "";
}
else if ($item->PendingSale == "true") {
$html .= " " . __("Pending sale", "navis-wp") . "";
}
else {
$html .= " " . __("Price", "navis-wp") . ": ". (($item->ReservedPrice == "true") ? _("Reserved price") : $item->SellPriceFormatted);
if (($config->BoatListShowReducedPrice) && ($item->SellPriceReduced == "true")) {
$html .= " - " . htmlEncode($item->OldSellPriceFormatted) . "";
}
}
$html .= " ";
$html .= " ";
$html .= " | ";
$html .= "
\n";
}
$html .= '
';
$html .= "";
$html .= "
";
}
else if ($config->DefaultBoatListType == "list-large") {
$html .= "
BoatListSalesParametersPosition == "top") ? "col-xs-12" : "col-sm-9 col-xs-12") . "\">";
if ($config->SaveRequestBox == true) {
//non hai trovato quello che cerchi
$html .= "
BoatListSalesParametersPosition == "top") ? "col-xs-12" : "col-sm-9 col-xs-12") . "\" style=\"text-align:center;font-size:12px;\">";
$html .= "
" . __("Haven't found what you are looking for?", "navis-wp") . " " . __("Click here.", "navis-wp") . "
";
$html .= "
";
}
if ($config->ListTypeButtons == true) {
if ($config->SaveRequestBox == true) {
$html .= "
";
}
$html .= "
";
$html .= "";
$html .= "";
$html .= "" . __("Picture", "navis-wp") . " | ";
$html .= "" . __("Builder", "navis-wp") . " | ";
$html .= "" . __("Model", "navis-wp") . " | ";
$html .= "" . __("Year", "navis-wp") . " | ";
$html .= "" . __("Length", "navis-wp") . " | ";
$html .= "" . __("Engines", "navis-wp") . " | ";
$html .= "" . __("Price", "navis-wp") . " | ";
$html .= "
";
$html .= "";
foreach ($ListItems as $item) {
$builder_model = getBoatDescription(htmlEncode($item->Builder), htmlEncode($item->Model));
$html .= "\n";
$html .= "";
$html .= "";
$html .= " ";
$html .= " ";
$html .= " ";
$html .= " ";
$html .= " " . ((strpos(htmlEncode($item->Model), htmlEncode($item->Builder)) !== false) ? htmlEncode($item->Model) : htmlEncode($item->Builder) . " - " . htmlEncode($item->Model)) ." ";
if ($item->Sold == "true") {
$html .= " " . __("Sold", "navis-wp");
}
else if ($item->PendingSale == "true") {
$html .= " " . __("Pending sale", "navis-wp");
}
else {
$html .= " ". (($item->ReservedPrice == "true") ? __("Reserved price", "navis-wp") : $item->SellPriceFormatted);
if (($config->BoatListShowReducedPrice) && ($item->SellPriceReduced == "true")) {
$html .= " - " . htmlEncode($item->OldSellPriceFormatted) . "";
}
}
$html .= " ";
$html .= " ";
$html .= " ";
$html .= " | ";
$html .= "";
$html .= " ";
$html .= " " . ((strpos(htmlEncode($item->Model), htmlEncode($item->Builder)) !== false) ? htmlEncode($item->Model) : htmlEncode($item->Builder) . " - " . htmlEncode($item->Model)) ."";
$html .= "";
$html .= "";
if ($item->YearBuilt) {
$html .= " " . __("Year", "navis-wp") . ": " . $item->YearBuilt . " ";
}
$html .= " " . __("Length", "navis-wp") . ": ". normalizeNum($item->Length, "", false, true) ." m ";
if ($item->Engine) {
$html .= " " . __("Engines", "navis-wp"). ": " . htmlEncode($item->Engine) . " ";
}
if ($item->Sold == "true") {
$html .= " " . __("Sold", "navis-wp") . "";
}
else if ($item->PendingSale == "true") {
$html .= " " . __("Pending sale", "navis-wp") . "";
}
else {
$html .= " " . __("Price", "navis-wp") . ": ". (($item->ReservedPrice == "true") ? _("Reserved price") : $item->SellPriceFormatted);
if (($config->BoatListShowReducedPrice) && ($item->SellPriceReduced == "true")) {
$html .= " - " . htmlEncode($item->OldSellPriceFormatted) . "";
}
}
$html .= " ";
$html .= " ";
$html .= " | ";
$html .= "
\n";
}
$html .= '
';
$html .= "";
$html .= "
";
}
else if ($config->DefaultBoatListType == "grid") {
$html .= "
BoatListSalesParametersPosition == "left") ? "col-sm-9 col-xs-12" : "col-sm-12 col-xs-12") . "\">";
if ($config->SaveRequestBox == true) {
//non hai trovato quello che cerchi
$html .= "
";
}
if ($config->ListTypeButtons == true) {
$html .= "
";
}
$html .= "
";
foreach ($ListItems as $item) {
if ((get("reducedPrice") !== "1") || ($item->SellPriceReduced == "true")) {
$builder_model = getBoatDescription(htmlEncode($item->Builder), htmlEncode($item->Model));
if ($config->BoatListSalesParametersPosition == "top") {
$html .= "
";
} else if ($config->BoatListSalesParametersPosition == "left") {
$html .= "
";
}
$html .= "
";
$html .= "
";
$html .= "
";
$html .= "
";
$html .= "
";
$html .= "
" . ((strpos(htmlEncode($item->Model), htmlEncode($item->Builder)) !== false) ? htmlEncode($item->Model) : htmlEncode($item->Builder) . " - " . htmlEncode($item->Model)) ."
";
$html .= "";
$html .= "
";
$html .= "
" . $item->YearBuilt . "
";
//$html .= "
" . __("Length", "navis-wp") . "" . " " . "" . normalizeNum($item->Length, "", false, true) . "m" . "
";
if ($item->Sold == "true") {
$html .= "
" . __("Sold", "navis-wp");
}
else if ($item->PendingSale == "true") {
$html .= "" . __("Pending sale", "navis-wp");
}
else {
$html .= "". (($item->ReservedPrice == "true") ? __("Reserved price", "navis-wp") : $item->SellPriceFormatted);
if (($config->BoatListShowReducedPrice) && ($item->SellPriceReduced == "true")) {
$html .= " - " . htmlEncode($item->OldSellPriceFormatted) . "";
}
}
$html .= "
";
$html .= " ";
$html .= " ";
$html .= "
";
}
}
$html .= "
";
$html .= "
";
} else if ($config->DefaultBoatListType == "grid-three") {
$html .= "
BoatListSalesParametersPosition == "left") ? "col-sm-9 col-xs-12" : "col-sm-12 col-xs-12") . "\">";
if ($config->SaveRequestBox == true) {
//non hai trovato quello che cerchi
$html .= "
";
}
if ($config->ListTypeButtons == true) {
$html .= "
";
}
$html .= "
";
foreach ($ListItems as $item) {
if ((get("reducedPrice") !== "1") || ($item->SellPriceReduced == "true")) {
$builder_model = getBoatDescription(htmlEncode($item->Builder), htmlEncode($item->Model));
if ($config->BoatListSalesParametersPosition == "top") {
$html .= "
";
} else if ($config->BoatListSalesParametersPosition == "left") {
$html .= "
";
}
$html .= "
";
$html .= "
";
$html .= "
";
$html .= "
";
$html .= "
";
$html .= "
" . ((strpos(htmlEncode($item->Model), htmlEncode($item->Builder)) !== false) ? htmlEncode($item->Model) : htmlEncode($item->Builder) . " - " . htmlEncode($item->Model)) ."
";
$html .= "";
$html .= "
";
$html .= "
" . $item->YearBuilt . "
";
//$html .= "
" . __("Length", "navis-wp") . "" . " " . "" . normalizeNum($item->Length, "", false, true) . "m" . "
";
if ($item->Sold == "true") {
$html .= "
" . __("Sold", "navis-wp");
}
else if ($item->PendingSale == "true") {
$html .= "" . __("Pending sale", "navis-wp");
}
else {
$html .= "". (($item->ReservedPrice == "true") ? __("Reserved price", "navis-wp") : $item->SellPriceFormatted);
if (($config->BoatListShowReducedPrice) && ($item->SellPriceReduced == "true")) {
$html .= " - " . htmlEncode($item->OldSellPriceFormatted) . "";
}
}
$html .= "
";
$html .= " ";
$html .= " ";
$html .= "
";
}
}
$html .= "
";
$html .= "
";
}
?>