Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $stack = array();
- // кол-во публикаций в базе
- $posts = 10000;
- // период публикаций 180 дней или 1/2 года или пол-года
- $period = 30*6;
- $pd = intval($posts/$period);
- print $pd." posts.<br>";
- print (24*60*60)." sec/day<br>";
- $interval_seconds = intval((24*60*60)/$pd);
- $interval_minutes = intval((24*60)/$pd);
- print $interval_seconds." sec - for post interval<br><br>";
- print $interval_minutes." min - for post interval<br><br>";
- print mt_rand($interval_minutes,$interval_minutes+1)."<br>";
- ?>
- <?php
- set_time_limit(0);
- class db {}
- require_once('engine/data/dbconfig.php');
- if (!mysql_connect(DBHOST,DBUSER, DBPASS) || !mysql_select_db(DBNAME)) trigger_error('Can not connect to database',E_USER_ERROR);
- $query="SELECT * FROM `".PREFIX."_post`";
- $result = mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
- // —читаем кол-во постов в базе DLE
- $count=0;
- if (mysql_num_rows($result)>0) while ($row = mysql_fetch_assoc($result)) {
- if (file_exists('stop.txt')) die('Cancel by the user!');
- $count++;
- //print $count."<br>";
- //$query="UPDATE `".PREFIX."_post` SET `date`= DATE_ADD(FROM_DAYS( FLOOR( TO_DAYS( NOW( )) + ( RAND( ) * 1560 ) - ( RAND( ) *730 ) ) ), INTERVAL (FLOOR(RAND()*86400)) SECOND) WHERE `id`=".intval($row['id']);
- //print(intval($row['id']))."<br>";
- //mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
- }
- print "Here is ".$count." posts.<br>";
- date_default_timezone_set('Asia/Novosibirsk');
- #$start_date = new DateTime("$date1");
- #$end_date = new DateTime("$date2");
- #$interval = $start_date->diff($end_date);
- #$days = $interval->d;
- #$months = $interval->m;
- #$years = $interval->y;
- #$hours = $interval->h;
- #$mins = $interval->i;
- #$secs = $interval->s;
- // ѕеременна¤ дл¤ прибавлени¤ дат от текущей даты
- $date_current_plus = new DateTime(date("Y-m-d H:i:s"));
- // ѕеременна¤ дл¤ вычитани¤ дат от текущей даты
- $date_current_minus = new DateTime(date("Y-m-d H:i:s"));
- print "Current Date: ".$date_current_plus->format('Y-m-d H:i:s')."<br>";
- $rand = mt_rand(500,733);
- print " ол-во опубликованных записей:".$rand."<br>";
- for($i=0;$i<$count;$i++){
- $hours = 0;
- $seconds = mt_rand($interval_seconds,$interval_seconds+(mt_rand(1,25)*60));
- $interval = new DateInterval('PT'.$hours.'H'.$seconds.'S');
- if($i>$rand){
- print "11 - ";
- $date_current_plus->add($interval);
- $date = $date_current_plus;
- }else{
- print "22 - ";
- $date_current_minus->sub($interval);
- $date = $date_current_minus;
- }
- echo "$i ".$date->format('Y-m-d H:i:s') . " / ";
- array_push($stack,$date->format('Y-m-d H:i:s'));
- $cnt++;
- if(intval($date->format('d'))!=$old_day){
- print "<hr>".$old_day." - $cnt posts / $old_day<hr>";
- $cnt=0;
- }
- $old_day = intval($date->format('d'));
- print " - interval <b>$seconds s or ".gmdate("H:i:s", $seconds)." m</b><br>\n";
- }
- //print_r($stack)."<br>";
- // ѕишем распределение дат постов в базу MySQL
- $query="SELECT * FROM `".PREFIX."_post`";
- $result = mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
- $count=0;
- if (mysql_num_rows($result)>0) while ($row = mysql_fetch_assoc($result)) {
- if (file_exists('stop.txt')) die('Cancel by the user!');
- $query="UPDATE `".PREFIX."_post` SET `date`= '".trim($stack[$count])."' WHERE `id`=".intval($row['id']);
- //print(intval($row['id']))."<br>";
- mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
- $count++;
- }
- print "<br>".$count." posts has been updated<br>";
- ?>
Add Comment
Please, Sign In to add comment