vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   Advance Sticky Options (https://vborg.vbsupport.ru/showthread.php?t=103642)

SmEdD 12-23-2005 10:00 PM

Advance Sticky Options
 
What this Hack Does
This hack will allow you to set a Display Order for Sticky Posts (ignore any sortorder) and set an Expiry Date to unstick your posts.

Hack Info
Templates to Edit: 1 (manual)
Files to Upload: 1 (auto)
DB Changes: 3 (auto)
Plugins Added: 7 (auto)

Instructions
1) Download the attached file.
2) Upload the file in the "upload" folder.
3) Import the plugin.
4) Find and Replace in template threadadmin_editthread
HTML Code:

                $posticons
With:
HTML Code:

                <fieldset class="fieldset">
                        <legend>$vbphrase[sticky_options]</legend>
                        <div style="padding:$stylevar[formspacer]px">
                                <div>
                                        $vbphrase[sticky_order]<br />
                                        <input type="text" class="bginput" name="sticky_order" value="$threadinfo[sticky_order]" size="5" maxlength="3" />
                                        $vbphrase[sticky_order_desc]
                                </div>
                                <div>
                                        $vbphrase[sticky_expiry]<br />
                                        <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                                          <tr>
                                                <td>
                                                        <span class="smallfont">$vbphrase[month]<br />
                                                        <select name="sticky_expiry[month]" tabindex="1">
                                                                <option value="-1" $monthselected[default]></option>
                                                                <option value="1" $monthselected[1]>$vbphrase[january]</option>
                                                                <option value="2" $monthselected[2]>$vbphrase[february]</option>
                                                                <option value="3" $monthselected[3]>$vbphrase[march]</option>
                                                                <option value="4" $monthselected[4]>$vbphrase[april]</option>
                                                                <option value="5" $monthselected[5]>$vbphrase[may]</option>
                                                                <option value="6" $monthselected[6]>$vbphrase[june]</option>
                                                                <option value="7" $monthselected[7]>$vbphrase[july]</option>
                                                                <option value="8" $monthselected[8]>$vbphrase[august]</option>
                                                                <option value="9" $monthselected[9]>$vbphrase[september]</option>
                                                                <option value="10" $monthselected[10]>$vbphrase[october]</option>
                                                                <option value="11" $monthselected[11]>$vbphrase[november]</option>
                                                                <option value="12" $monthselected[12]>$vbphrase[december]</option>
                                                        </select>
                                                        </span>
                                                </td>
                                                <td>
                                                        <span class="smallfont">$vbphrase[day]<br />
                                                        <input type="text" tabindex="1" class="bginput" name="sticky_expiry[day]" value="$sticky_expiry[day]" size="4" maxlength="2" />
                                                        </span>
                                                        </td>
                                                <td>
                                                        <span class="smallfont">$vbphrase[year]<br />
                                                        <input type="text" tabindex="1" class="bginput" name="sticky_expiry[year]" value="$sticky_expiry[year]" size="4" maxlength="4" />
                                                        </span>
                                                </td>
                                          </tr>
                                        </table>
                                </div>

                        </div>
                </fieldset>
               
                $posticons

Change Log
Version 1.0.3
- Fixed some broken uninstall code.

Version 1.0.2
- Changed the default value of sticky order from 0 to 5. This was done so you may have stickies like ?Sig Testing? that are always below new stickies.

Version 1.0.1
- Fixed Select Field size.
- Removed '' from numeric values to lessen load and speed up the script.
- Removed excess spacing just to clean up the code.
- Changed != to <> in the MySQL Query to prevent problems.

WNxWakko 12-24-2005 02:49 AM

Very interesting. Ill Install it.

divided_by_fear 12-24-2005 03:01 AM

going to try it out thanks

wolfstream 12-24-2005 07:36 AM

Nice job!

FleaBag 12-24-2005 11:50 AM

This should be default in vB! Great work, thanks a lot! :)

nexialys 12-24-2005 11:56 AM

what would be cool on the design sight is to have that new block of functions displayed only when you click to stick the thread.. ;) -- ok, i'm paranoid!

SmEdD 12-24-2005 04:16 PM

Quote:

Originally Posted by nexialys
what would be cool on the design sight is to have that new block of functions displayed only when you click to stick the thread.. ;) -- ok, i'm paranoid!

