function onAction() { $gc_code = modApiFunc('Request', 'getValueByKey', 'gc_code'); if (Validator::isNotEmpty($gc_code) && modApiFunc('GiftCertificateApi', 'isCodeValid', $gc_code) && modApiFunc('GiftCertificateApi', 'doesCodeExist', $gc_code)) { loadClass('GiftCertificateUpdater'); // $cr = new GiftCertificateUpdater($gc_code); // , if ($cr->isError()) { modApiFunc('Session', 'set', 'gc_update_action_result', 'failed'); modApiFunc('Session', 'set', 'gc_update_action_errors', $cr->errors); modApiFunc('Session', 'set', 'SessionPost', $_POST); return; } // , . , // $map $_POST . // , . $cr->initByMap($_POST); // . $cr->save(); if ($cr->isError()) { modApiFunc('Session', 'set', 'gc_update_action_result', 'failed'); modApiFunc('Session', 'set', 'gc_update_action_errors', $cr->errors); modApiFunc('Session', 'set', 'SessionPost', $_POST); } else { modApiFunc('Session', 'set', 'gc_update_action_result', 'updated'); if ($cr->sendtype === GC_SENDTYPE_EMAIL && $cr->status === GC_STATUS_ACTIVE) { modApiFunc('EventsManager', 'throwEvent', 'GiftCertificateCreated', $cr); } } } }