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

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

    +164.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function personGetAge($birthday) {
    	$m = intval(substr($birthday, 5, 2));
    	$d = intval(substr($birthday, 8, 2));
    	$y = intval(substr($birthday, 0, 4));
    
    	$age = time() - mktime(12, 0, 0, $m, $d, $y);
    
    	return floor($age / (60*60*24*365.2425));
    }

    А какая глубокая идея...)))

    dmarco, 22 Декабря 2009

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

    +164.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int _I_ = 0;
    if (x > GetConstVal ())
       _I_ = 1;
    int ka = (_I_) * k;
    int kaka = (_I_); //Это случайно получилось :(

    Просто просится наложить...

    guest, 27 Января 2009

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

    +164.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
    $_GET = array_map('trim', $_GET);
    $_POST = array_map('trim', $_POST);
    $_COOKIE = array_map('trim', $_COOKIE);
    $_REQUEST = array_map('trim', $_REQUEST);
    if(get_magic_quotes_gpc()):
        $_GET = array_map('stripslashes', $_GET);
        $_POST = array_map('stripslashes', $_POST);
        $_COOKIE = array_map('stripslashes', $_COOKIE);
        $_REQUEST = array_map('stripslashes', $_REQUEST);
    endif;
    $_GET = array_map('mysql_real_escape_string', $_GET);
    $_POST = array_map('mysql_real_escape_string', $_POST);
    $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
    $_REQUEST = array_map('mysql_real_escape_string', $_REQUEST);

    Нашел в комментах к пхпшной ф-ции mysql_real_escape_string().
    Очевидно, код чешет все суперглобалы на вшивость, чтобы затем можно было механически юзать все "без проверки". Пиздец.

    htmlcoder-exe, 20 Февраля 2010

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

    +164.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    while ($rst=mysql_fetch_array($rst_query))
    {
        $clist.="," . $rst["es_id"];
        $thislist="-1," . $rst["es_id"];
        while ($rst=mysql_fetch_array($rst_query))
        {
            $clist.="," . $rst["es_id"];
            $thislist.="," . $rst["es_id"];
        }
        $rst_query=mysql_query("Select * from esb2b_categories where es_pid in (" . $thislist . ")" );
    }

    разрыв мозга
    made by какой-то индус

    primpil, 16 Ноября 2009

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

    +164.1

    1. 1
    $this->get('begin_at') > date('Y-m-32')

    Так я проверяю, что еще не начался месяц даты begin_at (в формате Y-m-d)

    HyperGeek, 11 Марта 2010

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

    +164.1

    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
    /**
    function.php
    */
    function result($selected, $sources, $date_from, $date_till, $step)
    {
      $ret = $header = array();
      if (is_array($selected) and count($selected))
      {
        foreach ($selected as $item=>$value)
        {
          if ('on' == $value)
          {
            $header[$item] = $sources[$item]['name'];
            if (isset($sources[$item]['db_host']))
            {
              // external db
              class DB_EXT extends DB
              {
    .......

    объявление класса внутри цикла внутри функции!!
    рыдааййууу

    shitcoder, 18 Августа 2009

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

    +164

    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
    function addnews($str1="", $str2="", $str3="", $str4="", $str5=""){
      $num = 0;
      $done = 0;
      while ($done == 0){
        $num++;
        $s = "";
        if ($num<10000000) {$s="0".$s;}
        if ($num<1000000)  {$s="0".$s;}
        if ($num<100000)   {$s="0".$s;}
        if ($num<10000)    {$s="0".$s;}
        if ($num<1000)     {$s="0".$s;}
        if ($num<100)      {$s="0".$s;}
        if ($num<10)       {$s="0".$s;}
    	$done = 1;
    	if (file_exists("news/".$s.$num.".txt")){$done=0;}
      }
      $fh1 =fopen("news/".$s.$num.".txt","w");
      fwrite($fh1, $str1."\r\n");
      fwrite($fh1, $str2."\r\n");
      fwrite($fh1, $str3."\r\n");
      fwrite($fh1, $str4."\r\n");
      fwrite($fh1, $str5);
      fclose($fh1);
    }

    Предложили доработать корпоративную тикет-систему. Движок абсолютно всё хранит в txt-файлах. Да, и пароли пользователей тоже - в открытом виде. БД? Нет, не слышали :(
    Но это еще не так страшно...

    Arris, 26 Марта 2015

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

    +164

    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
    private static function getKey($len = 8)
     {
        global $db;
    
      $chars = 'QWERTYUIOPASDFGHJKLZXCVBNM0123456789';
      $key = '';
    
      for ($i = 0; $i < $len; $i++)
      {
       $key .= substr($chars, rand(1, strlen($chars)) - 1, 1);
      }
    
      if ($db -> select(
       'SELECT *
       FROM ' . self::$t_main .
       ' WHERE `key` = "' . $key . '"'))
      {
       return ModelTickets::getKey();
      }
    
      return $key;
     }

    "Генератор" уникального ключа.

    Автор кода когда-то хотел к нам на работу устроиться. Но всё как-то не срасталось, а потом другую работу нашёл. Я об этом долгое время жалел, но потом я нашёл вот этот код, за его авторством. И я понял, б-г есть, уберёг контору от страшного.

    Рекурсия по базе данных - это надо иметь особый склад ума.

    Shitafaka, 10 Марта 2015

    Комментарии (32)
  10. JavaScript / Говнокод #17652

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    window.onload = function (){
         var divs=document.getElementsByTagName("DIV");
         for( var i=0; i<divs.length; i++)
         if(divs[i].className=="pro")
              divs[i].style.minHeight=0+"px" 
         ;
    }

    Целостность кода сохранена.

    korovnikissi, 16 Февраля 2015

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

    +164

    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
    // КЛАСС: класс 1
    class clsClass1 {
    	public function Test1() {
    		echo('Вызов из объекта clsClass2');
    	}
    }
    // КЛАСС: класс 2
    class clsClass2 {
    	public function Test2() {
    		objClass1()->Test1();
    	}
    }
    
    // ФУНКЦИЯ: возвращает объект
    function objClass1() {
    	// объявление глобальной переменой
    	global $objClass1;
    	// создание объекта
    	if (!isset($objClass1)) $objClass1 = new clsClass1();
    	// сохранение результата
    	return $objClass1;
    }
    
    // создание объекта класса 2
    $objClass2 = new clsClass2;
    
    // вызываем метод Test2() класса 2
    $objClass2->Test2();

    Как вызвать из метода класса метод другого класса? Это же очевидно!
    1. Обмазаться глобальными переменными
    2. Навелосипедить недосирглтон
    3. ?????
    4. PROFIT!

    http://www.sql.ru/forum/1136133/kak-obratitsya-k-obektu-iz-funkcii-klassa

    Stallman, 09 Февраля 2015

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