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

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

    +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
    function get_doc_status($date_valid) {
    	$cur_mk = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    	$date_valid = explode(".", $date_valid);
    	$valid_mk = mktime(0, 0, 0, $date_valid[1], $date_valid[0], $date_valid[2]);
    
    	if($valid_mk <= $cur_mk) {
    		return 2;
    	}
    
    	$month = intval($date_valid[1]);
    	$year = intval($date_valid[2]);
    
    	if(($month > 1) && ($month < 12)) {
    		$prev_month = $month - 1;
    		$prev_year = $year;
    	} elseif($month == 1) {
    		$prev_month = 12;
    		$prev_year = $year - 1;
    	}
    
    	$month_mk = 60 * 60 * 24 * 30;
    	$prev_mk = mktime(0, 0, 0, $prev_month, $date_valid[0], $prev_year);
    
    	if(($valid_mk - $prev_mk) <= $month_mk) {
    		return 1;
    	}
    	return 0;
    }

    Задача со слов автора:
    Есть определенная дата (что-то типа срока годности), есть текущая дата. Задача заключается в выводе статуса даты.
    1. До истечения срока больше месяца - функция возвращает 0
    2. До истечения меньше месяца - 1
    3. Срок истек - 2

    Товарисчь не знал про time() и strtottime().

    WhiteRat, 29 Января 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void WaitExit()
    {
        char p;
        std::cout << "\nPlay some melody on keyboard and press [ENTER] for EXIT" << std::endl;
        std::cin >> p;
    }

    Play some melody..

    IkSin, 28 Января 2011

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

    +165

    1. 1
    require_once(Config::Get('path.root.engine').'/lib/internal/ConfigSimple/Config.class.php');

    LiveStreet 0.4 — Подключение класса с использованием статического метода этого же класса.

    rvsob, 28 Января 2011

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

    +172

    1. 1
    2. 2
    3. 3
    if(!$go = false) {
    			
    }

    говнецо от самого себя, писал пока разговаривал и не вдумался что писал :DDDD

    sl1p, 27 Января 2011

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

    +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
    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
    $_FILTER_MODULE = array(
    "A","a","B","b","C","c","D","d","E","e",
    "F","f","G","g","H","h","I","i","J","j",
    "K","k","L","l","M","m","N","n","O","o",
    "P","p","Q","q","R","r","S","s","T","t",
    "U","u","V","v","W","w","X","x","Y","y",
    "Z","z","-");
    
    $_FILTER_ACTION = array(
    "A","a","B","b","C","c","D","d","E","e",
    "F","f","G","g","H","h","I","i","J","j",
    "K","k","L","l","M","m","N","n","O","o",
    "P","p","Q","q","R","r","S","s","T","t",
    "U","u","V","v","W","w","X","x","Y","y",
    "Z","z","-");
    
    define("CHARS_LOGIN", "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя-");
    define("CHARS_PASS", "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz");
    define("CHARS_FNAME", "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя-");
    define("CHARS_LNAME", "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя-");
    define("CHARS_EMAIL", "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz@-_.");
    $_FILTER_ID = array("0","1","2","3","4","5","6","7","8","9");
    $_FILTER_INT = array("0","1","2","3","4","5","6","7","8","9");
    
    function Filter($Str, $Filter) {
    	$NewStr = NULL;
    	$k = 0;
    	for($i = 0; $i<strlen($Str); $i++) {
    		for($n = 0; $n<sizeof($Filter); $n++) {
    			if($Str{$i} == $Filter[$n]) {
    				$NewStr[$k] = $Str[$i];
    				$k++;
    			}
    		}
    	}
    	return (string) @implode($NewStr);
    }
    
    function is_valid($value, $chars, $min_len, $max_len) {
    	$value_len = mb_strlen($value);
    	$chars_len = mb_strlen($chars);
    	$char_valid = false;
    	if($value_len > $max_len || $value_len < $min_len) {
    		return false;
    	}
    	for($i = 0; $i < $value_len; $i++) {
    		$char_valid = false;
    		for($k = 0; $k < $chars_len; $k++) {
    			if($value{$i} == $chars{$k}) {
    				$char_valid = true;
    			}
    		}
    		if($char_valid == false) {
    			return false;
    		}
    	}
    	return true;
    }

    Моё, октябрь 2009 =)

    Devzirom, 26 Января 2011

    Комментарии (4)
  7. Java / Говнокод #5395

    +145

    1. 1
    final String s1 = new String("ewkjrhjkcbdsjgshrfjksdbewrhjfhjcvbsdfjd");

    Lure Of Chaos, 26 Января 2011

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

    −855

    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
    declare @ДеньНедели int
    set @ДеньНедели = 1
    while @ДеньНедели <= 7
    begin
      if @ДеньНедели = 1
      begin
        update #TTT set Пн = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 2
      begin
        update #TTT set Вт = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 3
      begin
        update #TTT set Ср = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 4
      begin
        update #TTT set Чт = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 5
      begin
        update #TTT set Пт = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 6
      begin
        update #TTT set Сб = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      if @ДеньНедели = 7
      begin
        update #TTT set Вс = @Сумма where Поставщик = @Поставщик and datepart(dw,Дата) = @ДеньНедели
      end
      set @ДеньНедели = @ДеньНедели + 1
    end

    Интересный разбор дня недели, цикл проходим 7 раз, с заходом в каждый if 1 раз

    mrvlmor, 25 Января 2011

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

    −136

    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
    #!/bin/bash
    
    ys="y"
    ss=0
    for fl in `find $1`
    do
    echo -n "Do you want archive file $fl?(y/n)"
    read ck
    if [ "$ck"=="$ys" ]; then
    tar -cf $fl.tar $fl
    ls -la $fl
    ls -la $fl.tar
    os=`ls -la $fl | gawk '{ print $5 }'`
    ts=`ls -la $fl.tar | gawk '{ print $5 }'`
    let "ds=ts-os"
    let "ss=ss+ds"
    echo "ss $ss ds  $ds"
    fi
    
    done

    Архивирует рекурсивно все файлы и расчитывает разницу между архивом и оригиналом.

    AliceGoth, 25 Января 2011

    Комментарии (4)
  10. Java / Говнокод #5379

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void keyPressed(final KeyEvent event) {
            final int keys[] = { KeyEvent.VK_UP, KeyEvent.VK_DOWN, KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT, KeyEvent.VK_SPACE };
            final int dir[][] = { { 0, -1 }, { 0, 1 }, { -1, 0 }, { 1, 0 }, { 0, 0 } };
            for (int i = 0; i < 5; i++) {
              if (event.getKeyCode() == keys[i]) {
                man.s.move(dir[i][0], dir[i][1]);
              }
            }
          }

    оригинальная обработка клавиш

    Lure Of Chaos, 24 Января 2011

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

    +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
    <?php
    class SQLInjection
    {
        private function filter(&$query)
        {     
            $sql_inj = array("'", ";", "/**/", "/UNION/", "/SELECT/", "DELETE", "AND" "AS ", "EVAL","<?",'"',"$",'..');
            foreach ($sql_inj as $res) {
                if (stristr($query, $res)) {
                    unset($query);
                }
            }
            $query = mysql_real_escape_string($query);
        }
        public function filterInject($query)
        {
            filterInjectGET();
            filterInjectPOST();
            filterInjectCOOKIE();
            filterInjectSERVER();
            filterInjectSESSION();
            filterInjectFILES();
        }
        public function filterInjectGET()
        {
            filter($GLOBALS['_GET']);
        } 
        /*Остальные функции filterInject выгядят аналогично*/
    }
    ?>

    Ультимативная борьба с SQL-инъекциями. Враг не пройдёт! Бланк-пейдж встретит его непреступной стеной!

    trinkl, 24 Января 2011

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