www.gusucode.com > 74cms PHP骑士人才系统 v3.5.1源码程序 > code/upload/include/crons/clear_expired_jobs.php

    <?php
 /*
 * 74cms 计划任务 清除过期职位
 * ============================================================================
 * 版权所有: 骑士网络,并保留所有权利。
 * 网站地址: http://www.74cms.com;
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
 * 使用;不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
*/
if(!defined('IN_QISHI'))
{
die('Access Denied!');
}
	global $_CFG;
	$time=time();
	if ($_CFG['outdated_jobs']=="1")
	{
		$result = $db->query("SELECT * FROM ".table('jobs')." WHERE  deadline<{$time} OR (setmeal_deadline<{$time} and setmeal_deadline>0)");
		while($row = $db->fetch_array($result))
		{	
			$row=array_map('addslashes',$row);
		
			$db->query("Delete from ".table('jobs_tmp')." WHERE id='{$row['id']}' LIMIT 1");
			inserttable(table('jobs_tmp'),$row);
			$did[]=$row['id'];
			if ((time()-$time)>3)
			{
				if (!empty($did) && is_array($did) )
				{
					foreach($did as $id)
					{
						$db->query("Delete from ".table('jobs')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_hot')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_key')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_rtime')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_scale')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_stickrtime')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_wage')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_tag')." WHERE id='{$id}' LIMIT 1");
					}
				}
				break;
			}
		}
			if (!empty($did) && is_array($did) )
				{
					foreach($did as $id)
					{
						$db->query("Delete from ".table('jobs')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_hot')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_key')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_rtime')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_scale')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_stickrtime')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_wage')." WHERE id='{$id}' LIMIT 1");
						$db->query("Delete from ".table('jobs_search_tag')." WHERE id='{$id}' LIMIT 1");
					}
				}	
	 }
	//更新任务时间表
	if ($crons['weekday']>=0)
	{
	$weekday=array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	$nextrun=strtotime("Next ".$weekday[$crons['weekday']]);
	}
	elseif ($crons['day']>0)
	{
	$nextrun=strtotime('+1 months'); 
	$nextrun=mktime(0,0,0,date("m",$nextrun),$crons['day'],date("Y",$nextrun));
	}
	else
	{
	$nextrun=time();
	}
	if ($crons['hour']>=0)
	{
	$nextrun=strtotime('+1 days',$nextrun); 
	$nextrun=mktime($crons['hour'],0,0,date("m",$nextrun),date("d",$nextrun),date("Y",$nextrun));
	}
	if (intval($crons['minute'])>0)
	{
	$nextrun=strtotime('+1 hours',$nextrun); 
	$nextrun=mktime(date("H",$nextrun),$crons['minute'],0,date("m",$nextrun),date("d",$nextrun),date("Y",$nextrun));
	}
	$setsqlarr['nextrun']=$nextrun;
	$setsqlarr['lastrun']=time();
	updatetable(table('crons'), $setsqlarr," cronid ='".intval($crons['cronid'])."'");
?>