- 1
- 2
- 3
- 4
function getLocaleByLang($lang) {
if(!isset($lang)) return false;
//function's code is here...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+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: ''
}
+154
$massiv = array(1,2,3,4,5,6,7,8);
$her = 0;
$idRazdelov = array();
$idRoditela = $idrazdelf;
foreach($massiv as $chislo){
$db_list = CIBlockSection::GetList(Array(SORT=>"ASC"), $arFilter = Array("IBLOCK_ID"=>"7", "ID"=>$idRoditela), true);
while($ar_result = $db_list->GetNext()){
if ($her == 0){
if ($ar_result["IBLOCK_SECTION_ID"]){
$idRazdelov[].= $ar_result["ID"];
$idRoditela = $ar_result["IBLOCK_SECTION_ID"];
}else{
$idRazdelov[].= $ar_result["ID"];
$her = 1;
}
}
}
}
+153
class Application_Model_Product extends Leto_Model
{
...
public function getParts($cityId)
{
...
if (@$prods['Сезонный']) {
$html[] = "<h2>" . _T(__FILE__, 'Сезонные') . "</h2><p>";
...
}
$html[] = '</p>';
HTML в модели - это сильно
+152
/**
* Yesterday,
* All my troubles seemed so far away
* Now it looks as though they're here to stay
* Oh, I believe in yesterday
*/
$yesterday = date('Y-m-d', strtotime($_REQUEST['dateFrom']) - 86400);
+153
// Заполняем листы целиком одним махом. Что бы про PHP ни говорили, он весьма крут.
$curr_griddles = array_merge($curr_griddles, array_fill(0, $gqty, array('total_qty' => $piesPerList, $pieId => $piesPerList)));
...
// Выбираем наименее загруженного работника. А вот тут PHP демонстрирует корявость. Правда непонятно, мою или свою...
asort($workersLoad); reset($workersLoad); $kv = each($workersLoad); $workerId = $kv['key'];
+150
<?php
require_once("inc/mysql.php");
sleep(3); //Для ajax запроса, потом удалить
// Проверяем, что к нам идёт Ajax запрос
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$city1 = $_POST['city1'];
}else{
exit(); // Заканчиваем работу скрипта, если это не ajax запрос
}
if (isset($city1)) {
$query = "SELECT id_city, id_region, id_country FROM cities WHERE city_name_ru LIKE '$city1'";
$result = mysqli_query($link, $query);// or trigger_error(mysql_error($link)." ".$query);
$row = mysqli_fetch_array($result);
$country = $row['id_country'];
//echo $country;
//echo '<br>';
$region = $row['id_region'];
//echo $region;
//echo '<br>';
$query1 = "SELECT country_name_ru FROM countries WHERE id_country = '$country'";
$result1 = mysqli_query($link, $query1);// or trigger_error(mysql_error($link)." ".$query);
$row1 = mysqli_fetch_array($result1);
echo '<p class=\'country\'>Страна '.$row1['0'].'</p>';
//echo '<br>';
$query2 = "SELECT region_name_ru FROM regions WHERE id_region = '$region'";
$result2 = mysqli_query($link, $query2);// or trigger_error(mysql_error($link)." ".$query);
$row2 = mysqli_fetch_array($result2);
echo '<p class=\'reqion\'>Область '.$row2['0'].'</p>';
}
?>
Прокомментируйте, пожалуйста, как улучшить этот говнокод.