- 1
- 2
return vars[v] = ($.inArray(v, wndConfig["out_zero"]) !== -1)
? (tmp == 0 ? 0 : tmp) : tmp;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 47
+162
return vars[v] = ($.inArray(v, wndConfig["out_zero"]) !== -1)
? (tmp == 0 ? 0 : tmp) : tmp;
Из серии "в пятницу вечером". Ладно хоть сейчас перечитал этот кусок и увидел.
+165
function ChangePhoto(num, photo)
{
if (photo.className != 'photo_selected')
{
var image1 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image1");
var image2 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image2");
var image3 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image3");
var image4 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image4");
var image5 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image5");
var image6 = document.getElementById("ctl00_MainContent_ProductInfo1_ctl00_AlternativePictures_Image6");
if (image1 != null) image1.className = 'photo_notselected';
if (image2 != null) image2.className = 'photo_notselected';
if (image3 != null) image3.className = 'photo_notselected';
if (image4 != null) image4.className = 'photo_notselected';
if (image5 != null) image5.className = 'photo_notselected';
if (image6 != null) image6.className = 'photo_notselected';
photo.className = 'photo_selected';
Hide(0);
setTimeout("ChangeSrc("+num+")", 300);
setTimeout("ShowPhoto()", 400);
}
}
Чо мне ща сказал? Цыклы мне ща сказал? Какие тенна цыклы, ыдисюданна!
Строчки 22, 23 активируют какое-то хитрожопое многопоточное отображение фоток со взаимными блокировками и ожиданием друг друга по таймеру с интервалами в 10 мс.
+146
В шапке:
<script type="text/javascript">
thisIsIE7 = false;
</script>
<!--[if IE 7]>
<script type="text/javascript">
thisIsIE7 = true;
</script>
<![endif]-->
В JS-файле:
$("#popup_hint")
.show()
.css("top", ev.pageY + 20)
.css("left", ev.pageX + 20 + (thisIsIE7 ? 483 : 0))
Что ж, пришёл и мой черёд...
Проблема: в IE7 и только в нём некоторые абсолютно спозиционированные элементы съезжают влево почти на полэкрана.
Ещё проблема: люто надоевший заказчик ругается в трубку и требует, чтобы через 10 минут всё работало нормально.
Решение: опытным путём выясняем, что смещение влево происходит на 483 пикселя вне зависимости от размера окна и разрешения монитора. Лабаем детектор IE7 на кондишенал-комменте, в JS хардкодим магическое смещение. Проблемы решены...
+170
<?
include('db_access.php');
include('db_mysql.inc');
$db=new DB_sql;
$db->connect($DB_NAME,$HOST,$USER,$PASSWD);
$db2=new DB_sql;
$db2->connect($DB_NAME,$HOST,$USER,$PASSWD);
$db3=new DB_sql;
$db3->connect($DB_NAME,$HOST,$USER,$PASSWD);
?>
С сайта на самописном движке. Будет время - поковыряюсь ещё. Дико интересно, используются ли там все три коннекта.
+168
function getAlphabetList($list = null)
{
$alphabet = split(' ', 'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z');
foreach($alphabet as $letter)
{
$has_letter = false;
if(is_array($list))
{
foreach ($list as $value)
{
if(substr(strtoupper($value),0,1) == strpos($letter,$value,1))
{
$has_letter = true;
}
}
}
if($has_letter)
{
$output .= '<a href="?letter='.$letter.'">'.$letter.'</a> ';
} else {
$output .= $letter.' ';
}
}
return $output;
}
Шерстим список записей, определяем, на какие буквы они начинаются, и для имеющихся букв генерируем гиперссылки. Мужика попросили разобраться, почему каталог на 126000 записей тормозит при отображении, и он увидел в коде это.
http://thedailywtf.com/Articles/Thorough-Letter-Checking.aspx
+166
if (!defined('MODX_CORE_PATH')) {
$modx_core_path= 'Z:/home/local/revo/core/';
define('MODX_CORE_PATH', $modx_core_path);
}
if (!defined('MODX_PROCESSORS_PATH')) {
$modx_processors_path= 'Z:/home/local/revo/core/model/modx/processors/';
define('MODX_PROCESSORS_PATH', $modx_processors_path);
}
if (!defined('MODX_CONNECTORS_PATH')) {
$modx_connectors_path= 'Z:/home/local/revo/connectors/';
$modx_connectors_url= '/connectors/';
define('MODX_CONNECTORS_PATH', $modx_connectors_path);
define('MODX_CONNECTORS_URL', $modx_connectors_url);
}
if (!defined('MODX_MANAGER_PATH')) {
$modx_manager_path= 'Z:/home/local/revo/manager/';
$modx_manager_url= '/manager/';
define('MODX_MANAGER_PATH', $modx_manager_path);
define('MODX_MANAGER_URL', $modx_manager_url);
}
if (!defined('MODX_BASE_PATH')) {
$modx_base_path= 'Z:/home/local/revo/';
$modx_base_url= '/';
define('MODX_BASE_PATH', $modx_base_path);
define('MODX_BASE_URL', $modx_base_url);
}
CMS MODx Revolution
core/config/config.inc.php
Захотел потестить новую версию, про которую на оф.сайте рассказываются расчудесные вещи. Только поставил, а чё-то как-то уже стрёмно.
+129
<body class="not-front not-logged-in page-search no-sidebars layout-first-main sidebars-split font-family-sans-serif-lg font-size-12 grid-type-fluid grid-width-16 fluid-95">
<div id="page" class="page">
<div id="page-inner" class="page-inner">
<!-- header-top row: width = grid_width -->
<!-- header-group row: width = grid_width -->
<div id="header-group-wrapper" class="header-group-wrapper full-width">
<div id="header-group" class="header-group row grid16-16">
<div id="header-group-inner" class="header-group-inner inner">
<div id="header-site-info" class="header-site-info block">
<div id="header-site-info-inner" class="header-site-info-inner inner">
и т.д. в том же духе
Блочьненько, семантичьненько, валидьненько.
+136
<!--uSpoiler-->
<div class="uSpoilerClosed" id="uSpoiler8deJ5b">
<div class="uSpoilerButBl">
<input type="button" class="uSpoilerButton" onclick="if($('#uSpoiler8deJ5b')[0]){if ($('.uSpoilerText',$('#uSpoiler8deJ5b'))[0].style.display=='none'){$('.uSpoilerText',$('#uSpoiler8deJ5b'))[0].style.display='';$('.uSpoilerButton',$('#uSpoiler8deJ5b')).val('Закрыть спойлер');$('#uSpoiler8deJ5b').attr('class','uSpoilerOpened');}else {$('.uSpoilerText',$('#uSpoiler8deJ5b'))[0].style.display='none';$('.uSpoilerButton',$('#uSpoiler8deJ5b')).val('Открыть спойлер');$('#uSpoiler8deJ5b').attr('class','uSpoilerClosed');}}" value="Открыть спойлер"/>
</div>
<div class="uSpoilerText" style="display:none;">
<!--ust-->
... тут собственно текст спойлера ...
<!--/ust-->
</div>
</div>
<!--/uSpoiler-->
В это превращается BB-код spoiler на укозовских сайтах. В оригинале это всё в одну строчку.
+167
<script type="text/javascript">
<!--//--><![CDATA[//><!--
$("#cardbutton89").click( function () {
$("#confirmation_of_order89").css({opacity: 1}).show().animate({opacity: 0}, 3000 );
$("#korzina").load("/korzina.php", {
"zakaz": "Еврокнижка \"Лерида\"",
"colvo": $("#cardinputtext89").val(),
"zena": "10750"
});
} );
//--><!]]>
</script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
$("#cardbutton88").click( function () {
$("#confirmation_of_order88").css({opacity: 1}).show().animate({opacity: 0}, 3000 );
$("#korzina").load("/korzina.php", {
"zakaz": "Еврокнижка \"Легион\"",
"colvo": $("#cardinputtext88").val(),
"zena": "15170"
});
} );
//--><!]]>
</script>
...
Число script'ов по числу товаров на странице. С того же сайта, что и http://govnokod.ru/4404
+162
<div style="position:relative">
Всего товаров: 1<br />
На сумму: 5 750,00
</div>
<script>$("#korzina").load("/korzina.php",{'fsdfsad':true});</script>
Сей кодъ подгружается аяксом из скрипта /korzina.php в div#korzina. Естественно, тут же выполняется строчка номер 6, и онъ ещё раз подгружается. И ещё раз. И ещё раз...
Долго думал, почему так тормозит браузер и почему по vnstat'у 64 кбит/с вверх и 24 вниз при простом просмотре страницы. Думаю, админ сервера (там стоит Apache, кеке) хотел бы удавить аффтара не меньше, чем я. Сайт в продакшне с марта.