TP-Docs
HTML5 Icon HTML5 Icon HTML5 Icon
TP on Social Media

Recent

Welcome to TinyPortal. Please login or sign up.

Members
Stats
  • Total Posts: 196,004
  • Total Topics: 21,330
  • Online today: 468
  • Online ever: 8,223 (February 19, 2025, 04:35:35 AM)
Users Online
  • Users: 0
  • Guests: 83
  • Total: 83

TP showing up along with the SMF-header in custom subfolder header?

Started by Innocenzia, July 27, 2008, 11:07:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Innocenzia

I'm using the following code to get the SMF-header into the pages on my subfolder (into the header.php):

// Theme we're going to use
$ssi_theme = 1;
// Layers we're going to use
$ssi_layers = array('main');
// Enable GZip compression (saves bandwidth)
$ssi_gzip = true;


However i get this errors:
Notice: Undefined index: TPortal_front_type in .../public_html/forum/Sources/Load.php(1735) : eval()'d code on line 536
Notice: Undefined index: leftbar in .../public_html/forum/Sources/Load.php(1735) : eval()'d code on line 626
Notice: Undefined index: rightbar in .../public_html/forum/Sources/Load.php(1735) : eval()'d code on line 628


At the top of all of the subfolder-pages using the header.php from the subfolder, and only the SMF-header shows up, not the TP right/left bar. The easiest solution would be not using the subfolder, and instead use php-articles, yes.. i know. But I'm using the subfolder because I'm bridging (is that the correct word) with another "program". ^^

Does anyone know what i need to add to make the TP show up as well? :)

Details:
TP: newest public 1.0~
SMF: 1.1.5

Thanks in advance.

G6Cad

Do you HAVE TP installed to your SMF forums in the first place ?

I cant really understand what you are trying to do here with getting SMF headers into a subfolder....  Subfolder to what and where ?

You cant use TP content outside the SMF forums as it's built in to SMF ( same folder as you have the SMF forum installed to )

A better way to understand and see what you have done so far would be to have a lot more info from you.

Please read the Posting Guidelines

Innocenzia

Yes. I've it installed. :)

I'm using the code mentioned in my post above, and SMF is bridged with eFiction, which is placed in the subfolder, so my SMF-header is actually modified a bit to hold a link to the eFiction part as well.
When i log into my forum i also get logged in at eFiction.

I don't really want to give out a link to my site since it's a test site and all, and search-engines might pick up the link, i understand that it does make the whole situation a bit more complicated since you can't see the actual site.

However, I'll try to explain what it looks like:
When i view the forum, memberlist or whatever the site looks like it is supposed to, with the TP-menus on the side and working perfect without any errors or anything, but when i click the added link to the bridged eFiction-part of the site i get the SMF-header, with the account info on top telling me i have no new messages and so on (you know the default SMF-header) with the links to the forum and everything, however, the TP-part of the header disappears completely. My thought was that it would wrap the site like the SMF-header does (being on top of eFiction).

Site:
Using the latest TP (i guess it is: TinyPortal v1.0.5), as the only Mod installed on a fresh installed SMF 1.1.5 bridged with eFiction in i a subfolder using the same database. No errors in the errorlog, and repair and all the forum maintenances are done afterwards showing no errors or problems.

Link to my site: ~ If possible, i would like not to give the link out.
SMF version: SMF 1.1.5
TP version: TP v1.0.5
Theme name and version: Default SMF-theme, only modified by adding one link to the menu on top.
Mods installed: The only Mod is TP. It is however bridged with eFiction, using the SMF-bridge from eFiction 3.4.3
Related Error messages: Shown in first post. Only visible when trying to view bridged eFiction-parts of the site, which i find strange since the SMF part is working well in the same part, telling me if I've got any messages, and so on. With the SMF-header working. :)

The TP-open/close buttons for the menus on the side and the link to the forum is gone, the Home and the Members and everything else is there however, my guess is because it's connected to TP taking over the index and relocating the forum. Those three errors are directly connected to the error messages, if you ask me, since it is the TPortal_front_type, leftbar and rightbar being mentioned on those lines in the index.template.

I think I've gotten the information part down correctly now? If not, I'm sorry about that, and please let me know what else you would like to know.

