55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Akaunting\SignedUrl;
 | |
| 
 | |
| use Spatie\UrlSigner\MD5UrlSigner;
 | |
| 
 | |
| class SignedUrl extends MD5UrlSigner
 | |
| {
 | |
| 
 | |
|     /**
 | |
|      * The key that is used to generate secure signatures.
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $signatureKey;
 | |
| 
 | |
|     /**
 | |
|      * The URL's query parameter name for the expiration.
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $expiresParameter;
 | |
| 
 | |
|     /**
 | |
|      * The URL's query parameter name for the signature.
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $signatureParameter;
 | |
| 
 | |
|     public function __construct()
 | |
|     {
 | |
|         $this->signatureKey = config('signed-url.signatureKey');
 | |
|         $this->expiresParameter = config('signed-url.parameters.expires');
 | |
|         $this->signatureParameter = config('signed-url.parameters.signature');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get a secure URL to a controller action.
 | |
|      *
 | |
|      * @param string             $url
 | |
|      * @param \DateTime|int|null $expiration Defaults to the config value
 | |
|      *
 | |
|      * @return string
 | |
|      */
 | |
|     public function sign($url, $expiration = null)
 | |
|     {
 | |
|         $url .= '?company_id=' . session('company_id');
 | |
| 
 | |
|         $expiration = $expiration ? $expiration : config('signed-url.default_expiration_time_in_days');
 | |
| 
 | |
|         return parent::sign($url, $expiration);
 | |
|     }
 | |
| }
 |