| 
				
					| YuraP0d | Отправлено: 30 октября 2013 — 16:13   |  
					| 
  
 
  Member
 
  
 Покинул форум
 Сообщений всего: 133
 Дата рег-ции: Июнь 2013
 Репутация: 2
 
 
 
 
  
 | BON пишет:И как им это доказать? Если потребуют? Отправить все тексты себе по почте в конвертах в нескольких экземплярах?поисковых систем. сказать что контент принадлежит тебе и всё. У меня уже ни один раз было 
 
 Zeg пишет:Если текст уникальный, частично решает проблему заявление об его уникальности в настройках Вебмастера Яндекса  (Содержимое сайта - Оригинальные тексты). Кажется, что-то похожее есть в Гугле, но точно не помню, нужно покопаться. Это да, раньше эта процедура на Яндексе была для сайтов с ТИЦ не менее 10, теперь доступна для всех. Только вчера узнал, что сняли ограничение.
 |  
					|  |  |  
				
					| electron | Отправлено: 3 ноября 2013 — 19:10   |  
					| 
  
 
  ExBB Team
 
  
 Покинул форум
 Сообщений всего: 3917
 Дата рег-ции: Февр. 2009
 Репутация: 341
 
 
 
 
  
 | так. ситуация та же, что описана здесь , т.е. есть исполняемый файл homepage.php , который лежит в корне форума, на него попадаем при заходе на форум. сделано с помощью .htacces. есть файл homepage.tpl , в котором собран весь каркас страницы. вопрос : как на эту страницу вывести данные со страницы типа http://exbb.info/community/searc...?action=newposts , причем только названия тем, чтоб в специальном блоке выводились непрочитанные темы каждого юзера.
 пробовал брать функции из search.php , но или я дурак, или лыжи неправильные, но бьюсь уже несколько дней - не выходит нифига.... на форуме стоит модуль хранения статистики чтения тем на сервере (watches).
 |  
					|  |  |  
				
					| electron | Отправлено: 4 ноября 2013 — 05:40   |  
					| 
  
 
  ExBB Team
 
  
 Покинул форум
 Сообщений всего: 3917
 Дата рег-ции: Февр. 2009
 Репутация: 341
 
 
 
 
  
 | на данный момент он вот такой : 
 Спойлер (Отобразить)CODE:<?phpdefine('IN_EXBB', TRUE);
 include('./include/common.php');
 $fm->_GetVars();
 $fm->_BOARDSTATS();
 
 // готовим данные
 $onlinedata = $fm->_OnlineLog($fm->LANG['BoardMain'],FALSE,TRUE);
 $countonline = ($fm->exbb['visiblemode'] === TRUE) ?
 sprintf($fm->LANG['OnlineDataVSHide'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_OnlineGuest,$fm->_Members,$fm->_Invisible):
 sprintf($fm->LANG['OnlineData'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_Members,$fm->_OnlineGuest);
 $online_last = $countonline . ' [<span class="admin">'.$fm->LANG['Admin'].'</span>, <span class="supmoder">'.$fm->LANG['SuperModer'].'</span>,
 <span class="moder">'.$fm->LANG['Moderator'].'</span> , '.$fm->LANG['User'].' ]';
 
 $members_output = $fm->_MembersOutput;
 $todayvisit = FALSE; today($todayvisit);
 
 $maximum = sprintf($fm->LANG['MaxUsers'],$fm->_Stats['max_online']).date("d.m.Y H:i",$fm->_Stats['max_time']+$fm->user['timedif']*3600);
 
 $homepage = $fm->_Read(FM_HOMEPAGE);
 
 // выводим данные
 include('./templates/'.DEF_SKIN.'/all_header.tpl');
 include('./templates/'.DEF_SKIN.'/logos.tpl');
 include('./templates/'.DEF_SKIN.'/modules/portal/portal.tpl');
 include('./templates/'.DEF_SKIN.'/footer.tpl');
 
 // объявляем функции
 function today(&$todayvisit)
 {
 global $today, $fm;
 $members = $hiddens = 0;
 $was = array();
 if (empty($today['members'])) {$today['members'] = array();}
 foreach ($today['members'] as $id => $member)
 {
 switch ($member['s'])
 {
 case 'ad': $class = ' class="admin"'; break;
 case 'sm': $class = ' class="supmoder"'; break;
 default: $class = '';
 }
 if ($member['v'])
 {
 if ($member['s'] != 'ad') {$hiddens++;}
 if (defined('IS_ADMIN') || $id == $fm->user['id']) {$member['n'] .= '*';}
 else {continue;}
 }
 else
 {$members++;}
 $was[] = '<a href="profile.php?action=show&member='.$id.'"'.$class.'>'.$member['n'].'</a>';
 }
 $sel_hiddens = ($hiddens) ? sprintf($fm->LANG['HiddensOnline'], $hiddens) : '';
 $sel_was = ($was) ?
 '<br /> '.implode(', ', $was).'' : '';
 $todayvisit = sprintf($fm->LANG['TodayVisit'], $today['guests'] + $members + $hiddens, $today['guests'], $members, $sel_hiddens, $sel_was);
 }
 ?>
 пока подключена статистика форума + прикручено изменение текста главной страницы из админки.
 |  
					|  |  |  
				
					| NordWest | Отправлено: 4 ноября 2013 — 09:43   |  
					| 
  
 
  Super Member
 
  
 Покинул форум
 Сообщений всего: 994
 Дата рег-ции: Дек. 2011
 Откуда: Северо-Запад
 Репутация: 76
 
 
 
 
  
 | Посмотрел и сразу первый вопрос - у вас этот файл раньше работал? Просто первое, что бросилось в глаза - этот файл информацию выводит через modules/portal/portal.tpl а вы, как я понял, хотите что бы через homepage.tpl
 Или предполагалось сделать вывод в зависимости от поступивших в запросе параметров?
 
 В предварительном виде файл получился такой
 
 
 Спойлер (Отобразить)CODE:<?phpdefine('IN_EXBB', TRUE);
 include('./include/common.php');
 $fm->_GetVars();
 $fm->_BOARDSTATS();
 
 // готовим данные
 $onlinedata = $fm->_OnlineLog($fm->LANG['BoardMain'],FALSE,TRUE);
 $countonline = ($fm->exbb['visiblemode'] === TRUE) ?
 sprintf($fm->LANG['OnlineDataVSHide'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_OnlineGuest,$fm->_Members,$fm->_Invisible):
 sprintf($fm->LANG['OnlineData'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_Members,$fm->_OnlineGuest);
 $online_last = $countonline . ' [<span class="admin">'.$fm->LANG['Admin'].'</span>, <span class="supmoder">'.$fm->LANG['SuperModer'].'</span>,
 <span class="moder">'.$fm->LANG['Moderator'].'</span> , '.$fm->LANG['User'].' ]';
 
 $members_output = $fm->_MembersOutput;
 $todayvisit = FALSE; today($todayvisit);
 
 $maximum = sprintf($fm->LANG['MaxUsers'],$fm->_Stats['max_online']).date("d.m.Y H:i",$fm->_Stats['max_time']+$fm->user['timedif']*3600);
 
 $homepage = $fm->_Read(FM_HOMEPAGE);
 
 newpostst();
 
 
 
 // выводим данные
 include('./templates/'.DEF_SKIN.'/all_header.tpl');
 include('./templates/'.DEF_SKIN.'/logos.tpl');
 
 include('./templates/'.DEF_SKIN.'/modules/portal/portal.tpl');   // выводим через этот?
 //include('./templates/'.DEF_SKIN.'/newposts.tpl');                // или через этот?
 
 include('./templates/'.DEF_SKIN.'/footer.tpl');
 
 // объявляем функции
 function today(&$todayvisit)
 {
 global $today, $fm;
 $members = $hiddens = 0;
 $was = array();
 if (empty($today['members'])) {$today['members'] = array();}
 foreach ($today['members'] as $id => $member)
 {
 switch ($member['s'])
 {
 case 'ad': $class = ' class="admin"'; break;
 case 'sm': $class = ' class="supmoder"'; break;
 default: $class = '';
 }
 if ($member['v'])
 {
 if ($member['s'] != 'ad') {$hiddens++;}
 if (defined('IS_ADMIN') || $id == $fm->user['id']) {$member['n'] .= '*';}
 else {continue;}
 }
 else
 {$members++;}
 $was[] = '<a href="profile.php?action=show&member='.$id.'"'.$class.'>'.$member['n'].'</a>';
 }
 $sel_hiddens = ($hiddens) ? sprintf($fm->LANG['HiddensOnline'], $hiddens) : '';
 $sel_was = ($was) ?
 '<br /> '.implode(', ', $was).'' : '';
 $todayvisit = sprintf($fm->LANG['TodayVisit'], $today['guests'] + $members + $hiddens, $today['guests'], $members, $sel_hiddens, $sel_was);
 }
 
 function newpostst()
 {
 global $fm, $pages;
 $allforums = $fm->_Read(FM_ALLFORUMS);
 $t_visits    = $fm->_GetCookieArray('t_visits');
 $allforums_keys = array_keys(array_filter($allforums, 'filterForums'));
 require('modules/watches/_search.php');
 if (!$fm->exbb['watches'])
 {
 $alltopics = array();
 foreach ($allforums as $forum_id => $forum)
 {
 if (!defined('IS_ADMIN') && $forum['private'] === TRUE)
 {if (!isset($fm->user['private'][$forum_id]) || $fm->user['private'][$forum_id] === FALSE) continue;}
 if ($forum['last_time'] > $fm->user['last_visit'])
 {$alltopics = array_merge($alltopics,array_filter($fm->_Read('forum'.$forum_id.'/list.php'),"SearchNewPost"));}
 }
 }
 if (count($alltopics) !== 0)
 {
 usort($alltopics,"sort_by_postdate");
 $t_visits = $fm->_GetCookieArray('t_visits');
 global $f_readed;
 $data = '';
 $alltopics_keys = array_keys($alltopics);
 $pages = Print_Paginator(count($alltopics_keys), 'search.php?action=newposts&p={_P_}', $fm->exbb['topics_per_page'], 8, $first, TRUE);
 $alltopics_keys = array_slice($alltopics_keys, $first, $fm->exbb['topics_per_page']);
 foreach ($alltopics_keys as $topic)
 {
 $topic = $alltopics[$topic];
 $forum_id = $topic['fid'];
 $topic_id = $topic['id'];
 $f_readed = $fm->_GetCookie('f'.$forum_id,0);
 $TopicVisitTime = (isset($t_visits[$forum_id.':'.$topic_id]) && $t_visits[$forum_id.':'.$topic_id] > $fm->user['last_visit']) ? $t_visits[$forum_id.':'.$topic_id] : $fm->user['last_visit'];
 $topicicon    = topic_icon($topic,$TopicVisitTime, isset($topic['watched']) ? $topic['watched'] : true);
 $author = ($topic['author'] !== FALSE) ? $topic['author']:$fm->LANG['Guest'];
 $author = ($topic['a_id'] !== 0) ? '<a href="profile.php?action=show&member='.$topic['a_id'].'">'.$author.'</a>' : $author;
 $poster = ($topic['poster'] !== FALSE) ? $topic['poster'] : $fm->LANG['Guest'];
 $poster = ($topic['p_id'] !== 0) ? '<a href="profile.php?action=show&member='.$topic['p_id'].'">'.$poster.'</a>' : $poster;
 
 $pretopicname = ($fm->exbb['watches'] && (!isset($topic['watched']) || $topic['watched']) || !$fm->exbb['watches'] && $fm->user['last_visit'] < $topic['postdate'] && $fm->user['id'] != $topic['p_id'] && $TopicVisitTime < $topic['postdate'])
 ? '<a href="topic.php?forum='.$forum_id.'&topic='.$topic_id.'&v=u#unread" title="'.$fm->LANG['GoToFirstUnread'].'"><img src="./templates/'.DEF_SKIN.'/im/unread.gif" border="0" /></a> ' : '';
 $topicname  = $pretopicname . '<a href="topic.php?forum='.$forum_id.'&topic='.$topic_id.'&v=l#'.$topic['postkey'].'">'.$fm->chunk_split($topic['name']).'</a>';
 
 $topicdesc  = $fm->chunk_split($topic['desc']);
 $forumname  = '<a href="forums.php?forum='.$forum_id.'">'.$allforums[$forum_id]['name'].'</a>';
 $posts         = $topic['posts'];
 $postdate   = $fm->_DateFormat($topic['postdate']+$fm->user['timedif']*3600);
 
 $data .= <<<DATA
 <tr>
 <td align="center" class="row4">{$topicicon}</td>
 <td class="row4"><b>{$topicname}</b><br>{$topicdesc}</td>
 <td align="center" class="row2">{$forumname}</td>
 <td align="center" class="row2">
 {$fm->LANG['Replies']}: <b>{$posts}</b>
 <br>
 {$fm->LANG['TopicAuthor']}: <b>{$author}</b></td>
 <td class="row2">
 <span class="desc">
 {$postdate}
 <br>
 {$fm->LANG['Author']}: <b>{$poster}</b>
 </span>
 </td>
 </tr>
 DATA;
 
 }
 $found = count($alltopics);
 $fm->_Title = ' :: '.$fm->LANG['NewPosts'];
 $searchinmessage = '';
 }
 else
 {$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['NoNewPosts']);}
 }
 
 function filterForums($forum)
 {
 global $fm;
 if (!defined('IS_ADMIN') && $forum['private'] && empty($fm->user['private'][$forum['id']]))
 {return false;}
 return true;
 }
 
 function SearchNewPost($var)
 {
 global $fm;
 if ($var === 'moved') {return 0;}
 else
 {return ($var['postdate'] > $fm->user['last_visit'] && $var['p_id'] != $fm->user['id']) ?1:0;}
 }
 
 ?>
 
 Данные находятся в переменной $data, которfz представляет из себя внутренний каркас таблицы (данные заключены в теги <tr><td></td></tr> ) , т.е. эту переменную вставляем внутрь таблицы. Для примера - смотрите newposts.tpl
 |  
					|  |  |  
				
					| electron | Отправлено: 4 ноября 2013 — 11:18   |  
					| 
  
 
  ExBB Team
 
  
 Покинул форум
 Сообщений всего: 3917
 Дата рег-ции: Февр. 2009
 Репутация: 341
 
 
 
 
  
 | NordWest пишет:Посмотрел и сразу первый вопрос - у вас этот файл раньше работал?Просто первое, что бросилось в глаза - этот файл информацию выводит через modules/portal/portal.tpl а вы, как я понял, хотите что бы через homepage.tpl
 дико извиняюсь, случайно дал файл портала от http://styles.exbb.info/portal
  там просто все выведено в отдельный модуль portal . ну не страшно, там все почти так же как в homepage.tpl , только пути поправить.
 
 собственно, делал почти так же. но вылезает ошибка
 CODE:Parse error: syntax error, unexpected ';', expecting '}' in  в строке
 
 CODE: {$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['NoNewPosts']);} 
 и табличный каркас пуст, без информации
 |  
					|  |  |  
				
					| electron | Отправлено: 4 ноября 2013 — 12:44   |  
					| 
  
 
  ExBB Team
 
  
 Покинул форум
 Сообщений всего: 3917
 Дата рег-ции: Февр. 2009
 Репутация: 341
 
 
 
 
  
 | homepage.tpl (лежит в папке стиля) 
 Спойлер (Отобразить)CODE:<?phpecho <<<DATA
 <table cellpadding="4" cellspacing="1" border="0" width="100%" class="tableborder">
 <tr>
 <td class="maintitle">Непрочитанные темы</td>
 </tr>
 <tr>
 <td class="row2">
 {$data}
 </td>
 </tr>
 </table>
 DATA;
 ?>
 
 homepage.php (лежит в корне)
 
 Спойлер (Отобразить)CODE:<?php
 define('IN_EXBB', TRUE);
 include('./include/common.php');
 $fm->_GetVars();
 $fm->_BOARDSTATS();
 
 // готовим данные
 $onlinedata = $fm->_OnlineLog($fm->LANG['BoardMain'],FALSE,TRUE);
 $countonline = ($fm->exbb['visiblemode'] === TRUE) ?
 sprintf($fm->LANG['OnlineDataVSHide'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_OnlineGuest,$fm->_Members,$fm->_Invisible):
 sprintf($fm->LANG['OnlineData'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_Members,$fm->_OnlineGuest);
 $online_last = $countonline . ' [<span class="admin">'.$fm->LANG['Admin'].'</span>, <span class="supmoder">'.$fm->LANG['SuperModer'].'</span>,
 <span class="moder">'.$fm->LANG['Moderator'].'</span> , '.$fm->LANG['User'].' ]';
 
 $members_output = $fm->_MembersOutput;
 $todayvisit = FALSE; today($todayvisit);
 
 $maximum = sprintf($fm->LANG['MaxUsers'],$fm->_Stats['max_online']).date("d.m.Y H:i",$fm->_Stats['max_time']+$fm->user['timedif']*3600);
 
 $homepage = $fm->_Read(FM_HOMEPAGE);
 
 include('./templates/'.DEF_SKIN.'/all_header.tpl');
 include('./templates/'.DEF_SKIN.'/logos.tpl');
 include('./templates/'.DEF_SKIN.'/homepage.tpl');
 include('./templates/'.DEF_SKIN.'/footer.tpl');
 include('./include/page_tail.php');
 
 function today(&$todayvisit)
 {
 global $today, $fm;
 $members = $hiddens = 0;
 $was = array();
 if (empty($today['members'])) {$today['members'] = array();}
 foreach ($today['members'] as $id => $member)
 {
 switch ($member['s'])
 {
 case 'ad': $class = ' class="admin"'; break;
 case 'sm': $class = ' class="supmoder"'; break;
 default: $class = '';
 }
 if ($member['v'])
 {
 if ($member['s'] != 'ad') {$hiddens++;}
 if (defined('IS_ADMIN') || $id == $fm->user['id']) {$member['n'] .= '*';}
 else {continue;}
 }
 else
 {$members++;}
 $was[] = '<a href="profile.php?action=show&member='.$id.'"'.$class.'>'.$member['n'].'</a>';
 }
 $sel_hiddens = ($hiddens) ? sprintf($fm->LANG['HiddensOnline'], $hiddens) : '';
 $sel_was = ($was) ?
 '<br /> '.implode(', ', $was).'' : '';
 $todayvisit = sprintf($fm->LANG['TodayVisit'], $today['guests'] + $members + $hiddens, $today['guests'], $members, $sel_hiddens, $sel_was);
 }
 
 function newpostst()
 {
 global $fm, $pages;
 $allforums = $fm->_Read(FM_ALLFORUMS);
 $t_visits = $fm->_GetCookieArray('t_visits');
 $allforums_keys = array_keys(array_filter($allforums, 'filterForums'));
 require('modules/watches/_search.php');
 if (!$fm->exbb['watches'])
 {
 $alltopics = array();
 foreach ($allforums as $forum_id => $forum)
 {
 if (!defined('IS_ADMIN') && $forum['private'] === TRUE)
 {if (!isset($fm->user['private'][$forum_id]) || $fm->user['private'][$forum_id] === FALSE) continue;}
 if ($forum['last_time'] > $fm->user['last_visit'])
 {$alltopics = array_merge($alltopics,array_filter($fm->_Read('forum'.$forum_id.'/list.php'),"SearchNewPost"));}
 }
 }
 if (count($alltopics) !== 0)
 {
 usort($alltopics,"sort_by_postdate");
 $t_visits = $fm->_GetCookieArray('t_visits');
 global $f_readed;
 $data = '';
 $alltopics_keys = array_keys($alltopics);
 $pages = Print_Paginator(count($alltopics_keys), 'search.php?action=newposts&p={_P_}', $fm->exbb['topics_per_page'], 8, $first, TRUE);
 $alltopics_keys = array_slice($alltopics_keys, $first, $fm->exbb['topics_per_page']);
 foreach ($alltopics_keys as $topic)
 {
 $topic = $alltopics[$topic];
 $forum_id = $topic['fid'];
 $topic_id = $topic['id'];
 $f_readed = $fm->_GetCookie('f'.$forum_id,0);
 $TopicVisitTime = (isset($t_visits[$forum_id.':'.$topic_id]) && $t_visits[$forum_id.':'.$topic_id] > $fm->user['last_visit']) ? $t_visits[$forum_id.':'.$topic_id] : $fm->user['last_visit'];
 $topicicon = topic_icon($topic,$TopicVisitTime, isset($topic['watched']) ? $topic['watched'] : true);
 $author = ($topic['author'] !== FALSE) ? $topic['author']:$fm->LANG['Guest'];
 $author = ($topic['a_id'] !== 0) ? '<a href="profile.php?action=show&member='.$topic['a_id'].'">'.$author.'</a>' : $author;
 $poster = ($topic['poster'] !== FALSE) ? $topic['poster'] : $fm->LANG['Guest'];
 $poster = ($topic['p_id'] !== 0) ? '<a href="profile.php?action=show&member='.$topic['p_id'].'">'.$poster.'</a>' : $poster;
 
 $pretopicname = ($fm->exbb['watches'] && (!isset($topic['watched']) || $topic['watched']) || !$fm->exbb['watches'] && $fm->user['last_visit'] < $topic['postdate'] && $fm->user['id'] != $topic['p_id'] && $TopicVisitTime < $topic['postdate'])
 ? '<a href="topic.php?forum='.$forum_id.'&topic='.$topic_id.'&v=u#unread" title="'.$fm->LANG['GoToFirstUnread'].'"><img src="./templates/'.DEF_SKIN.'/im/unread.gif" border="0" /></a> ' : '';
 $topicname = $pretopicname . '<a href="topic.php?forum='.$forum_id.'&topic='.$topic_id.'&v=l#'.$topic['postkey'].'">'.$fm->chunk_split($topic['name']).'</a>';
 
 $topicdesc = $fm->chunk_split($topic['desc']);
 $forumname = '<a href="forums.php?forum='.$forum_id.'">'.$allforums[$forum_id]['name'].'</a>';
 $posts = $topic['posts'];
 $postdate = $fm->_DateFormat($topic['postdate']+$fm->user['timedif']*3600);
 
 $data .= <<<DATA
 <tr>
 <td class="row4"><b>{$topicname}</b></td>
 </tr>
 DATA;
 }
 $found = count($alltopics);
 $fm->_Title = ' :: '.$fm->LANG['NewPosts'];
 $searchinmessage = '';
 }
 else
 {$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['NoNewPosts']);}
 }
 
 function filterForums($forum)
 {
 global $fm;
 if (!defined('IS_ADMIN') && $forum['private'] && empty($fm->user['private'][$forum['id']]))
 {return false;}
 return true;
 }
 
 function SearchNewPost($var)
 {
 global $fm;
 if ($var === 'moved') {return 0;}
 else
 {return ($var['postdate'] > $fm->user['last_visit'] && $var['p_id'] != $fm->user['id']) ?1:0;}
 }
 
 ?>
 
 
 из переменной $data выкинул мне ненужное. мне нужно только названия-ссылки непрочитанных юзером тем
 |  
					|  |  |  |