- 1
ТОП ТРАЛ КАРОЧ ЕДИТ АТДЫХАТЬ НА МОРЕ БУДУ ТАМ АКУЛ И МИДУЗ ТРАЛИРАВАТЬ))00 ОСЕНЬЮ ВЕРНУСЬ КАРОЧ))00 НЕ СКУЧАЙТИ ЛАЛКИ
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+132
ТОП ТРАЛ КАРОЧ ЕДИТ АТДЫХАТЬ НА МОРЕ БУДУ ТАМ АКУЛ И МИДУЗ ТРАЛИРАВАТЬ))00 ОСЕНЬЮ ВЕРНУСЬ КАРОЧ))00 НЕ СКУЧАЙТИ ЛАЛКИ
ТОП ТРАЛ КАРОЧ ЕДИТ АТДЫХАТЬ НА МОРЕ БУДУ ТАМ АКУЛ И МИДУЗ ТРАЛИРАВАТЬ))00 ОСЕНЬЮ ВЕРНУСЬ КАРОЧ))00 НЕ СКУЧАЙТИ ЛАЛКИ
+149
if (!class_exists($module, false))
{
// Get content from php file
$filepath = _PS_MODULE_DIR_.$module.'/'.$module.'.php';
$file = trim(file_get_contents(_PS_MODULE_DIR_.$module.'/'.$module.'.php'));
if (substr($file, 0, 5) == '<?php')
$file = substr($file, 5);
if (substr($file, -2) == '?>')
$file = substr($file, 0, -2);
// If (false) is a trick to not load the class with "eval".
// This way require_once will works correctly
if (eval('if (false){ '.$file.' }') !== false)
require_once( _PS_MODULE_DIR_.$module.'/'.$module.'.php' );
else
$errors[] = sprintf(Tools::displayError('%1$s (parse error in %2$s)'), $module, substr($filepath, strlen(_PS_ROOT_DIR_)));
}
Это оригинал кода из знаменитого Prestashop ...
Попросили написать модуль. Долго мучался, почему валидный код не работает. Потом нашел.
Смысл логики в строках 13-17 : мы не хотим принимать файлы модулей с eval функцией.
Поэтому мы сначала проверяем, есть ли eval в файле.
Как проверяем?
А давайте его просто выполним!
Если выполнится - тогда - require_once
В общем я О....ЕЛ! Других слов просто нет.
Мало того, так еще нужно следить, чтобы ваш файл модуля был валидным для eval функции.
Иначе - Parse error: syntax error ...
−174
Стр = ТЗОбщая.Добавить();
Стр.сотрудник = Выборка.сотрудник;
Стр.Результат = ВЫборка.Результат;
ИскомаяСтрока = ТЗСотрДатаПриема.Найти(Стр.сотрудник,"Сотрудник");
Если ИскомаяСтрока <> Неопределено Тогда
месяц_ = Месяц(ИскомаяСтрока.ДатаПриемаНаРаботу);
если месяц_ > 7 тогда // чел принят после июля
число_ = 12 - месяц_; //кол-во отработанных месяцев
иначе
число_ = 6 ;
конецесли;
КонецЕсли;
число_ = число_+ Месяц(ВыбДата) ;
если число_ >=12 тогда
число_=12;
конецесли;
Стр.СреднийЗаработок = Окр(ВЫборка.Результат/29.4/число_,2);
Вот так у нас считают средний заработок за последний год)))
−126
Функция ЗначениеСвойства(Объект, ИмяСвойства) Экспорт
Возврат Объект[ИмяСвойства]
КонецФункции
Пипец полезная функция!
−124
Procedure mes(aVal) export
Message(aVal);
endProcedure
function eqStr(a,b) export
result=false;
return ВРЕГ(TrimAll(a))=ВРЕГ(TrimAll(b));
if ВРЕГ(TrimAll(a))=ВРЕГ(TrimAll(b)) then
result=true;
endif;
mes(result);
return result;
endfunction
Форматирование не менял.
1. Зачем вызывать процедуру "mes", где выводится только сообщение. Когда вывесли сообщение можно там же.
2. В функции eqStr никогда не выполнится условие и вызов процедуры "mes".
−166
Function toString(aDate) export
s=Format(Строка(aDate),"ДФ=ддMMгггг");
return лев(s,10);
endFunction
.......
ДатаДД=uDates.toString(Отбор.Дата);
.......
Функция находится в общем модуле uDates.
Вызов функции происходит в одном из документов:
+9
/*
======================================
Returns 1 (true) if the this block of the board is empty, 0 if it is filled
Parameters:
>> pX: Horizontal position in blocks
>> pY: Vertical position in blocks
======================================
*/
bool Board::IsFreeBlock (int pX, int pY)
{
if (mBoard [pX][pY] == POS_FREE) return true; else return false;
}
http://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/
Ну вот кто их этому учит?
+156
var indparents = [72,74,62,6,71,783,3,63,67,76,75,61,4,65,5,73,199,195,70,2,69,68,64,66];
var ev = "";
var onmouse = [];
var delayon = 100;
var delayover = 200;
var speedppd = 300;
for (var indparent in indparents) {
var val=indparents[indparent];
ev += "$(\"div#indparent-"+val+"\").mouseleave(function(){window.onmouse["+val+"]=false;setTimeout(function(){if(!window.onmouse["+val+"]){$(\"div#indchild-"+val+"\").slideUp(window.speedppd);}},window.delayover);});$(\"div#indparent-"+val+"\").mouseenter(function(){window.onmouse["+val+"]=true;setTimeout(function(){if(window.onmouse["+val+"]){$(\"div#indchild-"+val+"\").slideDown(window.speedppd);}},window.delayon);});$(\"div#indchild-"+val+"\").mouseleave(function(){window.onmouse["+val+"]=false;setTimeout(function(){if(!window.onmouse["+val+"]){$(\"div#indchild-"+val+"\").slideUp(window.speedppd);}},window.delayover);});$(\"div#indchild-"+val+"\").mouseenter(function(){window.onmouse["+val+"]=true;setTimeout(function(){if(window.onmouse["+val+"]){$(\"div#indchild-"+val+"\").slideDown(window.speedppd);}},window.delayon);});";
}
$(document).ready(function(){eval(ev)});
Эвалим~ Сегодня мы с тобой эвалим~
−115
user.status = (user.status == 0)?1:0
+141
/* common /constants/ */
double tx1, tx2, tx3, ty1, ty2, ty3, tz1, tz2, tz3,
dx1, dx2, dx3, dx4, dx5, dy1, dy2, dy3, dy4,
dy5, dz1, dz2, dz3, dz4, dz5, dssp, dt,
ce[5][13], dxmax, dymax, dzmax, xxcon1, xxcon2,
xxcon3, xxcon4, xxcon5, dx1tx1, dx2tx1, dx3tx1,
dx4tx1, dx5tx1, yycon1, yycon2, yycon3, yycon4,
yycon5, dy1ty1, dy2ty1, dy3ty1, dy4ty1, dy5ty1,
zzcon1, zzcon2, zzcon3, zzcon4, zzcon5, dz1tz1,
dz2tz1, dz3tz1, dz4tz1, dz5tz1, dnxm1, dnym1,
dnzm1, c1c2, c1c5, c3c4, c1345, conz1, c1, c2,
c3, c4, c5, c4dssp, c5dssp, dtdssp, dttx1, bt,
dttx2, dtty1, dtty2, dttz1, dttz2, c2dttx1,
c2dtty1, c2dttz1, comz1, comz4, comz5, comz6,
c3c4tx3, c3c4ty3, c3c4tz3, c2iv, con43, con16;
делов-то, "обычные" константы...
NAS Parallel Benchmark