Thanks in advance.

IchBin

This is probably because of the SMF layer system. What is used in the bridge is probably that it includes the template_main_above() function (which is the header). TinyPortal uses its own layers so it will not be included into your header. I don't know the layer system well enough to tell you how you could get it to work.

bloc

It would have to be done in the bridge script - as IchBin mentions its the layer system not picking up on what TP adds to it. One way could be to simply add these lines below in the bridge file, but I can't say it will work or not, since I don't know how the bridge in this case works.

require_once(path-to-SMF-folder/Sources/TinyPortal.php'');
tinyportal_init();

It will run the TP init file, return if already run - and thereby adding its panels to the layers.But as said, it might not be enough.

IchBin


Innocenzia

Okay. :) Thanks.

However:

require_once('../Sources/TPortal.php');
tinyportal_init();


It ended in the page going blank saying: 'Hacking attempt...'

notice that i changed to TPortal as IchBin said, since TinyPortal.php did not work at all. :) ../ is the correct way to the path for my site, since it's in a subfolder. :)

IchBin

Try this instead as well. TPortal_init(); and not tinyportal_init();

Innocenzia

Still the same error. :(

It might however be possible i addded it in the wrong file? I'm not sure which is the bridged one. I guessed it would be the header since it seems to have all the other include-strings and such. Asking for including query.php and so on.

This is a long file, obviously, i'll take it away as soon as you've checked it. It seems like the right file?


<?php
// ----------------------------------------------------------------------
// Copyright (c) 2007 by Tammy Keefer
// Based on eFiction 1.1
// Copyright (C) 2003 by Rebecca Smallwood.
// http://efiction.sourceforge.net/
// ----------------------------------------------------------------------
// LICENSE
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License (GPL)
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// To read the license please visit http://www.gnu.org/copyleft/gpl.html
// ----------------------------------------------------------------------

// Theme we're going to use
$ssi_theme 1;
// Layers we're going to use
$ssi_layers = array('main');
// Enable GZip compression (saves bandwidth)
$ssi_gzip true;

require_once(
'../Sources/TPortal.php');
TPortal_init();

// Force the argument separator to be standards compliant
ini_set('arg_separator.output','&amp;'); 
if(isset(
$_GET['debug'])) @ error_reporting(E_ALL);
if(isset(
$_GET['benchmark'])) {
list($usec$sec) = explode(" "microtime());
$start = ((float)$usec + (float)$sec);
}
$headerSent false;
if(
(function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc()) || 
(ini_get('magic_quotes_sybase') && ( strtolower(ini_get('magic_quotes_sybase')) != "off"))
){
foreach($_POST as $var => $val) {
$_POST[$var] = is_array$val ) ? array_map'stripslashes'$val ) : stripslashes$val );
}
foreach($_GET as $var => $val) {
$_GET[$var] = is_array$val ) ? array_map'stripslashes'$val ) : stripslashes$val );
}
}

// Prevent any possible XSS attacks via $_GET.
foreach ($_GET as $check_url) {
if ((eregi("<[^>]*script*\"?[^>]*>"$check_url)) || (eregi("<[^>]*object*\"?[^>]*>"$check_url)) ||
(eregi("<[^>]*iframe*\"?[^>]*>"$check_url)) || (eregi("<[^>]*applet*\"?[^>]*>"$check_url)) ||
(eregi("<[^>]*meta*\"?[^>]*>"$check_url)) || (eregi("<[^>]*style*\"?[^>]*>"$check_url)) ||
(eregi("<[^>]*form*\"?[^>]*>"$check_url)) || (eregi("\([^>]*\"?[^)]*\)"$check_url)) ||
(eregi("\""$check_url))) {
include("languages/en.php"); // no language set yet, so default to English.
die (_FATALERROR."  "._POSSIBLEHACK);
}
}
unset(
$check_url);

if(!isset(
$_SESSION)) session_start();
// clear the global variables if register globals is on.
if(ini_get('register_globals')) {
$arrayList array_merge($_SESSION$_GET$_POST$_COOKIE);
foreach($arrayList as $k => $v) {
unset($GLOBALS[$k]);
}
}

