- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
<?php
class A {
function __get($prop) {
var_dump($prop);
$this->$prop = '123';
return null;
}
}
$a = new A;
$prop = '01.01.01';
$a->$prop;
var_dump($a);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+151
<?php
class A {
function __get($prop) {
var_dump($prop);
$this->$prop = '123';
return null;
}
}
$a = new A;
$prop = '01.01.01';
$a->$prop;
var_dump($a);
−153
sub get_user_xml {
# много не существенного кода
return $self->get_xml($self);
return 0;
}
Двойной
+145
function quit($msg, $output = true){
if($output) die($msg);
return false;
}
Не выдумка. Нашли в реальном проекте
+152
procedure TfmEditAddDet.ControlExit(Sender: TObject);
begin
if Sender Is TEdit then TRIM(TEdit(Sender).Text)
else if Sender Is TMemo then TRIM(TEdit(Sender).Text);
end;
Попытка вызова TRIM как процедуру.
−296.6
this._parent._parent.registerTip(this._parent._parent['area'+this._parent.txtTarget._name.charAt(3)], this.txt.text);
Где-то объявлена функция, которой в качестве одного из параметров надо передать ссылку на мувиклип, который валяется тоже непойми где, и имя которого неочевидным образом вычисляется из имени другого мувиклипа, до которого ещё тоже надо добраться...
+137.5
function get($id,$lang_id)
{
// начнем транзакцию
$bresult=ConnectionManager::begin();
if (!$bresult)
{
ConnectionManager::rollback();
return false;
}
$result=$this->db_main->getTPLRow(QUERY_ADMIN_CELLMETHOD_GET, array('id'=>$id,'lang_id'=>$lang_id));
if (!is_array($result))
{
ConnectionManager::rollback();
return false;
}
/*$operators=$this->db_main->getTPLData(QUERY_ADMIN_CELLMETHOD_OPETATORS_GET, array('id'=>$id));
if (!is_array($operators))
{
ConnectionManager::rollback();
return false;
}
$result['operator'] = $operators;*/
// закончим транзакцию
$cresult=ConnectionManager::commit();
if (!$cresult)
{
ConnectionManager::rollback();
return false;
}
if (count($result))
return $result;
else
return true;
}
Метод получает данные из таблицы. getTPLRow делает выборку из таблицы, обратите внимание, что при этом делается begin, commit и rollback
−140
Public Function fRoundSumma(pDbl As Double) As Double
On Error Resume Next
Dim vStrSum As String
If vFieldRoundSummuDoInt Then
vStrSum = str(pDbl)
If InStr(1, vStrSum, ".5") > 0 Then
If pDbl < 0 Then
fRoundSumma = Abs(Fix(pDbl)) + 1
fRoundSumma = fRoundSumma * (-1)
Else
fRoundSumma = Fix(pDbl) + 1
End If
Else
fRoundSumma = Round(pDbl, 0)
End If
Else
fRoundSumma = Round(pDbl, vFieldRoundDo)
End If
End Function
Такое забавное округление. Из коммерческого проекта :)
+83.5
ret = (func(a, b) == SpecNumber) ? true : false;
if (! ret)
{
ShowError ("Some message", a, b));
}
Обратить внимание на хитрость получения значения ret, а потом как его используют :)
+140
<table width="100%" border="0" cellspacing="0" cellpadding="1" id="gmtbl2" class="gmtbl">
<tbody>
<tr>
<td colspan="3" width="100%">
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="3" width="100%" height="20" id="gmtdttl" class="gmtdttl"><B><A href="http://www.gismeteo.RU/towns/27760.htm" id="tgmtdttl" class="gmtdttl" target="_blank">Саранск</A></B></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="40%" id="gmtdtext0" class="gmtdtext" align="left">Пн, ночь</td>
<td width="40%" id="tgmtdtext0" class="gmtdtext" align="center">0..-2 °C
<td width="20%" align="center"><IMG src="http://informer.gismeteo.ru/html/images/sm/1n.gif" width="26" height="26" alt="Малооблачно" title="Малооблачно"></td><tr><td width="40%" id="gmtdtext1" class="gmtdtext" align="left"> Пн, утро</td><td width="40%" id="tgmtdtext1" class="gmtdtext" align="center">+4..+6 °C<td width="20%" align="center"><IMG src="http://informer.gismeteo.ru/html/images/sm/2.gif" width="26" height="26" alt="Облачно" title="Облачно"></td><tr><td width="40%" id="gmtdtext2" class="gmtdtext" align="left"> Пн, день</td><td width="40%" id="tgmtdtext2" class="gmtdtext" align="center">+10..+12 °C<td width="20%" align="center"><IMG src="http://informer.gismeteo.ru/html/images/sm/3.gif" width="26" height="26" alt="Пасмурно" title="Пасмурно"></td><tr><td width="40%" id="gmtdtext3" class="gmtdtext" align="left"> Пн, вечер</td><td width="40%" id="tgmtdtext3" class="gmtdtext" align="center">+4..+6 °C<td width="20%" align="center"><IMG src="http://informer.gismeteo.ru/html/images/sm/3n.gif" width="26" height="26" alt="Пасмурно" title="Пасмурно"></td>
<tr>
<td colspan="3" align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="right" height="20"><IMG src="http://informer.gismeteo.ru/html/images/logo.gif" width="13" height="20" alt="/"></td>
<td align="left"><A href="http://www.gismeteo.RU" id="lgmtdtext" class="gmtdtext" target="_blank">GISMETEO.RU</A></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td heigth="5" colspan="3"></td>
</tr>
</tbody>
</table>
html информера, который возвращает js, генерируемый на сайте gismeteo.ru.
+145.6
function getCategories($id, $prefix, &$dl, $extra = '', $sc = '')
{
$dbextra = (!empty($extra)) ? " AND Id = '$extra'" : "";
// $query = $GLOBALS['db']->Query("SELECT * FROM " . PREFIX . "_modul_shop_kategorie WHERE Elter = '$id'$dbextra ORDER BY Rang ASC");
// if (!$query->numrows()) return;
//
// $num = $query->numrows();
if (isset($_SESSION['Shop']['Categories'][$id]) && $_SESSION['Shop']['Categories'][$id] === false) {
return;
}
if (isset($_SESSION['Shop']['Categories'][$id]) && $_SESSION['Shop']['Categories'][$id] != '') {
} else {
$sql = $GLOBALS['db']->Query("SELECT * FROM " . PREFIX . "_modul_shop_kategorie WHERE Elter = '$id' ORDER BY Rang ASC");
if (!$sql->numrows()) {
$_SESSION['Shop']['Categories'][$id] = false;
$sql->close();
return;
}
while ($row = $sql->FetchRow()) {
$_SESSION['Shop']['Categories'][$id][$row->Id] = $row;
}
$sql->close();
}
if (!empty($extra)) {
@$Items = $_SESSION['Shop']['Categories'][$id][$extra];
} else {
@$Items = $_SESSION['Shop']['Categories'][$id];
}
// if (!is_array($Items)) return;
// while ($item = $query->fetchrow()) {
foreach ($Items as $item) {
$item->ntr = "";
$item->visible_title = $prefix . '' . $item->KatName;
$item->sub = ($item->Elter == 0) ? 0 : 1;
$item->dyn_link = "index.php?module=shop&categ=$item->Id&parent=$item->Elter&navop=" . (($item->sub==0) ? $item->Id : getParentShopcateg($item->Elter));
$item->dyn_link = $this->shopRewrite($item->dyn_link);
if($item->Elter == 0) $item->ntr = 1;
$mdl = array();
////////////////////////////////////////Рекурсия////////////////////
$this->getCategories($item->Id, $prefix, $mdl, $extra, $sc);
$item->sub = $mdl;
array_push($dl, $item);
}
return $dl;
}
Часть модуля магазина в AVE CMS бывшей CP Engine
вся соль заключается в грусном использовании сессии не поназначению с целью уменьшить количество запросов к базе данныз