diff --git a/app/DataProviders/SMSNumbers.php b/app/DataProviders/SMSNumbers.php new file mode 100644 index 000000000000..2335316e43f5 --- /dev/null +++ b/app/DataProviders/SMSNumbers.php @@ -0,0 +1,88381 @@ +user(); + + return $user->isAdmin(); + } + + public function rules() + { + + return [ + + ]; + } + + public function prepareForValidation() + { + $input = $this->all(); + + $this->replace($input); + } +} diff --git a/app/Http/ValidationRules/Account/BlackListRule.php b/app/Http/ValidationRules/Account/BlackListRule.php index cb09e5dae521..e8149d23bc7b 100644 --- a/app/Http/ValidationRules/Account/BlackListRule.php +++ b/app/Http/ValidationRules/Account/BlackListRule.php @@ -5,7 +5,7 @@ * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com) - * + *1` * @license https://www.elastic.co/licensing/elastic-license */ diff --git a/app/Jobs/Mail/NinjaMailerJob.php b/app/Jobs/Mail/NinjaMailerJob.php index f421667a31a4..f39fe20001f0 100644 --- a/app/Jobs/Mail/NinjaMailerJob.php +++ b/app/Jobs/Mail/NinjaMailerJob.php @@ -224,7 +224,7 @@ class NinjaMailerJob implements ShouldQueue private function incrementEmailCounter(): void { - if(in_array($this->mailer, ['default','mailgun'])) + if(in_array($this->mailer, ['default','mailgun','postmark'])) Cache::increment("email_quota".$this->company->account->key); } diff --git a/app/Libraries/MultiDB.php b/app/Libraries/MultiDB.php index fd028a03811c..778ae5f064d8 100644 --- a/app/Libraries/MultiDB.php +++ b/app/Libraries/MultiDB.php @@ -21,6 +21,7 @@ use Illuminate\Support\Str; use App\Models\CompanyToken; use App\Models\ClientContact; use App\Models\VendorContact; +use App\DataProviders\SMSNumbers; use Illuminate\Support\Facades\DB; /** @@ -537,6 +538,10 @@ class MultiDB $current_db = config('database.default'); + if(SMSNumbers::numberExists($phone)){ + return true; + } + foreach (self::$dbs as $db) { self::setDB($db); if ($exists = Account::where('account_sms_verification_number', $phone)->where('account_sms_verified', true)->exists()) { diff --git a/app/Services/Email/Email.php b/app/Services/Email/Email.php index f47189009b3f..6631f0d2ae3d 100644 --- a/app/Services/Email/Email.php +++ b/app/Services/Email/Email.php @@ -246,7 +246,7 @@ class Email implements ShouldQueue private function incrementEmailCounter(): void { - if(in_array($this->mailer, ['default','mailgun'])) + if(in_array($this->mailer, ['default','mailgun','postmark'])) Cache::increment("email_quota".$this->company->account->key); } diff --git a/tests/Unit/SmsNumberTest.php b/tests/Unit/SmsNumberTest.php new file mode 100644 index 000000000000..496501e38764 --- /dev/null +++ b/tests/Unit/SmsNumberTest.php @@ -0,0 +1,36 @@ +assertTrue(SMSNumbers::hasNumber("+461614222")); + } + + public function testArrayMiss() + { + $this->assertFalse(SMSNumbers::hasNumber("+5485454")); + } + + public function testSmsArrayType() + { + $this->assertIsArray(SMSNumbers::getNumbers()); + } +} \ No newline at end of file