Source of file MemberLog.php
Size: 1,076 Bytes - Last Modified: 2021-12-23T10:11:16+00:00
/var/www/docs.ssmods.com/process/src/code/extensions/MemberLog.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | <?php namespace PurpleSpider\SSTweaks; use SilverStripe\ORM\DB; use SilverStripe\Forms\FieldList; use SilverStripe\ORM\DataExtension; use SilverStripe\Security\Security; use SilverStripe\Forms\ReadonlyField; class MemberLog extends DataExtension { private static $db = [ 'LastVisited' => 'Datetime', 'NumVisit' => 'Int', ]; public function afterMemberLoggedIn() { $this->logVisit(); } public function memberAutoLoggedIn() { $this->logVisit(); } public function updateCMSFields(FieldList $fields) { $fields->addFieldsToTab('Root.Main', [ ReadonlyField::create('LastVisited', 'Last visited'), ReadonlyField::create('NumVisit', 'Number of visits') ]); } protected function logVisit() { if (!Security::database_is_ready()) return; DB::query(sprintf( 'UPDATE "Member" SET "LastVisited" = %s, "NumVisit" = "NumVisit" + 1 WHERE "ID" = %d', DB::get_conn()->now(), $this->owner->ID )); } } |