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

Recent

Welcome to TinyPortal. Please login or sign up.

Recent posts

#91
Installation / Re: Error installing TinyPorta...
Last post by Marius - May 21, 2025, 05:04:14 PM
Hello lurkalot. Yes I uninstalled the patch but I don't remember if before or after the update to SMF 2.1.4.

The error message is this...

Duplicate column name 'display'
File: /web/htdocs/www.mysite.it/home/forum/Packages/temp/install.php
Line: 983

Line 983 is this...

$smcFunc['db_change_column']('{db_prefix}tp_blocks', 'access2', ['name' => 'display', 'type' => 'text', 'default' => ($db_type == 'mysql' ? Null : '')]);

What does this mean! How can I fix it!
#92
Installation / Re: Error installing TinyPorta...
Last post by lurkalot - May 20, 2025, 05:19:58 PM
I would try and help, but if I'm honest I'm not sure why it's happening. 

I do however remember there was a problem installing the previous version TP 2.3.0 in SMF 2.1.3 and there was a fix packages mod that had to be installed prior to installing it.  This mod had to be uninstalled before upgrading to SMF 2.1.4

#93
Installation / Re: Error installing TinyPorta...
Last post by Marius - May 20, 2025, 04:26:14 PM
Hi @rjen, I'll wait patiently. :)
#94
Installation / Re: Error installing TinyPorta...
Last post by @rjen - May 19, 2025, 09:59:18 PM
Sorry, I cannot help you right now. Out of the country on holiday. Perhaps someone else will reply .
#95
Installation / Error installing TinyPortal
Last post by Marius - May 19, 2025, 02:10:04 PM
Good morning everyone.

I recently uninstalled TinyPortal 2.3.0 because it was obsolete but when installing the newer 3.0.2 it gives the following error...

How can I solve it? Thanks.

Link to my forum: https://www.mysite.it/forum/index.php (sorry for the privacy)
SMF version: 2.1.14
TP version: 3.0.2
Default Forum Language: Italian
Theme name and version: Theme name here SMF Default Theme - Curve2
Browser Name and Version: Chrome 136.0.7103.114 
Mods installed: Curve2 Color, Changer Ad Management, Google Analytics, Code Ultimate Menu, SMF 2.1.4 Update
Related Error messages: File: /web/htdocs/www.mysite.it/home/forum/Packages/temp/install.php
Linea: 983

#96
Block Codes / Re: Recent Topics/Posts with P...
Last post by Senkusha - May 10, 2025, 02:13:52 AM
It works!  Thank you!
#97
Block Codes / Re: Recent Topics/Posts with P...
Last post by @rjen - May 09, 2025, 10:15:25 PM
It seems to work if I remove the check. Try this

/*
Block: Recent posts with post preview
Author: Blue @ Simple Portal.net
Version: 1.9
*/

/* [SETUP WHAT YOU WANT HERE] */

$topics_posts = 1; // TOPICS - 1 | MESSAGES - 2
$limit = 5; // How many recent posts do you want to output?
$number = 70; // How many characters do you want to output?
$exclude_boards = null; // IF null guests can see all boards | IF you want to hide some boards use: array( ID1, ID2, ID3) where ID is the board's ID
$htmlspecialcharacters = false; // Do you need to show html special characters like Greek characters?

// Scroll Enable? Height and Speed?
$scrolling = 0; // ENABLE - 1 | DISABLE - 2
$speed = 3; // SLOW - 1 | MEDIUM - 10 | FAST - 20
$height = "150px";
$scrollbar = 0; // ENABLE - 1 | DISABLE - 2

// Do you want to translate it to your own language? :P
$text['sportal_false'] = 'Simple Portal not found';

/* [STOP!] - THIS IS THE END OF SETUP */

//Only code from now on ;)
global $smcFunc, $scripturl, $sourcedir, $modSettings, $user_info, $settings, $context, $txt;

