Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/app/ |
<?php
if (!function_exists('tmp_file_name')) {
/**
* Same as tempnam but with extension
*
* @param string $directory
* @param string $prefix
* @param string $extension
*/
function tmp_file_name(string $directory, string $prefix, string $extension)
{
$file = tempnam($directory, $prefix);
rename($file, $file .= ".{$extension}");
return $file;
}
}
if (!function_exists('svg_html')) {
/**
* Generates an svg icon string from file reference
*
* @param string $name
* @param string $customClass
* @param int $size
*
* @return HtmlString
*/
function svg_html(
string $name,
string $customClass = '',
int $width = 18,
?int $height = null,
array $findReplace = []
) {
$path = public_path("frontend/svg/{$name}.svg");
$class = "i i--{$name} $customClass";
$svg = new \DOMDocument();
$svg->load($path);
$svg->documentElement->setAttribute('class', $class);
$svg->documentElement->setAttribute('width', (string) $width);
if ($height) {
$svg->documentElement->setAttribute('height', (string) $height);
}
$svg->documentElement->setAttribute('role', 'presentation');
$svg->documentElement->setAttribute('aria-hidden', 'true');
$output = $svg->saveXML($svg->documentElement);
if (!empty($findReplace)) {
return str_replace(
array_keys($findReplace),
array_values($findReplace),
$output
);
} else {
return $output;
}
}
}