====== ConsentDao ======
**Layer:** ''DAO'' · **Source:** ''lib/dao/ConsentDao.php:22'' (lines 22–199)
----
class ConsentDao extends Dao
ConsentDao Class
Data Access Object for consent records
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Dao Class |
| ''@author'' | Scriptlog |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
| ''@since'' | Since Release 1.0 |
======= Inheritance =======
^ Relation ^ Type ^ Meaning ^
| extends | [[scriptlog:lib:core:dao|''Dao'']] | parent class/interface |
======= Constants (0) =======
//None.//
======= Properties (0) =======
//None declared.//
======= Methods (9) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Constructor | 27 |
| public | ''recordConsent()'' | Record a new consent | 41 |
| public | ''updateConsent()'' | Update existing consent record | 60 |
| public | ''getLatestConsent()'' | Get latest consent by type | 76 |
| public | ''getAllConsents()'' | Get all consent records | 99 |
| public | ''getConsentsByIp()'' | Get consent history by IP | 120 |
| public | ''hasConsented()'' | Check if user has given consent | 148 |
| public | ''deleteOldConsents()'' | Delete consent records older than specified days | 176 |
| public | ''totalConsentRecords()'' | Total consent records | 193 |
======== __construct() ========
public function __construct()
//lines 27–30 (4)//
Constructor
//Takes no parameters.//
======== recordConsent() ========
public function recordConsent($consentType, $consentStatus, $ipAddress, $userAgent = null)
//lines 41–51 (11)//
Record a new consent
^ Parameter ^ Type ^ Default ^ Description ^
| ''$consentType'' | ''(untyped)'' | //required// | //none// |
| ''$consentStatus'' | ''(untyped)'' | //required// | //none// |
| ''$ipAddress'' | ''(untyped)'' | //required// | //none// |
| ''$userAgent'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — int|bool
======== updateConsent() ========
public function updateConsent($id, $consentStatus)
//lines 60–68 (9)//
Update existing consent record
^ Parameter ^ Type ^ Default ^ Description ^
| ''$id'' | ''(untyped)'' | //required// | //none// |
| ''$consentStatus'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — bool
======== getLatestConsent() ========
public function getLatestConsent($consentType)
//lines 76–88 (13)//
Get latest consent by type
^ Parameter ^ Type ^ Default ^ Description ^
| ''$consentType'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — array|bool
======== getAllConsents() ========
public function getAllConsents($orderBy = 'ID')
//lines 99–112 (14)//
Get all consent records
Sort column is validated against an explicit allow-list so raw input is
never interpolated into the query.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$orderBy'' | ''(untyped)'' | '''ID''' | //none// |
**Returns:** ''(none declared)'' — array|bool
======== getConsentsByIp() ========
public function getConsentsByIp($ipAddress)
//lines 120–131 (12)//
Get consent history by IP
^ Parameter ^ Type ^ Default ^ Description ^
| ''$ipAddress'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — array|bool
======== hasConsented() ========
public function hasConsented($consentType, $ipAddress = null)
//lines 148–168 (21)//
Check if user has given consent
Consent is evaluated per visitor when an IP address is provided;
without one the check falls back to the site-global record (legacy).
Semantics: returns true if the visitor has EVER accepted the given
consent type. Retention is enforced separately by deleteOldConsents(),
so a record pruned by the retention window simply no longer counts as
an acceptance.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$consentType'' | ''(untyped)'' | //required// | //none// |
| ''$ipAddress'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — bool
======== deleteOldConsents() ========
public function deleteOldConsents($days = 365)
//lines 176–186 (11)//
Delete consent records older than specified days
^ Parameter ^ Type ^ Default ^ Description ^
| ''$days'' | ''(untyped)'' | ''365'' | //none// |
**Returns:** ''(none declared)'' — bool
======== totalConsentRecords() ========
public function totalConsentRecords()
//lines 193–198 (6)//
Total consent records
//Takes no parameters.//
**Returns:** ''(none declared)'' — int
======= Imports =======
^ Alias ^ Fully-qualified name ^
| ''Dao'' | [[scriptlog:lib:core:dao|''Scriptlog\Core\Dao'']] |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//