-
+1
- 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
interface PostRepository
{
public function save(Post $model);
}
class Post
{
protected $id;
protected $title;
protected $content;
public function setId(int $id)
{
$this->id = $id;
}
public function getId(): ?int
{
return $this->id;
}
public function setTitle(string $title)
{
$this->title = $title;
}
public function getTitle(): string
{
return $this->title ?: '';
}
public function setContent(string $content)
{
$this->content = $content;
}
public function getContent(): string
{
return $this->content ?: '';
}
}
Блядь, до чего ж отвратительный код. Говёность «PHP», тщательно и с извращённой любовью смешанная с ЙАЖАвским бойлерплейтом. Омерзительно.
https://habr.com/ru/post/505400/
>>> Как должны выглядеть модели?
gost,
08 Июня 2020
-
+3
- 1
Error displaying the error page: Application Instantiation Error: Could not connect to MySQL.
МОЭК запустила дополнительный информационный сервис для москвичей о сроках отключения горячей воды
https://online.moek.ru
real_escape_string,
03 Июня 2020
-
+1
- 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
if ($arItem['OFFERS_PROPS_DISPLAY']) {
foreach ($arItem['JS_OFFERS'] as $keyOffer => $arJSOffer) {
$strProps = '';
if (!empty($arJSOffer['DISPLAY_PROPERTIES'])) {
foreach ($arJSOffer['DISPLAY_PROPERTIES'] as $arOneProp) {
$strProps .= '<br>'.$arOneProp['NAME'].' <strong>'.(
is_array($arOneProp['VALUE'])
? implode(' / ', $arOneProp['VALUE'])
: $arOneProp['VALUE']
).'</strong>';
}
}
$arItem['JS_OFFERS'][$keyOffer]['DISPLAY_PROPERTIES'] = $strProps;
}
}
foreach ($arItem['JS_OFFERS'] as $keyOffer => $arJSOffer) {
if ($arItem['PROPERTIES']['OLD_PRICE']['VALUE'] > 0 &&
$arItem['PROPERTIES']['OLD_PRICE']['ACTIVE'] == 'Y' &&
($arItem['PROPERTIES']['OLD_PRICE']['VALUE'] * $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO']) > $arItem['JS_OFFERS'][$keyOffer]['PRICE']['VALUE']) {
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['VALUE'] = $arItem['PROPERTIES']['OLD_PRICE']['VALUE'] * $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO'];
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['PRINT_VALUE'] = CCurrencyLang::CurrencyFormat($arItem['JS_OFFERS'][$keyOffer]['PRICE']['VALUE'], $arItem['JS_OFFERS'][$keyOffer]['PRICE']['CURRENCY']);
}
$maxItemPriceValue = ($arItem['JS_OFFERS'][$keyOffer]['PRICE']['VALUE'] > $maxBasisPriceValue) ? $arItem['JS_OFFERS'][$keyOffer]['PRICE']['VALUE'] : $maxBasisPriceValue;
$discount = $maxItemPriceValue - $arItem['JS_OFFERS'][$keyOffer]['PRICE']['DISCOUNT_VALUE'];
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['VALUE'] = $maxItemPriceValue;
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['ECONOMY'] = $discount;
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['VALUE'] = $maxItemPriceValue / $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO'];
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['ECONOMY'] = $discount / $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO'];
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['CATALOG_MEASURE_RATIO'] = $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO'];
if ($isPriceMulty && count($arItem['OFFERS'][$keyOffer]['PRICES']) > 1 && (!$arParams['TAB_TYPE'] || ($arResult['IS_SHOW_LARGE_PREVIEW'] && !in_array('prodday', $itemType) && !in_array('action', $itemType)))) {
$iPrice = 0;
$maxBasisItemPriceValue = $maxBasisPriceValue / $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO'];
foreach($arItem['OFFERS'][$keyOffer]['PRICES'] as $arPrice) {
$maxItemPriceValue = ($arPrice['VALUE'] > $maxBasisItemPriceValue) ? $arPrice['VALUE'] : $maxBasisItemPriceValue;
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['PRICES'][$iPrice]['TITLE'] = $arItem['OFFERS'][$keyOffer]['CATALOG_GROUP_NAME_' . $arPrice['PRICE_ID']];
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['PRICES'][$iPrice]['DISCOUNT_VALUE'] = $arPrice['DISCOUNT_VALUE'];
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['PRICES'][$iPrice]['VALUE'] = $maxItemPriceValue;
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['PRICES'][$iPrice]['ECONOMY'] = $maxItemPriceValue - $arPrice['DISCOUNT_VALUE'];
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['PRICES'][$iPrice]['CURRENCY'] = $arPrice['CURRENCY'];
$arItem['JS_OFFERS'][$keyOffer]['PRICE']['PRICES'][$iPrice]['CATALOG_MEASURE_RATIO'] = $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO'];
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['PRICES'][$iPrice]['TITLE'] = $arItem['OFFERS'][$keyOffer]['CATALOG_GROUP_NAME_' . $arPrice['PRICE_ID']];
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['PRICES'][$iPrice]['DISCOUNT_VALUE'] = $arPrice['DISCOUNT_VALUE'];
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['PRICES'][$iPrice]['VALUE'] = $maxItemPriceValue;
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['PRICES'][$iPrice]['ECONOMY'] = $maxItemPriceValue - $arPrice['DISCOUNT_VALUE'];
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['PRICES'][$iPrice]['CURRENCY'] = $arPrice['CURRENCY'];
$arItem['JS_OFFERS'][$keyOffer]['BASIS_PRICE']['PRICES'][$iPrice]['CATALOG_MEASURE_RATIO'] = $arItem['OFFERS'][$keyOffer]['CATALOG_MEASURE_RATIO'];
$iPrice++;
}
}
}
js прайс ?
phpBidlokoder2,
01 Июня 2020
-
+1
- 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
<?php
echo count($arr);
$i = count($arr) - 1;
for ($i; $i >= 0; $i--) {
?>
<div class="post" id="p<?php echo $arr[$i]->_id; ?>">
<div class="p_title"><?php echo $arr[$i]->title; ?></div>
<div class="p_content"><?php echo $arr[$i]->content; ?></div>
<div class="p_date"><?php echo $arr[$i]->date; ?></div>
<form id="<?php echo $arr[$i]->_id; ?>" action="index.php" method="get">
<!--<textarea rows="4" cols="50" name="removid" style="display: none;" ><?php echo $arr[$i]->_id; ?></textarea>-->
<input type="text" name="removid" form="<?php echo $arr[$i]->_id; ?>" value="<?php echo $arr[$i]->_id; ?>"/>
<input type="submit" class="p_remove" onclick="dele('<?php echo $arr[$i]->_id; ?>');" form="<?php echo $arr[$i]->_id; ?>" value="Удалить"/>
</form><!--</div>-->
<?php echo $arr[$i]->_id; ?>
</div>
<?php
}
?>
<script>
function dele(param){
var jsVar = "<?php
$removid = $_GET['removid'];
$bulk = new MongoDB\Driver\BulkWrite;
//$bulk->delete(['_id'=> new MongoDB\BSON\ObjectId($removid)]);
$query = new MongoDB\Driver\Query(['_id'=> new MongoDB\BSON\ObjectId($removid)]);
$bulk->delete(['_id'=> new MongoDB\BSON\ObjectId($removid)]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
try {
$result = $manager->executeBulkWrite('forum.posts', $bulk, $writeConcern);
//header('Location: https://benar.wtf/index.php');
}
catch (MongoDB\Driver\Exception\BulkWriteException $e) {
$result = $e->getWriteResult();
}
?>";
}
</script>
Сделал вещь
bodix,
27 Мая 2020
-
+1
- 1
https://imgur.com/w4Dbg19
наймите @нормальных программистов
Fike,
23 Мая 2020
-
+3
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
// Вот код скрипта для отправки емейла:
mb_internal_encoding ("utf-8");
$from = "Иван Иванов <[email protected]>";
$to = $name."<$email>";
$subject = "Подтверждение подписки";
$message = "текст письма здесь";
$headers = "From: ".$from."\nReply-To: ".$from."\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit";
mail ($to, $subject, $message, $headers);
// И что характерно, само тело письма приходит в правильной кодировке. А вот поля отправителя,
// получателя и сабж письма - в краказябинах. Сами тексты этих полей 100% написаны в utf-8, код скрипта тоже в utf-8.
// Вот что что я вижу в почте:
// Subject: РРѕРґСРІРµСждение РїРѕРґРїРёСРєРё
// From: Рван Рванов <[email protected]>
// Reply-To: Рван Рванов <[email protected]>
// ...
// Проблема решилась следующим образом:
$subject = "=?utf-8?B?" . base64_encode("Подтверждение подписки") . "?=";
// И так для каждого поля.
https://phpclub.ru/talk/threads/Нужна-помощь-битая-кодировка-в-письме.82881/
gost,
20 Мая 2020
-
+2
- 1
- 2
https://habr.com/ru/post/501798/
> C++/Qt: пора валить?.
Выбор небогат – это PHP. Да, я сказал PHP. И мне не стыдно.
Ещё раз напомню, о каком типе приложений идёт речь: о тех, где сложная логика, требующая вычислительной производительности, реализована на C/C++, а к ним в пару нам нужен как можно более простой открытый язык/экосистема для общения с внешним миром и связи компонентов между собой. А если будет C-подобный синтаксис – вообще хорошо. И тут мы ставим галочки напротив каждого пункта наших требований.
Главное – PHP прост. При том круге задач, которые он (и экосистема) может решать — он божественно прост. И дело не только в когнитивной нагрузке при кодинге и переключении контекста. Простота ещё и в развёртывании, администрировании и минимальном количестве вариантов, которыми можно решить одну задачу.
PHP медленно, без резких движений, ползёт в правильную сторону, от увеличения производительности в 3 раза, до строгой типизации, решая задачи простым способом. И обрастая по пути крутыми штуками типа Swoole.
PHP реализовал офигенский FFI (foreign function interface) к C. Офигенский в том контексте, о котором идёт речь — сочетании простоты и возможностей. Вы только наберите в гугле «PHP: Basic FFI usage».
В PHP кругом $, а кто по нынешнему курсу их не любит...
PHP быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.
j123123,
20 Мая 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
public function isSpecial()
{
$special_ids = array(
2222,
3028,
3333,
5555,
5702,
6666,
6700,
7654,
7777,
8451,
11225
);
return in_array((int)$this->getId(), $special_ids);
//return $this->getId() == 2222 || $this->getId() == 3028 || $this->getId() == 3333 || $this->getId() == 5555 || $this->getId() == 5702;
}
https://github.com/wiistriker/govnokod_legacy/blob/master/modules/quoter/models/quote.php
Рекурсивный говнокод.
gost,
19 Мая 2020
-
0
- 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
<?php
function get_post_id($comment_list_id) {
$rawdata = file_get_contents("https://govnokod.ru/comments/$comment_list_id/post");
$rawdata='<?xml encoding="UTF-8">'.$rawdata;
$old_libxml_error = libxml_use_internal_errors(true);
$dom = new DOMDocument;
$dom->loadHTML($rawdata);
libxml_use_internal_errors($old_libxml_error);
$xpath = new DOMXPath($dom);
$entries = $xpath->query('//*[@id="content"]/ol[@class="posts hatom"]/li[@class="hentry"]/h2/a');
foreach($entries as $entry) {
$href = $entry->getAttribute('href');
if(preg_match('#https://govnokod.ru/(\d+)#', $href, $matches)) {
$post_id = $matches[1];
break;
}
}
return $post_id;
}
$outf = fopen('postids.csv', 'w');
fputcsv($outf, array('post_id','comment_list_id'));
for($i = 1; $i <= 26663; $i++) {
fputcsv($outf, array(get_post_id($i), $i));
}
fclose($outf);
Получение списка всех говнокодов, комментарии к которым можно восстановить.
ropuJIJIa,
19 Мая 2020
-
0
- 1
https://t.me/GovnokodBot
Напомню, или может кто не знал.
P.S. Кстати, guest8 достаточно раскрученный, поэтому здесь может быть ваша реклама.
guest8,
18 Мая 2020