# double-opt-in/2.15/core/Pagination.class.php

Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification, version 2.15. 68 lines.

- Page: https://pluginprobe.com/plugins/double-opt-in/2.15/code/core/Pagination.class.php
- Raw: https://pluginprobe.com/plugins/double-opt-in/2.15/raw/core/Pagination.class.php
- Modified: 2022-12-16T11:04:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/double-opt-in/2.15/code/core/Pagination.class.php#L10-L20`.

```php
<?php

namespace forge12\contactform7\CF7DoubleOptIn {
    if (!defined('ABSPATH')) {
        exit;
    }

    /**
     * Class Pagination
     *
     * @package forge12\contactform7\CF7DoubleOptIn
     */
    class Pagination
    {
        private static $_instance = null;

        public static function getInstance()
        {
            if (null === self::$_instance) {
                self::$_instance = new Pagination();
            }
            return self::$_instance;
        }

        private function __construct()
        {
            // Add additional actions
            add_filter('f12_cf7_doubleoptin_pagination_link', array($this, 'buildLink'), 10, 2);
        }

        public function buildLink($link, $parameter = array())
        {
            /*
             * Default Parameter
             */
            $default = array(
                'perPage' => 10,
                'pageNum' => 1,
            );

            if(isset($_GET['perPage'])){
                $default['perPage'] = (int)$_GET['perPage'];
            }

            if(isset($_GET['pageNum'])){
                $default['pageNum'] = (int)$_GET['pageNum'];
            }

            if(isset($_GET['keyword'])){
                $default['keyword'] = sanitize_text_field($_GET['keyword']);
            }

            if(isset($_GET['cf_form_id'])){
                $default['cf_form_id'] = (int)$_GET['cf_form_id'];
            }

            $default = array_merge($default, $parameter);

            $default_keypair = array();

            foreach ($default as $key => $value) {
                $default_keypair[] = $key . '=' . $value;
            }

            return $link . '?' . implode("&", $default_keypair);
        }
    }
}
```
