- 1
- 2
- 3
- 4
- 5
- 6
parent = Folder.get_parent->do
while not [parent is null] : {
current = parent
parent = Folder.get_parent->do
break
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
parent = Folder.get_parent->do
while not [parent is null] : {
current = parent
parent = Folder.get_parent->do
break
}
так вот ищут корневую папку
+5
FUNCTION PHP_FIREWALL_get_env($st_var) {
global $HTTP_SERVER_VARS;
if(isset($_SERVER[$st_var])) {
return strip_tags( $_SERVER[$st_var] );
} elseif(isset($_ENV[$st_var])) {
return strip_tags( $_ENV[$st_var] );
} elseif(isset($HTTP_SERVER_VARS[$st_var])) {
return strip_tags( $HTTP_SERVER_VARS[$st_var] );
} elseif(getenv($st_var)) {
return strip_tags( getenv($st_var) );
} elseif(function_exists('apache_getenv') && apache_getenv($st_var, true)) {
return strip_tags( apache_getenv($st_var, true) );
}
return '';
}
Это шедевр!
+10
class infoshow
{
public function success($text)
{
return "<div class=\"alert alert-success\">" . $text . "</div>";
}
public function info($text)
{
return "<div class=\"alert alert-info\">" . $text . "</div>";
}
public function warning($text)
{
return "<div class=\"alert alert-warning\">" . $text . "</div>";
}
public function danger($text)
{
return "<div class=\"alert alert-danger\">" . $text . "</div>";
}
}
Учим ООП
+1
$sql = array();
foreach ($stats as $date => $array) {
$where="";
$where = array();
$where['date'] = $date;
foreach ($array as $sub => $array1) {
$where['sub'] = $nosqlmap->text($sub);
foreach ($array1 as $webmaster => $array2) {
$where['user']=$webmaster;
foreach ($array2 as $offer => $array3) {
$where['offer'] = $offer;
foreach ($array3 as $promo => $array4) {
$where['promo'] = $promo;
foreach ($array4 as $potoc => $array5) {
$where['potoc'] = $nosqlmap->o9($potoc);
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['orders'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['orders'] = 0;
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['aprove'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['aprove'] = 0;
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['noorder'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['noorder'] = 0;
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['money'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['money'] = 0;
$where['unics'] = $array5['unics'];
$where['hits'] = $array5['hits'];
$where['orders'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['orders'];
$where['aprove'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['aprove'];
$where['noorder'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['noorder'];
$where['money'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['money'];
$sql[] = $where;
}
}
}
}
}
}
+1
$error = 0;
list($date, $time) = explode(' ', $_POST['date_till']);
if (isset($date) && isset($time)) {
list($day, $month, $year) = explode('.', $date);
list($hour, $min) = explode(':', $time);
if (isset($day) && isset($month) && isset($year) && isset($hour) && isset($min)) {
$date_till = "$year-$month-$day $hour:$min:00";
$executed = Groups::setOutOfRangeGroups($date_till);
if (!$executed) {echo 'q';
$error = 1;
}
} else {echo 'w';
$error = 1;
}
} else {echo 'e';
$error = 1;
}
Нормальные герои всегда идут в обход!
0
public static function create($siteId)
{
$basket = new static();
$basket->setSiteId($siteId);
// if ($fuserId !== null)
// $basket->setFUserId($fuserId);
return $basket;
}
public static function loadItemsForFUser($fUserId, $siteId)
{
/** @var Basket $basket */
$basket = static::create($siteId);
$basket->setFUserId($fUserId);
$basket->setSiteId($siteId);
/********/
}
Новый говнокод в новой версии популярного framework'а среди бизнесменов
Вопрос, зачем надо было столько раз делать одно и тоже?
Угадай framework по говнокоду, и в качестве подарка, ты ничего не получишь =)
+3
class ResourcePack
{
MultipleLinearMaps<string, Texture, Mesh, Model3D, VideoBuffer, Shader, ShaderObj, Framebuffer,
Effect, PostEffect, Sampler, VertexLayout, StructureType, ParameterBlock,
ShaderTemplate, ShaderModuleTemplate, ShaderModule, ShaderModuleType,
ShaderGenerator, ShaderLibrary, ImageFunction> maps;
//...
};
Наконец-то я осилил variadic templates!
0
$rsm = mysql_query("select * from ussersmatrices where ID=$mid");
$arrm = mysql_fetch_array($rsm);
$forcedussersmatrix = $arrm[5];
$refbonus = $arrm[84];
$refbonuspaid = $arrm[83];
$payouttype = $arrm[6];
$btlevsbonus = $arrm[7];
$matchingbonus = $arrm[8];
$level1 = $arrm[9];
$level2 = $arrm[10];
$level3 = $arrm[11];
$level4 = $arrm[12];
$level5 = $arrm[13];
$level6 = $arrm[14];
$level7 = $arrm[15];
$level8 = $arrm[16];
$level9 = $arrm[17];
$level10 = $arrm[18];
$level1m = $arrm[19];
$level2m = $arrm[20];
$level3m = $arrm[21];
$level4m = $arrm[22];
$level5m = $arrm[23];
$level6m = $arrm[24];
$level7m = $arrm[25];
$level8m = $arrm[26];
$level9m = $arrm[27];
$level10m = $arrm[28];
$level1c = $arrm[29];
$level2c = $arrm[30];
$level3c = $arrm[31];
$level4c = $arrm[32];
$level5c = $arrm[33];
$level6c = $arrm[34];
$level7c = $arrm[35];
$level8c = $arrm[36];
$level9c = $arrm[37];
$level10c = $arrm[38];
$level1cm = $arrm[39];
$level2cm = $arrm[40];
$level3cm = $arrm[41];
$level4cm = $arrm[42];
$level5cm = $arrm[43];
$level6cm = $arrm[44];
$level7cm = $arrm[45];
$level8cm = $arrm[46];
$level9cm = $arrm[47];
$level10cm = $arrm[48];
$textcreditsentry = $arrm[49];
$bannercreditsentry = $arrm[50];
$textcreditscycle = $arrm[51];
$bannercreditscycle = $arrm[52];
$reentry = $arrm[53];
$reentrynum = $arrm[54];
$entry1 = $arrm[55];
$entry1num = $arrm[56];
$btlevsid1 = $arrm[57];
$entry2 = $arrm[58];
$entry2num = $arrm[59];
$btlevsid2 = $arrm[60];
$entry3 = $arrm[61];
$entry3num = $arrm[62];
$btlevsid3 = $arrm[63];
$entry4 = $arrm[64];
$entry4num = $arrm[65];
$btlevsid4 = $arrm[66];
$entry5 = $arrm[67];
$entry5num = $arrm[68];
$btlevsid5 = $arrm[69];
$welcomemail = $arrm[70];
$subject1 = stripslashes($arrm[71]);
$message1 = stripslashes($arrm[72]);
$eformat1 = $arrm[73];
$cyclemail = $arrm[74];
$subject2 = stripslashes($arrm[75]);
$message2 = stripslashes($arrm[76]);
$eformat2 = $arrm[77];
$cyclemailsponsor = $arrm[78];
$subject3 = stripslashes($arrm[79]);
$message3 = stripslashes($arrm[80]);
$eformat3 = $arrm[81];
$f1 = $forcedussersmatrix;
$f2 = $forcedussersmatrix * $forcedussersmatrix;
$f3 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
$f4 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
$f5 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
$f6 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
$f7 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
$f8 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
$f9 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
$f10 = $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix * $forcedussersmatrix;
if ($levels == 1) $fquery = "Level1<$forcedussersmatrix";
elseif ($levels == 2) $fquery = "Level2<$f2";
elseif ($levels == 3) $fquery = "Level3<$f3";
elseif ($levels == 4) $fquery = "Level4<$f4";
elseif ($levels == 5) $fquery = "Level5<$f5";
elseif ($levels == 6) $fquery = "Level6<$f6";
elseif ($levels == 7) $fquery = "Level7<$f7";
elseif ($levels == 8) $fquery = "Level8<$f8";
elseif ($levels == 9) $fquery = "Level9<$f9";
100 строк кода из 4008 файлика admin.php.
+5
$DB_Connect = new DB_Connect(); // Подключаем класс базы данных
$acces = 1; // 1 - Включено API, 0 - Отключено API
if($acces == 1) { // Проверяем чтобы API было включено
$DB_Connect->connect(); // Подключаемся к базе данных
mysql_set_charset( 'utf8' ); // Изменяем кодировку базы данных
if($_GET['api_id']) $gameid = sText($_GET['api_id']); // Получаем API_ID
else $gameid = sText($_POST['api_id']);
$game = mysql_fetch_array(mysql_query("SELECT id FROM `vii_apps` WHERE id='".$gameid."'")); // Запрашиваем ID с полученным API_ID
$row_sql = mysql_fetch_array(mysql_query("SELECT count(*) as cnt FROM `vii_api` WHERE `IP`='".$_SERVER["REMOTE_ADDR"]."' AND `data`>(".time()."-1)"));
// Запрашиваем количество запросов в секунду от этого человека
if($row_sql['cnt']<3) { // Проверяем частоту запросов от этого человека
if(!$game) json_error(2); // Проверяем существование этого приложения
else {
if($_GET['method']) $method = $_GET['method']; // Получаем METHOD
else $method = $_POST['method'];
if($_GET['sig']) $sig = sText($_GET['sig']); // Получаем SIG
else $sig = sText($_POST['sig']);
if($method=="users.get") { // Если это метод users.get
if($_GET['uids']) $uids = sText($_GET['uids']); // Получаем UIDS
else $uids = sText($_POST['uids']);
$uids_explode = explode(",", $uids);
if($_GET['fields']) $fields = sText($_GET['fields']); // Получаем FIELDS
else $fields = sText($_POST['fields']);
$fields_explode = explode(",", $fields);
$row = mysql_fetch_array(mysql_query("SELECT `user_id` FROM `vii_users` WHERE `IP`='".$_SERVER["REMOTE_ADDR"]."' ORDER by `user_lastdate` DESC LIMIT 1"));
// Получаем ID пользователя который делает запрос к API
$viewer_id = $row['user_id'];
$row_ = mysql_fetch_array(mysql_query("SELECT secret FROM `vii_apps_auth` WHERE user_id='".$viewer_id."' and app_id = '".$gameid."'"));
// Получаем личный SECRET пользователя который делает запрос к API
$secret = $row_['secret'];
$api = new fbapi($gameid, $secret, $viewer_id); // Подключаем класс проверки SIG
$sig_data = $api->api('users.get',array('uids'=>$uids,'fields'=>$fields)); // Формируем запрос на получение SIG
if($sig == $sig_data) { // Проверяем правильность SIG
mysql_query("INSERT INTO `vii_api` (method,ip,data) VALUES('".$method."','".$_SERVER["REMOTE_ADDR"]."','".time()."')");
// Записываем выполнение API метода
$vars = array(); // Формируем начало ответа
$vars['response'] = array(); // Формируем переменную RESPONSE
foreach($uids_explode as $uid) { // Перебираем все полученные UIDS
$row = mysql_fetch_array(mysql_query("SELECT user_id,user_name,user_lastname FROM `vii_users` WHERE user_id='".$uid."'"));
$rd = array('uid'=>$row['user_id'],'first_name'=>$row['user_name'],'last_name'=>$row['user_lastname']);
// Формируем массив для вставки его в ответ
if(count($fields_explode)!=0 and $fields_explode[0]!=null) { // Проверяем дополнительные поля
foreach($fields_explode as $field) { // Перебираем дополнительные поля
$rows = mysql_fetch_array(mysql_query("SELECT ".$field." FROM `vii_users` WHERE user_id='".$uid."'"));
if($field == "user_photo") {
if($rows[$fields]) $rd[$field] = "http://lineage18.ru/uploads/users/".$uid."/".$rows[$field];
else $rd[$field] = "http://lineage18.ru/templates/Default/images/100_no_ava.png";
} else $rd[$field] = $rows[$field]; // Добавляем в массив дополнительные поля
}
}
array_push($vars['response'],$rd); // Вставляем сформированный массив $rd в общий ответ
}
echo json_encode_cyr($vars); // Преобразуем нашу строку в JSON формат
} else json_error(3); // Ошибка не правильной SIG
} else if($method=="secure.withdrawVotes") { // Новый метод secure.withdrawVotes
Пишем API на PHP
0
static public function countHandled()
{
$criteria = new CDbCriteria;
$criteria->select .= ', SUM(`su`.`purchase_stage` = "in-progress") AS sum';
$criteria->having = '`sum` > 0';
$criteria->with = array(
'siteUser' => array(
'with' => array(
'interest'
),
'join' => 'LEFT JOIN `site_users` AS `su` ON '
.'IF(LENGTH(`siteUser`.`phone`) = 11, SUBSTR(`siteUser`.`phone`, 2, 10), `siteUser`.`phone`) = '
.'IF(LENGTH(`su`.`phone`) = 11, SUBSTR(`su`.`phone`, 2, 10), `su`.`phone`)'
)
);
$criteria->scopes = array(
'notDone'
);
$criteria->compare('siteUser.purchase_stage', SiteUsers::PURCHASE_STAGE_LOST);
$criteria->addNotInCondition('interest.reject_reason', array(
SiteUserInterest::REJECT_REASON_TEST,
SiteUserInterest::REJECT_REASON_SERVICE_TO
));
$criteria->addCondition('`su`.`date_modified` >= DATE_SUB(NOW(), INTERVAL 2 DAY)');
$criteria->group = '`t`.`site_users_return_id`';
return self::model()->count($criteria);
}
static public function countCopied()
{
$criteria = new CDbCriteria;
$criteria->select .= ', SUM(`su`.`purchase_stage` = "in-progress") AS sum';
$criteria->having = '`sum` > 0';
$criteria->with = array(
'siteUser' => array(
'with' => array(
'interest'
),
'join' => 'LEFT JOIN `site_users` AS `su` ON '
.'IF(LENGTH(`siteUser`.`phone`) = 11, SUBSTR(`siteUser`.`phone`, 2, 10), `siteUser`.`phone`) = '
.'IF(LENGTH(`su`.`phone`) = 11, SUBSTR(`su`.`phone`, 2, 10), `su`.`phone`)'
)
);
$criteria->scopes = array(
'notDone'
);
$criteria->compare('siteUser.purchase_stage', SiteUsers::PURCHASE_STAGE_LOST);
$criteria->addNotInCondition('interest.reject_reason', array(
SiteUserInterest::REJECT_REASON_TEST,
SiteUserInterest::REJECT_REASON_SERVICE_TO
));
$criteria->addCondition('`su`.`date_created` >= DATE_SUB(NOW(), INTERVAL 2 DAY)');
$criteria->group = '`t`.`site_users_return_id`';
return self::model()->count($criteria);
}
- Найди мне одно отличие:
Ответ автора:
"- можно конешно и параметром
- Насамом деле это два разных счета и для вычисления совпали критерии - я так это увидел
- Можно соптимизировать, не вопрос)"
У класса два статичных метода, в конечном итоге при условие что countHandled() ? countCopied() / countHandled() * 100 : 0
Ладно, опустим что сам подход не очень оптимальный, но тут явно говнокод, аля контрл-ц\в,
зы. Спешил походу, лентяй :)