+0.12
Рейтинг
1.67
Сила

Вывод топиков для зарегистрированных и незарегистрированных пользователей [Решено]

Прошу помощи в оформлении следующего кода.

В шапке сайта,
Если пользователь не авторизирован, то показывается это
<li {if $sMenuHeadItemSelect=='blog'}class="active"{/if}><a href="{router page='blog'}">Все топики</a> <i></i></li>
Если пользователь авторизирован, то показывается это
<li {if $sMenuHeadItemSelect=='feed'}class="active"{/if}><a href="{router page='feed'}">Я подписан</a> <i></i></li>

Вставка записи из VK в топик

Во вконтакте уже давно доступна возможность вставить запись к себе на сайт. Как реализовать поддержку этой функции на Livestreet?

Пример кода записи из вк
<div id="vk_post_1_45616"></div>
<script type="text/javascript">
  (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//vk.com/js/api/openapi.js?105"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'vk_openapi_js'));
  (function() {
    window.VK && VK.Widgets && VK.Widgets.Post && VK.Widgets.Post("vk_post_1_45616", 1, 45616, 'ZMk4b98xpQZMJJRXVsL1ig', {width: 500}) || setTimeout(arguments.callee, 50);  }());
</script>
  • avatar
  • 1
  • 5
  • 0
    • 0
    • 0
    • 0

картинка превью, при вставке в vk



Хотел бы понять принцип выбора изображения
Допустим еcть у меня топик на сайте ЛС, копирую его ссылку вставляю в вк, и оно может выбрать картинку из топика, может выбрать иконку блога, может выбрать картинку из банера в сайдбаре(очень часто)

Как это работает?

Из своих наблюдений заметил, что если картинка в топики визупльно меньше, картинки з банера в сайдбаре то почти всегда ставить превью банер с сайдбара, а если картинка из топика значительно превосходит банер, то берет с топика. Но как оно считает, по разрешению, по размеру или в зависсимости от формата изображения?

кто-то знает что-то наверняка?

и главный вопрос — как сделать чтоб брало картинку только с топика?

Хукеты в livestreet 1.0

Обработка блока с популярными пользователями на главной странице


class PluginSimpletpl_BlockSimpleUsersTop extends Block {
	public function Exec() {
		$aResult=$this->User_GetUsersRating('good',1,Config::Get('plugin.simpletpl.count_top_users'));

		$this->Viewer_Assign('simpletpl_aUsersTop',$aResult['collection']);
	}
}


Fatal error: Uncaught exception 'Exception' with message 'Undefined method module: GetUsersRating' in C:\web\xampp\htdocs\is\engine\classes\Engine.class.php:597 Stack trace: #0 C:\web\xampp\htdocs\is\engine\classes\Engine.class.php(524): Engine->GetModule('GetUsersRating') #1 C:\web\xampp\htdocs\is\engine\classes\Module.class.php(56): Engine->_CallModule('GetUsersRating', Array) #2 [internal function]: Module->__call('GetUsersRating', Array) #3 [internal function]: ModuleUser->GetUsersRating('good', 1, 10) #4 C:\web\xampp\htdocs\is\engine\classes\Engine.class.php(551): call_user_func_array(Array, Array) #5 C:\web\xampp\htdocs\is\engine\classes\Block.class.php(71): Engine->_CallModule('User_GetUsersRa...', Array) #6 [internal function]: Block->__call('User_GetUsersRa...', Array) #7 C:\web\xampp\htdocs\is\plugins\simpletpl\classes\blocks\BlockSimpleUsersTop.class.php(24): PluginSimpletpl_BlockSimpleUsersTop->User_GetUsersRating('good', 1, 10) #8 C:\web\xampp\htdocs\is\engine\modules\viewer\plugs\insert.block.php(63): Plugin in C:\web\xampp\htdocs\is\engine\classes\Engine.class.php on line 597


почему ошибки?

данные функции это хукет-функции
как использовать хукеты в версии 1? Как активировать тестовый плагин (не найден плагин пишет)?
поскажите что менять чтобы перевести плагин с версии 0.5 на 1.


Буду благодарен всем за разъяснения ошибок и помощи в образовании)

Разработка под ЛС. Любые задачи.

Здравствуйте.
Возьмусь за разработку или доработку любого вида задач под ЛС любой версии. С этой CMS работаю давно, изучил её что называется: «от корки до корки».

Для примера пара моих проектов реализованных на ЛС:
cs-force.ru
sat-manager.ru

Итак, конкретно услуги, которые предлагаю:
  • Разработка плагинов и модулей
  • Доработка уже имеющихся плагинов и модулей
  • Кроссбраузерная вёрстка шаблонов
  • Консультации и помощь в установке/настройке

О цене договоримся, пишите.
Контакты:
ICQ — 786781
SKYPE — trim06

Открытый javascript в исходном коде сайта

Открывая исходный код любой страницы LS можно увидеть несколько javascript.
Например:
<script type="text/javascript">
		var DIR_WEB_ROOT 			= 'http://livestreet.ru';
		var DIR_STATIC_SKIN 		= 'http://livestreet.ru/templates/skin/synio';
		var DIR_ROOT_ENGINE_LIB 	= 'http://livestreet.ru/engine/lib';
		var LIVESTREET_SECURITY_KEY = 'd0ecdfcc43ff3f2abfc12b6aa114de5a';
		var SESSION_ID				= 'q28qloh13rsbiatnu6qtvt6ma6';
		var BLOG_USE_TINYMCE		= '';
		
		var TINYMCE_LANG = 'en';
					TINYMCE_LANG = 'ru';
		
		var aRouter = new Array();
					aRouter['error'] = 'http://livestreet.ru/error/';
					aRouter['registration'] = 'http://livestreet.ru/registration/';
					aRouter['profile'] = 'http://livestreet.ru/profile/';
					aRouter['my'] = 'http://livestreet.ru/my/';
					aRouter['blog'] = 'http://livestreet.ru/blog/';
					aRouter['personal_blog'] = 'http://livestreet.ru/log/';
					aRouter['index'] = 'http://livestreet.ru/index/';
					aRouter['topic'] = 'http://livestreet.ru/topic/';
					aRouter['login'] = 'http://livestreet.ru/login/';
					aRouter['people'] = 'http://livestreet.ru/people/';
					aRouter['settings'] = 'http://livestreet.ru/settings/';
					aRouter['tag'] = 'http://livestreet.ru/tag/';
					aRouter['talk'] = 'http://livestreet.ru/talk/';
					aRouter['comments'] = 'http://livestreet.ru/comments/';
					aRouter['rss'] = 'http://livestreet.ru/rss/';
					aRouter['link'] = 'http://livestreet.ru/link/';
					aRouter['question'] = 'http://livestreet.ru/question/';
					aRouter['blogs'] = 'http://livestreet.ru/blogs/';
					aRouter['search'] = 'http://livestreet.ru/search/';
					aRouter['admin'] = 'http://livestreet.ru/admin/';
					aRouter['ajax'] = 'http://livestreet.ru/ajax/';
					aRouter['feed'] = 'http://livestreet.ru/feed/';
					aRouter['stream'] = 'http://livestreet.ru/stream/';
					aRouter['photoset'] = 'http://livestreet.ru/photoset/';
					aRouter['subscribe'] = 'http://livestreet.ru/subscribe/';
					aRouter['article'] = 'http://livestreet.ru/article/';
					aRouter['page'] = 'http://livestreet.ru/page/';
					aRouter['alltopics'] = 'http://livestreet.ru/alltopics/';
					aRouter['seolib'] = 'http://livestreet.ru/seolib/';
					aRouter['articles'] = 'http://livestreet.ru/articles/';
					aRouter['titles'] = 'http://livestreet.ru/titles/';
			</script>

Я хотел бы узнать безопасен ли вывод подобных javascript в исходном коде и для чего он предназначен?
Можно ли как-то зашифровать их?

Как добавить username в ватермарк?

Всем привет!

Не даёт покоя насущный вопрос: "Как добавить имя пользователя (загрузившего картинку) в ватермарк?"
Курил блоги и ФАК, но везде вопрос оставался без ответа. Ковырялся сам, но нюанс остался. Итак.

С добавлением статичного текста всё ясно — правим конфиг.

Сама функция добавления ватермарка, насколько я понимаю, находится в файле engine\modules\image\Image.class.php

Непосредственно добавление ватермарка происходит здесь (строка 180):

    $oImage->watermark(
	$aParams['watermark_text'],
	explode(',',$aParams['watermark_position'],2),
        explode(',',$aParams['watermark_font_color']),
	explode(',',$aParams['watermark_back_color']),
	$aParams['watermark_font_alfa'],
	$aParams['watermark_back_alfa']
    );


За сам текст отвечает первый параметр:
$aParams['watermark_text']

Если добавить
. " | "
, выводится
текст |
— значит иду верным путём.
Остаётся каким-то образом добавить переменную, отвечающую за имя пользователя, некий {username}. Пробовал $aParams['user_login'] — не прокатывает… ((

Вопрос, что это за переменная и как её правильно добавить? Люди добрые, и прогеры злобные, помогите, плиз.

UPD

Вопрос решился благодаря spolischook .
Добавляем в код следующие элементы:

$usver = $this->User_GetUserCurrent();
$oImage->watermark(
«Posted by ». $usver->getLogin(). " | ". $aParams['watermark_text'],
explode(',',$aParams['watermark_position'],2),
explode(',',$aParams['watermark_font_color']),
explode(',',$aParams['watermark_back_color']),
$aParams['watermark_font_alfa'],
$aParams['watermark_back_alfa']
);

И получаем результат вида «Posted by {имя_пользователя} | {текст_ватермарка_из_конфига}».
Спасибо, spolischook , за помощь!