-4.09
Рейтинг
4.99
Сила

Подпиливаем "static page" - ссылки на разделы в заголовке страницы

Стартовой для меня темой в этом вопросе стала этой, в которой, в принципе, даётся фиксированное решение — жёстко прописать ссылку в соответствующий tpl :)

Однако, у нас есть стандартный плагин «static page» и удобные флаги: активна, на главной.

Берём файл HookPage.class.php и
$aPages= $this->PluginPage_Page_GetPages(array('pid'=>null,'main'=>1,'active'=>1));
меняем на
$aPages= array_merge( $this->PluginPage_Page_GetPages(array('pid'=>null,'main'=>1,'active'=>1)),
                          $this->PluginPage_Page_GetPages(array('pid'=>null,'main'=>1,'active'=>0)) );
Т.е. теперь ссылки в меню будут формироваться для всех записей плагина, где установлен флаг «на главной», но страницы подставляться будут только для активных.

Осталось подставить нужное значение ссылки — тут плагин сильно сопротивляется, и чтоб не терять время — зашёл со стороны базы: прописал в поле page_url_full значение '../blog/around' — таким образом по клику в шапке мы попадаем в блог around.

Вот так :)

Настраиваем сервер для LiveStreet. Часть VII. NGINX.

Предыдущие части:

Общие замечания:
  1. Для продвинутых: рекомендуется не ставить nginx из бинарников, а пересобрать его из исходного кода только с нужными модулями. В бинарной сборке «по умолчанию», действительно, очень много для LiveStreet лишнего. Однако, я не считаю это простой задачей и поэтому описывать не буду. Кроме того, хотя эта идея, без сомнений, хорошая, драматического эффекта она не даст.
  2. Частично конфигурация снова взята из поста господина xyz
  3. Обращаю особое внимание на использование специального раздела для временных файлов, который, следуя советам господина Orhideous , мы создали во второй части

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

Настраиваем сервер для LiveStreet. Часть VI. PHP.

Предыдущие части:

Итак, лезем упоминавшийся в третей части конфигурационный файл /etс/apt/sources.list:
vim /etс/apt/sources.list

и раcкомментируем там dotdeb.org (две последние строки). После чего обновляемся:
apt-get update

Устанавливаем php, и всё что с ним связано следующими командами:
apt-get install php5-cli php5-common php5-suhosin php5-mcrypt php5-mysql php5-gd php5-dev php-pear php5-curl php5-memcache

apt-get install php5-fpm

После чего опять комментируем dotdeb.org в /etс/apt/sources.list и опять обновляемся:
apt-get update


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

Нужен плагин для Картинок

Нужен простой плагин для изображений, когда при клике по картинке будет показана «большая» картинка.

примерно что хочу (кликать по картинкам)
  • нужно отображение большой картинки на той же странице просмотра топика

Интересует цена вопроса и сроки реализации. Буду рад если кто-то впишется в коллективный заказ.

Плагин «Мастер блоков сайдбара, тулбара и хуков (Blocks Master)»


ОПИСАНИЕ


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

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

Очистка textarea

В модальном окне при загрузке изображения есть кнопка «Загрузить»
<button onclick="ls.ajaxUploadImg('tab-upload-pc','topic_text');" class="button button-primary" type="submit">Загрузить</button>


Подскажите как очистить textarea
<textarea rows="20" class="mce-editor markitup-editor input-width-full markItUpEditor" id="topic_text" name="topic_text"></textarea>

по нажатию на «Загрузить».
Одним словом хочется очистки textarea, перед вставкой кода, нового изображения.
Может как — то можно, перехватить это событие?

Настраиваем сервер для LiveStreet. Часть V. Apache.

Предыдущие части:

Начиная с этого момента настраивать окружение можно по разному. Глобально можно свести к трём тезисам:
  • Применить light HTTP сервер для раздачи статики и проксирования тяжёлых запросов
  • Применить fast cgi PHP
  • Применить кэширование данных в оперативной памяти
Для каждого пункта возможно использовать разный софт и/или различные связки программ. И во всех случаях получить хороший результат.

Использовать или нет Apache это вопрос очень близкий к религиозному. С моей точки зрения это стоит того, но я не буду утверждать что это наилучшее возможное решение. Есть свои плюсы и минусы.

В любом случае, я описываю именно то окружение, которые использую сам, и субъективно считаю наилучшим по совокупности достоинств. Это проверенное и работающее решение: nginx+apache+php-fpm

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

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



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

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

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

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

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

Тонкая настройка почты

Столкнулся с тем, что при добавлении топиков, происходят достаточно сильные тормоза. После проведённого анализа выяснилось, что проблема тормозов ПОЧТА. При публикации топика происходит рассылка по всем пользователям, которые имеют отношение к блогу, в который происходит размещение материала.

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

В конфиге config/config.local.php добавляем следующие настройки

// Указывает на необходимость использовать режим отложенной рассылки сообщений на email
$config['module']['notify']['delayed'] = true;
// Если опция установлена в true, систему будет собирать записи заданий удаленной публикации, для вставки их в базу единым INSERT
$config['module']['notify']['insert_single'] = true;
// Количество отложенных заданий, обрабатываемых одним крон-процессом
$config['module']['notify']['per_process'] = 10;


Далее исправляем файл classes/modules/notify/Notify.class.php

Находим в нём функцию

public function Send($oUserTo,$sTemplate,$sSubject,$aAssign=array(),$sPluginName=null) {


В этой функции находим строчку

if(Config::Get('module.notify.delayed')) {


И заменяем её на

$isNotifyDelayed = Config::Get('module.notify.delayed');
if (($sTemplate == "notify.registration_activate.tpl") || ($sTemplate == "notify.registration.tpl") || ($sTemplate == "notify.reactivation.tpl") || ($sTemplate == "notify.reminder_code.tpl") || ($sTemplate == "notify.reminder_password.tpl")) { $isNotifyDelayed = false; }
if($isNotifyDelayed) {


PS: Возможно разместил топик не в тот блог, но в другие писать к сожалению не могу. Видимо не хватает рейтинга или силы.

Небольшое дополнение:
Кто-то может забыть, поэтому напоминаю, что необходимо по крону запускать скрипт include/cron/notify.php

есть 2 варианта запуска.

1. используя HTTP.

для этого необходимо поправить .htaccess в папке include/cron/
содержание должно быть

Order Deny,Allow
Deny from all
Allow from XXX.XXX.XXX.XXX


вместо XXX.XXX.XXX.XXX укажите IP, с которого будет производиться HTTP запрос.
и в крон можно внести следующую запись

*/5 * * * *   wget -O- http://www.livestreet.ru/include/cron/notify.php >> /dev/null


2. либо из консоли.

и в крон можно внести следующую запись

*/5 * * * *   /usr/bin/php /vhosts/site.ru/www/include/cron/notify.php


Пути указывайте в соответствии с настройками вашего сервера.

Плагин «MailReg (https://pdd.yandex.ru)»


Данный плагин предназначен для регистрации почтовых ящиков для зарегистрированных пользователей с вашим доменом. Например: ваш адрес сайта RealPeople.kz, зарегистрированный пользователь с логином «Rix» будет иметь почту Rix@realpeople.kz. Благодаря сервису Почта.Yandex все почтовые ящики будут храниться на серверах Yandex, и не будут загромождать Ваш сервер.

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