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

    +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
    22. 22
    23. 23
    function getadminuserid(){
    	global $wpdb;
        //Get all users in the DB
        $wp_user_search = $wpdb->get_results("SELECT ID, display_name FROM $wpdb->users ORDER BY ID");
    
        //Blank array
        $adminArray = array();
        //Loop through all users
        foreach ( $wp_user_search as $userid ) {
            //Current user ID we are looping through
            $curID = $userid->ID;
            //Grab the user info of current ID
            $curuser = get_userdata($curID);
            //Current user level
            $user_level = $curuser->user_level;
            //Only look for admins
            if($user_level >= 8){//levels 8, 9 and 10 are admin
                //Push user ID into array
                $adminArray[] = $curID;
            }
        }
        return $adminArray;
    }

    1) Get IDs for all users
    2) Iterate over result set to find admin `get_userdata` function = 1 DB call

    outcome:
    1) full RAM
    2) dead DB

    ===
    official woocommerce plugin by company

    tatocaster, 27 Октября 2017

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

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    function CountBack_slider(secs,iid,j_timer) {
    	if (secs < 0) {
    		document.getElementById(iid).innerHTML = FinishMessage;
    		document.getElementById('caption'+j_timer).style.display = "none";
    		document.getElementById('heading'+j_timer).style.display = "none";
    		return;
    	}
    	DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
    	DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
    	DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
    	DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
    	
    	var elems = document.getElementsByTagName('*'), i;
    	for (i in elems) {
    		if((' ' + elems[i].className + ' ').indexOf(' ' + iid + ' ')
    				> -1) {
    			elems[i].innerHTML = DisplayStr;
    		}
    	}
    	
    	jQuery('.'+iid).innerHTML = DisplayStr;
    	  if (CountActive)
    		setTimeout(function(){CountBack_slider((secs+CountStepper),iid,j_timer)}, SetTimeOutPeriod);
    }

    Работаю с купленным html5-шаблоном.
    В шаблоне jq (и еще куча всякого хлама) подключен.
    Кодили с мыслью "работает и *уй с ним".

    Developer, 27 Октября 2017

    Комментарии (0)
  3. Python / Говнокод #23458

    +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
    import os
    import argparse
    import sys
    parser = argparse.ArgumentParser(description='tree')
    parser.add_argument('path',type=str,)
    parser.add_argument('-fo','--folders_only',action='store_true',)
    parser.add_argument('-i','--include',type=str,action='store',)
    parser.add_argument('-e','--exclude',type=str,action='store',)
    parser.add_argument('-a','--all',action='store_true',)
    parser.add_argument('-f','--full_name',action='store_true',)
    args = parser.parse_args()
    print(sys.argv[1])
    if args.include:
        itext = args.include
    if args.exclude:
        etext = args.exclude
    def divine_crutch(path, n):
        dir = os.listdir(path)
        for i in range(len(dir)):
            if os.path.isfile(path + '\\' + dir[i]):
                if not(args.folders_only):
                    if not(args.include and itext not in dir[i]):
                        if not(args.exclude and etext in dir[i]):
                            if not(not(args.all) and dir[i][0] == '.') and not(args.full_name):
                                print(n*' ', dir[i])
                            elif args.full_name and not(not(args.all) and dir[i][0] == '.'):
                                print(n*' ' ,path + '\\' + dir[i])
            if os.path.isdir(path + '\\' + dir[i]):
                if not(not(args.all) and dir[i][0] == '.') and not(args.full_name):
                    print(n*' ', dir[i])
                elif args.full_name and not(not(args.all) and dir[i][0] == '.'):
                    print(n*' ' ,path + '\\' + dir[i])
                n += 4
                divine_crutch(path + '\\' + dir[i], n)
                n -= 4
    divine_crutch(sys.argv[1], 4)

    Рекурсивный велосипед на костыльной тяге. Сей экземпляр является "аналогом системной утилиты tree под линукс". При подходящей фазе луны и выполнении условий ритуала чёрной магии, способен захавать 16 гигов оперативки и крашнуть систему. Прекрасный способ выстрелить в ногу на питоне. Достойное место в моей кунсткамере.

    Caladrius, 26 Октября 2017

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

    +1

    1. 1
    https://s1.postimg.org/9ay7hrf7fj/js-love-forever.png

    heart, heart, JavaScript!

    wvxvw, 26 Октября 2017

    Комментарии (37)
  5. Python / Говнокод #23456

    +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
    13. 13
    14. 14
    while (1):
        for iterator in range(len(posts)):
            # Для прозрачности вычислений
            time_post_a = datetime.now()
            time_post_a = int(time.mktime(time_post_a.timetuple()))
    
            time_post_b = posts[iterator]['time']
            time_post_b = int(time.mktime(time_post_b.timetuple()))
    
            # Выполнить действие, в случае, если "время пришло" по массиву posts
            if ((time_post_a - time_post_b) == 0):
                print ('Итератор: ' + str(iterator) + ', Новая публикация: ' + str(posts[iterator]['time']))
                time.sleep(1) # Если его убрать, то начинаются дикие пляски
                break

    Планировщик постов

    meridium, 26 Октября 2017

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #if ( clang_major==7 && clang_minor==3 )
             public std::enable_shared_from_this<CryptoContainer>
    #else
             public std::enable_shared_from_this<CryptoContainerInterface>
    #endif

    Во первых непонятно зачем, а во вторых clang > 6 на момент написания даже в проекте не было.

    s0nicyouth, 25 Октября 2017

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

    0

    1. 1
    2. 2
    echo -ne '10\n11\n12\n' | POST 'http://localhost:8123/?query=INSERT INTO t FORMAT TabSeparated'
    cat file.csv | clickhouse-client --database=test --query="INSERT INTO test FORMAT CSV";

    https://clickhouse.yandex/docs/en/single/index.html#format-clause

    FORMAT

    Вот нахрена было вставлять FORMAT в ЯЗЫК ЗАПРОСОВ? Почему нельзя это сделать опциями клиента и HTTP-хедерами?

    Допустим, хочу я написать клиент на языке X, который использует HTTP-протокол. Работа клиента — взять запрос и превратить его в структуры данных языка X. Из-за этого FORMAT клиенту теперь нужно лезть в пользовательский запрос, чтобы понять, в каком формате будут приходить данные, и уметь конвертировать все форматы, которые взбрело в голову добавить авторам БД.

    roman-kashitsyn, 25 Октября 2017

    Комментарии (9)
  8. Java / Говнокод #23453

    +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
    private SharedPreferences longCache;
    private String email;
    
    public void updateEmail(String newLogin) {
        if(newLogin != null) {
            email = newLogin;
            if(longCache.contains("email")) {
                longCache.edit().remove("email").apply();
            }
            longCache.edit().putString("email", email).apply();
        }
    }

    Проект под Android.
    Стаж разработчика - 5 лет.

    ausichenko, 25 Октября 2017

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

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    //Если Ответ = КодВозвратаДиалога.Нет Штирлиц решил не писать, чтобы запутать врага
    	    Если НЕ Ответ = КодВозвратаДиалога.Да Тогда		
    			Возврат;		
    		КонецЕсли;

    Если Ответ = КодВозвратаДиалога.Нет Штирлиц решил не писать, чтобы запутать врага

    M1CE, 25 Октября 2017

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

    +1

    1. 1
    https://roem.ru/23-10-2017/261914/seva-zhidkov-rocks/

    > В январе 2016 года 14-летний Сева Жидков создал телеграм-бота для рекламных путеводителей «Медузы». После этого он стал стажироваться в издании и создал еще одного бота — уже для редакции. Теперь Жидков самый молодой сотрудник «ВКонтакте».
    > Как давно ты работаешь во «ВКонтакте»?
    > после девятого класса
    > занимаюсь, в частности, применением машинного обучения в рекламе «ВКонтакте»

    Все что требовалось знать про эту "интеллектуальную" профессию. Даже школьник с 9 классами может применять машинное обучение в контакте и писать ботов для телеграма.

    g0cTb, 25 Октября 2017

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