0, "level" => 0 ]); if ($cdata['level'] <= 0) { $now = time(); $mfill = floor(($now - $cdata['last']) / $fill_seconds); if ($mfill > 0) { $cdata['level'] = min($burst, $cdata['level'] + $mfill); $cdata['last'] = $now; } } if ($cdata['level'] > 0) { --$cdata['level']; set_config("rlimit_".$key, $cdata); db_transaction_down(); return false; } else { db_transaction_fail(); return true; } } ?>