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

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

    +153.5

    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
    /**
    	* Выполняет запрос SELECT
    	*
    	* @param string  $tables      Список таблиц, разделённый запятыми
    	* @param string  $condition   Условие для выборки (WHERE)
    	* @param string  $order       Поля для сортировки (ORDER BY)
    	* @param string  $fields      Список полей для получения
    	* @param int     $lim_rows    Максимльное количество получаемых записей
    	* @param int     $lim_offset  Начальное смещение для выборки
    	* @param string  $group       Поле для группировки
    	* @param bool    $distinct    Вернуть только уникальные записи
    	*
    	* @return array
    	*/
    	function select($tables, $condition = '', $order = '', $fields = '', $lim_rows = 0, $lim_offset = 0, $group = '', $distinct = false)
    	{
    		if (is_bool($fields) || $fields == '1' || $fields == '0' || !is_numeric($lim_rows)) {
    			# Обратная совместимость c 1.2.x
    			$desc = $fields;
    			$fields = $lim_rows ? $lim_rows : '*';
    			$lim_rows = $lim_offset;
    			$lim_offset = $group;
    			$group = $distinct;
    			$distinct = func_num_args() == 9 ? func_get_arg(8) : false;
    			$query = 'SELECT ';
    			if ($distinct) $query .= 'DISTINCT ';
    			if (!strlen($fields)) $fields = '*';
    			$tables = str_replace('`' ,'', $tables);
    			$tables = preg_replace('/([\w.]+)/i', '`'.$this->prefix.'$1`', $tables);
    			$query .= $fields." FROM ".$tables;
    			if (strlen($condition)) $query .= " WHERE $condition";
    			if (strlen($group)) $query .= " GROUP BY $group";
    			if (strlen($order)) {
    				$query .= " ORDER BY $order";
    				if ($desc) $query .= ' DESC';
    			}
    			if ($lim_rows) {
    				$query .= ' LIMIT ';
    				if ($lim_offset) $query .= "$lim_offset, ";
    				$query .= $lim_rows;
    			}
    		} else {
    			$query = 'SELECT ';
    			if ($distinct) $query .= 'DISTINCT ';
    			if (!strlen($fields)) $fields = '*';
    			$tables = str_replace('`','',$tables);
    			$tables = preg_replace('/([\w.]+)/i', '`'.$this->prefix.'$1`', $tables);
    			$query .= $fields." FROM ".$tables;
    			if (strlen($condition)) $query .= " WHERE ".$condition;
    			if (strlen($group)) $query .= " GROUP BY ".$group."";
    			if (strlen($order)) {
    				$order = explode(',', $order);
    				for($i = 0; $i < count($order); $i++) switch ($order[$i]{0}) {
    					case '+': $order[$i] = substr($order[$i], 1); break;
    					case '-': $order[$i] = substr($order[$i], 1).' DESC'; break;
    				}
    				$query .= " ORDER BY ".implode(', ',$order);
    			}
    			if ($lim_rows) {
    				$query .= ' LIMIT ';
    				if ($lim_offset) $query .= "$lim_offset, ";
    				$query .= $lim_rows;
    			}
    		}
    		$result = $this->query_array($query);
    
    		return $result;
    	}

    nbyt, 28 Сентября 2009

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

    +153.5

    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
    <?php
    /*
        desc:
            Инкремент строки типа '000'
            Символы от '0' до 'z'
    */
    function levelIncrease($lvl)
    {
    	for($i = 2, $ng = 0; $i >= 0; $i--) {
    		$g = ord($lvl[$i]);
    		if($i == 2)
    			++$g;
    		$g += $ng;
    		$ng = 0;
    		if($g > 57 && $g < 97)
    			$g = 97;
    		else if($g > 122) {
    			$diff = $g - 122;
    			$g = 48 + $diff - 1;
    			$ng = ceil($diff / 36);
    		}
    		$lvl[$i] = chr($g);
    		if($ng == 0)
    			break;
    	}
    	return $lvl;
    }
    
    echo levelIncrease('aaa');   // aab

    Инкремент строки типа '000'
    Символы от '0' до 'z'

    guest, 17 Февраля 2009

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

    +153.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $db = new PDO("mysql:host=" . $config['dbhost'] . ";dbname=" . $config['dbname'], $config['dbuser'], $config['dbpassword']);
    $db->exec("set names utf8");
    $result = $db->query("call get_user_account('$session_id');");
    foreach ($result as $row)
    {
        die($row['account']);
    }
    die("err");

    Готический output.

    Bobby, 16 Апреля 2010

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

    +153.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    echo "<pre {$stat_class}>{$pars}<input id='fast_{$tlists['tid']}' type='checkbox' name='tlsite[]' value='{$tlists['tid']}' />
    <label for='fast_{$tlists['tid']}'> {$tlists['file']} <span style='color:#808080; font-size:10px;'>({$tlists['date']})</span>
     - {$tlists['name']}
    </label> 
    [<a href='edit.php?tid={$tlists['tid']}' onClick=\"popupWin = window.open(this.href, 'contacts', 'width=800,height=600,top=150,left=150'); popupWin.focus(); return false;\" >ed</a>] </pre>";

    нечто

    Frenk1, 01 Декабря 2009

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

    +153.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function catGetCategoryById($categoryID)
    {
    	$categoryID = (int)$categoryID;
    	$q = db_query("select categoryID, name, parent, products_count, description, picture, ".
    		" products_count_admin, sort_order, viewed_times".
    		", allow_products_comparison".
    		", allow_products_search".
    		", show_subcategories_products, meta_description, meta_keywords ".
    		"  from ".CATEGORIES_TABLE.
    		" where categoryID=$categoryID");
    	return db_fetch_row($q);
    }

    снова ShopScript...
    пересчитал ради интереса количество полей в таблице - как и в запросе 14. вот хотел я добавить еще одно поле. хорошо, что посмотрел, как берутся данные

    gorky, 03 Октября 2009

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

    +153.2

    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
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    <?php
    // ---SpyLib---
    function connectToSpy(){
    global $serverName, $userName, $password, $dbName;
    $dbConn = MYSQL_CONNECT($serverName, $userName, $password) OR DIE("Не могу создать соединение ");
    $select=mysql_select_db("$dbName", $dbConn) or die("Не могу выбрать базу данных"); 
    return $dbConn;
    }
    
    function autentID($login, $psw){
    global $dbConn; 
    $query = "SELECT clientsID FROM clients WHERE login='$login' AND psw_md5='$psw'";
    $clientsID = qToTableText($query);
    $_SESSION['lgn']=$login;// регистрируем переменную lgn
    $_SESSION['pswd']=$psw; // регистрируем переменную pswd
    return $clientsID;
    }  
    
    /* выводит инфу из таблицы */				
    function qToTableText($query){
    global $dbConn;
    $output .= "";
    $result = MYSQL_QUERY($query, $dbConn);
    //получить данные строк и сохранить в ассоциативный массив
    while ($row = mysql_fetch_assoc($result)){
    			//просмотреть каждое поле 
    	foreach ($row as $col=>$val){
    		$output .=  "$val";
    	} // завершение цикла foreach
    } // завершение цикла while 
    return $output;
    }
    
    /* по заданному названию таблицы генерирует таблицу HTML, содержащую кнопки добавления, удаления и редактирования */
    function tToEdit($tableName){
    global $dbConn;
    $output="";
    $query="SELECT * FROM `$tableName`";
    $result=mysql_query($query, $dbConn);
    while ($row = mysql_fetch_assoc($result)){
    	$fieldNum=0;
    	foreach($row as $col=>$val){
    		if ($fieldNum=='1'){
    			$field=$col;
    		}//if
    		$fieldNum++;
    	}//foreach
    }//while
    //$query="SELECT * FROM `$tableName` ORDER BY '$field'";
    $query="SELECT * FROM `$tableName` ORDER BY name ASC";
    $result=mysql_query($query, $dbConn);
    $output .="<tr  class='title'>\n";
    $th=0;// считаем количество столбцов
    while ($field = mysql_fetch_field($result)){
    	// если столбец->пирвичный ключ то он уберается
    	if (!$field->primary_key==1){
    		$a=array(
    		"text"=>"Информация","name"=>"Название","cena"=>"Стоимость, руб","bl1"=>"Блюдо 1","bl1_ves"=>"Вес",
    		"bl1_text"=>"Описание",	"bl2"=>"Блюдо 2","bl2_ves"=>"Вес","bl2_text"=>"Описание","bl3"=>"Блюдо 3",
    		"bl3_ves"=>"Вес","bl3_text"=>"Описание","bl4"=>"Блюдо 4","bl4_ves"=>"Вес","bl4_text"=>"Описание",
    		"v_menu"=>"в меню","v_mon"=>"в пон.","v_twu"=>"во вт.","v_wen"=>"в ср.","v_thu"=>"в чет.",
    		"v_fri"=>"в пят.","v_sa"=>"в суб.","date"=>"Дата",);
    		$rename=$a["$field->name"];
    		$output .="<th>$rename</th>\n";
    	}
    	$th++;
    }// заверщение цикла while
    $page="admin";//при запуске с этой страницы мы можем редоктировать БД
    if ($_REQUEST['page']=="$page"){
    	$th=$th+2;
    	// добавить пустой столбец для добавления, редактирования и удаления
    	$output .="<th class=\"frametitle\"></th><th class=\"frametitle\"></th>\n";
    }
    $output .="</tr>\n\n";
    // получить название индексного поля (полагая, что оно является первым)
    $keyField = mysql_fetch_field($result, 0);
    $keyName = $keyField->name;
    
    // настроить форму для вставки, посылающую название таблицы
    if ($_REQUEST['page']=="$page"){
    	$keyVal = $row["$keyName"];
    	$output .=<<<HERE
     <tr><form action = "admin.php?option=addRecord"  method="post">
    	<td class="frametitle" colspan = "$th">
    	<input type = "hidden"	name = "tableName"	value = "$tableName">
    	<input name="add" type="image" src="../img/add.gif" alt="Кнопка добавление записи в таблицу!!!"></td>
    	</form></tr>
    HERE;
    }
    $output .="</table>";
    $output="$output_top"."$output";
    return $output;
    }
    ?>

    xXx_totalwar, 11 Января 2010

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

    +153.2

    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
    function event_form_alter($form_id, &$form) {
      global $user;
    
      $node = isset($form['#node']) ? $form['#node'] : NULL;
    
      switch ($form_id) {
        // node settings form
        case 'node_type_form':
          $type = (isset($form['old_type']) && isset($form['old_type']['#value'])) ? $form['old_type']['#value'] : NULL;
          $form['workflow']['event_nodeapi'] = array(
            '#type' => 'radios',
            '#title' => t('Show in event calendar'),
            '#default_value' => variable_get('event_nodeapi_'. $type, 'never'),
            '#options' => array('all' => t('All views'), 'solo' => t('Only in views for this type'), 'never' => t('Never')),
            '#description' => t('All views: This content type will be available for display on all calendar views, including with other events.<br />Only in views for this type: This content type will only appear in calendar views specific to this type and never with other events.<br />Never: This content type will not be associated with the events calendar.')
          );
          break;
    #...
     }
    }

    vectoroc, 09 Января 2010

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

    +153.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $month = ($_POST['teh_month'] < 10 ? "0".$_POST['teh_month'] : $_POST['teh_month']);
        $day = ($_POST['teh_day'] < 10 ? "0".$_POST['teh_day'] : $_POST['teh_day']);
        $hour = ($_POST['teh_hour'] < 10 ? "0".$_POST['teh_hour'] : $_POST['teh_hour']);
        $minute = ($_POST['teh_minute'] < 10 ? "0".$_POST['teh_minute'] : $_POST['teh_minute']);
        $second = ($_POST['teh_second'] < 10 ? "0".$_POST['teh_second'] : $_POST['teh_second']);
        
        $time=$day.".".$month.".".$_POST['teh_year']." ".$hour.":".$minute.":".$second;

    мое очень старое поделие :)

    danilissimus, 31 Августа 2009

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

    +153.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function thaw() {
        $this->get_lock();
        $vals = $this->that->ac_get_value($this->id, $this->name);
        eval(sprintf(";%s",$vals));
    }

    vals, this, that.. еще не хватает комментов типа // eval something, return nothing
    lock видимо отпускать и не надо...

    shitcoder, 24 Августа 2009

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

    +153.1

    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
    function filterVar($value)
    {
        if (get_magic_quotes_gpc())
        {
            $value = stripslashes($value);
        }
        
        $value = strip_tags($value); //режем теги.
        $value = preg_replace('%(<[^>]*(>|$)|>)%e', '', $value);
    
        return str_replace(array("\n", "\r"), array(' ', ''), $value);
    }
    
    foreach ($_GET as $reqValue)
    {
        $reqValue = is_array($reqValue) ? array_filter($reqValue, 'filterVar') : filterVar($reqValue);
    }
    
    $_REQUEST = array_merge ($_GET,$_POST);

    это меня вывело из себя

    junqed, 13 Августа 2009

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