Smilies List

A perfect place for code snippets to small to be a MOD or a library.
Or for examples on how to use our libraries.
Post Reply
User avatar
bonelifer
Administrator
Administrator
Posts: 477
Joined: 24 Jun 2006, 17:48
Real name: William
Location: htpc.MythBuntu

Smilies List

Post by bonelifer »

This post was originally posted by Kenny at 6 String MODs.

Simple little snippet, made from a request by [url=http://www.phpbb.com/community/memberlist.php?mode=viewprofile&u=356834]ameisez[/url] in [url=http://www.phpbb.com/community/viewtopic.php?f=72&t=1208685]this topic[/url].
As the title suggests, this is a list of all the smilies installed on your forum. I've included pagination to save a bit of load. I know some forums have 100's of smilies. :lol: The default is set by whatever your topics per page setting is (this is set somewhere in the ACP ;) )

smilies.php

Code: Select all

<?php
/**
*
*&nbsp;@package&nbsp;Smilies&nbsp;List
*&nbsp;@version&nbsp;$Id:&nbsp;smilies.php,&nbsp;0009&nbsp;02:26&nbsp;07/12/2008&nbsp;cherokee&nbsp;red&nbsp;Exp&nbsp;$
*&nbsp;@copyright&nbsp;(c)&nbsp;2005&nbsp;phpBB&nbsp;Group
*&nbsp;@license&nbsp;http://opensource.org/licenses/gpl-license.php&nbsp;GNU&nbsp;Public&nbsp;License
*
*/

/**
*&nbsp;@ignore
*/
define('IN_PHPBB',&nbsp;true);
$phpbb_root_path&nbsp;=&nbsp;(defined('PHPBB_ROOT_PATH'))&nbsp;?&nbsp;PHPBB_ROOT_PATH&nbsp;:&nbsp;'./';
$phpEx&nbsp;=&nbsp;substr(strrchr(__FILE__,&nbsp;'.'),&nbsp;1);
include(
$phpbb_root_path&nbsp;.&nbsp;'common.'&nbsp;.&nbsp;$phpEx);

//&nbsp;Start&nbsp;session&nbsp;management
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/smilies_list');

$start&nbsp;=&nbsp;request_var('start',&nbsp;0);

//&nbsp;We&nbsp;don't&nbsp;have&nbsp;any&nbsp;params&nbsp;at&nbsp;the&nbsp;moment,&nbsp;but&nbsp;they&nbsp;can&nbsp;easily&nbsp;be&nbsp;added&nbsp;in&nbsp;here
//&nbsp;See&nbsp;this&nbsp;wiki&nbsp;for&nbsp;more&nbsp;details&nbsp;-&nbsp;http://wiki.phpbb.com/Generate_pagination
$check_params&nbsp;=&nbsp;array();
$params&nbsp;=&nbsp;array();

foreach&
nbsp;($check_params&nbsp;as&nbsp;$key&nbsp;=>&nbsp;$default)
{
&
nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isset($_REQUEST[$key]))
&
nbsp;&nbsp;&nbsp;&nbsp;{
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;
&
nbsp;&nbsp;&nbsp;&nbsp;}
&
nbsp;&nbsp;&nbsp;&nbsp;
&
nbsp;&nbsp;&nbsp;&nbsp;$param&nbsp;=&nbsp;call_user_func('request_var',&nbsp;$key,&nbsp;$default);
&
nbsp;&nbsp;&nbsp;&nbsp;$$key&nbsp;=&nbsp;$param;
&
nbsp;&nbsp;&nbsp;&nbsp;
&
nbsp;&nbsp;&nbsp;&nbsp;$params[]&nbsp;=&nbsp;urlencode($key)&nbsp;.&nbsp;'='&nbsp;.&nbsp;((is_string($param))&nbsp;?&nbsp;urlencode($param)&nbsp;:&nbsp;$param);
}

$pagination_url&nbsp;=&nbsp;append_sid($phpbb_root_path&nbsp;.&nbsp;'smilies.'&nbsp;.&nbsp;$phpEx,&nbsp;implode('&amp;',&nbsp;$params));

//&nbsp;How&nbsp;many&nbsp;smilies&nbsp;do&nbsp;we&nbsp;have?
$sql&nbsp;=&nbsp;'SELECT&nbsp;COUNT(smiley_id)&nbsp;AS&nbsp;total_smilies
&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;'
&nbsp;.&nbsp;SMILIES_TABLE&nbsp;.&nbsp;'
&nbsp;&nbsp;&nbsp;&nbsp;ORDER&nbsp;BY&nbsp;smiley_id'
;
$result&nbsp;=&nbsp;$db->sql_query($sql);
$total_smilies&nbsp;=&nbsp;(int)&nbsp;$db->sql_fetchfield('total_smilies');
$db->sql_freeresult($result);

