1. Лучший говнокод

    В номинации:
    За время:
  2. C# / Говнокод #6450

    +121

    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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    public class IterateSQL
    {
    	private int _start = 0;
    	private int _end = 0;
    	private int number = 0;
    	private string TOP_100_PERCENT = "100 percent ";
    	private string SELECT_FROM = " SELECT*FROM (";
    	private string SELECT_TOP_I = "SELECT TOP $I * FROM(";
    	private string SELECT_TOP_F = "SELECT TOP $F * FROM(";
    	private string JOINTURE = @" WHERE maTable.id NOT IN (SELECT maTable.id FROM(";
    	private string CLOSE = ") maTable)";
    	private string SELECT_COUNT = "SELECT COUNT(*) FROM ( XYZ ) maTable";
    	private string _sql;
    	private string _where;
    	private string _parameter = string.Empty;
    	private List<string> _tempParameterList = new List<string>();
    	private Dictionary<string, object> _finalParameterList = new Dictionary<string, object>();
    
    	public IterateSQL(string sql, string where, string parameter)
    	{
    		_sql = sql;
    		_where = where;
    		_parameter = parameter;
    	}
    	
    	public string TransformAndReturnSQL(int start, int end)
    	{
    		_start = start;
    		_end = end;
    		if (_parameter == null)
    			_parameter = string.Empty;
    		string[] split = Utils.Splitter(_parameter);
    		number = split.Length;
    		StringBuilder sb = new StringBuilder(" XYZ ");
    		StringBuilder st = new StringBuilder();
    
    		for (int i = 0; i < number; i++)
    		{
    			if (split[i].ToString() != string.Empty)
    				sb.Insert(0, SELECT_FROM);
    		}
    
    		for (int i = 0; i < number; i++)
    		{
    			if (split[i].ToString() != string.Empty)
    			{
    				sb.Insert(sb.Length, _where);
    				sb.Replace("@param", split[i].ToString());
    			}
    		}
    		sb.Replace("XYZ", _sql);
    		st.Append(sb.ToString());
    		sb.Insert(0, SELECT_TOP_I);
    		sb.Append(JOINTURE);
    		sb.Append(SELECT_TOP_F);
    		sb.Append(st.ToString());
    		sb.Append(CLOSE);
    		sb.Replace("$I", _start.ToString());
    		sb.Replace("$F", _end.ToString());
    
    		return sb.ToString();
    	}
    }

    Вот так надо запросы строить!

    _Ru55_, 22 Апреля 2011

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    {{if $remove_email eq "Y"}}
    <script type="text/javascript">
    	if( confirm("Are you sure you want to delete email \"{{$email|escape}}\"?") )
    		document.location.href="http://{{$host}}/email.html?action=remove_email&confirm=Y";
    </script>
    {{/if}}

    Смарти феерия продолжается. Теперь редиректы с яваскриптом

    govno, 19 Апреля 2011

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

    +139

    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
    class secure
    {
        public function clear_get($_GET)
        {
            foreach ($_GET as $inx => $var)
            {
                if (!empty($_GET[$inx]))
                {
                    $_GET[$inx] = trim($_GET[$inx]);
                    $_GET[$inx] = mysql_real_escape_string($_GET[$inx]);
                    $_GET[$inx] = htmlspecialchars($_GET[$inx]);
               
                }
                else
                    $_GET[$inx] =NULL;
            
            }
        }
    
           public function clear_post($_POST)
        {
            foreach ($_POST as $inx => $var)
            {
                if (!empty($_GET[$inx]))
                {
                    $_POST[$inx] = trim($_POST[$inx]);
                    $_POST[$inx] = mysql_real_escape_string($_POST[$inx]);
    
                }
                else
                    $_POST[$inx] =NULL;
    
            }
        }
    }

    Опытный прогер. мля

    Vasiliy, 19 Апреля 2011

    Комментарии (8)
  5. Куча / Говнокод #6351

    +146

    1. 1
    <br style="font-size: 19.5px; line-height: 28.5px;" />

    "Шоколадная" верстка

    SunnyMagadan, 14 Апреля 2011

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

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (!cpMenu->IsSelected())
    	{
    		std::vector<UINT> menus;
    		menus.push_back(_menuIndex.Value);	
    		if (!_SelectMenu(cpTarget, _instanceID.HasValue ? _instanceID.Value : -1, &menus[0], (UINT)menus.size(), SelectionType::Exclusive))
    			return CPNGObject();
    	}

    без вектора тут ну не обойтись :)

    qwertyu, 13 Апреля 2011

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

    +161

    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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    if(trim($_POST['Event_Name']) != '') {
          if(trim($_POST['StartDate']) != '') {
            if(trim($_POST['EndDate']) != '') {
              if(trim($_POST['EndDate']) != '') {
                if(trim($_POST['Community_Id']) != 0) {
                  if(trim($_POST['Event_Location']) != '') {
                    if(trim($_POST['Event_Latitude']) != '' && is_numeric($_POST['Event_Latitude'])) {
                      if(trim($_POST['Event_Longitude']) != '' && is_numeric($_POST['Event_Longitude'])) {
                        
                         ...................................................
                        // Далее много строк страшного кода с вызовами самописных методов для работы с датой. Аля:
                          $hrs = _ampmto24hrs($hrs, $ampm);
                          $StartDateTime = dateandtime2timestamp($_POST['StartDate'], $hrs, $mins);
                       .....................................................
                        // Далее формируется SQL код. Привожу интересный кусок и обращаю внимание на название полей таблицы, вида Darren_XXXXXXX. 
                        // Darren - имя заказчика
                          $sql .= "`Event_Featured` = '".(($_POST['Event_Featured'] == 'on')?'True':'False')."', ".
                            "`Submitters_Email` = '', ".
                            "`Darren_EventDisplayName` = '"._clean($_POST['Darren_EventDisplayName'])."', ".
                            "`Darren_ShortDesc` = '"._clean($_POST['Darren_ShortDesc'])."', ".
                            "`Darren_Desc` = '"._clean($_POST['Darren_Desc'])."', ".
                    ........................................................
                      // Заканчивается сие безобразие все тем же забором
                           } else  {
                            $error['error_mistake'] = true;
                          }
                        } else {
                          $error['error'] = true;
                          $error['Event_URL'] = true;
                        }
                      } else {
                        $error['error'] = true;
                        $error['Event_Longitude'] = true;
                      }
                    } else {
                      $error['error'] = true;
                      $error['Event_Latitude'] = true;
                    }
                  } else {
                    $error['error'] = true;
                    $error['Event_Location'] = true;
                  }
                } else {
                  $error['error'] = true;
                  $error['Community_Id'] = true;
                }
              } else {
                $error['error'] = true;
                $error['EndDate'] = true;
              }
            } else {
              $error['error'] = true;
              $error['EndDate'] = true;
            }
          } else {
            $error['error'] = true;
            $error['StartDate'] = true;
          }
        } else {
          $error['error'] = true;
          $error['Event_Name'] = true;
        }

    А вот визитная карточка автора этого кода: date_default_timezone_set('Asia/Calcutta'). Думаю, что этим все сказано.

    SunnyMagadan, 12 Апреля 2011

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

    −856

    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
    ALTER   PROCEDURE Estimate  @Goods_ID int ,@Workshop_ID int AS
    
    SELECT 9, null, null,  'Арматура',null, null ,  null,  null
    Union
    SELECT     8, dbo.Charges.FK_TypeCh, dbo.Charges.ID, '       '+dbo.Charges.NAME, dbo.Charge_Price.KBO,   
    	             dbo.Charges.Cost, Round(dbo.Charges.Cost*dbo.Charge_Price.KBO,1), 
    		Round( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume,1)
    FROM         dbo.Charge_Price INNER JOIN
                          dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                          dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE     (dbo.Charge_Price.FK_Workshop = 6) AND (dbo.Charge_Price.FK_Goods = @Goods_ID)
    Union
    SELECT     7, null, null,'         Всего  по арматуре', null,   null,Round( SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO) ,1)as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume),1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE     (dbo.Charge_Price.FK_Workshop = 6) AND (dbo.Charge_Price.FK_Goods = @Goods_ID)
    Union
    /*
      Ещё мурнадцать запросов с объединением
    */
    UNION
    SELECT     -3,  null, null,'         Полная себестоимость',   null, null, Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO)*1.05,1) as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume)*1.05,1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE    ( (dbo.Charge_Price.FK_Workshop = @Workshop_ID)  OR  (dbo.Charge_Price.FK_Workshop = 6)   OR
    		 (dbo.Charge_Price.FK_Workshop = 7) )AND (dbo.Charge_Price.FK_Goods = @Goods_ID) 
    UNION 
    SELECT     -4,  null, null,'         Плановые накопления',   null, null, Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO)*0.1575,1) as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume)*0,1575,1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE    ( (dbo.Charge_Price.FK_Workshop = @Workshop_ID)  OR  (dbo.Charge_Price.FK_Workshop = 6)   OR
    		 (dbo.Charge_Price.FK_Workshop = 7) )AND (dbo.Charge_Price.FK_Goods = @Goods_ID) 
    UNION
    SELECT     -5,  null, null,'         Цена оптовая',   null, null, Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO)*1.2075,1) as Сумма, 
    	Round(SUM( dbo.Charges.Cost*dbo.Charge_Price.KBO/ dbo.Goods.volume)*1,2075,1)
    FROM         dbo.Charge_Price INNER JOIN
    	      dbo.Charges ON dbo.Charge_Price.FK_Charge = dbo.Charges.ID INNER JOIN
                        dbo.Workshop ON dbo.Charge_Price.FK_Workshop = dbo.Workshop.ID INNER JOIN
    	        dbo.Goods ON dbo.Charge_Price.FK_Goods= dbo.Goods.ID	
    WHERE    ( (dbo.Charge_Price.FK_Workshop = @Workshop_ID)  OR  (dbo.Charge_Price.FK_Workshop = 6)   OR
    		 (dbo.Charge_Price.FK_Workshop = 7) )AND (dbo.Charge_Price.FK_Goods = @Goods_ID) 
    
    Order by 1 desc, 2, 3

    Формирование какой то сметы в стле 1С

    dens, 12 Апреля 2011

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

    +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
    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
    58. 58
    59. 59
    <?php 
    
    
    if ($submit == 'Поcлать') 
    { 
        
        if ($name=='' or $theme=='' or $mail=='' or $message=='' or $pr!='5') 
            $tempu = file_get_contents("php/friend/nosentfr.html"); 
       
        else  
        { 
            $message = str_replace("<","&lt",$message); 
            $message = str_replace(">","&gt",$message); 
            $message = str_replace("\n","<br>",$message); 
            $message = str_replace("\r","",$message); 
        
       
           
     
            $message = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", 
                         "<a target=_blank href=\"\\0\">\\0</a>", $message); 
            $name = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", 
                         "<a target=_blank href=\"\\0\">\\0</a>", $name); 
          
            $data = date ("d m Y") ." г."; 
            
            $body = file_get_contents("php/friend/friend.html"); 
        
            $user = $mail; 
           
            $newm = $turl; 
            //перемещение данных в собщении 
            $body = str_replace ("%name%",$name,$body); 
            $body = str_replace ("2011",$data,$body); 
            $body = str_replace ("%message%",$message,$body); 
            $body = str_replace ("%mail%",$mail,$body); 
            $body = str_replace ("%newm%",$newm,$body); 
            $body = str_replace ("%theme%",$theme,$body); 
       
            $headers = "Content-Type: text/html; charset=UTF-8\n"; 
         
            @mail ($user,$newm,$body,$headers); 
            я  
            $tempu = file_get_contents("php/friend/sentfr.html"); 
            //перемещение участков строк в файле sentmail.html 
            $tempu  = str_replace("%mail%","$mail",$tempu ); 
            $tempu  = str_replace("%name%","$name",$tempu ); 
            $tempu  = str_replace("%theme%","$theme",$tempu ); 
            $tempu  = str_replace("2011","$data",$tempu ); 
            $tempu  = str_replace("%message%","$message",$tempu ); 
        } 
    } 
    else 
    { 
        $tempu = file_get_contents ("php/friend/formfriend.html"); 
        $tempu = str_replace ("%prurl%",$_SERVER['HTTP_REFERER'],$tempu); 
    } 
    
    ?>

    Отправь страничку другу

    BlackMonolit, 11 Апреля 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for($j = 0, $k = count($cats[$i][TREE_CHILD_ID]); $j < $k; $j++){
    	$child_id = SafeDB($cats[$i][TREE_CHILD_ID][$j]['id'], 11, int);
    	$child_counters = $this->GetCountersRecursive($child_id);
    	$link = 'index.php?name='.$this->moduleName.'&'.$this->id_par_name.'='.$child_id;
    	$sub .= '<a href="'.$link.'">'.$cats[$i][TREE_CHILD_ID][$j]['title'].'</a>'.' ('.$child_counters['files'].'), ';
    }
    $childs .= substr($sub, 0, strlen($sub) - 7).'.';

    Из одной русской CMS. Вывод списка категорий через разделитель. Аффтар не знал про implode.

    Мартин, 10 Апреля 2011

    Комментарии (8)
  11. Си / Говнокод #6290

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    PIMAGE_FILE_HEADER    pfh;
    PIMAGE_SECTION_HEADER    psh;
    PIMAGE_OPTIONAL_HEADER  poh;
    PVOID aa = LoadLibrary("calc.exe");
    GetHeaders((PCHAR) aa, &pfh, &poh, &psh);
    PPEB aae=GetPEB();
    aae->ImageBaseAddress = aa;
    LPVOID entry = (LPVOID)( (DWORD)aa + poh->AddressOfEntryPoint );
    __asm {
           call dword ptr [entry]
           }

    ссыль: http://www.wasm.ru/forum/viewtopic.php?pid=427180

    ReL, 08 Апреля 2011

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