1. PHP / Говнокод #7824

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    switch($_GET['country']) {
                foreach ($getActiveChildren $k=>$v){   // тут цикл который создаёт case, echo, break - но он не работает
                    case "$v[id]":
                    echo 'Любой текст';
                    break;}
                    default:
                    print '[{value:"",text:"Выбрать автомобиль"}]';
                    break;
                    }

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

    nethak, 10 Сентября 2011

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $url = $_SERVER['REQUEST_URI'].'/';
    $counter = substr_count($url, 'page=');
    if($counter!=0){
    preg_match('/(page=)(.*?)(\/)/', $url, $pag);
    $sim_o = array('page=', '/');
    $sim_z= array('','');
    $pag = str_replace($sim_o, $sim_z, $pag);
    $page = $pag[0];
    echo $page;
    }

    Проверяем наличие GET и выводим его же.

    OJA, 10 Сентября 2011

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

    +165

    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
    >>>http://www.sql.ru/forum/actualthread.aspx?bid=21&tid=584106&hl=
    if(ii==2) {
    		GetDlgItem(IDC_COLMAP_BUTTON3)->GetWindowRect(&lpRect);
    			m_stcSTSign2.SetBkColor(dwColorTip[2]);
    		}
    		if(ii==3) {
    			GetDlgItem(IDC_COLMAP_BUTTON4)->GetWindowRect(&lpRect);
    			m_stcSTSign3.SetBkColor(dwColorTip[3]);
    		}
    		if(ii==4) {
    			GetDlgItem(IDC_COLMAP_BUTTON5)->GetWindowRect(&lpRect);
    			m_stcSTSign4.SetBkColor(dwColorTip[4]);
    		}
    		if(ii==5) {
    			GetDlgItem(IDC_COLMAP_BUTTON6)->GetWindowRect(&lpRect);
    			m_stcSTSign5.SetBkColor(dwColorTip[5]);
    		}
    		if(ii==6) {
    			GetDlgItem(IDC_COLMAP_BUTTON7)->GetWindowRect(&lpRect);
    			m_stcSTSign6.SetBkColor(dwColorTip[6]);
    		}
    		if(ii==7) {
    			GetDlgItem(IDC_COLMAP_BUTTON8)->GetWindowRect(&lpRect);
    			m_stcSTSign7.SetBkColor(dwColorTip[7]);
    		}
    		if(ii==8) {
    			GetDlgItem(IDC_COLMAP_BUTTON9)->GetWindowRect(&lpRect);
    			m_stcSTSign8.SetBkColor(dwColorTip[8]);
    		}
    		if(ii==9) {
    			GetDlgItem(IDC_COLMAP_BUTTON10)->GetWindowRect(&lpRect);
    			m_stcSTSign9.SetBkColor(dwColorTip[9]);
    		}
    		if(ii==10) {
    			GetDlgItem(IDC_COLMAP_BUTTON11)->GetWindowRect(&lpRect);
    			m_stcSTSign10.SetBkColor(dwColorTip[10]);
    		}
    		if(ii==11) {
    			GetDlgItem(IDC_COLMAP_BUTTON12)->GetWindowRect(&lpRect);
    			m_stcSTSign11.SetBkColor(dwColorTip[11]);
    		}
    		if(ii==12) {
    			GetDlgItem(IDC_COLMAP_BUTTON13)->GetWindowRect(&lpRect);
    			m_stcSTSign12.SetBkColor(dwColorTip[12]);
    		}
    		if(ii==13) {
    			GetDlgItem(IDC_COLMAP_BUTTON14)->GetWindowRect(&lpRect);
    			m_stcSTSign13.SetBkColor(dwColorTip[13]);
    		}
    		if(ii==14) {
    			GetDlgItem(IDC_COLMAP_BUTTON15)->GetWindowRect(&lpRect);
    			m_stcSTSign14.SetBkColor(dwColorTip[14]);
    		}
    		if(ii==15) {
    			GetDlgItem(IDC_COLMAP_BUTTON16)->GetWindowRect(&lpRect);
    			m_stcSTSign15.SetBkColor(dwColorTip[15]);
    		}
    		if(ii==16) {
    			GetDlgItem(IDC_COLMAP_BUTTON17)->GetWindowRect(&lpRect);
    			m_stcSTSign16.SetBkColor(dwColorTip[16]);
    		}
    		if(ii==17) {
    			GetDlgItem(IDC_COLMAP_BUTTON18)->GetWindowRect(&lpRect);
    			m_stcSTSign17.SetBkColor(dwColorTip[17]);
    		}
    		if(ii==18) {
    			GetDlgItem(IDC_COLMAP_BUTTON19)->GetWindowRect(&lpRect);
    			m_stcSTSign18.SetBkColor(dwColorTip[18]);
    		}
    ----------------------------------------------------------------
    P.S
    IDC_COLMAP_BTN_BASE 1000
    ...
    IDC_COLMAP_BUTTON12 1012
    IDC_COLMAP_BUTTON13 1013
    IDC_COLMAP_BUTTON14 1014
    
    ... f(int i)
    {
    	GetDlgItem(IDC_COLMAP_BTN_BASE + i)->GetWindowRect(&lpRect);
    	arr.at(i).SetBkColor(dwColorTip[i]);
    }

    183cf58a76d94b9e, 09 Сентября 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    <? echo "$Welcome" ?> <? 	
    	$site = session_id();
    	 echo ", <b>" . $_SESSION["esb2b_username"] . "</b>" ;
    ?>

    Из одного китайско-арабского скрипта. Хорошо дан пробел после "Welcome".

    otnes, 09 Сентября 2011

    Комментарии (12)
  5. SQL / Говнокод #7820

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $sql_info = "SELECT * FROM accessories";
    $query_info = mysql_query($sql_info);
    while($row_info=mysql_fetch_array($query_info)) {
        $found_something=1;
    }

    Проверка наличия записей в БД

    mikhail-spb, 09 Сентября 2011

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

    −129

    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
    Функция ВыделитьАртикул(А) Экспорт
    	Перем СтрВспом, Инд;
    	
    	Инд = 1;
    	СтрВспом = "";
    	
    	Пока Инд <= СтрДлина(А) Цикл
    		Если (Сред(А,Инд,1)="0") ИЛИ (Сред(А,Инд,1)="1") ИЛИ
    			 (Сред(А,Инд,1)="2") ИЛИ (Сред(А,Инд,1)="3") ИЛИ
    			 (Сред(А,Инд,1)="4") ИЛИ (Сред(А,Инд,1)="5") ИЛИ
    			 (Сред(А,Инд,1)="6") ИЛИ (Сред(А,Инд,1)="7") ИЛИ
    			 (Сред(А,Инд,1)="8") ИЛИ (Сред(А,Инд,1)="9") ИЛИ 
    			 (Сред(А,Инд,1)="/") ИЛИ (Сред(А,Инд,1)="-") Тогда
    			СтрВспом = СтрВспом + Сред(А, Инд, 1);
    			Инд = Инд + 1;
    		Иначе
    			Прервать;
    		КонецЕсли;
    	КонецЦикла;
    	Возврат СтрВспом;
    КонецФункции

    Нашел у клиента, когда рефакорил код конфы. Страшно подумать, если придется выделять еще с десяток символов...

    YouAreEmpty, 09 Сентября 2011

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

    +160

    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
    HRESULT GetOutlookVersionString(LPSTR* ppszVer, BOOL* pf64Bit)
    {
        HRESULT hr = E_FAIL;
        LPSTR pszTempPath = NULL;
        LPSTR pszTempVer = NULL;
        TCHAR pszaOutlookQualifiedComponents[][MAX_PATH] = {
            TEXT("{1E77DE88-BCAB-4C37-B9E5-073AF52DFD7A}"), // Outlook 2010
            TEXT("{24AAE126-0911-478F-A019-07B875EB9996}"), // Outlook 2007
            TEXT("{BC174BAD-2F53-4855-A1D5-0D575C19B1EA}")  // Outlook 2003
        };
    
        int nOutlookQualifiedComponents = _countof(pszaOutlookQualifiedComponents);
        int i = 0;
        DWORD dwValueBuf = 0;
        UINT ret = 0;
    
        *pf64Bit = FALSE;
    
        for (i = 0; i < nOutlookQualifiedComponents; i++)
        {
            ret = MsiProvideQualifiedComponent(
                pszaOutlookQualifiedComponents[i],
                TEXT("outlook.x64.exe"),
                (DWORD) INSTALLMODE_DEFAULT,
                NULL,
                &dwValueBuf);
            if (ERROR_SUCCESS == ret) break;
        }
    
        if (ret != ERROR_SUCCESS)
        {
            ret = MsiProvideQualifiedComponent(
                pszaOutlookQualifiedComponents[i],
                TEXT("outlook.exe"),
                (DWORD) INSTALLMODE_DEFAULT,
                NULL,
                &dwValueBuf);
        }
        else
        {
            *pf64Bit = TRUE;
        }
    
        if (ret == ERROR_SUCCESS)
        {
            dwValueBuf += 1;
            pszTempPath = (LPSTR) malloc(dwValueBuf * sizeof(TCHAR));
    
            if (pszTempPath != NULL)
            {
                if ((ret = MsiProvideQualifiedComponent(
                    pszaOutlookQualifiedComponents[i],
                    TEXT("outlook.exe"),
                    (DWORD) INSTALLMODE_EXISTING,
                    pszTempPath,
                    &dwValueBuf)) != ERROR_SUCCESS)
                {
                    goto Error;
                }
    
                pszTempVer = (LPSTR) malloc(MAX_PATH * sizeof(TCHAR));
                dwValueBuf = MAX_PATH;
                if ((ret = MsiGetFileVersion(pszTempPath,
                    pszTempVer,
                    &dwValueBuf,
                    NULL,
                    NULL))!= ERROR_SUCCESS)
                {
                    goto Error;    
                }
                *ppszVer = pszTempVer;
                pszTempVer = NULL;
                hr = S_OK;
            }
        }
    
    Error:
        free(pszTempVer);
        free(pszTempPath);
        return hr;
    }

    Говнокод от САМОГО Билли... 21 век на дворе, а у нас в C++ коде goto Error написано (точнее - накакано).
    Источник - http://msdn.microsoft.com/en-us/library/dd941331.aspx

    kVolt, 09 Сентября 2011

    Комментарии (64)
  8. Pascal / Говнокод #7817

    +90

    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
    Procedure TfMain.CheckButtonsStatus;
    begin
      // Если есть кто-то в персональной очереди, то возобновить активна
      if (dMain.PersonalQueueQuery.RecordCount > 0) then
        TImageButton(mButtons[6]).mlabel.Enabled := true
      else
        TImageButton(mButtons[6]).mlabel.Enabled := False;
    
      // 'приглашен', 3, 'оповещен', 4, 'оповещен', 5, 'прием начат')
      if (dMain.StateQuery.FieldValues['state'] = 'свободно') then
      begin
        TImageButton(mButtons[0]).mlabel.Enabled := False;
        TImageButton(mButtons[1]).mlabel.Enabled := False;
        if dMain.CommonQueueQuery.RecordCount > 0 then
          TImageButton(mButtons[2]).mlabel.Enabled := true
        else
          TImageButton(mButtons[2]).mlabel.Enabled := False;
    
        TImageButton(mButtons[3]).mlabel.Enabled := False;
        TImageButton(mButtons[4]).mlabel.Enabled := False;
        TImageButton(mButtons[5]).mlabel.Enabled := False;
        OperPopupMenu.Items[0].Enabled := False;
      end;
    
      if (dMain.StateQuery.FieldValues['state'] = 'приглашен') or
        (dMain.StateQuery.FieldValues['state'] = 'оповещен') then
      begin
        TImageButton(mButtons[0]).mlabel.Enabled := true;
        TImageButton(mButtons[1]).mlabel.Enabled := False;
        TImageButton(mButtons[2]).mlabel.Enabled := False;
        TImageButton(mButtons[3]).mlabel.Enabled := true;
        TImageButton(mButtons[4]).mlabel.Enabled := False;
        TImageButton(mButtons[5]).mlabel.Enabled := False;
        TImageButton(mButtons[6]).mlabel.Enabled := False;
        if (dMain.StateQuery.FieldValues['state'] = 'приглашен') then
          OperPopupMenu.Items[0].Enabled := False
        else
          OperPopupMenu.Items[0].Enabled := true;
      end;
    
      if (dMain.StateQuery.FieldValues['state'] = 'прием начат') then
      begin
        TImageButton(mButtons[0]).mlabel.Enabled := False;
        TImageButton(mButtons[1]).mlabel.Enabled := true;
        TImageButton(mButtons[2]).mlabel.Enabled := False;
        TImageButton(mButtons[3]).mlabel.Enabled := False;
        TImageButton(mButtons[4]).mlabel.Enabled := true;
        TImageButton(mButtons[5]).mlabel.Enabled := true;
        TImageButton(mButtons[6]).mlabel.Enabled := False;
        OperPopupMenu.Items[0].Enabled := False;
      end;
    end;

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

    chaoswithin, 09 Сентября 2011

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

    +162

    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
    /*
    Содержимое news.xml
    <?xml version="1.0" encoding="utf-8"?>
     <news>
       <item>
         <title>Новые поступления</title>
         <text>
         This program is free software;
         </text>
         <date>13:30 - 12.08.2004</date>
       </item>
       <item>
         <title>ERERER поступления</title>
         <text>
           p pppppppppppppppp p p pp  p pppppppppppppppppp pppppppppppppppppppppp
         </text>
         <date>18:30 - 12.08.2004</date>
       </item>
     </news>
    */
    
    
     $file = fopen("news.xml","r");
     fseek($file, 47, SEEK_SET);
     $other = fread($file, 900000);
     fseek($file, 0, SEEK_SET);
     $prev = fread($file, 47);
     fclose($file);
     $file = fopen("news.xml","w");
    //...
    $text1 = "$text";
    $title = "$h1";
    $date = "$dates";
    echo $other;
    $all = $prev.'<item><title>'.$title.'</title><text>'.$text1.'</text><date>'.$date.'</date></item>'.$other;
    $buff = fputs ($file, $all);
    print $buff;

    Оригинальный способ дописывать новую новость в xml файл.
    Данный способ уже не кошерный:
    $doc = new DOMDocument();
    $doc->load($xml);
    $item = $doc->createElement('item');
    $news = $doc>getElementsByTagName('news')->item(0);
    $news->appendChild($item);
    $doc->save($xml);

    MoLe-X, 09 Сентября 2011

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

    +154

    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
    <?php
    function import_var($name,$source,$type,$maxlen=0) {
    	$retarr=array();
    	if(is_array($name)) { // если нужно обработать массив с именами
    		foreach($name as $v) {
    			$retarr[$v] = import_var($v,$source,$type,$maxlen);
    			// рекурсивно запускаем себя же
    		}
    	if(sizeof($retarr)>0) return $retarr; // возвращаем массив
    	}
    	// если нужно обработать одну переменную
    	switch($source) {
    		case 'G':
    			if (isset($_GET[$name])) {
    				$var=$_GET[$name];  // из GET
    			}
    		break;
    		case 'P':
    			if (isset($_POST[$name])) {
    				$var=$_POST[$name];  // из POST
    			}
    		break;
    		case 'C':
    			if (isset($_COOKIE[$name])) {
    				$var=$_COOKIE[$name];  // из Cookie
    			}
    		break;
    	}
    
    	if(!isset($var)) return false; // если переменная существует
    
    	if(is_array($var)) return false; // и если это не массив...
    
    	if(get_magic_quotes_gpc()) $var = stripslashes($var);
    	// убираем лишние бэкслэши
    
    	if(empty($var)) return false; // если переменная пуста
    
    	if ($maxlen>0) $var = substr($var,0,$maxlen); //обрубаем лишнее
    
    	switch($type) { // теперь обрабатываем в соответствии с типом
    		case 'INT' : // число integer
    			return is_integer($var) ? $var : intval($var);
    		break;
    		case 'NUM' : // число integer или float
    			return is_numeric($var) ? $var : false;
    		break;
    		case 'HTML' : // текст, в котором могут содержаться тэги
    			return trim(htmlspecialchars($var));
    		break;
    		case 'SQL' : // строка, которая попадет в SQL-запрос
    			return mysql_real_escape_string(htmlspecialchars($var));
    		break;
    		case 'MAIL'	: // email-адрес
    			return preg_match('/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{2,4}$/',$var) ? $var : false;
    		break;
    		case 'ALPHA' : // только буквенные символы
    			return preg_match("/^[а-яА-ЯёЁa-zA-Z]+$/",$var) ? $var : false;
    		break;
    		case 'ALPHANUM' : // числовые и буквенные символы
    			return preg_match("/^[а-яА-ЯёЁa-zA-Z0-9]+$/",$var) ? $var : false;
    		break;
    		case 'MD5' : // md5-хэш
    			return preg_match("/^[a-fA-F0-9]{32}+$/",$var) ? $var : false;
    		break;
    		case 'SHA1' : // sha1-хэш
    			return preg_match("/^[a-fA-F0-9]{40}+$/",$var) ? $var : false;
    		break;
    		case 'BOOL': // булева величина
    			return ($var=="1" || $var=="true" || $var=="on") ? true : false;
    		break;
    	}
    }
    ?>

    http://raz0r.name/releases/funkciya-dlya-obrabotki-vxodyashhix-dannyx/

    sectus, 09 Сентября 2011

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