The problem is there area about 4 different spots to sticky posts. There is only one spot that you could do it reasonably. The rest get a bit more complicated especially the inline mod sticky as you can stick mass amounts of threads.

I will look into it though for a future version.

akanevsky 12-24-2005 04:26 PM

Very nice. Could use a bit of work, but on the bottom line this hack is great :)

uae 12-24-2005 05:40 PM

Awesome Work :)

SmEdD 12-24-2005 06:48 PM

Quote:

Originally Posted by Psionic Vision
Very nice. Could use a bit of work, but on the bottom line this hack is great :)

Letme know what needs changed and I can fix em up :)

Snake 12-25-2005 10:56 AM

Cool hack...

akanevsky 12-25-2005 11:28 AM

Quote:

Letme know what needs changed and I can fix em up
  • Design of the form:
    1. Two buffed up with extra words.
    2. The select field is narrower than the text fields.
    3. The controls should only show up when sticky is selected.
  • Cron:
    1. Integer fields do not require to be wrapped into single quotes. Ex: Use sticky = 0 instead of sticky = '0'
    2. In MYSQL, you use <>, not !=. Therefore, use sticky_expiry <> 0 and not sticky_expiry != '0'
    3. ### is not a MySQL way to write comments. Therefore, there might be a MySQL error when running this query.
  • [sql]DROP sticky_order,
    DROP sticky_expiry[/sql]
    I am not 100% sure, but I think it must be written like this:
    [sql]DROP sticky_order, sticky_expiry[/sql]
    If it works the way you have it, excellent :)
  • Same thing with quotes goes with your XML. You do not need to wrap numeric values into quotes. Although it doesn't matter much, it does affect speed.


SmEdD 12-25-2005 03:22 PM

Quote:

Originally Posted by Psionic Vision
  • Design of the form:
    1. Two buffed up with extra words.
    2. The select field is narrower than the text fields.
    3. The controls should only show up when sticky is selected.
  • Cron:
    1. Integer fields do not require to be wrapped into single quotes. Ex: Use sticky = 0 instead of sticky = '0'
    2. In MYSQL, you use <>, not !=. Therefore, use sticky_expiry <> 0 and not sticky_expiry != '0'
    3. ### is not a MySQL way to write comments. Therefore, there might be a MySQL error when running this query.
  • [sql]DROP sticky_order,
    DROP sticky_expiry[/sql]
    I am not 100% sure, but I think it must be written like this:
    [sql]DROP sticky_order, sticky_expiry[/sql]
    If it works the way you have it, excellent :)
  • Same thing with quotes goes with your XML. You do not need to wrap numeric values into quotes. Although it doesn't matter much, it does affect speed.


- The DROP and Comment are correct as they are.
- Fixed up the PHP and removed the '' around numeric values and removed some excess spacing.
- Fixed the select field.

In the next version I will see about making the options only show up when there is a sticky. The major problem is you can sticky the thread on that page and it uses a check box instead of a radio button so it will take some time to code it.

akanevsky 12-25-2005 03:52 PM

Quote:

The DROP and Comment are correct as they are.
Ok, sorry about it then. I was simply used to the syntax generated by phpMyAdmin.

Quote:

- Fixed up the PHP and removed the '' around numeric values and removed some excess spacing.
- Fixed the select field.
Thank you.

Quote:

The major problem is.... checkbox instead of radio button
I don't see it as a "major problem", because both checkbox and radiobutton use the same hidden "checked" parameter, and you hack should show the controls when that parameter has a state of 1, and not show the controls when the parameter has a state of 0. ;)

Enthonia Tech 12-27-2005 09:24 PM

Installed the mod but it is not workign , checked 10 times but still not workign..can you check template edits please ?

SmEdD 12-29-2005 04:14 AM

What part isn't working? And do you have the pulgin turned on?

Enthonia Tech 12-29-2005 02:55 PM

The advance sticky options isint displaying in thread edit and thread post and yes plugin is turned on! :)

SmEdD 12-29-2005 09:17 PM

Ok, do you just have on style on your forums? If you do you have to do this to all of your templates. If that dosn't help try this.

Replace template threadadmin_editthread with this. (this is the default threadadmin_editthread with the addition)
HTML Code:

