1. Perl / Говнокод #2862

    −110.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    # АРТ
        return -1 if
                    !$project_id                    ||
                    length $name > 32               || !(length $name)       ||
                    length $password > 32           || !(length $password)   ||     #########->*
                    length $repassword > 32         || !(length $repassword) ||
                    $name =~ /[^\w\d]+/ig           ||
                    $password =~ /[^\w\d]+/ig       ||
                    $repassword =~ /[^\w\d]+/ig;

    Вдохновение, хули ...

    klem4, 24 Марта 2010

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

    +164.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // HTML:
    // <input type="hidden" name="comm_validation" value="true" tabindex="3" />
    
    // wp-comments-post.php 
    if ($_POST['comm_validation'] != 'true')
    {
        exit();
    }

    Эффективная защита от спама без помощи плагинов. Нашел в каментах http://nutwin.net.ru/effektivnaya-zashhita-ot-spama-bez-plaginov/

    wwwguru, 24 Марта 2010

    Комментарии (16)
  3. bash / Говнокод #2860

    −139.2

    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
    #!/bin/bash
    musicdir='/home/neko/Music/mdata'
    
    maxval=`ls -1 $musicdir | wc -l`
    
    randomize() {
    rndnum=`echo $[$(echo $[$RANDOM % $maxval])+1]`
    }
    
    randomize;
    
    while [ "$rndnum" == 0 ]; do randomize; done
    
    rndsong=`ls $musicdir | head -n $rndnum | tail -n 1`
    
    echo $rndsong

    Собственно, "случайное воспроизведение".

    snoopcatt, 24 Марта 2010

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

    +971.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    string[] dateStringParts = dateString.Split(new [] {DateTimeFormatInfo.CurrentInfo.DateSeparator}, StringSplitOptions.RemoveEmptyEntries);
    
    if (dateStringParts.Count() != 3)
    {
        dateStringParts = DateTime.Now.ToString("dd MMMM yyyy").Split(' ');
    }
    
    string day = dateStringParts[0];
    string month =  dateStringParts[1];
    string year = dateStringParts[2];
    string shortYear = dateStringParts[2].Substring(dateStringParts[2].Length - 2, 2);

    Учитесь парсить дато! :)

    adoconnection, 24 Марта 2010

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

    +146.2

    1. 1
    2. 2
    3. 3
    4. 4
    <script language="javascript">
    			if ("True" == "True")
    				document.getElementById('FrmToMPI').submit();
    </script>

    Это в исходниках процессинга приват банка :))
    Медитирую... :))

    ccoder, 24 Марта 2010

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

    +59.8

    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
    void addItem(QStringList &lst, QTreeWidget *ptwg)
    {
    	bool a0 = false;
    	for (int i = 0; i < ptwg->topLevelItemCount(); ++i) {
    		if (lst.at(0) == ptwg->topLevelItem(i)->text(0)) {
    			a0 = true;
    			bool a1 = false;
    			QTreeWidgetItem *itm0 = ptwg->topLevelItem(i);
    			for (int j = 0; j < itm0->childCount(); ++j) {
    				if (lst.at(1) == itm0->child(j)->text(1)) {
    					a1 = true;
    					bool a2 = false;
    					QTreeWidgetItem *itm1 = itm0->child(j);
    					for (int k = 0; k < itm1->childCount(); ++k) {
    						if (lst.at(2) == itm1->child(k)->text(2)) {
    							a2 = true;
    							bool a3 = false;
    							QTreeWidgetItem *itm2 = itm1->child(k);
    							for (int l = 0; l < itm2->childCount(); ++l) {
    								if (lst.at(3) == itm2->child(l)->text(3)) {
    									a3 = true;
    									QTreeWidgetItem *itm3 = itm2->child(l);
    									QTreeWidgetItem *itm4 = new QTreeWidgetItem(itm3, QStringList() << "" << "" << "" << "" << lst.at(4));
    									break;
    								}
    							}
    							if (!a3) {
    								QTreeWidgetItem *itm3 = new QTreeWidgetItem(itm2, QStringList() << "" << "" << "" << lst.at(3));
    								QTreeWidgetItem *itm4 = new QTreeWidgetItem(itm3, QStringList() << "" << "" << "" << "" << lst.at(4));
    							}
    							break;
    						}
    					}
    					if (!a2) {
    						QTreeWidgetItem *itm2 = new QTreeWidgetItem(itm1, QStringList() << "" << "" << lst.at(2));
    						QTreeWidgetItem *itm3 = new QTreeWidgetItem(itm2, QStringList() << "" << "" << "" << lst.at(3));
    						QTreeWidgetItem *itm4 = new QTreeWidgetItem(itm3, QStringList() << "" << "" << "" << "" << lst.at(4));
    					}
    					break;
    				}
    			}
    			if (!a1) {
    				QTreeWidgetItem *itm1 = new QTreeWidgetItem(itm0, QStringList() << "" << lst.at(1));
    				QTreeWidgetItem *itm2 = new QTreeWidgetItem(itm1, QStringList() << "" << "" << lst.at(2));
    				QTreeWidgetItem *itm3 = new QTreeWidgetItem(itm2, QStringList() << "" << "" << "" << lst.at(3));
    				QTreeWidgetItem *itm4 = new QTreeWidgetItem(itm3, QStringList() << "" << "" << "" << "" << lst.at(4));
    			}
    			break;
    		}
    	}
    	if (!a0) {
    		QTreeWidgetItem *itm0 = new QTreeWidgetItem(ptwg, QStringList() << lst.at(0));
    		QTreeWidgetItem *itm1 = new QTreeWidgetItem(itm0, QStringList() << "" << lst.at(1));
    		QTreeWidgetItem *itm2 = new QTreeWidgetItem(itm1, QStringList() << "" << "" << lst.at(2));
    		QTreeWidgetItem *itm3 = new QTreeWidgetItem(itm2, QStringList() << "" << "" << "" << lst.at(3));
    		QTreeWidgetItem *itm4 = new QTreeWidgetItem(itm3, QStringList() << "" << "" << "" << "" << lst.at(4));
    	}
    }

    Функция = ) Добавляет в контрол иерархического дерева (5 уровней) элемент, не перерисовывая при этом само дерево, не закрывая никаких открытых веток.

    JC_NVKZ, 24 Марта 2010

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

    +113

    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
    public partial class Form1 : Form
    {
    	// ...
    
    	public Form1()
    	{
    		InitializeComponent();
    
    		// If Connection string empty
    		if (XmlConfig.GetPropetry("ConnectionString", "ConnectionString") == "")
    		{
    			MessageBox.Show("Type connection option in the next window", "Connection String is empty", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    			frmOptions dlg = new frmOptions();
    			dlg.ConnectionString = true;
    			if (dlg.ShowDialog() == DialogResult.OK)
    			{
    				System.Diagnostics.Process.Start(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Application.exe"));
    			}
    			Close();
    		}
    		// ...
    	}
    	// ...
    }

    В конструкторе главного окна приложения проверяется есть ли в конфиге строка подключения к базе. Если нет, то открывается окошко с опциями для ввода параметров подключения к базе. При успешном вводе сохраняется строка подключения в конфиг и программа перезапускается, чтобы загрузиться с новой строкой подключения))) Пришлось вот переделывать такую программу, после другого программиста. Как можно было до такого додуматься понять не могу)))

    archer, 24 Марта 2010

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

    +149.2

    1. 1
    $is_use_newstyle = ($newstyle == 1) ? 1 : 0;

    shureg, 24 Марта 2010

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

    −864.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    FOREACH    SELECT n.prod_code INTO _prod_code
        FROM tov_prod_link_g l, nsi_resource n
        WHERE l.prod_code = n.prod_code
        AND l.gr_id = _gr_id
        ORDER BY n.res_name
    
    LET _nn_por = _nn_por +5;
    
        UPDATE tov_prod_nn_por SET nn_por =_nn_por    WHERE prod_code = _prod_code;

    ))) такие у нас перлы выдают) вместо одного апдейта нахерачить процедуру, для некоторых это нормально)

    SERGI, 24 Марта 2010

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

    +118.4

    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
    //Находит строку и возвращает строку под ней
    public string FindRowUnder(string str)
    {
         string nextRes = string.Empty;
         var res = _oSheet.get_Range("A1", "Z100").Find(str,...);
         if (!String.IsNullOrEmpty(res))
         {
              int iCol = Convert.ToInt32(_oSheet.get_Range("A1", "Z100").Find(str...).Column);
              int iRow = Convert.ToInt32(_oSheet.get_Range("A1", "Z100").Find(str...).Row);
              iRow++;
              nextRes = _oSheet.get_Range(Alfabet.Substring(iCol - 1, 1) + iRow, Type.Missing).Value2.ToString();
         }
         return nextRes;
    }
    
    //  Находит строку и забирает 2 строки  под ней
    public string FindDoubleRowUnder(string str)
    {
          string res = _oSheet.get_Range("A1", "F100").Find(str...).Value2.ToString();
          if (!String.IsNullOrEmpty(res))
          {
              int iCol = Convert.ToInt32(_oSheet.get_Range("A1", "F100").Find(str...).Column);
              int iRow = Convert.ToInt32(_oSheet.get_Range("A1", "F100").Find(str...).Row);
              iRow = iRow + 1;
              if (_oSheet.get_Range(Alfabet.Substring(iCol - 1, 1) + iRow, Type.Missing).Value2 != null)
              {
                   nextRes = _oSheet.get_Range(Alfabet.Substring(iCol - 1, 1) + iRow, Type.Missing).Value2.ToString();
              }
              iRow++;
              if (_oSheet.get_Range(Alfabet.Substring(iCol - 1, 1) + iRow, Type.Missing).Value2 != null)
              {
                   nextRes += " " + _oSheet.get_Range(Alfabet.Substring(iCol - 1, 1) + iRow, Type.Missing).Value2;
              }
         }
         return nextRes.Trim();
    }
    
    //  Находит строку и забирает 3 строки  под ней
    public string FindTripleRowUnder(string str)
    {
         ... думаю писать не стоит так как там почти то же самое, что и выше
    }

    Интересно, когда надо будет получить 4 или 5 строк товарищ будет писать еще один метод?

    Karasb, 24 Марта 2010

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