...Человеческий поиск в разработке...
- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/lib/vote.php
- Класс: BitrixVoteVoteTable
- Вызов: VoteTable::modifyData
static function modifyData(BitrixMainORMEvent $event, BitrixMainORMEventResult $result) { $data = array_merge($event->getParameter("fields"), $result->getModified()); $fields = []; if (isset($data["UNIQUE_TYPE"]) && ( !($data["UNIQUE_TYPE"] & BitrixVoteVoteEventLimits::BY_USER_AUTH) && ($data["UNIQUE_TYPE"] & BitrixVoteVoteEventLimits::BY_USER_DATE_REGISTER || $data["UNIQUE_TYPE"] & BitrixVoteVoteEventLimits::BY_USER_ID) )) $fields["UNIQUE_TYPE"] = $data["UNIQUE_TYPE"] | BitrixVoteVoteEventLimits::BY_USER_AUTH; foreach (["TIMESTAMP_X", "DATE_START", "DATE_END"] as $key) { if (isset($data[$key]) && !($data[$key] instanceof DateTime)) $fields[$key] = DateTime::createFromUserTime($data[$key]); } //region check image if (array_key_exists("IMAGE_ID", $data)) { if ($str = CFile::CheckImageFile($data["IMAGE_ID"])) { $result->addError(new FieldError(static::getEntity()->getField("IMAGE_ID"), $str)); } else { $fields["IMAGE_ID"] = $data["IMAGE_ID"]; $fields["IMAGE_ID"]["MODULE_ID"] = "vote"; if ($id = $event->getParameter("id")) { $id = is_integer($id) ? $id : $id["ID"]; if ($id > 0 && ($vote = VoteTable::getById($id)->fetch()) && ($vote["IMAGE_ID"] > 0)) { $fields["IMAGE_ID"]["old_file"] = $vote["IMAGE_ID"]; } } if (CFile::SaveForDB($fields, "IMAGE_ID", "") === false) { $result->unsetField("IMAGE_ID"); } } } //endregion if (!empty($fields)) { $result->modifyFields(array_merge($result->getModified(), $fields)); } return $result; }