• Как закрыть меню (slideToggle) по клику вне его?

    /**
     * Fires callback when user clicks outside element
     */
    (function ($) {
        var handlersCache = [];
    
        // setter
        $.fn.__doWhenClickOutside = function (callback, remove_after_exec) {
    
            // define vars
            var $this = $(this);
            remove_after_exec = (typeof remove_after_exec != 'undefined') ? remove_after_exec : true;
    
            // add new callback to a storage
            handlersCache.push({
                elem  : $this,
                cb    : callback,
                remove: remove_after_exec
            });
    
            return $this;
        };
    
        // trigger
        $(document).on('click.wph-outside', function (e) {
    
            var $target = $(e.target);
            if (handlersCache.length <= 0) {
                return;
            }
    
            $(handlersCache).each(function (index, handler) {
                if ($target.closest(handler.elem).length !== 0 || $target.is(handler.elem)) {
                    return;
                }
    
                handler.cb.apply(handler.elem);
    
                if (handler.remove) {
                    handlersCache.splice(index, 1);
                }
            });
    
        });
    })(jQuery);


    Использовать так:
    $('#menu-icon').__doWhenClickOutside(function() {
      // вызывается когда произошел клик вне меню
      $('#nav').slideUp();
      $(this).removeClass('active');
    }, false);
    
    // если второй параметр равен true, то коллбэк исполнится один раз и далее удалится
    Ответ написан
  • Как сделать постоянно круглую рамку на css?

    Заколхозил что-то вот такое: https://jsfiddle.net/9cvuL7zc/

    Если в двух словах: используя CSS square technique выравниваем высоту элемента по его ширине, затем позиционируем .inner в центре получившегося квадрата.
    .ghost-inner нужен потому как обычный .inner имеет абсолютное позиционирование, а значит родительский блок не будет по нему выравниваться.

    Из минусов: приходится дублировать текст и есть завязка на CSS transforms.
    Ответ написан
    Комментировать
  • Вроде, говорили, что Тостер на рельсах?

    Судя по заголовкам от сервера - PHP, а версия интерпретатора 5.5.11
    33d794daab2d47ff884c906242751933.png
    Ответ написан
    Комментировать
  • Как пробросить домен внутрь WiFi сети?

    TrickyMilk
    @TrickyMilk Автор вопроса
    Нашел ответ. Пришлось все-таки юзать DNS сервер.

    Установил DnsMasq, настроил по инструкции, за исключением одного пункта - в файле /usr/local/etc/dnsmasq.conf прописал: address=/.dev/192.168.0.152.
    192.168.0.152 - IP адрес компьютера с DnsMasq в сети WiFi.

    После чего в настройках WiFi роутера поставил на первое место в списке DNS серверов IP адрес своего компьютера.

    Затем нужно дождаться обновления кеша DNS(или обновить вручную) на подключенных к этой же сети устройствах и сайт будет доступен на них.

    PS. Еще чуть не забыл - нужно удалить все записи связанные с доменом .dev из файла /etc/hosts. У меня не работало с ними.
    Ответ написан
    Комментировать
  • Будет ли правильным в php при авторизации просто занести только логин в сессию?

    Из всего изложенного выше - наиболее оптимальным вариантом вижу хранение в сессии сериализованного(json_encode, serialize) массива из ID(или логина, при условии его уникальности) юзера и хеша пароля. При смене пароля - все старые сессии отпадают.

    Категорически не рекомендую и использовать проверки по IP и User Agent.
    При проверке по IP - отпадают пользователи на динамических IP(это те же мобильные операторы).
    При проверке User Agent - сессия будет слетать при каждом обновлении браузера(т.к. User Agent в этом случае тоже меняется). А все современные браузеры обновляются очень часто и в автоматическом режиме.

    Еще как вариант(более параноидальный) - можно генерировать рандомный хеш sha256(или sha1, md5, без разницы), заносить этот хеш в бд рядом с ID юзера. Затем записывать пользователю две куки - с id и с этим хешем. При посещении проверять эти два параметра.
    Ответ написан
    Комментировать
  • Существует ли простой, но безопастный php-фреймворк регистрация юзера?

    Элементарные PDO prepared statements + var_filter обеспечат вам практически максимальный уровень безопасности. Для одной только регистрации пользователя тянуть целый фреймворк - бред полный.

    К тому-же не исключено, что могут быть дыры и в самом фреймворке, только вот об этом кроме вас узнают еще, как минимум, все остальные пользователи этого же фреймворка..

    Своя система регистрации в этом случае куда более безопасна.
    Ответ написан
    1 комментарий
  • Насколько известна сейчас доменная зона .tv?

    Думаю, если грамотно придумать само доменное имя - все поймут.

    <offtop>Вообще, по моему - выбор доменной зоны это не та мелочь, ради которой стоит заморачиваться при создании проекта ;)</offtop>
    Ответ написан
    Комментировать
  • Есть ли плагин для хрома, который будет выводить qr-код данной страницы?

    И еще: в google chrome есть отличная функция синхронизации вкладок между устройствами. Подробнее тут.

    Ответ написан
    Комментировать
  • Есть ли плагин для хрома, который будет выводить qr-код данной страницы?

    Не знаю насчет плагинов, но как вариант можно использовать такой букмарклет - http://pastebin.com/raw.php?i=4XdCEmDz

    Просто создаете новую закладку и в поле адреса вводите этот код, затем на любой странице нажимаете на эту закладку и вуаля!

    Ответ написан
    Комментировать