News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Our Important Topics

Started by dougiefresh, January 25, 2017, 10:34:01 PM

Previous topic - Next topic

dougiefresh

Link to Mod



OUR IMPORTANT TOPICS v1.8
By Dougiefresh -> Link to Mod



Introduction
This mod allows designated membergroups the ability to mark topics as important (or not), and to be able to view the GLOBAL list of topics marked as important.

Membergroups having the Can Mark Topics As Important permission will be able to see a new menu under Moderate called Important Topics, which will have a listing of the topics that were marked as important.  They will also see a new button called Mark as Important for "unimportant" topics, or Unmark as Important for "important" topics, in the moderator buttons area

In order to ensure compatibility with previous versions, permission to view topics marked as important is automatically implied if permission to mark topics as important is granted.  To do otherwise doesn't make sense to me....

Admin Settings
Two new permissions are available in Admin => Members => Permissions for each membergroup:
o Can Mark Topics As Important
o Can View Topics Marked As Important

In Admin => Configuration => Modification Settings, there is a new setting:
o Where to place "Our Important Topics"

Compatibility Notes
This mod was tested on SMF 2.0.13, but should work on SMF 2.0 and up, as well as SMF 2.1 Beta 2.  SMF 1.x is not and will not be supported. 

Changelog
The changelog has been removed and can be seen at XPtsp.com.

License
QuoteCopyright (c) 2016 - 2018, Douglas Orend
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Shambles

It's like a bookmark feature :)

Does this mean that permitted membergroups get a new, previously unseen, "Moderate" button on their menu bar? Not so keen on that..

akbora

Very good mod.

But I give errors like that. I coudn't understand


Notice: Undefined index: permissionname_mark_important in /home/xxx/public_html/Sources/ManagePermissions.php on line 1729
Notice: Undefined index: file in /home/xxxi/public_html/Sources/Errors.php on line 148 Notice: Undefined index: file in /home/xxx/public_html/Sources/Errors.php on line 150 Notice: Undefined index: file in /home/xxx/public_html/Sources/Errors.php on line 155 Notice: Undefined index: line in /home/xxx/public_html/Sources/Errors.php on line 155
SMF 2.0.13
Default Theme
Utf8 Turkish
---------------

dougiefresh

Quote from: Shambles on January 26, 2017, 01:50:08 AM
Does this mean that permitted membergroups get a new, previously unseen, "Moderate" button on their menu bar? Not so keen on that..
So where would you suggest the action link be placed?

Quote from: akbora on January 26, 2017, 09:52:46 AM
Notice: Undefined index: permissionname_mark_important in /home/xxx/public_html/Sources/ManagePermissions.php on line 1729
This has been fixed for the next version.

Quote from: akbora on January 26, 2017, 09:52:46 AM
Notice: Undefined index: file in /home/xxxi/public_html/Sources/Errors.php on line 148 Notice: Undefined index: file in /home/xxx/public_html/Sources/Errors.php on line 150
Notice: Undefined index: file in /home/xxx/public_html/Sources/Errors.php on line 155 Notice: Undefined index: line in /home/xxx/public_html/Sources/Errors.php on line 155
Okay, I can't fix this without your Sources/Error.php file, as it may or may not be "stock", and I'm not going to guess what is wrong with your install without knowing what your source file is.....

Shambles

Quote from: dougiefresh on January 26, 2017, 10:32:35 AM
Quote from: Shambles on January 26, 2017, 01:50:08 AM
Does this mean that permitted membergroups get a new, previously unseen, "Moderate" button on their menu bar? Not so keen on that..
So where would you suggest the action link be placed?

I wasn't commenting on the placement. I meant, that using the button label "Moderate" could be confusing if the member has no actual moderation privileges.

As it gains access to the Important Topics manager, maybe it could be labeled "Important Topics"?

br360

In a member's profile drop down list would be a good place as well, as it would be their important topics to them.

chrishicks

Quote from: br360 on January 26, 2017, 02:21:57 PM
In a member's profile drop down list would be a good place as well, as it would be their important topics to them.

