====== GdprApiController ====== **Layer:** ''Controller'' · **Source:** ''lib/controller/api/GdprApiController.php:26'' (lines 26–160) ---- class GdprApiController extends ApiController GDPR API Controller Handles GDPR-related API endpoints including consent management ======= Docblock Metadata ======= ^ Tag ^ Value ^ | ''@category'' | Controller Class | | ''@author'' | Scriptlog | | ''@license'' | MIT | | ''@version'' | 1.0 | | ''@since'' | Since Release 1.0 | ======= Inheritance ======= ^ Relation ^ Type ^ Meaning ^ | extends | [[scriptlog:lib:controller:apicontroller|''ApiController'']] | parent class/interface | ======= Constants (0) ======= //None.// ======= Properties (3) ======= ^ Visibility ^ Type ^ Name ^ Default ^ Line ^ | ''private'' | ''(untyped)'' | ''$consentDao'' | | 32 | | ''private'' | ''(untyped)'' | ''$consentService'' | | 38 | | ''private'' | ''(untyped)'' | ''$hateoas'' | | 43 | ======= Methods (4) ======= ^ Visibility ^ Method ^ Summary ^ Line ^ | public | ''__construct()'' | Constructor | 48 | | public | ''consent()'' | Process cookie consent | 71 | | public | ''getConsentStatus()'' | Get consent status | 118 | | private | ''getClientIp()'' | Get client IP address | 152 | ======== __construct() ======== public function __construct() //lines 48–62 (15)// Constructor //Takes no parameters.// ======== consent() ======== public function consent($_params = []) //lines 71–109 (39)// Process cookie consent POST /api/v1/gdpr/consent ^ Parameter ^ Type ^ Default ^ Description ^ | ''$_params'' | ''(untyped)'' | ''[]'' | //none// | **Returns:** ''(none declared)'' ======== getConsentStatus() ======== public function getConsentStatus($_params = []) //lines 118–142 (25)// Get consent status GET /api/v1/gdpr/consent ^ Parameter ^ Type ^ Default ^ Description ^ | ''$_params'' | ''(untyped)'' | ''[]'' | //none// | **Returns:** ''(none declared)'' ======== getClientIp() ======== private function getClientIp() //lines 152–159 (8)// Get client IP address Delegates to the shared get_ip_address() helper so proxy headers are only trusted when the request actually came through Cloudflare. //Takes no parameters.// **Returns:** ''(none declared)'' — string ======= Imports ======= ^ Alias ^ Fully-qualified name ^ | ''ApiController'' | [[scriptlog:lib:controller:apicontroller|''Scriptlog\Controller\ApiController'']] | | ''ApiHateoas'' | [[scriptlog:lib:core:apihateoas|''Scriptlog\Core\ApiHateoas'']] | | ''ApiResponse'' | [[scriptlog:lib:core:apiresponse|''Scriptlog\Core\ApiResponse'']] | | ''ConsentDao'' | [[scriptlog:lib:dao:consentdao|''Scriptlog\Dao\ConsentDao'']] | | ''ConsentService'' | [[scriptlog:lib:service:consentservice|''Scriptlog\Service\ConsentService'']] | ---- //This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//