akaunting/app/Utilities/Modules.php
2017-09-14 22:21:00 +03:00

50 lines
1.0 KiB
PHP

<?php
namespace App\Utilities;
use Cache;
use Date;
use Module;
use App\Events\PaymentGatewayListing;
class Modules
{
public static function getPaymentMethods()
{
$payment_methods = Cache::get('payment_methods');
if (!empty($payment_methods)) {
return $payment_methods;
}
$gateways = array();
// Fire the event to extend the menu
$results = event(new PaymentGatewayListing($gateways));
foreach ($results as $gateways) {
foreach ($gateways as $gateway) {
$methods[] = $gateway;
}
}
$sort_order = array();
foreach ($methods as $key => $value) {
$sort_order[$key] = $value['order'];
}
array_multisort($sort_order, SORT_ASC, $methods);
foreach ($methods as $method) {
$payment_methods[$method['code']] = $method['name'];
}
Cache::put('payment_methods', $payment_methods, Date::now()->addHour(6));
return $payment_methods;
}
}