I second this.

dougiefresh

Quote from: Shambles on January 26, 2017, 01:50:08 AM
It's like a bookmark feature :)
Almost like a bookmark feature, except it's global for all users with the permission to see/manipulate the list of important topics.....

Linkjay

Damn I gotta try this.

How is this different than stickying though?
I play games in my free time and volunteer my knowledge and support to the gaming communities of the internet.

You can contact me by these methods:
Use my Contact Script • PM me here • Add me on Steam

br360

It is similar to a bookmark mod. You see topics that you like or want to keep track of, and you mark them as important. All the topics you mark as important are then listed in a link where you can keep track of them all in one place.

Linkjay

Quote from: br360 on January 26, 2017, 11:08:08 PM
It is similar to a bookmark mod. You see topics that you like or want to keep track of, and you mark them as important. All the topics you mark as important are then listed in a link where you can keep track of them all in one place.

That sounds pretty good. Ima try this when I get the chance.
I play games in my free time and volunteer my knowledge and support to the gaming communities of the internet.

You can contact me by these methods:
Use my Contact Script • PM me here • Add me on Steam

IncredibleInstinct

Looks like BookMark Mod , There is some other ways to track your Topics/Sites/Websites , etc . I Use Google Chrome so My all Important Sites are in My TAB , HomePage , BookMark :P , Alright Thanks Dougiefresh :D

dougiefresh

Quote from: Linkjay on January 26, 2017, 10:47:26 PM
How is this different than stickying though?
Members of certain membergroups (I would suggest moderators) could tag topics as important, and ANY TOPICS TAGGED were viewable in a list available only to those membergroups.  The list is GLOBAL, which means any member could add or remove topics from that list.  Keep in mind there is only ONE LIST and any changes to that list are made for EVERYBODY that can see the list.

Quote from: br360 on January 26, 2017, 11:08:08 PM
It is similar to a bookmark mod. You see topics that you like or want to keep track of, and you mark them as important. All the topics you mark as important are then listed in a link where you can keep track of them all in one place.
Not quite.  A corrected version should read:
QuoteAll the topics EVERYBODY marked as important are then listed in a link where you can keep track of them all in one place.

Quote from: iCarlos on January 26, 2017, 11:47:25 PM
Looks like BookMark Mod , There is some other ways to track your Topics/Sites/Websites , etc . I Use Google Chrome so My all Important Sites are in My TAB , HomePage , BookMark :P , Alright Thanks Dougiefresh :D
True, it is similar to a bookmark mod, but it is forum-wide and only viewable to those that have permission to use it.  If you don't have permission, there is no indication that the mod is even available for you to view/use.

dougiefresh

Uploaded v1.1 - January 30th, 2017
o Added support for SMF 2.1 Beta 2.
o Fixed missing permission name error.
o Moved "Important Topics" item from "Moderate" to the "Home" menu.
o Removed "Important Topics" from moderation menu.
o Renamed "Important Topics" to "Our Important Topics".




@Everybody:  Hopefully, this update clarifies the misunderstandings that have been brought up.....

Shambles


Portugal

Its all i need, in fact i ask a few days ago for something like this, very thanks.
One question, its possibile to move the "Important topics" from "Home" menu to "Personal mesages" or to creat a new item on this menu caled "Important topics"?



Thanks in advance

Portugal

Hi,

Sorry to insist, but if possibile i want to change that mod like i said before, it is possibile dougiefresh? I need to instal something like tah, but need that change made before. Another question, to translate this to other languages? What files i need to work?

Thanks in advance
Portugal

dougiefresh

Quote from: Portugal on March 24, 2017, 10:57:28 AM
Sorry to insist, but if possibile i want to change that mod like i said before, it is possibile dougiefresh? I need to instal something like tah, but need that change made before. Another question, to translate this to other languages? What files i need to work?
I'm not going to make several different versions of the same mod, each putting it in different places.  Everyone can't seem to agree where this mod should place it, so I'm trying to figure out how to make it a user-configurable setting.  That way, everyone can decide for themselves where they want it.....

