Advertisement:

Author Topic: TinyPortal  (Read 717020 times)

Offline mattizzy

  • Semi-Newbie
  • *
  • Posts: 75
  • Gender: Male
    • mattizzy.okeke on Facebook
    • @mattizzyo on Twitter
Re: TinyPortal
« Reply #2300 on: July 11, 2018, 01:49:44 PM »
How can I customise header like your official site. Not really like it. I just want to know the methods implemented in the site https://www.tinyportal.net/index.php?PHPSESSID=5gc27op7828kudmqt5ivorjfb7;wwwRedirect
I am only an SMF Addict. I think I took overdose.

Offline mayheptad

  • Semi-Newbie
  • *
  • Posts: 43
Re: TinyPortal
« Reply #2301 on: July 18, 2018, 09:21:17 AM »
Can somebody pls give me a good tutorial / documentation
About tinyportal and how to use it simple and advace features.
If possible a video.
I have search trough youtube i found none

Offline Tonyvic

  • Jr. Member
  • **
  • Posts: 155
  • Gender: Male
Re: TinyPortal
« Reply #2302 on: July 18, 2018, 09:40:20 AM »
Have you checked the TinyPortal website?

Offline njtweb

  • Full Member
  • ***
  • Posts: 572
Re: TinyPortal
« Reply #2303 on: July 18, 2018, 10:39:07 AM »
How can I customise header like your official site. Not really like it. I just want to know the methods implemented in the site https://www.tinyportal.net/index.php?PHPSESSID=5gc27op7828kudmqt5ivorjfb7;wwwRedirect

That's a theme, AlphaCentauri



Can somebody pls give me a good tutorial / documentation
About tinyportal and how to use it simple and advace features.
If possible a video.
I have search trough youtube i found none

https://www.tinyportal.net/docs/index.php

Offline lurkalot

  • Sophist Member
  • *****
  • Posts: 1,135
  • Gender: Male
  • Tinyportal Support
    • guitaristguild on Facebook
    • Tinyportal on GitHub
    • @GuitaristGuild on Twitter
    • Guitarist Guild
Re: TinyPortal
« Reply #2304 on: July 18, 2018, 12:35:13 PM »

Can somebody pls give me a good tutorial / documentation
About tinyportal and how to use it simple and advace features.
If possible a video.
I have search trough youtube i found none

https://www.tinyportal.net/docs/index.php

Thanks njtweb

mayheptad  The docs should get you started, although I'll be the first to say the docs need updating, they have been neglected in the last couple of years, things have changed somewhat.  But if you get stuck or need walking through something then you can always ask over at our support site, we'll be glad to help.

Offline Arnox

  • Semi-Newbie
  • *
  • Posts: 33
Re: TinyPortal
« Reply #2305 on: July 29, 2018, 08:21:19 PM »
Sooo... This is working but not very well at all. It tried to redirect me to the admin page of TP and... It dumps me back to the regular homepage instead. Menu options for any of the TP settings don't work at all either and continue to dump me at the regular sub-forum listings page.

Getting "Parameter 1 to addTPActions() expected to be a reference, value given" in my error log. This is indicative of old PHP code that hasn't been updated to work with PHP 7.x. But the mod page says it's for 2.0.15?

Offline Arnox

  • Semi-Newbie
  • *
  • Posts: 33
Re: TinyPortal
« Reply #2306 on: July 29, 2018, 09:04:36 PM »
Found the exact issue. TPassimilate.php in Sources has two big issues. For one, the file references the actionArray as "&$actionArray" without quotes when it should be just "$actionArray". This will spam people's error logs like no tomorrow.

The second issue (probably directly linked to the first issue on mod install) is that the mod did not actually add entries to the actionArray in index.php. This of course causes completely broken links on the top bar.

Offline tinoest

  • Development Contributor
  • Jr. Member
  • *
  • Posts: 229
Re: TinyPortal
« Reply #2307 on: July 30, 2018, 02:14:07 AM »
Thanks for the report, what version of php are you running? It doesn’t do this for me on php 5.6,7.0 or 7.1 so I’d like to find out how I can break it to fix it.

I’ll add this to the list for fixes for the next release.

Offline Arnox

  • Semi-Newbie
  • *
  • Posts: 33
Re: TinyPortal
« Reply #2308 on: July 30, 2018, 03:29:15 AM »
Thanks for the report, what version of php are you running? It doesn’t do this for me on php 5.6,7.0 or 7.1 so I’d like to find out how I can break it to fix it.

