SimplePortal

Customization => Custom Coding => Topic started by: ScottDB on August 12, 2009, 05:46:46 PM

Title: Articles and Catagories?
Post by: ScottDB on August 12, 2009, 05:46:46 PM
Now that I have this working on all my themes I am trying to figure out how to use it best. What I would like to have is only one category in the forum be able to add as an article. The way it is now, on every post you have the option of adding as an article. Would like to have just the posts in one category of the forum be able to do this. Am I missing a setting somewhere? Is this possible?
Title: Re: Articles and Catagories?
Post by: ScottDB on August 14, 2009, 05:00:40 PM
Hope nobody minds if I try and bump this. Just trying to figure out if there is a setting for this or if this? Kind of just a simple yes or no answer will do.
Title: Re: Articles and Catagories?
Post by: Nathaniel on August 16, 2009, 06:22:05 AM
If I am understanding you correctly, then no, there is no setting to do that at the moment.

Although, it could be possible to do, with a few manual edits, I can move this topic to the Custom Coding board if you would like?
Title: Re: Articles and Catagories?
Post by: ScottDB on September 24, 2009, 02:30:13 PM
That would be great if I could get this done. Thankyou very much. Sorry its taken so long to get back on this.
Title: Re: Articles and Catagories?
Post by: Nathaniel on September 24, 2009, 08:46:57 PM
Reading over your post again, what you want might be possible with the permissions system. You can create different permissions profiles for each board, so choose to allow non-admin to be able to add articles on the boards that you want. Although admin will still be able to add articles from wherever they want.
Title: Re: Articles and Catagories?
Post by: ScottDB on September 24, 2009, 11:37:52 PM
I have looked at this for an hour trying to figure out how to do this with permissions and cant figure it out. If you could elaborate on how this is possible it would be appreciate it.
Title: Re: Articles and Catagories?
Post by: Nathaniel on September 24, 2009, 11:57:22 PM
The admin section discussed is at Admin -> Members -> Permissions.

1) Edit the 'Default' board profile under 'Edit profiles'. Remove the 'Can add article' permission for all membergroups.
2) Create a new 'Board Profile' under 'Edit profiles'. You will want to base it off your default profile.
3) Click on the new profiles name to edit it, select the group/s that you want to change permissions for and then give them the 'Can add article' permission for that board profile.
4) Goto the 'Board Permissions' section, and change the boards that you want to have the new permissions. Ie. the boards where articles come from.
Title: Re: Articles and Catagories?
Post by: ScottDB on September 25, 2009, 02:25:27 AM
Well I found half of my problem. In the theme that I was testing this on with a test account I just found out that the add as article button isn't showing. That took me a while to realise :angry-yell: . Thats not a problem though and I can fix that later. Must have forgot that one.
 
Any way when I add the new profile and base off default profile and then go to edit the profile and then choose group. There is no option for add as article in the pofile edit of group. The group that I am trying to edit only has 24 permisons in edit profile out of the normal 81 in general permisions
Title: Re: Articles and Catagories?
Post by: Nathaniel on September 25, 2009, 04:13:05 AM
Oh, lol. Unfortunately I forgot that the SimplePortal article permission is a general permission not a board permission. so that won't work.  :-[

Okay, so we'll do this the hardcoded edit way. :D

Code: ("Find (sources/PortalArticles.php)") [Select]
    if ($exists)
        fatal_lang_error('error_sp_article_exists');

Code: ("Replace") [Select]
    if ($exists)
        fatal_lang_error('error_sp_article_exists');

    $request = $smcFunc['db_query']('','
        SELECT b.id_cat
        FROM {db_prefix}messages AS m
            LEFT JOIN {db_prefix}boards AS b ON (m.id_board = b.id_board)
        WHERE m.id_msg = {int:message}',
        array(
            'message' => $context['message'],
        )
    );
    list ($cat_id) = $smcFunc['db_fetch_row']($request);
    $smcFunc['db_free_result']($request);

    if ($cat_id != 2)
        fatal_lang_error('error_sp_cannot_add_article');

Code: ("Find this code (sources/Subs-Portal.php)") [Select]
    if (!empty($context['current_topic']))
        $context['can_make_article'] = allowedTo(array('sp_admin', 'sp_manage_articles'));

Code: ("Replace with this code") [Select]
    global $board_info;
    if (!empty($context['current_topic']))
        $context['can_make_article'] = $board_info['cat']['id'] == 2 && allowedTo(array('sp_admin', 'sp_manage_articles'));

Change the '2' to the ID of the category where you want articles to be added from.
SimplePortal 2.3.8 © 2008-2024, SimplePortal