1. Си / Говнокод #5980

    +138

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    int ftp_list (int sck, int verbose) {
    	/* ... */
    	list = fopen("LIST.txt", "w");
    
    	if (list == NULL) {
    		printf("Unable to open LIST file..\n");
    		free(buffer);
    		
    		return -1;
    	}
    	/* ... */
    }

    Функция получения списка файлов в директории с FTP-сервера.
    http://sourceforge.net/projects/libftp/

    EmbargEr, 14 Марта 2011

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

    −851

    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
    select distinct bk.ID, bk.URL, bk.Date, bk.Name, bk.Description, bk.UserCreatorID from bookmarking_bookmark as bk 
    where bk.Tenant=@Tenant and bk.ID in 
    (select *  from (select b.ID  from bookmarking_bookmark as b  left join  bookmarking_bookmarktag as bt on b.ID=bt.BookmarkID left join bookmarking_tag as t  on bt.TagID=t.TagID 
    left join (select ub.BookmarkID as BookmarkID, ub.Name as UserBookmarkName,ub.Description as UserBookmarkDescription, t.Name as TagName  
    from (select * from bookmarking_userbookmark as ub where ub.UserID=@userID) as ub 
    left join bookmarking_userbookmarktag as ubt  on ub.UserBookmarkID=ubt.UserBookmarkID  
    left join bookmarking_tag as t  on ubt.TagID=t.TagID) as ub on b.ID=ub.BookmarkID 
    where  ( ( lower(b.URL) like lower(@tagNameForUrlWithoutLastSlash0) )  
    or (lower(b.Name) like lower(@tagName0) or lower(b.Name) like lower(@tagNameWithSpace0)) 
    or (lower(b.Description) like lower(@tagName0) or lower(b.Description) like lower(@tagNameWithSpace0))    
    or (lower(t.Name) like lower(@tagName0)) or (lower(t.Name)  like lower(@tagNameWithSpace0)) 
    or (lower(TagName) like lower(@tagName0)) or (lower(TagName) like lower(@tagNameWithSpace0))    
    or (lower(UserBookmarkName) like lower(@tagName0) or lower(UserBookmarkName) like lower(@tagNameWithSpace0))    
    or (lower(UserBookmarkDescription) like lower(@tagName0) or lower(UserBookmarkDescription) like lower(@tagNameWithSpace0)))  
    and b.ID in (
    select b.ID   from bookmarking_bookmark as b  left join  bookmarking_bookmarktag as bt  on b.ID=bt.BookmarkID
    left join bookmarking_tag as t    on bt.TagID=t.TagID 
    left join  (
    select ub.BookmarkID as BookmarkID, ub.Name as UserBookmarkName, ub.Description as UserBookmarkDescription, t.Name as TagName from 
    (select * from bookmarking_userbookmark as ub where ub.UserID=@userID) as ub  
    left join bookmarking_userbookmarktag as ubt on ub.UserBookmarkID=ubt.UserBookmarkID
    left join bookmarking_tag as t on ubt.TagID=t.TagID) as ub on b.ID=ub.BookmarkID
    where  (( lower(b.URL) like lower(@tagNameForUrlWithoutLastSlash1) ) or (lower(b.Name) like lower(@tagName1) or lower(b.Name) like lower(@tagNameWithSpace1)) 
    or (lower(b.Description) like lower(@tagName1) or lower(b.Description) like lower(@tagNameWithSpace1)) or (lower(t.Name) like lower(@tagName1)) 
    or (lower(t.Name)  like lower(@tagNameWithSpace1)) or (lower(TagName) like lower(@tagName1)) or (lower(TagName) like lower(@tagNameWithSpace1))  
    or (lower(UserBookmarkName) like lower(@tagName1) or lower(UserBookmarkName) like lower(@tagNameWithSpace1)) or (lower(UserBookmarkDescription)
    like lower(@tagName1) or lower(UserBookmarkDescription) like lower(@tagNameWithSpace1))) and b.ID in (
    select b.ID from bookmarking_bookmark as b left join bookmarking_bookmarktag as bt on b.ID=bt.BookmarkID left join bookmarking_tag as t on bt.TagID=t.TagID left join
    (select ub.BookmarkID as BookmarkID, ub.Name as UserBookmarkName,  ub.Description as UserBookmarkDescription, t.Name as TagName 
    from (select * from bookmarking_userbookmark as ub where ub.UserID=@userID) as ub 
    left join bookmarking_userbookmarktag as ubt on ub.UserBookmarkID=ubt.UserBookmarkID  left join bookmarking_tag as t on ubt.TagID=t.TagID) as ub on b.ID=ub.BookmarkID
    where (( lower(b.URL) like lower(@tagNameForUrlWithoutLastSlash2) ) or (lower(b.Name) like lower(@tagName2) or lower(b.Name) like lower(@tagNameWithSpace2))
    or (lower(b.Description) like lower(@tagName2) or lower(b.Description) like lower(@tagNameWithSpace2)) or (lower(t.Name) like lower(@tagName2)) or (lower(t.Name)
    like lower(@tagNameWithSpace2)) or....

    среднее время выполнения 30 секунд

    arusanov, 14 Марта 2011

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

    −864

    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
    SELECT foo.oper_id,
    	                     foo.client_id,
    			     base_clients.name,
    			     base_clients.options,
    			     base_providers.name,
    	  		     base_subproviders.name,
    			     base_clients.address_post,
    			     base_clients.balance,
    			     base_currency_types.descr,
    			     base_clients.descr,
    			     base_clients.client_type,
    			     base_clients.pdn_permission_taken,
    			     base_clients.person_use_srv_as_org,
    	             base_clients.none_client
    		      FROM   (SELECT oper_id,client_id FROM base_clients WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )   AND ( base_clients.client_id = '681843' OR base_clients.personal_id = '681843' OR base_clients.name ~ '[66][88][11][88][44][33]' OR base_clients.address_post ILIKE  '%681843%'OR base_clients.descr ILIKE '%681843%' )  UNION SELECT DISTINCT oper_id,client_id FROM telephone_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   UNION SELECT DISTINCT oper_id,client_id FROM channel_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   UNION SELECT DISTINCT oper_id,client_id FROM dry_pair_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   UNION SELECT DISTINCT oper_id,client_id FROM inet_dynamic_ip_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   
    				UNION 
    				    SELECT DISTINCT sss.oper_id, sss.client_id 
    					FROM inet_fixed_ip_services as sss
    					    left join inet_fixed_ip_group_items as itms on (sss.oper_id = itms.oper_id and sss.user_id = itms.ip_group )
    				    WHERE 
    					 (  sss.oper_id = 'TT'  OR sss.oper_id = 'SC'  OR sss.oper_id = 'TT2'  OR sss.oper_id = 'RC'  )  AND 
    					(  
    					    sss.user_id ILIKE '%681843%'  
    						OR
    					    itms.ip ILIKE '%681843%'  
    					)
    			     UNION SELECT DISTINCT oper_id,client_id FROM unix_shell_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   UNION SELECT DISTINCT oper_id,client_id FROM voip_ip_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   UNION SELECT DISTINCT oper_id,client_id FROM voip_card_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   UNION SELECT DISTINCT oper_id,client_id FROM ani_phone_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'   UNION SELECT DISTINCT oper_id,client_id FROM cable_tv_services WHERE  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  AND user_id ILIKE '%681843%'  UNION select distinct oper_id,client_id from base_client_aon_list where caller_phone = '681843' AND  (  oper_id = 'TT'  OR oper_id = 'SC'  OR oper_id = 'TT2'  OR oper_id = 'RC'  )  ) AS foo 
    		             JOIN 
    			     base_clients ON foo.oper_id=base_clients.oper_id AND 
    			                     foo.client_id=base_clients.client_id 
    			     JOIN 
    			     base_providers ON base_clients.oper_id=base_providers.oper_id 
    			     JOIN 
    			     base_currency_types ON base_clients.oper_id=base_currency_types.oper_id AND 
    			                            base_clients.currency_type=base_currency_types.currency_type
    	                     LEFT JOIN
    			     base_subproviders ON base_clients.oper_id=base_subproviders.oper_id AND
    	                                          base_clients.suboper_id=base_subproviders.suboper_id 
    	              ORDER BY to_number(base_clients.client_id,'999999999') DESC

    Это запрос на простой поиск клиента в биллинге.

    spaceoflabview, 14 Марта 2011

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

    −92

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ...
    Запрос.Текст =
    "...
    |ГДЕ
    |    ...
    |    И ТипыЦенНоменклатуры.ПроцентСкидкиНаценки <> &Нуль
    |    ...";
    Запрос.УстановитьПараметр("Нуль", 0);
    ...

    ingenuus, 14 Марта 2011

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

    +164

    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
    function AuthorizeUser()
            {
                    global $USER;
                    if ( ( $USER->IsAuthorized() && $USER->GetID() == $this->GetUserID()) || $USER->IsAdmin())
                    {
                            return true;
                    }
                    else if ($this->AuthorizeByIP())
                    {
                            return true;
                    }
                    else if (1==2)
                    {
                            return true;
                    }
                    
                    return false;
            }

    А вдруг?

    elw00d, 14 Марта 2011

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

    +123

    1. 1
    2. 2
    3. 3
    if (!(IsPostBack == true))
    
    // далее везде, см. ссылку

    Реальный индус (Thoothukudi, Tamil Nadu, India) в реальном вопросе на StackOverflow (http://stackoverflow.com/questions/5295149/) наложил натуральную кучу говна.

    abatishchev, 14 Марта 2011

    Комментарии (29)
  7. C++ / Говнокод #5974

    +167

    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
    float ArenaTeam::GetChanceAgainst(uint32 own_rating, uint32 enemy_rating)
    {
        // returns the chance to win against a team with the given rating, used in the rating adjustment calculation
        // ELO system
       // return 1.0f/(1.0f+exp(log(10.0f)*(float)((float)enemy_rating - (float)own_rating)/400.0f));
    	float a,b;
    
    	a = own_rating;
    	b = enemy_rating;
    
    		 if(a<1800 && b<1800) return 16;
    		 if(a>=1800 && a<2000 && b<2000 || b>=1800 && b<2000 && a<2000) return 15;
    		 if(a>=2200 && b>=2200) return 15;
    	if(a>b){
    		 if(a>=2000 && a<2100 && b>=2100 && b<2200) return 17;
    		 if(a>=2000 && a<=2100 && b>=2200) return 18;
    		 if(b>=2000 && b<2100 && a>=2200) return 9;
    		 if(a>=2000 && a<2100 && b>=2000 && b<2100) return 15;
    		 if(a>=2100 && a<2200 && b>=2100 && b<2200) return 15;
    		 if(a>=2100 && a<2200 && b>=2200) return 16;
    		 if(b>=2100 && b<2200 && a>=2200) return 11;
    		 if (a>=2000 && a<2100 && b >=1850) return 10;
    		 if (a>=2000 && a<2100 && b <=1850) return 5;
    		 if (a>=2100 && a<=2200 && b >=1950 && b <2000) return 9;
    		 if (a>=2100 && a<=2200 && b >=1900 && b <2000) return 7;
    		 if (a>=2100 && a<=2200 && b >=2000 && b <2100) return 11;
    		 if (a>=2100 && a<2200 && b <=1900 && b >=1750) return 4;
    		 if (a>=2100 && a<2200 && b <1750) return 3;
    		 if (a>=2200 && b >=1950 && b <=2000) return 4;
             if (a>=2200 && b <=1950 && b>=1800) return 2;
    		 if (a>=2200 && b <=1850) return 1;
    		 if(a>=1500 && a<1600 && b >=2200) return 31;
    		 if(a>=1500 && a<1600 && b>=2000 && b <2100) return 28;
    		 if(a>=1500 && a<1600 && b>=2100 && b<2200) return 29;
    		 if(a>=1500 && a<1600 && b>=2100 && b>2200) return 31;
    		 if (a>=1900 && a<2000 && b>=2000 && b<= 2075) return 18;
    		 if (a>=1900 && a<2000 && b>=2075 && b<= 2150) return 24;
    		 if (a>=1900 && a<2000 && b>=2150 && b<= 2200) return 25;
    		 if (a>=1900 && a<2000 && b>=2150 && b> 2200) return 27;
    		 if (a>=1800 && a<1900 && b>=2000 && b<= 2075) return 22;
    		 if (a>=1800 && a<1900 && b>=2075 && b<= 2150) return 27;
    		 if (a>=1800 && a<1900 && b>=2150 && b<= 2200) return 29;
    		 if (a>=1800 && a<1900 && b>=2150 && b> 2200) return 30;
    		 if (a>=1600 && a<1800 && b>=2000 && b<= 2075) return 22;
    		 if (a>=1600 && a<1800 && b>=2075 && b<= 2150) return 28;
    		 if (a>=1600 && a<1800 && b>=2150 && b<= 2200) return 29;
    		 if (a>=1600 && a<1800 && b>=2150 && b> 2200) return 30;
    		 if(a<1500 & b>=2000) return 31;
    	}else{
                     // same just b instead of a and a instead of b
    	}
        
    }

    New developer for wow server ;) Best part is the cast to floats at start imo

    kerhong, 14 Марта 2011

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    <?php
    set_time_limit(0);
    $d    = 0;
    $t    = 0;
    $link = mysql_connect('localhost', 'root', '123456'); // or die(mysql_error());
    //mysql_query('SET NAMES `cp1251`') or die(mysql_error());
    $dbr = mysql_query('SHOW DATABASES') or die(mysql_error());
    while ($dbd = mysql_fetch_assoc($dbr)) {
        if ($dbd['Database'] != 'information_schema') {
            mysql_select_db($dbd['Database'], $link); // or die(mysql_error());
            $tr  = mysql_query('SHOW  TABLES'); // or die(mysql_error());
            $sql = '';
            while ($td = mysql_fetch_assoc($tr)) {
                $sql .= '`' . $td['Tables_in_' . $dbd['Database']] . '`, ';
                ++$t;
            }
            $sql = substr($sql, 0, -2);
            mysql_query('REPAIR TABLE  ' . $sql . ''); // or die(mysql_error());
            ++$d;
        }
    }
    echo 'Востановил: ' . $d . ' баз(ы) данных, общие кол-во таблиц: ' . $t;
    mysql_close($link);

    Делает "REPAIR" всех баз данных.

    Unknown, 14 Марта 2011

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

    +165

    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 (isset($_GET['frends'])) {
      $query = "SELECT `imail` FROM `frends` WHERE imail ='" .$_SESSION['user'] . "' AND status = '1'";
      $res = mysql_query($query) or die(mysql_error());
      
      while ($row = mysql_fetch_array($res)) {
           $imail = $row['imail_frend'];
     
     
           $query2 = "SELECT * FROM `users` WHERE imail ='$imail'";
           $res2 = mysql_query($query2) or die(mysql_error());
       
          $row2 = mysql_fetch_array($res2);
           echo $row2['surname'];
     
       }
    }

    qbasic, 13 Марта 2011

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

    +160

    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
    public function get_settings($id,$name,$total,$limit)
    {    
        $config = array();
        $config['total_rows'] = $total;
        $config['per_page'] = $limit;    
        $config['first_link'] = '&laquo;Первая';
        $config['last_link'] = 'Последняя&raquo;';
        $config['next_link'] = '&raquo;';
        $config['prev_link'] = '&laquo;';
    
        switch($id)
        {
            // Если навигация для категорий
            case 'category':            
                
                $config['base_url'] = base_url().'/index/category/'.$name;      
                $config['uri_segment'] = 4;
                
                //количество "цифровых" ссылок по бокам от текущей
                $config['num_links'] = 5;             
                
                return $config;            
                break; 
                
        }
    }

    qbasic, 13 Марта 2011

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