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

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function checksubmit(obj){ 
    ds = obj.message.value; 
    while (ds.indexOf("[Результат выстрела.]") > -1) { 
    variant=7; 
    priz=Math.round(Math.random() * variant); 
       ds = ds.replace('[Результат выстрела.]',' [img]http://mystalker.at.ua/cub/cub'+priz+'.gif[/img] '); 
    } obj.message.value = ds; }

    Тут больше доставляет описание чем код )))
    Особенно "давно покрылся славой" и "Учесть,что скрипту более 4-х лет и он заслуживает уважения".
    http://u.to/a6k6AQ

    OJA, 08 Октября 2011

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $c = (int)(bool)$_POST['chat'];
    
    // через сто строк
    
    $q = 'UPDATE ....., `chat`='.$c.' WHERE ....';

    интригующе

    jokz, 16 Сентября 2011

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

    +156

    1. 1
    RewriteCond %{REQUEST_URI} !\.(cssіjsіjpgіgifіpng)$

    Творение удаленного сотрудника. Долго не мог понять, почему сервер кидает 500 ошибку.

    PrimeBIT, 13 Сентября 2011

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

    +156

    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
    function sendemail($email, $mess, $subj) {
                $mail = new dSendMail2;
                $mail->setSubject(_ss($subj, 'PLAIN'));
                $mail->setFrom(CONF::get('email_from'));
                $mail->setTo($email);
                $mess = str_replace('chinese', 'fuckin chinese', $mess);
                $mail->setMessage(_ss($mess, 'HTML'));
                if($mail->send()) {
                    return true;
                } else {
                    ENGINE::logIt(3, 'EMail sending failed! ['.$mail->error.']');
                    return false;
                }
    }

    нет, эта рабочая неделя мне явно запомниться.

    jokz, 10 Сентября 2011

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

    +156

    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
    /**
     * форматирование даты - преобразует дату в формат ДД-ММ-ГГГГ
     *
     * @param unknown_type $inDate - дата
     * @return unknown
     */
    public static function getDateFormatted($inDate, $forView = false, $inTime = '') {
    	//2011-05-03 20:27:26
    	
    	$a_tmp = explode(' ', $inDate);
    	if ($forView) {
    		$time = substr($a_tmp[1], 0, 5);
    		if ($a_tmp[0] == date('Y-m-d')) {
    			if ($time == '') {
    				$time = substr($inTime, 11, 5);
    				if ($time == '') {
    					$time = $inTime;
    				}
    			}
    			if ($time != '') {
    				return 'Сегодня, ' . $time;
    			}
    		}
    
    		$a_tmp = explode('-', $a_tmp[0]);
    
    		return $a_tmp[2] . '-' . $a_tmp[1] . '-' . $a_tmp[0];
    	}
    
    	$inDate = substr($inDate, 0 , 10);
    	$inDate = str_replace(' ', '', $inDate);
    	$inDate = str_replace('.', '-', $inDate);
    
    	$a_tmp = explode('-', $inDate);
    	if (strlen($a_tmp[0]) == 4) {
    		$inDate = str_pad($a_tmp[2], 2, '0', STR_PAD_LEFT) . '-' . $a_tmp[1] . '-' . $a_tmp[0];
    	}
    	return $inDate;
    }

    Sers, 30 Августа 2011

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

    +156

    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
    <?php
    	include_once "database.php";
    	
    	$db = NewPDO();
    	$search = $db->prepare("SELECT w.wine_name as wine_name, w.year as wine_year, gv.variety as wine_variety, wn.winery_name as winery_name,r.region_name as region_name
    							FROM wine w
    							JOIN wine_variety wv ON w.wine_id = wv.wine_id
    							JOIN grape_variety gv ON wv.variety_id = gv.variety_id
    							JOIN winery wn ON w.winery_id = wn.winery_id JOIN region r ON wn.region_id = r.region_id
    							WHERE w.wine_name LIKE :in_wine_name AND wn.winery_name LIKE :in_winery_name AND r.region_name LIKE :in_region_name
    							ORDER BY w.wine_name ASC , w.year ASC , gv.variety ASC");
    	$wine_name = '%'.htmlspecialchars($_GET["wine"]).'%';
    	$winery_name = '%'.htmlspecialchars($_GET["winery"]).'%';
    	$region = '%'.htmlspecialchars($_GET["region"]).'%';
    	
    	$search->bindValue(':in_wine_name',$wine_name,PDO::PARAM_STR);
    	$search->bindValue(':in_winery_name',$winery_name,PDO::PARAM_STR);
    	$search->bindValue(':in_region_name',$region,PDO::PARAM_STR);
    	
    	$search->execute();
    	echo "<table>";
    	if ($search->columnCount() > 0)
    	{
    		echo "<tr align=\"center\">
    				<th>
    					Wine
    				</th>
    				<th>
    					Year
    				</th>
    				<th>
    					Variety
    				</th>
    				<th>
    					Winery
    				</th>
    				<th>
    					Region
    				</th>
    			  </tr>";
    		while($row = $search->fetch())
    		{
    			echo "<tr align=\"left\">
    					<td width=\"80\">
    						".$row["wine_name"]."
    					</td>
    					<td width=\"50\">
    						".$row["wine_year"]."
    					</td>
    					<td width=\"90\">
    						".$row["wine_variety"]."
    					</td>
    					<td width=\"230\">
    						".$row["winery_name"]."
    					</td>
    					<td>
    						".$row["region_name"]."
    					</td>
    				  </tr>";
    		}
    		echo "<tr>
    			  	<td colspan=\"5\">
    					".$search->rowCount()." records found matching your criteria.
    				</td>
    		      </tr>";
    	}
    	else
    	{
    		echo "<tr><td>No records match your search criteria</td></tr>";
    	}
    	echo "</table>";
    ?>

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

    denis90, 23 Августа 2011

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $varians_ids = array();
    $getvaluesvariants=mysql_query("SELECT  `id` FROM `values` group by `id`") or die(mysql_error());;
    while($valuesvariants = mysql_fetch_array($getvaluesvariants, MYSQL_ASSOC))
    {
    $varians_ids[]= $valuesvariants['id'];
    }
    mysql_free_result($getvaluesvariants)or die("Query failed: " . mysql_error());
    for ($i = 0;  $i < count($varians_ids); $i++)
    {
      $setvaluesnames = mysql_query("UPDATE `option_values` SET `option_value_ru` = (SELECT  `option_value_ru` FROM `values` WHERE `id` = '$varians_ids[$i]') WHERE  `id` = '$varians_ids[$i]'") or die(mysql_error());;
    }

    Наткнулся на этот шедевр. Отсутствие использования foreach кажется мелочью по сравнению с тем, как производится операция, которую можно сделать одним запросом:
    $setvaluesnames = mysql_query("UPDATE `option_values`, `values`
    SET
    `option_values`.`option_value_ru` = `values`.`option_value_ru`
    WHERE `option_values`.`id` = `values`.`id`") or die(mysql_error());

    P. S.: там еще в БД пишется пробел вместо пустой строки или NULL...

    CRRaD, 20 Июля 2011

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $qs = $this->_generateQuery();
    // obtain count of items
    $number_of_items = 0;
    if ($qs['count'] == 'SELECT 1'): // что за ужасть??
      $number_of_items = 1;
    else:
      $query = $qs['count'];
      $res = mysql__query ( $query );
     //......................................
    endif;

    Кусок самописной цмски интернет-магазина. Оптимизация подсчета товаров в выборке.

    Silentium, 19 Июля 2011

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    (function () {
    	var backgroundPosition = getComputedStyle(document.querySelector('a.comment-vote-on')).backgroundPosition;
    	Array.prototype.forEach.call(
    		document.querySelectorAll('span.comment-vote-on'), 
    		function (element) {
    			element.style.backgroundPosition = backgroundPosition;
    		}
    	);
    })()

    По просьбам телезрителей публикуется букмарклет невинности,
    который избавляет от необходимости фотошопить скриншот для иллюстрации заявлений типа "Это не я мину совал!".
    Я ленив, поэтому говнокод тоже присутствует.

    bugmenot, 14 Июля 2011

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

    +156

    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
    /**
     * Checks that user client was not banned. Dies on false
     * @param string $peer_id Peer_id of client
     * @return void
     * Взято с kinokpk
     */
    function checkclient($peer_id){
    	$agent = $_SERVER['HTTP_USER_AGENT'];
    	//die($peer_id);
    	//return true;
    	//check by headers
    	if (function_exists('getallheaders')){
    		$headers = getallheaders();
    	}else{
    		$headers = emu_getallheaders();
    	}
    	if (isset($headers['Cookie']) || isset($headers['Accept-Language']) || isset($headers['Accept-Charset']))err('Вы не можете использовать этот клиент. Возможно вы читер.');
    
    
    .................................................................

    * BY LiteTracker Source

    nethak, 12 Июля 2011

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