1. PHP / Говнокод #6133

    +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
    function get_section(){
    		if(ifGet('section')){
    			if($this->get_file('./applications/app.'.$this->section.'.php')){
    				switch (Get('section')){
    					case ''.$this->section.'':
    						$m = new $this->section();
    					break;
    				}
    			} else {
    				
    				switch (Get('section'))
    				{
    					default:
    						include_once('./applications/sys.pages.php');
    						$m = new pages();
    					break;
    				}
    			}
    		}else{
    			switch (Get('section'))
    			{
    				default:
    					include_once('./applications/sys.home.php');
    					$m = new home();
    				break;
    			}
    		}
    		
    		if(isset($m) && is_object($m)) {
    			$this->output = $m->output;
    			$this->title = $m->title;
    			$this->crumbs = $m->crumbs;
    		}
    	}

    я сам в шоке как такое мог написать...

    Impossible, 30 Марта 2011

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

    +155

    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
    insert_image.php:
    <?php
    
    require_once('../config.inc.php');
    if ((!isset($_SESSION['user_type'])) || ($_SESSION['user_type'] != 0)) {
        header('Location: /');
        die;
    }
    require('admin_image.inc.php');
    
    
    settitle.php:
    <?php
    
    require_once('../config.inc.php');
    if ((!isset($_SESSION['user_type'])) || ($_SESSION['user_type'] != 0)) {
        header('Location: /');
        die;
    }
    $id = intval($_POST['image']);
    $title = $_POST['imgtitle'];
    mysql_query("UPDATE images SET title='$title' WHERE id=$id");
    require('admin_image.inc.php');
    
    upload_image.php:
    <?php
    
    require_once('../config.inc.php');
    if ((!isset($_SESSION['user_type'])) || ($_SESSION['user_type'] != 0)) {
        header('Location: /');
        die;
    }
    
    if ((isset($_POST['upload'])) && (isset($_FILES['newimage']))) {
        $title = (isset($_POST['title'])) ? $_POST['title'] : '';
        $file = $_FILES['newimage'];
        if ($file['error'] != 0) {
            $msg = 'An error occured during uploading file. (Error code:' . $file['error'] . ')';
        } else {
            $type = $file['type'];
            $tmp_name = $file['tmp_name'];
            //check if we are uploading image or not
            if (!(((preg_match('/\.gif/i', $file['name'])) || (preg_match('/\.jpg/i', $file['name'])) ||
                    (preg_match('/\.jpeg/i', $file['name'])) || (preg_match('/\.bmp/i', $file['name'])) ||
                    (preg_match('/\.png/i', $file['name'])))
                    && ((preg_match('/gif/i', $file['type'])) || (preg_match('/jpg/i', $file['type'])) ||
                    (preg_match('/jpeg/i', $file['type'])) || (preg_match('/bmp/i', $file['type'])) ||
                    (preg_match('/png/i', $file['type']))))) {
                $msg = 'You are trying to upload a non-image file.';
            } elseif (filesize($tmp_name) <= 0) {
                $msg = 'You are trying to upload file which size is 0 bytes.';
            } else {
                $img_data = fread(fopen($tmp_name, 'r'), filesize($tmp_name));
                if (mysql_query("INSERT INTO images (id, image, type, title)"
                                . " VALUES ('',"
                                . " '" . mysql_escape_string($img_data) . "',"
                                . " '" . mysql_escape_string($type) . "',"
                                . " '" . mysql_escape_string($title) . "')"))
                    $msg = 'Image uploaded.';
                else
                    $msg = 'An error occured during inserting image in DB.';
            }
        }
    }
    if (isset($msg))
        $MyPage->assign('msg', $msg);
    require('admin_image.inc.php');

    Какая экспрессия, какое необычное именование файлов... lower_case_with_underscores + просто текст
    А главное какое необычное представление о модульности: 2 файла по 10 строк, и один на 40, в каждом из которых прописана авторизация и которые инклюдят главный файл

    govno, 29 Марта 2011

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

    +166

    1. 1
    2. 2
    $expired = (time() > 1280241436) ? true : false;
    if ($expired) { return; }

    В начале кэш-файлов phpBB3.

    telnet, 29 Марта 2011

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

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //Взятые из разных файлов варианты обращений к файлу конфигураций характеризуют о гибкости подхода к разработке приложения
    require_once '../../../config.php';
    require_once("../config.php");
    require_once("../../../../config.php");
    require_once(dirname(dirname(__FILE__)) . '/config.php');
    require('../config.php');
    require_once(dirname(__FILE__) . '/../../config.php');
    require_once(dirname(dirname(dirname(dirname(__FILE__)))) . '/config.php'); //included from messagelib (how to fix?)

    Предлагаю обратить внимание на http://moodle.org/ -- это Система Управления Обучением.

    Продукт поражает своей архитектурой. Предлагаю взглянуть одним глазком.

    sectus, 28 Марта 2011

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

    +152

    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
    if ($UsingComponents){
    	// если используем компоненты 2.0 - очищаем буфер 
    	ob_end_clean();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
    } else {
    	// иначе выводим всё, что у нас накопилось
    	ob_end_flush();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
     }

    Не совсем говнокод, но комментарий на строке 8, имхо, забавный...

    wwwguru, 28 Марта 2011

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private $data = array(
    		'name' => '',
    		'organization' => '',
    		'mail' => '',
    		'phone' => '',
    		'comment' => '',
    		'model' => '',
    	);

    Так адекватные люди создают асоциативные массивы? Или по другому?

    greshnik, 27 Марта 2011

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

    +149

    1. 1
    $txt['aeva_gallery'] = isset($txt['aeva_gallery']) ? $txt['aeva_gallery'] : 'Media';

    Кусочек языкового файла модуля медиагалереи

    prodigy, 27 Марта 2011

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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // get info from db
    		$results = $this->datadb->dataForIndex();
    		$data_['mainResult'] = $results['mainResult'];
    		$data_['pics'] = $results['pics'];
    		$data_['com'] = $results['com'];
    		$data_['huuInvert'] = $results['huuInvert'];
    		$data_['dateInvert'] = $results['dateInvert'];
    		$data_['type'] = $results['type'];

    Кусок со своего CMS. Да я знаю что можно объединить массивы, но иногда не все требуется из функции.

    increazon, 26 Марта 2011

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

    +168

    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
    function UploadAvatar($FILE_tmp, $FILE_name){
    	/*куча тупого кода*/
    	if($width >= $height)
    	    $kf = (float) $width/$height;
    	if($width < $height)		    	  
    	   $kf = (float) $height/$width;
    		   
    	//Проверка на квадратность! ппц идиотизм, идея не моя.
    	if($kf>1.1){
    		$error = "Аватар неквадратен. Пожалуйста выберите квадратный или обрежьте текущий в графическом редакторе.";
    		return 0;
    	}
    	/*еще куча тупого кода*/
    }

    Вырезал кусок из собственного старого сайта. Комменты оставил уникальными.
    Когда дизайнер потребовал чтоб аватары были только квадратны, я наваял такое.
    Допуск в 1,1 - это поблажка юзерам)))

    Skull, 25 Марта 2011

    Комментарии (33)
  10. PHP / Говнокод #6093

    +151

    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
    <?php
    
    function test_menu() {
    //  $menu['test'] = array(
    //    'page callback' => 'test_page',
    //    'access callback' => TRUE,
    //  );
    
      $menu['test/%user_uid_optional'] = array(
        'page callback' => 'test_view',
        'page arguments' => array(1),
        'access callback' => 'test_access',
        'access arguments' => array(1),
      );
    
      $menu['test/%user/view'] = array(
        'title' => 'View',
        'type' => MENU_DEFAULT_LOCAL_TASK,
        'weight' => -10,
      );
    
      $menu['test/%user/edit'] = array(
        'title' => 'Edit',
        'page callback' => 'test_edit',
        'page arguments' => array(1),
        'access callback' => 'test_access',
        'access arguments' => array(1),
        'type' => MENU_LOCAL_TASK,
      );
    
      return $menu;
    }
    
    function test_page() {
      global $user;
      if ($user->uid) {
        menu_set_active_item("test/$user->uid");
        return menu_execute_active_handler();
      }
      else {
        drupal_goto('user/login');
      }
    }
    
    function test_view($account) {
      module_load_include('pages.inc', 'user');
      return user_view($account);
    }
    
    function test_edit($account) {
      module_load_include('pages.inc', 'user');
      return user_edit($account);
    }
    
    function test_access($account) {
      dpm($account);
      return TRUE;
    }

    vectoroc, 25 Марта 2011

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