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

    +162.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
    24. 24
    25. 25
    26. 26
    while( $db->next_record() ) {
    				$parent_id = $db->f( "product_parent_id" ) ;
    				if( ($db->f( "product_id" ) != $curr_product) && @$child_id ) {
    					continue ;
    				}
    				// Start row for this child
    				$q = "SELECT product_id, attribute_name FROM #__{vm}_product_attribute_sku " ;
    				$q .= "WHERE product_id='" . $db->f( "product_parent_id" ) . "' ORDER BY attribute_list ASC" ;
    				$db_sku->query( $q ) ;
    				$attrib_value = array( ) ;
    				
    				while( $db_sku->next_record() ) {
    					$q = "SELECT attribute_name,attribute_value " ;
    					$q .= "FROM #__{vm}_product_attribute WHERE " ;
    					$q .= "product_id='" . $db->f( "product_id" ) . "' AND " ;
    					$q .= "attribute_name='" . $db_sku->f( "attribute_name" ) . "'" ;
    					$db_item->setQuery( $q ) ;
    					$db_item->query() ;
    					while( $db_item->next_record() ) {
    						if( $ci == 0 ) {
    							$attrib_heading[] = $db_item->f( "attribute_name" ) ;
    							$tpl->set( 'headings', $attrib_heading ) ;
    						}
    						$attrib_value[] = $db_item->f( "attribute_value" ) ;
    					}
    				}

    Не знаю выкладывал ли кто, но захотелось покрыть все матом :(((

    Джумла + вирт. март.
    Выше этого лежит ещё два цикла. С помощью данного участка кода и выше, который я опустил ибо в него долго въезжать, т.к. слишком много букофф - разгоняет нагрузку на бд до 800 запрос ради вывода десяти товаров.

    matrix, 27 Марта 2010

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

    +160.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
    function createCategory(){
    	global $_POST,$_SESSION;
    	$result = mysql_query(sprintf("INSERT INTO `categories` (`id` ,`name` ,`description`)
    									VALUES (NULL , %s, %s);",
    	$this->prepare($_POST['name']), $this->prepare($_POST['description'])));
    	
    	return $result?true:false;
    }
    function prepare($data,$type = 'other'){
    		if($type == 'other'){
    		if(is_numeric($data) or is_float($data)){
    			return "'".$data."'";
    		}else if(is_string($data)){
    			return "'".mysql_real_escape_string($data)."'";
    		}
    		}else if($type == 'pswd'){
    			return "'".sha1($data.SECRET_WORD)."'";
    		}
    	}

    Насколько это защищено от sql injection?

    DanxilLs, 26 Марта 2010

    Комментарии (17)
  3. Pascal / Говнокод #2873

    +97.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
    if (aDebtor.Banknummer = '') then
        begin
            s := s + ',""'; {Banknummer}
        end
        else
        begin
            s := s + ',"'+TrimRight(Format('%-.10s',[aDebtor.Banknummer]))+'"'; {Banknummer}
        end;
        if (aDebtor.Gironummer = '') then
        begin
            s := s + ',""'; {postbankrekening}
        end
        else
        begin
            s := s + ',"'+TrimRight(Format('%-.10s',[aDebtor.Gironummer]))+'"'; {postbankrekening}
        end;

    Гениально... А можно мне такой же травы как у этих голландцев?

    И такое повторяется еще много раз.

    Drone, 26 Марта 2010

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

    +158.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
    33. 33
    $query = "SELECT * FROM `HTML_ocHoBa`";
    $res = mysql_query($query);
    while($row = mysql_fetch_array($res)){
     $HTML_ocHoBa_MetaAuthor = $row['Meta_Author'];
     $HTML_ocHoBa_MetaKeywords = $row['Meta_Keywords'];
     $HTML_ocHoBa_Title = $row['Title'];
     $HTML_ocHoBa_CSSurl = $row['CSS_url'];
     $HTML_ocHoBa_CSS = $row['CSS'];
     $HTML_ocHoBa_ScriptUrl = $row['Script_url'];
     $HTML_ocHoBa_Script = $row['Script'];
    }
    echo <<<HD
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
    <HTML>
     <Head>  
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="author" content="$HTML_ocHoBa_MetaAuthor">
      <meta name="keywords" content="$HTML_ocHoBa_MetaKeywords">
      <title>$HTML_ocHoBa_Title</title>
      <link rel="stylesheet" type="text/css" href="$HTML_ocHoBa_CSSurl">
      <style type="text/css"><!--
    $HTML_ocHoBa_CSS
      --></style>
      <script type="text/javascript" language="javascript" src="$HTML_ocHoBa_ScriptUrl"></script>
      <script type="text/javascript" language="javascript"><!--
    $HTML_ocHoBa_Script
      --></script>
      </Head>
     <Body><Table class="tbl_0"><tr><td>
    $HTML_ocHoBa_cogepwaHue
     </td></tr></Table></Body>
    </HTML>
    HD;

    Отседова)))
    http://forum.vingrad.ru/forum/topic-294895/kw-%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D0%B5.htm l

    DanxilLs, 26 Марта 2010

    Комментарии (3)
  5. SQL / Говнокод #2871

    −157.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
    Select @clientMoney_DayEnd = coalesce([Money], 0.0)
    FROM dbo.AccountOperation 
    where 
    	OperationDateTime = (
    		select max(OperationDateTime) 
    		from dbo.AccountOperation 
    		where 
    			cast(year(OperationDateTime) as varchar(4)) + 
    				right('0' + cast(month(OperationDateTime) as varchar(2)), 2) + 
    				right('0' + cast(day(OperationDateTime) as varchar(2)), 2) <= 
    			(
    				select cast(datepart(year, max(QuoteDateTime)) as varchar(4)) +
    						right('0' + cast(datepart(month, max(QuoteDateTime)) as varchar(2)), 2) +
    						right('0' + cast(datepart(day, max(QuoteDateTime)) as varchar(2)), 2) + ' 23:59'
    				from CloseQuote
    				where
    					QuoteDateTime < dateadd(day, 1, @currDate)			
    			) and 
    			[Money] is not null and 
    			ClientID = @clientID
    	)  and 
    	[Money] is not null and 
    	ClientID = @clientID
    	order by ID desc

    Разбить datetime на год, месяц, день. Отдельно каждое начение привести к чару, собрать из них строку даты... Ну и посравнивать ее с такой же шедеврашьной строкой...
    А да... и все это в мега-курсоре для каждой даты...
    Другой вариант для данной задачи, хотябы cast(OperationDateTime as date) cast(QuoteDateTime as date), неприемлем категорически:):):):):)::)

    38popugaev, 26 Марта 2010

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

    +76.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void isChangenabledExc(){
            if(isNew){
                return;
            }
            if(true)return;//TODO
            if(!isChangenabled()){
                throw new ChangeEIsNotLockedException();
            }
        }

    В этой функции находится единственный коментарий из всего файла.
    Видимо в планах эта функция должна была делать нечто хорошее, но
    планы так и не были осуществелны.
    В результате получилась функция, которая ничего не делает, а только проверяет какие то условия.
    поиском обнаружил 5 вызовов этой функции.

    maxt, 26 Марта 2010

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

    +163.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
    if($id>542)
           {        
             echo '<img Name="altimg" src="'.$foto.'" border=0>';
           }
           else
           {
           	 $size = getimagesize ($foto);
            if($size['0']>=500 ? $w=500:$w=$size['0']);
            if($size['1']>=500 ? $h=500:$h=$size['1']);
            
            echo '<img Name="altimg" src="'.$foto.'" width="'.$w.'" height="'.$h.'" border=0>';
           }

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

    GoodTalkBot, 26 Марта 2010

    Комментарии (23)
  8. C# / Говнокод #2868

    +968.4

    1. 1
    2. 2
    3. 3
    string IsAgency = agency.Checked ? "1" : "0";
    //Некоторое время спустя
    byte bIsAgency = Byte.Parse(IsAgency);

    synapse, 25 Марта 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $user_query .= " AND O.ID IN (";
    for ($i=0;$i<count($orgs_id_array)-1;$i++){
    	$user_query .= $orgs_id_array[$i];
    	if($i < count($orgs_id_array) - 2)
    		$user_query .= ",";
    }
    $user_query .= ")";

    Остается загадкой, почему нельзя было сделать:
    $query_user .= " AND O.ID IN (" . implode(",", $orgs_id_array) . ")";

    AAS, 25 Марта 2010

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

    +87.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
    else {
                                                 if(codeName == SummaryConstants.TYPE_COST) {
                                                    return new Cost(rtOBJ);
                                                 }
                                                 else {
                                                    if(codeName == SummaryConstants.TYPE_EQUIPMENT) {
                                                       return new Equipment(rtOBJ);
                                                    }
                                                 }
                                              }
                                           }
                                        }
                                     }
                                  }
                               }
                            }
                         }
                      }
                   }
                }
             }

    не стал утомлять еще и километром вложенных if ов..
    а говнокод в том, что здесь можно было использовать switch

    maxt, 25 Марта 2010

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