+8.19
Рейтинг
21.13
Сила

Юрий

Блок с погодой (погодный информер) бесплатно

Хочется самому разместить блок погоды на своём сайте?
Можно начать с малого.
К примеру вот вариант, который можно допилить под себя. И буквально за несколько минут у вас на сайте будет «Блок с погодой вашего города».
Итак, что понадобится:
Читать дальше →

Решил перековырять немного ядро

Мои нововведения:
  • Хуки вокруг инициализации модулей _before и _after за счет методов InitModule
  • Переработанный __autoload
  • Получение информации о классе методом GetClassInfo вплоть до пути к класс-файлу

Плюсы
  • Никаких более регулярок для парсинга имени класса в других скриптах, всё в одном месте
  • Нет более вилок в коде по поводу регистра в именах классов и методов. Везде учитывается регистр (собственно, чем нам грозит php6, насколько я помню)
  • Стандартные хуки вокруг инициализации модулей — это просто прекрасно, я считаю, мне часто нужны были
  • func_list_plugins() — замена куче дублирующегося кода
  • Переработанный __autoload автоматом инклюдит все возможные классы, имена которых описаны по правилам ядра.

Сырцы
engine/classes/Engine.class.php raw
engine/modules/hook/Hook.class.php raw

func_list_plugins() (поместить в engine/include/function.php)
function func_list_plugins($bAll = false){
	$sPluginsDir = Config::Get('path.root.server').'/plugins';
	$sPluginsListFile = $sPluginsDir.'/plugins.dat';
	$aPlugin = array();
	if($bAll){
		$aPluginRaw = array();
		$aPaths = glob("$aPluginRaw/*", GLOB_ONLYDIR);
		if($aPaths)
		foreach($aPaths as $sPath){
			$aPluginRaw[] = basename($sPath);
		}
	}else{
		$aPluginRaw = @array_map('trim', file($sPluginsListFile));
	}
	if($aPluginRaw)
	foreach($aPluginRaw as $sPlugin){
		$sPluginXML = "$sPluginsDir/$sPlugin/plugin.xml";
		if(is_file($sPluginXML)){
			$aPlugin[] = $sPlugin;
		}
	}
	return $aPlugin;
	
}


Давайте потестим и обсудим, насколько всё это полезно?

зыж. модифицированное ядро отлично работает на моей тестовой площадке livestreet.ochecho.ru/

Alpha канал при закруглении углов

Вот тут как-то писалось про закруглённые углы, но были и есть проблемы с альфой, белый цвет вместо прозрачности.
Рыл не долго, строка: 481, в файле: engine\lib\external\LiveImage\Image.php


$trans = imagecolorallocatealpha($corner, 255, 255, 255, 0);


нужно просто заменить на:


$trans = imagecolorallocatealpha($corner, 255, 255, 255, 127);


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

Контакты и социальные сервисы

Я все переезжаю с 0.3.1 на 0.4.2 и по пути перевожу установленные модули и хаки в плагины. Сегодня доделал плагин «Контакты и социальные сервисы». Этот плагин добавляет три поля (skype, jabber, номер телефона) и выводит настройки контактов (icq, сайт, skype, jabber, номер телефона) на отдельную страницу (settings/social).

Скачать можно в новом каталоге.

Внимание!

Лично не могу заниматься поддержкой и разработкой плагина из-за политики компании в которой сейчас работаю. За поддержкой обращайтесь к тем людям, которые создают форк(я буду продолжать развивать плагин, но неизвестно когда) или аналогичный плагин (в нём нет ничего сложного) на основе данного расширения.

передача параметров в url (rss и не тока)

Сталкивался ли кто-нить с подобного рода проблемой? (поискал по ЛС и, вроде, ничего не нашёл, что бы могло ответь мне на нижеприведённый вопрос. Если плохо искал, прошу — ткните меня носом:) )

Товарищ с Хабра:
использую greader
подписка вот эта feeds2.feedburner.com/avtoturistu
подписался как то давно
при клике на заголовок поподаю вот сюда avtoturistu.ru/blog/voprosy/490.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+avtoturistu+(%D0%90%D0%B2%D1%82%D0%BE%D1%82%D1%83%D1%80%D0%B8%D1%81%D1%82%D1%83.%D0%A0%D0%A3)&utm_content=Google+Reader
Браузер Хром дев.

захожу браузером сюда
feeds2.feedburner.com/avtoturistu
тыкаю в заголовок первой попавшейся публикации
Браузер идет сюда avtoturistu.ru/blog/voprosy/490.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+avtoturistu+(%D0%90%D0%B2%D1%82%D0%BE%D1%82%D1%83%D1%80%D0%B8%D1%81%D1%82%D1%83.%D0%A0%D0%A3)&utm_content=FeedBurner+user+view

Читать дальше →

Куки и работа на разных PC.

Предложение в следующем, сделать что-нибудь с куками, чтоб они поддерживали пользователя на разных PC. Например, если я авторизован на форуме на каком-либо, то я и дома и на работе спокойно захожу на страничку и всё нормально. На LS же, если я захожу с другого компьютера, то старая сессия автоматом закрывается и каждый раз приходится авторизироваться заново. Т.е. зашёл дома, ввёл логин/пасс, пришёл на работу, опять сессия отвалилась и приходится вводить логин и пасс.

Как полному чайнику поставить ЛС и решить все возникающие проблемы

Меня на этом ресурсе поражает количество людей, решивших завести себе сайт, но при этом (как они сами честно признаются) «совершенно ничего в этом не понимающих». Я все понимаю — не боги горшки обжигают, сам я когда-то был абсолютный ноль, надо с чего-то начинать и т.д. Но слишком часто это напоминает ситуацию, будто человек, купивший машину и в первый раз в жизни севший за руль, сразу выезжает на улицу таксовать, а сам при этом не только водить совершенно не может, но и правил дорожного движения не знает, и даже города не знает.

Когда с этим сталкиваешься первый раз, то относишься к этому более-менее спокойно. Но со временем это начинает и раздражать, и вызывать приступы иронии, и т.д. А новички обижаются — чего это над ними смеются. Поэтому я решил поступить, как в старом анекдоте: «Нет, баранов я тебе не дам, а дам я тебе совет...»

Итак, советы для тех, кто «в этом совершенно не разбирается», но решил завести себе сайт (не просто страничку «Здесь был Вася», а нормальный полнофункциональный сайт, например, на движке ЛС).


Читать дальше →

Как добавить аватор пользователя к его топику?

Прошу помощи!
В топике и в списке топиков (topic.tpl и topic_list.tpl) необходимо вставить аватор создателя этого топика. Аватор желателен тот, который 48px × 48px.
Прошу подсказать, как это можно реализовать!