![]() |
- Developper API
2.0.5
|
00001 <?php 00016 require_once("Config.php"); 00017 00018 class DataObjectFactory 00019 { 00020 private static $baseurl = "http://api.vincod.com/2/xml/"; 00021 00022 private final static function checkErrorInXML($xmlObject) 00023 { 00024 //TODO 00025 } 00026 00031 public final static function getApikey() 00032 { 00033 global $apikey; 00034 return $apikey; 00035 } 00036 00038 private final static function getRangesFromSXMLDocument($document,$language) 00039 { 00040 $rangeArray = $document->xpath("winery"); 00041 $ranges = array(); 00042 foreach($rangeArray as $rangeXML) 00043 { 00044 $id = $rangeXML->xpath("property:id"); 00045 00046 info("Found range with id: <b>".$id[0]."</b>"); 00047 00048 $rangeObject = new Range($id[0],AbstractDataObject::$TYPE["RANGE"],$rangeXML,$language); 00049 array_push($ranges,$rangeObject); 00050 } 00051 00052 return $ranges; 00053 } 00054 00061 public final static function getRangesByWineryId($id, $language) 00062 { 00063 global $apikey; 00064 $document = simplexml_load_file(DataObjectFactory::$baseurl."range/GetRangesByWineryId/$language/$id?apiKey=".$apikey); 00065 00066 if($ranges = DataObjectFactory::getRangesFromSXMLDocument($document,$language)) 00067 return $ranges; 00068 00069 return array(); 00070 } 00071 00078 public final static function getRangeByVincod($id, $language) 00079 { 00080 global $apikey; 00081 $document = simplexml_load_file(DataObjectFactory::$baseurl."range/GetRangeByVincod/$language/$id?apiKey=".$apikey); 00082 00083 if($range = DataObjectFactory::getRangesFromSXMLDocument($document,$language)) 00084 return $range[0]; 00085 00086 return false; 00087 } 00088 00095 public final static function getRangesByOwnerId($id, $language) 00096 { 00097 global $apikey; 00098 $document = simplexml_load_file(DataObjectFactory::$baseurl."range/GetRangesByOwnerId/$language/$id?apiKey=".$apikey); 00099 00100 if($ranges = DataObjectFactory::getRangesFromSXMLDocument($document,$language)) 00101 return $ranges; 00102 00103 return array(); 00104 } 00105 00112 public final static function getRangeById($id, $language) 00113 { 00114 global $apikey; 00115 $document = simplexml_load_file(DataObjectFactory::$baseurl."range/GetRangeById/$language/$id?apiKey=".$apikey); 00116 00117 if($range = DataObjectFactory::getRangesFromSXMLDocument($document,$language)) 00118 return $range[0]; 00119 00120 return false; 00121 } 00122 00124 private final static function getWinesFromSXMLDocument($document,$language) 00125 { 00126 $wineArray = $document->xpath("wine"); 00127 $wines = array(); 00128 foreach($wineArray as $wineXML) 00129 { 00130 $id = $wineXML->xpath("property:id"); 00131 00132 info("Found wine with id: <b>".$id[0]."</b>"); 00133 00134 $wineObject = new Wine($id[0],AbstractDataObject::$TYPE["WINE"],$wineXML,$language); 00135 array_push($wines,$wineObject); 00136 } 00137 00138 return $wines; 00139 } 00140 00147 public final static function getWinesByRangeId($id, $language) 00148 { 00149 return DataObjectFactory::getWinesByWineryId($id,$language); 00150 } 00151 00158 public final static function getWinesByWineryId($id, $language) 00159 { 00160 global $apikey; 00161 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetWinesByWineryId/$language/$id?apiKey=".$apikey); 00162 00163 if($wines = DataObjectFactory::getWinesFromSXMLDocument($document,$language)) 00164 return $wines; 00165 00166 return false; 00167 } 00168 00175 public final static function getWinesByOwnerId($id, $language) 00176 { 00177 global $apikey; 00178 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetWinesByOwnerId/$language/$id?apiKey=".$apikey); 00179 00180 if($wines = DataObjectFactory::getWinesFromSXMLDocument($document,$language)) 00181 return $wines; 00182 00183 return false; 00184 } 00185 00192 public final static function getWinesByVintageYear($vintageYear,$language) 00193 { 00194 global $apikey; 00195 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetWinesByVintageYear/$language/$vintageYear?apiKey=".$apikey); 00196 00197 if($wines = DataObjectFactory::getWinesFromSXMLDocument($document,$language)) 00198 return $wines; 00199 00200 return false; 00201 } 00202 00209 public final static function getVintagesByVintageYear($vintageYear, $language) 00210 { 00211 global $apikey; 00212 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetVintagesByVintageYear/$language/$vintageYear?apiKey=".$apikey); 00213 00214 if($wines = DataObjectFactory::getWinesFromSXMLDocument($document,$language)) 00215 return $wines; 00216 00217 return false; 00218 } 00219 00226 public final static function getWineByVincod($id, $language) 00227 { 00228 global $apikey; 00229 00230 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetWineByVincod/$language/$id?apiKey=".$apikey); 00231 00232 if($wine = DataObjectFactory::getWinesFromSXMLDocument($document,$language)) 00233 return $wine[0]; 00234 00235 return false; 00236 } 00237 00244 public final static function getOtherVintagesByVincod($id, $language) 00245 { 00246 global $apikey; 00247 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetOtherVintagesByVincod/$language/$id?apiKey=".$apikey); 00248 00249 if($wine = DataObjectFactory::getWinesFromSXMLDocument($document,$language)) 00250 return $wine; 00251 00252 return array(); 00253 } 00254 00261 public final static function getOtherLanguagesByVincod($id, $language) 00262 { 00263 global $apikey; 00264 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetOtherLanguagesByVincod/$language/$id?apiKey=".$apikey); 00265 00266 if($wine = DataObjectFactory::getWinesFromSXMLDocument($document,$language)) 00267 return $wine; 00268 00269 return false; 00270 } 00271 00277 public final static function getAvailableLanguagesByVincod($id) 00278 { 00279 global $apikey; 00280 $document = simplexml_load_file(DataObjectFactory::$baseurl."wine/GetAvailableLanguagesByVincod/en/$id?apiKey=".$apikey); 00281 00282 $languageArray = $document->xpath("lang"); 00283 $languages = array(); 00284 foreach($languageArray as $languageXML) 00285 { 00286 00287 $lang = $languageXML->xpath("langabrv"); 00288 $lang = (string) $lang[0]; 00289 if(!empty($lang)) 00290 array_push($languages,$lang); 00291 } 00292 return $languages; 00293 } 00294 00296 private final static function getWineriesFromSXMLDocument($document,$language) 00297 { 00298 $wineryArray = $document->xpath("winery"); 00299 $wineries = array(); 00300 foreach($wineryArray as $wineryXML) 00301 { 00302 $id = $wineryXML->xpath("property:id"); 00303 00304 info("Found winery with id: <b>".$id[0]."</b>"); 00305 00306 $wineryObject = new Winery($id[0],AbstractDataObject::$TYPE["WINERY"],$wineryXML,$language); 00307 00308 array_push($wineries,$wineryObject); 00309 } 00310 00311 return $wineries; 00312 } 00313 00320 public final static function getWineryByRangeId($id, $language) 00321 { 00322 global $apikey; 00323 $document = simplexml_load_file(DataObjectFactory::$baseurl."winery/GetWineryByRangeId/$language/$id?apiKey=".$apikey); 00324 00325 if($winery = DataObjectFactory::getWineriesFromSXMLDocument($document,$language)) 00326 return $winery[0]; 00327 00328 return false; 00329 } 00330 00337 public final static function getWineryByVincod($id, $language) 00338 { 00339 global $apikey; 00340 $document = simplexml_load_file(DataObjectFactory::$baseurl."winery/GetWineryByVincod/$language/$id?apiKey=".$apikey); 00341 00342 if($winery = DataObjectFactory::getWineriesFromSXMLDocument($document,$language)) 00343 return $winery[0]; 00344 00345 return false; 00346 } 00347 00354 public final static function getWineriesByOwnerId($id, $language) 00355 { 00356 global $apikey; 00357 $document = simplexml_load_file(DataObjectFactory::$baseurl."winery/GetWineriesByOwnerId/$language/$id?apiKey=".$apikey); 00358 00359 if($wineries = DataObjectFactory::getWineriesFromSXMLDocument($document,$language)) 00360 return $wineries; 00361 00362 return array(); 00363 } 00364 00371 public final static function getWineryById($id, $language) 00372 { 00373 global $apikey; 00374 $document = simplexml_load_file(DataObjectFactory::$baseurl."winery/GetWineryById/$language/$id?apiKey=".$apikey); 00375 00376 if($winery = DataObjectFactory::getWineriesFromSXMLDocument($document,$language)) 00377 return $winery[0]; 00378 00379 return false; 00380 } 00381 00383 private final static function getOwnersFromSXMLDocument($document,$language) 00384 { 00385 $ownerArray = $document->xpath("owner"); 00386 $owners = array(); 00387 foreach($ownerArray as $ownerXML) 00388 { 00389 $id = $ownerXML->xpath("property:id"); 00390 00391 info("Found owner with id: <b>".$id[0]."</b>"); 00392 00393 $ownerObject = new Owner($id[0],AbstractDataObject::$TYPE["OWNER"],$ownerXML,$language); 00394 00395 array_push($owners,$ownerObject); 00396 } 00397 00398 return $owners; 00399 } 00400 00407 public final static function getOwnerByRangeId($id, $language) 00408 { 00409 global $apikey; 00410 $document = simplexml_load_file(DataObjectFactory::$baseurl."owner/GetOwnerByRangeId/$language/$id?apiKey=".$apikey); 00411 00412 if($owner = DataObjectFactory::getOwnersFromSXMLDocument($document,$language)) 00413 return $owner[0]; 00414 00415 return false; 00416 } 00417 00424 public final static function getOwnerByVincod($id, $language) 00425 { 00426 global $apikey; 00427 $document = simplexml_load_file(DataObjectFactory::$baseurl."owner/GetOwnerByVincod/$language/$id?apiKey=".$apikey); 00428 00429 if($owner = DataObjectFactory::getOwnersFromSXMLDocument($document,$language)) 00430 return $owner[0]; 00431 00432 return false; 00433 } 00434 00441 public final static function getOwnerByWineryId ($id, $language) 00442 { 00443 global $apikey; 00444 $document = simplexml_load_file(DataObjectFactory::$baseurl."owner/GetOwnerByWineryId/$language/$id?apiKey=".$apikey); 00445 00446 if($owner = DataObjectFactory::getOwnersFromSXMLDocument($document,$language)) 00447 return $owner[0]; 00448 00449 return false; 00450 } 00451 00458 public final static function getOwnerById($id, $language) 00459 { 00460 global $apikey; 00461 $document = simplexml_load_file(DataObjectFactory::$baseurl."owner/GetOwnerById/$language/$id?apiKey=".$apikey); 00462 00463 if($owner = DataObjectFactory::getOwnersFromSXMLDocument($document,$language)) 00464 return $owner[0]; 00465 00466 return false; 00467 } 00468 } 00469 ?>