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

    +167

    1. 1
    error_reporting(FALSE);

    Я пофиксил баги в вашем проекте :)

    proweber1, 09 Марта 2015

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

    +158

    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
    <?PHP
    	
    	# Регистрация
    
    	if(isset($_POST["login"])){
    	
    	if(isset($_SESSION["captcha"]) AND strtolower($_SESSION["captcha"]) == strtolower($_POST["captcha"])){
    	unset($_SESSION["captcha"]);
    
    	$login = $func->IsLogin($_POST["login"]);
    	$pass = $func->IsPassword($_POST["pass"]);
    	$rules = isset($_POST["rules"]) ? true : false;
    	$time = time();
    	$ip = $func->UserIP;
    	$UserIP = $_SERVER['REMOTE_ADDR'];
    	
    	$email = $func->IsMail($_POST["email"]);
    	$referer_id = (isset($_COOKIE["i"]) AND intval($_COOKIE["i"]) > 0 AND intval($_COOKIE["i"]) < 1000000) ? intval($_COOKIE["i"]) : 1;
    	$referer_name = "";
    	if($referer_id != 1){
    		$db->Query("SELECT user FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
    		if($db->NumRows() > 0){$referer_name = $db->FetchRow();}
    		else{ $referer_id = 1; $referer_name = "wolframavtor"; }
    	}else{ $referer_id = 1; $referer_name = "wolframavtor"; }
    	
    		if($rules){
    
    			if($email !== false){
    		
    			if($login !== false){
    			
    				if($pass !== false){
    			
    					if($pass == $_POST["repass"]){
    						
    						$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
    						if($db->FetchRow() == 0){
    						
    						# Регаем пользователя
    						$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip) 
    						VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
    						
    						$lid = $db->LastInsert();
    						
    						$db->Query("INSERT INTO db_users_b (id, user, a_t, last_sbor) VALUES ('$lid','$login','1', '".time()."')");
    						
    						# Вставляем статистику
    						$db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
    						
    						echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />";
    						?></div>
    						<div class="clr"></div>	
    						<?PHP
    						return;
    						}else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
    						
    					}else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
    			
    				}else echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />";
    			
    			}else echo "<center><b><font color = 'red'>Логин заполнен неверно</font></b></center><BR />";
    
    		}else echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>";
    
    		}else echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />";
    	
    		}else echo "<center><font color = 'red'><b>Символы с картинки введены неверно</b></font></center>";
    
    	}
    	
    	
    ?>

    ШЕДЕВРАЛЬНО!

    proweber1, 09 Марта 2015

    Комментарии (11)
  3. C++ / Говнокод #17750

    +54

    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
    void Game::initialize()
    {
        if (SDL_Init(SDL_INIT_VIDEO))
            exit(1);
        
        window = new Window("Game", 640, 480);
        try
        {
            window->create();
        }
        catch (const Exception& exception)
        {
            std::cout << exception.getError() << '\n';
            delete window;
            exit(1);
        }
        
        canvas = new Canvas();
        try
        {
            canvas->initialize(window->getWindow());
        }
        catch (const Exception& exception)
        {
            std::cout << exception.getError() << '\n';
            delete canvas;
            exit(1);
        }
    }

    jangolare, 09 Марта 2015

    Комментарии (21)
  4. Java / Говнокод #17749

    +80

    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
    public Object convert(Object entity) {
            
            Object result = null;
            
            //TUser to UserDTO
            if(entity.getClass().isInstance(TUser.class)) {
                result = new UserDTO();
                ((UserDTO)result).setId(((TUser)entity).getId());
                ((UserDTO)result).setLogin(((TUser)entity).getLogin());
                ((UserDTO)result).setPassword(((TUser)entity).getPassword());
            } 
            
            //TState to StateDTO
            if(entity.getClass().isInstance(TState.class)) {
                result = new StateDTO();
                ((StateDTO)result).setId(((TState)entity).getId());
                ((StateDTO)result).setAlias(((TState)entity).getAlias());
                ((StateDTO)result).setCaption(((TState)entity).getCaption());
            } 
            
            //TSale to SaleDTO
            if(entity.getClass().isInstance(TSale.class)) {
                result = new SaleDTO();
                ((SaleDTO)result).setId(((TSale)entity).getId());
                ((SaleDTO)result).setBuyerInfo(((TSale)entity).getBuyerInfo());
                ((SaleDTO)result).setCreateDate(((TSale)entity).getCreateDate());
                ((SaleDTO)result).setNumber(((TSale)entity).getNumber());
                TState state = ((TSale)entity).getStateId();
                ((SaleDTO)result).setState((StateDTO)convert(state));
                TGoods goods = ((TSale)entity).getGoodsId();
                ((SaleDTO)result).setGoods((GoodsDTO)convert(goods));
            } 
            
            //TImage to ImageDTO
            if(entity.getClass().isInstance(TImage.class)) {
                result = new ImageDTO();
                ((ImageDTO)result).setId(((TImage)entity).getId());
                ((ImageDTO)result).setPath(((TImage)entity).getPath());
                TGoods goods = ((TImage)entity).getGoodsId();
                ((ImageDTO)result).setGoods((GoodsDTO)convert(goods));
            } 
            
            //TGoods to GoodsDTO
            if(entity.getClass().isInstance(TGoods.class)) {
                result = new GoodsDTO();
                ((GoodsDTO)result).setId(((TGoods)entity).getId());
                ((GoodsDTO)result).setName(((TGoods)entity).getName());
                ((GoodsDTO)result).setPrice(((TGoods)entity).getPrice());
                ((GoodsDTO)result).setDescription(((TGoods)entity).getDescription());
                TCategory category = ((TGoods)entity).getCategoryId();
                ((GoodsDTO)result).setCategory((CategoryDTO)convert(category));
            } 
            
            //TCategory to CategoryDTO
            if(entity.getClass().isInstance(TCategory.class)) {
                result = new CategoryDTO();
                ((CategoryDTO)result).setId(((TCategory)entity).getId());
                ((CategoryDTO)result).setDescription(((TCategory)entity).getDescription());
                ((CategoryDTO)result).setName(((TCategory)entity).getName());
            } 
            return result;
        }

    Выдавил из себя преобразование из Entity в DTO

    carapuz, 08 Марта 2015

    Комментарии (10)
  5. Си / Говнокод #17748

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    UInt64 unpackSizeSpec =
            p->UnpackPositions[p->FolderStartFileIndex[folderIndex + 1]] -
            p->UnpackPositions[p->FolderStartFileIndex[folderIndex]];
        size_t unpackSize = (size_t)unpackSizeSpec;
    
        if (unpackSize != unpackSizeSpec)
          return SZ_ERROR_MEM;

    Из недр lzma sdk.
    По заверениям разработчиков:
    > ... может использоваться любым современным 32-битным процессором (или, при определенных условиях 16-битным CPU).
    Очевидно что этот код вернет SZ_ERROR_MEM на 32-разрядной платформе, если unpackSizeSpec выходит за границы 32-битного числа.
    На самом то деле все логично - пользователь просто посылается на хуй, если его нищебродское устройство не тянет такого толстого архива, но тогда утверждение разработчиков о безпроблемном использовании на любой кофеварке становится пиздежью.

    Pythoner, 08 Марта 2015

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

    +128

    1. 1
    http://james-iry.blogspot.ru/2009/05/brief-incomplete-and-mostly-wrong.html

    просто оставлю здесь это.

    Vasiliy, 08 Марта 2015

    Комментарии (0)
  7. Haskell / Говнокод #17746

    −99

    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
    --Поиск минимальной выпуклой оболочки
    import Data.List; import Data.Ord
    --общие функции и типы
    data Point = P{x::Float,y::Float}
    	deriving (Show,Eq) 
    	
    getRotate a b c = baX * cbY - baY * cbX
    	where baX = x b - x a; baY = y b - y a;
    		  cbX = x c - x b; cbY = y c - y b;
    		 
    sortFunc a b c 
    	|k < 0  = LT
    	|k == 0 = compare (long a c) (long a b) 
    	|k > 0  = GT
    		where k = getRotate a b c
    
    long a b = (x b - x a)*(x b - x a) + (y b - y a)*(y b - y a)
    		
    getLeftPoint = minimumBy (comparing x)
    --Джарвис
    getMBOJarvis l = mboJ fp l fp
    	where fp = getLeftPoint l		
    		
    mboJ current list fp 
    	|getRotate current next fp > 0   = []
    	|True                            = current : mboJ next listWOC fp
    		where listWOC = filter ((/=)current) list;
    			  next    = minimumBy (sortFunc current) listWOC;
    --Грехем			
    getMBOGragam = tail.throwGraham.sortGraham 
    
    sortGraham list = fp:sortBy (sortFunc fp) list
    	where  fp = getLeftPoint list
    		   
    throwGraham (f:s:t) = mboG (s:f:[]) t
    		   
    mboG fs@(f:s:st) sn@(h:t)
    	|sortFunc s f h == GT = mboG (s:st) sn
    	|True                 = mboG(h:fs) t
    	
    mboG fs@(f:st) sn@(h:t)   = mboG(h:fs) t
    	
    mboG l [] = l
    --тесты		     
    testList1 = [P 0 (-1), P (-1) 0, P 0 1,P 1 0,P (-0.5) (-0.5),P 0.5 (-0.5),P (-0.5) 0.5,P 0.5 0.5,P 0 0]
    		  
    testList2 = [P 0 0, P 1 0, P 0 1,P 2 0,P 1 1,P 0 2,P 2 1,P 1 2,P 2 2]
    	
    	
    testJ1  = mapM_ print $ getMBOJarvis testList1		
    		
    testG1  = mapM_ print $ getMBOGragam testList1
    
    testJ2  = mapM_ print $ getMBOJarvis testList2		
    		
    testG2  = mapM_ print $ getMBOGragam testList2

    Haskell
    [сарказм]
    Как я могу идти против моды - не заливать этих французских лаб и не выпивать чаю?

    Выкладываю, что бы порадовать своего кота Барсика. Барсик, покойся с миром.

    А спонсор этого говна - компания "Потролль препода". "Потролль препода" - пиши лабы на хаскелле
    [/сарказм]

    kegdan, 07 Марта 2015

    Комментарии (60)
  8. Си / Говнокод #17745

    +138

    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
    typedef enum { SUCCESS = 0, NOTNUMBER = 1, BOUNDS = 2, EOFREACHED = 3 } rdstat_t;
    
    int flush_line(FILE *stream) {
      int ch;
      do {
        ch = fgetc(stream);
      } while (ch != EOF && ch != '\n');
      return ch;
    }
    
    /* enough to contain (1 + length of ASCII string of SIZE_MAX
       decimal representation) characters */
    #define SIZE_T_BUF_SIZE 100
    
    /* reads until newline or EOF, writes (size_t *out) if success */
    rdstat_t read_size_t(FILE *stream, size_t *out) {
      char str_SIZE_MAX[SIZE_T_BUF_SIZE];
      snprintf(str_SIZE_MAX, SIZE_T_BUF_SIZE, "%zu", SIZE_MAX);
     
      char buf[SIZE_T_BUF_SIZE];
      if (!fgets(buf, SIZE_T_BUF_SIZE, stream)) 
        return EOFREACHED;
      if (buf[strlen(buf) - 1] != '\n') {
        flush_line(stream);
        return NOTNUMBER;
      }
    
      buf[strlen(buf) - 1] = 0;
      char *ch;
      for (ch = buf; *ch; ++ch)
        if (!isdigit(*ch)) 
          return NOTNUMBER;
    
      if (strlen(buf) == strlen(str_SIZE_MAX) && strcmp(buf, str_SIZE_MAX) > 0) 
          return BOUNDS;
        
      sscanf(buf, "%zu", out);
      return SUCCESS;
    }

    Наваял функцию для чтения size_t из файла с защитой от дурака (писал код будучи больным, чесслово).
    Ничего умнее печати SIZE_MAX в строчку и лексикографического сравнения для проверки границ введенного числа не придумал %)

    vlitomsk, 06 Марта 2015

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function array_search_my($string,$array){
            foreach($array as $el){
                if($el==$string) return true;
            }
            return false;
        }

    in_array - не круто.

    fasterrr, 06 Марта 2015

    Комментарии (10)
  10. Куча / Говнокод #17743

    +144

    1. 1
    Zaebali v komenty govno pisat !

    vot tak!

    mikamika83, 06 Марта 2015

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