News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Breeze

Started by Suki, March 21, 2014, 07:50:09 PM

Previous topic - Next topic

Suki

Link to Mod

Breeze Social mod


Created by Suki

This mod needs PHP 5.3 or greater and SMF 2.0.x or greater

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 1.1.
If a copy of the MPL was not distributed with this file,
You can obtain one at http://mozilla.org/MPL/

The contents of this package are subject to the Mozilla Public License Version
1.1 (the "License"); you may not use this package except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
*
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.



Introduction

Breeze is a social mod for your users to turn their dull profile into a dynamic wall where they can post status and comments. Comes with the following features:

- No file edits, works with all themes.
- Users individual settings, each user defines her/his own settings.
- Mentions for status and comments.
- Notifications for several features.
- General wall page for displaying your buddies latest activity.
- Couple of blocks for showing your buddies, visitors, latest activity and about me block.
- Works with or without JavaScript.


Supported Languages

o English/utf8
o Spanish_latin/utf8
o Portuguese_Brazilian/utf8
o Turkish/utf8

I welcome translations, please post it on the support site ;)


Installation

Use the package manager to install this modification, Breeze will work with all themes.
Tested on PHP 5.3 and 5.4, Opera12, IE8 and whatever version Firefox was when I tested it.


This mod uses the following scripts

