1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #4855

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $uploaddir = '../foto/'.$img_name_clean.'/';
    $uploadfile = $uploaddir . basename($_FILES[$key]['name']);
    $img_name = $_FILES[$key]['name'];
    
    if (file_exists("../foto/".$img_name_clean."/".$img_name."")){echo "Внимание! Ошибка, в папке ".$img_name_clean." уже существует файл ".$img_name."! Пожалуста, переименуте загружаемый файл."; exit;}
    if (move_uploaded_file($_FILES[$key]['tmp_name'], $uploadfile)) {
    chmod('../foto/'.$img_name_clean.'/' . $img_name, 0666);
    echo "Файл ".$_FILES[$key]['name']." загружен в папку ".$img_name_clean.".\n<br>";
    } else {
    echo "Файл ".$_FILES[$key]['name']." не загружен в папку ".$img_name_clean.".\n<br>";exit;
    }

    Эх, не удержался таки! Продолжение предыдущего.

    Uchkuma, 08 Декабря 2010

    Комментарии (13)
  3. PHP / Говнокод #4850

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    $sec_in_year = 31536000;
    $sec_in_lyear = 31622400;
    $sec_in_28 = 2419200;
    $sec_in_29 = 2505600;
    $sec_in_30 = 2592000;
    $sec_in_31 = 2678400;
    $sec_in_day = 86400;
    $sec_in_hour = 3600;
    $sec_in_min = 60;
    $year_count = 1970;
    $month_count = 0;
    $day_count = 1;
    $hour_count = 0;
    $min_count = 0;
    $lyear_count = 2;                                                // Make an array of seconds per month for ease of use.
    $months = array(2678400, 2419200, 2678400, 2592000, 2678400, 2592000, 2678400, 2678400, 2592000, 2678400, 2592000, 2678400);
    $lmonths = array(2678400, 2505600, 2678400, 2592000, 2678400, 2592000, 2678400, 2678400, 2592000, 2678400, 2592000, 2678400);
    $month_list = array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec');
    
    while($utime >= $sec_in_year) {                        // Count the year since 1970.
            if($lyear_count % 4 == 0) {
              $utime -= $sec_in_lyear;                // Compensate for leap years.
            }
            else {
              $utime -= $sec_in_year;
            }
            $year_count++;
            $lyear_count++;
    }
    while($utime >= $months[$month_count]) {        // Count the months since Jan.
            if($lyear_count % 4 == 0) {
                    $utime -= $lmonths[$month_count];        // Compensate for leap year Feb.
            }
            else {
                    $utime -= $months[$month_count];
            }
            $month_count++;
    }

    И еще куча строк кода.
    Конвертим никсовый временной штамп, в читаемый для человека формат... aka date()

    fork, 07 Декабря 2010

    Комментарии (25)
  4. JavaScript / Говнокод #4804

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $(document).ready(function () {
            $("#GridView1 INPUT[type='checkbox']").click(
            function () {
                var colIndex = $(this).parent().parent().prevAll().length;
                $('.' + $(this).parent().attr("class") + ' input[type="checkbox"]').each(function () {
                    if ($(this).parent().parent().prevAll().length == colIndex)
                        $(this).attr('checked', false);
                });
                $(this).attr('checked', true);
            });
        });

    взаимоисключающие чекбоксы в колонках таблицы

    zzy, 01 Декабря 2010

    Комментарии (7)
  5. PHP / Говнокод #4716

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    $extentions = array('1','2','3','6'); # определяем типы разрешенных файлов
    $Filedatasize = $_FILES['Filedata']['size']; 
    $width = 200; # Максимальная ширина миниатюры
    $height = 160;	# Максимальная высота миниатюры
    $file_type = exif_imagetype($_FILES['Filedata']['tmp_name']); # определяем тип файла
    if (in_array($file_type, $extentions) && ($maxfilesize >= $Filedatasize)){
    	switch ($file_type) {
    		case '2': $file_type = '.jpg'; break;
    		case '3': $file_type = '.png'; break;
    		case '1': $file_type = '.gif'; break;			
    		case '6': $file_type = '.bmp'; break;
    	}
    	if ($_POST['select_catalog'] > 0){
    		mysql_query("INSERT INTO `images` (`id_catalog`) VALUES ('".$_POST['select_catalog']."');") or die("MySQL Error: " . mysql_error());
    	} else {
    		 mysql_query("INSERT INTO `images` (`image_title`) VALUES (' ');") or die("MySQL Error: " . mysql_error());
    	}
    	$image_id = mysql_insert_id();
    	mysql_query("UPDATE `images` SET `image_name_d` = '".$image_id.$file_type."', `image_name_s` = '".$image_id."_m".$file_type."' WHERE `images`.`id_images` = ".$image_id.";") or die("MySQL Error: " . mysql_error());
    	$image_mini = $image_id.'_m'.$file_type;
    	$image_normal = $image_id.$file_type;
    	
    	$ext = $file_type; # Получаем формат уменьшаемого изображения
    	list($width_orig, $height_orig) = getimagesize($_FILES['Filedata']['tmp_name']); # получаем размеры изображения
    	
    	#высчитываем 
    	$ratio_orig = $width_orig/$height_orig;		
    	if ($width/$height > $ratio_orig) {
    		$width = $height*$ratio_orig;
    	} else {
    		$height = $width/$ratio_orig;
    	}
    	$image_p = imagecreatetruecolor($width, $height);
    	switch ($ext) {
    		case '.jpg': $source = imagecreatefromjpeg($_FILES['Filedata']['tmp_name']); break;
    		case '.gif': $source = imagecreatefromgif($_FILES['Filedata']['tmp_name']); break;
    		case '.png': $source = imagecreatefrompng($_FILES['Filedata']['tmp_name']); break;			
    		case '.bmp': $source = imagecreatefromwbmp($_FILES['Filedata']['tmp_name']); break;
    	}
    	imagecopyresampled($image_p, $source, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    	switch ($ext) {
    		case '.jpg': imagejpeg($image_p, 'gallery/'.$image_mini, 100); break;                
    		case '.gif': imagegif($image_p, 'gallery/'.$image_mini);  break;                
    		case '.png': imagepng($image_p, 'gallery/'.$image_mini); break;                
    		case '.bmp': imagewbmp($image_p, 'gallery/'.$image_mini); break;
    	}
    	
    	# освобождаем память
    	imagedestroy($image_p);
    	imagedestroy($source);	
    	if (($width_orig >= 1600) or ($height_orig >= 1200)) {
    		$width = 1600; # Максимальная ширина
    		$height = 1200;	# Максимальная высота
    		$ratio_orig = $width_orig/$height_orig;		
    		if ($width/$height > $ratio_orig) {
    			$width = $height*$ratio_orig;
    		} else {
    			$height = $width/$ratio_orig;
    		}
    		$image_p = imagecreatetruecolor($width, $height);
    		switch ($ext) {
    			case '.jpg': $source = imagecreatefromjpeg($_FILES['Filedata']['tmp_name']); break;
    			case '.gif': $source = imagecreatefromgif($_FILES['Filedata']['tmp_name']); break;
    			case '.png': $source = imagecreatefrompng($_FILES['Filedata']['tmp_name']); break;			
    			case '.bmp': $source = imagecreatefromwbmp($_FILES['Filedata']['tmp_name']); break;
    			}
    		imagecopyresampled($image_p, $source, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    			switch ($ext) {
    				case '.jpg': imagejpeg($image_p, 'gallery/'.$image_normal, 100); break;                
    				case '.gif': imagegif($image_p, 'gallery/'.$image_normal);  break;                
    				case '.png': imagepng($image_p, 'gallery/'.$image_normal); break;                
    				case '.bmp': imagewbmp($image_p, 'gallery/'.$image_normal); break;
    			}
    		
    		# освобождаем память
    		imagedestroy($image_p);
    		imagedestroy($source);
    			
    	} else {
    		move_uploaded_file($_FILES['Filedata']['tmp_name'], 'gallery/'.$image_normal);
    	}
    }	
    chmod('gallery/' . $image_normal, 0777);
    $return['src'] = 'gallery/' . $image_normal;

    ZekMan, 23 Ноября 2010

    Комментарии (22)
  6. PHP / Говнокод #4711

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ($_GET['sd']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sd];} else {$zagol=$title[spec];};
    if ($_GET['sv']=='show' && $_GET['sd']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sv];} else {$zagol=$title[spec];};
    if ($_GET['vks']=='show' && $_GET['sv']=='' && $_GET['sd']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[vks];} else {$zagol=$title[spec];};
    if ($_GET['m']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['sd']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[m];} else {$zagol=$title[spec];};
    if ($_GET['bio']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['sd']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[bio];} else {$zagol=$title[spec];};
    if ($_GET['ras']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['sd']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[ras];} else {$zagol=$title[spec];};
    if ($_GET['tm']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['sd']=='' && $_GET['ld']=='') {$zagol=$title[tm];} else {$zagol=$title[spec];};
    if ($_GET['ld']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['sd']=='') {$zagol=$title[ld];} else {$zagol=$title[spec];};

    Первые попытки писать на PHP...

    BOOMik, 22 Ноября 2010

    Комментарии (20)
  7. PHP / Говнокод #4617

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    <?php
    //Список категорий
    function get_cat_list () {
    $sql_cat_list = mysql_query("SELECT * FROM te_categories ORDER BY category_id");
    for ($cat_list=array(); $row=mysql_fetch_assoc($sql_cat_list); $cat_list[]=$row);
    $cat_list = array_reverse ($cat_list); //переворачиваем массив
    return $cat_list;
    }
     
    //Категории в норм виде (возвращает массив или печатает)
    function get_categories ($cat_list, $print="noprint") {
    foreach ($cat_list as $cat)
    	{
    	$categories [$cat['category_id']]['name'] = $cat['name'];
    	$categories [$cat['category_id']]['cat_count'] = $cat['cat_count'];
    	if ($print !== "noprint") echo '<li class="list"><a href="?page=article&category_id='.$cat['category_id'].'">'.$cat['name'].'</a> <small>('.$cat['cat_count'].')</small></li>';
    	}
    	if ($print == "noprint") return $categories;
    }
    /*
    Коментарий ниже:
    Зачем вначале мы получили список категорий $cat_list, 
    а затем зачем-то преобразовали в $categories в цикле foreach? 
    Просто для удобства и красоты мы из списка массивов 
    (записей или строк), полученных из БД, 
    сделали двумерный массив 
    с первичным ключом category_id 
    (ведь он у нас уникален). 
    Для наглядности распечатайте оба этих массива, 
    и сразу увидите разницу:
    */
    ?>

    Свеженькое Г
    Версия 0.02 CMS Tractor Engine
    (Кажись 2010 год)
    Будущее интернетов...

    istem, 13 Ноября 2010

    Комментарии (6)
  8. PHP / Говнокод #4610

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    $myPid = getmypid();
    $state = shell_exec("ps -o \"%p:%P:%c;\"");
    $psPid = false;
    $processes = array();
    $linesArr = explode(";", $state);
    foreach($linesArr as $line)
    {
        $pProp = explode(":", $line);
        $processes[trim($pProp[0])] = $pProp;
        if($pProp[1] == $myPid)
        {
            $psPid = $pProp[0];
        }
    }
    //checking pids of processes
    if($psPid !== false)
    {
        if(key_exists($psPid - 1,$processes) && preg_match("/micq/i",$processes[$psPid - 1][2]))
        {
            $sessionConfig->addPid($psPid - 1);
        }
        if(key_exists($psPid - 2,$processes) && preg_match("/tail/i",$processes[$psPid - 2][2]))
        {
            $sessionConfig->addPid($psPid - 2);
        }
    }

    Вот и этот код, про который я рассказывал в комментарии к #4609

    raorn, 13 Ноября 2010

    Комментарии (3)
  9. PHP / Говнокод #4497

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    // Функция отметки входящих сообщений как прочитанных
    	function CheckReadPM() {	
    		global $user, $site, $db;
    		$pm_ids = SafeDB($_POST['mod'], 11, int);
    		$where = '(`id` = '.$pm_ids[0];
    		$i = 1;
    		while($i < count($pm_ids)) {
    			$where .= ' or `id` = '.$pm_ids[$i];	
    			$i++;	
    		}
    		$where .= ") and `to` = ".$user->Get('u_id')." and `black` = 0";
    		$db->Update('private', "`read` = 1", $where);	
    	}

    Мартин, 31 Октября 2010

    Комментарии (19)
  10. JavaScript / Говнокод #4476

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    /* Fade-In Page script ©2008 John Davenport Scheuer
       As first seen in http://www.dynamicdrive.com/forums/
       username:jscheuer1 - This credit must remain for legal use.
       */
     
    fadeInPage.speed=15; //Set speed of transition for non-IE, lower numbers are faster, 20 is the minimum safe value
    fadeInPage.bg='#000'; //Set backgroud style (color or color and image) of transition division for non-IE, should match page background or the predominant color of the page
     
    ///////////////// Stop Editing /////////////////
     
    function fadeInPage(){
    var el=document.getElementById("fadeDiv");
    el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] == ''? 1 : el.style[fadeInPage.prprt];
    if (el.style[fadeInPage.prprt] > 0){
    el.style[fadeInPage.prprt] = el.style[fadeInPage.prprt] - 0.02;
    setTimeout("fadeInPage()", fadeInPage.speed);
    }
    else {
    el.style[fadeInPage.prprt] = 0;
    if(document.removeChild)
    el.parentNode.removeChild(el);
    }
    }
    if(document.documentElement&&document.documentElement.style){
    fadeInPage.d=document.documentElement, fadeInPage.t=function(o){return typeof fadeInPage.d.style[o]=='string'};
    fadeInPage.prprt=fadeInPage.t('opacity')? 'opacity' : fadeInPage.t('MozOpacity')? 'MozOpacity' : fadeInPage.t('KhtmlOpacity')? 'KhtmlOpacity' : null;
    }
    fadeInPage.set=function(){
    var prop=fadeInPage.prprt=='opacity'? 'opacity' : fadeInPage.prprt=='MozOpacity'? '-moz-opacity' : '-khtml-opacity';
    document.write('\n<style type="text/css">\n#fadeDiv {\nheight:'+window.innerHeight+'px;display:block;position:fixed;'+
    'z-index:10000;top:0;left:0;background:'+fadeInPage.bg+';width:100%;\n'+ prop +':1;\n}\n<\/style>\n');
    }
    if(window.addEventListener&&fadeInPage.prprt){
    fadeInPage.set();
    window.addEventListener('load', fadeInPage, false);
    }

    Зашел я на сайт родного биллинга. Не работает. Смотрю - остался слой от fade-in (нахрена он в биллинге).
    Открыл исходники сайта и увидел там ЭТО.
    Отступы авторские. Очень радует "document.write('\n<style" в цикле.

    m1el, 29 Октября 2010

    Комментарии (11)
  11. PHP / Говнокод #4463

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    if (empty($whatpage)) {  
             if (empty($catpage)) { $myFile='articles/main.dat';
             } else {
                      if (empty($subcatpage)) { $myFile="articles/$catpage/main.dat"; 
                      } else { $myFile="articles/$catpage/$subcatpage/main.dat";
                      }
             }
    } else { 
            if (empty($catpage)) { $myFile="articles/$whatpage.dat";
            } else {
                      if (empty($subcatpage)) { $myFile="articles/$catpage/$whatpage.dat"; 
                      } else { $myFile="articles/$catpage/$subcatpage/$whatpage.dat";
                      }
            }
    }
    $fh = @fopen($myFile, 'r'); 
    if (!$fh) { $myFile='articles/404.dat'; header('Status: 404'); header('HTTP/1.1 404 Not Found'); $fh = @fopen($myFile, 'r'); } 
    $data = fread($fh, filesize($myFile));

    кусок CMS с кучей бесполезной работы повторяющимся кодом и без знания об file_get_contents и file_exists

    porese, 27 Октября 2010

    Комментарии (11)