"PHP" / Говнокод #24640 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
private static function preparePostProperty(&$data, $propName = [], $type = 'float'){
        if(!in_array($type, ['float', 'integer', 'string']))
            return;
        if(is_array($data) && !empty($propName)){
            $key = '$data["' . implode('"]["', $propName) . '"]';

            @eval("if(isset($key)) $key = ($type)$key;");
        }
    }


    public static function preparePost($data, $documentsObjects = []){
        if(is_array($data)){
            self::preparePostProperty($data, ['general', 'fromMtender', 'lotDetails', 'lotAmount']);
            self::preparePostProperty($data, ['general', 'additionalData', 'budgetDetails', 'amountBrutto']);
            self::preparePostProperty($data, ['general', 'additionalData', 'budgetDetails', 'amountNetto']);
            self::preparePostProperty($data, ['general', 'additionalData', 'budgetDetails', 'amountPrepayment']);
            self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountGuarantee']);
            self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountGE']);
            self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountWithdraw']);
            self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'amountMaxWithdraw']);
            self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'transferDuration']);
            self::preparePostProperty($data, ['general', 'additionalData', 'bankGuarantee', 'nonPaymentMax']);
            self::preparePostProperty($data, ['general', 'additionalData', 'executionShouldStart']);
            self::preparePostProperty($data, ['general', 'additionalData', 'executionDuration']);

            foreach ($data['subject'] as $k => $subjects){
                //data[subject][0][fromMtender][itemQuantity]
                self::preparePostProperty($data, ['subject', $k, 'fromMtender', 'itemQuantity']);
                self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'unitPrice', 'withoutVAT']);
                self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'unitPrice', 'withVAT']);
                self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'amountPrice', 'withoutVAT']);
                self::preparePostProperty($data, ['subject', $k, 'additionalData', 'itemDetails', 'itemPrice', 'amountPrice', 'withVAT']);

                foreach ($subjects['additionalData']['budget'] as $kb => $budgets){
                    self::preparePostProperty($data, ['subject', $k, 'additionalData', 'budget', $kb, 'budgetAmount']);
                }
            }

            self::preparePostProperty($data, ['ca', 'additionalData', 'caPerson', 'caPersonCode']);

            self::preparePostProperty($data, ['eo', 'fromMtender', 'eoCode']);
            self::preparePostProperty($data, ['eo', 'additionalData', 'eoLicenses', 'eoValidityDuration']);
            self::preparePostProperty($data, ['eo', 'additionalData', 'eoPerson', 'eoPersonCode']);

            self::preparePostProperty($data, ['otherConditions', 'sla', 'deliveryDelayLiability', 'liabilityPercent']);
            self::preparePostProperty($data, ['otherConditions', 'sla', 'deliveryDelayLiability', 'liabilityPercentMax']);
            self::preparePostProperty($data, ['otherConditions', 'sla', 'paymentDelayLiability', 'liabilityPercent']);
            self::preparePostProperty($data, ['otherConditions', 'sla', 'paymentDelayLiability', 'liabilityPercentMax']);
            self::preparePostProperty($data, ['otherConditions', 'sla', 'maxPenalty']);
            self::preparePostProperty($data, ['otherConditions', 'sla', 'maxDelay']);
            self::preparePostProperty($data, ['otherConditions', 'sla', 'warrantyPeriod']);
            self::preparePostProperty($data, ['otherConditions', 'timeline', 'informOnSigned']);
            self::preparePostProperty($data, ['otherConditions', 'timeline', 'informOnFM']);
            self::preparePostProperty($data, ['otherConditions', 'timeline', 'informOnTermination']);
            self::preparePostProperty($data, ['otherConditions', 'timeline', 'respondOnTermination']);
            self::preparePostProperty($data, ['otherConditions', 'timeline', 'submitClaimsMax']);
            self::preparePostProperty($data, ['otherConditions', 'timeline', 'respondClaimsMax']);
            self::preparePostProperty($data, ['otherConditions', 'timeline', 'deliverOnClaims']);
        }

        self::appendPostDocuments($data, $documentsObjects);

        return $data;
    }

ЧТОЕТА?

Запостил: dd3d dd3d, (Updated )

