Location: PHPKode > scripts > OpenSourceClassifieds > opensourceclassifieds-core-b6497e4/crons/cron.php
<?php
/*
 *      OpenSourceClassifieds – software for creating and publishing online classified
 *                           advertising platforms
 *
 *                        Copyright (C) 2011 OpenSourceClassifieds
 *
 *       This program is free software: you can redistribute it and/or
 *     modify it under the terms of the GNU Affero General Public License
 *     as published by the Free Software Foundation, either version 3 of
 *            the License, or (at your option) any later version.
 *
 *     This program is distributed in the hope that it will be useful, but
 *         WITHOUT ANY WARRANTY; without even the implied warranty of
 *        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *             GNU Affero General Public License for more details.
 *
 *      You should have received a copy of the GNU Affero General Public
 * License along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
$d_now = date('Y-m-d H:i:s');
$i_now = strtotime($d_now);
// Hourly crons
$cron = Cron::newInstance()->getCronByType('HOURLY');
if (is_array($cron)) 
{
	$i_next = strtotime($cron['d_next_exec']);
	if (($i_now - $i_next) >= 0) 
	{
		require_once 'osc/cron.hourly.php';
		// update the next execution time in t_cron
		$d_next = date('Y-m-d H:i:s', $i_now + 3600);
		Cron::newInstance()->update(array('d_last_exec' => $d_now, 'd_next_exec' => $d_next), array('e_type' => 'HOURLY'));
	}
}
// Daily crons
$cron = Cron::newInstance()->getCronByType('DAILY');
if (is_array($cron)) 
{
	$i_next = strtotime($cron['d_next_exec']);
	if (($i_now - $i_next) >= 0) 
	{
		require_once 'osc/cron.daily.php';
		// update the next execution time in t_cron
		$d_next = date('Y-m-d H:i:s', $i_now + (24 * 3600));
		Cron::newInstance()->update(array('d_last_exec' => $d_now, 'd_next_exec' => $d_next), array('e_type' => 'DAILY'));
	}
}
// Weekly crons
$cron = Cron::newInstance()->getCronByType('WEEKLY');
if (is_array($cron)) 
{
	$i_next = strtotime($cron['d_next_exec']);
	if (($i_now - $i_next) >= 0) 
	{
		require_once 'osc/cron.weekly.php';
		// update the next execution time in t_cron
		$d_next = date('Y-m-d H:i:s', $i_now + (7 * 24 * 3600));
		Cron::newInstance()->update(array('d_last_exec' => $d_now, 'd_next_exec' => $d_next), array('e_type' => 'WEEKLY'));
	}
}
osc_run_hook('cron');
Return current item: OpenSourceClassifieds