AnonSec Team
Server IP : 10.131.40.8  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux webd008.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User : ludmqhh ( 137773)
PHP Version : 8.4.10
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/ludmqhh/www/guillaume/wp-content/plugins/spotlight-social-photo-feeds/modules/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/ludmqhh/www/guillaume/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',
            ]),
        ];
    }
}

AnonSec - 2021