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

    +116

    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
    private string makeUrlAbsolute(string url)
            {
                isWebPartPropertiesError = false;
                try
                {
                    if (!string.IsNullOrEmpty(url))
                    {
                        bool shouldCheckForRootWeb = false;
    
                        if (!url.StartsWith("http://"))
                        {
                            if (url.StartsWith("//")) throw new Exception("Неправильная ссылка");
                            if (!url.StartsWith("/")) url = url.Insert(0, "/");
                            url = url.Insert(0, SPContext.Current.Site.Url);
                            shouldCheckForRootWeb = true;
                        }
                        using (SPSite site = new SPSite(url))
                        {
                            using (SPWeb web = site.OpenWeb())
                            {
                                if (!url.Contains(web.Url)) isWebPartPropertiesError = true;
                                if (shouldCheckForRootWeb && site.Url.Equals(web.Url)) isWebPartPropertiesError = true;
                                return url;
                            }
                        }
                    }
                    else return "";
                }
                catch
                {
                    isWebPartPropertiesError = true;
                    return "";
                }
    
                //this.CatalogIconImageUrl = this.ClassResourcePath + "/Test.ico";
                //this.TitleIconImageUrl = this.ClassResourcePath + "/Test.ico";
            }

    Продолжаю серию мегаполезных хелперов.
    Эта страхолюдина найдена там же где и пред. кусок.
    Судя по названию, она должна делать урл абсолютным...
    (SPSite и др., это SharePoint API если кто не в курсе)

    dreaktor, 14 Ноября 2010

    Комментарии (2)
  2. C# / Говнокод #4620

    +115

    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
    private string GetSubURI(string _stringURI)
            {
                if (_stringURI.IndexOf("http://") > -1)
                {
                    int counter = 0;
                    int chNumber = -1;
                    for (int i = 0; i <= _stringURI.Length - 1; i++)
                    {
                        if (_stringURI[i] == '/')
                            counter++;
    
                        if (counter == 3)
                        {
                            chNumber = i + 1;
                            break;
                        }
                    }
                    return _stringURI.Substring(chNumber, (_stringURI.Length - chNumber) - 1);
                }
                else
                {
                    int chNumber = -1;
                    for (int i = _stringURI.Length - 1; i >= 0; i--)
                    {
                        if (_stringURI[i] == '/')
                        {
                            chNumber = i;
                            break;
                        }
                    }
    
                    if (chNumber != -1)
                        return _stringURI.Substring(0, chNumber);
                    else
                        return "";
                }
            }

    Элегантный адаптер строк для другой функции, кушающей урлы, возвращаемые этим шедевром.
    Это хозяйство досталось в наследство от уволенного "разработчика .NET".
    Я сохранил, вдруг пригодиться .... и не прогадал :)

    dreaktor, 14 Ноября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    switch ($mode) {
                default:
                <не интересный код пропущен>
                break;
    }

    Догайтесь с какого это проекта?

    Я бы не запостил, если бы не увидел на хабре сообщение от некоторого striker_vlad:
    "буду рад, если найдете там что-то, что можно будет напостить на сам сайт ;)"

    Oleg_quadro, 13 Ноября 2010

    Комментарии (47)
  4. JavaScript / Говнокод #4618

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var Class = function () {
    	this.method = function () {
    		/* … */
    	};
    };
    
    Class = new Class();

    fuckyounoob, 13 Ноября 2010

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

    +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
    <?php
    //Список категорий
    function get_cat_list () {
    $sql_cat_list = mysql_query("SELECT * FROM te_categories ORDER BY category_id");
    for ($cat_list=array(); $row=mysql_fetch_assoc($sql_cat_list); $cat_list[]=$row);
    $cat_list = array_reverse ($cat_list); //переворачиваем массив
    return $cat_list;
    }
     
    //Категории в норм виде (возвращает массив или печатает)
    function get_categories ($cat_list, $print="noprint") {
    foreach ($cat_list as $cat)
    	{
    	$categories [$cat['category_id']]['name'] = $cat['name'];
    	$categories [$cat['category_id']]['cat_count'] = $cat['cat_count'];
    	if ($print !== "noprint") echo '<li class="list"><a href="?page=article&category_id='.$cat['category_id'].'">'.$cat['name'].'</a> <small>('.$cat['cat_count'].')</small></li>';
    	}
    	if ($print == "noprint") return $categories;
    }
    /*
    Коментарий ниже:
    Зачем вначале мы получили список категорий $cat_list, 
    а затем зачем-то преобразовали в $categories в цикле foreach? 
    Просто для удобства и красоты мы из списка массивов 
    (записей или строк), полученных из БД, 
    сделали двумерный массив 
    с первичным ключом category_id 
    (ведь он у нас уникален). 
    Для наглядности распечатайте оба этих массива, 
    и сразу увидите разницу:
    */
    ?>

    Свеженькое Г
    Версия 0.02 CMS Tractor Engine
    (Кажись 2010 год)
    Будущее интернетов...

    istem, 13 Ноября 2010

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

    +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
    string commQuery = "CREATE DATABASE " + this.textBox1.Text +
                                   " ON" +
                                   " ( " +
                                        "NAME =" + this.textBox1.Text + ", " +
                                        "FILENAME =" + this.textBox2.Text + 
                                        "SIZE = 100mb, " +
                                        "MAXSIZE = unlimited, " +
                                        "FILEGROWTH = 5mb" +
                                   " ) " +
                                   "LOG ON " +
                                   " ( " +
                                         "NAME =" + this.textBox1.Text + ", " +
                                         "FILENAME =" + this.textBox2.Text + 
                                         "SIZE = 3mb, " +
                                         "MAXSIZE = 50mb, " +
                                         "FILEGROWTH = 5mb" +
                                   " ) ";
                
               SqlConnection conSQL = new SqlConnection("Data Source = (local);" + "Integrated security = True;" + "database = master");
                SqlCommand commSQL = new SqlCommand("", conSQL);
                
                commSQL.CommandType = CommandType.Text;
                commSQL.CommandText = commQuery.ToString();
                   
                
                conSQL.Open();
                commSQL.ExecuteNonQuery();
                conSQL.Close();

    очень нравиться совершенство стиля формирования БД на сервере и защита от SQL иньекций :-D

    ageron, 13 Ноября 2010

    Комментарии (1)
  7. ActionScript / Говнокод #4615

    −154

    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
    for(i = 0;i < 15;i++)//break_names_array.length
    {
    	name_buttons_array[i] = new BreakenFriends(break_names_array[0]);
    	name_buttons_array[i].x = i * name_buttons_array[i].width;
    	addChild(name_buttons_array[i]);
    	
    	if(i >= 12)
    	{
    		name_buttons_array[i].y = 4 * (name_buttons_array[i].height + 5);
    		name_buttons_array[i].x = (i - 12) * name_buttons_array[i].width;
    		}else
    	if(i >= 9)
    	{
    		name_buttons_array[i].y = 4 * (name_buttons_array[i].height + 5);
    		name_buttons_array[i].x = (i - 9) * name_buttons_array[i].width;
    	}else
    	if(i >= 6)
    	{
    		name_buttons_array[i].y = 3 * (name_buttons_array[i].height + 5);
    		name_buttons_array[i].x = (i - 6) * name_buttons_array[i].width;
    	}else
    	if(i >= 3)
    	{
    		name_buttons_array[i].y = 2 * (name_buttons_array[i].height + 5);
    		name_buttons_array[i].x = (i - 3) * name_buttons_array[i].width;
    	}
    	else 
    	{
    		name_buttons_array[i].y = (name_buttons_array[i].height + 5);
    	}
    }

    "Таблица" =)

    KirAmp, 13 Ноября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int m[3][3]={
    {1, 6, 7},
    {2, 5, 8},
    {3, 4, 9}};
    int tmp[3]={m[0][0],m[0][1],m[0][2]}; m[0][0]=m[1][0];m[0][1]=m[1][1];m[0][2]=m[1][2]; m[1][0]=tmp[0];m[1][1]=tmp[1];m[1][2]=tmp[2];

    Программа меняет местами 2 строки

    qbasic, 13 Ноября 2010

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

    −191

    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
    SELECT * FROM l_table AS bl
    
    LEFT JOIN t_table AS bt
    
    ON (bl.ID = bt.ID)
    
    WHERE DZ IN
    
    (
    
    SELECT LEFT(GROUP_CONCAT(DZ ORDER BY DZ DESC), 19)
    
    FROM l_table GROUP BY UID
    
    )
    
    GROUP BY UID
    
    ORDER BY DZ DESC
    ;

    advvzlol, 13 Ноября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for( int b = 0; b < cntblocket; ++b )
    {
        delete msrLst[b]->record;
        delete msrLst[b]->record;
    }

    Сразу вспоминается: "- А зачем у вас тут два одинаковых jump'а стоять? - А вдруг один не сработает?"

    Видимо, совсем не выспался программист ;)

    ftptrash, 13 Ноября 2010

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