Server IP : 172.67.157.199 / Your IP : 3.144.249.69 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/plugins/defender-security/vendor/gettext/gettext/src/Scanner/ |
Upload File : |
<?php declare(strict_types = 1); namespace Gettext\Scanner; use Exception; use Gettext\Translation; use Gettext\Translations; /** * Base class with common funtions for all scanners. */ abstract class Scanner implements ScannerInterface { protected $translations; protected $defaultDomain; public function __construct(Translations ...$allTranslations) { foreach ($allTranslations as $translations) { $domain = $translations->getDomain(); $this->translations[$domain] = $translations; } } public function setDefaultDomain(string $defaultDomain): void { $this->defaultDomain = $defaultDomain; } public function getDefaultDomain(): string { return $this->defaultDomain; } public function getTranslations(): array { return $this->translations; } public function scanFile(string $filename): void { $string = static::readFile($filename); $this->scanString($string, $filename); } abstract public function scanString(string $string, string $filename): void; protected function saveTranslation( ?string $domain, ?string $context, string $original, string $plural = null ): ?Translation { if (is_null($domain)) { $domain = $this->defaultDomain; } if (!isset($this->translations[$domain])) { return null; } $translation = $this->translations[$domain]->addOrMerge( Translation::create($context, $original) ); if (isset($plural)) { $translation->setPlural($plural); } return $translation; } /** * Reads and returns the content of a file. */ protected static function readFile(string $file): string { $length = filesize($file); if (!($fd = fopen($file, 'rb'))) { throw new Exception("Cannot read the file '$file', probably permissions"); } $content = $length ? fread($fd, $length) : ''; fclose($fd); return $content; } }