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

    +122

    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
    internal sealed class FontKeeper
    {
            private static readonly FontConverter s_converter = new FontConverter();
            private static readonly Regex s_font = new Regex(@"^(?<name>\w[\s\w]+);\s*(?<size>\d+)pt\s*(?:;(?<style>.*))?$", RegexOptions.IgnoreCase);
            private static readonly Regex s_style = new Regex(@"^\s*style\s*=\s*([\w\s,]+)$", RegexOptions.IgnoreCase);
            private const int defaultSize = 14;
    
            public FontKeeper(Font font) : this(s_converter.ConvertToString(font)) { }
    
            public FontKeeper(string fontString)
            {
                Match m = s_font.Match(fontString);
                if (!m.Success)
                    throw new ArgumentException("Неверный формат строки");
    
                Name = m.Groups["name"].Value.Trim();
                int sz;
                if (!int.TryParse(m.Groups["size"].Value, out sz))
                    sz = defaultSize;
                Size = sz;
    
                //Флаги стиля
                ParseStyle(m.Groups["style"].Value);
            }
    
            private void ParseStyle(string value)
            {
                Match m = s_style.Match(value);
                if (!m.Success) return;
    
                string[] styles = m.Groups[1].Value.Split(new[] { ',' });
                foreach (var style in styles)
                {
                    try
                    {
                        Style |= (FontStyle)Enum.Parse(typeof(FontStyle), style.Trim(), true);
                    }
                    catch { }
                }
            }
    
            public string Name { get; set; }
            public int Size { get; set; }
            public FontStyle Style { get; set; }
            public float FontFactor
            {
                get { return (float)Size / defaultSize; }
                set { Size = (int)(value * defaultSize); }
            }
    
            public Font CreateFont()
            {
                return new Font(Name, Size, Style);
            }
    }

    Небольшой класс для хранения и динамического изменения шрифтов

    lomomike, 10 Июня 2011

    Комментарии (7)
  2. Java / Говнокод #6912

    +87

    1. 1
    2. 2
    3. 3
    ((JButton) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(1)).setEnabled(false);
    ((JButton) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(2)).setEnabled(false);
    ((JScrollPane) ((JPanel) ((JTabbedPane) jp.getComponent(1)).getComponent(2)).getComponent(0)).getViewport().getComponent(0).setEnabled(false);

    В этом коде кнопки делаются не активными.

    Alias, 10 Июня 2011

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <html>
          <head><meta http-equiv="Content-type" content="text/html; charset=UTF-8"></head>
          <script type="text/javascript" encoding="UTF-8">
            top.location.href = 'http://rghost.ru/10160511';
          </script>
    </html>

    Вот так на ргхосте юзера перекидывают к загруженному файлу.
    ЖС отключен? Заголовок Location? Не, не знаем.

    7ion, 09 Июня 2011

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

    +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
    <?php
    
     if ($stranica == "ГЛАВНАЯ") 
    
    { 
    
    echo "<p>ГЛАВНАЯ</p>"; 
    
    } 
    
    else
    
     { 
    
    echo "<p><a href='index.php'>ГЛАВНАЯ</a></p>";
    
     } 
    
    ?>

    http://www.master-live.ru/php_links.html
    Очередной сеошник учит детей похапе.

    7ion, 09 Июня 2011

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

    +155

    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
    <script type="text/php">
    
    $color_op = Style::munge_colour( "#565656" );
    
    $font_op = Font_Metrics::get_font("arial", "normal");
    $font_op2 = Font_Metrics::get_font("arial", "bold");
    
    {literal}
    #	$pdf->text($left_op, $top_op, $text00, $font_op, 16, $color_op);
    #	$pdf->text($left_op, $top_op + 20, $text22, $font_op, 16, $color_op);
    #	$pdf->text($left_op, $top_op + 40, $text33, $font_op, 16, $color_op);	
    
    	$pdf->text($left_op, $top_op, $text00, $font_op2, 16, $color_op);
    	$pdf->text($left_op+87, $top_op, $text01, $font_op2, 16, $color_op2);
    	$pdf->text($left_op+87+15, $top_op, $text02, font_op, 16, $color_op);
    	
    {/literal}
    </script>

    Кусок из шаблона Smarty.

    _tL, 09 Июня 2011

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

    +166

    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
    //Класс для генерации кнопок перелистывания страниц
    
    class Pages {
    
        //Если пользователь на англ версии сайта и он на первой странице, генерируем кнопку "Next page"
        public function GeneratePage1En() {
            $this->NextPageHTML = "<a id=\"pg-next\" class=\"pg-next\" href=\"{$this->Se}.php?Page=2&Q={$this->Question}&D={$this->Domain}&Td={$this->Typedate}\">Next page</a>";
        }
    
        //Если пользователь на рус версии сайта и он на первой странице, генерируем кнопку "Следующая страница"
        public function GeneratePage1Ru() {
            $this->NextPageHTML = "<a id=\"pg-next\" href=\"{$this->Se}.php?Page=2&Q={$this->Question}&D={$this->Domain}&Td={$this->Typedate}\">Следущая страница</a>";
        }
    
        //Если пользователь на англ версии сайта и он на >2 странице генерируем кнопку "Next Page" и "Previous Page"
        public function GeneratePagesEn($Page) {
            $this->PrevPageHTML = "<a id=\"pg-prev\" class=\"pg-prev\" href=\"{$this->Se}.php?Page={$this->PrevPage}&Q={$this->Question}&D={$this->Domain}&Td={$this->Typedate}\">Previous page</a>";
            $this->NextPageHTML = "<a id=\"pg-next\"  class=\"pg-next\"  href=\"{$this->Se}.php?Page={$this->NextPage}&Q={$this->Question}&D={$this->Domain}&Td={$this->Typedate}\">Next page</a>";
        }
    
        //Если пользователь на рус версии сайта и он на >2 странице генерируем кнопку "Следующая страница" и "Предыдущая страница"
        public function GeneratePagesRu($Page) {
            $this->PrevPageHTML = "<a id=\"pg-prev\" class=\"pg-prev\" href=\"{$this->Se}.php?Page={$this->PrevPage}&Q={$this->Question}&D={$this->Domain}&Td={$this->Typedate}\">Предыдущая страница</a>";
            $this->NextPageHTML = "<a id=\"pg-next\"  class=\"pg-next\"  href=\"{$this->Se}.php?Page={$this->NextPage}&Q={$this->Question}&D={$this->Domain}&Td={$this->Typedate}\">Следующая страница</a>";
        }
    }

    Недавно увидел такую вот реализацию "листания" страниц в блоге.
    Применение довольно простое. Сначала идет несколько проверок (на какой пользователь странице и какая у него версия сайта - рус или англ), и уже исходя от этого, генерируются нужные кнопки (вызывается нужная функция).
    Из особенностей - максимально кривое использование возможностей ООП))

    MyNameIsWinner, 09 Июня 2011

    Комментарии (11)
  7. Java / Говнокод #6907

    +147

    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
    Query query = entityManager.createNativeQuery(
                            "select * from ("
                                    + "select g4.id as goodId, g4.name as goodName, g4.code as goodCode, "
                                    + "u4.name as uomName, sum(bgd.quantity_out) as quantityOut, "
                                    + " g4.productcode as goodProductCode, sum(bgd.quantity_return) as quantityReturn "
                                    + "from good g4 "
                                    + "inner join consignment cs1 on cs1.good_id = g4.id "
                                    + (customizationUtilSQL == null ? "" : customizationUtilSQL.buildCustomAttributesQueryInnerPart())
                                    + " inner join "
                                    + "(select gg.consignment_id, op.sourcestore_id as place_id, " +
                                    		" sum(gg.quantity) as quantity_out, sum(coalesce(srset.return_quantity, 0)) as quantity_return "
                                    + "from motion gg "
                                    + "inner join operation op " +
                                    		" on (gg.operation_id = op.id " +
                                    		" and op.company = gg.company" +
                                            (projectId == null ? "" : " and (op.project_id  = :projectId) ") +
                                            (contractId == null ? "" : " and (op.contract_id  = :contractId) ") +
                                    		") "
                                    + "inner join place pld on op.sourcestore_id = pld.id "
                            		+ " left outer join "
                    				+ " (select ds.demand_id as demand_id, srm.consignment_id as consignment_id, srm.sum as sum, " +
                    						" sum(srm.quantity) as return_quantity from demand_salesreturn ds " +
                    						" inner join operation sr on sr.id = ds.salesreturn_id " +
                    						" inner join motion srm on srm.operation_id = sr.id " +
                    						" where sr.dtype = 'SalesReturn' " +
                                            " and sr.deleted is null " +
                                            (!includeAboardOperations ? " and sr.applicable = true " : "") +
                                            " and (sr.moment between :upToDate and :toDate) " +
                                            " and " + SecurityUtil.companyFilterSQL("sr") +
                    						" group by ds.demand_id, srm.consignment_id, srm.sum) srset " +
                    						" on (srset.demand_id = op.id and srset.sum = gg.sum " +
                    						" and srset.consignment_id = gg.consignment_id) "
                                    + (agentId == null ? "" :
                                        " left outer join requisite tr on op.targetagentrequisite_id = tr.id "
                                        + " left outer join requisite sr on op.sourceagentrequisite_id = sr.id "
                                        + " left outer join agent agt on tr.agent_id = agt.id "
                                		+ " left outer join agent ags on sr.agent_id = ags.id ")
                                    + "where " + SecurityUtil.companyFilterSQL("op")
                                    + " and op.deleted is null "
                                    + (!includeAboardOperations ? " and op.applicable = true " : "")
                                    + " and (op.moment between :upToDate and :toDate) "
                                    + " and op.dtype = 'Demand' "
                                    + (agentId == null ? ""
                                        : " and ((ags.path || ags.id) like ( "
                                            + "select distinct (a21.path || a21.id || '%') from agent a21  where a21.id = :agentId) or "

    всё не влезло, вообще тут 65 строк. пожалуйста выскажите ваше мнение об этом коде. спасибо :)

    ab368, 09 Июня 2011

    Комментарии (29)
  8. ActionScript / Говнокод #6906

    −109

    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
    var q=0.15
    var w=false
    stroka.alpha=0
    knopka.addEventListener(MouseEvent.MOUSE_OVER,qwe)
    function qwe(e:MouseEvent){
    w=true
    }
    knopka.addEventListener(MouseEvent.MOUSE_OUT,qwe2)
    function qwe2(e:MouseEvent){
    w=false
    }
    stage.addEventListener(Event.ENTER_FRAME,qw)
    function qw(e:Event):void{
    if(w==true){
     stroka.alpha+=q
    }
    if(w==false){
     stroka.alpha-=q
    }
    if(stroka.alpha>=1){
     stroka.alpha=1
    }
    if(stroka.alpha<=0){
     stroka.alpha=0
    }
    }

    Поделка все-того же любителя ENTER_FRAME'а. На этот раз попытка сделать плавное появление/исчезновение объекта при наведении на него мышкой.

    KirAmp, 09 Июня 2011

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

    +105

    1. 1
    2. 2
    3. 3
    4. 4
    if ( (value[0] - 'N') == 0 || (value[0] - 'n') == 0 )
       val = 0;
    if ( (value[0] - 'Y') == 0 || (value[0] - 'y') == 0 )
       val = 1;

    нет, просто сравнить - это слишком скучно и неоригинально.

    ЗЫ от автора http://govnokod.ru/5034

    Dummy00001, 09 Июня 2011

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

    +163

    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
    elseif (intval($countryID)>0 && intval($regionID)>0){
                    $SQL = "SELECT DISTINCT ".TABLE_PREFIX."hotels".LANG_PREFIX.".stars FROM  ".TABLE_PREFIX."hotels".LANG_PREFIX.", ".TABLE_PREFIX."regions".LANG_PREFIX."
                    WHERE   ".TABLE_PREFIX."regions".LANG_PREFIX.".id=".TABLE_PREFIX."hotels".LANG_PREFIX.".region_id
                    AND ".TABLE_PREFIX."regions".LANG_PREFIX.".id =".$regionID."";                               
                    $qRS = mysql_query ($SQL) or die ("<hr size=\"1\"><b>Не удалось выполнить: </b> \"" . $SQL . "\"<br>" . mysql_error());
                    if (mysql_num_rows($qRS)) {
                            while ($row = mysql_fetch_object($qRS)) {
                                    $stars[$row->stars]++;
                            }
                    }
                    krsort($stars);
                    foreach ($stars as $key=> $value) {
                            $ret .= get_hotels($key, 100, $regionID, $countryID);        
                    }

    Washington, 09 Июня 2011

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