&
nbsp;&nbsp;&nbsp;&nbsp;
//Pull&nbsp;smilies&nbsp;from&nbsp;the&nbsp;database
$sql&nbsp;=&nbsp;'SELECT&nbsp;*
&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;'
&nbsp;.&nbsp;SMILIES_TABLE&nbsp;.&nbsp;'
&nbsp;&nbsp;&nbsp;&nbsp;ORDER&nbsp;BY&nbsp;smiley_id'
;
$result&nbsp;=&nbsp;$db->sql_query_limit($sql,&nbsp;$config['topics_per_page'],&nbsp;$start);

while&
nbsp;($row&nbsp;=&nbsp;$db->sql_fetchrow($result))&nbsp;
{
&
nbsp;&nbsp;&nbsp;&nbsp;$template->assign_block_vars('smilies',&nbsp;array(
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_ID'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;$row['smiley_id'],
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'A_SMILEY_CODE'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;addslashes($row['code']),
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_IMG'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;$phpbb_root_path&nbsp;.&nbsp;$config['smilies_path']&nbsp;.&nbsp;'/'&nbsp;.&nbsp;$row['smiley_url'],
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_CODE'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;$row['code'],
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_DESC'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;$row['emotion'],
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_WIDTH'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;$row['smiley_width'],
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_HEIGHT'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;$row['smiley_height'],
&
nbsp;&nbsp;&nbsp;&nbsp;));
}
$db->sql_freeresult($result);

$l_title&nbsp;=&nbsp;$user->lang['SMILIES_TITLE'];

$template->assign_vars(array(
&
nbsp;&nbsp;&nbsp;&nbsp;'PAGINATION'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;&nbsp;generate_pagination($pagination_url,&nbsp;$total_smilies,&nbsp;$config['topics_per_page'],&nbsp;$start,&nbsp;true),
&
nbsp;&nbsp;&nbsp;&nbsp;'PAGE_NUMBER'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;on_page($total_smilies,&nbsp;$config['topics_per_page'],&nbsp;$start),
&
nbsp;&nbsp;&nbsp;&nbsp;'TOTAL_SMILIES'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;($total_smilies&nbsp;==&nbsp;1)&nbsp;?&nbsp;$user->lang['SMILEY_COUNT']&nbsp;:&nbsp;sprintf($user->lang['SMILIES_COUNT'],&nbsp;$total_smilies),
));

//&nbsp;Output&nbsp;page
page_header($l_title);

//&nbsp;Set&nbsp;up&nbsp;the&nbsp;Navlinks&nbsp;for&nbsp;the&nbsp;forums&nbsp;navbar
$template->assign_block_vars('navlinks',&nbsp;array(
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'FORUM_NAME'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;$user->lang['SMILIES_TITLE'],
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'U_VIEW_FORUM'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;append_sid("{$phpbb_root_path}smilies.$phpEx"))
);

$template->set_filenames(array(
&
nbsp;&nbsp;&nbsp;&nbsp;'body'&nbsp;=>&nbsp;'smilies_body.html')
);

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));

page_footer();

?>


language/en/mods/smilies_list.php

Code: Select all

