1. JavaScript / Говнокод #3574

    +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
    I'm trying to set the selected value of a pulldown on a form.
    I think there is a problem with this syntax
    
    Code:
    
    for(s = 0; s < document.getElementById('dozen[' + i + ']').length; index++) {
    	if(document.getElementById('dozen[' + i + ']')[s].value == selectedDozen){
    			  document.getElementById('dozen[' + i + ']').selectedIndex = s;
    	}
    }
    
    
    Any help?

    набрел вот на такую херь на вебдевелопер.ком

    padonak, 27 Июня 2010

    Комментарии (24)
  2. Куча / Говнокод #3573

    +77

    1. 1
    2. 2
    Уважаемый striker, прошу Вас(и наверное не только я) забанить всех вебкилов которые здесь есть, а то они
    уже задолбали тем срачем который разводят в комментариях.

    FMB, 26 Июня 2010

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

    +169

    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
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    struct IText{
     
    	typedef boost::shared_ptr<IText> SPtr;
     
    	virtual void draw() = 0;
     
    	virtual void add(const SPtr&) {
    		throw std::runtime_error("IText: Can't add to a leaf");
    	}
     
    	virtual void remove(const SPtr&){
    		throw std::runtime_error("IText: Can't remove from a leaf");
    	}
    };
     
    struct CompositeText: public IText{
     
    	void add(const SPtr& sptr){
    		children_.push_back(sptr);
    	}
     
    	void remove(const SPtr& sptr){
    		children_.remove(sptr);
    	}
     
    	void replace(const SPtr& oldValue, const SPtr& newValue){
    		std::replace(children_.begin(), children_.end(), oldValue, newValue);
    	}
     
    	virtual void draw(){
    		BOOST_FOREACH(SPtr& sptr, children_){
    			sptr->draw();
    		}
    	}
     
    private:
    	std::list<SPtr> children_;
    };
     
    struct Letter: public IText{
     
    	Letter(char c):c_(c) {}
     
    	virtual void draw(){
    		std::cout<<c_;
    	}
     
    private:
    	char c_;
    };
     
     
    int main(){
     
    	CompositeText sentence;
     
    	IText::SPtr lSpace(new Letter(' '));
    	IText::SPtr lExcl(new Letter('!'));
    	IText::SPtr lComma(new Letter(','));
    	IText::SPtr lNewLine(new Letter('\n'));
    	IText::SPtr lH(new Letter('H')); // letter 'H'
    	IText::SPtr le(new Letter('e')); // letter 'e'
    	IText::SPtr ll(new Letter('l')); // letter 'l'
    	IText::SPtr lo(new Letter('o')); // letter 'o'
    	IText::SPtr lW(new Letter('W')); // letter 'W'
    	IText::SPtr lr(new Letter('r')); // letter 'r'
    	IText::SPtr ld(new Letter('d')); // letter 'd'
    	IText::SPtr li(new Letter('i')); // letter 'i'
     
    	IText::SPtr wHello(new CompositeText);
    	wHello->add(lH);
    	wHello->add(le);
    	wHello->add(ll);
    	wHello->add(ll);
    	wHello->add(lo);
     
    	IText::SPtr wWorld(new CompositeText); // word "World"
    	wWorld->add(lW);
    	wWorld->add(lo);
    	wWorld->add(lr);
    	wWorld->add(ll);
    	wWorld->add(ld);
     
    	sentence.add(wHello);
    	sentence.add(lComma);
    	sentence.add(lSpace);
    	sentence.add(wWorld);
    	sentence.add(lExcl);
    	sentence.add(lNewLine);
     	sentence.draw();  // ptrints "Hello, World!\n"
     	IText::SPtr wHi(new CompositeText); // word "Hi"
    	wHi->add(lH);
    	wHi->add(li);
     	sentence.replace(wHello, wHi);
    	sentence.draw();  // ptrints "Hi, World!\n"
     	sentence.remove(wWorld);
                 sentence.remove(lSpace);
    	sentence.remove(lComma);
    	sentence.draw();  // ptrints "Hi!\n"

    Hi, World! Психологическая зависимость от надуманного ООП убивает проекты и их создателей. Всё хорошо в меру. (Найдено на просторах интернета).

    Говногость, 25 Июня 2010

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

    +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
    String.prototype.toCamelCase = function () {
    	var symbols = [], ready = '';
    	for (var z = 0; z < this.length; z++) {
    		symbols[z] = this.charAt(z);
    	} 
    	for (var i = 0; i < symbols.length; i++) {
    		if (symbols[i] == '-') {
    			symbols[i + 1] = symbols[i + 1].toUpperCase();
    		}
    	}
    	for (var q = 0; q < symbols.length; q++) {
    		ready = ready + symbols[q];
    	}
    	ready = ready.replace('-', '');
    	return ready;
    };

    margin-left => marginLeft

    eval, 25 Июня 2010

    Комментарии (126)
  5. C++ / Говнокод #3570

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    //reversed for sorting
        inline bool operator< (const Weight & other) const {
            return (GetValue() > other.GetValue());
        };

    ton4eg, 25 Июня 2010

    Комментарии (47)
  6. Java / Говнокод #3569

    +107

    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
    /**
    	 * Проверяет переданную строку на пустую или null
    	 * @param str
    	 * @return
    	 */
    	public static boolean isEmpty(String str) {
    		if (str == null)	return true;
    		if (str.isEmpty())	return true;
    		if (str.length()==0)     return true;
    		return false;
    	}
    	public static boolean isHtmlLink(String link) {
    		if (StringTools.isEmpty(link)) 		   return false;		 
    		if (!link.toLowerCase().startsWith("http:")) return false;
    		return true;
    	}
    	/**
    	 * resolves full link by taking baseLink & relative link  
    	 * @param link
    	 * @param baseURI
    	 * @return
    	 */
    	public static String resolveLink(String link, String baseURL){
    		try{
    			if (baseURL==null)			
    				return (link==null)? "": link;
    			if (link==null || link.isEmpty())
    				return "";
    			return java.net.URI.create(baseURL).resolve(link).toASCIIString();
    		}
    		catch(Exception _){
    			return "";
    		}
    	}

    рефакторил свой старый код писаный у прошлом годе
    стыдно....

    3.14159265, 25 Июня 2010

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

    +136

    1. 1
    if (this.Visible || this.Invisible)

    обнаружено в коде коммерческой CMS

    mozg_raka, 25 Июня 2010

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

    +144

    1. 1
    var oneWeekAgo = dateObj.valueOf() - 604800000;

    "Ура! у меня есть калькулятор!!1"

    mozg_raka, 25 Июня 2010

    Комментарии (41)
  9. VisualBasic / Говнокод #3566

    −101

    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
    For i = 0 To KolVoprTest - 1
                Select Case i
                    Case 0
                        Form2.B1.Text = PravOtvetS(i)
                    Case 1
                        Form2.B2.Text = PravOtvetS(i)
                    Case 2
                        Form2.B3.Text = PravOtvetS(i)
                    Case 3
                        Form2.B4.Text = PravOtvetS(i)
                    Case 4
                        Form2.B5.Text = PravOtvetS(i)
                    Case 5
                        Form2.B6.Text = PravOtvetS(i)
                    Case 6
                        Form2.B7.Text = PravOtvetS(i)
                    Case 7
                        Form2.B8.Text = PravOtvetS(i)
                    Case 8
                        Form2.B9.Text = PravOtvetS(i)
                    Case 9
                        Form2.B10.Text = PravOtvetS(i)
                    Case 10
                        Form2.B11.Text = PravOtvetS(i)
                    Case 11
                        Form2.B12.Text = PravOtvetS(i)
                    Case 12
                        Form2.B13.Text = PravOtvetS(i)
                    Case 13
                        Form2.B14.Text = PravOtvetS(i)
                    Case 14
                        Form2.B15.Text = PravOtvetS(i)
                    Case 15
                        Form2.B16.Text = PravOtvetS(i)
                    Case 16
                        Form2.B17.Text = PravOtvetS(i)
                    Case 17
                        Form2.B18.Text = PravOtvetS(i)
                    Case 18
                        Form2.B19.Text = PravOtvetS(i)
                    Case 19
                        Form2.B20.Text = PravOtvetS(i)
                End Select
            Next i

    Тут прям без фора и без кейса никак не обойтись.

    Index, 25 Июня 2010

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

    +151

    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
    function addimagesave()
    	{
    		if (!$this->Login->isLogged())
            {
                $this->loginto();
                return;
            }
            else $this->Login->Update();
    		$error = '';
    		$recordExists = false;
    		$post_name = trim($this->input->post('name'));
    		if ($post_name != '') $insert['file_name'] = $post_name;
    		// now need to get from db if id_all in i_pics
    		$this->db->where('id_all',$this->input->post('id_all'));
    		$this->db->limit(1);
    		$query = $this->db->get('i_pics');
    		if ($query->num_rows() == 1)
    		{
    			$row = $query->row();
    			$recordExists = true;
    			$file_name = $row->file_name;
    			$id_pics = $row->id_pics;
    		}
    		if (isset($_FILES['upload']) && ($_FILES['upload']['error'] == 0)) // is file loaded?
    		{
    			$ext = getExtensionOnly($_FILES['upload']['name']);
    			if ($post_name != '') $_FILES['upload']['name'] = $post_name.'.'.$ext;
    			else $post_name = delExtensionWithDot($_FILES['upload']['name']);
    			$_FILES['upload']['name'] = translitIt(delExtensionWithDot($_FILES['upload']['name'])).'.'.$ext;
    			$config['upload_path'] = './pics/';
    			$config['allowed_types'] = 'gif|jpg|png|bmp';
    			$this->load->library('upload', $config);
    			if ($this->upload->do_upload('upload'))
    			{
    				$this->General->setEmes(array('roster'=>"Картинку загружено."), true);
    				$data = $this->upload->data();
    				$insert['file_name'] = $data['file_name'];
    				// resize now
    				$config1['image_library'] = 'gd2'; // выбираем библиотеку
    				$config1['source_image'] = 'pics/'.$data['file_name'];
    				$config1['create_thumb'] = TRUE; // ставим флаг создания эскиза
    				$config1['maintain_ratio'] = true; // сохранять пропорции
    				$config1['width'] = 250; // и задаем размеры
    				$config1['height'] = 180;
    				// pre crack image for resizing! )))
    				$this->load->model('Image');
    				$this->Image->smartsigninto('pics/'.$data['file_name'], 250, 180);
    				$this->load->library('image_lib', $config1); // загружаем библиотеку
    				$this->image_lib->resize(); // и вызываем функцию
    				// now rename and owerwrite original image
    				$ext = getExtensionOnly($data['file_name']);
    				$fol = "pics/";
    				if (is_file($fol.$data['raw_name'].'_thumb.'.$ext))
    				rename($fol.$data['raw_name'].'_thumb.'.$ext, $fol.$data['file_name']);
    				else $this->General->setEmes(array('roster'=>"Файл *_thumb не был создан!"));
    				// now set new file size
    				$insert['size'] = round(filesize($fol.$data['file_name'])/1024 , 2);
    			}
    			else $this->General->setEmes(array('roster'=>$this->upload->display_errors()));
    		}
    		else // we need to try to rename assigned file if name is not empty and file exists
    		{
    			if ($recordExists && is_file('pics/'.$file_name) && ($post_name != ''))
    			{
    				$ext = getExtensionOnly($file_name);
    				$fol = "pics/";
    				$newName = translitIt($post_name).'.'.$ext;
    				if (is_file('pics/'.$newName))
    				{
    					$this->General->setEmes(array('roster'=>"Имя уже существует"), true);
    					$insert['file_name'] = $file_name;
    				}
    				else
    				{
    					rename($fol.$file_name, $fol.$newName);
    					$insert['file_name'] = $newName;
    				}
    			}
    		}
    		// prepare data to be ins or upd
    		$insert['lang'] = 'ru';
    		$insert['title'] = $this->input->post('title');
    		$insert['alt'] = $this->input->post('alt');
    		$insert['id_all'] = $this->input->post('id_all');
    		if ($recordExists)
    		{
    			$this->db->where('id_pics',$id_pics);
    			$this->db->update('i_pics', $insert);
    			$this->General->setEmes(array('roster'=>"Данные обновлены"), true);
    		}
    		else $this->db->insert('i_pics', $insert);
    		$this->redirect('roster/'.$this->input->post('type'));
    	}

    Функция - контроллер сохранения, resize на лету картинки для новости или прочей байды. Есть все проверки. Любая картинка которая приходит, становится размером 250, 180 , причем без растяжения. Это задача типа вписать прямоугольник в прямоугольник, которую я сейчас ночью выполнил - даже если картинка меньше оно впишет. I must be proud about this functionality! Заметим, что в интернете все и умеют что вырезать квадраты из картинки, а произвольный размер - НЕТ такого. Код выложен чтобы вы посмотрели, нравятся ли вам имена переменных, логическое мышление, форматирование, коментарии (на русском - то не мои коментарии). Код CodeIgniter powered.

    increazon, 25 Июня 2010

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