mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Fixes for portal domain
This commit is contained in:
parent
a38aa296a0
commit
b15041f60b
@ -67,8 +67,8 @@ class UpdateCompanyRequest extends Request
|
||||
{
|
||||
$input = $this->all();
|
||||
|
||||
// if(array_key_exists('portal_domain', $input) && strlen($input['portal_domain']) > 1)
|
||||
// $input['portal_domain'] = str_replace("http:", "https:", $input['portal_domain']);
|
||||
if(array_key_exists('portal_domain', $input) && strlen($input['portal_domain']) > 1)
|
||||
$input['portal_domain'] = $this->addScheme($input['portal_domain']);
|
||||
|
||||
if (array_key_exists('settings', $input)) {
|
||||
$input['settings'] = $this->filterSaveableSettings($input['settings']);
|
||||
@ -105,4 +105,15 @@ class UpdateCompanyRequest extends Request
|
||||
|
||||
return $settings;
|
||||
}
|
||||
|
||||
private function addScheme($url, $scheme = 'https://')
|
||||
{
|
||||
|
||||
$url = str_replace("http://", "", $url);
|
||||
|
||||
$url = parse_url($url, PHP_URL_SCHEME) === null ? $scheme . $url : $url;
|
||||
|
||||
return rtrim($url, '/');
|
||||
|
||||
}
|
||||
}
|
||||
|
59
tests/Unit/UrlTest.php
Normal file
59
tests/Unit/UrlTest.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://opensource.org/licenses/AAL
|
||||
*/
|
||||
namespace Tests\Unit;
|
||||
|
||||
use Tests\TestCase;
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
class UrlTest extends TestCase
|
||||
{
|
||||
|
||||
public function setUp() :void
|
||||
{
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
public function testNoScheme()
|
||||
{
|
||||
$url = 'google.com';
|
||||
|
||||
$this->assertEquals("https://google.com", $this->addScheme($url));
|
||||
}
|
||||
|
||||
public function testNoSchemeAndTrailingSlash()
|
||||
{
|
||||
$url = 'google.com/';
|
||||
|
||||
$this->assertEquals("https://google.com", $this->addScheme($url));
|
||||
}
|
||||
|
||||
|
||||
public function testNoSchemeAndTrailingSlashAndHttp()
|
||||
{
|
||||
$url = 'http://google.com/';
|
||||
|
||||
$this->assertEquals("https://google.com", $this->addScheme($url));
|
||||
}
|
||||
|
||||
private function addScheme($url, $scheme = 'https://')
|
||||
{
|
||||
|
||||
$url = str_replace("http://", "", $url);
|
||||
|
||||
$url = parse_url($url, PHP_URL_SCHEME) === null ? $scheme . $url : $url;
|
||||
|
||||
return rtrim($url, '/');
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user