本文整理汇总了PHP中Carrier::save方法的典型用法代码示例。如果您正苦于以下问题:PHP Carrier::save方法的具体用法?PHP Carrier::save怎么用?PHP Carrier::save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Carrier
的用法示例。
在下文中一共展示了Carrier::save方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionCreate
/**
* Creates a new model.
* If creation is successful, the browser will be redirected to the 'view' page.
*/
public function actionCreate()
{
$model = new Carrier();
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if (isset($_POST['Carrier'])) {
$model->attributes = $_POST['Carrier'];
if ($model->save()) {
$this->redirect(array('view', 'id' => $model->id));
}
}
$this->render('create', array('model' => $model));
}
示例2: upgrade_module_2_9_52
/**
* @param ShopGate $module
*
* @return bool
*/
function upgrade_module_2_9_52($module)
{
$shopgateCarrierId = Configuration::get('SG_CARRIER_ID');
/**
* set current shopgate carrier as deleted
*/
if ($shopgateCarrierId) {
/** @var CarrierCore $carrier */
$carrier = new Carrier($shopgateCarrierId);
$carrier->deleted = true;
$carrier->save();
}
$shopgateShippingModel = new ShopgateShipping($module);
$shopgateShippingModel->createShopgateCarrier();
$module->updateTables();
return true;
}
示例3: install
/**
* Don't forget to create update methods if needed:
* http://doc.prestashop.com/display/PS16/Enabling+the+Auto-Update
*/
public function install()
{
if (extension_loaded('curl') == false) {
$this->_errors[] = $this->l('You have to enable the cURL extension on your server to install this module');
return false;
}
include dirname(__FILE__) . '/sql/install.php';
$carriers = Carrier::getCarriers($this->context->language->id);
foreach ($carriers as $carrier) {
$sql = 'INSERT INTO `' . _DB_PREFIX_ . 'hf_free_shipping_pro_carriers`
SET `id_carrier` = ' . $carrier['id_carrier'] . ',
`show_not_free` = 1,
`show_free` = 1';
if (!Db::getInstance()->execute($sql)) {
return false;
}
$carrier_to_update = new Carrier($carrier['id_carrier']);
$carrier_to_update->need_range = 1;
$carrier_to_update->shipping_external = true;
$carrier_to_update->external_module_name = $this->name;
$carrier_to_update->save();
}
return parent::install() && $this->registerHook('header') && $this->registerHook('backOfficeHeader') && $this->registerHook('updateCarrier') && $this->registerHook('displayAdminProductsExtra') && $this->registerHook('actionProductSave') && $this->registerHook('displayBackOfficeCategory') && $this->registerHook('displayBackOfficeFooter') && $this->registerHook('shoppingCart') && $this->registerHook('displayShoppingCartFooter');
}
示例4: createCarriers
private function createCarriers()
{
$history_table = SeurLib::getLastSeurCarriers();
if (empty($history_table) == false) {
return $this->updateCarriers($history_table);
}
$carriers = array(array('name' => 'SEUR', 'active' => 1, 'type' => 'SEN', 'delay' => array('es' => 'Envío Urgente', 'fr' => 'Livraison Express', 'default' => 'Express Delivery')), array('name' => 'SEUR Puntos de Venta', 'active' => 0, 'type' => 'SEP', 'delay' => array('es' => 'Recogida en punto de venta', 'fr' => 'Retrait au point de venta', 'default' => 'Point of sale pickup')), array('name' => 'SEUR Canarias (M)', 'active' => 1, 'type' => 'SCN', 'delay' => array('es' => 'Envío a Islas Canarias', 'fr' => 'Livraison a Canary Islands', 'default' => 'Delivery to Canary Islands')), array('name' => 'SEUR Canarias (48/72)', 'active' => 1, 'type' => 'SCE', 'delay' => array('es' => 'Envío Urgente a Islas Canarias', 'fr' => 'Livraison Express a Canary Islands', 'default' => 'Express Delivery to Canary Islands')));
foreach ($carriers as &$values) {
$carrier = new Carrier();
$carrier->name = $values['name'];
$carrier->id_tax_rules_group = 1;
$carrier->need_range = true;
$carrier->is_module = true;
$carrier->external_module_name = $this->name;
$carrier->url = 'http://www.seur.com';
$carrier->active = $values['active'];
$languages = Language::getLanguages();
foreach ($languages as $language) {
if (isset($values['delay'][$language['iso_code']])) {
$carrier->delay[(int) $language['id_lang']] = $values['delay'][$language['iso_code']];
} else {
$carrier->delay[(int) $language['id_lang']] = $values['delay']['default'];
}
}
if ($carrier->save() == false) {
return false;
}
$values['id'] = (int) $carrier->id;
@copy(dirname(__FILE__) . '/img/logoSEUR.jpg', _PS_SHIP_IMG_DIR_ . (int) $carrier->id . '.jpg');
$groups = array();
foreach (Group::getGroups((int) Context::getContext()->language->id) as $group) {
$groups[] = (int) $group['id_group'];
}
if (version_compare(_PS_VERSION_, '1.5', '<')) {
if (!$this->setGroups14((int) $carrier->id, $groups)) {
return false;
}
} else {
if (!$carrier->setGroups($groups)) {
return false;
}
}
}
SeurLib::updateSeurCarriers($carriers);
return true;
}
示例5: importOrders
//.........这里部分代码省略.........
$has_shared_customers = true;
}
} else {
$default_shop = Configuration::get('PS_SHOP_DEFAULT') ? Configuration::get('PS_SHOP_DEFAULT') : 1;
$id_shops = array($default_shop);
$has_shared_customers = true;
}
$customer_ids = array();
if ($has_shared_customers) {
// in case of shared customers in multishop, we take the profile of the first shop
if ($this->is_multishop) {
$shop_data = reset($shops_data);
$ebay_profile = new EbayProfile($shop_data['id_ebay_profiles'][0]);
} else {
$ebay_profile = EbayProfile::getCurrent();
}
$id_customer = $order->getOrAddCustomer($ebay_profile);
$id_address = $order->updateOrAddAddress($ebay_profile);
$customer_ids[] = $id_customer;
// Fix on sending e-mail
Db::getInstance()->autoExecute(_DB_PREFIX_ . 'customer', array('email' => 'NOSEND-EBAY'), 'UPDATE', '`id_customer` = ' . (int) $id_customer);
$customer_clear = new Customer();
if (method_exists($customer_clear, 'clearCache')) {
$customer_clear->clearCache(true);
}
}
foreach ($id_shops as $id_shop) {
if ($this->is_multishop) {
$id_ebay_profile = (int) $shops_data[$id_shop]['id_ebay_profiles'][0];
$ebay_profile = new EbayProfile($id_ebay_profile);
} else {
$ebay_profile = EbayProfile::getCurrent();
}
if (!$has_shared_customers) {
$id_customer = $order->getOrAddCustomer($ebay_profile);
$id_address = $order->updateOrAddAddress($ebay_profile);
$customer_ids[] = $id_customer;
// Fix on sending e-mail
Db::getInstance()->autoExecute(_DB_PREFIX_ . 'customer', array('email' => 'NOSEND-EBAY'), 'UPDATE', '`id_customer` = ' . (int) $id_customer);
$customer_clear = new Customer();
if (method_exists($customer_clear, 'clearCache')) {
$customer_clear->clearCache(true);
}
}
$cart = $order->addCart($ebay_profile, $this->ebay_country);
//Create a Cart for the order
if (!$order->updateCartQuantities($ebay_profile)) {
$order->deleteCart($ebay_profile->id_shop);
$message = $this->l('Could not add product to cart (maybe your stock quantity is 0)');
$errors[] = $message;
$order->addErrorMessage($message);
continue;
}
// if the carrier is disabled, we enable it for the order validation and then disable it again
$carrier = new Carrier((int) EbayShipping::getPsCarrierByEbayCarrier($ebay_profile->id, $order->shippingService));
if (!$carrier->active) {
$carrier->active = true;
$carrier->save();
$has_disabled_carrier = true;
} else {
$has_disabled_carrier = false;
}
// Validate order
$id_order = $order->validate($ebay_profile->id_shop, $this->ebay_profile->id);
// we now disable the carrier if required
if ($has_disabled_carrier) {
$carrier->active = false;
$carrier->save();
}
// Update price (because of possibility of price impact)
$order->updatePrice($ebay_profile);
}
$order->add($this->ebay_profile->id);
if (!version_compare(_PS_VERSION_, '1.5', '>')) {
foreach ($order->getProducts() as $product) {
$this->hookAddProduct(array('product' => new Product((int) $product['id_product'])));
}
}
foreach ($customer_ids as $id_customer) {
// Fix on sending e-mail
Db::getInstance()->autoExecute(_DB_PREFIX_ . 'customer', array('email' => pSQL($order->getEmail())), 'UPDATE', '`id_customer` = ' . (int) $id_customer);
}
}
$orders_ar = array();
foreach ($orders as $order) {
$orders_ar[] = array('id_order_ref' => $order->getIdOrderRef(), 'id_order_seller' => $order->getIdOrderSeller(), 'amount' => $order->getAmount(), 'status' => $order->getStatus(), 'date' => $order->getDate(), 'email' => $order->getEmail(), 'products' => $order->getProducts(), 'error_messages' => $order->getErrorMessages());
}
file_put_contents(dirname(__FILE__) . '/log/orders.php', "<?php\n\n" . '$dateLastImport = ' . '\'' . date('d/m/Y H:i:s') . "';\n\n" . '$orders = ' . var_export($orders_ar, true) . ";\n\n");
if (Configuration::get('EBAY_ACTIVATE_MAILS') && $errors_email) {
$data = '';
foreach ($errors_email as $e) {
$data .= '<p>Id order : <strong>' . $e['id_order_seller'] . '</strong></p><ul>';
foreach ($e['messages'] as $m) {
$data .= '<li>' . $m . '</li>';
}
$data .= '</ul><br/>';
}
Mail::Send((int) Configuration::get('PS_LANG_DEFAULT'), 'errorsImportEbay', Mail::l('Errors import', (int) Configuration::get('PS_LANG_DEFAULT')), array('{errors_email}' => $data), strval(Configuration::get('PS_SHOP_EMAIL')), null, strval(Configuration::get('PS_SHOP_EMAIL')), strval(Configuration::get('PS_SHOP_NAME')), null, null, dirname(__FILE__) . '/views/templates/mails/');
}
}
示例6: importOrders
public function importOrders($orders)
{
foreach ($orders as $order) {
if (!$order->isCompleted()) {
$order->addErrorMessage($this->l('Status not complete, amount less than 0.1 or no matching product'));
continue;
}
if ($order->exists()) {
$order->addErrorMessage($this->l('Order already imported'));
continue;
}
// no order in ebay order table with this order_ref
if (!$order->hasValidContact()) {
$order->addErrorMessage($this->l('Invalid e-mail'));
continue;
}
$id_customer = $order->getOrAddCustomer();
$id_address = $order->updateOrAddAddress();
if (!$order->hasAllProductsWithAttributes()) {
$order->addErrorMessage($this->l('Could not find the products in database'));
continue;
}
$order->addCart($this->ebay_country);
//Create a Cart for the order
if (!$order->updateCartQuantities()) {
$order->deleteCart();
$order->addErrorMessage($this->l('Could not add product to cart (maybe your stock quantity is 0)'));
continue;
}
// Fix on sending e-mail
Db::getInstance()->autoExecute(_DB_PREFIX_ . 'customer', array('email' => 'NOSEND-EBAY'), 'UPDATE', '`id_customer` = ' . (int) $id_customer);
$customer_clear = new Customer();
if (method_exists($customer_clear, 'clearCache')) {
$customer_clear->clearCache(true);
}
// if the carrier is disabled, we enable it for the order validation and then disable it again
$carrier = new Carrier((int) EbayShipping::getPsCarrierByEbayCarrier($order->shippingService));
if (!$carrier->active) {
$carrier->active = true;
$carrier->save();
$has_disabled_carrier = true;
}
// Validate order
$id_order = $order->validate();
// we now disable the carrier if required
if (isset($has_disabled_carrier) && $has_disabled_carrier) {
$carrier->active = false;
$carrier->save();
}
// Fix on sending e-mail
Db::getInstance()->autoExecute(_DB_PREFIX_ . 'customer', array('email' => pSQL($order->getEmail())), 'UPDATE', '`id_customer` = ' . (int) $id_customer);
// Update price (because of possibility of price impact)
$order->updatePrice();
$order->add();
if (!version_compare(_PS_VERSION_, '1.5', '>')) {
foreach ($order->getProducts() as $product) {
$this->hookAddProduct(array('product' => new Product((int) $product['id_product'])));
}
}
}
$orders_ar = array();
foreach ($orders as $order) {
$orders_ar[] = array('id_order_ref' => $order->getIdOrderRef(), 'id_order_seller' => $order->getIdOrderSeller(), 'amount' => $order->getAmount(), 'status' => $order->getStatus(), 'date' => $order->getDate(), 'email' => $order->getEmail(), 'products' => $order->getProducts(), 'error_messages' => $order->getErrorMessages());
}
file_put_contents(dirname(__FILE__) . '/log/orders.php', "<?php\n\n" . '$dateLastImport = ' . '\'' . date('d/m/Y H:i:s') . "';\n\n" . '$orders = ' . var_export($orders_ar, true) . ";\n\n");
}
示例7: install
public static function install()
{
$id_carrier = (int) Configuration::get(DpdPolandConfiguration::CARRIER_STANDARD_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_standard = new DpdPolandCarrierStandardService();
$carrier = new Carrier();
$carrier->name = $carrier_standard->module_instance->l('DPD domestic shipment - Standard', 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_standard->module_instance->name;
$carrier->url = _DPDPOLAND_TRACKING_URL_;
$delay = array();
foreach (Language::getLanguages(false) as $language) {
$delay[$language['id_lang']] = $carrier_standard->module_instance->l('DPD domestic shipment - Standard', 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_ . DpdPolandCarrierStandardService::IMG_DIR . '/' . _DPDPOLAND_STANDARD_ID_ . '.' . DpdPolandCarrierStandardService::IMG_EXTENTION, _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_STANDARD_ID, (int) $carrier->id)) {
return false;
}
return true;
}
示例8: carrierSignUp
public function carrierSignUp()
{
if (Input::exists("key") || Input::exists("cname") || Input::exists("fname") || Input::exists("lname") || Input::exists("email") || Input::exists("mob")) {
$key = Input::get("key");
$cname = Input::get("cname");
$fname = Input::get("fname");
$lname = Input::get("lname");
$email = Input::get("email");
$mob = Input::get("mob");
if (empty($key) || empty($cname) || empty($fname) || empty($lname) || empty($email) || empty($mob)) {
textMsg("All fields are required", "error");
Redirect::url("home/register");
exit;
} else {
if ($key == $_SESSION['key']) {
$check = Carrier::all(['email' => $email]);
if (count($check) > 0) {
textMsg("This email id already exists try again", "error");
Redirect::url("home/register");
exit;
} else {
$user = new Carrier();
$user->company_name = $cname;
$user->first_name = $fname;
$user->last_name = $lname;
$user->email = $email;
$user->mobile = $mob;
$user->status = 1;
$user->join_date = time();
if ($user->save()) {
textMsg("You have been ragistered succesfully", "success");
Redirect::url("home/register");
exit;
} else {
textMsg("somethis went wrong try again", "error");
Redirect::url("home/register");
exit;
}
}
} else {
textMsg("Unable to do this action", "error");
Redirect::url("home/register");
exit;
}
}
} else {
textMsg("somethis went wrong try again", "error");
Redirect::url("home/register");
exit;
}
}
示例9: install
public static function install($carrier_type, $carrier_name)
{
$id_carrier = (int) Configuration::get($carrier_type);
if (version_compare(_PS_VERSION_, '1.5', '<')) {
$id_carrier = (int) DpdGroupCarrier::getIdCarrierByReference((int) $id_carrier);
$carrier = new Carrier((int) $id_carrier);
} else {
$carrier = Carrier::getCarrierByReference($id_carrier);
}
if ($id_carrier && Validate::isLoadedObject($carrier)) {
if (!$carrier->deleted) {
return true;
} else {
$carrier->deleted = 0;
return (bool) $carrier->save();
}
}
$service = new DpdGroupService();
$carrier = new Carrier();
$carrier->name = $carrier_name;
$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_weight = 0;
$carrier->grade = 0;
$carrier->is_module = 1;
$carrier->need_range = 1;
$carrier->range_behavior = 1;
$carrier->external_module_name = $service->module_instance->name;
$carrier->url = _DPDGROUP_TRACKING_URL_;
$delay = array();
foreach (Language::getLanguages(false) as $language) {
$delay[$language['id_lang']] = $carrier_name;
}
$carrier->delay = $delay;
if (!$carrier->save()) {
return false;
}
$dpdgroup_carrier = new DpdGroupCarrier();
$dpdgroup_carrier->id_carrier = (int) $carrier->id;
$dpdgroup_carrier->id_reference = (int) $carrier->id;
if (!$dpdgroup_carrier->save()) {
return false;
}
foreach ($service->continents as $continent => $value) {
if ($value && !$carrier->addZone($continent)) {
return false;
}
}
$groups = array();
foreach (Group::getGroups((int) Context::getContext()->language->id) as $group) {
$groups[] = $group['id_group'];
}
if (version_compare(_PS_VERSION_, '1.5.5', '<')) {
if (!self::setGroups14((int) $carrier->id, $groups)) {
return false;
}
} else {
if (!$carrier->setGroups($groups)) {
return false;
}
}
if (!Configuration::updateValue($carrier_type, (int) $carrier->id)) {
return false;
}
return true;
}