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

Recent

Welcome to TinyPortal. Please login or sign up.

May 05, 2024, 12:03:39 PM

Login with username, password and session length
Members
  • Total Members: 3,885
  • Latest: Growner
Stats
  • Total Posts: 195,178
  • Total Topics: 21,220
  • Online today: 188
  • Online ever: 3,540 (September 03, 2022, 01:38:54 AM)
Users Online
  • Users: 0
  • Guests: 153
  • Total: 153

Mod instructions for TP 0.9.8 and SMF 1.1 - 1.1.x

Started by Lesmond, March 17, 2007, 10:54:14 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bloc

Open file:
index.php

<search for>
require_once($sourcedir . '/Security.php');
</search for>

<add after>
// TinyPortal include
require_once($sourcedir . '/TPortal.php');

</add after>

<search for>
// Is the forum in maintenance mode? (doesn't apply to administrators.)
</search for>

<add before>
        // TinyPortal
        TPortal_init();

</add before>


<search for>
// Action and board are both empty... BoardIndex!
if (empty($board) && empty($topic))
{
require_once($sourcedir . '/BoardIndex.php');
return 'BoardIndex';
}
</search for>
<replace>
// Action and board are both empty... maybe the portal page?
if (empty($board) && empty($topic) && $settings['TPortal_front_type']!='boardindex')
{
require_once($sourcedir . '/TPortal.php');
return 'TPortal';
}
if (empty($board) && empty($topic) && $settings['TPortal_front_type']=='boardindex' && (isset($_GET['cat']) || isset($_GET['page'])))
{
require_once($sourcedir . '/TPortal.php');
return 'TPortal';
}
// Action and board are still both empty...and no portal startpage - BoardIndex!
elseif (empty($board) && empty($topic) && $settings['TPortal_front_type']=='boardindex')
{
require_once($sourcedir . '/BoardIndex.php');
return 'BoardIndex';
}
</replace>

<search for>
'.xml' => array('News.php', 'ShowXmlFeed'),
</search for>
<add after>
                'tpadmin' => array('TPortalAdmin.php', 'TPortalAdmin'),
                'forum' => array('BoardIndex.php', 'BoardIndex'),
                'tpmod' => array('TPmodules.php', 'TPmodules'),
</add after>


Open file:
Sources/Load.php

<search for>
$settings = $themeData[0];


<add after>
if (!empty($context['TPortal']['front_type'])){
$settings['TPortal_front_type'] = $context['TPortal']['front_type'];
}
</add after>

<search for>
// Start the linktree off empty..
$context['linktree'] = array();
</search for>
<replace>
        // Start the linktree off empty..not quite, have to insert forum
        $context['linktree'] = array(array('url' => $scripturl . '?action=forum', 'name' => 'Forum'));
</replace>

