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

    +90

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($value != 0) { // Если значение не равно нулю
    $this->koeff = $value * 0.01; // Коэффициенту этого экземляра класса присвоить одну сотую от цены
    $count++; // Счетчик увеличиваем на единицу
    } else { // Иначе
    $this->koeff=0; // Устанавливаем коэффициент этого экземпляра класса равным нулю
    // Счетчик не увиличиваем
    } // Конец условия

    Код боевой не мой, комментарии авторские.

    Tairesh, 26 Апреля 2012

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

    +89

    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 uIsCommentAllowed($id_all)
    	{
    		$db = 'i_all';
    		$this->db->select('comment');
    		$this->db->where('id_all',$id_all);
    		$query = $this->db->get($db);
    		if ($query->num_rows() == 0) return false;
    		else 
    		{
    			$row = $query->row();
    			if ($row->comment == 1) return true;
    			if ($row->comment == 1) return false;
    		}	
    		return false;
    	}

    Кто не видит где говно, показываю: if ($row->comment == 1) return true; if ($row->comment == 1) return false;
    Теперь главный вопрос - почему на при тестировании данная ошибка не проявляется, и все вообще работает верно?

    increazon, 25 Апреля 2012

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

    +93

    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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
        function get($url, $extra_headers = null)
        {
        /* неcущественное пропущено */
                if (defined('CURLOPT_NOSIGNAL')) {
                    curl_setopt($c, CURLOPT_NOSIGNAL, true);
                }
    
                if (!$this->allowedURL($url)) {
                    Auth_OpenID::log("Fetching URL not allowed: %s",
                                     $url);
                    return null;
                }
    
                curl_setopt($c, CURLOPT_WRITEFUNCTION,
                            array($this, "_writeData"));
                curl_setopt($c, CURLOPT_HEADERFUNCTION,
                            array($this, "_writeHeader"));
    
                if ($extra_headers) {
                    curl_setopt($c, CURLOPT_HTTPHEADER, $extra_headers);
                }
    
                $cv = curl_version();
                if(is_array($cv)) {
                  $curl_user_agent = 'curl/'.$cv['version'];
                } else {
                  $curl_user_agent = $cv;
                }
                curl_setopt($c, CURLOPT_USERAGENT,
                            Auth_OpenID_USER_AGENT.' '.$curl_user_agent);
                curl_setopt($c, CURLOPT_TIMEOUT, $off);
                curl_setopt($c, CURLOPT_URL, $url);
    
                if (defined('Auth_OpenID_VERIFY_HOST')) {
                    // set SSL verification options only if Auth_OpenID_VERIFY_HOST
                    // is explicitly set, otherwise use system default.
                    if (Auth_OpenID_VERIFY_HOST) {
                        curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true);
                        curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2);
                        if (defined('Auth_OpenID_CAINFO')) {
                            curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO);
                        }
                    } else {
                        curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
                    }
                }
    
                curl_exec($c);
        /* неинтересное пропущено */
        }
        
        function post($url, $body, $extra_headers = null)
        {
            if (!$this->canFetchURL($url)) {
                return null;
            }
    
            $this->reset();
    
            $c = curl_init();
    
            if (defined('CURLOPT_NOSIGNAL')) {
                curl_setopt($c, CURLOPT_NOSIGNAL, true);
            }
    
            curl_setopt($c, CURLOPT_POST, true);
            curl_setopt($c, CURLOPT_POSTFIELDS, $body);
            curl_setopt($c, CURLOPT_TIMEOUT, $this->timeout);
            curl_setopt($c, CURLOPT_URL, $url);
            curl_setopt($c, CURLOPT_WRITEFUNCTION,
                        array($this, "_writeData"));
    
            if (defined('Auth_OpenID_VERIFY_HOST')) {
                // set SSL verification options only if Auth_OpenID_VERIFY_HOST
                // is explicitly set, otherwise use system default.
                if (Auth_OpenID_VERIFY_HOST) {
                    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true);
                    curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2);
                    if (defined('Auth_OpenID_CAINFO')) {
                        curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO);
                    }
                } else {
                    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
                }
            }
    
            curl_exec($c);
    /* to be continued */

    Фрагмент едва ли не самой популярной библиотеки OpenID, а именно клиентской части: http://janrain.com/openid-enabled/
    Всё бы было хорошо, но залогиниться, используя лайвджорналовский опенайдишник, не получается. По форумам поползли слухи, что ЖЖ не полностью поддерживает протокол OpenID (хотя протокол разработал Фицпатрик, один из создателей LiveJournal); что он метод POST не поддерживает, поэтому его нужно менять на GET; предлагались совершенно безумные хаки, которые на самом деле не работают...

    А ларчик просто открывался. Для поддержки ЖЖ достаточно в приведённый код добавить пару строк. Открыть спойлер или кто-нибудь угадает?

    inkanus-gray, 25 Апреля 2012

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

    +102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $compareCost = 0;
    $countGacha = 0;
    for($i=0; $i<10; ++$i): 
        $compareCost += $this->freeGacha->getCost();
        if( $this->player->getSocialPoint() > $compareCost )        continue;
        else break;
        $countGacha = $i+1;
    endfor;

    Korean style ;)

    nidkor, 24 Апреля 2012

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

    +100

    1. 1
    2. 2
    3. 3
    if ($node->title == 'Главная страница' || $node->title == 'Home')
    {print '<img src="sites/all/themes/them/images/stock.png" />';
    }

    Говнокод по Drupal-овски.
    Найден в шаблоне page.tpl.php

    Dishvola, 23 Апреля 2012

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

    +96

    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
    // expressions to parse
    		$input_pars = array(
    			's:2'=>'(sort(\d+)/?)?', 				//1-2
    			'id:2'=>'((\d+)/?)?',  			 		//3-4
    			'utkonos_id-shop_id:2-2'=>'(u(\d+)(s(\d+))?/)?', 	//5-6 7-8
    			'iid:1'=>'([0-9a-zA-Z_]+)/?', 				//9
    			'page:2'=>'(pg(\d+)/)?', 				//10-11
    			'chpsize:2'=>'(chp(\d+)/)?', 				//12-13
    			'chlist:2'=>'(chlist_(grid|list)/)?', 				//14-15
    			'p_other:1'=>'(.*)',					//16
    		);
    		if(!$class)unset($input_pars['iid:1']);
    		$m = array();
    		$i=0;
    
    		if(isset($_REQUEST['p_'])&&preg_match('[^'.implode('',$input_pars).'$]',$_REQUEST['p_'],$m)) {
    			//vd($m);
    			foreach($input_pars as $key=>$line) {
    				list($par_name,$num) = explode(':', $key);
    				$par_name_arr = explode('-',$par_name);
    				$num_arr = explode('-',$num);
    				if(count($par_name_arr)>1) {
    					foreach($par_name_arr as $kluch => $par_name) {
    						$i += $num_arr[$kluch];
    						$_REQUEST[$par_name] = $m[$i];
    					}
    				}else{
    					$i += $num;
    					$_REQUEST[$par_name] = $m[$i];
    				}
    			}
    			$_REQUEST['id'] += 0;
    			if ($_REQUEST['s'] === '0') {
    				$_REQUEST['s'] = 0;
    			}
    			if ($_REQUEST['chpsize'] === '0') {
    				$_REQUEST['chpsize'] = 0;
    			}
    			vd($_REQUEST);
    		}else{
    			$_REQUEST['s'] = grv('s',-1);						/// Сортировка
    			$_REQUEST['id'] = grv('id',0);
    			$_REQUEST['shop_id'] = grv('shop_id',0);
    			$_REQUEST['page'] = grv('page',0);
    			$_REQUEST['chpsize'] = (int)grv('chpsize',-1);
    		}

    ggg, 23 Апреля 2012

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

    +95

    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
    <table style="width: 100%">
    				<tr>
    					<td rowspan="2" style="width: 39px">&nbsp;</td>
    					<td height="22px" width="306px" background="/templates/images/all_for_your.jpg" style="background-repeat: no-repeat;"></td>
    					<td>&nbsp;</td>
    				</tr>
    				<tr>
    					<td width="306px">
    						<table  class="style2" style="height: 147px;" >
    <tr>
    					<!--<td height="22px" width="306px" background="/templates/images/all_for_your.jpg">
    				</td>-->
    				</tr>
    				<tr>
    					<td class="style14" style="height: 21px;"><a href="page13.html" <?php if ($_GET['id'] == 13) echo "style=\"color: red;\""; ?>> ччччч</td>
    				</tr>
    								<tr>
    					<td class="style14" style="height: 21px;"><a href="page12.html" <?php if ($_GET['id'] == 12) echo "style=\"color: red;\""; ?>> фвургия</td>
    				</tr>
    								<tr> 
    					<td class="style14" style="height: 21px; ">
    					<a href="page8.html" <?php if ($_GET['id'] == 8) echo "style=\"color: red;\""; ?>> ывфыв</a> </td>
    			    </tr>
    				<tr>
    					<td class="style14" style="height: 21px; ;"><a href="page9.html" <?php if ($_GET['id'] == 9) echo "style=\"color: red;\""; ?>> ыывсия</td>
    				</tr>
    				<tr>
    					<td class="style14" style="height: 21px; "><a href="page43.html" <?php if ($_GET['id'] == 43) echo "style=\"color: red;\""; ?>> Вмиика</td>
    				</tr>				
    				<tr>
    					<td class="style14" style="height: 21px; "><a href="page10.html" <?php if ($_GET['id'] == 10) echo "style=\"color: red;\""; ?>>ние</td>
    				</tr>
    					<tr>
    					<td class="style14" style="height: 21px; "><a href="page14.html" <?php if ($_GET['id'] == 14) echo "style=\"color: red;\""; ?>>Одыа 
    					</td>
    				</tr>
    					<tr>
    					<td class="style14" style="height: 21px; "><a href="page22.html" <?php if ($_GET['id'] == 22) echo "style=\"color: red;\""; ?>> Оысия</td>
    				</tr>
    			</table>

    Один из старых сайтов нашел:)

    EGR, 23 Апреля 2012

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

    +112

    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
    <?php
    @session_start();
    include("с.php");
    if(isset($_POST['postid'])){
    	if($_POST['PoM']=="plus"){
    		if(isset($_SESSION['userid']) && mysql_num_rows(mysql_query("SELECT * FROM `bans` WHERE `userid`='".@$_SESSION['userid']."';"))==0){
    		$query89=mysql_query("SELECT `from` FROM `blogs` WHERE `bid`='".$_POST['postid']."' LIMIT 1;");
    		if($_SESSION['userid']==mysql_result($query89, 0, 0)){ } else {
    		$get_rating=mysql_query("SELECT `rating` FROM `blogs` WHERE `bid`='".$_POST['postid']."';");
    		$check_vote_plus=mysql_query("SELECT `voteid` FROM `blogvotes` WHERE `bid`='".$_POST['postid']."' and `userid`='".$_SESSION['userid']."' and `PoM`='plus';");
    		$check_vote_minus=mysql_query("SELECT `voteid` FROM `blogvotes` WHERE `bid`='".$_POST['postid']."' and `userid`='".$_SESSION['userid']."' and `PoM`='minus';");
    		if(mysql_num_rows(@$check_vote_minus)){
    		mysql_query("DELETE FROM `blogvotes` WHERE `bid`='".$_POST['postid']."' and `userid`='".$_SESSION['userid']."';");
    		mysql_query("UPDATE `blogs` SET `rating`=".mysql_result($get_rating, 0, 0)."+1 WHERE `bid`='".$_POST['postid']."';");
    		}
    		$get_rating2=mysql_query("SELECT `rating` FROM `blogs` WHERE `bid`='".$_POST['postid']."';");
    		$check_vote_plus3=mysql_query("SELECT `voteid` FROM `blogvotes` WHERE `bid`='".$_POST['postid']."' and `userid`='".$_SESSION['userid']."' and `PoM`='plus';");
    		if(!mysql_num_rows(@$check_vote_plus3)){
    		mysql_query("UPDATE `blogs` SET `rating`=".mysql_result($get_rating2, 0, 0)."+1 WHERE `bid`='".$_POST['postid']."';");
    		mysql_query("INSERT INTO blogvotes(`bid`, `userid`, `PoM`) VALUES('".$_POST['postid']."', '".$_SESSION['userid']."', '".$_POST['PoM']."');");
    		$query6=mysql_query("SELECT `userid`, `username`, `email`, `points`, `reputation` FROM `users` WHERE `userid`='".$_SESSION['userid']."' LIMIT 1");
    		$current_user=mysql_fetch_row($query6);
    		}
    		}
    		}
    		$get_r_rating=mysql_query("SELECT `rating` FROM `blogs` WHERE `bid`='".$_POST['postid']."';");
    		$ratingValue=mysql_result($get_r_rating, 0, 0);
    	}
    }
    ?>

    Очередной код, используемый в моём самописном движке для оценки постов. Разобраться во всём этом удаётся только благодаря тому, что я писал его недавно и помню построение кода.

    BiggestFox, 23 Апреля 2012

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

    −15

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function _taxonomy_image_exists($tid) {
      if (db_fetch_object(db_query('SELECT path FROM {term_image} WHERE tid=%d', $tid))) {
        return TRUE;
      }
      return FALSE;
    }

    brainstorm, 22 Апреля 2012

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

    +120

    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
    if(isset($_POST['myinfo'])){
    	if(trim($_POST['email'])=="" && !mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `userid`='".$_SESSION['userid']."' AND `vkid`!='';"))){
    		$aSuccess=false;
    		$aErrorType="eEMail";
    		$aErrorMsg="Введите адрес электронной почты.";
    	} elseif(strlen(trim($_POST['email']))>"128" && !mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `userid`='".$_SESSION['userid']."' AND `vkid`!='';"))){
    		$aSuccess=false;
    		$aErrorType="eEMail";
    		$aErrorMsg="Слишком длинный адрес электронной почты.";
    	} elseif(!preg_match("/^([-a-zA-Z0-9._]+@[-a-zA-Z0-9.]+(\.[-a-zA-Z0-9]+)+)*$/", trim($_POST['email'])) && !mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `userid`='".$_SESSION['userid']."' AND `vkid`!='';"))){
    		$aSuccess=false;
    		$aErrorType="eEMail";
    		$aErrorMsg="Некорректный адрес электронной почты.";
    	} elseif(mysql_num_rows(mysql_query("SELECT `email` FROM `users` WHERE `email` = '".htmlspecialchars(trim(strtolower($_POST['email'])))."' AND `userid`!='".$_SESSION['userid']."' LIMIT 1"))>0 && !mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `userid`='".$_SESSION['userid']."' AND `vkid`!='';"))){
    		$aSuccess=false;
    		$aErrorType="eEMail";
    		$aErrorMsg="Пользователь с таким адресом электронной почты уже зарегистрирован.";
    	} elseif(strlen(trim($_POST['about']))>"12000"){
    		$aSuccess=false;
    		$aErrorType="eAbout";
    		$aErrorMsg="Вы предоставили слишком много информации о себе.";
    	} else {
    		if(!mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `userid`='".$_SESSION['userid']."' AND `vkid`!='';"))){
    		$mail="`email`='".htmlspecialchars(trim(strtolower($_POST['email'])))."', ";
    		} else {
    		$mail="";
    		}
    		mysql_query("UPDATE users SET ".$mail."`about`='".mysql_real_escape_string(trim($_POST['about']))."' WHERE userid='".$_SESSION['userid']."';");
    		$aSuccess=true;
    		header("Location: editme.php?msg=SUCCESSFULLY_UPDATED");
    		exit();
    	}
    }

    Код, используемый в моём самописном движке для изменения пользователем своего профиля на сайте.

    BiggestFox, 22 Апреля 2012

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