mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-01 07:04:34 -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();
|
$input = $this->all();
|
||||||
|
|
||||||
// if(array_key_exists('portal_domain', $input) && strlen($input['portal_domain']) > 1)
|
if(array_key_exists('portal_domain', $input) && strlen($input['portal_domain']) > 1)
|
||||||
// $input['portal_domain'] = str_replace("http:", "https:", $input['portal_domain']);
|
$input['portal_domain'] = $this->addScheme($input['portal_domain']);
|
||||||
|
|
||||||
if (array_key_exists('settings', $input)) {
|
if (array_key_exists('settings', $input)) {
|
||||||
$input['settings'] = $this->filterSaveableSettings($input['settings']);
|
$input['settings'] = $this->filterSaveableSettings($input['settings']);
|
||||||
@ -105,4 +105,15 @@ class UpdateCompanyRequest extends Request
|
|||||||
|
|
||||||
return $settings;
|
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