ro
fb3aff6c85
added a post install script to the composer.json file to automate the creation of the .env file which hold app specific configs also added a helper function to create new keys in the future
84 lines
2.1 KiB
PHP
84 lines
2.1 KiB
PHP
<?php
|
|
|
|
use Illuminate\Encryption\Encrypter;
|
|
|
|
function createUUID()
|
|
{
|
|
if (function_exists('com_create_guid') === true) {
|
|
return trim(com_create_guid(), '{}');
|
|
}
|
|
|
|
return sprintf(
|
|
'%04X%04X-%04X-%04X-%04X-%04X%04X%04X',
|
|
mt_rand(0, 65535),
|
|
mt_rand(0, 65535),
|
|
mt_rand(0, 65535),
|
|
mt_rand(16384, 20479),
|
|
mt_rand(32768, 49151),
|
|
mt_rand(0, 65535),
|
|
mt_rand(0, 65535),
|
|
mt_rand(0, 65535)
|
|
);
|
|
}
|
|
|
|
function safeString($string)
|
|
{
|
|
return strtolower(
|
|
trim(
|
|
preg_replace(
|
|
'~[^0-9a-z]+~i',
|
|
'_',
|
|
html_entity_decode(
|
|
preg_replace(
|
|
'~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i',
|
|
'$1',
|
|
htmlentities($string, ENT_QUOTES, 'UTF-8')
|
|
),
|
|
ENT_QUOTES,
|
|
'UTF-8'
|
|
)
|
|
),
|
|
'-'
|
|
)
|
|
);
|
|
}
|
|
|
|
function randomString(int $length)
|
|
{
|
|
$alphanum = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
$special = '*&!@%^#$';
|
|
$alphabet = $alphanum . $special;
|
|
$random = openssl_random_pseudo_bytes($length);
|
|
$alphabet_length = strlen($alphabet);
|
|
$string = '';
|
|
for ($i = 0; $i < $length; ++$i) {
|
|
$string .= $alphabet[ord($random[$i]) % $alphabet_length];
|
|
}
|
|
|
|
return $string;
|
|
}
|
|
|
|
function createAppKey()
|
|
{
|
|
return 'base64:' . base64_encode(Encrypter::generateKey(config('app.cipher')));
|
|
}
|
|
|
|
function delete_directory($dirPath)
|
|
{
|
|
if (is_dir($dirPath)) {
|
|
$objects = new DirectoryIterator($dirPath);
|
|
foreach ($objects as $object) {
|
|
if (!$object->isDot()) {
|
|
if ($object->isDir()) {
|
|
delete_directory($object->getPathname());
|
|
} else {
|
|
unlink($object->getPathname());
|
|
}
|
|
}
|
|
}
|
|
rmdir($dirPath);
|
|
} else {
|
|
throw new Exception(__FUNCTION__ . '(dirPath): dirPath is not a directory!');
|
|
}
|
|
}
|