- 1
this.reparent = function (new_parent) {var el = this.element; el.parentNode.removeChild(el); new_parent.appendChild(el);}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
this.reparent = function (new_parent) {var el = this.element; el.parentNode.removeChild(el); new_parent.appendChild(el);}
Наткнулся в старом, но ещё работающем коде. Может быть, это даже я написал. Надеюсь, что нет.
…Нет, похоже, всё-таки не я. Я бы не назвал класс подсвеченного элемента hilited, даже десять лет назад. Похоже, это босс писал.
+141
public function createAdvertApart () { // ВНИМАНИЕ! Видимость функции protected
// проверяем max размер допустимый к загрузке
if ( $_files[size] > 3000000 )
$error[] = "Файл превышает размер три мегабайта";
Прислали вместе с резюме пример кода, а там ...
−120
class Column(object):
"""
Элемент конфигурации
"""
def __init__(self, *args, **kwargs):
hid = False
filters = []
sorters = []
if len(args) == 3:
inner_name, verbose_name, width = args
elif len(args) == 2:
inner_name, verbose_name = args
width = 20
elif len(args) == 4:
inner_name, verbose_name, width, hid = args
elif len(args) == 5:
inner_name, verbose_name, width, hid, filters = args
elif len(args) == 6:
inner_name, verbose_name, width, hid, filters, sorters = args
special_attrs = ['locked', 'editable']
self.code = inner_name
self.name = verbose_name
self.width = width
self.hidden = hid
self.idx = 0
if sorters:
sorters.column = self
if filters:
filters.column = self
filters.code = self.code
#здесь хранятся экземпляры фильтров для колонок
self.filters = filters
#здесь хранятся экземпляры сортировщиков для колонок
self.sorters = sorters
def get_config(self):
''' ?
'''
config = dict()
config['data_index'] = self.code
config['header'] = self.name
config['width'] = self.width
config['hidden'] = self.hidden
return config
Разбор параметров
−158
Процедура ПриОткрытии()
Если РольДоступна("ЗапретНаИспользованиеОбработкиПоискИЗаменаДублирующихсяЭлементов") Тогда
ЭтаФорма.Закрыть();
КонецЕсли;
КонецПроцедуры
Забрал у пользователя права на использование поиска и замены дублирующихся элементов.
Зато быстро...
+163
if (in_array($id, $_SESSION['id']))
{
for ($j = 0; $j < count($_SESSION['id']); $j++)
{
if ($_SESSION['id'][$j] == $id)
{ $num_el = $j;}
}
$_SESSION['count'][$num_el] += $count;
$_SESSION['summa'][$num_el] += $cost*1*$count;
$_SESSION['summa_all'] += $cost*1*$count;
$_SESSION['count_all'] += $count;
}
else
{
$_SESSION['id'][] = $id;
$_SESSION['count'][] = $count;
$_SESSION['summa'][] = $cost*1*$count;
$_SESSION['summa_all'] += $cost*1*$count;
$_SESSION['count_all'] += $count;
}
Главное не забыть умножить на единицу
+130
;Дисассемблировано "Doctor Watson" для Windows Server 2003 R2 x64
00000000`004d3f4b 2448 and al,0x48
00000000`004d3f4d 488b742440 mov rsi,[rsp+0x40]
00000000`004d3f52 418b4008 mov eax,[r8+0x8]
00000000`004d3f56 4c8b642420 mov r12,[rsp+0x20]
00000000`004d3f5b 488b5c2430 mov rbx,[rsp+0x30]
00000000`004d3f60 ffc8 dec eax
00000000`004d3f62 498d54c00c lea rdx,[r8+rax*8+0xc]
00000000`004d3f67 666690 nop
00000000`004d3f6a 666690 nop
00000000`004d3f6d 666690 nop
FAULT ->00000000`004d3f70 0fb74202 movzx eax,word ptr [rdx+0x2] ds:00000008`01511086=????
00000000`004d3f74 443bc8 cmp r9d,eax
00000000`004d3f77 440f42c8 cmovb r9d,eax
00000000`004d3f7b 66837a0400 cmp word ptr [rdx+0x4],0x0
00000000`004d3f80 7415 jz bma+0xd3f97 (00000000004d3f97)
00000000`004d3f82 488d0cc500000000 lea rcx,[00000000+rax*8]
00000000`004d3f8a 488d0449 lea rax,[rcx+rcx*2]
00000000`004d3f8e 0f181442 prefetcht1 byte ptr [rdx+rax*2]
00000000`004d3f92 4803d1 add rdx,rcx
00000000`004d3f95 ebd9 jmp bma+0xd3f70 (00000000004d3f70)
00000000`004d3f97 488bc5 mov rax,rbp
HP Data Protection Manager 6.10, Windows x86-64, NDMP Media Agent. С первым патчем (не помню номер). Падал с Access Violation.
Явно ошибка в компиляторе. Если что, в rax в этот момент было 0x00000000ffffffff.
+141
int fpga_read(char *dev, unsigned int base_addr, unsigned int offset, int len, unsigned char *buf)
{
unsigned long long pci_raddr;
int actual;
FILE *fi;
fi = fopen(dev, "r");
if (fi == NULL) {
printf("Failed to read from FPGA - Error opening device\n");
return 1;
}
pci_raddr = (unsigned long long) 2 << 32 | (base_addr + offset);
setvbuf(fi, NULL, _IONBF, 0); // disable file buffering
fseeko(fi, pci_raddr, SEEK_SET); // go to the address
actual = fread(buf, 1, len, fi); // read the data
fclose(fi);
if (actual <= 0) {
printf("Error %d reading from device (dev %s, base addr 0x%x, offset 0x%x, len %i)\n", errno, dev, base_addr, offset, len);
return 2;
}
return 0;
}
По многочисленным просьбам говнокодеров, выделил в отдельный пост.
+57
double g(void) {
int i;
for (i = 0; i < N; i++) {
return (3*psi[i] + 25) * (0.1);
}
}
Попросили посмотреть код. Привожу как есть.
+159
public function getProductAttributes($product_id) {
$product_attribute_data = array();
$product_attribute_query = $this->db->query("SELECT attribute_id FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' GROUP BY attribute_id");
foreach ($product_attribute_query->rows as $product_attribute) {
$product_attribute_description_data = array();
$product_attribute_description_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "'");
foreach ($product_attribute_description_query->rows as $product_attribute_description) {
$product_attribute_description_data[$product_attribute_description['language_id']] = array('text' => $product_attribute_description['text']);
}
$product_attribute_data[] = array(
'attribute_id' => $product_attribute['attribute_id'],
'product_attribute_description' => $product_attribute_description_data
);
}
return $product_attribute_data;
}
Opencart -> ModelCatalogProduct -> getProductAttributes
Первым запросом в БД они берут IDы атрибутов, перебирают их циклом, в котором другим запросом берут всё, в том числе и те же IDы, из той же таблицы и снова перебирают строки циклом.
+127
INDEX.HTML
{% extends "style_body.html" %}
{% block head %}
<meta charset="UTF-8">
{% endblock %}
{% block body %}
<h1 align="center">Звіт по витратах</h1>
<table align="center">';
{% for item in payments['list'] %}
<tr><td>{{ item['data']}}</td>
<td>{{item['summa']}}</td>
<td>{{item['id']}}</td>
<td><button onclick="window.location.href='index.php?id={{item['id']}}&go=delete'"><img src="del.gif" alt="Del"style="vertical-align: middle"> </button></td></tr>
{% endfor %}
</table>
</br></br></br>
<table align="center"><tr><td><button onclick="window.location.href='index.php?go=addData'">
<img src="add.png" alt="Add" style="vertical-align: middle">Додати новий запис </button></td></tr></table>
{% endblock %}
FORM.HTML
{% extends "style_body.html" %}
{% block title %}
{% endblock %}
{% block head %}
{% endblock %}
{% block body %}
<form name="test" method="post" action="index.php">
<p align="center"><b>Введіть дату в форматі гггг-мм-дд:</b></br>
<input type="hidden" name="go" value="add" >
<input type="text" size="40" name="data" align="center" ></br>
<b align="center">Введіть витрачену сумму:</b></br>
<input type="text" size="40" name="summa" align="center"></br>
</p>
<p align="center"><input type="submit" value="Додати запис">
<input type="reset" value="Очистити"></p>';
</form>';
{% endblock %}
STYLE_BODY.HTML
<!DOCTYPE html>
<html>
<head >
{% block head %}
<title>{% block title %}{% endblock %} - My Webpage</title>
{% endblock %}
</head>
<body background="money.jpg">
{% block body %}{% endblock %}
</div>
</body>
</html>