# e2pdf/1.00.13/classes/model/e2pdf-options.php

E2Pdf – Export Pdf Tool for WordPress, version 1.00.13. 177 lines.

- Page: https://pluginprobe.com/plugins/e2pdf/1.00.13/code/classes/model/e2pdf-options.php
- Raw: https://pluginprobe.com/plugins/e2pdf/1.00.13/raw/classes/model/e2pdf-options.php
- Modified: 2018-11-07T14:38:30+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/e2pdf/1.00.13/code/classes/model/e2pdf-options.php#L10-L20`.

```php
<?php

/**
 * E2pdf Options Helper
 * 
 * @copyright  Copyright 2017 https://e2pdf.com
 * @license    GPL v2
 * @version    1
 * @link       https://e2pdf.com
 * @since      0.00.01
 */
if (!defined('ABSPATH')) {
    die('Access denied.');
}

class Model_E2pdf_Options extends Model_E2pdf_Model {

    /**
     * Get Options list
     * 
     * @param bool $all - Get all options
     * @param array $exclude_group - Array list of groups to exclude from the list
     * 
     * @return array() - List of options
     */
    function __construct() {
        parent::__construct();
    }

    public static function get_options($all = true, $only_group = array(), $exclude = false) {
        $helper = Helper_E2pdf_Helper::instance();
        $options = array(
            'static_group' => array(
                'name' => __('Static', 'e2pdf'),
                'options' => array(
                    array(
                        'key' => 'e2pdf_version',
                        'value' => $helper->get('version')
                    ),
                    array(
                        'key' => 'e2pdf_license',
                        'value' => get_option('e2pdf_license') === false ? false : get_option('e2pdf_license'),
                    ),
                    array(
                        'key' => 'e2pdf_force_update',
                        'value' => get_site_option('e2pdf_force_update') === false ? false : get_site_option('e2pdf_force_update'),
                    ),
                    array(
                        'key' => 'e2pdf_extensions',
                        'value' => get_option('e2pdf_extensions') === false ? array() : get_option('e2pdf_extensions'),
                    ),
                    array(
                        'key' => 'e2pdf_email',
                        'value' => get_option('e2pdf_email') === false ? false : get_option('e2pdf_email'),
                    )
                )
            ),
            'common_group' => array(
                'name' => __('Common', 'e2pdf'),
                'options' => array(
                    array(
                        'name' => __('PDF Processor', 'e2pdf'),
                        'key' => 'e2pdf_processor',
                        'value' => get_option('e2pdf_processor') === false ? 0 : get_option('e2pdf_processor'),
                        'default_value' => 0,
                        'type' => 'select',
                        'options' => array(
                            'Latest', 'Dev'
                        )
                    ),
                    array(
                        'name' => __('Debug', 'e2pdf'),
                        'key' => 'e2pdf_debug',
                        'value' => get_option('e2pdf_debug') === false ? 0 : get_option('e2pdf_debug'),
                        'default_value' => 0,
                        'type' => 'checkbox',
                        'placeholder' => __('Turn on Debug mode', 'e2pdf'),
                    ),
                    array(
                        'name' => __('Hide warnings', 'e2pdf'),
                        'key' => 'e2pdf_hide_warnings',
                        'value' => get_option('e2pdf_hide_warnings') === false ? 0 : get_option('e2pdf_hide_warnings'),
                        'default_value' => 0,
                        'type' => 'checkbox',
                        'placeholder' => __('Hide warnings', 'e2pdf'),
                    ),
                    array(
                        'name' => __('Connection Timout', 'e2pdf'),
                        'key' => 'e2pdf_connection_timeout',
                        'value' => get_option('e2pdf_connection_timeout') === false ? 300 : get_option('e2pdf_connection_timeout'),
                        'default_value' => 30,
                        'type' => 'text',
                        'class' => 'e2pdf-numbers',
                        'placeholder' => 0
                    ),
                    array(
                        'name' => __('Memory/Time Usage', 'e2pdf'),
                        'key' => 'e2pdf_memory_time',
                        'value' => get_option('e2pdf_memory_time') === false ? 0 : get_option('e2pdf_memory_time'),
                        'default_value' => 0,
                        'type' => 'checkbox',
                        'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
                    ),
                    array(
                        'name' => __('Developer Mode', 'e2pdf'),
                        'key' => 'e2pdf_developer',
                        'value' => get_option('e2pdf_developer') === false ? 0 : get_option('e2pdf_developer'),
                        'default_value' => 0,
                        'type' => 'checkbox',
                        'placeholder' => __('Turn on Developer mode', 'e2pdf'),
                    ),
                    array(
                        'name' => __('Developer IPs', 'e2pdf'),
                        'key' => 'e2pdf_developer_ips',
                        'value' => get_option('e2pdf_developer_ips') === false ? '' : get_option('e2pdf_developer_ips'),
                        'default_value' => '',
                        'type' => 'textarea',
                        'placeholder' => __('Developer IPs', 'e2pdf'),
                    )
                )
            ),
            'fonts_group' => array(
                'name' => __('Fonts', 'e2pdf'),
                'action' => 'fonts',
                'options' => array()
            ),
        );

        $options = apply_filters('e2pdf_model_options_get_options_options', $options);

        if ($all) {
            $opt = array();
            foreach ($options as $group_key => $group) {
                foreach ($group['options'] as $option_key => $option) {
                    $opt[$option['key']] = $option['value'];
                }
            }
            return $opt;
        } else {
            foreach ($options as $group_key => $group) {
                if ($exclude) {
                    if (in_array($group_key, $only_group)) {
                        unset($options[$group_key]);
                    }
                } else {
                    if (!in_array($group_key, $only_group)) {
                        unset($options[$group_key]);
                    }
                }
            }

            return $options;
        }
    }

    /**
     * Get Option value
     * 
     * @param string $key - Option key
     * 
     * @return mixed - Option value
     */
    function get_option($key) {
        if ($key === 'e2pdf_developer_ips') {
            $option = get_option($key);
            $developers = explode("\r\n", $option);
            if (!empty($developers)) {
                return $developers;
            }
            return array();
        } else {
            return get_option($key);
        }
    }

}

```
