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

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

    −860

    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
    SELECT i.id AS i__id, i.title AS i__title, i.description AS i__description, i.meta_title AS i__meta_title, i.meta_keywords AS i__meta_keywords, i.meta_description AS i__meta_description, i.lang AS i__lang FROM item_translation i WHERE (i.id IN ('8845'))
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Акция' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Акция' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Розница' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Оптом' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Безнал' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Дилер' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'Кредит' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT p.id AS p__id, p.item_id AS p__item_id, p.type AS p__type, p.currency AS p__currency, p.value AS p__value, p.date AS p__date FROM price p WHERE (p.item_id = '8845' AND p.type = 'A') ORDER BY p.date DESC LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'В корзину' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection
    #
    
    SELECT t.id AS t__id, t.source AS t__source, t.target AS t__target, t.lang AS t__lang FROM translation t WHERE (t.source = 'В корзину' AND t.lang = 'ru') LIMIT 1
    0.00s, "doctrine" connection

    Это часть запросов которые выполняются для генерации главной страницы для одного интернет магазина. И таких запросов: 360 :-)

    aleksey, 09 Марта 2011

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

    +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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    #include <iostream.h>
    #include <stdlib.h>
    #define make(a,b) new a[b];
    #define init(a,b) for(int i=0; i<b; i++) a[i]=random(10);
    #define MyType int
    template<class type>
    void sort(type *m,int  n)
     {
     type *m1 = m;
       for(int i=0; i<n-1; i++)
      		{
            for(int j=0; j<n-i-1; j++)
               {
               if (*m1>*(m1+1))
            	    {
                                              MyType temp;
       		      temp=*m1;
      	    	       *m1=*(m1+1);
    		       *(m1+1)=temp;
             	  }
               m1++;
               }
           m1=m;
          }
     }
    
     template<class type>
     void input(type *m,int num)
     {
     type *m1=m;
     for(int i=0;i<num; i++)
      		{
             cin>>*m1;
              m1++;
          }
      m1=m;
      cout << endl;
     }
    
     template<class type>
     void output(type  *m, int n)
     {
     for(int i=0;i<n; i++)
      		{
             cout << *(m+i)<<" ";
          }
     }
    
     main()
     {
     int len;
      cout << "Vvedite razmer massiva" << endl;
      cin >> len;
    
      MyType *mas1 = make(MyType,len);
      input(mas1,len);
      //init(mas1,len);
      output<MyType>(mas1,len);
      sort<MyType>(mas1,len);
      cout<<endl;
      output<MyType>(mas1,len);
      cout<<endl;
      system("pause");;
     }

    Делалось на Borland C++ 5.02 , что прикольно без макроса make , если память выделяется просто в теле, то ревет, что память ниразу не выделена . Делали ее часика в 4 утра к зачету, препод конечно прибалдел от таких раскладов, но покопавшись ничего сам сделать не смог, плюнул на это дело и зачет поставил.

    USERNAME, 08 Марта 2011

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

    +159

    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
    <div id='vote' name='vote'></div>
    
    <script src="http://siteheart.com/apps/api.js"></script>
    <script type="text/javascript">
    
        var query = window.location.search.substring('?url=');//находим часть url, что нужно затереть
            query = query.replace('?url=','');
            var url_split = query.split("&");      //разбиваем url на части
    	    var url = url_split[0];                //нас интересует только первая часть
    
    var params = {
    text        : 'Оцените эту страницу',
    appendTo    : 'vote',
    id          : 3055,
    description : 'Приватбанк',
    template    : 'full',
    vid         : encodeURIComponent( url ) //document.location.href
    };
    Siteheart.widget('Vote', params); //описание https://siteheart.com/apps/vote/full.html
    
    </script>

    Вот такой код в privat24.privatbank.ua.
    Комменты убили.

    therion, 06 Марта 2011

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

    +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
    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    function convert(val){
        var TablePrice = document.getElementById("main_price");
        var trList = TablePrice.getElementsByTagName("tr");
        var IdVal = document.getElementById("IndocatorCurHide");
        var IdCur = document.getElementById("IndocatorCur");
        
        var CurUSD = parseFloat(document.getElementById("CurUSD").innerHTML);
        var CurRUR = parseFloat(document.getElementById("CurRUR").innerHTML);
        var CurEUR = parseFloat(document.getElementById("CurEUR").innerHTML);
        
        var Kurce = 1;
        var KurceUAH = 1;
        
        switch (val) {
            case "RUR":
                IdCur.style.backgroundImage = "url('flags/FlagsRussia.jpg')";
                break;
            case "EUR":
                IdCur.style.backgroundImage = "url('flags/FlagsEU.jpg')";
                break;
            case "USD":
                IdCur.style.backgroundImage = "url('flags/FlagsUSA.jpg')";
                break;
            case "UAH":
                IdCur.style.backgroundImage = "url('flags/FlagsUkraine.jpg')";
                break;
        }
        
        for (var i = 0; i < trList.length; i++) {
            var tdList = trList[i].getElementsByTagName('td');
            for (j = 0; j < tdList.length; j++) {
                if (tdList[j].id == "ToConvert") {
                    if ((tdList[j].innerHTML != "") && (tdList[j].innerHTML != "-")) {
                        var TmpPrice = parseFloat(tdList[j].innerHTML);
                        switch (IdVal.innerHTML) {
                            case "RUR":
                                switch (val) {
                                    case "UAH":
    	
                                        TmpPrice *= CurRUR;
                                        break;
                                    case "EUR":
                                        TmpPrice *= CurRUR;
                                        TmpPrice /= CurEUR;
                                        break;
                                    case "USD":
                                        TmpPrice *= CurRUR;
                                        TmpPrice /= CurUSD;
                                        break;
                                }
                                ;                            break;
                            case "USD":
                                switch (val) {
                                    case "UAH":
                                        TmpPrice *= CurUSD;
                                        break;
                                    case "EUR":
                                        TmpPrice *= CurUSD;
                                        TmpPrice /= CurEUR;
                                        break;
                                    case "RUR":
                                        TmpPrice *= CurUSD;
                                        TmpPrice /= CurRUR;
                                        break;
                                }
                                ;                            break;
                                
                            case "EUR":
                                switch (val) {
                                    case "UAH":
                                        TmpPrice *= CurEUR;
                                        break;
                                    case "RUR":
                                        TmpPrice *=  CurEUR;
                                        TmpPrice /=  CurRUR;
                                        break;
                                    case "USD":
                                        TmpPrice *= CurEUR;
                                        TmpPrice /= CurUSD;
                                        break;
                                }
                                ;                            break;
    ...
                        }
                        tdList[j].innerHTML = TmpPrice.toFixed(2);//Math.round(TmpPrice / 0.1) * 0.1;

    Наткнулся на форуме JavaScript, функция для конвертирования валют =).

    vulkan, 06 Марта 2011

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

    +159

    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
    <?
    $xml = xml_parser_create();
    xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE,1);
    xml_parse_into_struct($xml, file_get_contents($url), $el, $fe);
    xml_parser_free($xml);
    
    for($i=0; $i<5; $i++){
       $m = $fe['ITEM'][$i];
       $title = $el[$m+1]['value'];
       $link = $el[$m+2]['value'];
       $time = $el[$m+4]['value'];
       $desc = mb_substr( $el[$m+3]['value'], 0, 80, 'UTF-8');
       echo '<br/><strong>'.$title.'</strong> <br/>['.
        $time.']<br/>'.$desc.'<br/><a href="'.$link.'">читать...</a>';
    }

    qbasic, 06 Марта 2011

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

    +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
    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
    MainDM->ADOQ_pr_kontr_vert->SQL->Add(
            "SELECT Smena, Prostenok, Popravka, Val_zad_temp, t.Zam1, t.Zam2, t.Zam3, t.Zam4, "
            "@sr1:=((t.Zam1 + t.Zam2 + t.Zam3 + t.Zam4) / 4) as sredn, "
            "@p:= @sr1 - (avgtempr.avgZam1 + avgtempr.avgZam2 + avgtempr.avgZam3 + avgtempr.avgZam4) / 4 as popravka  from "
            "(SELECT avg(Zam1) as avgZam1, avg(Zam2) as avgZam2, avg(Zam3) as avgZam3, avg(Zam4) as avgZam4 from "
            "(SELECT "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam1, "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam2, "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam3, "
            "SUM(CASE "
            "WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam4 "
            "FROM kontroln_vertik WHERE kontroln_vertik.Date = \'2011-03-02\' "
            "and kontroln_vertik.Storona = 1  "
            "group by kontroln_vertik.Prostenok)  zameri) avgtempr, "
            "(SELECT kontroln_vertik.Smena,  kontroln_vertik.Prostenok, kontroln_vertik.Popravka, "
            "kontroln_vertik.Val_zad_temp, kontroln_vertik.Period_koks, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
            "END) as Zam1, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0  "
            "END) as Zam2, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0  "
            "END) as Zam3, "
            "SUM(CASE  "
            "WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0   "
            "END) as Zam4  "
            "FROM kontroln_vertik "
            "WHERE kontroln_vertik.Date = \'2011-03-02\' and   "
            "kontroln_vertik.Storona = 1  "
            "group by kontroln_vertik.Prostenok) t"
            );

    qbasic, 03 Марта 2011

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

    +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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    var gp23=true;
            var gp25=true;
            var gp26=true;
            var gp24=true;
            var gp27=true;
            var gp28=true;
            var gp29=true;
            show(price_from,price_to,floor_from,floor_to,flat_from,flat_to,sort,sortnap,str,gp23,gp25,gp26,gp24,gp27,gp28,gp29)
    	...
    	...
    	...
            function show(cf,ct,ef,et,kf,kt,sort,nap,nach,_gp23,_gp25,_gp26,_gp24,_gp27,_gp28,_gp29) {
                    $('#load').css("display","")
                    $('#res').load('pokv.php?cf='+cf+'&ct='+ct+'&ef='+ef+'&et='+et+'&kf='+kf+'&kt='+kt+'&sort='+sort+'&nap='+nap+'&nach='+nach+'&bgp23='+_gp23+'&bgp25='+_gp25+'&bgp26='+_gp26+'&bgp24='+_gp23+'&bgp27='+_gp27+'&bgp28='+_gp28+'&bgp29='+_gp29, function() {
    		$('#load').css("display","none")
    		$('#show').remove()
    		$('#showr').attr('id','show')
    		$('#aj').prepend($('#show'))
    		$('.kvartpick tr:last-child td').css("border-bottom","none")
    		$('.str').click(function(){
    			str=(($(this).attr('no')*20)-20)
    			show(price_from,price_to,floor_from,floor_to,flat_from,flat_to,sort,sortnap,str,gp23,gp25,gp26,gp24,gp27,gp28,gp29)
    		});
    		bind_sort();
    	});
    }

    И так далее и все в таком духе. Меня это уже доставло

    tolic811, 03 Марта 2011

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

    +112

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    DirectoryInfo dir = new DirectoryInfo(@"C:\Users\origLocation\");
    DirectoryInfo destDir = new DirectoryInfo(@"C:\Users\origLocation\destLocation\");
    FileInfo[] newVerFiles = dir.GetFiles("*.TXT");
    foreach (FileInfo newVerFile in newVerFiles)
    {
        Regex regex = new Regex("\\d+-new-ver.TXT", RegexOptions.IgnoreCase);
        if (regex.IsMatch(newVerFile.Name))
        {
            newVerFile.MoveTo(destDir.FullName);
        }
     }

    rusco_developer, 02 Марта 2011

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

    +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
    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    if (isset ($_POST['SendAuthForm'])) {   
    	//массив ошибок
    	$AuthError = array ();
    	
    	if (!isset ($_POST['AuthLogin']) || $_POST['AuthLogin'] == '' || !isset ($_POST['AuthPass']) || $_POST['AuthPass'] == '') {
    		$AuthError[] = $ForumLang['AuthErrors']['WrongLoginPass'];
    	}
    	else {
    		$AuthLogin = trim ($_POST['AuthLogin']);
    		$AuthPass  = trim ($_POST['AuthPass']);
    		$CheckUserValid = 0;	    
    		//проверка логина-пароля
    		$SQLCheckAuth = 'SELECT UserID, UserPassword, UserMail, GroupID
    						 FROM users
    						 WHERE UserLogin = \'' . Defence_EscapeString ($DBType, $AuthLogin) . '\'';
    		$CheckAuthQuery = DB_Query ($DBType, $SQLCheckAuth, $ForumConnection);
    		if (!$CheckAuthQuery) {		 
    			exit ('Error while checking auth data!');
    		}
    		$UserExists = DB_NumRows ($DBType, $CheckAuthQuery);
    		if ($UserExists == 0) {
    			$CheckUserValid++;		      
    		}	       
    		//массив		
    		$UserRow = DB_FetchAssoc ($DBType, $CheckAuthQuery);
    	 //данные		
    		$UserPass = $UserRow['UserPassword'];
    		$UserID   = intval ($UserRow['UserID']);
    		$UserMail = $UserRow['UserMail'];
    		$GroupID  = intval ($UserRow['GroupID']);
    		if (Main_Crypt ($AuthPass) <> $UserPass) {
    			$CheckUserValid++;
    		}
    		if ($CheckUserValid > 0) {
    			$AuthError[] = $ForumLang['AuthErrors']['WrongLoginPass'];
    		}
    		else {
    			//удаление из гостей
    			$SQLDelFromGuests = 'DELETE FROM guest_activity
    								 WHERE SessionID=\'' . $SessionID . '\'';
    			$DelFromGuestsQuery = DB_Query ($DBType, $SQLDelFromGuests, $ForumConnection);
    			if (!$DelFromGuestsQuery) {		     
    				exit ('Error while deleting user from guest table!');
    			}		       
    			//редактирование таблицы пользователя
    			$CurAction = 'main_page';
    			$SQLUpdateUser = 'UPDATE user_activity
    					  SET UserLastLogin=\'' . $Now . '\', UserLastAction=\'' . $CurAction . '\', UserIsOnline=\'yes\'
    							  WHERE UserID=\'' . $UserID . '\'';
    			$UpdateUserQuery = DB_Query ($DBType, $SQLUpdateUser, $ForumConnection);
    			if (!$UpdateUserQuery) {			
    				exit ('Error while updating user status onto \'yes\'!');
    			}
    			//регенерация ид сессии		 
    			session_regenerate_id (TRUE);
    			$SecureString = '';		     
    			//ip пользователя
    			$CurUserIP = $_SERVER['REMOTE_ADDR'];
    			$IPArray = explode ('.', $CurUserIP);
    			$IPRanks = array ();
    			for ($i=0; $i < $NumIPRanks; $i++) {
    				$IPRanks[] = $IPArray[$i];
    			}
    			$IPFinalString = implode ('.', $IPRanks);
    			$IPFinalString = sha1 ($IPFinalString . $AuthSalt);
    			//user-agent
    			$CurUserAgent = $_SERVER['HTTP_USER_AGENT']; 
    			$CurUserAgent = substr ($CurUserAgent, 0, 50); 
    			$CurUserAgent = sha1 ($CurUserAgent . $AuthSalt); 
    			//объединение
    			$SecureString = sha1 ($IPFinalString . $CurUserAgent . $AuthSalt);
    			//случайная строка - хеш
    			$RandomString = Main_GenerateRandString (10, '1');
    			$RandomString = sha1 ($RandomString . $AuthSalt . time ());
    		//данные в сессию
    			unset ($_SESSION['UserData']);
    			$_SESSION['UserData'] = array ();
    			$_SESSION['UserData']['UserType'] = 'member';
    			$_SESSION['UserData']['UserID']   = $UserID;
    			$_SESSION['UserData']['UserName'] = $AuthLogin;
    			$_SESSION['UserData']['GroupID']  = $GroupID;
    			$_SESSION['UserData'][$SecureKey] = $SecureString;
    			$_SESSION['UserData'][$SecureCookieName] = $RandomString;
    			//куки
    			setcookie($SecureCookieName,$RandomString);
    			//перенаправление
    			$_SESSION['Message'] = 'auth_sucess';
    			$URL = '?action=message';
    			Header('Location:' . $SelfName . $URL);
    			exit ();
    		}
    	}       
    	//проверка
    }

    qbasic, 23 Февраля 2011

    Комментарии (2)
  11. Perl / Говнокод #5753

    −124

    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
    sub check_dir
    {
    	my ($param, $mode) = @_;
    	$mode ||= 'sr';
    
    	unless ( $mode eq 'sc')
    	{
    		my $full_path = $config_params{$param};
    		$full_path =~ /^(.+)\/(.+)$/;
    		my $put = $1;
    
    		while(1)
    		{
    			if (-l $full_path)
    			{
    				$info->debug("Load param $param = $full_path it is symlink. Readlink...");
    				$full_path = readlink $full_path;
    			}
    			elsif (-d $full_path or -d "$put/$full_path")
    			{
    				$info->debug("Load param $param = $full_path. It is directory and it is exists");
    				last;
    			}
    			else
    			{
    				$warning->debug("Not valid config. Error parsing param: $param");
    				exit 1;
    			}
    		}
    	}
    	else
    	{
    		my $full_path = $config_params_sc{$param};
    		$full_path =~ /^(.+)\/(.+)$/;
    		my $put = $1;
    
    		while(1)
    		{
    			if (-l $full_path)
    			{
    				$info_sc->debug("Load param $param = $full_path it is symlink. Readlink...");
    				$full_path = readlink $full_path;
    			}
    			elsif (-d $full_path or -d "$put/$full_path")
    			{
    				$info_sc->debug("Load param $param = $full_path. It is directory and it is exists");
    				last;
    			}
    			else
    			{
    				$warning_sc->debug("Not valid config. Error parsing param: $param");
    				exit 1;
    			}
    		}
    	}
    }

    По крайней мере, этот код можно сократить вдвое... И подобное по всей утилите...

    SadKo, 21 Февраля 2011

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