PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
| Dir : /home/sc1buiq6159/smile.formagloba.fr/wp-content/plugins/site-reviews/plugin/ |
| Server: Linux apophis.o2switch.net 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64 IP: 109.234.164.184 |
| Dir : /home/sc1buiq6159/smile.formagloba.fr/wp-content/plugins/site-reviews/plugin/Hooks.php |
<?php
namespace GeminiLabs\SiteReviews;
use GeminiLabs\SiteReviews\Contracts\HooksContract;
class Hooks implements HooksContract
{
public function run(): void
{
$dir = glsr()->path('plugin/Hooks');
if (!is_dir($dir)) {
return;
}
$iterator = new \DirectoryIterator($dir);
foreach ($iterator as $fileinfo) {
if (!$fileinfo->isFile()) {
continue;
}
try {
$hooks = "GeminiLabs\SiteReviews\Hooks\\{$fileinfo->getBasename('.php')}";
$reflect = new \ReflectionClass($hooks);
if ($reflect->isInstantiable()) {
glsr()->singleton($hooks); // make singleton
glsr($hooks)->run();
glsr($hooks)->runDeferred();
}
} catch (\ReflectionException $e) {
glsr_log()->error($e->getMessage());
}
}
$this->runIntegrations();
}
public function runIntegrations(): void
{
$dir = glsr()->path('plugin/Integrations');
if (!is_dir($dir)) {
return;
}
$iterator = new \DirectoryIterator($dir);
foreach ($iterator as $fileinfo) {
if (!$fileinfo->isDir() || $fileinfo->isDot()) {
continue;
}
try {
$hooks = "GeminiLabs\SiteReviews\Integrations\\{$fileinfo->getBasename()}\Hooks";
$reflect = new \ReflectionClass($hooks);
if ($reflect->isInstantiable()) {
glsr()->singleton($hooks);
add_action('plugins_loaded', function () use ($hooks) {
glsr($hooks)->run();
}, 100); // run integrations late
glsr($hooks)->runDeferred();
}
} catch (\ReflectionException $e) {
glsr_log()->error($e->getMessage());
}
}
}
}