NEW UPDATE : 25 fresh functionalities for your pleasure!

Leeloo at 15h29
29
Oct
2009
New update : 25 functionalities!


Dear Forumotion users,

A new update has now been launched on to your forums, containing 25 brand new functionalities for your forums usage!
Tutorials will follow for functionalities that need one!

Let's start listing them :

1 - Ability to use your own Google Analytics code simply : addition of a Google Analytics field in the admin panel for the integration of Google Analytics code on all versions of forums without using templates.
General > Google Analytics




2 - Advices on how to increase your audience on the homepage of the admin panel : new icons on the home of the admin panel.




3 - Select the number of new members accounts per day, per IP : it limits the number of entries from the same IP number for a duration of 24 hours (24 hours, not the current day).
General > Security
Tutorial : /frequently-asked-questions-f5/select-the-number-of-new-members-accounts-per-day-per-ip-t57363.htm




4 - The selection of images and colors of the gallery moved every 2 respectively in the 'images management" and "colors" of the admin panel : most designers forget about the poor gallery!
Display > Pics management




5 - New ban panel, gives you the ability to ban members based on 3 criteria : username / email / IP address and specifying in advance an unban date. On that date, the member is automatically unbanned. This panel also allows the access to a list with all the banned members with the opportunity to unban individually or mass-unban.
Users & groups > Ban control
Tutorial : /frequently-asked-questions-f5/the-new-ban-panel-t57362.htm



6 - New category in the admin panel "Promotion Forum" lets you invite your friends via email, social networks or through direct invitation from the forum. Also note that all SEO categories have been moved to this new category (like the choice of category in the directory or under the homepage of the new management forum + keywords).
General > Forum promotion



Spoiler:





7 - Ability to "share" a topic : (to twitter, facebook, myspace ...)
Tutorial : /frequently-asked-questions-f5/share-a-topic-t57365.htm




8 - Choose the visitors page arrival : the admin can decide on which page (portal, home page or html page) the member should arrive via the url of the forum.
Display > Generalities




9 - Level permissions for the "IP" button : the admin can give permissions to the IP button posts. These permissions can go to the admins, moderators or members.
Users & groups > Special rights




10 - Automatic membership in a group : the ability to automatically put a member in a group by a message threshold set by the admin. it can apply to all groups except the admin group.
Users & groups > Group administration




11 - Personalization of time in minutes after which the member is considered "offline" : the admin can configure it according to their wishes in minutes (max. 60 minutes). If the user exceeds the time set by the admin without any action on the forum, he will be considered "offline".
Users & groups > Users options




12 - Adding links on IP addresses accessible via the positions of one member : it enables the direct verification of the IP in question.





13 - The admin has the ability to contact a member by email via his profile : the admin now has access to that possibility even if the member disabled it. By default it is a contact form.




14 - Set permissions for Private Messages regarding the number of posts : the admin can set an amount of posts (Max 200 ) before a user PM box is active. Until the amount of post is not reached by the member, they can't send PMs. An effective tool against trolls who register only for spam by PM ...
General > Private messages




15 - Permissions on the display of status "online" members on the forums : the admin can now give permission for the display of this status.
Users & groups > Special rights




16 - Ability to sort the security log in the admin panel : it will be possible to sort the actions performed in your forum by Date, Username, IP Address or action made, to better monitor what is happening on your forums.
General > Security




17 - The possibility to customize the portal name in the navbar : now, the name you will have chosen will replace the default name "portal".
Modules > Portal management




18 - Customize the separator message-signature : the admin now has the ability to customize message-signature separators via the admin panel. This change will be reflected in the separators messages in topics and in the personal profile.
General > Messages & emails > Configuration




19 - Topics description : displays a description for a topic on the sub-forum home that contains it.
General > Messages & emails > Configuration



Spoiler:





20 - Revival of previous messages : displays a number of posts (determined by the admin) from the previous page in the current page.
General > Messages & emails > Configuration




21 - The ability to set permissions on the images and links in the topics : this option adjustable with the permissions of each sub-forum can simply hide the images and / or links in the topics sub-forum in question to groups with permission below that set by the admin without affecting the rest of the subject.
General > Categories and forums >
Tutorial : /frequently-asked-questions-f5/set-permissions-on-the-images-and-links-in-the-posts-t57364.htm




22 - Automatic resizing of images in the topics : the admin now has the opportunity to define through their admin panel; maximum width and height of images that allow the topics. Any member posting an image of a size greater than the one set by the admin, will see their image automatically resized to the size set with the possibility to see real size if needed.
General > Messages & emails > Configuration




23 - Possibility to limit nesting level of quotes in a single message : the admin can now specify how many times a member can include quotes from other members in a single message. This option limits the number of quotes for the same message.
General > Messages & emails > Configuration




24 - The ability to disable a PM box directly by someones profile : the member wishing to stop receiving private messages from members can easily disable the inbox through his personal profile. Admins and forum moderators, however, can contact him by PM if needed.
Your Profile > Preferences




25 - A reminder 60 days before domain name expiration : to avoid an unpleasant surprise admins will be notified via a message on the admin panel indicating the approach of domain name expiration (if the forum has one) 60 days before the expiration date. This allows the founder to prepare the renewal smoothly.


Hope you'll enjoy these new functionalities!

