User Points 4.2.12

Submitted On: 05 Sep 2024
File Size: 1518
Downloads: 184
File Version: 4.2.12
File Author: Martin Brampton

Descended from Alpha User points via Alta User Points, this is a Joomla 3.10.x/4.x/5.x component. It manages user points that can be earned through user actions, and spent on services and products. Capable of being interfaced to many other Joomla extensions.

This release has corrections for avatar handling. Recent fixes include improved referral processing for invitations, fixes for coupons, QR codes along with other bug fixes and code upgrades. Languages have machine translated additions. Notifications have been checked for reliability. Raffle bug fixed.

UserPoints now has integrated ability to purchase points. That requires the (free) Payage component and one or more Payage payment gateway plugins. See the documentation for more details.

The code is being radically improved and the software is fully supported - please raise a ticket if needed.

Documentation is also under development - you can find it at https://docs.black-sheep-research.com/userpoints:contents

If you install this component, it will import parameters from Alta User Points and will use the same database tables as Alta/Alpha User Points. Any Alta/Alpha User Points extensions will be uninstalled.

Work is going on the update compatibility of other Joomla Extensions. jDownloads is compatible. Hikashop will be compatible in its next release.

There is much more work to be done on integrations. The sync and recalculate functions have had their efficiency hugely increased. For the technically minded, the code has mostly been namespaced and references to Joomla classes and methods updated. Much code cleaning has been done and an improved object model created.

In principle, this is compatible with earlier user points components and their integrations. But the transition to Joomla 4 and the renaming will have created some issues. Please report any problems via our ticket system.

Where a third party product is involved (such as another extension or a plugin) please provide a copy of the software.

There is now a nominal $5 charge to subscribe for UserPoints downloads/upgrades/support. This may increase in future.

This release fixes bugs and enables use of Community Builder avatars.

File Rating (5/10)
Log in to cast your vote
Comments: 3
avatar some1new
some1new 4 months ago
Cannot find a way to success my pending subscription since 26-06-2024, can you help?
avatar sciphy
sciphy 6 months ago
Hi, I'd like to use user points with ARI Quiz, in joomla 4. Is User Points compatible with ARI Quiz ? Thanks ! ;)
avatar hbproph
hbproph 7 months ago
Hi Guys wanted to buy but unfortunately your site is not working stripe never loaded in so im not able to pay

RELATED DOCUMENTS

This report falls under the following categories. Click on a link below to explore similar documents.

ProductLines: UserPoints

Is there anything we can help you with in this afternoon ?

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

4.004MBMemory Usage728msRequest Duration
Joomla! Version5.2.3
PHP Version8.2.26
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.11.6-MariaDB-0+deb12u1-log
Collation
utf8mb4_general_ci
Conn Collation
utf8mb4_general_ci
$_GET
array:2 [ "view" => "fileinfo" "id" => 734 ]
$_POST
[]
$_SESSION
array:2 [ "aliro_auth" => array:5 [ "subj_found" => & array:1 [ "remosFolder" => array:2...
$_COOKIE
[]
$_SERVER
array:53 [ "USER" => "remos" "HOME" => "/var/www/remos" "SCRIPT_NAME" => "" "REQUEST_URI" =>...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1736511410 "last" => 1736511410...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
gtag
false
  • afterLoad (73.79KB) (2.62ms)
  • afterInitialise (1.05MB) (154ms)
  • afterRoute (348.77KB) (98.6ms)
  • beforeRenderComponent com_remository (46.12KB) (26.21ms)
  • afterRenderComponent com_remository (1.44MB) (362ms)
  • afterDispatch (2.27KB) (485μs)
  • beforeRenderRawModule mod_menu (Main Menu) (59.7KB) (10.31ms)
  • afterRenderRawModule mod_menu (Main Menu) (188.33KB) (6.34ms)
  • beforeRenderRawModule mod_login (Login Form) (976B) (48μs)
  • afterRenderRawModule mod_login (Login Form) (38.06KB) (2.16ms)
  • beforeRenderRawModule mod_remositorytree (Explore Repository) (704B) (46μs)
  • afterRenderRawModule mod_remositorytree (Explore Repository) (10.38KB) (3.94ms)
  • beforeRenderRawModule mod_whatsapp_agent (WhatsApp Multi Agent) (4.79KB) (465μs)
  • afterRenderRawModule mod_whatsapp_agent (WhatsApp Multi Agent) (42.06KB) (1.23ms)
  • beforeRenderModule mod_whatsapp_agent (WhatsApp Multi Agent) (736B) (14μs)
  • Before Access::preloadComponents (all components) (12.5KB) (6.35ms)
  • After Access::preloadComponents (all components) (114.68KB) (17.12ms)
  • Before Access::getAssetRules (id:1 name:root.1) (536B) (64μs)
  • After Access::getAssetRules (id:1 name:root.1) (7.05KB) (182μs)
  • afterRenderModule mod_whatsapp_agent (WhatsApp Multi Agent) (520B) (342μs)
  • beforeRenderModule mod_menu (Main Menu) (12.26KB) (247μs)
  • afterRenderModule mod_menu (Main Menu) (4.19KB) (291μs)
  • beforeRenderModule mod_login (Login Form) (640B) (28μs)
  • afterRenderModule mod_login (Login Form) (6.47KB) (113μs)
  • beforeRenderModule mod_remositorytree (Explore Repository) (5.86KB) (24μs)
  • afterRenderModule mod_remositorytree (Explore Repository) (4.48KB) (97μs)
  • beforeRenderRawModule mod_breadcrumbs (Breadcrumbs) (7.02KB) (156μs)
  • afterRenderRawModule mod_breadcrumbs (Breadcrumbs) (10.52KB) (3.51ms)
  • beforeRenderModule mod_breadcrumbs (Breadcrumbs) (704B) (15μs)
  • afterRenderModule mod_breadcrumbs (Breadcrumbs) (3.56KB) (234μs)
  • afterRender (79.73KB) (29.96ms)
  • 1 x afterRenderComponent com_remository (1.44MB) (49.72%)
    362ms
    1 x afterInitialise (1.05MB) (21.19%)
    154ms
    1 x afterRoute (348.77KB) (13.54%)
    98.60ms
    1 x afterRender (79.73KB) (4.11%)
    29.96ms
    1 x beforeRenderComponent com_remository (46.12KB) (3.6%)
    26.21ms
    1 x After Access::preloadComponents (all components) (114.68KB) (2.35%)
    17.12ms
    1 x beforeRenderRawModule mod_menu (Main Menu) (59.7KB) (1.42%)
    10.31ms
    1 x Before Access::preloadComponents (all components) (12.5KB) (0.87%)
    6.35ms
    1 x afterRenderRawModule mod_menu (Main Menu) (188.33KB) (0.87%)
    6.34ms
    1 x afterRenderRawModule mod_remositorytree (Explore Repository) (10.38KB) (0.54%)
    3.94ms
    1 x afterRenderRawModule mod_breadcrumbs (Breadcrumbs) (10.52KB) (0.48%)
    3.51ms
    1 x afterLoad (73.79KB) (0.36%)
    2.62ms
    1 x afterRenderRawModule mod_login (Login Form) (38.06KB) (0.3%)
    2.16ms
    1 x afterRenderRawModule mod_whatsapp_agent (WhatsApp Multi Agent) (42.06KB) (0.17%)
    1.23ms
    1 x afterDispatch (2.27KB) (0.07%)
    485μs
    1 x beforeRenderRawModule mod_whatsapp_agent (WhatsApp Multi Agent) (4.79KB) (0.06%)
    465μs
    1 x afterRenderModule mod_whatsapp_agent (WhatsApp Multi Agent) (520B) (0.05%)
    342μs
    1 x afterRenderModule mod_menu (Main Menu) (4.19KB) (0.04%)
    291μs
    1 x beforeRenderModule mod_menu (Main Menu) (12.26KB) (0.03%)
    247μs
    1 x afterRenderModule mod_breadcrumbs (Breadcrumbs) (3.56KB) (0.03%)
    234μs
    1 x After Access::getAssetRules (id:1 name:root.1) (7.05KB) (0.02%)
    182μs
    1 x beforeRenderRawModule mod_breadcrumbs (Breadcrumbs) (7.02KB) (0.02%)
    156μs
    1 x afterRenderModule mod_login (Login Form) (6.47KB) (0.02%)
    113μs
    1 x afterRenderModule mod_remositorytree (Explore Repository) (4.48KB) (0.01%)
    97μs
    1 x Before Access::getAssetRules (id:1 name:root.1) (536B) (0.01%)
    64μs
    1 x beforeRenderRawModule mod_login (Login Form) (976B) (0.01%)
    48μs
    1 x beforeRenderRawModule mod_remositorytree (Explore Repository) (704B) (0.01%)
    46μs
    1 x beforeRenderModule mod_login (Login Form) (640B) (0%)
    28μs
    1 x beforeRenderModule mod_remositorytree (Explore Repository) (5.86KB) (0%)
    24μs
    1 x beforeRenderModule mod_breadcrumbs (Breadcrumbs) (704B) (0%)
    15μs
    1 x beforeRenderModule mod_whatsapp_agent (WhatsApp Multi Agent) (736B) (0%)
    14μs
52 statements were executed, 4 of which were duplicates, 48 unique269ms112.45KB
  • SELECT @@SESSION.sql_mode;1.81ms968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:308Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?3.38ms1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 13.42ms1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jos_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)9.87ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `jos_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 17.91ms17.73KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`1.64ms656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jos_usergroups` AS `a` LEFT JOIN `jos_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest1.62ms1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `jos_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`1.86ms4.48KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SET sql_mode=(SELECT REPLACE(@@sql_mode,'STRICT_TRANS_TABLES',''));3.38ms640B/administrator/components/com_osmembership/loader.php:95Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `jos_menu` AS `m` LEFT JOIN `jos_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`8.81ms19.8KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SHOW TABLES LIKE 'jos_downloads_repository'9.77ms520B/libraries/BlackSheepResearch/aliro/database/ExtendedDatabase.php:143Copy
  • SELECT `path`, `link` FROM `jos_menu` WHERE `link` LIKE '%remository%' AND `published` > 0 AND `client_id` = 08.06ms608BsameCopy
  • SELECT f.id, f.containerid, f.filetitle, f.realname FROM jos_downloads_files AS f WHERE f.containerid = 1232.14ms944BsameCopy
  • SELECT `config_key`,`config_value` FROM jos_osmembership_configs4.94ms3.06KB/administrator/components/com_osmembership/libraries/mpf/config/config.php:42Copy
  • SELECT * FROM `jos_languages` WHERE `published` = 1 ORDER BY `ordering` ASC4.81ms1.59KB/libraries/src/Language/LanguageHelper.php:177Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `jos_template_styles` AS `s` LEFT JOIN `jos_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 12.31ms832B/administrator/components/com_templates/src/Model/StyleModel.php:775Copy
  • SELECT role, subject_id, action FROM jos_permissions WHERE subject_type = 'remosFolder' AND action IN('download','edit')2.77ms2.38KBsameCopy
  • SELECT NOW()7.13ms536B/components/com_userpoints/src/Problems/SQL.php:31Copy
  • SELECT UNIX_TIMESTAMP(NOW())3.93ms536B/components/com_userpoints/src/Problems/SQL.php:74Copy
  • SELECT COUNT(`id`) FROM `jos_usergroups`5.87ms536B/libraries/src/Helper/UserGroupsHelper.php:207Copy
  • SELECT * FROM `jos_usergroups` ORDER BY `lft` ASC2.44ms976B/libraries/src/Helper/UserGroupsHelper.php:266Copy
  • SELECT NOW()1.66ms536BsameCopy
  • SELECT f.*, AVG(l.value) AS vote_value, COUNT(l.value) AS vote_count, CASE WHEN fv.user_id IS NULL THEN 0 WHEN fv.user_id = 0 THEN 0 ELSE 1 END AS favourite FROM jos_downloads_files AS f LEFT JOIN jos_downloads_log AS l ON l.type=3 AND l.fileid=f.id LEFT JOIN jos_downloads_favour AS fv ON fv.file_id = f.id AND fv.user_id = 0 WHERE f.id = 734 AND published=1 GROUP BY f.id5.43ms9.72KBsameCopy
  • SELECT COUNT(*) FROM `jos_permissions` WHERE `subject_type`='remosFolder' AND (`action`='download' OR `action`='*')2ms536BsameCopy
  • SELECT `role`, `control`, `subject_id`, `action` FROM `jos_permissions` WHERE `subject_type`='remosFolder' AND (`action`='download' OR `action`='*')5.21ms944BsameCopy
  • SELECT COUNT(*) FROM `jos_permissions` WHERE `subject_type`='remosFolder' AND (`action`='edit' OR `action`='*')1.61ms536BsameCopy
  • SELECT `role`, `control`, `subject_id`, `action` FROM `jos_permissions` WHERE `subject_type`='remosFolder' AND (`action`='edit' OR `action`='*')1.6ms1008BsameCopy
  • SELECT c.*, CASE WHEN c.type = 'ProductLines' THEN 0 WHEN c.type = 'Services' THEN 1 ELSE 9 END AS typseq FROM jos_downloads_classify AS c INNER JOIN jos_downloads_file_classify AS fc ON c.id = fc.classify_id WHERE c.published != 0 AND c.hidden = 0 AND fc.file_id = 734 ORDER BY typseq, c.name8.61ms1.44KB/libraries/BlackSheepResearch/aliro/database/ExtendedDatabase.php:173Copy
  • SELECT COUNT(*) FROM jos_downloads_log WHERE type=3 AND ipaddress='18.191.189.82' AND fileid=73413.53ms536B/libraries/BlackSheepResearch/aliro/database/ExtendedDatabase.php:143Copy
  • SELECT COUNT(*) FROM jos_downloads_log WHERE type=3 AND ipaddress='18.191.189.82' AND fileid=7345.16ms0BsameCopy
  • SELECT c.id, c.title, c.comment, c.date, c.imgcount, u.id as userid, u.name, u.username FROM jos_downloads_reviews AS c INNER JOIN jos_users AS u ON c.userid=u.id WHERE c.itemid=734 ORDER BY c.date DESC36.83ms960B/libraries/BlackSheepResearch/aliro/database/ExtendedDatabase.php:173Copy
  • SHOW FULL COLUMNS FROM `jos_users`4.66ms1.58KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `jos_users` WHERE `id` = :userid6.22ms5.66KBParams/libraries/src/Table/User.php:106Copy
  • SELECT `g`.`id`,`g`.`title` FROM `jos_usergroups` AS `g` INNER JOIN `jos_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid7.72ms1.37KBParams/libraries/src/Table/User.php:134Copy
  • SELECT avatar FROM jos_osmembership_subscribers WHERE user_id = 369 AND avatar != ''4.68ms520BsameCopy
  • SELECT email FROM jos_users WHERE id = 3693.47ms536BsameCopy
  • SELECT g.title AS role, u.id AS access_id FROM jos_usergroups AS g INNER JOIN jos_user_usergroup_map AS ug ON g.id = ug.group_id INNER JOIN jos_users AS u ON u.id = ug.user_id WHERE u.id = '369'2.84ms592BsameCopy
  • SELECT * FROM `jos_users` WHERE `id` = :userid3.18ms3.16KBParams/libraries/src/Table/User.php:106Copy
  • SELECT `g`.`id`,`g`.`title` FROM `jos_usergroups` AS `g` INNER JOIN `jos_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid3.45ms1.38KBParams/libraries/src/Table/User.php:134Copy
  • SELECT avatar FROM jos_osmembership_subscribers WHERE user_id = 388 AND avatar != ''5.07ms520BsameCopy
  • SELECT email FROM jos_users WHERE id = 3889.56ms536BsameCopy
  • SELECT g.title AS role, u.id AS access_id FROM jos_usergroups AS g INNER JOIN jos_user_usergroup_map AS ug ON g.id = ug.group_id INNER JOIN jos_users AS u ON u.id = ug.user_id WHERE u.id = '388'3.34ms608BsameCopy
  • SELECT * FROM `jos_users` WHERE `id` = :userid2.57ms3.16KBParams/libraries/src/Table/User.php:106Copy
  • SELECT `g`.`id`,`g`.`title` FROM `jos_usergroups` AS `g` INNER JOIN `jos_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid2.71ms1.38KBParams/libraries/src/Table/User.php:134Copy
  • SELECT avatar FROM jos_osmembership_subscribers WHERE user_id = 385 AND avatar != ''2.63ms520BsameCopy
  • SELECT email FROM jos_users WHERE id = 3852.16ms536BsameCopy
  • SELECT g.title AS role, u.id AS access_id FROM jos_usergroups AS g INNER JOIN jos_user_usergroup_map AS ug ON g.id = ug.group_id INNER JOIN jos_users AS u ON u.id = ug.user_id WHERE u.id = '385'1.92ms608BsameCopy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `jos_modules` AS `m` LEFT JOIN `jos_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `jos_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`3.14ms1.89KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41,:preparedArray42,:preparedArray43,:preparedArray44)7.72ms7.81KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `jos_scheduler_tasks` AS `a` WHERE `a`.`state` = 14.55ms1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?2.74ms1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?5.03ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy