1. PHP / Говнокод #9196

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    foreach($_REQUEST as $_ind => $_val) { $_REQUEST[$_ind] = mysql_real_escape_string($_REQUEST[$_ind]); }
    foreach($_POST as $_ind => $_val) { $_POST[$_ind] = mysql_real_escape_string($_POST[$_ind]); }
    foreach($_GET as $_ind => $_val) { $_GET[$_ind] = mysql_real_escape_string($_GET[$_ind]); }
    foreach($_COOKIE as $_ind => $_val) { $_COOKIE[$_ind] = mysql_real_escape_string($_COOKIE[$_ind]); }

    Защита от инъекций

    ReckO, 22 Января 2012

    Комментарии (98)
  2. ActionScript / Говнокод #9195

    −116

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    /*
    Часть библиотеки MathUtilsLib  (c) Sergey ( FlexMaster ), 2008
    */
    function shuffle( a:Array ):void{
       if( a ){
           a.map( function ( val:*, index:int, o:Array ){ o[index] = {v:val, r:int( 1000*Math.random())} }, a );
           a.sortOn( 'r');
           a.map(  function ( val:*, index:int, o:Array ){ o[index] = val['v']} );
       }
    }

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

    kyzi007, 22 Января 2012

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach(string s in File.ReadAllText(input_text).Replace('ё', 'е').ToLower().Split(new char[] { ',', ' ', '.', '\t', '\r', '\n', '-', '?', '!', '\\', '/', ':', ';', '<', '>', '\'', '\"', '(', ')' }, StringSplitOptions.RemoveEmptyEntries).
    AsParallel().Where<string>(s => (s.Length == 4)).GroupBy(x => x).Select(g => new { Value = g.Key, Count = g.Count() }). OrderByDescending(x => x.Count).Select(f => (f.Value + ' ' + f.Count.ToString())).ToArray())
    {
           Console.WriteLine(s);
    }

    Найдено в коде одного из участников олимпиады сосницких
    Я понимаю, LINQ - это круто, но зачем так издеваться над проверяющим?

    kasthack, 22 Января 2012

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

    +70

    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
    public class Brakets {
    	public static void main(String args[]) {
    		String sample;
    		if (args.length > 0 && args[0] != "")
    			sample = args[0];
    		else
    			sample = "asdf(sd{sd}sdfgs[sdfg{}]_)){}sdfg[sdfg{sdfg}]";
    		// init handler and add patterns
    		BracketHandler b = new BracketHandler();
    		b.add("[", "]");
    		b.add("{", "}");
    		b.add("[", "]");
    		b.add("(", ")");
    
    		// init input stack
    		CommonStack<BracketTemplate> result = new CommonStack<BracketTemplate>();
    
    		for (int i = 0; i < sample.length(); i++) {
    			// Assert that pattern is one characted length
    			String subString = sample.substring(i, i + 1);
    			BracketTemplate tmp = b.getTemplate(subString);
    			if (tmp != null) {
    				if (tmp.isStartPattern(subString)) {
    					result.push(tmp);
    				} else {
    					BracketTemplate t = result.pop();
    					if (t == null || !t.isEndPAttern(subString)) {
    						System.out.print("Check failed");
    						return;
    					}
    				}
    
    			}
    		}
    		System.out.print("Check passed");
    	}
    }

    Ещё одна реализация Brackets, теперь и на Java (от автора предыдущего класса стека)

    varg242, 21 Января 2012

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

    +76

    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
    package brakets;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class CommonStack<T> {
    	private final List<T> items = new ArrayList<T>();
    	private int position = -1;
    
    	public void push(T newEl) {
    		items.add(newEl);
    		position++;
    	}
    
    	public T pop() {
    		if (position >= 0) {
    			T b = items.get(position);
    			items.remove(position);
    			position--;
    			return b;
    		}
    		return null;
    	}
    
    	@Override
    	public String toString() {
    		return "CommonStack [items=" + items + ", position=" + position + "]";
    	}
    
    	public boolean hasNext() {
    		return position >= 0;
    	}
    }

    Человек написал свою реализацию стека на Java

    varg242, 21 Января 2012

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

    +110

    1. 1
    if (TryRemoveF(-foodToAdd)) return true; else return false;

    Накодил ночью на свою голову, называется.

    RaZeR, 21 Января 2012

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

    +141

    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
    #include <iostream>
    using namespace std;
    int main()
    {
      for (int i=1; i<=5;i++)
      {
          for (int i2=1;i2<=5;i2++)
          {
              //Левый и правый фланг
              if ((i2==1) || (i2==5)) { cout << "+";}
              //Верхний и нижний
              if ((i==1) || (i==5))
              {cout << "+";} else {cout << "-";}
    
          }
          cout << "\n";
      }
      return 0;
    }

    По идее, программа должна генерировать сетку вида "Квадрат", где "+" покраям, а в середине "-".
    Есть рабочий вариант

    #include <iostream>
    using namespace std;
    int main()
    {
    for (int i=1; i<=5;i++)
    {
    for (int i2=1;i2<=5;i2++)
    {
    //Левый фланг
    if ((i2==1)) { cout << "+";}
    //Верхний и нижний
    if ((i==1) || (i==5)) {cout << "+";} else {cout << "-";}
    //Правый фланг
    if (i2==5) {cout << "+";}

    }
    cout << "\n";
    }
    return 0;
    }
    Но он не подходит, так как в самом квадрате будут генерировать опр. структуры.

    Splice, 21 Января 2012

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

    +157

    1. 1
    2. 2
    if (!isset($GLOBALS['abort']) || ! $GLOBAL['abort'] || $GLOBALS['abort'] !== true || !$_SESSION["AMP_user"]->checkSection('999')) {
    			if (core_devices_add($deviceid,$tech,$devinfo_dial,$devicetype,$deviceuser,$description,$emergency_cid)) {

    Нашёл внутри Elastix'a

    admincheg, 21 Января 2012

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <i id="hdrtxt"><?php echo $item['header']; ?></i>
    <style>
    ...
    #hdrtxt{
    font-style:normal;
    }
    ...
    </style>

    khaletskiy, 20 Января 2012

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

    +76

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static List<Character> englishAlphabet;
    
        public static final Integer ENGLISH_ALPHABET_LENGTH = 26;
    
        static {
            englishAlphabet = new ArrayList<Character>();
            englishAlphabet.add('#');
            for (int i = 0; i < ENGLISH_ALPHABET_LENGTH; i++) {
                englishAlphabet.add((char) ('A' + i));
            }
        }

    Товарищ уже уволился :)

    jekyll, 20 Января 2012

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