+6.13
Рейтинг
19.33
Сила

Продажный кодер

Создание новой страницы

Не раз видел, что у новичков (таких же как и я) возникал впорос как созать новую страницу без стандартного плагина «StaticPage», т.е. вручную.

Создаем страницу: site.ru/price/

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

Хак ReVote повторное голосование, изменение своего голоса.

В Tips&Tricks почему-то не пускает. тогда здесь наиболее уместно, пожалуй.
На примере топика, решил составить краткую инструкцию, как добавить пользователям возможность менять свой голос. Вообще, странно, что нет такой возможности по умолчанию
Сразу оговорюсь, должен быть установлен ACEAdminPanel!
Итак, нам потребуется файл /include/ajax/voteTopic.php;
Любое изменение начинаем с сохранения копии исходного файла.
находим код:

} else {
$sMsgTitle=$oEngine->Lang_Get('attention');
$sMsg=$oEngine->Lang_Get('topic_vote_error_already');
}

заменяем его на:
Читать дальше →

Персонализация

LS позиционирует себя как платформу для социальных сетей. Но люди привыкли к своему контакту и фейсбуку, а LS совершенно на них не похожа. Вот и создали шаблон Social, который успешно продают, за неплохие деньги.
Если смотреть на LS как на блог-хостинг платформу, то LS опять не рыба не мясо. Люди хотят выделится, им самовыражение подавай.
На мой взгляд необходимо дать им эту возможность.
Что требуется.
Читать дальше →

Livestreet Dictionary

Если не выложу этот плагин сейчас, то похоже не выложу его уже никогда :)

Плагин представляет собой смесь словарика для LS и упрощённую версии Wiki :)

Плагин создавался для LS 0.4 и валялся на задворках файловой структуры моей флэшки :)
Но наконец-то я взял себя в руки и перенёс его на LS 0.4.2.
Читать дальше →

Плагин "Really new topics"

Бывает так, что ты отлучаешься на несколько дней, а когда возвращаешься на любимый сайт, в ленте новых топиков не все, что были за это время. И приходится копать вглубь коллективных и персональных блогов. А хотелось бы просто видеть новые топики в ленте «Новые».

Предлагаю плагин «Really New Topics», который делает так, что в ленте «Новые» появляются все непрочитанные топики с последнего визита.

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

Правильный способ модификации enum в плагинах.

Проблема заключается в том, что некоторые плагины заменяют поле target_type таблицы comment, тем самым создавая свои новые типы комментариев, но затирая при этом уже добавленные. Разработчики упрощают себе жизнь, ограничиваясь строкой в dump.sql (пример из плагина «компании»)
ALTER TABLE `prefix_comment` 
	MODIFY target_type enum('topic','talk','company','clan') 
	DEFAULT 'topic';

В список риска попадает практически всё, где используется target_type enum: favourite, vote, comment_online.

При установки нескольких таких плагинов начинается бардак. Такие недоработки я заметил в следующих плагинах: «Компании», «Объявления», «Вопросы и ответы», «Места и события». Так делать нельзя. Программист разберется и исправит ошибку, но что делать обычным людям, далеким от php и sql, которые просто используют движок и несколько таких плагинов?

Тру кодером оказался Алексей Волков, разработчик «Комментариев для статических страниц». При установке плагина он в функции Activate проверяет target_type и добавляет новое поле только если его там нет, сохраняя при этом его старое содержимое. Не спросясь разрешения Алексея (надеюсь он меня простит — за правое дело радею) выкладываю часть кода, отвечающего за это.

$oDb = $this->Database_GetConnect();
$sql = 'SHOW COLUMNS FROM  `'.Config::Get('db.table.comment').'`';
$aRows = $oDb->select($sql);
foreach ($aRows as $aRow) {
	if ($aRow['Field'] == 'target_type') break;
}

if (strpos($aRow['Type'], "'page'") === FALSE)
{
	// - Вносим изменение в поле target_type в таблице prefix_comment
	$aRow['Type'] =str_ireplace('enum(', "enum('page',", $aRow['Type']);
	$sql = "ALTER TABLE `".Config::Get('db.table.comment')."` 
		CHANGE `target_type` `target_type` " . $aRow['Type'] . " 
		NOT NULL DEFAULT 'topic'";
	$oDb->query($sql);
} 


Уважаемые разработчики, не поленитесь обновить свои плагины и внести изменения.

Хотел опубликовать в тематическом блоге, например в «Дополнительные модули и доработки для LiveStreet», но видимо не хватает кармы, это мой первый пост/комментарий вообще на livestreet.ru

PS. в sql запросах типа ALTER проще использовать MODIFY вместо CHANGE, т.к. первый не требует указывать название поля два раза.

Раздел "Твиттер" в "Прямом эфире"

В блоке «Прямой эфир» появляется новая вкладка «Твиттер», куда выводятся последние твиты из аккаунта, который задан в конфиге. Позволяет организовать вывод последних твитов вашего сайта, любимого исполнителя (группы), новостей и проч.

Параметры конфига:

— Имя пользователя, чьи твиты показывать
— Количество твитов для показа
— Превращать ли текстовые линки в ссылки.

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

LiveStreet для со-творчества

Привет всем! Есть идея для проекта: эдакий «sourceforge» для разных форм творчества.

Хочется чтобы в сети была платформа, где незнакомые люди могли бы быстро и просто (даже в случае если говорят на разных языках) заняться совместным творчеством.

Опишу как я это вижу на таком примере:
— какой-нибудь электронный музыкант, выкладывает исходники и preview своей композиции под лицензией CC. Какому-нибудь инструменталисту понравилась мелодия — он наиграл тему на своем инструменте и прямо туда же в исходный пост добавил свою звуковую дорожку или же сразу версию с совмещенными дорожками.
Пока что я четко представляю как можно все это осуществить для совместного музыкального творчества, но теоретически в последующем можно попробовать развить такой подход и к другим формам творчества.

Итак, имея нынешний LiveStreet, на мой взгляд, такую идею осуществить достаточно просто.
Читать дальше →