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

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

    +152

    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
    // ------------------- Max_id & Min_id functions ------------------|
    function get_id($user_query, $col="id", $type="max"){
    
    	global $getdata;
    
    	$query = mysql_query("select distinct `".$col."` from ".$getdata['pref'].$user_query);
    	for($i=1;$w = mysql_fetch_array($query);){
    		if($w[$col]>=$id){$id = $w[$col];}
    	}
    
    	if($type!="max"){
    		$query = mysql_query("select distinct `".$col."` from ".$getdata['pref'].$user_query);
    		while($w = mysql_fetch_array($query)){
    			if($w[$col]<=$id){$id = $w[$col];}
    		}
    	}
    
    	return $id;
    }
    // ------------------- Max_id & Min_id functions ------------------|

    good_web_master, 11 Сентября 2013

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $("li").bind("mousemove", function(event) {
        $(this).find("div.tooltip").css({
            top: event.pageY + 5 + "px",
            left: event.pageX + 5 + "px"
        }).show();
    }).bind("mouseout", function() {
        $("div.tooltip").hide();
    });

    http://stackoverflow.com/questions/4514268/jquery-hidden-div-mouseover-tooltip
    //по хорошему делается через $().hover, оригинальный вариант TORMOZIT

    heyzea1, 02 Сентября 2013

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

    +152

    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
    public function actionAddnumber()
    {
    	$model = $this->loadUser();
    	 
    	if(!$model->profile->mobile1)	  {$model->profile->mobile1=$_POST['number'];
    	}elseif(!$model->profile->mobile2){$model->profile->mobile2=$_POST['number'];
    	}elseif(!$model->profile->mobile3){$model->profile->mobile3=$_POST['number'];
    	}elseif(!$model->profile->mobile4){$model->profile->mobile4=$_POST['number'];
    	}elseif(!$model->profile->mobile5){$model->profile->mobile5=$_POST['number'];
    	}elseif(!$model->profile->mobile6){$model->profile->mobile6=$_POST['number'];
    	}else{ echo "Больше нет свободны номеров"; yii::app()->end(); }
    	echo " Сохранено";
    	$model->profile->save();
    	yii::app()->end();
    }

    Yii

    flashbag, 27 Августа 2013

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

    +152

    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
    <? if(Yii::app()->controller->getCurrentModelName()!=="Home") { ?>
    		<div id="nav"><?php
                $this->widget(
                    'Breadcrumbs',
                    array(
                        'links' => $this->breadcrumbs,
                        'homeLink' => false,
                        'separator' => ' &nbsp;&raquo; ',
                    )
                );
                ?></div>
    		
    		<h1 class="title">
    		<? if(Yii::app()->controller->getCurrentModelName()!=="Home") {?>
    		<? echo $this->getCurrentModel()->name ?>
    		<?
    		}
    		?>
    		
    		<? if( $this->getCurrentModelName() === 'Product') {?>
    				<a href="javascript:window.print()" class="icon_print"></a>
    			<? } ?>
    		</h1>
    			
    <? } ?>

    Фреймворки способствуют написанию хорошего кода, ага.

    Tairesh, 27 Августа 2013

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ($val['postName'] == "СПб"){
        $line['day2'] = array("&nbsp;");
        foreach ($line as &$cell)
            $cell[1].=" class=tdpresence style='background-color: #8ABB04;color: white !important;font-weight:bold;'";
    }

    Выделяем зелененьким определенные результаты поиска

    heyzea1, 26 Августа 2013

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

    +152

    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
    /* mootools javascript */
    function animateCd() {
        $$('.countdown').each(function(el) {
            var inp = $(el).getElement('.ts');
            var time = +$(inp).get('text')-1;
            $(inp).set('text', time);
     
            var _time = Math.abs(time);
            var h = Math.floor(_time/3600);
            var _h = (h < 10 ? '0' : '') + h;
     
            var m = Math.floor(_time/60)-h*60;
            var _m = (m < 10 ? '0' : '') + m;
     
            var s = _time-(h*3600+m*60);
            var _s = (s < 10 ? '0' : '') + s;
     
            var timeStr = _h+' : '+_m+' : '+_s;
            if ( time < 0 ) {
                timeStr = '- '+timeStr;
            }
     
            $(el).getElement('.timer_cd').set('text', timeStr);
        });
        setTimeout(animateCd, 1000);
    }
    animateCd();
    
    <!-- html -->
    <div class="countdown">
        <div class="timer_cd"></div>
        <div style="display: none" class="ts">7200</div>
    </div>

    "Для создания таймера будем отталкиваться от стартового времени указанного в секундах, в примере 7200 (2 часа). Сначала из скрытого блока <div style="display: none" class="ts">7200</div> вытягиваем текущее значение счетчика в секундах, декрементируем его и возвращаем туда новое значение. Потом разбиваем значение счетчика на часы, минуты и секунды, при этом формируя значения в двухзначном формате. Собираем все в кучу и вставляем полученную строку в блок <div class="timer_cd"></div>. Данную операцию повторяем раз в секунду setTimeout(animateCd, 1000);."
    http://webbystep.ru/all-posts/16-js-clock/

    psycho-coder, 26 Августа 2013

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

    +152

    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
    if (!jQuery('#email').attr('value')){
                jQuery('#email').css('border', '1px solid red');
                jQuery('div.errors').append('<p>Не указан "E-Mail"</p>');
                error=true;
            }
            else{
                email=jQuery('#email').attr('value');
                if ((email.length<8) || (email.search(/[а-яёЁ,~><|\/*#№`!"'$:;%^&?)(_=+]/i)+1) || (email.indexOf(' ')+1) || (email.indexOf('--')+1) || (email.indexOf('-.')+1) || (email.indexOf('.-')+1) || (email.indexOf('\\')+1) || (email.indexOf('..')+1) || (email.indexOf('.')==0) || (email.indexOf('-')==0) || (email.indexOf('@')==0) || (!(email.indexOf('@')+1)) || ((email.indexOf('@')!=email.lastIndexOf('@')) && (email.lastIndexOf('@')+1)) || (email.indexOf('@')>email.lastIndexOf('.')) || (!(email.lastIndexOf('.')<(email.length-2)))){
                    jQuery('#email').css('border', '1px solid red');
                    jQuery('div.errors').append('<p>E-mail указан некорректно</p>');
                    error=true;
                }
                else jQuery('#email').attr('style', null);
            }

    Функция проверки Email на валидность.

    Regexp для слабых.

    Cherrionella, 13 Августа 2013

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($subletter) {
    	$firms = $db->getArray("SELECT `id_firm`, `id_service`, `id_city`, `name` FROM `firm` WHERE `id_city` IN (".implode(",", array_keys($cities)).") AND `name` REGEXP '^".mysql_real_escape_string($letter.$subletter)."' AND `blocked` = 0 ORDER BY name ASC");
    } 
    elseif ($letter) {
    	$firms = $db->getArray("SELECT `id_firm`, `id_service`, `id_city`, `name` FROM `firm` WHERE `id_city` IN (".implode(",", array_keys($cities)).") AND `name` REGEXP '^".mysql_real_escape_string($letter)."' AND `blocked` = 0 ORDER BY name ASC");
    }
    else $firms = array();

    gorky, 16 Июля 2013

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    $useAliasMap = $ctx->getOption('cache_alias_map', false) && array_key_exists($uri, $ctx->aliasMap);
    if ($useAliasMap && array_key_exists($uri, $ctx->aliasMap)) {
                        $resourceId = (integer) $ctx->aliasMap[$uri];
    }

    Видимо array_key_exists у разработчика только на второй раз срабатывает

    Agel_Nash, 22 Июня 2013

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

    +152

    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
    function Order(obj) {
      var frm = $(obj);
      var first_name = frm.find("input[name='first_name']").val();
      var last_name = frm.find("input[name='last_name']").val();
      var email = frm.find("input[name='email']").val();
      var phone = frm.find("input[name='phone']").val();
      var text = frm.find(".coment-form-textarea").val();
      var captcha = frm.find("input[name='captcha']").val();
    
      var valid = true;
      MsgErrorDestroy(frm, '#order-first_name', 'input[name="first_name"]');
      MsgErrorDestroy(frm, '#order-last_name', 'input[name="last_name"]');
      MsgErrorDestroy(frm, '#order-email', 'input[name="email"]');
      MsgErrorDestroy(frm, '#order-phone', 'input[name="phone"]');
      MsgErrorDestroy(frm, '#order-text', '.coment-form-textarea');
    
      if (first_name == '') {
        MsgError(frm, 'Введите ваше имя.', '#order-first_name', 'input[name="first_name"]');
        valid = false;
      }
      if (last_name == '') {
        MsgError(frm, 'Введите вашу фамилию.', '#order-last_name', 'input[name="last_name"]');
        valid = false;
      }
      if (!emailValid(email)) {
        MsgError(frm, 'Введите ваш email.', '#order-email', 'input[name="email"]');
        valid = false;
      }
      if (phone == '') {
        MsgError(frm, 'Введите ваш номер телефона.', '#order-phone', 'input[name="phone"]');
        valid = false;
      }
      if (text == '') {
        MsgError(frm, 'Введите ваше сообщение.', '#order-text', '.coment-form-textarea');
        valid = false;
      }
      if (captcha == '') {
        MsgError(frm, 'Введите капчу.', '#comment-capcha', 'input[name="captcha"]');
        valid = false;
      }
      if (valid == false) {
        return false;
      }
    }
    
    function MsgError(frm, msg, select_msg, select_input) {
      if (select_msg != 0) {frm.find(select_msg).html(msg);}
      if (select_input != 0) {frm.find(select_input).addClass('input-error');}
      if (select_msg != 0) {frm.find(select_msg).removeClass('hide');}
      //frm.find('#'+'profile-'+key).addClass('show');
    }
    function MsgErrorDestroy(frm, select_msg, select_input) {
      if (select_msg != 0) {frm.find(select_msg).html('');}
      if (select_input != 0) {frm.find(select_input).removeClass('input-error');}
      if (select_msg != 0) {frm.find(select_msg).removeClass('show');}
      //$('#'+'profile-'+key).addClass('hide');
    }

    Валидация какого-то там заказа. Автор вероятно не слышал про массивы и объекты.

    baldrs, 17 Июня 2013

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