• Как сделать Переадресацию запроса из *.hta файла в браузер по умолчанию ?

    KorsaR-ZN
    @KorsaR-ZN
    @otido2010 Ну есть одна возможность, через JS, а в нем запускать exe нужного браузера и передавать через параметры запуска нужную ссылку для открытия. Но традиционным способом, через a href, ничего невыдет.
  • Как сделать Переадресацию запроса из *.hta файла в браузер по умолчанию ?

    KorsaR-ZN
    @KorsaR-ZN
    @otido2010 А ни как, такие файлы не предназначены для ссылок внутри них на сторонние ресурсы, т.к эти файлы исполняются браузеров IE, вот и ссылки открываются в нем.
  • Как сделать Переадресацию запроса из *.hta файла в браузер по умолчанию ?

    KorsaR-ZN
    @KorsaR-ZN
    @otido2010 Если, да. То правой кнопкой по файлу *.htm(l), далее свойства, откроется окно, там увидите пункт "приложение" и жмете кнопку "изменить" и далее выбираете нужный вам браузер.
  • Как сделать Переадресацию запроса из *.hta файла в браузер по умолчанию ?

    KorsaR-ZN
    @KorsaR-ZN
    @otido2010 Я не совсем понимаю вашу проблему, Вам нужно, чтобы на компьютере файлы *.htm(l) открывались в другом браузере, не в IE?
  • Как реализовать систему эффектов (модификаторов) накладываемых на игрока?

    KorsaR-ZN
    @KorsaR-ZN
    @xmoonlight Ну я только для примера же, а человек пусть сам выбирает структуру данных для хранения.
  • Как реализовать систему эффектов (модификаторов) накладываемых на игрока?

    KorsaR-ZN
    @KorsaR-ZN
    @fuliozor В класс команды добавьте два метода expire, возвращающий время, когда модификатор нужно отменить, и метод rollback, для отката модификатора, вдруг он какой-то сложный, ну скажем снимает так же зависящие модификаторы и т.д.

    В класс юзера добавить метод, addSkill(SkillInterface skill), а так же два массива, первый хранит сами модификаторы, второй хранит время истечения, которое возвращает метод expire() и ссылку модификатор из первого массива.

    При добавления нового модификатора заносите его в первый массив, если метод expire > 0, то заносите это время во второй массив и ссылку на этот модификатор. и вызываете метод execute() для начисления бонусов и т.д.

    Потом по таймеру, скажем в 5 сек. Проходите по второму массиву со временем истечения, и удаляете те модификаторы, где время истечение подошло к концу, из двух массивов и вызываете метод rollback для снятия бонусов и т.д.

    Ну как-то так :)
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @Petroveg Ну я вашу мысль вообщем понял, мой косяк в ответе тоже есть, не спорю.
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @Petroveg Ну у человека же тоже могут быть требования, ни кто ему не мешает задать свои условия для email, по этому я не рассказывал, про его странность проверки, и мой самый первый результат был согласно его запроса. Это уже дальше человек вспомнил, про "букв, цифр , символов и дефиса", поправили задачу под второй набор требований.
    И вообще email правильно регуляркой не проверить, очень уж он разнообразный бывает.
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @Petroveg ну вы уже тут придирайтесь.
    Я человеку выше написал, что мое решение не окончательное и будет пропускать специфические email, если на то пошло, то дефолтная регуляка в input[type=email], самая правильная, т.к в теории test@test являться валидным email, так что тут точка совсем не обязательна, кто мне мешает купить домен первого уровня))) Так, что я не понимаю, почему топик стартера она не устроила...

    Если на то пошло, то есть гугл, там можно найти финальную регуляку со всеми возможными вариантами, но она тоже не идеальна, т.к email это очень специфичная штука и ее очень сложно правильно проверить, т.к теперь есть национальные домены, на китайском, на русском и т.д, или с умляутами, грубо говоря во всем спектре юникода.
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @Petroveg Я вас огорчу, точка в [], и есть точка, ее маскировать не нужно...
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @Petroveg Что Вы этим хотите сказать?, конечно кусочек этот будет true, так вы полностью регулярку проверьте, а я выше написал, что мое решение не идеальное, но большую часть email проверит, как надо. если уж проверять надо, то нужно весь спектр email рассмотреть, а там регулярка выйдет ой, какая большая...
  • Можно ли осуществить взлом сайта через $_SERVER['REQUEST_URI'] ?

    KorsaR-ZN
    @KorsaR-ZN
    @grigor007 В REQUEST_URI попадает вся часть после домена, к примеру host.com/form/%22%3E%3Cscript%3Ealert('xss')%3C/script%3E%3Cbr%20class=%22demo, вот окажется REQUEST_URI все, что после .com
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @Taraflex перед @ точка есть, смотрите начало в [], а после @ она не нужна, т.к dasdsad@.test.ru это не валидный email. Или я не прав? если да, то почему?
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @realt
    ^([-\w.]+@[-A-Za-zА-Яа-яёЁ0-9]+\.+[A-Za-zА-Яа-яёЁ0-9.]+)$
    Проверяет еще кириллические домены. И да, формат email очень длинный, какие-то специфические адреса может не пропустить, т.к полная регулярка на проверку очень-очень длинная.
    эта пропустит все основные email. тестить можно тут - regex101.com/#javascript
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    По-умолчанию она пропускает без точки после домена, а автору вопроса обязательно проверка на точку нужна...
  • Как в атрибуте pattern правильно прописать условие для формы?

    KorsaR-ZN
    @KorsaR-ZN
    @Petroveg Ну если вы мне, то я знаю.
    Я регулярку сделал, согласно условий в вопросе :)
  • Как сделать Submit form (html) GET с учетом htaccess location?

    KorsaR-ZN
    @KorsaR-ZN
    jQuery знаете?, вешайте событие на форму submit, в обработчики пишите
    $(this).attr('action', '/' + $(this).find('[name=name]').val());
  • Для какого типа веб проектов используют PHP фреймворки?

    KorsaR-ZN
    @KorsaR-ZN
    @Haddly mysql_* Вообще deprecated...
    Да, согласен можно пользоваться нативными возможности, без всяких там ORM, шаблонизаторов и т.д. Пока Ваш проект простой, бложек какой-нить, или Home Page или подобное не превышающие 5к строк кода.

    А теперь представьте ситуацию, если у Вас сложная CRM система, высоконагруженная, более 80к+ строк кода, множество абстракций, взаимодействие с разными базами, множество различных форм и т.д

    И тут вдруг выяснится, что MySQL больше не справляется с нагрузкой вашего проекта, и в срочном порядке нужно организовать переезд на PostgreSQL\Oracle иль NoSQL БД, а у вас весь проект не дай бог на mysql_*, ой тогда я Вам не завидую...

    Или пример из ORM, с объектом то куда проще работать, с чем native что возвращает ваш любимый mysql_*. Представьте себе, что потребуется результаты выдачи базы обрабатывать разными фильтрами, с ORM куда проще будет это сделать. ORM вообще решает многие проблемы, т.к вы работаете с объектами, а не native результатом, а тут можно и наследование и инкапсуляцию, и полиморфизм, да как надо, так и будете свой объект использовать... И это только верхушка того, что может ORM.

    Пример с формами, конечно на HTML очень просто, а если у Вас в проекте около 1000 различных форм, и вам потребовалось добавить во все формы crfs token, представьте только, сколько вы потратите времени на рефакторинг каждой формы, а используя бы Form Model, вы просто бы отредактировали базовый класс и было бы счастье.
    Так же формы удобно использовать для их валидации, ведь прежде чем использовать данные из нее где-угодно, они же должны быть правильные, ну там обязательные поля и т.д. А о этих правилах, кто-то же должен знать, так что объект формы опять спасает вас.

    Пример с шаблонизаторами, тут мнения расходятся, даже у меня :)
    С одной стороны шаблонизатор это хорошо, а чем же PHP и short tags не шаблонизатор?, явно быстрее все решений будет.
    PHP и short tags точно плюс скорость, простота и т.д
    Шаблонизаторы, уступают в скорости, хотя не всегда, так что это уже можно и не учитывать.
    Что касается Smarty, так он ничего нового не дает по сравнению с PHP, что насчет Twig, тоже ничего особенного, ну только если наследование шаблонов, реально крутая штука, ну может еще в плюс к шаблонизаторам, что они инкапсулируют данные.
    Вообщем по шаблонизатором аргумента нет :)

    Насчет ZF2 и 12 проектов, ну не все же проекты туда попадают, их гораздо больше, сайт триколор ТВ например :), Вообщем кол-во проектов на офф. сайте это не показатель :)
  • В каких случая и зачем нужно использовать трейты ?

    KorsaR-ZN
    @KorsaR-ZN
    @nepster09 Сходу так прям не ответить, всего скорей это не удачное решение, т.к получаем связь блога и сообщений, с другой стороны если система не сложна, то вполне себе решение.

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

    trait UserModuleTrait
    {
    protected function getUserModule() { // логика создания }
    }

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

    Но тут получается такая страшная штука, если условия отправления сообщений сменить с 10, на к примеру каждого 3 отправленное в субботу утром, то получается постоянно лезть в модель блога для исправления.

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

    Хотя еще раз повторюсь, если проект не сложный, то первый вариант вполне себе рабочее решение :)