collapse

* User Info

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

* Who's Online

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

* Shoutbox

Refresh History
  • Shoutbox is not for support!
  • ♦ Ninja ZX-10RR ♦: The server might be have a high load but it still works here...
    Today at 03:13:51 pm
  • sanb: i cant post a reply(
    Today at 01:36:59 pm
  • SeeingBlue: It's intermittent. I bet if the admin logs into the cpanel they'll find either CPU or Ram hitting it's limit.
    Today at 09:11:07 am
  • ♦ Ninja ZX-10RR ♦: The site works fine here...
    Yesterday at 11:01:27 am
  • SeeingBlue: I was finally able to make 1 post, but I can't edit it or make another. I'm frustrated, I give up.
    Yesterday at 08:49:37 am
  • SeeingBlue: I even tried a different browser. I'm just getting a 500 Internal Server Error.
    Yesterday at 08:30:15 am
  • SeeingBlue: When I "hit" post, sorry.
    Yesterday at 08:26:04 am
  • SeeingBlue: I'm trying to reply to my thread "Loading custom JS files" and when I get post it just loads a blank page.
    Yesterday at 08:25:43 am
  • Eliana Tamerin: Let's kick this over to his support topic, folks.
    December 03, 2014, 10:16:21 pm
  • Underdog: what is the issue with it? the naviagtion links? look here: [link]
    December 03, 2014, 09:54:07 pm
  • [SiNaN]: Oh! I didn't even see that. The author seems to have posted some instructions at the theme support topic at sm.org: [link]
    December 03, 2014, 02:11:58 pm
  • WhiteEagle: No the menu on top... the one that comes down when you mouse over it. ;)
    December 03, 2014, 02:02:35 pm
  • [SiNaN]: I already posted it!
    December 03, 2014, 01:51:11 pm
  • WhiteEagle: Any idea what I can do with the menu on top in that theme [SiNaN]?
    December 03, 2014, 01:28:25 pm
  • [SiNaN]: It's a pity that the theme author did that unusual thing for a rare good looking theme.
    December 03, 2014, 12:37:47 pm
  • WhiteEagle: *growls* It's annoying... I can't get SP working with my current theme at LS (Pulse) :(
    December 02, 2014, 10:48:34 pm
  • ♦ Ninja ZX-10RR ♦: SiNaN ftw :)
    November 29, 2014, 06:40:31 pm
  • k1mo0o: hi
    November 28, 2014, 08:54:15 pm
  • kiki26022003: hi
    November 24, 2014, 02:54:28 pm
  • larry007: test
    November 20, 2014, 03:17:39 pm

* Recent Posts

Re: [Block] Advanced Who's Online by stanyy
[Today at 03:50:13 pm]


Re: php code by Oldcrow
[Today at 03:45:50 pm]


Re: php code by Underdog
[Today at 02:52:42 pm]


Re: FrontPage mode problem by ♦ Ninja ZX-10RR ♦
[Today at 02:28:30 pm]


Re: FrontPage mode problem by fotografo74
[Today at 02:20:55 pm]

Welcome to SimplePortal.net! You can download SimplePortal from the Downloads Area!

Author Topic: Additional details to custom php block (borrowed from Staff block)  (Read 1422 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 :)