- 1
- 2
- 3
- 4
$data = array_slice(array_filter(explode("|", trim($data))), 0, 2000);
if (count(array_filter(explode("|", trim($data)))) > 2000) {
mail('****@gmail.com', '**** too much orders', count(array_filter(explode("|", trim($data)))));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
$data = array_slice(array_filter(explode("|", trim($data))), 0, 2000);
if (count(array_filter(explode("|", trim($data)))) > 2000) {
mail('****@gmail.com', '**** too much orders', count(array_filter(explode("|", trim($data)))));
}
Не знаю, как это прокомментировать. Видимо, индус не хочет получать сообщения на почту.
−2
{{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/1|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/1|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
{{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/2|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/2|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
...
{{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|{{Numbered sequence/9|{{#expr:floor ({{{1|0}}}/2)}}|{{{2|}}}|{{{3}}} }}{{Numbered sequence/9|{{#expr:-floor (-{{{1|0}}}/2)}}|{{{2|}}}|{{#expr:floor ({{{1|0}}}/2)+{{{3}}} }} }} }}
{{#ifexpr:{{{1|0}}}<=1|{{ {{{2|}}}|{{#expr:{{{1|1}}}+{{{3}}} }} }}|<span style="color:red">Превышено количество включений — 1024</span>}}
Циклы нельзя, никаких переменных нельзя, только параметры. Казалось бы, ничего страшного — так и рекурсии тоже нельзя!
−94
Если СтрокаТаблицы.ЗакрытьДоговор = Истина Тогда
СтарыйЭлемент = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СтрокаТаблицы.Договор.Код).ПолучитьОбъект();
СтарыйЭлемент1 = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СтрокаТаблицы.Договор.Наименование).ПолучитьОбъект();
Если СтарыйЭлемент.Наименование <> СтарыйЭлемент1.Наименование Тогда
СтарыйЭлемент = СтарыйЭлемент1;
Иначе
СтарыйЭлемент = СтарыйЭлемент;
КонецЕсли;
СтарыйЭлемент.мфоДатаЗакрытия = Дата;
Иначе
СтарыйЭлемент = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(СтрокаТаблицы.Договор.Код).ПолучитьОбъект();
СтарыйЭлемент1 = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СтрокаТаблицы.Договор.Наименование).ПолучитьОбъект();
Если СтарыйЭлемент.Наименование <> СтарыйЭлемент1.Наименование Тогда
СтарыйЭлемент = СтарыйЭлемент1;
Иначе
СтарыйЭлемент = СтарыйЭлемент;
КонецЕсли;
СтарыйЭлемент.мфоДатаЗакрытия = Дата("00010101");
КонецЕсли;
СтарыйЭлемент.Записать();
Крайне сильное колдунство :) Все те же аутсорсеры :)
+3
function getBounds(curve) {
var px;
var py;
var qx;
var qy;
var rx;
var ry;
var sx;
var sy;
var tx;
var ty;
var tobx;
var toby;
var tocx;
var tocy;
var todx;
var tody;
var toqx;
var toqy;
var torx;
var tory;
var totx;
var toty;
var step;
var x;
var y;
var minX;
var minY;
var maxX;
var maxY;
var ax = curve[0].x;
var ay = curve[0].y;
var bx = curve[1].x;
var by = curve[1].y;
var cx = curve[2].x;
var cy = curve[2].y;
var dx = curve[3].x;
var dy = curve[3].y;
var ITERATIONS_COUNT = 250;
minX = minY = Number.POSITIVE_INFINITY;
maxX = maxY = Number.NEGATIVE_INFINITY;
tobx = bx - ax;
toby = by - ay;
tocx = cx - bx;
tocy = cy - by;
todx = dx - cx;
tody = dy - cy;
step = 1 / ITERATIONS_COUNT;
for (var i = 0; i < ITERATIONS_COUNT; i++) {
var d = i * step;
px = ax + d * tobx;
py = ay + d * toby;
qx = bx + d * tocx;
qy = by + d * tocy;
rx = cx + d * todx;
ry = cy + d * tody;
toqx = qx - px;
toqy = qy - py;
torx = rx - qx;
tory = ry - qy;
sx = px + d * toqx;
sy = py + d * toqy;
tx = qx + d * torx;
ty = qy + d * tory;
totx = tx - sx;
toty = ty - sy;
x = sx + d * totx;
y = sy + d * toty;
minX = Math.min(minX, x);
minY = Math.min(minY, y);
maxX = Math.max(maxX, x);
maxY = Math.max(maxY, y);
}
return {
x: minX,
y: minY,
width: maxX - minX,
height: maxY - minY
};
}
Хорошей функции должно быть много
0
$l_data["comm_text"] = $mail_body;
$l_var = implode(",", $l_var);
$l_path = "root->mail->".$l_group_id."->".$l_uuid."->[".$l_var.",group_name,comm_text]";
$this->engine->smartquery->create( $l_path );
$this->engine->smartquery->setdata( $l_path, $l_data );
if ($this->engine->var->get("comm_subscribe") == 1 && defvar($this->engine->var->get("comm_email"),"") != "")
{
$l_result = $this->engine->smartquery->getdata( "root->clients->(list)->[*]"," and `comm_email`='".$this->engine->var->get("comm_email")."' ");
$l_result = $l_result->getall();
if (count($l_result) == 0)
{
//Создать группу если отсутствует
$l_data = array();
$l_data["comm_fio"] = $this->engine->var->get("comm_fio");
$l_data["comm_email"] = defvar($this->engine->var->get("comm_email"),"");
$l_data["comm_phone"] = defvar($this->engine->var->get("comm_phone"),"");
$l_data["comm_formid"] = $l_group_id;
$l_data["comm_formname"] = defvar($config["mail.communication".$l_group_id.".subj"],"");
$l_var = implode(",", array_keys($l_data));
$l_uuid = mktime();
$l_path = "root->clients->".$l_uuid."->[".$l_var."]";
$this->engine->smartquery->create( $l_path );
$this->engine->smartquery->setdata( $l_path, $l_data );
}
}
Это код из одного "супер" движка мало того что тут используется дибильный шаблонизатор, тут используется просто еб*нутый класс для работы с базой данных....
Не знаю что автор хотел оптимизировать этим классом, но простая вставка данных в таблицу тут занимает целых два метода 1-ый($this->engine->smartquery->create) создает таблицу(если ее нет и пустую строку), второй только собственно осуществляет вставку в эту строку данных($this->engine->smartquery->setdata)
+2
# Проверка массива
if ($_POST) {
# Проверка Категории
if ($_POST['category'] > 0) {
# Отображение на главной
if ($_POST['main'] == "0" || $_POST['main'] == "1") {
# Имя товара
if ($_POST['item'] != "") {
# Описание товара
if ($_POST['body'] != "") {
# Картинка товара
if ($_POST['image'] != "") {
# Цены на товар
if ($_POST['price'] != "") {
...
}
}
}
}
}
}
}
Когда ну очень хочется комментировать и оператор AND бессилен.
+4
<?= rand(1, 2) == 3 ? '<img src="/assets/img/icons/icon_organic.png">' : ''; ?>
+3
.main_page_desktop .menu_home .menu_home_banner .catalog_home_banner .catalog__product:nth-child(1) a:hover .catalog__product_img:after {width: 40%;left: 27%;}
Верстаем по методологии БЭМ, не разобрашись в сути
+2
function myRandom (from, to) {return Math.floor((Math.random() * (to - from + 1)) + from);}
function perehod(a,b,c){
var cmdname="event";
var cmdtime=a;
var cmdparam="a;link;<getvar(host)>;click;-1";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
var cmdname="link";
var cmdtime=myRandom(b,c);
var cmdparam="last;0";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
var cmdname="script";
var cmdtime=myRandom(1,3);
var cmdparam="window.scrollTo(<rndr(100:500)>,<rndr(50:1000)>);";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
var cmdname="script";
var cmdtime=myRandom(1,3);
var cmdparam="window.scrollTo(<rndr(100:1000)>,<rndr(50:1500)>);";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
}
if (m == 1){
perehod(2, min_t_vr, max_t_vr);
}
else if (m == 2){
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
}
else if (m == 3){
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
}
else if (m == 4){
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
}
else if (m == 5){
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
}
else if (m == 6){
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
}
else if (m == 7){
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
}
else if (m == 8){
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
perehod(2, min_t_vr, max_t_vr);
}
// и т.д. до m == 20 (sic!)
else {
perehod(2, 15, 20);
perehod(2, 15, 20);
perehod(2, 15, 20);
perehod(2, 15, 20);
perehod(2, 15, 20);
}
Циклы? Не, не слышал...
+1
static int Cols (double[,] Arr, out int rows)
{
int n = Arr.GetLength(0);
int m = Arr.GetLength(1);
rows=0;
int i=0;
int j=0;
for (; j < m;j++)
{
i = 0;
while (i < n-1 & Arr[i, j] < (Arr[i+1 , j]))
{
i++;
}
if (i == n-1)
rows++;
}
int k = 0;
i = 0;
for (; i < n; i++)
{
j = 0;
while (j < m-1 & Arr[i, j] < (Arr[i, j+1 ]))
{
j++;
}
if (j == m - 1)
k++;
}
return k;
}