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

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

    +158

    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
    <?php if ($field_image_teaser[1]['filepath']): ?>
    <?php if ($field_image) {$image = theme('imagecache', 'img_orig', $field_image[1]['filepath'], $node->title, $node->title);}?>
    <div id="imggaller"><?php
    if ($teaser): ?>
    <?php print l($image, 'node/'. $nid, array('html' => 'TRUE')) ?>
    <?php else: ?>
    <?php
    print l($image, $field_image_teaser[1]['filepath'], array('html' => 'TRUE', 'attributes' => array('rel' => 'lightbox[field_image]'))) ?>
    <?php endif ?>  </div>
    <?php endif ?>
    <?php if ($field_image_teaser[2]['filepath']): ?>
    <?php if ($field_image) {$image = theme('imagecache', 'img_orig', $field_image[2]['filepath'], $node->title, $node->title);}?>
    <div id="imggaller"><?php
    if ($teaser): ?>
    <?php print l($image, 'node/'. $nid, array('html' => 'TRUE')) ?>
    <?php else: ?>
    <?php
    print l($image, $field_image_teaser[2]['filepath'], array('html' => 'TRUE', 'attributes' => array('rel' => 'lightbox[field_image]'))) ?>
    <?php endif ?>  </div>
    <?php endif ?>

    И так до 200-го элемента.
    Видимо, "поддерживать" это уже не надо, надо переделать, поскольку это явно не единственное надругательство над Друпалом такого рода...

    Andrewus, 09 Декабря 2010

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

    +158

    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
    class SomeClass
    {
    public:
        SomeClass(bool evenlope = true)
        {
            if(evenlope)
            {
                if (IsVistaOrGreater())
                    mLetter = new SomeClassVista;
                else
                    mLetter = new SomeClassXP;
            }
            else
                mLetter = 0;
        }
        virtual ~SomeClass() { delete mLetter; }
        virtual bool Foo(int param) { return mLetter->Foo(param); }
    private:
        SomeClass* mLetter;
    };
    
    class SomeClassXP : public SomeClass
    {
    public:
            SomeClassXP():SomeClass(false) { /* ... */ }
    	~SomeClassXP() { /* ... */ }
    	virtual bool Foo(int param) { /* ... */ }
    };

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

    rat4, 07 Декабря 2010

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

    +158

    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
    protected function composeResolvers()
        {
            require_once systemConfig::$pathToSystem . '/resolver/init.php';
            require_once systemConfig::$pathToSystem . '/resolver/templateMediaResolver.php';
            require_once systemConfig::$pathToSystem . '/resolver/moduleMediaResolver.php';
            require_once systemConfig::$pathToSystem . '/resolver/extensionBasedModuleMediaResolver.php';
            require_once systemConfig::$pathToSystem . '/core/fileLoader.php';
    
            $baseresolver = new compositeResolver();
            $baseresolver->addResolver(new fileResolver(systemConfig::$pathToApplication . '/*'));
            $baseresolver->addResolver(new fileResolver(systemConfig::$pathToWebRoot . '/*'));
            $baseresolver->addResolver(new fileResolver(systemConfig::$pathToSystem . '/*'));
    
            $resolver = new compositeResolver();
            $resolver->addResolver(new templateMediaResolver($baseresolver));
            $resolver->addResolver(new moduleMediaResolver($baseresolver));
            $resolver->addResolver(new extensionBasedModuleMediaResolver($baseresolver));
            $resolver->addResolver(new classFileResolver($baseresolver));
    
            if (function_exists('external_callback')) {
                external_callback($resolver, $baseresolver);
            }
    
            return new cachingResolver($resolver, 'resolver_media_cache');
        }

    Прямиком с http://govnokod.googlecode.com/svn/trunk/govnoquoter/www/bundle.php
    Там ещё много всего интересного!

    Govnocoder#0xFF, 07 Декабря 2010

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

    +158

    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
    function checkboxHandler(e) {
    	var el = e.target;
    	if(el.className == "checked") {
    		el.className = "unchecked";
    		showThumbs(el, false); 
    	}
    	else {
    		el.className = "checked";
    		showThumbs(el, true); 
    	}
    }
    function showThumbs(el, stat) {
    	if(stat)
    		addThumbs(el.id);
    	else
    		removeThumbs(el.id);
    }

    zhegan, 25 Ноября 2010

    Комментарии (7)
  6. C++ / Говнокод #4748

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    QTextEdit *qte = new QTextEdit();
                    qte->setHtml(doc->toHtml());
                    qte->selectAll();
                    qte->textCursor().mergeBlockFormat(format);
                    qte->setTextColor(this->getTextForecolor());
                    doc->setHtml(qte->toHtml());
                    delete qte;

    Задание цвета текста QTextDocument (doc) через анал.

    des-1008d, 25 Ноября 2010

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

    +158

    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
    if (count ( $tag_array )) {
    
    				$tag_array = "(" . implode ( ",", $tag_array ) . ")";
    
    			} else {
    
    				$tag_array = "('undefined')";
    
    			}
    
    			$db->free ();
    
    			$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, approve, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post where {$stop_list} AND approve" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
    			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list} AND approve" . $where_date;
    			$allow_active_news = true;
    
    			$tag_array = array ();
    			unset ( $tag_array );

    Все классно... а что в конце.. убило..

    Aios, 20 Ноября 2010

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

    +158

    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
    <?php
    define("LOGIN", "login");
    define("PASSWORD", "password");
    define("BASE", "base");
    define("HOST", "IP");
    
    $table = "table";
    
    $err_name = "Вы не написали свое имя! <br />";
    $err_text = "Вы не написали текст! <br />";
    $err_email = "Вы не указали свой email! <br />";
    
    $conn = mysql_connect(HOST, LOGIN, PASSWORD) or die ('соединение с БД установить не удалось!');
    $db = mysql_select_db(BASE, $conn) or die ('проверьте наличие БД!');
    
    $stop = 0;
    if (isset($_POST['save'])) {
     if ((strlen($_POST['name']) !=0) && (strlen($_POST['text']) !=0) && (strlen($_POST['email']) !=0)) {
     
      $name = $_POST['name'];
      $text = $_POST['text'];
      $email = $_POST['email'];
      if (strlen($_POST['url']) !=0) {
        $url = $_POST['url'];
        $create = mysql_query("INSERT INTO $table VALUES (NULL, '$name', '$text', '$email', '$url')", $conn) or die ('запрос в БД не выполнен!');
      $stop = 1 ;
      }
      if ($stop != 1) {
       $create = mysql_query("INSERT INTO $table VALUES (NULL, '$name', '$text', '$email', NULL)", $conn) or die ('запрос в БД не выполнен!');
      } 
     }
    
    }
    
    if (error('name')) {
    echo $err_name;
    }
    
    if (error('text')) {
    echo $err_text;
    }
    
    if (error('email')) {
    echo $err_email;
    }
    
    
    function error($err) {
    return (isset($_POST['save']) && strlen($_POST[$err]) == 0);
    }
    
    $result = mysql_query("SELECT * FROM $table", $conn) or die ('Выбранная таблица не существует!');
    
    
    $stroki = mysql_num_rows($result);
    $stolb = mysql_num_fields($result);
    
    
    for ($i=0; $i<$stroki; $i++) {
    $s = mysql_fetch_row($result);
     for ($j=0; $j<$stolb; $j++) {
     $massiv[$i][$j] = $s[$j];
     }
    }
    
    for ($i=0; $i<$stroki; $i++) {
     for ($j=0; $j<$stolb; $j++) {
     echo $massiv[$stroki-$i-1][$j] . " ";
     }
    echo "<br />";
    }
    
    if (isset($_POST['clear'])) {
    $delete = mysql_query("TRUNCATE TABLE $table", $conn) or die ('запрос на удаление выполнить не удалось!');
    echo "<br />" . "<hr />" . "Все данные стерты!" . "<hr />" . "<br />";
    }
    
    mysql_close($conn);
    
    	echo "<form method=\"POST\">\n";
    	echo "<table border=\"1\" cellpadding=\"5\" cellspacing=\"5\">\n";
    	echo "<tr><td>Ваше имя</td><td><input type=\"text\" name=\"name\" /></td></tr>\n";
    	echo "<tr><td>Ваш email</td><td><input type=\"text\" name=\"email\" /></td></tr>\n";
    	echo "<tr><td>Ваша домашняя страница (URL)</td><td><input type=\"text\" name=\"url\" /></td></tr>\n";
    	echo "<tr><td>Текст сообщения</td><td><textarea name=\"text\"></textarea></td></tr>\n";
    	echo "<tr><td colspna=\"2\"><input type=\"submit\" name=\"save\" value=\"Отослать\"/></td></tr>\n";
    	echo "<tr><td colspna=\"2\"><input type=\"submit\" name=\"clear\" value=\"Очистить\"/></td></tr>\n";
    
    ?>

    гостевая книга (php +mysql)

    mihailhouse, 17 Ноября 2010

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

    +158

    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
    // Итак, определим класс Namer.
    class Namer {
       var $name;
       var $surname;
       function getName() { return $this->name; }
       function getSurname() { return $this->surname; }
    }
    
    
    
    // Как видим, интерфейсная часть полностью определена. Осталось реализовать два механизма обработки входной строки. Сделаем это мы в двух классах-наследниках SpaceNamer и CommaNamer.
    
    
    //// класс для обработки строки в формате "имя фамилия"
    class SpaceNamer extends Namer {
       function SpaceNamer($full_name) {
          $splitter_pos = strpos($full_name, ' '); // находим пробел
          $this->name = substr($full_name, 0, $splitter_pos); // все, что до пробела - это имя
          $this->surname = substr($full_name, $splitter_pos+1); // после пробела - фамилия
       }
    }
    
    //// класс для обработки строки в формате "фамилия,имя"
    class CommaNamer extends Namer {
       function CommaNamer($full_name) {
          $splitter_pos = strpos($full_name, ','); // находим запятую
          $this->name = substr($full_name, $splitter_pos+1); // все, что до запятой - это фамилия
          $this->surname = substr($full_name, 0, $splitter_pos); // после запятой - имя
       }
    }

    и интерфейсы не нужны!

    Morgan, 31 Октября 2010

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

    +158

    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
    function rateWidth($rating){
    $rating = parseFloat($rating);
    switch ($rating){
    case 0.5: $width = "14px"; break;
    case 1.0: $width = "28px"; break;
    case 1.5: $width = "42px"; break;
    case 2.0: $width = "56px"; break;
    case 2.5: $width = "70px"; break;
    case 3.0: $width = "84px"; break;
    case 3.5: $width = "98px"; break;
    case 4.0: $width = "112px"; break;
    case 4.5: $width = "126px"; break;
    case 5.0: $width = "140px"; break;
    default:  $width =  "84px";
    }
    return $width;
    }
    
    
    function starSprite($rating){
    $rating = parseFloat($rating);
    switch ($rating){
    case 0.5: $pos = "-11px"; break;
    case 1.0: $pos = "-22px"; break;
    case 1.5: $pos = "-33px"; break;
    case 2.0: $pos = "-44px"; break;
    case 2.5: $pos = "-55px"; break;
    case 3.0: $pos = "-66px"; break;
    case 3.5: $pos = "-77px"; break;
    case 4.0: $pos = "-88px"; break;
    case 4.5: $pos = "-99px"; break;
    case 5.0: $pos = "-110px"; break;
    default:  $pos =  "-77px";
    }
    return $pos;
    }
    });

    Казалось бы — [:||||:]
    Но на него я попал с туториала для jquery.com

    Взято отсюда: http://eligeske.com/jquery/jquery-star-comment-rating/

    mrbig66, 27 Октября 2010

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

    +158

    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
    function getAvailableFlights($source,$dest){
    
        $connection = initDB();
        $query2;       
    
        $query2 = "SELECT * FROM Sectors WHERE Sector='".$source."'";
        $result2 = mysql_query($query2);
            //or die ("Query Failed ".mysql_error());                
        $row2 = mysql_fetch_array($result2);
        $SourceSID = $row2['SID'];
    
        $query3 = "SELECT * FROM Sectors WHERE Sector='".$dest."'";
        $result3 = mysql_query($query3);
            // or die ("Query Failed ".mysql_error());                
        $row3 = mysql_fetch_array($result3);
        $destSID= $row3['SID'];
            
            //Get available flights
        $query3 = "SELECT * FROM Flights WHERE SourceSID='".$SourceSID."' AND DestSID='".$destSID."'";
        $result3 = mysql_query($query3);
            //  or die ("Query Failed ".mysql_error()); 
    
        $flightsArray;
        $flightsID=1;
    
        while($row = mysql_fetch_array($result3)){        
                $fName= $row['FName'];
                $flightsArray[$flightsID] = $fName;
                $flightsID = $flightsID +1;
            }
        closeDB($connection);
        return $flightsArray;
    }

    В NetBeans есть несколько примеров с проектами PHP. Один из них AirAlliance. весь код оттуда можно сюда запостить.
    ну вместо той херни что написана выше можно использовать один запрос MySql
    'select distinct f.FName
    from Flights f
    left join Sectors s on f.SourceSID=s.SID
    left join Sectors d on f.DestSID=d.SID
    where s.SID='.(int)$source.' or d.SID='.(int)$dest

    duburlan, 21 Октября 2010

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