I’ll add this to the list for fixes for the next release.

Right now, we're running PHP 7.0 or 7.0.30 to be exact.

Still not sure why it didn't add any of the lines to the actionArray. After adding the lines in manually though, it works beautifully.

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,303
    • StoryBB/StoryBB on GitHub
Re: TinyPortal
« Reply #2309 on: July 30, 2018, 03:35:39 AM »
Probably because you changed the code so it only added them to a copy of actionArray, not the real actionArray.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline tinoest

  • Development Contributor
  • Jr. Member
  • *
  • Posts: 229
Re: TinyPortal
« Reply #2310 on: July 30, 2018, 03:07:50 PM »
Found the exact issue. TPassimilate.php in Sources has two big issues. For one, the file references the actionArray as "&$actionArray" without quotes when it should be just "$actionArray". This will spam people's error logs like no tomorrow.

The second issue (probably directly linked to the first issue on mod install) is that the mod did not actually add entries to the actionArray in index.php. This of course causes completely broken links on the top bar.

That's not the issue, your error is this;

Getting "Parameter 1 to addTPActions() expected to be a reference, value given" in my error log. This is indicative of old PHP code that hasn't been updated to work with PHP 7.x. But the mod page says it's for 2.0.15?

Which is the opposite of what you did.

What other mods do you have installed? Something is modifying your integrate_actions call incorrectly, or its changed in the SMF 2.0 Source Code.

Arantor is right in that it's not working as you're not changing the real actionArray anymore.

Offline tinoest

  • Development Contributor
  • Jr. Member
  • *
  • Posts: 229
Re: TinyPortal
« Reply #2311 on: July 30, 2018, 03:19:16 PM »
Thanks for the report, what version of php are you running? It doesn’t do this for me on php 5.6,7.0 or 7.1 so I’d like to find out how I can break it to fix it.

I’ll add this to the list for fixes for the next release.

Right now, we're running PHP 7.0 or 7.0.30 to be exact.

Still not sure why it didn't add any of the lines to the actionArray. After adding the lines in manually though, it works beautifully.

Can you post your index.php, I would guess that's the cause of your issues.

Offline Arnox

  • Semi-Newbie
  • *
  • Posts: 33
Re: TinyPortal
« Reply #2312 on: August 05, 2018, 08:05:48 AM »
Probably because you changed the code so it only added them to a copy of actionArray, not the real actionArray.

Sorry this is so late.

The code of the TPAssimilate file? I didn't change that until after I did a normal install. Several times. Although that's only what fixed the mod spamming errors in the error log. I actually had to manually add entries in the actionArray to get the TinyPortal menu options to work.

If it's adding the entries on install to a copy of the actionArray then it's not in the index.php file because there's only one actionArray there.

Here's my index.php:

Code: [Select]
<?php

/**
 * Simple Machines Forum (SMF)
 *
 * @package SMF
 * @author Simple Machines http://www.simplemachines.org
 * @copyright 2011 Simple Machines
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 *
 * @version 2.0.15
 */

/* This, as you have probably guessed, is the crux on which SMF functions.
Everything should start here, so all the setup and security is done
properly.  The most interesting part of this file is the action array in
the smf_main() function.  It is formatted as so:

'action-in-url' => array('Source-File.php', 'FunctionToCall'),

Then, you can access the FunctionToCall() function from Source-File.php
with the URL index.php?action=action-in-url.  Relatively simple, no?
*/

$forum_version 'SMF 2.0.15';
@
ini_set('memory_limit''128M');

// Get everything started up...
define('SMF'1);
if (
function_exists('set_magic_quotes_runtime'))
@set_magic_quotes_runtime(0);
error_reporting(defined('E_STRICT') ? E_ALL E_STRICT E_ALL);
$time_start microtime();

// This makes it so headers can be sent!
ob_start();

// Do some cleaning, just in case.
foreach (array('db_character_set''cachedir') as $variable)
if (isset($GLOBALS[$variable]))
unset($GLOBALS[$variable], $GLOBALS[$variable]);

// Load the settings...
require_once(dirname(__FILE__) . '/Settings.php');

// Make absolutely sure the cache directory is defined.
if ((empty($cachedir) || !file_exists($cachedir)) && file_exists($boarddir '/cache'))
$cachedir $boarddir '/cache';

