ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilTermsOfServiceHelper Class Reference

Class ilTermsOfServiceHelper. More...

+ Collaboration diagram for ilTermsOfServiceHelper:

Public Member Functions

 __construct (ilDBInterface $database=null, ilTermsOfServiceDataGatewayFactory $dataGatewayFactory=null)
 ilTermsOfServiceHelper constructor. More...
 
 deleteAcceptanceHistoryByUser (int $userId)
 
 getCurrentAcceptanceForUser (ilObjUser $user)
 
 getById (int $id)
 
 trackAcceptance (ilObjUser $user, ilTermsOfServiceSignableDocument $document)
 

Static Public Member Functions

static isEnabled ()
 
static setStatus (bool $status)
 

Protected Attributes

 $database
 
 $dataGatewayFactory
 

Private Member Functions

 getEntityFactory ()
 
 getDataGatewayFactory ()
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTermsOfServiceHelper::__construct ( ilDBInterface  $database = null,
ilTermsOfServiceDataGatewayFactory  $dataGatewayFactory = null 
)

ilTermsOfServiceHelper constructor.

Parameters
ilDBInterface | null$database
ilTermsOfServiceDataGatewayFactory | null$dataGatewayFactory

Definition at line 21 of file class.ilTermsOfServiceHelper.php.

References $database, $dataGatewayFactory, and $DIC.

24  {
25  global $DIC;
26 
27  if (null === $database) {
28  $database = $DIC->database();
29  }
30  $this->database = $database;
31 
32  if (null === $dataGatewayFactory) {
33  $dataGatewayFactory = new ilTermsOfServiceDataGatewayFactory();
34  $dataGatewayFactory->setDatabaseAdapter($this->database);
35  }
36  $this->dataGatewayFactory = $dataGatewayFactory;
37  }
Class ilTermsOfServiceDataGatewayFactory.
$DIC
Definition: xapitoken.php:46

Member Function Documentation

◆ deleteAcceptanceHistoryByUser()

ilTermsOfServiceHelper::deleteAcceptanceHistoryByUser ( int  $userId)
Parameters
int$userId
Exceptions
ilTermsOfServiceMissingDatabaseAdapterException

Definition at line 63 of file class.ilTermsOfServiceHelper.php.

References getDataGatewayFactory(), and getEntityFactory().

63  : void
64  {
65  $entity = $this->getEntityFactory()->getByName('ilTermsOfServiceAcceptanceEntity');
66  $databaseGateway = $this->getDataGatewayFactory()->getByName('ilTermsOfServiceAcceptanceDatabaseGateway');
67 
68  $databaseGateway->deleteAcceptanceHistoryByUser($entity->withUserId($userId));
69  }
+ Here is the call graph for this function:

◆ getById()

ilTermsOfServiceHelper::getById ( int  $id)
Parameters
int$id
Returns
ilTermsOfServiceAcceptanceEntity
Exceptions
ilTermsOfServiceMissingDatabaseAdapterException

Definition at line 89 of file class.ilTermsOfServiceHelper.php.

References getDataGatewayFactory(), and getEntityFactory().

90  {
91  $entity = $this->getEntityFactory()->getByName('ilTermsOfServiceAcceptanceEntity');
92  $databaseGateway = $this->getDataGatewayFactory()->getByName('ilTermsOfServiceAcceptanceDatabaseGateway');
93 
94  return $databaseGateway->loadById($entity->withId($id));
95  }
Class ilTermsOfServiceAcceptanceEntity.
+ Here is the call graph for this function:

◆ getCurrentAcceptanceForUser()

ilTermsOfServiceHelper::getCurrentAcceptanceForUser ( ilObjUser  $user)
Parameters
ilObjUser$user
Returns
ilTermsOfServiceAcceptanceEntity
Exceptions
ilTermsOfServiceMissingDatabaseAdapterException

Definition at line 76 of file class.ilTermsOfServiceHelper.php.

References getDataGatewayFactory(), getEntityFactory(), and ilObject\getId().

