|
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 ] |
|---|
<?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',
]),
];
}
}
