-0.18
Рейтинг
0.66
Сила
  • avatar 777
  • 0
В плагин будет так:
$oSmarty = $this->Viewer_GetSmartyObject();
$oSmarty->loadFilter("output", "trimwhitespace");
Его ругают, говорят он может вывести из строя сайт, и кроме этого загружает базу большим количеством дублирующих сессий. Думаю, может сменить генератор ключа сессии. В User.class.php
$sKey=md5(func_generator().time().$oUser->getLogin());
заменить на
$sKey=md5($oUser->getLogin().'_'.$oUser->getPassword());
Нужно работать с базой данных:
1. Чтобы всем новым пользователям по умолчанию не активировались эти опции, нужно в таблице user, для нужных полей (они начинаются на «user_settings_notice_») для значения по умолчанию поставить 0
2. Чтобы изменить настройки уже существующих пользователей, необходимо в этих же полях для всех пользователей установить 0. Пример SQL запроса, который отключает все опции уведомления для всех пользователей:
UPDATE `prefix_user` SET 
user_settings_notice_new_topic = 0,
user_settings_notice_new_comment = 0,
user_settings_notice_new_talk = 0,
user_settings_notice_reply_comment = 0,
user_settings_notice_new_friend = 0


prefix необходимо изменить на префикс ваших таблиц в базе данных.
  • avatar Tander
  • 0
По старой доброй традиции — отвечаю сам себе =)
Хотя, тут кто-то интересовался как сделать отступы — я сделал. Рассказываю.

Хотя вконтакт давит посты с ссылками — он совершенно не против ссылки в тексте (и даже услужливо делает её кликабельной). Так что делаем так:

1. в config.php плагина пишем такой $config['pattern']:
$config['pattern'] = '%topic_title% (от %author%) %topic_text%';

2. В Vkfeed.class.php заменяем:
case 'topic_text':
	$aReturn=strip_tags($oTopic->getText());
	break;
на
case 'topic_text':
	$aReturn="\n".$oTopic->getUrl()."\n..............................................................................\n".strip_tags($oTopic->getTextShort());
	break;

3. В Topic.class.php заменяем
$sRequest="https://api.vkontakte.ru/method/wall.post?owner_id={$iWallId}=&access_token={$sAccessToken}&message={$sText}&attachment={$sLink}&from_group={$bFromGroup}";
на
$sRequest="https://api.vkontakte.ru/method/wall.post?owner_id={$iWallId}=&access_token={$sAccessToken}&message={$sText}&from_group={$bFromGroup}";


В итоге сообщения на стене получатся такого вида:


У меня на стену постится обрезаная cut'ом новость, кому это не нужно, во втором пункте замените strip_tags($oTopic->getTextShort()) на strip_tags($oTopic->getText())

Конечно, мне всё же хочется, чтобы работалссылки через attachment, так что если кто знает как решить мою проблему нормальным способом — буду очень благодарен.
  • avatar kpoxas
  • 2
ls — это глобальный объект скрипта
Основные методы, такие как ls.ajax, описаны в main.js.
В этот объект через closures подключаются дополнительные модули (talk, comments,...), которые лежат в отдельных файлах.

Если хотите дополнить модуль чем-то своим без вреда, используйте конструкцию:


/**
 * Дополнительные функции
 */
ls.comments_addon = (function ($) {	
	/**
	 * Показывает/скрывает форму комментирования
	 */
	this._toggleCommentFormParent = this.toggleCommentForm;
	this.toggleCommentForm = function(idComment, bNoFocus) {
		this._toggleCommentFormParent(idBlog);
                /**
                 * Ваши действия
                 */
                ls.msg.notice('Bla bla bla!');
		return false;
	}		
	return this;
}).call(ls.comments || {},jQuery);


Данный код дополняет функцию toggle формы комментария, добавляя после вашу функцию.
  • avatar aby
  • 0
Я находила тут тему где-то там короче было так:

находиш файл ActionTopic.class.php там ищешь строку $oTopic=$this->Topic_GetTopicById($oTopic->getId()); и вставляешь под ней

$oUserTopic = $this->oUserCurrent;
$oUserTopic->setRating($oUserTopic->getRating()+0.4); // можно в конфиге val вместо 0.4
$this->User_Update($oUserTopic);


где +0.4 ставь скока хочешь. Это поднятие репы только за голос топа, а вот как поднять репу за комент я как раз тему щас замутила в вопросах.
  • avatar ort
  • 2
Добавить в config.local.php
$config['router']['uri']['~^about$~i'] = "page/about";
Можно сделать простенький форум, как это реализовано здесь — mmoboom.ru
если проблема до сих пор не решена, то вот вам вариант конфига:

$config['sys']['mail']['type'] = 'smtp';
$config['sys']['mail']['from_email'] = 'адрес@почты.ru';
$config['sys']['mail']['smtp']['host'] = 'smtp.yandex.ru';
$config['sys']['mail']['smtp']['port'] = 25;
$config['sys']['mail']['smtp']['user'] = 'адрес@почты.ru';
$config['sys']['mail']['smtp']['password'] = 'пароль';
$config['sys']['mail']['smtp']['auth'] = true;
  • avatar ravur
  • 0
Во общем есть решение средствами Smarty, надо просто подключить фильтр outputfilter.trimwhitespace.php.
Я это сделал в функции Init() в классе class LsViewer extends Module.
$this->oSmarty->load_filter('output','trimwhitespace');

После этого удаляются все пробелы после компиляции. Можно еще не много по колдовать над этим фильтром и убрать переходы строк. Итог- код получается более оптимизированный.