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

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

    +161

    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
    <? if ($bel==true) { ?><? } else { ?>                        
    <TABLE border="0" cellspacing="0" cellpadding="0" width="100%">       
    if ($id==11)     
    {
    echo("<TR>");
    echo("<TD align=left><img src=/images/dot.gif width=20 height=11 hspace=2 border=0><b>белый</b></TD>");
    echo("<TD>&nbsp;&nbsp;&nbsp;&mdash;</TD>");
    echo("<TD class=product-name nowrap>14,5 у.е.<BR></TD>");
    echo("</TR>");
    
    echo("<TR>");
    echo("<TD align=right><b>бежевый</b></TD>");
    echo("<TD>&nbsp;&nbsp;&nbsp;&mdash;</TD>");
    echo("<TD class=product-name>15,5 у.е.<BR></TD>");
    echo("</TR>");
    
    echo("<TR>");
    echo("<TD align=right><b>серебристый</b></TD>");
    echo("<TD>&nbsp;&nbsp;&nbsp;&mdash;</TD>");
    echo("<TD class=product-name>15,5 у.е.<BR></TD>");
    echo("</TR>");
    
    echo("<TR>");
    echo("<TD align=right><b>золотистый</b></TD>");
    echo("<TD>&nbsp;&nbsp;&nbsp;&mdash;</TD>");
    echo("<TD class=product-name>15,5 у.е.<BR></TD>");
    echo("</TR>");
    }
    elseif ($id==12)
    {
    echo("<TR>");
    echo("<TD align=left colspan=3><B></B></TD>");
    echo("</TR>");
    
    echo("<TR>");
    echo("<TD align=left nowrap=\"nowrap\"><img src=/images/dot.gif width=20 height=11 hspace=2 border=0><b>белый</b></TD>");
    echo("<TD>&nbsp;&nbsp;&nbsp;&mdash;</TD>");
    echo("<TD class=product-name nowrap>14,5 у.е.<BR></TD>");
    echo("</TR>");
    }
     ?> 
    <? } ?> 
    <!--Вставка о бежевом (13)
    echo("<TR>");
    echo("<TD align=right>бежевый</TD>");
    echo("<TD>&nbsp;&nbsp;&nbsp;&mdash;</TD>");
    echo("<TD class=product-name>15 у.е.<BR></TD>");
    echo("</TR>"); -->

    Хоть он и 2000-го года, откопал в анналах конторного сайта.

    alexnod, 22 Апреля 2011

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

    +161

    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
    public function drawItem($category, $level=0, $last=false)
        {
            // ...
    		
            if($this->isIgrushkiCategory($category) && ($level == 0))
                // ...
            } elseif ($level == 1) {
                // ...
            } elseif ($level == 2) {
                // ...
            } else {
                Mage::log('пришол пиздец!');
            }
            return $html;
        }

    ни программировать, ни по русски писать...

    vsushkov, 21 Апреля 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public function setAmbiguityIdentity($flag)
        {
            if (is_integer($flag)) {
                $this->_ambiguityIdentity = (1 === $flag ? true : false);
            } elseif (is_bool($flag)) {
                $this->_ambiguityIdentity = $flag;
            }
            return $this;
        }

    Zend Framework компонент Zend_Auth_Adapter_DbTable. (Слегка смутила строка 4)

    sonic, 21 Апреля 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    /**
     * Корневая директория
     */
    define('ROOT', dirname(dirname(dirname(__FILE__))) );

    В случае 5.3 было бы на один раз короче... :P

    istem, 19 Апреля 2011

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

    +161

    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
    function is_url($url) { 
    if(preg_match("/\./", $url) && preg_match("/http:\/\//i", $url) && preg_match("/.txt$/i", $url) && preg_match("/\//", str_replace("http://" , "", $url))) return 1;   
    else return 0; }
    function check_value($value) {
    if (!is_numeric($value) || $value>20 || $value<1) die ('Количество не число или число учеток превышает 20. Ну, или меньше 1.<br><a href="' . $_SERVER['PHP_SELF'] . '?act=mass">Назад</a>'); }
    function regnloc() {
    $get = reg();
    header("Location: http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "?" . $get); }
    
    switch ($_GET['act']) { 
    case 'reg':
    regnloc();
    break; 
    
    case 'mass':
    // http://govnokod.ru/6376
    break;
    
    case 'file':
    if (!$_POST['get']) die ('Отсутствуют данные для записи'.$href);
    $content = "Сгенерировано ".date("d.m.y H:i:s")."\n";
    if ($_POST['link']) $content .= "Логины взяты по ссылке: ".$_POST['link']."\n";
    $content .= $_POST['get'];
    file_put_contents('download.txt', $content);
    header("Location: download.txt");
    break;
    
    default:
    if (($_GET['login']) && ($_GET['pass'])) echo $_GET['login'].' - '.$_GET["pass"].'<br><a href="http://сайт.ru/user/search/?a='.rand(1000, 9999).'&age0=&age1=&sex=0&ll=0&online=0&sort=0&login='.$_GET['login'].'" target="_blank">Полюбоваться</a><br><br>';
    view_form("?act=reg");
    echo '</form><a href="' . $_SERVER['PHP_SELF'] . '?act=mass">Массовая рега</a>'; }

    Вариации на тему http://www.snippy.ru/snippet/213/ (http://govnokod.ru/5597)
    Вдогонку к предыдущему.
    Это - регистратор учетных записей на одной известной мобильной социальность сети.
    Что поразительно - спустя полтора года это до сих пор работает.

    Бонусом еще немного содомии.

    И, да-да, внимательные читатели могли заметить еще в 6376 parse_str(reg()).
    reg() возвращает результаты строкой вида return "login=$login&pass=$pass";

    7ion, 15 Апреля 2011

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

    +161

    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
    bool PipeChannelForPointer::byteReceived( uint8_t byte )
     {
     	received[ byteidx ] = byte;
     	byteidx++;
     	if( byteidx == sizeof(void*) ){
     		byteidx = 0;
     		void *ptr = *((void**)received);
    		ptrReceived( ptr );
    		bool ret = ptrReceived( ptr );
    		if( ret == false )
    			return false;
     	}
    	return true;
     }

    panter_dsd, 14 Апреля 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $f = true;
    
    $arOrder = CSaleOrder::GetByID($id_order);
    $f = $f && ($arOrder ? true : false);
    
    if ($f)	$f = $f && CSaleOrder::StatusOrder($id_order,$status);
    if ($f)	$f = $f && CSaleOrder::DeliverOrder($id_order,"Y");
    if ($f)	$f = $f && CSaleOrder::PayOrder($id_order, "Y", true, true);

    elw00d, 14 Апреля 2011

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

    +161

    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
    //main.cpp
    #include "head.h"
    int main()
    {
    //fcii.cpp
    #include "head.h"
    void odin (vector<Zapis> &mas)
    {
    Zapis buf;
    cout<<"Введите номер УДК: ";
    cin>>buf.id;
    cout<<"Введите фамилию и инициалы автора: ";
    cin>>buf.fio;
    cout<<"Введите название книги: ";
    cin>>buf.nazv;
    cout<<"Введите год издания: ";
    cin>>buf.god;
    cout<<"Введите количество экземпляров: ";
    cin>>buf.kol;
    mas.resize(mas.size()+1,buf);
    vivod (mas);
    }
    void dva (vector<Zapis> &mas)
    {
    char udk[4];
    cout<<"Введите УДК книги, которую необходимо удалить: ";
    cin>>udk;
    int flag=1;
    int k=0;
    for (vector<Zapis>::iterator i=mas.begin();i!=mas.end();i++)
    {
    flag=1;
    if (strlen(udk)==strlen(mas[k].id))
    for (int j=0;udk[j]!=0;j++)
    if (udk[j]!=mas[k].id[j])
    flag=0;
    if (flag==1)
    {
    mas.erase(i);
    flag=-1;
    break;
    }
    k++;
    }
    
    if (flag!=-1)
    {
    cout<<endl<<"Книги с данным УДК не существует"<<endl;
    }
    else vivod(mas);
    }
    void tri(vector<Zapis> &mas)
    {
    vector<int> mas_buf(mas.size());
    for (int i=0;i<mas.size();i++)
    mas_buf[i]=mas[i].god;
    sort(mas_buf.begin(),mas_buf.end()) ;
    for (int i=0;i<mas.size();i++)
    mas[i].god=mas_buf[i];
    vivod(mas);
    }
    int zapros (vector<Zapis> &mas)
    {
    int otvet;
    cout<<endl<<"Если вы хотите добавить данные о книгах - нажмите 1;"<<endl;
    cout<<"Если вы хотите удалить данные о списываемых книгах - нажмите 2;"<<endl;
    cout<<"Если вы хотите упорядочить книги по годам издания - нажмите 3;"<<endl;
    cout<<"Если вы хотите завершить работу программы - нажмите 0."<<endl;
    cin>>otvet;
    
    switch (otvet)
    {
    case 0: {return 0;}
    case 1: {
    odin(mas);
    zapros(mas);break;
    }

    Взято отсюда: http://programmersforum.ru/forumdisplay.php?f=14

    elenbert, 14 Апреля 2011

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

    +161

    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
    if(trim($_POST['Event_Name']) != '') {
          if(trim($_POST['StartDate']) != '') {
            if(trim($_POST['EndDate']) != '') {
              if(trim($_POST['EndDate']) != '') {
                if(trim($_POST['Community_Id']) != 0) {
                  if(trim($_POST['Event_Location']) != '') {
                    if(trim($_POST['Event_Latitude']) != '' && is_numeric($_POST['Event_Latitude'])) {
                      if(trim($_POST['Event_Longitude']) != '' && is_numeric($_POST['Event_Longitude'])) {
                        
                         ...................................................
                        // Далее много строк страшного кода с вызовами самописных методов для работы с датой. Аля:
                          $hrs = _ampmto24hrs($hrs, $ampm);
                          $StartDateTime = dateandtime2timestamp($_POST['StartDate'], $hrs, $mins);
                       .....................................................
                        // Далее формируется SQL код. Привожу интересный кусок и обращаю внимание на название полей таблицы, вида Darren_XXXXXXX. 
                        // Darren - имя заказчика
                          $sql .= "`Event_Featured` = '".(($_POST['Event_Featured'] == 'on')?'True':'False')."', ".
                            "`Submitters_Email` = '', ".
                            "`Darren_EventDisplayName` = '"._clean($_POST['Darren_EventDisplayName'])."', ".
                            "`Darren_ShortDesc` = '"._clean($_POST['Darren_ShortDesc'])."', ".
                            "`Darren_Desc` = '"._clean($_POST['Darren_Desc'])."', ".
                    ........................................................
                      // Заканчивается сие безобразие все тем же забором
                           } else  {
                            $error['error_mistake'] = true;
                          }
                        } else {
                          $error['error'] = true;
                          $error['Event_URL'] = true;
                        }
                      } else {
                        $error['error'] = true;
                        $error['Event_Longitude'] = true;
                      }
                    } else {
                      $error['error'] = true;
                      $error['Event_Latitude'] = true;
                    }
                  } else {
                    $error['error'] = true;
                    $error['Event_Location'] = true;
                  }
                } else {
                  $error['error'] = true;
                  $error['Community_Id'] = true;
                }
              } else {
                $error['error'] = true;
                $error['EndDate'] = true;
              }
            } else {
              $error['error'] = true;
              $error['EndDate'] = true;
            }
          } else {
            $error['error'] = true;
            $error['StartDate'] = true;
          }
        } else {
          $error['error'] = true;
          $error['Event_Name'] = true;
        }

    А вот визитная карточка автора этого кода: date_default_timezone_set('Asia/Calcutta'). Думаю, что этим все сказано.

    SunnyMagadan, 12 Апреля 2011

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

    +161

    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
    #include "header.hpp"
     
    int main(int argc, char** argv) {
       if ( argc != 4 ) {
          std::cout << "client ip port 0/1 - sleed disabled/enabled" << std::endl;
          return 0;
       }
       std::string ip = argv[1];
       boost::uint16_t port = boost::lexical_cast<boost::uint16_t>(argv[2]);
       bool wsleep = (argv[3][0] == '1');
       std::cout << "sleep " << (wsleep?"enabled":"disabled") << std::endl;
       
       FILE* in = fopen("client_in.log", "wb");
       FILE* out= fopen("client_out.log", "wb");
       if ( !out || !in ) {
          std::cout << "can`t open file!" << std::endl;
          return 1;
       }
     
       boost::asio::ip::tcp::endpoint endpoint(
          boost::asio::ip::address::from_string(ip), port
       );
     
       boost::asio::io_service ios;
       boost::shared_ptr<boost::asio::io_service::work> work(new boost::asio::io_service::work(ios));
     
       boost::thread thread(boost::bind(&boost::asio::io_service::run, &ios));
       
       boost::asio::ip::tcp::socket socket(ios);
       socket.connect(endpoint);
     
       boost::asio::socket_base::non_blocking_io non_blocking_io(true);
       socket.io_control(non_blocking_io);
     
       client_read(socket, in);
     
       for ( size_t idx = 0; idx < 100000000; ++idx ) {
          char* buf = new char[send_buffer_size];
          sprintf(buf, "cs:%8dn", idx);
          start_write(socket, buf, out);
          if ( wsleep ) {
             boost::this_thread::sleep(boost::posix_time::microseconds(1000));
          }
       }
     
       std::cout
       << "send data to server finished!" << std::endl
       << "waiting for all ask`s from server..." << std::endl;
     
       work.reset();
     
       while ( counter ) {
          boost::this_thread::sleep(boost::posix_time::microseconds(1000));
          std::cout << "." << std::flush;
       }
     
       std::cout << std::endl << std::endl
       << "all ask`s received." << std::endl
       << "terminate client..." << std::endl;
     
       socket.cancel();
       socket.close();
     
       thread.join();
       fclose(in);
       fclose(out);
    }

    qbasic, 08 Апреля 2011

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