// And important includes.
require_once($sourcedir '/QueryString.php');
require_once(
$sourcedir '/Subs.php');
require_once(
$sourcedir '/Errors.php');
require_once(
$sourcedir '/Load.php');
require_once(
$sourcedir '/Security.php');
require_once(
$sourcedir '/Subs-Shoutbox.php');

// Using an pre-PHP 5.1 version?
if (@version_compare(PHP_VERSION'5.1') == -1)
require_once($sourcedir '/Subs-Compat.php');

// If $maintenance is set specifically to 2, then we're upgrading or something.
if (!empty($maintenance) && $maintenance == 2)
db_fatal_error();

// Create a variable to store some SMF specific functions in.
$smcFunc = array();

// Initate the database connection and define some database functions to use.
loadDatabase();

// Load the settings from the settings table, and perform operations like optimizing.
reloadSettings();
// Clean the request variables, add slashes, etc.
cleanRequest();
$context = array();

// Seed the random generator.
if (empty($modSettings['rand_seed']) || mt_rand(1250) == 69)
smf_seed_generator();

// Before we get carried away, are we doing a scheduled task? If so save CPU cycles by jumping out!
if (isset($_GET['scheduled']))
{
require_once($sourcedir '/ScheduledTasks.php');
AutoTask();
}

// Check if compressed output is enabled, supported, and not already being done.
if (!empty($modSettings['enableCompressedOutput']) && !headers_sent())
{
// If zlib is being used, turn off output compression.
if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler' || @version_compare(PHP_VERSION'4.2.0') == -1)
$modSettings['enableCompressedOutput'] = '0';
else
{
ob_end_clean();
ob_start('ob_gzhandler');
}
}

// Emit some headers for some modicum of protection against nasties.
if (!headers_sent())
{
// Future versions will make some of this configurable. This is primarily a 'safe' configuration for most cases for now.
header('X-Frame-Options: SAMEORIGIN');
header('X-XSS-Protection: 1');
header('X-Content-Type-Options: nosniff');
}

// Register an error handler.
set_error_handler('error_handler');

// Quickly catch random exceptions.
set_exception_handler(function ($e) use ($db_show_debug)
{
if (isset($db_show_debug) && $db_show_debug === true && allowedTo('admin_forum'))
fatal_error(nl2br($e), false);
else
fatal_error($e->getMessage(), false);
});

// Start the session. (assuming it hasn't already been.)
loadSession();

