Вы не зашли.
Куда уж мне.. я еще свой немогу до перфекта довести, просто хочу чтоб любые пллагины, подгружались одним нажатием клика в админке, ну и конечно работали без проблем, все ето без виджетов (они я считаю вообше ненужны, полюбому дизайн весь переделывать пос каждый шаблон приходиса), т.к. блок с плагином прячу под [isplugin plugin*]...[/isplugin].
Вот как доведу все до ума, тогда только грузи маин.тпл и стили в дримвьювер, и штампуй шаблоны в свое удовольствие со 100% уверенностью что все будет работать.
Не ну впринципе если составить минимальный набор плагинов которые должны работать обязательно. то проверить шаблоны недолго, да и скрины привести в один формат, тут работы на полчаса - час, конечно если самому в шаблонах нековырятса.
Если Виталик даст добро, сделаю.
+1 мне тоже очень нужен, пытался подставить в него пхп с нового раитинг, они там отличаются то всего пару строчками, вроде ява скрипт заработал, т.е. страницу обновляет, а вот в базу записывать нехочет, и куки недает. :(:(
Ну ясненько, значит нечего нерегестрированным флудить где попало, так и так хотел им запретить, это тока на время теста разрешил им комменты.
Только вот интересная весчь на моем шабе код меньший отсылаетса чем на дефолтном, хотя и движок и яваскрипт, да и данные теже... Неужто он всю ТПЛ отсылает...
Да 000webhost.com, для тренировки думаю пойдет, довольно шустро работает вроде.
А что никак по другому нелечитса только платным хостингом?
И в чем тут суть что ему ненравитса? может както можно обойти?
У меня с комментами другая трабла, на локалке все работает а на хосте при отправки коммента незарегестрированным пользователем вылазит вот что:
Firefox/3.5.8
на дефолтном шаблоне еше страшнее:
Firefox/3.5.8
а вот так на дефолтном в ИЕ 8.0:
У кого какие идеи, как это пофиксить? стоит 0.9.1 Release + фикс пак.
Предлагаю прикрутить к сайту галлерею со слайд шоу из безплатных шаблонов, чтобы пользователю скачав движок ненадобыло ползать по форуму и тыкать в каждый пост выбирая себе дизайн...
Темболее что количество шаблонов все растет и растет, что неможет нерадовать.
А так пролистав слайд шоу нужен будет лиш 1 клик по картинке понравившегося шаблона, и вуаля он на нужном посте форума.
Фуухх точно BIG TNX!!!
Просто 3 раза уже перезаливал движок на сервер, и в последний раз забыл удалить конфиг, а блин полночи мучал этот хтаксес и доступы, и гуглил до посинения.
Версия 0.9.1 Release [420]
На локалке все работает замечательно, но когда залил файлы на хост при попытке зайти на сайт выдает:
An Error Occurred Unable to connect to the database!
При этом к простым хтмл страницам доступ есть заливал - открывает.
Подозреваю что это чтото в .htaccess нетак прописано.
[hr /]
Domain mans.net.ru
Username *****
Password *****
Disk Usage 0 / 1500.0 MB
Bandwidth 100000 MB (100GB)
Home Root /home/хххх
Server Name server32.000webhost.com
IP Address 216.108.239.136
Apache ver. 2.2.13 (Unix)
PHP version 5.2.*
MySQL ver. 5.0.81-community
Activated On 2010-02-22 11:59
Status Active
[hr /]
На хосте Rewrite_mod On
#
# Copyright (C) 2006-2010 Next Generation CMS (http://ngcms.ru)
# Name: .htaccess
# Description: mod_rewrite htaccess file
# Author: NGCMS project team
#
DirectoryIndex index.php
<files .htaccess>
order allow,deny
deny from all
</files>
php_flag register_globals off
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag magic_quotes_sybase off
php_flag allow_call_time_pass_reference on
php_value session.use_trans_sid 0
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [S=35]
# Editable links RewriteRule ^.+$ index.php?$1 [QSA,L]
Может кто встречался с чем-либо подобным? Или это в доступах проблема?
(доступы стоят по умолчанию на файлы 644, на папки 755)
Сведущие люди отзовитесь! NEED HELP PLEASE!
(Если надо могу выложить настройки ПХП хоста, уже даже незнаю куда копать дальше )
Поправил и перезалил, ссылка обновлена.
Неплохо!:)
Удобно менять и цветовую гамму и вообще в шаблонах ковыряться.
Да я его и верстал чисто для этих целей, как стартовую площадку для создания шаблонов, поэтому кода минимум и легко найти где что менять, в отличие от блочного где аж в глазах рябит когда ищеш чтолибо в коде.
Ещеб админку переписать, чтоб так-же легко редактировалась...
Мой первый шаблон на дивах, так-что пожалуста сильно небейте, надоело всматриватса в эти кучи "ТРок" и "ТДшек" выискивая нужную переменную вот и решил сделать чтото легкое в понимании и редактировании.
Практически все ТПЛки переведены на дивы, CSS с подразделами.
Панель навигации неродная, прописана main.tpl+CSS (варианта 2 или переписать названия и ссылки категорий туда, или же вырезать ее, новые категории добавляютса в нее-же)
Поддерживаемые плагины:
1. popular
2. lastnews
3. tags + tagscloud(3d) минус только ИЕ нехочет отображать облако
4. voting
5. comments
6. lastcomments + hintbox
7. k_online (правда без списка пользователей онлайн)
8. uprofile
Шаблон прошел проверку w3c с плагинами (popular, last news, last comments, comments, uprofile, tags, k_online)
Кроссбраузерность: Тестировался только на FF и IE-8.0
Скачать: http://rapidshare.com/files/354873901/slim_template.rar
Так а кто тебе помешает убрать этот код из main.tpl, если тебе не нужна будет форма поиска?
Ну я то уберу, я даже пусть буду долго копатся в движке но постараюсь убрать все "tvar" для тех шаблонов или функций которые мне ненужны, чтобы максиммально его облегчить, но речь идет о простых пользователях которые может совсем неразбираются в хтмл и убрать из шаблона только лишь переменную им намного проще, вот почему я выразил предложение:
создать в шаблоне файл конфига, в котором можно было бы задавать свои уникальные шаблоны для подключения в основной каркас наподобие LANG, где можно было бы создать свою уникальную переменную и подключить по ней свой шаблон.
тогда неиспользуюшиеся переменные небудут работать и ядро будет полностью отдельным от шаблонов элементом сайта.
Зачем в холостую гонять код если им непользуешся.
Я против чтоб загружать майн по моему мнению и для быстроты загрузки сайта он должен содержать только хедер, футер и основной каркас состоящий из пары таблиц, а его остальмые шаблоны должны подгружатьса в него только по необходимости, в зависимости от ссылки по которой переходит пользователь.
Любой желающий и так может вставить эту форму в майн если она ему там нужна вместо переменной.
Я предлагаю другой вариант обьеденить search.table.tpl + search.entries.tpl , тогда у нас будут шаблоны: search.tpl и search.full.tpl.
Туже операцию предлагаю проделать со всеми ентриес, зачем ети пустые шаблоны содержащие 2 дива, или 2 ячейки таблицы? -- внести их в шаблон родитель в какой-либо конструкции типа [entries search ][/entries],
чтобы ядро знало что содержимое надо будет повтовторять, так сайт выглядел бы компактнее, редактировать было бы удобнее, но это скорей всего сложно осуществить...
А то лостпассворд аж из 3х шаблонов состоит в одном 1 ячейка, во 2 - 2 ячейки, ну только в главном форма в таблице.
Вот хорошая идея: создать в шаблоне файл конфига, в котором можно было бы задавать свои уникальные шаблоны для подключения в основной каркас наподобие LANG, где можно было бы создать свою уникальную переменную и подключить по ней свой шаблон.
Например:
в файле конфига:
"vasya_pupkin" = "vasya_pupkin_fotogalery.tpl"
Переменная для подключения шаблона:
{vasya_pupkin}
В дефолтном конфиге оставить все как есть сейчас, а из ядра вынести все это назначение кучи переменных для всяких разных шаблонов, сколько лишнего кода будет убрано!
Простой инклюд конфига и движок на 10% точно полегчает, а может и на все 25% а какая свобода действий для верстальшиков!
Можно будет будет лепить из движка все что угодно и ненадо будет рыться по рхп файлам в поисках какойто переменной чтоб поменять.
А насколько легко будет адаптировать шаблоны.. переназначил переменные и вуаля все готово!
Класс! помогло, спасибо!!!
но XHTML 1.0 это ведь непредел... пожже будем выше карабкатся, шас надо еще CSS валидным сделать.
Проверил сайт у валидатора..тот ругается сильно, нашел 45 ошибок, похоже собака зарыта гдето в пхп.
Кто в этом разбирается помогите пожалуста найти и исправить, хочется валидный сайтик сделать...
Вот что валидатор пишет:
Line 150, Column 867: reference to external entity in attribute value
…t/?action=plugin&plugin=tags&tag=%F2%E5%E3%E8'>теги</a>, <a href='http://
This is generally the sign of an ampersand that was not properly escaped for inclusion in an attribute, in a href for example. You will need to escape all instances of '&' into '&'.
# Line 186, Column 757: reference to external entity in attribute value
…t/?action=plugin&plugin=tags&tag=cms'>cms</a>, <a href='http://localhost/
This is generally the sign of an ampersand that was not properly escaped for inclusion in an attribute, in a href for example. You will need to escape all instances of '&' into '&'.
# Error Line 186, Column 757: reference to entity "tag" for which no system identifier could be generated
…t/?action=plugin&plugin=tags&tag=cms'>cms</a>, <a href='http://localhost/
This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.
Line 224, Column 60: XML Parsing Error: EntityRef: expecting ';'
…st/?action=plugin&plugin=tags&tag=%EE%E1%EB%E0%EA%EE+%F2%E5%E3%EE%E2' sty
И все 45 ошибок такие, что ему ненравится кто подскажет?
И как это исправить?
Заранее благодарен за помощь
Класс! Большое спасибо за постраничку, да я делал и как ты писал, и потом еше по всякому пока хоть как то незаработало и перестало выдавать ошибки.
Единственная шас проблема что в этом варианте что ты дал незарегеным гостям ставится дата регистрации 1 января 1970, я в старом варианте это фиксил так:
if ($config['use_avatars']) {
$sql = "select c.*, u.avatar, u.com, u.news, u.reg as regdate from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id where c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'')." order by c.id".($config['reverse_comments']?' desc':'').($commID?'':" limit ".$limit_start.",".$limit_count);
} else {
$sql = "select c.*, u.com, u.news, u.reg as regdate from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id WHERE c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'')." order by c.id".($config['reverse_comments']?' desc':'').($commID?'':" limit ".$limit_start.",".$limit_count);
}
$comnum = 0;
foreach ($mysql->select($sql) as $row) {
$comnum++;
$tvars['vars']['id'] = $row['postdate'];
$tvars['vars']['author'] = $row['author'];
$tvars['vars']['mail'] = $row['mail'];
$tvars['vars']['date'] = LangDate(ctimestamp, $row['postdate']);
$tvars['vars']['com'] = $row['com'];
$tvars['vars']['reg'] = langdate("j Q Y", $row['regdate']);
if ($row['reg']) {
$tvars['vars']['profile_link'] = GetLink('user', $row);
$tvars['regx']["'\[profile\](.*?)\[/profile\]'si"] = '$1';
} else {
$tvars['vars']['profile_link'] = '';
$tvars['regx']["'\[profile\](.*?)\[/profile\]'si"] = '';
///------->>> $tvars['vars']['reg'] ='';
}
Скажи пожалуйста так будет корректно работать или както по другому нада?
Указал строку стрелкой а то внутри кода выделить цветом то нельзя.
Вроде настроил методом тыка.. незнаю правильно или нет но выводит и комменты и дату регистрации, главное чтоб конфликтов небыло, посмотри пожалуста неперемудрил ли я там...
А постраничку комментариев я так и непоставил, на форуме ненашел но наверно с 2z по идее должна подходить, но ничего неполучается после замен выводит ошибку: Division by zero в news.php ,
Да и autokey никак нестановится, как запускаю вылазит код в шапке, а вместо редактируемой новости голый тег, толи у меня рули кривые , толи релиз мой кривой... или плагины корректировать нада
Уже целую неделю никак до ума недоведу движок, то один плагин нехочет ставится то другой, уже бы пару шаблонов сверстал...
Может быть у кого нибудь есть готовая рабочая сборка для новостного портала?
Буду премного благодарен если выложите...
Что то с чем то нестыкуется переставляв все по новой раза 3 а результат:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\web\engine\includes\classes\mysql.class.php on line 32
и
Ошибка: Error! Bad select query! [select c.*, u.avatar, u.com, u.news, u.reg as regdate from ng_comments c left join ng_users u on c.author_id = u.id where c.post='1' order by c.id limit ,]
Думаю это из-за кеша, наверно при отправке собшений, движок загружает страницу из кеша и плагин неполучает данных. У меня такие же проблемы с блоком онлайн, захожу пишет никого онлайн, перезагружаю страницу и все норма.
Но все равно кеш суперская вещь, раньше пользовался ДЛЕ, и незнал что движок напичканный под самое никуда плагинами может грузить страницы с 8, махимум 10 запросами к БД.
Попробовал тут еше один движок кажется Даннео, и ужаснулся.. при установке тот создал 40+ таблиц в БД, а индех загрузил с 50+ запросами... это была его первая и последняя загрузка...
Кажется в rating.php еще в открывающем теге небыло добавки "php", ну незнаю я не специалист в пхп, но после моих действий код перестал вылазить на страницу сайта и рейтинг наконец заработал.
Недавно начал осваивать этот движок, гоняю его на локалке, настраиваю и подгоняю дизайн и еше надоем вам вопросами, пока он неприобретет пристойный вид и небудет окончательно настроен для размещения в сети, ибо пхп для меня темный лес, только недавно освоил хтмл и цсс, а для пхп пока нету времени, поэтому прошу заранее простить о гуру NG CMS
Сразу 1 вопрос: по user ranking, установлен релиз с 4м фиксом, выполнил все пункты замены, но если в
user_ranks.php
if ($row['reg'] == "1")
то неработает, т.е. видно только {plugins_user_ranks},
а если
if ($row['reg'])
то присваивает первый ранг всем и регистрированным и нерегистрированным (заходил на сайт с другого браузера который без кук через внешний айпи)
прилагаю мой comments.show.php может в нем проблема? почемуто неприкрепляется придется выложить так:<?php
// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');
$lang = LoadLang("comments", "site");
//
// Show comments for a news
// $newsID - [required] ID of the news for that comments should be showed
// $commID - [optional] ID of comment for showing in case if we just added it
// $commDisplayNum - [optional] num that is showed in 'show comment' template
// $callingParams
// 'plugin' => if is called from plugin - ID of plugin
// 'overrideTemplateName' => alternative template for display
// 'overrideTemplatePath' => alternative path for searching of template
function comments_show($newsID, $commID = 0, $commDisplayNum = 0, $callingParams = array()){
global $mysql, $tpl, $template, $config, $userROW, $parse, $lang;
// -> desired template path
$templatePath = ($callingParams['overrideTemplatePath'])?$callingParams['overrideTemplatePath']:tpl_dir.$config['theme'];
// -> desired template
if ($callingParams['overrideTemplateName']) {
$templateName = $callingParams['overrideTemplateName'];
} else {
$templateName = 'comments.show';
}
$tpl -> template($templateName, $templatePath);
$showNumber = 30; // количество комментариев на страницу
$cstart = intval($_REQUEST['page']) ? abs(intval($_REQUEST['page'])) : 1;
$limit_start = ($cstart - 1) * $showNumber;
$limit_count = $showNumber;
if ($config['use_avatars']) {
$sql = "select c.*, u.avatar, u.com, u.news from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id where c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'')." order by c.id".($config['reverse_comments']?' desc':'');
} else {
$sql = "select c.*, u.com, u.news from ".prefix."_comments c WHERE c.post=".db_squote($newsID).($comment_id?(" and c.id=".db_squote($comment_id)):'')." order by c.id".($config['reverse_comments']?' desc':'');
}
$comnum = 0;
foreach ($mysql->select($sql) as $row) {
$comnum++;
$tvars['vars']['id'] = $row['postdate'];
$tvars['vars']['author'] = $row['author'];
$tvars['vars']['mail'] = $row['mail'];
$tvars['vars']['date'] = LangDate(ctimestamp, $row['postdate']);
if ($row['reg']) {
$tvars['vars']['profile_link'] = GetLink('user', $row);
$tvars['regx']["'\[profile\](.*?)\[/profile\]'si"] = '$1';
} else {
$tvars['vars']['profile_link'] = '';
$tvars['regx']["'\[profile\](.*?)\[/profile\]'si"] = '';
}
// Add [hide] tag processing
$text = $row['text'];
if ($config['blocks_for_reg']) { $text = $parse -> userblocks($text); }
if ($config['use_htmlformatter']) { $text = $parse -> htmlformatter($text); }
if ($config['use_bbcodes']) { $text = $parse -> bbcodes($text); }
if ($config['use_smilies']) { $text = $parse -> smilies($text); }
if (intval($config['com_wrap']) && (strlen($text) > $config['com_wrap'])) {
$tvars['vars']['comment-short'] = substr($text, 0, $config['com_wrap']);
$tvars['vars']['comment-full'] = substr($text, $config['com_wrap']);
$tvars['regx']["'\[comment_full\](.*?)\[/comment_full\]'si"] = '$1';
} else {
$tvars['vars']['comment-short'] = $text;
$tvars['regx']["'\[comment_full\](.*?)\[/comment_full\]'si"] = '';
}
if ($commID && $commDisplayNum)
$comnum = $commDisplayNum;
$tvars['vars']['comnum'] = $comnum;
$tvars['vars']['alternating'] = ($comnum%2) ? "comment_even" : "comment_odd";
if ($config['use_avatars']) {
if ($row['avatar']) {
$tvars['vars']['avatar'] = "<img src=\"".avatars_url."/".$row['avatar']."\" alt=\"".$row['author']."\" />";
} else {
// If gravatar integration is active, show avatar from GRAVATAR.COM
if ($config['avatars_gravatar']) {
$tvars['vars']['avatar'] = '<img src="http://www.gravatar.com/avatar/'.md5(strtolower($row['mail'])).'.jpg?s='.$config['avatar_wh'].'&d='.urlencode(avatars_url."/noavatar.gif").'" alt=""/>';
} else {
$tvars['vars']['avatar'] = "<img src=\"".avatars_url."/noavatar.gif\" alt=\"\" />";
}
}
} else {
$tvars['vars']['avatar'] = '';
}
if ($config['use_bbcodes']) {
$tvars['regx']["'\[quote\](.*?)\[/quote\]'si"] = '$1';
} else {
$tvars['regx']["'\[quote\](.*?)\[/quote\]'si"] = '';
}
if ($row['answer'] != '') {
$answer = $row['answer'];
if ($config['blocks_for_reg']) { $answer = $parse -> userblocks($answer); }
if ($config['use_htmlformatter']) { $answer = $parse -> htmlformatter($answer); }
if ($config['use_bbcodes']) { $answer = $parse -> bbcodes($answer); }
if ($config['use_smilies']) { $answer = $parse -> smilies($answer); }
$tvars['vars']['answer'] = $answer;
$tvars['vars']['name'] = $row['name'];
$tvars['regx']["'\[answer\](.*?)\[/answer\]'si"] = '$1';
} else {
$tvars['regx']["'\[answer\](.*?)\[/answer\]'si"] = '';
}
if (is_array($userROW) && (($userROW['status'] == "1") || ($userROW['status'] == "2"))) {
$tvars['vars']['[edit-com]'] = "<a href=\"".admin_url."/admin.php?mod=editcomments&newsid=$newsID&comid=$row[id]\" target=\"_blank\" title=\"".$lang['addanswer']."\">";
$tvars['vars']['[/edit-com]'] = "</a>";
$tvars['vars']['[del-com]'] = "<a href=\"".admin_url."/admin.php?mod=editcomments&subaction=deletecomment&newsid=$newsID&comid=$row[id]&oster=$row[author]\" title=\"".$lang['comdelete']."\">";
$tvars['vars']['[/del-com]'] = "</a>";
$tvars['vars']['ip'] = "<a href=\"http://www.nic.ru/whois/?ip=$row[ip]\" title=\"".$lang['whois']."\">".$lang['whois']."</a>";
} else {
$tvars['regx']["'\\[edit-com\\].*?\\[/edit-com\\]'si"] = '';
$tvars['regx']["'\\[del-com\\].*?\\[/del-com\\]'si"] = '';
$tvars['vars']['ip'] = '';
}
exec_acts('comments', $row, &$tvars);
$tpl -> vars($templateName, $tvars);
if ($commID) { echo $tpl -> show($templateName); }
$template['vars']['mainblock'] .= $tpl -> show($templateName);
}
$maxNavigations = 10; // количество отображаемых страниц; соответствует указанному лишь приблизительно
// Make navigation bar
$navigations = getNavigations(tpl_dir.$config['theme']);
$tpl -> template('pages', tpl_dir.$config['theme']);
$which_link = 'full_page';
if ($config['category_link']) {
global $catz;
$row['catid'] = array();
$categories = explode('-', category);
foreach ($categories as $cat)
{
$row['catid'][] = $catz[$cat]['id'];
}
$row['catid'] = implode(',', $row['catid']);
} else {
$row['postdate'] = mktime(0, 0, 0, month, day, year);
}
$row['alt_name'] = altname;
// Prev page link
if ($limit_start && $comnum) {
$prev = floor($limit_start / $showNumber);
$row['page'] = $prev;
$tvars['regx']["'\[prev-link\](.*?)\[/prev-link\]'si"] = str_replace('%page%',"$1",str_replace('%link%',GetLink($which_link, $row), $navigations['prevlink']));
} else {
$tvars['regx']["'\[prev-link\](.*?)\[/prev-link\]'si"] = "";
$no_prev = true;
}
$commCount = $mysql->result("SELECT count(*) as count FROM ".prefix."_comments WHERE post=".db_squote($newsID).($commID?(" and id=".db_squote($commID)):''));
$pages_count = ceil($commCount / $showNumber);
$pages = '';
$sectionSize = floor($maxNavigations / 3);
if ($pages_count > $maxNavigations) {
// We have more than 10 pages. Let's generate 3 parts
// Situation #1: 1,2,3,4,[5],6 ... 128
if ($cstart < ($sectionSize * 2)) {
$pages .= generateNavigations($cstart, 1, $sectionSize * 2, $which_link, $row, $navigations);
$pages .= $navigations['dots'];
$pages .= generateNavigations($cstart, $pages_count-$sectionSize, $pages_count, $which_link, $row, $navigations);
} elseif ($cstart > ($pages_count - $sectionSize * 2 + 1)) {
$pages .= generateNavigations($cstart, 1, $sectionSize, $which_link, $row, $navigations);
$pages .= $navigations['dots'];
$pages .= generateNavigations($cstart, $pages_count-$sectionSize*2 + 1, $pages_count, $which_link, $row, $navigations);
} else {
$pages .= generateNavigations($cstart, 1, $sectionSize, $which_link, $row, $navigations);
$pages .= $navigations['dots'];
$pages .= generateNavigations($cstart, $cstart-1, $cstart+1, $which_link, $row, $navigations);
$pages .= $navigations['dots'];
$pages .= generateNavigations($cstart, $pages_count-$sectionSize, $pages_count, $which_link, $row, $navigations);
}
} else {
// If we have less then 10 pages
$pages .= generateNavigations($cstart, 1, $pages_count, $which_link, $row, $navigations);
}
$tvars['vars']['pages'] = $pages;
// Next page link
if (($prev + 2 <= $pages_count) && $comnum) {
$row['page'] = $prev + 2;
$tvars['regx']["'\[next-link\](.*?)\[/next-link\]'si"] = str_replace('%page%',"$1",str_replace('%link%',GetLink($which_link, $row), $navigations['nextlink']));"<a href=\"".GetLink($which_link, $row)."\">$1</a>";
} else {
$tvars['regx']["'\[next-link\](.*?)\[/next-link\]'si"] = "";
$no_next = true;
}
if ($comnum && ($pages_count>1)){
$tpl -> vars('pages', $tvars);
$template['vars']['mainblock'] .= $tpl -> show('pages');
}
}
// $callingParams
// 'plugin' => if is called from plugin - ID of plugin
// 'overrideTemplateName' => alternative template for display
// 'overrideTemplatePath' => alternative path for searching of template
function comments_showform($newsID, $callingParams = array()){
global $mysql, $config, $template, $tpl, $userROW;
// -> desired template path
$templatePath = ($callingParams['overrideTemplatePath'])?$callingParams['overrideTemplatePath']:tpl_dir.$config['theme'];
// -> desired template
if ($callingParams['overrideTemplateName']) {
$templateName = $callingParams['overrideTemplateName'];
} else {
$templateName = 'comments.form';
}
$tpl -> template($templateName, $templatePath);
if($config['use_smilies']) {
$tvars['vars']['smilies'] = InsertSmilies('comments', 10);
} else {
$tvars['vars']['smilies'] = "";
}
if ($_COOKIE['com_username'] && trim($_COOKIE['com_username']) != "") {
$savedname = urldecode($_COOKIE['com_username']);
$tvars['vars']['savedname'] = $savedname;
$tvars['vars']['savedmail'] = $_COOKIE['com_usermail'];
$tvars['vars']['savedurl'] = $_COOKIE['com_userurl'];
} else {
$template_form = str_replace("{savedname}", "", $template_form);
$tvars['vars']['savedname'] = '';
$tvars['vars']['savedmail'] = '';
$tvars['vars']['savedurl'] = '';
}
if (!is_array($userROW)) {
$tvars['vars']['[not-logged]'] = "";
$tvars['vars']['[/not-logged]'] = "";
} else {
$tvars['regx']["'\\[not-logged\\].*?\\[/not-logged\\]'si"] = "";
}
if ($config['use_captcha']) {
$tvars['vars']['admin_url'] = admin_url;
if (!is_array($userROW)) {
@session_register('captcha');
$_SESSION['captcha'] = rand(00000, 99999);
$number = $_SESSION['captcha'];
} else {
$number = $_SESSION['captcha'];
}
$tvars['vars']['captcha'] = '';
$tvars['regx']["'\[captcha\](.*?)\[/captcha\]'si"] = '$1';
} else {
$tvars['regx']["'\[captcha\](.*?)\[/captcha\]'si"] = '';
}
$tvars['vars']['bbcodes'] = BBCodes();
$tvars['vars']['skins_url'] = skins_url;
$tvars['vars']['newsid'] = $newsID;
exec_acts('comments_form', $row);
$tpl -> vars($templateName, $tvars);
$template['vars']['mainblock'] .= $tpl -> show($templateName);
}
// preload plugins
load_extras('comments');
load_extras('comments:show');
и 2 вопрос: какие изменения нужно ввести в код чтобы переменные из users.php отображались в комментах, в частности хотелоць бы отображать дату регистрации юзера, и количество его комментов, если я вставляю {com} и {reg} в шаблон и прописываю в comments.show.php
$tvars['vars']['com'] = $row['com'];
$tvars['vars']['reg'] = langdate("j Q Y", $row['reg']);
то {com} вроде работает, а вот {reg} выдает дату неизвестно откуда :1 января 1970
как все ето сделать грамотно подскажите пожалуста..
Конечно самый лучший вариант был бы еслиб была доступна для скачивания версия движка со всеми предустановленными и настроенными плагинами деактивизировать лишнее и удалить намного проще чем настроить для людей мало знакомых с пхп
Эххх... значит теперь придется ждать пока Админ удалит учетную запись, и регистрироватся поновой под другим ником с новым мылом регится нехочется...
Невеселая жизнь у нас роботов..ничего нескачать , нигде коммент ниоставить..
С помощью данного плагина Вы можете присвоить пользователям ранги.
Максимальное кол-во рангов - 7.....
Плагин прикреплен к сообщению. ...
А где сам плагин то?
P.S. Наткнулся на этот движок совсем случайно, давно искал чтото подобное: легий двиг, возможность легко адаптировать под любые нужды без хаков ядра, только с помошью плагинов, и главное шаблонный дизайн чтоб для смены стиля сайта не нужно было перерывать гору пхп файлов двига.
Но есть и минусы:
Форум поддержки или глючный или настроен криво, я зарегистрировался несколько дней назад и все еще кроме этой темы нигде немогу оставить сообщение, также немогу скачать плагин simple rating, пишет: нет прав для доступа, ему что прав юзера мало? Или его тока админы и модераторы могут скачать а нам смертным недано?
С таким подходом сообшество не расширишь, потому как у новых пользователей соответственно будет куча вопросов по настройке, установке, использованию.
Также огорчают ошибки в дистрибутиве и плагинах из-за них пришлось потратить кучу драгоценного времени зря, а поскольку доступа к коментам на форуме нету помощи ждать неоткуда.
В частности в последнем дистрибутиве пхп файле плагина rating нет закрываюшего тега пхп, и из-за этого при включении плагина на сайте вылазил код, такая же ерунда была еше в каком-то плагине скачанном с форума.
Ну это так.. лирика, а двиг и в самом деле хорош, респект разработчикам!
Готов оказывать поддержку в его популяризации.