<?php
/**&nbsp;
*
*
*&nbsp;@package&nbsp;language
*&nbsp;@version&nbsp;$Id:&nbsp;smilies_list.php&nbsp;0004&nbsp;22:49&nbsp;25/09/2008&nbsp;cherokee&nbsp;red&nbsp;$
*&nbsp;@copyright&nbsp;(c)&nbsp;2005&nbsp;phpBB&nbsp;Group&nbsp;
*&nbsp;@license&nbsp;http://opensource.org/licenses/gpl-license.php&nbsp;GNU&nbsp;Public&nbsp;License&nbsp;
*
*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/**
*&nbsp;DO&nbsp;NOT&nbsp;CHANGE
*/
if&nbsp;(empty($lang)&nbsp;||&nbsp;!is_array($lang))
{
&
nbsp;&nbsp;&nbsp;&nbsp;$lang&nbsp;=&nbsp;array();
}
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//&nbsp;DEVELOPERS&nbsp;PLEASE&nbsp;NOTE
//
//&nbsp;All&nbsp;language&nbsp;files&nbsp;should&nbsp;use&nbsp;UTF-8&nbsp;as&nbsp;their&nbsp;encoding&nbsp;and&nbsp;the&nbsp;files&nbsp;must&nbsp;not&nbsp;contain&nbsp;a&nbsp;BOM.
//
//&nbsp;Placeholders&nbsp;can&nbsp;now&nbsp;contain&nbsp;order&nbsp;information,&nbsp;e.g.&nbsp;instead&nbsp;of
//&nbsp;'Page&nbsp;%s&nbsp;of&nbsp;%s'&nbsp;you&nbsp;can&nbsp;(and&nbsp;should)&nbsp;write&nbsp;'Page&nbsp;%1$s&nbsp;of&nbsp;%2$s',&nbsp;this&nbsp;allows
//&nbsp;translators&nbsp;to&nbsp;re-order&nbsp;the&nbsp;output&nbsp;of&nbsp;data&nbsp;while&nbsp;ensuring&nbsp;it&nbsp;remains&nbsp;correct
//
//&nbsp;You&nbsp;do&nbsp;not&nbsp;need&nbsp;this&nbsp;where&nbsp;single&nbsp;placeholders&nbsp;are&nbsp;used,&nbsp;e.g.&nbsp;'Message&nbsp;%d'&nbsp;is&nbsp;fine
//&nbsp;equally&nbsp;where&nbsp;a&nbsp;string&nbsp;contains&nbsp;only&nbsp;two&nbsp;placeholders&nbsp;which&nbsp;are&nbsp;used&nbsp;to&nbsp;wrap&nbsp;text
//&nbsp;in&nbsp;a&nbsp;url&nbsp;you&nbsp;again&nbsp;do&nbsp;not&nbsp;need&nbsp;to&nbsp;specify&nbsp;an&nbsp;order&nbsp;e.g.,&nbsp;'Click&nbsp;%sHERE%s'&nbsp;is&nbsp;fine
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//&nbsp;Smilies&nbsp;List
$lang&nbsp;=&nbsp;array_merge($lang,&nbsp;array(

&
nbsp;&nbsp;&nbsp;&nbsp;'NO_SMILIES'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'There&nbsp;are&nbsp;currently&nbsp;no&nbsp;smilies&nbsp;installed&nbsp;on&nbsp;this&nbsp;forum.',
&
nbsp;&nbsp;&nbsp;&nbsp;
&
nbsp;&nbsp;&nbsp;&nbsp;'SMILIES_TITLE'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'Smilies&nbsp;List',
&
nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_ID'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'#',
&
nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_CODE'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'Smiley&nbsp;Code',
&
nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_IMG'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'Smiley&nbsp;Image',
&
nbsp;&nbsp;&nbsp;&nbsp;'SMILEY_DESC'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'Smiley&nbsp;Emotion',

&
nbsp;&nbsp;&nbsp;&nbsp;'SMILIEY_COUNT'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'1&nbsp;smiley',
&
nbsp;&nbsp;&nbsp;&nbsp;'SMILIES_COUNT'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;'%d&nbsp;smilies',
));

?>


styles/prosilver/template/smilies_body.html

Code: Select all

<!-- INCLUDE overall_header.html -->

<h2>{L_SMILIES_TITLE}</h2>

   <!-- IF PAGINATION or TOTAL_SMILIES -->
      <div class="pagination">
         {TOTAL_SMILIES}<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
      </div>
   <!-- ENDIF -->
<div class="clear"></div>
<br />
<div class="forumbg forumbg-table">
   <div class="inner"><span class="corners-top"><span></span></span>

<!-- Smilies Listr -->
<table class="table1" cellspacing="1">
<thead>
    <tr>
   <th class="table1" style="text-align:center;">{L_SMILEY_ID}</th>
   <th class="table1" style="text-align:center;">{L_SMILEY_CODE}</th>
   <th class="table1" style="text-align:center;">{L_SMILEY_DESC}</th>
   <th class="table1" style="text-align:center;">{L_SMILEY_IMG}</th>

    </tr>
</thead>
<tbody>
<!-- IF .smilies -->

    <!-- BEGIN smilies -->
    <tr class="<!-- IF smilies.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
        <td style="text-align:center;">{smilies.SMILEY_ID}</td>
        <td style="text-align:center;">{smilies.SMILEY_CODE}</td>
        <td style="text-align:center;">{smilies.SMILEY_DESC}</td>
        <td style="text-align:center;"><img src="{smilies.SMILEY_IMG}" width="{smilies.SMILEY_WIDTH}" height="{smilies.SMILEY_HEIGHT}" alt="{smilies.SMILEY_CODE}" title="{smilies.SMILEY_DESC}" /></td>
    </tr>
    <!-- END smilies -->
</tbody>
</table>
   <span class="corners-bottom"><span></span></span></div>
</div>

<!-- ELSE -->
   </tbody>
</table>
   <span class="corners-bottom"><span></span></span></div>
</div>

<div class="errorbox">
   <br />
      <p><strong>{L_NO_SMILIES}</strong></p>
   <br />
</div>
<br />
<!-- ENDIF -->

   <!-- IF PAGINATION or TOTAL_SMILIES -->
      <div class="pagination">
         {TOTAL_SMILIES}<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
      </div>
   <!-- ENDIF -->
   
<!-- Smilies List -->

<br /><br />
<!-- INCLUDE overall_footer.html -->
Post Reply