| Server IP : 35.236.43.222 / Your IP : 216.73.216.143 Web Server : Apache System : Linux order-form-vm-001 5.10.0-37-cloud-amd64 #1 SMP Debian 5.10.247-1 (2025-12-11) x86_64 User : deploy ( 1002) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/ravel.network/public/wp-content/plugins/independent-analytics/IAWP/ |
Upload File : |
<?php
namespace IAWP;
/**
* Reads a list of icons from a directory allowing them to be searched. Supports defaults.
* @internal
*/
class Icon_Directory
{
private $directory;
private $alt_text;
private $files;
public function __construct(string $directory, string $alt_text)
{
$this->directory = $directory;
$this->alt_text = $alt_text;
$this->files = $this->get_files_in_directory($directory);
}
public function find(string $icon) : string
{
$icon_url = $this->find_icon_url($icon);
if (\is_null($icon_url)) {
return '';
}
return '<img class="flag" alt="' . \esc_attr($this->alt_text) . '" src="' . $icon_url . '"/>';
}
public function find_icon_url(string $icon) : ?string
{
$file_name = $this->convert_icon_name_to_file_name($icon);
if (\in_array($file_name, $this->files)) {
return $this->get_url_for_file($file_name);
}
if (\in_array('default.svg', $this->files)) {
return $this->get_url_for_file('default.svg');
}
return null;
}
private function convert_icon_name_to_file_name(string $string) : string
{
return \str_replace([' ', '/'], '-', \strtolower($string)) . '.svg';
}
private function get_url_for_file(string $file_name) : string
{
return \IAWPSCOPED\iawp_url_to($this->directory . $file_name) . '?version=' . \IAWP_VERSION;
}
private function get_files_in_directory(string $directory) : array
{
$files = \scandir(\IAWPSCOPED\iawp_path_to($directory));
if ($files === \false) {
return [];
}
$files = \array_diff($files, ['..', '.']);
$files = \array_values($files);
return $files;
}
}