From 5294936bef18bef893897747a65c70663f0b5830 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Fri, 22 Oct 2010 14:52:59 +0000 Subject: [PATCH] Added random member block --- .../portal/portal_random_member_module.php | 42 +++++ root/portal/modules/portal_random_member.php | 143 ++++++++++++++++++ .../portal/modules/random_member_side.html | 22 +++ .../images/portal/portal_random_member.png | Bin 0 -> 1147 bytes 4 files changed, 207 insertions(+) create mode 100644 root/language/en/mods/portal/portal_random_member_module.php create mode 100644 root/portal/modules/portal_random_member.php create mode 100644 root/styles/prosilver/template/portal/modules/random_member_side.html create mode 100644 root/styles/prosilver/theme/images/portal/portal_random_member.png diff --git a/root/language/en/mods/portal/portal_random_member_module.php b/root/language/en/mods/portal/portal_random_member_module.php new file mode 100644 index 00000000..02b38124 --- /dev/null +++ b/root/language/en/mods/portal/portal_random_member_module.php @@ -0,0 +1,42 @@ + 'Random member', + 'RND_JOIN' => 'Join', + 'RND_POSTS' => 'Posts', + 'RND_OCC' => 'Occupation', + 'RND_FROM' => 'Location', + 'RND_WWW' => 'Web page', +)); + +?> \ No newline at end of file diff --git a/root/portal/modules/portal_random_member.php b/root/portal/modules/portal_random_member.php new file mode 100644 index 00000000..5f02c477 --- /dev/null +++ b/root/portal/modules/portal_random_member.php @@ -0,0 +1,143 @@ +lang}/mods/portal/" + */ + var $language = 'portal_random_member_module'; + + /** + * custom acp template + * file must be in "adm/style/portal/" + */ + var $custom_acp_tpl = ''; + + function get_template_side($module_id) + { + global $config, $template, $db, $user; + + switch ($db->sql_layer) + { + case 'postgres': + $sql = 'SELECT * + FROM ' . USERS_TABLE . ' + WHERE user_type <> ' . USER_IGNORE . ' + AND user_type <> ' . USER_INACTIVE . ' + ORDER BY RANDOM()'; + break; + + case 'mssql': + case 'mssql_odbc': + $sql = 'SELECT * + FROM ' . USERS_TABLE . ' + WHERE user_type <> ' . USER_IGNORE . ' + AND user_type <> ' . USER_INACTIVE . ' + ORDER BY NEWID()'; + break; + + default: + $sql = 'SELECT * + FROM ' . USERS_TABLE . ' + WHERE user_type <> ' . USER_IGNORE . ' + AND user_type <> ' . USER_INACTIVE . ' + ORDER BY RAND()'; + break; + } + + $result = $db->sql_query_limit($sql, 1); + $row = $db->sql_fetchrow($result); + + $avatar_img = get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']); + + $rank_title = $rank_img = ''; + get_user_rank($row['user_rank'], $row['user_posts'], $rank_title, $rank_img, $rank_img_src); + + $username = $row['username']; + $user_id = (int) $row['user_id']; + $colour = $row['user_colour']; + + $template->assign_block_vars('random_member', array( + 'USERNAME_FULL' => get_username_string('full', $user_id, $username, $colour), + 'USERNAME' => get_username_string('username', $user_id, $username, $colour), + 'USER_COLOR' => get_username_string('colour', $user_id, $username, $colour), + 'U_VIEW_PROFILE' => get_username_string('profile', $user_id, $username, $colour), + + 'RANK_TITLE' => $rank_title, + 'RANK_IMG' => $rank_img, + 'RANK_IMG_SRC' => $rank_img_src, + + 'USER_POSTS' => (int) $row['user_posts'], + 'AVATAR_IMG' => $avatar_img, + 'JOINED' => $user->format_date($row['user_regdate'], 'd.M.Y'), + 'USER_OCC' => censor_text($row['user_occ']), + 'USER_FROM' => censor_text($row['user_from']), + 'U_WWW' => censor_text($row['user_website']), + )); + $db->sql_freeresult($result); + + return 'random_member_side.html'; + } + + function get_template_acp($module_id) + { + return array( + 'title' => 'PORTAL_RANDOM_MEMBER', + 'vars' => array(), + ); + } + + /** + * API functions + */ + function install($module_id) + { + return true; + } + + function uninstall($module_id) + { + return true; + } +} + +?> \ No newline at end of file diff --git a/root/styles/prosilver/template/portal/modules/random_member_side.html b/root/styles/prosilver/template/portal/modules/random_member_side.html new file mode 100644 index 00000000..ae6d732e --- /dev/null +++ b/root/styles/prosilver/template/portal/modules/random_member_side.html @@ -0,0 +1,22 @@ + +{$LR_BLOCK_H_L} {L_PORTAL_RANDOM_MEMBER}{$LR_BLOCK_H_R} + +
{random_member.USERNAME_FULL}
+ {random_member.AVATAR_IMG}
+ {random_member.RANK_TITLE}
+ {random_member.RANK_IMG}
+
+
+ {L_RND_JOIN}:{random_member.JOINED}
+ {L_RND_POSTS}:{random_member.USER_POSTS}
+ + {L_RND_OCC}:   {random_member.USER_OCC}
+ + + {L_RND_FROM}:   {random_member.USER_FROM}
+ + + {L_RND_WWW}
+ + +{$LR_BLOCK_F_L}{$LR_BLOCK_F_R} \ No newline at end of file diff --git a/root/styles/prosilver/theme/images/portal/portal_random_member.png b/root/styles/prosilver/theme/images/portal/portal_random_member.png new file mode 100644 index 0000000000000000000000000000000000000000..35beef8aaa1b6e77a892742063cd9957782611c4 GIT binary patch literal 1147 zcmV->1cdvEP)HQ1V$OOc!41XCJnZ7YH%d(1#^hEcjS!&qrV)*qpg5m!^xE6o_ zVgZwk3=F@2|Keo)&lDoTFBKxpBPz|#z|I6z_wVmdhJQ-@$_hSKmJH^$3hIj&8ZDo( zWuDPL2IfizW|qGI0mR6V0W{zTgMq53+U#hD2ooiB35LJiUx1GJ4L14T|NlUzurqvQ zeai5T;{k&qiyOnm^&c2o=TGhX_4|7XKmf4-)v4%98EmYIE|$9@aFF5Dzw->@4AKm& z|Ji^B{0ExB$N+R1!^5}t8SekO#ULo7!XPJV$iT+HF7xa67j}RE06_r0{{#^Q5`|$z zUmm6SnE(ak0{}$&RshP*(DL*1>h1#q1_Ju}`~M^kBN{nMP6Z$b-vINp5CDLsezo-X z@o)eK4fp~8K>)u01S}UTOb!(d0RHa^080W_0D+r@*5T^jU;qaJ-~jRe2>|v03?dyT zuPG{jCeFj@^r^v_hX4QjkpTY&_5l3_00IC(0KWeL9dRJ-JR&>@2m%TJ+2h^<#@WGm z00;e&00#>f0Qmsw0P+kK2?h2qBr<(q`14PZONg)GKLd;E_pd*l7(Vm8V)*+{k>T^VM+_WH0S0O&^K7)tn125H z#jxkxxgP)l!~zVY#|&(csATy5FWJ}3zd6b!TC#O+>)k7NFY+?5eEkPZ6K@#4Gsp_F z$>+DE74!Z!zQUl%V8!q-o8v$Gq=L}GBvVgi1{pRH1|Qu3IXNMv z?HsIJOn-m<|I5R{!|UW=C4NzA3&Xol_ZfcNmSZ?|;o>oX0AgeaXJBS!=A7CV-I~s9 z@RniQ%e4%$Ov(&$+$z9i{TG_f7#aRB{bG3f?=Ay3D+hz~&sc^j&D-DZKX=dvAb@}_ zVE*^-FXQLWpFT6NefrDr^5aJaK9(O0-~aq!`1S86*ns~)$jrdPpz+6+;rBg0hL$zU z@1MVZKAnM!{RBV&06_r0{{aA73jhH8`~m{^1BqcfVRRxs7XTd#9RR(h%=*#e+1UsM z3IPHB0|Nd00RZXl^Xus3;kfzx_nZI+2kZa^0{{Yuks*o;oZuLK0wdzXk0=XehsGfL z0F_zm=ia+>`=TuaGw%n6f50gF$NHCnmHR8h_aDHt%?Z)N!o&a&KoA2!nd=Wb1H%_! z`v3A*k(FJnmVuE|`}d!pz6{^KyaE~kRKp6?0Cerw@4!H3gBt)4U;u+DZiDn0zODcO N002ovPDHLkV1lp~7i0hc literal 0 HcmV?d00001