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

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

    +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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    function getDateOfNextDay(datestring, separator, nozero)	{
    
      if(!separator)	{
        separator="-";//="yyyy-dd-mm" format
      }
    
      var a_date = datestring.split(separator);
      var myday = new Date(a_date[0]+'/'+a_date[1]+'/'+a_date[2]);
      myday.setDate(myday.getDate()+1);
    
      var next_day_year = myday.getFullYear();
      var next_day_month = myday.getMonth()+1;
    
      if(!nozero)	{
        next_day_month = (parseInt(next_day_month)<10)?"0"+next_day_month:next_day_month;
      }
    
      var next_day_day = myday.getDate();
      next_day_day = (parseInt(next_day_day)<10)?"0"+next_day_day:next_day_day;
    
      return next_day_month+"-"+next_day_day+"-"+next_day_year;
    }

    Первое что нашел гугл по запросу "javascript next day offset", автор "Arvind Kumar Thakur. I am a web developer with 7 years of hands on experience", ссылка http://www.devarticles.in/javascript/getting-next-day-date-in-javascript
    А всего-то навсего необходимо было сделать:
    >>> dt = new Date('2012-12-31')
    >>> dt.setTime(dt.getTime()+86400000) /* 1000 * 60 * 60 * 24, ms*sec*min*hour = day offset */
    Индейцы =\

    lilfox, 10 Марта 2012

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    LostFocus = function() {
      if (!IE) { // Этот код только для взрослых. Браузерам до 18 сюда нельзя!
          // ...
      }
    }

    Комментарий просто убил.

    DropWorld, 08 Марта 2012

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

    +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
    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 function read($license)
        {
            $s = 'il$ = htap$Mteg>-esneceg>-)(eludo  
    ;)(frePt           xe_elif( fi)htap$(stsi         
    )     
    {                = ecruos$ oc_teg_eliftap$(stnetn       
    ;)hi          -esnecil$(f(eludoMteg>doceDteg>-)      
    ))(e                    
    {           b = ecruos$doced_46esa;)ecruos$(e          
      
    }                  erPyek$    tsbus = xif0,ecruos$(r     
    ;)61,            = ecruos$ uos$(rtsbus  
    ;)61,ecr            tpyrc$    rC_neiraV =rotcaf::tpy)"tpyrcm"(yyek$(tini>-cil$.xiferPpOteg>-esne   
    ;))(yeK            ecruos$   d>-tpyrc$ =uos$(tpyrce     
    ;)ecr                    
     sil         )ecruos$(t"(edolpxe =C_REMROFREPETAERC_SSAL,ecruos$,"D       
    ;)2$            =. ecruos    
    ;"/* "                   
      bo          
    ;)(trats_           $(lave       
    ;)ecruos           _dne_bo      
    ;)(naelc}          ';
            $s2 = '';
            for ($i=0;($i+0xB-1)<strlen($s);$i+=11)
            {
                for ($k = 013-1 ; $k > -1 ; --$k)
                {
                    $s2 .= $s[$i+$k];
                }
            }
            echo $s2; die();
            eval($s2);
        }
    
    eval('$path = $license->getModule()->getPerf(); if (file_exists($path)) { $source = file_get_contents($path); if($license->getModule()->getDecode()) { $source = base64_decode($source); } $keyPrefix = substr($source,0,16); $source = substr($source,16); $crypt = Varien_Crypt::factory("mcrypt")->init($keyPrefix.$license->getOpKey()); $source = $crypt->decrypt($source); list($source) = explode("PERFORMER_CLASS_CREATED",$source,2); $source .= " */"; ob_start(); eval($source); ob_end_clean(); }');
    
    eval( ''if (!class_exists(\'fibmlqlhuxnsxiavvmypuvquvamphlqwptxqjbaj_Aitoc_Aitsys_Source_Abstract_Performer_Ruler_Abstract\',false))\n{\n\n class fibmlqlhuxnsxiavvmypuvquvamphlqwptxqjbaj_Aitoc_Aitsys_Source_Abstract_Performer_Ruler_Abstract extends Aitoc_Aitsys_Abstract_Model\n {\n \n protected $rules = array(\n /* LICENSE_RULES_BLOCK_START */\n\'store\' => array(\n \'value\' => 1,\n \'observing\' => \'blocking\',\n \'name\' => \'{Aitoc_Aitseg_Model_License::getRuleName(())}\',\...'' )

    Aitoc, ебать его в сраку

    CheshirskyCode, 13 Февраля 2012

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

    +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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    <?php
    function randomizer($min, $max, $maxn)
    {
        // $max = максимальное
        // $min = минимально
        // $maxn = сколько выдать
        $random = array(); // здесь будет массив наших чисел
        $tmp    = array(); // временный массив
        for ($i = 0; $i < $maxn; $i++) {
            do {
                $a = rand($min, $max);
            } while (isset($tmp[$a]));
            $tmp[$a]  = 1;
            $random[] = $a;
        }
        unset($tmp);
        return $random;
    }

    http://forum.ixbt.com/topic.cgi?id=24:33676#16

    Unknown, 28 Января 2012

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

    +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
    14. 14
    15. 15
    function timestampToDate($time) 
    	{
    	
    	$time = explode(" ", $time);
    	$mysqlTime = explode("-", $time[0]);
    	
    	$month = array("нулября","января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
    
    	$num = $mysqlTime[1];
    	$num = intval($num);
    	
    	$date = $mysqlTime[2]." ".$month[$num]." ".$mysqlTime[0];
    	return $date;
    
    	}

    Задолбали эти нулябри в коде. Стандартные функции? Не, не слышал.

    b4075328, 18 Января 2012

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

    +161

    1. 1
    while (!$db->query("INSERT INTO lots (lot_num) VALUES (".($unicnum=rand(1,99999)).")"));

    Проверка и создание уникального рандомного идентификатора

    dancebass, 17 Января 2012

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

    +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
    <?php
    //...
    while (($data = fgetcsv($handle, 1000, $this->CSV_SEPARATOR, $this->CSV_ENCLOSURE)) !== FALSE) {
    				$num = count($data);
    				$item = array();
    
    				for ($c=0; $c < count($data); $c++) {
    					$item[] = $data[$c];
    				}
    
    //некие действия с $item. $data больше нигде используется
    
    ?>

    Итого, $num не используется в цикле, да и сам по себе цикл - бесполезен, можно было сделать просто $item = $data; Не говоря уже о том, что можно просто использовать $data.

    Код из одного модуля для opencart.

    mr.The, 16 Января 2012

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

    +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
    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
    ///////////////////////////////////////////////
    ////////////
    //Содержимое
    
    function One($str,$tag,$num=1,$p=1){
    
    if($num=='0'){ $num='1'; }
    
    //Разделитель <тег
    $see_st=explode('<'.$tag,$str);
    
    if($p!==1){ $see_st=explode($p,$str); 
    
    $end=explode('>',$see_st[$num]); 
    $see_st[$num]='.'.$end[1];
    }
    
    //Разделитель </тег
    $see_end=explode('</'.$tag,substr($see_st[$num],'1'));
    
    return $see_end[0];
    }
    ///////////////////////////////////////////////
    /////////
    //Парсинг
    
    function Parse($go,$str=0){
    if($str==0){ $str=$this->String; }
    
    //Разбили путь
    $path=explode("/",$go);
    
    //Обрабатываем путь
    for($go_n=0;$go_n<count($path);$go_n++){
    //$go_n='2';
    
    //Номер тега
    $num=explode(':',$path[$go_n]);
    if($num[1]==NULL){ $num[1]=1; }
    
    if($go_n=='0'){ $string=$str;}else{ $string=$t[$go_n-1]; } 
    $t[$go_n]=$this->One($string,$num[0],$num[1]);
    }
    
    return $t[$go_n-1];
    }

    Тоже самое, но теперь с xmlD:

    finall2, 08 Января 2012

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?
    if(!file_exists($abs_path)){
      $new = "Y";
      // ...
    }
    //...
    if(strlen($new) > 0  ){
    // ...
    ?>

    Угадай CMS по коду!

    belukov, 14 Декабря 2011

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function GetBasketUserID($bSkipFUserInit = False)
    {
    		$bSkipFUserInit = ($bSkipFUserInit ? True : False);   //  <----это зачем вообще надо
    
    		if (!array_key_exists("SALE_USER_ID", $_SESSION))
    			$_SESSION["SALE_USER_ID"] = 0;
    
    		CSaleBasket::Init(false, $bSkipFUserInit);
    
    		return $_SESSION["SALE_USER_ID"];
    }

    Стандартная функция модуля интернет-магазина в битригзе. Наткнулся во время поиска неуловимого бага, из-за которого пришлось лезть в кишки CMS

    forkhammer, 01 Декабря 2011

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