first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,120 @@
<?php
/**
* 2019 DPD Polska Sp. z o.o.
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* prestashop@dpd.com.pl so we can send you a copy immediately.
*
* @author DPD Polska Sp. z o.o.
* @copyright 2019 DPD Polska Sp. z o.o.
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
*/
if (!defined('_PS_VERSION_'))
exit;
/**
* Class DpdPolandCarrierPudoService Responsible for specific DPD service (carrier) management
*/
class DpdPolandCarrierPudoService extends DpdPolandService
{
/**
* Current file name
*/
const FILENAME = 'dpd_pudo.service';
/**
* Installs specific DPD service (carrier)
*
* @return bool Carrier installed successfully
*/
public static function install()
{
$id_carrier = (int)Configuration::get(DpdPolandConfiguration::CARRIER_PUDO_ID);
$carrier = self::getCarrierByReference((int)$id_carrier);
if ($id_carrier && Validate::isLoadedObject($carrier))
if (!$carrier->deleted)
return true;
else
{
$carrier->deleted = 0;
return (bool)$carrier->save();
}
$carrier_pudo = new DpdPolandCarrierPudoService();
$carrier = new Carrier();
$carrier->name = $carrier_pudo->module_instance->l('DPD Poland Reception Point Pickup', self::FILENAME);
$carrier->active = 1;
$carrier->is_free = 0;
$carrier->shipping_handling = 1;
$carrier->shipping_external = 1;
$carrier->shipping_method = 1;
$carrier->max_width = 0;
$carrier->max_height = 0;
$carrier->max_depth = 0;
$carrier->max_weight = 0;
$carrier->grade = 0;
$carrier->is_module = 1;
$carrier->need_range = 1;
$carrier->range_behavior = 1;
$carrier->external_module_name = $carrier_pudo->module_instance->name;
$carrier->url = _DPDPOLAND_TRACKING_URL_;
$delay = array();
foreach (Language::getLanguages(false) as $language)
$delay[$language['id_lang']] = $carrier_pudo->module_instance->l('DPD Poland Reception Point Pickup', self::FILENAME);
$carrier->delay = $delay;
if (!$carrier->save())
return false;
$dpdpoland_carrier = new DpdPolandCarrier();
$dpdpoland_carrier->id_carrier = (int)$carrier->id;
$dpdpoland_carrier->id_reference = (int)$carrier->id;
if (!$dpdpoland_carrier->save())
return false;
if (!copy(_DPDPOLAND_IMG_DIR_.DpdPolandCarrierPudoService::IMG_DIR.'/'._DPDPOLAND_PUDO_ID_.'.'.
DpdPolandCarrierPudoService::IMG_EXTENSION, _PS_SHIP_IMG_DIR_.'/'.(int)$carrier->id.'.jpg'))
return false;
$range_obj = $carrier->getRangeObject();
$range_obj->id_carrier = (int)$carrier->id;
$range_obj->delimiter1 = 0;
$range_obj->delimiter2 = 1;
if (!$range_obj->save())
return false;
if (!self::assignCustomerGroupsForCarrier($carrier))
return false;
if (!Configuration::updateValue(DpdPolandConfiguration::CARRIER_PUDO_ID, (int)$carrier->id))
return false;
return true;
}
/**
* Deletes DPD carrier
*
* @return bool DPD carrier deleted successfully
*/
public static function delete()
{
return (bool)self::deleteCarrier((int)Configuration::get(DpdPolandConfiguration::CARRIER_PUDO_ID));
}
}