Submit
Path:
~
/
home
/
caidadmin
/
dev.scribes.sca-caid.org
/
wp-content
/
plugins
/
caldera-forms
/
classes
/
query
/
File Content:
pii.php
<?php /** * Class Caldera_Forms_Query_Pii * * Queries for saved values of a form that are PII for a given email. * Decorates Caldera_Forms_Query_Paginated and reduces results to PII fields only. */ class Caldera_Forms_Query_Pii { /** * The form configuration * * @since 1.7.0 * * @var array $form */ protected $form; /** * The email address to search by * * @since 1.7.0 * * @var string */ protected $email; /** * Paginated query * * @since 1.7.0 * * @var Caldera_Forms_Query_Paginated */ protected $paginated; /** * * @since 1.7.0 * * @var int */ protected $limit; /** * Caldera_Forms_Query_Pii constructor. * * @since 1.7.0 * * @param array $form The form configuration * @param string $email Email address to search PII by * @param Caldera_Forms_Query_Paginates $paginated * @param int $limit Optional. Total entries per page of results. Default is 25. */ public function __construct(array $form, $email, Caldera_Forms_Query_Paginates $paginated, $limit = 25) { $this->form = $form; $this->email = sanitize_email($email); $this->paginated = $paginated; $this->limit = caldera_forms_validate_number( $limit, 25, 100 ); } /** * Get one page of results * * @since 1.7.0 * * @param int $page Which page of results? * @return Caldera_Forms_Entry_Fields */ public function get_page($page) { return $this->find_entries($page); } /** * Given an array of entry IDs, reduce to personally identifying fields only * * @since 1.7.0 * * @param array $ids * @return array */ public function reduce_results_to_pii(array $ids) { $results = []; foreach ($ids as $entry_id) { $entry = new Caldera_Forms_Entry($this->form, $entry_id); $entry->get_fields(); $results[ $entry_id ] = []; /** @var Caldera_Forms_Entry_Field $field_value */ foreach ($entry->get_fields() as $field_value) { $results[ $entry_id ][$field_value->field_id] = []; if (Caldera_Forms_Field_Util::is_personally_identifying($field_value->field_id, $this->form) || Caldera_Forms_Field_Util::is_email_identifying_field($field_value->field_id, $this->form) ) { $results[ $entry_id ][$field_value->field_id] = $field_value->get_value(); } } } return $results; } /** * Finds entries belonging to this * * @since 1.7.0 * * @param int $page Which page of results? * @return array */ private function find_entries($page) { $featureContainer = \calderawp\CalderaFormsQueries\CalderaFormsQueries(); $entryValueSelect = $featureContainer ->getQueries() ->entryValuesSelect(); foreach (Caldera_Forms_Forms::email_identifying_fields($this->form) as $field) { $entryValueSelect->is('value', $this->email); } return $this ->paginated ->set_page($page) ->set_limit($this->limit) ->select_values_for_form($entryValueSelect); } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
query
---
0755
.htaccess
127 bytes
0444
paginated.php
5788 bytes
0644
paginates.php
1423 bytes
0644
pii.php
3419 bytes
0644
N4ST4R_ID | Naxtarrr