/** * コンストラクタ * * @param string $paginationFile ページ制御コントロール用テンプレートのファイル名 * @param string $itemViewFile ホテル情報用テンプレートのファイル名 * @param string $maxPages コントロールにリストとして表示するページの最大数 * @param SimpleXMLElement $response ウェブサービス トラベルAPIからのレスポンス */ public function __construct($paginationFile, $itemViewFile, $maxPages, $response, $is_mobile = false) { $itemView = $this->loadFile($itemViewFile); if (gettype($response) != "object") { $this->items = null; switch ($response) { case VCSDBDriverBase::STATUS_HTTP_CONNECTION_FAILURE: $this->errorMessage = VCSDBSAMPLE_HTTP_FAILURE; break; case VCSDBDriverBase::STATUS_XML_PARSE_ERROR: $this->errorMessage = VCSDBSAMPLE_XML_PARSE_ERROR; break; case VCSDBDriverBase::STATUS_DATA_STRUCTURAL_ERROR: $this->errorMessage = VCSDBSAMPLE_DATA_STRUCT_ERROR; break; case VCSDBDriverBase::STATUS_NO_PARAMETER_ERROR: $this->errorMessage = ""; break; default: $this->errorMessage = VCSDBSAMPLE_UNKNOWN_EROR; } } else { $this->items = FormattedItem::getItems($itemView, $response); } }
/** * コンストラクタ * * @param string $paginationFile ページ制御コントロール用テンプレートのファイル名 * @param string $itemViewFile 商品情報用テンプレートのファイル名 * @param string $maxPages コントロールにリストとして表示するページの最大数 * @param SimpleXMLElement $response 商品APIからのレスポンス */ public function __construct($paginationFile, $itemViewFile, $maxPages, $api) { $itemView = $this->loadFile($itemViewFile); $paginationView = $this->loadFile($paginationFile); /* * APIへの問い合わせ実行、パラメータが設定されていない場合は、エラーコードが返ります。 */ $response = $api->executeQuery(); if (gettype($response) != "object") { $this->items = null; switch ($response) { case VCPDBDriver::STATUS_HTTP_CONNECTION_FAILURE: $this->errorMessage = VCPDBSAMPLE_HTTP_FAILURE; break; case VCPDBDriver::STATUS_XML_PARSE_ERROR: $this->errorMessage = VCPDBSAMPLE_XML_PARSE_ERROR; break; case VCPDBDriver::STATUS_DATA_STRUCTURAL_ERROR: // ステータスコードも表示します。 switch ($api->getStatus()) { case "INVALID_SEARCH_PARAMETERS": $this->errorMessage = VCPDBSAMPLE_INVALID_SEARCH_PARAMS; break; default: $this->errorMessage = VCPDBSAMPLE_DATA_STRUCT_ERROR . ": (" . $api->getStatus() . ")"; break; } break; case VCPDBDriver::STATUS_NO_PARAMETER_ERROR: $this->errorMessage = ""; break; default: $this->errorMessage = VCPDBSAMPLE_UNKNOWN_ERROR; } } else { $this->items = FormattedItem::getItems($itemView, $response); } $this->pagination = new Pagination($paginationView, $maxPages, $response); }