collapse

* User Info

 
 
Welcome, Guest. Please login or register.
Did you miss your activation email?

* Who's Online

  • Dot Guests: 50
  • Dot Hidden: 0
  • Dot Users: 2
  • Dot Users Online:

* Shoutbox

Refresh History
  • Shoutbox is not for support!
  • oNLy1: Nakroma, please use the forum for support - ask all the questions (dumb or not) they will get answered
    April 18, 2014, 08:03:49 PM
  • Nakroma: i know this is just another question but im too dumb for it, where can I actualy get into the GENERAL SETTINGS page? im dumb sorry ;-;
    April 18, 2014, 04:27:39 PM
  • Nakroma: ahh okey, i get it. thanks
    April 18, 2014, 04:16:18 PM
  • [SiNaN]: Please don't get me wrong; I didn't mean that. You need to use the navigation menu right above the yellow Documentation bar you describe to navigate through different sections of documentation.
    April 18, 2014, 04:12:37 PM
  • Nakroma: okey I am dumb, could someone point out where at the top of the site it is? with a screenshot or something? if you mean the yellow Documention bar, thats not clickable for  me :|
    April 18, 2014, 03:57:34 PM
  • [SiNaN]: I wouldn't say it's hidden, lol. And it's extensive enough, thanks to Angelina.
    April 18, 2014, 02:28:55 PM
  • oNLy1: Documentation [link] (hidden at top of site)
    April 18, 2014, 12:48:01 PM
  • Nakroma: am I dumb or is there actually no tutorial? [link]
    April 18, 2014, 08:29:41 AM
  • AngelinaBelle: Welcome Gusto Prod.  Please visit [link] for info on creating an SMF forum
    April 17, 2014, 12:04:00 PM
  • GUSTO PROD: hi all give me creat new forum free
    April 16, 2014, 12:21:54 PM
  • AngelinaBelle: Hello w1ck3d! Welcome to Simple Portal. Unfortunately, there are not Russian speakers here very often.  Aplogies
    April 14, 2014, 07:49:26 AM
  • w1ck3d: тест
    April 14, 2014, 02:50:12 AM
  • Underdog: How to use Simple Portal for SMF: [link]
    April 02, 2014, 07:52:45 PM
  • Underdog: Thariq, please post questions in the forum. thank you.
    April 02, 2014, 07:51:40 PM
  • Thariq: how to create portal/site
    April 02, 2014, 06:30:42 AM
  • Ali çelen: forum nasıl oluştırıcam
    March 30, 2014, 10:59:08 PM
  • Ali çelen: sa
    March 30, 2014, 10:58:54 PM
  • AngelinaBelle: processor -- I think your customization will probably be just fine.
    February 14, 2014, 07:18:41 PM
  • AngelinaBelle: noumankhan: Welcome to SimplePortal.  Please read the documentation above. If you have questions about how to make a forum, please seek help at [link]
    February 14, 2014, 07:16:45 PM
  • noumankhan: how can i make forum plz tell me
    February 13, 2014, 09:41:03 AM

* Team Blog

* Recent Posts

Re: Where is the GENERAL SETTINGS tab? by Nakroma
[Today at 08:33:46 AM]


Meta description by Snoopix
[Yesterday at 11:17:13 PM]


Re: Help with site by oNLy1
[Yesterday at 08:44:52 PM]


Re: Where is the GENERAL SETTINGS tab? by oNLy1
[Yesterday at 08:40:04 PM]


Re: Why I think the Documentation is hidden by oNLy1
[Yesterday at 08:35:39 PM]

Welcome to SimplePortal.net! You can download SimplePortal from the Download Page!

Author Topic: Additional details to custom php block (borrowed from Staff block)  (Read 1253 times)

0 Members and 1 Guest are viewing this topic.

Offline Albertm

  • Newbie
  • Posts: 4
  • SMF Version: 2.0.2
  • SP Version: 2.3.5
Hi guys,

I copied the code in the sp_staff function in the file listed under Sources/PortalBlocks.php, and used it for a custom php block.  So far, it works the same as just using the Staff block normally, but I want to list an extra detail for each member listed.

I created a custom profile field in SMF, called "aboutUser" detailing a little about the staff members.  Something of interest for others to read if they wish to find out more.  However, I'm not sure how to pull that information or where to put it for it to show up in the custom php block I created.

So far the code I have is just what I pulled from the function sp_staff, without the input parameters:
Code: [Select]
        global $smcFunc, $sourcedir, $scripturl, $modSettings, $color_profile;

        $block_parameters = array(
                'lmod' => 'check',
        );

        if ($return_parameters)
                return $block_parameters;

        require_once($sourcedir . '/Subs-Members.php');

        if (empty($parameters['lmod']))
        {
                $request = $smcFunc['db_query']('', '
                        SELECT id_member
                        FROM {db_prefix}moderators AS mods',
                        array(
                        )
                );
                $local_mods = array();
                while ($row = $smcFunc['db_fetch_assoc']($request))
                        $local_mods[$row['id_member']] = $row['id_member'];
                $smcFunc['db_free_result']($request);

                if (count($local_mods) > 10)
                        $local_mods = array();
        }
        else
                $local_mods = array();

        $global_mods = membersAllowedTo('moderate_board', 0);
        $admins = membersAllowedTo('admin_forum');

        $all_staff = array_merge($local_mods, $global_mods, $admins);
        $all_staff = array_unique($all_staff);

        $request = $smcFunc['db_query']('', '
                SELECT
                                m.id_member, m.real_name, m.avatar, mg.group_name,
                                a.id_attach, a.attachment_type, a.filename
                FROM {db_prefix}members AS m
                                LEFT JOIN {db_prefix}attachments AS a ON (a.id_member = m.id_member)
                                LEFT JOIN {db_prefix}membergroups AS mg ON (mg.id_group = CASE WHEN m.id_group = {int:reg_group_id} THEN m.id_post_group ELSE m.id_group END)
                WHERE m.id_member IN ({array_int:staff_list})',
                array(
                        'staff_list' => $all_staff,
                        'reg_group_id' => 0,
                )
        );
        $staff_list = array();
        $colorids = array();
        while ($row = $smcFunc['db_fetch_assoc']($request))
        {
                $colorids[$row['id_member']] = $row['id_member'];

                if ($modSettings['avatar_action_too_large'] == 'option_html_resize' || $modSettings['avatar_action_too_large'] == 'option_js_resize')
                {
                        $avatar_width = !empty($modSettings['avatar_max_width_external']) ? ' width="' . $modSettings['avatar_max_width_external'] . '"' : '';
                        $avatar_height = !empty($modSettings['avatar_max_height_external']) ? ' height="' . $modSettings['avatar_max_height_external'] . '"' : '';
                }
                else
                {
                        $avatar_width = '';
                        $avatar_height = '';
                }

                if (in_array($row['id_member'], $admins))
                        $row['type'] = 1;
                elseif (in_array($row['id_member'], $global_mods))
                        $row['type'] = 2;
                else
                        $row['type'] = 3;


                $staff_list[$row['type'] . '-' . $row['id_member']] = array(
                        'id' => $row['id_member'],
                        'name' => $row['real_name'],
                        'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>',
                        'group' => $row['group_name'],
                        'type' => $row['type'],
                        'avatar' => array(
                                'name' => $row['avatar'],
                                'image' => $row['avatar'] == '' ? ($row['id_attach'] > 0 ? '<img src="' . (empty($row['attachment_type']) ? $scripturl . '?action=dlattach;attach=' . $row['id_attach'] . ';type=avatar' : $modSettings['custom_avatar_url'] . '/' . $row['filename']) . '" alt="" class="avatar" border="0" />' : '') : (stristr($row['avatar'], 'http://') ? '<img src="' . $row['avatar'] . '"' . $avatar_width . $avatar_height . ' alt="" class="avatar" border="0" />' : '<img src="' . $modSettings['avatar_url'] . '/' . htmlspecialchars($row['avatar']) . '" alt="" class="avatar" border="0" />'),
                                'href' => $row['avatar'] == '' ? ($row['id_attach'] > 0 ? (empty($row['attachment_type']) ? $scripturl . '?action=dlattach;attach=' . $row['id_attach'] . ';type=avatar' : $modSettings['custom_avatar_url'] . '/' . $row['filename']) : '') : (stristr($row['avatar'], 'http://') ? $row['avatar'] : $modSettings['avatar_url'] . '/' . $row['avatar']),
                                'url' => $row['avatar'] == '' ? '' : (stristr($row['avatar'], 'http://') ? $row['avatar'] : $modSettings['avatar_url'] . '/' . $row['avatar'])
                        ),
                );
        }
        $smcFunc['db_free_result']($request);

        ksort($staff_list);
        $staff_count = count($staff_list);
        $count = 0;
        $icons = array(1 => 'admin', 'gmod', 'lmod');

        if (!empty($colorids) && sp_loadColors($colorids) !== false)
        {
                foreach ($staff_list as $k => $p)
                {
                        if (!empty($color_profile[$p['id']]['link']))
                                $staff_list[$k]['link'] = $color_profile[$p['id']]['link'];
                }
        }

        echo '
                                                                <table class="sp_fullwidth">';

        foreach ($staff_list as $staff)
                echo '
                                                                        <tr>
                                                                                <td class="sp_staff sp_center">', !empty($staff['avatar']['href']) ? '
                                                                                        <a href="' . $scripturl . '?action=profile;u=' . $staff['id'] . '"><img src="' . $staff['avatar']['href'] . '" alt="' . $staff['name'] . '" width="40" /></a>' : '', '
                                                                                </td>
                                                                                <td class="sp_staff_info', $staff_count != ++$count ? ' sp_staff_divider' : '', '">
                                                                                        ', sp_embed_image($icons[$staff['type']]), ' ', $staff['link'], '<br />
                                                                                        ', $staff['group'], '
                                                                                </td>
                                                                        </tr>';

        echo '
                                                                </table>';
« Last Edit: October 28, 2012, 12:58:33 PM by Albertm »

Offline Albertm

  • Newbie
  • Posts: 4
  • SMF Version: 2.0.2
  • SP Version: 2.3.5
Re: Additional details to custom php block (borrowed from Staff block)
« Reply #1 on: November 14, 2012, 12:48:20 PM »
Any help would be greatly appreciated.  Please :)