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

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?
    exec('dir "'.str_replace('/','\\',$fname).'"',$r);
    $r = implode("\r\n",$r);
    $r = str_replace("\xFF",' ',$r);
    preg_match('/[\d]{2,2}\.[\d]{2,2}\.[\d]{2,4}[\s]+[\d]{2,2}\:[\d]{2,2}[\s]+([\d\s]+)/im',$r,$m);
    if (!isset($m[1])) return false;
    $size = str_replace(' ','',$m[1]);

    qbasic, 31 Января 2011

    Комментарии (9)
  3. C++ / Говнокод #5428

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void GLCommon::Click(TObject *Sender, TMouseButton _button, bool _notActually)
    {
    	MouseDowned = false;
    
    	// waiting dbl click
    	if (_notActually)
    	{
    		...

    Иногда click, а иногда понарошку.

    zagzag, 28 Января 2011

    Комментарии (2)
  4. PHP / Говнокод #5392

    +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
    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
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    /**
         * Разбор результата в нужном формате
         *
         * @param  mysqli_result $result результат
         * @param  string        $fetch  формат
         * @return mixed
         */
        public function fetch($result, $fetch) {
            $fetch = strToLower($fetch);
            if ((!$fetch) || ($fetch == 'no')) {
                return $result;
            }
            if ($fetch == 'id') {
                return $this->insert_id;
            }
            if ($fetch == 'ar') {
                return $this->affected_rows;
            }
            $numRows = $result->num_rows;
            if ($fetch == 'num') {
                return $numRows;
            }
            if ($fetch == 'row') {
                $A = Array();
                for ($i = 0; $i < $numRows; $i++) {
                    $A[] = $result->fetch_row();
                }
                return $A;
            }
            if ($fetch == 'assoc') {
                $A = Array();
                for ($i = 0; $i < $numRows; $i++) {
                    $A[] = $result->fetch_assoc();
                }
                return $A;
            }
            if ($fetch == 'col') {
                $A = Array();
                for ($i = 0; $i < $numRows; $i++) {
                    $r = $result->fetch_row();
                    $A[] = $r[0];
                }
                return $A;
            }
            if ($fetch == 'object') {
            	$A = Array();
            	for ($i = 0; $i < $numRows; $i++) {
            		$A[] = $result->fetch_object();        		
            	}
            	return $A;
            }
            if ($fetch == 'vars') {
            	$A = Array();
            	for ($i = 0; $i < $numRows; $i++) {
            		$r = $result->fetch_row();
            		$A[$r[0]] = $r[1];
            	}
            	return $A;
            }
            if ($fetch == 'irow') {
                return new goDBResultRow($result);
            }
            if ($fetch == 'iassoc') {
                return new goDBResultAssoc($result);
            }
            if ($fetch == 'icol') {
                return new goDBResultCol($result);
            }
            if ($fetch == 'iobject') {
                return new goDBResultObject($result);
            }        
            if ($numRows == 0) {
                if (!in_array($fetch, array('rowrow', 'rowassoc', 'rowobject', 'el'))) {
                    throw new goDBExceptionFetch($fetch);
                }
                return false;
            }
            if ($fetch == 'rowrow') {
                return $result->fetch_row();
            }
            if ($fetch == 'rowassoc') {
                return $result->fetch_assoc();
            }
            if ($fetch == 'rowobject') {
                return $result->fetch_object();
            }        
            if ($fetch == 'el') {
                $r = $result->fetch_row();
                return $r[0];
            }
            throw new goDBExceptionFetch($fetch);
        }

    http://www.php.ru/forum/viewtopic.php?p=259972

    Devzirom, 25 Января 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    .onePixBorder{
    zoom:1; 
    behavior:expression(!this.isInserted==true ? this.isInserted=(this.innerHTML = '<span style="background: url(/common/img/opb-tr.png) no-repeat 100% 0;height: 9px;display: block;margin: -11px -11px 2px -11px;"><img src="/common/img/opb-tl.png" alt="" /></span>' + this.innerHTML + '<span style="background: url(/common/img/opb-br.png) no-repeat 100% 0;height: 9px;display: block;margin:4px -11px -11px -11px;"><img src="/common/img/opb-bl.png" alt="" /></span>') : '');
    }

    в css файле, специально подкючаемый для ie6

    ilyamx, 25 Января 2011

    Комментарии (3)
  6. PHP / Говнокод #5366

    +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
    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
    <?php
    include("block/connect.php");
    $result = mysql_query("SELECT name FROM files",$db);
    $myrow = mysql_fetch_array($result);
     
     
    $dir=opendir('./files/');
    $file = readdir ($dir);
     
    $amt=mysql_num_rows($result);
    $cf=0;
    $cfb=$amt;
    $fname[]="";                                                                                    //Заносим в массив fname имена файлов которые находятся в папке
    while ($file = readdir ($dir))  
      {
              if($file!=".."&&$file!=".")
              {
              $fname[$cf]=$file;
              $cf++;
              }
      }                                                                                                             //Занесли
      
    $fdbname[]="";                                                                                  //Заносим в массив fdbname имена файлов которые находятся в папке
    $j=0;
      do
      {
              $fdbname[$j]=$myrow["name"];
              $j++;
      }
      while($myrow = mysql_fetch_array ($result));                  //Занесли
     
      echo "Количество файлов в папке: ".$cf."<br>";
      echo "Количество файлов в базе: ".$cfb."<br><br>";
      
      echo "Файлы в папке:<br>";                    //Выводим массив fname
      for($i=0;$i<=$cf;$i++)
      {
              echo $fname[$i]."<br>";
      }
     
             echo "<br>Файлы в базе:<br>";          //Выводим массив fdbname
      for($i=0;$i<=$cfb;$i++)
      {
              echo $fdbname[$i]."<br>";
      }
      
      //Выводим имена файлов которые есть в папке но нет в базе
      
     echo "<br>Файлы которые есть в папке но нет в базе:";
      for($i=0;$i<=$cf;$i++)
      {
              for($j=0;$j<=$cfb;$j++)
              {
                      if($fname[$i]==$fdbname[$j])
                            {
                                    break;
                            }
     
                            if($j==$cfb)
                            {
                                    echo "<br>".$fname[$i]."___НЕТ в базе";
                                    echo "<br>".$fname[$i]."___УДАЛЁН";
                                    unlink('./files/'.$fname[$i]);
                            }
     
              }
      }
      
      
      
    ?>

    Цитата:
    "Спасибо, но я уже решил проблему самостоятельно, + ещё добавил удалениее тех файлов которых нет в базе Я внес в один массив файлы которые есть в папке, а в другой массив файлы которые есть в базе, потом сравнил два массива...
    можете оценить:"

    Sulik78, 23 Января 2011

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

    +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
    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
    <?php
    
    $ident = mysql_connect("localhost", "root", "");
    mysql_select_db("database");
    
    $month_cols = array("january" => 31,
    	            "february" => 28,
                        "march" => 31,
                        "april" => 30,
                        "may" => 31,
                        "june" => 30,
                        "july" => 31,
                        "august" => 31,
                        "september" => 30,
                        "october" => 31,
                        "november" => 30,
                        "december" => 31);
    
    foreach($month_cols as $key => $value)
    {
     for($i = 1; $i <= $value; $i++)
     {
      mysql_query("INSERT INTO `calender` SET `day` = '$i', `month` = '$key'");
     }
    }
    
    mysql_close($ident);
    
    ?>

    Недавнее творение.
    Нужно было создать базу данных, которая потом будет апдейтиться.

    varg242, 22 Января 2011

    Комментарии (13)
  8. PHP / Говнокод #5338

    +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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    <?
    mysql_connect("$db_host", "$db_user", "$db_pass") or die(mysql_error());
    mysql_selectdb($db) or die(mysql_error());
    $q = "SELECT `login`, `email`, `name`, `second_name`, `age` FROM $db.accounts WHERE login='".$_SESSION['login']."' ";
    $res = mysql_query($q) or die(mysql_error());
    $row=mysql_fetch_array($res);?>
    ...
    <?
    $name = $_POST['name'];
    $email = $_POST['email'];
    $log = $_SESSION['name'];
    $second_name = $_POST['second_name'];
    $age = $_POST['age'];
    mysql_connect("$db_host", "$db_user", "$db_pass") or die(mysql_error());
    mysql_selectdb($db) or die(mysql_error());
    $query = "UPDATE accounts SET name ='$name', second_name='$second_name', email='$email', age='$age' WHERE login = '$log'";
    mysql_query($query) or die(mysql_error());
    ?>

    http://www.php.ru/forum/viewtopic.php?t=30226
    Туча ошибок и проблемы с безопасностью

    Devzirom, 20 Января 2011

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

    +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
    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
    <?php
    session_start();
    require_once 'connection/ConnectionConfig.php';
    require_once 'classes/DBClass.php';
    $DB = new DB($host, $user, $password);
    
    function LoadContent($DB) {
        if (isset($_GET["ShowTable"]) || isset($_GET["ViewPage"]) || isset($_POST["Cancel"])) {
            $DB->SelectBase($_SESSION["CurrentDB"]);
            include 'loaders/view_table.te.php';
        }
        if (isset($_GET["NewRecord"]) || isset($_GET["EditRecord"])) {
            if (isset($_GET["EditRecord"]) && (!isset($_GET["SelectedRecord"]))) {
                $message = "Не выбрана запись для редактирования!";
                include 'templates/message.te.html';
            }
            else
                include 'loaders/edit_record.te.php';
        }
        if (isset($_POST["Save"])) {
            include 'loaders/edit_function.te.php';
        }
        if (isset($_GET["DeleteRecord"])) {
            if (!isset($_GET["SelectedRecord"])) {
                $message = "Не выбрана запись для удаления!";
                include 'templates/message.te.html';
            } else {
                include 'loaders/del_function.te.php';
            }
        }
    }
    
    function LoadMenu($DB) {
        include 'loaders/menu_bases.te.php';
        if (isset($_GET["SelectDatabase"])) {
            $DB->SelectBase($_GET["SelectedDatabase"]);
            $_SESSION["CurrentDB"] = $DB->GetCurrentBase();
        }
        if (isset($_SESSION["CurrentDB"]))
            include 'loaders/menu_tables.te.php';
    }
    
    include 'templates/common.te.html';
    ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <title></title>
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
            <link rel="stylesheet" type="text/css" href="style/style.css">
        </head>
        <body>
            <table border="1" class="common">
                <tr>
                    <td width="250" height="130">
                        <img src="image/logo1.jpg" alt="logo"/>
    
                    </td>
                    <td rowspan="2" valign="top">
                        <?php LoadContent($DB); ?>
                    </td>
                </tr>
                <tr>
                    <td valign="top" class="menu_container">
                        <?php LoadMenu($DB); ?>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <p class="copyright">Разработано: 2011г. Автор: Тяготенков В.Э.</p>
                    </td>
                </tr>
            </table>
        </body>
    </html>

    qbasic, 17 Января 2011

    Комментарии (3)
  10. PHP / Говнокод #5293

    +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
    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
    /* Draw the legend of the active series */
       function drawLegend($X,$Y,$Format="")
        {
         $Family	= isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
    ...
         $Mode	= isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
         if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
         $YStep = max($this->FontSize,$BoxHeight) + 5;
         $XStep = $BoxWidth + 5;
         $XStep = $XSpacing;
         $Data = $this->DataSet->getData();
         $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
         foreach($Data["Series"] as $SerieName => $Serie)
          {
           if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
            {
             if ( $Mode == LEGEND_VERTICAL )
              {
               $BoxArray = $this->getTextBox($vX+$BoxWidth+4,$vY+$BoxHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
               if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxHeight/2; }
               if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
               if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxHeight/2; }
               $Lines = preg_split("/\n/",$Serie["Description"]);
               $vY = $vY + max($this->FontSize*count($Lines),$BoxHeight) + 5;
              }
             elseif ( $Mode == LEGEND_HORIZONTAL )
              {
               $Lines = preg_split("/\n/",$Serie["Description"]);
               $Width = "";
               foreach($Lines as $Key => $Value)
                {
                 $BoxArray = $this->getTextBox($vX+$BoxWidth+6,$Y+$BoxHeight/2+(($YStep-3)*$Key),$FontName,$FontSize,0,$Value);
                 if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxHeight/2; }
                 if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
                 if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxHeight/2; }
                 $Width[] = $BoxArray[1]["X"];
                }
               $vX=max($Width)+$XStep;
              }
            }
          }
         $vY=$vY-$YStep; $vX=$vX-$XStep;
         $TopOffset  = $Y - $Boundaries["T"];
         if ( $Boundaries["B"]-($vY+$BoxHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxHeight+$TopOffset; }
         if ( $Style == LEGEND_ROUND )      $this->drawRoundedFilledRectangle(...);
         elseif ( $Style == LEGEND_BOX )  $this->drawFilledRectangle(...);
         $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
         foreach($Data["Series"] as $SerieName => $Serie)
          {
           if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
            {
             $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"];
             $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
             if ( $Family == LEGEND_FAMILY_BOX )
    
          }
         $this->Shadow = $RestoreShadow;
        }

    Наша либа, которая рисует графики: функция рисующая легенду.

    jdmien, 16 Января 2011

    Комментарии (3)
  11. PHP / Говнокод #5272

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function DateFromDBToHr($date)
    {
    	$datetime = explode(" ", $date);
    	$dates = explode("-", $datetime[0]);
    	return (intval($dates[0])) ? date("d-M-Y", mktime(0, 0, 0, $dates[1], $dates[2], $dates[0])) : false;
    }

    про то, что форматировать дату можно в запросе или про существование strtotime автор даже не догадывается

    elw00d, 14 Января 2011

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