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

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

    +156

    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
    <?php
        class view {
            protected $dir; //templates directory
            protected $lang; //language
            protected $authorized;
            protected $user;
    
            protected function getCache($template) {
                //return false; //uncomment for developing
                if (!isset($_SESSION['cache_' . $template])) return false;
                return $_SESSION['cache_' . $template];
            }
    
            protected function addCache($template, $content) {
                $_SESSION['cache_' . $template] = $content;
            }
    
            public function __construct($dir, localization $lang, user $user) {
                $this->dir = $dir; 
                $this->authorized = (bool) $user->authorized;
                $this->user = $user;
                $this->lang = $lang;
            }
    
            public function invoke($template, $params = [], $return = false, $quests = []) { //can be called w/o params
                $filename = ROOT . '/' . $this->dir . '/tpl/' . $template . '.tpl';
                $lang = $this->lang->getData();
                $content = $this->getCache($template);
                if (!$content) {
                    $f = fopen($filename, 'a+');
                    $content = fread($f, (filesize($filename) > 0 ? filesize($filename) : 1));
                    $this->addCache($template, $content);
                }
                foreach ($params as $key => $value) {
                    $content = str_ireplace('{{' . $key . '}}', $value, $content);
                } 
                preg_match_all("@{{:([a-z0-9_]+?)}}@sui", $content, $localization);
                $localization = $localization[1];
                foreach ($localization as $value) {
                    $content = str_ireplace('{{:' . $value . '}}', $lang[$value], $content);
                } //applying lang
    
                foreach ($quests as $key => $value) {
                    preg_match_all("@{\?$key=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
                    while (!empty($matches[0])) {
                        $content = str_replace($matches[0][0], $matches[1][0], $content);
                        preg_match_all("@{\?$key=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
                    }
                    preg_match_all("@{\?$key=((?!$value).+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
                    while (!empty($matches[0])) {
                        $content = str_replace($matches[0][0], "", $content);
                        preg_match_all("@{\?$key=((?!$value).+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
                    }
                }
    
                preg_match_all("@{\?access=([a-z0-9]+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $perms);
                while (!empty($perms[0])) {
                    foreach ($perms[1] as $value) {
                        if ($this->user->canAccess($value))
                            $content = preg_replace("@{\?access=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", "$1", $content);
                        else $content = preg_replace("@{\?access=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", "", $content);
                    }
                    preg_match_all("@{\?access=([a-z0-9]+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $perms);
                }
    
                $content = preg_replace("@{\?authorized=((?!" . (int) $this->authorized . ").+?)\?}(.+?){\?\?}@sui", "", $content);
                $content = preg_replace("@{\?authorized=" . (int) $this->authorized . "\?}(.+?){\?\?}@sui", "$1", $content);
                $content = preg_replace("@{\?(.+?)\?}(.+?){\?\?}@sui", "", $content);
    
                $content = str_ireplace('{{DIR}}', '/' . $this->dir, $content); //replacing DIR param
                $content = str_ireplace('{{URI}}', urlencode(other::filter($_SERVER['REQUEST_URI'])), $content); //replacing URI param
                $content = str_ireplace('{{HTTP_HOST}}', $_SERVER['HTTP_HOST'], $content); //replacing HTTP_HOST param
                $content = preg_replace("@{\?((.+?)|(.+?){0})\?}@sui", "", $content);
                if (!$return) echo $content;
                return $content;
            }
        }
    ?>

    Мой шаблонизатор. Детям и беременным женщинам не смотреть.

    Efog, 03 Ноября 2014

    Комментарии (113)
  3. Pascal / Говнокод #13763

    +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
    Главная » Усыпление программы
    Усыпление программы
    Автор: -Гепард97-
    Написать автору
    [просмотров 751]
    
    В VBS есть функция wscript.sleep, позволяющая усыпить скрипт. Но как такое сделать в VB? Ответ прост: делаем новый модуль и пишем код:
    
    Public Declare Sub Sleep Lib "kernel32" (byval dwMilliseconds As Long)
    
    И все. Когда прогу нужно усыпить, просто пишем в коде проги, если например прога должна остановиться на 2 секунды то пишем
    
    Sleep 2000
    
    Этого способа нет на MSDN, я его сам отрыл

    Билл Гатэс прочел это и уснул...
    Z-z-z-z...

    Stertor, 10 Сентября 2013

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

    +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
    foreach($Articles as $art){
    			$id = $art['id'];
    			$count++;	
    			if(isset($_GET['str'])){
    				$str = (int)$_GET['str']; 
    				$mn = $number*($str-1)+1;
    				}else{
    					$str = 1;
    					$_GET['str'] = 1;
    				}	
    			if($count == $mn){
    				$flag = true;
    				$k=5;
    			}		
    			if($flag && $k!=0){
    				$k--;
    				$title = $art['title'];
    				$content = $art['content'];
    				$author = $art['author'];
    				$date = $art['date'];
    				printf("<h1>%s</h1><br /><h3 align='left'>%s</h3>%s  <a href='index.php?id=articles&str=%s&nomer=%s'>Далее</a><hr /><br />",$title,$date, substr($content, 0,800),$nav, $id);
    					}
    		}

    Постраничная навигация

    BrdNLSrg, 10 Июня 2012

    Комментарии (113)
  5. C++ / Говнокод #7930

    +160

    1. 1
    http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T

    Часовая презентация Герб Саттера о будущем C++.
    От себя хочется добавить: "Где здесь С++, Герб Саттер?"

    CPPGovno, 22 Сентября 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $this->load->model('Bimail');
    			$this->Bimail->beautymail(
    					$this->adminmail,
    					$this->input->post('mail'),
    					$$this->adminsubject,
    					$this->input->post('name'),
    					$this->input->post('text'));
    			$this->redirect('conn/ok');

    Как видите я написал два знака доллара на 5 строке. При таком вызове фукции у мея виснет httpd.exe (это Apach). Кто может объяснить почему?
    И еще: почему РНР не выдает ошибки?
    *Провернуть такую ошибку в простом коде не получилось.

    increazon, 05 Августа 2010

    Комментарии (113)
  7. C++ / Говнокод #3473

    +154

    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
    //TransFunc.h
    
    //Девиз
    #ifndef MyOwn
    #define MyOwn
    #define Blackjack J♠
    #define Hookers
    #endif
    
    class TransferFunction
    {
    private:
      //...
      class Polynom
      {
        Polynom(TransferFunction * Base);  //Ссылка на базовый класс обязательна!
        //...
      }
      Polynom *Numerator, *Denominator;
    
      //...
    
      class TransferProcess
      {
        TransferProcess(TransferFunction * Base); //Ну куда же я без него...
        DynamicArray<double> TransGraphic;  //Данные графика.
        //...
      }
      TransferProcess * TrancProc;
    
      //...
    
      class SystemOptimisator
      {
        SystemOptimisator(TransferFunction * Base); //Именно так и никак иначе.
        TransferFunction * TempFunction;  //Это я так, на всякий случай...
        Polynom *Backup_Numerator, *Backup_Denominator;
        DynamicArray<Polynom> CorrectingDevice;  //А чо? Работает ведь...
        //...
      }
      SystemOptimisator * Opt;
    
    //Тут ещё классы "Matrix", "Vector", "Report"  и многие другие.
    
    publuc:
      TransferFunction();
      ~TransferFunction();
      void Optimize();
    };

    Краткость - сестра таланта:-)
    Захотелось мне удивить преподавателя (в программировании он не особо подкован (впрочем, как и я :-) )) короткой и простой "программой". Оно работало, до определенного момента, когда я попытался вставить ещё один класс... Потом я, конечно, всё переписал, по-человечески структурировав и избавившись от DynamicArray, но эти грабли я запомнил на всю жизнь.

    maniac, 14 Июня 2010

    Комментарии (113)
  8. C++ / Говнокод #28431

    0

    1. 1
    2. 2
    3. 3
    main: () -> int = {
       std::cout << "hello world!";
    }

    Война не всех убила..
    https://github.com/hsutter/cppfront

    kcalbCube, 28 Октября 2022

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

    +1

    1. 1
    2. 2
    3. 3
    /index.php/module/action/param1/${@die(md5(HelloThinkPHP))}: 1 Time(s)
           /index.php?s=%2f%69%6e%64%65%78%2f%5c%74%6 ... %6e%6b%50%48%50: 1 Time(s)
           /index.php?s=/module/action/param1/${@die( ... elloThinkPHP))}: 1 Time(s)

    такую вот хуйню в логах вижу
    пыха у меня разумеется никакого нет, но что это вообще такое? Что так ломают?

    MAKAKA, 09 Марта 2020

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

    −5

    1. 1
    2. 2
    3. 3
    4. 4
    Сема. Я чота на винде нажал, теперь у меня любая клавиша - горячая, не могу не написать нихуя
    
    Даже в сонсоле не могу нихуя, что за хуйня? Опять винду переустанавливать?
    В ЛИНУКСЕ ТАКОЙ ХУЙНИ НЕБЫЛО!

    TOPT, 08 Октября 2018

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

    +1

    1. 1
    Поцаны, шестой уровень вложенности - это ок или говнокод?

    У вас обычно сколько?

    subaru, 08 Ноября 2017

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