- [jQuery] (http://jquery.com/)
- [Facebox] (https://github.com/defunkt/facebox)
- [needim noty jquery plugin] (http://needim.github.com/noty/)
- [ichord Mentions autocomplete script] (http://ichord.github.com/At.js)
- [ikons from Piotr Kwiatkowski] (http://ikons.piotrkwiatkowski.co.uk)
- [DOMPurify] (https://github.com/cure53/DOMPurify)


Changelog


1.0.15 June  20, 2021
- Make sure breezeTrackViews() returns an array.

1.0.14 August  26, 2018
- Add support for PHP 7.

1.0.13 March 17, 2018
- Add admin setting for the general wall
- Prevent loading status and activity from users on your ignored list.

1.0.12 May 5, 2017
- Concatenation on $txt strings
- Add a "live from the support site" atom box
- Use caret and atwho min versions on single status page
- Update atwho.js

1.0.11 April 15, 2017
- Add Turkish and Portuguese_Brazilian translations
- Normalize and schemaless the support url
- Remove the "live from the support site" rss box

1.0.10 May 24, 2016
- Update atwho and caret, use min versions.
- Add support for Ohara youtube mod.
- Remove purify call on submitted content to prevent double encoding.

1.0.9 Oct 29, 2015
- Fix a missing semicolon preventing users form using the mentions feature on their walls.
- Replace $this->_smcFunc with global $smcFunc.

1.0.8 Jun 29, 2015
- Fix a security issue allowing users to post status and messages as another user. Thanks to JSX3 for reporting it.

1.0.7 Oct 22, 2014
This release adds a new security layer by implementing the DOMPurify library to both comments and status messages.

It also fixes a wrong version on package-info.xml as well as adding the current version to the version tag on all files.

1.0.6 Jul 3, 2014
- This release fixes a bug introduced in the 1.0.5 version which prevented users from saving their options, it also improves the security fix introduced in the 1.0.5 release.

1.0.5  May 30, 2014
- !Make BreezeData::sanitize() a recursive functions for handling arrays.

1.0.4 May 4, 2014
- Fixed checking a wrong variable on BreezeQuery:getCount() which prevented to get the real count.
- Convert to an array of integers the passed value on BreezeQuery:getCount() to prevent weird servers to give errors.
- The load more feature on the general wall wasn't working because userID wasn't defined.
- On the createTopic log and any other log, use the username instead of the real name.

1.0.3 Apr 12, 2014
- Add BreezeQuery::getStatus() to allow users to get status data directly from the DB
- Fixed silly bugs with error strings
- BreezeQuery::getCount() now work with arrays, each element gets casted as integer before passing the array to avoid errors. It also removes the need to pass sql code, it now needs the column name only.

1.0.2  Mar 23, 2014
- Fixes an issue where users will get notified about new topics on boards they cannot see. Thanks to br360 for the report.
- Add support for accounts that were deleted but still has activity recorded.
- Css files were merged and minified, thanks to Antes
- Other small fixes/improvements.

1.0.1 Mar 2, 2014
- Notifications were pretty broken and with unfinished code.
- Changed the value column in breeze_options to a text field
- Weird css on breeze.css was interfering with the forum's style.
- Missed a text string for permissions and fixed a logic issue as well, users weren't able to post new comments even though they have the appropriated permissions to do so.
- New status were appended to a non-existent div.
- Disabling the wall didn't hide the button on the profile menu.
- Support feed url uses a scheme-less url for servers using https
- Typos and corrections on language strings.
- Fixed a logic issue when posting a new comment, the code wrongly assumed the poster and the profile owner were the same person.
- Added a new notification for the profile owner when someone made a comment on any status on their own wall.

1.0 - Windmill
Initial release


Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

NekoJonez

You can't change peeps their settings as admin?
Retro video game blogger, writer, actor, podcaster and general amazing dude.

Twitter
My Blog

Suki

Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

Antes


NekoJonez

So, I have the "online" and "Show Posts" appear next to each other.

Also, how does the mention thingy works?
Retro video game blogger, writer, actor, podcaster and general amazing dude.

Twitter
My Blog

Suki

Mentioning as well as be "mentionable" are permissions, people need to have those permissions in order to mention someone.

You just need to type @  followed by the name you want, after the 3 letter the script will show you a list of possible mentionable users.
Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

hcfwesker

Great job, Suki!!!  I have the old, out of date, support abandoned, paid for SMF Social mod.  This looks like a much better alternative.

The main question, is it compatible with Ultimate Profile?  And, if not, would it be possible ( I will attempt myself) to make just the some parts their own block on ultimate profile pages?

Kindred

Nice job Suki!

I tried this back when it was still in alpha/beta development and liked the concept then...   I'll have to figure out which site to start using this on now that it's released. :D


(also posting in this thread so I get notified of questions, updates and information. :) )
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

NekoJonez

Quote from: hcfwesker on March 22, 2014, 11:21:00 PM
Great job, Suki!!!  I have the old, out of date, support abandoned, paid for SMF Social mod.  This looks like a much better alternative.

The main question, is it compatible with Ultimate Profile?  And, if not, would it be possible ( I will attempt myself) to make just the some parts their own block on ultimate profile pages?
I was wondering as well. Since the mod you wrote of the social profiles and the GamerID's aren't on your wall. Would be awesome if it was in any way shape or form.
Retro video game blogger, writer, actor, podcaster and general amazing dude.

Twitter
My Blog

hcfwesker

Quote from: NekoJonez on March 23, 2014, 09:19:29 AMGamerID's

I didn't write that mod, just supplied edits for Nintendo Network ID and Ultimate Profile additions.

Quote from: hcfwesker on March 22, 2014, 11:21:00 PMis it compatible with Ultimate Profile?

Never mind this.  Just noticed it creates it's own page for wall viewing.  So, obviously it's compatible. :)

Out of curiosity, would it be possible to have it show ALL member statuses, too, on a page?  Kinda like the other social mod had, where it showed all member statuses, then a side bar link to show only buddy's statuses.  Not many people actually use the buddy system and would miss out on other members statuses that may interests them.

Suki

Quote from: NekoJonez on March 23, 2014, 09:19:29 AM
Quote from: hcfwesker on March 22, 2014, 11:21:00 PM
Great job, Suki!!!  I have the old, out of date, support abandoned, paid for SMF Social mod.  This looks like a much better alternative.

The main question, is it compatible with Ultimate Profile?  And, if not, would it be possible ( I will attempt myself) to make just the some parts their own block on ultimate profile pages?
I was wondering as well. Since the mod you wrote of the social profiles and the GamerID's aren't on your wall. Would be awesome if it was in any way shape or form.

If a mod uses the custom profiled fields then it will appear on the users wall, the same for the lighbox that appear whenever you click on an users avatar.

Quote from: hcfwesker on March 23, 2014, 04:50:34 PM
Quote from: NekoJonez on March 23, 2014, 09:19:29 AMGamerID's

I didn't write that mod, just supplied edits for Nintendo Network ID and Ultimate Profile additions.

Quote from: hcfwesker on March 22, 2014, 11:21:00 PMis it compatible with Ultimate Profile?

Never mind this.  Just noticed it creates it's own page for wall viewing.  So, obviously it's compatible. :)

Out of curiosity, would it be possible to have it show ALL member statuses, too, on a page?  Kinda like the other social mod had, where it showed all member statuses, then a side bar link to show only buddy's statuses.  Not many people actually use the buddy system and would miss out on other members statuses that may interests them.


It is possible, just not something I would recommend. Having everyones activity on a single page will be a bad idea for busy forums.

My plan was to turn the buddy system into a "follow" system or keep the buddy system and also implement the follow one, that way you can follow whoever you want and their activities will be shown to you.


Anyway, theres a new version 1.0.2 that fixes a bug where you were notified of new topics on boards you cannot see and other minor small improvements.

No need to uninstall/install, just upload the mod's Sources and Themes to your forum's root.
Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

player.samp

Is there any option to edit/remove posts on walls or it isn't possible?

Suki

Editing is not possible at the moment, its a feature I want to add for future versions.

There are 3 permissions related to removing:

Delete all comments on any wall
Delete their own comments.
Delete comments made on their own profile.

and the same for Status.

You need to assign the permissions you want for your usergroups, for example, the delete all comments/status on any wall will commonly be granted to global moderators or other groups with some kind of authority on your forum.
Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

br360

Suki, this mod is awesome, and thank you very much for the 1.0.2 update.

I was wondering; is there a way for an admin to disable the "Latest Visitors" module" altogether, so members wouldn't be able to have this option in their settings at all?

hcfwesker

Quote from: br360 on March 24, 2014, 07:40:59 PMI was wondering; is there a way for an admin to disable the "Latest Visitors" module" altogether, so members wouldn't be able to have this option in their settings at all?

If not from the admin menu, an alternative is you could remove the code section for visitors from the template file, so it doesn't appear at all on any wall pages.

br360

I could live with that, just not sure exactly what part of the code to remove without screwing something else up or causing errors. I'm thinking maybe deleting this out of Breeze.template.php. but not 100% sure.


// Visitors
   if (!empty($context['Breeze']['settings']['owner']['visitors']))
   {

      echo '
      <div class="cat_bar">
         <h3 class="catbg">
            '. $txt['Breeze_tabs_views'] .'
         </h3>
      </div>';

      echo '
      <div class="windowbg2">
         <span class="topslice"><span> </span></span>
         <div class="content BreezeList">';

      if (!empty($context['Breeze']['views']))
         breeze_user_list($context['Breeze']['views'], 'visitors');

      // No visitors :(
      else
         echo $txt['Breeze_user_modules_visitors_none'];

      echo '
         </div>
         <span class="botslice"><span> </span></span>
      </div>';
   }


Would that be the correct code?

Suki

Quote from: br360 on March 24, 2014, 07:40:59 PM
Suki, this mod is awesome, and thank you very much for the 1.0.2 update.

I was wondering; is there a way for an admin to disable the "Latest Visitors" module" altogether, so members wouldn't be able to have this option in their settings at all?

Currently there is no admin setting to determinate which options are available for users but each setting is added via  class form which makes it easy to control which parts remove or add more settings.  On Sources/Breeze/BreezeUser.php find this.


$form->addCheckBox(
'visitors',
!empty($userSettings['visitors']) ? true : false
);


And either comment it out or remove it, this will prevent users from having the option to have a profile visitors block.

if you want to remove the code from the template then yes, the code you posted is the one that shows that block.
Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

TrickyRicky

Amazing and well done suki i was a big fan of the early versions. also is there a way to have a portal block.

Suki

To have a portal block inside the users wall or to have some info from this mod as a portal block?
Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

hcfwesker

Quote from: Suki on March 25, 2014, 09:30:15 PM
To have a portal block inside the users wall or to have some info from this mod as a portal block?

My guess would be a portal block, with info from the mod to be shown on the portal page or forum.  Which could show the most recent (5 or so) status updates from all users(or buddies only).

Advertisement: