-1.87
Рейтинг
0.01
Сила

Mirocow (PHP Developer)

Плагин «Хранилище настроек (Config Engine)», версия 1.1.0 для ЛС 1.0+


Описание

Плагин представляет возможности для автоматического сохранения конфига плагина в БД. Больше нет необходимости редактировать конфиги плагинов вручную по фтп — вам нужно только сделать интерфейс для их редактирования, хранение настроек возьмет на себя этот плагин.

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

Плагин «Расширенный подбор тегов при создании топика (Tags like full)»

Этот плагин расширяет стандартный функционал ЛС выбора тегов при создании топика и позволяет набирать даже часть слова-тега и оно будет показано в выборе.

Плагин доступен в каталоге.
Мои контакты.

Релиз LiveStreet 1.0


Сегодня вышел новый релиз блого-социального движка LiveStreet 1.0.

Новые возможности:
— Новый дефолтный шаблон Synio (победитель конкурса, автор LeX )
— Шаблон на HTML 5 и полный отказ от MooTools. Теперь поддерживается только jQuery
— Стена пользователя
— Переработанный профиль пользователя
— Ajax авторизация и регистрация в том числе в попапе
— Модуль гео-базы и на его основе выбор места проживания в профиле пользователя
— Поиск и сортировка среди пользователей
— Поиск и сортировка среди блогов
— Возможность для избранных топиков добавлять свои теги и поиск топиков по ним
— Счетчик избранного для топиков и комментариев
— Подписка на новые комментарии к топикам

Узнать больше возможностей

Помощь по js =)

Вообщем, есть код friend.js, который отвечает за добавление/удаление друзей.
Изначально в профиле стоит текстовка:
<li id="add_friend_item"><a href="#"  title="{$aLang.user_friend_add}" id="add_friend_show">{$aLang.user_friend_add}</a>


При добавлении в друзья эта текстова заменяется на надпись «Заявка отправлена».

Я решил оформить кнопку картинкой и процесс замены нарушился. Получился такой код:
<li id="add_friend_item"><a href="#"  title="{$aLang.user_friend_add}" id="add_friend_show" class="add-friend"> </a>

При добавлении в друзья не происходит появления текстовки «Заявка отправлена». Она появляется только после перезагрузки страницы.

Вопрос: что поменять в js чтобы происходила смена не текстовок, а картинок. Или классов css, не знаю, как правильно.

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

Плагин «Расширенный подбор тегов при создании топика (Tags like full)»


Этот плагин расширяет стандартный функционал ЛС выбора тегов при создании топика и позволяет набирать даже часть слова-тега и оно будет показано в выборе.

Например, есть тег "Медведи в цирке". При наборе слова "цирк" данный тег тоже будет предложен для выбора в выпадающем списке автокомплитера.

Плагин создан при поддержке пользователя Lexx .

Скриншот



Плагин доступен в каталоге.

работа php-fpm и JQuery на LS 0.4.2 (проблема)

Здравствуйте, прошу подсказки куда копать?
При переходе с Apache+nginx на php-fpm+nginx перестали работать скрипты в моих разработанных плагинах,
в местах выводимой информации пишет Hacking attemp! ошибок по работе скриптов нету, просто неработают ajax функции плагина.

кусок фрагмента кода.


....
{literal}	
	<script type="text/javascript">	
		getTransfers();
		
		function tick(){
			setTimeout("getTransfers()", 1000*60);
		}
		
		function getTransfers(){	
			$.get(DIR_WEB_ROOT+"/shop/ajax_get_transfers?security_ls_key="+LIVESTREET_SECURITY_KEY, function(data) {
				//$('#w-transfer-content').html(data);
				$('#sidebar').html("<div id='w-transfer-wrapper'>"+
								   "<div id='w-transfer-label'>Оборот продаж:</div>"+
								   "<div id='w-transfer-content'>"+data+"</div>"+
								   "</div>");
				tick();
			});
		}
		
		
</script>
{/literal}
....


мои подозрения на то, что на сервере не проходит авторизация сесси пользователией для этих методов работы с jQuery

"+data+" это как раз данные которые передает туда где появлется Hacking attemp!

конфиг nginx



