+35.55
Рейтинг
68.85
Сила

Кирилл

ага) маломасштабируемое решение… при необходимости расширяться исходники тебе не выдадут.

Хотя и можно свой домен привязать
вот тута:
trac.assembla.com/livestreet/browser/trunk/classes/engine/Engine.class.php#L169

осталось там же конфиги подгружать по названию модуля, а в LoadConfig() грузить тока autoLoad

Макс, ты тут? чего думаешь?:)
Модули подгружаются «на лету»… Осталось привязать к ним конфиги:)
вообще, уже частично так и есть:)
Ну вообще, для маленьких социалок подойдет
ning и vsevteme.ru

А если нужно кастомайзное решение на приличное кол-во народа, то livestreet идеален.
Правда, нужно составлять мануалы ко всему.
ну как же тут не понять!
Я к тому что на уровне смарти тебе всё равно придется узнавать к какому классу у тебя принадлежит oTopic в foreach:)

По этому нужен будет метод, который возвращает название класса объекта. Кстати, уже есть TopicType, я про него забыл. Тока его надо расширить в бд, чего-нибудь сделав с ENUM…

А данные в новые классы грузить надо через хуки… я не совсем понимаю, как у тебя это будет происходит.

1. Вот в topic.class.php у нас появился массив id.
2. Мы подтянули к нему данные для объекта топик в цикле
3. Мы берем эту коллекцию топиков в экшене или блоке и выводим в смарти.

На каком этапе у нас будет создаваться дочерний класс через хук? На этапе 2, в цикле?
А, во, Макс!

Не мог бы ты config.php приспособить для запуска через шел?
Во-первых там нет массива $_SERVER
Так что можно вставить

if (isset($_SERVER['HTTP_HOST']))
	define('DIR_WEB_ROOT','http://'.$_SERVER['HTTP_HOST']); // полный WEB адрес сайта
else
	define('DIR_WEB_ROOT',""); // тут он нам не нужен

Либо убрать вообще DIR_WEB_ROOT при запуске из консоли
А дальше вместо
$_SERVER['DOCUMENT_ROOT']

Ставить

if (isset($sDirRoot))
	define('DIR_SERVER_ROOT',$sDirRoot); // полный путь до сайта в файловой системе
else
	define('DIR_SERVER_ROOT',$_SERVER['DOCUMENT_ROOT']."/ls-video"); // полный путь до сайта в файловой системе

с учетом того, что $sDirRoot мы устанавливаем в запускаемом файле…

Либо нужно делить конфигурацию путей и другие константы на разные конфиги…
Ну так в любом случае нужно как-то определять какая сущность(вид топика) выводится в списке топиков:)
Макс, а можешь внести некоторые изменения касательно класса oTopic?

Большая часть модулей может быть в виде топиков (топик-видео, топик-холивар, топик-фотоколлаж итп.

Соответственно, чтобы можно было добавлять свои виды топика без изменений, нам нужно:
1. создать сеттер и геттер объекта (например, хуком привязываем фотоколлаж к топику:

$oTopic->setExternalObject($oPhotoCollage);
$oTopic->setExternalDataType("photocollage");


2. Потом в списке топиков (в шаблоне) мы можем забирать каждый объект:

{if $oTopic->getExternalDataType()}
  {assign var=sIncludeType value=$oTopic->getExternalDataType()}
  {assign var=sIncludeFile value="topic."|cat $sIncludeType|cat ".tpl"}
  {include file=$sIncludeFile}
{/if}
Соответственно, подружаем модульный шаблон. На странице топика можно вставить такой же код.

Вот собственно и всё..
Хороший шаблон от фрилансера может стоить тысяч 10-15 рублей.
Только желательно вместе с быстрой оплатой хостинга и покупкой домена:)

Чтобы вообще всё было понятно…
Вообще, хорошо бы скринкаст записать и выложить на youtube, skillopedia итд

Готов пожертвовать 500 рублей записавшему.
Можно ограничиться вставкой

   if (defined('ROUTE_PAGE_PAGE'))
     $this->Assign("ROUTE_PAGE_PAGE",ROUTE_PAGE_PAGE);		


Чего и всем девелоперам, вносящим изменение во Viewer желаю
А максимальный размер можно установить?
опечатка
Ну как?
Если будут вопросы по регуляркам или еще по чему, обращайся.
Мне просто тоже как раз нужен такой функционал…
Супер:)
И скоро она будет?