/doomcounter.php

https://github.com/Xkeeper0/jul · PHP · 163 lines · 111 code · 41 blank · 11 comment · 8 complexity · cf30767e2f9750d1d16a9203a87f89b1 MD5 · raw file

  1. <?php
  2. if (!$_GET['notice']) {
  3. header("Pragma: no-cache;");
  4. header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
  5. $image = imagecreatetruecolor(116, 19);
  6. $offsets = array( 0, 1, -1, 2, 0, 1, -1, 1, 0, 2);
  7. shuffle($offsets);
  8. # for ($i = 0; $i < 10; $i++) {
  9. # $offsets[$i] = mt_rand(-1, 3);
  10. # }
  11. switch (((time() % 300) / 300 * 7) % 7) {
  12. case 0:
  13. $color['text'] = imagecolorallocatealpha($image, 0, 0, 128, 50);
  14. $color['shadow'] = imagecolorallocatealpha($image, 225, 210, 255, 10);
  15. break;
  16. case 1:
  17. $color['text'] = imagecolorallocatealpha($image, 0, 64, 64, 50);
  18. $color['shadow'] = imagecolorallocatealpha($image, 210, 225, 255, 10);
  19. break;
  20. case 2:
  21. $color['text'] = imagecolorallocatealpha($image, 0, 96, 0, 50);
  22. $color['shadow'] = imagecolorallocatealpha($image, 225, 255, 225, 10);
  23. break;
  24. case 3:
  25. $color['text'] = imagecolorallocatealpha($image, 99, 44, 0, 50);
  26. $color['shadow'] = imagecolorallocatealpha($image, 255, 255, 210, 10);
  27. break;
  28. case 4:
  29. $color['text'] = imagecolorallocatealpha($image, 128, 22, 20, 50);
  30. $color['shadow'] = imagecolorallocatealpha($image, 255, 244, 222, 10);
  31. break;
  32. case 5:
  33. $color['text'] = imagecolorallocatealpha($image, 128, 0, 0, 50);
  34. $color['shadow'] = imagecolorallocatealpha($image, 255, 212, 232, 10);
  35. break;
  36. case 6:
  37. $color['text'] = imagecolorallocatealpha($image, 64, 0, 128, 50);
  38. $color['shadow'] = imagecolorallocatealpha($image, 235, 212, 255, 10);
  39. }
  40. # $color['text'] = imagecolorallocatealpha($image, 0, 0, 0, 50);
  41. # $color['shadow'] = imagecolorallocatealpha($image, 255, 0, 0, 10);
  42. imagealphablending($image, false);
  43. imagefilledrectangle($image, 0, 0, 500, 500, imagecolorallocatealpha($image, 255, 0, 0, 127));
  44. imagealphablending($image, true);
  45. imagesavealpha($image, true);
  46. // imagerectangle($image, 0, 0, 113, 18, 0xFF0000);
  47. $time = mktime( 0, 0, 0, 4, 5, 2012) - microtime(true);
  48. $time = floor($time * (1000000 / 86400));
  49. #$time = microtime(true) - (time() - time() % 86400);
  50. #$time = floor($time * (1000000 / 86400));
  51. $xpos = 1;
  52. $ypos = 16;
  53. // $time = "---------";
  54. lazy($image, $xpos - 1, $ypos - 1, $time, $color['shadow']);
  55. lazy($image, $xpos - 1, $ypos + 1, $time, $color['shadow']);
  56. lazy($image, $xpos + 1, $ypos - 1, $time, $color['shadow']);
  57. lazy($image, $xpos + 1, $ypos + 1, $time, $color['shadow']);
  58. lazy($image, $xpos - 1, $ypos , $time, $color['shadow']);
  59. lazy($image, $xpos + 1, $ypos , $time, $color['shadow']);
  60. lazy($image, $xpos , $ypos - 1, $time, $color['shadow']);
  61. lazy($image, $xpos , $ypos + 1, $time, $color['shadow']);
  62. lazy($image, $xpos , $ypos , $time, $color['text']);
  63. if (!$_GET['x'] && false) {
  64. $image2 = imagecreatetruecolor(116, 19);
  65. imagealphablending($image2, false);
  66. imagealphablending($image, false);
  67. imagefilledrectangle($image2, 0, 0, 115, 18, imagecolorallocatealpha($image, 0, 0, 0, 127));
  68. imagecopy($image2, $image, 0, 0, 0, 0, 116, 19);
  69. imagefilledrectangle($image, 0, 0, 115, 18, imagecolorallocatealpha($image, 0, 0, 0, 127));
  70. for ($y = 0; $y < 19; $y++) {
  71. $xofs = 0;
  72. if (mt_rand(0, 10) < 1) {
  73. // $xofs = mt_rand(-15, 15);
  74. $xofs = mt_rand(-1, 1);
  75. // $xofs = 1;
  76. }
  77. imagecopy($image, $image2, $xofs, $y, 0, $y, 116, 1);
  78. }
  79. }
  80. header("Content-type: image/png;");
  81. imagepng($image);
  82. imagedestroy($image);
  83. } else {
  84. header("Pragma: no-cache;");
  85. header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
  86. $image = imagecreatetruecolor(98, 67);
  87. $color['text'] = imagecolorallocatealpha($image, 225, 210, 255, 0);
  88. $color['shadow'] = imagecolorallocatealpha($image, 255, 0, 0, 50);
  89. imagealphablending($image, false);
  90. imagefilledrectangle($image, 0, 0, 500, 500, imagecolorallocatealpha($image, 255, 0, 0, 127));
  91. imagealphablending($image, true);
  92. imagesavealpha($image, true);
  93. $xpos = 1;
  94. $ypos = 14;
  95. $str = "Notice this ››";
  96. lazy2($image, $xpos - 1, $ypos - 1, $str, $color['shadow']);
  97. lazy2($image, $xpos - 1, $ypos + 1, $str, $color['shadow']);
  98. lazy2($image, $xpos + 1, $ypos - 1, $str, $color['shadow']);
  99. lazy2($image, $xpos + 1, $ypos + 1, $str, $color['shadow']);
  100. lazy2($image, $xpos - 1, $ypos , $str, $color['shadow']);
  101. lazy2($image, $xpos + 1, $ypos , $str, $color['shadow']);
  102. lazy2($image, $xpos , $ypos - 1, $str, $color['shadow']);
  103. lazy2($image, $xpos , $ypos + 1, $str, $color['shadow']);
  104. lazy2($image, $xpos , $ypos , $str, $color['text']);
  105. header("Content-type: image/png;");
  106. imagepng($image);
  107. imagedestroy($image);
  108. }
  109. function lazy($image, $x, $y, $t, $c) {
  110. global $offsets;
  111. $t = str_pad($t, 9, " ", STR_PAD_LEFT);
  112. $len = strlen($t);
  113. for ($i = 0; $i < $len; $i++) {
  114. imagettftext($image, 24, 0, $x + $i * 11, $y + $offsets[$i], $c, "images/angsa.ttf", $t{$i});
  115. }
  116. imagettftext($image, 20, 0, $x + 1 + 11 * strlen($t), $y - 2, $c, "images/angsa.ttf", "tu");
  117. }
  118. function lazy2($image, $x, $y, $t, $c) {
  119. global $offsets;
  120. $t = str_pad($t, 9, " ", STR_PAD_LEFT);
  121. imagettftext($image, 24, 330, $x, $y, $c, "images/angsa.ttf", $t);
  122. }