- 1
$output = preg_replace("/[0-9]{2}$/", ".$0", $input);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+10
$output = preg_replace("/[0-9]{2}$/", ".$0", $input);
На входе строка с числом. На выходе должно быть это число, поделенное на 100. Далее, диалог:
[И]нтересующийся: А чем плохо просто поделить на сто?
[Г]овнокодер: У числа могут быть нули впереди .
[И]: Ну оно же приведется к флоату при делении
[Г]: php > var_dump(5435353534/100);
float(54353535.34)
[Г]: php > var_dump(00005435353534/100);
float(7459203.48)
[Г]: результат должен быть как у первого
−1
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
<?=$arResult["NAV_STRING"]?><br />
<?endif;?>
<table cellpadding="0" cellspacing="0" border="0">
<?foreach($arResult["ITEMS"] as $cell=>$arElement):?>
<?
$this->AddEditAction($arElement['ID'], $arElement['EDIT_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT"));
$this->AddDeleteAction($arElement['ID'], $arElement['DELETE_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BCS_ELEMENT_DELETE_CONFIRM')));
?>
<?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
<tr>
<?endif;?>
<td valign="top" width="<?=round(100/$arParams["LINE_ELEMENT_COUNT"])?>%" id="<?=$this->GetEditAreaId($arElement['ID']);?>">
<table cellpadding="0" cellspacing="2" border="0">
<tr>
<?if(is_array($arElement["PREVIEW_PICTURE"])):?>
<td valign="top">
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
</td>
<?elseif(is_array($arElement["DETAIL_PICTURE"])):?>
<td valign="top">
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["DETAIL_PICTURE"]["SRC"]?>" width="<?=$arElement["DETAIL_PICTURE"]["WIDTH"]?>" height="<?=$arElement["DETAIL_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
</td>
<?endif?>
<td valign="top"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a><br />
<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<?=$arProperty["NAME"]?>: <?
if(is_array($arProperty["DISPLAY_VALUE"]))
echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
else
echo $arProperty["DISPLAY_VALUE"];?><br />
<?endforeach?>
<br />
<?=$arElement["PREVIEW_TEXT"]?>
</td>
</tr>
</table>
<?if(is_array($arElement["OFFERS"]) && !empty($arElement["OFFERS"])):?>
<?foreach($arElement["OFFERS"] as $arOffer):?>
<?foreach($arParams["OFFERS_FIELD_CODE"] as $field_code):?>
<small><?echo GetMessage("IBLOCK_FIELD_".$field_code)?>: <?
echo $arOffer[$field_code];?></small><br />
<?endforeach;?>
<?foreach($arOffer["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<small><?=$arProperty["NAME"]?>: <?
if(is_array($arProperty["DISPLAY_VALUE"]))
echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
else
echo $arProperty["DISPLAY_VALUE"];?></small><br />
<?endforeach?>
<?foreach($arOffer["PRICES"] as $code=>$arPrice):?>
<?if($arPrice["CAN_ACCESS"]):?>
<p><?=$arResult["PRICES"][$code]["TITLE"];?>:
<?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
<s><?=$arPrice["PRINT_VALUE"]?></s> <span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
<?else:?>
<span class="catalog-price"><?=$arPrice["PRINT_VALUE"]?></span>
<?endif?>
</p>
<?endif;?>
<?endforeach;?>
<p>
<?if($arParams["DISPLAY_COMPARE"]):?>
<noindex>
<a href="<?echo $arOffer["COMPARE_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_COMPARE")?></a>
</noindex>
<?endif?>
<?if($arOffer["CAN_BUY"]):?>
<?if($arParams["USE_PRODUCT_QUANTITY"]):?>
<form action="<?=POST_FORM_ACTION_URI?>" method="post" enctype="multipart/form-data">
<table border="0" cellspacing="0" cellpadding="2">
<tr valign="top">
<td><?echo GetMessage("CT_BCS_QUANTITY")?>:</td>
<td>
<input type="text" name="<?echo $arParams["PRODUCT_QUANTITY_VARIABLE"]?>" value="1" size="5">
</td>
</tr>
</table>
<input type="hidden" name="<?echo $arParams["ACTION_VARIABLE"]?>" value="BUY">
<input type="hidden" name="<?echo $arParams["PRODUCT_ID_VARIABLE"]?>" value="<?echo $arOffer["ID"]?>">
<input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."BUY"?>" value="<?echo GetMessage("CATALOG_BUY")?>">
<input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>" value="<?echo GetMessage("CATALOG_ADD")?>">
</form>
<?else:?>
<noindex>
<a href="<?echo $arOffer["BUY_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_BUY")?></a>
<a href="<?echo $arOffer["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a>
</noindex>
<?endif;?>
<?elseif(count($arResult["PRICES"]) > 0):?>
...
Пунктуация сохранена. Шаблон компонента битрикса. Шедевр лапшекода.
+2
$ls = explode("\n", shell_exec("ls -A"));
foreach ($ls as $item) {
if ($item != 'doc2txt.php' and $item != 'nohup.out' and trim($item) != '') {
$dir = str_replace(
[' ', '(', ')', ';', '=', '<', '>', "'"],
['\ ', '\(', '\)', '\;', '\=', '\<', '\>', "\'"],
$item);
exec("rm -r -- $dir");
}
}
Cron
00 20 * * * /usr/bin/php /var/www/somedir/data/scripts/doc2xml/doc2txt.php
Allahu akbar !
+2
<?
$conf['salt'] = "8h47PODiwz"; //соль для хэширования
$conf['crypt_steps'] = 10; //количество итерраций
$pass = "superpass"; //ваш пароль
echo "Пароль: ".$pass." ==> ".crypto_pass($pass, $conf);
function crypto_pass($pass, $conf) {
for($i; $i < $conf['crypt_steps']; $i++) {
$pass = md5(sha1($pass));
}
return $pass;
}
Супермегашифровагие пароля....
Вопрос: нахрена соль?
Нахрена оно вообще нужно?
0
Как слышно из новостей, сейчас вся Украина замерла в ожидании открытия некой невъебенной национальной социальной сети от какой-то
хитрожопой дамы, решившей попилить бабло на горячей теме. Помпезный лендинг с формой подписки расположен по адресу: http://esvoe.com/
Путём нехитрого перебора доменов первого уровня был установлен адрес тестового сайта: http://esvoe.com.ua/
В общем, использоваться будет готовый говнодвижок "Socialite" (увидеть можно в директории "/public/"), листинг корневых сайтов виден
всем желающим, а при тестировании используются такие нехитрые ники, как "Твоя мамка".
Порядком подзаебла тема "моих", "национальных", "монетизированных" и тому подобных "социальных сетей". Смысла тягаться с "ВКонтакте"
и "Facebook" нет как по причине необоримой узнаваемости данных брендов, так и по причине того, что мощность их дата-центров в охулиарды
раз превышает мощность обоссаного VDS-а за какие-нибудь псят гривенок. Все, очевидно, забыли о быстром взлёте школьной поделки "Друзi"
на nulled-версии "Vii Engine" до уровня в сто тысяч зарегистрированных пользователей и о последующем молниеносном скатывании в кучу
бегемотьего навоза. Также никого ничему не научила история с белорусским клоном "ВКонтакте", "VSeti.By", на который в последние годы
всем было похуй.
А чего стоят дешёвые приманки в стиле "платим рупь за пост"...
0
while($art = $obSection->GetNext()){
for($k=0;$k<=($art['DEPTH_LEVEL']-2);$k++)
// echo "..";
// echo "<h4>Дома серии ".$arGor." в городе ";
// echo $art['NAME'].'</h4>';
$i = 1;
foreach($arResult["HOMES"] as $arHome)
{
if($art["ID"]==$arHome["IBLOCK_SECTION_ID"]){
if($dec=="" || $dec!=$art['NAME']){
echo "<h4>Дома серии ".$arGor." в городе ";
echo $art['NAME'].'</h4>';
echo "<div class=\"korp\">";
$dec = $art['NAME'];
}
echo '<a href="'.$arHome["DETAIL_PAGE_URL"].'">'.$arHome["PROPERTY_KORPUS_VALUE"].'</a>';
if(count($arResult["HOMES"])>$i)
{
echo "<div class=\"last\">, </div>";
}
$i++;
}
}
echo "</div><br>";
}
Глубокомысленный цикл for
+4
if (preg_match('/'.preg_quote($subString).'/', $string)) {
...
}
Проверка, есть ли подстрока в строке.
Вроде, как минимум несколько лет человек в программировании на PHP.
Показывает опытность тем, что экранирует спецсимволы в регулярном выражении.
А можно было использовать простейшую функцию strpos().
+4
// ...
if (isset($_GET["download"])) {
include "./download.inc.php";
} elseif (isset($_GET["table"])) {
include "./table.inc.php";
} elseif (isset($_GET["schema"])) {
include "./schema.inc.php";
} elseif (isset($_GET["dump"])) {
include "./dump.inc.php";
} elseif (isset($_GET["privileges"])) {
include "./privileges.inc.php";
} elseif (isset($_GET["sql"])) {
include "./sql.inc.php";
} elseif (isset($_GET["edit"])) {
include "./edit.inc.php";
} elseif (isset($_GET["create"])) {
include "./create.inc.php";
} elseif (isset($_GET["indexes"])) {
include "./indexes.inc.php";
} elseif (isset($_GET["database"])) {
include "./database.inc.php";
} elseif (isset($_GET["scheme"])) {
include "./scheme.inc.php";
} elseif (isset($_GET["call"])) {
include "./call.inc.php";
} elseif (isset($_GET["foreign"])) {
include "./foreign.inc.php";
} elseif (isset($_GET["view"])) {
include "./view.inc.php";
} elseif (isset($_GET["event"])) {
include "./event.inc.php";
} elseif (isset($_GET["procedure"])) {
include "./procedure.inc.php";
} elseif (isset($_GET["sequence"])) {
include "./sequence.inc.php";
} elseif (isset($_GET["type"])) {
include "./type.inc.php";
} elseif (isset($_GET["trigger"])) {
include "./trigger.inc.php";
} elseif (isset($_GET["user"])) {
include "./user.inc.php";
} elseif (isset($_GET["processlist"])) {
include "./processlist.inc.php";
} elseif (isset($_GET["select"])) {
include "./select.inc.php";
} elseif (isset($_GET["variables"])) {
include "./variables.inc.php";
} elseif (isset($_GET["script"])) {
include "./script.inc.php";
} else {
include "./db.inc.php";
}
// ...
https://github.com/vrana/adminer/blob/master/adminer/index.php
p.s хотя сама штука полезная, пару раз выручала
0
if ($session_data['iam']) {
$newparam = $param = " AND member_gender = '" . $session_data['iam'] . "' ";
}
if ($session_data['add_title_new']) {
$newparam = $param = " AND member_name like '%" . $session_data['add_title_new'] . "%' ";
}
if ($session_data['i_am']) {
$param = " AND member_gender = '" . $session_data['i_am'] . "' ";
}
if ($session_data['looking']) {
$newparam .= $param .= " AND member_looking_for = '" . $session_data['looking'] . "' ";
}
if ($session_data['agefrom'] != '0' && $session_data['agefrom'] != '') {
$param .= " AND partner_age_range_from = '" . $session_data['agefrom'] . "' ";
}
Ладно, зачем-то присваивание сразу двух переменных, которые названы совершенно невнятно. Но что делает .= $param .= я вообще боюсь представить (и честно говоря лень проверять)
−2
public static function GenerateMenu()
{
$item = [];
$section = self::find()->all();
$count_section = 0;
foreach ($section as $model_section) {
$item[] = ['label' => $model_section->name, 'url' => '#'];
$category = \common\models\Category::find()->where(['id_section' => $model_section->id])->all();
$count_category = 0;
foreach ($category as $model_category) {
$item[$count_section]['items'][$count_category] = ['label' => $model_category->name, 'url' => '#'];
$subcategory = \common\models\Subcategory::find()->where(['id_category' => $model_category->id])->all();
$count_subcategory = 0;
foreach ($subcategory as $model2) {
$item[$count_section]['items'][$count_category]['items'][$count_subcategory] = ['label' => $model2->name, 'url' => '#'];
$count_subcategory++;
}
$count_category++;
}
$count_section++;
}
return $item;
}
Феерическое решение для вывода tree из трех категорий.