HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: 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,
Upload Files
File: //proc/self/cwd/wp-content/plugins/spotlight-social-photo-feeds/modules/UserModule.php
<?php

namespace RebelCode\Spotlight\Instagram\Modules;

use Dhii\Services\Factory;
use LiteSpeed\Conf;
use Psr\Container\ContainerInterface;
use RebelCode\Spotlight\Instagram\Config\ConfigEntry;
use RebelCode\Spotlight\Instagram\Config\WpOption;
use RebelCode\Spotlight\Instagram\Di\ArrayExtension;
use RebelCode\Spotlight\Instagram\Module;
use RebelCode\Spotlight\Instagram\Wp\PostType;

class UserModule extends Module
{
    public function run(ContainerInterface $c): void
    {
        add_action('spotlight/instagram/init', function () use ($c) {
            // If the start date is not saved and the user has feeds, set the start date
            if ($c->get('is_new_with_feeds')) {
                /** @var ConfigEntry $dateStarted */
                $dateStarted = $c->get('config/date_started');
                $dateStarted->setValue(time());
            }
        });
    }

    /** @inerhitDoc */
    public function getFactories(): array
    {
        return [
            'config/date_started' => new Factory([], function () {
                return new WpOption('sli_date_started', 0, true, WpOption::SANITIZE_INT);
            }),
            'is_new' => new Factory(['config/date_started', '@feeds/cpt'],
                function (ConfigEntry $dateStarted, PostType $feeds) {
                    return $dateStarted->getValue() === 0 && $feeds->getTotalNum() === 0;
                }
            ),
            'is_new_with_feeds' => new Factory(['config/date_started', '@feeds/cpt'],
                function (ConfigEntry $dateStarted, PostType $feeds) {
                    return $dateStarted->getValue() === 0 && $feeds->getTotalNum() > 0;
                }
            ),
        ];
    }

    /** @inerhitDoc */
    public function getExtensions(): array
    {
        return [
            'config/entries' => new ArrayExtension([
                'dateStarted' => 'config/date_started',
            ]),
        ];
    }
}