- 1
- 2
- 3
<input type="hidden" name="lang" value="<?= LANG ?>"/>
<input type="hidden" name="ID" value=<?= $arResult["ID"] ?>/>
<input type="hidden" name="LOGIN" value=<?= $arResult["arUser"]["LOGIN"] ?>/>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
<input type="hidden" name="lang" value="<?= LANG ?>"/>
<input type="hidden" name="ID" value=<?= $arResult["ID"] ?>/>
<input type="hidden" name="LOGIN" value=<?= $arResult["arUser"]["LOGIN"] ?>/>
Кусок формы редактирования профиля.. Отвлечемся от горячо любимой CMS и сконцентрируемся на сути...
Кодер так спешил, что решил просто type="text" превратить в хиддены. Бог с ним что это дает юзеру намек на то как сменить логин.
Но он забыл кавычки. ID проходит через IntVal и это не заметно. А вот к логину при каждом сохранении дописывается "/", юзера не выкидывает. А вот в следующий раз он должен угадать сколько слэшей добавить к логину. Да и логин запретили менять наверное не просто так, а потому что при регистрации туда прописывается мыло, а вот при апдейте юзера уже не трогают это...
−16
Небольшой гуру-тест по сопровождению типовых конфигураций.
Есть запрос, который получает себестоимость и выручку документа возврата товара от клиента (процедура ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж в модуле менеджера документа):
ТекстЗапроса = "
....
| - ВидыЗапасов.СуммаСНДСУпр КАК СуммаВыручки,
....
| ВЫБОР КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ВидыЗапасов.ДокументРеализации = НЕОПРЕДЕЛЕНО
| ТОГДА
| - ВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ
| 0
| КОНЕЦ КАК Себестоимость,
Для удобства сопровождения текст запроса меняется далее в коде, а не в самом запросе, в конструкции вида:
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "... что искать ...",
".. на что заменять...");
Нужно заменить использование ВидыЗапасов.СуммаСНДСУпр так, чтобы СуммаВыручки не изменилась, а Себестоимость изменилась, допустим на число 666 (для гуру-теста).
Это частая задача для УТ11, т.к. там не реализована возможность конкретного указания себестоимости, если возврат осущесвлятся без документа продажи (например, за прошлые периоды, до ввода начальных остатков), в этих случаях УТ11 принимает себестоимость возврата, равную цене продажи, а это не совсем правильно.
В этом случае есть один хитрый трюк, чтобы без использования регулярных выражений добиться замены себестоимости на заданное число. Вопрос - как? Думаем.
Немножко обо мне:
Действующий пикапер. Честно соблазнил 174 женщин и купил 42 феи (на август 2015)
Использует функциональную 5 бальную шкалу оценок женщин.
Известный 1сник с кличкой Гений 1С. Получает от 120 тыщ.
Изобрел фонд «Секс за ваши» - занимаюсь сексом с проститутками за счет пожертвований фанатов.
Изобрел Религию Дембеля.
0
# https://www.fusionticket.org/ cms для продажи билетов
// файл includes/classes/class.router.php
if(is_null($action)){
if (isset($_POST['action'])) {
$action=$_POST['action'];
} elseif (isset($_GET['action'])) {
$action=$_GET['action'];
} else
$action=false;
}
$_REQUEST['action'] = $action;
$_GET['action'] = $action;
$_POST['action'] = $action;
//echo $controller,'-',$module, '-',$action;
// теперь с class.router.php попадаем сюда includes/template/web/shop.tpl
{if $smarty.post.action eq 'resendpassword'}
{$user->forgot_password_f($smarty.post.email)}
{/if}
{if $smarty.request.action eq 'login' and $smarty.request.type != 'block'}
{include file="user_login.tpl"}
{elseif $smarty.request.action eq 'register'}
{if $smarty.request.register_user}
{user->register ismember=true data=$smarty.post secure='user_nospam' login=true}
{assign var='user_data' value=$smarty.post}
{if $user_errors}
{include file="user_register.tpl" ManualRegister=true}
{else}
{include file="user_activate.tpl"}
{/if}
{else}
{include file="user_register.tpl" ManualRegister=true}
{/if}
{elseif $smarty.request.action eq 'activate'}
{include file="user_activate.tpl"}
{elseif $smarty.request.action eq 'resend_activation'}
{include file="resend_activation.tpl"}
{elseif $smarty.get.action eq "remove"}
{$cart->remove_item_f($smarty.get.event_id,$smarty.get.cat_id,$smarty.get.item)}
{include file="cart_view.tpl"}
{elseif $smarty.request.action eq "addtocart"}
{if $smarty.post.place}
{assign var='last_item' value=$cart->add_item_f($smarty.post.event_id, $smarty.post.category_id, $smarty.post.place, $smarty.post.discount, 'mode_web')}
{else}
{assign var='last_item' value=$cart->add_item_f($smarty.post.event_id, $smarty.post.category_id, $smarty.post.places, $smarty.post.discount, 'mode_web')}
{/if}
{if $last_item}
{redirect url="index.php?action=view_cart&event_id={$smarty.post.event_id}"}
{else}
{include file="event_ordering.tpl"}
{/if}
{elseif $smarty.request.action eq "buy"}
{include file="event_ordering.tpl"}
и т. д. 250 строк.
https://www.fusionticket.org/.
+5
template<typename T>
T* sanitize(T* p)
{
return reinterpret_cast<T*>(
reinterpret_cast<uintptr_t>(p) & ~(alignof(T)-1));
}
template<typename T>
constexpr size_t avaliable_width()
{
switch(alignof(T))
{
case 1: return 0;
case 2: return 1;
case 4: return 2;
case 8: return 3;
case 16: return 4;
case 32: return 5;
case 64: return 6;
case 128: return 7;
case 256: return 8;
default: return 0;
}
}
template<size_t bit, typename T>
T* set_tag(T* p, bool tagged = true)
{
static_assert(bit < avaliable_width<T>(), "bad_width");
if(tagged) {
return reinterpret_cast<T*>(
reinterpret_cast<uintptr_t>(p) | 1 << bit);
}
return reinterpret_cast<T*>(
reinterpret_cast<uintptr_t>(p) & ~(uintptr_t(1) << bit));
}
template<size_t bit, typename T>
bool get_tag(T* p)
{
static_assert(bit < avaliable_width<T>(), "bad_width");
return reinterpret_cast<uintptr_t>(p) >> bit & 1;
}
Младшие биты указателей на выравненные типы всегда нулевые. Из за этого (по формуле Шеннона) указатель несёт в себе меньше информации, оставаясь того же размера. Битоёбов это расстраивает.
+7
<?php
$ip=$_SERVER[REMOTE_ADDR];
if ($_GET['hash']="ae2b1fca515949e5d54fb22b8ed95575") {
file_put_contents("deviceupdate.log","DATE: ".date("Y-m-d H:i:s")." IP: ".$ip."\n",FILE_APPEND | LOCK_EX);
file_put_contents("homeip.log",$ip,LOCK_EX);
print "DATE: ".date("Y-m-d H:i:s")." IP: ".$ip;
}
?>
http://wiki.mikrotik.com/wiki/Dynamic_DNS_on_private_DNS_server_(Route r_OS,_Bind,_Apache,_and_Shell_script)
> Web server reads the IP from the router and if the hash is ok, it writes the IP into two files in the same folder
> if the hash is ok
Ок.
−1
public function getRegProductDetails($product_id = '', $status = 'yes'){
$this->db->select('*');
if ($product_id != '') {
$this->db->where('product_id', $product_id);
}
if ($status != '') {
$this->db->where('active', $status);
}
$query = $this->db->get('registration_package');
foreach ($query->result_array() as $row) {
$product_details[] = $row;
}
return $product_details;
Работаю с коммерческой системой, писали Индусы. У меня 100 Мб анекдотов в исходном коде. В БД есть столбец статус, они туда пишут статус yes OR no. И проверка везде тоже идет через строку. а выборку делают вот такой функцией. Зачем тут проверять статус на пустоту? В других подобных функциях встречаю RETURN в форейче
+1
PreparedStatement ps = conn.prepareStatement(
"SELECT * FROM Task;");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
logger.info(rs.getInt(1));
this.projects = new ProjectCollection.Project[rs.getInt(1)];
}
rs.getInt(1) - индексный столбец
+3
if(substr($_POST['id'], -3) == '_id'){
echo mpql(mpqw("SELECT name FROM {$conf['db']['prefix']}{$arg['modpath']}_". substr($_POST['id'], 0, strlen($_POST['id'])-3). " WHERE id=". (int)$_POST['value']), 0, 'name');
}else{
echo $_POST['value'];
}
https://github.com/mpak2/mpak.su/blob/master/modules/users/edit.свойства.php
+3
#define ROOSTER "?"
#define CONDENSED_MILK "."
string kokoko = string(ROOSTER, 1) + string(CONDENSED_MILK);
ЧТО блять мешает написать
string kudkudah(".?");
ЧТО?
−97
НачисляетсяВЦеломЗаМесяц = СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.ФиксированнойСуммой ИЛИ БазовыйПериодПрошлыйМесяц;
Типовая конфигурация ЗКБУ, увидев такой код немного смутило или лыжи не едут или ...