1. Куча / Говнокод #20961

    +840

    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
    Options -Indexes 
    ErrorDocument 404 /404.php
    
    <IfModule mod_php5.c>
    	php_flag allow_call_time_pass_reference 1
    	php_flag session.use_trans_sid off
    
    php_value display_errors 1 
    php_value display_startup_errors 1 
    php_value error_reporting E_ALL 
    
    php_value auto_prepend_file "/home/bitrix/www/bitrix/pagen.php"
    
    	#php_value mbstring.internal_encoding UTF-8
    </IfModule>
    
    <IfModule mod_rewrite.c>
    	Options +FollowSymLinks
    	RewriteEngine On
    	RewriteRule ^(.*)/page([\d]+)/ /$1/?PAGEN_2=$2 [L,QSA]
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-l
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
    	RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
    	RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
    </IfModule>
    
    <IfModule mod_dir.c>
    	DirectoryIndex index.php index.html
    </IfModule>
    
    <IfModule mod_expires.c>
    	ExpiresActive on
    	ExpiresByType image/jpeg "access plus 3 day"
    	ExpiresByType image/gif "access plus 3 day"
    </IfModule>
    
    RewriteCond %{HTTP_HOST} ^www\.sitename\.ru [NC]
    RewriteRule ^(.*)$ http://sitename.ru/$1 [L,R=301]
    
    
    # Чиним изменения в названии корневых разделов
    RedirectMatch 301 /catalog/oborudovanie-dlya-katerov-i-lodok/(.*) /catalog/oborud/$1
    RedirectMatch 301 /catalog/vse-dlya-orujiya/(.*) /catalog/guns/$1
    RedirectMatch 301 /catalog/ohota/(.*) /catalog/hunt/$1
    RedirectMatch 301 /catalog/ribalka/(.*) /catalog/fish/$1
    RedirectMatch 301 /catalog/noji/(.*) /catalog/knifes/$1
    RedirectMatch 301 /catalog/lodochnie-motory/(.*) /catalog/motors/$1
    RedirectMatch 301 /catalog/zapchasti/(.*) /catalog/spares/$1
    RedirectMatch 301 /catalog/navigatsiya/(.*) /catalog/navi/$1
    RedirectMatch 301 /catalog/masla-i-gsm/(.*) /catalog/oil/$1
    RedirectMatch 301 /catalog/accumulyatori/(.*) /catalog/accum/$1
    RedirectMatch 301 /catalog/turizm-i-kemping/(.*) /catalog/camp/$1
    RedirectMatch 301 /catalog/pnevmaticheskoe-orujie/(.*) /catalog/pneumo/$1
    RedirectMatch 301 /catalog/suveniri-i-podarki/(.*) /catalog/gifts/$1

    Помогите пожалуйста сделать так, чтобы все ссылки вида /catalog/oborud редиректили 301 на / catalog/oborud/

    konstantin, 25 Августа 2016

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

    +967

    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 (!ch.election) {
            exec('date -R', function(error, stdout, stderr) {
                if (stdout.search('Wed') > -1) {
                    ch.startElection();
                }
            });
        } else {
            exec('date -R', function(error, stdout, stderr) {
                if (stdout.search('Wed') < 0) {
                    ch.stopElection();
                }
            });
        }

    В ноде видимо нет функций для работы с календарём...

    https://github.com/birdlab/trigger/blob/master/src/node/trigger/channel.js#L783

    POPSuL, 25 Августа 2016

    Комментарии (32)
  3. Си / Говнокод #20958

    +1004

    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
    // shit.h :
    
    #if END_SHIT == 0
    bagor++;
      #if BIT0 == 0
        #undef  BIT0
        #define BIT0 1
      #else
        #undef  BIT0
        #define BIT0 0
        #if BIT1 == 0
          #undef  BIT1
          #define BIT1 1
        #else
          #undef  BIT1
          #define BIT1 0
          #if BIT2 == 0
            #undef  BIT2
            #define BIT2 1
          #else
            #undef  BIT0
            #undef  BIT1
            #undef  BIT2
            #define END_SHIT 1
          #endif
        #endif
      #endif
      #include "shit.h"
    #endif
    
    //shit.c
    
    #include <stdio.h>
    
    int main(void) {
      int bagor = 0;
      #define BIT0 0
      #define BIT1 0
      #define BIT2 0
      #include "shit.h"
      printf("bagor = %i\n", bagor);
      return 0;
    }

    http://govnokod.ru/20947#comment348047
    CHayT 3 часа назад # 0
    > нет ни циклов, ни рекурсий

    Можно, думаю, файлы сами в себя инклудить, чем не рекурсия. Не очень понятно, что с этим делать, правда.

    -----

    Но ведь совершенно очевидно, что с этим можно делать. Очередной шедевр макроговна

    j123123, 25 Августа 2016

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

    +918

    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
    #include <iostream>
    
    template<typename T>
    struct A {
      typedef int R();
    
      template<typename U>
      static U *f(int) { 
        return 0; 
      }
    
      static int f() { 
        return 0;
      }
    };
    
    template<typename T>
    bool g() { A<T> a; return !(typename A<T>::R*)a.f<int()>(0); }
    template<typename T>
    bool h() { A<T> a; return !(         A<T>::R*)a.f<int()>(0); }
    
    int main() {
      std::cout << g<void>() << f<void>() << std::endl;
    }

    Как можно было придумать такой синтаксис :(

    Bobik, 25 Августа 2016

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

    +2424

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // Most profiles should run only on one loader (they don't coordinate multiple instances,
    // and do not test performance).
    // We explicitly specify that some profiles should run on multiple loaders:
    singleLoader := true
    switch params.Config.Foo.Profile.Name() {
    case (*foo_config.ProfileIO).Name(nil):
    	singleLoader = false
    }
    
    if singleLoader {
    	// Setting TargetLoaders to a single random loader.
    }

    Вот думаем подарить человеку книжку про судоку, а то творческую натуру негде применить.

    wvxvw, 24 Августа 2016

    Комментарии (25)
  6. C++ / Говнокод #20947

    +2302

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    http://govnokod.ru/20924
    
    Запрашиваемая страница не найдена!
    
    Возможно, её и не было никогда

    http://dump.bitcheese.net/files/pimarut/%D0%93%D0%BE%D0%B2%D0%BD%D0%BE%D0%BA%D0%BE%D0%B4_%2320924_%E2%80%94_C___%E2%80%94_%D0%93%D0%BE%D0%B2%D0%BD%D0%BE%D0%BA%D0%BE%D0%B4.%D1%80%D1%83.html
    но бекап я сделал, так что хуй вам. Я требую продолжения банкета.

    j123123, 24 Августа 2016

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

    +491

    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
    app::storage()->setUserUploadDir('public');
            app::storage()->avatar = 'profile/avatars';
            app::storage()->background = 'profile/background';
            app::storage()->audioFile = 'music';
            app::storage()->videoFile = 'video/file';
            app::storage()->videoScreen = 'video/screen';
            app::storage()->forum = 'forum';
            app::storage()->systemImages = 'system/images';
            app::storage()->tmpUpload('upload');
     
     
            app::storage()->registerMethod('avatar', function($id, $type = false)
            {
     
                if($type==true){
                    return app::storage()->fileExists(app::storage()->path('avatar').'/'.$id.'.png') ?  '/'.app::storage()->path('avatar').'/'.$id.'.png' : null;
     
                }else{
                    return '/'.app::storage()->path('avatar').'/'.$id.'.png';
     
                }
            } );
     
            app::storage()->registerMethod('defaultAvatar', function()
            {
     
                    return '/'.app::storage()->path('systemImages').'/noavatar.png';
     
            } );

    Загрузка файлов от программиста с двадцатилетним стажем.

    pravka, 24 Августа 2016

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

    +458

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    tinyxml2::XMLDocument doc;
        doc.Parse(xhtml.c_str());//парсируем до конца
    
        tinyxml2::XMLElement* xml_element =
            doc.FirstChildElement("html")->FirstChildElement("body")->FirstChildElement("div")->
                NextSiblingElement("div")->NextSiblingElement("div")->FirstChildElement("div")->
                    NextSiblingElement("div")->FirstChildElement("div")->NextSiblingElement("div")->
                        FirstChildElement("div")->FirstChildElement("div")->NextSiblingElement("div")->
                            FirstChildElement("form");

    jangolare, 23 Августа 2016

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

    +545

    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
    <?php
    /**
     * Объединяет массивы, сохраняя элементы присутствующие лишь в одном из массивов
     * + сортирует без сохранения ключей
     * @param array $a1
     * @param array $a2
     * @return array
     */
    function array_xor_merge($a1, $a2) {
    	$allr	 = array_merge($a1, $a2);
    	$allp	 = array_flip($allr);
    	foreach (array_count_values($allr) as $key => $cnt) {
    		if ($cnt > 1) {
    			unset($allp[$key]);
    		}
    	}
    	$res = array_flip($allp);
    	sort($res);
    	return $res;
    }

    Rijen, 22 Августа 2016

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

    +2004

    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
    // ==UserScript==
    // @name         GK refine
    // @version      0.1
    // @description  opens comments on govnokod.ru... etc
    // @match        http://govnokod.ru/*
    // @match        http://www.govnokod.ru/*
    // @grant        none
    // ==/UserScript==
    
    // Показывает в стоке "new" около нового комментария
    // и пишет, сколько времени назад его оставили
    (function(){
        if(location.pathname != '/comments') return;
        
        var key = 'fcd0d66f-9ff0-4827-82f1-e183dc1ab98c-last-time';
        var lastTime = localStorage[key] ? +localStorage[key] : 0;
        var now = new Date();
        
        $('abbr.published').each(function(){
            var d = + new Date($(this).attr('title'));
            $(this).text(((now-d) / 1000 / 60).toFixed(2) + 'm');
            if(d > lastTime) $(this).after('<span style="color: red">NEW </span>');
        });
        localStorage[key] = +now;
    })();
    
    // Открывает скрытые комменты
    $("div.entry-comment-hidden").removeClass('entry-comment-hidden');

    Смотрю, а багры в стоке комментарий подменяют, чтобы пользователи не видели, где новый багор, а где старый.
    Я только сейчас это понял потому, что у меня около непросмотренного в стоке пишется "NEW" уже несколько месяцев.
    Запилил потому, что даже без багров не помнил, что открыл, а что нет. А тут в тему будет для тех, у кого платного аккаунта нет.

    1024--, 21 Августа 2016

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