<form action="postings.php" method="post" name="vbform">
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="t" value="$threadid" />
<input type="hidden" name="do" value="updatethread" />

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
        <td class="tcat">$vbphrase[edit_thread]</td>
</tr>
<tr>
        <td class="thead">$vbphrase[title]: <span style="font-weight:normal">$threadinfo[title]</span></td>
</tr>

<tr>
        <td class="panelsurround" align="center">
        <div class="panel">
                <div style="width:$stylevar[formwidth]" align="$stylevar[left]">
               
                <!-- subject field -->
                <table cellpadding="0" cellspacing="0" border="0" style="margin-bottom:$stylevar[formspacer]px">
                <tr>
                        <td class="smallfont" colspan="3">$vbphrase[title]:</td>
                </tr>
                <tr>
                        <td><input type="text" class="bginput" name="title" value="$threadinfo[title]" size="50" maxlength="85" tabindex="1" title="$vbphrase[optional]" /></td>
                        <td>&nbsp;&nbsp;</td>
                        <td><img id="display_posticon" src="$selectedicon[src]" alt="$selectedicon[alt]" /></td>
                </tr>
                </table>
                <!-- / subject field -->
               
                <div class="fieldset">
                        $vbphrase[moderator_notes] / $vbphrase[thread_summary]:<br />
                        <input type="text" class="bginput" name="notes" value="$threadinfo[notes]" size="50" maxlength="250" />
                </div>

                <if condition="$show['undeleteoption']">
                <fieldset class="fieldset">
                        <legend>$vbphrase[deletion_status]</legend>
                        <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                        <tr>
                                <td>$vbphrase[item_deleted_would_you_like_to]</td>
                        </tr>
                        <tr>
                                <td>
                                        <div><label for="rb_threadstatus_0"><input type="radio" name="threadstatus" value="0" id="rb_threadstatus_0" checked="checked" />$vbphrase[leave_it_deleted]</label></div>
                                        <div><label for="rb_threadstatus_1"><input type="radio" name="threadstatus" value="1" id="rb_threadstatus_1" />$vbphrase[undelete_it_restore]</label></div>
                                        <if condition="$show['removeoption']">
                                        <div><label for="rb_threadstatus_2"><input type="radio" name="threadstatus" value="2" id="rb_threadstatus_2" />$vbphrase[physically_remove]</label></div>
                                        </if>
                                </td>
                        </tr>
                        <tr>
                                <td>
                                        $vbphrase[reason_for_deletion]:<br />
                                        <input type="text" class="bginput" name="reason" value="$threadinfo[del_reason]" size="50" maxlength="125" />
                                </td>
                        </tr>
                        </table>
                </fieldset>
                </if>
               
                <fieldset class="fieldset">
                        <legend>$vbphrase[options]</legend>
                        <div style="padding:$stylevar[formspacer]px">
                                <div><label for="cb_open"><input type="checkbox" name="open" value="yes" id="cb_open" $openchecked />$vbphrase[thread_is_open]</label></div>
                                <div><label for="cb_sticky"><input type="checkbox" name="sticky" value="yes" id="cb_sticky" $stickychecked />$vbphrase[thread_is_sticky]</label></div>
                                <if condition="$show['moderateoption']">
                                        <div><label for="cb_visible"><input type="checkbox" name="visible" value="yes" id="cb_visible" $visiblechecked />$vbphrase[thread_is_visible]</label></div>
                                </if>
                        </div>
                </fieldset>
               
                <fieldset class="fieldset">
                        <legend>Sticky $vbphrase[options]</legend>
                        <div style="padding:$stylevar[formspacer]px">
                                <div>
                                        Sticky Display Order:<br />
                                        <input type="text" class="bginput" name="sticky_order" value="$threadinfo[sticky_order]" size="5" maxlength="3" />
                                        Descending Order (0 = Lowest)
                                </div>
                                <div>
                                        Sticky Expiry Date:<br />
                                        <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                                          <tr>
                                                <td>
                                                        <span class="smallfont">Month<br />
                                                        <select name="sticky_expiry[month]" tabindex="1">
                                                                <option value="-1" $monthselected[default]></option>
                                                                <option value="1" $monthselected[1]>$vbphrase[january]</option>
                                                                <option value="2" $monthselected[2]>$vbphrase[february]</option>
                                                                <option value="3" $monthselected[3]>$vbphrase[march]</option>
                                                                <option value="4" $monthselected[4]>$vbphrase[april]</option>
                                                                <option value="5" $monthselected[5]>$vbphrase[may]</option>
                                                                <option value="6" $monthselected[6]>$vbphrase[june]</option>
                                                                <option value="7" $monthselected[7]>$vbphrase[july]</option>
                                                                <option value="8" $monthselected[8]>$vbphrase[august]</option>
                                                                <option value="9" $monthselected[9]>$vbphrase[september]</option>
                                                                <option value="10" $monthselected[10]>$vbphrase[october]</option>
                                                                <option value="11" $monthselected[11]>$vbphrase[november]</option>
                                                                <option value="12" $monthselected[12]>$vbphrase[december]</option>
                                                        </select>
                                                        </span>
                                                </td>
                                                <td>
                                                        <span class="smallfont">Day<br />
                                                        <input type="text" tabindex="1" class="bginput" name="sticky_expiry[day]" value="$sticky_expiry[day]" size="4" maxlength="2" />
                                                        </span>
                                                        </td>
                                                <td>
                                                        <span class="smallfont">Year<br />
                                                        <input type="text" tabindex="1" class="bginput" name="sticky_expiry[year]" value="$sticky_expiry[year]" size="4" maxlength="4" />
                                                        </span>
                                                </td>
                                          </tr>
                                        </table>
                                </div>

                        </div>
                </fieldset>
               
                $posticons
               
                </div>
        </div>
       
        <div style="margin-top:$stylevar[cellpadding]px">
                <input type="submit" class="button" value="$vbphrase[save_changes]" accesskey="s" />
                <input type="reset" class="button" value="$vbphrase[reset_fields]" accesskey="r" />
        </div>
        </td>
