/var/log/life.log
Блог программиста из солнечной Бурятии

Обновил модуль ВКонтакте

Изменения:

  • добавлена кнопка выхода
  • добавлены настройки способа формирования логина, при отсутствии никнейма у пользователя
  • инициализация изменена на асинхронную

Возможно изменение способа инициализации как-то скажется на получении правильных кук, в лучшую сторону.
[download id=”5″]

open api security breach

Специально для тех, кто ищет эту ошибку. Она возникает если вы используете appId не своего приложения, например от vk open api test app. Либо у вас не правильно указаны в Настройках Open API “Адрес сайта” и “Базовый домен”
vk open api test app это приложение, которое используется на сайте durov.at.

Обновился компонент VKlogin

Обновил компонент для авторизации в joomla через Вконтакте.
Изменения:

  • уменьшен размер иконки
  • добавлены языковые файлы
  • добавлена возможность уже зарегистрированным пользователям, использовать Вконтакте для входа на сайт

Читать полностью »

Авторизация в joomla через OPEN API ВКонтакте

18 Апреля Социальная сеть ВКонтакте, предоставила возможность авторизовывать пользователей ВКонтакте на своих сайтах и с их согласия получать доступ к их информации, друзьям, фотографиям, аудиозаписям, видеороликам, объявлениям и др. Как обычно они пошли своим путём, и вместо использования к примеру Open Id, сделали свой велосипед. Впрочем, уж лучше так, чем совсем никак. Специфика этого API и joomla не позволила мне сделать возможность авторизоваться через ВКонтакте только authentication плагином. Понадобился ещё и компонент. А также модуль для того, чтобы показывать кнопку “Войти ВКонтакте”.
Совместная работа модуля, плагина и компонента для входа через ВКонтакте выглядит следующим образом:
Читать полностью »

mod_datsogallery_ultimate не показывает изображения

Бывает, что на некоторых хостингах mod_datsogallery_ultimate не показывает изображения. Если посмотреть внимательнее видно, что php выдаёт ошибку: Fatal error: Call to undefined function imageconvolution() in /modules/mod_datsogallery_ultimate/cache.php on line 325. Документация по php говорит следующее – “This function is only available if PHP is compiled with the bundled version of the GD library.”
В данном случае для работоспособности модуля следует отказаться от использования эффекта создаваемого этой функцией. Для этого в файле /modules/mod_datsogallery_ultimate/cache.php на 276 строку заменяем

1
$doSharpen          = TRUE;

на

1
$doSharpen          = FALSE;

Выпадающее меню, по клику

Захотелось сделать в плагине для juick выпадающее меню, которое появляется по клику, и исчезает в случае, если был клик в другом месте. Прогуглил пол дня, но удалось найти только решении на css. Намучившись с поиском, решил попытаться переделать css на javascript, решение оказалось не таким сложным как казалось с первого раза:

Скрытие пункта меню по умолчанию

Случается так, что нет необходимости показывать в меню пункт по умолчанию, а бывает и необходимость убрать этот пункт меню. Но в Joomla обязательно должен быть пункт меню по умолчанию, чтобы избавится от показа оного, нужно в файле modules/mod_mainmenu/helper.php в начале цикла

1
2
3
4
while (count($rows) && !is_null($row = array_shift($rows)))
{
...
}

добавить

1
if ($row->id == 1) continue;

в данном случае 1 это ItemId пункта меню, который необходимо скрыть.
UPD:
Чтобы в Joomla 1.7 скрыть главную нужно после

1
2
3
4
{
    unset($items[$i]);
    continue;
}

Добавить

1
2
3
4
if ($item->id == 1){
    unset($items[$i]);
    continue;
}

c99madshell

Как оказалось функционала этого шелла мне недостаточно, да и были в нём баги. Баг в выставлении прав на файлы. Новые значения прав на файл вычислялись правильно, но в результате получалась строка вида “0xxx” и это строка передавалась как аргумент в функцию chmod. В то время как вторым параметром функции должно быть число, и php благополучно преобразовывал строку в число…в десятичной системе счисления, вот и вся проблема. После исправления ещё добавил рекурсивную возможность смены прав, т.к. пришлось работать с сайтом к которому не то-что по ssh нет доступа, но и по фтп, и у всех загружаемых файлов выставляются права 600, и соответственно если это картинки то просмотреть их невозможно, незнаю что за паранойя у админа. Также добавил возможность переименования файлов/папок, и заменил $HTTP_POST_FILES на $_FILES для загрузки файлов
[download id=”4″]

hack tools

По работе приходится часто что-то менять в скриптах либо в бд на сайтах, к которым есть доступ только по ftp, а phpmyadmin где-то в панели управления к которой не всегда есть доступ. В таких случаях помогают я полезных скрипта — MySQL RST/GHC Manager для работы с БД и c99madshell – Web Shell.
MySQL RST/GHC Manager – всем хорош, к тому же был переписан на post запросы Античатом, но были в нём недочёты: правка данных, если в них присутствовал символ ” ‘ ” и ‘ ” ‘, не происходила либо происходила не правильно, к тому же если в поле длинной более 40 символов был тег <textarea>, то гуи разъезжалось, всё это я поправил и сжал, так что размер его составляет 30кб против 113кб
[download id=”2″]
С c99madshell всё гораздо проще, там багов(вроде) нет, но доставляло неудобство то, что имена в левой части, а управляющие элементы в правой части экрана и на 21” мониторе сложновато определять к какому файлу относится действие, я добавил выделение цветом строки таблицы, на которую наведена мышь, стало гораздо удобнее, и чуток уменьшил размер
[download id=”3″]