PageRenderTime 22ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/fillDB.php

http://poordecisions.googlecode.com/
PHP | 223 lines | 29 code | 18 blank | 176 comment | 2 complexity | 9b2bbd023859d8fe6f8a604efb6a4765 MD5 | raw file
Possible License(s): Apache-2.0
  1. <?php
  2. $start = microtime(true);
  3. set_time_limit(0);
  4. require('jacked_configVars.php');
  5. require('../jacked_configMySQL.php');
  6. require('jacked_functions.php');
  7. require('jacked_pdnetfunctions.php');
  8. require( 'jacked_markovGenerator.php' );
  9. if($_GET['makethishappen'] != 'fuckyeah'){
  10. die("<h1>THIS IS DANGEROUS KEEP OUT</h1>");
  11. }
  12. ini_set('memory_limit', '50M'); // only needed to create the table
  13. $markov = new MarkovLetterChain( 6 );
  14. $markov->feed( file_get_contents( 'lib/great-expectations.txt' ) );
  15. $markov->root(2);
  16. @unlink( 'markov.state' );
  17. $v = $markov->save_state( 'markov.state', false );
  18. unset( $markov );
  19. print "save state: " . ( $v ? 'OK<br />' : 'FAIL<br />' ) ."\n";
  20. $markov = new MarkovLetterChain();
  21. $v = $markov->load_state( 'markov.state' );
  22. print "load state: " . ( $v ? 'OK<br />' : 'FAIL<br />' ) ."\n";
  23. //////////////////////////////////////////
  24. //ok i dunno wtf that was but now we have $markov i guess.
  25. $posts = getPosts(5000, '', 'hahalols', array('id'));
  26. foreach($posts as $post){
  27. }
  28. /*
  29. NO NOW WE ARE DOING COMMENTS THIS IS OLD AND IT SHOULD FEEL OLD
  30. $application_ids = array();
  31. $source_ids = array();
  32. $tag_ids = array();
  33. $pd_ids = array();
  34. function getRandomIdFrom($arr){
  35. return $arr[rand(0, (count($arr) - 1))];
  36. }
  37. function generateSentence($markov){
  38. $punct = array(0 => ".", 1 => "?", 2 => "!", 3 => "?!");
  39. $lol = ucfirst($markov->generate(1, 20));
  40. for($i = 0; $i < rand(2, 30); $i++){
  41. $lol .= " " . $markov->generate(1, 20);
  42. }
  43. $lol .= $punct[rand(0, 3)];
  44. return $lol;
  45. }
  46. function generateParagraph($markov){
  47. $lol = generateSentence($markov);
  48. for($i = 0; $i < rand(0, 9); $i++){
  49. $lol .= " " . generateSentence($markov);
  50. }
  51. return $lol;
  52. }
  53. //MAKE DOES DO OF IT
  54. $i_apps = 0;
  55. $i_sources = 0;
  56. $i_tags = 0;
  57. $i_pds = 0;
  58. $i_tagrels = 0;
  59. $i_votes = 0;
  60. echo "<h4>first comes apps, 50 of them. </h4>";
  61. for($i_apps = 0; $i_apps < 50; $i_apps++){
  62. $lol = array(
  63. "apiKey" => md5($markov->generate(1, 30)),
  64. "name" => $markov->generate(1, 30) . "" . $markov->generate(1, 30) . "App",
  65. "device" => rand(0, 1),
  66. "platform" => $markov->generate(1, 20),
  67. "authorName" => $markov->generate(1, 30) . " " . $markov->generate(1, 30),
  68. "authorContact" => $markov->generate(1, 30) . "@" . $markov->generate(1, 30) . ".com",
  69. "authorSite" => $markov->generate(1, 30) . ".com/" . $markov->generate(1, 30),
  70. "description" => generateParagraph($markov)
  71. );
  72. echo "adding " . $lol[name];
  73. $did = jackedDBInsertValues('Application', $lol);
  74. echo "...#$did done.<br>";
  75. }
  76. echo "populating apps id array...";
  77. $query = "SELECT `id` FROM Application WHERE 1";
  78. $result = mysql_query($query, JACKED_DEFAULT_LINK);
  79. while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  80. $application_ids[] = $row['id'];
  81. }
  82. echo "done.<br>";
  83. echo "<h4>okay now Sources, linked to random apps. Let's make 200</h4>";
  84. for($i_sources = 0; $i_sources < 200; $i_sources++){
  85. $lol = array(
  86. "uuid" => md5($markov->generate(1, 30)),
  87. "Application" => getRandomIdFrom($application_ids)
  88. );
  89. echo "adding " . $lol[uuid];
  90. $did = jackedDBInsertValues('Source', $lol);
  91. echo "...#$did done.<br>";
  92. }
  93. echo "populating sources id array...";
  94. $query = "SELECT `id` FROM Source WHERE 1";
  95. $result = mysql_query($query, JACKED_DEFAULT_LINK);
  96. while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  97. $source_ids[] = $row['id'];
  98. }
  99. echo "done.<br>";
  100. echo "<h4>next is Tags, so 500 of those.</h4>";
  101. for($i_tags = 0; $i_tags < 500; $i_tags++){
  102. $tagname = $markov->generate(1, 40);
  103. $lol = array(
  104. "usage" => rand(1, 50) * round((rand(1, 10) / 10)) + 1,
  105. "name" => $tagname,
  106. "slug" => slugify($tagname)
  107. );
  108. echo "adding " . $lol[name];
  109. $did = jackedDBInsertValues('Tag', $lol);
  110. echo "...#$did done.<br>";
  111. }
  112. echo "populating tags id array...";
  113. $query = "SELECT `id` FROM Tag WHERE 1";
  114. $result = mysql_query($query, JACKED_DEFAULT_LINK);
  115. while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  116. $tag_ids[] = $row['id'];
  117. }
  118. echo "done.<br>";
  119. echo "<h4>POSTS! 200 of em</h4>";
  120. for($i_pds = 0; $i_pds < 200; $i_pds++){
  121. $lol = array(
  122. "Decision" => generateParagraph($markov),
  123. "Result" => generateParagraph($markov),
  124. "Votes" => rand(3, 15)
  125. );
  126. echo "adding " . $lol[Decision];
  127. $did = jackedDBInsertValues('PoorDecision', $lol);
  128. echo "...#$did done.<br>";
  129. }
  130. echo "populating PDs id array...";
  131. $query = "SELECT `id` FROM PoorDecision WHERE 1";
  132. $result = mysql_query($query, JACKED_DEFAULT_LINK);
  133. while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  134. $pd_ids[] = $row['id'];
  135. }
  136. echo "done.<br>";
  137. echo "<h3>Now connecting all of those. The really hard part.</h3>";
  138. echo "<h4>TagRels time, matched to the Tags usages</h4>";
  139. for($i_tagrels = 0; $i_tagrels < count($tag_ids); $i_tagrels++){
  140. echo "working on tag $i_tagrels<br>";
  141. $usage = jackedDBGetVal('usage', 'Tag', "`id` = '$i_tagrels'");
  142. for($x = 0; $x < $usage; $x++){
  143. $lol = array(
  144. "pdID" => getRandomIdFrom($pd_ids),
  145. "tID" => $i_tagrels
  146. );
  147. echo "adding " . $lol[pdID] . "=>" . $lol[tID];
  148. $did = jackedDBInsertValues('TagRel', $lol);
  149. echo "...#$did done.<br>";
  150. }
  151. }
  152. echo "<h4>Votes time, HNNNG this is hard, </h4>";
  153. for($i_votes = 0; $i_votes < count($pd_ids); $i_votes++){
  154. echo "working on PD $i_votes<br>";
  155. $usage = jackedDBGetVal('votes', 'PoorDecision', "`id` = '$i_votes'");
  156. for($x = 0; $x < $usage; $x++){
  157. $r = rand(0, (count($arr) - 1));
  158. $uid = $source_ids[$r];
  159. $source_ids[$r] = null;
  160. $lol = array(
  161. "value" => (rand(0, 1) ? -1 : 1),
  162. "Source" => $uid,
  163. "postID" => $i_votes
  164. );
  165. echo "adding " . $lol[value] . "=>" . $lol[postID];
  166. $did = jackedDBInsertValues('Vote', $lol);
  167. echo "...#$did done.<br>";
  168. }
  169. echo "repopulating sources id array...";
  170. $query = "SELECT `id` FROM Source WHERE 1";
  171. $result = mysql_query($query, JACKED_DEFAULT_LINK);
  172. while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  173. $source_ids[] = $row['id'];
  174. }
  175. echo "done.<br>";
  176. }
  177. */
  178. @unlink( 'markov.state' );
  179. $end = microtime(true);
  180. echo "<br><br><h2>I just made $i_apps Applications, $i_sources Sources, $i_tags Tags, $i_pds PoorDecisions, $i_tagrels TagRels, and $i_votes Votes, all completely batshit fucking insane random, in " . ($end - $start) . " seconds.";
  181. ?>