- 1
- 2
// Мне опять кажется, или скобки у !empty лишние?
$id = (!empty($id)) ? $id : (int)$this->getState('message.id');
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+147
// Мне опять кажется, или скобки у !empty лишние?
$id = (!empty($id)) ? $id : (int)$this->getState('message.id');
http://ru2.php.net/manual/ru/language.operators.precedence.php
+156
/////////////////////////////////// функция обработки операционной системы + поисковые системы
function getOS($userAgent) {
// Создадим список операционных систем в виде элементов массива
$oses = array (
'iPhone' => '(iPhone)',
'Android' => '(android)',
'iPad' => '(iPad)',
'Blackberry OS' => '(rim)',
'Windows 3.11' => 'Win16',
'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
'Windows 98' => '(Windows 98)|(Win98)',
'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
'Windows 2003' => '(Windows NT 5.2)',
'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
'Windows 8' => '(Windows NT 6.2)|(Windows 8)',
'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
'Windows ME' => 'Windows ME',
'Open BSD'=>'OpenBSD',
'Sun OS'=>'SunOS',
'Linux'=>'(Linux)|(X11)',
'Safari' => '(Safari)',
'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
'QNX'=>'QNX',
'BeOS'=>'BeOS',
'OS/2'=>'OS/2',
'Google' => '(Googlebot)',
'Yahoo! | AOL' => '(Slurp) | (Yahoo! Slurp) | (Yammybot)',
'MSN | Live' => '(MSNBot)',
'Ask' => '(Teoma)',
'AltaVista' => '(Scooter)',
'Alexa' => '(ia_archiver)',
'Lycos' => '(Lycos)',
'Яндекс' => '(Yandex)',
'Рамблер' => '(StackRambler)',
'Мэйл.ру' => '(Mail.Ru)',
'Aport' => '(Aport)',
'Search Bot'=>'(nuhk)|(Openbot)|(Slurp/cat)'
);
foreach($oses as $os=>$pattern){
if(eregi($pattern, $userAgent)) { // Пройдемся по массиву $oses для поиска соответствующей операционной системы.
return $os;
}
}
return 'Unknown'; // Хрен его знает, чего у него на десктопе стоит.
}
$oc = getOS($_SERVER['HTTP_USER_AGENT']);
/////////////////////////////////// #64х64 ава
function avatar_path($id_user){
global $ava;
$ava=glob($_SERVER['DOCUMENT_ROOT'].'/files/ava/'.$id_user.'*');
if ($ava)return str_replace($_SERVER['DOCUMENT_ROOT'],'',$ava[0]);
else
return false;
}
///////////////////////////////////
function apicms_ava64($users) {
$ava = avatar_path($users);
if ($ava){
echo '<img src="'.$ava.'" alt="" width="64" height="64"/>';
}else{
#если ава не загружена то выводим эту
echo '<img src="/files/ava/0.png" width="64" height="64">';
}
}
///////////////////////////////////
function apicms_ava32($users) {
$ava = avatar_path($users);
if ($ava){
echo '<img src="'.$ava.'" alt="" width="32" height="32"/>';
}else{
#если ава не загружена то выводим эту
echo '<img src="/files/ava/0.png" width="32" height="32">';
}
}
///////////////////////////////////
function apicms_ava40($users) {
$ava = avatar_path($users);
if ($ava){
echo '<img src="'.$ava.'" alt="" width="40" height="40"/>';
}else{
#если ава не загружена то выводим эту
echo '<img src="/files/ava/0.png" width="40" height="40">';
}
}
///////////////////////////////////
#Вывод ошибок
function apicms_error($var){
if (!empty($var))echo '<div class="error"><a>'. $var .'</a></div>';
}
Из ядра новой "рывалюционной" cms от "известного на весь интернет" автора Евгения Медянкина Kyber. Адрес заповедника говнокода таков: http://apicms.ru
+151
if (!empty($_POST["favoriteColor"])) {
switch($_POST["favoriteColor"]) {
case "Lightred":
$strBackgroundColor = "#FFDAB9";
break;
case "Lightgreen":
$strBackgroundColor = "Lightgreen";
break;
case "Lightblue":
$strBackgroundColor = "Lightblue";
break;
case "Lightgray":
$strBackgroundColor = "Lightgray";
break;
default:
$strBackgroundColor = "Gray";
break;
}
} else {
$strBackgroundColor = "Gray";
}
+154
....
static public $ruFullMontsArr = array(
'01' => 'января',
'02' => 'февраля',
'03' => 'марта',
'04' => 'апреля',
'05' => 'мая',
'06' => 'июня',
'07' => 'июля',
'08' => 'августа',
'09' => 'сентября',
'10' => 'октября',
'11' => 'ноября',
'12' => 'декабря'
);
static public $ruShortMontsArr = array(
'01' => 'Янв',
'02' => 'Фев',
'03' => 'Мар',
'04' => 'Апр',
'05' => 'Май',
'06' => 'Июн',
'07' => 'Июл',
'08' => 'Авг',
'09' => 'Сен',
'10' => 'Окт',
'11' => 'Ноя',
'12' => 'Дек'
);
....
$add_ins = '<ins>' . date( 'd', $model->date ) . ' ' . self::$ruFullMontsArr[date( 'm', $model->date )] . '</ins>';
наверное уже не впервые подобное ... Получение название месяца ...
+163
$message .= $value . '
';
\r\n ? неее, не слышал ....
+158
function getLocaleByLang($lang) {
if(!isset($lang)) return false;
//function's code is here...
}
Ну думаю тут все понятно - зачем проверять существование переменной, которую невозможно не передать) Вот что значит - дедлайн рядом.
+154
foreach ($arResult['SECTIONS'] as $key => $arSection)
{
$arMap[$arSection['ID']] = $key; /*Собираем все ID секций, при этом в качестве ключа пишем ID, а в качестве значения - индекс цикла (?!)*/
}
$rsSections = CIBlockSection::GetList(array(), array('ID' => array_keys($arMap)), false, $arSelect);
/*вызываем API - выборку из базы, при этом фильтруем по ID-шникам, вынимая их значения через array_keys() (??!!!) при том, что мы сами записывали ID шники в ключи а не в значения*/
while ($arSection = $rsSections->GetNext())
{
if (!isset($arMap[$arSection['ID']]))
continue; /*Проверяем еще раз что этот ID-ключ есть в массиве ??? мы его оттуда взяли*/
$key = $arMap[$arSection['ID']]; /*Нахера ??? (см. строчку 03)*/
if ($boolPicture)
{
$arSection['PICTURE'] = intval($arSection['PICTURE']);
$arSection['PICTURE'] = (0 < $arSection['PICTURE'] ? CFile::GetFileArray($arSection['PICTURE']) : false);
$arResult['SECTIONS'][$key]['PICTURE'] = $arSection['PICTURE'];
$arResult['SECTIONS'][$key]['~PICTURE'] = $arSection['~PICTURE'];
}
if ($boolDescr)
{
$arResult['SECTIONS'][$key]['DESCRIPTION'] = $arSection['DESCRIPTION'];
$arResult['SECTIONS'][$key]['~DESCRIPTION'] = $arSection['~DESCRIPTION'];
$arResult['SECTIONS'][$key]['DESCRIPTION_TYPE'] = $arSection['DESCRIPTION_TYPE'];
$arResult['SECTIONS'][$key]['~DESCRIPTION_TYPE'] = $arSection['~DESCRIPTION_TYPE'];
}
}
Битриксоидам за строчки платят? Дефолтный шаблон компонента Битрикса, который вшит ядро.
+148
...
$me = 'return define("me", "?" . ($me = substr(basename(__FILE__), 1, -23)));';
...
<?php eval($me) or die ?>
...
>Файлы "view" центрального тела страниц, должны начинаться с подчеркивания, например view/_news.php и код файла должен начинаться с такой строки: <?php eval($me) or die ?>
Пациент:
http://coresky.net/
+153
if (!empty($_POST["favoriteColor"])) {
switch($_POST["favoriteColor"]) {
case "Lightred":
$strBackgroundColor = "#FFDAB9";
break;
case "Lightgreen":
$strBackgroundColor = "Lightgreen";
break;
case "Lightblue":
$strBackgroundColor = "Lightblue";
break;
case "Lightgray":
$strBackgroundColor = "Lightgray";
break;
default:
$strBackgroundColor = "Gray";
break;
}
} else {
$strBackgroundColor = "Gray";
}
+154
trait TPerson {
public $fname;
public $lname;
public $mname;
// ...
}
class BUser extends EMongoDocument {
public $first_name;
public $last_name;
public $middle_name;
// ...
}
class User extends BUser {
public $firstname;
public $lastname;
// ...
}
Попалось такое наследие на одном рабочем месте. Было два типа юзеров, каждый из них наследовал BUser, в одном из них были firstname и lastname, в другом не были. В монге документы юзера, у которого свои firstname и lastname были вида:
{
_id: ObjectId("..."),
...
first_name: '',
last_name: '',
middle_name: '',
fname: '',
lname: '',
mname: '',
firstname: '',
lastname: ''
}