The problem I'm running into at the moment is the place where I stick the information disappears after the top menu is built....  Yes, I've tried using the $context variable, the $settings variable, the $modSettings variable, and yes, I have even tried using a totally new global variable to store this crap in.  I simply can't retrieve the new array I've built....  and it's driving me a little crazy....  >:(

Linkjay

Quote from: dougiefresh on March 27, 2017, 05:46:40 PM
Quote from: Portugal on March 24, 2017, 10:57:28 AM
Sorry to insist, but if possibile i want to change that mod like i said before, it is possibile dougiefresh? I need to instal something like tah, but need that change made before. Another question, to translate this to other languages? What files i need to work?
I'm not going to make several different versions of the same mod, each putting it in different places.  Everyone can't seem to agree where this mod should place it, so I'm trying to figure out how to make it a user-configurable setting.  That way, everyone can decide for themselves where they want it.....

The problem I'm running into at the moment is the place where I stick the information disappears after the top menu is built....  Yes, I've tried using the $context variable, the $settings variable, the $modSettings variable, and yes, I have even tried using a totally new global variable to store this crap in.  I simply can't retrieve the new array I've built....  and it's driving me a little crazy....  >:(

I don't think there has been a more appropriate time for your profile picture to apply here...
I play games in my free time and volunteer my knowledge and support to the gaming communities of the internet.

You can contact me by these methods:
Use my Contact Script • PM me here • Add me on Steam

Portugal

Quote from: dougiefresh on March 27, 2017, 05:46:40 PM
I'm not going to make several different versions of the same mod, each putting it in different places.  Everyone can't seem to agree where this mod should place it, so I'm trying to figure out how to make it a user-configurable setting.  That way, everyone can decide for themselves where they want it.....

The problem I'm running into at the moment is the place where I stick the information disappears after the top menu is built....  Yes, I've tried using the $context variable, the $settings variable, the $modSettings variable, and yes, I have even tried using a totally new global variable to store this crap in.  I simply can't retrieve the new array I've built....  and it's driving me a little crazy....  >:(

Dont be crazy for that, keep calm :) i just sugest some modifications, in fact that mod its really useful (at least for my forum), i will go to wait for future developments, i just want to say a big thanks to share your work....for free, i think all of us (SMF users) apreciate alot your work and course of all who keep this idea, that wonderful tool (SMF) alive and on top :) Since 2006 im part of that "familly".

Thanks

dougiefresh

Uploaded v1.2 - March 28th, 2017
o Added admin option to control where the "Our Important Topics" menu entry is located.
o Added permission to view the important topic list.
o Added code to view important topic list if permission to mark topics is present.




@Portugal:  Hopefully, this update addresses your request adequately....

Last night before I went to bed, I figured out why I couldn't read the top menu labels.....  They hadn't been inserted into the array yet!!!!  AARGH!!!  Turns out the function to add stuff to the top menu gets executed WAAAAY after the modification settings stuff does....  Anyways, it's been worked around, so this feature now works....  Gives me a few ideas on how to rearrange the top menu in a mod....  O:)

dougiefresh

Quote from: Portugal on March 24, 2017, 10:57:28 AM
Another question, to translate this to other languages? What files i need to work?
All language strings are held within the language_english.xml file inside the mod.  Copy the file and change the filename you are adding the strings to.  For example, change this:
Code (Find) Select
<file name="$languagedir/index.english.php">
to this:
Code (Replace) Select
<file name="$languagedir/index.french-utf8.php" error="skip">
Yes, the error="skip" is important, as  with that tidbit present, the mod won't attempt to install those changes in non-existant files!  Translate anything to the right of the equal sign on lines that begin with $txt.  Once complete, attach the translation to this thread for inclusion into the next version.  Thanks!

Portugal

@dougiefresh you are "the master", very thanks, i will go to test it today, soon i will give you some feedbak... very thanks for your dedication.


Thanks

dougiefresh

Uploaded v1.3 - April 6th, 2017
o Added temporary theme load hook to capture all top menu items.
o Moved buffer hook to Modification Settings code as temporary hook.