</tr>
</table>

</form>

<if condition="$show['modlog']">
<br />
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
        <td class="tcat" colspan="5">
                <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('editthread_modlog')"><img id="collapseimg_editthread_modlog" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_editthread_modlog].gif" alt="" border="0" /></a>
                $vbphrase[moderator_log]
        </td>
</tr>
<tbody id="collapseobj_editthread_modlog" style="$vbcollapse[collapseobj_editthread_modlog]">
        <tr>
                <td class="thead" nowrap="nowrap">$vbphrase[date]</td>
                <td class="thead" nowrap="nowrap">$vbphrase[username]</td>
                <td class="thead" align="center">$vbphrase[action]</td>
                <td class="thead" align="center">$vbphrase[post]</td>
                <if condition="$show['ipaddress']">
                <td class="thead" nowrap="nowrap">$vbphrase[ip_address]</td>
                </if>
        </tr>
        $logbits
</tbody>
</table>
</if>


SmEdD 01-02-2006 10:07 AM

Any updates on how it went?

SmEdD 01-23-2006 10:14 PM

Updated to v1.0.3
- Changed the default value of sticky order from 0 to 5. This was done so you may have stickies like “Sig Testing” that are always below new stickies.
- Fixed some broken uninstall code.

IrPr 01-26-2006 12:16 PM

seems i need DROP sticky_order and sticky_expiry columns before re-installing product, rite?

SmEdD 01-27-2006 12:31 AM

Yes there was an error on the 1.0.1 and 1.0.2 uninstall code. Run this query.

Code:

ALTER TABLE thread
DROP sticky_order,
DROP sticky_expiry;
               
DELETE FROM cron WHERE title IN ('Sticky Cleanup');


ssslippy 03-29-2006 12:44 AM

Ok ive tried to install this, doesnt seem to show up in the edit window. Its still showing the default. I even did a copy of paste of your code above. Still fails.

Tinbendr 03-31-2006 12:39 AM

Ref. Installed 1.0.3.
Seems I'm having the same problem. No changes to the edit box.

PolyMarauder 04-12-2006 09:24 AM

Thanks for the mod. Works like a charm, just what I needed.

Cheers!

Lady Divus 05-27-2006 04:40 PM

Ok, i have a couple questions,

1.) Does this work on 3.5.4?
2.) I installed it and it doesnt work, where do i check to make sure it is turned on?
3.) If it is turned on, what could be making it not work?

