Files
opensourcepos/app/Models/Tokens/Token.php
objecttothis 1328b4d9b8 - Removed TODOs that had been completed
- Added TODO where we need to convert to querybuilder
- Converted to switch statement.
- Removed unnecessary local variable
- Replaced Qualifiers with imports
- Replaced isset() call with null coalescing operator
- Replaced strpos function calls in if statements with str_contains calls
- Removed unnecessary leading \ in use statement
- Replaced deprecated functions
- Updated PHPdocs to match function signature
- Added missing type declarations
- Made class variables private.
- Explicitly declared dynamic properties
- use https:// links instead of http://
- Fixed type error from sending null when editing transactions
- Fixed Search Suggestion function name in Employees, Persons, Suppliers controller
- Fixed function name on Receivings Controller

Signed-off-by: objecttothis <objecttothis@gmail.com>
2024-06-15 17:19:15 +02:00

87 lines
1.4 KiB
PHP

<?php
namespace App\Models\Tokens;
use CodeIgniter\Model;
/**
* Token class
*/
abstract class Token extends Model
{
protected string $value = '';
/**
* @param string $value
*/
public function __construct(string $value = '')
{
parent::__construct();
$this->value = $value;
}
/**
* @return array
*/
public static function get_barcode_tokens(): array
{
return [
new Token_barcode_price(),
new Token_barcode_weight(),
new Token_barcode_ean()
];
}
/**
* @return array
*/
public static function get_tokens(): array
{
return [
new Token_customer(),
new Token_invoice_count(),
new Token_invoice_sequence(),
new Token_quote_sequence(),
new Token_suspended_invoice_count(),
new Token_quote_sequence(),
new Token_work_order_sequence(),
new Token_year_invoice_count(),
new Token_year_quote_count()
];
}
/**
* @return string
*/
abstract public function token_id(): string;
/**
* @return mixed
*/
abstract public function get_value(): mixed;
/**
* @param $token_id
* @return bool
*/
public function matches($token_id): bool
{
return $this->token_id() == $token_id;
}
/**
* @param string $text
* @return string
*/
public function replace_token(string $text): string //TODO: This function is never called in the code
{
if(strstr($text, $this->token_id()))
{
return str_replace($this->token_id(), $this->get_value(), $text);
}
return $text;
}
}