- 1
- 2
- 3
- 4
- 5
- 6
if(!$this->_login()){
sleep(mt_rand(60, 90));
$this->_reLogin();
return;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144
if(!$this->_login()){
sleep(mt_rand(60, 90));
$this->_reLogin();
return;
}
Такое чудо мне передали от другой команды разработчиков
+146
var returnValue = false;
bool result = doSomething();
if (!result)
{
return returnValue;
}
returnValue = true;
return returnValue;
+132
$result = mysql_query("INSERT INTO `selled` (`user`, `ip`, `date`, `name`, `mail`, `company`, `phone`, `phone2`, `sum`, `country`, `state`, `town`, `indexcountry`, `allcountry`, `payment`, `dost`) VALUES
('".mysql_real_escape_string($_COOKIE['user'])."', '$_SERVER[REMOTE_ADDR]', NOW(), '".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['mail'])."', '".mysql_real_escape_string($_POST['company'])."', '".mysql_real_escape_string($_POST['phone'])."', '".mysql_real_escape_string($_POST['phone2'])."', '".mysql_real_escape_string($_GET['sum'])."', '".mysql_real_escape_string($_POST['country'])."', '".mysql_real_escape_string($_POST['state'])."', '".mysql_real_escape_string($_POST['town'])."', '".mysql_real_escape_string($_POST['indexcountry'])."', '".mysql_real_escape_string($_POST['allcountry'])."', '".mysql_real_escape_string($_POST['paymethod'])."', '".mysql_real_escape_string($_POST['dost'])."')");
Добавление товара
+143
public void init() throws Exception {
initGps103Server("gps103");
initTk103Server("tk103");
initGl100Server("gl100");
initGl200Server("gl200");
initT55Server("t55");
initXexunServer("xexun");
initTotemServer("totem");
initEnforaServer("enfora");
initMeiligaoServer("meiligao");
initMaxonServer("maxon");
initSuntechServer("suntech");
initProgressServer("progress");
initH02Server("h02");
initJt600Server("jt600");
initEv603Server("ev603");
initV680Server("v680");
initPt502Server("pt502");
initTr20Server("tr20");
initNavisServer("navis");
initMeitrackServer("meitrack");
initSkypatrolServer("skypatrol");
initGt02Server("gt02");
initGt06Server("gt06");
initMegastekServer("megastek");
initNavigilServer("navigil");
initGpsGateServer("gpsgate");
initTeltonikaServer("teltonika");
initMta6Server("mta6");
initMta6CanServer("mta6can");
initTlt2hServer("tlt2h");
initSyrusServer("syrus");
initWondexServer("wondex");
initCellocatorServer("cellocator");
initGalileoServer("galileo");
initYwtServer("ywt");
initTk102Server("tk102");
initIntellitracServer("intellitrac");
initXt7Server("xt7");
initWialonServer("wialon");
initCarscopServer("carscop");
initApelServer("apel");
initManPowerServer("manpower");
initGlobalSatServer("globalsat");
initAtrackServer("atrack");
initPt3000Server("pt3000");
initRuptelaServer("ruptela");
initTopflytechServer("topflytech");
initLaipacServer("laipac");
initAplicomServer("aplicom");
initGotopServer("gotop");
initSanavServer("sanav");
initGatorServer("gator");
initNoranServer("noran");
initM2mServer("m2m");
initOsmAndServer("osmand");
initEasyTrackServer("easytrack");
initTaipServer("taip");
initKhdServer("khd");
initPiligrimServer("piligrim");
initStl060Server("stl060");
initCarTrackServer("cartrack");
initMiniFinderServer("minifinder");
initHaicomServer("haicom");
initEelinkServer("eelink");
initBoxServer("box");
initFreedomServer("freedom");
initTelikServer("telik");
initTrackboxServer("trackbox");
initVisiontekServer("visiontek");
initOrionServer("orion");
initRitiServer("riti");
initUlbotechServer("ulbotech");
initTramigoServer("tramigo");
initTr900Server("tr900");
initArdi01Server("ardi01");
initXt013Server("xt013");
initAutoFonServer("autofon");
initGoSafeServer("gosafe");
initAutoFon45Server("autofon45");
initBceServer("bce");
initXirgoServer("xirgo");
initCalAmpServer("calamp");
initMtxServer("mtx");
initTytanServer("tytan");
initAvl301Server("avl301");
initProtocolDetector();
}
Один я тут вижу говно? Внутри еще интереснее, особенно доставил метод start():
https://github.com/tananaev/traccar/blob/master/src/org/traccar/ServerManager.java
+142
fstat(fd, &s);
count = s.st_size % sizeof(uint32_t) == 0 ? s.st_size : s.st_size + (sizeof(uint32_t) - s.st_size % sizeof(uint32_t));
buf = malloc(count);
/* etc */
Собственно, round up to nearest 32-bit word. Нет ли метода покрасивше?
+146
#ifndef FILTER_H
#define FILTER_H
#include <cassert>
#include <vector>
#include <algorithm>
template<typename T>
class filter_container;
namespace detail {
template<typename Iter, typename Pred>
class filter {
public:
filter(Iter begin, Iter end, Pred pred) :_begin(begin), _end(end), _pred(pred) { }
filter(const filter & f) : _begin(f._begin), _end(f._end), _pred(f._pred) { }
filter & operator = (const filter & f) {
if(this != &f) {
_begin = f._begin;
_end = f._end;
_pred = f._pred;
}
return *this;
}
~filter() { }
class const_iterator {
public:
typedef typename Iter::reference reference;
typedef typename Iter::pointer pointer;
const_iterator(Iter iter, const filter & cont) :_iter(iter), _cont(&cont) { advance_until_pred(); }
const_iterator(const const_iterator & i) :_iter(i._iter), _cont(i._cont) { }
const_iterator & operator = (const const_iterator & i) {
if(this != &i) {
_iter = i._iter;
_cont = i._cont
}
return *this;
}
~const_iterator() { }
const_iterator & operator++() { advance_until_pred(); return *this; }
const_iterator operator++(int) {
const_iterator ret = *this;
advance_until_pred();
return ret;
}
const reference operator*() const { return *_iter; }
const pointer operator->() const { return &*_iter; }
bool operator == (const const_iterator & i) const {
assert(_cont == i._cont);
return _iter == i._iter;
}
bool operator != (const const_iterator & i) const { return !(*this == i); }
protected:
Iter _iter;
const filter * _cont;
private:
void advance_until_pred() {
if(_iter != _cont->_end) {
std::advance(_iter, 1);
}
_iter = std::find_if(_iter, _cont->_end, _cont->_pred);
}
private:
const_iterator();
};
class iterator : public const_iterator {
public:
iterator(Iter iter, const filter & cont) :const_iterator(iter, cont) { }
iterator(const iterator & i) :const_iterator(i) { }
iterator & operator = (const iterator & i) { const_iterator::operator=(i); return *this; }
~iterator() { }
reference operator*() { return *_iter; }
pointer operator->() { return &*_iter; }
private:
iterator();
};
iterator begin() { return iterator(_begin, *this); }
iterator end() { return iterator(_end, *this); }
const_iterator cbegin() const { return const_iterator(_begin, *this); }
const_iterator cend() const { return const_iterator(_end, *this); }
private:
Iter _begin, _end;
Pred _pred;
private:
filter();
};
}
template<typename Iter, typename Pred>
detail::filter<Iter, Pred> filter(Iter begin, Iter end, Pred pred) {
return detail::filter<Iter, Pred>(begin, end, pred);
}
#endif // FILTER_H
Тривиальная крестовщина, ничего выдающегося. Внезапно подумалось, что подобный контейнер был бы довольно удобен.
Мне просто любопытно, насколько быстро этот пост будет слит автоминусаторами :)
+142
public List<MainTZInfoVO> GetMyJobs(bool flag1, bool flag2, bool flag3, bool flag4, string date1, string date2)
{
List<MainTZInfoVO> ulist = new List<MainTZInfoVO>(); // список заданий пользователя
string sIdUser = usr.GetUserOrAssistansID().ToString(); // ID пользователя
//выданы мне задания
string sql1 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '1' as NOT_RECEIVED from tz_all_jobs where (trim(id_ispol) like '%,'||'" + sIdUser + "'||',%' or trim(id_ispol) like '" + sIdUser + "'||',%') and (status='Выдано' or status = 'Отклонено частично') and nvl(id_prin,' ') not like '%,'||'" + sIdUser + "'||',%' and nvl(id_prin,' ') not like '" + sIdUser + "'||',%' and nvl(id_otkl,' ') not like '%,'||'" + sIdUser + "'||',%' and nvl(id_otkl,' ') not like '" + sIdUser + "'||',%'";
//принятые мной, не рассмотренные другими
string sql2 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '0' as NOT_RECEIVED from tz_all_jobs where (status='Выдано' or status = 'Отклонено частично') and (nvl(id_prin,' ') like '%,'||'" + sIdUser + "'||',%' or nvl(id_prin,' ') like '" + sIdUser + "'||',%' or nvl(id_otkl,' ') like '%,'||'" + sIdUser + "'||',%' or nvl(id_otkl,' ') like '" + sIdUser + "'||',%')";
//выданные мне в статусе отклонено
string sql3 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '2' as NOT_RECEIVED from tz_all_jobs where (id_ispol like '%,'||'" + sIdUser + "'||',%' or id_ispol like '" + sIdUser + "'||',%') and (status='Отклонено' or status='Аннулировано')";
//ограничение по дате
string sql4 = "date_vyd between to_date('" + date1 + "','DD.MM.YYYY') and to_date('" + date2 + "','DD.MM.YYYY')";
string sql = " ";
//формируем sql-ку по флажкам, которые передаем в функцию
if (flag1 == true)
{
sql = sql1;
}
if (flag2 == true)
{
if (sql.Length > 1)
{
sql = sql + " union " + sql2;
}
else
{
sql = sql2;
}
}
if (flag3 == true)
{
if (sql.Length > 1)
{
sql = sql + " union " + sql3;
}
else
{
sql = sql3;
}
}
if ((flag4 == true) & (sql.Length > 1))
{
sql = "select * from (" + sql + ") tabl where " + sql4;
}
sql = sql + " order by date_vyd desc";
OracleCommand cmd = new OracleCommand(sql, connection);
OracleDataReader reader = cmd.ExecuteReader();
//ТУТ ПЕРЕДЕЛАТЬ ВСЕ
/*заполнение полей из ридера*/
while (reader.Read())
{
//...
}
return ulist;
}
в этом коде прекрасно все (имена и типы переменных, жестокое обращение с датами, чуть менее жестокое обращения с "флажками", соединение с Ораклом, которое открывается где-то за пределами вселенной и не закрывается нигде, и еще много всего)...
дочитав этот шедевр до строчки //ТУТ ПЕРЕДЕЛАТЬ ВСЕ, просто невозможно не прослезиться...
−161
select distinct cast(null as integer) NZAP,d_ext_uslug_napr_zag.id_doc_public NNAPR,d_ext_uslug_napr_zag.date_doc DNAPR,
d_ext_uslug_napr_zag.form_med_pom FOMP, tab_lpu.lpu_ext_code MONAPR, tab_struct_obos_unit.code_ffoms PMONAPR, cast (:lpu_ext_code as varchar(20)) MO, TSOU1.code_ffoms PMO,
tab_other_strings.code_external VPOLIS,patients.polis_s SPOLIS,patients.polis_n NPOLIS,
tab_msk.smocod SMO, tab_msk.TF_OKATO TER,
d_ext_uslug_napr_zag.fam FAM, d_ext_uslug_napr_zag.nam IM, d_ext_uslug_napr_zag.otch OT, d_ext_uslug_napr_zag.male P, d_ext_uslug_napr_zag.born DR,
patients.TELEFON TEL,
d_ext_uslug_napr_zag.ds_osn_mkb DSNAPR, TAB_PLACE_PARAM.profil_koek_for_foms PROFK,tab_profile.CODE_PROFILE_EGISZ_PRFO PROFO,
TAB_PLACE_PARAM.profil_koek_for_foms PROFKNAPR,
tab_profile.CODE_PROFILE_EGISZ_PRFO PROFONAPR,
users.snils MEDRAB,
med_kart.id_kart_public NKART, med_kart.ds_priem_mkb DS,
d_ext_uslug_napr_zag.date_plan_gosp DPGOSP,
MED_KART.date_vipis_planed DPOGOSP
from d_ext_uslug_napr_zag
left outer join patients on patients.id_pac=d_ext_uslug_napr_zag.pac_id and patients.dae>='31.12.9999'
left outer join tab_other_strings on tab_other_strings.id_string=patients.polis_type
left outer join tab_profile on tab_profile.id_profile=d_ext_uslug_napr_zag.TARGET_PODR_PROFILE
left outer join R_USERS_DOLGN on R_USERS_DOLGN.ID_KD=d_ext_uslug_napr_zag.NAPR_DOCTOR_KD_ID
left outer join users on users.id_user=d_ext_uslug_napr_zag.napr_doctor_user_id
left outer join tab_msk on tab_msk.id_msk=patients.msk
left outer join tab_place on tab_place.id_place=d_ext_uslug_napr_zag.napr_place_id
left outer join tab_struct_obos_unit on tab_struct_obos_unit.lpu_id=d_ext_uslug_napr_zag.from_lpu_id
left outer join tab_struct_obos_unit TSOU1 on TSOU1.id_obos_unit=tab_place.obos_unit_id
left outer join d_diagn on d_diagn.id_doc = d_ext_uslug_napr_zag.id_doc
left outer join med_kart on med_kart.pac_id = patients.id_pac
and med_kart.dt_coming>=:O_BEG and med_kart.dt_coming<=:O_END
left outer join d_dvig on d_dvig.med_kart=med_kart.id_kart and d_dvig.type_dvig=31
left outer join tab_place_param on tab_place_param.id_place=d_dvig.target_place
and tab_place_param.dab<=:O_BEG and tab_place_param.dae>:O_BEG
left outer join tab_struct_place_har on tab_struct_place_har.place_id=tab_place.id_place
left outer join tab_lpu on tab_lpu.lpu_code= med_kart.napr_lpu
where d_ext_uslug_napr_zag.IS_INCOMING=0 and d_ext_uslug_napr_zag.pay_id=1 --IS_INCOMING=0 только исходящие,
and d_ext_uslug_napr_zag.date_doc>=:O_BEG and d_ext_uslug_napr_zag.date_doc<=:O_END
Обратите внимание на tab_place_param
Также стоит отметить, что в таблице d_ext_uslug_napr_zag имеются поля med_kart_id, lpu_id, obos_unit_id.
Ещё: obos_unit — на самом деле подразделение lpu, их может быть несколько. Автор почему-то об этом не подумал.
+144
cs_zagl.Edit;
cs_zagl.fieldbyname('count_z').asinteger:=cs_tab.RecordCount;
cs_zagl.Post;
cs_mk.Edit;
cs_mk.FieldByName('med_kart_id').Asinteger:=select_row_Form.ClientDataSet1.FieldByName('id_kart').asinteger;
cs_mk.FieldByName('id_kart_public').Asinteger:=select_row_Form.ClientDataSet1.FieldByName('id_kart_public').asinteger;
cs_mk.FieldByName('id_pac').Asinteger:=select_row_Form.ClientDataSet1.FieldByName('id_pac').asinteger;
cs_mk.FieldByName('type_kart').asinteger:=select_row_Form.ClientDataSet1.FieldByName('type_kart').asinteger;
cs_mk.post;
IF (cs_mk.FieldByName('med_kart_id').Value=0) or (cs_mk.FieldByName('type_kart').asinteger<>27) then begin
cmd := VarArrayCreate([0,20],varVariant);
cmd[1] := 6832;
cmd[2] := 17;
cmd[5] := 1;
cmd[6] := 0;
ProvOptions := [grMetadata, grReset];
cmd[7] := dsp_mk.GetRecords(-1, RecsOut, Byte(ProvOptions));
try
rez := MainFormInterface.EXT_call_server('spr_read', cmd);
cs_tab.Edit;
cs_tab.FieldByName('med_kart_id').Asinteger:=rez[3];
cs_tab.Post;
if rez[1] < 0 then begin
debug_sql('Ошибка: ' + varastype(rez[1], varstring), 2);
MessageDlg('Ошибка: '+ #10 + #13 +
varastype(rez[1],varstring),mtError,[mbok],0);
Exit;
end;
except
on e:exception do
begin
MessageDlg(ERROR_MESS_5 + 'Исключение:' + E.ClassName + 'Mess:' + E.Message, mterror, [mbok], 0);
debug_sql('Ошибка записи документа!', 2);
debug_all('Err при записи документа тип=' + varastype(cmd[1], varstring)+
' id=' + inttostr(id_doc) + 'Исключение:' + E.ClassName + 'Mess:' + E.Message,2);
end;
end;
end;
end else begin
end;
end
else exit;
end else
begin
id_pac:=rez[3];
id_med_kart:=rez[2];
Application.MessageBox(pchar('Ошибка: '+#10+#13+
'Даный пациент не найден!!!'),pchar(application_title_short),MB_OK+MB_ICONERROR);
exit;
end;
end;
Это называется стиль
+142
$("input[name=remarks[]][type=checkbox]:checked").each(function(){
....
})
Что бывает когда начинают "программировать" на jquery