<?php

$cachefile = './cache/auto.dat.php';

$article_auto_config_filename = './data/article_auto_config.php'; //文章自动更新设置文件



$time=time();//当前时间
$dat_time = @filemtime($cachefile);

if(date("d",$time) == date("d",$dat_time)){        //判断是否同一天
           //echo date("i",$time)."<br>".date("i",$dat_time);
		   
		   if( ( $time - $dat_time ) < 1 )exit; //10分钟内不更新
		   
		   //if($dat_in_num > $set_num)exit;        //更新数少于每日更新数则更新
		   
        }else{                                    //不是同一天
		//echo "第二天删除记录文件";
		unlink($cachefile);		
}

if ( !file_exists( $cachefile ) ) {//如果缓存文件不存在则创建缓存
	$e = file ($article_auto_config_filename);
	$article_auto = unserialize($e['0']);
	$article_auto['autoAllNum_pc'] = '0';
	$_article_auto=serialize($article_auto);
	$query    =   updatetofile("$cachefile",$_article_auto);
	
}else{

	$e = file ($cachefile);
	$article_auto = unserialize($e['0']);
	
	//print_r($article_auto);
	
	//判断如果已更新文章数大于总设置数则停止更新
	if( $article_auto['autoAllNum_pc'] >= $article_auto['autoAllNum'] ){ exit; }
	
	$a_key = array_keys ($article_auto);
	
	//print_r($a_key);
	
	$num =count($a_key);
	
	$rand_keys = mt_rand(0,($num-1)); //随机抽取一个栏目看看是否可以更新
	
	$_fid = $a_key[$rand_keys];
	
	//echo $_fid;
	
	if( $article_auto[$_fid]['article_auto_config'] == 'Y' ){
		if( $article_auto[$_fid]['article_auto_num'] > $article_auto[$_fid]['article_auto_num_pc'] ){//更新文章
		##########################################################################################################
		//获得要变换的文章  ID
		  $sql       = "SELECT mid FROM `w6_sort` WHERE `id` = '$_fid'";
		  $query = mysql_query($sql);
		  $_mid = mysql_result($query,"0","mid");
		  
		  $article_table = "w6_module_content_".$_mid;
  
		  $sql       = "SELECT `id` FROM `$article_table` WHERE `shows` !='1' AND `yz` = '1' AND `fid` = '$_fid' ";
		  $query = mysql_query($sql);
		  $num=mysql_num_rows($query);
		  //if($num==0)exit("数据已更新完成！！");
		  if($num==0)exit();
		  while( $rs=mysql_fetch_array($query) ){
		  $arr_flash_id[] = $rs[id];
		  }
		$flash_id = array_rand($arr_flash_id , 1);//从数组中随机取出一个单元
		$flash_id = $arr_flash_id["$flash_id"];//取得 flash 的ID



  $query="UPDATE `$article_table` SET `shows` = '1' , `posttime`='".$time."' WHERE `id`=".$flash_id; 
		  
  $result = mysql_query($query) or die(mysql_error());
  
	  
	//读取此 ID 的 文章 信息
	$query       =   "SELECT * FROM $article_table WHERE id=$flash_id";
	$result      =   mysql_query($query);
	$aid       =   stripslashes(mysql_result($result,"0","aid"));//为了下面删除信息之用
	$fid       =   stripslashes(mysql_result($result,"0","fid"));
	$module_id     =   stripslashes(mysql_result($result,"0","module_id"));
	$fname     =   stripslashes(mysql_result($result,"0","fname"));
	$title    =   stripslashes(mysql_result($result,"0","title"));



##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj
/*  $query="UPDATE `$article_table` SET `shows` = '1' , `autotime`='".$time."' WHERE `id`=".$postdb['id']; 
		  
  $result = mysql_query($query) or die(mysql_error());


//mysql_query( "UPDATE `$article_table` SET `shows` = '1' WHERE `id` = '$flash_id' LIMIT 1 ; " );
//读取此 ID 的 FLASH 信息
$query       =   "SELECT * FROM $article_table WHERE id=$flash_id";
$result      =   mysql_query($query);


##############################################################################################################################
//读取本模块所需的字段 并查看缓存是否存在，不存在则创建
$cache_auto_out_file = './cache/cache_auto_out_m-'.$_mid.'.php';
$cache_auto_in_file = './cache/cache_auto_in_m-'.$_mid.'.php';

if ( !file_exists( $cache_auto_out_file ) ) {//如果缓存文件不存在则创建缓存

	//先取得本栏目需解析的字段
	$auto_out_query="SELECT * FROM `w6_module` WHERE `module_id`='".$_mid."'";
	$auto_out_result=mysql_query($auto_out_query);
	$module_config       =  mysql_result($auto_out_result,"0","module_config");
	$array = unserialize($module_config);
	
	unset($array['field_set']);//此字段不是文章中的
	unset($array['fl_show']);//此字段已内定
	unset($array['fl_sh']);//此字段已内定

	$set_str_s_b_photo = '';//是否有图片缩略图字段存在
	foreach( $array AS $key=>$value){
			$strdb[]='$'.$value['field_id'].'       =   stripslashes(mysql_result($result,"0","'.$value['field_id'].'"));';
			
	}
		$str=implode(";",$strdb).";";
		
	$str="<?php\n".$str;
	writetofile_w( $cache_auto_out_file , $str );

}
##############################################################################################################################

$aid       =   stripslashes(mysql_result($result,"0","aid"));//为了下面删除信息之用
$fid       =   stripslashes(mysql_result($result,"0","fid"));
$module_id     =   stripslashes(mysql_result($result,"0","module_id"));
$fname     =   stripslashes(mysql_result($result,"0","fname"));
$title    =   stripslashes(mysql_result($result,"0","title"));

include($cache_auto_out_file);

$posttime     =    $time; /////###################################

//删当前 flash 信息
   $query="DELETE FROM `$article_table` WHERE `id`='$flash_id' ";
   $result=mysql_query($query) or die( mysql_error() );
   
   $query="DELETE FROM `w6_module_content_index` WHERE `id`='$aid' ";
   $result=mysql_query($query) or die( mysql_error() );
   
   $query = "insert into `w6_module_content_index` (`fid`,`mid`) values ('$fid','$module_id')";
   $result = mysql_query($query) or die(mysql_error());
   $aid   = mysql_insert_id();

   
//重新上传此 flash 信息 
##############################################################################################################################
if ( !file_exists( $cache_auto_in_file ) ) {//如果缓存文件不存在则创建缓存

	//先取得本栏目需解析的字段
	$auto_in_query="SELECT * FROM `w6_module` WHERE `module_id`='".$_mid."'";
	$auto_in_result=mysql_query($auto_in_query);
	$module_config       =  mysql_result($auto_in_result,"0","module_config");
	$array = unserialize($module_config);
	
	unset($array['field_set']);//此字段不是文章中的
	unset($array['fl_show']);//此字段已内定
	unset($array['fl_sh']);//此字段已内定

	$set_str_s_b_photo = '';//是否有图片缩略图字段存在
	foreach( $array AS $key=>$value){
			$strdb_1 .=', `'.$value['field_id'].'` ';
			$strdb_2 .=',\'$'.$value['field_id'].'\'';
			
	}
		
	$str="\$sql = \" INSERT INTO `\$article_table` (`aid` , `fid` , `module_id` , `fname` , `title` ".$strdb_1;
	$str="<?php\n".$str;
	$str=$str.", `posttime` , `shows` , `yz` )\n		VALUES ( '\$aid','\$fid','\$module_id','\$fname','\$title'";
	$str=$str.$strdb_2.",'\$posttime','yes','1' );\";";
	writetofile_w( $cache_auto_in_file , $str );

}
##############################################################################################################################

include($cache_auto_in_file);

$result=mysql_query($sql) or die( mysql_error() );

$id   = mysql_insert_id();

mysql_query("UPDATE `$article_table` 
          SET `content_list`='$id'
		  WHERE `id`=$id");


##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj##zwj

*/










		
/*********************************************************************************/
//更新完后记录更新信息
$article_auto[$_fid]['article_auto_num_pc']++;

$article_auto['autoAllNum_pc']++;

	$_article_auto=serialize($article_auto);
	
	$query    =   updatetofile("$cachefile","$_article_auto");
/*********************************************************************************/

//根据 flash id 取得 fid 然后更新 对应的文章和栏目内空
@include("./include/fun_auto_makehtmshow.php");  


		//文章更新完毕
		##########################################################################################################
		}
	}
	
	//print_r ($article_auto[$_fid]);
	
}
