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

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

    +153

    1. 1
    2. 2
    $encoding = mb_detect_encoding($str);
        return mb_strtoupper($str, $encoding);

    Автор утверждает что в зависимости от настроек сервера данные функции себя ведут непредсказуемо, это так?

    Angel_N_Ig, 28 Октября 2011

    Комментарии (0)
  3. C++ / Говнокод #8129

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    auto L = [](int i)->int { return i+1; };
    typedef decltype(L) TL;
    auto lfunc = &TL::operator();
    int i = (L.*lfunc)(1);

    ohlol, 08 Октября 2011

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

    +153

    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
    while($row = mysql_fetch_array($res))
    {
    $titlelabel = $row['titlelabel'];
    if($titlelabel == '')
    {
     $lol = titles();
     $titlelabel = @$lol[$row['title']];
    }
    if($row['title'] == 79) $titlelabel = "Pont-L'Eveque";
    
    if($num == 1) $text = ' style="color:#ffd700"'; else $text = '';
    $query = mysql_query("SELECT color FROM users WHERE login='" . $row['name'] . "'");
    $answer = mysql_fetch_row($query);
    if($answer[0] != '') $color = ' style="color:#' . $answer[0] . '"';
    else $color = '';
    
    $query2 = mysql_query("SELECT avatar FROM users WHERE login='" . $row['name'] . "'");
    $answer2 = mysql_fetch_row($query2);
    $qname = '"' . $row['name'] . '"';
    if($answer2[0] != '') $ava = "<img id='" . $row['name'] . "' src='" . $answer2[0] . "' width='18' height='18' onclick='showbig(" . $qname . ")' onmouseout='showsmall(" . $qname . ")' /> "; else $ava = '';
    
    $currentname = $row['name'];
    $query3 = mysql_query("SELECT banend FROM users WHERE login='$currentname'");
    $answer3 = mysql_fetch_row($query3);
    $currenttime = time();
    if($answer3[0] == '' || $answer3[0] < $currenttime) $ban = '';
    else if($answer3[0] > $currenttime)
    {
     $seconds = $answer3[0] - $currenttime;
     $hours = ($seconds / 60) / 60;
     $hours = (int)$hours + 1;
     $ban = " (ban, $hours ч.)";
    }
    
    $data = by_login_data($row['name'], 'action');
    $data0 = $data[0];
    $name = $row['name'];
    if($data0 != '') { $exp = explode(';', $data0); $diff = time() - $exp[1]; if($diff <= 3600) { $name_first = $name[0]; $name = '<u>' .  $name_first . '</u>' . substr($name, 1); }}
    
    $query4 = mysql_query("SELECT kolbaso4ka FROM users WHERE login='$currentname'");
    $answer4 = mysql_fetch_row($query4);
    $kolbaso4ka = "";
    if($answer4[0] > 0) $kolbaso4ka = " (+" . $answer4[0]  . ")";
    
    $query5 = mysql_query("SELECT rank, rank_change FROM tribe WHERE name='$currentname'");
    $answer5 = mysql_fetch_row($query5);
    $rank_message = "Ранг " . $answer5[0] . ($answer5[1] == "+" ? " &darr;" : ($answer5[1] == "-" ? " &uarr;" : ""));
    
    echo ' <tr' . $text . '>' . $n;
    echo '  <td>' . $num . '</td>' . $n;
    echo '  <td' . $color .' title="' . $rank_message . '">' . $ava . ' ' . $name . ' ' . $ban .  '</td>' . $n;
    echo '  <td>' . $row['rounds'] . '</td>' . $n;
    echo '  <td>' . $row['cheese'] . '</td>'. $n;
    echo '  <td>' . $row['save'] . '</td>'. $n;
    echo '  <td>' . $row['hardmode'] . '</td>' . $n;
    echo '  <td>' . $row['first'] . '</td>'. $n;
    echo '  <td>' . decode($titlelabel) . '</td>'. $n;
    echo '  <td>' . $row['coins'] . $kolbaso4ka .  '</td>'. $n;
    echo ' </tr>'. $n;
    
    $num++;
    }

    Мой унылый древний говнокод для вывода статистики клана (точней, его часть) кое-какой онлайн-игры.
    Постепенно зарос всякой хунтой.

    Uhehesh, 11 Сентября 2011

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

    +153

    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
    function resetIsetSorting()
    	{
    		$db = 'i_set';
    		$co = -1;
    		$q = $this->db->get($db);
    		$r = $q->result();
    		foreach($r as $row)
    		{
    			$co++;
    			$upd['sort'] = $co;
    			$this->db->where('id_set', $row->id_set); 
    			$this->db->update($db, $upd);	
    		}
    	}
    	function isetSortExchange($sort, $canBeSort)
    	{
    		$db = 'i_set';
    		$bigNumber = 1470000;
    		$this->db->where('sort', $canBeSort);
    		$q = $this->db->get($db);
    		if ($q->num_rows() == 1)
    		{
    			$upd['sort'] = $bigNumber;
    			$this->db->where('sort', $canBeSort); 
    			$this->db->update($db, $upd);	
    			//
    			$upd['sort'] = $canBeSort;
    			$this->db->where('sort', $sort); 
    			$this->db->update($db, $upd);
    			//
    			$upd['sort'] = $sort;
    			$this->db->where('sort', $bigNumber); 
    			$this->db->update($db, $upd);
    		}
    	}

    Первая функция призвана обновить поле sort на уникальные последовательные значение. Сначала хотел провернуть такое дело на SQL в PHPmyADMIN, но мозгов моих оказалось мало, и я сделал это на CodeIgniter. Говнокод ли это?

    Вторая функция призвана для обмена значениями полей sort. Это нужно для сортировки чего либо в баз. Чутьё мне подсказывает что это можно проделать каким-то белее правильным путём, без использования $bigNumber = 1470000; (а вдруг количество строк достигнет этого числа??!!). Говнокод ли это?

    Всё рабочее, только что проверил. Свежий код, только что написан!

    increazon, 08 Сентября 2011

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

    +153

    1. 1
    2. 2
    3. 3
    bool (A::*F[2])(int);
    //...
    return (this->*F[n])(i);

    CPPGovno, 02 Сентября 2011

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

    +153

    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
    // ...
    if (m_parent->GetState() == Disconnected)
    {
    	CString login;
    	CString password;
    	m_login.GetWindowText(login);
    	m_password.GetWindowText(password);
    
    	if (login.IsEmpty()
    		|| password.IsEmpty())
    	{
    		::MessageBox(this->m_hWnd, _T("Please enter login and password"), _T("Input error"),MB_OK);
    		return;
    	}
    		
    	if (CheckString(login)
    		|| CheckString(password))
    	{
    		::MessageBox(this->m_hWnd, _T("You have entered unsupported symbol."), _T("Input error"), MB_OK);
    		m_login.SetWindowText(login);
    		m_password.SetWindowText(password);
    		
    		return;
    	}
    
    	SaveConfig();
    }
    
    // ...
    
    
    bool CheckString(CString& string)
    {
    	bool res = false;
    	CString checked = _T("<>,!()[]{}~`#$%^&*+=/\\\"|;:'");
    	for (int i = 0; i < checked.GetLength(); ++i)
    	{
    		if (string.Find(checked[i]) != -1)
    		{
    			res = true;
    			string = _T("");
    			break;
    		}
    	}
    
    	return res;
    }

    Проверка допустимых символов

    kandul, 31 Августа 2011

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

    +153

    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
    <?php
    $str = 'улица ленина';
    $array = explode(' ', $str);
    if(count($array) == 0)
    {
        $tire = true;
        $array = explode('-', $str);
    }
        
    foreach($array as $value)
    {
      $start = mb_substr($value, 0, 1, 'UTF-8');
      $end = mb_substr($value, 1, mb_strlen($value), 'UTF-8');
      $start = mb_strtoupper($start, 'UTF-8');
      if($tire) $text .= $start.$end.'-';
      else $text .= $start.$end.' ';
    }
    if($tire) $text = substr($text, 0, -1);
    else $text = trim($text);
    echo $text;
    ?>

    научился говнакодить :(

    VolDroN, 01 Августа 2011

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    function editor_area($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    	bb_area($name, $value, $rows, $class, $add, $return);
    }

    Вот такие вот чудики бывают... На его месте я бы сделал ещё брутальнее:

    function editor_area($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    bb_area($name, $value, $rows, $class, $add, $return);
    }
    function editor_area2($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    editor_area($name, $value, $rows, $class, $add, $return);
    }
    function editor_area3($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    editor_area2($name, $value, $rows, $class, $add, $return);
    }

    так чтобы потом интереснее было...

    nethak, 20 Июля 2011

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

    +153

    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
    /*
    * Парсер шаблона bb редактора
    * $name - имя формы например: <textarea name='этот параметр'.....
    * $val - возможно в форму чтото нада пихнуть это будет <textarea>тут</textarea>
    * $rows - количество строк в форме
    * $class - возможно захотите задать уникальный css класс
    * $onlick - дополнительное поле на разнообразные нужды
    */
    function bb_area($name, $val = null, $rows = 5, $class = 'textarea', $onclick = null, $return = false, $html = false) {
    global $core, $smileList, $smiles, $user;
    static $initArea;
    	if($name) 
    	{
    *****************************************************************************

    Для тех кто возможно захочет пихнуть если нада xD

    nethak, 20 Июля 2011

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

    +153

    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
    $Mailing = new Mailing;
    //Далее ужас в 2 ночи
    if (
      		(!isset($_GET['viewpage']))
      		and
      		(isset($_GET['viewnews']))
    )
    {
      		foreach ($bfgfile as $bfgline)
      		{
      			$bfg	=	explode('|',$bfgline);
      			if ($bfg[0]==$Filtr->clear($_GET['viewnews']))
      			{
      				$_GET['viewpage']	=	$bfg[2];
      				break;
      			}
      		};
    }
    
    if (!isset($_GET['viewpage']))
    	$_GET['viewpage']='index';
    	
    if ($_GET['viewpage']=='index.php') $_GET['viewpage']='index';
      
    ?>

    Для особо одарённых:
    Не уместны фразы вроде Ваш код, вы писали и т.п. Коды не мои.

    nethak, 19 Июля 2011

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