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

    +6

    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
    function utf8ToCp1251($s,$type="w") {
        if ((is_string($s) && strlen($s)>0) && ((mb_detect_encoding($s,'UTF-8,CP1251')) == "UTF-8"))    { 
            $out="";
            for ($c=0;$c<strlen($s);$c++)         { 
                $i=ord($s[$c]); 
                if ($i<=127) @$out.=$s[$c]; 
                if (@$byte2)     { 
                    $new_c2=($c1&3)*64+($i&63); 
                    $new_c1=($c1>>2)&5; 
                    $new_i=$new_c1*256+$new_c2; 
                    if ($new_i==1025) { 
                        $out_i=168; 
                    } else { 
                        if ($new_i==1105) { 
                            $out_i=184;
                        } else { 
                        $out_i=$new_i-848; 
                        } 
                    } 
                    @$out.=chr($out_i); 
                    $byte2=false; 
                } 
                
                if (($i>>5)==6)  { 
                  $c1=$i; 
                  $byte2=true; 
                } 
            } 
            return $out; 
        } 
        else return $s; 
    }

    Одна из стандартных функций битрикса.
    Видимо iconv им не знаком...

    tanur, 17 Марта 2016

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

    0

    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
    #include <iostream>
    
    using namespace std;
    
    int main(){
        int n = 60;
        int a = 1 << n;
        cout << a << endl;
        n = 33;
        a = 1 << n;
        cout << a << endl;
        unsigned m = 33;
        unsigned b = 1u << m;
        cout << b << endl;
        // a = 1 << 32;
        // cout << a << endl;
        return 0;
    }

    Моар:
    http://acm.math.spbu.ru/~kunyavskiy/cpp/sol02.cpp

    UltimateDelighter, 16 Марта 2016

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

    +2

    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
    //получаем Элемент 
    $resource = CIBlockElement::GetByID($Bid);
    if ($ob = $resource->GetNextElement())
    {
        //вытягиваем поля, свойства
        $arFields = $ob->GetFields();
        $arFields['PROPERTIES'] = $ob->GetProperties();
    	
        // удаляем все поля, нахрен мы их вообще выдергивали
        $arFieldsCopy = $arFields;
    	unset(
    		$arFieldsCopy['ID'], 
    		$arFieldsCopy['~ID'], 
    		$arFieldsCopy['IBLOCK_SECTION_ID'], 
    		$arFieldsCopy['~IBLOCK_SECTION_ID'], 
    		$arFieldsCopy['TIMESTAMP_X'], 
    		$arFieldsCopy['~TIMESTAMP_X'], 
    		$arFieldsCopy['ACTIVE_TO'], 
    		$arFieldsCopy['~ACTIVE_TO'], 
    		$arFieldsCopy['DATE_ACTIVE_TO'], 
    		$arFieldsCopy['~DATE_ACTIVE_TO'], 
    		$arFieldsCopy['PREVIEW_PICTURE'], 
    		$arFieldsCopy['~PREVIEW_PICTURE'], 
    		$arFieldsCopy['PREVIEW_TEXT'], 
    		$arFieldsCopy['~PREVIEW_TEXT'], 
    		$arFieldsCopy['DETAIL_PICTURE'], 
    		$arFieldsCopy['~DETAIL_PICTURE'], 
    		$arFieldsCopy['DETAIL_TEXT'], 
    		$arFieldsCopy['~DETAIL_TEXT'], 
    		$arFieldsCopy['XML_ID'], 
    		$arFieldsCopy['~XML_ID'], 
    		$arFieldsCopy['EXTERNAL_ID'], 
    		$arFieldsCopy['~EXTERNAL_ID'], 
    		$arFieldsCopy['TMP_ID'], 
    		$arFieldsCopy['~TMP_ID'], 
    		$arFieldsCopy['CODE'], 
    		$arFieldsCopy['~CODE'], 
    		$arFieldsCopy['SEARCHABLE_CONTENT'], 
    		$arFieldsCopy['~SEARCHABLE_CONTENT'], 
    		$arFieldsCopy['WF_LAST_HISTORY_ID'], 
    		$arFieldsCopy['~WF_LAST_HISTORY_ID'], 
    		$arFieldsCopy['WF_COMMENTS'], 
    		$arFieldsCopy['~WF_COMMENTS'], 
    		$arFieldsCopy['WF_DATE_LOCK'], 
    		$arFieldsCopy['~WF_DATE_LOCK'], 
    		$arFieldsCopy['WF_LOCKED_BY'], 
    		$arFieldsCopy['~WF_LOCKED_BY'], 
    		$arFieldsCopy['WF_NEW'], 
    		$arFieldsCopy['~WF_NEW'], 
    		$arFieldsCopy['WF_PARENT_ELEMENT_ID'], 
    		$arFieldsCopy['~WF_PARENT_ELEMENT_ID'], 
    		$arFieldsCopy['SHOW_COUNTER'], 
    		$arFieldsCopy['~SHOW_COUNTER'], 
    		$arFieldsCopy['TAGS'], 
    		$arFieldsCopy['~TAGS'], 
    		$arFieldsCopy['LOCKED_USER_NAME'], 
    		$arFieldsCopy['~LOCKED_USER_NAME'], 
    		$arFieldsCopy['SHOW_COUNTER_START'],
    		$arFieldsCopy['~SHOW_COUNTER_START']
    	);
           
         
            $arFieldsCopy['ACTIVE']='N';
    	$arFieldsCopy['ACTIVE_FROM']=date('d.m.Y');
           /*... тра тра та заполняю я поля ....*/ 
    
         $arFieldsCopy['PROPERTY_VALUES'] = [
           /* ... тра та та, 
                         тра та та,
                            заполняю свойства я  
                ...
          */
         ];
           /*
               ... Продолжая песню петь
                       удалю я все теперь 
               ...
           */
    	unset($arFieldsCopy['PROPERTIES']);
       // кульминация пьесы, добавление нового Элемента 
        $el = new CIBlockElement();
        $NEW_BID_ID = $el->Add($arFieldsCopy);
    }

    Эм.... толи память экономит, то ли оплата за код построчно ....

    BroadcastAddress, 16 Марта 2016

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

    −1

    1. 1
    if ( strpos(str_replace('"', "'", json_encode($opt)), "'status':0") )

    Зачем

    crook, 16 Марта 2016

    Комментарии (1)
  5. Куча / Говнокод #19640

    −1

    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
    FROM centos:7
    
    RUN yum update -y && yum -y install openssh-server ssh
    
    RUN echo 'root:123456' | chpasswd
    RUN passwd -u root
    RUN ssh-keygen -A
    RUN ssh-keygen -t rsa -b 4096 -C "[email protected]" -N "" -f /root/.ssh/id_rsa
    RUN cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
    RUN chmod 600 /root/.ssh/id_rsa.pub
    ADD ./ssh_config /etc/ssh/ssh_config
    ADD ./sshd_config /etc/ssh/sshd_config
    
    CMD ["/bin/sh", "-c", "{ while :; do /usr/sbin/sshd -eD ; done }"]

    docker build --name trolleybus-is-hleba .

    Вот так вот.

    wvxvw, 16 Марта 2016

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

    +6

    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
    $("#sendme").click(function(){
          $('#error').html('');
          $('.req').css('border-color','#fff');
          var name = $('#name').val();
          var phone = $('#phone').val();
          var email = $('#email').val();
          var day = $('#day').val();
          var year = $('#year').val();
          var msg = $('#message').val();
          if(name.length){
              if(phone.length){
                  if(day.length){
                      if(year.length){
                          if(isEmail(email)==true){
    
                                    //logic
    
                          }else{$('#error').html('Ошибка в адресе электронной почты!'); $('#email').css('border-color','#FF4141');}
                      }else{$('#error').html('Введите год рождения!'); $('#year').css('border-color','#FF4141');}
                  }else{$('#error').html('Введите день рождения!'); $('#day').css('border-color','#FF4141');}
              }else{$('#error').html('Введите номер телефона!'); $('#phone').css('border-color','#FF4141');}
          }else{$('#error').html('Введите свои имя и фамилию!'); $('#name').css('border-color','#FF4141');}
      });

    матрёшка!

    rollback, 16 Марта 2016

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

    +2

    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
    //#1
     $queryo = "SELECT * FROM `tx_carmodels` WHERE  1 <= ID AND ID <= (SELECT COUNT(*) FROM `tx_carmodels`) ";
     $resulto = mysql_query($queryo);
     $sqlresos = mysql_fetch_assoc($resulto);
     foreach  ($sqlresos as $sqlreso){
            $preVendor[] = $sqlreso["vendor"];
                      //  print_r($sqlreso);
     }
     $arVendor = array_unique($preVendor);
     foreach($arVendor as $vendor) {
                        echo '<option value="'.$vendor.'">'.$vendor.'</option>';
       }
    // #2
    
    $query = "SELECT count(*) FROM `tx_carmodels`";
    $result = mysql_query($query);
    $res = mysql_fetch_array($result);
    $allinfile = $res[0];
    
         for ($i = 1; $i <= $allinfile; $i++) {
               $queryo = "SELECT * FROM `tx_carmodels` WHERE id=$i";
               $resulto = mysql_query($queryo);
               $sqlreso = mysql_fetch_assoc($resulto);
               $preVendor[] = $sqlreso["vendor"];
                    //print_r($sqlreso);
         }
         $arVendor = array_unique($preVendor);
         foreach($arVendor as $vendor) {
               $vsel = ($_GET["vendor"] == $vendor)?('selected="selected"'):('');
               echo '<option value="'.$vendor.'" '.$vsel.'>'.$vendor.'</option>';
          }

    Два перла,
    даже и коментировать нечего ....

    BroadcastAddress, 16 Марта 2016

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Статическая типизация для PHP < 7.0
    
    set_error_handler(function(){});
    
    function foo(int $bar)
    {
    	var_dump($bar);
    }
    
    foo(1); // Работает и выводит int(1)

    Недавно разгребал легасикод доставшийся по наследству. Увидел статическую типизацию там где ее не должно было быть. Проект крутится на 5.3.

    KiTE, 16 Марта 2016

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

    +3

    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
    /**
         * Validate natural number (0,1,2,3,...)
         *
         * @param string $value number
         * @return string
         */
        public function natural($value)
        {
            $response = '';
            if (!preg_match('/^[0-9]+$/', $value)) {
                $response = $this->lang->get_str('system_invalid_neutral');
            }
            return $response;
        }
    
        /**
         * Validate natural number, but not a zero (1,2,3,...)
         *
         * @param string $value number
         * @return string
         */
        public function natural_no_zero($value)
        {
            $response = '';
            if (!preg_match('/^[0-9]+$/', $value)) {
                $response = $this->lang->get_str('system_invalid_neutral_no_zero');
            }
    
            if ($value == 0) {
                $response = $this->lang->get_str('system_invalid_neutral_no_zero');
            }
            return $response;
        }

    b2012993, 15 Марта 2016

    Комментарии (13)
  10. Куча / Говнокод #19635

    +4

    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
    program Project2;
    
    procedure test1;
    var
      arr:array[0..32] of char;
    begin
      fillchar(arr,sizeof(arr),'A');
    end;
    
    procedure test2;
    var
      arr:array[0..32] of char;
    begin
      fillchar(arr,sizeof(arr) div 2,'B');
      writeln(arr);
    end;
    
    begin
      test1;
      test2;
      //BBBBBBBBBBBBBBBBAAAAAAAAAAAAAAA
      readln;
    end.

    http://ideone.com/qJajnb

    fajes_rown, 15 Марта 2016

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