<?xml version="1.0" encoding="utf-8"?>
<extension version="3.0" type="plugin" group="system" method="upgrade">
    <name>plg_system_gtag</name>
    <author>Michael Richey</author>
    <creationDate>August 2017</creationDate>
    <copyright>Copyright (C) 2009 - 2017 Michael Richey. All rights reserved.</copyright>
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    <authorEmail>support@richeyweb.com</authorEmail>
    <authorUrl>https://www.richeyweb.com</authorUrl>
    <version>5.1.11</version>
    <description>PLG_SYSTEM_GTAG_XML_DESC</description>
	<namespace path="src">Joomla\Plugin\System\gtag</namespace>
    <media destination="plg_system_gtag" folder="media">
        <folder>js</folder>
    </media>
    <files>
        <folder plugin="gtag">services</folder>
        <folder>forms</folder>
        <folder>media</folder>
        <folder>src</folder>
    </files>
    <languages>
        <language tag="en-GB">language/en-GB/plg_system_gtag.ini</language>
        <language tag="en-GB">language/en-GB/plg_system_gtag.sys.ini</language>
    </languages>
    <config>
        <fields name="params">
            <fieldset name="basic" addfieldprefix="Joomla\Plugin\System\gtag\Field">
                <field name="measurement_id" type="text" default=""
                    label="PLG_SYSTEM_GTAG_MEASUREMENT_ID_LABEL"
                    description="PLG_SYSTEM_GTAG_MEASUREMENT_ID_DESC"
                    required="true"
                    placeholder="G-XXXXXXXXXX or GTM-XXXXXXXXXX"
                    pattern="(G|GTM)-[A-Z0-9]+"
                />
                <field name="anonymize_ip" type="radio" default="0"
                    label="PLG_SYSTEM_GTAG_ANONYMIZE_IP_LABEL"
                    description="PLG_SYSTEM_GTAG_ANONYMIZE_IP_DESC"
                    required="true"
                    class="btn-group btn-group-yesno">
                    <option value="0">JNo</option>
                    <option value="1">JYes</option>
                </field>
                <field name="tornodes" 
                    type="betterspacer"
                    label="PLG_SYSTEM_GTAG_TORNODES_SPACER_LABEL"
                    description="PLG_SYSTEM_GTAG_TORNODES_SPACER_DESC"
                />
                <field name="track_tor" type="radio" default="0"
                    label="PLG_SYSTEM_GTAG_TRACK_TOR_LABEL"
                    description="PLG_SYSTEM_GTAG_TRACK_TOR_DESC"
                    required="true"
                    class="btn-group btn-group-yesno">
                    <option value="0">JNo</option>
                    <option value="1">JYes</option>
                </field>
                <field name="tor_method" type="radio" default="0"
                    label="PLG_SYSTEM_GTAG_TOR_METHOD_LABEL"
                    description="PLG_SYSTEM_GTAG_TOR_METHOD_DESC"
                    required="true"
                    class="btn-group"
                    showon="track_tor:1"
                >
                    <option value="0">PLG_SYSTEM_GTAG_TOR_METHOD_DEFAULT</option>
                    <option value="1">PLG_SYSTEM_GTAG_TOR_METHOD_PROXY</option>
                </field>
                <field name="torproxy" 
                    type="betterspacer"
                    label="PLG_SYSTEM_GTAG_TORNODES_PROXY_LABEL"
                    description="PLG_SYSTEM_GTAG_TORNODES_PROXY_DESC"
                    showon="tor_method:1"
                />
            </fieldset>
            <fieldset name="types">
                <!-- types: ad_storage, ad_user_data, ad_personalization, analytics_storage, functionality_storage, personalization_storage, and security_storage-->
                <field name="types" type="checkboxes" default=""
                    label="PLG_SYSTEM_GTAG_TYPES_LABEL"
                    description="PLG_SYSTEM_GTAG_TYPES_DESC"
                    required="false"
                    multiple="true"
                >
                    <option value="ad_storage">PLG_SYSTEM_GTAG_SCRIPT_AD_STORAGE</option>
                    <option value="ad_user_data">PLG_SYSTEM_GTAG_SCRIPT_AD_USER_DATA</option>
                    <option value="ad_personalization">PLG_SYSTEM_GTAG_SCRIPT_AD_PERSONALIZATION</option>
                    <option value="analytics_storage">PLG_SYSTEM_GTAG_SCRIPT_ANALYTICS_STORAGE</option>
                    <option value="functionality_storage">PLG_SYSTEM_GTAG_SCRIPT_FUNCTIONALITY_STORAGE</option>
                    <option value="personalization_storage">PLG_SYSTEM_GTAG_SCRIPT_PERSONALIZATION_STORAGE</option>
                    <option value="security_storage">PLG_SYSTEM_GTAG_SCRIPT_SECURITY_STORAGE</option>
                </field>
                <field name="ad_storage_default" type="radio" default="denied"
                    label="PLG_SYSTEM_GTAG_AD_STORAGE_DEFAULT_LABEL"
                    description="PLG_SYSTEM_GTAG_SCRIPT_AD_STORAGE_DESC"
                    required="true"
                    class="btn-group"
                    showon="types:ad_storage"
                >
                    <option value="denied">denied</option>
                    <option value="granted">granted</option>
                </field>
                <field name="ad_user_data_default" type="radio" default="denied"
                    label="PLG_SYSTEM_GTAG_AD_USER_DATA_DEFAULT_LABEL"
                    description="PLG_SYSTEM_GTAG_SCRIPT_AD_USER_DATA_DESC"
                    required="true"
                    class="btn-group"
                    showon="types:ad_user_data"
                >
                    <option value="denied">denied</option>
                    <option value="granted">granted</option>
                </field>
                <field name="ad_personalization_default" type="radio" default="denied"
                    label="PLG_SYSTEM_GTAG_AD_PERSONALIZATION_DEFAULT_LABEL"
                    description="PLG_SYSTEM_GTAG_SCRIPT_AD_PERSONALIZATION_DESC"
                    required="true"
                    class="btn-group"
                    showon="types:ad_personalization"
                >
                    <option value="denied">denied</option>
                    <option value="granted">granted</option>
                </field>
                <field name="analytics_storage_default" type="radio" default="denied"
                    label="PLG_SYSTEM_GTAG_ANALYTICS_STORAGE_DEFAULT_LABEL"
                    description="PLG_SYSTEM_GTAG_SCRIPT_ANALYTICS_STORAGE_DESC"
                    required="true"
                    class="btn-group"
                    showon="types:analytics_storage"
                >
                    <option value="denied">denied</option>
                    <option value="granted">granted</option>
                </field>
                <field name="functionality_storage_default" type="radio" default="denied"
                    label="PLG_SYSTEM_GTAG_FUNCTIONALITY_STORAGE_DEFAULT_LABEL"
                    description="PLG_SYSTEM_GTAG_SCRIPT_FUNCTIONALITY_STORAGE_DESC"
                    required="true"
                    class="btn-group"
                    showon="types:functionality_storage"
                >
                    <option value="denied">denied</option>
                    <option value="granted">granted</option>
                </field>
                <field name="personalization_storage_default" type="radio" default="denied"
                    label="PLG_SYSTEM_GTAG_PERSONALIZATION_STORAGE_DEFAULT_LABEL"
                    description="PLG_SYSTEM_GTAG_SCRIPT_PERSONALIZATION_STORAGE_DESC"
                    required="true"
                    class="btn-group"
                    showon="types:personalization_storage"
                >
                    <option value="denied">denied</option>
                    <option value="granted">granted</option>
                </field>
                <field name="security_storage_default" type="radio" default="denied"
                    label="PLG_SYSTEM_GTAG_SECURITY_STORAGE_DEFAULT_LABEL"
                    description="PLG_SYSTEM_GTAG_SCRIPT_SECURITY_STORAGE_DESC"
                    required="true"
                    class="btn-group"
                    showon="types:security_storage"
                >
                    <option value="denied">denied</option>
                    <option value="granted">granted</option>
                </field>
            </fieldset>
            <fieldset name="mandatory" description="PLG_SYSTEM_GTAG_MANDATORY_DESC">
                <field name="mandatory" type="checkboxes" default=""
                    label="PLG_SYSTEM_GTAG_MANDATORY_LABEL"
                    description="PLG_SYSTEM_GTAG_MANDATORY_DESC"
                    required="false"
                    multiple="true"
                >
                    <option value="ad_storage">PLG_SYSTEM_GTAG_SCRIPT_AD_STORAGE</option>
                    <option value="ad_user_data">PLG_SYSTEM_GTAG_SCRIPT_AD_USER_DATA</option>
                    <option value="ad_personalization">PLG_SYSTEM_GTAG_SCRIPT_AD_PERSONALIZATION</option>
                    <option value="analytics_storage">PLG_SYSTEM_GTAG_SCRIPT_ANALYTICS_STORAGE</option>
                    <option value="functionality_storage">PLG_SYSTEM_GTAG_SCRIPT_FUNCTIONALITY_STORAGE</option>
                    <option value="personalization_storage">PLG_SYSTEM_GTAG_SCRIPT_PERSONALIZATION_STORAGE</option>
                    <option value="security_storage">PLG_SYSTEM_GTAG_SCRIPT_SECURITY_STORAGE</option>
                </field>
            </fieldset>
            <fieldset name="events" description="PLG_SYSTEM_GTAG_EVENTS_DESC">
                <field  name="click_events" 
                    type="subform" 
                    label="PLG_SYSTEM_GTAG_CLICK_EVENTS_LABEL" 
                    description="PLG_SYSTEM_GTAG_CLICK_EVENTS_DESC" 
                    required="false" 
                    multiple="true"
                    formsource="plugins/system/gtag/forms/event.xml"
                />
            </fieldset>
        </fields>
    </config>
    <updateservers>
        <server type="extension" priority="1" name="RicheyWeb Update Site">https://cdn.richeyweb.com/updates/gtag.xml</server>
    </updateservers>
</extension>
