1. C# / Говнокод #11946

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var actions = new List<Action>();
    foreach (var i in Enumerable.Range(1, 3))
    {
        actions.Add(() => Console.WriteLine(i));
    }
    
    foreach (var action in actions)
    {
        action();
    }

    Внезапно:
    http://ideone.com/RaiHr
    http://ideone.com/EMQBA

    LispGovno, 17 Октября 2012

    Комментарии (12)
  2. Куча / Говнокод #11944

    +129

    1. 1
    arr <- return $ map (2*) lst

    Я тут читал раздел на одном форуме по решению задач для школьников и наткнулся на такое говно.
    - let?
    - Не, не слышал.
    Подозреваю, что автор не понял, что let нужно писать без in в монадах, чтобы скомпилировалось.

    HaskellGovno, 17 Октября 2012

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

    +27

    1. 1
    cout<<!0&&0;

    Что вернет?
    1) 1||0&&0
    2) !0&&0
    3) Приоритет оператора "!" ?
    http://ideone.com/hHdZ1
    http://ideone.com/s8Cj0


    Сории за толстейший троллинг.

    LispGovno, 17 Октября 2012

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

    +33

    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
    std::function<int()> gl()
    {
       int a=0;
       return [=]()mutable{return a++;};
    }
    
    int main() 
    {
       auto a=gl();
       cout 
          <<a()
          <<endl
          <<a()
          <<endl
          <<a()
          <<endl
          <<a();
       return 0;
    }

    http://liveworkspace.org/code/22012a32e91743cd7357c86930df4b9c

    Не совсем гавно, но порядок выполнения операторов вывода C++ для меня оказался неожиданным и не интуитивным.

    LispGovno, 17 Октября 2012

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var x = new { Items = new List<int> { 1, 2, 3 }.GetEnumerator() };
    while (x.Items.MoveNext())
    {
        Console.WriteLine(x.Items.Current);
    }

    http://ideone.com/Qzdki

    LispGovno, 16 Октября 2012

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

    +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
    function ValidatePhone(strphone)
    {
        for(j=0;j<strphone.length;j++)
        {
        var cut;
        cut=strphone.charAt(  j )
        if(cut!=0&&cut!=1&&cut!=2&&cut!=3&&cut!=4&&cut!=5&&cut!=6&&cut!=7&&cut!=8&&cut!=9&&cut!="("&&cut!=")"&&cut!=".")
          return false;
     
        } 
        return true;
    }

    классика

    bytes, 16 Октября 2012

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

    +47

    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
    if($choice_product == 39.90)
            {    
              include('monthly_recurring/subscription_create.php');
            }
      if($choose_shipping == '0.00')
    
       {
    
          $choose_shipping_recur = 9.99;
    
       }
    
         
    
       if($choose_shipping == 'Canada')
    
       {
    
          $choose_shipping_recur = 0;
    
       }
    
       
    
       if($choose_shipping == '25.00')
    
       {
    
          $choose_shipping_recur = 25;
    
       }
    
       
    
       if($choose_shipping == '55.00')
    
       {
    
          $choose_shipping_recur = 55;
    
       }

    bytes, 16 Октября 2012

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

    +50

    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
    $submit = $_REQUEST['submit'];
    if(isset($submit))
    {
    
    	$first_name = $_REQUEST['first_name'];
    	$last_name = $_REQUEST['last_name'];	
    	$address = $_REQUEST['address'];
    	$city = $_REQUEST['city'];
    	$country = $_REQUEST['country'];
    	$state = $_REQUEST['state'];
    	$zipcode = $_REQUEST['zipcode'];
    	$phone = $_REQUEST['phone'];
    	$email = $_REQUEST['email'];
    		
    	$_SESSION['first_name'] = $first_name;
    	$_SESSION['last_name'] = $last_name;
    	$_SESSION['address'] = $address;
    	$_SESSION['city'] = $city;
    	$_SESSION['country'] = $country;
    	$_SESSION['state'] = $state;
    	$_SESSION['zipcode'] = $zipcode;
    	$_SESSION['phone'] = $phone;
    	$_SESSION['email'] = $email;
    	
    	
    	?>
    	  <meta http-equiv="refresh" content="0;url=https://www.site.com/development1/billing_info.php"/>
    	<?
    	  exit();

    оригинальная обработка сабмита формы и редиректа

    bytes, 16 Октября 2012

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

    +46

    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
    function send_attach(
     $to, //!< Email получателя
     $from, //!< Email отправителя
     $task, //!< Тема письма
     $text //!< Текст письма
     ) {
     
     $boundary = "--".md5(uniqid(time())); // генерируем разделитель
     $subject= $task." [".stripslashes($_SERVER['HTTP_HOST'])."]";
     $subject ='=?windows-1251?B?'.base64_encode($subject).'?=';
     $headers = "To: ".$to."\r\n";
     $headers="From: =?windows-1251?B?".base64_encode(stripslashes($_SERVER['HTTP_HOST']))."?= <".$from.">\r\n";
     $headers .= "MIME-Version: 1.0\n";
     $headers .= "Content-Type: multipart/mixed; boundary=\""
     .$boundary."\"\r\n";
     $headers .= "--".$boundary."\r\n";
     $headers .= "Content-type: text/html; charset=windows-1251 \r\n";
     $headers.="Subject: ".$subject."\r\n";
     $headers.="X-Mailer: PHP/".phpversion()."\r\n";
     $headers .= "Content-Transfer-Encoding: Quot-Printed\r\n\r\n";
     $headers .= '<html><head><title>Заявка с сайта</title></head>';
     $headers .= '<body>'.$text.'</body></html>';
     //.'<img src=\'24.jpg\' alt="img">
     $message_part = "";
     
     if(
     isset($_FILES['f_file']['tmp_name']) and
     is_array($_FILES['f_file']['tmp_name'])
     ) {
     foreach($_FILES['f_file']['name'] as $k => $v) {
     if (trim($v) != '') {
     
     $fname = $_FILES['f_file']['tmp_name'][$k];
     $fp = fopen($fname,"r");
     $file = fread($fp, $_FILES['f_file']['size'][$k]);
     fclose($fp);
     
     $message_part .= "--$boundary\r\n";
     $message_part .= "Content-Type: application/octet-stream\r\n";
     $message_part .= "Content-Transfer-Encoding: base64\r\n";
     $message_part .= "Content-Disposition: attachment; filename = \""
     .$_FILES['f_file']['name'][$k]."\"\r\n\r\n";
     $message_part .= chunk_split(base64_encode($file))."\r\n";
     
     }
     }
     }
     $message_part .= "--".$boundary."--\n";
     
     
     return mail($to, $subject, $message_part, $headers);
    
     }

    Функция отправки письма с сайта. Технически - вроде работает. А так, вполне себе "обфускация" получилась.

    Lblss, 16 Октября 2012

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

    +46

    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
    // БреДскрамс и выделение текущих категорий
    
    		if($level==1){	
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $parent_id);
    			$data_1ur = $query->getFirstRecord();
    			$this->template->assign('data_1ur', $data_1ur);
    		}
    		if($level==2){
    			// первым делом досается сама категория
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $parent_id);
    			$data_2ur = $query->getFirstRecord();
    			$this->template->assign('data_2ur', $data_2ur);
    			
    			// ее родители
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $data_2ur['parent_id']);
    			$data_1ur = $query->getFirstRecord();
    			$this->template->assign('data_1ur', $data_1ur);
    		}
    		if($level==3){
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $parent_id);
    			$data_3ur = $query->getFirstRecord();
    			$this->template->assign('data_3ur', $data_3ur);
    			
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $data_3ur['parent_id']);
    			$data_2ur = $query->getFirstRecord();
    			$this->template->assign('data_2ur', $data_2ur);
    			
    			$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
    			$query->setInteger('parent_id', $data_2ur['parent_id']);
    			$data_1ur = $query->getFirstRecord();
    			$this->template->assign('data_1ur', $data_1ur);
    		}

    да, да, да...

    nkarakin, 16 Октября 2012

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