本文整理汇总了PHP中CSaleDelivery::UpdateDeliveryPay方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleDelivery::UpdateDeliveryPay方法的具体用法?PHP CSaleDelivery::UpdateDeliveryPay怎么用?PHP CSaleDelivery::UpdateDeliveryPay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleDelivery
的用法示例。
在下文中一共展示了CSaleDelivery::UpdateDeliveryPay方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Update
function Update($ID, $arFields, $arOptions = array())
{
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleDelivery::CheckFields("UPDATE", $arFields))
return false;
if (array_key_exists("LOGOTIP", $arFields) && is_array($arFields["LOGOTIP"]))
$arFields["LOGOTIP"]["MODULE_ID"] = "sale";
CFile::SaveForDB($arFields, "LOGOTIP", "sale/delivery/logotip");
$strUpdate = $DB->PrepareUpdate("b_sale_delivery", $arFields);
$strSql = "UPDATE b_sale_delivery SET ".$strUpdate." WHERE ID = ".$ID."";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
if (is_set($arFields, "LOCATIONS"))
{
if(CSaleLocation::isLocationProMigrated())
{
Helper::resetLocationsForEntity($ID, $arFields['LOCATIONS'], self::CONN_ENTITY_NAME, !!$arOptions['EXPECT_LOCATION_CODES']);
}
else
{
$DB->Query("DELETE FROM b_sale_delivery2location WHERE DELIVERY_ID = ".$ID."");
$countarFieldLoc = count($arFields["LOCATIONS"]);
for ($i = 0; $i < $countarFieldLoc; $i++)
{
// change location id to location code
$arFields["LOCATIONS"][$i]['LOCATION_CODE'] = $arFields["LOCATIONS"][$i]['LOCATION_ID'];
unset($arFields["LOCATIONS"][$i]['LOCATION_ID']);
$arInsert = $DB->PrepareInsert("b_sale_delivery2location", $arFields["LOCATIONS"][$i]);
$strSql =
"INSERT INTO b_sale_delivery2location(DELIVERY_ID, ".$arInsert[0].") ".
"VALUES(".$ID.", ".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
}
}
if (is_set($arFields, "PAY_SYSTEM"))
{
CSaleDelivery::UpdateDeliveryPay($ID, $arFields["PAY_SYSTEM"]);
}
return $ID;
}
示例2: Add
/**
* @param $arFields
* @param array $arOptions
* @return bool|int
* @throws Exception
* @deprecated
*/
static function Add($arFields, $arOptions = array())
{
$fields = array_intersect_key($arFields, Bitrix\Sale\Delivery\Services\Table::getMap());
if (array_key_exists("LOGOTIP", $arFields) && is_array($arFields["LOGOTIP"])) {
$arFields["LOGOTIP"]["MODULE_ID"] = "sale";
CFile::SaveForDB($arFields, "LOGOTIP", "sale/delivery/logotip");
$fields["LOGOTIP"] = $arFields["LOGOTIP"];
}
$fields["CODE"] = isset($arFields["CODE"]) ? $arFields["CODE"] : strval(mktime());
$fields["PARENT_ID"] = 0;
$fields["CLASS_NAME"] = '\\Bitrix\\Sale\\Delivery\\Services\\Configurable';
$fields["CONFIG"] = array("MAIN" => array("PRICE" => $arFields["PRICE"], "PERIOD" => array("FROM" => $arFields["PERIOD_FROM"], "TO" => $arFields["PERIOD_TO"], "TYPE" => $arFields["PERIOD_TYPE"])));
$res = \Bitrix\Sale\Delivery\Services\Table::add($fields);
if (!$res->isSuccess()) {
return false;
}
$newId = $res->getId();
$res = \Bitrix\Sale\Delivery\Restrictions\Table::add(array("DELIVERY_ID" => $newId, "CLASS_NAME" => '\\Bitrix\\Sale\\Delivery\\Restrictions\\BySite', "PARAMS" => array("SITE_ID" => array($arFields["LID"]))));
if (intval($arFields["WEIGHT_FROM"]) > 0 || intval($arFields["WEIGHT_TO"]) > 0) {
$res = \Bitrix\Sale\Delivery\Restrictions\Table::add(array("DELIVERY_ID" => $newId, "CLASS_NAME" => '\\Bitrix\\Sale\\Delivery\\Restrictions\\ByWeight', "PARAMS" => array("MIN_WEIGHT" => $arFields["WEIGHT_FROM"], "MAX_WEIGHT" => $arFields["WEIGHT_TO"])));
}
if (intval($arFields["ORDER_PRICE_FROM"]) > 0 || intval($arFields["ORDER_PRICE_TO"]) > 0) {
$res = \Bitrix\Sale\Delivery\Restrictions\Table::add(array("DELIVERY_ID" => $newId, "CLASS_NAME" => '\\Bitrix\\Sale\\Delivery\\Restrictions\\ByPrice', "PARAMS" => array("MIN_PRICE" => $arFields["ORDER_PRICE_FROM"], "MAX_PRICE" => $arFields["ORDER_PRICE_TO"], "CURRENCY" => $arFields["ORDER_CURRENCY"])));
}
if (isset($arFields["LOCATIONS"]) && is_array($arFields["LOCATIONS"])) {
Helper::resetLocationsForEntity($newId, $arFields['LOCATIONS'], self::CONN_ENTITY_NAME, !!$arOptions['EXPECT_LOCATION_CODES']);
}
if (isset($arFields["PAY_SYSTEM"])) {
CSaleDelivery::UpdateDeliveryPay($newId, $arFields["PAY_SYSTEM"]);
}
if (isset($arFields["STORE"])) {
$stores = unserialize($arFields["STORE"]);
if ($stores) {
\Bitrix\Sale\Delivery\ExtraServices\Manager::saveStores($newId, $stores);
}
}
return $newId;
}
示例3: Add
/**
* <p>Функция добавляет новый способ (службу) доставки с параметрами из массива arFields.</p>
*
*
*
*
* @param array $arFields Ассоциативный массив параметров доставки, ключами в котором
* являются названия параметров доставки, а значениями - значения
* параметров. <br><br> Допустимые ключи: <br><ul> <li> <b>NAME</b> - название
* доставки (обязательное, задается на языке сайта, к которому
* привязана эта доставка);</li> <li> <b>LID</b> - код сайта, к которому
* привязана эта доставка;</li> <li> <b>PERIOD_FROM</b> - минимальный срок
* доставки;</li> <li> <b>PERIOD_TO</b> - максимальный срок доставки;</li> <li>
* <b>PERIOD_TYPE</b> - единица измерения срока: D - дни, H - часы, M - месяцы;</li> <li>
* <b>WEIGHT_FROM</b> - минимальный вес заказа, для которого возможна эта
* доставка (единица измерения должна быть едина на сайте);</li> <li>
* <b>WEIGHT_TO</b> - максимальный вес заказа, для которого возможна эта
* доставка (единица измерения должна быть едина на сайте);</li> <li>
* <b>ORDER_PRICE_FROM</b> - минимальная стоимость заказа, для которой возможна
* эта доставка;</li> <li> <b>ORDER_PRICE_TO</b> - максимальная стоимость заказа,
* для которой возможна эта доставка;</li> <li> <b>ORDER_CURRENCY</b> - валюта
* ограничений по стоимости;</li> <li> <b>ACTIVE</b> - флаг (Y/N) активности
* доставки;</li> <li> <b>PRICE</b> - стоимость доставки;</li> <li> <b>CURRENCY</b> - валюта
* стоимости доставки;</li> <li> <b>SORT</b> - индекс сортировки;</li> <li>
* <b>DESCRIPTION</b> - описание доставки;</li> <li> <b>LOCATIONS</b> - массив массивов
* вида: <pre class="syntax">array("LOCATION_ID" => "код местоположения или <br> группы
* местоположений",<br> "LOCATION_TYPE"=>"L - для местоположения, <br> G - для
* группы")</pre> содержащий местоположения и группы местоположений,
* для которых работает эта доставка</li> </ul>
*
*
*
* @return int <p>Возвращает код добавленной записи или <i>false</i> в случае
* ошибки.</p><a name="examples"></a>
*
*
* <h4>Example</h4>
* <pre>
* <?<br>$arFields = array(<br> "NAME" => "Доставка курьером",<br> "LID" => "ru",<br> "PERIOD_FROM" => 1,<br> "PERIOD_TO" => 3,<br> "PERIOD_TYPE" => "D",<br> "WEIGHT_FROM" => 0,<br> "WEIGHT_TO" => 2500,<br> "ORDER_PRICE_FROM" => 0,<br> "ORDER_PRICE_TO" => 10000,<br> "ORDER_CURRENCY" => "RUB",<br> "ACTIVE" => "Y",<br> "PRICE" => 58,<br> "CURRENCY" => "RUB",<br> "SORT" => 100,<br> "DESCRIPTION" => "Заказ будет доставлен Вам в течение 3 - 10 рабочих дней после передачи его в курьерскую службу.",<br> "LOCATIONS" => array(<br> array("LOCATION_ID"=>1, "LOCATION_TYPE"=>"L"),<br> array("LOCATION_ID"=>3, "LOCATION_TYPE"=>"G")<br> )<br>);<br><br>$ID = CSaleDelivery::Add($arFields);<br>if ($ID<=0)<br> echo "Ошибка добавления доставки";<br>?><br>
* </pre>
*
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csaledelivery/csaledelivery__add.564001a4.php
* @author Bitrix
*/
public static function Add($arFields)
{
global $DB;
if (!CSaleDelivery::CheckFields("ADD", $arFields))
return false;
if (array_key_exists("LOGOTIP", $arFields) && is_array($arFields["LOGOTIP"]))
$arFields["LOGOTIP"]["MODULE_ID"] = "sale";
CFile::SaveForDB($arFields, "LOGOTIP", "sale/delivery/logotip");
$arInsert = $DB->PrepareInsert("b_sale_delivery", $arFields);
$strSql =
"INSERT INTO b_sale_delivery(".$arInsert[0].") ".
"VALUES(".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
$ID = IntVal($DB->LastID());
foreach($arFields["LOCATIONS"] as $location)
{
$arInsert = $DB->PrepareInsert("b_sale_delivery2location", $location);
$strSql =
"INSERT INTO b_sale_delivery2location(DELIVERY_ID, ".$arInsert[0].") ".
"VALUES(".$ID.", ".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
if (is_set($arFields, "PAY_SYSTEM"))
{
CSaleDelivery::UpdateDeliveryPay($ID, $arFields["PAY_SYSTEM"]);
}
return $ID;
}
示例4: Update
/**
* <p>Функция изменяет параметры доставки с кодом ID на новые значения из массива arFields</p>
*
*
*
*
* @param int $ID Код доставки.
*
*
*
* @param array $arFields Ассоциативный массив новых параметров доставки, ключами в
* котором являются названия параметров доставки, а значениями -
* значения параметров. <br> Допустимые ключи: <br><ul> <li> <b>NAME</b> -
* название доставки (обязательное, задается на языке сайта, к
* которому привязана эта доставка);</li> <li> <b>LID</b> - код сайта, к
* которому привязана эта доставка;</li> <li> <b>PERIOD_FROM</b> - минимальный
* срок доставки;</li> <li> <b>PERIOD_TO</b> - максимальный срок доставки;</li> <li>
* <b>PERIOD_TYPE</b> - единица измерения срока: D - дни, H - часы, M - месяцы;</li> <li>
* <b>WEIGHT_FROM</b> - минимальный вес заказа, для которого возможна эта
* доставка (единица измерения должна быть едина на сайте);</li> <li>
* <b>WEIGHT_TO</b> - максимальный вес заказа, для которого возможна эта
* доставка (единица измерения должна быть едина на сайте);</li> <li>
* <b>ORDER_PRICE_FROM</b> - минимальная стоимость заказа, для которой возможна
* эта доставка;</li> <li> <b>ORDER_PRICE_TO</b> - максимальная стоимость заказа,
* для которой возможна эта доставка;</li> <li> <b>ORDER_CURRENCY</b> - валюта
* ограничений по стоимости;</li> <li> <b>ACTIVE</b> - флаг (Y/N) активности
* доставки;</li> <li> <b>PRICE</b> - стоимость доставки;</li> <li> <b>CURRENCY</b> - валюта
* стоимости доставки;</li> <li> <b>SORT</b> - индекс сортировки;</li> <li>
* <b>DESCRIPTION</b> - описание доставки;</li> <li> <b>LOCATIONS</b> - массив массивов
* вида: <pre class="syntax">array("LOCATION_ID" => "код местоположения или <br> группы
* местоположений",<br> "LOCATION_TYPE"=>"L - для местоположения, <br> G - для
* группы")</pre> содержащий местоположения и группы местоположений,
* для которых работает эта доставка</li> </ul>
*
*
*
* @return int <p>Возвращает код изменяемой записи или <i>false</i> в случае ошибки.</p><a
* name="examples"></a>
*
*
* <h4>Example</h4>
* <pre>
* <?<br>$arFields = array(<br> "NAME" => "Доставка курьером",<br> "LID" => "ru",<br> "PERIOD_FROM" => 1,<br> "PERIOD_TO" => 3,<br> "PERIOD_TYPE" => "D",<br> "WEIGHT_FROM" => 0,<br> "WEIGHT_TO" => 2500,<br> "ORDER_PRICE_FROM" => 0,<br> "ORDER_PRICE_TO" => 10000,<br> "ORDER_CURRENCY" => "RUB",<br> "ACTIVE" => "Y",<br> "PRICE" => 58,<br> "CURRENCY" => "RUB",<br> "SORT" => 100,<br> "DESCRIPTION" => "Заказ будет доставлен Вам в течение 3 - 10 рабочих дней после передачи его в курьерскую службу.",<br> "LOCATIONS" => array(<br> array("LOCATION_ID"=>1, "LOCATION_TYPE"=>"L"),<br> array("LOCATION_ID"=>3, "LOCATION_TYPE"=>"G")<br> )<br>);<br><br>if (!CSaleDelivery::Update($ID, $arFields))<br> echo "Ошибка изменения доставки";<br>?>
* </pre>
*
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csaledelivery/csaledelivery__update.dcec3766.php
* @author Bitrix
*/
public static function Update($ID, $arFields)
{
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleDelivery::CheckFields("UPDATE", $arFields))
return false;
if (array_key_exists("LOGOTIP", $arFields) && is_array($arFields["LOGOTIP"]))
$arFields["LOGOTIP"]["MODULE_ID"] = "sale";
CFile::SaveForDB($arFields, "LOGOTIP", "sale/delivery/logotip");
$strUpdate = $DB->PrepareUpdate("b_sale_delivery", $arFields);
$strSql = "UPDATE b_sale_delivery SET ".$strUpdate." WHERE ID = ".$ID."";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
if (is_set($arFields, "LOCATIONS"))
{
$DB->Query("DELETE FROM b_sale_delivery2location WHERE DELIVERY_ID = ".$ID."");
$countarFieldLoc = count($arFields["LOCATIONS"]);
for ($i = 0; $i < $countarFieldLoc; $i++)
{
$arInsert = $DB->PrepareInsert("b_sale_delivery2location", $arFields["LOCATIONS"][$i]);
$strSql =
"INSERT INTO b_sale_delivery2location(DELIVERY_ID, ".$arInsert[0].") ".
"VALUES(".$ID.", ".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
}
if (is_set($arFields, "PAY_SYSTEM"))
{
CSaleDelivery::UpdateDeliveryPay($ID, $arFields["PAY_SYSTEM"]);
}
return $ID;
}
示例5: array
//add logotip
$arPicture = array();
if (array_key_exists("LOGOTIP", $_FILES) && $_FILES["LOGOTIP"]["error"] == 0) {
$arPicture = $_FILES["LOGOTIP"];
}
$arPicture["del"] = trim($_POST["LOGOTIP_del"]);
$arHandlersData["ALL"]["LOGOTIP"] = $arPicture;
foreach ($arHandlersData as $SITE_ID => $arHandlerData) {
CSaleDeliveryHandler::Set($SID, $arHandlerData, $SITE_ID == "ALL" ? false : $SITE_ID);
if ($ex = $APPLICATION->GetException()) {
$arErrorsList[] = $ex->GetString();
}
}
//pay system for delivery
if (is_set($_POST["PAY_SYSTEM"]) && is_array($_POST["PAY_SYSTEM"])) {
CSaleDelivery::UpdateDeliveryPay($SID, $_POST["PAY_SYSTEM"]);
}
if (!is_array($arErrorsList) || count($arErrorsList) <= 0) {
if (strlen($_REQUEST["apply"]) > 0) {
LocalRedirect($APPLICATION->GetCurPage() . "?lang=" . LANG . "&SID=" . urlencode($SID));
} else {
LocalRedirect('/bitrix/admin/sale_delivery_handlers.php?lang=' . LANG);
}
die;
}
} else {
$arErrorsList[] = GetMessage('SALE_DH_ERROR_UNRECOGNIZED');
}
}
$rsDeliveryInfo = CSaleDeliveryHandler::GetBySID($SID);
if ($rsDeliveryInfo->SelectedRowsCount() <= 0) {
示例6: Add
function Add($arFields, $arOptions = array())
{
global $DB;
if (!CSaleDelivery::CheckFields("ADD", $arFields)) {
return false;
}
if (array_key_exists("LOGOTIP", $arFields) && is_array($arFields["LOGOTIP"])) {
$arFields["LOGOTIP"]["MODULE_ID"] = "sale";
}
CFile::SaveForDB($arFields, "LOGOTIP", "sale/delivery/logotip");
$arInsert = $DB->PrepareInsert("b_sale_delivery", $arFields);
$strSql = "INSERT INTO b_sale_delivery(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
$ID = IntVal($DB->LastID());
if (CSaleLocation::isLocationProMigrated()) {
Helper::resetLocationsForEntity($ID, $arFields['LOCATIONS'], self::CONN_ENTITY_NAME, !!$arOptions['EXPECT_LOCATION_CODES']);
} else {
foreach ($arFields["LOCATIONS"] as $location) {
// change location id to location code
$location['LOCATION_CODE'] = $location['LOCATION_ID'];
unset($location['LOCATION_ID']);
$arInsert = $DB->PrepareInsert("b_sale_delivery2location", $location);
$strSql = "INSERT INTO b_sale_delivery2location(DELIVERY_ID, " . $arInsert[0] . ") " . "VALUES(" . $ID . ", " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
}
if (is_set($arFields, "PAY_SYSTEM")) {
CSaleDelivery::UpdateDeliveryPay($ID, $arFields["PAY_SYSTEM"]);
}
return $ID;
}