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

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $id = $fInt->filter($this->_getParam('id'));
            $sort = $fInt->filter($this->_getParam('sort'));
            $c_name = $this->mbtrim($fStr->filter($this->_getParam('c_name')));
            $c_shortname = $this->mbtrim($fStr->filter($this->_getParam('c_shortname')));
            $email = $this->mbtrim($fStr->filter($this->_getParam('email')));
            $d_firstname = $this->mbtrim($fStr->filter($this->_getParam('d_firstname')));
            $d_lastname = $this->mbtrim($fStr->filter($this->_getParam('d_lastname')));
    ...

    И так около 20 строк. Какие есть хорошие варианты фильтровать множество разнотипных данных?

    asfalanaft, 15 Сентября 2010

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

    +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
    function ss ($id){ // получить дату рождения по ИНН для украины
    
    $result = array();
    
        //sex
        $result['sex'] = (substr($id,8,1) % 2) ? 'M' : 'F';
    
        //birthdate
        $days = substr($id,0,5);
        $year = 1900; $day = 01; $month = 01;
        while ($days > 0)
            {
            $daysInYear = (checkdate (02, 29, $year)) ? 366 : 365;
            if ($days > $daysInYear)
                {
                $days -= $daysInYear;
                $year ++;
                }
            else{
                for ($daysInMonth = 31; !checkdate($month, $daysInMonth, $year); $daysInMonth–) ;
                if ($days > $daysInMonth)
                    {
                    $days -= $daysInMonth;
                    $month ++;
                    }
                else{
                    $day = $days;
                    $days = 0;
                    }
                }
            }
        $result['year'] = $year;
        $result['month'] = $month;
        $result['day'] = $day;
    
        return $result;
    }
    
    обходить каждый день начиная с 1900 это сила

    быстрее было бы

    $inn = '2322222222';
    $inn = substr($inn,0,5);
    $normal_date = date("d.m.Y", strtotime('01/01/1900 + ' . $inn . ' days - 1 days'));

    ggggg, 09 Сентября 2010

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

    +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
    function renameimage($dir,$file) 
      {
         $words=array('fuck','blia','fuck_you_spilberg','mazfaka','simpsons');
         $rand=array_rand($words);
         $type_foto=end(explode(".", $file));
         $new_name_of_foto=md5($rand[$words].$file).'.'.$type_foto;
         $ren=rename($dir.$file,$dir.$new_name_of_foto);
        if($ren)
        {
    	    return $new_name_of_foto;
        }
        else  
        {
    	    echo 'не получилось...<br>';
        }
      }

    пыщ-пыщ

    GoodTalkBot, 08 Сентября 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function actionId(child) {
    	return child.action[{
    		'menu': 'ivrMenuId',
    		'queu': 'queueId',
    		'scenario': 'scenarioId'
    	}[child.action.type.toLowerCase()]];
    }

    Те,кто будет это поддерживать, недостойны моего сострадания!

    ixth, 01 Сентября 2010

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

    +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
    $divid = '';
    
    if ( $ja_left && $ja_right && $ja_mascol ) {
      //2 columns on the right
    	$divid = '';
    } elseif ( ($ja_left && !$ja_right && !$ja_mascol) ) {
      //One column without masscol
    	$divid = '-lo';
    } elseif ((!$ja_left && $ja_right && !$ja_mascol)) {
      //One column with masscol
    	$divid = '-ro';
    } elseif ((!$ja_left && !$ja_right && $ja_mascol)) {
      //One column with masscol
    	$divid = '-mo';
    } elseif ((!$ja_left && $ja_right && $ja_mascol)) {
      //One column with masscol
    	$divid = '-rm';
    } elseif (($ja_left && !$ja_right && $ja_mascol)) {
      //One column with masscol
    	$divid = '-lm';
    } elseif (($ja_left && $ja_right && !$ja_mascol)) {
      //One column with masscol
    	$divid = '-lr';
    } else {
      //No column in right
    	$divid = '-w';
    }
    
    
    // далее в другом файле
    
    <div id="ja-containerwrap<?php echo $divid ?>">

    Шаблон для жумлы. Особенно хороши комментарии

    mad_max, 31 Августа 2010

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

    +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
    float size = xLabelItemHeight + xLabelItem2Height + xLabelItem3Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
    if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    {
    	size = xLabelItemHeight + xLabelItem2Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
    	if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    	{
    		size = xLabelItemHeight + xLabelItem2Height + xTickItem_->tickSize() + tickGap();
    		if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    		{
    			size = xLabelItemHeight + xTickItem_->tickSize() + tickGap();
    			if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    			{
    // а дальше ничего не важно.

    Ну что, мои находки всё так же унылы?

    Altravert, 18 Августа 2010

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

    +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
    //------------------ Функция определения реального IP --------------------//
    {
    	if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match("|^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$|", $_SERVER['HTTP_X_FORWARDED_FOR'])){
    	$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];}
    	elseif(isset($_SERVER['HTTP_CLIENT_IP']) && preg_match("|^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$|", $_SERVER['HTTP_CLIENT_IP'])) {
    	$ip = $_SERVER['HTTP_CLIENT_IP'];}
    	else {$ip = preg_replace("|[^0-9.]|", "", $_SERVER['REMOTE_ADDR']);}
    	$ip=$ip;
    }
    
    
    //------------------ Функция определения реального браузера --------------------//
    {
    	if (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) {$browsus = htmlspecialchars(stripslashes($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']));}
    	elseif(isset($_SERVER['HTTP_USER_AGENT'])) {$browsus=htmlspecialchars(stripslashes($_SERVER['HTTP_USER_AGENT']));} 
    	else {$browsus='Not_detected';}
    	$brow=preg_replace('|http://|i','', $browsus);
    	$brow=strtok($brow,'(');
    	$brow=strtok($brow,' ');
    	$brow=substr($brow,0,22);
    	$brow=$brow;
    }

    особенно нужные последнии строки в блоках

    Morgan, 08 Августа 2010

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

    +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
    mysql_select_db($sqlDB);
    if ($_GET['tip']=='sp'){
      $w = mysql_query("SELECT * FROM status_user ORDER BY score DESC");
    if (@mysql_num_rows($w)>50) $kol=50;
    else $kol=mysql_num_rows($w);          
    for ($c=0; $c<$kol; $c++)
    {
    $rd = mysql_fetch_array($w);
     echo '<item>
    <id>'.$rd['id'].'</id>
    <score>'.$rd['score'].'</score>
    </item>';} 
    }

    хуита, 07 Августа 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    var s = '';
    	s += (hours)  ? ( (hours>9)  ? hours  + ':' : '0' + hours  + ':') : '00:';
    	s += (minute) ? ( (minute>9) ? minute + ':' : '0' + minute + ':') : '00:';
    	s += (second) ? ( (second>9) ? second + '.' : '0' + second + '.') : '00.';

    почему бы не сделать так:
    var s = '';
    s += (hours<10) ? '0' + hours : hours) + ':';
    // и так далее...

    rudolff, 05 Августа 2010

    Комментарии (25)
  11. JavaScript / Говнокод #3849

    +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
    function doIframe(){
    	o = document.getElementsByTagName('iframe');
    	for(i=0;i<o.length;i++){
    		if (/\bautoHeight\b/.test(o[i].className)){
    			setHeight(o[i]);
    			addEvent(o[i],'load', doIframe);
    		}
    	}
    }
    
    function setHeight(e){
    	if(e.contentDocument){
    		e.height = e.contentDocument.body.offsetHeight + 35;
    	} else {
    		e.height = e.contentWindow.document.body.scrollHeight;
    	}
    }
    
    function addEvent(obj, evType, fn){
    	if(obj.addEventListener)
    	{
    	obj.addEventListener(evType, fn,false);
    	return true;
    	} else if (obj.attachEvent){
    	var r = obj.attachEvent("on"+evType, fn);
    	return r;
    	} else {
    	return false;
    	}
    }
    
    if (document.getElementById && document.createTextNode){
     addEvent(window,'load', doIframe);	
    }

    http://www.lost-in-code.com/wp-content/projects/auto-iframe-height/jquery.autoheight.js

    striker, 02 Августа 2010

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