SHOW:
|
|
- or go back to the newest paste.
| 1 | <?php | |
| 2 | ||
| 3 | $stack = array(); | |
| 4 | ||
| 5 | // кол-во публикаций в базе | |
| 6 | $posts = 10000; | |
| 7 | // период публикаций 180 дней или 1/2 года или пол-года | |
| 8 | $period = 30*6; | |
| 9 | ||
| 10 | $pd = intval($posts/$period); | |
| 11 | ||
| 12 | print $pd." posts.<br>"; | |
| 13 | print (24*60*60)." sec/day<br>"; | |
| 14 | ||
| 15 | $interval_seconds = intval((24*60*60)/$pd); | |
| 16 | $interval_minutes = intval((24*60)/$pd); | |
| 17 | ||
| 18 | print $interval_seconds." sec - for post interval<br><br>"; | |
| 19 | print $interval_minutes." min - for post interval<br><br>"; | |
| 20 | ||
| 21 | print mt_rand($interval_minutes,$interval_minutes+1)."<br>"; | |
| 22 | ||
| 23 | ?> | |
| 24 | <?php | |
| 25 | set_time_limit(0); | |
| 26 | ||
| 27 | class db {}
| |
| 28 | require_once('engine/data/dbconfig.php');
| |
| 29 | ||
| 30 | if (!mysql_connect(DBHOST,DBUSER, DBPASS) || !mysql_select_db(DBNAME)) trigger_error('Can not connect to database',E_USER_ERROR);
| |
| 31 | ||
| 32 | $query="SELECT * FROM `".PREFIX."_post`"; | |
| 33 | $result = mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
| |
| 34 | ||
| 35 | // —читаем кол-во постов в базе DLE | |
| 36 | $count=0; | |
| 37 | if (mysql_num_rows($result)>0) while ($row = mysql_fetch_assoc($result)) {
| |
| 38 | if (file_exists('stop.txt')) die('Cancel by the user!');
| |
| 39 | $count++; | |
| 40 | //print $count."<br>"; | |
| 41 | //$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']); | |
| 42 | //print(intval($row['id']))."<br>"; | |
| 43 | //mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
| |
| 44 | } | |
| 45 | ||
| 46 | print "Here is ".$count." posts.<br>"; | |
| 47 | ||
| 48 | date_default_timezone_set('Asia/Novosibirsk');
| |
| 49 | #$start_date = new DateTime("$date1");
| |
| 50 | #$end_date = new DateTime("$date2");
| |
| 51 | #$interval = $start_date->diff($end_date); | |
| 52 | ||
| 53 | #$days = $interval->d; | |
| 54 | #$months = $interval->m; | |
| 55 | #$years = $interval->y; | |
| 56 | #$hours = $interval->h; | |
| 57 | #$mins = $interval->i; | |
| 58 | #$secs = $interval->s; | |
| 59 | ||
| 60 | ||
| 61 | // ѕеременна¤ дл¤ прибавлени¤ дат от текущей даты | |
| 62 | $date_current_plus = new DateTime(date("Y-m-d H:i:s"));
| |
| 63 | // ѕеременна¤ дл¤ вычитани¤ дат от текущей даты | |
| 64 | $date_current_minus = new DateTime(date("Y-m-d H:i:s"));
| |
| 65 | ||
| 66 | ||
| 67 | ||
| 68 | print "Current Date: ".$date_current_plus->format('Y-m-d H:i:s')."<br>";
| |
| 69 | $rand = mt_rand(500,733); | |
| 70 | print " ол-во опубликованных записей:".$rand."<br>"; | |
| 71 | ||
| 72 | ||
| 73 | ||
| 74 | for($i=0;$i<$count;$i++){
| |
| 75 | $hours = 0; | |
| 76 | $seconds = mt_rand($interval_seconds,$interval_seconds+(mt_rand(1,25)*60)); | |
| 77 | ||
| 78 | $interval = new DateInterval('PT'.$hours.'H'.$seconds.'S');
| |
| 79 | ||
| 80 | ||
| 81 | ||
| 82 | if($i>$rand){
| |
| 83 | print "11 - "; | |
| 84 | $date_current_plus->add($interval); | |
| 85 | $date = $date_current_plus; | |
| 86 | }else{
| |
| 87 | print "22 - "; | |
| 88 | $date_current_minus->sub($interval); | |
| 89 | $date = $date_current_minus; | |
| 90 | } | |
| 91 | ||
| 92 | ||
| 93 | echo "$i ".$date->format('Y-m-d H:i:s') . " / ";
| |
| 94 | ||
| 95 | array_push($stack,$date->format('Y-m-d H:i:s'));
| |
| 96 | ||
| 97 | ||
| 98 | ||
| 99 | $cnt++; | |
| 100 | if(intval($date->format('d'))!=$old_day){
| |
| 101 | print "<hr>".$old_day." - $cnt posts / $old_day<hr>"; | |
| 102 | $cnt=0; | |
| 103 | } | |
| 104 | ||
| 105 | ||
| 106 | $old_day = intval($date->format('d'));
| |
| 107 | ||
| 108 | print " - interval <b>$seconds s or ".gmdate("H:i:s", $seconds)." m</b><br>\n";
| |
| 109 | ||
| 110 | } | |
| 111 | ||
| 112 | //print_r($stack)."<br>"; | |
| 113 | ||
| 114 | // ѕишем распределение дат постов в базу MySQL | |
| 115 | ||
| 116 | ||
| 117 | $query="SELECT * FROM `".PREFIX."_post`"; | |
| 118 | $result = mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
| |
| 119 | ||
| 120 | $count=0; | |
| 121 | if (mysql_num_rows($result)>0) while ($row = mysql_fetch_assoc($result)) {
| |
| 122 | if (file_exists('stop.txt')) die('Cancel by the user!');
| |
| 123 | ||
| 124 | $query="UPDATE `".PREFIX."_post` SET `date`= '".trim($stack[$count])."' WHERE `id`=".intval($row['id']); | |
| 125 | //print(intval($row['id']))."<br>"; | |
| 126 | mysql_query($query) or trigger_error('SQL: Query error at line '.__LINE__,E_USER_ERROR);
| |
| 127 | $count++; | |
| 128 | } | |
| 129 | ||
| 130 | print "<br>".$count." posts has been updated<br>"; | |
| 131 | ||
| 132 | ?> |