tushov.ru

блог php-программиста, преподавателя и конcультанта

Category: Заметки программиста

WordPress, Заметки программиста, Рецепты

Организация вывода notice-уведомлений в админке WordPress

Всё, что нужно знать по поводу вывода уведомлений в админке WordPress написано здесь: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_notices

Установка уведомлений происходит через «навешивание» своей функции на action: admin_notices

Однако, крайне не удобно всё это использовать в своих плагинах.

Читать далее >

Заметки программиста, Рецепты

Быстрый и удобный ввод данных в форме с клавиатуры

Совсем недавно, понадобилось быстренько разработать небольшое некоммерческое веб-приложение по части сбора статистики по данным артериального давления и пульса с графиками и прочим. Так как необходимо было вбивать большое количество данных (более 300 штук наборов параметров времени, АД и пульса), то пришлось подумать над созданием удобной формой для быстрого ввода.

Читать далее >

Заметки программиста, Найдено в Интернете

Бесплатный Git-хостинг с закрытыми репозиториями?

В эпоху популярности SVN я использовал бесплатный на то время сервис: unfuddle.com. Уже давно пришло время более удобного Git и на unfuddle сейчас только 14 дней бесплатного тестового периода, а дальше от 19$ в месяц — что по нашим временам дорого, потому как за такие деньги можно VPS купить, поставить туда свой собственный Git-сервер и пользоваться сколько угодно.

Есть конечно же открытый GitHub, но на бесплатных основах как известно, там только open projects, что, конечно же, не всегда удобно!

Но, не всё так плохо, потому что есть прекрасный сервис bitbucket.org от известного бренда Atlassian с бесплатным аккаунтом и ограничением в 5 пользователей на нём — что в большинстве своём не является сколько-нибудь серьезным ограничением для его использования )

PHP, Заметки программиста

Как скачать файл доступный по протоколу HTTPS используя CURL

Существует проблема копирования (скачивания) файлов из сети, доступных по протоколу HTTPS через такие простые функции как copy(), file_get_contents и т.д. Не с первого раза нашел информацию по вопросу использования CURL’а для скачивания по протоколу HTTPS. И вот что получилось:

Строки:

необходимы при работе на Windows-машине.

PHP, Заметки программиста, Найдено в Интернете

Переводим большой html-текст через Google Translate на PHP

Недавно в одном проекте потребовалось реализовать функционал перевода html-текста на разные языки. Сразу же на ум пришёл машинный перевод при помощи translate.google.ru. Все бы ничего если бы не два НО, которые встали на пути:

  1. Google Translate не позволяет переводить за раз текст размером более 5000 символов
  2. Google Translate переводит вместе с текстом и HTML-теги
  3. Если резать текст на кусочки размером до 5 000 символов, то незакрытые HTML-теги в кусках Google Translate удалит

Немного поковырявшись во всем этом удалось получить более менее рабочее решение, а именно 2-е функции: translate — собственно функция перевода (найдено в Интернете), googleTranslate — функция корректной обрезки больших текстов на кусочки по 5 000 с учетом не проблемы не закрытых тегов.

Итак, если еще кому-то пригодится, собственно сам код:

 

Joomla, Заметки программиста

Обновленный плагин StartPage

В плагине StartPage (http://tushov.ru/post/558) обнаружена ошибка определения Главной страницы сайта в результате чего у многих людей, у которых вместо стандартного вывода com_frontpage на Главной странице сайта было что-то другое плагин не работал. Вся проблема состояла в неправильном определении главной страницы. Ошибка исправлена, теперь я надеюсь многие оценят полезность плагина, работающего без ошибок =)

И еще, вот как не надо определять признак главной страницы:

правильный способ:

Скачать обновленный плагин  StartPage 1.1

WordPress, Заметки программиста

Как не заставлять пользователя создавать и удалять вручную страницы для вашего плагина WordPress?

Все кто когда либо разрабатывал плагины для WordPress требующие наличие своих адресов (URL-ов) обращений  знают о том, что в WordPress ЧПУ строятся через Постоянную ссылку страницы. Проще говоря, если вам нужно чтобы ваш плагин что-то выводил или просто отзывался по адресу http://сайт/myprofile,  вам необходимо чтобы была страница с постоянной ссылкой http://сайт/myprofile. Как правило разработчики в FAQ’ах или в readme к своим плагинам пишут что для работы плагина вам необходимо создать пустую или с определенным содержанием страницу. Как то это не серьезно получается, установил пользователь плагин, так его еще и просят страницу создать, а может и не просто создать и написать в ней какие-то магические слова по типу {CALL_MY_PLUGIN}, которые потом плагин прощупает и сработает.  Рискну предложить свой метод автоматизирующий весь этот рутинный процесс и не вешающий на плечи пользователя заботы о создании и удалении страниц для вашего плагина. Итак смотрим:

я думаю код достаточно понятен,  при активации плагина в MyPluginActivation создается страница, и записывается ее ID в параметре плагина PageID.  При деактивации плагина в MyPluginDeactivation страница с ID равным ранее сохраненному параметру PageID успешно удаляется. Пользователь при этом никак не в этом процессе не участвует. Единственное что можно было бы добавить, так это функционал проверки на существование страниц с таким же именем. Да бы к примеру своим именем my-page не перекрыть уже существующую страницу — но думаю это не сложно дописать.

В случае, если вам не нужно чтобы ссылка на страницу вашего плагина отображалась в общем списке ссылок на сайте (блоге), но при этом вы не хотите обременять пользователя в том чтобы он сознательно убирал из списка ссылок ссылку на ваш плагин или использовал всякие там плагины по типу Exclude Page и т.д., есть достаточно простое решение:

ну вот пожалуй и все… ).

Theme by Anders Norén