Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
TemKa_SD

Помогите создать tasks

Recommended Posts

Да, вы правильно поняли. Ну задача выполняется раз в час, если в первом часе обновилось до 1, то во втором часе обновит на 0. Ну как и должно быть в принципе, ну да, реализация не правильная, условие нужно менять. Сделайте пожалуйста, и с этим вопросом покончено )))

Share this post


Link to post
Share on other sites

Сделайте пожалуйста, и с этим вопросом покончено )))

Я же Вам написал выше

1. Ставьте всем 0

2. Ставьте 1 тем, кто играл.

и http://ipbskins.ru/forum/topic15678.html/page__view__findpost__p__104902, начиная с "Сделайте так"

Нужно только 2 и 3 коды изменить

Share this post


Link to post
Share on other sites

А, вы предлагаете первым запросом таска в базу сбрасывать все значения?

 

	public function execute()
{
       $db = \IPS\sharedstats\DB::get();
$db::i('stats')->update('stats_forum_connections', array('active' => 0));
	$names = iterator_to_array($db::i('stats')->select(
	    "CONCAT(stats_gameplayers.name, stats_gameplayers.spoofedrealm)",
	    'stats_gameplayers',
	    array( 'UNIX_TIMESTAMP(stats_games.datetime)>?', \IPS\DateTime::create()->sub(new \DateInterval('P30D'))->getTimestamp()),
	    null,
	    null,
	    array('stats_gameplayers.name', 'stats_gameplayers.spoofedrealm')
	)->join(
	    'stats_games',
	    'stats_games.id=stats_gameplayers.gameid'
	));
	if (count($names))
	{
	    $db::i('stats')->update('stats_forum_connections', array('active' => 1), $db::i('stats')->in("CONCAT(name, server)", $names));
	}
}

Edited by TemKa_SD

Share this post


Link to post
Share on other sites

А, вы предлагаете первым запросом таска в базу сбрасывать все значения?

Да

 

.....
       $db::i('stats')->update('stats_forum_connections', array('active' => 0));

       $names = iterator_to_array($db::i('stats')->select(
           "CONCAT(stats_gameplayers.name, stats_gameplayers.spoofedrealm)",
           'stats_gameplayers',
           array( 'UNIX_TIMESTAMP(stats_games.datetime)>?', \IPS\DateTime::create()->sub(new \DateInterval('P30D'))->getTimestamp()),
           null,
           null,
           array('stats_gameplayers.name', 'stats_gameplayers.spoofedrealm')
       )->join(
           'stats_games',
           'stats_games.id=stats_gameplayers.gameid'
       ));
       if (count($names))
       {
           $db::i('stats')->update('stats_forum_connections', array('active' => 1), $db::i('stats')->in("CONCAT(name, server)", $names));
       }

Share this post


Link to post
Share on other sites

Да

 

Да, я уже поправил своё сообщение подумав секунду. Спасибо за помощь )

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...