@Everybody:  By moving the buffer hook into the modification settings code, the forum should help the performance of the forum.  It's one of those after-thought things that I thought I'd address, since I haven't had much time to much of anything else....

Portugal

@dougiefresh ive attached the translation for Portuguese language. If have some bug please let me know to remake :)

Now im waiting for news :)


Thanks again!


dougiefresh

Uploaded v1.4 - April 7th, 2017
o Included Portuguese translation provided by Portugal.  Thanks, Portugal!




@Portugal:  Thank you for the translation!  It's been included in this version!

Portugal

Thanks @dougiefresh i just say "Great" work made fr you.

Now just need a litle improvment the translation as i did dont works.... (i know its a a bad notice), but i already works a bit on it and i discovered whats the problem... and the problem is the word "tópico" (the "ó") i quit the ó and just use the o (without ´and it works), so just replace the "tópico" by "topico" and it works... and just other modification is the "portuguese_pt" instead of "portuguese". Sorry for the inconvenience... work team has this kind of situations :).

Thanks for your great work... really a valuable effort made for you!

Regards
Portugal


Quote from: dougiefresh on April 07, 2017, 05:22:43 PM
Uploaded v1.4 - April 7th, 2017
o Included Portuguese translation provided by Portugal.  Thanks, Portugal!




@Portugal:  Thank you for the translation!  It's been included in this version!

dougiefresh

Uploaded v1.5 - July 11th, 2017
o Replaced IFNULL with COALESCE in database queries for better Postgres support.

ormuz

Question...

How can I display this in a specific place on my theme, or in a simpleportal block?

I want to use this to display one random (important) topic in a "ssi boardnews" style. Any suggestion on where to start?

dougiefresh

#29
Quote from: ormuz on December 02, 2017, 10:29:14 AM
How can I display this in a specific place on my theme, or in a simpleportal block?
You need to create a forum link with ?action=important in it wherever you plan on placing the link.  So, if your forum is at hxxp://www.duh.com/forum, then the link would read hxxp://www.duh.com/forum/index.php?action=important

Quote from: ormuz on December 02, 2017, 10:29:14 AM
I want to use this to display one random (important) topic in a "ssi boardnews" style. Any suggestion on where to start?
This mod isn't designed to function like that.  But if you're insistant on using/abusing the mod to do so, then you need to call ITM_Topics_Count to get the number of topics; then ITM_Get_Topics to get the topic information, which returns an array of important topics.  From there, you can generate a random number between 0 and the number ITM_Topics_Count returned, and process that element of the array.

EDIT:  I guess I can write an SSI function to get able to get a random "important" topic....

-Rock Lee-

It seems very good that the modification and the fact that I was looking for something similar for my forum that I plan to reopen this week if possible 8) also you like the Spanish version, just tell me if something is missing ...


Regards!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

ormuz

Quote from: dougiefresh on December 02, 2017, 10:58:34 AM
EDIT:  I guess I can write an SSI function to get able to get a random "important" topic....

that would be great. Specially with a boardnews layout style ;)

dougiefresh

Uploaded v1.6 - January 9th, 2018
o Added Spanish Latin translation, courtsey of Rock Lee!
o Added ssi_getRandomImportantTopic function to Subs-ImportantTopics.php.




@Rock Lee:  Thank you for the translation!  It's been included in this version!

@ormuz:  Sorry about taking so long with your feature request.  Hopefully, the newly added function will fulfill the feature request you asked about.

Since the Subs-ImportantTopics.php file is included when you call SSI.php or index.php, all you should have to do is call the function in order to get a random topic....

ormuz

thank you so much, you rock!

Snrj

