- 1
- 2
- 3
if(floor($info['http_code'] / 100) >= 4) {
throw $this->castError($result);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+160
if(floor($info['http_code'] / 100) >= 4) {
throw $this->castError($result);
}
Библиотека интеграции с Mandrill.
+125
На картинке — классическая древнегреческая статуя «Самсон, поражающий дубиной Бага, покровителя говнокода».
Древнегреческие программисты считали, что подсчет ссылок — универсальный инструмент, избавляющий от всех ошибок.
Сейчас мы знаем, что древние ошибались.
http://habrastorage.org/storage3/036/678/6e4/0366786e4530108f26e3ae9b8551bbad.jpg
http://habrahabr.ru/company/ifree/blog/202190/
Что имеет ввиду автор и почему он вообще гонит на RC?
+11
void run(std::map<QString, QString> params,QTextStream &os) const
{
static int ko=0;
ko++;
//r->method_="GET";
srand(time(0));// без этого числа будут одинаковые
QString randomData="["+ (QString::number(ko))+" , "+ (QString::number(rand()%100))+ "]";
//int index= params["idChpu"].toInt();
std::list<QString> idsparams=getIdsDataRequest(params["dataRequestIds"]);
QString dataInIds="";
//for (auto idParam=idsparams.begin();idParam!=idsparams.end();idParam++)
for (const auto &idParam : idsparams)
{
qDebug()<<idParam;
auto kokoFunction=[](const std::function<QString()> & function){QString date; for(auto i=0 ;i<10;i++){date+= function()+QString(" , ");} ; return date;};
if (idParam==QString("id0"))
{dataInIds=dataInIds+QString("\"")+(idParam)+QString("\"")+QString(":[")+kokoFunction([](){return QString::number((ko++));})+QString::number((ko++))+QString("],");}
else
{dataInIds=dataInIds+QString("\"")+(idParam)+QString("\"")+QString(":[")+kokoFunction([](){return QString::number(rand()%100);})+QString::number(rand()%100)+QString("],");}
};
QString jsonData=QString("{")+
QString("\"idLastKey\":\"10\",")+dataInIds+QString("}");
qDebug()<<"TgetDataOnRequest run</h1>";
os << "HTTP/1.0 200 Ok\r\n"
"Content-Type: text/html; charset=\"windows-1251\"\r\n"
"\r\n"<<jsonData<<//randomData<<
"\n";
// << QDateTime::currentDateTime().toString() << connectionSettings.getUrl()<<"\r\n"<<connectionSettings.getViewRequest()<<"\n";
}
Надеюсь это временный код, но очень сомневаюсь.
+16
const TReferenceToConstantStringSlice TFileTransfer::Beginer="<HTML><HEAD><FONT SIZE=6><A HREF='/'>Конфиденциально</A></FONT SIZE></HEAD><BODY><BR>";
const TReferenceToConstantStringSlice TFileTransfer::Ender="</BODY></HTML>";
Конфиденциально - это я сейчас стер.
+153
//поменяет src картинки на cid и вернет массив с дополнительными секциями тела письма
function convert_image_src($text, &$new_section_arr){
global $_SERVER;
//расчленяем текст на куски по img
$new_src_arr=array();//массив путей к картинкам
$arrTmp=explode("<img", $text);
$explode_str=array("\\\"", "\"", "'");
for($i=1; $i<sizeof($arrTmp); $i++){
$arrTmp2=explode("src=", $arrTmp[$i]);
for($j=1; $j<sizeof($arrTmp2); $j++){
for($k=0; $k<sizeof($explode_str); $k++){
if(substr($arrTmp2[$j], 0, strlen($explode_str[$k]))==$explode_str[$k]){
$arrTmp3=explode($explode_str[$k], $arrTmp2[$j]);
//считать можем только картинки с того же сервера - остальные побоку
if(ref_is_server($arrTmp3[1])){
$old_src_arr[]=$arrTmp3[1];
$new_src_arr[]=convert_url_2_full_server($arrTmp3[1]);
}
}
}
}
}
//теперь формируем новые секции
for($i=0; $i<sizeof($new_src_arr); $i++){
$file_arr=get_file_content($new_src_arr[$i], true);
if(strlen($file_arr[0])>0){
//запоминаем секцию
$new_section_arr[]=$file_arr[0];
//заменяем ссылку на cid
$text=str_replace($old_src_arr[$i], "cid:".$file_arr[1], $text);
}
}
return $text;
}
Супер функция, которая парсит картинки в тексте и заменяет на, как я понял, новые ссылки уже на собственном сервере.
Пока пытался разобраться, наступил когнитивный диссонанс.
−165
Запрос.Текст = ""
//...
ГДЕ
ВЫБОР
КОГДА ЕСТЬNULL(ВТМоделиПоставщика.КодМоделиПоставщика, "") = ""
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ = 0
//...
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если СтрДлина(ВыборкаДетальныеЗаписи.КодМоделиПоставщика) <> 0 Тогда
//...
КонецЕсли;
КонецЦикла;
Масло масляное. Захочешь нарочно такое придумать - не получится.
+153
http://froland.ru/samodel/myart_js1.html
Я хотел бы это развидеть.
+138
// прога у нас многопоточная, данный код выполняется в потоке. Создание и настройка Idhttp прописана в конструкторе потока.
while not terminated do
begin
synchronize(ReadProxy);
if ThreadExit then break;
try
memorystream.Position:=0;
try
idHTTP.Get(linknew,memorystream);
idhttp.disconnect;
except
idhttp.Disconnect;
end;
finally
temp:=memorystreamtostring(memorystream); // если этого не сделать, память будет утекать.
memorystream.clear;
end;
Я нашел способ предотвратить утечки памяти в Indy, при Get-запросе -
многие грешат на Indy, мол, нестабильная она в потоках, провоцирует утечки.
Оказалось, что дело-то в tmemorystream, я его маму бля ебал!!!
−168
Процедура ПараметрНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
ПараметрВладелец=Справочники.ПараметрыНоменклатуры.ПустаяСсылка();
ТипМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Элемент.Значение));
ОткрываемаяФорма = ПолучитьФорму(ТипМетаданных.ПолноеИмя()+".ФормаВыбора");
Отборы = Новый Структура("ТипПараметра,Подчинен",ВидНоменклатуры[Элемент.Имя],ПараметрВладелец);
Для Каждого ЭлементСтруктуры из Отборы Цикл
ЭлементОтбора = ОткрываемаяФорма.Отбор.Найти(ЭлементСтруктуры.Ключ);
Если Не ЭлементОтбора = Неопределено Тогда
ЭлементОтбора.Установить(ЭлементСтруктуры.Значение);
КонецЕсли;
КонецЦикла;
ОткрываемаяФорма.НачальноеЗначениеВыбора = Элемент.Значение;
ОткрываемаяФорма.ОткрытьМодально();
ЭтотОбъект[Элемент.Имя] = ОткрываемаяФорма.ТекущийЭлемент.ТекущаяСтрока;
ПараметрПриИзменении(Элемент);
КонецПроцедуры
Процедура НачалоВыбора в конфе одного из клиентов. Что-то смущает, но не могу понять что.
+10
void operator()()
{
for (std::list<SmartPointer<FunctorTriggerParent > >::iterator it = _listFunctorOnTrigger.begin(); it != _listFunctorOnTrigger.end(); ++it)
{
(*it)->operator ()();
}
};