View difference between Paste ID: d6LtCZ3D and kNAfSRs4
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
?>