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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Strip out the embedded timestamp
    if ( ! preg_match("/(\d+TS--->)/", $cache, $match))
    {
      return FALSE;
    }
    
    // Has the file expired? If so we'll delete it.
    if (time() >= trim(str_replace('TS--->', '', $match['1'])))
    {
    ...

    CodeIgniter → System → Core → Output.php
    Это чтение временной метки в кэш-файле. Почему бы в регулярке в "карман" не взять только \d+?

    Andretti, 10 Декабря 2011

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

    +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
    private function setFxFF()
    	{
    		if(!isset($_GET["body"]))return;
    		if(preg_match('/^[\dA]{4,100}$/',$_GET["body"]) == 0)return;
    		
    		$str = $_GET["body"];$pos = 0;
    		$c=0;
    		do
    		{//$c++;if($c>10)return;
    		
    			$s = substr($str,$pos,4);$pos+=4;//echo "<br>$pos<br>";
    			if(strlen($s) < 4)return;
    			
    			$ppos = substr($s,0,3);$ppos = intval($ppos);
    			$val = substr($s,3,1);
    			
    			if($ppos == 0)continue;
    			
    			if($ppos <= 99)$col = 'fa';
    			elseif($ppos >= 100 && $ppos <= 199)$col = 'fb';
    			elseif($ppos >= 200 && $ppos <= 299)$col = 'fc';
    			elseif($ppos >= 300 && $ppos <= 399)$col = 'fd';
    			elseif($ppos >= 400 && $ppos <= 499)$col = 'fe';
    			if(!isset($col))return;
    			
    			switch($col)
    			{
    				case 'fb':$ppos -= 100;break;
    				case 'fc':$ppos -= 200;break;
    				case 'fd':$ppos -= 300;break;
    				case 'fe':$ppos -= 400;break;
    			}
    			
    			$fStr = $this->getUserVal($col);//echo $ppos;
    			//$pos = $ppos; //$this->get_F_pos($body1);
    			$fStr = $this->replace_F_str($fStr,$ppos,$val);//echo $fStr;
    			//echo '<br>'.$fStr.'<br>';
    			$this->setUserVal($col,$fStr,'str');
    			unset($col);
    		}while(true);
    	}

    kyzi007, 09 Декабря 2011

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