- 1
- 2
- 3
- 4
- 5
- 6
if(empty($username) || $username){
// ...
if($id == $row['id'] || $row['id'] == $id || ($row['id'] == $id && $id == $row['id'])){
// ...
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+176.8
if(empty($username) || $username){
// ...
if($id == $row['id'] || $row['id'] == $id || ($row['id'] == $id && $id == $row['id'])){
// ...
}
}
Было дело года два назад...
Форма авторизации, как я мог написать такой бред? =)
+77.1
public static boolean isValidUser(String user)
{
if(user == null) return true;
int len = user.length();
if (len > 255) return false;
char c;
for(int i=0; i<len; i++)
{
c = user.charAt(i);
if (c <= ' ') return false;
if (c == ':') return false;
if (c == '@') return false;
if (c == '"') return false;
if (c == '>') return false;
if (c == '<') return false;
if (c == '/') return false;
if (c == '\'') return false;
if (c == '&') return false;
if (c == '\u077F') return false;
if (c == '\u0FFE') return false;
if (c == '\u0FFF') return false;
}
return true;
}
проверка имени пользователя на плохие символые в Jeti
+114.3
static void JoinFiles(string FileOne, string FileTwo, string Out)
{
//declare head size
const long HeadSize = sizeof(long) * 4;
//get files size
long FFS = (new FileInfo(FileOne).Length),
SFS = (new FileInfo(FileTwo).Length);
//Full paths of files
string FFFN = Path.GetFileName(Path.GetFullPath(FileOne)),
SFFN = Path.GetFileName(Path.GetFullPath(FileTwo));
//calculate offsets
long FirstFileOffset = HeadSize + FFFN.Length,
FirstFileNameOffset = HeadSize,
SecondFileNameOffset = FirstFileOffset + FFS,
SecondFileOffset = SecondFileNameOffset + SFFN.Length;
//declare head
byte[] Head = new byte[HeadSize];
/*
* FFO FFNO SFO SFNO
*/
//Format head
Head = JoinArrays<byte>(BitConverter.GetBytes(FirstFileOffset),
BitConverter.GetBytes(FirstFileNameOffset),
BitConverter.GetBytes(SecondFileOffset),
BitConverter.GetBytes(SecondFileNameOffset));
//declare streams
System.IO.BinaryReader FBR = new BinaryReader(File.OpenRead(FileOne));
System.IO.BinaryWriter BW = new System.IO.BinaryWriter(File.Create(Out));
//Write head information
foreach (byte b in Head) BW.Write(b);
//Write first file name
byte[] buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(FFFN);
BW.Write(buffer, 0, buffer.Length);
//Write first file
for (long id = 0; id < FFS; id++) BW.Write(FBR.ReadByte());
//Write second file name
buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(SFFN);
BW.Write(buffer, 0, buffer.Length);
//Open second file
FBR.Close();
FBR = new BinaryReader(File.OpenRead(FileTwo));
//Write second file
for (long id = 0; id < SFS; id++) BW.Write(FBR.ReadByte());
//Save result
BW.Flush();
//Close streams
FBR.Close();
BW.Close();
}
Функция склеивания двух файлов. Писал вчера вечером, когда утром посмотрел, я понял что писал я это очень поздно.
+164.5
if($s_r1>0){
while($s_ww_1=mysql_fetch_object($s_q_1)){
$row_repl1["id"]=$s_ww_1->id;
$row_repl1["name"]=$s_ww_1->name;
$row_repl1["nick"]=$s_ww_1->nick;
if($s_ww_1->nick==''){
$row_tpl1 = new FileTemplate($row_repl1, "TEMPL/shabl119.tpl");
}else{
$row_tpl1 = new FileTemplate($row_repl1, "TEMPL/shabl120.tpl");
}
$row_repl0["T_level1"].=$row_tpl1->parse();
$row_repl1=array();
}// end while
@mysql_free_result($s_q_1);
}//if
$row_tpl0 = new FileTemplate($row_repl0, "TEMPL/shabl152.tpl");
$row_tpl0->display();
$row_repl0=array();
}// end while
@mysql_free_result($s_q);
}//if
}elseif($lnk1==47){
$s_q=mysql_query("SELECT id, name, descr FROM experts WHERE id=$lnk2 LIMIT 1");
$s_r1 = mysql_error() ? 0 : mysql_num_rows($s_q);
if($s_r1>0){
while($s_ww=mysql_fetch_object($s_q)){
$row_repl["id"]=$s_ww->id;
$row_repl["name"]=$s_ww->name;
$row_repl["descr"]=$s_ww->descr;
$row_tpl = new FileTemplate($row_repl, "TEMPL/shabl18.tpl");
$row_tpl->display();
$row_repl=array();
}// end while
@mysql_free_result($s_q);
}//if
}elseif($lnk1==54){
$s_q=mysql_query("SELECT id, name, subtitle, type, number, doclevel, body, date, descr, txt, shows, prompt FROM documents WHERE id=$lnk2 LIMIT 1");
$s_r1 = mysql_error() ? 0 : mysql_num_rows($s_q);
if($s_r1>0){
while($s_ww=mysql_fetch_object($s_q)){
$row_repl["id"]=$s_ww->id;
$row_repl["name"]=$s_ww->name;
$row_repl["subtitle"]=$s_ww->subtitle;
$row_repl["ParentType"]=$s_ww->type;
$ParentType=$row_repl["ParentType"];
$s_q2=mysql_query("select name as type_doctypes_name from doctypes where id=".$s_ww->type."");
$s_n2 = mysql_error() ? 0 : mysql_num_rows($s_q2);
if($s_n2>0){
$s_w2=mysql_fetch_object($s_q2);
$row_repl["type_doctypes_name"]=stripslashes($s_w2->type_doctypes_name);
@mysql_free_result($s_q2);
}//s_n2
$row_repl["number"]=$s_ww->number;
$row_repl["doclevel"]=$s_ww->doclevel;
$s_q2=mysql_query("select name as doclevel_doclevels_name from doclevels where id=".$s_ww->doclevel."");
$s_n2 = mysql_error() ? 0 : mysql_num_rows($s_q2);
if($s_n2>0){
$s_w2=mysql_fetch_object($s_q2);
$row_repl["doclevel_doclevels_name"]=stripslashes($s_w2->doclevel_doclevels_name);
@mysql_free_result($s_q2);
}//s_n2
$row_repl["body"]=$s_ww->body;
$row_repl["date"]=mysqldate_to_str($s_ww->date);
$row_repl["descr"]=$s_ww->descr;
$row_repl["txt"]=$s_ww->txt;
$row_repl["shows"]=intval($s_ww->shows)+1;
@UpdateFCounter("documents","shows","copyshows","id",$s_ww->id);
Использовано в коде одного из проектов, оставшихся на поддержку. Такой красоты там только в одном файле - около 8000 строк.
+170.7
if ((($company == "1none")&&($office == "loreal"))||($company == "146/710")){
$from = "[email protected]";
if ($kto == "c"){
$to = $req1['email'].",[email protected]";
}
else{
$to = $req1['MAILR'].",[email protected]";
}
}
else{
$from = "[email protected]";
if ($kto == "c"){
$to = $req1['email'].",[email protected]";
}
else{
$to = $req1['MAILR'].",[email protected]";
}
}
сейчас вот это говно приходится переводить на нормальный язык
+148.7
if(!$result = MYSQL_QUERY("SELECT gmr_id, gam_chip, gam_price, gam_status FROM ".PREFIX."_games;")) { die(mysql_error()); exit; }
if(MYSQL_NUMROWS($result))
{
//какой-то код
}
А я-то думаю, чего это скрипту не хватает памяти - а в таблице несколько тысяч записей.
+101.2
procedure TForm1.Timer1Timer(Sender: TObject);
begin
sec:=sec+1;
if sec>59 then begin sec:=0; min:=min+1; end;
if min>59 then begin min:=0; ch:=ch+1; end;
statusbar1.Panels.Items[1].Text:=IntToStr(ch)+':'+IntToStr(min)+':'+IntToStr(sec);
end;
таймер
+138.1
sprintf(cmd, "%supd_downloader -p upd_downloader\\bin %s %s -a %s",
#if defined(__unix__)
"./",
#else
"",
#endif
arg1,
option->arg2 ? arg2 : "",
#if defined(__i386__) || defined(_M_X86)
"i686"
#else
"x86_64"
#endif
);
res = run_command(cmd);
Обнаружил в коде. Типа портируемый код =) Да еще и sprintf() ...
+149.8
return urlencode(urlencode($text));
xxx: cлушай, отправляю урл-кодированное, на телефон приходит перекодированное в KOI-8
yyy: zzz: нужно отправляемое всё закодировать сверху снова urlencode($text)
xxx: жеесть, 2 раза :-D, получилось!
+55.5
//------------------------------- COMPARE -------------------------------------
// Function to compare two strings on a mask, using a question mark and
// asterisk.Question mark matches any single character. The asterisk matches
// any signs of a minimum length of zero. maximum length is not limited. Only
// the next character in the mask has a value when there is a coincidence.
int compare(const char pat[],const char text[],int rec_ex)
{
bool flag = false; // flag show if working on "star"
int pat_len ,txt_len, // lehtghs of pattern and text
flagc, // counter and position i check
shift=0; // shift position
pat_len = (int)strlen(pat); // get lehtgh of pattern
txt_len = (int)strlen(text); // get lehtgh of text
if(rec_ex == 1 || (!pat_len && !txt_len)) // check if have to check some
return(1); // if yes return 1 or if have exit
else if(rec_ex == pat_len) // else return 0 becose not check that
return (0); // return 0
for(flagc=0;flagc < pat_len;flagc++)
if(pat[flagc] == '*' && flagc + 1 == pat_len)
return(compare(pat,text,1));// end of check return 1
else if(pat[flagc] == '*')
flag = true; // start * compare set flag true
else if(pat[flagc] != '?')
{
if(toupper(pat[flagc]) != toupper(text[flagc+shift]) && !flag)
return(compare(pat,text,pat_len)); // bad char and no star
else if(toupper(pat[flagc]) == toupper(text[flagc+shift]) && flag)
flag = false; // set flag false position
else if(toupper(pat[flagc]) != toupper(text[flagc+shift]) && flag)
shift++;
}
else if(pat[flagc] == '?')
{ // check if have ? in star operation
if(toupper(pat[flagc]) == toupper(text[flagc+shift]) && flag)
flag = false; // set flag false position
else if(toupper(pat[flagc]) != toupper(text[flagc+shift]) && flag)
shift++; // add one more into shift
}
if((flagc+shift < txt_len && !flag) // text have nore chars and
|| (flagc+shift == txt_len +1 && pat[pat_len+1] != '*'))
return(compare(pat,text,pat_len)); // and next char in pattern no star
else
return(compare(pat,text,1)); // end of pattern and text
}
Вот на после завтра нужно по программированию функцию написать- рекурсивную для сравнения строк по маске.
Написал :-) якобы рекурсивную функцию :-)