Any help would be greatly appreciated. Be well -

Lady Divus

whitetigergrowl 05-27-2006 07:18 PM

Did template edit, added plug-in..plug-ins turned on...file uploaded...but still not showing. Using Vb 3.5.4

utw-Mephisto 05-27-2006 08:04 PM

Quote:

Originally Posted by whitetigergrowl
Did template edit, added plug-in..plug-ins turned on...file uploaded...but still not showing. Using Vb 3.5.4

Same here, even on a brand new test forum with no other modifications

Lady Divus 05-27-2006 09:54 PM

Quote:

Originally Posted by whitetigergrowl
Did template edit, added plug-in..plug-ins turned on...file uploaded...but still not showing. Using Vb 3.5.4

It shows in the 'Thread Tools' option in each thread. Choose 'Edit Thread' and you will see the Sticky options, check out the screenie below...However, it doesnt work for me even when i try to use it. Hope this helps -

Lady Divus

utw-Mephisto 05-27-2006 10:37 PM

Lady, thanks, I knew that it only works on edit but I thought it is enough to use the regular edit button, now I can see the sticky options. You say that they don't work for you. Do you mean they don't show up or they don't go unstuck ? Just curious before I try the scheduled thing ..

Lady Divus 05-28-2006 12:48 AM

Quote:

Originally Posted by utw-Mephisto
Lady, thanks, I knew that it only works on edit but I thought it is enough to use the regular edit button, now I can see the sticky options. You say that they don't work for you. Do you mean they don't show up or they don't go unstuck ? Just curious before I try the scheduled thing ..

Your welcome...They show up, they dont stick the way the hack was intended. They stick the same as they would if i didnt have the hack in place. I am hoping for help as to why this is happening...Thank you -

Lady Divus

whitetigergrowl 05-28-2006 12:58 AM

would be nice to have this as a default option at the bottom before posting.

sensimilla 05-29-2006 08:09 AM

I have uninstalled this hack as it didnt worked for me and I get this error on forums..
Quote:

Database error in vBulletin 3.5.4:

Invalid SQL:

SELECT threadid

FROM thread AS thread

WHERE forumid = 16
AND sticky = 0
AND visible IN (0,1,2)
Thanks in advance for help.

utw-Mephisto 05-29-2006 12:13 PM

Installed (still 1.0.2) on 3.5.4 and works like a charm .. I first forgotten that the scheduled task has to run (changed time intervall) but then everything works as expected - thanks !

Lady Divus 05-29-2006 04:16 PM

Quote:

Originally Posted by utw-Mephisto
Installed (still 1.0.2) on 3.5.4 and works like a charm .. I first forgotten that the scheduled task has to run (changed time intervall) but then everything works as expected - thanks !

Hello, could you share with us what you did to change the time interval? I went into my scheduled task manager and i dont see the cron options for this hack...

Do i need to add a cron job? If so, what attributes do i need to enter? I guess this will be my last attempt at trying to get this to work, if i cant get it resolved i will uninstall from both, here and from my site. Thank you for any help in advance -

Lady Divus

utw-Mephisto 05-29-2006 04:53 PM

I installed it according to the instructions. It installs the cronjob automatically and I simply changed the time from once a day to evey 15 minutes ...

Lady Divus 05-29-2006 06:54 PM

Quote:

Originally Posted by utw-Mephisto
I installed it according to the instructions. It installs the cronjob automatically and I simply changed the time from once a day to evey 15 minutes ...

Wow, thank you, works perfectly...I also realized i was ordering the stickies the wrong direction...

Example:
If i want a particular sticky to be at the top, i dont number it number 1, but rather if i have a total of 4 stickies i would want to number it number 4 to make it number 1...In other words, order backwards, not forward...Sheesh im getting dizzy lol

Anyway, it works! Thank you for your help utw-Mephisto, this this was a very important hack to me...Be well -

Lady Divus

whitetigergrowl 06-17-2006 06:23 AM

Can't seem to uninstall from 3.6

Milchi 06-18-2006 10:42 AM

Nice :)

kissythecutie 06-18-2006 08:04 PM

can this be installed on vb3.5.4?


All times are GMT. The time now is 03:56 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01719 seconds
  • Memory Usage 1,933KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (3)bbcode_html_printable
  • (13)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete