本文整理汇总了PHP中CSaleLocation::LocationCheckFields方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleLocation::LocationCheckFields方法的具体用法?PHP CSaleLocation::LocationCheckFields怎么用?PHP CSaleLocation::LocationCheckFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleLocation
的用法示例。
在下文中一共展示了CSaleLocation::LocationCheckFields方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: UpdateLocation
/**
* <p>Функция обновляет параметры местоположения с кодом ID в соответствии с параметрами из массива arFields.</p>
*
*
*
*
* @param int $ID Код местоположения. </h
*
*
*
* @param array $arFields Ассоциативный массив параметров местоположения с ключами: <ul> <li>
* <b>SORT</b> - индекс сортировки; </li> <li> <b>COUNTRY_ID</b> - код страны;</li> <li>
* <b>REGION_ID</b> - код региона;</li> <li> <b>CITY_ID</b> - код города (если такой город
* уже есть, иначе код должен быть нулем, и должен быть заполнен ключ
* CITY).</li> </ul>
*
*
*
* @return int <p>Возвращается код измененного местоположения или <i>false</i> в
* случае ошибки.</p> <br><br>
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__updatelocation.3c5a6205.php
* @author Bitrix
*/
public static function UpdateLocation($ID, $arFields)
{
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleLocation::LocationCheckFields("UPDATE", $arFields)) {
return false;
}
foreach (GetModuleEvents("sale", "OnBeforeLocationUpdate", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$strUpdate = $DB->PrepareUpdate("b_sale_location", $arFields);
$strSql = "UPDATE b_sale_location SET " . $strUpdate . " WHERE ID = " . $ID . "";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
foreach (GetModuleEvents("sale", "OnLocationUpdate", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例2: UpdateLocation
/**
* <p>Метод обновляет параметры местоположения с кодом ID в соответствии с параметрами из массива arFields. Метод динамичный.</p>
*
*
* @param int $ID Код местоположения. </h
*
* @param array $arFields Ассоциативный массив параметров местоположения с ключами: <ul> <li>
* <b>SORT</b> - индекс сортировки; </li> <li> <b>COUNTRY_ID</b> - код страны;</li> <li>
* <b>REGION_ID</b> - код региона;</li> <li> <b>CITY_ID</b> - код города (если такой город
* уже есть, иначе код должен быть нулем, и должен быть заполнен ключ
* CITY).</li> </ul>
*
* @return int <p>Возвращается код измененного местоположения или <i>false</i> в
* случае ошибки.</p> <br><br>
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__updatelocation.3c5a6205.php
* @author Bitrix
*/
public static function UpdateLocation($ID, $arFields)
{
// it seems that method is okay... we probably want to move region and city as it set in $arFields, but then we`ll have to adjsut the rest of locations
global $DB;
$ID = intval($ID);
if ($ID <= 0 || !CSaleLocation::LocationCheckFields("UPDATE", $arFields)) {
return false;
}
foreach (GetModuleEvents("sale", "OnBeforeLocationUpdate", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$strUpdate = $DB->PrepareUpdate("b_sale_location", $arFields);
$strSql = "UPDATE b_sale_location SET " . $strUpdate . " WHERE ID = " . $ID . "";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
foreach (GetModuleEvents("sale", "OnLocationUpdate", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例3: AddLocation
function AddLocation($arFields)
{
global $DB;
if (!CSaleLocation::LocationCheckFields("ADD", $arFields))
return false;
$db_events = GetModuleEvents("sale", "OnBeforeLocationAdd");
while ($arEvent = $db_events->Fetch())
if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
return false;
$arInsert = $DB->PrepareInsert("b_sale_location", $arFields);
$strSql =
"INSERT INTO b_sale_location(".$arInsert[0].") ".
"VALUES(".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
$ID = IntVal($DB->LastID());
$events = GetModuleEvents("sale", "OnLocationAdd");
while ($arEvent = $events->Fetch())
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
return $ID;
}
示例4: AddLocation
/**
* <p>Метод добавляет новое местоположение на основании параметров массива <i> arFields</i>. Метод динамичный.</p> <p class="note"><b>Внимание!</b> Начиная с версии 14.10.0 метод не обновляется и обратная совместимость не поддерживается. Рекомендуется использовать методы нового ядра D7. Примеры работы с новым ядром можно увидеть <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=3570" >здесь</a>.</p>
*
*
* @param array $arFields Ассоциативный массив параметров местоположения с ключами: <ul> <li>
* <b>SORT</b> - индекс сортировки; </li> <li> <b>COUNTRY_ID</b> - код страны;</li> <li>
* <b>REGION_ID</b> - код региона;</li> <li> <b>CITY_ID</b> - код города.</li> </ul>
*
* @return int <p>Возвращается код добавленного местоположения или <i>false</i> у
* случае ошибки.</p> <a name="examples"></a>
*
* <h4>Example</h4>
* <pre>
* Параметры вызова
* </h
* <tr>
* <th width="15%">Параметр</th>
* <th>Описание</th>
* </tr>
* <tr>
* <td>arFields</td>
* <td>Ассоциативный массив параметров местоположения с ключами:
* <ul>
* <li>
* <b>SORT</b> - индекс сортировки; </li>
* <li>
* <b>COUNTRY_ID</b> - код страны;</li>
* <li>
* <b>REGION_ID</b> - код региона;</li>
* <li>
* <b>CITY_ID</b> - код города.</li>
* </ul>
* </td>
* </tr>
*
*
*
* <?
* // Добавим местоположение из страны с кодом 2 и города с кодом 10
* $ID = CSaleLocation::AddLocation(
* array(
* "COUNTRY_ID" => 2,
* "CITY_ID" => 10
* )
* );
* ?>
* </pre>
*
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__addlocation.21fe0465.php
* @author Bitrix
*/
public static function AddLocation($arFields)
{
global $DB;
if (!CSaleLocation::LocationCheckFields("ADD", $arFields)) {
return false;
}
if (self::isLocationProMigrated()) {
return self::RebindLocationTriplet($arFields);
}
// make IX_B_SALE_LOC_CODE feel happy
$arFields['CODE'] = 'randstr' . rand(999, 99999);
foreach (GetModuleEvents('sale', 'OnBeforeLocationAdd', true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($arFields)) === false) {
return false;
}
}
$arInsert = $DB->PrepareInsert("b_sale_location", $arFields);
$strSql = "INSERT INTO b_sale_location(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
$ID = IntVal($DB->LastID());
// make IX_B_SALE_LOC_CODE feel happy
Location\LocationTable::update($ID, array('CODE' => $ID));
foreach (GetModuleEvents('sale', 'OnLocationAdd', true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例5: AddLocation
function AddLocation($arFields)
{
global $DB;
if (!CSaleLocation::LocationCheckFields("ADD", $arFields))
return false;
// make IX_B_SALE_LOC_CODE feel happy
$arFields['CODE'] = 'randstr'.rand(999, 99999);
$db_events = GetModuleEvents("sale", "OnBeforeLocationAdd");
while ($arEvent = $db_events->Fetch())
if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
return false;
$arInsert = $DB->PrepareInsert("b_sale_location", $arFields);
$strSql =
"INSERT INTO b_sale_location(".$arInsert[0].") ".
"VALUES(".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
$ID = IntVal($DB->LastID());
// make IX_B_SALE_LOC_CODE feel happy
Location\LocationTable::update($ID, array('CODE' => $ID));
$events = GetModuleEvents("sale", "OnLocationAdd");
while ($arEvent = $events->Fetch())
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
return $ID;
}