- 1
- 2
- 3
- 4
- 5
<?
$key = crc32("release") ^ 0x817990;
$header_bg = '#' . substr(base_convert(crc32($DBName) ^ $key, 10, 16), 0, 6);
?>
<div id="top_header" style="background:<?= $header_bg ?>">
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 18
+2
<?
$key = crc32("release") ^ 0x817990;
$header_bg = '#' . substr(base_convert(crc32($DBName) ^ $key, 10, 16), 0, 6);
?>
<div id="top_header" style="background:<?= $header_bg ?>">
На доменах с похожими названиями живут продакшн и версии для разработки. Заказчик путается при тестировании, а потом разрабы удивляются тестовым данным в рабочей базе.
Вот так была реализована цветовая дифференциация штанов сайтов в зависимости от имени БД. Подобрать им имя базы, которое даст коллизию, что ли...
+8
$('#content')[0].style.color = "#000000";
jquery-затейник опять с нами :(
+159
<script>
$(function() {
$('#current').load('current.php');
}
</script>
// Тем временем в current.php :
<?
$result = ... ; // данные как-то вытаскиваются из базы
ob_start();?>
<table><?
foreach($result as $res) {?>
<tr><td><?=$res[0]?></td><td><?=$res[1]?></td><td><?=$res[2]?></td></tr>
<?}?>
</table>
<?$table = ob_get_clean();?>
<script>
$('#current').empty();
$('#current').append('<?=str_replace(array("\r","\n"),"",$table)?>');
</script>
Извиняюсь за возможные опечатки: сократил, чтобы оставить только самую мякотку.
+159
foreach ($val as $k => $v)
{
if (!is_array($v))
{
$val[$k] = htmlspecialcharsbx($v);
}
else
{
foreach ($v as $kp => $vp)
{
foreach ($vp as $kkp => $vvp)
{
if (!is_array($vvp))
{
$val[$k][$kp][$kkp] = htmlspecialcharsbx($vvp);
}
else
{
foreach ($vvp as $kvvp => $vvvp)
{
$val[$k][$kp][$kkp][$kvvp] = htmlspecialcharsbx($vvvp);
}
}
}
}
}
}
+158
for($month = 1 ; $month <= intval(12); $month ++)
+151
for($page = 0 ; $page <= $maxPage; $page ++) {
$result = LoadPage($page);
if(!$result) {
if($try < 5) {
$page --;
$try ++;
} else
$try = 0;
} else {
$try = 0;
ProcessPage($page, $result);
}
}
два цикла по цене одного
+153
// Когда-то давно:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
$outstream = fopen("php://temp", 'r+');
fputcsv($outstream, $ar, ';', '"');
rewind($outstream);
$csv = fgets($outstream);
fclose($outstream);
return $csv . self::EOL;
}
// Несколько позже:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
// а вот флаги вам в дыры, автор парсера со стороны 1С клал на RFC,
// поэтому будьте любезны отложить fputcsv и генерить ручками
$csv = '';
$isFirst = true;
str_replace(array(';', "\n", "\r\n"), array(':', '', ''), $ar);
foreach($ar as $field) {
if($isFirst)
$isFirst = false;
else
$csv .= ';';
$csv .= $field;
}
return $csv . self::EOL;
}
// Наши дни:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
// упоротый, штоле? или с автором парсера в 1С переопылился?
return implode(';', str_replace(array(';', "\n", "\r\n"), array(':', '', ''), $ar)) . self::EOL;
}
наблюдаю в версионнике этапы становления говнокода
+159
class CHTMLFormGenerator {
...
public $formName;
const formName = 'form';
function GetFormName() {
if(isset($this) && $this -> formName)
return $this -> formName;
else
return self::formName;
}
...
}
+165
/* Здесь мы имеем сраный унаследованный пиздец: количество товара передается в параметрах POST-запроса,
имеющих имена вида productX_count, где X - ИД товара. Как предыдущие разработчики разобирали это счастье?
Правильно, перебирали все (блядь, ВСЕ, блядь, 20000 штук!) товары и проверяли, есть ли соответствующее
значение в запросе.
*/
$items5 = GetIBlockElementList(5);
while($arItem = $items5->GetNext())
if(isset($_POST['product'.$arItem['ID']."_id"]) && is_numeric($_POST['product'.$arItem['ID']."_id"]))
{
$_PRODUCTS[$arItem['ID']]['count'] = $_POST['product'.$arItem['ID']."_count"];
}
В этом коде меня утешает только боль и ненависть комментария.
+149
где-то в коде:
/* коментарий №1 (см внизу)*/
в самом конце файла:
//----------------------------------------------- Старые куски кода -----------------------------------------------------------------------------
// №1
/*
тут простыня кода на 2 экрана
*/
управление версиями, чо