You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
232 lines
5.7 KiB
232 lines
5.7 KiB
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Models\Groups;
|
|
use App\Models\Company;
|
|
use CodeIgniter\Controller;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use CodeIgniter\Logger\LoggerInterface;
|
|
|
|
abstract class AdminController extends BaseController
|
|
{
|
|
protected $permission = [];
|
|
public function __construct()
|
|
{
|
|
if (empty(session()->get('user'))) {
|
|
redirect()->to('/login');
|
|
} else {
|
|
$userIfo = session()->get('user');
|
|
$userId = $userIfo['id'];
|
|
|
|
$Groups = new Groups();
|
|
$group_data = $Groups->getUserGroupByUserId($userId);
|
|
|
|
$this->permission = unserialize($group_data['permission']);
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* finction to verify role of users
|
|
* @return mixed
|
|
*/
|
|
protected function verifyRole(string $role)
|
|
{
|
|
if (!in_array( $role, $this->permission)) {
|
|
redirect()->to('/')->send();
|
|
exit();
|
|
}
|
|
}
|
|
|
|
// Render template with page data
|
|
protected function render_template($page = null, $data = [])
|
|
{
|
|
$data['user_permission'] = $this->permission;
|
|
echo view('templates/header', $data);
|
|
echo view('templates/header_menu', $data);
|
|
echo view('templates/side_menubar', $data);
|
|
echo view($page, $data);
|
|
echo view('templates/footer', $data);
|
|
}
|
|
|
|
// Get company currency using model
|
|
public function company_currency()
|
|
{
|
|
$model_company = new Company();
|
|
$company_currency = $model_company->getCompanyData(1);
|
|
$currencies = $this->currency();
|
|
|
|
$currency = '';
|
|
foreach ($currencies as $key => $value) {
|
|
if ($key == $company_currency['currency']) {
|
|
$currency = $value;
|
|
}
|
|
}
|
|
|
|
return $currency;
|
|
}
|
|
|
|
// Return currency symbols
|
|
public function currency()
|
|
{
|
|
return [
|
|
'AED' => 'د.إ', // ?
|
|
'AFN' => 'Af',
|
|
'ALL' => 'Lek',
|
|
'ANG' => 'ƒ',
|
|
'AOA' => 'Kz', // ?
|
|
'ARS' => '$',
|
|
'AUD' => '$',
|
|
'AWG' => 'ƒ',
|
|
'AZN' => 'ман',
|
|
'BAM' => 'KM',
|
|
'BBD' => '$',
|
|
'BDT' => '৳', // ?
|
|
'BGN' => 'лв',
|
|
'BHD' => '.د.ب', // ?
|
|
'BIF' => 'FBu', // ?
|
|
'BMD' => '$',
|
|
'BND' => '$',
|
|
'BOB' => '$b',
|
|
'BRL' => 'R$',
|
|
'BSD' => '$',
|
|
'BTN' => 'Nu.', // ?
|
|
'BWP' => 'P',
|
|
'BYR' => 'p.',
|
|
'BZD' => 'BZ$',
|
|
'CAD' => '$',
|
|
'CDF' => 'FC',
|
|
'CHF' => 'CHF',
|
|
'CLP' => '$',
|
|
'CNY' => '¥',
|
|
'COP' => '$',
|
|
'CRC' => '₡',
|
|
'CUP' => '⃌',
|
|
'CVE' => '$', // ?
|
|
'CZK' => 'Kč',
|
|
'DJF' => 'Fdj', // ?
|
|
'DKK' => 'kr',
|
|
'DOP' => 'RD$',
|
|
'DZD' => 'دج', // ?
|
|
'EGP' => '£',
|
|
'ETB' => 'Br',
|
|
'EUR' => '€',
|
|
'FJD' => '$',
|
|
'FKP' => '£',
|
|
'GBP' => '£',
|
|
'GEL' => 'ლ', // ?
|
|
'GHS' => '¢',
|
|
'GIP' => '£',
|
|
'GMD' => 'D', // ?
|
|
'GNF' => 'FG', // ?
|
|
'GTQ' => 'Q',
|
|
'GYD' => '$',
|
|
'HKD' => '$',
|
|
'HNL' => 'L',
|
|
'HRK' => 'kn',
|
|
'HTG' => 'G', // ?
|
|
'HUF' => 'Ft',
|
|
'IDR' => 'Rp',
|
|
'ILS' => '₪',
|
|
'INR' => '₹',
|
|
'IQD' => 'ع.د', // ?
|
|
'IRR' => '﷼',
|
|
'ISK' => 'kr',
|
|
'JEP' => '£',
|
|
'JMD' => 'J$',
|
|
'JOD' => 'JD', // ?
|
|
'JPY' => '¥',
|
|
'KES' => 'KSh', // ?
|
|
'KGS' => 'лв',
|
|
'KHR' => '៛',
|
|
'KMF' => 'CF', // ?
|
|
'KPW' => '₩',
|
|
'KRW' => '₩',
|
|
'KWD' => 'د.ك', // ?
|
|
'KYD' => '$',
|
|
'KZT' => 'лв',
|
|
'LAK' => '₭',
|
|
'LBP' => '£',
|
|
'LKR' => '₨',
|
|
'LRD' => '$',
|
|
'LSL' => 'L', // ?
|
|
'LTL' => 'Lt',
|
|
'LVL' => 'Ls',
|
|
'LYD' => 'ل.د', // ?
|
|
'MAD' => 'د.م.', //?
|
|
'MDL' => 'L',
|
|
'MGA' => 'Ar', // ?
|
|
'MKD' => 'ден',
|
|
'MMK' => 'K',
|
|
'MNT' => '₮',
|
|
'MOP' => 'MOP$', // ?
|
|
'MRO' => 'UM', // ?
|
|
'MUR' => '₨', // ?
|
|
'MVR' => '.ރ', // ?
|
|
'MWK' => 'MK',
|
|
'MXN' => '$',
|
|
'MYR' => 'RM',
|
|
'MZN' => 'MT',
|
|
'NAD' => '$',
|
|
'NGN' => '₦',
|
|
'NIO' => 'C$',
|
|
'NOK' => 'kr',
|
|
'NPR' => '₨',
|
|
'NZD' => '$',
|
|
'OMR' => '﷼',
|
|
'PAB' => 'B/.',
|
|
'PEN' => 'S/.',
|
|
'PGK' => 'K', // ?
|
|
'PHP' => '₱',
|
|
'PKR' => '₨',
|
|
'PLN' => 'zł',
|
|
'PYG' => 'Gs',
|
|
'QAR' => '﷼',
|
|
'RON' => 'lei',
|
|
'RSD' => 'Дин.',
|
|
'RUB' => 'руб',
|
|
'RWF' => 'ر.س',
|
|
'SAR' => '﷼',
|
|
'SBD' => '$',
|
|
'SCR' => '₨',
|
|
'SDG' => '£', // ?
|
|
'SEK' => 'kr',
|
|
'SGD' => '$',
|
|
'SHP' => '£',
|
|
'SLL' => 'Le', // ?
|
|
'SOS' => 'S',
|
|
'SRD' => '$',
|
|
'STD' => 'Db', // ?
|
|
'SVC' => '$',
|
|
'SYP' => '£',
|
|
'SZL' => 'L', // ?
|
|
'THB' => '฿',
|
|
'TJS' => 'TJS', // ? TJS (guess)
|
|
'TMT' => 'm',
|
|
'TND' => 'د.ت',
|
|
'TOP' => 'T$',
|
|
'TRY' => '₤', // New Turkey Lira (old symbol used)
|
|
'TTD' => '$',
|
|
'TWD' => 'NT$',
|
|
'UAH' => '₴',
|
|
'UGX' => 'USh',
|
|
'USD' => '$',
|
|
'UYU' => '$U',
|
|
'UZS' => 'лв',
|
|
'VEF' => 'Bs',
|
|
'VND' => '₫',
|
|
'VUV' => 'VT',
|
|
'WST' => 'WS$',
|
|
'XAF' => 'FCFA',
|
|
'XCD' => '$',
|
|
'XPF' => 'F',
|
|
'YER' => '﷼',
|
|
'ZAR' => 'R',
|
|
'ZMK' => 'ZK', // ?
|
|
'ZWL' => 'Z$',
|
|
// ... add the rest of the currencies
|
|
];
|
|
}
|
|
}
|
|
|