本文整理汇总了PHP中CSaleUserAccount::CheckFields方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleUserAccount::CheckFields方法的具体用法?PHP CSaleUserAccount::CheckFields怎么用?PHP CSaleUserAccount::CheckFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleUserAccount
的用法示例。
在下文中一共展示了CSaleUserAccount::CheckFields方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Update
/**
* <p>Метод изменяет параметры счета пользователя в соответствии с параметрами из массива arFields. Метод динамичный.</p>
*
*
* @param int $ID Код изменяемого счета. </htm
*
* @param array $arFields Ассоциативный массив новых параметров счета. Может содержать
* следующие ключи: <ul> <li> <b>USER_ID</b> - код пользователя-владельца;</li> <li>
* <b>CURRENT_BUDGET</b> - текущая сумма на счете;</li> <li> <b>CURRENCY</b> - валюта;</li> <li>
* <b>NOTES</b> - текстовое описание;</li> <li> <b>LOCKED</b> - флаг
* заблокированности счета;</li> <li> <b>DATE_LOCKED</b> - дата блокировки
* счета.</li> </ul>
*
* @return int <p>Метод возвращает код измененного счета или <i>false</i> в случае
* ошибки.</p> <br><br>
*
* @static
* @link http://dev.1c-bitrix.ru/api_help/sale/classes/csaleuseraccount/csaleuseraccount.update.php
* @author Bitrix
*/
public static function Update($ID, $arFields)
{
global $DB;
$ID = IntVal($ID);
if ($ID <= 0) {
return False;
}
$arFields1 = array();
foreach ($arFields as $key => $value) {
if (substr($key, 0, 1) == "=") {
$arFields1[substr($key, 1)] = $value;
unset($arFields[$key]);
}
}
if (!CSaleUserAccount::CheckFields("UPDATE", $arFields, $ID)) {
return false;
}
$dbEvents = GetModuleEvents("sale", "OnBeforeUserAccountUpdate");
while ($arEvent = $dbEvents->Fetch()) {
if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
return false;
}
}
$arOldUserAccount = CSaleUserAccount::GetByID($ID);
$strUpdate = $DB->PrepareUpdate("b_sale_user_account", $arFields);
foreach ($arFields1 as $key => $value) {
if (strlen($strUpdate) > 0) {
$strUpdate .= ", ";
}
$strUpdate .= $key . "=" . $value . " ";
}
$strSql = "UPDATE b_sale_user_account SET " . $strUpdate . " WHERE ID = " . $ID . " ";
$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
unset($GLOBALS["SALE_USER_ACCOUNT"]["SALE_USER_ACCOUNT_CACHE_" . $ID]);
unset($GLOBALS["SALE_USER_ACCOUNT"]["SALE_USER_ACCOUNT_CACHE1_" . $arOldUserAccount["USER_ID"] . "_" . $arOldUserAccount["CURRENCY"]]);
$dbEvents = GetModuleEvents("sale", "OnAfterUserAccountUpdate");
while ($arEvent = $dbEvents->Fetch()) {
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
}
return $ID;
}