server {
	listen ИПСЕРВЕРА:80; ## listen for ipv4; this line is default and implied
	#listen   [::]:80 default ipv6only=on; ## listen for ipv6

	index index.php;

	# Make site accessible from http://localhost/
	server_name www.САЙТ.ru САЙТ.ru;
	root /var/www/САЙТ.ru;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to index.html
		try_files $uri $uri/ /index.php;
	}

	location ~* \.(jpg|jpeg|gif|png|css|ico|js)$  {
	root /var/www/САЙТ.ru;
	index index.php;
	expires 30d;
	}
	location ~ .(tpl|xml|log)$ {
		deny all;
	}

	location ~ \.php$ {
                try_files $uri =404;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
	#	# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
	#
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_hide_header X-Powered-By;
		fastcgi_index index.php;
	        fastcgi_param SCRIPT_FILENAME &document_root$fastcgi_script_name;
		fastcgi_param QUERY_STRING $query_string;
		fastcgi_param REQUEST_METHOD $request_method;
		fastcgi_param CONTENT_TYPE $content_type;
		fastcgi_param CONTENT_LENGTH $content_length;
		fastcgi_param AUTH_USER $remote_user;
		fastcgi_param REMOTE_USER $remote_user;
         	include /etc/nginx/fastcgi_params;	               
	}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	location ~ /\.ht {
		deny all;
	}
}

Бесплатный плагин «LSGallery»

При поддержке проекта paintstrike.ru мы разработали бесплатный плагин для пользовательских галерей. Его можно скачать на GitHub или в официальном каталоге модулей.

В чем преимущество нашей Галереи?

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



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

Full Cache. Простое Frontend кеширование без Nginx

Цель. Снизить нагрузку при большом потоке незарегистрированных пользователей.
Причины нагрузки.
1) Даже при включении бэкенд кеша любого вида(memcache, file, xcache) движок все же ест память, так как структуру данных он выстраивает в любом случае. При большом количестве плагинов растет количество классов и экземпляров этих классов, которые загружаются в память. В данном случае использование бэкенд кеша увеличивает скорость работы за счет кеширования результатов запросов в базу данных. Но размер потребляемой памяти остается тот же. Например, у меня страница топика ела 19 Мб, а список — 30мБ. При этом частично помогает, например, использование ссылок на объекты с помощью & при переборе, а не их копий. Но все же это крошки.
2) Даже при полном кеше БД все же выполняются несколько запросов, таких как получение данных о сессии или update таблицы просмотров. Под нагрузкой и при использовании InnoDb базы «update запрос» может очень сильно тормозить.
Ресурсы и методы
Собственно смысл прост. Он состоит в том, чтобы один раз генерировать страницу, а потом отдавать ее сразу.
Проверять на существование и отдавать кеш надо будет перед запуском движка, что разгрузит потребляемую память.

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

Новое в LiveStreet 1.0 для разработчиков

Для разработчиков плагинов и шаблонов в LiveStreet 1.0 есть некоторые изменения.
Постараюсь их все собрать в одном месте.
Изменений, на самом деле, не так много.

Список:
  1. Модуль GEO, теперь в своих плагинах с помощью него можно делать географические привязки различных объектов
  2. Модуль Subscribe, организация подписок пользователей на различные события и рассылка по ним. Например, через него реализован механизм подписки на комментарии к топикам
  3. js вынесены за пределы шаблона в библиотеки, теперь в шаблонах достаточно только переопределить необходимый функционал
  4. Механизм валидации данных, подробнее — livestreet.ru/blog/dev_documentation/10221.html
  5. Возможность в тулбар добавлять свои элементы через стандартных механизм блоков
  6. Консоль для автоматической генерации каркаса плагина
  7. Переопределять настройки редактора стало проще, теперь они находятся в ls.settings
  8. Класс Object переименован в LsObject, позволит избежать проблем с некоторыми IDE и подключить автоподстановку методов
  9. Доработан модуль Image, теперь для сохранения изображения на другой сервер, достаточно переопределить методы SaveFile() и RemoveFile()
  10. Каптча вынесена в блочный хук {hookb run=«popup_registration_captcha»}, что позволит ее переопределить
  11. Возможность делать всплывающие подсказки через poshytip или infobox.js (с погрузкой данных через ajax)
  12. Появился модуль Tools, сейчас в нем только один метод — формирование облака тегов
  13. Шаблоны блоков перенесены в отдельный каталог /blocks/
  14. При ручном определении сеттеров в сущностях теперь следует возвращать данные как return $this->_getDataOne('blog_id'); — это позволит избежать проблемы с Notice ошибками
  15. Прямой эфир теперь автоматически группирует вкладки, если их много, в выпадающий список
  16. Смена приоритетов при загрузке блоков — теперь блоки из конфига загружаются после блоков, объявленных в коде экшенов, соответственно блоки из конфига имеют более высокий приоритет. Это позволит применять правила к блокам после окончательного определения экшена/евента, которые можно переопределить в ходе выполнения логики экшена/хуков.
  17. Возможность делать именованные евенты и управлять блоками из конфига о их именам. Например для евента на основе регулярно выражения можно задать имя и его использовать в правилах блоков. Если имя не задать, то оно автоматически определится как имя метода евента.
  18. Теперь все текстовки плагинов помещаются в пространство 'plugin.name', например, Get_Lang('plugin.page.admin_title');


Если есть вопросы, то отвечу более подробно.