Brief Introduction

From SocialStrap Wiki
Jump to: navigation, search

4-tier follow system explained

Following someone simply means subscribing to person’s posts so you can receive them and read them on your timeline. Followers are the people who follow or subscribe to another person's posts. Friends are simply mutual followers (or in other words people who follow you back).

1st tier

Mike and Jessica have no relationship (M J)

2nd tier

Mike is Following Jessica (M > J) or in other words Mike is Jessica’s Follower (M > J)

When Mike is logged in he will see posts from Jessica on his wall (home page).

3rd tier

Jessica is Following Mike (M < J) or in other words Mike has Jessica as a Follower (M < J)

When Mike is logged in he can find posts from Jessica on section "All Posts" or by searching. Jessica will see posts from Mike on her wall.

4th tier (friends or mutual followers)

Mike and Jessica are Friends (M <> J) or in other words Mike is Following Jessica and Jessica is Following Mike (M <> J)

Both Mike and Jessica can see each other's posts on their timeline. They can also write to each other's walls but if they broke their friendship all those posts are gone.


Security

Security can be applied to each post, user profiles and groups.

Security on posts can be set as:

  • Friends only - only your friends can see this
  • Friends & Followers - your friends and your followers can see this
  • Everyone - anyone with account who is currently logged in can see this
  • Public - anyone can see this including people without an account (this level can be disabled in settings under “Allow public posts“)

Profile Security can be set as:

  • Private profile - only friends can see your profile
  • Semi-private profile - friends and followers can see your profile
  • Open profile - anyone with account who is currently logged in can see your profile
  • Public profile - anyone including people without an account (this level can be disabled in settings under “Allow public posts“)


Group Security can be set as:

  • Secret Group - only members can see who is in this group and their posts. Membership request must be approved by the Group admin (user who created this Group).
  • Private Group - all users can see who is in but only members can see posts. Anyone can join this group.
  • Open Group - all users can see who is in, members and posts. Anyone can join this group.
  • Public Group - anyone including people without an account can see who is in, members and posts. (this level can be disabled in settings under “Allow public posts“)

Security of Pages: All pages are Public. Anyone including people without an account can see the page.


Languages

Adding more languages

Adding a new language is very simple, all you have to do is to upload one or more language files to the \app\core\languages\ folder. You can download available language files from here: http://www.socialstrap.net/languages/all.zip Interface is currently translated to: English, Spanish, Deutsch, Chinese, Italian, French, Russian, Ukrainian, Turkish, Nederlands, Português Brasil, Srpski, Hrvatski…

Note: Translation file must be encoded with utf8 without BOM so if you are making your own language file please use notepad++ or similar advanced text editor. If you need to use single quote use curly quote instead of straight one (e.g. Attiva l’account instead of Attiva l'account).


Translating emails

Email templates are located here: app\core\views\emails\

They cannot be translated at the moment but you can edit those templates and add messages on several languages into a single template.

Invitation is an addon so the template is here: addons\invitations\email.phtml

Right-to-Left Support

If you need RTL support then add this css to Settings -> Themes & Style -> Custom css:

html[lang="ar"],
html[lang="fa"],
html[lang="pa"]
{direction:rtl;} 

This is a simple example for Arabic (ar), Persian (fa) and Punjabi (pa) languages css. Sample language file for Arabic (ar.php) would be something like this:

<?php
$init = array(
		"short" => "ar",
		"name" => "Arabic",
);

$data = array(
		"Edit Profile" => "تحرير الملف الشخصي",
		"Username or email" => "اسم المستخدم أو البريد الإلكتروني",
		"All Posts" => "جميع المشاركات",
...


Static content

You can have custom static pages on wide page layout like about, privacy or terms. You can add more pages with .phtml extension to this folder \app\core\views\info\ and they will be accessible through unique URL.

example: sample.phtml http://www.example.com/info/page/name/sample

You can also have those pages translated by having separate .phtml files for each language. If translation is not available controller will display .phtml for default language.

example: sample.phtml sample-sr.phtml sample-de.phtml