Pagina 1 van 1

Nutzport

Geplaatst: 21 sep 2004, 16:56
door Repsaj
Ik heb nutzportal gedownload en de wijzigingen doorgevoerd.
Als ik dan naar /portal.php ga, zegt ie dat ie niet geinstalleerd is (dat klopt, er zijn geen tabellen aangemaakt). Als ik dan op installeren druk, gaat ie naar de index terug.
Kan iemand een stappenplan maken van portal.php?

Code: Selecteer alles

<?php
/***************************************************************************
 *                            admin_portal.php
 *                            -------------------
 *   begin                : Sunday 2nd November 2003
 *   copyright            : (C) 2003 Robert Laverick
 *   email                : robert@scabserver.com
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', 1);

if( !empty($setmodules) )
{
	$filename = basename(__FILE__);
	$module['Forums']['Portal'] = $filename;

	return;
}

//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = './../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);

//
// function to test if nutport is installed
//

function is_installed()
{
	global $board_config;

	if(isset($board_config['nutport_installed']))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function do_install()
{
	global $db;

	if(!defined('PORTAL_TABLE'))
	{
		message_die(GENERAL_ERROR, "You need to complete the modifications to the php files before install can proceed (constants.php)", "", __LINE__, __FILE__);
	}

	$sql = 'CREATE TABLE IF NOT EXISTS ' . PORTAL_TABLE . ' (
		portal_id mediumint(8) NOT NULL auto_increment,
		portal_order mediumint(8) NOT NULL default \'0\',
		portal_title varchar(60) NOT NULL default \'\',
		portal_description text,
		portal_bbcode_id varchar(10) NOT NULL default \'\',
		portal_use_url tinyint(1) default NULL,
		portal_forum smallint(5) NOT NULL default \'0\',
		portal_url varchar(250) NOT NULL default \'\',
		portal_list_limit mediumint(8) NOT NULL default \'0\',
		portal_ascending tinyint(1) default NULL,
		portal_nodate tinyint(1) default NULL,
		portal_button_name varchar(100) NOT NULL default \'\',
		portal_button_image varchar(100) NOT NULL default \'\',
		portal_navbar tinyint(1) default NULL,
		portal_login tinyint(1) default NULL,
		portal_online tinyint(1) default NULL,
		portal_latest text default NULL,
		portal_poll smallint(5) default NULL,
		PRIMARY KEY  (portal_id)
		)';

	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Couldn't create NutPort tables", "", __LINE__, __FILE__, $sql);
	}

	$sql = "SELECT MIN(forum_id) as Min_Forum FROM " . FORUMS_TABLE;

	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Getting Minimum Forum ID", "", __LINE__, __FILE__, $sql);
	}
	$defaults = $db->sql_fetchrow($result);

	$sql = "SELECT forum_id FROM " . FORUMS_TABLE . " WHERE auth_read = 0";

	if( !$result = $db->sql_query($sql) )
	{
	   message_die(GENERAL_ERROR, "Couldn't populate NutPort tables", "", __LINE__, __FILE__, $sql);
	}

	$default_latest_forums = array();
	while ($forum = $db->sql_fetchrow($result))
	{
		$default_latest_forums[] = intval($forum['forum_id']);
	}

	$sql = 'INSERT INTO `' . PORTAL_TABLE . '` (`portal_id`, `portal_order`, `portal_title`, `portal_description`,
		`portal_bbcode_id`, `portal_use_url`, `portal_forum`, `portal_url`, `portal_list_limit`, `portal_ascending`,
		`portal_nodate`, `portal_button_name`, `portal_button_image`, `portal_navbar`, `portal_login`, `portal_online`,
		`portal_latest`, `portal_poll`)
	VALUES (\'1\', \'1\', \'My Nutport\', \'Example page created by NutPort Install, You can change this text via the admin page\', \'0\', NULL, \'' . $defaults['Min_Forum'] . '\', \'\',
		\'5\', \'1\', NULL, \'My Page\', \'\', \'1\', \'1\', \'1\', \'' . implode($default_latest_forums, ',') . '\', \'0\');';

	if( !$result = $db->sql_query($sql) )
	{
	   message_die(GENERAL_ERROR, "Couldn't populate NutPort tables", "", __LINE__, __FILE__, $sql);
	}

	$sql = 'INSERT INTO ' . CONFIG_TABLE . ' (config_name, config_value) VALUES (\'nutport_installed\',\'1\')';

	if( !$result = $db->sql_query($sql) )
	{
	   message_die(GENERAL_ERROR, "Couldn't complete NutPort install", "", __LINE__, __FILE__, $sql);
	}

	$uid = 1234567;
	$message = 'NutPort Install is now complete. <br /><br />Click <a href="' . append_sid('../portal.php') . '" target="_top">'.
		'Here</a> to view your portal page<br /><br />Click <a href="' . append_sid('portal_admin.php') . '">Here</a> to go to portal Administration'.
		'<br /><br />Click <a href="http://www.scabserver.com/php">Here</a> to check for Nutport information and update at d-Ark Developments';

	message_die(GENERAL_MESSAGE, bbencode_second_pass($message, $uid), "", __FILE__, __LINE__);
}

// function to generate a combo box style list
// returns as string
// by Robert Laverick
// robert@scabserver.com

function get_list($mode, $id, $select)
{
	global $db;

	switch($mode)
	{
		case 'pages':
			$table = PORTAL_TABLE;
			$idfield = 'portal_id';
			$namefield = 'portal_title';
			break;

		case 'forums':
			$table = FORUMS_TABLE;
			$idfield = 'forum_id';
			$namefield = 'forum_name';
			break;

		default:
			message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
			break;
	}

	$sql = "SELECT *
		FROM $table";
	if( $select == 0 )
	{
		$sql .= " WHERE $idfield <> $id";
	}

	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Couldn't get list of $mode", "", __LINE__, __FILE__, $sql);
	}

	$list = "";

	while( $row = $db->sql_fetchrow($result) )
	{
		$s = "";
		if ($row[$idfield] == $id)
		{
			$s = " selected=\"selected\"";
		}
		$list .= "<option value=\"$row[$idfield]\"$s>" . $row[$namefield] . "</option>\n";
	}
	return($list);
}

// function to generate a check box group
// returns as string
// by Robert Laverick
// robert@scabserver.com

function get_grp($mode, $id, $select, $name)
{
	global $db;

	switch($mode)
	{
		case 'pages':
			$table = PORTAL_TABLE;
			$idfield = 'portal_id';
			$namefield = 'portal_title';
			break;

		case 'forums':
			$table = FORUMS_TABLE;
			$idfield = 'forum_id';
			$namefield = 'forum_name';
			break;

		default:
			message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
			break;
	}

	$sql = "SELECT *
		FROM $table";
	if( $select == 0 && count($id) > 0)
	{
		$sql .= " WHERE not $idfield in (" . implode($id, ", ") . ")";
	}

	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Couldn't get list of $mode", "", __LINE__, __FILE__, $sql);
	}

	$list = "";

	while( $row = $db->sql_fetchrow($result) )
	{
		$s = "";
		if (in_array($row[$idfield], $id))
		{
			$s = " checked=\"checked\"";
		}
		$list .= "<label><input type=\"checkbox\" name=\"" . $name . "[]\" value=\"" . $row[$idfield] . "\"$s /> " . $row[$namefield] . "</label>\n";
	}
	return($list);
}

//function

//// NOTE: This function is straight from includes/functions_post.php, I just changes the path to the smiley images
//
// Fill smiley templates (or just the variables) with smileys
// Either in a window or inline
//
function generate_smilies2($mode, $page_id)
{
	global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
	global $user_ip, $session_length, $starttime;
	global $userdata;

	$inline_columns = 4;
	$inline_rows = 5;
	$window_columns = 8;

	if ( $mode == 'window' )
	{
		$userdata = session_pagestart($user_ip, $page_id);
		init_userprefs($userdata);

		$gen_simple_header = TRUE;

		$page_title = $lang['Review_topic'] . " - $topic_title";
		include($phpbb_root_path . 'includes/page_header.'.$phpEx);

		$template->set_filenames(array(
			'smiliesbody' => 'posting_smilies.tpl')
		);
	}

	$sql = "SELECT emoticon, code, smile_url  
		FROM " . SMILIES_TABLE . "
		ORDER BY smilies_id";
	if ( $result = $db->sql_query($sql) )
	{
		$num_smilies = 0;
		$rowset = array();
		while ( $row = $db->sql_fetchrow($result) )
		{
			if ( empty($rowset[$row['smile_url']]) )
			{
				$rowset[$row['smile_url']]['code'] = str_replace('\\', '\\\\', str_replace("'", "\\'", $row['code']));
				$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
				$num_smilies++;
			}
		}

		if ( $num_smilies )
		{
			$smilies_count = ( $mode == 'inline' ) ? min(19, $num_smilies) : $num_smilies;
			$smilies_split_row = ( $mode == 'inline' ) ? $inline_columns - 1 : $window_columns - 1;

			$s_colspan = 0;
			$row = 0;
			$col = 0;

			while ( list($smile_url, $data) = @each($rowset) )
			{
				if ( !$col )
				{
					$template->assign_block_vars('smilies_row', array());
				}

				$template->assign_block_vars('smilies_row.smilies_col', array(
					'SMILEY_CODE' => $data['code'],

// NUTTZY - changed the path to the smilely images
//					'SMILEY_IMG' => $board_config['smilies_path'] . '/' . $smile_url,
					'SMILEY_IMG' => '../' . $board_config['smilies_path'] . '/' . $smile_url,

					'SMILEY_DESC' => $data['emoticon'])
				);

				$s_colspan = max($s_colspan, $col + 1);

				if ( $col == $smilies_split_row )
				{
					if ( $mode == 'inline' && $row == $inline_rows - 1 )
					{
						break;
					}
					$col = 0;
					$row++;
				}
				else
				{
					$col++;
				}
			}

			if ( $mode == 'inline' && $num_smilies > $inline_rows * $inline_columns )
			{
				$template->assign_block_vars('switch_smilies_extra', array());

				$template->assign_vars(array(
					'L_MORE_SMILIES' => $lang['More_emoticons'],
//					'U_MORE_SMILIES' => append_sid("../posting.$phpEx?mode=smilies"))
					'U_MORE_SMILIES' => append_sid("admin_portal.$phpEx?mode=smilies"))
				);
			}

			$template->assign_vars(array(
				'L_EMOTICONS' => $lang['Emoticons'],
				'L_CLOSE_WINDOW' => $lang['Close_window'],
				'S_SMILIES_COLSPAN' => $s_colspan)
			);
		}
	}

	if ( $mode == 'window' )
	{
		$template->pparse('smiliesbody');

		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
	}
}

function generate_help($mode, $page_id)
{
	global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
	global $user_ip, $session_length, $starttime;
	global $userdata;

	$userdata = session_pagestart($user_ip, $page_id);
	init_userprefs($userdata);

	$gen_simple_header = TRUE;

	$page_title = $lang['Review_topic'] . " - $topic_title";
	include($phpbb_root_path . 'includes/page_header.'.$phpEx);

	$template->set_filenames(array(
		'helpbody' => 'admin/portal_help.tpl')
	);

	$template->assign_vars(array(
		'L_PORTAL_HELP' => $lang['Portal_Help'])
	);

	

	$i = 0 ;
	$params = array(
		$lang['Page_Name']	=> $lang['Page_Name_Help'],
		$lang['Description_body'] => $lang['Description_body_Help'],
		$lang['Portal_Destination']	=> $lang['Portal_Destination_Help'],
		$lang['List_Limit']	=> $lang['List_Limit_Help'],
		$lang['Posts_Order']	=> $lang['Posts_Order_Help'],
		$lang['Display_Date']	=> $lang['Display_Date_Help'],
		$lang['Button_Name']	=> $lang['Button_Name_Help'],
		$lang['Button_Image']	=> $lang['Button_Image_Help'],
		$lang['Show_Navbar']	=> $lang['Show_Navbar_Help'],
		$lang['Show_Login']	=> $lang['Show_Login_Help'],
		$lang['Show_Online']	=> $lang['Show_Online_Help'],
		$lang['Show_Latest']	=> $lang['Show_Latest_Help'],
		$lang['Show_Poll']	=> $lang['Show_Poll_Help']
	);

	$i = 0;
	foreach( $params as $question => $answer )
	{
		$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

		$template->assign_block_vars('help_row', array(
			'ROW_CLASS' => $row_class,
			'HELP_QUESTION' => $question,
			'HELP_ANSWER' => $answer )
		);

		$i++ ;
	}

	$template->pparse('helpbody');

	include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}

function renumber_order()
{
	global $db;

	$table = PORTAL_TABLE;
	$idfield = 'portal_id';
	$orderfield = 'portal_order';

	$sql = "SELECT * FROM $table";
	$sql .= " ORDER BY $orderfield ASC";

	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Couldn't get list of Categories", "", __LINE__, __FILE__, $sql);
	}

	$i = 10;
	$inc = 10;

	while( $row = $db->sql_fetchrow($result) )
	{
		$sql = "UPDATE $table
			SET $orderfield = $i
			WHERE $idfield = " . $row[$idfield];
		if( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Couldn't update order fields", "", __LINE__, __FILE__, $sql);
		}
		$i += $inc;
	}

}

//
// Start program proper
//

if(isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']))
{
	$mode = (isset($HTTP_POST_VARS['mode'])) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
}
else
{
	$mode = '';
}


if(!is_installed() && $mode != 'install')
{
	message_die(GENERAL_MESSAGE, "Would you like to install nutport?<br /><br /><a href=\"" . append_sid("./admin_portal.$phpEx?mode=install") . "\">Yes</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"../index.php\" target=\"_top\">No</a>");
}
else
{

	if(isset($HTTP_GET_VARS['portal']) || isset($HTTP_POST_VARS['portal']))
	{
		$portal_id = intval((isset($HTTP_POST_VARS['portal'])) ? $HTTP_POST_VARS['portal'] : $HTTP_GET_VARS['portal']);
	}
	else
	{
		$portal_id = 0;
	}


	switch($mode)
	{
		case 'install':
			do_install();
		break;

		case 'editportal':
			$mode = 'edit';

			// Generate smilies listing for page output
			generate_smilies2('inline', PAGE_POSTING);

			//
			// Output the authorisation details if an id was
			// specified
			//
			$template->set_filenames(array(
				'body' => 'admin/portal_edit.tpl')
			);

			$sql = "SELECT n.*
				FROM " . PORTAL_TABLE . " n
				WHERE portal_id = $portal_id
				ORDER BY n.portal_order ASC " ;
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "Couldn't obtain portal list", "", __LINE__, __FILE__, $sql);
			}

			$portal_rows = $db->sql_fetchrowset($result);
			$db->sql_freeresult($result);

					$message = $portal_rows[0]['portal_description'] ;
			if ( $portal_rows[0]['portal_bbcode_id'] != '' )
			{
				$message = preg_replace('/\:(([a-z0-9]:)?)' . $portal_rows[0]['portal_bbcode_id'] . '/s', '', $message);
			}

			$message = str_replace('<', '<', $message);
			$message = str_replace('>', '>', $message);
			$message = str_replace('<br />', "\n", $message);

			$use_url = $portal_rows[0]['portal_use_url'] ;
			$forum_id = $portal_rows[0]['portal_forum'] ;
			$portal_url = str_replace('"', '\"', urldecode($portal_rows[0]['portal_url']));
			$portal_title = $portal_rows[0]['portal_title'] ;
			$list_limit = $portal_rows[0]['portal_list_limit'] ;
			$order_asc = $portal_rows[0]['portal_ascending'] ;
			$display_date = $portal_rows[0]['portal_nodate'] ;
			$button_name = $portal_rows[0]['portal_button_name'] ;
			$button_image = $portal_rows[0]['portal_button_image'] ;
			$show_navbar = $portal_rows[0]['portal_navbar'] ;
			$show_login = $portal_rows[0]['portal_login'] ;
			$show_online = $portal_rows[0]['portal_online'] ;
			$show_latest = explode(',', $portal_rows[0]['portal_latest']) ;
			$show_poll = $portal_rows[0]['portal_poll'] ;

			$template->assign_vars(array(
				'PAGE_NAME' => $portal_title,
				'MESSAGE' => $message,
				'FORUM_SELECT' => $select_list,
				'LIST_LIMIT' => $list_limit,
				'USE_URL' => ( $use_url == 1 ) ? 'checked="checked"' : '',
				'USE_FORUM' => ( $use_url == 0) ? 'checked="checked"' : '',
				'PORTAL_URL' => $portal_url,
				'POSTS_ORDER_ASC' => ( $order_asc ) ? 'checked="checked"' : '',
				'POSTS_ORDER_DSC' => ( !$order_asc ) ? 'checked="checked"' : '',
				'DISPLAY_DATE_YES' => ( !$display_date ) ? 'checked="checked"' : '',
				'DISPLAY_DATE_NO' => ( $display_date ) ? 'checked="checked"' : '',
				'BUTTON_NAME' => $button_name,
				'BUTTON_IMAGE' => $button_image,
				'SHOW_NAVBAR_YES' => ( $show_navbar ) ? 'checked="checked"' : '',
				'SHOW_NAVBAR_NO' => ( !$show_navbar ) ? 'checked="checked"' : '',
				'SHOW_LOGIN_YES' => ( $show_login ) ? 'checked="checked"' : '',
				'SHOW_LOGIN_NO' => ( !$show_login ) ? 'checked="checked"' : '',
				'SHOW_ONLINE_YES' => ( $show_online ) ? 'checked="checked"' : '',
				'SHOW_ONLINE_NO' => ( !$show_online ) ? 'checked="checked"' : '',
				'GRP_LATEST_SELECT' => get_grp('forums',$show_latest, 1, 'latest'),
				'POLL_SELECT' => get_list('forums', $show_poll, 1),
				'FORUM_SELECT' => get_list('forums', $forum_id, 1),
				'L_PORTAL_A' => $lang['Edit_Portal'],
				'L_OPTIONS' => $lang['Options'],
				'L_SUBMIT' => $lang['Submit'],
				'L_YES' => $lang['Yes'],
				'L_NO' => $lang['No'],
				'L_DEST_FORUM' => $lang['Dest_Forum'],
				'L_DEST_URL' => $lang['Dest_URL'],
				'L_ASC' => $lang['Ascending'],
				'L_DSC' => $lang['Desending'],
				'L_OPTION_INFO' => $lang['Options_Info'],
				'A_OPTION_INFO' => append_sid("admin_portal.$phpEx?mode=help"),

				'L_PAGE_NAME' => $lang['Page_Name'],
				'L_DESCRIPTION' => $lang['Description_body'],
				'L_PORTAL_DESTINATION' => $lang['Portal_Destination'],	// NOTE: need to select set one
				'L_LIST_LIMIT' => $lang['List_Limit'],
				'L_POSTS_ORDER' => $lang['Posts_Order'],
				'L_DISPLAY_DATE' => $lang['Display_Date'],
				'L_BUTTON_NAME' => $lang['Button_Name'],
				'L_BUTTON_IMAGE' => $lang['Button_Image'],
				'L_SHOW_NAVBAR' => $lang['Show_Navbar'],
				'L_SHOW_LOGIN' => $lang['Show_Login'],
				'L_SHOW_ONLINE' => $lang['Show_Online'],
				'L_SHOW_LATEST' => $lang['Show_Latest'],
				'L_SHOW_POLL' => $lang['Show_Poll'],
				'L_POLL_NONE' => $lang['No_Poll'],

				'L_BBCODE_B_HELP' => $lang['bbcode_b_help'],
				'L_BBCODE_I_HELP' => $lang['bbcode_i_help'],
				'L_BBCODE_U_HELP' => $lang['bbcode_u_help'],
				'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'],
				'L_BBCODE_C_HELP' => $lang['bbcode_c_help'],
				'L_BBCODE_L_HELP' => $lang['bbcode_l_help'],
				'L_BBCODE_O_HELP' => $lang['bbcode_o_help'],
				'L_BBCODE_P_HELP' => $lang['bbcode_p_help'],
				'L_BBCODE_W_HELP' => $lang['bbcode_w_help'],
				'L_BBCODE_A_HELP' => $lang['bbcode_a_help'],
				'L_BBCODE_S_HELP' => $lang['bbcode_s_help'],
				'L_BBCODE_F_HELP' => $lang['bbcode_f_help'],

				'L_EMPTY_MESSAGE' => $lang['Empty_message'],

				'L_FONT_COLOR' => $lang['Font_color'],
				'L_COLOR_DEFAULT' => $lang['color_default'],
				'L_COLOR_DARK_RED' => $lang['color_dark_red'],
				'L_COLOR_RED' => $lang['color_red'],
				'L_COLOR_ORANGE' => $lang['color_orange'],
				'L_COLOR_BROWN' => $lang['color_brown'],
				'L_COLOR_YELLOW' => $lang['color_yellow'],
				'L_COLOR_GREEN' => $lang['color_green'],
				'L_COLOR_OLIVE' => $lang['color_olive'],
				'L_COLOR_CYAN' => $lang['color_cyan'],
				'L_COLOR_BLUE' => $lang['color_blue'],
				'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'],
				'L_COLOR_INDIGO' => $lang['color_indigo'],
				'L_COLOR_VIOLET' => $lang['color_violet'],
				'L_COLOR_WHITE' => $lang['color_white'],
				'L_COLOR_BLACK' => $lang['color_black'],

				'L_FONT_SIZE' => $lang['Font_size'],
				'L_FONT_TINY' => $lang['font_tiny'],
				'L_FONT_SMALL' => $lang['font_small'],
				'L_FONT_NORMAL' => $lang['font_normal'],
				'L_FONT_LARGE' => $lang['font_large'],
				'L_FONT_HUGE' => $lang['font_huge'],

				'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'],
				'L_STYLES_TIP' => $lang['Styles_tip'],

				'S_POST_ACTION' => append_sid("admin_portal.$phpEx"),
				'S_HIDDEN_FORM_FIELDS' => $s_hidden_fields,
				'S_MODE' => 'save_editportal',
				'S_PORTAL_ID' => $portal_id)
			);
			break;
		case 'newportal':
			$mode = 'new';

			// Generate smilies listing for page output
			generate_smilies2('inline', PAGE_POSTING);

			//
			// Output the authorisation details if an id was
			// specified
			//
			$template->set_filenames(array(
				'body' => 'admin/portal_edit.tpl')
			);

			$message = 'Body text for the title to this page' ;
			$use_url = 0 ;
			$forum_id = 999 ;
			$portal_title = (isset($HTTP_POST_VARS['newpagename'])) ? htmlspecialchars($HTTP_POST_VARS['newpagename']) : 'Page Title'  ;
			$list_limit = 5 ;
			$order_asc = true ;
			$display_date = false ;
			$button_name = (isset($HTTP_POST_VARS['newpagename'])) ? htmlspecialchars($HTTP_POST_VARS['newpagename']) : 'New Button' ;
			$button_image = '' ;
			$show_navbar = true ;
			$show_login = true ;
			$show_online = true ;

			$template->assign_vars(array(
				'PAGE_NAME' => $portal_title,
				'MESSAGE' => $message,
				'FORUM_SELECT' => $select_list,
				'LIST_LIMIT' => $list_limit,
				'USE_URL' => ( $use_url == 1 ) ? 'checked="checked"' : '',
				'USE_FORUM' => ( $use_url == 0 ) ? 'checked="checked"' : '',
				'POSTS_ORDER_ASC' => ( $order_asc ) ? 'checked="checked"' : '',
				'POSTS_ORDER_DSC' => ( !$order_asc ) ? 'checked="checked"' : '',
				'DISPLAY_DATE_YES' => ( !$display_date ) ? 'checked="checked"' : '',
				'DISPLAY_DATE_NO' => ( $display_date ) ? 'checked="checked"' : '',
				'BUTTON_NAME' => $button_name,
				'BUTTON_IMAGE' => $button_image,
				'SHOW_NAVBAR_YES' => ( $show_navbar ) ? 'checked="checked"' : '',
				'SHOW_NAVBAR_NO' => ( !$show_navbar ) ? 'checked="checked"' : '',
				'SHOW_LOGIN_YES' => ( $show_login ) ? 'checked="checked"' : '',
				'SHOW_LOGIN_NO' => ( !$show_login ) ? 'checked="checked"' : '',
				'SHOW_ONLINE_YES' => ( $show_online ) ? 'checked="checked"' : '',
				'SHOW_ONLINE_NO' => ( !$show_online ) ? 'checked="checked"' : '',
				'GRP_LATEST_SELECT' => get_grp('forums',array(), 1, 'latest'),
				'POLL_SELECT' => get_list('forums',0,1),
				'FORUM_SELECT' => get_list('forums',1,1),
				'L_PORTAL_A' => $lang['Edit_Portal'],
				'L_OPTIONS' => $lang['Options'],
				'L_SUBMIT' => $lang['Submit'],
				'L_YES' => $lang['Yes'],
				'L_NO' => $lang['No'],
				'L_DEST_FORUM' => $lang['Dest_Forum'],
				'L_DEST_URL' => $lang['Dest_URL'],
				'L_ASC' => $lang['Ascending'],
				'L_DSC' => $lang['Desending'],
				'L_OPTION_INFO' => $lang['Options_Info'],
				'A_OPTION_INFO' => append_sid("admin_portal.$phpEx?mode=help"),

				'L_PAGE_NAME' => $lang['Page_Name'],
				'L_DESCRIPTION' => $lang['Description_body'],
				'L_PORTAL_DESTINATION' => $lang['Portal_Destination'],	// NOTE: need to select set one
				'L_LIST_LIMIT' => $lang['List_Limit'],
				'L_POSTS_ORDER' => $lang['Posts_Order'],
				'L_DISPLAY_DATE' => $lang['Display_Date'],
				'L_BUTTON_NAME' => $lang['Button_Name'],
				'L_BUTTON_IMAGE' => $lang['Button_Image'],
				'L_SHOW_NAVBAR' => $lang['Show_Navbar'],
				'L_SHOW_LOGIN' => $lang['Show_Login'],
				'L_SHOW_ONLINE' => $lang['Show_Online'],
				'L_SHOW_LATEST' => $lang['Show_Latest'],
				'L_SHOW_POLL' => $lang['Show_Poll'],
				'L_POLL_NONE' => $lang['No_Poll'],

				'L_BBCODE_B_HELP' => $lang['bbcode_b_help'],
				'L_BBCODE_I_HELP' => $lang['bbcode_i_help'],
				'L_BBCODE_U_HELP' => $lang['bbcode_u_help'],
				'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'],
				'L_BBCODE_C_HELP' => $lang['bbcode_c_help'],
				'L_BBCODE_L_HELP' => $lang['bbcode_l_help'],
				'L_BBCODE_O_HELP' => $lang['bbcode_o_help'],
				'L_BBCODE_P_HELP' => $lang['bbcode_p_help'],
				'L_BBCODE_W_HELP' => $lang['bbcode_w_help'],
				'L_BBCODE_A_HELP' => $lang['bbcode_a_help'],
				'L_BBCODE_S_HELP' => $lang['bbcode_s_help'],
				'L_BBCODE_F_HELP' => $lang['bbcode_f_help'],

				'L_EMPTY_MESSAGE' => $lang['Empty_message'],

				'L_FONT_COLOR' => $lang['Font_color'],
				'L_COLOR_DEFAULT' => $lang['color_default'],
				'L_COLOR_DARK_RED' => $lang['color_dark_red'],
				'L_COLOR_RED' => $lang['color_red'],
				'L_COLOR_ORANGE' => $lang['color_orange'],
				'L_COLOR_BROWN' => $lang['color_brown'],
				'L_COLOR_YELLOW' => $lang['color_yellow'],
				'L_COLOR_GREEN' => $lang['color_green'],
				'L_COLOR_OLIVE' => $lang['color_olive'],
				'L_COLOR_CYAN' => $lang['color_cyan'],
				'L_COLOR_BLUE' => $lang['color_blue'],
				'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'],
				'L_COLOR_INDIGO' => $lang['color_indigo'],
				'L_COLOR_VIOLET' => $lang['color_violet'],
				'L_COLOR_WHITE' => $lang['color_white'],
				'L_COLOR_BLACK' => $lang['color_black'],

				'L_FONT_SIZE' => $lang['Font_size'],
				'L_FONT_TINY' => $lang['font_tiny'],
				'L_FONT_SMALL' => $lang['font_small'],
				'L_FONT_NORMAL' => $lang['font_normal'],
				'L_FONT_LARGE' => $lang['font_large'],
				'L_FONT_HUGE' => $lang['font_huge'],

				'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'],
				'L_STYLES_TIP' => $lang['Styles_tip'],

				'S_POST_ACTION' => append_sid("admin_portal.$phpEx"),
				'S_HIDDEN_FORM_FIELDS' => $s_hidden_fields,
				'S_MODE' => 'save_newportal')
			);

		break;
		case 'save_editportal':
			$mode = 'edit_save';

			$page_title = ( isset($HTTP_POST_VARS['page_title']) ) ? mysql_escape_string($HTTP_POST_VARS['page_title']) : '';
			$use_url = ( isset($HTTP_POST_VARS['use_url']) ) ? ( ($HTTP_POST_VARS['use_url'] == 0) ? 0 : 1 ) : 0;
			$forum_select = ( isset($HTTP_POST_VARS['forum_select']) ) ? intval($HTTP_POST_VARS['forum_select']) : 0;
			$portal_url = ( isset($HTTP_POST_VARS['portal_url']) ) ? mysql_escape_string(urlencode($HTTP_POST_VARS['portal_url'])) : '';
			$list_limit = ( isset($HTTP_POST_VARS['list_limit']) ) ? intval($HTTP_POST_VARS['list_limit']) : 0;
			$posts_order = ( isset($HTTP_POST_VARS['posts_order']) ) ? ( ($HTTP_POST_VARS['posts_order']) ? 1 : 0 ) : 0;
			$display_date = ( isset($HTTP_POST_VARS['display_date']) ) ? ( ($HTTP_POST_VARS['display_date']) ? 0 : 1 ) : 1;
			$button_name = ( !empty($HTTP_POST_VARS['button_name']) ) ? mysql_escape_string($HTTP_POST_VARS['button_name']) : '';
			$button_image = ( isset($HTTP_POST_VARS['button_image']) ) ? mysql_escape_string(urlencode($HTTP_POST_VARS['button_image'])) : '';
			$show_navbar = ( isset($HTTP_POST_VARS['show_navbar']) ) ? ( ($HTTP_POST_VARS['show_navbar']) ? 1 : 0 ) : 0;
			$show_login = ( isset($HTTP_POST_VARS['show_login']) ) ? ( ($HTTP_POST_VARS['show_login']) ? 1 : 0 ) : 0;
			$show_online = ( isset($HTTP_POST_VARS['show_online']) ) ? ( ($HTTP_POST_VARS['show_online']) ? 1 : 0 ) : 0;
			$show_poll = (isset($HTTP_POST_VARS['show_poll']) ? intval($HTTP_POST_VARS['show_poll']) : 1);

			$show_latest = (isset($HTTP_POST_VARS['latest']) ? $HTTP_POST_VARS['latest'] : array());
			if(!is_array($show_latest))
			{
				$show_latest = array($show_latest);
			}
			foreach($show_latest as $k => $v)
			{
				$show_latest[$k] = intval($v);
			}

			// settings for message and bbcode
			$message = ( !empty($HTTP_POST_VARS['message']) ) ? $HTTP_POST_VARS['message'] : '';
			$bbcode_uid = '';

			// Check message
			if ( !empty($message) )
			{
				$bbcode_uid = make_bbcode_uid();
				$message = prepare_message(trim($message), 1, 1, 1, $bbcode_uid);
				$message = str_replace("\'", "''", $message);
			}

			$sql = "UPDATE " . PORTAL_TABLE . "
				SET     portal_title = '$page_title',
					portal_description = '$message',
					portal_bbcode_id = '$bbcode_uid',
					portal_use_url = $use_url,
					portal_forum = $forum_select,
					portal_url = '$portal_url',
					portal_list_limit = $list_limit,
					portal_ascending = $posts_order,
					portal_nodate = $display_date,
					portal_button_name = '$button_name',
					portal_button_image = '$button_image',
					portal_navbar = $show_navbar,
					portal_login = $show_login,
					portal_online = $show_online,
					portal_latest = '" . implode($show_latest, ',') . "',
					portal_poll = $show_poll
				WHERE   portal_id = $portal_id";

			if ( !$db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
			}

			$message = $lang['Portal_added'];
			$message .= '<br /><br />' . sprintf($lang['Click_return_portal'],  '<a href="' . append_sid("admin_portal.$phpEx") . '">', "</a>");
			message_die(GENERAL_MESSAGE, $message);
		break;
		case 'save_newportal':
			$mode = 'new_save';

			$page_title = ( isset($HTTP_POST_VARS['page_title']) ) ? mysql_escape_string($HTTP_POST_VARS['page_title']) : '';
			$use_url = ( isset($HTTP_POST_VARS['use_url']) ) ? ( ($HTTP_POST_VARS['use_url'] == 0) ? 0 : 1 ) : 0;
			$forum_select = ( isset($HTTP_POST_VARS['forum_select']) ) ? intval($HTTP_POST_VARS['forum_select']) : 0;
			$portal_url = ( isset($HTTP_POST_VARS['portal_url']) ) ? mysql_escape_string(urlencode($HTTP_POST_VARS['portal_url'])) : '';
			$list_limit = ( isset($HTTP_POST_VARS['list_limit']) ) ? intval($HTTP_POST_VARS['list_limit']) : 0;
			$posts_order = ( isset($HTTP_POST_VARS['posts_order']) ) ? ( ($HTTP_POST_VARS['posts_order']) ? 1 : 0 ) : 0;
			$display_date = ( isset($HTTP_POST_VARS['display_date']) ) ? ( ($HTTP_POST_VARS['display_date']) ? 0 : 1 ) : 1;
			$button_name = ( !empty($HTTP_POST_VARS['button_name']) ) ? mysql_escape_string($HTTP_POST_VARS['button_name']) : '';
			$button_image = ( isset($HTTP_POST_VARS['button_image']) ) ? mysql_escape_string(urlencode($HTTP_POST_VARS['button_image'])) : '';
			$show_navbar = ( isset($HTTP_POST_VARS['show_navbar']) ) ? ( ($HTTP_POST_VARS['show_navbar']) ? 1 : 0 ) : 0;
			$show_login = ( isset($HTTP_POST_VARS['show_login']) ) ? ( ($HTTP_POST_VARS['show_login']) ? 1 : 0 ) : 0;
			$show_online = ( isset($HTTP_POST_VARS['show_online']) ) ? ( ($HTTP_POST_VARS['show_online']) ? 1 : 0 ) : 0;
			$show_poll = (isset($HTTP_POST_VARS['show_poll']) ? intval($HTTP_POST_VARS['show_poll']) : 1);

			$show_latest = (isset($HTTP_POST_VARS['latest']) ? $HTTP_POST_VARS['latest'] : array());
			if(!is_array($show_latest))
			{
				$show_latest = array($show_latest);
			}
			foreach($show_latest as $k => $v)
			{
				$show_latest[$k] = intval($v);
			}

			// settings for message and bbcode
			$message = ( !empty($HTTP_POST_VARS['message']) ) ? $HTTP_POST_VARS['message'] : '';
			$bbcode_uid = '';

			// Check message
			if ( !empty($message) )
			{
				$bbcode_uid = make_bbcode_uid();
				$message = prepare_message(trim($message), 1, 1, 1, $bbcode_uid);
				$message = str_replace("\'", "''", $message);
			}

			$sql = "SELECT MAX(portal_order) AS max_order
				FROM " . PORTAL_TABLE;
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't get order number from categories table", "", __LINE__, __FILE__, $sql);
			}
			$row = $db->sql_fetchrow($result);

			$next_order = $row['max_order'] + 10;

	
			$sql = "INSERT INTO " . PORTAL_TABLE . "
				(portal_title, portal_description, portal_bbcode_id, portal_use_url, portal_forum,
				portal_url, portal_list_limit, portal_ascending, portal_nodate, portal_button_name,
				portal_button_image, portal_navbar, portal_login, portal_online, portal_latest,
				portal_poll, portal_order)
			VALUES ('$page_title', '$message', '$bbcode_uid', $use_url, $forum_select, '$portal_url',
				$list_limit, $posts_order, $display_date, '$button_name', '$button_image',
				$show_navbar, $show_login, $show_online, '" . implode($show_latest, ',') . "',
				$show_poll, $next_order)";

			if ( !$db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
			}

			$message = $lang['Portal_added'];
			$message .= '<br /><br />' . sprintf($lang['Click_return_portal'],  '<a href="' . append_sid("admin_portal.$phpEx") . '">', "</a>");
			message_die(GENERAL_MESSAGE, $message);
		break;
		case 'smilies':
			generate_smilies2('window', PAGE_POSTING);
			exit;
		break;
		case 'help':
			generate_help('window', PAGE_POSTING);
			exit;
		break;
		case 'deleteportal':
			$mode = 'delete';

			$sql = "DELETE FROM " . PORTAL_TABLE . "
				WHERE portal_id = $portal_id";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't change portal order", "", __LINE__, __FILE__, $sql);
			}

			renumber_order();
			redirect(append_sid("$site_root/admin/admin_portal.$phpEx", true));
		break;
		case 'moveupportal':
			$mode = 'moveup';

			$sql = "UPDATE " . PORTAL_TABLE . "
				SET portal_order = portal_order - 15
				WHERE portal_id = $portal_id";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't change portal order", "", __LINE__, __FILE__, $sql);
			}

			renumber_order();
			redirect(append_sid("$site_root/admin/admin_portal.$phpEx", true));
		break;
		case 'movedownportal':
			$mode = 'movedown';

			$sql = "UPDATE " . PORTAL_TABLE . "
				SET portal_order = portal_order + 15
				WHERE portal_id = $portal_id";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't change portal order", "", __LINE__, __FILE__, $sql);
			}

			renumber_order();
			redirect(append_sid("$site_root/admin/admin_portal.$phpEx", true));
		break;
		case 'view':
		default:
			$mode = 'view';

			$sql = "SELECT n.*
				FROM " . PORTAL_TABLE . " n
				ORDER BY n.portal_order ASC ";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, "Couldn't obtain portal list", "", __LINE__, __FILE__, $sql);
			}

			$portal_rows = $db->sql_fetchrowset($result);
			$db->sql_freeresult($result);

			//
			// Output the selection table if no forum id was
			// specified
			//
			$template->set_filenames(array(
				'body' => 'admin/portal_admin_body.tpl')
			);

			for($i = 0; $i < count($portal_rows); $i++)
			{
				$template->assign_block_vars('portalrow', array(
					'U_VIEWPORTAL' => append_sid("../portal.$phpEx?page=" . $portal_rows[$i]['portal_id']),
					'PORTAL_NAME' => $portal_rows[$i]['portal_title'],
					'U_PORTAL_EDIT' => append_sid("admin_portal.$phpEx?mode=editportal&portal=" . $portal_rows[$i]['portal_id']),
					'U_PORTAL_DELETE' => append_sid("admin_portal.$phpEx?mode=deleteportal&portal=" . $portal_rows[$i]['portal_id']),
					'U_PORTAL_MOVE_UP' => append_sid("admin_portal.$phpEx?mode=moveupportal&portal=" . $portal_rows[$i]['portal_id']),
					'U_PORTAL_MOVE_DOWN' => append_sid("admin_portal.$phpEx?mode=movedownportal&portal=" . $portal_rows[$i]['portal_id'])
				));
			}

			$template->assign_vars(array(
				'L_PORTAL_TITLE' => $lang['Portal_Control'],
				'L_PORTAL_EXPLAIN' => $lang['Portal_explain'],
				'L_PORTAL_SELECT' => $lang['Select_a_Portal'],
				'L_LOOK_UP' => $lang['Look_up_Portal'],

				'L_EDIT' => $lang['Edit'],
				'L_DELETE' => $lang['Delete'],
				'L_MOVE_UP' => $lang['Move_up'],
				'L_MOVE_DOWN' => $lang['Move_down'],
				'L_CREATE_PAGE' => $lang['New_Portal_Page'],

				'S_PORTAL_ACTION' => append_sid("admin_portal.$phpEx"),
				'S_PORTAL_SELECT' => $select_list)
			);

	
			break;
	}

	include('./page_header_admin.'.$phpEx);

	$template->pparse('body');

	include('./page_footer_admin.'.$phpEx);
}
?>
Bedankt!

Geplaatst: 25 sep 2004, 07:53
door Repsaj
Niemand?

Geplaatst: 25 sep 2004, 08:45
door WebSiteNet
Weet je zeker dat je op ja hebt geklikt? Er onder staat als het goed is een link met 'no'.

Geplaatst: 25 sep 2004, 09:02
door Repsaj
Het is opgelost!
Ik zag alleen maar 'klik hier om te installeren', en als ik daar dan klikte ging ik naar de index. Toen keek ik in de bron en ben naar admin/admin_portal gegaan en toen deed ie het!
Thnx!

Geplaatst: 25 sep 2004, 09:11
door Repsaj
Er is nu nog een probleempje.
Ik kan met het portal verschillende pagina's maken, in de vorm van portal.php?page=1
Dat doet ie vanuit het adminpanel, maar hij vergeet steeds de php, hij doet portal.?page=1, met als gevolg een 404.
Hoe los ik dit op?

Geplaatst: 25 sep 2004, 11:05
door WebSiteNet
Dat betekend dat $phpEx het niet doet.

Kan je het stukje code vinden waarin de link gemaakt wordt (php) en het stukje html waarin dat gaat (in de .tpl)?

Geplaatst: 26 sep 2004, 11:10
door Repsaj

Geplaatst: 01 okt 2004, 15:57
door Repsaj
Kan ik zelf eventueel zoeken?
Waarop moet ik dan zoeken?

Geplaatst: 03 okt 2004, 14:48
door Repsaj
:?: :?: :?:

Geplaatst: 07 okt 2004, 09:44
door Repsaj
:arrow: :?:
:arrow: :?:

Geplaatst: 16 okt 2004, 10:03
door Repsaj
*bump*

Geplaatst: 21 okt 2004, 19:31
door Repsaj
*bumperdebump*