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

    +157

    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
    if(intval($data[0])>0){
      $massart=explode(" ",$data[1]);
      if($massart[0]){
        $infoarticle=mysql_query("SELECT `Message_ID`, `ExternalData` FROM `Message114` where `Article`='".mysql_escape_string($massart[0])."';");
        if(mysql_num_rows($infoarticle)){
          while($infoarticlerow=mysql_fetch_array($infoarticle)){ 
            $arrowitem["".$massart[0]]['name']=$data[1];
            $arrowitem["".$massart[0]]['id']=$infoarticlerow['Message_ID'];
            $arrowitem["".$massart[0]]['info']=$infoarticlerow['ExternalData'];
            for ($c=5; $c < $num; $c++) {
              if(intval($data[$c])>0){
                $arrowitem["".$massart[0]]['size'][$mssize[$c]]=$data[$c];    
              }
            }   
            if(floatval($arrowitem["".$massart[0]]['price'])==0){
              $arrowitem["".$massart[0]]['price']=floatval($data[3]);
            }else{
              if(floatval($arrowitem["".$massart[0]]['price'])>floatval($data[3])){
                $arrowitem["".$massart[0]]['price']=floatval($data[3]); 
              }
            }           
          } 
        }else{
          $notnetcat[]=$data[1];  
        }
      }
    }

    От нехватки рабочих рук отдали одну правку на фриланс. Рвусь между желанием всё переписать по-человечески и со спокойной совестью отчитаться перед заказчиком либо же забить (парню заплатили, блеать!), но потом краснеть за глюки этого чудо-кода, которые, жопой чую, обязательно возникнут.

    telnet, 25 Февраля 2012

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

    +964

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication7
    {
    
        class Program
        {
            static void Main(string[] args)
            {
            op: int b, c, d, e;
                c = 0;
                e = 1;
                Console.WriteLine("a - посчитать сумму");
                Console.WriteLine("b - посчитать произведение");
                Console.Write("вариант=");
                string p = Console.ReadLine();
                if (p == "a")
                {
                ok: Console.Write("С какого числа считаем:"); d = Convert.ToInt32(Console.ReadLine());
                    if (d == 0) goto op;
                    else
                    {
                        Console.Write("Число до которого считаем:"); b = Convert.ToInt32(Console.ReadLine());
                        for (int a = d; a <= b; a++)
                        {
                            c = c + a;
                            Console.WriteLine(c);
                        }
                        Console.WriteLine("Сумма цифр от " + d + " до " + b + " = " + c);
                        Console.ReadLine();
                        goto ok;
                    }
                }
                if (p == "b")
                {
                ol: Console.Write("С какого числа считаем:"); d = Convert.ToInt32(Console.ReadLine());
                    if (d == 0) goto op;
                    else
                    {
                        Console.Write("Число до которого считаем:"); b = Convert.ToInt32(Console.ReadLine());
                        for (int a = d; a <= b; a++)
                        {
                            e = e * a;
                            Console.WriteLine(e);
                        }
                        Console.WriteLine("Произведение чисел от " + d + " до " + b + " = " + e);
                        Console.ReadLine();
                        goto ol;
                    }
                }
                else goto op;
            }
        }
    }

    Нашёл на одном форуме

    high-five, 25 Февраля 2012

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

    +157

    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
    <?php
    function getRusMonth($month)
    {
      if($month > 12 || $month < 1) return FALSE;
      $aMonth = array('январь',
    		  'февраль',
    		  'март',
    		  'апрель',
    		  'май',
    		  'июнь',
    		  'июль',
    		  'август',
    		  'сентябрь',
    		  'октябрь',
    		  'ноябрь',
    		  'декабрь');
      return $aMonth[$month - 1];
    }
    
    function gen_months_list()
    {
    	global $monthnum;
    	$year = date("Y");
    	
    	for($month = 1; $month <= 12; $month++)
    	{
    		if($month <= 9)
    		{
    			if("0".$month == $monthnum) $mn_active = " class=\"active\"";
    			$month_list .= "<li><a href=\"/".$year."/0".$month."/\"".$mn_active.">".getRusMonth($month)."</a></li>\n";
    		}
    		else
    		{
    			if($month == $monthnum) $mn_active = " class=\"active\"";
    			$month_list .= "<li><a href=\"/".$year."/".$month."/\"".$mn_active.">".getRusMonth($month)."</a></li>\n";
    		}
    		$mn_active = "";
    	}
    	
    	return $month_list;
    }
    ?>

    V 2.0

    varg242, 25 Февраля 2012

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

    +158

    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
    <?php
    $year = date("Y");
    
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Январь</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Февраль</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Март</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Апрель</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Май</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Июнь</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Июль</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Август</a></li>
    <li><a href="/<?=$year.'/0'.(++$month);?>/">Сентябрь</a></li>
    <li><a href="/<?=$year.'/'.(++$month);?>/">Октябрь</a></li>
    <li><a href="/<?=$year.'/'.(++$month);?>/">Ноябрь</a></li>
    <li><a href="/<?=$year.'/'.(++$month);?>/">Декабрь</a></li>
    
    ?>

    Искренне ваш,

    varg242, 25 Февраля 2012

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

    −137

    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
    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    	
    	Если ЭтоНовый() Тогда
    		Запрос = Новый Запрос;
    		Запрос.УстановитьПараметр("Период", НачалоГода(ТекущаяДата()));
    		Запрос.Текст = "ВЫБРАТЬ
    		|	Максимум(ПлатежноеПоручение.Номер) КАК Номер
    		|ИЗ
    		|	Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
    		|ГДЕ
    		|	ПлатежноеПоручение.Дата >= &Период";
    		Выборка = Запрос.Выполнить().Выбрать();
    		НомерМакс = 0;
    		Пока Выборка.Следующий() Цикл
    			Если НомерМакс < Число(Выборка.Номер) Тогда
    				НомерМакс = Число(Выборка.Номер);
    				Если СтрДлина(НомерМакс) = 1 И НомерМакс<9 Тогда
    					НомерДок ="0000000000" + Строка(Число(Число(Выборка.Номер) + 1));
    				ИначеЕсли (СтрДлина(НомерМакс) = 2 И НомерМакс<>99) Или НомерМакс=9 Тогда
    					НомерДок ="000000000" + Строка(Число(Число(Выборка.Номер) + 1));
    				ИначеЕсли (СтрДлина(НомерМакс) = 3 И НомерМакс<>999) Или НомерМакс<>99 Тогда
    					НомерДок ="00000000" + Строка(Число(Число(Выборка.Номер) + 1));
    				ИначеЕсли (СтрДлина(НомерМакс) = 4 И НомерМакс<>9999) Или НомерМакс<>999 Тогда
    					НомерДок ="0000000" + Строка(Число(Число(Выборка.Номер) + 1));
    				ИначеЕсли (СтрДлина(НомерМакс) = 5 И НомерМакс<>99999) Или НомерМакс<>9999 Тогда
    					НомерДок ="000000" + Строка(Число(Число(Выборка.Номер) + 1));
    				ИначеЕсли (СтрДлина(НомерМакс) = 6 И НомерМакс<>999999) Или НомерМакс<>99999 Тогда
    					НомерДок ="00000" + Строка(Число(Число(Выборка.Номер) + 1));
    				КонецЕсли;
    			КонецЕсли;
    		КонецЦикла;
    		ЭтотОбъект.Номер = НомерДок;
    	КонецЕсли;
    	
    КонецПроцедуры

    Мое творение, писАл на полном серьезе. В одном из документов БП пользователь отредактировал вручную номер документа, после этого сбилась нумерации. Документы с "неправильными" номерами удалили и добавили вновь - было поздно. Типового решения проблемы не нашлось и был написан этот код.
    Можно увидеть очень интересное: нахождение максимального значения в запросе и одновременный бесполезный прогон всего цикла, чтобы снова найти максимальное значение и много чего другого.

    ErrorEd88, 24 Февраля 2012

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

    +159

    1. 1
    2. 2
    define('ASC', 'ASC');
    define('DESC', 'DESC');

    *facepalm*

    codename, 24 Февраля 2012

    Комментарии (8)
  7. SQL / Говнокод #9536

    −123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    SELECT keywords_ru AS keywords, title_ru AS title, description_ru AS description
    FROM alo_seo
    WHERE
    	( 1 AND city_id="348" AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="peryferija" LIMIT 1) ) OR
    	( 1 AND city_id="348" AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="komp-yuterna-tehnika" LIMIT 1) ) OR
    	( 1 AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="peryferija" LIMIT 1) ) OR
    	( 1 AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="komp-yuterna-tehnika" LIMIT 1) )
    LIMIT 1;

    andnix, 24 Февраля 2012

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

    +158

    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
    $PROPERTY_VALUE = array(
                    "payment_1_term" => $_POST["payment_1_term"], "payment_1_sum" => $_POST["payment_1_sum"],
                    "payment_2_term" => $_POST["payment_2_term"], "payment_2_sum" => $_POST["payment_2_sum"],
                    "payment_3_term" => $_POST["payment_3_term"], "payment_3_sum" => $_POST["payment_3_sum"],
                    "payment_4_term" => $_POST["payment_4_term"], "payment_4_sum" => $_POST["payment_4_sum"],
                    "payment_5_term" => $_POST["payment_5_term"], "payment_5_sum" => $_POST["payment_5_sum"],
                    "payment_6_term" => $_POST["payment_6_term"], "payment_6_sum" => $_POST["payment_6_sum"],
                    "payment_7_term" => $_POST["payment_7_term"], "payment_7_sum" => $_POST["payment_7_sum"],
                    "payment_8_term" => $_POST["payment_8_term"], "payment_8_sum" => $_POST["payment_8_sum"],
                    "payment_9_term" => $_POST["payment_9_term"], "payment_9_sum" => $_POST["payment_9_sum"],
                    "payment_10_term" => $_POST["payment_10_term"], "payment_10_sum" => $_POST["payment_10_sum"],
                    "payment_11_term" => $_POST["payment_11_term"], "payment_11_sum" => $_POST["payment_11_sum"],
                    "payment_12_term" => $_POST["payment_12_term"], "payment_12_sum" => $_POST["payment_12_sum"],
                    "payment_13_term" => $_POST["payment_13_term"], "payment_13_sum" => $_POST["payment_13_sum"],
                    "payment_14_term" => $_POST["payment_14_term"], "payment_14_sum" => $_POST["payment_14_sum"],
                    "payment_15_term" => $_POST["payment_15_term"], "payment_15_sum" => $_POST["payment_15_sum"],
                    "cost" => $_POST["cost"]
            );

    шлакоблок кода

    SuperChel, 24 Февраля 2012

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ...
    </tr>
    </tbody>
    <?  if($color == "#ffffff") 
              $color = "#ffffff"; 
          else 
              $color = "#ffffff";  
    ?>
    </table>

    Гений блин... Правда так и не понятно что хотелось этим сказать...

    vahminator, 24 Февраля 2012

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

    −151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Процедура ВводНаОсновании(ДокОснование) 
        // .....
        ДатаДок=РабочаяДата();
       // .....
    КонецПроцедуры

    Типовая торговля для Украины.
    Зачем то явно указывается рабочая дата. Причём ровно один раз.

    Xbrut, 24 Февраля 2012

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