// Determine if this is using WAP, WAP2, or imode.  Technically, we should check that wap comes before application/xhtml or text/html, but this doesn't work in practice as much as it should.
if (isset($_REQUEST['wap']) || isset($_REQUEST['wap2']) || isset($_REQUEST['imode']))
unset($_SESSION['nowap']);
elseif (isset(
$_REQUEST['nowap']))
$_SESSION['nowap'] = true;
elseif (!isset(
$_SESSION['nowap']))
{
if (isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'application/vnd.wap.xhtml+xml') !== false)
$_REQUEST['wap2'] = 1;
elseif (isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'text/vnd.wap.wml') !== false)
{
if (strpos($_SERVER['HTTP_USER_AGENT'], 'DoCoMo/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'portalmmm/') !== false)
$_REQUEST['imode'] = 1;
else
$_REQUEST['wap'] = 1;
}
}

if (!
defined('WIRELESS'))
define('WIRELESS', isset($_REQUEST['wap']) || isset($_REQUEST['wap2']) || isset($_REQUEST['imode']));

// Some settings and headers are different for wireless protocols.
if (WIRELESS)
{
define('WIRELESS_PROTOCOL', isset($_REQUEST['wap']) ? 'wap' : (isset($_REQUEST['wap2']) ? 'wap2' : (isset($_REQUEST['imode']) ? 'imode' '')));

// Some cellphones can't handle output compression...
$modSettings['enableCompressedOutput'] = '0';
// !!! Do we want these hard coded?
$modSettings['defaultMaxMessages'] = 5;
$modSettings['defaultMaxTopics'] = 9;

// Wireless protocol header.
if (WIRELESS_PROTOCOL == 'wap')
header('Content-Type: text/vnd.wap.wml');
}

// Restore post data if we are revalidating OpenID.
if (isset($_GET['openid_restore_post']) && !empty($_SESSION['openid']['saved_data'][$_GET['openid_restore_post']]['post']) && empty($_POST))
{
$_POST $_SESSION['openid']['saved_data'][$_GET['openid_restore_post']]['post'];
unset($_SESSION['openid']['saved_data'][$_GET['openid_restore_post']]);
}

// What function shall we execute? (done like this for memory's sake.)
// SMFPacks Shoutbox
call_user_func(Shoutbox_Load(smf_main()));

// Call obExit specially; we're coming from the main area ;).
obExit(nullnulltrue);

// The main controlling function.
function smf_main()
{
global $modSettings$settings$user_info$board$topic$board_info$maintenance$sourcedir;

// Special case: session keep-alive, output a transparent pixel.
if (isset($_GET['action']) && $_GET['action'] == 'keepalive')
{
header('Content-Type: image/gif');
die("\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3B");
}

// Load the user's cookie (or set as guest) and load their settings.
loadUserSettings();

// Load the current board's information.
loadBoard();

// Load the current user's permissions.
loadPermissions();

// Attachments don't require the entire theme to be loaded.
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'dlattach' && (!empty($modSettings['allow_guestAccess']) && $user_info['is_guest']))
detectBrowser();
// Load the current theme.  (note that ?theme=1 will also work, may be used for guest theming.)
else
loadTheme();

// Check if the user should be disallowed access.
is_not_banned();

// If we are in a topic and don't have permission to approve it then duck out now.
if (!empty($topic) && empty($board_info['cur_topic_approved']) && !allowedTo('approve_posts') && ($user_info['id'] != $board_info['cur_topic_starter'] || $user_info['is_guest']))
fatal_lang_error('not_a_topic'false);

// Do some logging, unless this is an attachment, avatar, toggle of editor buttons, theme option, XML feed etc.
if (empty($_REQUEST['action']) || !in_array($_REQUEST['action'], array('dlattach''findmember''jseditor''jsoption''requestmembers''smstats''.xml''xmlhttp''verificationcode''viewquery''viewsmfile''shoutbox')))
{
// Log this user as online.
writeLog();

// Track forum statistics and hits...?
if (!empty($modSettings['hitStats']))
trackStats(array('hits' => '+'));
}

// TinyPortal
TPortal_init();

// Is the forum in maintenance mode? (doesn't apply to administrators.)
if (!empty($maintenance) && !allowedTo('admin_forum'))
{
// You can only login.... otherwise, you're getting the "maintenance mode" display.
if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'login2' || $_REQUEST['action'] == 'logout'))
{
require_once($sourcedir '/LogInOut.php');
return $_REQUEST['action'] == 'login2' 'Login2' 'Logout';
}
// Don't even try it, sonny.
else
{
require_once($sourcedir '/Subs-Auth.php');
return 'InMaintenance';
}
}
// If guest access is off, a guest can only do one of the very few following actions.
elseif (empty($modSettings['allow_guestAccess']) && $user_info['is_guest'] && (!isset($_REQUEST['action']) || !in_array($_REQUEST['action'], array('coppa''login''login2''register''register2''reminder''activate''help''smstats''mailq''verificationcode''openidreturn'))))
{
require_once($sourcedir '/Subs-Auth.php');
return 'KickGuest';
}
elseif (empty($_REQUEST['action']))
{
$tpAction whichTPAction();
if (!empty($tpAction))
return $tpAction;

// Topic is empty, and action is empty.... MessageIndex!
elseif (empty($topic))
{
require_once($sourcedir '/MessageIndex.php');
return 'MessageIndex';
}
// Board is not empty... topic is not empty... action is empty.. Display!
else
{
require_once($sourcedir '/Display.php');
return 'Display';
}
}

