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

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

    +156

    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
    void CVC6_SampleCodeDlg::Onbuttonstartrecord() 
    {
    	// TODO: Add your control notification handler code here
    	CString strFileName, strFileTime, strFileSize, strTemp;
    
    	GetDlgItem(IDC_EDIT_filepath)->GetWindowText(strFileName);
    	GetDlgItem(IDC_EDIT_filetime)->GetWindowText(strFileTime);
    	GetDlgItem(IDC_EDIT_filelength)->GetWindowText(strFileSize);
    	GetDlgItem(IDC_button_startrecord)->GetWindowText(strTemp);
    
    	m_vportsdk.SetRecordVideoPath(strFileName);
    	m_vportsdk.SetRecordMaxFileTimeLength(atoi(strFileTime));
    	m_vportsdk.SetRecordMaxFileSize(atoi(strFileSize));
    
    	CComboBox *pRecordType = (CComboBox *) GetDlgItem(IDC_COMBO_recordtype);
    	if(strTemp == "Start Record"){
    		if(pRecordType->GetCurSel() == 0)
    			m_vportsdk.StartRecording(0);
    		else
    			m_vportsdk.StartRecording(1);
    		GetDlgItem(IDC_button_startrecord)->SetWindowText("Stop Record");
    	}
    	else{
    		if(pRecordType->GetCurSel() == 0)
    			m_vportsdk.StopRecording(0);
    		else
    			m_vportsdk.StopRecording(1);
    		GetDlgItem(IDC_button_startrecord)->SetWindowText("Start Record");
    	}
    }

    VPort ActiveX SDK PLUS от Moxa
    часть 2

    absolut, 27 Ноября 2010

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

    +156

    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
    function uname($v)
    {
    	return $v;
    }
    
    function name($v)
    {
    	return $v;
    }
    
    function url($v)
    {
    	return $v;
    }
    		
    function icq($v)
    {
    	return $v;
    }
    	
    function from($v)
    {
    	return $v;
    }
    	
    function intrest($v)
    {
    	return $v;
    }
    
    foreach( $s_data AS $k=>$v )
    {
    	$v =  $k($v);
    	$parser -> set_var($this -> tmpl_id,$k,$v);
    }

    Клинический случай. Убрал «$v = $k($v);» и, как и следовало ожидать, ничего не изменилось.

    Oonitaz, 24 Ноября 2010

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    # Записываем в БД новый хеш авторизации и IP
            $query=mysql_query("UPDATE user SET hash='".$hash."'".$insip." WHERE id='".$data['id']."'");
            $result = mysql_query($query)
              or die ("<p>Нельзя выполнить запрос ".mysql_error());

    qbasic, 17 Ноября 2010

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

    +156

    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
    char* setw_c(int width, char* str, const char align){
        width = width - strlen(str) / 2; 
    
        if (align == 'l'){
            std::cout << str;
            if (width > 0)
                for (int i = 0; i < width - 1; i++)
                    std::cout << " ";
    		return " ";
        } else {
            if (width > 0)
                for (int i = 0; i < width; i++)
                    std::cout << " ";
    		return str;
        }
    }

    вот так коряво я решил проблему с setw(), кириллицей и utf-8.
    strlen() - чуть ли не единственная функция из cstring, более-менее нормально работающая с кириллицей в utf-8, да и то возвращает не реальную длину, а в два раза бОльшую, т.к. в utf-8 символ кириллицы занимает 2 байта, вместо одного, чего эта функция не учитывает.

    bugaga_, 13 Ноября 2010

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

    +156

    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
    index.php:
    <?php
    
    	define("TEMPLATE_FOLDER", "./templates/");
    
    	class Template
    	{
    		
    		public function view($template, $data)
    		{
    			foreach($data as $key => $variable)
    				$$key = $variable;
    			
    			require(TEMPLATE_FOLDER . $template . '.php');
    			
    			foreach($data as $key => $variable)
    				unset($$key);
    		}
    		
    	}
    	
    	$template = new Template();
    	
    	$data['test'] = array(1, 2, 3);
    	
    	$template->view('index', $data);
    	
    ?>
    
    templates/index.php:
    <html>
    	<body>
    		<?php foreach($test as $row): ?>
    			<?php echo $row ?><br/><br/>
    		<?php endforeach; ?>
    	</body>
    </html>

    Говно ли?

    TapTap, 12 Ноября 2010

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

    +156

    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
    // #include<....>
    
    using namespace std;
    
    #if ( _WIN32 || __WIN32__ || _WIN64 || __WIN64__ )
    #define I64 "%I64d"
    #else
    #define I64 "%Ld"
    #endif
    
    #define PB(x) push_back(x)
    #define MP(x,y) make_pair(x,y)
    #define dbg(x) cerr << #x << " = " << x << endl
    #define fori(i,b,e) for(int i = (b); i < (e); i++)
    #define forall(p,s) for(typeof((s).begin()) p = (s).begin(); p != (s).end(); p++)
    #define memclr(a) memset((a), 0, sizeof(a))
    
    typedef long long int64;
    const long long inf = ((long long)1 << 63) - 1;
    
    #define PROBLEM_NAME "a"
    
    #define add(i, j, val, p, ch) \
    do { \
    	par[i][j][val] = p; \
    	c[i][j][val] = ch; \
    	was[i][j][val] = true; \
    	d[i][j][val] = d[i][j][p] + 1; \
    	a[i][j][sz[i][j]++] = val; \
    } while (0)
    
    void bfs(int n) {
    	int p[10][10][2];
    	for (int i = 0; i < 10; i++) {
    		for (int j = 0; j < 10; j++) {
    			p[i][j][0] = min(i,j);
    			p[i][j][1] = max(i,j);
    		}
    	}
    	static int par[10][10][2 << 16];
    	static int c[10][10][2 << 16];
    	static bool was[10][10][2 << 16];
    	static int a[10][10][2 << 16];
    	static int d[10][10][2 << 16];
    	static int sz[10][10];
    	static int cur[10][10];
    
            //...
    }
    int main() {
            //...
    }

    Часть шаблона, ну еще кое-какие макросы, т.к. влом было писать нормально. Зато работало. bfs не обыкновенный, если кого это смутит.

    baton, 27 Октября 2010

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

    +156

    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
    93. 93
    <?php
     set_time_limit(600);
    //error_reporting (E_ALL);
    #############################################################
    ## Проверка: запущен или нет фтп сервер. Зпускаю nnCron'ом ##
    #############################################################
    
    $proxy = "172.16.0.2";
    $port = "2121";
    $timeout = 10;
    $sleep = 0;
    require_once('set.php');
    $link = mysql_connect($servername, $username, $password) or die("Could not connect : ".mysql_error());
    mysql_query("SET CHARACTER SET cp1251;");
    mysql_select_db("ftp");
    $online=mysql_query("SELECT * FROM `online_sial`;");
    $offline=mysql_query("SELECT * FROM `offline_sial`;");
    $this_time = time();
    
      while ($row = mysql_fetch_array($online)) {
       $url = "ftp://".$row['ipaddr']."/";
       if($fp = fsockopen($proxy, $port, $errno, $errstr, $timeout)){
        fputs($fp, "GET $url HTTP/1.0\r\nHost: $proxy\r\n\r\n");
        stream_set_timeout($fp, 10);
        $res = fread($fp, 100);
        $info = stream_get_meta_data($fp);
        fclose($fp);
        if (!$info['timed_out']){
         $del="DELETE FROM `online_sial` WHERE ipaddr=\"".$row['ipaddr']."\";";
         $ins="INSERT INTO `online_sial` values (\"".$row['hostname']."\", \"".$row['ipaddr']."\", \"".$this_time."\", \"".$row['comment']."\");";
         mysql_query($del);
         mysql_query($ins);
         echo $row['hostname']."<br />";
        }else{
         $del="DELETE FROM `online_sial` WHERE ipaddr=\"".$row['ipaddr']."\";";
         $ins="INSERT INTO `offline_sial` values (\"".$row['hostname']."\", \"".$row['ipaddr']."\", \"".$this_time."\", \"".$row['comment']."\");";
         mysql_query($del);
         mysql_query($ins);
         echo $row['hostname']."<br />";
        }
        sleep($sleep);
    
       }else echo "Proxy упал<br />";
    
      }
    
      while ($row = mysql_fetch_array($offline)) {
    
       $url = "ftp://".$row['ipaddr']."/";
    
       if($fp = fsockopen($proxy, $port, $errno, $errstr, $timeout)){
    
        fputs($fp, "GET $url HTTP/1.0\r\nHost: $proxy\r\n\r\n");
    
        stream_set_timeout($fp, 10);
    
        $res = fread($fp, 100);
    
        $info = stream_get_meta_data($fp);
    
        fclose($fp);
    
        if (!$info['timed_out']){
    
         $del="DELETE FROM `offline_sial` WHERE ipaddr=\"".$row['ipaddr']."\";";
    
         $ins="INSERT INTO `online_sial` values (\"".$row['hostname']."\", \"".$row['ipaddr']."\", \"".$this_time."\", \"".$row['comment']."\");";
    
         mysql_query($del);
    
         mysql_query($ins);
    
         echo $row['hostname']."<br />";
    
        }
    
        sleep($sleep);
    
       } echo "Proxy упал<br />";
    
      }
    
    
    
    
    
    mysql_query("ALTER TABLE `ftp`.`online_sial` ORDER BY `hostname`;");
    
    mysql_query("ALTER TABLE `ftp`.`offline_sial` ORDER BY `hostname`;");
    
    mysql_close($link);
    
    ?>

    Пять лет назад. Этим можно пугать детей.

    Jesus, 27 Октября 2010

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

    +156

    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
    // To protect MySQL injection
    $username = stripslashes($username);
    $password = stripslashes($password);
    $username = mysqli_real_escape_string($connect, $username);
    $password = mysqli_real_escape_string($connect, $password);
                                                   
    $login = mysqli_query($connect, "SELECT * FROM users WHERE username = '$username'");
    while ($row = mysqli_fetch_assoc($login))
    {
        $db_password = $row['password'];
        if (sha1($password) == $db_password)
            $loginok = TRUE;
        else
            $loginok = FALSE;
    
        if ($loginok == TRUE)
        {
            // Register $username, $password
            $_SESSION["username"] = $username;
            exit();
        }
        else
            die('Feil brukernavn/passord.');
    }

    pastebin временами радует :)
    http://pastebin.com/hW8BbEmt

    fork, 26 Октября 2010

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

    +156

    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
    <?php
    
            // ...
            $buffer='$buffer';
            $text = '$text';
            // ...
    
            $file = <<<CODE
    <?php
    
        // ...
    
        function prepareText($text)
        {
            $text = str_replace("\\n\\r", " ", $text);
            $text = str_replace("\\r\\n", " ", $text);
            $text = str_replace("\\n", " ", $text);
    
            return $text;
        }
    
        // ...
    CODE;

    Суть такова: нужно было генерировать пхп код, который впоследствии должен был выполняться на клиенте.
    Угадайте, зачем нужны переменные $buffer, $text и еще много таких, в которых лежит имя самой переменной в строке?

    user654321, 26 Октября 2010

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

    +156

    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
    function vstyle($col_num, $arr) {
    	$a = array();
    	$size	= sizeof($arr);
    
    	$row_num	= floor( $size / $col_num);
    	if(count($arr) <= 0) {
    		return $a;
    	}
    	for( $i = 0; $i < $col_num - 1; $i++) {
    		$a[$i] = array_slice( $arr, $i * $row_num, $row_num);
    	}
    		$a[$col_num - 1]	= array_slice( $arr, $row_num * ($col_num - 1), $size - $row_num * ($col_num - 1));
    /*	foreach($arr as $key=>$value) {
    
    		$num	= $i % $col_num;
    		$a[$num][$key]	= $value;
    		$i++;
    	}
    */
    	return $a;
    }

    array_chunk суровый и безпощадный

    DrFreez, 25 Октября 2010

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