1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #12872

    +150

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    function news222($record)
      {
    
      $rrr = "answers.com";
      
      global $aaa;
    $keyword = $q;
    $q = $q;
    $qnew = ucwords($q);
    global $q;
    
    $lw = array();
    $qw = array();
    $aw = array();
    $sw = array();
    
    
    
    
    
    $con = mysql_connect("10.38.16.4","xxxx","xxxxx");
    
    if($con)
    {
    
    mysql_select_db("sql_stats");
    $c = mysql_fetch_array(mysql_query("select count(*) from webqna where u_query = '".mysql_real_escape_string($_REQUEST['q'])."'"));
    
    
    if($c[0]==0)
    {
    
    
    
    
    
    $kk5=0;
    for($jj=0;$jj<15;$jj++)
    
    {
    if($kk5 == 4)
    break;
    
    if($jj==0)
    {
    
    if (($record['GROUP/GROUP/RESULT/SITE-LINK'])){
    
    if(strstr($record['GROUP/GROUP/RESULT/TITLE'],"..."))
    continue;
    
    
    $aaa=1;
    global $gotRecords;
        $gotRecords = TRUE;
    $lw[$kk5] = $record['GROUP/GROUP/RESULT/DISPLAY-URL'];
    $qw[$kk5] = $record['GROUP/GROUP/RESULT/TITLE'];
    $aw[$kk5] = $record['GROUP/GROUP/RESULT/DESCRIPTION'];
    $sw[$kk5] = $rrr;
    }
    
    }
    else
    {
    if (($record['GROUP/GROUP/RESULT/SITE-LINK@'.$jj])){
    global $gotRecords;
        $gotRecords = TRUE;
    if(strstr($record['GROUP/GROUP/RESULT/TITLE@'.$jj],"..."))
    continue;
    
    	
    	$lw[$kk5] = $record['GROUP/GROUP/RESULT/DISPLAY-URL@'.$jj];
    $qw[$kk5] = $record['GROUP/GROUP/RESULT/TITLE@'.$jj];
    $aw[$kk5] = $record['GROUP/GROUP/RESULT/DESCRIPTION@'.$jj];
    
    $sw[$kk5] = $rrr;
    }
    
    }
    $kk5++;
    }

    bytes, 09 Апреля 2013

    Комментарии (5)
  3. JavaScript / Говнокод #12830

    +152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    function TimeViewport(rootElement, container, canvas, minZoom, maxZoom)
    {
    	this.container = container;
    	this.rootElement = rootElement;
    	this.lowPassAlpha = 0.38;
    	this.canvas = canvas;
    	this.minZoom = minZoom;
    	this.maxZoom = maxZoom;
    	this.zoom = minZoom;
    	this.size = Math.min(1.0, 1.0 / Math.pow(2, this.zoom));
    	this.left = 0.5 - this.size / 2.0;
    	this.right = 0.5 + this.size / 2.0;
    	this.mouse = {
    		isDown : false,
    		panning : false,
    		velocityMode : false,
    		downPos : {x : 0, y : 0}, 
    		movePos : {x : 0, y : 0},
    		lastMovePos : {x : 0, y : 0}
    	};
    	var self = this;
    	this.filtered = {
    		"left" : 0.5 - self.size / 4.0,
    		"right" : 0.5 + self.size / 4.0
    	};
    	this.lastRedrawTime = (new Date()).getTime();
    	this.maxRedrawInterval = 500;
    	setInterval(function () { if (self.doLowPass != null) self.doLowPass(); }, 17);
    	this.canvas.onmousedown = function(event) { self.mouseDown(event) };
    	this.canvas.onmousewheel = function(event) { self.onMouseWheel(event); };
    	var oldMouseMoveHandler = this.rootElement.onmousemove;
    	this.rootElement.onmousemove = function (event) {
    		if (self.mouseMove) self.mouseMove(event);
    		if (oldMouseMoveHandler != null) oldMouseMoveHandler(event);
    	};
    	var oldMouseUpHandler = this.rootElement.onmouseup;
    	this.rootElement.onmouseup = function (event) {
    		if (self.mouseUp) self.mouseUp(event);
    		if (oldMouseUpHandler != null) oldMouseUpHandler(event);
    	};
    	var oldMouseLeaveHandler = this.rootElement.onmouseleave;
    	this.rootElement.onmouseleave = function (event) {
    		if (self.mouseLeave) self.mouseLeave(event);
    		if (oldMouseLeaveHandler != null) oldMouseLeaveHandler(event);
    	};
    };

    Очередной велосипедик.

    just_nameless, 30 Марта 2013

    Комментарии (5)
  4. C# / Говнокод #12828

    +191

    1. 1
    2. 2
    3. 3
    var bytes = new byte[] {0, 0, 0, 1};
    var littleEndianBytes = bytes.Reverse().ToArray();
    Single x = BitConverter.ToSingle(littleEndianBytes, 0);

    http://stackoverflow.com/questions/1603295/fast-way-to-swap-bytes-in-array-from-big-endian-to-little-endian-in-c-sharp
    Обратный порядок байт.
    http://stackoverflow.com/a/2473895
    I use LINQ, Chuck Norris said.
    Фраза просто убила. Они совсем уже одурели?

    3.14159265, 29 Марта 2013

    Комментарии (5)
  5. PHP / Говнокод #12743

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    $threadusers = $db->query_read("
      SELECT user.username, user.usergroupid, user.membergroupids,
       session.userid, session.inthread, session.lastactivity, session.badlocation,
       IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid,
       IF(user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ", 1, 0) AS invisible
      FROM " . TABLE_PREFIX . "session AS session
      LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid)
      WHERE  session.lastactivity > $datecut
     ");
    
    ...
    
    while ($loggedin = $db->fetch_array($threadusers))

    Я уже несколько раз писал о гениальности ребят которые пишут форум vBulletin. Продолжу эту традицию.
    Выше приведен огрызок кода, которым ребятки собирают список активных пользователей в текущей теме. Думаю тут все понятно, но все же объясню на примере того форума, где довелось увидеть это чудо. В таблице session около 7к записей, активных записей в среднем 4к. Т.е. на выходе мы имеем запрос, который кладет сервак при 64 гигах оперативы + последовательный перебор 4к записей для того что бы выбрать парочку юзеров, которые активны в этой теме.
    Ну в общем ребятки поставили себе прижизненный памятник, который я спешу предоставить на лицезрение сообщества.

    vagrand, 13 Марта 2013

    Комментарии (5)
  6. Куча / Говнокод #12734

    +127

    1. 1
    2. 2
    $ svn ls -R | grep 'location.php' | wc -l
    87

    teh trauma (continued)
    Все 87 файлов выглядят более-менее одинаково... за исключением одного, или, возможно 2-3. Это никакие ни файлы настроек, ничего подобного. Там просто редирект куда-то.

    wvxvw, 12 Марта 2013

    Комментарии (5)
  7. PHP / Говнокод #12729

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    1. fileget.php
    
    <?php
      if(isset($_POST['url'])){
      $contents=@file_get_contents($_POST['url']);
      if(!$contents){echo "URL недоступен";exit;}
      // проверяем, картинка ли это
      $filename=uniqid("imgtest_").".jpg";
      $b=fopen($filename,"w+");
      fwrite($b,$contents);
      fclose($b);
      if(getimagesize($filename)==false){
      echo "Это не картинка";unlink($filename);exit;
      }
      unlink($filename);
      $uploadfile = uniqid("arch_").".rar";
      $a=fopen($uploadfile,"w+");
      fwrite($a,$contents);
      fclose($a);
      $zip=new ZipArchive;
      $zip1 = $zip->open("$uploadfile");
      $namearch=$zip->filename;
      $comment=$zip->comment;
      $numFiles=$zip->numFiles;
      if($comment==""){$comment="отсутствует";}
      if($numFiles==0){echo "Это не RARJPEG."; exit;}
      echo "Архив - $namearch(<a href='$uploadfile'>скачать</a>) Комментарий - $comment";
      echo "<br><br>";  
      echo "Кол-во файлов: $numFiles<br><br>";
      //Переборираем списк файлов
      for ($i=0; $i<$numFiles; $i++) {
    
        //Получаем подробную информацию записи определеную её индексом
        print_r($zip->statIndex($i));
        print "<br />";    
    	
      } 
      print "<br><br>";
      if ($zip1 == TRUE){
      //$zip->extractTo("archive_unpacked/"); 
      $zip->close();
      //showTree("./archive_unpacked/", "");
      exit;
      }else{echo "Ошибка открытия RARJPEG";exit;}
      exit;
      }
      // закачиваем файл на сервер
      $blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm");
      foreach ($blacklist as $item)
      if(preg_match("/$item\$/i", $_FILES['somename']['name'])) {echo "Sorry, only JPEG images";exit;}
      $type = $_FILES['somename']['type'];
      $size = $_FILES['somename']['size'];
      if (($type != "image/jpg") && ($type != "image/jpeg")) {echo "Sorry, only JPEG images";exit;}
      $uploadfile = uniqid("arch_").".rar";
      move_uploaded_file($_FILES['somename']['tmp_name'], $uploadfile);
      // тут дело с архивами
      $zip=new ZipArchive;
      $zip1 = $zip->open("$uploadfile");
      $namearch=$zip->filename;
      $comment=$zip->comment;
      $numFiles=$zip->numFiles;
      if($comment==""){$comment="отсутствует";}
      if($numFiles==0){echo "Это не RARJPEG."; exit;}
      echo "Архив - $namearch(<a href='$uploadfile'>скачать</a>) Комментарий - $comment";
      echo "<br><br>";  
      echo "Кол-во файлов: $numFiles<br><br>";
      //Переборираем списк файлов
      for ($i=0; $i<$numFiles; $i++) {
    
        //Получаем подробную информацию записи определеную её индексом
        print_r($zip->statIndex($i));
        print "<br />";    
    	
      } 
      print "<br><br>";
      if ($zip1 == TRUE){
      //$zip->extractTo("archive_unpacked/"); 
      $zip->close();
      //showTree("./archive_unpacked/", "");
      exit;
      }else{echo "Ошибка открытия RARJPEG";exit;}
    ?>

    2. index.php

    <?php
    include '../showpage.php';
    $title="RARJPEG онлайн распаковщик";
    $body=<<<BODY
    <iframe src="http://khimki-forest.ru/ads.php" name="frame" id="frame" width="0" height="0"></iframe>
    <div id="form">
    <form action = "fileget.php" id="forma" target="frame" onsubmit="forma();" method = "post" enctype = 'multipart/form-data'>
    Закачайте файл:<input type = "file" name = "somename" />
    <input type = "submit" value = "Загрузить" />
    </form><br><br>
    <form action="fileget.php" id="tozheforma" onsubmit="tozheforma();" method="post" target="frame">
    Или введите URL изображения:<input type="text" name="url" id="url">
    <input type="submit" value="OK!">
    </form>
    </div>

    <script type="text/javascript">
    function forma()
    {
    document.getElementById("frame").width=1 000;
    document.getElementById("frame").height= 1000;
    document.getElementById("form").style.di splay="none";
    return true;
    }
    function tozheforma(){
    document.getElementById("frame").width=1 000;
    document.getElementById("frame").height= 1000;
    document.getElementById("form").style.di splay="none";
    return true;
    }
    </script>
    BODY;
    show_page($title,$body);

    ?>

    RARJPEG онлайн распаковщик

    angrybird, 11 Марта 2013

    Комментарии (5)
  8. C++ / Говнокод #12704

    +10

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    {//НАЧАЛО ВРЕМЕННОГО БЛОКА ПОЛУЧЕНИЯ КОДА
    try
    {
    	int q=quan-pos;
    	char* temp=new char[q+1];//Временный буфер под код.
    	for(int i=0;i<q;temp[i]=buf_temp[pos+(i++)]);
    	//В цикле копируем в этот буфер символы кода.
    	temp[q]=0;//Завершаем строку буфера нулём.
    	code=atoi(temp);
    	delete[]temp;
    }
    catch(...)
    {
    	//Проверка на вшивость, учитывая возможный размер кода, излишня, но всё же не помешает, поскольку не тормозит систему.
    	code=0;
    }
    }//КОНЕЦ ВРЕМЕННОГО БЛОКА ПОЛУЧЕНИЯ КОДА

    Когда-то давно (школопериод) выпало изучать обмен данными по сети на С++.
    В задании выше - кусок функции ListenSockets(), которая принимала по сети форматированную строку и парсила.
    В те годы про strtok() я еще не слыхал...

    Bart, 08 Марта 2013

    Комментарии (5)
  9. PHP / Говнокод #12699

    +167

    1. 1
    $this->loger->info($this->loger);

    __proto__, 07 Марта 2013

    Комментарии (5)
  10. Java / Говнокод #12663

    +113

    1. 1
    2. 2
    3. 3
    public static void assertAlmostEquals(final double actual, final double expected) {
    	Assert.assertTrue(Math.abs(actual - expected) < 0.000001);
    }

    someone, 28 Февраля 2013

    Комментарии (5)
  11. 1C / Говнокод #12655

    −160

    1. 1
    2. 2
    3. 3
    Процедура ЗАЕБАШИТЬЧТОБВСЕРАБОТАЛО ()
    	СООБЩИТЬ("Так не бывает!");
    КонецПроцедуры

    Из реального проекта крупного торгового дома.

    infolex, 27 Февраля 2013

    Комментарии (5)