- 1
$this->last_error = $success;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+159
$this->last_error = $success;
кстати о названиях переменных :))
+160
<?php
$countH =1;
$T = 0;
foreach ($aSelectedUnits as $v) {
if ($T != $v['UnitType']) {
$countH = 1;
}
$countHired[$v['UnitNameId']] = $countH ++; // calculate hired units by type
$T = $v['UnitNameId'];
}
?>
всего навсего нужно было подсчитать количество юнитов каждого типа.
Как ни странно этот кусок кода считает юнытов, но не всегда верно.
+168
$weekday = date("l", strtotime(date("Y-m-d", time() - 3600 * 24 * (date("w") - $day))));
Определение дня недели но порядковому номеру.
+161
if
(
!(
(
strlen($chld_phone) == 10 &&
(
substr($chld_phone,0,3) == '087' ||
substr($chld_phone,0,3) == '088' ||
substr($chld_phone,0,3) == '089'
)
) ||
(
strlen($chld_phone) == 12 &&
(
substr($chld_phone,0,5) == '35987' ||
substr($chld_phone,0,5) == '35988' ||
substr($chld_phone,0,5) == '35989'
)
)
)
)
{
//Грешка
}
Телефон проверки :)
−115
# Функция обновляет файл базы
# Пользоваться: cut_jnl($bc, $local_ip, $jnl_string_new);
sub cut_jnl
{
my ( $bc, $ip_old, $string_new ) = @_;
open (JNL, "<$bc->{const}{base_jnl}");
undef $\;
my @all_file = <JNL>;
close JNL;
chomp($string_new);
$string_new .= "\n" if ($string_new ne '');
grep { s/.*$ip_old;.*/$string_new/sg } @all_file;
open (JNL, ">$bc->{const}{base_jnl}");
grep { print JNL } @all_file;
close JNL;
$bc->{const}{info}->debug("Update jnl, update string: $ip_old on $string_new");
}
no comments... особенно доставляют инструкции grep {}, это похлеще map {} будет.
+115
var model = Service.GetPlanGatheringIndicators(periodId).ToList();
ViewData["PeriodName"] = Service.GetPeriods().Where(p => p.Id == periodId).Select(p => p.TextAlias).FirstOrDefault();
var leafEls = model.Where(x => x.HasChildren == false);
var leafEl = (leafEls.Count() > 0) ? leafEls.First() : null;
ViewData["PlanActivated"] = ((leafEl != null) && (leafEl.PlanActivate == true)
&& (leafEl.PredictActivate == true)
&& (leafEl.FactActivate == true));
Вот в таком чудесном виде и лежит, ожидая рефактора и форматирования.
−125
# Функция проверки валидность и сравнение ip адресов
# Пользоваться: dynamic_comparison_ip($bc, $s1, $s3, $s5, $s8)
sub dynamic_comparison_ip
{
my ( $bc, $s1, $s3, $s5, $s8 ) = @_;
my $ip_regext = qr/(?:[0-9]\.|[0-9]{2}\.|[0-2][0-9]{2}\.){3}(?:[0-9]|[0-9]{2}|[0-2][0-9]{2})/;
if ( ( $bc->{config_params}{HOST} eq $s1 ) or
( $bc->{config_params}{HOST} eq $s3 ) or
( $s1 eq $s3 ) or
( ($s5 =~ $ip_regext ) and ( $bc->{config_params}{HOST} eq $s5 or $s1 eq $s5 or $s3 eq $s5 ) ) or
( ($s8 =~ $ip_regext ) and ( $bc->{config_params}{HOST} eq $s8 or $s1 eq $s8 or $s3 eq $s8 ) ) or
( ($s5 =~ $ip_regext ) and ($s8 =~ $ip_regext ) and ( $s5 eq $s8 ) )
) {
$bc->{const}{warning}->debug("Warning!!!! String $_ not valid!!!");
return 1;
} else {
return 0;
}
}
Предыдущие куски были мной отформатированы уже для лучшего понимания. А это - оригинал... Просто шедевр.
−123
sub initialize # Действия выполняемые непосредственно перед стартом цикла если мы ведём базу, что бы подгрузится из неё!!!!!
{
my $bc = shift;
if ( $bc->{const}{jnl} eq "1" )
{
$bc->{variable}{ip_addr} = run_shell_script("ip a", 'l');
open JNL, '<', $bc->{const}{base_jnl};
undef $\;
my @jnl_strings = <JNL>;
close JNL;
my $ip_regext = qr/(?:[0-9]\.|[0-9]{2}\.|[0-2][0-9]{2}\.){3}(?:[0-9]|[0-9]{2}|[0-2][0-9]{2})/;
map
{
chomp;
if (/^($ip_regext);(.*);($ip_regext);(.*);opt\[ip_v_2:(.*),(.*);int_2:(.*),(.*),(.*)\]$/)
{
my ( $s1, $s2, $s3, $s4, $s5, $s6, $s7, $s8, $s9 ) = ( "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9" );
if ( dynamic_comparison_ip($bc, $s1, $s3, $s5, $s8) == '1' )
{
cut_jnl($bc, $s1, '');
}
else
{
$bc->{variable}{base_virtual_ip}{$s1} = $s3;
$bc->{variable}{base_mask_v_ip}{$s1} = $s2;
$bc->{variable}{base_id}{$s1} = $s4;
$bc->{variable}{base_addit_v_ip}{$s1} = $s5;
$bc->{variable}{base_mask_v_ip_addit}{$s1} = $s6;
$bc->{variable}{base_addit_dev}{$s1} = $s7;
$bc->{variable}{base_addit_ip}{$s1} = $s8;
$bc->{variable}{base_mask_ip_addit}{$s1} = $s9;
$bc->{variable}{base_info_T}{$s1} = $bc->{variable}{no_info_T_max};
$bc->{variable}{base_delay}{$s1} = 0;
$bc->{const}{info}->debug("String $_ has been added in dynamic base");
push @{$bc->{variable}{base_load_conf}}, $s1; # Формируем базу загруженных из файла
$bc->{variable}{intrf_eth0} = Modules_SR::Ifconfig_all->new(
"$bc->{config_params}{HOST}",
"$bc->{variable}{base_mask_v_ip}{$s1}");
if ($bc->{variable}{base_addit_v_ip}{$s1})
{
$bc->{variable}{intrf_eth00} = Modules_SR::Ifconfig_all->new("
$bc->{config_params}{HOST}",
"$bc->{variable}{base_mask_v_ip_addit}{$s1}");
}
if ($bc->{variable}{base_addit_dev}{$s1})
{
$bc->{variable}{intrf_eth1} = Modules_SR::Ifconfig_all->new(
"$bc->{variable}{base_addit_dev}{$s1}",
"$bc->{variable}{base_mask_ip_addit}{$s1}");
}
check_stop_status($bc, "$s1");
}
}
else
{
$bc->{const}{info}->debug("String $_ hasn't been added in dynamic base");
$bc->{const}{warning}->debug("String $_ has incorrect format!!!");
}
} @jnl_strings;
}
} # end Действия выполняемые непосредственно перед стартом цикла
Всё оттуда же. Инициализация объекта. Теперь делать через map {} стало, по-видимому, модно. Куча непонятно зачем нужных переменных и полей... FACEPALM...
−124
if ($bc->{variable}{status} eq "1" && $bc->{variable}{wait} eq "mmua" && # Действия при получении подтверждения старта
$bc->{const}{data} =~ /^MMUA\(mkd;$bc->{config_params}{VIRTUAL_IP};.*;$bc->{config_params}{HOST};$bc->{config_params}{TCM_ID};.*;.*\)$/)
{
# $bc->{const}{info}->debug("START ACCEPT");
$bc->{const}{console_out} = "1.Answer SR-Slave: ok\n";
my $res = check_virtual_ip($bc, "0", "0", "1", "$bc->{config_params}{VIRTUAL_IP}");
$bc->{const}{info}->debug("check_virtual_ip = $res");
unless ($res =~ /.*exist already and not local.*/)
{
EXECUTE_START($bc);
$bc->{const}{info}->debug("Start permit");
}
else
{
$bc->{const}{info}->debug("Start not recommend");
}
$bc->{const}{console_out} .= "2.Answer check_virtual_ip: " . $res;
open (RESPONSE, ">$bc->{const}{res_start}");
print RESPONSE $bc->{const}{console_out};
close RESPONSE;
}
elsif ($bc->{variable}{status} eq "1" && $bc->{variable}{wait} eq "mmua") # Действия при ожидании подтверждения от Сервера старта
{
# $bc->{const}{info}->debug("START ACCEPT WAIT");
if ( $bc->{variable}{var_T1} >= $bc->{variable}{T1} )
{
$bc->{const}{console_out} = "1.Answer SR-Slave: slave doesn't answer\n";
my $res = check_virtual_ip($bc, "0", "0", "1", "$bc->{config_params}{VIRTUAL_IP}");
$bc->{const}{info}->debug("check_virtual_ip = $res");
unless( $res =~ /.*exist already and not local.*/ )
{
EXECUTE_START($bc);
$bc->{const}{info}->debug("Start permit");
}
else
{
$bc->{const}{info}->debug("Start not recommend");
}
$bc->{const}{console_out} .= "2.Answer check_virtual_ip: " . $res;
open (RESPONSE, ">$bc->{const}{res_start}");
print RESPONSE $bc->{const}{console_out};
close RESPONSE;
}
else
{
++$bc->{variable}{var_T1};
}
### Возможно жопа здесь !!!!!
}
elsif (-e $bc->{const}{req_restart} or $bc->{variable}{before_start} eq '1') # Действия при обноружении рестарта ручного или при первом запуске
{
# $bc->{const}{info}->debug("FIRST START / RESTART");
unlink $bc->{const}{req_restart};
unlink $bc->{const}{req_restart_program};
unless($bc->{variable}{before_start})
{
$bc->{const}{info}->debug("Found restart.req");
}
else
{
$bc->{const}{info}->debug("Starting MASTER -> send MMU...");
}
send_mmu ($bc, "1", "mmua-for-restart");
$bc->{variable}{delay} = $bc->{variable}{delay_max};
$bc->{variable}{before_start} = 2 if ($bc->{variable}{before_start} eq '1'); # Не будем отправлять INFO, пока не прийдёт подтверждение MMUA
}
Ещё несколько перлов из утилиты. Так записываем конечный автомат по функционированию протокола. Привёл только маленький кусочек из цепочки IF'ов.
+131
<html>
<head>
<title>Красивое облао тегов</title>
<script type="text/javascript" src="swfobject.js"></script>
</head>
<body>
<div id="tags">
<?php
$tags = '<tags>
<a href="http://Wincert.ru" style="font-size: 15pt">Wincert</a>
<a href="http://W-blog.ru" style="font-size: 15pt">Мой блог</a>
<a href="http://cssor.ru" style="font-size: 15pt">Крутой сайт о CSS</a>
<a href="http://Wincert.ru" style="font-size: 15pt">Веб разработчик</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
</tags>';
?>
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var widget_so = new SWFObject("tagcloud.swf?r="+rnumber, "tagcloudflash", "230", "140", "9", "#ffffff");
widget_so.addParam("allowScriptAccess", "always");widget_so.addVariable("tcolor", "0x333333");
widget_so.addVariable("tspeed", "115");
widget_so.addVariable("distr", "true");
widget_so.addVariable("mode", "tags");
widget_so.addVariable("tagcloud", "<?php echo urlencode($tags); ?>");
widget_so.write("tags");</script>
</div>
</body>
</html>