Turkish Lang
index.turkish-utf8.php and index.turkish.php
find
?>
before add
$txt['itm_important_topics'] = 'Önemli Konular';
$txt['itm_no_important_topics'] = 'Henüz önemli bir konu yok.';
$txt['itm_unmark_as_important'] = 'Önemli olarak işaretini kaldır';
$txt['itm_unmark_confirm'] = 'Seçilen konuları önemli konular olarak işaretlemek istediğinizden emin misiniz?';
$txt['itm_mark_as_important'] = 'Önemli Olarak İşaretle';
$txt['itm_menu_top_level'] = 'Üst Menü';
$txt['itm_menu_under_level'] = 'Altında &quot;%s&quot;';
$txt['itm_menu_home'] = 'Nerede Gözüksün &quot;' . $txt['itm_important_topics'] . '&quot;';
$txt['permissionname_mark_important'] = 'Konuları önemli olarak işaretleyebilir';
$txt['permissionname_view_important'] = 'Önemli olarak işaretlenen konuları görüntüleyebilir';


dougiefresh

Uploaded v1.7 - March 30th, 2018
o Added Turkish translation, courtsey of Snrj!




@Snrj:  Thank you for the translation!  It's been included in this version!

GL700Wing

I've just found a few issues in the 'ITM_Important_Topics' function in ./Subs-ImportantTopics.php that are creating invalid profile links for the member who started a topic and/or the last member to post in a topic (basically 'action=home;user=' should be 'action=profile;u=').


In the 'subject' column $user should be defined as follows:
$user = \'<strong><a href="\' . $scripturl . \'?action=profile;u=\' . $rowData["first_member"] . \'">\' . $rowData[\'first_poster\'] . \'</a></strong>\';


In the 'lastpost' column $user should be defined as follows:
$user = \'<strong><a href="\' . $scripturl . \'?action=profile;u=\' . $rowData["last_member"] . \'">\' . $rowData[\'last_poster\'] . \'</a></strong>\';
Note: This line of code had an extra '\' character after 'href=' that was also causing an invalid profile link to be created.
Life doesn't have to be perfect to be wonderful ...

Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

dougiefresh

Uploaded v1.8 - August 15th, 2018
o Fixed 2 function definitions in ITM_Important_Topics function, courtsey of GL700Wing.




@GL700Wing:  Thank you for reporting the bug, as well as the steps to fix said bug.  It's been included in this version!  Thanks!

dougiefresh

Uploaded v1.9 - October 23rd, 2018
o No functionality change.
o Updated documentation to point to new website.

landyvlad

Any screenshots perchance? Haven't seen this mod before and wondering if its something that would be useful for me for a new 2.1 forum. 
"Put as much effort into your question as you'd expect someone to give in an answer"

Please do not PM, IM or Email me with questions on astrophysics or theology.  You will get better and faster responses by asking homeless people in the street. Thank you.

Be the person your dog thinks you are.

GL700Wing

Quote from: landyvlad on October 01, 2021, 12:47:53 AMAny screenshots perchance? Haven't seen this mod before and wondering if its something that would be useful for me for a new 2.1 forum. 
Here ya go ...
Life doesn't have to be perfect to be wonderful ...

Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

landyvlad

Awesome - I have a couple of suggestions for future iterations
1. Ability to have that in multiple positions i.e. say top menu bar but also under profile or whatever.

2. Ability to change text from 'Our Important Topics" to custom text. 
"Put as much effort into your question as you'd expect someone to give in an answer"

Please do not PM, IM or Email me with questions on astrophysics or theology.  You will get better and faster responses by asking homeless people in the street. Thank you.

Be the person your dog thinks you are.

GL700Wing

Quote from: landyvlad on October 29, 2021, 12:46:36 AMAwesome - I have a couple of suggestions for future iterations
1. Ability to have that in multiple positions i.e. say top menu bar but also under profile or whatever.
Not by default but you may be able to tweak the mod to suit your needs.

Quote2. Ability to change text from 'Our Important Topics" to custom text.
You can either change the default text strings or, and this is what I would do, add your custom text strings to the relevant language files below all the mod's default text strings (language files are read from top to bottom - this is why you must add your custom text strings below the default text strings.  Added advantage of this approach is that it doesn't cause errors if the mod is uninstalled).
Life doesn't have to be perfect to be wonderful ...

Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

Advertisement: