Яндекс.Карты / Google Maps

LiveStreet
Например, если вы захотите сделать что-то типо, gdecasino.org и подобных.


Плагин умеет управлять маркерами и категориями маркеров на карте, выводить карту на определенную страницу, выводить меню категорий маркеров.
Плагин работает, без лагов, я проверял. Поэтому и пишу тута, может кто не знает, не нашел в сраче, а он очень полезный ;)
Далее, я прокопипастю, то что писал автор.

Что такое категория маркеров?
Категория маркеров это некоторое свойство маркера, в котором определяется как будет выглядеть иконка маркера на карте.
Свойства категории:
— Название — любое текстовое название. Например, Офисы компании;
— Имя стиля — требуется для генерации карты, набор символов на латинице. Например, offices.
— Ссылка на иконку маркеров в категории — иконка маркера, которая появляется на карте при выборе категории. Здесь удобно пользоваться стандартными иконками Яндекс.Карт.

Что такое маркер?
Это значек и балун на карте, который задается следующими свойствами:
Название, широта, долгота, категория, адрес, телефон, ссылка на подробную информацию и ссылка на изображение в балуне. Увидеть где и какие свойства проявляются достаточно просто — поиграйтесь с демками.

Как можно настроить карту?
Для карты можно задать API ключ Яндекс.Карт, ширину, высоту, координаты центра, начальное приближение, любые из стандартных инструментов управления на выбор, которые сейчас включены на демке, а также строку поиска по объектам на карте.

Как работает поиск?

Стандартный элемент управления поиска ищет адреса в видимой области карты, а если ничего не найдено, то везде.


Поиск объекта на карте ищет объекты (маркеры) по названию маркера. При клике на результат поиска, на карте открывается балун найденного маркера.
Поиск объекта на карте использует для предложения результатов плагин jQuery, однако подключать дополнительную библиотеку не требуется — jQuery подгружается вместе с Яндекс.Картами.



Скачать последнюю стабильную, и которая помоему ушла в архив, т.е. наконец все лаги отточились: 2me.be/z/ymap_0.1.4.zip

Приветственное лс, если вдруг нужно, при реги

LiveStreet
Итак, добавляем в ActionRegistration.class.php
после действия, где создается персональный блог (строка 172 помоему)
public function SendWelcomeMessage(UserEntity_User $oUserTo,UserEntity_User $oUserFrom) {

$this->oViewerLocal->Assign('oUserTo',$oUserTo);
$this->oViewerLocal->Assign('oUserFrom',$oUserFrom);

$sBody=$this->oViewerLocal->Fetch("pm_reg.tpl"); 
$oTalk=new TalkEntity_Talk(); 
$oTalk->setUserId($oUserFrom->getId()); 
$oTalk->setTitle("Добро пожаловать!"); 
$oTalk->setText($sBody); 
$oTalk->setDate(date("Y-m-d H:i:s"));
$oTalk->setDateLast(date("Y-m-d H:i:s"));
$oTalk->setUserIp(func_getIp());
if ($oTalk=$this->Talk_AddTalk($oTalk)) {
$oTalkUser=new TalkEntity_TalkUser();
$oTalkUser->setTalkId($oTalk->getId());
$oTalkUser->setUserId($oUserTo->getId());
$oTalkUser->setDateLast(null);
$this->Talk_AddTalkUser($oTalkUser); 
}

}

и создаем соответсвующий notify.pm_reg.tpl в ВАШЕМ templates/skin/SKIN/
Привет!
Вы зарегистрировались на сайте <a href="{$DIR_WEB_ROOT}">123</a>!
У нас есть, это, это, а вот тут faq и т.д :)

Запрет редактировать посты, где есть комменты

LiveStreet
Иногда люди которые дрочили не один год, у которых не одна сотня постов, из-за чего-то обижаются. Батхер или трололо. Или может они из инета сваливают в реал, искать девочек и менять жизнь. Короче такая хуйня всегда происходит. Еще с времен форумов :) Сам когда-то злился и от обиды «вытирал все присутствие себя», лет 7 назад, на каком-то phpbb форуме :)))

Так вот, чтобы такой хуйни не было. Ведь зачастую, на эмоциях могут снести полезные топики.

То вот, решение, уже готовое под плагин.
Скачать и активировать: 2me.be/z/topicblock.zip

Иногда важно, чтобы люди увидели ЛС

LiveStreet
Этим способом, можно ЗАЕБАТЬ СУКА ЛЮДЕЙ :)
Появление окна при начальной загрузке браузера, куки удаляются при закрытии.


В случае наличия сообщений выдает предупреждения. Необходимо включить обновление для новых писем.


Как включить обновление значков при появлении сообщений?
Правим код в конфиге:
// Модуль Talk
$config['module']['talk']['reload']     = true;

*это увеличит нагрузку на сервер.

Скачать и активировать: 2me.be/z/message.zip

про ограничение длинны топика

LiveStreet
Длинна топика не может превышать 15000 симоволов. ©
Конечно сразу ответ, что нужно изменить параметр в config.php
$config['module']['topic']['max_length'] = 50000;  // на 50000 символов

Но это не поможет ;)

Открываем ActionTopic.class.php и находим блок
/**
                 * Проверяем есть ли содержание топика
                 */
                if (!func_check(getRequest('topic_text',null,'post'),'text',2,30000)) {
                        $this->Message_AddError($this->Lang_Get('topic_create_text_error'),$this->Lang_Get('error'));
                        $bOk=false;
                }

меняем на
/**
                 * Проверяем есть ли содержание топика
                 */
                if (!func_check(getRequest('topic_text',null,'post'),'text',2,Config::Get('module.topic.max_length'))) {
                        $this->Message_AddError($this->Lang_Get('topic_create_text_error'),$this->Lang_Get('error'));
                        $bOk=false;
                }

Красивый номер инвайтов

LiveStreet
Кому не нравится код инвайтов вида 5884804e763972972042b1fccd6f1d13.
Можно сделать красивые номера вида Y8EC-HRF-9I5.

Для этого открываем файл include/function.php и находим там функцию func_generator (81 строка). Не будем ее менять, так как она используется в других местах, а сделаем под ней свою:
/**
 * генерирует код инвайта
 */
function func_generator_invite() {
        $allowable_characters = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
        $ps_len = strlen($allowable_characters);
        mt_srand((double)microtime()*1000000);
        $pass = "";
        for($i = 0; $i < 12; $i++) {
                if(($i == 4) || ($i == 8)) {
                        $pass .= '-';
                } else {
                        $pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
                }
        }
        return $pass;
}


Затем идем в файл classes/modules/user/User.class.php и находим функцию GenerateInvite (строка 444) и меняем там строку:
$oInvite->setCode(func_generator(32));

на
$oInvite->setCode(func_generator_invite());