77  {
78  $entity = $this->getEntityFactory()->getByName('ilTermsOfServiceAcceptanceEntity');
79  $databaseGateway = $this->getDataGatewayFactory()->getByName('ilTermsOfServiceAcceptanceDatabaseGateway');
80 
81  return $databaseGateway->loadCurrentAcceptanceOfUser($entity->withUserId((int) $user->getId()));
82  }
getId()
get object id public
Class ilTermsOfServiceAcceptanceEntity.
+ Here is the call graph for this function:

◆ getDataGatewayFactory()

ilTermsOfServiceHelper::getDataGatewayFactory ( )
private

◆ getEntityFactory()

ilTermsOfServiceHelper::getEntityFactory ( )
private
Returns
ilTermsOfServiceEntityFactory

Definition at line 129 of file class.ilTermsOfServiceHelper.php.

Referenced by deleteAcceptanceHistoryByUser(), getById(), getCurrentAcceptanceForUser(), and trackAcceptance().

130  {
131  return new ilTermsOfServiceEntityFactory();
132  }
Class ilTermsOfServiceEntityFactory.
+ Here is the caller graph for this function:

◆ isEnabled()

static ilTermsOfServiceHelper::isEnabled ( )
static

◆ setStatus()

static ilTermsOfServiceHelper::setStatus ( bool  $status)
static
Parameters
bool$status

Definition at line 52 of file class.ilTermsOfServiceHelper.php.

References $DIC.

Referenced by ilObjTermsOfService\saveStatus().

52  : void
53  {
54  global $DIC;
55 
56  $DIC['ilSetting']->set('tos_status', (int) $status);
57  }
$DIC
Definition: xapitoken.php:46
+ Here is the caller graph for this function:

◆ trackAcceptance()

ilTermsOfServiceHelper::trackAcceptance ( ilObjUser  $user,
ilTermsOfServiceSignableDocument  $document 
)
Parameters
ilObjUser$user
ilTermsOfServiceSignableDocument$document
Exceptions
ilTermsOfServiceMissingDatabaseAdapterException
ilTermsOfServiceUnexpectedCriteriaBagContentException

Definition at line 103 of file class.ilTermsOfServiceHelper.php.

References ilTermsOfServiceSignableDocument\content(), ilTermsOfServiceSignableDocument\criteria(), getDataGatewayFactory(), getEntityFactory(), ilObject\getId(), ilObjUser\hasToAcceptTermsOfServiceInSession(), ilTermsOfServiceSignableDocument\id(), ilTermsOfServiceSignableDocument\title(), and ilObjUser\writeAccepted().

103  : void
104  {
105  $entity = $this->getEntityFactory()->getByName('ilTermsOfServiceAcceptanceEntity');
106  $databaseGateway = $this->getDataGatewayFactory()->getByName('ilTermsOfServiceAcceptanceDatabaseGateway');
107 
108  $entity = $entity
109  ->withUserId((int) $user->getId())
110  ->withTimestamp(time())
111  ->withText((string) $document->content())
112  ->withHash(md5($document->content()))
113  ->withDocumentId((int) $document->id())
114  ->withTitle((string) $document->title());
115 
116  $criteriaBag = new ilTermsOfServiceAcceptanceHistoryCriteriaBag($document->criteria());
117  $entity = $entity->withSerializedCriteria($criteriaBag->toJson());
118 
119  $databaseGateway->trackAcceptance($entity);
120 
121  $user->writeAccepted();
122 
124  }
writeAccepted()
write accept date of user agreement to db
getId()
get object id public
hasToAcceptTermsOfServiceInSession($status=null)
+ Here is the call graph for this function:

Field Documentation

◆ $database

ilTermsOfServiceHelper::$database
protected

Definition at line 11 of file class.ilTermsOfServiceHelper.php.

Referenced by __construct().

◆ $dataGatewayFactory

ilTermsOfServiceHelper::$dataGatewayFactory
protected

Definition at line 14 of file class.ilTermsOfServiceHelper.php.

Referenced by __construct(), and getDataGatewayFactory().


The documentation for this class was generated from the following file: