+ |
+
+ |
|
@@ -195,6 +198,13 @@
+
+ previousvisitDate !== null) : ?>
+ previousvisitDate, Text::_('DATE_FORMAT_LC6')); ?>
+
+
+
+ |
registerDate, Text::_('DATE_FORMAT_LC6')); ?>
|
diff --git a/administrator/language/en-GB/com_users.ini b/administrator/language/en-GB/com_users.ini
index 1cd983eb0de7f..0ea23bef9879e 100644
--- a/administrator/language/en-GB/com_users.ini
+++ b/administrator/language/en-GB/com_users.ini
@@ -184,6 +184,9 @@ COM_USERS_HEADING_LFT_ASC="LFT ascending"
COM_USERS_HEADING_LFT_DESC="LFT descending"
COM_USERS_HEADING_MFA="MFA"
COM_USERS_HEADING_NAME="Name"
+COM_USERS_HEADING_PREVIOUS_VISIT_DATE="Previous Visit"
+COM_USERS_HEADING_PREVIOUS_VISIT_DATE_ASC="Previous visit date ascending"
+COM_USERS_HEADING_PREVIOUS_VISIT_DATE_DESC="Previous visit date descending"
COM_USERS_HEADING_REGISTRATION_DATE="Registered"
COM_USERS_HEADING_REGISTRATION_DATE_ASC="Registration date ascending"
COM_USERS_HEADING_REGISTRATION_DATE_DESC="Registration date descending"
@@ -424,6 +427,7 @@ COM_USERS_USER_FIELD_NAME_LABEL="Name"
COM_USERS_USER_FIELD_NOCHANGE_USERNAME_DESC="If you want to change your Username, please contact a site administrator."
COM_USERS_USER_FIELD_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field."
COM_USERS_USER_FIELD_PASSWORD2_LABEL="Confirm Password"
+COM_USERS_USER_FIELD_PREVIOUSVISIT_LABEL="Previous Visit Date"
COM_USERS_USER_FIELD_REGISTERDATE_LABEL="Registration Date"
COM_USERS_USER_FIELD_REQUIRERESET_LABEL="Require Password Reset"
COM_USERS_USER_FIELD_RESETCOUNT_LABEL="Password Reset Count"
diff --git a/installation/sql/mysql/base.sql b/installation/sql/mysql/base.sql
index 61180d9da653b..4d1f72a18124c 100644
--- a/installation/sql/mysql/base.sql
+++ b/installation/sql/mysql/base.sql
@@ -1003,6 +1003,7 @@ CREATE TABLE IF NOT EXISTS `#__users` (
`sendEmail` tinyint DEFAULT 0,
`registerDate` datetime NOT NULL,
`lastvisitDate` datetime,
+ `previousvisitDate` datetime,
`activation` varchar(100) NOT NULL DEFAULT '',
`params` text NOT NULL,
`lastResetTime` datetime COMMENT 'Date of last password reset',
diff --git a/installation/sql/postgresql/base.sql b/installation/sql/postgresql/base.sql
index 2916c3f99c7a1..e2fbc966d8ce4 100644
--- a/installation/sql/postgresql/base.sql
+++ b/installation/sql/postgresql/base.sql
@@ -1026,6 +1026,7 @@ CREATE TABLE IF NOT EXISTS "#__users" (
"sendEmail" smallint DEFAULT 0,
"registerDate" timestamp without time zone NOT NULL,
"lastvisitDate" timestamp without time zone,
+ "previousvisitDate" timestamp without time zone,
"activation" varchar(100) DEFAULT '' NOT NULL,
"params" text NOT NULL,
"lastResetTime" timestamp without time zone,
diff --git a/libraries/src/Table/User.php b/libraries/src/Table/User.php
index 74796b681cb24..a3a020dd16f9c 100644
--- a/libraries/src/Table/User.php
+++ b/libraries/src/Table/User.php
@@ -247,6 +247,11 @@ public function check()
$this->lastvisitDate = null;
}
+ // Set the previousvisitDate timestamp
+ if (empty($this->previousvisitDate)) {
+ $this->previousvisitDate = null;
+ }
+
// Set the lastResetTime timestamp
if (empty($this->lastResetTime)) {
$this->lastResetTime = null;
@@ -535,6 +540,7 @@ public function setLastVisit($timeStamp = null, $userId = null)
$db = $this->getDatabase();
$query = $db->createQuery()
->update($db->quoteName($this->_tbl))
+ ->set($db->quoteName('previousvisitDate') . ' = ' . $db->quoteName('lastvisitDate'))
->set($db->quoteName('lastvisitDate') . ' = :lastvisitDate')
->where($db->quoteName('id') . ' = :id')
->bind(':lastvisitDate', $lastVisit)
diff --git a/libraries/src/User/User.php b/libraries/src/User/User.php
index cef076750124b..2de0c8b90ca8a 100644
--- a/libraries/src/User/User.php
+++ b/libraries/src/User/User.php
@@ -127,6 +127,14 @@ class User
*/
public $lastvisitDate = null;
+ /**
+ * Date of previous visit
+ *
+ * @var string
+ * @since __DEPLOY_VERSION__
+ */
+ public $previousvisitDate = null;
+
/**
* Activation hash
*