- 1
- 2
- 3
<?php
echo "<html><head><meta http-equiv='Refresh' content='0; url=index.php'></head></html>";
?>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144
<?php
echo "<html><head><meta http-equiv='Refresh' content='0; url=index.php'></head></html>";
?>
Народ, мне сегодня на собеседовании сказали, что такой редирект - это говнокод. Эт правда?
+118
//-----------------------------------------------------------------------------------------------------------
// Создаю ПОСВИДЧЕННЯ ПРО ВИДРЯДЖЕННЯ
// Создаю тело документа
FunForServices.writeToLog(2, ps, "create PPV");
rs1 = stat1.executeQuery("Select D.DEPAR_Name As Dep, rtrim(L.LDAP_Name) as FIO, P.PEOP_Posit As Pos From IPS..PEOP P, IPS..LDAP L, IPS..DEPAR D Where L.LDA_LDAP_Login=D.LDAP_Login and L.LDAP_Login=P.LDAP_Login and L.LDAP_Login='"+rs.getString("Login")+"'");
rs1.next();
rez1="<?xml version=''1.0'' ?><u1><st><![CDATA[";
rez1+="<table width=\"100%\" border=0><tr><td width=\"33%\" align=right><table width=\"33%\"><tr>";
rez1+="<td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
rez1+="ЗАТВЕРДЖЕНО</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
rez1+="наказом Державної податкової</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
rez1+="адмiнiстрацiї України вiд</td></tr><tr><td style=\"FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial; TEXT-ALIGN: center\">";
rez1+="28.07.97 г. N 260</td></tr></table></td></tr><tr><td><br><br></td></tr><tr><td align=middle><I><B><FONT face=Arial size=4>ПОСВIДЧЕННЯ ПРО ВIДРЯДЖЕННЯ N</FONT></B></I>";
rez1+="<td> </td>";
//////////////////////////////////////
// строк 30 такого
//////////////////////////////////////
rez1+="<TR><TD> </TD></TR><TR><TD><TABLE cellSpacing=0 cellPadding=0 width=\"100%\"><TR><TD align=left><STRONG><EM><FONT face=Arial>КЕРIВНИК</FONT></EM></STRONG></TD><TD align=middle id=pod>Пiдпис</TD>";
rez1+="<TD align=right onclick=StampUtv(\""+sign+"\")><B>"+utvfio+"</B></TD></TR></TABLE></TD></TR><TR><TD> </TD></TR><TR><TD><STRONG><FONT face=Arial>М.П.</FONT></STRONG></TD></TR></TABLE></TD></TR>";
rez1+="</table>";
rez1+="]]></tp></u1>";
rs1 = stat1.executeQuery("Declare @Rez int exec GetCardNum "+FunForServices.Year+", '"+rs.getString("Login")+"', 'A', @Rez out Select @Rez");
rs1.next();
annNumb1 = rs1.getInt(1);
rs1 = stat1.executeQuery("Declare @Rez int exec GetCardNum "+FunForServices.Year+", '"+rs.getString("Login")+"' , 'C', @Rez out Select @Rez");
rs1.next();
ndoc1=rs1.getInt(1);
FunForServices.CreateBody(ndoc1, 0, "DocB", rez1, stat1);
FunForServices.writeToLog(2, ps, ndoc1+" for "+rs.getString("Login"));
rs1=stat1.executeQuery("AddDocCard "+rs.getInt("Act")+", '"+utv+"', "+ndoc+", "+rs.getInt("Grup")+", 1, 4,'"+regndoc.substring(0,regndoc.lastIndexOf("-"))+"', 'ПОСВIДЧЕННЯ ПРО ВIДРЯДЖЕННЯ', null,'"+annot+"', 'Нормальный', 4, null, null, null, null, null, null, '"+pk+"', ';"+utv+"', null, ';"+rs.getString("Login")+"', '"+pkdat+"', @IIdDocCard="+ndoc1+", @IIdAttending = "+annNumb1);
stat1.executeUpdate("Constatation "+ndoc1+", '"+utv+"'");
FunForServices.writeToLog(6, ps, "");
лайно з Украïни...
+162
..............
$q = mysql_query("SELECT * FROM `$TBL` $WHERE ORDER BY `id`") or die(mysql_error());
while ($l = mysql_fetch_array($q)) {
$result[] = $l;
sleep(0.4);
$pause = $pause + 0.4;
}
unset($q);
mysql_close($link);
// получили объект из первой базы
print ('Получили данные из главной базы N' . $i . '.');
include_once ('start.php');
$sync = rand(10, 99999); // случайное число для проверки синхронизации
// заносим данные
foreach ($result as $sync_arr) {
$id = $sync_arr['id'];
//print($id.'<br /><br />');
$sch = 0;
while ($sch <= 50) {
if (isset($sync_arr[$sch])) unset($sync_arr[$sch]);
$sch++;
}
$sync_arr['sync'] = $sync;
$pr = $ExpGlobal['DBCONN']->RowExists($TBL, 'id', $id);
if ($pr) {
//print_r_pre($sync_arr);
$ExpGlobal['DBCONN']->UpdateRow($TBL, $id, $sync_arr);
sleep(0.4);
$pause = $pause + 0.4;
$s++;
}
else {
$ExpGlobal['DBCONN']->InsertRow($TBL, $sync_arr);
sleep(0.4);
$pause = $pause + 0.4;
$dob++;
}
}
................
Что-то вроде синхронизации из одной таблицы с другой...
−121
sub captcha {
my $msg = $_[0];
## make colors for validation image into hex again ##
$rgb_foreground =~ s/\#//g;
$rgb_shade =~ s/\#//g;
$rgb_background =~ s/\#//g;
$r_f = substr($rgb_foreground,0,2);
$g_f = substr($rgb_foreground,2,2);
$b_f = substr($rgb_foreground,4,2);
$r_s = substr($rgb_shade,0,2);
$g_s = substr($rgb_shade,2,2);
$b_s = substr($rgb_shade,4,2);
$r_b = substr($rgb_background,0,2);
$g_b = substr($rgb_background,2,2);
$b_b = substr($rgb_background,4,2);
// Тут я вырезал кусок никчемного кода
$ci{' '} = qq~
.......
.......
.......
.......
.......
.......
.......
.......
.......
.......
~;
$ci{'!'} = qq~
.......
...X...
...X...
...X...
...X...
...X...
.......
...X...
.......
.......
~;
$ci{'"'} = qq~
.......
..X.X..
..X.X..
..X.X..
.......
.......
.......
.......
.......
.......
~;
$ci{'#'} = qq~
.......
..X.X..
..X.X..
.XXXXX.
..X.X..
.XXXXX.
..X.X..
..X.X..
.......
.......
~;
$ci{'$'} = qq~
.......
...X...
..XXXX.
.X.X...
..XXX..
...X.X.
.XXXX..
...X...
.......
.......
~;
// Дальше идет вся таблица ASCII
Вот таким вот образом выводили каптчу в далеком 2009 году. Очень надежный метод :)
+145
/**
* Получаем права на объект.
*
* @param string $fullHref
* @param string $method
* @param string $params
* @param string $type
* @return object $this
* @access public
*/
public function getPermsHref( $object, $method = '*', $params = false, $type = 'module', $url = false )
{
$registr = URegistry::getInstance();
$sql = $registr->SQuery->getAcl();
if ( $type == 'url' && $url )
{
$sql['where'] = "`o`.`type` = 'url' and `o`.`href` = '".$url."'";
$ac_type = 'url';
}
elseif ( $type == 'module' )
{
$sql['where'] = "(`o`.`type` = 'module') and `o`.`name` = '".$object."'";
if ( $method != '*' )
$sql['where'] .= ' or `o`.`href` = "'.$object.'/'.$method.'"';
$ac_type = 'module';
}
else
{
//TODO:wtf?
}
$registr->db->build_query($sql)->safe_sql($ac_type, $this->gid)->exec();
$perms = $registr->db->fetch_object();
if ( !$perms || !$perms->permission || !$perms->groupid )
throw new NotFoundObject();
$this->perms = $perms->permission;
$this->groupObject = explode(',', $perms->groupid);
$this->priv_lengh = strlen($perms->permission);
return $this;
}
/**
* Проверка прав на объект
*
* @param mixed $priv
* @return array
* @access public
*/
public function checkPremsObject( $priv = false )
{
$pruf = array();
$priv = empty($priv) ? $this->perms : $priv;
if ( $this->priv_lengh <= 0 or !in_array($this->gid, $this->groupObject) )
return false;
for ( $gi = 0; $gi < $this->priv_lengh; $gi++ )
{
if ( in_array($priv[$gi], $this->privileges['read']) ) $pruf['read'] = true;
if ( in_array($priv[$gi], $this->privileges['write']) ) $pruf['write'] = true;
if ( in_array($priv[$gi], $this->privileges['delete']) ) $pruf['delete'] = true;
}
return $pruf;
}
Проверка прав.
Что скажите?
+111
if Z = 'Pr'
then
case N of
1: Series1.Assign(Series33);
2: Series2.Assign(Series33);
3: Series3.Assign(Series33);
4: Series4.Assign(Series33);
5: Series5.Assign(Series33);
end
else
if Z = 'ST'
then
case N of
1: case Kolvo_Issledovanii of
1: Series6.Assign(Series33);
2: Series34.Assign(Series33);
3: Series59.Assign(Series33);
end;
//пропущено 15 строк
5: case Kolvo_Issledovanii of
1: Series10.Assign(Series33);
2: Series38.Assign(Series33);
3: Series63.Assign(Series33);
end;
end
else
if Z = 'TT'
then
case N of
1:
case Kolvo_Issledovanii of
1: Series11.Assign(Series33);
2: Series39.Assign(Series33);
3: Series64.Assign(Series33);
end;
//в том же духе, ещё 150 строк
//вообще-то, в том же духе - весь код, около 5000 строк
//...
//в другом месте:
Series1.Clear;
Series2.Clear;
Series3.Clear;
Series4.Clear;
//пропущено 75 строк
Series80.Clear;
Series81.Clear;
Series82.Clear;
Series83.Clear;
//...
Series1.Active:=false;
Series2.Active:=false;
Series3.Active:=false;
Series4.Active:=false;
//пропущено 75 строк
Series80.Active:=false;
Series81.Active:=false;
Series82.Active:=false;
Series83.Active:=false;
Фтопку ООП!
Такой вот диплом был сдан кем-то в прошлом году.
+164
$img_type = ".jpg";
$s = getimagesize($image);
if ($s[2] == "1") {
$img_type = ".gif";
} elseif ($as2] == "3") {
$img_type = ".png";
}
if ($img_type == ".jpg") {
$img = imagecreatefromjpeg($image);
} elseif($img_type == ".gif") {
$img = imagecreatefromgif($image);
} elseif ($img_type == ".png") {
$img = imagecreatefrompng($image);
}
$im = add_watermark($img, $image, $watermark);
if ($img_type == ".jpg") {
imagejpeg($im, $image, 85);
} elseif { ($img_type == ".gif")
imagegif($im , $image);
} elseif { ($img_type == ".png")
imagepng($im , $image);
}
Накладываем водяной знак на изображение
+112
procedure TfmConf_PA30.btnWritePAClick(Sender: TObject);
begin
if WriteByVariable(11,lbLog6) then begin
if WriteByVariable(12,lbLog6) then begin
if WriteByVariable(13,lbLog6) then begin
if WriteByVariable(14,lbLog6) then begin
if WriteByVariable(15,lbLog6) then begin
if WriteByVariable(16,lbLog6) then begin
if WriteByVariable(17,lbLog6) then begin
if WriteByVariable(18,lbLog6) then begin
if WriteByVariable(19,lbLog6) then begin
if WriteByVariable(20,lbLog6) then begin
if WriteByVariable(21,lbLog6) then begin
if WriteByVariable(22,lbLog6) then begin
if WriteByVariable(23,lbLog6) then begin
if WriteByVariable(24,lbLog6) then begin
if WriteByVariable(25,lbLog6) then begin
if WriteByVariable(26,lbLog6) then begin
if WriteByVariable(27,lbLog6) then begin
if WriteByVariable(28,lbLog6) then begin
if WriteByVariable(29,lbLog6) then begin
if WriteByVariable(30,lbLog6) then begin
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (30)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (29)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (28)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (27)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (26)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (25)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (24)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (23)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (22)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (21)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (20)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (19)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (18)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (17)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (16)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (15)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (14)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (13)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (12)');
end else
lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (11)');
end;
может циклом надо было? :)
for i:=11 to 40 do...
−99
10 DEFM 13:VAC
20 PRINT " Генератор."
30 FOR N=0 TO 6:Z$(N)="00000":NEXT N
40 CSR 0,:FOR N=6 TO 0 STEP -1:FOR M=1 TO 5
50 IF GETC(Z$(N),M)="1";DRAW M-1,N
60 NEXT M:NEXT N
70 DRAW X,Y:K$=KEY
80 DRAWC X,Y:IF K$="" THEN 70
90 IF GETC(Z$(Y),X+1)="1";DRAW X,Y
100 IF K$="8";IF Y<6;Y=Y+1:GOTO 70
110 IF K$="2";IF Y>0;Y=Y-1:GOTO 70
120 IF K$="4";IF X>0;X=X-1:GOTO 70
130 IF K$="6";IF X<4;X=X+1:GOTO 70
140 IF K$=" " THEN 200
150 IF K$="I" THEN 270
160 IF K$="C" THEN 30
170 IF K$="D" THEN 300
175 IF K$="U" THEN 350
180 IF K$="P" THEN 400
185 IF K$=CHR 123 THEN 450
190 GOTO 70
200 A$="1"
210 IF GETC(Z$(Y),X+1)="1";A$="0"
220 $=Z$(Y)
230 B$=MID(1,X)
240 C$=MID(X+2,4-X)
250 Z$(Y)=B$+A$+C$
260 GOTO 70
270 FOR N=0 TO 6:B$="":FOR M=1 TO 5
280 IF GETC(Z$(N),M)="0";B$=B$+"1":GOTO 290
285 B$=B$+"0"
290 NEXT M:Z$(N)=B$:NEXT N:GOTO 40
300 B$=Z$
310 FOR N=0 TO 5
320 Z$(N)=Z$(N+1)
330 NEXT N
340 Z$(6)=B$
345 GOTO 40
350 B$=Z$(6)
360 FOR N=6 TO 1 STEP -1
370 Z$(N)=Z$(N-1)
380 NEXT N:Z$=B$
390 GOTO 40
400 FOR N=0 TO 6
410 Z$(N+7)=Z$(N)
420 NEXT N
430 FOR N=0 TO 6
440 Z$(N)=Z$(13-N)
445 NEXT N:GOTO 40
450 B$="":FOR N=6 TO 0 STEP -1:S=0:L=1
460 FOR M=5 TO 1 STEP -1
470 S=S+VAL GETC(Z$(N),M)*L
475 L=L*2
480 NEXT M
490 IF S<10; B$=B$+CHR(48+S):GOTO 510
500 B$=B$+CHR(55+S)
510 NEXT N
520 CSR 2:PRINT "C=";B$;
530 GOTO 70
Не VisualBasic, но тоже Бейсик. Программа для микрокомпьютера Электроника МК-85М. Писал ее (и еще много других) лет 10 назад.
Подробнее о назначении программы в комментарии.
+113
char anarch[sizeof(long double) * sizeof(long)];
Задали одному студенту (5 курса, между прочим) написать программу для решения анаграмм...
Перед вами фрагмент кода, где объявляется буфер для хранения слова.
На вопрос "Зачем ты так написал?" ответ был: "Хотел избавиться от дефайнов и магических чисел".
На вопрос о размере буфера ответ был: "Так ведь не бывает слов длиннее 40 букв".