// Here's the monstrous $_REQUEST['action'] array - $_REQUEST['action'] => array($file, $function).
$actionArray = array(
'activate' => array('Register.php''Activate'),
'admin' => array('Admin.php''AdminMain'),
'announce' => array('Post.php''AnnounceTopic'),
'attachapprove' => array('ManageAttachments.php''ApproveAttach'),
'banlist' => array('ManageBans.php''BanListView'),
'buddy' => array('Subs-Members.php''BuddyListToggle'),
'calendar' => array('Calendar.php''CalendarMain'),
'clock' => array('Calendar.php''clock'),
'collapse' => array('BoardIndex.php''CollapseCategory'),
'coppa' => array('Register.php''CoppaForm'),
'credits' => array('Who.php''Credits'),
'deletemsg' => array('RemoveTopic.php''DeleteMessage'),
'display' => array('Display.php''Display'),
'dlattach' => array('Display.php''Download'),
'editpoll' => array('Poll.php''EditPoll'),
'editpoll2' => array('Poll.php''EditPoll2'),
'emailuser' => array('SendTopic.php''EmailUser'),
'forum' => array('BoardIndex.php''BoardIndex'),
'findmember' => array('Subs-Auth.php''JSMembers'),
'groups' => array('Groups.php''Groups'),
'help' => array('Help.php''ShowHelp'),
'helpadmin' => array('Help.php''ShowAdminHelp'),
'im' => array('PersonalMessage.php''MessageMain'),
'jseditor' => array('Subs-Editor.php''EditorMain'),
'jsmodify' => array('Post.php''JavaScriptModify'),
'jsoption' => array('Themes.php''SetJavaScript'),
'lock' => array('LockTopic.php''LockTopic'),
'lockvoting' => array('Poll.php''LockVoting'),
'login' => array('LogInOut.php''Login'),
'login2' => array('LogInOut.php''Login2'),
'logout' => array('LogInOut.php''Logout'),
'markasread' => array('Subs-Boards.php''MarkRead'),
'mergetopics' => array('SplitTopics.php''MergeTopics'),
'mlist' => array('Memberlist.php''Memberlist'),
'moderate' => array('ModerationCenter.php''ModerationMain'),
'modifycat' => array('ManageBoards.php''ModifyCat'),
'modifykarma' => array('Karma.php''ModifyKarma'),
'movetopic' => array('MoveTopic.php''MoveTopic'),
'movetopic2' => array('MoveTopic.php''MoveTopic2'),
'notify' => array('Notify.php''Notify'),
'notifyboard' => array('Notify.php''BoardNotify'),
'openidreturn' => array('Subs-OpenID.php''smf_openID_return'),
'pm' => array('PersonalMessage.php''MessageMain'),
'post' => array('Post.php''Post'),
'post2' => array('Post.php''Post2'),
'posthistory' => array('PostHistory.php''PostHistory'),
'printpage' => array('Printpage.php''PrintTopic'),
'profile' => array('Profile.php''ModifyProfile'),
'quotefast' => array('Post.php''QuoteFast'),
'quickmod' => array('MessageIndex.php''QuickModeration'),
'quickmod2' => array('Display.php''QuickInTopicModeration'),
'recent' => array('Recent.php''RecentPosts'),
'register' => array('Register.php''Register'),
'register2' => array('Register.php''Register2'),
'reminder' => array('Reminder.php''RemindMe'),
'removepoll' => array('Poll.php''RemovePoll'),
'removetopic2' => array('RemoveTopic.php''RemoveTopic2'),
'reporttm' => array('SendTopic.php''ReportToModerator'),
'requestmembers' => array('Subs-Auth.php''RequestMembers'),
'restoretopic' => array('RemoveTopic.php''RestoreTopic'),
'search' => array('Search.php''PlushSearch1'),
'search2' => array('Search.php''PlushSearch2'),
'sendtopic' => array('SendTopic.php''EmailUser'),
// SMFPacks Shoutbox
'shoutbox' => array('Shoutbox.php''Shoutbox'),
'smstats' => array('Stats.php''SMStats'),
'suggest' => array('Subs-Editor.php''AutoSuggestHandler'),
'spellcheck' => array('Subs-Post.php''SpellCheck'),
'splittopics' => array('SplitTopics.php''SplitTopics'),
'stats' => array('Stats.php''DisplayStats'),
'sticky' => array('LockTopic.php''Sticky'),
'theme' => array('Themes.php''ThemesMain'),
'tpadmin' => array('TPortalAdmin.php''TPortalAdmin'),
'tpmod' => array('TPmodules.php''TPmodules'),
'trackip' => array('Profile-View.php''trackIP'),
'about:mozilla' => array('Karma.php''BookOfUnknown'),
'about:unknown' => array('Karma.php''BookOfUnknown'),
'unread' => array('Recent.php''UnreadTopics'),
'unreadreplies' => array('Recent.php''UnreadTopics'),
'verificationcode' => array('Register.php''VerificationCode'),
'viewprofile' => array('Profile.php''ModifyProfile'),
'vote' => array('Poll.php''Vote'),
'viewquery' => array('ViewQuery.php''ViewQuery'),
'viewsmfile' => array('Admin.php''DisplayAdminFile'),
'who' => array('Who.php''Who'),
'.xml' => array('News.php''ShowXmlFeed'),
'xmlhttp' => array('Xml.php''XMLhttpMain'),
);

