- 1
define("OUTPUT_DIR_CSV", "kokoko/kukarek/files" . DIRECTORY_SEPARATOR);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+168
define("OUTPUT_DIR_CSV", "kokoko/kukarek/files" . DIRECTORY_SEPARATOR);
+161
public function set_debug($fparam) {
$this->set_debug_mode($fparam);
}
protected function set_debug_mode($fparam) {
$this->set_localization_debug_mode($fparam);
}
private function set_localization_debug_mode($fparam) {
$this->set_localization_debug_mode_log_service($fparam);
}
private function set_localization_debug_mode_log_service($fparam) {
$conf = //...тут уже что-то делает, наконец-то
}
Я понимаю, если бы они просто были алиасами... Но почему protected/private?
+160
if ($sub_sub_sub_sub_category_id !== null) {
if ($this->core->countUrl > 5) {
header('Location: /404/');
}
foreach ($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id] as $k1 => $v1) {
if ($k1 !== 0) {
foreach ($v1 as $k2 => $v2) {
if ($k2 !== 0) {
if ($this->core->translit($v2[0]) == $sub_sub_sub_category) {
$sub_sub_sub_sub_sub_category_id = $k1;
$sub_sub_sub_sub_sub_sub_category_id = $k2;
break;
}
}
}
}
}
$this->core->title($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_sub_category_id][0]);
$bread_crumbs[] = array(
'text' => $categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_sub_category_id][0],
'url' => $location['alias'] . '/' . $this->core->translit($categories[$category_id][0]) . '/' . $this->core->translit($categories[$category_id][$sub_category_id][$sub_sub_category_id][0]) . '/' . $this->core->translit($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][0]) . '/' . $this->core->translit($categories[$category_id][$sub_category_id][$sub_sub_category_id][$sub_sub_sub_category_id][$sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_category_id][$sub_sub_sub_sub_sub_sub_category_id][0])
);
$query_add = "
AND (`market_item`.`category_key` = '" . $category_id . "')
AND `market_item`.`param` REGEXP '(\"" . $sub_sub_sub_sub_category_id . "\")'
";
$vip_query_add = "
AND `market_item`.`category_key` = '" . $category_id . "'
";
}
+158
if ( !defined ('BX_SKIP_INSTALL_CHECK') && file_exists( $dir['root'] . 'install' ) ) {
$ret = <<<EOJ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>Dolphin Installed</title>
<link href="{$site['url']}install/general.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="bx-def-font">
<div class="adm-header">
<div class="adm-header-content">
<div class="adm-header-title bx-def-margin-sec-left">
<img class="adm-header-logo" src="{$site['url']}administration/templates/base/images/logo.png" />
<div class="adm-header-text bx-def-font-h1">Dolphin {$site['ver']}</div>
<div class="clear_both"> </div>
</div>
<div class="clear_both"> </div>
</div>
</div>
<div id="bx-install-main" class="bx-def-border bx-def-round-corners bx-def-margin-top">
<div id="bx-install-content" class="bx-def-padding">
<div class="bx-install-header-caption bx-def-font-h1 bx-def-margin-bottom">
Well done, mate! Dolphin is now installed.
</div>
<div class="bx-install-header-text bx-def-font-large bx-def-font-grayed">
Remove directory called <b>"install"</b> from your server and <a href="{$site['url']}administration/modules.php">proceed to Admin Panel to install modules</a>.
</div>
</div>
</div>
</body>
</html>
EOJ;
echo $ret;
exit();
}
Какой веселый вывод HTML (Dolphin 7)
+160
<?php
namespace MultipleHashMapQueueMessageRetrieverCriterias\Domain\MultipleHashMapQueueMessageRetrieverCriterias\Adapters\Exceptions;
use MultipleHashMapQueueMessageRetrieverCriterias\Domain\Exceptions\MultipleHashMapQueueMessageRetrieverCriteriaException;
final class CannotConvertMultipleHashMapQueueMessageRetrieverCriteriaToMultipleQueueMessageRetrieverCriteriaException extends MultipleHashMapQueueMessageRetrieverCriteriaException {
const CODE = 1;
public function __construct($message, MultipleHashMapQueueMessageRetrieverCriteriaException $parentException = null) {
parent::__construct($message, self::CODE, $parentException);
}
}
http://www.reddit.com/r/lolphp/comments/2vrgr6/irestfulmultiplehashmapqueuemessageretri evercriter/
https://github.com/irestful/MultipleHashMapQueueMessageRetrieverCrit erias/blob/master/MultipleHashMapQueueMessageRetrieverCrit erias/Domain/MultipleHashMapQueueMessageRetrieverCrit erias/Adapters/Exceptions/CannotConvertMultipleHashMapQueueMessage RetrieverCriteriaToMultipleQueueMessageR etrieverCriteriaException.php
Алсо, обратите внимание на структуру гитхабовских репозиториев
+158
function display_form($value){
switch($value){
case "page_title":
return "<input type='text' id='page_title' name='settings[page_title]' value='".$this->values[$value]."'/>";
break;
case "admin_email":
return "<input type='text' id='admin_email' name='settings[admin_email]' value='".$this->values[$value]."'/>";
break;
case "max_rental":
return "<input type='text' id='max_rental' name='settings[max_rental]' value='".$this->values[$value]."'/>";
break;
case "offset":
return "<input type='text' id='offset' name='settings[offset]' value='".$this->values[$value]."'/>";
break;
case "launch_limit":
return "<input type='text' id='offset' name='settings[launch_limit]' value='".$this->values[$value]."'/>";
break;
case "page_text":
return "<textarea id='page_text' class='ckeditor' name='settings[page_text]'>".$this->values[$value]."</textarea>";
break;
case "email_text":
return "<textarea id='page_text' class='ckeditor' name='settings[email_text]'>".$this->values[$value]."</textarea>";
break;
case "confirm_message":
return "<textarea id='page_text' class='ckeditor' name='settings[confirm_message]'>".$this->values[$value]."</textarea>";
break;
case "general_hours":
$hours = unserialize($this->values[$value]);
return "
<table id='hours'>
<tr><th></th>
<th>Sunday</th>
<th>Monday</th>
<th>Tuesday</th>
<th>Wednesday</th>
<th>Thursday</th>
<th>Friday</th>
<th>Saturday</th>
</tr>
<tr>
<th>Open</th>
<td>".$this->display_hour_options("Sunday","start",$hours['Sunday']['start'])."</td>
<td>".$this->display_hour_options("Monday","start",$hours['Monday']['start'])."</td>
<td>".$this->display_hour_options("Tuesday","start",$hours['Tuesday']['start'])."</td>
<td>".$this->display_hour_options("Wednesday","start",$hours['Wednesday']['start'])."</td>
<td>".$this->display_hour_options("Thursday","start",$hours['Thursday']['start'])."</td>
<td>".$this->display_hour_options("Friday","start",$hours['Friday']['start'])."</td>
<td>".$this->display_hour_options("Saturday","start",$hours['Sunday']['start'])."</td>
</tr>
<tr>
<th>Close</th>
<td>".$this->display_hour_options("Sunday","end",$hours['Sunday']['end'])."</td>
<td>".$this->display_hour_options("Monday","end",$hours['Monday']['end'])."</td>
<td>".$this->display_hour_options("Tuesday","end",$hours['Tuesday']['end'])."</td>
<td>".$this->display_hour_options("Wednesday","end",$hours['Wednesday']['end'])."</td>
<td>".$this->display_hour_options("Thursday","end",$hours['Thursday']['end'])."</td>
<td>".$this->display_hour_options("Friday","end",$hours['Friday']['end'])."</td>
<td>".$this->display_hour_options("Saturday","end",$hours['Saturday']['end'])."</td>
</tr>
</table>
";
break;
case "interests":
$interests = unserialize($this->values[$value]);
return "<strong>Display:</strong> <br /><input type='text' name='settings[interests][display]' value='".$interests['display']."'/><br />
<strong>Options: </strong><small>(Seperated by \"|\")</small> <br /><textarea id='page_title' name='settings[interests][choices]'>".implode("|",$interests['choices'])."</textarea>";
break;
case "occasions":
$occasions = unserialize($this->values[$value]);
return "<strong>Display:</strong> <br /><input type='text' name='settings[occasions][display]' value='".$occasions['display']."'/><br />
<strong>Options: </strong><small>(Seperated by \"|\")</small> <br /><textarea id='page_title' name='settings[occasions][choices]'>".implode("|",$occasions['choices'])."</textarea>";
break;
}
}
ActiveForm на все случаи жизни
+159
function build_period($crews){
global $start_time, $end_time, $memc;
cache_smens();
//Добавление смен и исключений
foreach ($crews as $k => $v){
$re1 = @$memc->get($v['ID']);
if (is_array($re1)){
foreach ($re1 as $v1){
$crews[$k]['sm'][] = $v1;
}
}
$re2 = get_exception($v);
foreach ($re2 as $v2){
$crews[$k]['sm'][] = $v2;
}
}
$flags = array();
foreach ($crews as $v){//Если есть смена
if (isset($v['sm'])){
$flags[$v['ID']] = array();
//Генерируем флаги
//Есть смена - false, иначе если эту минуту надо замерять - true
for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
if (!isset($flags[$v['ID']][$i])){
$flags[$v['ID']][$i] = true;
}
foreach ($v['sm'] as $v1){
if ($i >= $v1['begin'] && $i <= $v1['end']){
$flags[$v['ID']][$i] = false;
}
}
}
}
else{
//Если смены нет забъем массив труями.
for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
if (!isset($flags[$v['ID']][$i])){
$flags[$v['ID']][$i] = true;
}
}
}
}
$xor_per = array();
foreach ($flags as $k => $v){
$l1 = 0;
$l2 = 0;
foreach ($flags[$k] as $k1 => $v1){
/**
* На основе флагов генерируем ключи старта - конца замера.
*
* Если не установлен предыдущий флаг или предыдущий флаг - смена
* и текущий флаг - True, смены нет, ставим отметку начала периода
*/
if ((!isset($flags[$k][$k1 - 60]) || !$flags[$k][$k1 - 60]) && $v1){
$xor_per[$k][$l1]['begin'] = $k1;
$l1++;
}
/**
* Если следующий флаг false или неустановлен и текущий true
* ставим отметку конца смены.
*/
if ((!isset($flags[$k][$k1 + 60]) || !$flags[$k][$k1 + 60]) && $v1){
/**
* Если время в итерации равно времени конца суток
* укажем концом периода замера конец суток
* иначе нахерато добавим минуту
*/
$xor_per[$k][$l2]['end'] = $k1 == $end_time ? $end_time : $k1 + 60;
$l2++;
}
}
#need вкурить что я тут написал
if (isset($xor_per[$k])){
$crews[$k]['ps'] = $xor_per[$k];
}else{
//Если целые сутки смена
unset($crews[$k]);
}
unset($flags[$k]);
}
return $crews;
}
"Вот жопой чую, можно было сделать проще"
+158
//Получим все пробеги за все периоды
$ps_res = array();
foreach ($crews as $v)
{
foreach ($v['ps'] as $ps)
{
/**
* Отправим горку запросов в виалон на получение километража.
* Можноо, конечно сделать по людски и генерировать массив и
* получить это всё одним запросом, но мне лень,
* буду лучше как мудак грузить систему виалона.
*/
$g = $api->call('gps/get_c_report',
array('car_id' => $v['WI'],
'begin_time' => $ps['begin'],
'end_time' => $ps['end']));
$cnt = (float) str_replace(' km', '', $g[1]->reportResult->stats[0][1]);
if ($cnt > 2)
{
/**
* Если проехали больше 2 км, то упаковать данные на
* выставление пиздюлей
*/
$ps_res[$v['ID']][] = array('id' => $v['ID'], 'cnt' => $cnt, 'ps' => $ps);
}
}
if (!empty($ps_res))
{
/**
* Выполним операции на каждой итерации, ибо виалон - зло.
* отваливается при большом количестве запросов.
* Нет, я не настолько мудак в любом случае у них ограничение на кол-во
* операций варьирующееся от количества нагрузки на сервер.
*/
set_op($ps_res);
unset($ps_res[$v['ID']]);
}
}
Комменты доставили, да.
+157
$inp[] = implode("-", array_reverse(explode(".",$input['from-date']))).' '.$input['from-time'].'+0400';
От платины отличается магическим '+0400' (ISO-8601, лол).
+156
function form_xml_items( $sXML, $reserve, $exchange ){
foreach ($exchange as $in => $outs) {
$currency_in = taxonomy_term_load($in);
switch ($in) {
case 6:
$currency_in->name = 'CASHUAH';
break;
case 18:
$currency_in->name = 'CASHUSD';
break;
// ...
$currency_in->name = 'TBRUB';
break;
case 161:
$currency_in->name = 'OPB';
break;
}
foreach ($outs as $out => $param) {
$currency_out = taxonomy_term_load($out);
switch ($out) {
case 11:
$currency_out->name ='CASHUAH';
break;
case 19:
$currency_out->name ='CASHUSD';
break;
// ...
case 155:
$currency_out->name = 'CARDRUB';
$currency_out->second_name = 'WIRERUB';
break;
case 162:
$currency_out->name = 'OPB';
break;
}
$sXML .= "<item>\n";
$sXML .= "<from>" . $currency_in->name . "</from>\n";
$sXML .= "<to>" . $currency_out->name . "</to>\n";
$sXML .= "<in>1</in>\n";
$sXML .= "<out>" . $param["rate"] . "</out>\n";
$sXML .= "<amount>" . $param["reserve"] . "</amount>\n";
$sXML .= "</item>\n";
//wire and card in
if (isset( $currency_in->second_name)){
$sXML .= "<item>\n";
$sXML .= "<from>" . $currency_in->second_name . "</from>\n";
$sXML .= "<to>" . $currency_out->name . "</to>\n";
$sXML .= "<in>1</in>\n";
$sXML .= "<out>" . $param["rate"] . "</out>\n";
$sXML .= "<amount>" . $param["reserve"] . "</amount>\n";
$sXML .= "</item>\n";
}
//wire and card out
if (isset($currency_out->second_name)){
$sXML .= "<item>\n";
$sXML .= "<from>" . $currency_in->name . "</from>\n";
$sXML .= "<to>" . $currency_out->second_name . "</to>\n";
$sXML .= "<in>1</in>\n";
$sXML .= "<out>" . $param["rate"] . "</out>\n";
$sXML .= "<amount>" . $param["reserve"] . "</amount>\n";
$sXML .= "</item>\n";
}
}
}
return $sXML;
}
Если не взирать на магические числа, кажеться этот код должен занимать строк 20, а не 130