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

    +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
    // Крон скрипт
    set_time_limit(0);
    ini_set('memory_limit', 2548576000);
    
    // проверим запущен ли скрипт
    $shell_script = __FILE__;
    $grep_name = substr(basename($shell_script), 0, -4);
    exec("ps ax | grep {$grep_name} | grep -v grep | grep -v flock", $process);
    
    if (count($process) > 1) {
        die("\n Ошибка! Еще не отработал запущенный ранее скрипт! \n");
    }
    
    
    //... код клонирования базы с миллонами строк

    Halfi, 09 Декабря 2011

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

    +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
    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
    /*
    	 * Функция получает выбор пользователя о типе доставки
    	 * проверяет ИД полученного ордера
    	 * и передает ордерИД и delivery_name
    	 */
    
    	public function actionSelectDelivery($OrderId = 1)
    	{
    		$modules = array();
    		foreach($this->module->components as $k => $dir)
    		{
    			$modules[$k] = $dir['show_name'];
    		}
    
    		$model = new Delivery();
    		$model->order_id = $OrderId;
    
    		if(isset($_POST['Delivery']))
    		{
    			$model->attributes = $_POST['Delivery'];
    			$params = $this->module->getParams();
    			$b = false;
    			if(isset($OrderId))
    			{
    				$modelOrder = CActiveRecord::model($params['OrderModel'])->findByPk($OrderId);
    				if(!isset($modelOrder))
    					$b = true;
    			}
    			else
    				$b = true;
    			if(!$b) {
    				$url = $this->createUrl('/delivery/default/createD', array( 'OrderId' => $OrderId, 'DeliveryName' => $model->delivery_name));
    			}
    			else
    				echo 'Error with order #' . $OrderId;
    		}
    
    		$this->render(__FUNCTION__, array(
    				'modules' => $modules,
    				'model' => $model,
    			)
    		);
    	}

    namreg, 09 Декабря 2011

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

    +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
    <?php
    if ($x9 == TRUE) 
    	{
    	$sum = $raw_sum * $K_smoke;
    	}
    else if ($x10 == TRUE) 
    	{ 
    	$sum = $raw_sum * $K_pole;
    	}
    else if ($x10 == TRUE && $x9 == TRUE) {
    	$sum = $raw_sum * $K_pole * $k_smoke;
    	}
    else {
    	$sum = $raw_sum;
    	}
    ?>

    Кусок и простейшего калькулятора :)

    Mr_Smile, 09 Декабря 2011

    Комментарии (6)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)