Initial commit

This commit is contained in:
2021-03-23 13:54:38 +01:00
commit 82b142ff95
16941 changed files with 2617212 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
<?php
/*************************************************************************************/
/* Copyright (c) Franck Allimant, CQFDev */
/* email : thelia@cqfdev.fr */
/* web : http://www.cqfdev.fr */
/* */
/* For the full copyright and license information, please view the LICENSE */
/* file that was distributed with this source code. */
/*************************************************************************************/
/**
* Created by Franck Allimant, CQFDev <franck@cqfdev.fr>
* Date: 17/06/2019 13:03
*/
namespace Beds24\Controller\Front;
use Beds24\Beds24\Beds24Request;
use Beds24\Model\Beds24BookingOrderProductQuery;
use Thelia\Controller\Front\BaseFrontController;
use Thelia\Core\HttpFoundation\Response;
/**
* @author Franck Allimant <franck@cqfdev.fr>
*/
class NotificationController extends BaseFrontController
{
/**
* @return Response
* @throws \Propel\Runtime\Exception\PropelException
*/
public function notify()
{
// Clear request cache
$api = new Beds24Request();
$api->clearCache();
// Update booking, if required.
$bookId = $this->getRequest()->get('bookId');
if (! empty($bookId)) {
if (null !== $bookingInfo = Beds24BookingOrderProductQuery::create()->findOneByBeds24BookingId($bookId)) {
$status = $this->getRequest()->get('status');
if ($status === 'cancel') {
$bookingInfo->setBeds24BookingId('')->save();
}
}
}
return new Response('Cache cleared', 200);
}
}

View File

@@ -0,0 +1,93 @@
<?php
/*************************************************************************************/
/* Copyright (c) Franck Allimant, CQFDev */
/* email : thelia@cqfdev.fr */
/* web : http://www.cqfdev.fr */
/* */
/* For the full copyright and license information, please view the LICENSE */
/* file that was distributed with this source code. */
/*************************************************************************************/
/**
* Created by Franck Allimant, CQFDev <franck@cqfdev.fr>
* Date: 17/06/2019 13:03
*/
namespace Beds24\Controller\Front;
use Beds24\Beds24\Beds24Request;
use Beds24\Beds24\SearchParameters;
use Beds24\Model\Base\Beds24ProductInfoQuery;
use Thelia\Controller\Front\BaseFrontController;
use Thelia\Log\Tlog;
/**
* @author Franck Allimant <franck@cqfdev.fr>
*/
class SearchController extends BaseFrontController
{
public function searchAll()
{
return $this->search("ajax/home-search-results");
}
public function searchProduct($productId)
{
return $this->search("ajax/product-search-results", $productId);
}
public function search($resultTemplate, $productId = null)
{
$searchForm = $this->createForm('beds24.form.search');
try {
$form = $this->validateForm($searchForm, "POST");
// Get the form field values
$data = $form->getData();
$startDate = \DateTime::createFromFormat("Y-m-d", $data['start_date']);
$endDate = \DateTime::createFromFormat("Y-m-d", $data['end_date']);
$searchParameters = new SearchParameters($this->getRequest());
$searchParameters->setSearchParameters(
$startDate,
$endDate,
intval($data['adults']),
intval($data['children'])
);
$roomId = null;
if (null !== $productId) {
if (null !== $productInfo = Beds24ProductInfoQuery::create()->findOneByProductId($productId)) {
$roomId = $productInfo->getRoomId();
}
}
return $this->render(
$resultTemplate,
[
'startDate' => $searchParameters->getStartDate()->format("Y-m-d"),
'endDate' => $searchParameters->getEndDate()->format("Y-m-d"),
'adultCount' => $searchParameters->getAdultCount(),
'childCount' => $searchParameters->getChildCount(),
'product_id' => $productId,
'room_id' => $roomId,
'error' => ''
]
);
} catch (\Exception $ex) {
Tlog::getInstance()->addError($ex->getMessage(), $ex);
return $this->render(
$resultTemplate,
[
'product_id' => $productId,
'error' => $ex->getMessage()
]
);
}
}
}