1. Список говнокодов пользователя dwinner

    Всего: 38

  2. Java / Говнокод #5280

    +78

    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
    public Miner(String s) {	    
            super(s);
            MenuBar mb = new MenuBar();
            setMenuBar(mb);
            Menu mFile = new Menu("Файл");
            Menu mHelp = new Menu("Справка");
            mb.add(mFile);
            mb.setHelpMenu(mHelp);
            MenuItem create = new MenuItem("Новая игра",new MenuShortcut(KeyEvent.VK_N));
            Menu mColor = new Menu("Цвет");
            MenuItem mGreen = new MenuItem("Зелёный");
            MenuItem mRed = new MenuItem("Красный");
            MenuItem mBlue = new MenuItem("Синий");
            MenuItem mGray = new MenuItem("Серый");
            mColor.add(mGreen);
            mColor.add(mRed);
            mColor.add(mBlue);
            mColor.addSeparator();
            mColor.add(mGray);
            Menu mHard = new Menu("Сложность");
            MenuItem mDummy = new MenuItem("Новичок");
            MenuItem mUser = new MenuItem("Среднячок");
         	MenuItem mHaker = new MenuItem("Проффи");
         	mHard.add(mDummy);
         	mHard.add(mUser);
         	mHard.add(mHaker);
         	MenuItem mSound = new MenuItem("Звук");
         	mSound.setEnabled(false);
         	MenuItem exit = new MenuItem("Выход",new MenuShortcut(KeyEvent.VK_X));
            mFile.add(create);
            mFile.add(mColor);
            mFile.add(mHard);
            mFile.add(mSound);
            mFile.addSeparator();      
            mFile.add(exit);
            Scribble scr = new Scribble(this,480,480);
            mGreen.addActionListener(scr);
            mRed.addActionListener(scr);
            mBlue.addActionListener(scr);
            mGray.addActionListener(scr);
            add(scr);
            Difficult diff = new Difficult(this,480,480);
            mDummy.addActionListener(diff);
            mUser.addActionListener(diff);
            mHaker.addActionListener(diff);
            add(diff);
            create.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    status = 0;
                    repaint();
                    RandomArray();
                }
            });
            exit.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    System.exit(0);
                }
            });
            MenuItem mInfo = new MenuItem("О программе",new MenuShortcut(KeyEvent.VK_H));
            mHelp.add(mInfo);
            mInfo.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    new AboutProgram("О программе");
                }
            });
            setBounds(0,0,480,480); // setSize(480,480); 
            setVisible(true);
            setLayout(null);
            addMouseListener(this);
            addWindowListener(new WinClose());
    }

    Всё, что можно и что нельзя я запихнул в конструктор

    dwinner, 14 Января 2011

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

    +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
    <?php
    require_once('MultiAutoload.php');
    
    class Dispatcher {
    
    	private $handle;
    
    	function __construct($event_handle) {
    		$this->handle = $event_handle;
    	}
    
    	function handleEvent() {
    		$name = 'Handler_'.$this->handle;
    		if (class_exists($name)) {
    			$handler_obj = new $name($this->handle);
    			$response = $handler_obj->secureHandler();
    			return $response;
    		}
    		else {
    			throw new Exception('Event handling is impossible!');
    		}
    	}
    }
    ?>

    Немного экзотики: PHP в стиле Win32! Говно за собой не сразу увидел,
    но когда "пришло озарение" было смешно.

    dwinner, 13 Января 2011

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

    +159

    1. 1
    2. 2
    3. 3
    function pop3_dele($connection,$message) {
        return(imap_delete($connection,$message));
    }

    Настоятельно рекомендуют не использовать wrapper'ы... М да... [http://www.php.net/manual/en/intro.imap.php]

    dwinner, 20 Декабря 2010

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

    +157

    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
    function processGetPost() {
      var myajax=ajaxpack.ajaxobj;
      var myfiletype=ajaxpack.filetype;
      if (myajax.readyState == 4) {
        if (myajax.status==200 || window.location.href.indexOf("http")==-1) {
          if (myfiletype=="txt") {}
          else {
            var resp = myajax.responseXML;
    	var xmlRoot = resp.documentElement;
    	dateArray = xmlRoot.getElementsByTagName("putdate");
    	userArray = xmlRoot.getElementsByTagName("name");
    	var html = "<table border='1'><tr><th>Время входа</th>";
    	html += "<th>Имя пользователя</th></tr>";
    	var conlines = dateArray.length;
    	if (conlines) {
    	  for (var i=0; i<conlines; i++) {
    	    html += "<tr>";
    	    html += "<td>"+dateArray.item(i).firstChild.data+"</td>";
    	    html += "<td>"+userArray.item(i).firstChild.data+"</td>";
    	    html += "</tr>";
    	  }
    	}
    	html += "</table>";
    	myDiv = document.getElementById("onlines");
    	myDiv.innerHTML = html;
         }
         timerID = setTimeout("ajaxpack.getAjaxRequest('active_users.php','',processGetPost,'xml');", 5000);
       }
     }
    }

    Мой говнокод 4-х летней давности, но воняет до сих пор. 6-ая строчка особенно убивает.

    dwinner, 09 Декабря 2010

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

    +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
    function generate_password($number) {
        $arr = array('a','b','c','d','e','f',
                     'g','h','i','j','k','l',
                     'm','n','o','q','p','r','s',
                     't','u','v','w','x','y','z',
                     'A','B','C','D','E','F',
                     'G','H','I','J','K','L',
                     'M','N','O','Q','P','R','S',
                     'T','U','V','W','X','Y','Z',
                     '1','2','3','4','5','6',
                     '7','8','9','0','_');
        $pass = '';
        for ($i=0; $i<$number; $i++) {
          	$index = rand(0,count($arr)-1);
          	$pass .= $arr[$index];
        }
        return $pass;
    }

    И ведь не лень всё перечислять было?! А по{man}'ить Array-функции лень... И написать что-то типа, хм...
    $alnum_ar = array_merge(range('a','z'),range('A','Z' ),range(0,9));
    array_push($alnum_ar,'_');

    dwinner, 09 Декабря 2010

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

    +168

    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
    function check() {
       $pattern = '|^[-\d]*$|i';
       if ($this->is_required) {
         # Проверяем поле value на максимальное и минимальное значение
         if ($this->min_value != $this->max_value) {
           if ($this->value < $this->min_value || $this->value > $this->max_value) {
             return "Поле \"".$this->caption."\"  должно быть больше ".$this->min_value." и меньше ".$this->max_value."";
           }
         }
         $pattern = "|^[-\d]+$|i";
       }
       # Проверяем, является ли введённое значениe целым числом
       if(!preg_match($pattern, $this->value)) {
         return "Поле \"".$this->caption."\" должно содержать лишь цифры";
       }
       return "";
    }

    Целое число - это число, в котором может быть целая куча знаков минус, но самое главное - без учёта регистра! (Softtime.ru)

    dwinner, 03 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    if (!defined(DIRECTORY_SEPARATOR)) {
      $sep = (substr(strtolower(PHP_OS),0,3) == 'win') ? '\\' : '/';
      define('DIRECTORY_SEPARATOR', $sep);
    }

    Даже если и так, то может быть и MAC OS'овский разделитель учтём???
    Я-то думал обычный slash - решение всех проблем, или на МАКАХ подавляющее
    число хостингов что ли?

    dwinner, 03 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    function CalculateShippingCost() {
      return 20.00;
    }

    Из одного "реального" интернет-магазина!

    dwinner, 25 Ноября 2010

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

    +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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    function utf8_win ($s){
    	$out="";
    	$c1="";
    	$byte2=false;
    	for ($c=0;$c<strlen($s);$c++){
    		$i=ord($s[$c]);
    		if ($i<=127) $out.=$s[$c];
    		if ($byte2){
    			$new_c2=($c1&3)*64+($i&63);
    			$new_c1=($c1>>2)&5;
    			$new_i=$new_c1*256+$new_c2;
    			if ($new_i==1025){
    				$out_i=168;
    			}else{
    				if ($new_i==1105){
    					$out_i=184;
    				}else {
    					$out_i=$new_i-848;
    				}
    			}
    			$out.=chr($out_i);
    			$byte2=false;
    		}
    		if (($i>>5)==6) {
    			$c1=$i;
    			$byte2=true;
    		}
    	}
    	return $out;
    }

    iconv не по мне..., я лучше с побитовыми операциями поработаю, зато сам!
    Гораздо медленее правда, зато своё!

    dwinner, 22 Ноября 2010

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for ($i = 0; $i < count($_FILES['att']['name']); $i++) {
      if (copy($_FILES['att']['tmp_name'][$i], "files/".$_FILES['att']['name'][$i])) {
        unlink($_FILES['att']['tmp_name'][$i]);
        chmod("files/".$_FILES['att']['name'][$i], 0644);
      }
    }

    Из той же гостевухи как и кусок примера в http://www.govnokod.ru/4660.
    Мультизагрузка файлов на сервер. Естественно, тоже пришлось до
    ума доводить.

    dwinner, 18 Ноября 2010

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