Best,
Forumotion Team
1 Leeloo, on 29/10/2009 at 15h29
Custom templates modifications to do:

  • phpBB2

    See user IP

    modcp_viewip

    Spoiler:

    Search:
    Code:
    <td align="right"><span class="gen">[ <a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a> ] </span></td>

    Replace it by:
    Code:
    <td class="align_right"><span class="gen">[ <a href="{U_LOOKUP_IP}">{L_LOOKUP_IP}</a> ] </span></td>



    Spoiler:

    Search:
    Code:
    <td class="right"><span class="gen"><a title="{userrow.L_SEARCH_POSTS}" href="{userrow.U_SEARCHPOSTS}">{userrow.L_SEARCH}</a></span></td>

    Replace it by:
    Code:

    <td class="align_right"><span class="gen"><a title="{userrow.L_SEARCH_POSTS}" href="{userrow.U_SEARCHPOSTS}">{userrow.L_SEARCH}</a></span></td>



    Spoiler:

    Search:
    Code:
    <td class="right"><span class="gen">[ <a href="{iprow.U_LOOKUP_IP}">{L_LOOKUP_IP}</a> ] </span></td>

    Replace it by:
    Code:
    <td class="align_right"><span class="gen">[ <a href="{iprow.U_LOOKUP_IP}">{L_LOOKUP_IP}</a> ] </span></td>



    Topics description

    --> posting_body.tpl and posting_body_wysiwyg.tpl
    Spoiler:

    ¤ After :
    Code:
    <!-- BEGIN switch_subject -->
    ...
    <!-- END switch_subject -->

    Add :
    Code:
    <!-- BEGIN switch_description -->
    <tr>
    <td class="row1" width="22%"><span class="gen"><b>{L_DESCRIPTION}</b></span></td>
    <td class="row2" width="78%">
        <span class="gen">
            <input class="post" style="width:450px" type="text" name="description" value="{DESCRIPTION}" maxlength="{TOPIC_DESCRIPTION_MAXLENGTH}" onkeypress="if (event.keyCode==13){return false;}" />
        </span>
    </td>
    </tr>
    <!-- END switch_description -->



    [b]--> topics_list_box.tpl

    Spoiler:

    ¤ After :
    Code:
             <div class="topictitle">
                {topics_list_box.row.NEWEST_POST_IMG}{topics_list_box.row.PARTICIPATE_POST_IMG}{topics_list_box.row.TOPIC_TYPE}
                <h2 class="topic-title">
                   <a class="topictitle" href="{topics_list_box.row.U_VIEW_TOPIC}">{topics_list_box.row.TOPIC_TITLE}</a>
                </h2>
             </div>

    Add :
    Code:
             <!-- BEGIN switch_description -->
             <span class="genmed">
                <br />
                {topics_list_box.row.topic.switch_description.TOPIC_DESCRIPTION}
             </span>
             <!-- END switch_description -->



    Images resize

    --> privmsgs_preview.tpl and posting_preview.tpl and privmsgs_read_body.tpl
    Spoiler:

    ¤ Replace :
    Code:
    <span class="postbody">{MESSAGE}</span>

    By :
    Code:

    <div class="postbody">{MESSAGE}</div>



    --> viewtopic_body.tpl and viewcomments_body.tpl
    Spoiler:

    ¤ Replace :
    Code:
                      <span class="postbody">
                         <!-- google_ad_section_start -->
                         {postrow.displayed.MESSAGE}
                         <!-- google_ad_section_end -->
                         {postrow.displayed.SIGNATURE}
                      </span>

    By :
    Code:
                      <div class="postbody">
                         <!-- google_ad_section_start -->
                         {postrow.displayed.MESSAGE}
                         <!-- google_ad_section_end -->
                         <div class="signature_div">
                            {postrow.displayed.SIGNATURE}
                         </div>
                      </div>



    --> privmsgs_topic_review.tpl
    Spoiler:

    ¤ Replace :
    Code:
    <span class="postbody">{postrow.MESSAGE}</span>

    By :
    Code:
    <div class="postbody">{postrow.MESSAGE}</div>



    --> posting_topic_review.tpl
    Spoiler:

    ¤ Replace :
    Code:
    <span class="postbody">{postrow.displayed.MESSAGE}</span>

    By :
    Code:
    <div class="postbody">{postrow.displayed.MESSAGE}</div>



    --> mod_news.tpl
    Spoiler:

    ¤ Replace all by :
    Code:
    <!-- BEGIN post_row --><!-- BEGIN saut -->
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
       <tr>
          <td height="2px"></td>
       </tr>
    </table><!-- END saut -->
    <table class="forumline mod_news" width="100%" border="0" cellspacing="1" cellpadding="0">
       <tr>
          <td class="catLeft" height="25">
             <a name="news_{post_row.ID}"></a><span class="genmed">{post_row.TITLE}</span>
          </td>
       </tr>
       <tr>
          <td class="row2" height="24"><span class="gensmall"><img src="{ICON_TIME}" alt="" />{post_row.TIME} {BY} <b>{post_row.POSTER}</b></span></td>
       </tr>
       <tr>
          <td class="row1">
             <span class="gensmall content" style="line-height:150%">
                {post_row.TEXT}<br /><br />
                {post_row.OPEN}
                <a href="{post_row.U_READ_FULL}">{post_row.L_READ_FULL}</a>
                {post_row.CLOSE}
             </span>
          </td>
       </tr>
       <tr>
          <td class="row3" height="24"><span class="gensmall"><a href="{post_row.U_VIEW_COMMENTS}">{L_COMMENTS}</a>: {post_row.REPLIES}</span></td>
       </tr>
    </table><!-- END post_row -->

    <!-- BEGIN switch_image_resize -->
    <script type="text/javascript">
    //<![CDATA[
    $(function(){
       $('.mod_news .content img').not('.signature_div img').css('display','none');
    });
    $(window).load(function(){
       $('.mod_news .content img')
          .each(function(){
             if ( ( $(this).width() > {switch_image_resize.IMG_RESIZE_WIDTH} && {switch_image_resize.IMG_RESIZE_WIDTH} != 0 ) || ( $(this).height() > {switch_image_resize.IMG_RESIZE_HEIGHT} && {switch_image_resize.IMG_RESIZE_HEIGHT} != 0 ) ) {
                $(this)
                   .before(document.createElement('div'))
                   .prev()
                   .click(function(){
                      return false;
                   })
                   .addClass('resizebox gensmall clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_border clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_content clearfix')
                   .append(document.createElement('a'))
                   .children()
                   .addClass('enlarge')
                   .attr('href', '#')
                   .text('{switch_image_resize.L_IMAGE_ENLARGE}')
                   .focus(function(){
                      $(this).blur();
                   })
                   .click(function(){
                      $(this).parent().parent().parent().next().css('display','none').attr('resizeWidth', $(this).parent().parent().parent().next().width()).width('');
                      $(this).parent().parent().parent().next().width($(this).parent().parent().parent().next().width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).parent().parent().parent().offset().left + $(this).closest('td').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('td').offset().left) ? $('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).parent().parent().parent().offset().left + $(this).closest('td').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('td').offset().left : '').css('display','inline');
                      $(this).css('display','none').next('a.resize').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('a'))
                   .children()
                   .next()
                   .addClass('resize')
                   .attr('href','#')
                   .text('{switch_image_resize.L_CLICK_TO_RESIZE}')
                   .click(function(){
                      $(this).parent().parent().parent().next().width(parseInt($(this).parent().parent().parent().next().attr('resizeWidth'))).removeAttr('resizeWidth');
                      $(this).css('display','none').prev('a.enlarge').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('div'))
                   .children('a.resize')
                   .next()
                   .addClass('resize_filler')
                   .text(' ')
                   .parent()
                   .append(document.createElement('a'))
                   .children('div.resize_filler')
                   .next()
                   .addClass('fullsize')
                   .attr('href','#')
                   .click(function(){
                      window.open('/viewimage.forum?u=' + encodeURIComponent($(this).parent().parent().parent().next().attr('src')));
                      return false;
                   })
                   .attr('target', '_blank')
                   .text('{switch_image_resize.L_CLICK_TO_SEE_FULLSIZE}');
                if ($(this).width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).prev().offset().left + $(this).closest('td').offset().left : $(this).prev().width() + $(this).prev().offset().left - $(this).closest('td').offset().left)){
                   $(this).prev().find('a.fullsize').attr('href','/viewimage.forum?u=' + encodeURIComponent($(this).attr('src'))).css('display', 'inline-block');
                }
                $(this).width($(this).width() * ( ( {switch_image_resize.IMG_RESIZE_WIDTH} != 0 && ( {switch_image_resize.IMG_RESIZE_HEIGHT} == 0 || $(this).width() / $(this).height() > {switch_image_resize.IMG_RESIZE_WIDTH} / {switch_image_resize.IMG_RESIZE_HEIGHT} ) )
                      ? {switch_image_resize.IMG_RESIZE_WIDTH} / $(this).width()
                      : {switch_image_resize.IMG_RESIZE_HEIGHT} / $(this).height() ) )
                   .css('display','inline')
                   .prev().width($(this).width());
             }
          })
          .css('display','inline');
    });
    //]]>
    </script>
    <!-- END switch_image_resize -->



    --> viewtopic_body.tpl and posting_body.tpl and privmsgs_read_body.tpl and viewcomments_body.tpl
    Spoiler:

    ¤ Add to the end of the file :
    Code:
    <!-- BEGIN switch_image_resize -->
    <script type="text/javascript">
    //<![CDATA[
    $(function(){
       $('.postbody img').not('.signature_div img').css('display','none');
    });
    $(window).load(function(){
       $('.postbody img')
          .not('div.signature_div img')
          .each(function(){
             if ( ( $(this).width() > {switch_image_resize.IMG_RESIZE_WIDTH} && {switch_image_resize.IMG_RESIZE_WIDTH} != 0 ) || ( $(this).height() > {switch_image_resize.IMG_RESIZE_HEIGHT} && {switch_image_resize.IMG_RESIZE_HEIGHT} != 0 ) ) {
                $(this)
                   .before(document.createElement('div'))
                   .prev()
                   .click(function(){
                      return false;
                   })
                   .addClass('resizebox gensmall clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_border clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_content clearfix')
                   .append(document.createElement('a'))
                   .children()
                   .addClass('enlarge')
                   .attr('href', '#')
                   .text('{switch_image_resize.L_IMAGE_ENLARGE}')
                   .focus(function(){
                      $(this).blur();
                   })
                   .click(function(){
                      $(this).parent().parent().parent().next().css('display','none').attr('resizeWidth', $(this).parent().parent().parent().next().width()).width('');
                      $(this).parent().parent().parent().next().width($(this).parent().parent().parent().next().width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).parent().parent().parent().offset().left + $(this).closest('td').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('td').offset().left) ? $('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).parent().parent().parent().offset().left + $(this).closest('td').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('td').offset().left : '').css('display','inline');

                      $(this).css('display','none').next('a.resize').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('a'))
                   .children()
                   .next()
                   .addClass('resize')
                   .attr('href','#')
                   .text('{switch_image_resize.L_CLICK_TO_RESIZE}')
                   .click(function(){
                      $(this).parent().parent().parent().next().width(parseInt($(this).parent().parent().parent().next().attr('resizeWidth'))).removeAttr('resizeWidth');
                      $(this).css('display','none').prev('a.enlarge').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('div'))
                   .children('a.resize')
                   .next()
                   .addClass('resize_filler')
                   .text(' ')
                   .parent()
                   .append(document.createElement('a'))
                   .children('div.resize_filler')
                   .next()
                   .addClass('fullsize')
                   .attr('href','#')
                   .click(function(){
                      window.open('/viewimage.forum?u=' + encodeURIComponent($(this).parent().parent().parent().next().attr('src')));
                      return false;
                   })
                   .attr('target', '_blank')
                   .text('{switch_image_resize.L_CLICK_TO_SEE_FULLSIZE}');
                if ($(this).width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).prev().offset().left + $(this).closest('td').offset().left : $(this).prev().width() + $(this).prev().offset().left - $(this).closest('td').offset().left)){
                   $(this).prev().find('a.fullsize').attr('href','/viewimage.forum?u=' + encodeURIComponent($(this).attr('src'))).css('display', 'inline-block');
                }
                $(this).width($(this).width() * ( ( {switch_image_resize.IMG_RESIZE_WIDTH} != 0 && ( {switch_image_resize.IMG_RESIZE_HEIGHT} == 0 || $(this).width() / $(this).height() > {switch_image_resize.IMG_RESIZE_WIDTH} / {switch_image_resize.IMG_RESIZE_HEIGHT} ) )
                      ? {switch_image_resize.IMG_RESIZE_WIDTH} / $(this).width()
                      : {switch_image_resize.IMG_RESIZE_HEIGHT} / $(this).height() ) )
                   .css('display','inline')
                   .prev().width($(this).width());
             }
          })
          .css('display','inline');
    });
    //]]>
    </script>
    <!-- END switch_image_resize -->



    --> topics_blog_box.tpl
    Spoiler:

    ¤ Add to the end of the file
    Code:
    <!-- BEGIN switch_image_resize -->
    <script type="text/javascript">
    //<![CDATA[
    $(function(){
       $('.blog_message img').not('.signature_div img').css('display','none');
    });
    $(window).load(function(){
       $('.blog_message img')
          .each(function(){
             if ( ( $(this).width() > {switch_image_resize.IMG_RESIZE_WIDTH} && {switch_image_resize.IMG_RESIZE_WIDTH} != 0 ) || ( $(this).height() > {switch_image_resize.IMG_RESIZE_HEIGHT} && {switch_image_resize.IMG_RESIZE_HEIGHT} != 0 ) ) {
                $(this)
                   .before(document.createElement('div'))
                   .prev()
                   .click(function(){
                      return false;
                   })
                   .addClass('resizebox gensmall clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_border clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_content clearfix')
                   .append(document.createElement('a'))
                   .children()
                   .addClass('enlarge')
                   .attr('href', '#')
                   .text('{switch_image_resize.L_IMAGE_ENLARGE}')
                   .focus(function(){
                      $(this).blur();
                   })
                   .click(function(){
                      $(this).parent().parent().parent().next().css('display','none').attr('resizeWidth', $(this).parent().parent().parent().next().width()).width('');
                      $(this).parent().parent().parent().next().width($(this).parent().parent().parent().next().width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).parent().parent().parent().offset().left + $(this).closest('td').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('td').offset().left) ? ($('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).parent().parent().parent().offset().left + $(this).closest('td').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('td').offset().left) : '').css('display','inline');
                      
                      $(this).css('display','none').next('a.resize').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('a'))
                   .children()
                   .next()
                   .addClass('resize')
                   .attr('href','#')
                   .text('{switch_image_resize.L_CLICK_TO_RESIZE}')
                   .click(function(){
                      $(this).parent().parent().parent().next().width(parseInt($(this).parent().parent().parent().next().attr('resizeWidth'))).removeAttr('resizeWidth');
                      $(this).css('display','none').prev('a.enlarge').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('div'))
                   .children('a.resize')
                   .next()
                   .addClass('resize_filler')
                   .text(' ')
                   .parent()
                   .append(document.createElement('a'))
                   .children('div.resize_filler')
                   .next()
                   .addClass('fullsize')
                   .attr('href','#')
                   .click(function(){
                      window.open('/viewimage.forum?u=' + encodeURIComponent($(this).parent().parent().parent().next().attr('src')));
                      return false;
                   })
                   .attr('target', '_blank')
                   .text('{switch_image_resize.L_CLICK_TO_SEE_FULLSIZE}');
                if ($(this).width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('td').width() - $(this).prev().offset().left + $(this).closest('td').offset().left : $(this).prev().width() + $(this).prev().offset().left - $(this).closest('td').offset().left)){
                   $(this).prev().find('a.fullsize').attr('href','/viewimage.forum?u=' + encodeURIComponent($(this).attr('src'))).css('display', 'inline-block');
                }
                $(this).width($(this).width() * ( ( {switch_image_resize.IMG_RESIZE_WIDTH} != 0 && ( {switch_image_resize.IMG_RESIZE_HEIGHT} == 0 || $(this).width() / $(this).height() > {switch_image_resize.IMG_RESIZE_WIDTH} / {switch_image_resize.IMG_RESIZE_HEIGHT} ) )
                      ? {switch_image_resize.IMG_RESIZE_WIDTH} / $(this).width()
                      : {switch_image_resize.IMG_RESIZE_HEIGHT} / $(this).height() ) )
                   .css('display','inline')
                   .prev().width($(this).width());
             }
          })
          .css('display','inline');
    });
    //]]>
    </script>
    <!-- END switch_image_resize -->


2 Leeloo, on 29/10/2009 at 15h30
  • punBB

    Topics description

    --> posting_body.tpl and posting_body_wysiwyg.tpl
    Spoiler:

    After :
    Code:
    <!-- BEGIN switch_subject -->
    ...
    <!-- END switch_subject -->

    ¤ Add :
    Code:
    <!-- BEGIN switch_description -->
    <dl>
        <dt><label>{L_DESCRIPTION}</label></dt>
        <dd class="frm-input">
            <input type="text" name="description" value="{DESCRIPTION}" maxlength="{TOPIC_DESCRIPTION_MAXLENGTH}" onkeypress="if (event.keyCode==13){return false;}" />
        </dd>
    </dl>
    <!-- END switch_description -->



    --> topics_list_box.tpl
    Spoiler:

    ¤ After :
    Code:
                <!-- BEGIN single_selection -->
                <input type="radio" name="{topics_list_box.FIELDNAME}" value="{topics_list_box.row.FID}" {topics_list_box.row.L_SELECT} />&nbsp;
                <!-- END single_selection -->
                {topics_list_box.row.ICON}&nbsp;
                {topics_list_box.row.NEWEST_POST_IMG}
                {topics_list_box.row.PARTICIPATE_POST_IMG}&nbsp;
                {topics_list_box.row.TOPIC_TYPE}&nbsp;
                <h2 class="topic-title"><a class="topictitle" href="{topics_list_box.row.U_VIEW_TOPIC}">{topics_list_box.row.TOPIC_TITLE}</a></h2>&nbsp;
                {topics_list_box.row.GOTO_OPEN} {topics_list_box.row.GOTO_PAGE_NEW} {topics_list_box.row.GOTO_CLOSE}&nbsp;
                {topics_list_box.row.L_BY} {topics_list_box.row.TOPIC_AUTHOR}

    Add :
    Code:
                <!-- BEGIN switch_description -->
                <br />
                &nbsp;{topics_list_box.row.topic.switch_description.TOPIC_DESCRIPTION}
                <!-- END switch_description -->



    Images resize

    --> mod_news.tpl
    Spoiler:

    ¤ Replace all by :
    Code:
    <!-- BEGIN post_row -->
    <!-- BEGIN saut -->
    <div style="height:2px"></div>
    <!-- END saut -->
    <div class="module main">
       <a name="news_{post_row.ID}"></a>

       <div class="module mod_news">
          <div class="main-head" style="text-align:{LEFT};">{post_row.TITLE}</div>
          <div class="main-content" style="padding:0;">
             <p class="author">{post_row.TIME} {BY} <strong>{post_row.POSTER}</strong></p>
             <div class="body">
                {post_row.TEXT}<br /><br />{post_row.OPEN}<a href="{post_row.U_READ_FULL}">{post_row.L_READ_FULL}</a>{post_row.CLOSE}
             </div>
             <p class="comments"><a href="{post_row.U_VIEW_COMMENTS}">{L_COMMENTS}</a>: {post_row.REPLIES}</p>
          </div>
       </div>

    </div>
    <!-- END post_row -->
    <!-- BEGIN switch_image_resize -->
    <script type="text/javascript">
    //<![CDATA[
    $(function(){
       $('.mod_news .content img').not('.signature_div img').css('display','none');
    });
    $(window).load(function(){
       $('.mod_news .body img')
          .each(function(){
             if ( ( $(this).width() > {switch_image_resize.IMG_RESIZE_WIDTH} && {switch_image_resize.IMG_RESIZE_WIDTH} != 0 ) || ( $(this).height() > {switch_image_resize.IMG_RESIZE_HEIGHT} && {switch_image_resize.IMG_RESIZE_HEIGHT} != 0 ) ) {
                $(this)
                   .before(document.createElement('div'))
                   .prev()
                   .click(function(){
                      return false;
                   })
                   .addClass('resizebox')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_border clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_content clearfix')
                   .append(document.createElement('a'))
                   .children()
                   .addClass('enlarge')
                   .attr('href', '#')
                   .text('{switch_image_resize.L_IMAGE_ENLARGE}')
                   .focus(function(){
                      $(this).blur();
                   })
                   .click(function(){
                      $(this).parent().parent().parent().next().css('display','none').attr('resizeWidth', $(this).parent().parent().parent().next().width()).width('');
                      $(this).parent().parent().parent().next().width($(this).parent().parent().parent().next().width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('.body').width() - $(this).parent().parent().parent().offset().left + $(this).closest('.body').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('.body').offset().left) ? $('html').attr('dir') != 'rtl' ? $(this).closest('.body').width() - $(this).parent().parent().parent().offset().left + $(this).closest('.body').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('.body').offset().left : '').css('max-width','100%').css('display','inline');
                      $(this).css('display','none').next('a.resize').css('display','inline-block');
                      $(this).parent().parent().parent().width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('a'))
                   .children()
                   .next()
                   .addClass('resize')
                   .attr('href','#')
                   .text('{switch_image_resize.L_CLICK_TO_RESIZE}')
                   .click(function(){
                      $(this).parent().parent().parent().next().width(parseInt($(this).parent().parent().parent().next().attr('resizeWidth'))).removeAttr('resizeWidth');
                      $(this).css('display','none').prev('a.enlarge').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('div'))
                   .children('a.resize')
                   .next()
                   .addClass('resize_filler')
                   .text(' ')
                   .parent()
                   .append(document.createElement('a'))
                   .children('div.resize_filler')
                   .next()
                   .addClass('fullsize')
                   .attr('href','#')
                   .click(function(){
                      window.open('/viewimage.forum?u=' + encodeURIComponent($(this).parent().parent().parent().next().attr('src')));
                      return false;
                   })
                   .attr('target', '_blank')
                   .text('{switch_image_resize.L_CLICK_TO_SEE_FULLSIZE}');
                if ($(this).width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('.body').width() - $(this).prev().offset().left + $(this).closest('.body').offset().left : $(this).prev().width() + $(this).prev().offset().left - $(this).closest('.body').offset().left)){
                   $(this).prev().find('a.fullsize').attr('href','/viewimage.forum?u=' + encodeURIComponent($(this).attr('src'))).css('display', 'inline-block');
                }
                $(this).width($(this).width() * ( ( {switch_image_resize.IMG_RESIZE_WIDTH} != 0 && ( {switch_image_resize.IMG_RESIZE_HEIGHT} == 0 || $(this).width() / $(this).height() > {switch_image_resize.IMG_RESIZE_WIDTH} / {switch_image_resize.IMG_RESIZE_HEIGHT} ) )
                      ? {switch_image_resize.IMG_RESIZE_WIDTH} / $(this).width()
                      : {switch_image_resize.IMG_RESIZE_HEIGHT} / $(this).height() ) )
                   .prev().width($(this).width());
             }
          })
          .css('display', 'inline');
    });
    //]]>
    </script>
    <!-- END switch_image_resize -->



    --> viewtopic_body.tpl and posting_body.tpl and privmsgs_read_body.tpl and viewcomments_body.tpl
    Spoiler:

    Add to the end of the file :
    Code:
    <!-- BEGIN switch_image_resize -->
    <script type="text/javascript">
    //<![CDATA[
    $(function(){
       $('.post-entry .entry-content img').not('.signature_div img').css('display','none');
    });
    $(window).load(function(){
       $('.post-entry .entry-content img')
            .not('.signature_div img')
          .each(function(){
             if ( ( $(this).width() > {switch_image_resize.IMG_RESIZE_WIDTH} && {switch_image_resize.IMG_RESIZE_WIDTH} != 0 ) || ( $(this).height() > {switch_image_resize.IMG_RESIZE_HEIGHT} && {switch_image_resize.IMG_RESIZE_HEIGHT} != 0 ) ) {
                $(this)
                   .before(document.createElement('div'))
                   .prev()
                   .click(function(){
                      return false;
                   })
                   .addClass('resizebox')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_border clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_content clearfix')
                   .append(document.createElement('a'))
                   .children()
                   .addClass('enlarge')
                   .attr('href', '#')
                   .text('{switch_image_resize.L_IMAGE_ENLARGE}')
                   .focus(function(){
                      $(this).blur();
                   })
                   .click(function(){
                      $(this).parent().parent().parent().next().css('display','none').attr('resizeWidth', $(this).parent().parent().parent().next().width()).width('');
                      $(this).parent().parent().parent().next().width($(this).parent().parent().parent().next().width() > $(this).closest('.entry-content').width()?'100%':'').css('max-width','100%').css('display','inline');
                      $(this).css('display','none').next('a.resize').css('display','inline-block');
                      $(this).parent().parent().parent().width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('a'))
                   .children()
                   .next()
                   .addClass('resize')
                   .attr('href','#')
                   .text('{switch_image_resize.L_CLICK_TO_RESIZE}')
                   .click(function(){
                      $(this).parent().parent().parent().next().width(parseInt($(this).parent().parent().parent().next().attr('resizeWidth'))).removeAttr('resizeWidth');
                      $(this).css('display','none').prev('a.enlarge').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('div'))
                   .children('a.resize')
                   .next()
                   .addClass('resize_filler')
                   .text(' ')
                   .parent()
                   .append(document.createElement('a'))
                   .children('div.resize_filler')
                   .next()
                   .addClass('fullsize')
                   .attr('href','#')
                   .click(function(){
                      window.open('/viewimage.forum?u=' + encodeURIComponent($(this).parent().parent().parent().next().attr('src')));
                      return false;
                   })
                   .attr('target', '_blank')
                   .text('{switch_image_resize.L_CLICK_TO_SEE_FULLSIZE}');
                if ($(this).width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('.entry-content').width() - $(this).prev().offset().left + $(this).closest('.entry-content').offset().left : $(this).prev().width() + $(this).prev().offset().left - $(this).closest('.entry-content').offset().left)){
                   $(this).prev().find('a.fullsize').attr('href','/viewimage.forum?u=' + encodeURIComponent($(this).attr('src'))).css('display', 'inline-block');
                }
                $(this).width($(this).width() * ( ( {switch_image_resize.IMG_RESIZE_WIDTH} != 0 && ( {switch_image_resize.IMG_RESIZE_HEIGHT} == 0 || $(this).width() / $(this).height() > {switch_image_resize.IMG_RESIZE_WIDTH} / {switch_image_resize.IMG_RESIZE_HEIGHT} ) )
                      ? {switch_image_resize.IMG_RESIZE_WIDTH} / $(this).width()
                      : {switch_image_resize.IMG_RESIZE_HEIGHT} / $(this).height() ) )
                   .prev().width($(this).width());
             }
          })
          .css('display', 'inline');
    });
    //]]>
    </script>
    <!-- END switch_image_resize -->



    --> topics_blog_box.tpl
    Spoiler:

    ¤ Add to the end of the file :
    Code:
    <!-- BEGIN switch_image_resize -->
    <script type="text/javascript">
    //<![CDATA[
    $(function(){
       $('.blog_message img').not('.signature_div img').css('display','none');
    });
    $(window).load(function(){
       $('.blog_message img')
          .each(function(){
             if ( ( $(this).width() > {switch_image_resize.IMG_RESIZE_WIDTH} && {switch_image_resize.IMG_RESIZE_WIDTH} != 0 ) || ( $(this).height() > {switch_image_resize.IMG_RESIZE_HEIGHT} && {switch_image_resize.IMG_RESIZE_HEIGHT} != 0 ) ) {
                $(this)
                   .before(document.createElement('div'))
                   .prev()
                   .click(function(){
                      return false;
                   })
                   .addClass('resizebox clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_border clearfix')
                   .append(document.createElement('div'))
                   .children()
                   .addClass('resize_content clearfix')
                   .append(document.createElement('a'))
                   .children()
                   .addClass('enlarge')
                   .attr('href', '#')
                   .text('{switch_image_resize.L_IMAGE_ENLARGE}')
                   .focus(function(){
                      $(this).blur();
                   })
                   .click(function(){
                      $(this).parent().parent().parent().next().css('display','none').attr('resizeWidth', $(this).parent().parent().parent().next().width()).width('');
                      $(this).parent().parent().parent().next().width($(this).parent().parent().parent().next().width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('.blog_message').width() - $(this).parent().parent().parent().offset().left + $(this).closest('.blog_message').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('.blog_message').offset().left) ? $('html').attr('dir') != 'rtl' ? $(this).closest('.blog_message').width() - $(this).parent().parent().parent().offset().left + $(this).closest('.blog_message').offset().left : $(this).parent().parent().parent().width() + $(this).parent().parent().parent().offset().left - $(this).closest('.blog_message').offset().left : '').css('display','inline');
                      $(this).css('display','none').next('a.resize').css('display','inline-block');
                      $(this).parent().parent().parent().width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('a'))
                   .children()
                   .next()
                   .addClass('resize')
                   .attr('href','#')
                   .text('{switch_image_resize.L_CLICK_TO_RESIZE}')
                   .click(function(){
                      $(this).parent().parent().parent().next().width(parseInt($(this).parent().parent().parent().next().attr('resizeWidth'))).removeAttr('resizeWidth');
                      $(this).css('display','none').prev('a.enlarge').css('display','inline-block');
                      $(this).parent().parent().parent().width('').width($(this).parent().parent().parent().next().width());
                      return false;
                   })
                   .parent()
                   .append(document.createElement('div'))
                   .children('a.resize')
                   .next()
                   .addClass('resize_filler')
                   .text(' ')
                   .parent()
                   .append(document.createElement('a'))
                   .children('div.resize_filler')
                   .next()
                   .addClass('fullsize')
                   .attr('href','#')
                   .click(function(){
                      window.open('/viewimage.forum?u=' + encodeURIComponent($(this).parent().parent().parent().next().attr('src')));
                      return false;
                   })
                   .attr('target', '_blank')
                   .text('{switch_image_resize.L_CLICK_TO_SEE_FULLSIZE}');
                if ($(this).width() > ($('html').attr('dir') != 'rtl' ? $(this).closest('.blog_message').width() - $(this).prev().offset().left + $(this).closest('.blog_message').offset().left : $(this).prev().width() + $(this).prev().offset().left - $(this).closest('.blog_message').offset().left)){
                   $(this).prev().find('a.fullsize').attr('href','/viewimage.forum?u=' + encodeURIComponent($(this).attr('src'))).css('display', 'inline-block');
                }
                $(this).width($(this).width() * ( ( {switch_image_resize.IMG_RESIZE_WIDTH} != 0 && ( {switch_image_resize.IMG_RESIZE_HEIGHT} == 0 || $(this).width() / $(this).height() > {switch_image_resize.IMG_RESIZE_WIDTH} / {switch_image_resize.IMG_RESIZE_HEIGHT} ) )
                      ? {switch_image_resize.IMG_RESIZE_WIDTH} / $(this).width()
                      : {switch_image_resize.IMG_RESIZE_HEIGHT} / $(this).height() ) )
                   .prev().width($(this).width());
             }
          })
          .css('display', 'inline');
    });
    //]]>
    </script>
    <!-- END switch_image_resize -->



    viewtopic

    --> viewtopic_body.tpl
    Spoiler:

    ¤ Find:
    Code:
    <!-- BEGIN switch_signature -->
    <div class="sig-content">
        <span class="sig-line"></span>
        {postrow.displayed.SIGNATURE_NEW}
    </div>
    <!-- END switch_signature -->

    Replace it by:
    Code:
    <!-- BEGIN switch_signature -->
    <div class="sig-content">
        {postrow.displayed.SIGNATURE_NEW}
    </div>
    <!-- END switch_signature -->




PunBB: A general modification for forums that modified the template viewtopic_body.tpl


Spoiler:


  • Replace :
    Code:
    <div id="p{postrow.displayed.U_POST_ID}" class="posthead"{postrow.displayed.THANK_BGCOLOR}>

  • By :
    Code:
    <div id="p{postrow.displayed.U_POST_ID}" class="posthead clearfix"{postrow.displayed.THANK_BGCOLOR}>

3 Leeloo, on 30/10/2009 at 11h10
Admins that modified the following template need also to make these modifications :

>> Template "viewcomments_body" for PhpBB2-PunBB

Spoiler:
Search :
Code:
<div class="blog_comment-title gensmall">
                           <a href="{comment.displayed.POST_URL}" name="{comment.displayed.U_POST_ID}">{comment.displayed.POST_SUBJECT}</a><br />
                           <img src="{comment.displayed.MINI_POST_IMG}" alt="{comment.displayed.L_MINI_POST_ALT}" title="{comment.displayed.L_MINI_POST_ALT}" border="0" />&nbsp;{comment.displayed.POST_DATE_NEW} {L_TOPIC_BY}&nbsp;{comment.displayed.POSTER_NAME}{comment.displayed.L_ONLINE}
                        </div>
                        
                        <div class="post-options profile-icons">
                           {comment.displayed.THANK_IMG} {comment.displayed.MULTIQUOTE_IMG} {comment.displayed.QUOTE_IMG} {comment.displayed.EDIT_IMG} {comment.displayed.DELETE_IMG} {comment.displayed.IP_IMG} {comment.displayed.REPORT_IMG}
                        </div>


Replace it by :
Code:
<div class="blog_comment-title gensmall">
                           <a href="{comment.displayed.POST_URL}" name="{comment.displayed.U_POST_ID}">{comment.displayed.POST_SUBJECT}</a><br />
                           <img src="{comment.displayed.MINI_POST_IMG}" alt="{comment.displayed.L_MINI_POST_ALT}" title="{comment.displayed.L_MINI_POST_ALT}" border="0" />&nbsp;{comment.displayed.POST_DATE_NEW} {L_TOPIC_BY}&nbsp;{comment.displayed.POSTER_NAME}{comment.displayed.L_ONLINE}
                        </div>
                        
                        <div class="clearfix"></div>
                        
                        <div class="post-options profile-icons">
                           {comment.displayed.THANK_IMG} {comment.displayed.MULTIQUOTE_IMG} {comment.displayed.QUOTE_IMG} {comment.displayed.EDIT_IMG} {comment.displayed.DELETE_IMG} {comment.displayed.IP_IMG} {comment.displayed.REPORT_IMG}
                        </div>
4 Darren1, on 30/10/2009 at 11h24
Huge thanks Typlo & all involved with this update, a really huge thanks.
5 dotDavid, on 30/10/2009 at 11h29
Many thanks Typlo. Great to see the new updates. Also, thanks to the technicians that were involved and the members who suggested these.
6 wogsrus, on 30/10/2009 at 11h31
Great mate, looks very good.
7 stevenF50, on 30/10/2009 at 11h31
Wow cool update
8 Doctor Inferno, on 30/10/2009 at 11h41
Awesome!
9 Russel, on 30/10/2009 at 11h45
Cool, nice, great, awesome! thank you
10 emikati, on 30/10/2009 at 12h01
awesome..thank you .. their must be this option should be for the members aswell in the forum that they can invite their friends on the forum.
11 Kryptonist, on 30/10/2009 at 12h29
Wow! Great! Thanks very much Smile :wouhou:
12 Guest, on 30/10/2009 at 12h41
How do you get the new moderator panel for Moderators? I can only see it in the ACP.
13 skouliki, on 30/10/2009 at 12h43
thanks !!!!!!!!!
14 Jalokim, on 30/10/2009 at 12h47
I can't replace my mod_news.tpl
you have no idea how long it took me to fully modify the portal.

guess I won't have image resize on portal...

or I'll need to sit and do a load more new coding





I don't have a profile advanced tpl




I don't have some of those templates at all... is that going to be a problem?
15 Codyy, on 30/10/2009 at 12h50
I could just kiss you guys....
16 shotta, on 30/10/2009 at 13h31
thx for all the updates but i don't like how the Automatic membership group thing set up with how many post..i thought it will be a way we can set it with out making groups like for :: example when some one join the forum they will have to make so much post to access that area of the forum not making bunch groups..like when they click on a forum that have so much post put in place they will see a msg telling them you need 50 post b4 u can access this area this what i loooking for cos when a new member join they can access the forum i have set post count for this will cause my forum to be spamm cos then ppl will post a lot crap to get that amount of post to enter that forum ..i like all the rest of updates....
17 Aggie, on 30/10/2009 at 13h36
Nice updates, but I've one problem. I can't place automaticly people in a group with 0 posts. I've a group called members and everybody who registred on my forum goes in this group. So also people with 0 posts. Please make it so that also people with 0 post can automaticly placed in a group.

I like all the rest of the updates too.
18 Kyouri, on 30/10/2009 at 13h36
Thanks for the update!
19 MissTake, on 30/10/2009 at 13h41
Thanks!...........loving some of the new functions, especially the image resize, always hated it when members forgot size limits and made the page go wide!

:wouhou:
20 missmoon, on 30/10/2009 at 13h50
thanks for the new updates!
they are awesome!
good job guys!
Similar topics
Well...everyone seems to like Happy Christmas War is over by John Lennon. But for me and my mom it is just annoying, especcially in the chorus, when Yoko sings like an elderly governess conducting a not that talented children's choir. It might have a
Fresh Skins Link:Fresh Skins category:Art & Culture Language:English Administrators : Anime(me) Moderators : None needed right now Forum's main theme : This forum was created to make private skins and custom made to for members. Fresh
Fresh Music Choice of Category: Music Choice of Title: Fresh Music Forum Address: http://freshmusic.forumotion.com Main Language: English Forum Description: Fresh Music is the New and latest forum that includes Everyones taste in Music. From Pop,
1234567
See also
more_less
Informations

122 Replies For the topic :
"NEW UPDATE : 25 fresh functionalities for your pleasure!"

This topic has been viewed 11280 times.

Last message :
29/10/2009 at 15h29 by "Leeloo"