Define maximum number of invoices allowed per user within 24 hours
This example prevents a logged-in user from creating more than 10 invoices within 24 hours.
Add this code to site.php file:
Am_Di::getInstance()->hook->add(Am_Event::VALIDATE_SAVED_FORM, function (Am_Event_ValidateSavedForm $event) { $savedForm = $event->getSavedForm(); if (!$savedForm || !$savedForm->isSignup()) { return; }
if (!$userId = $event->getDi()->auth->getUserId()) { return; }
$invoiceLimit = 10; $invoiceCount = $event->getDi()->db->selectCell( "SELECT COUNT(*) FROM ?_invoice WHERE user_id=?d AND tm_added>?", $userId, sqlTime('-24 hours') );
if ($invoiceCount >= $invoiceLimit) { $event->addError(___('Registration from you IP is temporary disabled')); }});Copyright © 2002–2026 www.amember.com. All Rights Reserved.