- 1
- 2
ProfileManager* man = Application::GetProfileManager();
_DESIRE(man); //гм. "Желать мужика". Ужос какой. Это не я написал, если чо. Это оно само
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+18.2
ProfileManager* man = Application::GetProfileManager();
_DESIRE(man); //гм. "Желать мужика". Ужос какой. Это не я написал, если чо. Это оно само
Вот в коде наткнулся, улыбнуло
+156
test
test
+144.5
int main() {
[some code here...]
while(1) {
[some code here...]
}
// At last, cleaning up... But for what, if this lines will never be used because of "while(1)"? Just I feel better with it :)
sybase_close(&db);
dropconfig(&cfg);
return 0;
}
На самом деле тут ничего говнитого то, IMHO, нет.
Но люди кидают сюда подобные куски кода, вот я решил тоже поделиться.
Суть в том, что после while(1) идёт зачистка... которая, кстати, нужна при прогонке valgrind-ом (можно добавить break в цикл).
+156
$htmlhead='<html><head><meta>..............</head><body>';
$htmlend='</body></html>';
$table['start']='<table style=...><tr><td>'
$table['center']='</td><td>';
$table['end']='</td></tr></table>';
$menu='<a href=.......>main</a>aaa'
[..........]
function serror($error) {
global $htmlhead;
global $table;
global $menu;
global $htmlend;
global $lang;
echo $htmlhead.$table['start'].$menu ......
}
Так грамотно вначале, и тут вдруг...
+158
<?php
...
$date1['year'] = ($_POST['year1']>=2006 && $_POST['year1']<=2037) ? $_POST['year1'] : (($_GET['year1']>=2006 && $_GET['year1']<=2037) ? $_GET['year1'] : date('Y'));
$date1['month'] = ($_POST['month1']>=1 && $_POST['month1']<=12) ? $_POST['month1'] : (($_GET['month1']>=1 && $_GET['month1']<=12) ? $_GET['month1'] : date('n'));
$date1['day'] = $type>2 ? 1 : (($_POST['day1']>=1 && $_POST['day1']<=31) ? $_POST['day1'] : (($_GET['day1']>=1 && $_GET['day1']<=31) ? $_GET['day1'] : date('j')));
$date1['hour'] = $type>1 ? 0 : ((isset($_POST['hour1']) && $_POST['hour1']>=0 && $_POST['hour1']<=23) ? $_POST['hour1'] : ((isset($_GET['hour1']) && $_GET['hour1']>=0 && $_GET['hour1']<=23) ? $_GET['hour1'] : 0));
$date1['min'] = $type ? 0 : ((isset($_POST['min1']) && $_POST['min1']>=0 && $_POST['min1']<=59) ? $_POST['min1'] : ((isset($_GET['min1']) && $_GET['min1']>=0 && $_GET['min1']<=59) ? $_GET['min1'] : 0));
$date2['year'] = ($_POST['year2']>=2006 && $_POST['year2']<=2037) ? $_POST['year2'] : (($_GET['year2']>=2006 && $_GET['year2']<=2037) ? $_GET['year2'] : date('Y'));
$date2['month'] = ($_POST['month2']>=1 && $_POST['month2']<=12) ? $_POST['month2'] : (($_GET['month2']>=1 && $_GET['month2']<=12) ? $_GET['month2'] : date('n'));
$date2['day'] = $type>2 ? cal_days_in_month(CAL_GREGORIAN, $date2['month'], $date2['year']) : (($_POST['day2']>=1 && $_POST['day2']<=31) ? $_POST['day2'] : (($_GET['day2']>=1 && $_GET['day2']<=31) ? $_GET['day2'] : date('j')));
$date2['hour'] = $type>1 ? 23 : ((isset($_POST['hour2']) && $_POST['hour2']>=0 && $_POST['hour2']<=23) ? $_POST['hour2'] : ((isset($_GET['hour2']) && $_GET['hour2']>=0 && $_GET['hour2']<=23) ? $_GET['hour2'] : 23));
$date2['min'] = $type ? 59 : ((isset($_POST['min2']) && $_POST['min2']>=0 && $_POST['min2']<=59) ? $_POST['min2'] : ((isset($_GET['min2']) && $_GET['min2']>=0 && $_GET['min2']<=59) ? $_GET['min2'] : 59));
$date1['day'] = cal_days_in_month(CAL_GREGORIAN, $date1['month'], $date1['year'])<$date1['day'] ? cal_days_in_month(CAL_GREGORIAN, $date1['month'], $date1['year']) : $date1['day'];
$date2['day'] = cal_days_in_month(CAL_GREGORIAN, $date2['month'], $date2['year'])<$date2['day'] ? cal_days_in_month(CAL_GREGORIAN, $date2['month'], $date2['year']) : $date2['day'];
$time_from = mktime($date1['hour'], $date1['min'], 1, $date1['month'], $date1['day'], $date1['year']);
$time_to = mktime($date2['hour'], $date2['min'], 59, $date2['month'], $date2['day'], $date2['year']);
$types = array(0,1,2,3);
switch ($type) {
case 0:
$sql_cols = "minute(from_unixtime(data.log_time)) as \"i\", hour(from_unixtime(data.log_time)) as \"G\", day(from_unixtime(data.log_time)) as \"j\", month(from_unixtime(data.log_time)) as \"n\", year(from_unixtime(data.log_time)) as \"Y\"";
$sql_group_by = 'group by "i", "G", "j", "n", "Y"';
break;
case 1:
$sql_cols = "'0' as \"i\", hour(from_unixtime(data.log_time)) as \"G\", day(from_unixtime(data.log_time)) as \"j\", month(from_unixtime(data.log_time)) as \"n\", year(from_unixtime(data.log_time)) as \"Y\"";
$sql_group_by = 'group by "G", "j", "n", "Y"';
break;
case 2:
$sql_cols = "'0' as \"i\", '0' as \"G\", day(from_unixtime(data.log_time)) as \"j\", month(from_unixtime(data.log_time)) as \"n\", year(from_unixtime(data.log_time)) as \"Y\"";
$sql_group_by = 'group by "j", "n", "Y"';
break;
case 3:
$sql_cols = "'0' as \"i\", '0' as \"G\", '0' as \"j\", month(from_unixtime(data.log_time)) as \"n\", year(from_unixtime(data.log_time)) as \"Y\"";
$sql_group_by = 'group by "n", "Y"';
break;
default:
$sql_cols = "'0' as \"i\", '0' as \"G\", '0' as \"j\", '0' as \"n\", year(from_unixtime(data.log_time)) as \"Y\"";
$sql_group_by = 'group by "Y"';
$type = 2;
}
...
Писал "биллинг" попутно изучая пхп) скрипт вывода статистики
+91.8
...
if DM.LastCOID <> -1 then
begin
if Pos(IntToStr(DM.LastCOID), Label1.Caption) <= 0 then
begin
Label1.Caption := 'Телефон: ' + '(' + IntToStr(DM.LastCOID) + ')';
DataSet['CHANNELOUTERID'] := IntToStr(DM.LastCOID);
end;
end;
...
LastCOID - номер внешней линии, который отображается в лейбле Label1 и заносится в поле базы. Как и чем думал автор вставляя второе условие? Самое главное, для чего? В итоге, софтина иногда пропускала сохранение LastCOID в БД, тем самым портя статистику и настроение клиента.
+157
function ru_title() {
global $locale, $lang, $settings;
define("DIVIDER", $locale['title-00']);
$title = "";
if (stristr($_SERVER['REQUEST_URI'],"news")){
$title = $locale['title-16'];
if (isset($_GET['readmore'])){
$result = dbquery("SELECT * FROM ".DB_PREFIX."news WHERE news_id='".$_GET['readmore']."'");
if (dbrows($result) != 0) {
$data = dbarray($result);
$title = $data["news_subject"].DIVIDER.$title;
}
}
}
elseif (stristr($_SERVER['REQUEST_URI'],"contact")){
$title = $locale['title-01'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"edit_profile")){
$title = $locale['title-02'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"lostpassword")){
$title = $locale['title-03'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"messages")){
$title = $locale['title-04'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"photogallery")){
$title = $locale['title-05'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"profile")){
$title = $locale['title-06'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"register")){
$title = $locale['title-07'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"search")){
$title = $locale['title-08'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"submit")){
$title = $locale['title-09'];
}
elseif (stristr($_SERVER['REQUEST_URI'],"downloads")){
if ($_SERVER['PHP_SELF'] !== "/infusions/mod_downloads/downloads.php"){ // Sky edition
$title = $lang['downloads_000'];
if (isset($_GET['cat_id'])){
$result = dbquery("SELECT * FROM ".DB_PREFIX."download_cats WHERE download_cat_id='".$_GET['cat_id']."'");
if (dbrows($result) != 0) {
$data = dbarray($result);
$title = $data["download_cat_name"].DIVIDER.$title;
}
}
}
}
return $title.(($title == "") ? ("") : (DIVIDER));
}
Споcоб реализации динамических заголовков для одной популярной CMS
+131.3
function key_check($key) {
if ($key == '') { return ''; }
$key = preg_replace("/[^\w\xB2-\xB4\xBF-\xFF\xA5\xA8\xAA\xAF\xB8\xBA\s]/", "", $key );
if ($key =='_SERVER' OR $key =='_SESSION' OR $key =='_FILES' OR $key =='_REQUEST' OR $key =='GLOBALS') die("<h3>Error variable ".basename(__FILE__)." ".__LINE__."</h3>");
else return $key;
}
function str_check($str_val) {
if ($str_val == '') { return ''; }
if(preg_match("/<[^>]*script*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*object*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*applet*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*form*\"?[^>]*>/i" , $str_val)
or preg_match("/&#\d+;{0,1}/i" , $str_val) ){
die("<h3>ERROR ".basename(__FILE__)." ".__LINE__."</h3>");
}
$str_val = str_replace( "&" , '&' , $str_val );
$str_val = str_replace( "<!--" , '<!--' , $str_val );
$str_val = str_replace( "-->" , '-->' , $str_val );
$str_val = str_replace( ">" , '>' , $str_val );
$str_val = str_replace( "<" , '<' , $str_val );
$str_val = str_replace( "\"" , '"' , $str_val );
$str_val = str_replace( "\r" , null , $str_val );
$str_val = str_notsqlatacs($str_val);
if (!get_magic_quotes_gpc()){$str_val=addslashes($str_val);}
return $str_val;
}
function str_notsqlatacs($str_val) {
$searcharray =array('/drop/i','/delete/i','/union/i','/char/i','/benchmark/i','/expression/i','/alert/i','/replace/i','/write/i','/document/i','/window/i','/script/i','/user_pass/i','/unescape/i','/eval/i','/form/i','/applet/i','/object/i','/user_login/i','/setTimeout/i','/onerror/i');
$replacearray=array('drop','delete','union','char','benchmark','Expression','Alert','Replace','Write','Document','Window','Script','User_pass','Unescape','Eval','Form','Applet','Object','User_login','/SetTimeout/i','/Onerror/i');//
$str_val=preg_replace($searcharray, $replacearray, $str_val);
return $str_val;
}
Фрагмент файла ./php/wojs.php "портального движка" WebCodePortalSystem версии 5.2. И вот так вся CMSка - два с половиной мегабайта говна.
+148
catch (Exception) { } // Nothing too bad hapens if we don't show next hint.
Обработка исключений, на демке точно не скорится)
+149
/**
* Я, функция, которая поможет узнать дату текущего дня
* @return Я вам верну дату текущего дня
*/
public String iGetDate() {
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(date);
}
Каменты излишни