<search for>
// Build up the linktree.
$context['linktree'] = array_merge(
$context['linktree'],
array(array(
'url' => $scripturl . '#' . $board_info['cat']['id'],
'name' => $board_info['cat']['name']
)),
</search for>
<replace>
                // Build up the linktree (adding TPortal forum index)
                $context['linktree'] = array_merge(
                        $context['linktree'],
                        array(array(
                                'url' => $scripturl . '?action=forum#' . $board_info['cat']['id'],
                                'name' => $board_info['cat']['name']
                        )),
</replace>

<search for>
// The theme is the forum's default.
else
$ID_THEME = $modSettings['theme_guests'];
</search for>

<add after>

// TinyPortal
$newtheme=TP_loadTheme();
if($newtheme!=$ID_THEME && $newtheme>0)
$ID_THEME=$newtheme;
// end TinyPortal
</add after>

Open file:
Themes/default/index.template.php


<search for>
// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'], '
</search for>
<add after>
        <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
                var current_leftbar = ', empty($options['collapse_leftbar']) ? 'false' : 'true', ';

                function shrinkHeaderLeftbar(mode)
                {';

        // Guests don't have theme options!!
        if ($context['user']['is_guest'])
                echo '
                        document.cookie = "upshrink=" + (mode ? 1 : 0);';
        else
                echo '
                        smf_setThemeOption("collapse_leftbar", mode ? 1 : 0, null, "', $context['session_id'], '");';
        echo '
                        document.getElementById("upshrinkLeftbar").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

                        document.getElementById("leftbarHeader").style.display = mode ? "none" : "";

                        current_leftbar = mode;
                }
          // ]]></script>
       <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
                var current_rightbar = ', empty($options['collapse_rightbar']) ? 'false' : 'true', ';

                function shrinkHeaderRightbar(mode)
                {';

        // Guests don't have theme options!!
        if ($context['user']['is_guest'])
                echo '
                        document.cookie = "upshrink=" + (mode ? 1 : 0);';
        else
                echo '
                        smf_setThemeOption("collapse_rightbar", mode ? 1 : 0, null, "', $context['session_id'], '");';

        echo '
                        document.getElementById("upshrinkRightbar").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

                        document.getElementById("rightbarHeader").style.display = mode ? "none" : "";

                        current_rightbar = mode;
                }
        // ]]></script>
</add after>

<search for>
<body>';
</search for>
<add after>
// TinyPortal start
     if($context['TPortal']['fixed_width']!=0)
             echo '<table align="center" width="'.$context['TPortal']['fixed_width'].'" cellpadding="0" cellspacing="0" border="0"><tr><td>';

// TinyPortal end
</add after>


<search for>
// display user name
</search for>
<add before>
// TinyPortal
     if($context['TPortal']['showtop']==1)
     {
// TinyPortal end
</add before>

<search for>
echo '
</form>
</td>
</tr>
</table>
</search for>
<add after>
';
// TinyPortal
       }
//  end
echo '
</add after>

<search for>
// The main content should go here.
echo '
<div id="bodyarea" style="padding: 1ex 0px 2ex 0px;">';
</search for>
<replace>
// The main content should go here.  A table is used because IE 6 just can't handle a div.
echo '
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr>';

// TinyPortal integrated bars
          if($context['TPortal']['leftbar'])
          {
              echo '<td width="' ,$context['TPortal']['leftbar_width'], '" style="padding: ' , isset($context['TPortal']['padding']) ? $context['TPortal']['padding'] : '4' , 'px; padding-top: 4px;padding-right: 1ex;" valign="top">
                 <div id="leftbarHeader"', empty($options['collapse_leftbar']) ? '' : ' style="display: none;"', ' style="padding-top: 5px; width: ' ,$context['TPortal']['leftbar_width'], 'px;">';
                 TPortal_sidebar('left');
              echo '</div></td>';

          }

        echo '<td width="100%" align="left" valign="top" style="padding-top: 10px; padding-bottom: 10px;">';
        if($context['TPortal']['centerbar'])
                     echo '<div>' , TPortal_sidebar('center') , '</div>';
</replace>

<search for>
function template_main_below()
{
global $context, $settings, $options, $scripturl, $txt;

echo '
</div>';
</search for>
<replace>
function template_main_below()
{
global $context, $settings, $options, $scripturl, $txt;

   echo '</td>';

         // TinyPortal integrated bars
          if($context['TPortal']['rightbar']){
              echo '<td style="padding: ' , isset($context['TPortal']['padding']) ? $context['TPortal']['padding'] : '4' , 'px; padding-top: 4px; padding-left: 1ex;" valign="top" align="right">
                 <div id="rightbarHeader"', empty($options['collapse_rightbar']) ? '' : ' style="display: none;"', ' style="width: ' ,$context['TPortal']['rightbar_width'], 'px; text-align: left; padding-top: 5px;">';
              TPortal_rightbar();
              echo '</div></td>';
          }

        echo '</tr></table>';

</replace>

<search for>
<td valign="middle" align="center" style="white-space: nowrap;">
', theme_copyright(), '
</td>
</search for>
<replace>
                           <td valign="middle" align="center" style="white-space: nowrap;" class="smalltext">
                                        ', theme_copyright(), ' <br />', tportal_version() , '
                                </td>
</replace>

<search for>
</body></html>';
</search for>
<add before>
';
// TinyPortal
     if($context['TPortal']['fixed_width']!=0)
             echo '</td></tr></table>';
// end
echo '
</add before>

<search for>
if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm')))
</search for>
<replace>
if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm', 'forum', 'tpadmin')))
</replace>

<search for>
$current_action = 'search';
</search for>
<add after>

if (isset($_GET['dl']))
$current_action = 'dlmanager';

if (isset($_GET['board']) || isset($_GET['topic']))
$current_action = 'forum';

</add after>


<search for>
// Show the [help] button.
</search for>
<add before>
if($settings['TPortal_front_type']!='boardindex')
// Show the [forum] button.
echo ($current_action=='forum' || $context['browser']['is_ie4']) ? '<td class="maintab_active_first">&nbsp;</td>' : '' , '
<td valign="top" class="maintab_' , $current_action=='forum' ? 'active_back' : 'back' , '">
<a href="', $scripturl, '?action=forum">'.$txt['tp-forum'].'</a>
</td>' , $current_action=='forum' ? '<td class="maintab_active_last">&nbsp;</td>' : '';
</add before>

<search for>
// The end of tab section.
echo '
<td class="maintab_' , $last , '">&nbsp;</td>
</search for>
<add after>
';
// TinyPortal
if($context['TPortal']['leftbar'])
             echo '<td style="padding-left: 1ex;"><a href="javascript:void(0);" onclick="shrinkHeaderLeftbar(!current_leftbar); return false;"><img id="upshrinkLeftbar" src="', $settings['images_url'], '/', empty($options['collapse_leftbar']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 2px 0;" border="0" /></a><img id="upshrinkTempLeftbar" src="', $settings['images_url'], '/blank.gif" alt="" style="margin-right: 0ex;" /></td>';
         if($context['TPortal']['rightbar'])
             echo '<td style="padding-left: 1ex;"><a href="javascript:void(0);" onclick="shrinkHeaderRightbar(!current_rightbar); return false;"><img id="upshrinkRightbar" src="', $settings['images_url'], '/', empty($options['collapse_rightbar']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 2px 0;" border="0" /></a><img id="upshrinkTempRightbar" src="', $settings['images_url'], '/blank.gif" alt="" style="margin-right: 0ex;" /></td>';
// TinyPortal end
echo '
</add after>

Open file:
Themes/babylon/index.template.php


<search for>
// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'], '
</search for>
<add after>
        <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
                var current_leftbar = ', empty($options['collapse_leftbar']) ? 'false' : 'true', ';

                function shrinkHeaderLeftbar(mode)
                {';

        // Guests don't have theme options!!
        if ($context['user']['is_guest'])
                echo '
                        document.cookie = "upshrink=" + (mode ? 1 : 0);';
        else
                echo '
                        smf_setThemeOption("collapse_leftbar", mode ? 1 : 0, null, "', $context['session_id'], '");';
        echo '
                        document.getElementById("upshrinkLeftbar").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

                        document.getElementById("leftbarHeader").style.display = mode ? "none" : "";

                        current_leftbar = mode;
                }
          // ]]></script>
       <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
                var current_rightbar = ', empty($options['collapse_rightbar']) ? 'false' : 'true', ';

                function shrinkHeaderRightbar(mode)
                {';

        // Guests don't have theme options!!
        if ($context['user']['is_guest'])
                echo '
                        document.cookie = "upshrink=" + (mode ? 1 : 0);';
        else
                echo '
                        smf_setThemeOption("collapse_rightbar", mode ? 1 : 0, null, "', $context['session_id'], '");';

        echo '
                        document.getElementById("upshrinkRightbar").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

                        document.getElementById("rightbarHeader").style.display = mode ? "none" : "";

                        current_rightbar = mode;
                }
        // ]]></script>
</add after>

<search for>
<body>';
</search for>
<add after>
// TinyPortal start
     if($context['TPortal']['fixed_width']!=0)
             echo '<table align="center" width="'.$context['TPortal']['fixed_width'].'" cellpadding="0" cellspacing="0" border="0"><tr><td>';

// TinyPortal end
</add after>


<search for>
<img src="', $settings['header_logo_url'], '" alt="', $context['forum_name'], '" border="0" />';
</search for>
<add after>
// TinyPortal
     if($context['TPortal']['showtop']==1)
     {
// TinyPortal end
</add after>

<search for>
<b>', $context['common_stats']['total_posts'], '</b> ', $txt[95], ' ', $txt['smf88'], ' <b>', $context['common_stats']['total_topics'], '</b> ', $txt[64], ' ', $txt[525], ' <span style="white-space: nowrap;"><b>', $context['common_stats']['total_members'], '</b> ', $txt[19], '</span><br />
', $txt[656], ': <b> ', $context['common_stats']['latest_member']['link'], '</b>
</div>
</div>';
</search for>
<add after>

// TinyPortal
       }
//  end
</add after>



<search for>
<a href="javascript:void(0);" onclick="shrinkHeader(!current_header); return false;"><img id="upshrink" src="', $settings['images_url'], '/', empty($options['collapse_header']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 2px 2ex 2px 0;" border="0" /></a>';
</search for>
<replace>
';
// TinyPortal

         if($context['TPortal']['showtop'])
             echo '<a href="javascript:void(0);" onclick="shrinkHeader(!current_header); return false;"><img id="upshrink" src="', $settings['images_url'], '/', empty($options['collapse_header']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 2px 0;" border="0" /></a><img id="upshrinkTemp" src="', $settings['images_url'], '/blank.gif" alt="" style="margin-right: 1ex;" /> ';
         if($context['TPortal']['leftbar'])
             echo '<a href="javascript:void(0);" onclick="shrinkHeaderLeftbar(!current_leftbar); return false;"><img id="upshrinkLeftbar" src="', $settings['images_url'], '/', empty($options['collapse_leftbar']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 2px 0;" border="0" /></a><img id="upshrinkTempLeftbar" src="', $settings['images_url'], '/blank.gif" alt="" style="margin-right: 0ex;" />';
         if($context['TPortal']['rightbar'])
             echo '<a href="javascript:void(0);" onclick="shrinkHeaderRightbar(!current_rightbar); return false;"><img id="upshrinkRightbar" src="', $settings['images_url'], '/', empty($options['collapse_rightbar']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" style="margin: 2px 0;" border="0" /></a><img id="upshrinkTempRightbar" src="', $settings['images_url'], '/blank.gif" alt="" style="margin-right: 0ex;" />';
// TinyPortal end
</replace>

<search for>
// The main content should go here.  A table is used because IE 6 just can't handle a div.
echo '
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr>
<td id="bodyarea" style="padding: 1ex 20px 2ex 20px;">';
</search for>
<replace>
     // The main content should go here.  A table is used because IE 6 just can't handle a div.
        echo '<div id="bodyarea" style="padding: 10px 8px 0px 8px;">
        <table width="100%" cellpadding="0" cellspacing="0" border="0"><tr>';

// TinyPortal integrated bars
          if($context['TPortal']['leftbar'])
          {
              echo '<td width="' ,$context['TPortal']['leftbar_width'], '" style="padding: ' , isset($context['TPortal']['padding']) ? $context['TPortal']['padding'] : '4' , 'px; background-color: #D4D4D4; padding-top: 4px;" valign="top">
                 <div id="leftbarHeader"', empty($options['collapse_leftbar']) ? '' : ' style="display: none;"', ' style="padding-top: 5px; width: ' ,$context['TPortal']['leftbar_width'], 'px;">';
                 TPortal_sidebar('left');
              echo '</div></td>';

          }

        echo '<td width="100%" align="left" valign="top" style="padding-top: 10px; padding-bottom: 10px;">';
        if($context['TPortal']['centerbar'])
                     echo '<div>' , TPortal_sidebar('center') , '</div>';
</replace>

<search for>
echo '</td>
</tr></table>';
</search for>
<replace>
   echo '</td>';

         // TinyPortal integrated bars
          if($context['TPortal']['rightbar']){
              echo '<td style="padding: ' , isset($context['TPortal']['padding']) ? $context['TPortal']['padding'] : '4' , 'px; background-color: #D4D4D4; padding-top: 4px;" valign="top" align="right">
                 <div id="rightbarHeader"', empty($options['collapse_rightbar']) ? '' : ' style="display: none;"', ' style="width: ' ,$context['TPortal']['rightbar_width'], 'px; text-align: left; padding-top: 5px;">';
              TPortal_rightbar();
              echo '</div></td>';
          }

        echo '</tr></table></div>';

</replace>

<search for>
<td valign="middle" align="center" style="white-space: nowrap;">
', theme_copyright(), '
</td>
</search for>
<replace>
                           <td valign="middle" align="center" style="white-space: nowrap;" class="smalltext">
                                        ', theme_copyright(), ' <br />', tportal_version() , '
                                </td>
</replace>

<search for>
// The following will be used to let the user know that some AJAX process is running
echo '
<div id="ajax_in_progress" style="display: none;', $context['browser']['is_ie'] && !$context['browser']['is_ie7'] ? 'position: absolute;' : '', '">', $txt['ajax_in_progress'], '</div>
</body>
</html>';
</search for>
<add before>
// TinyPortal
     if($context['TPortal']['fixed_width']!=0)
             echo '</td></tr></table>';
// end

</add before>

<search for>
// Show the [home] and [help] buttons.
echo '
<a href="', $scripturl, '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/home.gif" alt="' . $txt[103] . '" style="margin: 2px 0;" border="0" />' : $txt[103]), '</a>', $context['menu_separator'], '
<a href="', $scripturl, '?action=help">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/help.gif" alt="' . $txt[119] . '" style="margin: 2px 0;" border="0" />' : $txt[119]), '</a>', $context['menu_separator'];
</search for>
<replace>
// Show the [home] and [help] buttons.
echo '
                     <a href="', $scripturl, '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/home.gif" alt="' . $txt[103] . '" style="margin: 2px 0;" border="0" />' : $txt[103]), '</a>', $context['menu_separator'];
if($settings['TPortal_front_type']!='boardindex')
echo '        <a href="', $scripturl, '?action=forum">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/forum.gif" alt="Forum Index" style="margin: 2px 0;" border="0" />' : 'Forum Index'), '</a>', $context['menu_separator'];

echo '        <a href="', $scripturl, '?action=help" target="_blank">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/help.gif" alt="' . $txt[119] . '" style="margin: 2px 0;" border="0" />' : $txt[119]), '</a>', $context['menu_separator'];
</replace>


Open file:
Sources/Subs.php


<search for>
$context['allow_admin'] = allowedTo(array('admin_forum', 'manage_boards', 'manage_permissions', 'moderate_forum', 'manage_membergroups', 'manage_bans', 'send_mail', 'edit_news', 'manage_attachments', 'manage_smileys'));
</search for>

<replace>
$context['allow_admin'] = allowedTo(array('admin_forum', 'manage_boards', 'manage_permissions', 'moderate_forum', 'manage_membergroups', 'manage_bans', 'send_mail', 'edit_news', 'manage_attachments', 'manage_smileys','tp_settings','tp_articles','tp_blocks','tp_dlmanager'));
</replace>

<search for>
// Admin area 'Members'.
</search for>

<add before>
// TinyPortal
if (allowedTo(array('tp_settings', 'tp_blocks', 'tp_articles', 'tp_dlmanager', 'tp_gallery', 'tp_linkmanager', 'tp_teampage')))
{
$context['admin_areas']['tportal'] = array(
'title' => 'TinyPortal',
'areas' => array()
);
if (allowedTo('tp_settings')){
$context['admin_areas']['tportal']['areas']['tp_settings'] =  '<a href="' . $scripturl . '?action=tpadmin;sa=settings">' . $txt['tp-admin2'] . '</a>';
}
if (allowedTo('tp_blocks')){
$context['admin_areas']['tportal']['areas']['tp_blocks'] =  '<a href="' . $scripturl . '?action=tpadmin;sa=blocks">' . $txt['tp-admin5'] . '</a>';
}
if (allowedTo('tp_articles')){
$context['admin_areas']['tportal']['areas']['tp_articles'] =  '<a href="' . $scripturl . '?action=tpadmin;sa=articles">' . $txt['tp-admin8'] . '</a>';
}
if (allowedTo('tp_dlmanager') && $context['TPortal']['show_download']){
$context['admin_areas']['tportal']['areas']['tp_dlmanager'] =  '<a href="' . $scripturl . '?action=tpmod;dl=admin">' . $txt['tp-admin9'] . '</a>';
}
if (allowedTo('tp_linkmanager') && $context['TPortal']['show_linkmanager']){
$context['admin_areas']['tportal']['areas']['tp_linkmanager'] =  '<a href="' . $scripturl . '?action=tpmod;link=admin">' . $txt['tp-admin13'] . '</a>';
}
if (allowedTo('tp_gallery') && $context['TPortal']['show_gallery']){
$context['admin_areas']['tportal']['areas']['tp_gallery'] =  '<a href="' . $scripturl . '?action=tpmod;show=admin">' . $txt['tp-admin15'] . '</a>';
}
if (allowedTo('tp_teampage') && $context['TPortal']['show_teampage']){
$context['admin_areas']['tportal']['areas']['tp_teampage'] =  '<a href="' . $scripturl . '?action=tpmod;team=admin">' . $txt['tp-admin17'] . '</a>';
}
}
// TinyPortal end

</add before>

Open file:
Sources/ManagePermissions.php


<search for>
)
),
'board' => array(
</search for>

<add before>
),
// TinyPortal
'tinyportal' => array(
'tp_settings' => false,
'tp_blocks' => false,
'tp_articles' => false,
),
'tinyportal_dl' => array(
'tp_dlmanager' => false,
'tp_dlupload' => false,
),
'tinyportal_link' => array(
'tp_linkmanager' => false,
),
'tinyportal_gallery' => array(
'tp_gallery' => false,
),
'tinyportal_team' => array(
'tp_teampage' => false,
</add before>

Open file:
Sources/Security.php


<search for>
// Require a user who is logged in. (not a guest.)
function is_not_guest($message = '')
{
global $user_info, $txt, $context;
</search for>

<add after>

// TinyPortal
TPortal_init();
</add after>

Open file:
Sources/Errors.php


<search for>
// We don't have $txt yet, but that's okay...
if (empty($txt))
die($error);
</search for>

<add after>

// TinyPortal
if(!isset($context['tp_prefix']))
TPortal_init();
// end
</add after>

Open file:
Themes/default/style.css


<search for>
/* Normal, standard links. */
</search for>

<add before>
/* TP specific classes */
.sitemap{
margin: 0;
padding: 0;
list-style: none;
}
.sitemap_topheader{
background: #ECEDF3;
border-bottom: solid 1px #ffffff;
padding: 4px;
}

.sitemap_header{
background: #ECEDF3;
border-bottom: solid 1px #ffffff;
padding: 4px;
display: block;
font-weight: bold;
}

.sitemap_header_active{
background: #C8D6E1;
border-bottom: solid 1px #ffffff;
padding: 4px;
display: block;
font-weight: bold;
}

.sitemap_header:hover , .sitemap_header_active:hover{
background: #DBE4ED;
border-bottom: solid 1px #ffffff;
padding: 4px;
display: block;
text-decoration: none;
}

/* TP other styles */
ul#articlelist
{
margin: 0;
padding: 0.5ex 0;
list-style: none;
}
ul#catlist
{
margin: 0;
padding: 0;
list-style: none;
border-top: solid 1px #d0d0d0;
}

ul#articlelist li
{
margin: 0;
display: block;
padding: 0 0 0 3ex;
background: url(images/divider.gif) no-repeat 5px 3px;
}
ul#catlist li
{
display: block;
padding: 0 0 0 3ex;
margin: 0;
}

/* TP rss feed styles */
.rss_title{
font-weight: bold;
}

.rss_body{
margin-bottom: 1ex;
}

.rss_image{
margin: 4px 0 4px 0;
}
</add before>

Open file:
Themes/default/Help.template.php


<search for>
global $context, $settings, $options, $txt, $scripturl;

echo '
<div class="tborder" style="margin-top: 1ex;">
<div id="helpmenu" class="titlebg" style="padding: 4px;">';
</search for>

<replace>
global $context, $settings, $options, $txt, $scripturl;

// Tinyportal
echo '
<table cellpadding="0" cellspacing="0" border="0" style="margin-left: 10px;">
<tr>
<td class="mirrortab_first">&nbsp;</td>
<td class="mirrortab_active_first">&nbsp;</td>
<td valign="top" class="mirrortab_active_back">
<a href="', $scripturl, '?action=help">' , $txt['tp-smfhelp'] , '</a>
</td>
<td class="mirrortab_active_last">&nbsp;</td>
<td valign="top" class="mirrortab_back">
<a href="', $scripturl, '?action=tpmod;sa=help">' , $txt['tp-tphelp'] , '</a>
</td>
<td class="mirrortab_last">&nbsp;</td>
     </tr>
</table>';

echo '
<div class="tborder">
<div id="helpmenu" class="titlebg" style="padding: 4px;">';
// end Tinyportal
</replace>

Open file:
Sources/Profile.php


<search for>
'deleteAccount' => array(array('profile_remove_any', 'profile_remove_own'), array('profile_remove_any')),
</search for>

<add after>
// Tinyportal
'tpsummary' => array(array('profile_view_any', 'profile_view_own'), array('profile_view_any')),
'tparticles' => array(array('profile_extra_any', 'profile_extra_own'), array('tp_articles')),
'tpdownload' => array(array('profile_extra_any', 'profile_extra_own'), array('tp_dlmanager')),
'tpshoutbox' => array(array('profile_extra_any', 'profile_extra_own'), array('tp_blocks')),
'tpgallery' => array(array('profile_extra_any', 'profile_extra_own'), array('tp_gallery')),
'tplinks' => array(array('profile_extra_any', 'profile_extra_own'), array('tp_links')),
// end Tinyportal
</add after>

<search for>
// If you have permission to do something with this profile, you'll see one or more actions.
if (($context['user']['is_owner'] && allowedTo('profile_remove_own')) || allowedTo('profile_remove_any') || (!$context['user']['is_owner'] && allowedTo('pm_send')))
</search for>

<add before>

    // TinyPortal
if (!$user_info['is_guest'] && (($context['user']['is_owner'] && allowedTo('profile_view_own')) || allowedTo(array('profile_view_any', 'moderate_forum', 'manage_permissions','tp_dlmanager','tp_blocks','tp_articles','tp_gallery','tp_linkmanager'))))
{
$context['profile_areas']['tinyportal'] = array(
'title' => $txt['tp-profilesection'],
'areas' => array()
);

$context['profile_areas']['tinyportal']['areas']['tpsummary'] = '<a href="' . $scripturl . '?action=profile;u=' . $memID . ';sa=tpsummary">' . $txt['tpsummary'] . '</a>';
if ($context['user']['is_owner'] || allowedTo('tp_articles'))
$context['profile_areas']['tinyportal']['areas']['tparticles'] = '<a href="' . $scripturl . '?action=profile;u=' . $memID . ';sa=tparticles">' . $txt['articlesprofile'] . '</a>';
if(($context['user']['is_owner'] || allowedTo('tp_dlmanager')) && $context['TPortal']['show_download'])
$context['profile_areas']['tinyportal']['areas']['tpdownload'] = '<a href="' . $scripturl . '?action=profile;u=' . $memID . ';sa=tpdownload">' . $txt['downloadprofile'] . '</a>';
if($context['user']['is_owner'] || allowedTo('tp_blocks'))
$context['profile_areas']['tinyportal']['areas']['tpshoutbox'] = '<a href="' . $scripturl . '?action=profile;u=' . $memID . ';sa=tpshoutbox">' . $txt['shoutboxprofile'] . '</a>';
if(($context['user']['is_owner'] || allowedTo('tp_gallery')) && $context['TPortal']['show_gallery'])
$context['profile_areas']['tinyportal']['areas']['tpgallery'] = '<a href="' . $scripturl . '?action=profile;u=' . $memID . ';sa=tpgallery">' . $txt['galleryprofile'] . '</a>';
if(($context['user']['is_owner'] || allowedTo('tp_linkmanager')) && $context['TPortal']['show_linkmanager'])
$context['profile_areas']['tinyportal']['areas']['tplinks'] = '<a href="' . $scripturl . '?action=profile;u=' . $memID . ';sa=tplinks">' . $txt['linksprofile'] . '</a>';
}
    // end TinyPortal

</add before>

<search for>
?>
</search for>

<add before>
// Tinyportal
function tpsummary($memID)
{
global $txt, $user_profile, $db_prefix, $context, $db_prefix;

loadtemplate('TPprofile');
$context['page_title'] = $txt['tpsummary'];
TP_profile_summary($memID);
}
function tparticles($memID)
{
global $txt, $user_profile, $db_prefix, $context, $db_prefix;

loadtemplate('TPprofile');
$context['page_title'] = $txt['articlesprofile'];
TP_profile_articles($memID);
}
function tpdownload($memID)
{
global $txt, $user_profile, $db_prefix, $context, $db_prefix;

loadtemplate('TPprofile');
$context['page_title'] = $txt['downloadprofile'];
TP_profile_download($memID);
}
function tpshoutbox($memID)
{
global $txt, $user_profile, $db_prefix, $context, $db_prefix;

loadtemplate('TPprofile');
$context['page_title'] = $txt['shoutboxprofile'];
TP_profile_shoutbox($memID);
}
function tpgallery($memID)
{
global $txt, $user_profile, $db_prefix, $context, $db_prefix;

loadtemplate('TPprofile');
$context['page_title'] = $txt['galleryprofile'];
TP_profile_gallery($memID);
}
function tplinks($memID)
{
global $txt, $user_profile, $db_prefix, $context, $db_prefix;

loadtemplate('TPprofile');
$context['page_title'] = $txt['linksprofile'];
TP_profile_links($memID);
}

</add before>

Open file:
SSI.php

<search for>
require_once($sourcedir . '/Security.php');
</search for>

<add after>
require_once($sourcedir . '/TPortal.php');
</add after>