1. C# / Говнокод #20391

    +11

    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
    using System; 
    using System.Threading; 
    using System.Threading.Tasks; 
    
    
    
    namespace ConsoleApplication23 { 
    
    
    class InternalRandom { 
    static double x; 
    
    Task t, t2; 
    
    public InternalRandom() { 
    t = new Task(ThreadFunc); 
    t.Start(); 
    t2 = new Task(ThreadFunc); 
    t2.Start(); 
    } 
    
    public double Next() { 
    return x; 
    } 
    
    public double Next(double max) { 
    x+=7; 
    return NORMALNYYREM(x,max); 
    //return Math.IEEERemainder(max, x); 
    } 
    
    
    
    static double NORMALNYYREM(double A,double B) { 
    return A - ((double)((long)(A/B))) * B; 
    } 
    
    
    static void ThreadFunc() { 
    while(true) { 
    x += 1; 
    } 
    } 
    
    } 
    
    
    
    class Program { 
    static InternalRandom ir; 
    
    static void Main(string[] args) { 
    ir = new InternalRandom(); 
    for(int i = 1; i <= 20; i++) { 
    Console.WriteLine( "#"+i+" = "+ Random() ); 
    } 
    Console.ReadLine(); 
    //Environment.Exit(0); 
    } 
    
    
    static double Random() { 
    return ir.Next(10); 
    } 
    
    
    } 
    }

    dm_fomenok, 18 Июля 2016

    Комментарии (4)
  2. C++ / Говнокод #20390

    +2

    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
    #define CREATE_EVENT_LISTENER(_elname, arg1_type, arg1_name) \
    class _elname : public EventListener	 \
    {	 \
    private:	 \
    	class IContainer	 \
    		{	 \
    	public:	 \
    		virtual void Call(arg1_type arg1_name) = 0;	 \
    		virtual ~IContainer() {}	 \
    		};	 \
    	 \
    	class FunctionContainer : public IContainer	 \
    		{	 \
    	private:	 \
    		typedef void(*__CallbackPtr)(arg1_type);	 \
    	public:	 \
    		FunctionContainer(__CallbackPtr fn)	 \
    				{	 \
    			this->fn = fn;	 \
    				}	 \
    	 \
    		virtual void Call(arg1_type arg1_name)	 \
    				{	 \
    			fn(arg1_name);	 \
    				}	 \
    	 \
    	private:	 \
    		__CallbackPtr fn;	 \
    		};	 \
    		 \
    	template<class T, class Q>	 \
    	class MethodContainer : public IContainer	 \
    		{	 \
    	public:	 \
    		MethodContainer(T method, Q _this)	 \
    				{	 \
    			this->method = method;	 \
    			this->_this = _this;	 \
    				}	 \
    	 \
    		virtual void Call(arg1_type arg1_name )	 \
    				{	 \
    			(_this->*method)(arg1_name);	 \
    				}	 \
    	 \
    	private:	 \
    		T method;	 \
    		Q _this;	 \
    		};	 \
    public:	 \
    	typedef void(*__FN_CALLBACK)(arg1_type);	 \
    	 \
    	_elname(__FN_CALLBACK fn)	 \
    		{	 \
    		this->container = new FunctionContainer(fn);	 \
    		}	 \
    	 \
    	template <class T, class Q>	 \
    	_elname(T method, Q _this)	 \
    		{	 \
    		this->container = new MethodContainer<T, Q>(method, _this);	 \
    		}	 \
    	 \
    	void Call(arg1_type arg1_name)	 \
    		{	 \
    		container->Call(arg1_name);	 \
    		}	 \
    	 \
    	virtual ~_elname()	 \
    		{	 \
    		delete this->container;	 \
    		}	 \
    private:	 \
    	IContainer* container;	 \
    };	 \
    
    #define CREATE_EVENT(_ename, _elname, arg1_type, arg1_name) \
    class _ename : public Event	 \
    {	 \
    public:	 \
    	void AddListener(_elname* listener)	 \
    		{	 \
    		Event::AddListener(listener);	 \
    		}	 \
    	 \
    	void Handle(arg1_type arg1_name)	 \
    		{	 \
    		for (size_t i = 0; i < this->listeners.size(); i++)	 \
    												{	 \
    			((_elname*)listeners[i])->Call(arg1_name);	 \
    												}	 \
    		}	 \
    	 \
    	void RemoveListener(_elname* listener)	 \
    		{	 \
    		Event::RemoveListener(listener);	 \
    		}	 \
    	 \
    };	 \

    Я когда то это написал. Думал, это хорошая идея...
    Полный файл: https://github.com/arhyme/CPP_EVENTS/blob/master/Event.h

    Avery, 18 Июля 2016

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

    +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
    20. 20
    21. 21
    public static List<String> ParseVKPermissionsFromInteger(int permissionsValue)
    {
                var res = new List<String>();
                if ((permissionsValue & 1) > 0) res.Add(NOTIFY);
                if ((permissionsValue & 2) > 0) res.Add(FRIENDS);
                if ((permissionsValue & 4) > 0) res.Add(PHOTOS);
                if ((permissionsValue & 8) > 0) res.Add(AUDIO);
                if ((permissionsValue & 16) > 0) res.Add(VIDEO);
                if ((permissionsValue & 128) > 0) res.Add(PAGES);
                if ((permissionsValue & 1024) > 0) res.Add(STATUS);
                if ((permissionsValue & 2048) > 0) res.Add(NOTES);
                if ((permissionsValue & 4096) > 0) res.Add(MESSAGES);
                if ((permissionsValue & 8192) > 0) res.Add(WALL);
                if ((permissionsValue & 32768) > 0) res.Add(ADS);
                if ((permissionsValue & 65536) > 0) res.Add(OFFLINE);
                if ((permissionsValue & 131072) > 0) res.Add(DOCS);
                if ((permissionsValue & 262144) > 0) res.Add(GROUPS);
                if ((permissionsValue & 524288) > 0) res.Add(NOTIFICATIONS);
                if ((permissionsValue & 1048576) > 0) res.Add(STATS);
                return res;
     }

    Больше кала тут: github.com/VKCOM/vk-windowsphone-sdk

    dm_fomenok, 17 Июля 2016

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

    +2

    1. 1
    2. 2
    https://www.youtube.com/watch?v=Zrd7kFFCfp4
    https://www.youtube.com/watch?v=yuMlhKI-pzE

    CPU

    laMer007, 16 Июля 2016

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

    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
    function syn_s_lms_support_get_bl_specific_urls($bl_node) {
        $bl_specific_urls=array();
        $url = field_extract_value('node', $bl_node, 'field_business_website', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $url = field_extract_value('node', $bl_node, 'field_business_yelp', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $url = field_extract_value('node', $bl_node, 'field_business_gplus', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $url = field_extract_value('node', $bl_node, 'field_business_facebook', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $twitname = field_extract_value('node', $bl_node, 'field_business_twitter');
        if ($twitname) {
            $twit_name_clean = str_replace("@", '',  $twitname);
            $bl_specific_urls[] = 'https://twitter.com/' . $twit_name_clean;
        }
        return $bl_specific_urls;
    }

    Давай, ман не читай,
    код пиши от души.

    zima, 15 Июля 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $arResult["ORDER_ID"] = (int)CSaleOrder::DoSaveOrder($arOrderDat, $arFields, 0, $arResult["ERROR"]);
    
    
    if ($arResult["ORDER_ID"] > 0 && empty($arResult["ERROR"]))
    {
    	CSaleBasket::OrderBasket($arResult["ORDER_ID"], CSaleBasket::GetBasketUserID(), SITE_ID, false);
    }

    Нам насрать на то что DoSaveOrder уже внутри себя делает OrderBasket, мы сделаем это еще раз.

    turbosnail, 15 Июля 2016

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

    +5

    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
    void add( std::string *str, std::string *addstr)
    {
      if(!strlen(addstr->c_str()))
        return;
    
      int len = strlen(str->c_str());
      if( len )
      {
        if((str->c_str())[len-1] != ';')
          *str = *str + ";";
    
        *str = *str + *addstr;
      }
      else
        *str = *addstr;
    
      len = strlen(str->c_str());
      if((str->c_str())[len-1] == ';')
    
      *str = str->substr(0,len-1);
    }

    kocmoc, 15 Июля 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <? $dir = $APPLICATION->GetCurDir();
    $slashCount = substr_count($dir, "/");
    
    //убираем со страницы отдельной новости
    if($slashCount<6){ ?>
    ...
    }?>

    Какая наикрасивейшая проверка на количество слешей в урл.
    Супер решение

    liquor, 14 Июля 2016

    Комментарии (34)
  9. 1C / Говнокод #20379

    −94

    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
    Область.Параметры.месяц 	= МесяцДляГрафика;
    Область.Параметры.первое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("01", ДатаДляПечатиКалендаря));
    Область.Параметры.второе 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("02", ДатаДляПечатиКалендаря));
    Область.Параметры.третье 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("03", ДатаДляПечатиКалендаря));
    Область.Параметры.четвертое = ПеревестиВКалендарПредставл(ОпрДеньНедели("04", ДатаДляПечатиКалендаря));
    Область.Параметры.пятое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("05", ДатаДляПечатиКалендаря));
    Область.Параметры.шестое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("06", ДатаДляПечатиКалендаря));
    Область.Параметры.седьмое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("07", ДатаДляПечатиКалендаря));
    Область.Параметры.восьмое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("08", ДатаДляПечатиКалендаря));
    Область.Параметры.девятое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("09", ДатаДляПечатиКалендаря));
    Область.Параметры.десятое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("10", ДатаДляПечатиКалендаря));
    Область.Параметры.одиннадцатое 		= ПеревестиВКалендарПредставл(ОпрДеньНедели("11", ДатаДляПечатиКалендаря));
    Область.Параметры.двенадцатое 		= ПеревестиВКалендарПредставл(ОпрДеньНедели("12", ДатаДляПечатиКалендаря));
    Область.Параметры.тринадцатое 		= ПеревестиВКалендарПредставл(ОпрДеньНедели("13", ДатаДляПечатиКалендаря));
    Область.Параметры.четырнадцатое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("14", ДатаДляПечатиКалендаря));
    Область.Параметры.пятнадцатое 		= ПеревестиВКалендарПредставл(ОпрДеньНедели("15", ДатаДляПечатиКалендаря));
    Область.Параметры.шестнадцатое 		= ПеревестиВКалендарПредставл(ОпрДеньНедели("16", ДатаДляПечатиКалендаря));
    Область.Параметры.семнадцатое  		= ПеревестиВКалендарПредставл(ОпрДеньНедели("17", ДатаДляПечатиКалендаря));
    Область.Параметры.восемнадцатое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("18", ДатаДляПечатиКалендаря));
    Область.Параметры.девятнадцатое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("19", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатое		 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("20", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьпервое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("21", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьвторое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("22", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьтретье	= ПеревестиВКалендарПредставл(ОпрДеньНедели("23", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьчетвертое = ПеревестиВКалендарПредставл(ОпрДеньНедели("24", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьпятое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("25", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьшестое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("26", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьседьмое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("27", ДатаДляПечатиКалендаря));
    Область.Параметры.двадцатьвосьмое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("28", ДатаДляПечатиКалендаря));
    Попытка
    	Область.Параметры.двадцатьдевятое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("29", ДатаДляПечатиКалендаря));
    	Область.Параметры.тридцатое			= ПеревестиВКалендарПредставл(ОпрДеньНедели("30", ДатаДляПечатиКалендаря));
    	Область.Параметры.тридцатьпервое 	= ПеревестиВКалендарПредставл(ОпрДеньНедели("31", ДатаДляПечатиКалендаря));
    Исключение
    КонецПопытки;

    Выводим на печать дни недели для каждого дня месяца

    CMblCL, 14 Июля 2016

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

    −2

    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
    /******** Model **********/
     $model = new CreateArticleForm();
            if ($model->load(Yii::$app->request->post())) {
                if ($model->create()) {
                    Yii::$app->session->setFlash('success', [
                        'type' => 'success',
                        'duration' => 0,
                        'icon' => 'fa fa-users',
                        'message' => 'Success created.',
                        'title' => 'Change password',
                    ]);
                } else {
                    Yii::$app->session->setFlash('danger', [
                        'type' => 'danger',
                        'duration' => 0,
                        'icon' => 'fa fa-users',
                        'message' => 'Error created.',
                        'title' => 'Change password',
                    ]);
                }
            } else {
                return $this->render('create-article',
                    [
                        'language_current' => $language_current,
                        'page' => $page,
                        'model' => $model,
                    ]);
            }
    
    /******** View **********/
     <?php Pjax::begin(['id' => 'my-pjax']); ?>
                                <?php $form = ActiveForm::begin(['id' => 'form-change-pass', 'options' => ['enctype' => 'multipart/form-data', 'data-pjax' => true]]); ?>
                                <?= $form->field($model, 'title')->textInput(['autofocus' => true, 'class' => 'form-control']) ?>
    
                                <label for="usr">Категория</label>
    
                                <div class="bs-docs-example">
                                    <?= Html::activeDropDownList($model, 'id_category',
                                        ArrayHelper::map(\common\models\Category::find()->all(), 'id', 'name'),
                                        ['class' => 'selectpicker dropdownlist form-control',
                                            'data-width' => '100%',
                                            'multiple' => 'true']) ?>
                                </div>
    
                                <?= $form->field($model, 'text', ['inputOptions' => ['class' => 'summernote form-control']])->textarea(['rows' => 6]) ?>
    
                                <?= Html::input('submit', '0', Yii::t('menu', 'form_submit')); ?>
                                <?php ActiveForm::end(); ?>
                                <?php Pjax::end(); ?>

    Первое использование Pjax в Yii2

    qstd, 14 Июля 2016

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