• Services
  • What we do & Sell own
  • Cases
  • We are


1. Funtionality

1.1. Function

The module adds users to website.

Users are divided into three types: private person, agent, agency. It is not possible to change user type after profile creation. The following groups are available: default users, ordinary users and VIP-users. A new user is added to a default group if no specific group is chosen. After registration, the user can access his profile, provide information about himself, view mailbox messages and use paid services.

Profiles can be ranked according to some criterion. Users can deactivate own profiles and specify the reason for deactivation.

1.2. Admin mode

Admin panel provides the following options:

  • View/edit/delete user profile;
  • View/edit/delete user groups (the feature is currently unavailable);
  • Basic settings for every user type (login, registration, confirmation, etc.);
  • Paid services and virtual accounts;
  • View/edit/delete alerts about profile deactivation;
  • View and edit reason for profile deactivation.

The list of all users is divided into 2 levels of tabs:

– User types (private persons, agents, agencies);

– Status (all, active, inactive, unconfirmed).

It includes the following details: email, virtual account balance, date of registration, number of reviews and actions. The actions are:

  • Activate/deactivate user;
  • View profile details;
  • Edit profile details;
  • Delete user;
  • Add funds to virtual account.

It depends on user type what kind of fields are available in a user profile.

Site administrator can disable login, registration and email confirmation for every user type separately. If registration of agents is disabled, the appropriate pages disappear from agency profile and menu.

Profile deactivation settings are available in Feedbacks > Profile deactivation section. The following settings are available: send notifications about deactivated profiles to admin panel and/or to an email address. If email field is empty, notifications are sent to default email address (i.e. email address of administrator).

Administrator can view notifications about profile deactivation: user name, email, reason for deactivation, date of deactivation, phone number and comment. Notifications can be deleted.

Reasons of deactivation can be added, removed or re-ordered with the help of drag&drop tool.

Admin dashboard includes block of statistics in total number of users divided by types and status.

1.3. User mode

The module provides registration option for every user type. Depending on admin panel settings, users may need to confirm registration. They login to their profiles using email address and password specified during the registration.

An authorized user can:

  • View and edit profile description;
  • Change password;
  • Deactivate profile;
  • Add funds to virtual account;
  • Use paid services.

The following paid services are available: contacts, featured user and display logotype in listings search.

Site guests can view lists of agents/agencies and user profile details. The lists include name + last name (or company name), logotype (if the appropriate services is enabled and used), rating, reviews and listings provided by user.

The profile page contains information in:

  • General details (name, rating, description);
  • Contact details (phone, email, address, location on map);
  • Reviews (list of reviews and option to leave a review);
  • Details of agency (for agents only).

There is an option to add dynamic blocks with recently registered users / featured users to site front page.

1.4. Related modules

The module uses the functionality of the following related modules:

  • notifications — notifications about registration/email confirmation/password changes/profile deactivation;
  • review — option to leave a review;
  • moderation — badwords check in profile description;
  • geomaps — location on map;
  • sitemap — profile page on site map;
  • banners — banners on profile pages;
  • linker — adds new contacts;
  • ausers — permissions of site moderators.

1.5. Functionality related to other modules

The module provides the following helpers to display content on site pages:

  • List of users;
  • List of agents associated with an agency;
  • List of recently registered users;
  • List of featured users;
  • Login form;
  • Form for changing language interface;
  • Form for choosing a user;
  • Search form;
  • Form for reviewing an agent request to become a member of an agency.

1.6. Specific functionality

No specific functionality.


2. Implementation

2.5. API

API controller (Users_api) supports the following methods:

public function confirm();

Confirms user registration.

POST parameters:
$code string – confirmation code

public function restore();

Recovers user password

POST parameters:
$email string – email address

public function save_password();

Changes password.

POST parameters:
$password string – new password
$repassword string – re-password
$password_old string – old password

public function save_email();

Changes registration email

POST parameters:
$email string – new email

public function save_phone();

Changes registration phone number

POST parameters:
$phone string – new phone number

public function profile();

Returns details of current user profile

public function save();

Changes details of current user profile

POST parameters:
$action string – profile section (contacts, company, location, subscriptions)
$data array – profile ddetails. Possible keys: agent_company – agent company id, lat – latitude of location, lon – longitude of location, user_logo – logotype, $user_icon_delete – deletes logotype, user_subscriptions_list – user subscriptions.

public function save_subscriptions();

Saves user subscriptions

POST parameters:
$user_subscriptions_list array – user subscriptions

public function register($user_type=null);

Registers a new user

$user_type string – type of a new user
$data array – new user details. Possible keys: fields of ‘[prefix]users’ database table

public function view($user_id);

Gets profile details by user id

$user_id integer user id

public function my_agents_request($action="approve", $agent_id=null);

Gets agents’ requests

$action string – request status: approve, decline, wait (approve is used by default).
$agent_id integer – requests of an agent with specified id

POST parameters:
$ids array – multitude of agents’ ids, it is used as a filter when $agent_id parameter is not specified

public function my_agents_delete($agent_id=null);

Deletes an agent with specified id from the list of company agents

$agent_id integer – agent is

POST parameters:
$ids array – multitude of agents’ ids, it is used as a filter when $agent_id parameter is not specified

public function agent_get_out();

Agent leaves a company

public function account();

Gets balance of own virtual account

public function index($user_type=null, $order=date_created, $order_direction=DESC, $page=1);

Gets a paged list of active users

$user_type string – user type

$order string – order value, date of registration is used by default

$order_direction string – order direction (ASC, DESC)

$page integer – page of search results

public function search($page=1, $order=default, $order_direction=DESC);

Gets a paged list of active users according to search criteria

$page integer – page of search results
$order string – order value
$order_direction string – order direction (ASC, DESC)

POST parameters:
$criteria array – search criteria.Posssible keys: keyword, id_country, id_region, id_city and others.

public function change_currency($currency_id);

Changes current currency. Prices are displayed in the specified currency.

$currency_id integer – currency id

public function change_language($lang_id);

Changes current language interface. Site texts are displayed in the specified language.

public function agents($user_id);

Gets company agents with specified ids

$user_id integer – user id