Header('Cache-Control: private, no-cache, must-revalidate, max_age=0, post-check=0, pre-check=0');
header ("Pragma: no-cache"); 
header ("Expires: 0"); 

// Locate config.php and set the basedir path
$folder_level "";
while (!
file_exists($folder_level."header.php")) { $folder_level .= "../"; }
if(!
defined("_BASEDIR")) define("_BASEDIR"$folder_level);

@ include_once(
_BASEDIR."config.php");
if(empty(
$sitekey)) {
header("Location: install/install.php");
exit( );
}
if(isset(
$skin)) $globalskin $skin
$settingsresults dbquery("SELECT * FROM ".$settingsprefix."fanfiction_settings WHERE sitekey = '".$sitekey."'");
$settings dbassoc($settingsresults);
if(!
defined("SITEKEY")) define("SITEKEY"$settings['sitekey']);
unset(
$settings['sitekey']);
if(!
defined("TABLEPREFIX")) define("TABLEPREFIX"$settings['tableprefix']);
unset(
$settings['tableprefix']);
define("STORIESPATH"$settings['storiespath']);
unset(
$settings['storiespath']);
foreach(
$settings as $var => $val) {
$$var stripslashes($val);
$settings[$var] = htmlspecialchars($val);
}

if(isset(
$_GET['debug'])) $debug 1;
if(!
$displaycolumns$displaycolumns 1// shouldn't happen, but just in case.
if($words$words explode(", "$words);
else 
$words = array( );
// Fix for sites with 2.0 or 1.1 running as well as 3.0 with register_globals on.
$defaultskin $skin;

if(isset(
$globalskin)) $skin $globalskin;

if(isset(
$_GET['action'])) $action strip_tags($_GET['action']);
else 
$action false;

if(
file_exists(_BASEDIR."languages/{$language}.php")) include (_BASEDIR."languages/{$language}.php");
else include (
_BASEDIR."languages/en.php");

include_once(
_BASEDIR."includes/queries.php");
include_once(
_BASEDIR."includes/corefunctions.php");

// Check and/or set some variables used at various points throughout the script
if(isset($_GET['offset'])) $offset $_GET['offset'];
if(!isset(
$offset) || !isNumber($offset)) $offset 0;
if(isset(
$_REQUEST["sid"])) $sid $_REQUEST["sid"];
if(isset(
$sid) && !isNumber($sid)) unset($sid);
if(isset(
$_REQUEST['seriesid'])) $seriesid $_REQUEST["seriesid"];
if(isset(
$seriesid) && !isNumber($seriesid)) unset($seriesid);
if(isset(
$_REQUEST['uid'])) $uid $_REQUEST["uid"];
if(isset(
$uid) && !isNumber($uid)) unset($uid);
if(isset(
$_REQUEST['chapid'])) $chapid $_REQUEST["chapid"];
if(isset(
$chapid) && !isNumber($chapid)) unset($chapid);
$let false;
if(isset(
$_GET['let'])) $let $_GET['let'];
if(isset(
$let) && !in_array($let$alphabet)) $let false;
$output "";

// Cleans these two variables of possible XSS attacks.
if(isset($_SERVER['PHP_SELF'])) $_SERVER['PHP_SELF'] = htmlspecialchars(descript($_SERVER['PHP_SELF']), ENT_QUOTES);
if(isset(
$PHP_SELF)) $PHP_SELF htmlspecialchars(descript($PHP_SELF), ENT_QUOTES);

// Set these variables to start.
$agecontsent false$viewed false

require_once(
"includes/get_session_vars.php");

if(isset(
$_GET['skin'])) {
$siteskin $_GET['skin'];
$_SESSION[SITEKEY."_skin"] = $siteskin;
}

$v explode("."$version);
if(
$v[0] == && ($v[1] < || (!isset($v[2]) || $v[2] < 3))) {
if(isADMIN && basename($_SERVER['PHP_SELF']) != "update.php") {
header("Location: update.php");
exit( );
}
else if(!isADMIN && basename($_SERVER['PHP_SELF']) != "maintenance.php" && !(isset($_GET['action']) && $_GET['action'] == "login")) {
header("Location: maintenance.php");
exit( );
}
}

if(!empty(
$_SESSION[SITEKEY."_skin"])) $siteskin $_SESSION[SITEKEY."_skin"];
if(
$maintenance && !isADMIN && basename($_SERVER['PHP_SELF']) != "maintenance.php" && !(isset($_GET['action']) && $_GET['action'] == "login")) {
header("Location: maintenance.php");
exit( );
}

$blockquery dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_blocks");
while(
$block dbassoc($blockquery)) {
$blocks[$block['block_name']] = unserialize($block['block_variables']);
$blocks[$block['block_name']]['title'] = $block['block_title'];
$blocks[$block['block_name']]['file'] = $block['block_file'];
$blocks[$block['block_name']]['status'] = $block['block_status'];
}

// This session variable is used to track the story views
if(isset($_SESSION[SITEKEY."_viewed"])) $viewed $_SESSION[SITEKEY."_viewed"];

if(isset(
$_GET['ageconsent'])) $_SESSION[SITEKEY."_ageconsent"] = 1;
if(isset(
$_GET['warning'])) $_SESSION[SITEKEY."_warned"][$_GET['warning']] = 1;

if(
file_exists("languages/{$language}.php")) require_once ("languages/{$language}.php");
else require_once (
"languages/en.php");
if(
is_dir(_BASEDIR."skins/$siteskin")) $skindir _BASEDIR."skins/$siteskin";
else if(
is_dir(_BASEDIR."skins/".$settings['skin'])) $skindir _BASEDIR."skins/".$defaultskin;
else 
$skindir _BASEDIR."default_tpls";
if(
USERUID) {
$prefs dbquery("SELECT sortby, storyindex, tinyMCE FROM ".TABLEPREFIX."fanfiction_authorprefs WHERE uid = '".USERUID."'");
if(dbnumrows($prefs)) list($defaultsort$displayindex$tinyMCE) = dbrow($prefs);
}
if(isset(
$_REQUEST['sort'])) $defaultsort $_REQUEST['sort'] == "update" 0;
define("_ORDERBY"" ORDER BY ".($defaultsort == "updated DESC" "stories.title ASC"));
if(
$current == "viewstory"){
if(isset($chapid)) {
$squery dbquery("SELECT sid, inorder FROM ".TABLEPREFIX."fanfiction_chapters WHERE chapid = ".$chapid." LIMIT 1");
list($sid$chapter) = dbrow($squery);
}
$titlequery dbquery("SELECT story.title, story.coauthors, "._PENNAMEFIELD." as penname, story.summary FROM ".TABLEPREFIX."fanfiction_stories as story, "._AUTHORTABLE." WHERE sid = '$sid' AND "._UIDFIELD." = story.uid LIMIT 1");
if($story dbassoc($titlequery)) { 
$authlink[] = $story['penname'];
if($story['coauthors']) {
$coquery dbquery("SELECT "._PENNAMEFIELD." as penname FROM "._AUTHORTABLE." LEFT JOIN ".TABLEPREFIX."fanfiction_coauthors as ca ON "._UIDFIELD." = ca.uid WHERE ca.sid = '$sid'");
while($co dbassoc($coquery)) {
$authlink[] = $co['penname'];
}
}
$titleinfo stripslashes($story['title'])." "._BY." ".implode(", "$authlink);
$metaDesc htmlspecialchars(stripslashes($story['summary']));
$filename basename($titleinfo.".html");
$ie eregi("msie"$_SERVER['HTTP_USER_AGENT']);
if ($ie$filename rawurlencode($filename);
header("Content-Disposition: inline; filename=\"".$titleinfo."\"");
 
}
}
if(
$current == "viewuser" && isNumber($uid)) {
$author dbquery("SELECT "._PENNAMEFIELD." as penname FROM "._AUTHORTABLE." WHERE "._UIDFIELD." = '".$uid."'");
list($penname) = dbrow($author);
$titleinfo "$sitename :: $penname";
}
echo 
_DOCTYPE."<html><head>";
$headerSent true;
if(!isset(
$titleinfo)) $titleinfo "$sitename :: $slogan";
if(isset(
$metaDesc)) echo "<meta name='description' content='$metaDesc'>";
echo 
"<title>$titleinfo</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset="
._CHARSET."\">";
if(!isset(
$_GET['action']) || $_GET['action'] != "printable") {
echo 
"<script language=\"javascript\" type=\"text/javascript\" src=\""._BASEDIR."includes/javascript.js\"></script>
<link rel=\"alternate\" type=\"application/rss+xml\" title=\"
$sitename RSS Feed\" href=\""._BASEDIR."rss.php\">";
if(!empty(
$tinyMCE)) {
echo "<script language=\"javascript\" type=\"text/javascript\" src=\""._BASEDIR."tinymce/jscripts/tiny_mce/tiny_mce.js\"></script>
<script language=\"javascript\" type=\"text/javascript\">"
;
$tinymessage dbquery("SELECT message_text FROM ".TABLEPREFIX."fanfiction_messages WHERE message_name = 'tinyMCE' LIMIT 1");
list($tinysettings) = dbrow($tinymessage);
if(!empty($tinysettings) && $current != "adminarea") {
echo $tinysettings;
}
else {
echo "
tinyMCE.init({ 
theme: 'advanced',
height: '250',
language: '
$language',
convert_urls: 'false',
mode: 'textareas',
extended_valid_elements: 'a[name|href|target|title]',
plugins: 'advhr,advimage,advlink,searchreplace,contextmenu,preview,fullscreen,paste"
.($current == "adminarea" ",codeprotect" "")."',
theme_advanced_buttons1_add: 'fontsizeselect',
theme_advanced_buttons2_add: 'separator,pasteword,pastetext',
theme_advanced_buttons3_add_before: 'tablecontrols,separator',
theme_advanced_buttons3_add: 'advhr',
theme_advanced_toolbar_align: 'center',
theme_advanced_statusbar_location: 'bottom',
theme_advanced_path: 'false',
editor_deselector: 'mceNoEditor',
"
;
if(USERUID
echo " external_image_list_url : '".STORIESPATH."/".USERUID."/images/imagelist.js',";
echo "
theme_advanced_resizing: true,"
.($current == "adminarea" "\n\t\tentity_encoding: 'raw'" "\n\t\tinvalid_elements: 'script,object,applet,iframe'")."
   });
"
;
}
echo "
var tinyMCEmode = true;
function toogleEditorMode(id) {
var elm = document.getElementById(id);

if (tinyMCE.getInstanceById(id) == null)
tinyMCE.execCommand('mceAddControl', false, id);
else
tinyMCE.execCommand('mceRemoveControl', false, id);
}
"
;
echo 
"</script>";
}
}
if(isset(
$displayform) && $displayform == 1) {
echo 
"<script language=\"javascript\" type=\"text/javascript\" src=\""._BASEDIR."includes/browse.js\"></script>
<script language=\"javascript\" type=\"text/javascript\" src=\""
._BASEDIR."includes/xmlhttp.js\"></script>";
echo 
"<script language=\"javascript\" type=\"text/javascript\">
lang = new Array( );

lang['Back2Cats'] = '"
._BACK2CATS."';
lang['ChooseCat'] = '"
._CHOOSECAT."';
lang['Categories'] = '"
._CATEGORIES."';
lang['Characters'] = '"
._CHARACTERS."';
lang['MoveTop'] = '"
._MOVETOP."';
lang['TopLevel'] = '"
._TOPLEVEL."';
lang['CatLocked'] = '"
._CATLOCKED."';
basedir = '"
._BASEDIR."';

categories = new Array( );
characters = new Array( );
\n"
;
/*
$result = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_categories ORDER BY leveldown, displayorder");
$x = 0;
while($category = dbassoc($result)) {
echo "categories[$x] = new category(".$category['parentcatid'].", ".$category['catid'].", \"". str_replace('"', '\"', stripslashes($category['category']))."\", ".$category['locked'].", ".$category['displayorder'].");\r\n";
$catlist[$category['catid']] = array("name" => stripslashes($category['category']), "pid" => $category['parentcatid'], "locked" => (isADMIN ? 0 : $category['locked']), "order" => $category['displayorder'], "leveldown" => $category['leveldown']);
$x++;
}
$x = 0;
$result = dbquery("SELECT charname, catid, charid FROM ".TABLEPREFIX."fanfiction_characters ORDER BY charname");
while($char = dbassoc($result)) {
echo "characters[$x] = new character(".$char['charid'].", ".$char['catid'].", \"".str_replace('"', '\"', stripslashes($char['charname']))."\");\r\n";
$charlist[$char['charid']] = array("name" => stripslashes($char['charname']), "catid" => $char['catid']);
$x++;
}
*/
echo "</script>";
}
if(
file_exists("extra_header.php")) include_once("extra_header.php");
if(
file_exists("$skindir/extra_header.php")) include_once("$skindir/extra_header.php");
if(!
$displaycolumns$displaycolumns 1;
$colwidth floor(100/$displaycolumns);
if(!empty(
$_GET['action']) && $_GET['action'] == "printable") {
if(file_exists("$skindir/printable.css")) echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$skindir/printable.css\">";
else echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"default_tpls/printable.css\">";
}
else {
echo 
"<style type=\"text/css\">
#columncontainer { margin: 1em auto; width: auto;}
#browseblock, #memberblock { width: 100%; padding: 0; margin: 0; float: left; border: 0px solid transparent; }
.column { float: left; width: "
.($colwidth 1)."%; }
html>body .column { width: 
$colwidth%; }
.cleaner { clear: both; height: 1px; font-size: 1px; margin: 0; padding: 0; background: transparent; }
#settingsform { margin: 0; padding: 0; border: none; }
#settingsform FORM { width: 100%; margin: 0 10%; }
#settingsform LABEL { float: left; display: block; width: 30%; text-align: right; padding-right: 10px; clear: left; }
#settingsform DIV { margin: 1ex auto; clear: both;}
#settingsform .fieldset SPAN { float: left; display: block; width: 30%; text-align: right; padding-right: 10px; clear: left;}
#settingsform .fieldset LABEL { float: none; width: auto; display: inline; text-align: left; clear: none; }
#settingsform { float: left; margin: 1ex 10%; }
#settingsform .tinytoggle { text-align: center; }
#settingsform .tinytoggle LABEL { float: none; display: inline; width: auto; text-align: center; padding: 0; clear: none; }
#settingsform #submitdiv { text-align: center; width: 100%;clear: both; height: 3em; }
#settingsform #submitdiv #submit { position: absolute; z-index: 10001; margin: 1em; }
a.pophelp{
    position: relative; /* this is the key*/
    vertical-align: super;
}

a.pophelp:hover{z-index:100; border: none; text-decoration: none;}

a.pophelp span{display: none; position: absolute; top: -25em; left: 20em; }

a.pophelp:hover span{ /*the span will display just on :hover state*/
    display:block;
    position: absolute;
    top: -3em; left: 8em; width: 225px;
    border:1px solid #000;
    background-color:#CCC; color:#000;
    text-decoration: none;
    text-align: left;
    padding: 5px;
    font-weight: normal;
    visibility: visible;
}
.required { color: red; }
.shim {
position: absolute;
display: none;
height: 0;
width:0;
margin: 0;
padding: 0;
z-index: 100;
}

.ajaxOptList {
background: #CCC;
border: 1px solid #000;
margin: 0;
position: absolute;
padding: 0;
z-index: 1000;
text-align: left;
}
.ajaxListOptOver {
padding: 4px;
background: #CCC;
margin: 0;
}
.ajaxListOpt {
background: #EEE;
padding: 4px;
margin: 0;
}
.multiSelect {
width: 300px;
}

</style>
<link rel=\"stylesheet\" type=\"text/css\" href='
$skindir/style.css'>";
}
echo 
"</head>";
include (
_BASEDIR."includes/class.TemplatePower.inc.php");
if(
$debug == 1) {
error_reporting(E_ALL);
echo "\n<!-- \$_SESSION \n"print_r($_SESSION); echo " -->";
echo "\n<!-- \$_COOKIE \n"print_r($_COOKIE); echo " -->";
echo "\n<!-- \$_POST \n"print_r($_POST); echo " -->";
}
?>

bloc

*smacks head*  Of course its TPortal.php lol :)

Let me study that file a bit first.

This website is proudly hosted on Crocweb Cloud Website Hosting.