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

    +162

    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
    function url_rewriter(){
    	$rules=file_get_contents("system/static/rewrite_rules.conf");
    	$rules=explode("\n",$rules);
    	for ($i=0;$i<count($rules);$i++){
    		$z=explode(" ",$rules[$i]);
    		$r[$z[0]]=$z[1];
    	}
    	foreach ($r as $n => $v)
    	{
    		if ("si".$_GET['url']==$n or "si".$_GET['url']==$n."/") { $_GET['page']=$v; $ok=1;}
    		if ("ab".$_GET['url']==$n or "ab".$_GET['url']==$n."/") { $_GET['page']=$v; $ok=1;}
    		if ("inter".$_GET['url']==$n or "inter".$_GET['url']==$n."/") {$_GET['page']=$v;  $ok=1;}
    		if ("he".$_GET['url']==$n or "he".$_GET['url']==$n."/") {$_GET['page']=$v;  $ok=1;}
      }
      if ("inter".$_GET['url']=="internet-service/cabinet/basket/mobileterminal"||
          "inter".$_GET['url']=="internet-service/cabinet/basket/mobileterminal/"){
        $_GET['page']=14;
        $ok=1;
        $_GET['mobileterminal']="on";
        unset($_GET['url']);
      } 
    	return $ok;
    }

    Реализация ЧПУ...

    nethak, 08 Декабря 2011

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

    +173

    1. 1
    echo $table = new  Table(new Db_pars(new Db_mysql(new Db_query('SELECT_ALL'))));

    Razban_Guestov, 08 Декабря 2011

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    case "delete":
       $id=$_GET['id'];
              if(!isset($id)){
              // no id? GTFO   
             header('Location: index.php?go=manage_costumes&act=view'); 
             exit();
             }else{
            // id exists
    ...

    )))

    mimits89, 07 Декабря 2011

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

    +172

    1. 1
    2. 2
    3. 3
    <td class="td_caption" style="width: 40%"><label for="pohuy">Запомнить</label></td>
    
    		<td class="td_value"><input type="checkbox" name="pohuy" checked="checked" id="pohuy"/></td>

    "Я ХАЧУ ГАЛОЧКУ ЗАПОМНИТЬ ПОД ПАРОЛЕМ БИЛЯТЬ", - как скажешь начальник.

    *параметр "pohuy" как вы поняли нигде и никак не обрабатывается.

    jokz, 07 Декабря 2011

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

    +163

    1. 1
    2. 2
    3. 3
    if ($linksCount == 0) $linksCount = -1; // for no error
    	$percent = round(($linksOkIndex/$linksCount)*100, 0);
    	if ($linksCount == -1) $linksCount = 0; // for no error

    Я так избегаю деления на ноль -)

    increazon, 06 Декабря 2011

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (!$xhr)
    {
    	//...
    } 
    else
    {
    	echo $goodUpload ? 'ok' : 'ne ok';							
    }

    Ответ формы на AJAX-запрос

    f0rm4t, 06 Декабря 2011

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

    +157

    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
    function &_static($name = null, $value = null, $unsetVal = false) {
      static $data = array();
      $null = null;
      if (is_array($name)) {
        $data = $name;
        return $null;
      }
      $state = 0;
      $args = array($name, $value, $unsetVal);
      while (count($args)) {
        $arg = array_shift($args);
        switch ($state) {
          case 0:
            if ($arg === null) {
              $state = 8;
            }
            elseif ($arg !== null) {
              $state = 1;
            }
            else {
              throw new \InvalidArgumentException();
            }
            break;
    
          case 1:
            if ($arg === null) {
              $state = 5;
            }
            elseif ($arg !== null) {
              $state = 2;
            }
            else {
              throw new \InvalidArgumentException();
            }
            break;
    
          case 2:
            if ($arg === true) {
              $data[$name] = $value; // $name, $value, true - overwrite saved value and return reference on it.
              return $data[$name];
            }
            elseif ($arg === false) {
              if (!array_key_exists($name, $data)) {
                $data[$name] = $value;
              }
              return $data[$name]; // $name, $value, false - save value if not exist, return reference on stored value.
            }
            else {
              throw new \InvalidArgumentException();
            }
    
          case 5:
            if ($arg === false) {
              if (!array_key_exists($name, $data)) {
                $data[$name] = $value; // $name, null, false, - initialize var if not exist, return reference on stored value.
              }
              return $data[$name];
            }
            elseif ($arg === true) {
              $data[$name] = $value; // $name, $value, true - overwrite saved value and return reference on it.
              return $data[$name]; // $name, null, true - overwrite saved value and return reference on it.
            }
            else {
              throw new \InvalidArgumentException();
            }
            break;
    
          case 8:
            if ($arg === null) {
              continue;
            }
            if ($arg === true) {
              $data = array(); // null, null, true - unset all
              break 2;
            }
            elseif ($arg === false) {
              return $data; // null, null, false - return all
            }
            else {
              throw new \InvalidArgumentException();
            }
    
          default:
            throw new \RuntimeException('Unknown state.');
        }
      }
      return $null;
    }

    Как сделать глобальные переменные своими руками?
    Как сделать ветвление когда под рукой не оказалось if, зато есть while и switch?

    sectus, 05 Декабря 2011

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

    +177

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    "
    <td><span>\".setDiskont2(\$data[price]*{$as_Quantity}, $current_site[Skidka], \$data[Discount]).\"</span></td>
    <th></th>
    </tr>
      ")." 
      ".as_if($totalsum+=as_query("SELECT price FROM Data".$as_ObjectID." WHERE Data_ID=$as_ItemID","\$data[price]")*$as_Quantity*$as_Discount,"")."
    ")."

    Оцените.
    Этот кусок кода хранится в поле таблицы бд, в котором хранится кусок шаблона формы корзины интернет-магазина.
    Функция на шестой строке выводит общую сумму заказа при eval.
    У меня ушло более двух часов, чтобы розыскать логику внутри семикратной (! я не шучу) вложенности include_once, чтобы в итоге понять, что запрос который я искал хранится в самой бд, причем не просто храниться, а хранится внутри бд, внутри php который хранится внутри html... Сам Доминик Кобб позавидовал бы степени вложенности моих кошмаров %)

    antongorodezkiy, 04 Декабря 2011

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

    +159

    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
    $t2 = db_query("SELECT
          			COUNT(*)
      			FROM
         			order_delivery_offers AS odf,
         			uc_orders AS uo
      			WHERE
         			odf.order_id = uo.order_id AND
         			uo.uid = $uid AND
         			uo.order_status = 'accepted' AND
         			odf.status = 'accepted' AND
         			odf.visible = 1 AND
         			odf.active = 1
      			GROUP BY odf.order_id");
      $count_rows2 = 0;
      while ($r2 = db_fetch_array($t2)){
    		$count_rows2++;
      }

    Подсчет количества записей в запросе.

    beertudam, 04 Декабря 2011

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    const ORDER_FUNC_ARGS   = '$a, $b';
    	const ORDER_FUNC_LOGIC  = '$a=strlen($a);$b=strlen($b);return$a==$b?0:($a<$b?1:-1);';
    // а дальше в одном из методов
    		$this->_userAgents 	= array_keys($browsers);
    		usort(
    			$this->_userAgents,
    			create_function(self::ORDER_FUNC_ARGS, self::ORDER_FUNC_LOGIC)
    		);

    Для меня это странно выглядит

    LiteError, 03 Декабря 2011

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