// Let's grab some database results
if ($topics_posts == 1) {

    if (is_array($exclude_boards) || (int) $exclude_boards === $exclude_boards) {
        $exclude_boards = is_array($exclude_boards) ? $exclude_boards : array($exclude_boards);
    } elseif ($exclude_boards != null) {
        $output_method = $exclude_boards;
        $exclude_boards = array();
    }

    $posts_result = $smcFunc['db_query'](
        '',
        '
SELECT m.poster_time, m.id_msg, t.id_member_updated, m.subject, m.body, m.id_topic, b.name, t.id_last_msg, IFNULL(u.real_name, m.poster_name) AS poster_name, u.avatar, g.online_color,' . ($user_info['is_guest'] ? '1 AS is_read, 0 AS new_from' : '
(IFNULL(lb.id_msg, 0) >= b.id_msg_updated) AS is_read,
IFNULL(lb.id_msg, -1) + 1 AS new_from') . '
FROM {db_prefix}topics AS t
LEFT JOIN {db_prefix}boards AS b ON (t.id_board = b.id_board)
LEFT JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_last_msg)
LEFT JOIN {db_prefix}members AS u ON (t.id_member_updated = u.id_member)' . ($user_info['is_guest'] ? '' : '
LEFT JOIN {db_prefix}log_boards AS lb ON (lb.id_board = b.id_board AND lb.id_member = {int:current_member})') . '
LEFT JOIN {db_prefix}membergroups AS g ON (g.id_group = CASE WHEN u.id_group = 0 THEN u.id_post_group ELSE u.id_group END)
' . (!$user_info['is_guest'] ? '
LEFT JOIN {db_prefix}log_topics AS lt ON (lt.id_topic = m.id_topic AND lt.id_member = ' . $user_info['id'] . ')
LEFT JOIN {db_prefix}log_mark_read AS lmr ON (lmr.id_board = b.id_board AND lmr.id_member = ' . $user_info['id'] . ')' : '') . '
WHERE m.approved=1' . (empty($exclude_boards) ? '' : '
AND b.id_board NOT IN ({array_int:exclude_boards})') . ' AND {query_see_board}
ORDER BY t.id_last_msg DESC
LIMIT ' . $limit,
        array(
            'exclude_boards' => empty($exclude_boards) ? '' : $exclude_boards,
            'current_member' => $user_info['id'],
        )
    );
    $posts = array();
    while ($row_posts = $smcFunc['db_fetch_assoc']($posts_result)) {

        global $memberContext;
        loadMemberData($row_posts['id_member_updated']);
        loadMemberContext($row_posts['id_member_updated']);

        $posts[] = array(
            'id' => $row_posts['id_member_updated'],
            'username' => '<a style="color: ' . $row_posts['online_color'] . ';" href="' . $scripturl . '?action=profile;u=' . $row_posts['id_member_updated'] . '">' . $row_posts['poster_name'] . '</a>',
            'subject' => '<a style="font-weight: bold;" title="' . $txt['board'] . ': ' . $row_posts['name'] . '" href="' . $scripturl . '?topic=' . $row_posts['id_topic'] . '.msg' . $row_posts['id_last_msg'] . ';topicseen#new">' . $row_posts['subject'] . '</a>',
            'body' => $row_posts['body'],
            'avatar' => $row_posts['avatar'] == '' ? $memberContext[$row_posts['id_member_updated']]['avatar']['href'] : (stristr($row_posts['avatar'], 'http://') ? $row_posts['avatar'] : $modSettings['avatar_url'] . '/' . $row_posts['avatar']),
            'board' => $row_posts['name'],
            'time' => timeformat($row_posts['poster_time']),
            'new' => !empty($row_posts['is_read']),
            'subject_new' => $scripturl . '?topic=' . $row_posts['id_topic'] . '.msg' . $row_posts['id_msg'] . ';topicseen#new'
        );
    }
    $smcFunc['db_free_result']($posts_result);
} else {

    if (is_array($exclude_boards) || (int) $exclude_boards === $exclude_boards) {
        $exclude_boards = is_array($exclude_boards) ? $exclude_boards : array($exclude_boards);
    } elseif ($exclude_boards != null) {
        $output_method = $exclude_boards;
        $exclude_boards = array();
    }

    $posts_result = $smcFunc['db_query'](
        '',
        '
SELECT m.poster_time, m.id_msg, m.id_member, m.subject, m.body, m.id_topic, b.name, b.id_board, IFNULL(u.real_name, m.poster_name) AS poster_name, u.avatar, g.online_color,' . ($user_info['is_guest'] ? '1 AS is_read, 0 AS new_from' : '
(IFNULL(lb.id_msg, 0) >= b.id_msg_updated) AS is_read,
IFNULL(lb.id_msg, -1) + 1 AS new_from') . '
FROM {db_prefix}messages AS m
LEFT JOIN {db_prefix}boards AS b ON (m.id_board = b.id_board)
LEFT JOIN {db_prefix}members AS u ON (m.id_member = u.id_member)' . ($user_info['is_guest'] ? '' : '
LEFT JOIN {db_prefix}log_boards AS lb ON (lb.id_board = b.id_board AND lb.id_member = {int:current_member})') . '
LEFT JOIN {db_prefix}membergroups AS g ON (g.id_group = CASE WHEN u.id_group = 0 THEN u.id_post_group ELSE u.id_group END)
' . (!$user_info['is_guest'] ? '
LEFT JOIN {db_prefix}log_topics AS lt ON (lt.id_topic = m.id_topic AND lt.id_member = ' . $user_info['id'] . ')
LEFT JOIN {db_prefix}log_mark_read AS lmr ON (lmr.id_board = b.id_board AND lmr.id_member = ' . $user_info['id'] . ')' : '') . '
WHERE m.approved=1' . (empty($exclude_boards) ? '' : '
AND b.id_board NOT IN ({array_int:exclude_boards})') . ' AND {query_see_board}
ORDER BY m.id_msg DESC
LIMIT ' . $limit,
        array(
            'exclude_boards' => empty($exclude_boards) ? '' : $exclude_boards,
            'current_member' => $user_info['id'],
        )
    );
    $posts = array();
    while ($row_posts = $smcFunc['db_fetch_assoc']($posts_result)) {

        global $memberContext;
        loadMemberData($row_posts['id_member']);
        loadMemberContext($row_posts['id_member']);

        $posts[] = array(
            'id' => $row_posts['id_member'],
            'username' => '<a style="color: ' . $row_posts['online_color'] . ';" href="' . $scripturl . '?action=profile;u=' . $row_posts['id_member'] . '">' . $row_posts['poster_name'] . '</a>',
            'subject' => '<a style="font-weight: bold;" title="' . $txt['board'] . ': ' . $row_posts['name'] . '" href="' . $scripturl . '?topic=' . $row_posts['id_topic'] . '.msg' . $row_posts['id_msg'] . ';topicseen#new">' . $row_posts['subject'] . '</a>',
            'body' => $row_posts['body'],
            'avatar' => $row_posts['avatar'] == '' ? $memberContext[$row_posts['id_member']]['avatar']['href'] : (stristr($row_posts['avatar'], 'http://') ? $row_posts['avatar'] : $modSettings['avatar_url'] . '/' . $row_posts['avatar']),
            'board' => $row_posts['name'],
            'time' => timeformat($row_posts['poster_time']),
            'new' => !empty($row_posts['is_read']),
            'subject_new' => $scripturl . '?topic=' . $row_posts['id_topic'] . '.msg' . $row_posts['id_msg'] . ';topicseen#new'
        );
    }
    $smcFunc['db_free_result']($posts_result);
}

//Finally the Output

//Scrolling xD
if ($scrolling == 1)
    echo '<div style="overflow: hidden;">
    <marquee height=' . $height . ' behavior="scroll" direction="up" scrollamount="' . $speed . '" onmouseover="this.stop()" onmouseout="this.start()">';

if ($scrollbar == 1)
    echo '<div style="height:' . $height . '; overflow-y: scroll; overflow-x: hidden;">';

foreach ($posts as $post) {

    // Lets fix the BBCode bug and Strip the Text
    $content1 = str_replace("[", "<", $post['body']);
    $content2 = str_replace("]", ">", $content1);
    $content3 = strip_tags($content2);
    $preview = substr($content3, 0, $number);
    echo '<table>
                <tr>
                    <td style="width: 40px;">
                        <img src="' . $post['avatar'] . '" alt="" width="40px" height="40px" />
                    </td>
                    <td>
                        ' . $post['subject'];

    if (!$post['new'] && $context['user']['is_logged'])
        echo ' <a href="' . $post['subject_new'] . '" rel="nofollow" class="new_posts" style="margin:0px;">New</a>';
    echo '<br />
                        <small>' . $txt['by'] . ' ' . $post['username'] . ' | ' . $post['time'] . '</small>
                    </td>
                </tr>
                </table>';

    if ($htmlspecialcharacters) {
        echo htmlspecialchars($preview, ENT_NOQUOTES, "UTF-8") . '...';
    } else {
        echo $preview . '...';
    }

    echo '
                <hr />';
}

//Scrolling xD
if ($scrollbar == 1)
    echo '</div>';

if ($scrolling == 1)
    echo '</marquee>
</div>';
#98
Block Codes / Re: Recent Topics/Posts with P...
Last post by @rjen - May 09, 2025, 09:19:21 PM
I have not tried it. Not at a pc this weekend. It might...
#99
Block Codes / Re: Recent Topics/Posts with P...
Last post by tino - May 09, 2025, 09:15:59 PM
Quote from: @rjen on May 09, 2025, 03:04:58 PMI think so, the block code is using Simpleportal settings

If you drop the checks for SimplePortal it should work?
#100
Chit chat / Board_ID?
Last post by Senkusha - May 09, 2025, 06:46:03 PM
Is there a variable that SMF uses that I can access within TP to determine the current board that's being viewed (if any)?

This website is proudly hosted on Crocweb Cloud Website Hosting.