- 1
Чего нету в "PHP"?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Чего нету в "PHP"?
0
public function passes($attribute, $hostname)
{
if (!mb_stripos($hostname, '.')) {
return false;
}
$domain = explode('.', $hostname);
$allowedChars = ['-'];
$extenion = array_pop($domain);
foreach ($domain as $value) {
$fc = mb_substr($value, 0, 1);
$lc = mb_substr($value, -1);
if (
hash_equals($value, '')
|| in_array($fc, $allowedChars)
|| in_array($lc, $allowedChars)
) {
return false;
}
if (!ctype_alnum(str_replace($allowedChars, '', $value))) {
return false;
}
}
if (
!ctype_alnum(str_replace($allowedChars, '', $extenion))
|| hash_equals($extenion, '')
) {
return false;
}
if (filter_var($hostname, FILTER_VALIDATE_DOMAIN) === false) {
return false;
}
return true;
}
валидация домена...
+1
“Если в скрипт не переданы аргументы, то мы создадим директорию для persistent-данных по дефолтному пути. Например /tmp/persistent”
+2
https://www.quora.com/As-a-software-engineer-in-your-opinion-what-are-the-biggest-bottlenecks-and-or-inefficiencies-in-programming-today
The key to overcoming this bottleneck, I believe, is live coding, whereby you can inspect and modify code and data while the program is running. Detect a bug? No problem. Immediately inspect the code and data to determine the cause. Make the appropriate changes. Continue execution. No need to save the code, compile the code and rerun the program from the beginning.
оказывается то, что делали пхпшники начала нулевых, правя по FTP в Notepad++ файлы на живом сервере это т.н. "Live coding", и за этим будущее
−3
$i = 1 + ($data->page - 1) * 200;
Инициализация переменной в одном из шаблонов рендеринга страницы.
0
Обнаружен критический баг в "PHP":
https://habr.com/ru/post/416573/
Полный список лулзов:
https://habr.com/ru/post/438582/
0
<?$props = "";
if(!empty($arResult["PROPERTIES"]["ARTNUMBER"]["VALUE"])):
$props[] = array(
"NAME" => $arResult["PROPERTIES"]["ARTNUMBER"]["NAME"],
"CODE" => $arResult["PROPERTIES"]["ARTNUMBER"]["CODE"],
"VALUE" => $arResult["PROPERTIES"]["ARTNUMBER"]["VALUE"]
);
$props = strtr(base64_encode(addslashes(gzcompress(serialize($props),9))), '+/=', '-_,');?>
<input type="hidden" name="PROPS" value="<?=$props?>" />
<?endif;?>
+1
<div id="bp-task-tabs-header" class="bp-tabs-block">
<span id="bp-task-tab-1" class="bp-tab" onclick="return function(){
var t1 = BX('bp-task-tab-1'),
t2 = BX('bp-task-tab-2'),
t1c = BX('bp-task-tab-1-content'),
t2c = BX('bp-task-tab-2-content');
BX.addClass(t1, 'bp-tab-active'); BX.removeClass(t2, 'bp-tab-active');
BX.addClass(t1c, 'active'); BX.removeClass(t2c, 'active');
return false;
}()"><?=GetMessage("BPATL_COMMENTS")?></span>
<span id="bp-task-tab-2" class="bp-tab bp-tab-active" onclick="return function(){
var t1 = BX('bp-task-tab-2'),
t2 = BX('bp-task-tab-1'),
t1c = BX('bp-task-tab-2-content'),
t2c = BX('bp-task-tab-1-content');
BX.addClass(t1, 'bp-tab-active'); BX.removeClass(t2, 'bp-tab-active');
BX.addClass(t1c, 'active'); BX.removeClass(t2c, 'active');
return false;
}()"><?=GetMessage("BPATL_DOC_HISTORY")?></span>
<?if($hasFirstIdProcess):?>
<span id="bp-task-tab-2" class="bp-tab bp-tab-active" onclick="return function(){
var t1 = BX('bp-task-tab-3'),
t2 = BX('bp-task-tab-2'),
t3 = BX('bp-task-tab-1');
var t1c = BX('bp-task-tab-3-content'),
t2c = BX('bp-task-tab-2-content'),
t3c = BX('bp-task-tab-1-content');
BX.addClass(t1, 'bp-tab-active');
BX.removeClass(t2, 'bp-tab-active');
BX.removeClass(t3, 'bp-tab-active');
BX.addClass(t1c, 'active');
BX.removeClass(t2c, 'active');
BX.removeClass(t3c, 'active');
return false;
}()"><?=GetMessage("BPATL_FIRST_DOC_HISTORY")?></span>
<?endif?>
</div>
Добавление новой вкладки для бизнес процесса задачи в битриксе
https://imgur.com/a/151ZUXl
+1
<div class="tablicmagazov">
<h2>Розничные магазины</h2>
<div class="tablica_magazinov">
<div class="stroka_zagolovok_magazin">
<div class="kolonka_magazin"></div>
<div class="kolonka_magazin"></div>
<div class="kolonka_magazin zagolovok_ico">Груминг</div>
<div class="kolonka_magazin zagolovok_ico">Ветеринар</div>
<div class="kolonka_magazin zagolovok_ico">Самовывоз</div>
</div>
<?foreach($arResult["ITEMS"] as $arItem):?>
<div class="stroka_magazina">
<div class="kolonka_magazin">
<a href="<?echo $arItem['DETAIL_PAGE_URL']?>"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[0])[0];?></a>
<div class="voprosik_magazini">
?
<div class="soderzimoe_voprosa">
<?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[3])[4];?>
<?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[4])[4];?>
<?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[5])[4];?>
<div class="strelka_dop_uslugi_vspliv"></div>
</div>
</div>
</div>
<div class="kolonka_magazin magaz_metro">
<div class="znachek_metro"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[2])[2];?></div>
<?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[1])[0];?>
</div>
<div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[3])[1];?></div>
<div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[4])[1];?></div>
<div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[5])[1];?></div>
</div>
<?endforeach;?>
</div>
</div>
#bitrix
0
$loc = "^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$";
$extensions = explode("|",explode(")",explode("(",$loc)[1])[0]);
$extensions = preg_match("/\((.*)\)/",$loc);
What's better?