1. Список говнокодов пользователя programmer

    Всего: 2

  2. PHP / Говнокод #7274

    +166

    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
    <?php $ago = time()-$time; ?>
    <?php $hour = sfConfig::get('app_hour_in_seconds'); ?>
    <?php $day = sfConfig::get('app_day_in_seconds'); ?>
    
    <?php if($ago < 60): ?>
    	<span>less than one minute ago</span>
    <?php elseif($ago < $hour): ?>
      <?php $m = floor($ago/60); ?>
    	<span><?php echo($m); ?> minute<?php echo(($m > 1 ? 's' :'')); ?> ago</span>
    <?php elseif($ago <= $day): ?>
    	<?php $h = floor($ago/$hour); ?>
    	<span><?php echo($h); ?> hour<?php echo(($h > 1 ? 's' :'')); ?> ago</span>
    <?php elseif ($ago <= $day*30): ?>
    	<?php $d = floor($ago/$day); ?>
    	<span><?php echo($d); ?> day<?php echo(($d > 1 ? 's' :'')); ?> ago</span>
    <?php elseif ($ago <= $day*365): ?>
    	<?php $m = floor($ago/$day*30); ?>
    	<?php $d = floor(($ago-$m)/$day); ?>
    	<span><?php echo($m); ?> month<?php echo(($m > 1 ? 's' :'')); ?> <?php echo($d); ?> day<?php echo(($d > 1 ? 's' :'')); ?> ago</span>
    <?php else: ?>
    	<?php $y = floor($ago/$day*365); ?>
    	<?php $m = floor(($ago-$y)/$day*30); ?>
    	<?php $d = floor(($ago-$y-$m)/$day); ?>
    	<span><?php echo($y); ?> year<?php echo(($y > 1 ? 's' :'')); ?> 
    		<?php echo($m); ?> month<?php echo(($m > 1 ? 's' :'')); ?> 
    		<?php echo($d); ?> day<?php echo(($d > 1 ? 's' :'')); ?> ago</span>
    <?php endif; ?>

    Кусок кода, выводящий дату поста в формате N days N hours ago....
    Кроме собственно говностиля забавляет наличие цифр 30 и 365 в коде)

    programmer, 18 Июля 2011

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

    +149

    1. 1
    return str_replace("\t", '', str_replace("\n", '', str_replace('"', '\"', get_partial($partial, $data))));

    Это вместо простого
    return str_replace(array("\n","\t"), '', get_partial($partial, $data));

    programmer, 18 Июля 2011

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