// Allow modifying $actionArray easily.
call_integration_hook('integrate_actions', array($actionArray));

// Get the function and file to include - if it's not there, do the board index.
if (!isset($_REQUEST['action']) || !isset($actionArray[$_REQUEST['action']]))
{
// Catch the action with the theme?
if (!empty($settings['catch_action']))
{
require_once($sourcedir '/Themes.php');
return 'WrapAction';
}

// Fall through to the board index then...
require_once($sourcedir '/BoardIndex.php');
return 'BoardIndex';
}

// Otherwise, it was set - so let's go to that action.
require_once($sourcedir '/' $actionArray[$_REQUEST['action']][0]);
return $actionArray[$_REQUEST['action']][1];
}

?>

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,303
    • StoryBB/StoryBB on GitHub
Re: TinyPortal
« Reply #2313 on: August 05, 2018, 08:11:47 AM »
Quote
If it's adding the entries on install to a copy of the actionArray then it's not in the index.php file because there's only one actionArray there.

Correct, that's the point.

Let me draw your attention to a very, very important line:

Code: [Select]
call_integration_hook('integrate_actions', array($actionArray));
In your version, this sends a copy of the $actionArray out to a mod to be modified - TinyPortal then modifies the copy of $actionArray and PHP promptly discards it.

In the stock SMF version, this sends the actual $actionArray itself to be modified, TinyPortal then modifies the actual array and sends it back.

So, like I said, you broke your SMF to the point where you've prevented TinyPortal doing anything about it.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Arnox

  • Semi-Newbie
  • *
  • Posts: 33
Re: TinyPortal
« Reply #2314 on: August 06, 2018, 06:50:34 PM »
Quote
If it's adding the entries on install to a copy of the actionArray then it's not in the index.php file because there's only one actionArray there.

Correct, that's the point.

Let me draw your attention to a very, very important line:

Code: [Select]
call_integration_hook('integrate_actions', array($actionArray));
In your version, this sends a copy of the $actionArray out to a mod to be modified - TinyPortal then modifies the copy of $actionArray and PHP promptly discards it.

In the stock SMF version, this sends the actual $actionArray itself to be modified, TinyPortal then modifies the actual array and sends it back.

So, like I said, you broke your SMF to the point where you've prevented TinyPortal doing anything about it.

But I never modified the call_integration_hook line. I mean, yeah, it's clearly different from stock in that it uses $actionArray instead of &$actionArray. But is this simply a left-over from from an old SMF installation? I originally started out with 2.0.7 by the way.

Offline tinoest

  • Development Contributor
  • Jr. Member
  • *
  • Posts: 229
Re: TinyPortal
« Reply #2315 on: August 07, 2018, 02:07:46 PM »
It’s always been &$actionArray. That’s your issue though changing that should make TinyPortal work as expected, along with your other mods which access that hook.

Offline Kindred

  • The Mean One
  • Support Specialist
  • SMF Legend
  • *
  • Posts: 57,098
  • Gender: Male
    • Kindred-999 on GitHub
Re: TinyPortal
« Reply #2316 on: August 07, 2018, 02:13:38 PM »
right... by removing the ampersand, you screwed things up...
http://php.net/manual/en/language.references.pass.php
Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

Offline njtweb

  • Full Member
  • ***
  • Posts: 572
Re: TinyPortal
« Reply #2317 on: August 11, 2018, 06:24:44 PM »
Thank you for the new version!

Offline lurkalot

  • Sophist Member
  • *****
  • Posts: 1,135
  • Gender: Male
  • Tinyportal Support
    • guitaristguild on Facebook
    • Tinyportal on GitHub
    • @GuitaristGuild on Twitter
    • Guitarist Guild
Re: TinyPortal
« Reply #2318 on: August 12, 2018, 05:19:36 AM »
Thank you for the new version!

You're welcome, glad it's doing the job, and the upgrade went smoothly.  8)

Offline Sir Osis of Liver

  • SMF Hero
  • ******
  • Posts: 8,250
  • 'Tis the gift to be simple (duh)
Re: TinyPortal
« Reply #2319 on: September 18, 2018, 05:50:43 PM »
Trying to hide portal panels/blocks everywhere on forum except frontpage.  If I set 'Hide panels when in custom actions' to 'forum', they're only hidden on board index.