Jump to content

mkportal - инсталиране и кратко описание за работа


Препоръчан пост

mkportal е един лесен начин да си направите портал и то без някакво разбиране от html или php. ;) Предимството й е, че е доста лесна и е напълно интегрирана с форума (не изисква база данни, използва тази на форума, но това значи и, че без форум не можете да сложите mkportal на вашия сайт).

 

Инсталация

 

1. Първото, което ще ви трябва, е самият mkportal - можете да го изтеглите от http://mkportal.it, а българския превод на mkportal - от тук.

Първата стъпка при инсталацията е да посочите на какъв език искате да използват е(българският аз ще го сложа по-късно ;) ) и какъв с какъв форум сте. Поддържаните форуми са: IPB 1.3, IPB 2.x.x, SMF, vBulletin, phpBB. Аз избрах IPB 1.3, но никой не ви ограничава какво да сложите.

 

2. След това качете файловете. Примерен начин е:

 

http://www.yoursite.com/forum (форума ви)

http://www.yoursite.com/mkportal (портала)

http://www.yoursite.com/index.php (индекса на портала)

 

3. Нагласене правата на chmod 777 на следните файлове:

mkportal/conf_mk.php

mkportal/cache

mkportal/blog

mkportal/blog/images

mkportal/templates/*

mkportal/lang/*

mkportal/modules/downloads/file

mkportal/modules/gallery/album

mkportal/modules/reviews/images

 

4. Вече можете да инсталирате mkportal като напишете http://www.yoursite.com/mkportal/mk_install.php

Изберете с какъв форум сте и езика (по-късно ще можете да добавите и българския). На полето за Site URL се записва адреса на сайта, но автоматично си го намира, така че няма смисъл да го пипате. ;) На Forum Path се записва пътя до форума, но само папката (ако сте сложили форума си в папка forum, просто пишете forum).

 

5. Махнете mk_install.php и mkportal/upgrades от директорията на сайта ви.

 

Кратко описание на менютата

 

След като влезнете в сайта си, ще забележите различни менюта. Ето малко инфо за всяко:

Main Menu – преставлява основното меню, видимо е за всички. Може да се редактира от админ панела на портала.

Personal Menu – личното меню за всички потребител. От него можете бързо да смените потребитлеските си настройки. Админите (и естествено ако е добавена някоя доп. група с администраторски права) имат два допълнителни панела: Portal CP (контролен панел за сайта) и Forum CP (контролен панел за форума).

Online Users – показва онлайн потребителите, били те във форума или портала, а бутона Last click ще ви покаже како правят потребителите в момента.

Chat – при инсталирането на mkportal се слага и чат. Това меню не е свързано с форума, а показва само потребителите, който са в чата на сайта (понеже на някой форуми може да се сложи чат). Accеs the chatroom ще ви отведе в чата.

Random Image – меню, което показва някоя произволно избрана картинка от галерията на сайта.

Board Menu – това са линкове към форума. New Posts са новите постове, Users – потребителите, Calendar – календара на форума, Help – помощната секция на форума.

Last Shouts – показва последните shouts в сайта (например „Добре Дошли”).

Calendar – календар на сайта. Нещо, което доста ми хареса е, че показва рождените дни на потребителите.

Site Starts – това са статистиките на сайта и форума.

 

 

Отваряне на форума в рамката на сайта

Ако искате да направите така, че форумът да излиза в самият портал с форума, трябва да нагласите от Portal CP -> Forum Page look and feel -> Forum View

 

За IPB 1.3 после редактирайте sources/functions.php (направете бекъп първо)

Отворете sources/functions.php и намерете

 //---------------------------------------
// Close this DB connection
//---------------------------------------

И добавете след него:

 //added from MKportal
define ( 'IN_MKP', 1 );
require_once "../mkportal/include/IPB13/ipb13_out.php";
$ibforums->skin['template'] = mkportal_board_out($ibforums->skin['template']);
//end added

 

За IPB 2.х.х

Отваряте /sources/classes/class_display.php (но направете бекъп първо)

1. Намерете:

 function do_output($output_array)
{
global $Debug;

и добавете след него:

 //added from MKportal
define ( 'IN_MKP', 1 );
$MK_PATH = "../";
require $MK_PATH."mkportal/conf_mk.php";
//end added

2. Намерете:

 $output_array['MEMBER_BAR'] = $this->ipsclass->compiled_templates['skin_global']->member_bar($msg_data);

и го подменете с:

 //Mkportal edited
if(!$FORUM_VIEW) {
$output_array['MEMBER_BAR'] = $this->ipsclass->compiled_templates['skin_global']->member_bar($msg_data);
}
//end edited

3. Намерете:

 if ( $this->ipsclass->vars['ipb_img_url'] )
{
$this->ipsclass->skin['_wrapper'] = preg_replace( "#img\s+?src=[\"']style_(images|avatars|emoticons)(.+?)[\"'](.+?)?".">#is", "img src=\"".$this->ipsclass->vars['ipb_img_url']."style_\\1\\2\"\\3>", $this->ipsclass->skin['_wrapper'] );
}

и добавете след него:

 //added from MKportal
if($FORUM_VIEW == 1) {
require_once $MK_PATH."mkportal/include/IPB/ipb_out.php";
$this->ipsclass->skin['_wrapper'] = mkportal_board_out($this->ipsclass->skin['_wrapper']);
}
//end added

 

За SMF

Отворете Sources/Subs.php (първо направете бекъп), намерете:

 // For session check verfication.... don't switch browsers...
$_SESSION['USER_AGENT'] = $_SERVER['HTTP_USER_AGENT'];

 

и добавете след него:

 //added from MKportal
if ($header !== false && in_array('main', $context['template_layers'])) {
define ( 'IN_MKP', 1 );
require_once "../mkportal/include/SMF/smf_out.php";
mkportal_board_out();
}
//end added

 

За phpBB

1. Отворете файла includes/page_header.php (направете му бекъп първо), намерете (около 460-ти ред е):

 $template->assign_block_vars('switch_enable_pm_popup', array());

и го заменете с:

 //$template->assign_block_vars('switch_enable_pm_popup', array());

2. отворете includes/page_tail.php (пак да досадя с бекъпа), намерете:

 $template->pparse('overall_footer');

и добавете след него:

//added from MKportal
global $Checkmkout, $ForumOut;
define ( 'IN_MKP', 1 );
$MK_PATH = "../";
require $MK_PATH."mkportal/conf_mk.php";
if($FORUM_VIEW == 1 && !$Checkmkout) {
require_once $MK_PATH."mkportal/include/PHPBB/php_out.php";
mkportal_board_out();
}
if($FORUM_VIEW == 1 && $Checkmkout) {
echo $ForumOut;
}
//end added

3. Отворете includes/template.php (все пак ако не си направите бекъп и нещо се сбърка ще стане лошо, нали ;) ), намерете:

 eval($this->compiled_code[$handle]);

и го подменете с:

 // modificato da mkportal
global $ForumOut, $Checkmkout, $gen_simple_header;

if ($handle == "smiliesbody" || $handle == "reviewbody" || $_GET['mode'] == "searchuser" || $gen_simple_header) {
$Checkmkout = 1;
}
$MK_PATH = "./";
if (defined('IN_ADMIN')) {
$MK_PATH = "../";
}
require $MK_PATH."../mkportal/conf_mk.php";


if ( !defined('IN_ADMIN') && $FORUM_VIEW == 1) {
ob_start();
eval($this->compiled_code[$handle]);
$ForumOut .= ob_get_contents();
  ob_end_clean();
} else  {
eval($this->compiled_code[$handle]);

}

// fine modificato

4. Не е задължително да го правите и това, но ще махне хедъра, а и е skin-dependent

Намерете templates/subSilver/overall_header.tpl (направете бекъп) и махнете (около 230-ти ред се намира):

 <table width="100%" cellspacing="0" cellpadding="0" border="0">
		<tr>
			<td><a href="{U_INDEX}"><img src="templates/subSilver/images/logo_phpBB.gif" border="0" alt="{L_INDEX}" vspace="1" /></a></td>
			<td align="center" width="100%" valign="middle"><span class="maintitle">{SITENAME}</span><br /><span class="gen">{SITE_DESCRIPTION}<br />  </span>
			<table cellspacing="0" cellpadding="2" border="0">
				<tr>
					<td align="center" valign="top" nowrap="nowrap"><span class="mainmenu"> <a href="{U_FAQ}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" hspace="3" />{L_FAQ}</a></span><span class="mainmenu">   <a href="{U_SEARCH}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_search.gif" width="12" height="13" border="0" alt="{L_SEARCH}" hspace="3" />{L_SEARCH}</a>   <a href="{U_MEMBERLIST}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_members.gif" width="12" height="13" border="0" alt="{L_MEMBERLIST}" hspace="3" />{L_MEMBERLIST}</a>   <a href="{U_GROUP_CP}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" hspace="3" />{L_USERGROUPS}</a> 
					  <!-- BEGIN switch_user_logged_out -->
					 <a href="{U_REGISTER}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" hspace="3" />{L_REGISTER}</a></span> 
					  <!-- END switch_user_logged_out -->
					</td>
				</tr>
				<tr>
					<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu"> <a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>   <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>   <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a> </span></td>
				</tr>
			</table></td>
		</tr>
	</table>

 

Кратко описание на админ панела

 

Така, продължавам с кратко описание на Админ панела на портала. Менютата са седем на брой, като във всяко има поне по едно подменю. От горе на долу менютата са:

Main – основните неща за форума.

Blocks – менютата, там можете да редактирате или да добавяте нови менюта.

Internal Pages – тук можете да направите допълнителна страница за сайта(html или php).

Internal Modules – общо взето тук можете да редактирате секциите на сайта, малко по–надолу ще сложа повече информация.

Skin & Templates – можете тук да промените или добавети някой скин. Полезно мисля, че ще е да знаете, че от тук се наглася чарсета.

Languages – езиците, тук можете да редактирате език, да създадете, копирате или изберете основния за портала.

Navigation Links – от тук се редактирват линкивете в основното меню, както и тези, които са най–горе, под логото.

 

 

Main – има четири подменюта :

1. Portal Home – ще ви отведе към началото на сайта, един вид „изход от админ панела”.

2. Preferences – повечето най–важни неща за самия портал: с какъв форум се работи (ако ще сменяте форума, можете от тук да го промените), къде се намира форума( ако нещо решите до го преместите), как да се отваря форума (в самият сайт ли, да се махат ли лявото и дясното меню при зареждане на форъма ви) и т.н.

3. Permissions – правата на различните групи, които са направени във форума. Напрамер може само на модераторите да се разреши да пускат новина или само те да добавят неща за сваляне и т.н.

4. Waiting approval – ако някъде сте нагласили (Internal Modules), при добавянето на нов елемент да иска разрешение от администратора. Там можете да видите дали някой чака разрешение от вас да бъде качено нещо на сайта (било то новина, сайт в класацията, нещо за сваляне и т.н.).

 

Blocks – също е с четири подменюта:

1. Position – от тук можете да размествате менютата (блоковете) от коя страна да бъдат, както и редът им. Също от тук можете да активирате/деактивирате меню.

2. Titles – еми като не ви харесва името на някое меню (или не е на български), защо да не го смените? Само ако ще е на български и не се разбират заглавията, вижте дали енкодинга е нагласен правилно.

3. Managing – доста полезно нещо, с него можете да нагласите кои групи (от форума) могат да виждат определени менюта.

4. Creating – създаване на нови блокове. В зависимост от нуждата ви, можете да изберете между HTML Block, PHP Block и Internal Page Links Block. От тук можете да направите меню „приятели” или да добавите брояч. ;)

 

Internal Pages – тук са само две. С две думи - тук е секцията за вашите страници:

1. Managing – ако имате вече създадени, тук могат да бъдат редактирани, а и е показан самият адрес на страницата (не че и при създаването на някоя страница не ви се дава линка, но не е задълително да помните всички ;))

2. Creating – мястото за създаване на страници. Според нуждите ви, можете да направите html или php страница (не е задължително, но ако ви трябва нещо, което го няма в самия портал, можете да го добавите :)).

 

Internal Modules – администриране на повечето части на форума (например секциите, rss news или пък анкетите):

1. News – нагласяне на броя на новини, който да се показва на една страница, дали да се иска одобрение от админ или пък добавяне на секции.

2. Board News – новини от някоя/някои секции на форума.

3. Rss News – настройки на rss новините на портала .

4. Blog – общо взето повечето настройки за личните блогове, от тук можете и да спрете тази опция.

5. Chat – спиране/пускане на чата в сайта. Можете и да изберете сървър, порт и дефаут канал за чата.

6. Shoutbox – колко shouts да бъдат публикувани в блока, колко да се пазят в архив и колко да бъдт показваи на страници. Също като chat-а, можете и да спрете тази опция.

7. Image Gallery – можете да спрете опцията (пфф, то нявсякъде може, не знам и аз защо го пиша :lol:). Можете да настроите дали да слага watermark picture, т.е. да „подписва” картинките, а и къде да бъде. Също можете и да направите различни категории. Можете и да редактирате картинка и да добавите също от там вместо от сайта.

8. Downloads – администриране на категориите, големината на качените файлове и каване на файл от тук вместо от „За сваляне” секцията.

9. TopSite – можете да видите кои сайтове са „одобрени” и кои – не (разбира се ако сте задали такава опция).

10. Polls – по принцип не можете да създадете анкета от самия сайт, но пък можете да използвате някоя от форума (все пак порталът е интегриран с форума ви ;)).

11. Reviews – настройки за категориите в секцията за статии/ревюта. Можете да добавяте, променяте или изтривате секция, но внимавайте с триенето, защото и файловете в изтрития раздел също се махат.

12. Quotes – последното подменю от Internal Modules - можете да видите кои цитати са „одобрени”(approved) от админ и кои чакат (разбира се ако сте нагласили опцията да искат потвърждаване от админа).

 

Skin & Templates

1. Skin Management – не може да се каже много, аз повечето го споменах по–горе. Има два скина: default (стандартния) и Forum (скина на форума).

 

Languages

1. Management – редактиране, създаване и избор на език за сайта.

 

Navigation Links

1. Navigation Bar – това е лентата със секциите под логото. Можете да добавяте нов линк или пък да махнете/промените вече съществуващ.

2. Portal Menu – главното меню (блок). По принцип е разположено от лявата страна и на първо място. Можете да добавяте нов линк или пък да махнете/промените вече съществуващ както при Navigation Bar.

 

 

П.П.: българският сайт за mkportal e http://mkportal.cms-bg.org/, но не е много пълен.

 

Автор: Николай Ванков(Nav)

Всички права върху текущата статия са собственост на автора им и нямат право да бъдат възпроизвеждани под каквато и да е форма без изричното съгласие на автора.

Редактиран от Nav
Link to comment
Сподели другаде

  • 11 months later...

Много полезно инфо, но въпреки това не открих решение за моите проблеми. :(

Та проблемите са следните: ползвам МКPortal M1.1 Rc1 + IPB 2.1.7. Във форума съм си добавила тагове, които подравняват даден текст вляво или вдясно от дадена картинка (ето така изглежда подравняването). Обаче като дам в портала да ми вади новина, текста на която е форматиран с тези допълнителни тагове, в портала всичко се омазва - не 'чете' таговете и излизат като текст :crosseyes1: ...

 

По какъв начин мога да добавя и в Портала тези тагове (както ръчно си ги добавих и в Инвижъна)? Рових из Контролния панел на Портала, но не намерих файл или някаква друга опция, за добавяне на нови тагове. Някой знае ли в кой файл и какво точно трябва да се добави, за да функционират правилно таговете за подравняване на текста и в Портала? :help:

 

И понеже всички гадости вървят в комплект минимум по две, та и още един проблем (поне за мен). Когато извади в Портала някоя новина, изписва името на новината, автора и като капак слага и аватара на потребителя, пуснал новината :no: Всичко хубаво, ама тоя аватар дразни много ( :bat: ей го гада) и искам да го премахна (да не се показва в извлечените новини в Портала)...

 

И тук следва тъпия въпрос - как да стане това? :help:

 

Благодаря предварително на всеки, който ще се отзове на помощ! :blush:

Link to comment
Сподели другаде

  • 4 weeks later...
  • 2 months later...
И понеже всички гадости вървят в комплект минимум по две, та и още един проблем (поне за мен). Когато извади в Портала някоя новина, изписва името на новината, автора и като капак слага и аватара на потребителя, пуснал новината :no: Всичко хубаво, ама тоя аватар дразни много ( :bat: ей го гада) и искам да го премахна (да не се показва в извлечените новини в Портала)...

 

И тук следва тъпия въпрос - как да стане това? :help:

 

Благодаря предварително на всеки, който ще се отзове на помощ! :blush:

Здрасти!

И аз имах същия проблем и след много лутане и ровене успях да се справя с досадния аватар. Ето как става:

 

В папката на МКПортала намираш файла ipb_board_functions.php : mkportal/include/IPB/ipb_board_functions.php. Отваряш този файл и търсиш функцията function get_board_news(). В нейния синтаксис търсиш следните няколко реда:

 

$out .= "
			  <table class=\"tabnews\" cellspacing=\"2\" cellpadding=\"2\" width=\"100%\">
				<tbody>
				<tr>
				  <td class=\"tdblock\" align=\"center\" width=\"5%\">
				  $avatar
				  </td>
				  <td class=\"tdblock\" valign=\"middle\" align=\"center\" width=\"95%\">

 

Изтриваш

<td class=\"tdblock\" align=\"center\" width=\"5%\">
$avatar
</td>

а 95% ги правиш на 100%

 

Колкото до таговете, пробвах една хватка, но не се получи, понеже създадените допълнително не са валидни HTML XHTML 1.0 тагове: в / mkportal / include / functions.php намерих function decode_bb($txt) и добавих текста в червено (като [abc][/abc] е създадения от мен таг):

 

function decode_bb($txt)

{

global $Skin;

$pos = "";

$mk_sub = "";

$content = "";

$author = "";

//$txt = nl2br($txt);

while ( preg_match( "#\]+)\](.+?)\[/size\]#ies", $txt ) ) {

$txt = preg_replace( "#\]+)\](.+?)\[/size\]#ies" , "\$this->parse_bbfont(array('s'=>'size','1'=>'\\1','2'=>'\ \2'))", $txt );

}

while ( preg_match( "#\]+)\](.*?)\[/font\]#ies", $txt ) ) {

$txt = preg_replace( "#\]+)\](.*?)\[/font\]#ies" , "\$this->parse_bbfont(array('s'=>'font','1'=>'\\1','2'=>'\ \2'))", $txt );

}

while( preg_match( "#\]+)\](.+?)\[/color\]#ies", $txt ) ) {

$txt = preg_replace( "#\]+)\](.+?)\[/color\]#ies" , "\$this->parse_bbfont(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt );

}

$txt = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $txt );

$txt = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $txt );

$txt = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $txt );

$txt = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $txt );

$txt = preg_replace( "#\[abc\](.+?)\[/abc\]#is", "<abc>\\1</abc>", $txt );

 

След като не се получи по горния начин пробвах да добавя вместо последния ред следното:

$txt = preg_replace( "[abc]", "<span style=\"float : left; padding : 20px\">", $txt );

$txt = preg_replace( "[/abc]", "</span>", $txt );

 

После пробвах и това:

$txt = preg_replace( "#\[abc\](.+?)\[/abc\]#is", "<span style=\"float : left; padding : 20px\">\\1</span>", $txt );

 

За съжаление никой от вариантите не помогна и пост във форума, редактиран с този таг, излиза в портала, като тагът не е активен и се показва като текст. :crosseyes1:

 

Някой да може да помогне с идея или начин на решаване на проблема? :help:

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...