- 1
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+143
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
"Использование значения "****" для параметра "Пароль для базы данных" невозможно. Значение должно соответствовать регулярному выражению (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
говноюзабилити при инсталляции Джумлы - разрабы забыли, что регэкспы: а. не все знают, б. сложно читать. Почему бы не вывести сообщение в понятном виде, вроде "пароль должен состоять из ..., и не содержать символов ..., и должен быть от .. до .. символов длиной"?
+155
$image = imageCreateFromJpeg("test666.jpg");
$width = imageSX($image);
$height = imageSY($image);
$colorsR = array();
$colorsG = array();
$colorsB = array();
for ($i = 0; $i < $width; $i++) {
for ($j = 0; $j < $height; $j++) {
$color = imageColorAt($image, $i, $j);
list($r, $g, $b) = array_values(imageColorsForIndex($image, $color));
if ($r != "255" && $g != "255" && $b != "255") {
array_push($colorsR, $r);
array_push($colorsG, $g);
array_push($colorsB, $b);
}
}
}
$middleR = base_convert(round(array_sum($colorsR) / count($colorsR)), 10, 16);
$middleG = base_convert(round(array_sum($colorsG) / count($colorsG)), 10, 16);
$middleB = base_convert(round(array_sum($colorsB) / count($colorsB)), 10, 16);
echo "<h1>".$middleR.$middleG.$middleB."</h1>"
Только что "родил": нахождение среднего цвета на картинке для собственных нужд. Поскольку пхп я особо не знал никогда, делал "влом".
Претендует ли это на звание говнокода?
+169
if(typeid(*Line1)==typeid(TLine)) ; else
if(typeid(*Line2)==typeid(TLine)) {cLine=Line1; Line1=Line2; Line2=cLine;} else
if(typeid(*Line1)==typeid(TRay)) ; else
if(typeid(*Line2)==typeid(TRay)) {cLine=Line1; Line1=Line2; Line2=cLine;} else
if(typeid(*Line1)==typeid(TLineSegment)) ; else
if(typeid(*Line2)==typeid(TLineSegment)) {cLine=Line1; Line1=Line2; Line2=cLine;}
if(typeid(*Line1)==typeid(TLine)) {
if(typeid(*Line2)==typeid(TLine)) return 1; else
if(typeid(*Line2)==typeid(TRay)) {
if(
(( ((TRay*)Line2)->X1<=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1<=Point.x ) ||
( ((TRay*)Line2)->X1>=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1>=Point.x )) &&
(( ((TRay*)Line2)->Y1<=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1<=Point.y ) ||
( ((TRay*)Line2)->Y1>=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1>=Point.y ))
)
return 1;
else
return -1;
} else
if(typeid(*Line2)==typeid(TLineSegment)) {
if(
(( ((TLineSegment*)Line2)->X1<=Point.x && Point.x<=((TLineSegment*)Line2)->X2 )||( ((TLineSegment*)Line2)->X2<=Point.x && Point.x<=((TLineSegment*)Line2)->X1 )) &&
(( ((TLineSegment*)Line2)->Y1<=Point.y && Point.y<=((TLineSegment*)Line2)->Y2 )||( ((TLineSegment*)Line2)->Y2<=Point.y && Point.y<=((TLineSegment*)Line2)->Y1 ))
)
return 1;
else
return -1;
}
} else
if(typeid(*Line1)==typeid(TRay)) {
if(typeid(*Line2)==typeid(TRay)) {
if(
((( ((TRay*)Line1)->X1<=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1<=Point.x ) ||
( ((TRay*)Line1)->X1>=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1>=Point.x )) &&
(( ((TRay*)Line1)->Y1<=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1<=Point.y ) ||
( ((TRay*)Line1)->Y1>=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1>=Point.y )))
&&
((( ((TRay*)Line2)->X1<=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1<=Point.x ) ||
( ((TRay*)Line2)->X1>=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1>=Point.x )) &&
(( ((TRay*)Line2)->Y1<=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1<=Point.y ) ||
( ((TRay*)Line2)->Y1>=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1>=Point.y )))
)
return 1;
else
return -1;
} else
if(typeid(*Line2)==typeid(TLineSegment)) {
if(
((( ((TRay*)Line1)->X1<=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1<=Point.x ) ||
( ((TRay*)Line1)->X1>=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1>=Point.x )) &&
(( ((TRay*)Line1)->Y1<=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1<=Point.y ) ||
( ((TRay*)Line1)->Y1>=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1>=Point.y )))
&&
((( ((TLineSegment*)Line2)->X1<=Point.x && Point.x<=((TLineSegment*)Line2)->X2 )||( ((TLineSegment*)Line2)->X2<=Point.x && Point.x<=((TLineSegment*)Line2)->X1 )) &&
(( ((TLineSegment*)Line2)->Y1<=Point.y && Point.y<=((TLineSegment*)Line2)->Y2 )||( ((TLineSegment*)Line2)->Y2<=Point.y && Point.y<=((TLineSegment*)Line2)->Y1 )))
)
return 1;
else
return -1;
}
return 1;
} else
if(typeid(*Line1)==typeid(TLineSegment)) {
if(
((( ((TLineSegment*)Line1)->X1<=Point.x && Point.x<=((TLineSegment*)Line1)->X2 )||( ((TLineSegment*)Line1)->X2<=Point.x && Point.x<=((TLineSegment*)Line1)->X1 )) &&
(( ((TLineSegment*)Line1)->Y1<=Point.y && Point.y<=((TLineSegment*)Line1)->Y2 )||( ((TLineSegment*)Line1)->Y2<=Point.y && Point.y<=((TLineSegment*)Line1)->Y1 )))
&&
((( ((TLineSegment*)Line2)->X1<=Point.x && Point.x<=((TLineSegment*)Line2)->X2 )||( ((TLineSegment*)Line2)->X2<=Point.x && Point.x<=((TLineSegment*)Line2)->X1 )) &&
(( ((TLineSegment*)Line2)->Y1<=Point.y && Point.y<=((TLineSegment*)Line2)->Y2 )||( ((TLineSegment*)Line2)->Y2<=Point.y && Point.y<=((TLineSegment*)Line2)->Y1 )))
)
return 1;
else
return -1;
}
Имеются классы:
class TLine; // Линия
class TRay: public TLine; // Луч
class TLineSegment: public TRay; // Отрезок
Функция записывает в Point точку пересечения прямых и возвращает 0 если прямые параллельны, -1 если пересекаются продолжения отрезков и 1 если пересекаются отрезки.
Выше представлен кусок кода где проводится проверка, принадлежит точка пересечения отрезкам или их продолжениям.
+178
var td = $( this ).parent().parent().parent();
while( td.next().length ) td.next().remove();
Это СПАРТА!
+111
procedure TForm1.Timer1Timer(Sender: TObject);
function UpTime(sf:string):boolean;
var time:string;
t:textfile;
begin
if form1.MaskEdit5.Text<>'' then
if Findmas_u(255,0,sf)<0 then
begin UpTime:=false;exit;end;
if not FileExists(sf) then
begin UpTime:=false;exit;end;
time:=DateUpdating_u(sf);
if time<>'' then
begin
try
assignfile(t,ExtractFilePath(form1.MaskEdit1.Text)+ChangeFileExt(ExtractFileName(sf),'.tim'));
rewrite(t);
writeln(t,time);
closefile(t);
except UpTime:=false;exit;end;
end;
UpTime:=true;
end;
var x,y,i1,i2,i3,xf,yf:integer;
sf,id,ff:string;
b:boolean;
begin
form1.Timer1.Enabled:=not form1.Timer1.Enabled;
try
form1.ProgressBar1.Position:=0;
application.ProcessMessages;
masopt_u(254,x,y);
if form1.MaskEdit1.Text='' then
form1.BitBtn3.Click else
if (DateUpdating_u(form1.MaskEdit1.Text)<>DateUpdatingMas_u(254))or(y>0) then
begin
if form1.MaskEdit3.Text<>'' then
if form1.CheckBox1.Checked then
sf:=TJ7PassAutentikR_u(form1.MaskEdit3.Text,form1.MaskEdit2.Text) else
sf:=TJ7PassAutentik_u(form1.MaskEdit3.Text,form1.MaskEdit2.Text) else
sf:=form1.MaskEdit2.Text;
if not OpenOneNu_u(form1.MaskEdit1.Text,'read:PSQL-Srv'+booltostr(form1.RadioButton2.Checked),3) then
begin
DeleteFile(ChangeFileExt(form1.MaskEdit1.Text,'.tmp'));
form1.RichEdit1.Lines.Add('('+datetostr(date)+' '+timetostr(time)+') Превышен интервал времени доступа.');
OpenOneNu_u(form1.MaskEdit1.Text,'read:PSQL-Srv'+booltostr(form1.RadioButton2.Checked),3);
end;
i1:=TJ7ReadMas_u(254,form1.MaskEdit1.Text,sf);
CloseOneNu_u(form1.MaskEdit1.Text,'read:PSQL-Srv'+booltostr(form1.RadioButton2.Checked));
if (i1<>0)and(i1<>11) then
begin
form1.RichEdit1.Lines.Add('('+datetostr(date)+' '+timetostr(time)+') Ошибка чтения команд, код: '+inttostr(i1)+'.');
closemas_u(254);
initmas_u(254,2,0);
TJ7CreateMas_u(254,form1.MaskEdit1.Text,sf,false,false,false,false,false);
closemas_u(254);
form1.Timer1.Enabled:=not form1.Timer1.Enabled;
exit;
end;
masopt_u(254,x,y);id:='';
if not form1.RadioButton1.Checked then
begin
for i1:=0 to y-1 do
if (masr_u(254,1,i1)<>'') then
if ((form1.RadioButton2.Checked)and(ord(masr_u(254,1,i1)[1])mod 2=0))or
((form1.RadioButton3.Checked)and(ord(masr_u(254,1,i1)[1])mod 2<>0))then
begin id:=masr_u(254,1,i1);break;end;
end else id:=masr_u(254,1,0);
if (id='')or(y=0) then
begin
if RTime_u(strtodatetime(DateUpdatingMas_u(254)),date+time)<1200 then
closemas_u(254);
form1.Timer1.Enabled:=not form1.Timer1.Enabled;
exit;
end;
if y>0 then form1.StaticText13.Caption:='в обработке';
application.ProcessMessages;
form1.RichEdit1.Lines.Add('('+datetostr(date)+' '+timetostr(time)+'/Старт):'+id);
if form1.CheckBox3.Checked then
begin
masopt_u(255,xf,yf);
ff:=ExtractFilePath(form1.MaskEdit1.Text)+id+'.tj7';
masw_u(255,0,yf,ff);
end;
application.ProcessMessages;
if form1.MaskEdit6.Text<>'' then
PsevdoSQL_u(form1.MaskEdit6.Text);
for i1:=0 to y-1 do
if masr_u(254,1,i1)=id then
begin
if form1.CheckBox3.Checked then
begin
i2:=pos('TId',masr_u(254,0,i1));
if i2>0 then
masw_u(254,0,i1,copy(masr_u(254,0,i1),1,i2-1)+id+copy(masr_u(254,0,i1),i2+3,255));
end;
// *** И дальше в том же духе
Автор сего поделия, кусок которого приведён выше (привёл бы полностью, но там 160 строк), называет ЭТО "сервером распределённых вычислений" и "самой прогрессивной СУБД в мире, которая лучше всех этих ваших ораклов. При этом автор вроде как и не школьник...
+144
http://nemolaboratory.ru/blog/about_a_miscellaneous/Nemo-Laboratory-About
Напишите здесь все свои замечания, буду благодарен
+123
<? include ("header.php");
include ("../setup.php");
$resultg=mysql_query("select * from seting ");
$rog=mysql_fetch_array($resultg);
?>
<center><h4><font color=7C87C2>Настройка Казино</font></h4><br></center>
<table border="0" align="center" cellpadding="0" cellspacing="10">
<FORM action=config.php method=post>
<TR><td>Логин админа : </td><TD><INPUT size=40 name=alog value=<? echo $rog[0] ?>></TD></TR>
<TR><td>Пароль админа </td><TD><INPUT size=40 name=apas value=<? echo $rog[1] ?>></TD></TR>
<TR><td>Email казино</td><TD><INPUT size=40 name=adm_email value=<? echo $rog[2] ?>></TD></TR>
<TR><td>ICQ казино (если нет то пусто)</td><TD><INPUT size=40 name=icq value=<? echo $rog['icq'] ?>></TD></TR>
<TR><td>url казино (начиная с http:// и без "/" конце)</td><TD><INPUT size=40 name=cas_url value=<? echo $rog[3] ?>></TD></TR>
<TR><td>Название казино</td><TD><INPUT size=40 name=cas_name value=<? echo $rog[4] ?>></TD></TR>
<TR><td>Партнерские</td><TD><INPUT size=20 name=pcash value=<? echo $rog['pcash'] ?>> %</TD></TR>
<TR><td><b>Высылать Email админу:</b></td><TD></TD></TR>
<TR><td>При пополнение счета</td><TD><input type=checkbox name="paymail" value="yes"<? if($rog["paymail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
<TR><td>Зарегился новый игрок</td><TD><input type=checkbox name="regmail" value="yes"<? if($rog["regmail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
<TR><td>Вывод средств</td><TD><input type=checkbox name="zakmail" value="yes"<? if($rog["zakmail"] == 'yes') { echo ' checked'; } ?>></TD></TR>
<TR>
<td bgcolor="#FFFFFF"><font face="Verdana" size="2">
<span style="background-color: #FFFFFF">Сумма ежедневных бонусов WMR(разделитель .)</span></font></td>
<TD bgcolor="#FFFFFF"><font face="Verdana">
<INPUT size=10 name=us_bonus value="<? echo $rog['bonus'] ?>"></font></TD>
</TR>
<TR><td><b>Настройка Roboxchange.com</b></td><TD></TD></TR>
<TR><td>LOGIN в Robox</td><TD><INPUT size=40 name=mrh_login value=<? echo $rog[5] ?>></TD></TR>
<TR><td>PASS1 в Robox</td><TD><INPUT size=40 name=mrh_pass1 value=<? echo $rog[6] ?>></TD></TR>
<TR><td>PASS2 в Robox</td><TD><INPUT size=40 name=mrh_pass2 value=<? echo $rog[7] ?>></TD></TR>
<TR><TD><INPUT type=hidden value=1 name=send><INPUT type=hidden value=<? echo $rog[cas_bon] ?> name=cas_bon><INPUT type=submit value="Сохранить"></TD></TR>
</FORM>
</table>
<?
if ($send=="1"){
mysql_query("UPDATE seting SET alog='$alog',apas='$apas',adm_email='$adm_email',cas_url='$cas_url',cas_name='$cas_name',mrh_login='$mrh_login',mrh_pass1='$mrh_pass1',mrh_pass2='$mrh_pass2',pcash='$pcash',cas_bon='$cas_bon',bonus='$us_bonus',paymail='$paymail',regmail='$regmail',zakmail='$zakmail',icq='$icq'");
echo "<script> alert('Настройки сохранены!'); document.location.href='config.php';</script>";
}
include ("footer.php"); ?>
Кусок Скрипта готового Казино
+178
прислали реальный код:
while(i --> 10) { }
придумано, но выглядят эффектно:
while (i <- 10) {}
while( *i* *i* *i* *i* (4 /* раза повторить *i* */) > 0) {}
int n = i ** i;
int n = i ********* i;
int n = a / * b; // это не открытие комментария - там пробел есть
int n = a? 0:-E; /* типа смайлик 0 : - E в коде */
или даже
while(myclass<i> *a2) {}
что на самом деле является вот этим:
int myclass = 0;
int *a2 = &myclass;
while( (myclass < i) > *a2) {}
о неправильной расстановке пробелов...
или за что нужно убивать.
+148
$temp_leader=array();
//получаю список всех пользователей
$resUser = CUser::GetList($by = 'ID', $order = 'ASC', array("ACTIVE"=>"Y"));
while ($arUser = $resUser->Fetch())
{
//получаю для конкретного юзера элементы
$resElementUser = CIBlockElement::GetList(Array(), Array('ACTIVE'=>"Y", 'IBLOCK_ID'=>"45", 'CREATED_BY'=>$arUser['ID'], ">PROPERTY_POINT_FISH"=>"1"), false, false, Array("PROPERTY_POINT_FISH", "ID"));
$p=0;
while ($arElementUser = $resElementUser->Fetch())
{
$p++;
$arElementUser111[] = $arElementUser;
$tempElementUser[] = $arElementUser;
}
for ($i=0; $i<$p; $i++)
{
$temp_fish[$i] = $arElementUser111[$i]["PROPERTY_POINT_FISH_VALUE"];
}
//надо подсчитать количество видов у пользователя
if (count($temp_fish)>0)
{
if (count($temp_fish) == 1)
{
$count_fish = 1;
}
else
{
$res = array_count_values($temp_fish);
$count_fish = count($res);
}
//если еще меньше 6 лидеров то надо в массив писать лидера без проверок
if (count($temp_leader)<6)
{
$temp_leader[]=$count_fish;
$temp_login[]= get_user_name($arUser['ID']);
$temp_user[]=$arUser['ID'];
}
//иначе выявляю min и запоминаю позицию его и если у текущего пользователя больше min то пишем в массив
else
{
$min = $temp_leader[0];
$temp_pos = 0;
for ($i=1; $i<7; $i++)
{
if ($temp_leader[$i] < $min) {$min=$temp_leader[$i]; $temp_pos = $i;}
}
if ($count_fish > $min)
{
$temp_leader[$temp_pos] = $count_fish;
$temp_login[$temp_pos]= get_user_name($arUser['ID']);
$temp_user[$temp_pos] = $arUser['ID'];
}
}
unset($temp_fish);
unset($tempElementUser);
unset($arElementUser111);
}
}
for ($i=0;$i<count($temp_leader);$i++)
{
for ($j=count($temp_leader)-1; $j>$i; $j--)
{
if ($temp_leader[$j-1]<$temp_leader[$j])
{
$per = $temp_leader[$j-1];
$temp_leader[$j-1] = $temp_leader[$j];
$temp_leader[$j] = $per;
$per1 = $temp_login[$j-1];
$temp_login[$j-1] = $temp_login[$j];
$temp_login[$j] = $per1;
$per2 = $temp_user[$j-1];
$temp_user[$j-1] = $temp_user[$j];
$temp_user[$j] = $per2;
}
}
}
+129
if (obj == null)
return 0;
if (obj == DBNull.Value)
return 0;
return int.Parse (obj.ToString ());
в столбце хранится Integer...