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

    −160

    1. 1
    Номенклатура

    Слово гадкое, не то что программа.

    alexoy, 27 Сентября 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    public function &entityFactory() {
        $entityObject = new stdClass();
        return $entityObject;
    }

    shmaltorhbooks, 27 Сентября 2011

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

    +126

    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
    public static bool GetSafeBool(object val, bool defaultVal)
            {
                //TODO: check functionality
                bool result = defaultVal;
                try
                {
                    if (val != null)
                    {
                        string str = val.ToString().Trim();
                        // compare ignore case, for performance
                        result = (0 == string.Compare(str, true.ToString(), true) || str == "1" || str == "-1");
                    }
                }
                catch { }
                return result;
            }

    Продолжая тему расовых индусов...

    fade, 27 Сентября 2011

    Комментарии (41)
  4. 1C / Говнокод #7995

    −140

    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
    Процедура Кнопка1Нажатие(Элемент)
    	// Вставить содержимое обработчика.
    	//орг=элементыформы.организация.Значение;
    
    запрос1=новый запрос;
    запрос1.текст=""выбрать * из регистрсведений.регионыорганизаций где  регион=&регион"";
    запрос1.УстановитьПараметр(""регион"",регион);
    выборка=запрос1.Выполнить().Выбрать();
    запрос2=новый запрос;
    пока выборка.Следующий()цикл
    	орг=выборка.организация;
    	//Сообщить(выборка.Количество()); 
    	запрос2.Текст=""выбрать * из регистрсведений.сведенияосотруднике где организация=&орг и ""+
    ""должность=&должн"";
    
    запрос2.УстановитьПараметр(""орг"", орг);
    запрос2.УстановитьПараметр(""должн"",должность);
    выборка2=запрос2.Выполнить().Выбрать();
     если выборка2.Количество()>2 тогда
    сообщить(строка(орг )+"" - ""+строка(выборка2.количество()));
    конецесли;
    конеццикла
    
    КонецПроцедуры

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

    Авторское решение приведено в первозданном виде.

    glavdir, 27 Сентября 2011

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

    +169

    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
    /*
    =====================================================
     Данный код защищен авторскими правами
    =====================================================
     Файл: index.php
     -----------------------------------------------------
     Версия: 1
    -----------------------------------------------------
     Назначение: минимальные необходимые настройки
    =====================================================
    */
    
    if(!defined('SIGELENGINE')){die();}
    
    #[cache configuration flag]
    
    final class _config
    {
             private         $config         = array();
    
             function __construct()
             {
                     $this->set();
             }
    
             private function set()
             {
                     $this->config['db']['use_buffer']                       = 0;
                     $this->config['db']['show_errors']                      = 1;
                     $this->config['db']['host']                                     = "...";
                     $this->config['db']['port']                                     = "...";
                     $this->config['db']['name']                                     = "...";
                     $this->config['db']['user']                                     = "...";
                     $this->config['db']['pass']                                     = "...";
    
                     $this->config['mail']['mailbox']                        = array("...", "...", "...");
    
                     $this->config['defaults']['mod']                        = "controller";
                     $this->config['defaults']['skin']                       = "index";
                     $this->config['defaults']['debug']                      = 0;
    
                     #[dynamic configuration]
             }
    
             function get()
             {
                     return $this->config;
             }
    }

    com1, 27 Сентября 2011

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

    +73

    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
    final QOrder qSub = new QOrder("qSub");
    final Predicate[] filters = getFilters(qSub, null, null);
    		
    if (filters.length > 0) {
    	// conditions.add(Arrays.asList(filters));   // Do not do this. 
    		
    	// The subquery is here so that MySQL doesn't use the wrong index for
    	// ORDER BY... LIMIT if we directly add the filter by custid/custdept
    	// to the list of filters, which will make the search very slow.
    	// Well, perhaps an ugly workaround, and we might want to adjust
    	// the custid/custdept index in the future... somehow.
    	conditions.add(q.id.in(QueryDsl.subFrom(qSub).where(filters).list(qSub.id)));
    }

    Обход косяков конкретной СУБД на уровне ORM. Абстракция, что и говорить.

    lucidfox, 27 Сентября 2011

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // если пользователь зашел на www.site.ru,
      // удаляем его куки и перенаправляем с www.site.ru на site.ru
      // (чтобы куку всегда ставить только на домене третьего уровня)
      if (stristr($_SERVER["HTTP_HOST"], 'www.site.ru')) {
        setcookie("cookie1", "", time() - 3600);
        setcookie("cookie1", "", time() - 3600);
        header("Location: http://site.ru/" . $query_string);
        die();
      }

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

    Nemoden, 27 Сентября 2011

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

    +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
    <?
    $thePrice = $iblockelem[ "PROPERTIES" ][ "PRICE" ][ "VALUE" ];
    $thePrice_s = '';
    if(strlen(trim($thePrice))>3)
    {
    	$priceArray = str_split($thePrice);
    	$priceArray = array_reverse($priceArray);
    	for($i = 1; $i <= count($priceArray); $i++)
    	{
    		$thePrice_s.=$priceArray[$i-1];
    		if(($i%3)==0)
    			$thePrice_s.=' ';
    	}
    	$thePrice = str_split($thePrice_s);
    }
    echo rtrim(ltrim(implode(array_reverse($thePrice))))
    
    ?>

    <?=number_format($thePrice,0,"."," ")?>

    fon-neiman, 27 Сентября 2011

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

    +159

    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
    // ==UserScript==
    // @name	govnokod.ru new comments mark
    // @namespace	('__'X)
    // @description	govnokod.ru new comments mark for Ctrl+F
    // @include	http://*.govnokod.ru/*
    // @include	http://govnokod.ru/*
    // ==/UserScript==
    
    function addNewMark()
    {
    var	i, d = document.getElementsByTagName('div');
    	for (i in d) if (d[i].className == 'entry-comment-wrapper new')
    	{
    		d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML += 'new';
    	}
    }
    
    if (location.hostname.match(/govnokod\.ru$/))
    {
    	if (document.addEventListener)
    	{
    		document.addEventListener('DOMContentLoaded', addNewMark(), false);
    	} else {
    		window.addEventListener('load', addNewMark(), false);
    	}
    }
    //* OR
    //* 1) Copypaste into browser @field: javascript:var i,d=document.getElementsByTagName('div');for(i in d)if(d[i].className=='entry-comment-wrapper new')d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML+='new';void(0);
    //* 2) Ctrl+F for '#new'

    Накидал только что. Помечает новые посты меткой "#new", можно контролэфить.
    Работает только для страниц отдельных ГК, в том числе из мусорки.
    Треды до полсотни комментов можно и так оглядеть, если больше - открываю отдельно.
    Но всё равно стоит добавить фичу на стороне сервера.

    ej, 26 Сентября 2011

    Комментарии (27)
  10. Ruby / Говнокод #7989

    −107

    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
    while 2 > 1 do
    			@command = io.gets();
    			case @command 
    				when 'version' 
    					puts('0.01 Alpha for developers SUPIRPUPIRSIKRIT');
    				when 'register, #{@arg}'
    					@name = @arg;
    					@name = User.new;
    					@name.register;
    					@name = '';
    					@arg ='';
    				when 'login, arg '
    					@user = @arg;
    					@user.login;
    					@user = '';
    				when 'quit'
    					server.shutdown;
    				else
    					puts(@command);
    			end 
    		end

    Извиняюсь за мультипост.
    P.S.: как здесь удалять посты?

    urm, 26 Сентября 2011

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