1. Куча / Говнокод #7230

    +132

    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
    open System.Net
    open System.Text.RegularExpressions
    open System.Text
    open System
    
    type userInfo = 
        { User : string;
          Rating : double;}
    
    let  mutable Users  = []
    
    (* Заполняем списки юзверей *)
    let getUsersInfo s = 
        let mutable  m = Regex.Match(s, @">(?<user>[^<]+)</a></td>\s+<td class=""strength"">[^<]+</td>\s+<td class=""rating""><strong>(?<rating>[^<]+)") //+ Оптимизировать регулярку. (Page 2)
        while(m.Success) do
            let info = {User = m.Groups.["user"].Value;  Rating =  m.Groups.["rating"].Value |> double}
            Users <- Users @ [info]
            m <- m.NextMatch()
        
    (* скачивание страницы по индексу *)
    let getSourceForUsers p = 
        let url = "http://freehabr.ru/people/good/page" + string(p)
        let wc = new WebClient();
        let s = wc.DownloadString(url);
        printfn "Разобрана %i страница" p
        getUsersInfo s
    
    (* получить индекс последней страницы *)    
    let getLastPage =  
        let wc = new WebClient()
        wc.Encoding <- Encoding.UTF8
        let s = wc.DownloadString "http://freehabr.ru/people/"
        Regex.Match(s,@"(?<=e)\d+(?=/"">п)").Value |> int
    
    let lastPage = getLastPage
    
    let printList a =
        a |> List.iter (fun x -> printfn "%s рейтинг - %.2f" x.User x.Rating)
        Console.ReadKey() |> ignore
     
    [<EntryPoint>]
    let main(args:string[]) =
      printfn "Парсер юзерей с положительным (или нулевым) рейтингом"
      printfn "%i -- Количество страниц" lastPage
      printfn "scan --XX - __ Cбор списка пользователей от первой страницы до XX"
      printfn "scan --YY --XX __ Сбор списка пользователей от YY страницы до XX. \nXX не может быть больше, чем максимальное количество страниц в списках юзеров с положительной кармой"
    
      let userInput = Console.ReadLine();
      match userInput with
      | _ when userInput.StartsWith "scan --" -> let a = Regex.Split(userInput,"--")
                                                 let dig = a.[1] |> int
                                                 if a.Length = 2 then  // для первого варианта                                               
                                                    [1 .. dig] 
                                                    |> List.iter getSourceForUsers
                                                 else // для второго
                                                    [ dig .. a.[2] |> int ] 
                                                    |> List.iter getSourceForUsers
                                                 printfn "~~~\nЮзеры посчитаны"
                                                    
                                              
      | _ -> printfn "Завершение приложения"
             exit(1) 
      
      printfn "~~~~\nОбработка списка\n~~~~"
      printfn "usersGreaterRate --XX __ Показать пользователей,\nу которых рейтинг больше или равен XX"
      printfn "usersLessRate --XX __ Показать пользователей,\nу которых рейтинг меньше или равен XX"
      printfn "usersWithNamesBegins --String __ Показать пользователей,\nу которых имя начинается со строки String"
      let usersOper = Console.ReadLine()
      let param = Regex.Split(usersOper," --").[1] 
      match usersOper with
      | _ when usersOper.StartsWith "usersGreaterRate --" -> Users 
                                                             |> List.filter (fun x -> x.Rating > (param |> double))
                                                             |> printList
      | _ when usersOper.StartsWith "usersLessRate --" -> Users
                                                          |> List.filter (fun x -> x.Rating < (param |> double))
                                                          |> printList
      | _ when usersOper.StartsWith "usersWithNamesBegins --" -> Users
                                                                    |> List.filter (fun x -> x.User.StartsWith param)
                                                                    |> printList
      | _ -> printfn "Завершение приложения"
             exit(1) 
      0

    qbasic, 12 Июля 2011

    Комментарии (23)
  2. Java / Говнокод #7229

    +78

    1. 1
    2. 2
    3. 3
    private String createJndiName(Class homeClass) {
            return "ejb/" + homeClass.getName().replace(".".charAt(0), "/".charAt(0));
    }

    no comments

    roman-kashitsyn, 12 Июля 2011

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

    +156

    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
    /**
     * Checks that user client was not banned. Dies on false
     * @param string $peer_id Peer_id of client
     * @return void
     * Взято с kinokpk
     */
    function checkclient($peer_id){
    	$agent = $_SERVER['HTTP_USER_AGENT'];
    	//die($peer_id);
    	//return true;
    	//check by headers
    	if (function_exists('getallheaders')){
    		$headers = getallheaders();
    	}else{
    		$headers = emu_getallheaders();
    	}
    	if (isset($headers['Cookie']) || isset($headers['Accept-Language']) || isset($headers['Accept-Charset']))err('Вы не можете использовать этот клиент. Возможно вы читер.');
    
    
    .................................................................

    * BY LiteTracker Source

    nethak, 12 Июля 2011

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

    +166

    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
    //Анти - XSS
    function antixss() {
    	//Запрещенные элементы
    	$array = array('./' , '../' , '\'' , '<script>' , 'document.cookie' , '</script>' );
    		
    	//GET
    	$query = $_GET;
    	if( sizeof($query) ) {
    		foreach($query AS $arr => $value) {
    			$clear_xss = str_replace($array , '[xss]' , $value);
    			$_GET[$arr]  = $clear_xss;
    		}
    		
    	}
    	
    	//GET
    	$query = $_POST;
    	if( sizeof($query) ) {
    		foreach($query AS $arr => $value) {
    			$clear_xss = str_replace($array , '[xss]' , $value);
    			$_POST[$arr]  = $clear_xss;
    		}
    		
    	}
    	
    	
    	return true;
    }

    Наконец-то школьники придумали средство от XSS.
    * BY LiteTracker Source

    nethak, 12 Июля 2011

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

    +189

    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($g == 3) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 6) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";} 
    if($g == 9) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 12) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 15) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 18) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 21) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 24) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 27) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 30) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 33) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}
    if($g == 36) {echo"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";}

    JustBlackBird, 11 Июля 2011

    Комментарии (30)
  6. Pascal / Говнокод #7225

    +126

    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
    uses
    crt;
    var
      chasov,
     minutov,
    sekundov :byte;
    tekushchiy_sekund:word;
    begin
    clrscr;
    write('   chasov ');
    read(     chasov);
    if chasov=9
               then
                   begin
                        clrscr;
                        halt;
                   end;
    write('  minutov ');
    read(    minutov);
    write(' sekundov ');
    read(   sekundov);
    clrscr;
    for tekushchiy_sekund:=1
    to sekundov+60*minutov+3600*chasov do
      begin
           if keypressed then
                             if readkey=#27
                                           then halt;
           delay(50000);
      end;
    sound(300);
    readkey;
    nosound;
    end.

    УГАДАЙТЕ

    dos, 11 Июля 2011

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

    +966

    1. 1
    z = (lines[i].Substring(n.Length + 2, lines[i].Length - (n.Length + 2))).Substring(0, (lines[i].Substring(n.Length + 2, lines[i].Length - (n.Length + 2))).IndexOf("/"));

    Забавный способ вырезания домена из ссылки вида: http://www.govnokod.ru/....

    0LOL, 11 Июля 2011

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

    +161

    1. 1
    document.getElementById('popup_pic').innerHTML=document.getElementById('popup_pic').innerHTML; // no ie users

    код в моем случае ложит ie

    EnTaroAdun, 11 Июля 2011

    Комментарии (15)
  9. JavaScript / Говнокод #7222

    +176

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function isValid()
    {
    	if ($('#emailinput').val() == 'ваш@электронный.адрес')
    	{
    		box('Это не ваш электронный адрес!');
    		return false;
    	}

    http://apokalipsis-2012.ru/

    This is obvious, 11 Июля 2011

    Комментарии (27)
  10. Куча / Говнокод #7221

    +146

    1. 1
    http://picomot.ru/

    Наговнокодили тут новый проект

    striker, 11 Июля 2011

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