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

    −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
    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
    function timeAgo($time_ago)
    {
        $time_ago = strtotime($time_ago);
        $cur_time = strtotime(date('Y-m-d H:i:s'));
        $time_elapsed = $cur_time - $time_ago;
        $seconds = $time_elapsed;
        $minutes = round($time_elapsed / 60);
        $hours = round($time_elapsed / 3600);
        $days = round($time_elapsed / 86400);
        $weeks = round($time_elapsed / 604800);
        $months = round($time_elapsed / 2600640);
        $years = round($time_elapsed / 31207680);
        if ($seconds <= 60) {
            echo "$seconds seconds ago";
        } else {
            if ($minutes <= 60) {
                if ($minutes == 1) {
                    echo "one minute ago";
                } else {
                    echo "$minutes minutes ago";
                }
            } else {
                if ($hours <= 24) {
                    if ($hours == 1) {
                        echo "an hour ago";
                    } else {
                        echo "$hours hours ago";
                    }
                } else {
                    if ($days <= 7) {
                        if ($days == 1) {
                            echo "yesterday";
                        } else {
                            echo "$days days ago";
                        }
                    } else {
                        if ($weeks <= 4.3) {
                            if ($weeks == 1) {
                                echo "a week ago";
                            } else {
                                echo "$weeks weeks ago";
                            }
                        } else {
                            if ($months <= 12) {
                                if ($months == 1) {
                                    echo "a month ago";
                                } else {
                                    echo "$months months ago";
                                }
                            } else {
                                if ($years == 1) {
                                    echo "one year ago";
                                } else {
                                    echo "$years years ago";
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    Отображает прошедшее время после публикации поста

    black_vlastelin, 06 Декабря 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // nullable types
    // C#
    int?
    // TypeScript
    int?
    // Kotlin
    int?
    // PHP
    ?int

    нет мочи терпеть это дерьмо

    Fike, 19 Ноября 2017

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

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    class Yandex{
      require_once _DIR_ . '/vendor/autoload.php';
      class_alias('\Arhitector\Yandex\Disk', 'Yandex');
    
    
      // передать OAuth-токен зарегистрированного приложения.
      $disk = new Yandex('AQAAAAAeTQ-yAARKyGCP7TY2MU0aggYZ7ucZFwI');
    
      /**
       * Получить Объектно Ориентированное представление закрытого ресурса.
       * @var  Arhitector\Yandex\Disk\Resource\Closed $resource
       */
      $resource = $disk->getResource('0000 Техническое задание (2).pdf');
    
      // проверить сущестует такой файл на диске ?
      $resource->has(); // вернет, например, false
    
      // загрузить файл на диск под имененм "новый файл.txt".
      $resource->upload(__DIR__ . '/0000 Техническое задание (1).pdf');
    
      // файл загружен, вывести информацию.
      echo '<pre>';
      var_dump($resource->toArray());
    }

    Нашёл на работе

    slexx1234, 17 Ноября 2017

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

    0

    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
    public function actionOrderDelete(){
            $params = Yii::$app->request;
            $param = Json::decode($params->getRawBody());
            if($params->headers->get('Token') and $params->headers->has('Token')){
    
                 if($us = User::findOne(['token'=>$params->headers->get('Token')])){
                    $order = EnbekOrders::findOne($param['id']);
                    $order->status = '0';
    
                    $order_j = OrderJoin::findOne(['order_id' => $param['id']]);
                    $order_j->exucotor_id = '0';
                    
                    $cab = CabinetJoin::findOne(['user_id' => $us->id]);
    
                    $st = UserSt::findOne($cab->personal_id);
    
                    $cab->status = '1';
     
                    $st->reting-='0.1';
    
                    if($order_j->save() and $order->save() and $cab->save() and $st->save())
                        return ['success'=>true];
                    else
                        return ['success'=>false];
                }else{
                    return ['success'=>];
                }
            }else{
                return ['message'=>];
            }
        }

    vityadm, 17 Ноября 2017

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

    0

    1. 1
    2. 2
    3. 3
    do {
    // много кода и в нужный момент break :)
    } while (true === true);

    Для пущей уверенности в том что цикл "не сорвётся" в коде используется тождественно равно - моя отсебятинка в одном их проектов :)

    loderuner, 16 Ноября 2017

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

    0

    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
    function numeral($s, $t1, $t3, $t5)
    {
    	$s = intval($s) % 100;
    	$z2 = intval($s / 10);
    	$z3 = $s % 10;
    	return ($z3 == 0) || ($z3 > 4) || ($z2 == 1)
    	       ? $t5
    	       : (($z3 > 1) && ($z3 < 5) ? $t3 : $t1);
    }
    
    function fileSizeInKB($size)
    {
        if ($size < 1024) {
            return intval($size) . '&nbsp;' . numeral($size, 'байт', 'байта', 'байтов');
        } else {
            $size /= 1024;
            if ($size < 1024)
                return intval($size) . '&nbsp;КБ';
            else
                return intval($size / 1024) . '&nbsp;МБ';
        }
    }

    high top pluralization method

    SeniorShaurman, 16 Ноября 2017

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

    +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
    <?php
     
    class Govno
    {
    	function __toString()
    	{
    		return 'govno';
    	}
    }
     
    ${'<?php'}   = 42;
    ${M_PI}      = 43;
    ${new Govno} = 44;
    ${"\0"}      = 45;
    ${''}        = 46;
    ${null}      = 47;
     
    ${create_function('', 'return null;')} = 444;
    ob_start();
    phpinfo();
    ${ob_get_clean()} = 9000;
     
     
    var_dump(get_defined_vars());

    В ПХП возможно всё, если делать это через жопу.
    https://ideone.com/svS2sO

    Stallman, 16 Ноября 2017

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

    −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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    <?foreach($RObl as $v) {$n++;?>
    <li>
    <?if(!empty($v['URL_HOST'])) switch ($v['SOCR']) {?>
    <?	case 'обл.':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> область</a>
    <?		break;?>
    <?	case 'край':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> край</a>
    <?		break;?>
    <?	case 'Респ.':?>
    <?if(substr($v['NAME'],-2)!=='ая') {?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>">Республика <?=$v['NAME']?></a>
    			<?;} else {?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> республика</a>
    			<?}?>
    <?		break;?>
    <?	case 'АО':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>">АО <?=$v['NAME']?></a>
    <?		break;?>
    <?	case 'Аобл.':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> автономная область</a>
    <?		break;?>
    <?	default:?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['SOCR']?> <?=$v['NAME']?></a>
    <?}?>
    </li>

    Падаван Дмитрия Котерова

    SeniorShaurman, 15 Ноября 2017

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

    0

    1. 1
    2. 2
    3. 3
    https://github.com/VKCOM/bot-example-php/blob/master/html/bot/bot.php
    
    В великом и недосягаемом "ВКонтакте" переменные в текст по-прежнему включают с помощью фигурных скобок.

    COWuTEJIbTBOEuMAMKu, 14 Ноября 2017

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

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // PHP при делении может неявно конвертировать целые в плавающие, и всех этих int-ограничений для него не существует
    echo 12 / 5; // 2.4
    
    // Было бы логично предположить, что другие операторы работают так же, но эта камбала неявно кастует уже плавающее к целому в соседнем операторе
    echo 9 % 0.9;
    
    PHP Fatal error:  Uncaught DivisionByZeroError: Modulo by zero in Command line code:1
    Stack trace:
    #0 {main}
      thrown in Command line code on line 1

    Fike, 13 Ноября 2017

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