Комментарии (10) RSS

  • Даже я, мэтр "PHP", не понял предназначение данного кода. Можешь ли ты пояснить, что он принимает и что выдаёт?
    Ответить
    • Почему в странах СНГ такое огромное количество говносайтов собранных из говна и палок ?
      Казалось бы, интернет огромен и можно легко поднять свои стандарты, главное желание. Но нет, везде какой-то пиздец, постоянно появляются «сливы» - то фл.ру, то сеоспринт. Пролистав исходники просто охуеваешь. Никакого мвц и в помине нет. Никакой абстрактизации, ничего. Просто какое-то ебаное говно.
      Почему же все так ? Неужели в наших краях все ПХПшники скатофилы (что?)
      Ну а чего ждать если у большинства с английским все хреново ?
      А ничего, есть ведь и книги на русском которые обучают нормально писать код. А есть ли ? Я и не искал.
      С другой стороны, знания английского позволяют куда шире гуглить.
      Такое ощущение что мы упустили очень важный момент и все пошло по пизде. Хотя, это можно сказать не только про программирование...
      Может заказчики дебилы хотят все и чтоб вчера, поэтому программисты пишут говно ? Непроизвольное испражнение получается.
      Но это вряд ли. Скорее всего тупо лень. Ну а нахуй делать нормально если и так работает ? Что ? Чтобы проект можно было поддерживать ? А нахуй надо ? Я же все равно скоро ухожу так как зарплата - залупа.
      Какой-то круговорот производства и пожирания говна.
      Заказчик пердит, менеджер пердит, программер срет, пользователи жрут, когда, в очередной раз, на хабре сообщают что «сайт ххх взломали».
      Что ты говоришь ? Выложить свой код ? А ты думаешь я не говнокод пишу ?
      Ах это язык меня вынуждает ?
      Ну нет, это все мне досталось по наследству, а что не досталось - насрал сам. Почему ? Да так получилось, а времени переделывать нету. Ну, хотя бы МВЦ и фреймворк...вместо клея между говном и палками.
      Ну и что же со всем этим делать ?
      Да в общем хуй знает.
      Ответить
      • >>скатофилы
        любят электрических скатов?

        С остальным согласен
        Ответить
      • Ну а что, это же какой-то сайт, а не важное приложение для запуска спутников, в которое серьёзная математика вшита, надо подгонять под новые достижения науки и за поддержку в течение 30 лет платят.
        Хотели быстро и подешевле, чтоб начать зарабатывать в интернете - получайте говносайт за копейку.

        Ну разве что, за рубль можно такое говно сто раз переписать с нуля, получив ноль легаси кода и нескучные обои.
        Ответить
        • Подобный код встречается в разных гос. системах. Тоже денег нет - отдают проекты тем кто сделает дешевле (и с максимальным откатом). Если сделать аудит таких систем - будет пиздец.

          Да вообще во всем «инфобизнесе» какая-то срака.
          Прилетела ебаная саранча из миллиона воинов анала (любителей делать все быстро и через жопу, главное заработать).
          Апп сторы - сдохли, задушили. Монетизация по средствам рекламы - задушили.
          Игры выпускают тоже слепленные из говна и палок, потому-что все расходы окупаются еще на стадии «раннего доступа», а дальше развивать не надо.

          Это какой-то паровоз говна (говновоз?) потерявший сцепление с говнорельсами и на полной скорости катится в говноад
          Ответить
          • Что же, может удастся это переждать. Когда-нибудь произойдёт насыщение говном, и его перестанут активно покупать/использовать.
            Только для этого сначала надо со свистом войти в говноад и пробыть там какое-то время.
            Ответить
            • Чтобы его переждать, нужно
              1. Самому не потерять здравый смысл и мастерство
              2. Иметь нерушимую базу. Когда всё улетит в говноад, рухнут системы, в которых говна друг друга взаимно поддерживали. Ни на одно говно надеяться нельзя
              3. Говно не оставит наследия, нельзя будет переделать говно в хорошее. Всё говно придётся выкинуть

              Что же нам остаётся? Гну слэш линукс и фри софтвер.
              Ответить
              • А переждать не получится. Когда все очухаются, говно будет уже среди нас.
                Вот у знакомого был бизнес - делал WordPress шаблоны для ThemeForest, тоже говно, но хорошо упакованное, насрал на 500,000$. И совсем не пахло. Потом пришли индусы и начали выкладывать говно пачками по 10$ за штуку. Зачем делать шаблон со 100 разными вариантами главной страницы, если индус сделает 100 разных шаблонов за это же время. И всё, уже нету у меня этого знакомого. А он тоже говорил что "говно пройдет". А ведь про все это говно еще Моцарт писал.
                Ответить
          • Даже если духами обдать, всё равно продолжает вонять.
            Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8