Архив рубрики ‘программирование

Ставим Joomla 2.5

2, Фев 2012

Решил поставить Joomla 2.5, скачал дистрибутив, запускаю инсталлятор. На этапе проверки системных требований мне Joomla показывает вот такую штуку (увеличить можно кликом): выключить Output Buffering, вроде можно через .htaccess, добавив туда вот это:

DOMDocument вполне юзабильная вещь, но, как всегда, нужно учитывать кое-какие особенности связанные с кодировкой, например если просто загрузить кусок HTML а потом его сохранить, то получится вот такая штука:

Оказывается, что реализовать watermark на PHP, в виде полупрозрачного текста достаточно просто, нужно только вспомнить школьную геометрию и немного разобраться с GD2. Чтобы нарисовать прозрачный текст под углом можно использовать функцию imagettftext, которая получает в качестве y-координаты некий baseline, координаты которого можно рассчитать с помощью функции imagettfbbox. В отличии от PHP Watermark реализованного через наложение […]

Как я писал ранее, Windows Live Writer очень легко настроить для работы с WordPress, однако с WordPress Multisite он, просто на просто, не работает, точнее работает, но только с главным сайтом. При попытке создания учетной записи для неглавного сайта Windows Live Writer выдает сообщение об ошибке. Итак, как всегда создаем учетную запись WordPress:

Общая сумма всех отправленных заказов: SELECT SUM(`order_total`) FROM `jos_vm_orders` WHERE `order_status`=’S’ Сумма всех заказов сгруппированная по годам месяцам: SELECT SUM(`order_total`) total, YEAR(FROM_UNIXTIME(cdate)) y, MONTH(FROM_UNIXTIME(mdate)) m FROM `jos_vm_orders` WHERE `order_status`=’S’ GROUP BY y, m

HTTP прокси на PHP

28, Ноя 2011

Понятное дело, что одним из вариантов реализации HTTP прокси было бы использование Apache mod_proxy, но, возможно, не все хостинги его поддерживают, и, было бы проще, загружать на хостинг какой-то готовый PHP скрипт, который бы превращал его в HTTP прокси. Хотя это вопрос пока открытый. Судя по всему, самым подходящим вариантом скрипта для реализации HTTP прокси […]

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

После установки всех обновлений, WordPress начал мне выдавать вот такую штуку: но после установки этой штуки SyntaxHighlighter Evolved перестаёт работать.

Для вытаскивания img тэга из HTML можно использовать очень простой код на PHP: $html = $value[‘introtext’]; preg_match(‘/<img[^>]+>/i’, $html, $matches); if (count($matches) > 0) { $value[‘image’] = $matches[0]; //print $value[‘image’]; } тут у нас ‘introtext’ это поле в таблице jos_content, таком образом этот код можно использовать, чтобы вытащить первую картинку из материала в Joomla.

Список категорий с парентами: SELECT c.category_id, c.category_url, cref.category_parent_id FROM jos_vm_category AS c, jos_vm_category_xref AS cref WHERE c.category_id = cref.category_child_id ORDER BY c.category_id Список товаров с категориями: SELECT p.product_id, p.product_url, p.product_sku, c.category_id FROM jos_vm_product AS p, jos_vm_product_category_xref AS c WHERE IF( p.product_parent_id >0, p.product_parent_id, p.product_id ) = c.product_id ORDER BY p.product_id

Ну вроде, если выполнить вот такую команду: #apt-get install mono-gac mono-gmcs mono-xsp mono-utils monodevelop monodoc-browser monodevelop-nunit monodevelop #apt-get update —fix-missing #apt-get install mono-gac mono-gmcs mono-xsp mono-utils monodevelop monodoc-browser monodevelop-nunit monodevelop то оно поставится, хотя и выдаст какие-то непонятные сообщения вроде Problem to… Чтобы проверить результаты установки, можно выполнить такую команду: #aptitude search mono | grep […]

Генерируем код Открываем страницу Виджет для комментариев в контакте и генерируем код для виджета. В этом коде API_ID ваш id в контакте. Затем смотрим Документацию о виджете комментариев и добавляем в код дополнительные параметры, из которых page_id может быть полезен для более правильной идентификации материала в Joomla. Использовать page_id можно так: $id = JRequest::getInt(‘id’); и […]

Плагин MovableType является улучшенной версией плагина MetawebLog. Кроме всего прочего, он добавляет такие полезные методы, как mt.getPostCategories и mt.setPostCategories. Эти методы полезны тем, что позволяют передавать категории через ID, в то время как, MetawebLog передает заголовки категорий, затем, их распарсивает и находит в базе: function newPost($blogid, $username, $password, $content, $publish) { … $db =& JFactory::getDBO(); […]

Что есть на данный момент Сейчас у меня на сайте в VirtueMart есть следующие Shipper-ы:

Для чего нужен PHP RunKit PHP RunKit нужен для того, чтобы делать вот такие штуки: // небольшой хак runkit_constant_redefine(‘JPATH_COMPONENT’, JPATH_BASE.DS.’components’.DS.’com_content’); … // возвращаем все на место runkit_constant_redefine(‘JPATH_COMPONENT’, $old_jpath_component);

Предположим у нас есть некий код на C++, который надо вызвать из C#. Пусть это будет функция под названием CppFunc: Если мы действительно хотим вызвать её из C#, то для начала, надо создать под Visual Studio 2010 проект “Win32 Project”:

WordPress Multisite

1, Авг 2011

На WordPress 3.0 выше можно создать не один сайт, а сеть сайтов, для этого надо выбрать соответствующую опцию при инсталляции. Для более ранних версий использовался плагин WordPress MU, который теперь встроен в WordPress. Для сети сайтов появляется пользователь под названием Network Admin.

Для активации плагина нужно единовременно разрешить запись в каталог wp-content: и добавить в файл wp-config.php вот такую строку строку:

Чтобы XML-RPC Test Client заработал, надо в админке Joomla включить две галочки:

Просматривая результаты поисковой выдачи Яндекса, я с удивлением обнаружил, Яндекс выдаёт ссылки на мой сайт через HTTPS: Также приходилось сталкиваться с тем, что Яндекс умудряется проиндексировать тестовый сайт вместо боевого, хотя тестовый сайт работал через порт 2080. Чтобы избежать индексирования поисковиками через HTTPS надо создать отдельный файл robots.https.txt с полным запретом индексирования:


Наверх