- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
function count_arr($arr)
{
$rr = array_keys($arr);
if ($rr[0] !== 0) return 1;
$i = 0;
foreach ($arr as $k => $v) $i++;
return $i;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+160
function count_arr($arr)
{
$rr = array_keys($arr);
if ($rr[0] !== 0) return 1;
$i = 0;
foreach ($arr as $k => $v) $i++;
return $i;
}
no comments qq
+132
<script type="text/javascript" src="/js/common.js"></script>
<script type="text/javascript">
SiteExplorer.getContent = function() {
return '<ul>'
+ '<li><a href="/" class="page">Главная Siemens</a></li>'
+'<li class="collapsed">'
+'<a href="javascript:void(0);" class="collapsed" id="2168"></a><a href="/solutions_and_services/" class="none">Решения и услуги</a>'
+'<ul>'
+'<li class="collapsed">'
+'<a href="javascript:void(0);" class="collapsed" id="2176"></a><a href="/solutions_and_services/energy/" class="none">Энергетика</a>'
+'<ul>'
+'<li><a href="/solutions_and_services/energy/pg/" class="page">Производство энергии на ископаемом топливе</a></li>'
+'<li><a href="/solutions_and_services/energy/ptd/" class="page">Энергия из возобновляемых источников</a></li>'
+'<li><a href="/solutions_and_services/energy/sis/" class="page">Нефть и газ</a></li>'
+'<li><a href="/solutions_and_services/energy/2180/" class="page">Сервис энергетического оборудования</a></li>'
+'<li><a href="/solutions_and_services/energy/2181/" class="page">Передача энергии</a></li>'
+'</ul>'
+'</li>'
/* ещё сотни две строк */
+'<li><a href="/suppliers/" class="page">Поставщикам</a></li>'
+'</ul>';
}
</script>
<link href="/gallery/css/lightwindow.css" type="text/css" rel="stylesheet"></link>
http://w3.siemens.ru/jobs_careers/
+152
function run_service($ivf_service)
{
$ivf_result = null;
if ( file_exists('base/services/'.$ivf_service.'/config.php') )
{
$ivf_result.= include_once('base/services/'.$ivf_service.'/config.php');
}
if ( file_exists('base/services/'.$ivf_service.'/index.php') )
{
$ivf_result.= include_once('base/services/'.$ivf_service.'/index.php');
}
return $ivf_result;
}
Проблема в том что каждый раз "вручную" писать это ни к чему. А такой вид вызывает сомнения в рациональности и скорости обработки. Как можно это удобно реализовать без юзания классов и автоинклудинга?
−118
if (ABS((int)debt.amount) == (int)debt.amount) {
...
}
−117
-- Согласная ли буква (кроме 'Ц')
FUNCTION is_soglasn(letter IN CHAR
) RETURN BOOLEAN IS
BEGIN
IF letter IN ('Б', 'В', 'Г', 'Д', 'Ж', 'З', 'К', 'Л', 'М', 'Н',
'П', 'Р', 'С', 'Т', 'Ф', 'Х', 'Ч', 'Ш', 'Щ',
'б','в','г','д','ж','з','к','л','м','н',
'п','р','с','т','ф','х','ч','ш','щ')
THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END is_soglasn;
Прислали программист организации-подрядчика... :(
−118
my $res_id = $q->param('ordernumber')?$q->param('ordernumber'):$q->param('order_idp')?$q->param('order_idp'):undef
+125
#define DV_ERR_13 (DV_ERR_BASE + 15)
There, i fixed it!
Нашел в зловонных недрах Video for Windows. Если кому интересно, значение ни разу не 13, а 16.
+147
<?php
class Bot {
public $brouser = 'Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.14912/812; U; ru) Presto/2.4.15';
public $wait_ot = 1;
public $wait_do = 3;
public $log_url = "";
public $sir_e;
private $ch;
private $php_sesid;
private $domen = 'http://rugame.mobi/';
public function __construct($user_agent, $wait_ot, $wait_do, $log_url, $sir_e = 1) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIESESSION, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $this->brouser);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$this->ch = $ch;
if(($sir_e != 1) AND ($sir_e != 0)){
$this->sir_e = $sir_e;
}
if($user_agent != ""){
$this->brouser = $user_agent;
}
if(($wait_ot AND $wait_do) != 0){
$this->wait_ot = $wait_ot;
$this->wait_do = $wait_do;
}
if($log_url != ""){
$this->login($log_url);
}else{
die("Ошибка: в настройках не прописаны ссылка для логина \n");
}
}
private function __go($url){
if($this->php_sesid == 0){
$url = $this->domen.$url;
}
elseif(preg_match_all('#\?(.*)#ismU', $url, $matches) == 0){
$url = $this->domen.$url.'?PHPSESSID='.$this->php_sesid;
} else {
$url = $this->domen.$url.'&PHPSESSID='.$this->php_sesid;
}
sleep(rand($this->wait_ot, $this->wait_do));
curl_setopt($this->ch, CURLOPT_URL, $url);
echo '__go(\' '.$url.' \')<br />';
return curl_exec($this->ch);
}
public function login($log_url) {
do{
preg_match_all('#PHPSESSID=(.*)"#ismU', $this->__go($log_url), $matches);
}while($matches[1][0] == 0);
$this->php_sesid = $matches[1][0];
$this->__go('mgame/');
$this->__go('mx/');
}
public function find_and_execute(){
$actions = array(
///////////////////////////////////
/// Действия в разделе "рудники"///
///////////////////////////////////
'mx/?w_fd=', // Накормить шахтера
'mx/?t_md=', // Заправить технику
'mx/?s_rs=', // Добывать сырьё
'mx/?s_en=', // Взорвать породу
'mx/?s_ip=', // Разведать породу
'mx/?s_in=', // Забрать породу
);
$data = $this->__go('mx/?gt=1');
foreach($actions as $act){
$pattern = str_replace("?", "\?",'#'.$act.'(.*)&PHPSESSID#');
preg_match_all($pattern, $data, $matches);
if($matches[1] != 0){
foreach ($matches[1] as $id_rudnik){
if($act == 'mx/?s_rs='){
list($rudnik, $sir_e) = explode("_", $id_rudnik);
$this->__go($act.$rudnik."_".$this->sir_e);
}else{
$this->__go($act.$id_rudnik);
}
}
}
}
}
}
require ('/config/config.php');
$bot = new Bot($user_agent, $wait_ot, $wait_do, $log_url, $sir_e);
$bot->find_and_execute();
unset($bot);//освободим память (спец. для govnokod.ru)
exit("Я что смог сделал, пока");//пока пока
Моя первая попытка написать класс бота для он-лайн игрушки... Процедура find_and_execute() убивает самого на повал, так как в ней есть что-то запутанное после объявления массива . Но всё работает так как надо, так что я справился с задачей, и результат этому - ГОВНОКОД =D
+120
//запись в журнал расчетов
try
{
ompDataSet.OMP_History.AddOMP_HistoryRow(DateTime.Now, row["N"].ToString(), Convert.ToInt32(row["M"]), PS1I??0, PS1U??0, PS2I??0, PS2U??0, I1 / 1000, U1 / 1000, I2 / 1000, U2 / 1000, KZ, (Zone1.EditValue != null) ? Convert.ToDouble(Zone1.EditValue) : 0, (Zone2.EditValue != null) ? Convert.ToDouble(Zone2.EditValue) : 0, "", PS1_DeviceA.SelectedIndex, PS2_DeviceA.SelectedIndex, (Branch.Count > 0) ? true : false, "", "", "Время откл.: " + OffDT.DateTime.ToString("dd.MM.yyyy HH:mm") + "\n" + Lkz.ToolTip.Replace("\n", ";"));
omp_HistoryTableAdapter.Update(ompDataSet);
ompDataSet.OMP_History.AcceptChanges();
}
catch
{
XtraMessageBox.Show("Не удалось сохранить данные в журнал расчётов!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
try
{
ompDataSet.Result.Clear();
ompDataSet.Result.AddResultRow(((KeyValuePair<string, int>)NumberVL.EditValue).Key, ((KeyValuePair<string, int>)NumberVL.EditValue).Value, PS1I ?? 0, PS1U ?? 0, PS1I ?? 0, PS2U ?? 0, Convert.ToDouble(I0_A.EditValue), Convert.ToDouble(U0_A.EditValue), Convert.ToDouble(I0_B.EditValue), Convert.ToDouble(U0_B.EditValue), Convert.ToDouble(I0_A_Eval.EditValue), Convert.ToDouble(U0_A_Eval.EditValue), Convert.ToDouble(I0_B_Eval.EditValue), Convert.ToDouble(U0_B_Eval.EditValue), Convert.ToDouble(Lkz.EditValue), Convert.ToDouble(Zone1.EditValue), Convert.ToDouble(Zone2.EditValue), (PS1_DeviceA.SelectedIndex == 0) ? "ЛИФП" : "ИМФ", (PS2_DeviceA.SelectedIndex == 0) ? "ЛИФП" : "ИМФ", GetCurrentUserName(), DateTime.Now, Branch.Count, PS1.Text, PS2.Text, Convert.ToDouble(LengthVL.EditValue), UsingForEval[0], UsingForEval[1], UsingForEval[2], UsingForEval[3], OffDT.DateTime);
ompDataSet.Result.AcceptChanges();
}
catch
{}
ZOMG! Что это!?
+962
for (int i = 0; i < 4; i++)
{
if (!UseParam[i])
{
switch (i)
{
case 0:
if (AutoCalc || XtraMessageBox.Show("Неверные показания амперметра " + PS1_DeviceName_A.Text + " " + PS1.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
if (CorrectKm[i] == 0 || CorrectKm[i] == L)
I1 = (CorrectValue[i] ?? 0) * 1000;
else
I1 = GetCorrectElectricValue(CorrectKm[1] ?? 0, "I0_A", row["N"], row["M"]) * 1000;
I0_A.ErrorText = PS1_A.ErrorText = "Показание " + PS1_DeviceName_A.Text + " исключено из расчета";
}
break;
case 1:
if (AutoCalc || XtraMessageBox.Show("Неверные показания вольтметра" + PS1_DeviceName_B.Text + " " + PS1.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
if (CorrectKm[i] == 0 || CorrectKm[i] == L)
U1 = (CorrectValue[i] ?? 0) * 1000;
else
U1 = GetCorrectElectricValue(CorrectKm[0] ?? 0, "U0_A", row["N"], row["M"]) * 1000;
U0_A.ErrorText = PS1_B.ErrorText = "Показание " + PS1_DeviceName_B.Text + " исключено из расчета";
}
break;
case 2:
if (AutoCalc || XtraMessageBox.Show("Неверные показания амперметра" + PS2_DeviceName_A.Text + " " + PS2.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
if (CorrectKm[i] == 0 || CorrectKm[i] == L)
I2 = (CorrectValue[i] ?? 0) * 1000;
else
I2 = GetCorrectElectricValue(CorrectKm[3] ?? 0, "I0_B", row["N"], row["M"]) * 1000;
I0_B.ErrorText = PS2_A.ErrorText = "Показание " + PS2_DeviceName_A.Text + " исключено из расчета";
}
break;
case 3:
if (AutoCalc || XtraMessageBox.Show("Неверные показания вольтметра" + PS2_DeviceName_B.Text + " " + PS2.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{
if (CorrectKm[i] == 0 || CorrectKm[i] == L)
U2 = (CorrectValue[i] ?? 0) * 1000;
else
U2 = GetCorrectElectricValue(CorrectKm[2] ?? 0, "U0_B", row["N"], row["M"]) * 1000;
U0_B.ErrorText = PS2_B.ErrorText = "Показание " + PS2_DeviceName_B.Text + " исключено из расчета";
}
break;
}
}
}
Красота