Перейти к контенту

Unreal Portal 1.5.2 For IPB 1.3


MultyTiger

Рекомендуемые сообщения

Моя версия форума, IP Board 1.3.1 Final.

Вообщем, хочу себе поставить Unreal Portal 1.5.2 For IPB 1.3, так вот проблема, незнаю от куда качать, облазил весь форум, нашел ссылку на mods.invisionize.com, от туда немогу скачать, даже после регистрации...

 

И другой вопрос, я пока только начал накапливать информацию по порталам, так скажем думаю что поставить... Так вот хочу узнать ваше мнение о Unreal Portal 1.5.2 For IPB 1.3, есть ли что-то лучше его, удобнее, и.т.д. Желательно приводить примеры, о том чем лучше тот или иной портал...

 

P.S. Заранее спасибо! С Ув. Tiger. :D

 

P.S.S. Так вообщем, скачал я Unreal Portal 1.5.2 с mods.invisionize.com, теперь, хочу услышать, ваши отзывы о нем, ну и конечно параллельно буду смотреть портал...

Ссылка на комментарий
Поделиться на других сайтах

Хорошя вещь, этот портал, если топором довести до ума. И админка лишняя, отдельно для портала не нужна.
Ссылка на комментарий
Поделиться на других сайтах

Хм портал мне понравился, вроде нормально смотрится, да и работает быстро... ;)

 

Хорошя вещь, этот портал, если топором довести до ума. И админка лишняя, отдельно для портала не нужна.

 

А поподробнее можно, что и как в нем исправить/подправить/доделать, ну или хотябы где можно получить эту информацию...? :D

 

Заранее спасибо! :)

Ссылка на комментарий
Поделиться на других сайтах

Да еще я сам портал, перевел на русский, а вот админку =) моя неуметь переводить, я бы был очень благодарен, если бы мне ее кто-нибудь дал... конечно на Русском языке :D
Ссылка на комментарий
Поделиться на других сайтах

Изменения я имел ввиду под себя.. Внешний вид в частности. Скин файлы.

 

А насчёт перевода, вот мой ad_portal.php

Вроде я сам себе переводил. А значит немного криво :D

<?php
/*
					 ''~``
					( o o )
+------------------.oooO--(_)--Oooo.------------------+
|					 Unreal Portal v1.5.2			|
|					.oooO							|
|					(   )   Oooo.					|
+---------------------\ (----(   )--------------------+
				   \_)	) /
						 (_/


	   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	   |The Logo Looks Best in Courier New|
	   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

					  ---====---
		   Unreal Portal v1.5.2 for IBF v1.3
			   By Cricket and bammerboy
*/

$idx = new ad_portal();


class ad_portal {

var $base_url;

function ad_portal() 
{
	global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP, $HTTP_POST_VARS;


	//---------------------------------------
	// Kill globals - globals bad, Homer good.
	//---------------------------------------

	$tmp_in = array_merge( $_GET, $_POST, $_COOKIE );

	foreach ( $tmp_in as $k => $v )
	{
		unset($$k);
	}

	//---------------------------------------

	$DB->query("SELECT VERSION() AS version");

	if ( ! $row = $DB->fetch_row() )
	{
		$DB->query("SHOW VARIABLES LIKE 'version'");
		$row = $DB->fetch_row();
	}

	$this->true_version = $row['version'];

	$no_array = explode( '.', preg_replace( "/^(.+?)[-_]?/", "\\1", $row['version']) );

	$one   = (!isset($no_array) || !isset($no_array[0])) ? 3  : $no_array[0];
	$two   = (!isset($no_array[1]))					  ? 21 : $no_array[1];
	$three = (!isset($no_array[2]))					  ? 0  : $no_array[2];

  		$this->mysql_version = (int)sprintf('%d%02d%02d', $one, $two, intval($three));

	switch($IN['code'])
	{
		case 'portal':
			$this->portal();
			break;
		case 'do_portal':
	$count = 0;
	$DB->query("select * from ibf_up_custblocks");
			$this->save_config( array( 'portal_poll', 'portal_left', 'portal_middle', 'portal_right', 'portal_calendar', 'portal_jokes', 'portal_site_search', 'portal_websearch', 'portal_newsforum', 
									   'portal_newsposts', 'portal_latestposts', 'portal_num_latestposts', 'portal_latest_downloads', 'portal_randompic', 'portal_shoutbox', 'portal_custom_content', 
									   'portal_navigation', 'portal_activemembers', 'portal_post_stats', 'portal_birthdays', 'portal_latestposts_big', 'portal_num_latestposts_big', 
									   'portal_top_posters', 'portal_num_topposters', 'portal_new_members', 'portal_num_newmembers', 'portal_top_forums', 'portal_num_top_forums',
									   'portal_newsforum_expert', 'portal_loginbox', 'portal_newposts', 'portal_num_newposts', 'portal_old_news', 'portal_num_old_news', 
									   'portal_member_moment', 'portal_welcomepanel', 'portal_tease_news', 'portal_tease_length', 'portal_calendar_events', 'portal_changeskin', 
									   'portal_announcement', 'portal_announcement_text', 'portal_navigation_links') );
	while($customblocks = $DB->fetch_row())
	{
			$blockname[$count] = $customblocks['name'];
			$this->save_config( array($blockname[$count]) );
	$count++;
	}
	$ADMIN->save_log("Portal Settings Updated");
	$ADMIN->done_screen("Portal Settings Updated", "Portal Settings Home", "act=portal" );
	break;

	case 'view_align':
	$this->view_align();
	break;

	case 'align':
	$this->align();
	break;

	case 'do_align':
	$this->do_align();
	break;

	case 'reorder':
	$this->reorder();
	break;

	case 'do_reorder':
	$this->do_reorder();
	break;

	case 'delete_custom':
	$this->delete_custom();
	break;

	case 'do_delete_custom':
	$this->do_delete_custom();
	break;

	case 'delete_content':
	$this->delete_content();
	break;

	case 'do_delete_content':
	$this->do_delete_content();

	break;

	case 'add_block':
	$this->add_block();

	case 'add_content':
	$this->add_content();

	case 'do_add':
	$this->do_add();

	case 'do_add_content':
	$this->do_add_content();

	case 'view_edit':
	$this->view_edit();
	break;

	case 'view_edit_content':
	$this->view_edit_content();
	break;

	case 'edit_block':
	$this->edit_block();

	case 'edit_content':
	$this->edit_content();

	case 'do_edit':
	$this->do_edit();

	case 'do_edit_content':
	$this->do_edit_content();

	default:
	$this->portal();
	break;
	}

}

//-------------------------------------------------------------
// PORTAL: Easier then before :)
//--------------------------------------------------------------

function portal()
{
	global $ibforums, $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$DB->query("SELECT * FROM ibf_topics WHERE poll_state <> \"0\" ORDER BY 'tid' DESC");

	$top_polls[]=array(0,"Show no poll");
	$top_polls[]=array(0,"-----------------------");

	while ($poll = $DB->fetch_row()){
		$top_polls[]=array($poll['tid'],$poll['tid']." - ".$poll['title']);
	}


	$DB->query("SELECT id, name FROM ibf_forums WHERE subwrap = 0");

	$form_array = array();

	while ( $r = $DB->fetch_row() )
	{
		$form_array[] = array( $r['id'], $r['name'] );
	}

	if($INFO['portal_left'] == null)
	$INFO['portal_left'] = "21%";
	if($INFO['portal_middle'] == null)
	$INFO['portal_middle'] = "51%";
	if($INFO['portal_right'] == null)
	$INFO['portal_right'] = "21%";

	$form_array[] = array (0, "None, I use the field below");

	$this->common_header('do_portal', 'Portal', 'Проверьте все поля,', "Колонки");

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Ширина левой колонки?</b>" ,

									  $SKIN->form_input( "portal_left", $INFO['portal_left']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Центральная колонка?</b>" ,
									  $SKIN->form_input( "portal_middle", $INFO['portal_middle']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Ширина правой колоники?</b>" ,
									  $SKIN->form_input( "portal_right", $INFO['portal_right']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Приветсвие" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать приветсвие?</b>" ,
									  $SKIN->form_yes_no( "portal_announcement", $INFO['portal_announcement']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Текст приветсвия:</b>" ,
									  $SKIN->form_textarea("portal_announcement_text", $INFO['portal_announcement_text'] )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Стиль" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать меню выбора стиля? (лучше выключить, глючит под некоторыми браузерами)</b>" ,
									  $SKIN->form_yes_no( "portal_changeskin", $INFO['portal_changeskin']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Голосование" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Голосование портала</b><br>Выберете тему из списка голосований." ,
									  $SKIN->form_dropdown( "portal_poll", $top_polls , $INFO['portal_poll'] )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Новости" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Экспортировать новостной топик из указанного форума?</b>" ,
									  $SKIN->form_dropdown( "portal_newsforum", $form_array, $INFO['portal_newsforum']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Экспорт новостей из нескольких форумов?</b><br>Укажите ID форумов, разделяя их зяпятой (,)" ,
									  $SKIN->form_input( "portal_newsforum_expert", $INFO['portal_newsforum_expert']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Сколько тем новостей показывать на странице?</b>" ,
									  $SKIN->form_input( "portal_newsposts", $INFO['portal_newsposts']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать старые новости?</b>" ,
									  $SKIN->form_yes_no( "portal_old_news", $INFO['portal_old_news']  )

							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Количество показываемых старых новостей:</b>" ,
									  $SKIN->form_input( "portal_num_old_news", $INFO['portal_num_old_news']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Обрезать текст новостей, до указанного количества символов?</b>" ,
									  $SKIN->form_yes_no( "portal_tease_news", $INFO['portal_tease_news']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Обрезка текста новостей. Укажите отображаемое количество символов?</b><br>Использование HTML/IBF кодов в новостных форумах может привести к нечитаемым линкам (?)" ,
									  $SKIN->form_input( "portal_tease_length", $INFO['portal_tease_length']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Поисковики" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать Веб-поисковик?</b>" ,
									  $SKIN->form_yes_no( "portal_websearch", $INFO['portal_websearch']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать встронный поисковик сайта?</b>" ,
									  $SKIN->form_yes_no( "portal_site_search", $INFO['portal_site_search']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Календарь" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать календарь (Большая версия)?</b>" ,
									  $SKIN->form_yes_no( "portal_calendar", $INFO['portal_calendar']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();


	$ADMIN->html .= $SKIN->start_table( "Шутки" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать шутки? (ну их нафик..)</b>" ,
									  $SKIN->form_yes_no( "portal_jokes", $INFO['portal_jokes']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Последние темы" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Отображать последние темы (малая версия)?</b>" ,
									  $SKIN->form_yes_no( "portal_latestposts", $INFO['portal_latestposts']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Количество отображаемых последних тем (малой версии)?</b>" ,
									  $SKIN->form_input( "portal_num_latestposts", $INFO['portal_num_latestposts']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Отображать последние темы (Большая версия)?</b>" ,
									  $SKIN->form_yes_no( "portal_latestposts_big", $INFO['portal_latestposts_big']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Количество отображаемых последних тем (Большой версии)?</b>" ,
									  $SKIN->form_input( "portal_num_latestposts_big", $INFO['portal_num_latestposts_big']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать новые сообщения, с прошлого визита?</b><br>Не используйте одновременно с последними темами... Это фактически тоже-самое. (лучше отключить)" ,
									  $SKIN->form_yes_no( "portal_newposts", $INFO['portal_newposts']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Количество последних отображаемых сообщений</b>" ,
									  $SKIN->form_input( "portal_num_newposts", $INFO['portal_num_newposts']  )




							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Меню навигации" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать меню нафигации? (у нас дублируется форумной шапкой. Я отключил)</b>" ,

									  $SKIN->form_yes_no( "portal_navigation", $INFO['portal_navigation']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Дополнительные ссылки нафигации</b>" ,
									  $SKIN->form_textarea("portal_navigation_links", $INFO['portal_navigation_links'] )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Меню авторизации" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать меню авторизации? (если не авторизован)</b>" ,
									  $SKIN->form_yes_no( "portal_loginbox", $INFO['portal_loginbox']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Welcome-Панель" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Отображать Welcome-панель? (ресурсоёмка и неуместна.. отключил)</b>" ,
									  $SKIN->form_yes_no( "portal_welcomepanel", $INFO['portal_welcomepanel']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Статистика" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать онлайн-юверей?</b>" ,
									  $SKIN->form_yes_no( "portal_activemembers", $INFO['portal_activemembers']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать статистику (#топики, #участники, и т.д.)?</b>" ,
									  $SKIN->form_yes_no( "portal_post_stats", $INFO['portal_post_stats']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать дни рожденья?</b>" ,
									  $SKIN->form_yes_no( "portal_birthdays", $INFO['portal_birthdays']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Зал славы. ТОп флудеров?</b>" ,
									  $SKIN->form_yes_no( "portal_top_posters", $INFO['portal_top_posters']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Сколько показывать флудеров в топе?</b>" ,
									  $SKIN->form_input( "portal_num_topposters", $INFO['portal_num_topposters']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать новых участников?</b>" ,
									  $SKIN->form_yes_no( "portal_new_members", $INFO['portal_new_members']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Количество отображаемых новых участников?</b>" ,
									  $SKIN->form_input( "portal_num_newmembers", $INFO['portal_num_newmembers']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать топ-форумы?</b>" ,
									  $SKIN->form_yes_no( "portal_top_forums", $INFO['portal_top_forums']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Сколько-топ форумов отображать?</b>" ,
									  $SKIN->form_input( "portal_num_top_forums", $INFO['portal_num_top_forums']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать случайного юзера-'героя'?</b>" ,
									  $SKIN->form_yes_no( "portal_member_moment", $INFO['portal_member_moment']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать календарные события?</b>" ,
									  $SKIN->form_yes_no( "portal_calendar_events", $INFO['portal_calendar_events']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Добавочные блоки меню" );

$count = 0;

$DB->query("select * from ibf_up_custblocks");
while($customblocks = $DB->fetch_row())
{
$blockname[$count] = $customblocks['name'];
$blocktitle[$count] = $customblocks['title'];

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать блок: {$blocktitle[$count]}?</b>" ,
									  $SKIN->form_yes_no( $blockname[$count], $INFO[$blockname[$count]]  )
							 )	  );
$count++;

}

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Добавочное содержимое" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать страницу:?</b>" ,
									  $SKIN->form_yes_no( "portal_custom_content", $INFO['portal_custom_content']  )
							 )	  );

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->html .= $SKIN->start_table( "Другие блоки (блоки других модификаций)" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать последние скачиваня (Из файл.Архва)?</b>" ,
									  $SKIN->form_yes_no( "portal_latest_downloads", $INFO['portal_latest_downloads']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать последние скрины (Файл.Архив)?</b>" ,
									  $SKIN->form_yes_no( "portal_randompic", $INFO['portal_randompic']  )
							 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Показывать D-Shoutbox?</b>" ,
									  $SKIN->form_yes_no( "portal_shoutbox", $INFO['portal_shoutbox']  )
							 )	  );


	$this->common_footer();
}

function align()
{
	global $ibforums, $DB, $INFO, $ADMIN, $SKIN;

$alignment[] = array(left, "слева");
$alignment[] = array(middle, "центр");
$alignment[] = array(right, "Справа");

		$ADMIN->page_title  = "Выравнивание блоков";
		$ADMIN->page_detail = "Выравнивание блоков";


	$SKIN->td_header[] = array( "Название"		, "50%" );



		$SKIN->td_header[] = array( "Выравнивание"	, "50%" );

		$button	  = "Подтвердить";

		$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_align' ),
							 2 => array( 'act'   , 'portal' ),
									 )	  );

		$ADMIN->html .= $SKIN->start_table( "Выравнивание блоков меню" );

		$DB->query("SELECT * FROM ibf_unrealportal order by order2 ASC");
		while( $Data = $DB->fetch_row() )
		{
			$input_name = $Data['id']."_position";
			$ADMIN->html .= $SKIN->add_td_row( array(
											   		  "<div align='center' style='font-weight: bold;'>".$Data['name']."</div>",
											   		  $SKIN->form_dropdown( $input_name, $alignment, $Data['align'] )
						 			)	  );
		}

		$ADMIN->html .= $SKIN->end_form($button);
		$ADMIN->html .= $SKIN->end_table();

	$ADMIN->output();
}

function do_align()
{
	global $ibforums, $IN, $ADMIN, $DB, $INFO;

	$order = array();

	foreach( $IN as $key=>$value )
	{
		if( preg_match("#_position#", $key) )
		{
			$key = intval($key);
			$order[$key] = $value;
		}
	}

	unset($key);
	unset($value);
	foreach( $order as $key=>$value )
	{
				$db_string = $DB->compile_db_update_string( array ( 'align' => $value ) );
		$DB->query("UPDATE ibf_unrealportal SET ".$db_string." WHERE id='".$key."'");
	}

	$ADMIN->done_screen("Блоки меню выровнены" , "Выравнивание блоков меню", "act=portal&code=align");
}


function reorder()
{
	global $ibforums, $DB, $INFO, $ADMIN, $SKIN;

		$ADMIN->page_title  = "Пересортировка блоков";
		$ADMIN->page_detail = "Пересортировка уровней блоков";

	$SKIN->td_header[] = array( "Название блока"  , "50%" );
		$SKIN->td_header[] = array( "Положение" , "50%" );

		$button	  = "Подтвердить";

		$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_reorder' ),
													2 => array( 'act'   , 'portal' ),
									 )	  );


		$ADMIN->html .= $SKIN->start_table( "Пересортировка блоков" );

		$DB->query("SELECT * FROM ibf_unrealportal order by order2 ASC");
		while( $Data = $DB->fetch_row() )
		{
			$input_name = $Data['id']."_position";
			$input_align = $Data['id']."_align";
			$ADMIN->html .= $SKIN->add_td_row( array(
											   		  "<div align='center' style='font-weight: bold;'>".$Data['name']."</div>",
											   		  $SKIN->form_simple_input($input_name, $Data['order2'] )
						 			)	  );
		}



		$ADMIN->html .= $SKIN->end_form($button);
		$ADMIN->html .= $SKIN->end_table();

	$ADMIN->output();
}

function do_reorder()
{
	global $ibforums, $IN, $ADMIN, $DB, $INFO;

	$order = array();

	foreach( $IN as $key=>$value )
	{
		if( preg_match("#_position#", $key) )
		{
			if( !is_numeric($value) || $value < 0 )
			{
				$ADMIN->error("Все поля должны быть нулём или наибольшим целым числом.");
			}
			$key = intval($key);
			$order[$key] = $value;
		}
	}

	unset($key);
	unset($value);
	foreach( $order as $key=>$value )
	{
				$db_string = $DB->compile_db_update_string( array ( 'order2' => $value ) );
		$DB->query("UPDATE ibf_unrealportal SET ".$db_string." WHERE id='".$key."'");
	}

	$ADMIN->done_screen("Блоки пересортированы" , "Пересортировка блоков", "act=portal&code=reorder");
}

function delete_custom()
{
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

$ADMIN->page_detail = "Удаление добавочных блоков";
$ADMIN->page_title  = "Добавочные блоки";

$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_delete_custom' ),
										  2 => array( 'act'   , 'portal'	 ),
								 )	  );

//+-------------------------------

$SKIN->td_header[] = array( "Имя"	 , "33%" );
$SKIN->td_header[] = array( "Заголовок"	, "33%" );
$SKIN->td_header[] = array( "Удалить"   , "33%" );

//+-------------------------------


$ADMIN->html .= $SKIN->start_table( "Удаление блока" );

$i=0;
$DB->query("SELECT * FROM ibf_up_custblocks");

while ($Data = $DB->fetch_row() ) {
$i++;



	$ADMIN->html .= $SKIN->add_td_row( array(
										  "<center><b>{$Data['name']}</b></center>",
										  "<center><b>{$Data['title']}</b></center>",
										  "<center><a href='{$ADMIN->base_url}&act=portal&code=do_delete_custom&name={$Data['name']}'>Удалить</a></center>",
								 )	  );
}

$ADMIN->html .= $SKIN->end_table();

$ADMIN->output();

}

function delete_content()
{
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

$ADMIN->page_detail = "Удалить добавочное содержимое допонительных страниц";
$ADMIN->page_title  = "Добавочные страницы";

$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_delete_content' ),
										  2 => array( 'act'   , 'portal'	 ),
								 )	  );

//+-------------------------------

$SKIN->td_header[] = array( "Имя"	 , "33%" );
$SKIN->td_header[] = array( "Заголовок"	, "33%" );
$SKIN->td_header[] = array( "Удалить"   , "33%" );

//+-------------------------------

$ADMIN->html .= $SKIN->start_table( "Удалить содержимое" );

$i=0;
$DB->query("SELECT * FROM ibf_up_custcontent");

while ($Data = $DB->fetch_row() ) {
$i++;



	$ADMIN->html .= $SKIN->add_td_row( array(
										  "<center><b>{$Data['name']}</b></center>",
										  "<center><b>{$Data['title']}</b></center>",
										  "<center><a href='{$ADMIN->base_url}&act=portal&code=do_delete_content&name={$Data['name']}'>Удалить</a></center>",
								 )	  );
}

$ADMIN->html .= $SKIN->end_table();

$ADMIN->output();

}

function do_delete_custom(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$DB->query("delete from ibf_unrealportal where name='{$IN['name']}'");
$DB->query("delete from ibf_up_custblocks where name='{$IN['name']}'");
$ADMIN->done_screen("Блок стёрт", "Удаление добавочных блоков меню", "act=portal&code=delete_custom" );
}

function do_delete_content(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$DB->query("delete from ibf_up_custcontent where name='{$IN['name']}'");
$ADMIN->done_screen("Добавочное содержимоё стёрто", "Удаление добав.содержимого", "act=portal&code=delete_content" );
}

function add_block(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$ADMIN->page_detail = "Добавить блок";
	$ADMIN->page_title  = "Меню добавления блоков";

	$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_add' ),
											  2 => array( 'act'   , 'portal'	 ),
											  3 => array( 'block_name'	, $IN['block_name'] ),
											  3 => array( 'block_title'	, $IN['block_title'] ),
											  3 => array( 'block_html'	, $IN['block_html'] ),
									 )	  );

//+-------------------------------

$SKIN->td_header[] = array( " "  , "40%" );
$SKIN->td_header[] = array( " "  , "60%" );

//+-------------------------------

	$ADMIN->html .= $SKIN->start_table( "Добавить блок" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<bИмя блока:</b><br>Уникальное название, в нижнем регистре, латиницей." ,
											  $SKIN->form_input( "block_name", $block_name  )
									 )	  );


	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Заголовок:</b><br>Он будет отображаться заголовком пункта меню" ,
											  $SKIN->form_input( "block_title", $block_title  )
									 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Содержимое на PHP/HTML:</b><br>Проверьте что php-код между тэгами <?php и ?>" ,
											  $SKIN->form_textarea("block_html", $block_html )
									 )	  );

	$ADMIN->html .= $SKIN->end_form('Добавить блок');


	$ADMIN->html .= $SKIN->end_table();


	$ADMIN->output();

}

function add_content(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$ADMIN->page_detail = "Добавить содержимое (Content)";
	$ADMIN->page_title  = "Меню добавления контента";

	$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_add_content' ),
											  2 => array( 'act'   , 'portal'	 ),
											  3 => array( 'content_name'	, $IN['content_name'] ),
											  3 => array( 'content_title'	, $IN['content_title'] ),
											  3 => array( 'content_html'	, $IN['content_html'] ),
									 )	  );

//+-------------------------------

$SKIN->td_header[] = array( " "  , "40%" );
$SKIN->td_header[] = array( " "  , "60%" );

//+-------------------------------

	$ADMIN->html .= $SKIN->start_table( "Добавить содержимое" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Имя содержимого:</b><br> Латиница, нижний регистр. Уникальное имя." ,
											  $SKIN->form_input( "content_name", $content_name  )
									 )	  );


	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Заголовок контента:</b><br> Для отображения на сайте" ,
											  $SKIN->form_input( "content_title", $content_title  )
									 )	  );


	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Содержимое PHP/HTML:</b><br> (php-код между тэгами <?php и ?> )" ,
											  $SKIN->form_textarea("content_html", $content_html )
									 )	  );

	$ADMIN->html .= $SKIN->end_form('Добавить');


	$ADMIN->html .= $SKIN->end_table();


	$ADMIN->output();

}

function do_add_content(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP, $HTTP_POST_VARS;

$contenthtml = $HTTP_POST_VARS['content_html'];

$DB->query("INSERT INTO `ibf_up_custcontent` ( `name` , `title` , `html` ) VALUES (LCASE( '{$IN['content_name']}' ), '{$IN['content_title']}', '{$contenthtml}');");

$ADMIN->done_screen("Содержимое добавлено", "Добавить содержимое", "act=portal&code=add_content" );
}

function do_add(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP, $HTTP_POST_VARS;

$total = 0;
$DB->query("SELECT * FROM ibf_unrealportal order by order2 ASC");
while($fetch = $DB->fetch_row())
{
$total++;
}
$total += 1;

$blockhtml = $HTTP_POST_VARS['block_html'];

$DB->query("INSERT INTO ibf_unrealportal ( id, name , align , order2 ) 
VALUES ('', '".strtolower($IN['block_name'])."', 'left', '{$total}');");

$DB->query("INSERT INTO `ibf_up_custblocks` ( `name` , `title` , `html` ) VALUES (LCASE( '{$IN['block_name']}' ), '{$IN['block_title']}', '{$blockhtml}');");

$ADMIN->done_screen("Блок добавлен", "Добавление блоков", "act=portal&code=add_block" );
}

function view_edit()
{
	global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$ADMIN->page_detail = "Редактирование добавленных блоков.";
	$ADMIN->page_title  = "Редактирование добавленных блоков";

	$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'edit_block' ),
											  2 => array( 'act'   , 'portal'	 ),
									 )	  );




	//+-------------------------------

	$SKIN->td_header[] = array( "Заголовок"	, "33%" );
	$SKIN->td_header[] = array( "имя"	, "33%" );
	$SKIN->td_header[] = array( "Редактировать"	   , "33%" );

	//+-------------------------------

	$ADMIN->html .= $SKIN->start_table( "Редактировать добавочный блок" );

$i=0;
$DB->query("SELECT * FROM ibf_up_custblocks");
while ($Data = $DB->fetch_row() ) {
$i++;

			$ADMIN->html .= $SKIN->add_td_row( array(
													  "<center><b>{$Data['name']}</b></center>",
													  "<center><b>{$Data['title']}</b></center>",
													  "<center><a href='{$ADMIN->base_url}&act=portal&code=edit_block&name={$Data['name']}'>Редактировать</a></center>",
											 )	  );
}

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->output();

}

function view_edit_content()
{
	global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$ADMIN->page_detail = "Редактировать доб.содержимое.";
	$ADMIN->page_title  = "Edit Content";

	$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'edit_content' ),
											  2 => array( 'act'   , 'portal'	 ),
									 )	  );


	//+-------------------------------

	$SKIN->td_header[] = array( "Заголовок"	, "33%" );
	$SKIN->td_header[] = array( "Имя"	, "33%" );
	$SKIN->td_header[] = array( "Редактировать"	   , "33%" );

	//+-------------------------------

	$ADMIN->html .= $SKIN->start_table( "Редактирование содержимого" );

$i=0;
$DB->query("SELECT * FROM ibf_up_custcontent");
while ($Data = $DB->fetch_row() ) {
$i++;

			$ADMIN->html .= $SKIN->add_td_row( array(
													  "<center><b>{$Data['name']}</b></center>",
													  "<center><b>{$Data['title']}</b></center>",
													  "<center><a href='{$ADMIN->base_url}&act=portal&code=edit_content&name={$Data['name']}'>Редактировать</a></center>",
											 )	  );
}

	$ADMIN->html .= $SKIN->end_table();


	$ADMIN->output();

}

function edit_block(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$ADMIN->page_detail = "Редактирование добавочного блока";
	$ADMIN->page_title  = "Редактирование добавочных блоков меню";

$DB->query("SELECT * FROM ibf_up_custblocks WHERE name='".$IN['name']."'");

if ( ! $Data = $DB->fetch_row() ){
$ADMIN->error("Не могу выполнить. В базе данных нет сведений");

}



$total = 0;
$DB->query("SELECT * FROM ibf_up_custblocks");
while($fetch = $DB->fetch_row())
{
$total++;
}

	$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_edit' ),
											  2 => array( 'act'   , 'portal'	 ),
											  3 => array( 'name'	, $IN['name'] ),
									 )	  );

//+-------------------------------

$SKIN->td_header[] = array( " "  , "40%" );
$SKIN->td_header[] = array( " "  , "60%" );

//+-------------------------------

$alignment[] = array(left, "left");
$alignment[] = array(right, "right");

for($count = 1;$count <= $total;$count++)
$order[] = array($count, "$count");

	$ADMIN->html .= $SKIN->start_table( "Редактирование добавочных блоков" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Block Title:</b><br>This is the title of the 

	block that's shown on the site" ,
											  $SKIN->form_input( "block_title", $Data['title']  )
									 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Block PHP/HTML:</b><br>Be sure to put the php code in between the <?php and ?> tags" ,
											  $SKIN->form_textarea("block_html", $Data['html'])
									 )	  );

	$ADMIN->html .= $SKIN->end_form('Edit Custom Blocks');

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->output();
}

function edit_content(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$ADMIN->page_detail = "Edit Content";
	$ADMIN->page_title  = "Content Management";

$DB->query("SELECT * FROM ibf_up_custcontent WHERE name='".$IN['name']."'");
if ( ! $Data = $DB->fetch_row() ){
$ADMIN->error("Unable to find custom contents");


}

	$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , 'do_edit_content' ),
											  2 => array( 'act'   , 'portal'	 ),
											  3 => array( 'name'	, $IN['name'] ),
									 )	  );

//+-------------------------------


$SKIN->td_header[] = array( " "  , "40%" );
$SKIN->td_header[] = array( " "  , "60%" );

//+-------------------------------

$alignment[] = array(left, "left");
$alignment[] = array(right, "right");

for($count = 1;$count <= $total;$count++)
$order[] = array($count, "$count");

	$ADMIN->html .= $SKIN->start_table( "Edit Content" );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Content Title:</b><br>This is the title of the 

	block that's shown on the site" ,
											  $SKIN->form_input( "content_title", $Data['title']  )
									 )	  );

	$ADMIN->html .= $SKIN->add_td_row( array( "<b>Content PHP/HTML:</b><br>Be sure to put the php code in between the <?php and ?> tags" ,
											  $SKIN->form_textarea("content_html", $Data['html'])
									 )	  );

	$ADMIN->html .= $SKIN->end_form('Edit Content');




	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->output();
}

function do_edit(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP, $HTTP_POST_VARS;

$blockhtml = $HTTP_POST_VARS['block_html'];

$DB->query("UPDATE `ibf_up_custblocks` SET title='{$IN['block_title']}' WHERE name='{$IN['name']}'");
$DB->query("UPDATE `ibf_up_custblocks` SET html='{$blockhtml}' WHERE name='{$IN['name']}'");


$DB->query("OPTIMIZE TABLE ibf_unrealportal");
$ADMIN->done_screen("Custom Block Edited.", "Edit Custom Blocks", "act=portal&code=view_edit" );
}

function do_edit_content(){
global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP, $HTTP_POST_VARS;

$contenthtml = $HTTP_POST_VARS['content_html'];

$DB->query("UPDATE `ibf_up_custcontent` SET title='{$IN['content_title']}' WHERE name='{$IN['name']}'");
$DB->query("UPDATE `ibf_up_custcontent` SET html='{$contenthtml}' WHERE name='{$IN['name']}'");
$DB->query("OPTIMIZE TABLE ibf_up_custcontent");
$ADMIN->done_screen("Content Edited.", "Edit Content", "act=portal&code=view_edit_content" );
}


