- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 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;
}
AnalCastingManager 20.08.2018 20:31 # 0
dd3d 20.08.2018 21:27 # 0
Казалось бы, интернет огромен и можно легко поднять свои стандарты, главное желание. Но нет, везде какой-то пиздец, постоянно появляются «сливы» - то фл.ру, то сеоспринт. Пролистав исходники просто охуеваешь. Никакого мвц и в помине нет. Никакой абстрактизации, ничего. Просто какое-то ебаное говно.
Почему же все так ? Неужели в наших краях все ПХПшники скатофилы (что?)
Ну а чего ждать если у большинства с английским все хреново ?
А ничего, есть ведь и книги на русском которые обучают нормально писать код. А есть ли ? Я и не искал.
С другой стороны, знания английского позволяют куда шире гуглить.
Такое ощущение что мы упустили очень важный момент и все пошло по пизде. Хотя, это можно сказать не только про программирование...
Может заказчики дебилы хотят все и чтоб вчера, поэтому программисты пишут говно ? Непроизвольное испражнение получается.
Но это вряд ли. Скорее всего тупо лень. Ну а нахуй делать нормально если и так работает ? Что ? Чтобы проект можно было поддерживать ? А нахуй надо ? Я же все равно скоро ухожу так как зарплата - залупа.
Какой-то круговорот производства и пожирания говна.
Заказчик пердит, менеджер пердит, программер срет, пользователи жрут, когда, в очередной раз, на хабре сообщают что «сайт ххх взломали».
Что ты говоришь ? Выложить свой код ? А ты думаешь я не говнокод пишу ?
Ах это язык меня вынуждает ?
Ну нет, это все мне досталось по наследству, а что не досталось - насрал сам. Почему ? Да так получилось, а времени переделывать нету. Ну, хотя бы МВЦ и фреймворк...вместо клея между говном и палками.
Ну и что же со всем этим делать ?
Да в общем хуй знает.
roskomgovno 20.08.2018 22:43 # 0
любят электрических скатов?
С остальным согласен
1024-- 20.08.2018 22:46 # 0
Хотели быстро и подешевле, чтоб начать зарабатывать в интернете - получайте говносайт за копейку.
Ну разве что, за рубль можно такое говно сто раз переписать с нуля, получив ноль легаси кода и нескучные обои.
dd3d 20.08.2018 23:23 # 0
Да вообще во всем «инфобизнесе» какая-то срака.
Прилетела ебаная саранча из миллиона воинов анала (любителей делать все быстро и через жопу, главное заработать).
Апп сторы - сдохли, задушили. Монетизация по средствам рекламы - задушили.
Игры выпускают тоже слепленные из говна и палок, потому-что все расходы окупаются еще на стадии «раннего доступа», а дальше развивать не надо.
Это какой-то паровоз говна (говновоз?) потерявший сцепление с говнорельсами и на полной скорости катится в говноад
1024-- 20.08.2018 23:31 # 0
Только для этого сначала надо со свистом войти в говноад и пробыть там какое-то время.
vistefan 21.08.2018 10:36 # 0
1. Самому не потерять здравый смысл и мастерство
2. Иметь нерушимую базу. Когда всё улетит в говноад, рухнут системы, в которых говна друг друга взаимно поддерживали. Ни на одно говно надеяться нельзя
3. Говно не оставит наследия, нельзя будет переделать говно в хорошее. Всё говно придётся выкинуть
Что же нам остаётся? Гну слэш линукс и фри софтвер.
dd3d 21.08.2018 11:49 # 0
Вот у знакомого был бизнес - делал WordPress шаблоны для ThemeForest, тоже говно, но хорошо упакованное, насрал на 500,000$. И совсем не пахло. Потом пришли индусы и начали выкладывать говно пачками по 10$ за штуку. Зачем делать шаблон со 100 разными вариантами главной страницы, если индус сделает 100 разных шаблонов за это же время. И всё, уже нету у меня этого знакомого. А он тоже говорил что "говно пройдет". А ведь про все это говно еще Моцарт писал.
guest6 08.10.2024 22:58 # 0
guest6 08.10.2024 22:59 # 0