本文整理汇总了PHP中CSaleStatus::CheckFields方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleStatus::CheckFields方法的具体用法?PHP CSaleStatus::CheckFields怎么用?PHP CSaleStatus::CheckFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleStatus
的用法示例。
在下文中一共展示了CSaleStatus::CheckFields方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Add
function Add($arFields)
{
global $DB;
if (!CSaleStatus::CheckFields("ADD", $arFields)) {
return false;
}
$ID = $DB->ForSql($arFields["ID"], 1);
foreach (GetModuleEvents("sale", "OnBeforeStatusAdd", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$arInsert = $DB->PrepareInsert("b_sale_status", $arFields);
$strSql = "INSERT INTO b_sale_status(" . $arInsert[0] . ") VALUES(" . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
foreach ($arFields["LANG"] as &$arOneLang) {
$arInsert = $DB->PrepareInsert("b_sale_status_lang", $arOneLang);
$strSql = "INSERT INTO b_sale_status_lang(STATUS_ID, " . $arInsert[0] . ") VALUES('" . $ID . "', " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
if (isset($arOneLang)) {
unset($arOneLang);
}
if (array_key_exists('PERMS', $arFields) && !empty($arFields["PERMS"]) && is_array($arFields["PERMS"])) {
foreach ($arFields["PERMS"] as &$arOnePerm) {
$arInsert = $DB->PrepareInsert("b_sale_status2group", $arOnePerm);
$strSql = "INSERT INTO b_sale_status2group(STATUS_ID, " . $arInsert[0] . ") VALUES('" . $ID . "', " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
if (isset($arOnePerm)) {
unset($arOnePerm);
}
}
foreach (GetModuleEvents("sale", "OnStatusAdd", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例2: Update
function Update($ID, $arFields)
{
global $DB;
$ID = $DB->ForSql($ID, 1);
if (!CSaleStatus::CheckFields("UPDATE", $arFields, $ID)) {
return false;
}
$db_events = GetModuleEvents("sale", "OnBeforeStatusUpdate");
while ($arEvent = $db_events->Fetch()) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$strUpdate = $DB->PrepareUpdate("b_sale_status", $arFields);
$strSql = "UPDATE b_sale_status SET " . $strUpdate . " WHERE ID = '" . $ID . "' ";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
if (is_set($arFields, "LANG")) {
$DB->Query("DELETE FROM b_sale_status_lang WHERE STATUS_ID = '" . $ID . "'");
for ($i = 0; $i < count($arFields["LANG"]); $i++) {
$arInsert = $DB->PrepareInsert("b_sale_status_lang", $arFields["LANG"][$i]);
$strSql = "INSERT INTO b_sale_status_lang(STATUS_ID, " . $arInsert[0] . ") " . "VALUES('" . $ID . "', " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
}
if (isset($arFields["PERMS"]) && is_array($arFields["PERMS"])) {
$DB->Query("DELETE FROM b_sale_status2group WHERE STATUS_ID = '" . $ID . "'");
for ($i = 0; $i < count($arFields["PERMS"]); $i++) {
$arInsert = $DB->PrepareInsert("b_sale_status2group", $arFields["PERMS"][$i]);
$strSql = "INSERT INTO b_sale_status2group(STATUS_ID, " . $arInsert[0] . ") " . "VALUES('" . $ID . "', " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
}
$events = GetModuleEvents("sale", "OnStatusUpdate");
while ($arEvent = $events->Fetch()) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例3: Update
function Update($ID, $arFields)
{
global $DB;
$ID = $DB->ForSql($ID, 1);
if (!CSaleStatus::CheckFields("UPDATE", $arFields, $ID)) {
return false;
}
foreach (GetModuleEvents("sale", "OnBeforeStatusUpdate", true) as $arEvent) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$strUpdate = $DB->PrepareUpdate("b_sale_status", $arFields);
if (!empty($strUpdate)) {
$strSql = "UPDATE b_sale_status SET " . $strUpdate . " WHERE ID = '" . $ID . "' ";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
if (isset($arFields['LANG']) && is_array($arFields['LANG'])) {
$DB->Query("DELETE FROM b_sale_status_lang WHERE STATUS_ID = '" . $ID . "'");
foreach ($arFields['LANG'] as $statusLang) {
$langUpdateFields = $langInsertFields = $statusLang;
$langInsertFields['STATUS_ID'] = $ID;
$arInsert = $DB->PrepareInsert("b_sale_status_lang", $langInsertFields);
if (isset($langUpdateFields['STATUS_ID'])) {
unset($langUpdateFields['STATUS_ID']);
}
if (isset($langUpdateFields['LID'])) {
unset($langUpdateFields['LID']);
}
$langUpdate = "";
if (count($langUpdateFields) > 0) {
$langUpdate = " ON DUPLICATE KEY UPDATE " . $DB->PrepareUpdate("b_sale_status_lang", $langUpdateFields);
}
$strSql = "INSERT INTO b_sale_status_lang(" . $arInsert[0] . ") VALUES(" . $arInsert[1] . ")" . $langUpdate;
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
if (isset($statusLang)) {
unset($statusLang);
}
}
if (isset($arFields['PERMS']) && is_array($arFields["PERMS"])) {
$DB->Query("DELETE FROM b_sale_status2group WHERE STATUS_ID = '" . $ID . "'");
foreach ($arFields["PERMS"] as &$arOnePerm) {
$arInsert = $DB->PrepareInsert("b_sale_status2group", $arOnePerm);
$strSql = "INSERT INTO b_sale_status2group(STATUS_ID, " . $arInsert[0] . ") VALUES('" . $ID . "', " . $arInsert[1] . ")";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
}
if (isset($arOnePerm)) {
unset($arOnePerm);
}
}
foreach (GetModuleEvents("sale", "OnStatusUpdate", true) as $arEvent) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}
示例4: Update
/**
* <p>Функция изменяет параметры статуса заказа с кодом ID </p>
*
*
*
*
* @param string $ID Код статуса.
*
*
*
* @param array $arFields Ассоциативный массив новых параметров статуса. Ключами в массиве
* являются названия параметров статуса, а значениями -
* соответствующие значения.<br> Допустимые ключи: <ul> <li> <b>ID</b> - код
* статуса (обязательный);</li> <li> <b>SORT</b> - индекс сортировки;</li> <li>
* <b>LANG</b> - массив ассоциативных массивов языкозависимых параметров
* статуса с ключами: <ul> <li> <b>LID</b> - язык;</li> <li> <b>NAME</b> - название
* статуса на этом языке;</li> <li> <b>DESCRIPTION</b> - описание статуса;</li> </ul>
* </li> <li> <b>PERMS</b> - массив ассоциативных массивов прав на доступ к
* изменению заказа в данном статусе с ключами: <ul> <li> <b>GROUP_ID</b> -
* группа пользователей;</li> <li> <b>PERM_TYPE</b> - тип доступа (S - разрешен
* перевод заказа в данный статус, M - разрешено изменение заказа в
* данном статусе).</li> </ul> </li> </ul>
*
*
*
* @return string <p>Возвращается код добавленного статуса или <i>false</i> в случае
* ошибки.</p><br><br>
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalestatus/csalestatus__update.145077bd.php
* @author Bitrix
*/
public static function Update($ID, $arFields)
{
global $DB;
$ID = $DB->ForSql($ID, 1);
if (!CSaleStatus::CheckFields("UPDATE", $arFields, $ID))
return false;
foreach (GetModuleEvents("sale", "OnBeforeStatusUpdate", true) as $arEvent)
{
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields))===false)
return false;
}
$strUpdate = $DB->PrepareUpdate("b_sale_status", $arFields);
if (!empty($strUpdate))
{
$strSql = "UPDATE b_sale_status SET ".$strUpdate." WHERE ID = '".$ID."' ";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
if (array_key_exists('LANG', $arFields) && is_array($arFields['LANG']))
{
$DB->Query("DELETE FROM b_sale_status_lang WHERE STATUS_ID = '".$ID."'");
foreach ($arFields['LANG'] as &$arOneLang)
{
$arInsert = $DB->PrepareInsert("b_sale_status_lang", $arOneLang);
$strSql = "INSERT INTO b_sale_status_lang(STATUS_ID, ".$arInsert[0].") VALUES('".$ID."', ".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
if (isset($arOneLang))
unset($arOneLang);
}
if (array_key_exists('PERMS', $arFields) && is_array($arFields["PERMS"]))
{
$DB->Query("DELETE FROM b_sale_status2group WHERE STATUS_ID = '".$ID."'");
foreach ($arFields["PERMS"] as &$arOnePerm)
{
$arInsert = $DB->PrepareInsert("b_sale_status2group", $arOnePerm);
$strSql = "INSERT INTO b_sale_status2group(STATUS_ID, ".$arInsert[0].") VALUES('".$ID."', ".$arInsert[1].")";
$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);
}
if (isset($arOnePerm))
unset($arOnePerm);
}
foreach (GetModuleEvents("sale", "OnStatusUpdate", true) as $arEvent)
{
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}