//-------------------------------------------------------------
//
// Save config. Does the hard work, so you don't have to.
//
//--------------------------------------------------------------

function save_config( $new )
{
	global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP, $HTTP_POST_VARS;

	$master = array();

	if ( is_array($new) )
	{
		if ( count($new) > 0 )
		{
			foreach( $new as $field )
			{

				// Handle special..


				if ($field == 'img_ext' or $field == 'avatar_ext' or $field == 'photo_ext')
				{
					$HTTP_POST_VARS[ $field ] = preg_replace( "/[\.\s]/", "" , $HTTP_POST_VARS[ $field ] );
					$HTTP_POST_VARS[ $field ] = str_replace('|', "|", $HTTP_POST_VARS[ $field ]);
					$HTTP_POST_VARS[ $field ] = preg_replace( "/,/"	 , '|', $HTTP_POST_VARS[ $field ] );
				}

				else if ($field == 'coppa_address')
				{
					$HTTP_POST_VARS[ $field ] = nl2br( $HTTP_POST_VARS[ $field ] );
				}

				if ( $field == 'gd_font' OR $field == 'html_dir' OR $field == 'upload_dir')
				{
					$HTTP_POST_VARS[ $field ] = preg_replace( "/'/", "'", $HTTP_POST_VARS[ $field ] );
				}
				else
				{
					$HTTP_POST_VARS[ $field ] = preg_replace( "/'/", "'", stripslashes($HTTP_POST_VARS[ $field ]) );
				}

				$master[ $field ] = stripslashes($HTTP_POST_VARS[ $field ]);
			}

			$ADMIN->rebuild_config($master);
		}
	}



}
//-------------------------------------------------------------
//
// Common header: Saves writing the same stuff out over and over
//
//--------------------------------------------------------------