Чтобы пользователи могли вводить код в любом регистре сделаем небольшое изменение в файле classes/modules/user/mapper/User.mapper.class.php изменив функцию GetInviteByCode (строка 444). Меняем строку:
if ($aRow=$this->oDb->selectRow($sql,$sCode,$iUsed)) {

на
if ($aRow=$this->oDb->selectRow($sql,strtoupper($sCode),$iUsed)) {

Поиск Яндекса вместо Sphinx

LiveStreet
Настраиваем форму поиска Яндекса site.yandex.ru/new_info.xml
Выбираем «оформление результатов поиска — в iframe странице» и пишем желаемый адрес страницы результатов поиска, например yoursite.ru/page/poisk

Копируем полученный html-код поисковой формы и вставляем его в sidebar.tpl вместо строк
<div class="block">
        <form action="{router page='search'}topics/" method="GET">
        <input class="text" type="text" onblur="if (!value) value=defaultValue" onclick="if (value==defaultValue) value=''" value="{$aLang.search}" name="q" />
        <input class="button" type="submit" value="{$aLang.search_submit}" />
        </form>
</div>

заключаем этот код в тег {literal}{/literal}

Создаем статическую страницу poisk(или же через запись, не суть важно). Для этого нужно активировать плагин static page. В поле «Текст» новой страницы снова вставляем код поисковой формы и затем второй код от Яндекса, примерно такой:
<div id="yandex-results-outer" onclick="return {encoding: ''}"></div>
<script type="text/javascript" src="http://site.yandex.net/load/site.js" charset="utf-8"></script>


Если с css проблемы.
в начале кода, в редакторе статической страницы
<div class="yandexform" style="width: 960px;" onclick="return {type: 2, logo: 'rb', arrow: false, webopt: false, websearch: false, bg: '#CCE5FF', fg: '#000000', fontsize: 14, suggest: true, site_suggest: true, encoding: ''}">

Набор плагинов, которые нужны на любом LS я считаю

LiveStreet
Все они проверены мной(а мусорного говна я отсеял много), с последней версией livestreet 0.4.2
Так что, думаю в течении 2011 будут актуальны, потом может уже нет(если двигло координально изменится) :)
Плагины, не затрагивающие изменение самого двигла, могут работать очень долго, просто к сведенью. Я пару полезных фич откапывал, еще трех летней давности.

  • Адсенс. Собсно все описано, картинкой.
    Скачать и активировать, вот и все: 2me.be/z/adsense.rar
  • Происходит, автоматическое подключение блогов при создании топика. Т.е. пользователю, не нужно сначала вступать в блог, чтобы писать в него. Но если у вас от 100 коллективных блогов, например, то он не подойдет, ибо при написании любого топика, пользователю сразу вся сотня предложится для выбора.
    Скачать и активировать: 2me.be/z/autoconnect.rar
  • Автоматически вставляет тег cut, если длина топика превышает заданный параметр. Если люди нубы, не знают что такое «под кат», то это как раз пригодится.
    Скачать и активировать: 2me.be/z/autocut.rar
  • Автозаполнение города, в профиле, при регистрации.
    Скачать и активировать: 2me.be/z/autotown.rar
  • Добавляет возможность вставлять видео, через код
    <iframe>
    , сейчас это новый код ютуба, да вконтактиве всякие и вимедии.
    Скачать и активировать: 2me.be/z/exvideo.rar
    *алсо можно вставлять через тег
    <video>
    который в LS, прямо по ID видосов, или через ссылки вида youtu.be и прочих коротких.
  • Возможность использовать Граватары. Ну, кто не знает — gravatar.com
    Скачать и активировать: 2me.be/z/gravatar.rar
  • Приветствия. Ну, как у меня вверху цитаты появляются. Хотя конечно с лепры же стырено.
    Скачать и активировать: 2me.be/z/greetings.rar
    Настройка текста тута: plugins/greetings/templates/skin/default/list.txt Тексты разделяются, просто — каждая отдельная строка выводится.
  • Расширенное залитие картинок. Добавление первьюшек и предпросмотра. Ну вот описывал уже.
    Скачать и активировать: 2me.be/z/imgpreview.rar
  • Листинг страниц с бегунком, как у меня тут внизу. Портит индексацию, т.е. по странично роботы не ходят.
    Скачать и активировать: 2me.be/z/lspage.rar
  • Автозаполнение поиска. Ну, вводите в поиск что-то, не успели дописать слово, а оно уже высветилось, если оно есть в базе.
    Скачать и активировать: 2me.be/z/searchautocompleter.rar
  • Кстати, про поиск. Он в livestreet по умолчанию не работает. Нужно устанавливать aceadminpanel и потом еще acemysearch. Тогда все ок будет. Но во первых, этот модуль доп админки не прошит доконца, видел как из-за нее находили дырки. Во вторых, короче это еще и ресурс жрет, на говно тарифах типо виртуального хостинга или мелких vps с 128 памяти, будет не очень. (вообще, vps покупайте от 1гб всегда, к слову)
    Поэтому я советую заюзать поиск от гугла. Делать его тута.
    Или замутить поиск от яндекса. Делается вот так.

    Еще, об этом модуле админки. С помощью него вы можете удалять/банить пользователей. Делать списки инвайтов и еще пару плюшек. Но сразу хочу предупредить, в LS структура по ID в базе. Тут расчитано на то, что тут нихуя не удаляется никогда, а просто рейтингом сносится в минусы, если мозолит глаза на главной. (рейтинги в конфиге двигла настриваются, там дохуя по разному можно структуры придумывать). Поэтому у вас могут возникнуть проблемы, если вы начнете удалять юзеров. Например коллективные лс собьются, если было лс на 3 человека, а одного из них удалили, то вывод этих трех id, в модуле лс, конечно проебался. И у чела будет глючный лс ящик, и он даже не сможет удалить такие лаго лс и отлистать в прошлое. Или например, в январе я случайно всех users удалил :) У меня везде комменты пропали, ибо вывод комментов идет с id коментатора. Ну короче совет — продумайте зарание структуру коллективных блогов, их тоже лучше не удалять. :)
  • Похожие записи. Например, откройте любую запись, и вы увидете похоже записи в сайдбаре. Они берутся из критериев: метки, автор, блоги. Находится схожесть короче.
    Скачать и активировать: 2me.be/z/similar.rar
  • Спойлер. Ну собсно добавляется тег спойлер.
    лалала, вот такой.
    Я люблю Олесю Петько.

    Скачать и активировать: 2me.be/z/spoiler.rar
  • Поток. Ну, вот такой короче. (это просто модуль, выводящий все посты, где были самые свежие комментарии, в самый верх естесно)
    Скачать и активировать: 2me.be/z/stream.rar
  • Все метки. Добавляет страницу, где будет абсолютно все метки, а не токо самые популярные, как в сайдбаре.
    Скачать и активировать: 2me.be/z/tags.rar
  • Добавляет, в сайдбар, где Блоги / Комментарии, еще блок Твиттор. В конфиге указывается аккуант и кол-во выводимых постов.
    Скачать и активировать: 2me.be/z/twitterfeed.rar
  • OpenId — регистрация через vkontakte, facebook, rambler, yandex, google, twitter.
    Скачать и активировать: 2me.be/z/openid.rar
    Потом настройка в /plugins/openid/config/config.php
    Для авторизаций, нам нада регнуть свой домен в приложениях тех систем.
    Для rambler, yandex, google не нужно. А вот для facebook, vkontakte, twitter нужно.
    Итак. Вконтакте — vkontakte.ru/apps.php?act=add&site=1, Фб — facebook.com/developers/createapp.php, twitter — dev.twitter.com/apps/new.
    Потом соответсвенно заполняем полученные ID в конфиге и секретные ключи.
    Еще отмечу, для твитора важно сделать так. А в FB, нужно указать домен в настройках. т.е. не важно где у вас установлен LS, поле домен должно быть — корневой домен, а не поддомен или там /blog и еще что-то. Вот.
  • Комментирование, через VK и FB.
    Скачать и активировать: 2me.be/z/vkfb-comments.rar
    Опять, как и с OpenId — создать приложения в соц сетях. И настроить конфиг.
  • OpenId через Loginza.
    Скачать и активировать: 2me.be/z/loginza_plugin_ls_1.0.0.zip
  • Добавление в профиль, полей для джебберов, скайпов и прочего.
    Скачать и активировать: 2me.be/z/social.rar
  • Возможность добавлять к постам подпись.

    Скачать и активировать: 2me.be/z/topicsignature.rar
    Настройка, в конфиге config/config.php
    А саму подпись(для админа), делать тута: plugins\topicsignature\templates\skin\default\sign_admin.tpl

Кланвары

LiveStreet
Плагин кланваров, для каких-ниб кс-сообществ раз.
Скачать и активировать: 2me.be/z/clans.zip

И парочка других кланваров.
2me.be/z/clanwars_for_all.rar

Еще, плагин, вывода мониторинга игровых серверов. Просто в отдельный блок сайдбара.
Скачать и активировать: 2me.be/z/gameservers.rar

Настройка игровых серверов осуществляется в файле config/config.php
Новый сервер нужно добавить в массив gs.servers
Config::Set('gs.servers', array(
	'cs16' => array(								// - Уникальный идентификатор (для внутреннего использования в плагине)
		'title'		=> "Counter-Strike 1.6",		// - Название для отображения
		'host'		=> array("host"),				// - Список IP-адресов сервера (в случае, если один и тот же сервер доступен по разным адресам)
		'port'		=> array("port"),				// - Список соответствующих IP-адресам портов
		'class' 	=> "CounterStrike16",			// - Имя класса обработчика сервера (для данного обработчика, например, модуль называется PluginGameServers_ModuleCounterStrike16)
		'link'		=> "http://cs16.example.com"	// - Ссылка на страницу с описанием сервера
	),
));