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

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    код в файле load.php который блокирует установку
    
    if ( ! extension_loaded( 'mysql' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
            wp_load_translations_early();
            die( __( 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.' ) );
        }

    Приветы! Есть такая ситуация: на хостинг надо установить не очень новую версию вордпрсса, на хосте установлена mysqli, но эта версия вордпресса (а нужна именно эта версия) не поддерживает mysqli, поэтому я планирую работать с удаленной базой mysql. Так вот проблема в том, что при установке вордпресса ирнсталлятор проверяет какой тип базы установлен, конечно же он видит mysqli и выдает ошибку Your PHP installation appears to be missing the MySQL extension which is required by WordPress....В файле load.php пытался закомментировать код отвечающий за проверку, но сайт после этого вообще никаких признаков жизни не падает. Как можно отключить эту проверку? Спасибо)

    viromax, 07 Июня 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (!CModule::IncludeModule("iblock")) die();//7-оборудование. 8-отрасли. 5-разработки. 6-проекты.
    $a=0;if(strpos($_SERVER['REQUEST_URI'], '/development/')!==false) $a=5;
    elseif(strpos($_SERVER['REQUEST_URI'], '/projects/')!==false) $a=6;
    elseif(strpos($_SERVER['REQUEST_URI'], '/serial-production/')!==false) $a=13;
    elseif(strpos($_SERVER['REQUEST_URI'], '/control-systems/')!==false) $a=7;
    elseif(strpos($_SERVER['REQUEST_URI'], '/industry/')!==false) $a=8;

    Классика битрикс - разработки в индусском стиле. Проект стоил 500к+ дерева, не считая поддержки.

    ajiko, 07 Июня 2016

    Комментарии (13)
  4. 1C / Говнокод #20093

    −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
    Код выполняется в форме документа заказ покупателя
    если Не проведен тогда
    	сообщить ("Сопоставлять нужно только после Заполнить и провести");
    	возврат;
    КонецЕсли;
    Заказссылка = этотОбъект.Ссылка;	
    ТчЗаказаПокупателя = этотОбъект.Товары;
    для каждого РедактируемаяСтрока из ТчЗаказаПокупателя цикл
    	стр =""+РедактируемаяСтрока.Размещение;						
    	если  значениеЗаполнено(стр) и Тип("ДокументСсылка.ЗаказПокупателя") =ТипЗнч(ЗаказСсылка) и Тип("ДокументСсылка.ЗаказПоставщику")=ТипЗнч(РедактируемаяСтрока.Размещение)		
    	тогда		
    		Док_ЗаказПоставщику =РедактируемаяСтрока.Размещение.получитьОбъект();	
    		тч = Док_ЗаказПоставщику.товары;

    tixis1c, 30 Мая 2016

    Комментарии (13)
  5. JavaScript / Говнокод #20050

    0

    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
    // jquery required
    
    function trim(str){
    	return str.replace(/^\s+/, "").replace(/\s+$/, "");
    }
    
    function round1000(val){
    	return Math.round(parseInt(val)/1000)*1000;
    }
    function floor1000(val){
    	return Math.floor(parseInt(val)/1000)*1000;
    }
    function ceil1000(val){
    	return Math.ceil(parseInt(val)/1000)*1000;
    }
    
    function setCookie(c_name,value,expiredays){
    	var exdate=new Date();
    	exdate.setDate(exdate.getDate()+expiredays);
    	document.cookie=c_name+'='+escape(value)+((expiredays==null)?'':';expires='+exdate.toGMTString())+';path=/';
    }
    
    function resetCookie(c_name){
      var exdate=new Date(0);
    	document.cookie = c_name + '=0;expires=' + exdate.toUTCString() + ';path=/';
    }
    
    function getCookie(name){
    	var cookies=document.cookie.split(";");
    	for(var i=0;i<cookies.length;i++){
    		var params=cookies[i].split("=");
    		if(trim(params[0])==name){
    			return unescape(params[1]);
    		}
    	}
    	return false;
    }
    
    function asyncScriptLoader(scriptUrl){
    	var d=document,
    	h=d.getElementsByTagName('head')[0],
    	s=d.createElement('script');
    	s.type='text/javascript';
    	s.async=true;
    	s.src=scriptUrl;
    	h.appendChild(s);
    }

    http://www.morton.ru/images/js/main.js

    >> // jquery required
    >> function asyncScriptLoader(scriptUrl){

    nik757, 20 Мая 2016

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

    −3

    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
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    <?php
    namespace AppBundle\Command;
    
    use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
    use Symfony\Component\Console\Input\InputArgument;
    use Symfony\Component\Console\Input\InputOption;
    use Symfony\Component\Console\Input\InputInterface;
    use Symfony\Component\Console\Output\OutputInterface;
    
    class InterpolationLabsCommand extends ContainerAwareCommand
    {
    
        /**
         * nodes for interpolation polynomial
         */
        protected $_nodes;
    
    
        protected function configure()
        {
            $this
                ->setName('app:interpolation:labs')
                ->setDescription('interpolation')
                ->addOption('nodes-count', null, InputOption::VALUE_REQUIRED, 
                    'Sets the number of nodes for interpolation.', null);
        }
    
    
        protected function execute(InputInterface $input, OutputInterface $output)
        {
            $intervalStart = -3;
            $intervalEnd  = 3;
    
            $nodesCount = $input->getOption('nodes-count');
            
            $this->generateSeries($nodesCount, $intervalStart, $intervalEnd, function($x) {
                return sin($x);
            });
    
            foreach (range($intervalStart, $intervalEnd, 0.1) as $value) {
    
                $result = $this->getLagrangeValue($value);
                $output->writeln("$value $result");
            }
        }
    
        /**
         * Find value for lagrange interpolation polynomial at n nodes
         * @throw \Exception
         * 
         * @return 
         */
        protected function getLagrangeValue($x)
        {
    
            $w = function($nodeKey) use ($x) {
    
                if (!array_key_exists($nodeKey, $this->_nodes)) {
                    throw new \Exception("The key is not exists to the array nodes");
                }
    
                $return = 1;
                foreach ($this->_nodes as $key => $node) {
                    if ($key == $nodeKey) {
                        continue;
                    }
    
                    $return *= ($x - $node->x)/($this->getNode($nodeKey)->x - $node->x);
                }
                return $return;
            };
    
            $result = 0;
            foreach ($this->_nodes as $nodeKey => $node) {
                $a = $w($nodeKey);
    
                $result += $w($nodeKey) * $node->fx;
            }
    
            return $result;
    
        }
    
        protected function getNode($i)
        {
            return $this->_nodes[$i];
        }
    
    
        private function generateSeries($num,  $intervalStart, $intervalEnd,  $fun)
        {
            for ($i=0; $i < $num; $i++) { 
    
                $x  = $intervalStart + ($intervalEnd - $intervalStart)/($num-1) * $i;
                $this->_nodes[] = (object) array('x' => $x, 
                    'fx' => $fun($x)); 
            }
        }
    }

    Лаба по методам численного анализа

    konmado, 19 Мая 2016

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

    +6

    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
    public function generate_hash($options = null) {
            $string_length  = (isset($options["length"])) ? $options["length"] : 10;
            $use_lowercase  = (isset($options["lowercase"])) ? $options["lowercase"] : true;
            $use_uppercase  = (isset($options["uppercase"])) ? $options["uppercase"] : true;
            $lowercase      = array(
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h",
                "i",
                "j",
                "l",
                "m",
                "n",
                "o",
                "p",
                "q",
                "r",
                "s",
                "t",
                "u",
                "v",
                "w",
                "x",
                "y",
                "z"
            );
            $uppercase      = array(
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U",
                "V",
                "W",
                "X",
                "Y",
                "Z"
            );
            $digits         = array(
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9
            );
            $arrays         = array_merge($lowercase, $uppercase);
            $final_string   = array();
            $final_string[] = $arrays[array_rand($arrays)];
            // чтобы первым символом не была цифра
            $arrays         = array_merge($arrays, $digits);
            for ($i = 0; $i < ($string_length - 1); $i++) {
                $final_string[] = $arrays[array_rand($arrays)];
            }
            $final_string = implode("", $final_string);
            return $final_string;
    }

    dgkj, 18 Мая 2016

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

    0

    1. 1
    https://github.com/Londeren/Bitrix/blob/master/1C/bx_1c_import.php

    Копался в недраг гитхаба и наткнулся на простыня для импорта 1с для битрикса

    Keeper, 03 Мая 2016

    Комментарии (13)
  9. C++ / Говнокод #19898

    +7

    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
    #include <iostream>
    
    using namespace std;
    
    class Foo {
    public:
        operator int() const {
            cout<<"1";
            return *this;
        }
    };
    
    int main() {
        Foo foo;
        int i = foo;
    
        cout<<i<<endl;
        return 0;
    }

    govnokod3r, 28 Апреля 2016

    Комментарии (13)
  10. C# / Говнокод #19855

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    List<dynamic> reporting = item.company_profile_data?.AnnualFinancialStatementFiles ??
                                              new List<dynamic>();
                    string annual = "";
                    foreach (var report in reporting)
                    {
                        if (report.File != null)
                        {
                            string name = report.File?.Info?.Name;
                            if (name != null) annual = annual + name.Substring(0, name.LastIndexOf('.')) + ", ";
                        }
                    }
                    item.Name = annual;

    П - производительность.

    Psilon, 21 Апреля 2016

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

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?xml version="1.0" encoding="windows-1251"?>
    <Анкета ВерсияСхемы="2.05" ДатаФормирования="2016-04-19T17:04:57" ФорматДаты="ДФ=yyyy-MM-dd; ДЛФ=DT" ФорматВремени="ДФ=ЧЧ:мм:сс; ДЛФ=T" РазделительДатаВремя="T" >
     <Вопрос Ид="" Значение="">
     <Ответ Тип="Простой"></Ответ>
     <Ответ Тип="Комплексный">
     <ЧастьВопроса Тип="Компания"></ЧастьВопроса>
     <ЧастьВопроса Тип="Должность"></ЧастьВопроса>
     </Ответ>
     </Вопрос>
    </Анкета>

    Мда...

    Stefan_Hitskov, 21 Апреля 2016

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