function common_header( $formcode = "", $section = "", $extra = "", $extra2 = "")
{

	global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$extra = $extra ? $extra."<br>" : $extra;

	$ADMIN->page_detail = $extra . "Проверьте правильность заполнения";
	$ADMIN->page_title  = "Настройки страницы ($section)";

	//+-------------------------------

	$ADMIN->html .= $SKIN->start_form( array( 1 => array( 'code'  , $formcode ),
											  2 => array( 'act'   , 'portal'	  ),
									 )	  );


	//+-------------------------------

	$SKIN->td_header[] = array( "{none}"  , "40%" );
	$SKIN->td_header[] = array( "{none}"  , "60%" );

	//+-------------------------------

	$ADMIN->html .= $SKIN->start_table( $extra2 );

}

//-------------------------------------------------------------
//

// Common footer: Saves writing the same stuff out over and over
//
//--------------------------------------------------------------

function common_footer( $button="Подтвердить изменения" )
{

	global $ibforums, $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

	$ADMIN->html .= $SKIN->end_form($button);

	$ADMIN->html .= $SKIN->end_table();

	$ADMIN->output();

}
}


?>

Ссылка на комментарий
Поделиться на других сайтах

На первый взгляд он мне понравился уж очень, хорошо в нем все было, я даже сначало и не поверил... Потом поюзав еще чутка спалил много истин :D Cutom Blocks не отображаются, пытаешься их включить, жмешь Сохранить изменения, его нету, зайдя снова в основные настройки портала, видишь что блок не включен... Слева портал отстает от шапки форума на пол см наверно... вообщем жесть ;) Спасиб Паладин но я наверно что-то другое искать буду....
Ссылка на комментарий
Поделиться на других сайтах

Потому я и говорю, напильничком нужно доделывать :D У меня этот портал на главной странице, по ссылке ниже. Мне хватает)

попробуй МК-портал. Его хвалят..

 

пытаешься их включить, жмешь Сохранить изменения

Так вот сделано. Сохранить начинку блока, не то же самое что его расположение и состояние вкл/выкл.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.