- 1
- 2
- 3
- 4
if (!@$DB->query("INSERT INTO DBUSER(?#) VALUES(?a)", array_keys($row), array_values($row))) {
if($DB->error['code']==1062) $error="Такой логин уже существует";
};
return $error;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
if (!@$DB->query("INSERT INTO DBUSER(?#) VALUES(?a)", array_keys($row), array_values($row))) {
if($DB->error['code']==1062) $error="Такой логин уже существует";
};
return $error;
KISS как по учебнику
+2
Функция ТекстЗапросаДляРасчетаСостоянийОбеспеченияЗаказа()
ТекстЗапроса = "
|ВЫБРАТЬ
| ЗаказКлиентаТовары.Ссылка КАК Заказ,
| МАКСИМУМ(ВЫБОР
| КОГДА ЗаказКлиентаТовары.ВариантОбеспечения В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.Требуется), ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.НеТребуется))
| И ЗаказКлиентаТовары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ) КАК ОбеспечениеТребуется,
...
Выбирай хоть "Требуется", хоть "Не требуется" - нам все равно!
Типовая УТ 11.3.4.93, регистр сведений СостоянияЗаказовКлиентов, модуль менеджера.
+2
$DB->Query("UPDATE b_search_content SET TITLE ='".$name."' WHERE URL='".$URL."' AND PARAM1='USER'" );
$DB->Query("UPDATE b_search_content SET TITLE = CONCAT(TITLE,' тел.' '". $phone ." ' ' ' '". $email."' ) WHERE URL='".$URL."' AND PARAM1='USER'" );
Перед одним сотрудником встала задача изменить содержимое поля индексной таблицы в Bitrix...
+2
https://twitter.com/meetingcpp/status/917350967091310598
Приключения крестобляди и мнимой единицы. Зато метушню умеет.
+2
$ls = explode("\n", shell_exec("ls -A"));
foreach ($ls as $item) {
if ($item != 'doc2txt.php' and $item != 'nohup.out' and trim($item) != '') {
$dir = str_replace(
[' ', '(', ')', ';', '=', '<', '>', "'"],
['\ ', '\(', '\)', '\;', '\=', '\<', '\>', "\'"],
$item);
exec("rm -r -- $dir");
}
}
Cron
00 20 * * * /usr/bin/php /var/www/somedir/data/scripts/doc2xml/doc2txt.php
Allahu akbar !
+2
<?
$conf['salt'] = "8h47PODiwz"; //соль для хэширования
$conf['crypt_steps'] = 10; //количество итерраций
$pass = "superpass"; //ваш пароль
echo "Пароль: ".$pass." ==> ".crypto_pass($pass, $conf);
function crypto_pass($pass, $conf) {
for($i; $i < $conf['crypt_steps']; $i++) {
$pass = md5(sha1($pass));
}
return $pass;
}
Супермегашифровагие пароля....
Вопрос: нахрена соль?
Нахрена оно вообще нужно?
+2
// https://github.com/vk-com/kphp-kdb/blob/ce6dead5b3345f4b38487cc9e45d55ced3dd7139/bayes/bayes-data.c#L569
for (i = j = 0; v[i]; i++) {
f[j] = i;
if (v[i + 1] == '#' && (v[i] == '&' || v[i] == '$')) {
int r = 0, ti = i;
if (v[i + 2] != 'x') {
for (i += 2; v[i] != ';' && v[i]; i++) {
if ('0' <= v[i] && v[i] <= '9') {
r = r * 10 + v[i] - '0';
} else {
break;
}
}
} else {
for (i += 3; v[i] != ';' && v[i]; i++) {
if (('0' <= v[i] && v[i] <= '9') ||
('a' <= v[i] && v[i] <= 'f') ||
('A' <= v[i] && v[i] <= 'F')) {
r = r * 16;
if (v[i] <= '9') {
r += v[i] - '0';
} else if (v[i] <= 'F') {
r += v[i] - 'A' + 10;
} else {
r += v[i] - 'a' + 10;
}
} else {
break;
}
}
}
if (r == 0) {
bad[j] = 0;
pv[j++] = v[i = ti];
} else {
bad[j] = 1;
pv[j++] = r;
if (v[i] != ';') {
i--;
}
}
} else if (v[i] == '%' && '0' <= v[i + 1] && v[i + 1] <= '7' &&
(('0' <= v[i + 2] && v[i + 2] <= '9') ||
('a' <= v[i + 2] && v[i + 2] <= 'f') ||
('A' <= v[i + 2] && v[i + 2] <= 'F'))) {
int r = (v[i + 1] - '0') * 16;
if (v[i + 2] <= '9') {
r += v[i + 2] - '0';
} else if (v[i + 2] <= 'F') {
r += v[i + 2] - 'A' + 10;
} else {
r += v[i + 2] - 'a' + 10;
}
i += 2;
if (r != ':' && r != '/' && r != '=' && r != '?' && r != '&' && r != '+') {
bad[j] = 1;
} else {
bad[j] = 0;
}
pv[j++] = r;
} else {
bad[j] = 0;
pv[j++] = v[i];
}
}
f[j] = i;
pv[j] = 0;
for (i = 0; i < j; i++) {
if ('A' <= pv[i] && pv[i] <= 'Z') {
pv[i] = pv[i] - 'A' + 'a';
bad[i] += 2;
}
}
Очередной ебаный пиздец из kPHP
В предыдущих сериях:
http://govnokod.ru/19842
http://govnokod.ru/15406
+2
string shifarhex(string count)
{
string take,take2;
string getch1;
getch1=count;
string sub1 = "0000";//2 to 3 31
unsigned int pos1 = getch1.find(sub1,0);
if(pos1 != string::npos)
{
take2="0";
}
string sub2 = "0001";//2 to 3 31
unsigned int pos2 = getch1.find(sub2,0);
if(pos2 != string::npos)
{
take2="1";
}
string sub3 = "0010";//2 to 3 31
unsigned int pos3 = getch1.find(sub3,0);
if(pos3 != string::npos)
{
take2="2";
}
string sub4 = "0011";//2 to 3 31
unsigned int pos4 = getch1.find(sub4,0);
if(pos4 != string::npos)
{
take2="3";
}
string sub5 = "0100";//2 to 3 31
unsigned int pos5 = getch1.find(sub5,0);
if(pos5 != string::npos)
{
take2="4";
}
string sub6 = "0101";//2 to 3 31
unsigned int pos6 = getch1.find(sub6,0);
if(pos6 != string::npos)
{
take2="5";
}
string sub7 = "0110";//2 to 3 31
unsigned int pos7 = getch1.find(sub7,0);
if(pos7 != string::npos)
{
take2="6";
}
string sub8 = "0111";//2 to 3 31
unsigned int pos8 = getch1.find(sub8,0);
if(pos8 != string::npos)
{
take2="7";
}
string sub9 = "1000";//2 to 3 31
unsigned int pos9 = getch1.find(sub9,0);
if(pos9 != string::npos)
{
take2="8";
}
string sub10 = "1001";//2 to 3 31
unsigned int pos10 = getch1.find(sub10,0);
if(pos10 != string::npos)
{
take2="9";
}
string sub11 = "1010";//2 to 3 31
unsigned int pos11 = getch1.find(sub11,0);
if(pos11 != string::npos)
{
take2="A";
}
string sub12 = "1011";//2 to 3 31
unsigned int pos12 = getch1.find(sub12,0);
if(pos12 != string::npos)
{
take2="B";
}
string sub13 = "1100";//2 to 3 31
unsigned int pos13 = getch1.find(sub13,0);
if(pos13 != string::npos)
{
take2="B";
}
string sub14 = "1101";//2 to 3 31
unsigned int pos14 = getch1.find(sub14,0);
if(pos14 != string::npos)
{
take2="D";
}
string sub15 = "1110";//2 to 3 31
unsigned int pos15 = getch1.find(sub15,0);
...
http://www.sql.ru/forum/1269897/delaem-arhivator
Вореционное зожатие битов
+2
var L = {
'Рђ': 'A',
'Р°': 'a',
'Р‘': 'B',
'Р±': 'b',
'Р’': 'V',
'РІ': 'v',
'Р“': 'G',
'Рі': 'g',
'Р”': 'D',
'Рґ': 'd',
'Р•': 'E',
'Рµ': 'e',
'РЃ': 'Yo',
'С‘': 'yo',
'Р–': 'Zh',
'Р¶': 'zh',
'Р—': 'Z',
'Р·': 'z',
'Р': 'I',
'Рё': 'i',
'Р™': 'Y',
'Р№': 'y',
'Рљ': 'K',
'Рє': 'k',
'Р›': 'L',
'Р»': 'l',
'Рњ': 'M',
'Рј': 'm',
'Рќ': 'N',
'РЅ': 'n',
'Рћ': 'O',
'Рѕ': 'o',
'Рџ': 'P',
'Рї': 'p',
'Р ': 'R',
'СЂ': 'r',
'РЎ': 'S',
'СЃ': 's',
'Рў': 'T',
'С‚': 't',
'РЈ': 'U',
'Сѓ': 'u',
'Р¤': 'F',
'С„': 'f',
'РҐ': 'Kh',
'С…': 'kh',
'Р¦': 'Ts',
'С†': 'ts',
'Р§': 'Ch',
'С‡': 'ch',
'РЁ': 'Sh',
'С€': 'sh',
'Р©': 'Sch',
'С‰': 'sch',
'РЄ': '',
'СЉ': '',
'Р«': 'Y',
'С‹': 'y',
'Р¬': "",
'СЊ': "",
'Р': 'E',
'СЌ': 'e',
'Р®': 'Yu',
'СЋ': 'yu',
'РЇ': 'Ya',
'СЏ': 'ya'
};
+2
#!/usr/bin/env python
import jinja2
import contextlib
import os.path
import shutil
import subprocess
import sys
import tempfile
@contextlib.contextmanager
def rm_dir(d):
yield d
shutil.rmtree(d)
def main():
if len(sys.argv) < 2:
return
if os.path.basename(sys.argv[1]) != "compile":
subprocess.call(sys.argv[1:])
return
command = sys.argv[1:]
preprocessed_files = []
with rm_dir(tempfile.mkdtemp()) as tmpdir:
print "Temp dir is", tmpdir
while len(command) > 0 and not command[-1].startswith("-") and command[-1].endswith(".go"):
tmpfile = os.path.join(tmpdir, str(len(command)) + ".go")
with open(command[-1]) as input:
with open(tmpfile, "wb") as preprocessed:
print "Preprocess", command[-1], "into", tmpfile
preprocessed.write(jinja2.Template(input.read()).render())
preprocessed_files.append(tmpfile)
command.pop()
subprocess.call(command + preprocessed_files)
if __name__ == "__main__":
main()
Прикручиваем шаблонизатор jinja к го, чтобы копипастить с комфортом. Использовать так:
go build -toolexec '/path/to/preprocess.py' package_na_go