Version Description
- 2019-04-04 =
- Fixed notices in order meta box
- Fixed changelog entries
Download this release
Release Info
Developer | jablonowski |
Plugin | Flexible Shipping for WooCommerce |
Version | 3.3.3 |
Comparing to | |
See all releases |
Code changes from version 3.3.2 to 3.3.3
- classes/shipment/saas/class-shipment-saas-metabox-attachments.php +4 -0
- classes/shipment/saas/views/order-metabox-shipment-attachments.php +4 -0
- composer.lock +2424 -0
- flexible-shipping.php +3 -5
- readme.txt +8 -4
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +0 -97
- vendor/composer/autoload_psr4.php +0 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +4 -109
- vendor/composer/installed.json +0 -172
- vendor/composer/installers/LICENSE +0 -19
- vendor/composer/installers/composer.json +0 -105
- vendor/composer/installers/src/Composer/Installers/AglInstaller.php +0 -21
- vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php +0 -49
- vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/BaseInstaller.php +0 -136
- vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php +0 -126
- vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php +0 -82
- vendor/composer/installers/src/Composer/Installers/ChefInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php +0 -34
- vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php +0 -13
- vendor/composer/installers/src/Composer/Installers/CraftInstaller.php +0 -35
- vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php +0 -21
- vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php +0 -50
- vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php +0 -16
- vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php +0 -16
- vendor/composer/installers/src/Composer/Installers/ElggInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php +0 -12
- vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php +0 -29
- vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/FuelInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/GravInstaller.php +0 -30
- vendor/composer/installers/src/Composer/Installers/HuradInstaller.php +0 -25
- vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/Installer.php +0 -274
- vendor/composer/installers/src/Composer/Installers/ItopInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php +0 -15
- vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php +0 -18
- vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php +0 -27
- vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php +0 -16
- vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php +0 -37
- vendor/composer/installers/src/Composer/Installers/MakoInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/MauticInstaller.php +0 -25
- vendor/composer/installers/src/Composer/Installers/MayaInstaller.php +0 -33
- vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php +0 -51
- vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php +0 -111
- vendor/composer/installers/src/Composer/Installers/ModxInstaller.php +0 -12
- vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php +0 -57
- vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php +0 -47
- vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php +0 -24
- vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php +0 -14
- vendor/composer/installers/src/Composer/Installers/OxidInstaller.php +0 -59
- vendor/composer/installers/src/Composer/Installers/PPIInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php +0 -21
- vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php +0 -32
- vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php +0 -29
- vendor/composer/installers/src/Composer/Installers/Plugin.php +0 -17
- vendor/composer/installers/src/Composer/Installers/PortoInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php +0 -63
- vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php +0 -24
- vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php +0 -22
- vendor/composer/installers/src/Composer/Installers/SMFInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php +0 -60
- vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php +0 -35
- vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php +0 -25
- vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php +0 -49
- vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php +0 -26
- vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php +0 -16
- vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php +0 -38
- vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php +0 -12
- vendor/composer/installers/src/Composer/Installers/TuskInstaller.php +0 -14
- vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php +0 -49
- vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php +0 -10
- vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php +0 -9
- vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php +0 -12
- vendor/composer/installers/src/Composer/Installers/YawikInstaller.php +0 -32
- vendor/composer/installers/src/Composer/Installers/ZendInstaller.php +0 -11
- vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php +0 -10
- vendor/composer/installers/src/bootstrap.php +0 -13
- vendor/wpdesk/wp-settings/.editorconfig +0 -29
- vendor/wpdesk/wp-settings/.gitattributes +0 -2
- vendor/wpdesk/wp-settings/.gitignore +0 -36
- vendor/wpdesk/wp-settings/.gitlab-ci.yml +0 -310
- vendor/wpdesk/wp-settings/.gitlab/issue_templates/Bug.md +0 -32
- vendor/wpdesk/wp-settings/.jshintrc +0 -14
- vendor/wpdesk/wp-settings/CONTRIBUTING.md +0 -6
- vendor/wpdesk/wp-settings/README.md +0 -5
- vendor/wpdesk/wp-settings/apigen.neon +0 -4
- vendor/wpdesk/wp-settings/composer.json +0 -34
- vendor/wpdesk/wp-settings/license.txt +0 -281
- vendor/wpdesk/wp-settings/source/assets/css/admin-settings.css +0 -82
- vendor/wpdesk/wp-settings/source/assets/css/admin-settings.min.css +0 -1
- vendor/wpdesk/wp-settings/source/assets/css/admin.css +0 -35
- vendor/wpdesk/wp-settings/source/assets/css/admin.min.css +0 -1
- vendor/wpdesk/wp-settings/source/assets/css/jquery-ui-classic.min.css +0 -1
- vendor/wpdesk/wp-settings/source/assets/css/jquery-ui-fresh.min.css +0 -1
- vendor/wpdesk/wp-settings/source/assets/js/admin-settings.js +0 -104
- vendor/wpdesk/wp-settings/source/assets/js/admin-settings.min.js +0 -1
- vendor/wpdesk/wp-settings/source/assets/js/admin.js +0 -104
- vendor/wpdesk/wp-settings/source/assets/js/admin.min.js +0 -1
- vendor/wpdesk/wp-settings/source/class.s214-settings.php +0 -1233
- vendor/wpdesk/wp-settings/source/class.wpdesk-s214-settings.php +0 -1198
- vendor/wpdesk/wp-settings/source/class.wpdesk-wp-settings.php +0 -48
- vendor/wpdesk/wp-settings/source/modules/licensing/S214_Plugin_Updater.php +0 -382
- vendor/wpdesk/wp-settings/source/modules/licensing/class.s214-license.php +0 -385
- vendor/wpdesk/wp-settings/source/modules/sysinfo/browser.php +0 -1103
- vendor/wpdesk/wp-settings/source/modules/sysinfo/class.s214-sysinfo.php +0 -442
classes/shipment/saas/class-shipment-saas-metabox-attachments.php
CHANGED
@@ -26,6 +26,10 @@ class WPDesk_Flexible_Shipping_Shipment_Saas_Metabox_Attachments {
|
|
26 |
* Display order metabox attachments.
|
27 |
*/
|
28 |
public function display_order_metabox_attachments() {
|
|
|
|
|
|
|
|
|
29 |
$shipment_id = $this->shipment->get_id();
|
30 |
$type_field_id = 'attachment_type';
|
31 |
$attachment_field_id = 'attachment_attachment_id';
|
26 |
* Display order metabox attachments.
|
27 |
*/
|
28 |
public function display_order_metabox_attachments() {
|
29 |
+
global $thepostid;
|
30 |
+
|
31 |
+
$thepostid = $this->shipment->get_order()->get_id();
|
32 |
+
|
33 |
$shipment_id = $this->shipment->get_id();
|
34 |
$type_field_id = 'attachment_type';
|
35 |
$attachment_field_id = 'attachment_attachment_id';
|
classes/shipment/saas/views/order-metabox-shipment-attachments.php
CHANGED
@@ -8,6 +8,9 @@
|
|
8 |
* @var array $attachment_types Allowed document types.
|
9 |
* @var string $shipment_id Shipment ID.
|
10 |
*/
|
|
|
|
|
|
|
11 |
?>
|
12 |
<?php $show_send_button = false; ?>
|
13 |
<div class="flexible-shipping-shipment-attachments">
|
@@ -46,6 +49,7 @@
|
|
46 |
</div><br />
|
47 |
<?php
|
48 |
$args = array(
|
|
|
49 |
'id' => $type_field_id,
|
50 |
'type' => 'select',
|
51 |
'class' => 'flexible-shipping-shipment-attachments-type',
|
8 |
* @var array $attachment_types Allowed document types.
|
9 |
* @var string $shipment_id Shipment ID.
|
10 |
*/
|
11 |
+
|
12 |
+
$type_value = '';
|
13 |
+
$attachment_id_value = '';
|
14 |
?>
|
15 |
<?php $show_send_button = false; ?>
|
16 |
<div class="flexible-shipping-shipment-attachments">
|
49 |
</div><br />
|
50 |
<?php
|
51 |
$args = array(
|
52 |
+
'label' => '',
|
53 |
'id' => $type_field_id,
|
54 |
'type' => 'select',
|
55 |
'class' => 'flexible-shipping-shipment-attachments-type',
|
composer.lock
ADDED
@@ -0,0 +1,2424 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_readme": [
|
3 |
+
"This file locks the dependencies of your project to a known state",
|
4 |
+
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
+
"This file is @generated automatically"
|
6 |
+
],
|
7 |
+
"content-hash": "2a09b774172fcdd423aaf8e1c7abe382",
|
8 |
+
"packages": [
|
9 |
+
{
|
10 |
+
"name": "moneyphp/money",
|
11 |
+
"version": "v3.2.1",
|
12 |
+
"source": {
|
13 |
+
"type": "git",
|
14 |
+
"url": "https://github.com/moneyphp/money.git",
|
15 |
+
"reference": "f6085de6c565e98d2f9a7311a605987b54e06d5e"
|
16 |
+
},
|
17 |
+
"dist": {
|
18 |
+
"type": "zip",
|
19 |
+
"url": "https://api.github.com/repos/moneyphp/money/zipball/f6085de6c565e98d2f9a7311a605987b54e06d5e",
|
20 |
+
"reference": "f6085de6c565e98d2f9a7311a605987b54e06d5e",
|
21 |
+
"shasum": ""
|
22 |
+
},
|
23 |
+
"require": {
|
24 |
+
"ext-json": "*",
|
25 |
+
"php": ">=5.6"
|
26 |
+
},
|
27 |
+
"require-dev": {
|
28 |
+
"cache/taggable-cache": "^0.4.0",
|
29 |
+
"doctrine/instantiator": "^1.0.5",
|
30 |
+
"ext-bcmath": "*",
|
31 |
+
"ext-gmp": "*",
|
32 |
+
"ext-intl": "*",
|
33 |
+
"florianv/exchanger": "^1.0",
|
34 |
+
"florianv/swap": "^3.0",
|
35 |
+
"leanphp/phpspec-code-coverage": "^3.0 || ^4.0",
|
36 |
+
"moneyphp/iso-currencies": "^3.0",
|
37 |
+
"php-http/message": "^1.4",
|
38 |
+
"php-http/mock-client": "^1.0.0",
|
39 |
+
"phpspec/phpspec": "^3.0",
|
40 |
+
"phpunit/phpunit": "^5.7 || ^6.4 || ^7.0",
|
41 |
+
"psr/cache": "^1.0",
|
42 |
+
"symfony/phpunit-bridge": "^4"
|
43 |
+
},
|
44 |
+
"suggest": {
|
45 |
+
"ext-bcmath": "Calculate without integer limits",
|
46 |
+
"ext-gmp": "Calculate without integer limits",
|
47 |
+
"ext-intl": "Format Money objects with intl",
|
48 |
+
"florianv/exchanger": "Exchange rates library for PHP",
|
49 |
+
"florianv/swap": "Exchange rates library for PHP",
|
50 |
+
"psr/cache-implementation": "Used for Currency caching"
|
51 |
+
},
|
52 |
+
"type": "library",
|
53 |
+
"extra": {
|
54 |
+
"branch-alias": {
|
55 |
+
"dev-master": "3.0-dev"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"autoload": {
|
59 |
+
"psr-4": {
|
60 |
+
"Money\\": "src/"
|
61 |
+
}
|
62 |
+
},
|
63 |
+
"notification-url": "https://packagist.org/downloads/",
|
64 |
+
"license": [
|
65 |
+
"MIT"
|
66 |
+
],
|
67 |
+
"authors": [
|
68 |
+
{
|
69 |
+
"name": "Márk Sági-Kazár",
|
70 |
+
"email": "mark.sagikazar@gmail.com"
|
71 |
+
},
|
72 |
+
{
|
73 |
+
"name": "Mathias Verraes",
|
74 |
+
"email": "mathias@verraes.net",
|
75 |
+
"homepage": "http://verraes.net"
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"name": "Frederik Bosch",
|
79 |
+
"email": "f.bosch@genkgo.nl"
|
80 |
+
}
|
81 |
+
],
|
82 |
+
"description": "PHP implementation of Fowler's Money pattern",
|
83 |
+
"homepage": "http://moneyphp.org",
|
84 |
+
"keywords": [
|
85 |
+
"Value Object",
|
86 |
+
"money",
|
87 |
+
"vo"
|
88 |
+
],
|
89 |
+
"time": "2019-02-07T18:01:35+00:00"
|
90 |
+
},
|
91 |
+
{
|
92 |
+
"name": "monolog/monolog",
|
93 |
+
"version": "1.24.0",
|
94 |
+
"source": {
|
95 |
+
"type": "git",
|
96 |
+
"url": "https://github.com/Seldaek/monolog.git",
|
97 |
+
"reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266"
|
98 |
+
},
|
99 |
+
"dist": {
|
100 |
+
"type": "zip",
|
101 |
+
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266",
|
102 |
+
"reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266",
|
103 |
+
"shasum": ""
|
104 |
+
},
|
105 |
+
"require": {
|
106 |
+
"php": ">=5.3.0",
|
107 |
+
"psr/log": "~1.0"
|
108 |
+
},
|
109 |
+
"provide": {
|
110 |
+
"psr/log-implementation": "1.0.0"
|
111 |
+
},
|
112 |
+
"require-dev": {
|
113 |
+
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
114 |
+
"doctrine/couchdb": "~1.0@dev",
|
115 |
+
"graylog2/gelf-php": "~1.0",
|
116 |
+
"jakub-onderka/php-parallel-lint": "0.9",
|
117 |
+
"php-amqplib/php-amqplib": "~2.4",
|
118 |
+
"php-console/php-console": "^3.1.3",
|
119 |
+
"phpunit/phpunit": "~4.5",
|
120 |
+
"phpunit/phpunit-mock-objects": "2.3.0",
|
121 |
+
"ruflin/elastica": ">=0.90 <3.0",
|
122 |
+
"sentry/sentry": "^0.13",
|
123 |
+
"swiftmailer/swiftmailer": "^5.3|^6.0"
|
124 |
+
},
|
125 |
+
"suggest": {
|
126 |
+
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
|
127 |
+
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
128 |
+
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
129 |
+
"ext-mongo": "Allow sending log messages to a MongoDB server",
|
130 |
+
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
131 |
+
"mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
|
132 |
+
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
133 |
+
"php-console/php-console": "Allow sending log messages to Google Chrome",
|
134 |
+
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
135 |
+
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
136 |
+
"sentry/sentry": "Allow sending log messages to a Sentry server"
|
137 |
+
},
|
138 |
+
"type": "library",
|
139 |
+
"extra": {
|
140 |
+
"branch-alias": {
|
141 |
+
"dev-master": "2.0.x-dev"
|
142 |
+
}
|
143 |
+
},
|
144 |
+
"autoload": {
|
145 |
+
"psr-4": {
|
146 |
+
"Monolog\\": "src/Monolog"
|
147 |
+
}
|
148 |
+
},
|
149 |
+
"notification-url": "https://packagist.org/downloads/",
|
150 |
+
"license": [
|
151 |
+
"MIT"
|
152 |
+
],
|
153 |
+
"authors": [
|
154 |
+
{
|
155 |
+
"name": "Jordi Boggiano",
|
156 |
+
"email": "j.boggiano@seld.be",
|
157 |
+
"homepage": "http://seld.be"
|
158 |
+
}
|
159 |
+
],
|
160 |
+
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
|
161 |
+
"homepage": "http://github.com/Seldaek/monolog",
|
162 |
+
"keywords": [
|
163 |
+
"log",
|
164 |
+
"logging",
|
165 |
+
"psr-3"
|
166 |
+
],
|
167 |
+
"time": "2018-11-05T09:00:11+00:00"
|
168 |
+
},
|
169 |
+
{
|
170 |
+
"name": "psr/log",
|
171 |
+
"version": "1.1.0",
|
172 |
+
"source": {
|
173 |
+
"type": "git",
|
174 |
+
"url": "https://github.com/php-fig/log.git",
|
175 |
+
"reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
|
176 |
+
},
|
177 |
+
"dist": {
|
178 |
+
"type": "zip",
|
179 |
+
"url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
|
180 |
+
"reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
|
181 |
+
"shasum": ""
|
182 |
+
},
|
183 |
+
"require": {
|
184 |
+
"php": ">=5.3.0"
|
185 |
+
},
|
186 |
+
"type": "library",
|
187 |
+
"extra": {
|
188 |
+
"branch-alias": {
|
189 |
+
"dev-master": "1.0.x-dev"
|
190 |
+
}
|
191 |
+
},
|
192 |
+
"autoload": {
|
193 |
+
"psr-4": {
|
194 |
+
"Psr\\Log\\": "Psr/Log/"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"notification-url": "https://packagist.org/downloads/",
|
198 |
+
"license": [
|
199 |
+
"MIT"
|
200 |
+
],
|
201 |
+
"authors": [
|
202 |
+
{
|
203 |
+
"name": "PHP-FIG",
|
204 |
+
"homepage": "http://www.php-fig.org/"
|
205 |
+
}
|
206 |
+
],
|
207 |
+
"description": "Common interface for logging libraries",
|
208 |
+
"homepage": "https://github.com/php-fig/log",
|
209 |
+
"keywords": [
|
210 |
+
"log",
|
211 |
+
"psr",
|
212 |
+
"psr-3"
|
213 |
+
],
|
214 |
+
"time": "2018-11-20T15:27:04+00:00"
|
215 |
+
},
|
216 |
+
{
|
217 |
+
"name": "psr/simple-cache",
|
218 |
+
"version": "1.0.1",
|
219 |
+
"source": {
|
220 |
+
"type": "git",
|
221 |
+
"url": "https://github.com/php-fig/simple-cache.git",
|
222 |
+
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
|
223 |
+
},
|
224 |
+
"dist": {
|
225 |
+
"type": "zip",
|
226 |
+
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
|
227 |
+
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
|
228 |
+
"shasum": ""
|
229 |
+
},
|
230 |
+
"require": {
|
231 |
+
"php": ">=5.3.0"
|
232 |
+
},
|
233 |
+
"type": "library",
|
234 |
+
"extra": {
|
235 |
+
"branch-alias": {
|
236 |
+
"dev-master": "1.0.x-dev"
|
237 |
+
}
|
238 |
+
},
|
239 |
+
"autoload": {
|
240 |
+
"psr-4": {
|
241 |
+
"Psr\\SimpleCache\\": "src/"
|
242 |
+
}
|
243 |
+
},
|
244 |
+
"notification-url": "https://packagist.org/downloads/",
|
245 |
+
"license": [
|
246 |
+
"MIT"
|
247 |
+
],
|
248 |
+
"authors": [
|
249 |
+
{
|
250 |
+
"name": "PHP-FIG",
|
251 |
+
"homepage": "http://www.php-fig.org/"
|
252 |
+
}
|
253 |
+
],
|
254 |
+
"description": "Common interfaces for simple caching",
|
255 |
+
"keywords": [
|
256 |
+
"cache",
|
257 |
+
"caching",
|
258 |
+
"psr",
|
259 |
+
"psr-16",
|
260 |
+
"simple-cache"
|
261 |
+
],
|
262 |
+
"time": "2017-10-23T01:57:42+00:00"
|
263 |
+
},
|
264 |
+
{
|
265 |
+
"name": "wpdesk/wp-abtesting",
|
266 |
+
"version": "1.1.0",
|
267 |
+
"source": {
|
268 |
+
"type": "git",
|
269 |
+
"url": "https://gitlab.com/wpdesk/wp-abtesting.git",
|
270 |
+
"reference": "4bc7cbc78cf6e7ed6c370a1215a5e93b38caee32"
|
271 |
+
},
|
272 |
+
"dist": {
|
273 |
+
"type": "zip",
|
274 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-abtesting/repository/archive.zip?sha=4bc7cbc78cf6e7ed6c370a1215a5e93b38caee32",
|
275 |
+
"reference": "4bc7cbc78cf6e7ed6c370a1215a5e93b38caee32",
|
276 |
+
"shasum": ""
|
277 |
+
},
|
278 |
+
"require": {
|
279 |
+
"php": ">=5.6",
|
280 |
+
"wpdesk/wp-persistence": "^1.0"
|
281 |
+
},
|
282 |
+
"require-dev": {
|
283 |
+
"phpunit/phpunit": "^5",
|
284 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
285 |
+
"wimg/php-compatibility": "^8",
|
286 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
287 |
+
},
|
288 |
+
"type": "library",
|
289 |
+
"autoload": {
|
290 |
+
"psr-4": {
|
291 |
+
"WPDesk\\ABTesting\\": "src/"
|
292 |
+
}
|
293 |
+
},
|
294 |
+
"notification-url": "https://packagist.org/downloads/",
|
295 |
+
"authors": [
|
296 |
+
{
|
297 |
+
"name": "Krzysiek",
|
298 |
+
"email": "krzysiek@wpdesk.pl"
|
299 |
+
}
|
300 |
+
],
|
301 |
+
"time": "2019-02-05T07:56:25+00:00"
|
302 |
+
},
|
303 |
+
{
|
304 |
+
"name": "wpdesk/wp-autoloader",
|
305 |
+
"version": "1.2",
|
306 |
+
"source": {
|
307 |
+
"type": "git",
|
308 |
+
"url": "https://gitlab.com/wpdesk/wp-autoloader.git",
|
309 |
+
"reference": "0785174fe20b832321981224d0aacd83e4ae57ec"
|
310 |
+
},
|
311 |
+
"dist": {
|
312 |
+
"type": "zip",
|
313 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-autoloader/repository/archive.zip?sha=0785174fe20b832321981224d0aacd83e4ae57ec",
|
314 |
+
"reference": "0785174fe20b832321981224d0aacd83e4ae57ec",
|
315 |
+
"shasum": ""
|
316 |
+
},
|
317 |
+
"require": {
|
318 |
+
"php": ">=5.5",
|
319 |
+
"psr/log": "^1.0",
|
320 |
+
"wpdesk/wp-basic-requirements": "^2.0"
|
321 |
+
},
|
322 |
+
"require-dev": {
|
323 |
+
"10up/wp_mock": "*",
|
324 |
+
"mockery/mockery": "*",
|
325 |
+
"phpunit/phpunit": "<7",
|
326 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
327 |
+
"wimg/php-compatibility": "^8",
|
328 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
329 |
+
},
|
330 |
+
"type": "library",
|
331 |
+
"notification-url": "https://packagist.org/downloads/",
|
332 |
+
"authors": [
|
333 |
+
{
|
334 |
+
"name": "Krzysiek",
|
335 |
+
"email": "krzysiek@wpdesk.pl"
|
336 |
+
}
|
337 |
+
],
|
338 |
+
"time": "2019-03-25T10:50:36+00:00"
|
339 |
+
},
|
340 |
+
{
|
341 |
+
"name": "wpdesk/wp-basic-requirements",
|
342 |
+
"version": "2.3.1",
|
343 |
+
"source": {
|
344 |
+
"type": "git",
|
345 |
+
"url": "https://gitlab.com/wpdesk/wp-basic-requirements.git",
|
346 |
+
"reference": "97216ee83f871426669ac57b40cc666fdf61d7cc"
|
347 |
+
},
|
348 |
+
"dist": {
|
349 |
+
"type": "zip",
|
350 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-basic-requirements/repository/archive.zip?sha=97216ee83f871426669ac57b40cc666fdf61d7cc",
|
351 |
+
"reference": "97216ee83f871426669ac57b40cc666fdf61d7cc",
|
352 |
+
"shasum": ""
|
353 |
+
},
|
354 |
+
"require": {
|
355 |
+
"php": ">=5.2"
|
356 |
+
},
|
357 |
+
"require-dev": {
|
358 |
+
"10up/wp_mock": "*",
|
359 |
+
"mockery/mockery": "*",
|
360 |
+
"php": ">=5.5",
|
361 |
+
"phpunit/phpunit": "<7",
|
362 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
363 |
+
"wimg/php-compatibility": "^8",
|
364 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
365 |
+
},
|
366 |
+
"type": "library",
|
367 |
+
"notification-url": "https://packagist.org/downloads/",
|
368 |
+
"authors": [
|
369 |
+
{
|
370 |
+
"name": "Krzysiek",
|
371 |
+
"email": "krzysiek@wpdesk.pl"
|
372 |
+
}
|
373 |
+
],
|
374 |
+
"time": "2019-03-25T13:11:11+00:00"
|
375 |
+
},
|
376 |
+
{
|
377 |
+
"name": "wpdesk/wp-builder",
|
378 |
+
"version": "1.1",
|
379 |
+
"source": {
|
380 |
+
"type": "git",
|
381 |
+
"url": "https://gitlab.com/wpdesk/wp-builder.git",
|
382 |
+
"reference": "7e54daed6f86260705fa65d2668ae65f9e66114f"
|
383 |
+
},
|
384 |
+
"dist": {
|
385 |
+
"type": "zip",
|
386 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-builder/repository/archive.zip?sha=7e54daed6f86260705fa65d2668ae65f9e66114f",
|
387 |
+
"reference": "7e54daed6f86260705fa65d2668ae65f9e66114f",
|
388 |
+
"shasum": ""
|
389 |
+
},
|
390 |
+
"require": {
|
391 |
+
"php": ">=5.5",
|
392 |
+
"wpdesk/wp-basic-requirements": "^2.0"
|
393 |
+
},
|
394 |
+
"require-dev": {
|
395 |
+
"10up/wp_mock": "*",
|
396 |
+
"mockery/mockery": "*",
|
397 |
+
"phpunit/phpunit": "<7",
|
398 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
399 |
+
"wimg/php-compatibility": "^8",
|
400 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
401 |
+
},
|
402 |
+
"type": "library",
|
403 |
+
"autoload": {
|
404 |
+
"psr-4": {
|
405 |
+
"WPDesk\\PluginBuilder\\": "src/"
|
406 |
+
}
|
407 |
+
},
|
408 |
+
"notification-url": "https://packagist.org/downloads/",
|
409 |
+
"authors": [
|
410 |
+
{
|
411 |
+
"name": "Krzysiek",
|
412 |
+
"email": "krzysiek@wpdesk.pl"
|
413 |
+
}
|
414 |
+
],
|
415 |
+
"time": "2018-10-18T13:11:44+00:00"
|
416 |
+
},
|
417 |
+
{
|
418 |
+
"name": "wpdesk/wp-logs",
|
419 |
+
"version": "1.4.0",
|
420 |
+
"source": {
|
421 |
+
"type": "git",
|
422 |
+
"url": "https://gitlab.com/wpdesk/wp-logs.git",
|
423 |
+
"reference": "0eaf62bfa73d6b773089c948cf5926360b4d3949"
|
424 |
+
},
|
425 |
+
"dist": {
|
426 |
+
"type": "zip",
|
427 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-logs/repository/archive.zip?sha=0eaf62bfa73d6b773089c948cf5926360b4d3949",
|
428 |
+
"reference": "0eaf62bfa73d6b773089c948cf5926360b4d3949",
|
429 |
+
"shasum": ""
|
430 |
+
},
|
431 |
+
"require": {
|
432 |
+
"monolog/monolog": "^1.23",
|
433 |
+
"php": ">=5.6",
|
434 |
+
"psr/log": "^1.0.1"
|
435 |
+
},
|
436 |
+
"require-dev": {
|
437 |
+
"phpunit/phpunit": "^5",
|
438 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
439 |
+
"wimg/php-compatibility": "^8",
|
440 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
441 |
+
},
|
442 |
+
"type": "library",
|
443 |
+
"autoload": {
|
444 |
+
"psr-4": {
|
445 |
+
"WPDesk\\Logger\\": "src/"
|
446 |
+
}
|
447 |
+
},
|
448 |
+
"notification-url": "https://packagist.org/downloads/",
|
449 |
+
"authors": [
|
450 |
+
{
|
451 |
+
"name": "Krzysiek",
|
452 |
+
"email": "krzysiek@wpdesk.pl"
|
453 |
+
}
|
454 |
+
],
|
455 |
+
"time": "2019-01-21T15:12:41+00:00"
|
456 |
+
},
|
457 |
+
{
|
458 |
+
"name": "wpdesk/wp-mutex",
|
459 |
+
"version": "1.1",
|
460 |
+
"source": {
|
461 |
+
"type": "git",
|
462 |
+
"url": "https://gitlab.com/wpdesk/wp-mutex.git",
|
463 |
+
"reference": "4df845e751382179fadf2fff3c8e243b77e7d773"
|
464 |
+
},
|
465 |
+
"dist": {
|
466 |
+
"type": "zip",
|
467 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-mutex/repository/archive.zip?sha=4df845e751382179fadf2fff3c8e243b77e7d773",
|
468 |
+
"reference": "4df845e751382179fadf2fff3c8e243b77e7d773",
|
469 |
+
"shasum": ""
|
470 |
+
},
|
471 |
+
"require": {
|
472 |
+
"php": ">=5.6"
|
473 |
+
},
|
474 |
+
"require-dev": {
|
475 |
+
"10up/wp_mock": "*",
|
476 |
+
"mockery/mockery": "*",
|
477 |
+
"phpunit/phpunit": "<7",
|
478 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
479 |
+
"wimg/php-compatibility": "^8",
|
480 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
481 |
+
},
|
482 |
+
"type": "library",
|
483 |
+
"autoload": {
|
484 |
+
"psr-4": {
|
485 |
+
"WPDesk\\Mutex\\": "src/WPDesk/Mutex/"
|
486 |
+
},
|
487 |
+
"files": [
|
488 |
+
"src/WPDesk/functions.php"
|
489 |
+
]
|
490 |
+
},
|
491 |
+
"notification-url": "https://packagist.org/downloads/",
|
492 |
+
"license": [
|
493 |
+
"MIT"
|
494 |
+
],
|
495 |
+
"authors": [
|
496 |
+
{
|
497 |
+
"name": "grola",
|
498 |
+
"email": "grola@wpdesk.net"
|
499 |
+
},
|
500 |
+
{
|
501 |
+
"name": "dyszczo",
|
502 |
+
"email": "dyszczo@wpdesk.net"
|
503 |
+
}
|
504 |
+
],
|
505 |
+
"description": "Library for locking in Wordpress.",
|
506 |
+
"homepage": "https://gitlab.com/wpdesk/wp-mutex",
|
507 |
+
"keywords": [
|
508 |
+
"lock",
|
509 |
+
"mutex",
|
510 |
+
"wordpress"
|
511 |
+
],
|
512 |
+
"time": "2018-11-13T12:27:39+00:00"
|
513 |
+
},
|
514 |
+
{
|
515 |
+
"name": "wpdesk/wp-notice",
|
516 |
+
"version": "3.0",
|
517 |
+
"source": {
|
518 |
+
"type": "git",
|
519 |
+
"url": "https://gitlab.com/wpdesk/wp-notice.git",
|
520 |
+
"reference": "49b651f53fa0a64295bdeaa2e427e8add7114a62"
|
521 |
+
},
|
522 |
+
"dist": {
|
523 |
+
"type": "zip",
|
524 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-notice/repository/archive.zip?sha=49b651f53fa0a64295bdeaa2e427e8add7114a62",
|
525 |
+
"reference": "49b651f53fa0a64295bdeaa2e427e8add7114a62",
|
526 |
+
"shasum": ""
|
527 |
+
},
|
528 |
+
"require": {
|
529 |
+
"php": ">=5.5",
|
530 |
+
"wpdesk/wp-builder": "^1.0"
|
531 |
+
},
|
532 |
+
"require-dev": {
|
533 |
+
"10up/wp_mock": "*",
|
534 |
+
"mockery/mockery": "*",
|
535 |
+
"phpunit/phpunit": "<7",
|
536 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
537 |
+
"wimg/php-compatibility": "^8",
|
538 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
539 |
+
},
|
540 |
+
"type": "library",
|
541 |
+
"autoload": {
|
542 |
+
"psr-4": {
|
543 |
+
"WPDesk\\Notice\\": "src/WPDesk/Notice/"
|
544 |
+
},
|
545 |
+
"files": [
|
546 |
+
"src/WPDesk/notice-functions.php"
|
547 |
+
]
|
548 |
+
},
|
549 |
+
"notification-url": "https://packagist.org/downloads/",
|
550 |
+
"license": [
|
551 |
+
"MIT"
|
552 |
+
],
|
553 |
+
"authors": [
|
554 |
+
{
|
555 |
+
"name": "grola",
|
556 |
+
"email": "grola@wpdesk.net"
|
557 |
+
}
|
558 |
+
],
|
559 |
+
"description": "Library for displaying Wordpress notices.",
|
560 |
+
"homepage": "https://gitlab.com/wpdesk/wp-notice",
|
561 |
+
"keywords": [
|
562 |
+
"admin",
|
563 |
+
"notice",
|
564 |
+
"wordpress"
|
565 |
+
],
|
566 |
+
"time": "2019-02-21T11:12:53+00:00"
|
567 |
+
},
|
568 |
+
{
|
569 |
+
"name": "wpdesk/wp-persistence",
|
570 |
+
"version": "1.0",
|
571 |
+
"source": {
|
572 |
+
"type": "git",
|
573 |
+
"url": "https://gitlab.com/wpdesk/wp-persistence.git",
|
574 |
+
"reference": "d667f0da177826826f4c604dbada6831d03b6a60"
|
575 |
+
},
|
576 |
+
"dist": {
|
577 |
+
"type": "zip",
|
578 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-persistence/repository/archive.zip?sha=d667f0da177826826f4c604dbada6831d03b6a60",
|
579 |
+
"reference": "d667f0da177826826f4c604dbada6831d03b6a60",
|
580 |
+
"shasum": ""
|
581 |
+
},
|
582 |
+
"require": {
|
583 |
+
"php": ">=5.6"
|
584 |
+
},
|
585 |
+
"require-dev": {
|
586 |
+
"phpunit/phpunit": "^5",
|
587 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
588 |
+
"wimg/php-compatibility": "^8",
|
589 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
590 |
+
},
|
591 |
+
"type": "library",
|
592 |
+
"autoload": {
|
593 |
+
"psr-4": {
|
594 |
+
"WPDesk\\Persistence\\": "src/"
|
595 |
+
}
|
596 |
+
},
|
597 |
+
"notification-url": "https://packagist.org/downloads/",
|
598 |
+
"authors": [
|
599 |
+
{
|
600 |
+
"name": "Krzysiek",
|
601 |
+
"email": "krzysiek@wpdesk.pl"
|
602 |
+
}
|
603 |
+
],
|
604 |
+
"time": "2019-02-01T09:01:34+00:00"
|
605 |
+
},
|
606 |
+
{
|
607 |
+
"name": "wpdesk/wp-saas-platform-client",
|
608 |
+
"version": "1.10",
|
609 |
+
"source": {
|
610 |
+
"type": "git",
|
611 |
+
"url": "https://gitlab.com/wpdesk/wp-saas-platform-client.git",
|
612 |
+
"reference": "54327826936f8133481a917774e9b4fb2a8911f9"
|
613 |
+
},
|
614 |
+
"dist": {
|
615 |
+
"type": "zip",
|
616 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-saas-platform-client/repository/archive.zip?sha=54327826936f8133481a917774e9b4fb2a8911f9",
|
617 |
+
"reference": "54327826936f8133481a917774e9b4fb2a8911f9",
|
618 |
+
"shasum": ""
|
619 |
+
},
|
620 |
+
"require": {
|
621 |
+
"ext-curl": "*",
|
622 |
+
"ext-json": "*",
|
623 |
+
"php": ">=5.5",
|
624 |
+
"psr/log": "^1.0.1",
|
625 |
+
"psr/simple-cache": "^1.0",
|
626 |
+
"wpdesk/wp-persistence": "^1.0"
|
627 |
+
},
|
628 |
+
"require-dev": {
|
629 |
+
"10up/wp_mock": "*",
|
630 |
+
"mockery/mockery": "*",
|
631 |
+
"phpunit/phpunit": "<7",
|
632 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
633 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
634 |
+
},
|
635 |
+
"type": "library",
|
636 |
+
"autoload": {
|
637 |
+
"psr-4": {
|
638 |
+
"WPDesk\\SaasPlatformClient\\": "src/"
|
639 |
+
}
|
640 |
+
},
|
641 |
+
"notification-url": "https://packagist.org/downloads/",
|
642 |
+
"authors": [
|
643 |
+
{
|
644 |
+
"name": "Krzysiek",
|
645 |
+
"email": "krzysiek@wpdesk.pl"
|
646 |
+
}
|
647 |
+
],
|
648 |
+
"time": "2019-03-14T13:31:32+00:00"
|
649 |
+
},
|
650 |
+
{
|
651 |
+
"name": "wpdesk/wp-view",
|
652 |
+
"version": "1.0.2",
|
653 |
+
"source": {
|
654 |
+
"type": "git",
|
655 |
+
"url": "https://gitlab.com/wpdesk/wp-view.git",
|
656 |
+
"reference": "08393dd1cc5c5bc72e232c5b18af68e064ec8362"
|
657 |
+
},
|
658 |
+
"dist": {
|
659 |
+
"type": "zip",
|
660 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-view/repository/archive.zip?sha=08393dd1cc5c5bc72e232c5b18af68e064ec8362",
|
661 |
+
"reference": "08393dd1cc5c5bc72e232c5b18af68e064ec8362",
|
662 |
+
"shasum": ""
|
663 |
+
},
|
664 |
+
"require": {
|
665 |
+
"php": ">=5.5"
|
666 |
+
},
|
667 |
+
"require-dev": {
|
668 |
+
"10up/wp_mock": "*",
|
669 |
+
"mockery/mockery": "*",
|
670 |
+
"phpunit/phpunit": "<7",
|
671 |
+
"squizlabs/php_codesniffer": "^3.0.2",
|
672 |
+
"wimg/php-compatibility": "^8",
|
673 |
+
"wp-coding-standards/wpcs": "^0.14.1"
|
674 |
+
},
|
675 |
+
"type": "library",
|
676 |
+
"autoload": {
|
677 |
+
"psr-4": {
|
678 |
+
"WPDesk\\View\\": "src/"
|
679 |
+
}
|
680 |
+
},
|
681 |
+
"notification-url": "https://packagist.org/downloads/",
|
682 |
+
"authors": [
|
683 |
+
{
|
684 |
+
"name": "Krzysiek",
|
685 |
+
"email": "krzysiek@wpdesk.pl"
|
686 |
+
}
|
687 |
+
],
|
688 |
+
"time": "2018-10-18T13:44:18+00:00"
|
689 |
+
}
|
690 |
+
],
|
691 |
+
"packages-dev": [
|
692 |
+
{
|
693 |
+
"name": "10up/wp_mock",
|
694 |
+
"version": "0.2.0",
|
695 |
+
"source": {
|
696 |
+
"type": "git",
|
697 |
+
"url": "https://github.com/10up/wp_mock.git",
|
698 |
+
"reference": "507e59027e9b0d86eba9b74420962a72c4c2ec9e"
|
699 |
+
},
|
700 |
+
"dist": {
|
701 |
+
"type": "zip",
|
702 |
+
"url": "https://api.github.com/repos/10up/wp_mock/zipball/507e59027e9b0d86eba9b74420962a72c4c2ec9e",
|
703 |
+
"reference": "507e59027e9b0d86eba9b74420962a72c4c2ec9e",
|
704 |
+
"shasum": ""
|
705 |
+
},
|
706 |
+
"require": {
|
707 |
+
"antecedent/patchwork": "~2.0.3",
|
708 |
+
"mockery/mockery": "^0.9.5",
|
709 |
+
"php": ">=5.6",
|
710 |
+
"phpunit/phpunit": ">=4.3"
|
711 |
+
},
|
712 |
+
"conflict": {
|
713 |
+
"phpunit/phpunit": ">=6.0"
|
714 |
+
},
|
715 |
+
"require-dev": {
|
716 |
+
"behat/behat": "^3.0"
|
717 |
+
},
|
718 |
+
"type": "library",
|
719 |
+
"autoload": {
|
720 |
+
"psr-4": {
|
721 |
+
"WP_Mock\\": "./php/WP_Mock"
|
722 |
+
},
|
723 |
+
"classmap": [
|
724 |
+
"php/WP_Mock.php"
|
725 |
+
]
|
726 |
+
},
|
727 |
+
"notification-url": "https://packagist.org/downloads/",
|
728 |
+
"license": [
|
729 |
+
"GPL-2.0+"
|
730 |
+
],
|
731 |
+
"description": "A mocking library to take the pain out of unit testing for WordPress",
|
732 |
+
"time": "2017-07-19T03:10:11+00:00"
|
733 |
+
},
|
734 |
+
{
|
735 |
+
"name": "antecedent/patchwork",
|
736 |
+
"version": "2.0.9",
|
737 |
+
"source": {
|
738 |
+
"type": "git",
|
739 |
+
"url": "https://github.com/antecedent/patchwork.git",
|
740 |
+
"reference": "cab3be4865e47f1dc447715e76c7b616e48b005d"
|
741 |
+
},
|
742 |
+
"dist": {
|
743 |
+
"type": "zip",
|
744 |
+
"url": "https://api.github.com/repos/antecedent/patchwork/zipball/cab3be4865e47f1dc447715e76c7b616e48b005d",
|
745 |
+
"reference": "cab3be4865e47f1dc447715e76c7b616e48b005d",
|
746 |
+
"shasum": ""
|
747 |
+
},
|
748 |
+
"require": {
|
749 |
+
"php": ">=5.4.0"
|
750 |
+
},
|
751 |
+
"type": "library",
|
752 |
+
"notification-url": "https://packagist.org/downloads/",
|
753 |
+
"license": [
|
754 |
+
"MIT"
|
755 |
+
],
|
756 |
+
"authors": [
|
757 |
+
{
|
758 |
+
"name": "Ignas Rudaitis",
|
759 |
+
"email": "ignas.rudaitis@gmail.com"
|
760 |
+
}
|
761 |
+
],
|
762 |
+
"description": "Method redefinition (monkey-patching) functionality for PHP.",
|
763 |
+
"homepage": "http://patchwork2.org/",
|
764 |
+
"keywords": [
|
765 |
+
"aop",
|
766 |
+
"aspect",
|
767 |
+
"interception",
|
768 |
+
"monkeypatching",
|
769 |
+
"redefinition",
|
770 |
+
"runkit",
|
771 |
+
"testing"
|
772 |
+
],
|
773 |
+
"time": "2017-08-01T11:52:57+00:00"
|
774 |
+
},
|
775 |
+
{
|
776 |
+
"name": "doctrine/instantiator",
|
777 |
+
"version": "1.0.5",
|
778 |
+
"source": {
|
779 |
+
"type": "git",
|
780 |
+
"url": "https://github.com/doctrine/instantiator.git",
|
781 |
+
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
|
782 |
+
},
|
783 |
+
"dist": {
|
784 |
+
"type": "zip",
|
785 |
+
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
|
786 |
+
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
|
787 |
+
"shasum": ""
|
788 |
+
},
|
789 |
+
"require": {
|
790 |
+
"php": ">=5.3,<8.0-DEV"
|
791 |
+
},
|
792 |
+
"require-dev": {
|
793 |
+
"athletic/athletic": "~0.1.8",
|
794 |
+
"ext-pdo": "*",
|
795 |
+
"ext-phar": "*",
|
796 |
+
"phpunit/phpunit": "~4.0",
|
797 |
+
"squizlabs/php_codesniffer": "~2.0"
|
798 |
+
},
|
799 |
+
"type": "library",
|
800 |
+
"extra": {
|
801 |
+
"branch-alias": {
|
802 |
+
"dev-master": "1.0.x-dev"
|
803 |
+
}
|
804 |
+
},
|
805 |
+
"autoload": {
|
806 |
+
"psr-4": {
|
807 |
+
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
808 |
+
}
|
809 |
+
},
|
810 |
+
"notification-url": "https://packagist.org/downloads/",
|
811 |
+
"license": [
|
812 |
+
"MIT"
|
813 |
+
],
|
814 |
+
"authors": [
|
815 |
+
{
|
816 |
+
"name": "Marco Pivetta",
|
817 |
+
"email": "ocramius@gmail.com",
|
818 |
+
"homepage": "http://ocramius.github.com/"
|
819 |
+
}
|
820 |
+
],
|
821 |
+
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
822 |
+
"homepage": "https://github.com/doctrine/instantiator",
|
823 |
+
"keywords": [
|
824 |
+
"constructor",
|
825 |
+
"instantiate"
|
826 |
+
],
|
827 |
+
"time": "2015-06-14T21:17:01+00:00"
|
828 |
+
},
|
829 |
+
{
|
830 |
+
"name": "hamcrest/hamcrest-php",
|
831 |
+
"version": "v1.2.2",
|
832 |
+
"source": {
|
833 |
+
"type": "git",
|
834 |
+
"url": "https://github.com/hamcrest/hamcrest-php.git",
|
835 |
+
"reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c"
|
836 |
+
},
|
837 |
+
"dist": {
|
838 |
+
"type": "zip",
|
839 |
+
"url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c",
|
840 |
+
"reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c",
|
841 |
+
"shasum": ""
|
842 |
+
},
|
843 |
+
"require": {
|
844 |
+
"php": ">=5.3.2"
|
845 |
+
},
|
846 |
+
"replace": {
|
847 |
+
"cordoval/hamcrest-php": "*",
|
848 |
+
"davedevelopment/hamcrest-php": "*",
|
849 |
+
"kodova/hamcrest-php": "*"
|
850 |
+
},
|
851 |
+
"require-dev": {
|
852 |
+
"phpunit/php-file-iterator": "1.3.3",
|
853 |
+
"satooshi/php-coveralls": "dev-master"
|
854 |
+
},
|
855 |
+
"type": "library",
|
856 |
+
"autoload": {
|
857 |
+
"classmap": [
|
858 |
+
"hamcrest"
|
859 |
+
],
|
860 |
+
"files": [
|
861 |
+
"hamcrest/Hamcrest.php"
|
862 |
+
]
|
863 |
+
},
|
864 |
+
"notification-url": "https://packagist.org/downloads/",
|
865 |
+
"license": [
|
866 |
+
"BSD"
|
867 |
+
],
|
868 |
+
"description": "This is the PHP port of Hamcrest Matchers",
|
869 |
+
"keywords": [
|
870 |
+
"test"
|
871 |
+
],
|
872 |
+
"time": "2015-05-11T14:41:42+00:00"
|
873 |
+
},
|
874 |
+
{
|
875 |
+
"name": "mockery/mockery",
|
876 |
+
"version": "0.9.11",
|
877 |
+
"source": {
|
878 |
+
"type": "git",
|
879 |
+
"url": "https://github.com/mockery/mockery.git",
|
880 |
+
"reference": "be9bf28d8e57d67883cba9fcadfcff8caab667f8"
|
881 |
+
},
|
882 |
+
"dist": {
|
883 |
+
"type": "zip",
|
884 |
+
"url": "https://api.github.com/repos/mockery/mockery/zipball/be9bf28d8e57d67883cba9fcadfcff8caab667f8",
|
885 |
+
"reference": "be9bf28d8e57d67883cba9fcadfcff8caab667f8",
|
886 |
+
"shasum": ""
|
887 |
+
},
|
888 |
+
"require": {
|
889 |
+
"hamcrest/hamcrest-php": "~1.1",
|
890 |
+
"lib-pcre": ">=7.0",
|
891 |
+
"php": ">=5.3.2"
|
892 |
+
},
|
893 |
+
"require-dev": {
|
894 |
+
"phpunit/phpunit": "~4.0"
|
895 |
+
},
|
896 |
+
"type": "library",
|
897 |
+
"extra": {
|
898 |
+
"branch-alias": {
|
899 |
+
"dev-master": "0.9.x-dev"
|
900 |
+
}
|
901 |
+
},
|
902 |
+
"autoload": {
|
903 |
+
"psr-0": {
|
904 |
+
"Mockery": "library/"
|
905 |
+
}
|
906 |
+
},
|
907 |
+
"notification-url": "https://packagist.org/downloads/",
|
908 |
+
"license": [
|
909 |
+
"BSD-3-Clause"
|
910 |
+
],
|
911 |
+
"authors": [
|
912 |
+
{
|
913 |
+
"name": "Pádraic Brady",
|
914 |
+
"email": "padraic.brady@gmail.com",
|
915 |
+
"homepage": "http://blog.astrumfutura.com"
|
916 |
+
},
|
917 |
+
{
|
918 |
+
"name": "Dave Marshall",
|
919 |
+
"email": "dave.marshall@atstsolutions.co.uk",
|
920 |
+
"homepage": "http://davedevelopment.co.uk"
|
921 |
+
}
|
922 |
+
],
|
923 |
+
"description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.",
|
924 |
+
"homepage": "http://github.com/padraic/mockery",
|
925 |
+
"keywords": [
|
926 |
+
"BDD",
|
927 |
+
"TDD",
|
928 |
+
"library",
|
929 |
+
"mock",
|
930 |
+
"mock objects",
|
931 |
+
"mockery",
|
932 |
+
"stub",
|
933 |
+
"test",
|
934 |
+
"test double",
|
935 |
+
"testing"
|
936 |
+
],
|
937 |
+
"time": "2019-02-12T16:07:13+00:00"
|
938 |
+
},
|
939 |
+
{
|
940 |
+
"name": "myclabs/deep-copy",
|
941 |
+
"version": "1.7.0",
|
942 |
+
"source": {
|
943 |
+
"type": "git",
|
944 |
+
"url": "https://github.com/myclabs/DeepCopy.git",
|
945 |
+
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
|
946 |
+
},
|
947 |
+
"dist": {
|
948 |
+
"type": "zip",
|
949 |
+
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
|
950 |
+
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
|
951 |
+
"shasum": ""
|
952 |
+
},
|
953 |
+
"require": {
|
954 |
+
"php": "^5.6 || ^7.0"
|
955 |
+
},
|
956 |
+
"require-dev": {
|
957 |
+
"doctrine/collections": "^1.0",
|
958 |
+
"doctrine/common": "^2.6",
|
959 |
+
"phpunit/phpunit": "^4.1"
|
960 |
+
},
|
961 |
+
"type": "library",
|
962 |
+
"autoload": {
|
963 |
+
"psr-4": {
|
964 |
+
"DeepCopy\\": "src/DeepCopy/"
|
965 |
+
},
|
966 |
+
"files": [
|
967 |
+
"src/DeepCopy/deep_copy.php"
|
968 |
+
]
|
969 |
+
},
|
970 |
+
"notification-url": "https://packagist.org/downloads/",
|
971 |
+
"license": [
|
972 |
+
"MIT"
|
973 |
+
],
|
974 |
+
"description": "Create deep copies (clones) of your objects",
|
975 |
+
"keywords": [
|
976 |
+
"clone",
|
977 |
+
"copy",
|
978 |
+
"duplicate",
|
979 |
+
"object",
|
980 |
+
"object graph"
|
981 |
+
],
|
982 |
+
"time": "2017-10-19T19:58:43+00:00"
|
983 |
+
},
|
984 |
+
{
|
985 |
+
"name": "phpcompatibility/php-compatibility",
|
986 |
+
"version": "9.1.1",
|
987 |
+
"source": {
|
988 |
+
"type": "git",
|
989 |
+
"url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
|
990 |
+
"reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c"
|
991 |
+
},
|
992 |
+
"dist": {
|
993 |
+
"type": "zip",
|
994 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
|
995 |
+
"reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
|
996 |
+
"shasum": ""
|
997 |
+
},
|
998 |
+
"require": {
|
999 |
+
"php": ">=5.3",
|
1000 |
+
"squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
|
1001 |
+
},
|
1002 |
+
"conflict": {
|
1003 |
+
"squizlabs/php_codesniffer": "2.6.2"
|
1004 |
+
},
|
1005 |
+
"require-dev": {
|
1006 |
+
"phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
|
1007 |
+
},
|
1008 |
+
"suggest": {
|
1009 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
|
1010 |
+
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
1011 |
+
},
|
1012 |
+
"type": "phpcodesniffer-standard",
|
1013 |
+
"notification-url": "https://packagist.org/downloads/",
|
1014 |
+
"license": [
|
1015 |
+
"LGPL-3.0-or-later"
|
1016 |
+
],
|
1017 |
+
"authors": [
|
1018 |
+
{
|
1019 |
+
"name": "Contributors",
|
1020 |
+
"homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
|
1021 |
+
},
|
1022 |
+
{
|
1023 |
+
"name": "Wim Godden",
|
1024 |
+
"homepage": "https://github.com/wimg",
|
1025 |
+
"role": "lead"
|
1026 |
+
},
|
1027 |
+
{
|
1028 |
+
"name": "Juliette Reinders Folmer",
|
1029 |
+
"homepage": "https://github.com/jrfnl",
|
1030 |
+
"role": "lead"
|
1031 |
+
}
|
1032 |
+
],
|
1033 |
+
"description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
|
1034 |
+
"homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
|
1035 |
+
"keywords": [
|
1036 |
+
"compatibility",
|
1037 |
+
"phpcs",
|
1038 |
+
"standards"
|
1039 |
+
],
|
1040 |
+
"time": "2018-12-30T23:16:27+00:00"
|
1041 |
+
},
|
1042 |
+
{
|
1043 |
+
"name": "phpdocumentor/reflection-common",
|
1044 |
+
"version": "1.0.1",
|
1045 |
+
"source": {
|
1046 |
+
"type": "git",
|
1047 |
+
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
|
1048 |
+
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
|
1049 |
+
},
|
1050 |
+
"dist": {
|
1051 |
+
"type": "zip",
|
1052 |
+
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
|
1053 |
+
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
|
1054 |
+
"shasum": ""
|
1055 |
+
},
|
1056 |
+
"require": {
|
1057 |
+
"php": ">=5.5"
|
1058 |
+
},
|
1059 |
+
"require-dev": {
|
1060 |
+
"phpunit/phpunit": "^4.6"
|
1061 |
+
},
|
1062 |
+
"type": "library",
|
1063 |
+
"extra": {
|
1064 |
+
"branch-alias": {
|
1065 |
+
"dev-master": "1.0.x-dev"
|
1066 |
+
}
|
1067 |
+
},
|
1068 |
+
"autoload": {
|
1069 |
+
"psr-4": {
|
1070 |
+
"phpDocumentor\\Reflection\\": [
|
1071 |
+
"src"
|
1072 |
+
]
|
1073 |
+
}
|
1074 |
+
},
|
1075 |
+
"notification-url": "https://packagist.org/downloads/",
|
1076 |
+
"license": [
|
1077 |
+
"MIT"
|
1078 |
+
],
|
1079 |
+
"authors": [
|
1080 |
+
{
|
1081 |
+
"name": "Jaap van Otterdijk",
|
1082 |
+
"email": "opensource@ijaap.nl"
|
1083 |
+
}
|
1084 |
+
],
|
1085 |
+
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
|
1086 |
+
"homepage": "http://www.phpdoc.org",
|
1087 |
+
"keywords": [
|
1088 |
+
"FQSEN",
|
1089 |
+
"phpDocumentor",
|
1090 |
+
"phpdoc",
|
1091 |
+
"reflection",
|
1092 |
+
"static analysis"
|
1093 |
+
],
|
1094 |
+
"time": "2017-09-11T18:02:19+00:00"
|
1095 |
+
},
|
1096 |
+
{
|
1097 |
+
"name": "phpdocumentor/reflection-docblock",
|
1098 |
+
"version": "3.3.2",
|
1099 |
+
"source": {
|
1100 |
+
"type": "git",
|
1101 |
+
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
1102 |
+
"reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2"
|
1103 |
+
},
|
1104 |
+
"dist": {
|
1105 |
+
"type": "zip",
|
1106 |
+
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2",
|
1107 |
+
"reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2",
|
1108 |
+
"shasum": ""
|
1109 |
+
},
|
1110 |
+
"require": {
|
1111 |
+
"php": "^5.6 || ^7.0",
|
1112 |
+
"phpdocumentor/reflection-common": "^1.0.0",
|
1113 |
+
"phpdocumentor/type-resolver": "^0.4.0",
|
1114 |
+
"webmozart/assert": "^1.0"
|
1115 |
+
},
|
1116 |
+
"require-dev": {
|
1117 |
+
"mockery/mockery": "^0.9.4",
|
1118 |
+
"phpunit/phpunit": "^4.4"
|
1119 |
+
},
|
1120 |
+
"type": "library",
|
1121 |
+
"autoload": {
|
1122 |
+
"psr-4": {
|
1123 |
+
"phpDocumentor\\Reflection\\": [
|
1124 |
+
"src/"
|
1125 |
+
]
|
1126 |
+
}
|
1127 |
+
},
|
1128 |
+
"notification-url": "https://packagist.org/downloads/",
|
1129 |
+
"license": [
|
1130 |
+
"MIT"
|
1131 |
+
],
|
1132 |
+
"authors": [
|
1133 |
+
{
|
1134 |
+
"name": "Mike van Riel",
|
1135 |
+
"email": "me@mikevanriel.com"
|
1136 |
+
}
|
1137 |
+
],
|
1138 |
+
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
1139 |
+
"time": "2017-11-10T14:09:06+00:00"
|
1140 |
+
},
|
1141 |
+
{
|
1142 |
+
"name": "phpdocumentor/type-resolver",
|
1143 |
+
"version": "0.4.0",
|
1144 |
+
"source": {
|
1145 |
+
"type": "git",
|
1146 |
+
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
1147 |
+
"reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
|
1148 |
+
},
|
1149 |
+
"dist": {
|
1150 |
+
"type": "zip",
|
1151 |
+
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
|
1152 |
+
"reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
|
1153 |
+
"shasum": ""
|
1154 |
+
},
|
1155 |
+
"require": {
|
1156 |
+
"php": "^5.5 || ^7.0",
|
1157 |
+
"phpdocumentor/reflection-common": "^1.0"
|
1158 |
+
},
|
1159 |
+
"require-dev": {
|
1160 |
+
"mockery/mockery": "^0.9.4",
|
1161 |
+
"phpunit/phpunit": "^5.2||^4.8.24"
|
1162 |
+
},
|
1163 |
+
"type": "library",
|
1164 |
+
"extra": {
|
1165 |
+
"branch-alias": {
|
1166 |
+
"dev-master": "1.0.x-dev"
|
1167 |
+
}
|
1168 |
+
},
|
1169 |
+
"autoload": {
|
1170 |
+
"psr-4": {
|
1171 |
+
"phpDocumentor\\Reflection\\": [
|
1172 |
+
"src/"
|
1173 |
+
]
|
1174 |
+
}
|
1175 |
+
},
|
1176 |
+
"notification-url": "https://packagist.org/downloads/",
|
1177 |
+
"license": [
|
1178 |
+
"MIT"
|
1179 |
+
],
|
1180 |
+
"authors": [
|
1181 |
+
{
|
1182 |
+
"name": "Mike van Riel",
|
1183 |
+
"email": "me@mikevanriel.com"
|
1184 |
+
}
|
1185 |
+
],
|
1186 |
+
"time": "2017-07-14T14:27:02+00:00"
|
1187 |
+
},
|
1188 |
+
{
|
1189 |
+
"name": "phpspec/prophecy",
|
1190 |
+
"version": "1.8.0",
|
1191 |
+
"source": {
|
1192 |
+
"type": "git",
|
1193 |
+
"url": "https://github.com/phpspec/prophecy.git",
|
1194 |
+
"reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
|
1195 |
+
},
|
1196 |
+
"dist": {
|
1197 |
+
"type": "zip",
|
1198 |
+
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
|
1199 |
+
"reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
|
1200 |
+
"shasum": ""
|
1201 |
+
},
|
1202 |
+
"require": {
|
1203 |
+
"doctrine/instantiator": "^1.0.2",
|
1204 |
+
"php": "^5.3|^7.0",
|
1205 |
+
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
|
1206 |
+
"sebastian/comparator": "^1.1|^2.0|^3.0",
|
1207 |
+
"sebastian/recursion-context": "^1.0|^2.0|^3.0"
|
1208 |
+
},
|
1209 |
+
"require-dev": {
|
1210 |
+
"phpspec/phpspec": "^2.5|^3.2",
|
1211 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
|
1212 |
+
},
|
1213 |
+
"type": "library",
|
1214 |
+
"extra": {
|
1215 |
+
"branch-alias": {
|
1216 |
+
"dev-master": "1.8.x-dev"
|
1217 |
+
}
|
1218 |
+
},
|
1219 |
+
"autoload": {
|
1220 |
+
"psr-0": {
|
1221 |
+
"Prophecy\\": "src/"
|
1222 |
+
}
|
1223 |
+
},
|
1224 |
+
"notification-url": "https://packagist.org/downloads/",
|
1225 |
+
"license": [
|
1226 |
+
"MIT"
|
1227 |
+
],
|
1228 |
+
"authors": [
|
1229 |
+
{
|
1230 |
+
"name": "Konstantin Kudryashov",
|
1231 |
+
"email": "ever.zet@gmail.com",
|
1232 |
+
"homepage": "http://everzet.com"
|
1233 |
+
},
|
1234 |
+
{
|
1235 |
+
"name": "Marcello Duarte",
|
1236 |
+
"email": "marcello.duarte@gmail.com"
|
1237 |
+
}
|
1238 |
+
],
|
1239 |
+
"description": "Highly opinionated mocking framework for PHP 5.3+",
|
1240 |
+
"homepage": "https://github.com/phpspec/prophecy",
|
1241 |
+
"keywords": [
|
1242 |
+
"Double",
|
1243 |
+
"Dummy",
|
1244 |
+
"fake",
|
1245 |
+
"mock",
|
1246 |
+
"spy",
|
1247 |
+
"stub"
|
1248 |
+
],
|
1249 |
+
"time": "2018-08-05T17:53:17+00:00"
|
1250 |
+
},
|
1251 |
+
{
|
1252 |
+
"name": "phpunit/php-code-coverage",
|
1253 |
+
"version": "4.0.8",
|
1254 |
+
"source": {
|
1255 |
+
"type": "git",
|
1256 |
+
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
1257 |
+
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d"
|
1258 |
+
},
|
1259 |
+
"dist": {
|
1260 |
+
"type": "zip",
|
1261 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
1262 |
+
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
1263 |
+
"shasum": ""
|
1264 |
+
},
|
1265 |
+
"require": {
|
1266 |
+
"ext-dom": "*",
|
1267 |
+
"ext-xmlwriter": "*",
|
1268 |
+
"php": "^5.6 || ^7.0",
|
1269 |
+
"phpunit/php-file-iterator": "^1.3",
|
1270 |
+
"phpunit/php-text-template": "^1.2",
|
1271 |
+
"phpunit/php-token-stream": "^1.4.2 || ^2.0",
|
1272 |
+
"sebastian/code-unit-reverse-lookup": "^1.0",
|
1273 |
+
"sebastian/environment": "^1.3.2 || ^2.0",
|
1274 |
+
"sebastian/version": "^1.0 || ^2.0"
|
1275 |
+
},
|
1276 |
+
"require-dev": {
|
1277 |
+
"ext-xdebug": "^2.1.4",
|
1278 |
+
"phpunit/phpunit": "^5.7"
|
1279 |
+
},
|
1280 |
+
"suggest": {
|
1281 |
+
"ext-xdebug": "^2.5.1"
|
1282 |
+
},
|
1283 |
+
"type": "library",
|
1284 |
+
"extra": {
|
1285 |
+
"branch-alias": {
|
1286 |
+
"dev-master": "4.0.x-dev"
|
1287 |
+
}
|
1288 |
+
},
|
1289 |
+
"autoload": {
|
1290 |
+
"classmap": [
|
1291 |
+
"src/"
|
1292 |
+
]
|
1293 |
+
},
|
1294 |
+
"notification-url": "https://packagist.org/downloads/",
|
1295 |
+
"license": [
|
1296 |
+
"BSD-3-Clause"
|
1297 |
+
],
|
1298 |
+
"authors": [
|
1299 |
+
{
|
1300 |
+
"name": "Sebastian Bergmann",
|
1301 |
+
"email": "sb@sebastian-bergmann.de",
|
1302 |
+
"role": "lead"
|
1303 |
+
}
|
1304 |
+
],
|
1305 |
+
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
|
1306 |
+
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
|
1307 |
+
"keywords": [
|
1308 |
+
"coverage",
|
1309 |
+
"testing",
|
1310 |
+
"xunit"
|
1311 |
+
],
|
1312 |
+
"time": "2017-04-02T07:44:40+00:00"
|
1313 |
+
},
|
1314 |
+
{
|
1315 |
+
"name": "phpunit/php-file-iterator",
|
1316 |
+
"version": "1.4.5",
|
1317 |
+
"source": {
|
1318 |
+
"type": "git",
|
1319 |
+
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
|
1320 |
+
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
|
1321 |
+
},
|
1322 |
+
"dist": {
|
1323 |
+
"type": "zip",
|
1324 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
1325 |
+
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
1326 |
+
"shasum": ""
|
1327 |
+
},
|
1328 |
+
"require": {
|
1329 |
+
"php": ">=5.3.3"
|
1330 |
+
},
|
1331 |
+
"type": "library",
|
1332 |
+
"extra": {
|
1333 |
+
"branch-alias": {
|
1334 |
+
"dev-master": "1.4.x-dev"
|
1335 |
+
}
|
1336 |
+
},
|
1337 |
+
"autoload": {
|
1338 |
+
"classmap": [
|
1339 |
+
"src/"
|
1340 |
+
]
|
1341 |
+
},
|
1342 |
+
"notification-url": "https://packagist.org/downloads/",
|
1343 |
+
"license": [
|
1344 |
+
"BSD-3-Clause"
|
1345 |
+
],
|
1346 |
+
"authors": [
|
1347 |
+
{
|
1348 |
+
"name": "Sebastian Bergmann",
|
1349 |
+
"email": "sb@sebastian-bergmann.de",
|
1350 |
+
"role": "lead"
|
1351 |
+
}
|
1352 |
+
],
|
1353 |
+
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
|
1354 |
+
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
|
1355 |
+
"keywords": [
|
1356 |
+
"filesystem",
|
1357 |
+
"iterator"
|
1358 |
+
],
|
1359 |
+
"time": "2017-11-27T13:52:08+00:00"
|
1360 |
+
},
|
1361 |
+
{
|
1362 |
+
"name": "phpunit/php-text-template",
|
1363 |
+
"version": "1.2.1",
|
1364 |
+
"source": {
|
1365 |
+
"type": "git",
|
1366 |
+
"url": "https://github.com/sebastianbergmann/php-text-template.git",
|
1367 |
+
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
|
1368 |
+
},
|
1369 |
+
"dist": {
|
1370 |
+
"type": "zip",
|
1371 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
1372 |
+
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
1373 |
+
"shasum": ""
|
1374 |
+
},
|
1375 |
+
"require": {
|
1376 |
+
"php": ">=5.3.3"
|
1377 |
+
},
|
1378 |
+
"type": "library",
|
1379 |
+
"autoload": {
|
1380 |
+
"classmap": [
|
1381 |
+
"src/"
|
1382 |
+
]
|
1383 |
+
},
|
1384 |
+
"notification-url": "https://packagist.org/downloads/",
|
1385 |
+
"license": [
|
1386 |
+
"BSD-3-Clause"
|
1387 |
+
],
|
1388 |
+
"authors": [
|
1389 |
+
{
|
1390 |
+
"name": "Sebastian Bergmann",
|
1391 |
+
"email": "sebastian@phpunit.de",
|
1392 |
+
"role": "lead"
|
1393 |
+
}
|
1394 |
+
],
|
1395 |
+
"description": "Simple template engine.",
|
1396 |
+
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
|
1397 |
+
"keywords": [
|
1398 |
+
"template"
|
1399 |
+
],
|
1400 |
+
"time": "2015-06-21T13:50:34+00:00"
|
1401 |
+
},
|
1402 |
+
{
|
1403 |
+
"name": "phpunit/php-timer",
|
1404 |
+
"version": "1.0.9",
|
1405 |
+
"source": {
|
1406 |
+
"type": "git",
|
1407 |
+
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
1408 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
|
1409 |
+
},
|
1410 |
+
"dist": {
|
1411 |
+
"type": "zip",
|
1412 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
1413 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
1414 |
+
"shasum": ""
|
1415 |
+
},
|
1416 |
+
"require": {
|
1417 |
+
"php": "^5.3.3 || ^7.0"
|
1418 |
+
},
|
1419 |
+
"require-dev": {
|
1420 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
1421 |
+
},
|
1422 |
+
"type": "library",
|
1423 |
+
"extra": {
|
1424 |
+
"branch-alias": {
|
1425 |
+
"dev-master": "1.0-dev"
|
1426 |
+
}
|
1427 |
+
},
|
1428 |
+
"autoload": {
|
1429 |
+
"classmap": [
|
1430 |
+
"src/"
|
1431 |
+
]
|
1432 |
+
},
|
1433 |
+
"notification-url": "https://packagist.org/downloads/",
|
1434 |
+
"license": [
|
1435 |
+
"BSD-3-Clause"
|
1436 |
+
],
|
1437 |
+
"authors": [
|
1438 |
+
{
|
1439 |
+
"name": "Sebastian Bergmann",
|
1440 |
+
"email": "sb@sebastian-bergmann.de",
|
1441 |
+
"role": "lead"
|
1442 |
+
}
|
1443 |
+
],
|
1444 |
+
"description": "Utility class for timing",
|
1445 |
+
"homepage": "https://github.com/sebastianbergmann/php-timer/",
|
1446 |
+
"keywords": [
|
1447 |
+
"timer"
|
1448 |
+
],
|
1449 |
+
"time": "2017-02-26T11:10:40+00:00"
|
1450 |
+
},
|
1451 |
+
{
|
1452 |
+
"name": "phpunit/php-token-stream",
|
1453 |
+
"version": "1.4.12",
|
1454 |
+
"source": {
|
1455 |
+
"type": "git",
|
1456 |
+
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
1457 |
+
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
|
1458 |
+
},
|
1459 |
+
"dist": {
|
1460 |
+
"type": "zip",
|
1461 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
1462 |
+
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
1463 |
+
"shasum": ""
|
1464 |
+
},
|
1465 |
+
"require": {
|
1466 |
+
"ext-tokenizer": "*",
|
1467 |
+
"php": ">=5.3.3"
|
1468 |
+
},
|
1469 |
+
"require-dev": {
|
1470 |
+
"phpunit/phpunit": "~4.2"
|
1471 |
+
},
|
1472 |
+
"type": "library",
|
1473 |
+
"extra": {
|
1474 |
+
"branch-alias": {
|
1475 |
+
"dev-master": "1.4-dev"
|
1476 |
+
}
|
1477 |
+
},
|
1478 |
+
"autoload": {
|
1479 |
+
"classmap": [
|
1480 |
+
"src/"
|
1481 |
+
]
|
1482 |
+
},
|
1483 |
+
"notification-url": "https://packagist.org/downloads/",
|
1484 |
+
"license": [
|
1485 |
+
"BSD-3-Clause"
|
1486 |
+
],
|
1487 |
+
"authors": [
|
1488 |
+
{
|
1489 |
+
"name": "Sebastian Bergmann",
|
1490 |
+
"email": "sebastian@phpunit.de"
|
1491 |
+
}
|
1492 |
+
],
|
1493 |
+
"description": "Wrapper around PHP's tokenizer extension.",
|
1494 |
+
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
1495 |
+
"keywords": [
|
1496 |
+
"tokenizer"
|
1497 |
+
],
|
1498 |
+
"time": "2017-12-04T08:55:13+00:00"
|
1499 |
+
},
|
1500 |
+
{
|
1501 |
+
"name": "phpunit/phpunit",
|
1502 |
+
"version": "5.7.27",
|
1503 |
+
"source": {
|
1504 |
+
"type": "git",
|
1505 |
+
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
1506 |
+
"reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c"
|
1507 |
+
},
|
1508 |
+
"dist": {
|
1509 |
+
"type": "zip",
|
1510 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
|
1511 |
+
"reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
|
1512 |
+
"shasum": ""
|
1513 |
+
},
|
1514 |
+
"require": {
|
1515 |
+
"ext-dom": "*",
|
1516 |
+
"ext-json": "*",
|
1517 |
+
"ext-libxml": "*",
|
1518 |
+
"ext-mbstring": "*",
|
1519 |
+
"ext-xml": "*",
|
1520 |
+
"myclabs/deep-copy": "~1.3",
|
1521 |
+
"php": "^5.6 || ^7.0",
|
1522 |
+
"phpspec/prophecy": "^1.6.2",
|
1523 |
+
"phpunit/php-code-coverage": "^4.0.4",
|
1524 |
+
"phpunit/php-file-iterator": "~1.4",
|
1525 |
+
"phpunit/php-text-template": "~1.2",
|
1526 |
+
"phpunit/php-timer": "^1.0.6",
|
1527 |
+
"phpunit/phpunit-mock-objects": "^3.2",
|
1528 |
+
"sebastian/comparator": "^1.2.4",
|
1529 |
+
"sebastian/diff": "^1.4.3",
|
1530 |
+
"sebastian/environment": "^1.3.4 || ^2.0",
|
1531 |
+
"sebastian/exporter": "~2.0",
|
1532 |
+
"sebastian/global-state": "^1.1",
|
1533 |
+
"sebastian/object-enumerator": "~2.0",
|
1534 |
+
"sebastian/resource-operations": "~1.0",
|
1535 |
+
"sebastian/version": "^1.0.6|^2.0.1",
|
1536 |
+
"symfony/yaml": "~2.1|~3.0|~4.0"
|
1537 |
+
},
|
1538 |
+
"conflict": {
|
1539 |
+
"phpdocumentor/reflection-docblock": "3.0.2"
|
1540 |
+
},
|
1541 |
+
"require-dev": {
|
1542 |
+
"ext-pdo": "*"
|
1543 |
+
},
|
1544 |
+
"suggest": {
|
1545 |
+
"ext-xdebug": "*",
|
1546 |
+
"phpunit/php-invoker": "~1.1"
|
1547 |
+
},
|
1548 |
+
"bin": [
|
1549 |
+
"phpunit"
|
1550 |
+
],
|
1551 |
+
"type": "library",
|
1552 |
+
"extra": {
|
1553 |
+
"branch-alias": {
|
1554 |
+
"dev-master": "5.7.x-dev"
|
1555 |
+
}
|
1556 |
+
},
|
1557 |
+
"autoload": {
|
1558 |
+
"classmap": [
|
1559 |
+
"src/"
|
1560 |
+
]
|
1561 |
+
},
|
1562 |
+
"notification-url": "https://packagist.org/downloads/",
|
1563 |
+
"license": [
|
1564 |
+
"BSD-3-Clause"
|
1565 |
+
],
|
1566 |
+
"authors": [
|
1567 |
+
{
|
1568 |
+
"name": "Sebastian Bergmann",
|
1569 |
+
"email": "sebastian@phpunit.de",
|
1570 |
+
"role": "lead"
|
1571 |
+
}
|
1572 |
+
],
|
1573 |
+
"description": "The PHP Unit Testing framework.",
|
1574 |
+
"homepage": "https://phpunit.de/",
|
1575 |
+
"keywords": [
|
1576 |
+
"phpunit",
|
1577 |
+
"testing",
|
1578 |
+
"xunit"
|
1579 |
+
],
|
1580 |
+
"time": "2018-02-01T05:50:59+00:00"
|
1581 |
+
},
|
1582 |
+
{
|
1583 |
+
"name": "phpunit/phpunit-mock-objects",
|
1584 |
+
"version": "3.4.4",
|
1585 |
+
"source": {
|
1586 |
+
"type": "git",
|
1587 |
+
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
1588 |
+
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118"
|
1589 |
+
},
|
1590 |
+
"dist": {
|
1591 |
+
"type": "zip",
|
1592 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118",
|
1593 |
+
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118",
|
1594 |
+
"shasum": ""
|
1595 |
+
},
|
1596 |
+
"require": {
|
1597 |
+
"doctrine/instantiator": "^1.0.2",
|
1598 |
+
"php": "^5.6 || ^7.0",
|
1599 |
+
"phpunit/php-text-template": "^1.2",
|
1600 |
+
"sebastian/exporter": "^1.2 || ^2.0"
|
1601 |
+
},
|
1602 |
+
"conflict": {
|
1603 |
+
"phpunit/phpunit": "<5.4.0"
|
1604 |
+
},
|
1605 |
+
"require-dev": {
|
1606 |
+
"phpunit/phpunit": "^5.4"
|
1607 |
+
},
|
1608 |
+
"suggest": {
|
1609 |
+
"ext-soap": "*"
|
1610 |
+
},
|
1611 |
+
"type": "library",
|
1612 |
+
"extra": {
|
1613 |
+
"branch-alias": {
|
1614 |
+
"dev-master": "3.2.x-dev"
|
1615 |
+
}
|
1616 |
+
},
|
1617 |
+
"autoload": {
|
1618 |
+
"classmap": [
|
1619 |
+
"src/"
|
1620 |
+
]
|
1621 |
+
},
|
1622 |
+
"notification-url": "https://packagist.org/downloads/",
|
1623 |
+
"license": [
|
1624 |
+
"BSD-3-Clause"
|
1625 |
+
],
|
1626 |
+
"authors": [
|
1627 |
+
{
|
1628 |
+
"name": "Sebastian Bergmann",
|
1629 |
+
"email": "sb@sebastian-bergmann.de",
|
1630 |
+
"role": "lead"
|
1631 |
+
}
|
1632 |
+
],
|
1633 |
+
"description": "Mock Object library for PHPUnit",
|
1634 |
+
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
|
1635 |
+
"keywords": [
|
1636 |
+
"mock",
|
1637 |
+
"xunit"
|
1638 |
+
],
|
1639 |
+
"abandoned": true,
|
1640 |
+
"time": "2017-06-30T09:13:00+00:00"
|
1641 |
+
},
|
1642 |
+
{
|
1643 |
+
"name": "sebastian/code-unit-reverse-lookup",
|
1644 |
+
"version": "1.0.1",
|
1645 |
+
"source": {
|
1646 |
+
"type": "git",
|
1647 |
+
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
|
1648 |
+
"reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
|
1649 |
+
},
|
1650 |
+
"dist": {
|
1651 |
+
"type": "zip",
|
1652 |
+
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
1653 |
+
"reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
1654 |
+
"shasum": ""
|
1655 |
+
},
|
1656 |
+
"require": {
|
1657 |
+
"php": "^5.6 || ^7.0"
|
1658 |
+
},
|
1659 |
+
"require-dev": {
|
1660 |
+
"phpunit/phpunit": "^5.7 || ^6.0"
|
1661 |
+
},
|
1662 |
+
"type": "library",
|
1663 |
+
"extra": {
|
1664 |
+
"branch-alias": {
|
1665 |
+
"dev-master": "1.0.x-dev"
|
1666 |
+
}
|
1667 |
+
},
|
1668 |
+
"autoload": {
|
1669 |
+
"classmap": [
|
1670 |
+
"src/"
|
1671 |
+
]
|
1672 |
+
},
|
1673 |
+
"notification-url": "https://packagist.org/downloads/",
|
1674 |
+
"license": [
|
1675 |
+
"BSD-3-Clause"
|
1676 |
+
],
|
1677 |
+
"authors": [
|
1678 |
+
{
|
1679 |
+
"name": "Sebastian Bergmann",
|
1680 |
+
"email": "sebastian@phpunit.de"
|
1681 |
+
}
|
1682 |
+
],
|
1683 |
+
"description": "Looks up which function or method a line of code belongs to",
|
1684 |
+
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
1685 |
+
"time": "2017-03-04T06:30:41+00:00"
|
1686 |
+
},
|
1687 |
+
{
|
1688 |
+
"name": "sebastian/comparator",
|
1689 |
+
"version": "1.2.4",
|
1690 |
+
"source": {
|
1691 |
+
"type": "git",
|
1692 |
+
"url": "https://github.com/sebastianbergmann/comparator.git",
|
1693 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
|
1694 |
+
},
|
1695 |
+
"dist": {
|
1696 |
+
"type": "zip",
|
1697 |
+
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
1698 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
1699 |
+
"shasum": ""
|
1700 |
+
},
|
1701 |
+
"require": {
|
1702 |
+
"php": ">=5.3.3",
|
1703 |
+
"sebastian/diff": "~1.2",
|
1704 |
+
"sebastian/exporter": "~1.2 || ~2.0"
|
1705 |
+
},
|
1706 |
+
"require-dev": {
|
1707 |
+
"phpunit/phpunit": "~4.4"
|
1708 |
+
},
|
1709 |
+
"type": "library",
|
1710 |
+
"extra": {
|
1711 |
+
"branch-alias": {
|
1712 |
+
"dev-master": "1.2.x-dev"
|
1713 |
+
}
|
1714 |
+
},
|
1715 |
+
"autoload": {
|
1716 |
+
"classmap": [
|
1717 |
+
"src/"
|
1718 |
+
]
|
1719 |
+
},
|
1720 |
+
"notification-url": "https://packagist.org/downloads/",
|
1721 |
+
"license": [
|
1722 |
+
"BSD-3-Clause"
|
1723 |
+
],
|
1724 |
+
"authors": [
|
1725 |
+
{
|
1726 |
+
"name": "Jeff Welch",
|
1727 |
+
"email": "whatthejeff@gmail.com"
|
1728 |
+
},
|
1729 |
+
{
|
1730 |
+
"name": "Volker Dusch",
|
1731 |
+
"email": "github@wallbash.com"
|
1732 |
+
},
|
1733 |
+
{
|
1734 |
+
"name": "Bernhard Schussek",
|
1735 |
+
"email": "bschussek@2bepublished.at"
|
1736 |
+
},
|
1737 |
+
{
|
1738 |
+
"name": "Sebastian Bergmann",
|
1739 |
+
"email": "sebastian@phpunit.de"
|
1740 |
+
}
|
1741 |
+
],
|
1742 |
+
"description": "Provides the functionality to compare PHP values for equality",
|
1743 |
+
"homepage": "http://www.github.com/sebastianbergmann/comparator",
|
1744 |
+
"keywords": [
|
1745 |
+
"comparator",
|
1746 |
+
"compare",
|
1747 |
+
"equality"
|
1748 |
+
],
|
1749 |
+
"time": "2017-01-29T09:50:25+00:00"
|
1750 |
+
},
|
1751 |
+
{
|
1752 |
+
"name": "sebastian/diff",
|
1753 |
+
"version": "1.4.3",
|
1754 |
+
"source": {
|
1755 |
+
"type": "git",
|
1756 |
+
"url": "https://github.com/sebastianbergmann/diff.git",
|
1757 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
|
1758 |
+
},
|
1759 |
+
"dist": {
|
1760 |
+
"type": "zip",
|
1761 |
+
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
1762 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
1763 |
+
"shasum": ""
|
1764 |
+
},
|
1765 |
+
"require": {
|
1766 |
+
"php": "^5.3.3 || ^7.0"
|
1767 |
+
},
|
1768 |
+
"require-dev": {
|
1769 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
1770 |
+
},
|
1771 |
+
"type": "library",
|
1772 |
+
"extra": {
|
1773 |
+
"branch-alias": {
|
1774 |
+
"dev-master": "1.4-dev"
|
1775 |
+
}
|
1776 |
+
},
|
1777 |
+
"autoload": {
|
1778 |
+
"classmap": [
|
1779 |
+
"src/"
|
1780 |
+
]
|
1781 |
+
},
|
1782 |
+
"notification-url": "https://packagist.org/downloads/",
|
1783 |
+
"license": [
|
1784 |
+
"BSD-3-Clause"
|
1785 |
+
],
|
1786 |
+
"authors": [
|
1787 |
+
{
|
1788 |
+
"name": "Kore Nordmann",
|
1789 |
+
"email": "mail@kore-nordmann.de"
|
1790 |
+
},
|
1791 |
+
{
|
1792 |
+
"name": "Sebastian Bergmann",
|
1793 |
+
"email": "sebastian@phpunit.de"
|
1794 |
+
}
|
1795 |
+
],
|
1796 |
+
"description": "Diff implementation",
|
1797 |
+
"homepage": "https://github.com/sebastianbergmann/diff",
|
1798 |
+
"keywords": [
|
1799 |
+
"diff"
|
1800 |
+
],
|
1801 |
+
"time": "2017-05-22T07:24:03+00:00"
|
1802 |
+
},
|
1803 |
+
{
|
1804 |
+
"name": "sebastian/environment",
|
1805 |
+
"version": "2.0.0",
|
1806 |
+
"source": {
|
1807 |
+
"type": "git",
|
1808 |
+
"url": "https://github.com/sebastianbergmann/environment.git",
|
1809 |
+
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac"
|
1810 |
+
},
|
1811 |
+
"dist": {
|
1812 |
+
"type": "zip",
|
1813 |
+
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
1814 |
+
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
1815 |
+
"shasum": ""
|
1816 |
+
},
|
1817 |
+
"require": {
|
1818 |
+
"php": "^5.6 || ^7.0"
|
1819 |
+
},
|
1820 |
+
"require-dev": {
|
1821 |
+
"phpunit/phpunit": "^5.0"
|
1822 |
+
},
|
1823 |
+
"type": "library",
|
1824 |
+
"extra": {
|
1825 |
+
"branch-alias": {
|
1826 |
+
"dev-master": "2.0.x-dev"
|
1827 |
+
}
|
1828 |
+
},
|
1829 |
+
"autoload": {
|
1830 |
+
"classmap": [
|
1831 |
+
"src/"
|
1832 |
+
]
|
1833 |
+
},
|
1834 |
+
"notification-url": "https://packagist.org/downloads/",
|
1835 |
+
"license": [
|
1836 |
+
"BSD-3-Clause"
|
1837 |
+
],
|
1838 |
+
"authors": [
|
1839 |
+
{
|
1840 |
+
"name": "Sebastian Bergmann",
|
1841 |
+
"email": "sebastian@phpunit.de"
|
1842 |
+
}
|
1843 |
+
],
|
1844 |
+
"description": "Provides functionality to handle HHVM/PHP environments",
|
1845 |
+
"homepage": "http://www.github.com/sebastianbergmann/environment",
|
1846 |
+
"keywords": [
|
1847 |
+
"Xdebug",
|
1848 |
+
"environment",
|
1849 |
+
"hhvm"
|
1850 |
+
],
|
1851 |
+
"time": "2016-11-26T07:53:53+00:00"
|
1852 |
+
},
|
1853 |
+
{
|
1854 |
+
"name": "sebastian/exporter",
|
1855 |
+
"version": "2.0.0",
|
1856 |
+
"source": {
|
1857 |
+
"type": "git",
|
1858 |
+
"url": "https://github.com/sebastianbergmann/exporter.git",
|
1859 |
+
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
|
1860 |
+
},
|
1861 |
+
"dist": {
|
1862 |
+
"type": "zip",
|
1863 |
+
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
1864 |
+
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
1865 |
+
"shasum": ""
|
1866 |
+
},
|
1867 |
+
"require": {
|
1868 |
+
"php": ">=5.3.3",
|
1869 |
+
"sebastian/recursion-context": "~2.0"
|
1870 |
+
},
|
1871 |
+
"require-dev": {
|
1872 |
+
"ext-mbstring": "*",
|
1873 |
+
"phpunit/phpunit": "~4.4"
|
1874 |
+
},
|
1875 |
+
"type": "library",
|
1876 |
+
"extra": {
|
1877 |
+
"branch-alias": {
|
1878 |
+
"dev-master": "2.0.x-dev"
|
1879 |
+
}
|
1880 |
+
},
|
1881 |
+
"autoload": {
|
1882 |
+
"classmap": [
|
1883 |
+
"src/"
|
1884 |
+
]
|
1885 |
+
},
|
1886 |
+
"notification-url": "https://packagist.org/downloads/",
|
1887 |
+
"license": [
|
1888 |
+
"BSD-3-Clause"
|
1889 |
+
],
|
1890 |
+
"authors": [
|
1891 |
+
{
|
1892 |
+
"name": "Jeff Welch",
|
1893 |
+
"email": "whatthejeff@gmail.com"
|
1894 |
+
},
|
1895 |
+
{
|
1896 |
+
"name": "Volker Dusch",
|
1897 |
+
"email": "github@wallbash.com"
|
1898 |
+
},
|
1899 |
+
{
|
1900 |
+
"name": "Bernhard Schussek",
|
1901 |
+
"email": "bschussek@2bepublished.at"
|
1902 |
+
},
|
1903 |
+
{
|
1904 |
+
"name": "Sebastian Bergmann",
|
1905 |
+
"email": "sebastian@phpunit.de"
|
1906 |
+
},
|
1907 |
+
{
|
1908 |
+
"name": "Adam Harvey",
|
1909 |
+
"email": "aharvey@php.net"
|
1910 |
+
}
|
1911 |
+
],
|
1912 |
+
"description": "Provides the functionality to export PHP variables for visualization",
|
1913 |
+
"homepage": "http://www.github.com/sebastianbergmann/exporter",
|
1914 |
+
"keywords": [
|
1915 |
+
"export",
|
1916 |
+
"exporter"
|
1917 |
+
],
|
1918 |
+
"time": "2016-11-19T08:54:04+00:00"
|
1919 |
+
},
|
1920 |
+
{
|
1921 |
+
"name": "sebastian/global-state",
|
1922 |
+
"version": "1.1.1",
|
1923 |
+
"source": {
|
1924 |
+
"type": "git",
|
1925 |
+
"url": "https://github.com/sebastianbergmann/global-state.git",
|
1926 |
+
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
|
1927 |
+
},
|
1928 |
+
"dist": {
|
1929 |
+
"type": "zip",
|
1930 |
+
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
1931 |
+
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
1932 |
+
"shasum": ""
|
1933 |
+
},
|
1934 |
+
"require": {
|
1935 |
+
"php": ">=5.3.3"
|
1936 |
+
},
|
1937 |
+
"require-dev": {
|
1938 |
+
"phpunit/phpunit": "~4.2"
|
1939 |
+
},
|
1940 |
+
"suggest": {
|
1941 |
+
"ext-uopz": "*"
|
1942 |
+
},
|
1943 |
+
"type": "library",
|
1944 |
+
"extra": {
|
1945 |
+
"branch-alias": {
|
1946 |
+
"dev-master": "1.0-dev"
|
1947 |
+
}
|
1948 |
+
},
|
1949 |
+
"autoload": {
|
1950 |
+
"classmap": [
|
1951 |
+
"src/"
|
1952 |
+
]
|
1953 |
+
},
|
1954 |
+
"notification-url": "https://packagist.org/downloads/",
|
1955 |
+
"license": [
|
1956 |
+
"BSD-3-Clause"
|
1957 |
+
],
|
1958 |
+
"authors": [
|
1959 |
+
{
|
1960 |
+
"name": "Sebastian Bergmann",
|
1961 |
+
"email": "sebastian@phpunit.de"
|
1962 |
+
}
|
1963 |
+
],
|
1964 |
+
"description": "Snapshotting of global state",
|
1965 |
+
"homepage": "http://www.github.com/sebastianbergmann/global-state",
|
1966 |
+
"keywords": [
|
1967 |
+
"global state"
|
1968 |
+
],
|
1969 |
+
"time": "2015-10-12T03:26:01+00:00"
|
1970 |
+
},
|
1971 |
+
{
|
1972 |
+
"name": "sebastian/object-enumerator",
|
1973 |
+
"version": "2.0.1",
|
1974 |
+
"source": {
|
1975 |
+
"type": "git",
|
1976 |
+
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
|
1977 |
+
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7"
|
1978 |
+
},
|
1979 |
+
"dist": {
|
1980 |
+
"type": "zip",
|
1981 |
+
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
1982 |
+
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
1983 |
+
"shasum": ""
|
1984 |
+
},
|
1985 |
+
"require": {
|
1986 |
+
"php": ">=5.6",
|
1987 |
+
"sebastian/recursion-context": "~2.0"
|
1988 |
+
},
|
1989 |
+
"require-dev": {
|
1990 |
+
"phpunit/phpunit": "~5"
|
1991 |
+
},
|
1992 |
+
"type": "library",
|
1993 |
+
"extra": {
|
1994 |
+
"branch-alias": {
|
1995 |
+
"dev-master": "2.0.x-dev"
|
1996 |
+
}
|
1997 |
+
},
|
1998 |
+
"autoload": {
|
1999 |
+
"classmap": [
|
2000 |
+
"src/"
|
2001 |
+
]
|
2002 |
+
},
|
2003 |
+
"notification-url": "https://packagist.org/downloads/",
|
2004 |
+
"license": [
|
2005 |
+
"BSD-3-Clause"
|
2006 |
+
],
|
2007 |
+
"authors": [
|
2008 |
+
{
|
2009 |
+
"name": "Sebastian Bergmann",
|
2010 |
+
"email": "sebastian@phpunit.de"
|
2011 |
+
}
|
2012 |
+
],
|
2013 |
+
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
2014 |
+
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
2015 |
+
"time": "2017-02-18T15:18:39+00:00"
|
2016 |
+
},
|
2017 |
+
{
|
2018 |
+
"name": "sebastian/recursion-context",
|
2019 |
+
"version": "2.0.0",
|
2020 |
+
"source": {
|
2021 |
+
"type": "git",
|
2022 |
+
"url": "https://github.com/sebastianbergmann/recursion-context.git",
|
2023 |
+
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
|
2024 |
+
},
|
2025 |
+
"dist": {
|
2026 |
+
"type": "zip",
|
2027 |
+
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
2028 |
+
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
2029 |
+
"shasum": ""
|
2030 |
+
},
|
2031 |
+
"require": {
|
2032 |
+
"php": ">=5.3.3"
|
2033 |
+
},
|
2034 |
+
"require-dev": {
|
2035 |
+
"phpunit/phpunit": "~4.4"
|
2036 |
+
},
|
2037 |
+
"type": "library",
|
2038 |
+
"extra": {
|
2039 |
+
"branch-alias": {
|
2040 |
+
"dev-master": "2.0.x-dev"
|
2041 |
+
}
|
2042 |
+
},
|
2043 |
+
"autoload": {
|
2044 |
+
"classmap": [
|
2045 |
+
"src/"
|
2046 |
+
]
|
2047 |
+
},
|
2048 |
+
"notification-url": "https://packagist.org/downloads/",
|
2049 |
+
"license": [
|
2050 |
+
"BSD-3-Clause"
|
2051 |
+
],
|
2052 |
+
"authors": [
|
2053 |
+
{
|
2054 |
+
"name": "Jeff Welch",
|
2055 |
+
"email": "whatthejeff@gmail.com"
|
2056 |
+
},
|
2057 |
+
{
|
2058 |
+
"name": "Sebastian Bergmann",
|
2059 |
+
"email": "sebastian@phpunit.de"
|
2060 |
+
},
|
2061 |
+
{
|
2062 |
+
"name": "Adam Harvey",
|
2063 |
+
"email": "aharvey@php.net"
|
2064 |
+
}
|
2065 |
+
],
|
2066 |
+
"description": "Provides functionality to recursively process PHP variables",
|
2067 |
+
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
2068 |
+
"time": "2016-11-19T07:33:16+00:00"
|
2069 |
+
},
|
2070 |
+
{
|
2071 |
+
"name": "sebastian/resource-operations",
|
2072 |
+
"version": "1.0.0",
|
2073 |
+
"source": {
|
2074 |
+
"type": "git",
|
2075 |
+
"url": "https://github.com/sebastianbergmann/resource-operations.git",
|
2076 |
+
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
|
2077 |
+
},
|
2078 |
+
"dist": {
|
2079 |
+
"type": "zip",
|
2080 |
+
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
2081 |
+
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
2082 |
+
"shasum": ""
|
2083 |
+
},
|
2084 |
+
"require": {
|
2085 |
+
"php": ">=5.6.0"
|
2086 |
+
},
|
2087 |
+
"type": "library",
|
2088 |
+
"extra": {
|
2089 |
+
"branch-alias": {
|
2090 |
+
"dev-master": "1.0.x-dev"
|
2091 |
+
}
|
2092 |
+
},
|
2093 |
+
"autoload": {
|
2094 |
+
"classmap": [
|
2095 |
+
"src/"
|
2096 |
+
]
|
2097 |
+
},
|
2098 |
+
"notification-url": "https://packagist.org/downloads/",
|
2099 |
+
"license": [
|
2100 |
+
"BSD-3-Clause"
|
2101 |
+
],
|
2102 |
+
"authors": [
|
2103 |
+
{
|
2104 |
+
"name": "Sebastian Bergmann",
|
2105 |
+
"email": "sebastian@phpunit.de"
|
2106 |
+
}
|
2107 |
+
],
|
2108 |
+
"description": "Provides a list of PHP built-in functions that operate on resources",
|
2109 |
+
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
2110 |
+
"time": "2015-07-28T20:34:47+00:00"
|
2111 |
+
},
|
2112 |
+
{
|
2113 |
+
"name": "sebastian/version",
|
2114 |
+
"version": "2.0.1",
|
2115 |
+
"source": {
|
2116 |
+
"type": "git",
|
2117 |
+
"url": "https://github.com/sebastianbergmann/version.git",
|
2118 |
+
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
|
2119 |
+
},
|
2120 |
+
"dist": {
|
2121 |
+
"type": "zip",
|
2122 |
+
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
|
2123 |
+
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
|
2124 |
+
"shasum": ""
|
2125 |
+
},
|
2126 |
+
"require": {
|
2127 |
+
"php": ">=5.6"
|
2128 |
+
},
|
2129 |
+
"type": "library",
|
2130 |
+
"extra": {
|
2131 |
+
"branch-alias": {
|
2132 |
+
"dev-master": "2.0.x-dev"
|
2133 |
+
}
|
2134 |
+
},
|
2135 |
+
"autoload": {
|
2136 |
+
"classmap": [
|
2137 |
+
"src/"
|
2138 |
+
]
|
2139 |
+
},
|
2140 |
+
"notification-url": "https://packagist.org/downloads/",
|
2141 |
+
"license": [
|
2142 |
+
"BSD-3-Clause"
|
2143 |
+
],
|
2144 |
+
"authors": [
|
2145 |
+
{
|
2146 |
+
"name": "Sebastian Bergmann",
|
2147 |
+
"email": "sebastian@phpunit.de",
|
2148 |
+
"role": "lead"
|
2149 |
+
}
|
2150 |
+
],
|
2151 |
+
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
2152 |
+
"homepage": "https://github.com/sebastianbergmann/version",
|
2153 |
+
"time": "2016-10-03T07:35:21+00:00"
|
2154 |
+
},
|
2155 |
+
{
|
2156 |
+
"name": "squizlabs/php_codesniffer",
|
2157 |
+
"version": "3.4.1",
|
2158 |
+
"source": {
|
2159 |
+
"type": "git",
|
2160 |
+
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
|
2161 |
+
"reference": "5b4333b4010625d29580eb4a41f1e53251be6baa"
|
2162 |
+
},
|
2163 |
+
"dist": {
|
2164 |
+
"type": "zip",
|
2165 |
+
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5b4333b4010625d29580eb4a41f1e53251be6baa",
|
2166 |
+
"reference": "5b4333b4010625d29580eb4a41f1e53251be6baa",
|
2167 |
+
"shasum": ""
|
2168 |
+
},
|
2169 |
+
"require": {
|
2170 |
+
"ext-simplexml": "*",
|
2171 |
+
"ext-tokenizer": "*",
|
2172 |
+
"ext-xmlwriter": "*",
|
2173 |
+
"php": ">=5.4.0"
|
2174 |
+
},
|
2175 |
+
"require-dev": {
|
2176 |
+
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
|
2177 |
+
},
|
2178 |
+
"bin": [
|
2179 |
+
"bin/phpcs",
|
2180 |
+
"bin/phpcbf"
|
2181 |
+
],
|
2182 |
+
"type": "library",
|
2183 |
+
"extra": {
|
2184 |
+
"branch-alias": {
|
2185 |
+
"dev-master": "3.x-dev"
|
2186 |
+
}
|
2187 |
+
},
|
2188 |
+
"notification-url": "https://packagist.org/downloads/",
|
2189 |
+
"license": [
|
2190 |
+
"BSD-3-Clause"
|
2191 |
+
],
|
2192 |
+
"authors": [
|
2193 |
+
{
|
2194 |
+
"name": "Greg Sherwood",
|
2195 |
+
"role": "lead"
|
2196 |
+
}
|
2197 |
+
],
|
2198 |
+
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
2199 |
+
"homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
|
2200 |
+
"keywords": [
|
2201 |
+
"phpcs",
|
2202 |
+
"standards"
|
2203 |
+
],
|
2204 |
+
"time": "2019-03-19T03:22:27+00:00"
|
2205 |
+
},
|
2206 |
+
{
|
2207 |
+
"name": "symfony/polyfill-ctype",
|
2208 |
+
"version": "v1.11.0",
|
2209 |
+
"source": {
|
2210 |
+
"type": "git",
|
2211 |
+
"url": "https://github.com/symfony/polyfill-ctype.git",
|
2212 |
+
"reference": "82ebae02209c21113908c229e9883c419720738a"
|
2213 |
+
},
|
2214 |
+
"dist": {
|
2215 |
+
"type": "zip",
|
2216 |
+
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a",
|
2217 |
+
"reference": "82ebae02209c21113908c229e9883c419720738a",
|
2218 |
+
"shasum": ""
|
2219 |
+
},
|
2220 |
+
"require": {
|
2221 |
+
"php": ">=5.3.3"
|
2222 |
+
},
|
2223 |
+
"suggest": {
|
2224 |
+
"ext-ctype": "For best performance"
|
2225 |
+
},
|
2226 |
+
"type": "library",
|
2227 |
+
"extra": {
|
2228 |
+
"branch-alias": {
|
2229 |
+
"dev-master": "1.11-dev"
|
2230 |
+
}
|
2231 |
+
},
|
2232 |
+
"autoload": {
|
2233 |
+
"psr-4": {
|
2234 |
+
"Symfony\\Polyfill\\Ctype\\": ""
|
2235 |
+
},
|
2236 |
+
"files": [
|
2237 |
+
"bootstrap.php"
|
2238 |
+
]
|
2239 |
+
},
|
2240 |
+
"notification-url": "https://packagist.org/downloads/",
|
2241 |
+
"license": [
|
2242 |
+
"MIT"
|
2243 |
+
],
|
2244 |
+
"authors": [
|
2245 |
+
{
|
2246 |
+
"name": "Symfony Community",
|
2247 |
+
"homepage": "https://symfony.com/contributors"
|
2248 |
+
},
|
2249 |
+
{
|
2250 |
+
"name": "Gert de Pagter",
|
2251 |
+
"email": "backendtea@gmail.com"
|
2252 |
+
}
|
2253 |
+
],
|
2254 |
+
"description": "Symfony polyfill for ctype functions",
|
2255 |
+
"homepage": "https://symfony.com",
|
2256 |
+
"keywords": [
|
2257 |
+
"compatibility",
|
2258 |
+
"ctype",
|
2259 |
+
"polyfill",
|
2260 |
+
"portable"
|
2261 |
+
],
|
2262 |
+
"time": "2019-02-06T07:57:58+00:00"
|
2263 |
+
},
|
2264 |
+
{
|
2265 |
+
"name": "symfony/yaml",
|
2266 |
+
"version": "v3.4.24",
|
2267 |
+
"source": {
|
2268 |
+
"type": "git",
|
2269 |
+
"url": "https://github.com/symfony/yaml.git",
|
2270 |
+
"reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996"
|
2271 |
+
},
|
2272 |
+
"dist": {
|
2273 |
+
"type": "zip",
|
2274 |
+
"url": "https://api.github.com/repos/symfony/yaml/zipball/212a27b731e5bfb735679d1ffaac82bd6a1dc996",
|
2275 |
+
"reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996",
|
2276 |
+
"shasum": ""
|
2277 |
+
},
|
2278 |
+
"require": {
|
2279 |
+
"php": "^5.5.9|>=7.0.8",
|
2280 |
+
"symfony/polyfill-ctype": "~1.8"
|
2281 |
+
},
|
2282 |
+
"conflict": {
|
2283 |
+
"symfony/console": "<3.4"
|
2284 |
+
},
|
2285 |
+
"require-dev": {
|
2286 |
+
"symfony/console": "~3.4|~4.0"
|
2287 |
+
},
|
2288 |
+
"suggest": {
|
2289 |
+
"symfony/console": "For validating YAML files using the lint command"
|
2290 |
+
},
|
2291 |
+
"type": "library",
|
2292 |
+
"extra": {
|
2293 |
+
"branch-alias": {
|
2294 |
+
"dev-master": "3.4-dev"
|
2295 |
+
}
|
2296 |
+
},
|
2297 |
+
"autoload": {
|
2298 |
+
"psr-4": {
|
2299 |
+
"Symfony\\Component\\Yaml\\": ""
|
2300 |
+
},
|
2301 |
+
"exclude-from-classmap": [
|
2302 |
+
"/Tests/"
|
2303 |
+
]
|
2304 |
+
},
|
2305 |
+
"notification-url": "https://packagist.org/downloads/",
|
2306 |
+
"license": [
|
2307 |
+
"MIT"
|
2308 |
+
],
|
2309 |
+
"authors": [
|
2310 |
+
{
|
2311 |
+
"name": "Fabien Potencier",
|
2312 |
+
"email": "fabien@symfony.com"
|
2313 |
+
},
|
2314 |
+
{
|
2315 |
+
"name": "Symfony Community",
|
2316 |
+
"homepage": "https://symfony.com/contributors"
|
2317 |
+
}
|
2318 |
+
],
|
2319 |
+
"description": "Symfony Yaml Component",
|
2320 |
+
"homepage": "https://symfony.com",
|
2321 |
+
"time": "2019-03-25T07:48:46+00:00"
|
2322 |
+
},
|
2323 |
+
{
|
2324 |
+
"name": "webmozart/assert",
|
2325 |
+
"version": "1.4.0",
|
2326 |
+
"source": {
|
2327 |
+
"type": "git",
|
2328 |
+
"url": "https://github.com/webmozart/assert.git",
|
2329 |
+
"reference": "83e253c8e0be5b0257b881e1827274667c5c17a9"
|
2330 |
+
},
|
2331 |
+
"dist": {
|
2332 |
+
"type": "zip",
|
2333 |
+
"url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9",
|
2334 |
+
"reference": "83e253c8e0be5b0257b881e1827274667c5c17a9",
|
2335 |
+
"shasum": ""
|
2336 |
+
},
|
2337 |
+
"require": {
|
2338 |
+
"php": "^5.3.3 || ^7.0",
|
2339 |
+
"symfony/polyfill-ctype": "^1.8"
|
2340 |
+
},
|
2341 |
+
"require-dev": {
|
2342 |
+
"phpunit/phpunit": "^4.6",
|
2343 |
+
"sebastian/version": "^1.0.1"
|
2344 |
+
},
|
2345 |
+
"type": "library",
|
2346 |
+
"extra": {
|
2347 |
+
"branch-alias": {
|
2348 |
+
"dev-master": "1.3-dev"
|
2349 |
+
}
|
2350 |
+
},
|
2351 |
+
"autoload": {
|
2352 |
+
"psr-4": {
|
2353 |
+
"Webmozart\\Assert\\": "src/"
|
2354 |
+
}
|
2355 |
+
},
|
2356 |
+
"notification-url": "https://packagist.org/downloads/",
|
2357 |
+
"license": [
|
2358 |
+
"MIT"
|
2359 |
+
],
|
2360 |
+
"authors": [
|
2361 |
+
{
|
2362 |
+
"name": "Bernhard Schussek",
|
2363 |
+
"email": "bschussek@gmail.com"
|
2364 |
+
}
|
2365 |
+
],
|
2366 |
+
"description": "Assertions to validate method input/output with nice error messages.",
|
2367 |
+
"keywords": [
|
2368 |
+
"assert",
|
2369 |
+
"check",
|
2370 |
+
"validate"
|
2371 |
+
],
|
2372 |
+
"time": "2018-12-25T11:19:39+00:00"
|
2373 |
+
},
|
2374 |
+
{
|
2375 |
+
"name": "wp-coding-standards/wpcs",
|
2376 |
+
"version": "0.14.1",
|
2377 |
+
"source": {
|
2378 |
+
"type": "git",
|
2379 |
+
"url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
|
2380 |
+
"reference": "cf6b310caad735816caef7573295f8a534374706"
|
2381 |
+
},
|
2382 |
+
"dist": {
|
2383 |
+
"type": "zip",
|
2384 |
+
"url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/cf6b310caad735816caef7573295f8a534374706",
|
2385 |
+
"reference": "cf6b310caad735816caef7573295f8a534374706",
|
2386 |
+
"shasum": ""
|
2387 |
+
},
|
2388 |
+
"require": {
|
2389 |
+
"php": ">=5.3",
|
2390 |
+
"squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
|
2391 |
+
},
|
2392 |
+
"suggest": {
|
2393 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
|
2394 |
+
},
|
2395 |
+
"type": "phpcodesniffer-standard",
|
2396 |
+
"notification-url": "https://packagist.org/downloads/",
|
2397 |
+
"license": [
|
2398 |
+
"MIT"
|
2399 |
+
],
|
2400 |
+
"authors": [
|
2401 |
+
{
|
2402 |
+
"name": "Contributors",
|
2403 |
+
"homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
|
2404 |
+
}
|
2405 |
+
],
|
2406 |
+
"description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
|
2407 |
+
"keywords": [
|
2408 |
+
"phpcs",
|
2409 |
+
"standards",
|
2410 |
+
"wordpress"
|
2411 |
+
],
|
2412 |
+
"time": "2018-02-16T01:57:48+00:00"
|
2413 |
+
}
|
2414 |
+
],
|
2415 |
+
"aliases": [],
|
2416 |
+
"minimum-stability": "dev",
|
2417 |
+
"stability-flags": [],
|
2418 |
+
"prefer-stable": true,
|
2419 |
+
"prefer-lowest": false,
|
2420 |
+
"platform": {
|
2421 |
+
"php": ">=5.6"
|
2422 |
+
},
|
2423 |
+
"platform-dev": []
|
2424 |
+
}
|
flexible-shipping.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Flexible Shipping
|
4 |
Plugin URI: https://wordpress.org/plugins/flexible-shipping/
|
5 |
Description: Create additional shipment methods in WooCommerce and enable pricing based on cart weight or total.
|
6 |
-
Version: 3.3.
|
7 |
Author: WP Desk
|
8 |
Author URI: https://www.wpdesk.net/
|
9 |
Text Domain: flexible-shipping
|
@@ -42,11 +42,9 @@ if ( ! class_exists( 'WPDesk_Basic_Requirement_Checker' ) ) {
|
|
42 |
require_once dirname( __FILE__ ) . '/vendor/wpdesk/wp-basic-requirements/src/Basic_Requirement_Checker.php';
|
43 |
}
|
44 |
|
45 |
-
|
46 |
/* THESE TWO VARIABLES CAN BE CHANGED AUTOMATICALLY */
|
47 |
-
|
48 |
-
$
|
49 |
-
$plugin_release_timestamp = '2019-04-02';
|
50 |
|
51 |
$plugin_name = 'Flexible Shipping';
|
52 |
$plugin_class_name = 'Flexible_Shipping_Plugin';
|
3 |
Plugin Name: Flexible Shipping
|
4 |
Plugin URI: https://wordpress.org/plugins/flexible-shipping/
|
5 |
Description: Create additional shipment methods in WooCommerce and enable pricing based on cart weight or total.
|
6 |
+
Version: 3.3.3
|
7 |
Author: WP Desk
|
8 |
Author URI: https://www.wpdesk.net/
|
9 |
Text Domain: flexible-shipping
|
42 |
require_once dirname( __FILE__ ) . '/vendor/wpdesk/wp-basic-requirements/src/Basic_Requirement_Checker.php';
|
43 |
}
|
44 |
|
|
|
45 |
/* THESE TWO VARIABLES CAN BE CHANGED AUTOMATICALLY */
|
46 |
+
$plugin_version = '3.3.3';
|
47 |
+
$plugin_release_timestamp = '2019-04-04';
|
|
|
48 |
|
49 |
$plugin_name = 'Flexible Shipping';
|
50 |
$plugin_class_name = 'Flexible_Shipping_Plugin';
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://flexibleshipping.com/table-rate/
|
|
4 |
Tags: table rate, table rate shipping, woocommerce shipping, flexible shipping, woocommerce table rate shipping, cart based shipping, weight shipping, weight based shipping, totals based shipping, order based shipping, shipping zones, shipping classes
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.1.0
|
7 |
-
Stable tag: 3.3.
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -175,14 +175,18 @@ If you are upgrading from the old Flexible Shipping version (1.3.2, woo-flexible
|
|
175 |
|
176 |
== Changelog ==
|
177 |
|
178 |
-
3.3.
|
|
|
|
|
|
|
|
|
179 |
* Fixed weight calculation for float weight values
|
180 |
* Conditional logic on fields in order meta box
|
181 |
|
182 |
-
3.3.1 - 2019-04-01
|
183 |
* Fixed CSV import with multiple shipping classes
|
184 |
|
185 |
-
3.3.0 - 2019-03-19
|
186 |
* Added support for EDT (Electronic Trade Documents)
|
187 |
|
188 |
= 3.2.0 - 2019-03-11 =
|
4 |
Tags: table rate, table rate shipping, woocommerce shipping, flexible shipping, woocommerce table rate shipping, cart based shipping, weight shipping, weight based shipping, totals based shipping, order based shipping, shipping zones, shipping classes
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.1.0
|
7 |
+
Stable tag: 3.3.3
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
175 |
|
176 |
== Changelog ==
|
177 |
|
178 |
+
= 3.3.3 - 2019-04-04 =
|
179 |
+
* Fixed notices in order meta box
|
180 |
+
* Fixed changelog entries
|
181 |
+
|
182 |
+
= 3.3.2 - 2019-04-02 =
|
183 |
* Fixed weight calculation for float weight values
|
184 |
* Conditional logic on fields in order meta box
|
185 |
|
186 |
+
= 3.3.1 - 2019-04-01 =
|
187 |
* Fixed CSV import with multiple shipping classes
|
188 |
|
189 |
+
= 3.3.0 - 2019-03-19 =
|
190 |
* Added support for EDT (Electronic Trade Documents)
|
191 |
|
192 |
= 3.2.0 - 2019-03-11 =
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit8a4e70223d7dc54e60bb6eb464631f2f::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -6,97 +6,6 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
-
'Browser' => $vendorDir . '/wpdesk/wp-settings/source/modules/sysinfo/browser.php',
|
10 |
-
'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
11 |
-
'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
12 |
-
'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
13 |
-
'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
|
14 |
-
'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
|
15 |
-
'Composer\\Installers\\BaseInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BaseInstaller.php',
|
16 |
-
'Composer\\Installers\\BitrixInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BitrixInstaller.php',
|
17 |
-
'Composer\\Installers\\BonefishInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
|
18 |
-
'Composer\\Installers\\CakePHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
|
19 |
-
'Composer\\Installers\\ChefInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
|
20 |
-
'Composer\\Installers\\CiviCrmInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
|
21 |
-
'Composer\\Installers\\ClanCatsFrameworkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
|
22 |
-
'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
|
23 |
-
'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
|
24 |
-
'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
|
25 |
-
'Composer\\Installers\\CraftInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
|
26 |
-
'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
|
27 |
-
'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
|
28 |
-
'Composer\\Installers\\DokuWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
|
29 |
-
'Composer\\Installers\\DolibarrInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
|
30 |
-
'Composer\\Installers\\DrupalInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
|
31 |
-
'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
|
32 |
-
'Composer\\Installers\\EliasisInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
|
33 |
-
'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
|
34 |
-
'Composer\\Installers\\EzPlatformInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
|
35 |
-
'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
|
36 |
-
'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
|
37 |
-
'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
|
38 |
-
'Composer\\Installers\\HuradInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
|
39 |
-
'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
|
40 |
-
'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php',
|
41 |
-
'Composer\\Installers\\ItopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
|
42 |
-
'Composer\\Installers\\JoomlaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
|
43 |
-
'Composer\\Installers\\KanboardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
|
44 |
-
'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
|
45 |
-
'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
|
46 |
-
'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
|
47 |
-
'Composer\\Installers\\LanManagementSystemInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
|
48 |
-
'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
|
49 |
-
'Composer\\Installers\\LavaLiteInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
|
50 |
-
'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
|
51 |
-
'Composer\\Installers\\MODULEWorkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
|
52 |
-
'Composer\\Installers\\MODXEvoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
|
53 |
-
'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
|
54 |
-
'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
|
55 |
-
'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
|
56 |
-
'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
|
57 |
-
'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
|
58 |
-
'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
|
59 |
-
'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
|
60 |
-
'Composer\\Installers\\ModxInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
|
61 |
-
'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
|
62 |
-
'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
|
63 |
-
'Composer\\Installers\\OntoWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
|
64 |
-
'Composer\\Installers\\OsclassInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
|
65 |
-
'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
|
66 |
-
'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
|
67 |
-
'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
|
68 |
-
'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
|
69 |
-
'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
|
70 |
-
'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
|
71 |
-
'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
|
72 |
-
'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php',
|
73 |
-
'Composer\\Installers\\PortoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
|
74 |
-
'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
|
75 |
-
'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
|
76 |
-
'Composer\\Installers\\PxcmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
|
77 |
-
'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
|
78 |
-
'Composer\\Installers\\ReIndexInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
|
79 |
-
'Composer\\Installers\\RedaxoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
|
80 |
-
'Composer\\Installers\\RoundcubeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
|
81 |
-
'Composer\\Installers\\SMFInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
|
82 |
-
'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
|
83 |
-
'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
|
84 |
-
'Composer\\Installers\\SiteDirectInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
|
85 |
-
'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
|
86 |
-
'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
|
87 |
-
'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
|
88 |
-
'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
|
89 |
-
'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
|
90 |
-
'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
|
91 |
-
'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
|
92 |
-
'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
|
93 |
-
'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
|
94 |
-
'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
|
95 |
-
'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
|
96 |
-
'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
|
97 |
-
'Composer\\Installers\\YawikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
|
98 |
-
'Composer\\Installers\\ZendInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZendInstaller.php',
|
99 |
-
'Composer\\Installers\\ZikulaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php',
|
100 |
'Flexible_Shipping_Plugin' => $baseDir . '/classes/class-flexible-shipping-plugin.php',
|
101 |
'Money\\Calculator' => $vendorDir . '/moneyphp/money/src/Calculator.php',
|
102 |
'Money\\Calculator\\BcMathCalculator' => $vendorDir . '/moneyphp/money/src/Calculator/BcMathCalculator.php',
|
@@ -245,10 +154,6 @@ return array(
|
|
245 |
'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php',
|
246 |
'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
|
247 |
'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
|
248 |
-
'S214_License' => $vendorDir . '/wpdesk/wp-settings/source/modules/licensing/class.s214-license.php',
|
249 |
-
'S214_Plugin_Updater' => $vendorDir . '/wpdesk/wp-settings/source/modules/licensing/S214_Plugin_Updater.php',
|
250 |
-
'S214_Settings' => $vendorDir . '/wpdesk/wp-settings/source/class.s214-settings.php',
|
251 |
-
'S214_Sysinfo' => $vendorDir . '/wpdesk/wp-settings/source/modules/sysinfo/class.s214-sysinfo.php',
|
252 |
'WPDesk\\ABTesting\\ABTest' => $vendorDir . '/wpdesk/wp-abtesting/src/ABTest.php',
|
253 |
'WPDesk\\ABTesting\\ABTest\\EqualGroupsRandomABTest' => $vendorDir . '/wpdesk/wp-abtesting/src/ABTest/EqualGroupsRandomABTest.php',
|
254 |
'WPDesk\\ABTesting\\ABVariant' => $vendorDir . '/wpdesk/wp-abtesting/src/ABVariant.php',
|
@@ -532,7 +437,6 @@ return array(
|
|
532 |
'WPDesk_Flexible_Shipping_Tracker' => $baseDir . '/classes/tracker.php',
|
533 |
'WPDesk_Flexible_Shipping_UK_States' => $baseDir . '/classes/class-uk-states.php',
|
534 |
'WPDesk_Flexible_Shipping_WooCommerce_Context_Logger' => $baseDir . '/classes/logger/class-woocommerce-context-logger.php',
|
535 |
-
'WPDesk_S214_Settings' => $vendorDir . '/wpdesk/wp-settings/source/class.wpdesk-s214-settings.php',
|
536 |
'WPDesk_Tracker' => $baseDir . '/inc/wpdesk-tracker/class-wpdesk-tracker.php',
|
537 |
'WPDesk_Tracker_Data_Provider' => $baseDir . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider.php',
|
538 |
'WPDesk_Tracker_Data_Provider_Gateways' => $baseDir . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider-gateways.php',
|
@@ -561,5 +465,4 @@ return array(
|
|
561 |
'WPDesk_Tracker_Sender_Exception_WpError' => $baseDir . '/inc/wpdesk-tracker/sender/Exception/class-wpdesk-tracker-sender-exception-wperror.php',
|
562 |
'WPDesk_Tracker_Sender_Logged' => $baseDir . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-logged.php',
|
563 |
'WPDesk_Tracker_Sender_Wordpress_To_WPDesk' => $baseDir . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-wordpress-to-wpdesk.php',
|
564 |
-
'WPDesk_WP_Settings' => $vendorDir . '/wpdesk/wp-settings/source/class.wpdesk-wp-settings.php',
|
565 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
'Flexible_Shipping_Plugin' => $baseDir . '/classes/class-flexible-shipping-plugin.php',
|
10 |
'Money\\Calculator' => $vendorDir . '/moneyphp/money/src/Calculator.php',
|
11 |
'Money\\Calculator\\BcMathCalculator' => $vendorDir . '/moneyphp/money/src/Calculator/BcMathCalculator.php',
|
154 |
'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php',
|
155 |
'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
|
156 |
'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
|
|
|
|
|
|
|
|
|
157 |
'WPDesk\\ABTesting\\ABTest' => $vendorDir . '/wpdesk/wp-abtesting/src/ABTest.php',
|
158 |
'WPDesk\\ABTesting\\ABTest\\EqualGroupsRandomABTest' => $vendorDir . '/wpdesk/wp-abtesting/src/ABTest/EqualGroupsRandomABTest.php',
|
159 |
'WPDesk\\ABTesting\\ABVariant' => $vendorDir . '/wpdesk/wp-abtesting/src/ABVariant.php',
|
437 |
'WPDesk_Flexible_Shipping_Tracker' => $baseDir . '/classes/tracker.php',
|
438 |
'WPDesk_Flexible_Shipping_UK_States' => $baseDir . '/classes/class-uk-states.php',
|
439 |
'WPDesk_Flexible_Shipping_WooCommerce_Context_Logger' => $baseDir . '/classes/logger/class-woocommerce-context-logger.php',
|
|
|
440 |
'WPDesk_Tracker' => $baseDir . '/inc/wpdesk-tracker/class-wpdesk-tracker.php',
|
441 |
'WPDesk_Tracker_Data_Provider' => $baseDir . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider.php',
|
442 |
'WPDesk_Tracker_Data_Provider_Gateways' => $baseDir . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider-gateways.php',
|
465 |
'WPDesk_Tracker_Sender_Exception_WpError' => $baseDir . '/inc/wpdesk-tracker/sender/Exception/class-wpdesk-tracker-sender-exception-wperror.php',
|
466 |
'WPDesk_Tracker_Sender_Logged' => $baseDir . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-logged.php',
|
467 |
'WPDesk_Tracker_Sender_Wordpress_To_WPDesk' => $baseDir . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-wordpress-to-wpdesk.php',
|
|
|
468 |
);
|
vendor/composer/autoload_psr4.php
CHANGED
@@ -18,5 +18,4 @@ return array(
|
|
18 |
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
19 |
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
|
20 |
'Money\\' => array($vendorDir . '/moneyphp/money/src'),
|
21 |
-
'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src/Composer/Installers'),
|
22 |
);
|
18 |
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
19 |
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
|
20 |
'Money\\' => array($vendorDir . '/moneyphp/money/src'),
|
|
|
21 |
);
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitaafcce658bff0f6e1b833865f9ebd08f
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
@@ -48,19 +48,19 @@ class ComposerAutoloaderInitaafcce658bff0f6e1b833865f9ebd08f
|
|
48 |
$loader->register(true);
|
49 |
|
50 |
if ($useStaticLoader) {
|
51 |
-
$includeFiles = Composer\Autoload\
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
-
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
-
function
|
64 |
{
|
65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
66 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit8a4e70223d7dc54e60bb6eb464631f2f
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit8a4e70223d7dc54e60bb6eb464631f2f', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit8a4e70223d7dc54e60bb6eb464631f2f', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit8a4e70223d7dc54e60bb6eb464631f2f::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
48 |
$loader->register(true);
|
49 |
|
50 |
if ($useStaticLoader) {
|
51 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit8a4e70223d7dc54e60bb6eb464631f2f::$files;
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
+
composerRequire8a4e70223d7dc54e60bb6eb464631f2f($fileIdentifier, $file);
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
+
function composerRequire8a4e70223d7dc54e60bb6eb464631f2f($fileIdentifier, $file)
|
64 |
{
|
65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
66 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'46ae4ad8c3479aabff48f598a0e4b93f' => __DIR__ . '/..' . '/wpdesk/wp-mutex/src/WPDesk/functions.php',
|
@@ -33,10 +33,6 @@ class ComposerStaticInitaafcce658bff0f6e1b833865f9ebd08f
|
|
33 |
'Monolog\\' => 8,
|
34 |
'Money\\' => 6,
|
35 |
),
|
36 |
-
'C' =>
|
37 |
-
array (
|
38 |
-
'Composer\\Installers\\' => 20,
|
39 |
-
),
|
40 |
);
|
41 |
|
42 |
public static $prefixDirsPsr4 = array (
|
@@ -88,104 +84,9 @@ class ComposerStaticInitaafcce658bff0f6e1b833865f9ebd08f
|
|
88 |
array (
|
89 |
0 => __DIR__ . '/..' . '/moneyphp/money/src',
|
90 |
),
|
91 |
-
'Composer\\Installers\\' =>
|
92 |
-
array (
|
93 |
-
0 => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers',
|
94 |
-
),
|
95 |
);
|
96 |
|
97 |
public static $classMap = array (
|
98 |
-
'Browser' => __DIR__ . '/..' . '/wpdesk/wp-settings/source/modules/sysinfo/browser.php',
|
99 |
-
'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
|
100 |
-
'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
|
101 |
-
'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
|
102 |
-
'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
|
103 |
-
'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
|
104 |
-
'Composer\\Installers\\BaseInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BaseInstaller.php',
|
105 |
-
'Composer\\Installers\\BitrixInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BitrixInstaller.php',
|
106 |
-
'Composer\\Installers\\BonefishInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
|
107 |
-
'Composer\\Installers\\CakePHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
|
108 |
-
'Composer\\Installers\\ChefInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
|
109 |
-
'Composer\\Installers\\CiviCrmInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
|
110 |
-
'Composer\\Installers\\ClanCatsFrameworkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
|
111 |
-
'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
|
112 |
-
'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
|
113 |
-
'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
|
114 |
-
'Composer\\Installers\\CraftInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
|
115 |
-
'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
|
116 |
-
'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
|
117 |
-
'Composer\\Installers\\DokuWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
|
118 |
-
'Composer\\Installers\\DolibarrInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
|
119 |
-
'Composer\\Installers\\DrupalInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
|
120 |
-
'Composer\\Installers\\ElggInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
|
121 |
-
'Composer\\Installers\\EliasisInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
|
122 |
-
'Composer\\Installers\\ExpressionEngineInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
|
123 |
-
'Composer\\Installers\\EzPlatformInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
|
124 |
-
'Composer\\Installers\\FuelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
|
125 |
-
'Composer\\Installers\\FuelphpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
|
126 |
-
'Composer\\Installers\\GravInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/GravInstaller.php',
|
127 |
-
'Composer\\Installers\\HuradInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
|
128 |
-
'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
|
129 |
-
'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php',
|
130 |
-
'Composer\\Installers\\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
|
131 |
-
'Composer\\Installers\\JoomlaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
|
132 |
-
'Composer\\Installers\\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
|
133 |
-
'Composer\\Installers\\KirbyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
|
134 |
-
'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
|
135 |
-
'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
|
136 |
-
'Composer\\Installers\\LanManagementSystemInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
|
137 |
-
'Composer\\Installers\\LaravelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
|
138 |
-
'Composer\\Installers\\LavaLiteInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
|
139 |
-
'Composer\\Installers\\LithiumInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
|
140 |
-
'Composer\\Installers\\MODULEWorkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
|
141 |
-
'Composer\\Installers\\MODXEvoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
|
142 |
-
'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
|
143 |
-
'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
|
144 |
-
'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
|
145 |
-
'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
|
146 |
-
'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
|
147 |
-
'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
|
148 |
-
'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
|
149 |
-
'Composer\\Installers\\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
|
150 |
-
'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
|
151 |
-
'Composer\\Installers\\OctoberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
|
152 |
-
'Composer\\Installers\\OntoWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
|
153 |
-
'Composer\\Installers\\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
|
154 |
-
'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
|
155 |
-
'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
|
156 |
-
'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
|
157 |
-
'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
|
158 |
-
'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
|
159 |
-
'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
|
160 |
-
'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
|
161 |
-
'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
|
162 |
-
'Composer\\Installers\\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
|
163 |
-
'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
|
164 |
-
'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
|
165 |
-
'Composer\\Installers\\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
|
166 |
-
'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
|
167 |
-
'Composer\\Installers\\ReIndexInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
|
168 |
-
'Composer\\Installers\\RedaxoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
|
169 |
-
'Composer\\Installers\\RoundcubeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
|
170 |
-
'Composer\\Installers\\SMFInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
|
171 |
-
'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
|
172 |
-
'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
|
173 |
-
'Composer\\Installers\\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
|
174 |
-
'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
|
175 |
-
'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
|
176 |
-
'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
|
177 |
-
'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
|
178 |
-
'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
|
179 |
-
'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
|
180 |
-
'Composer\\Installers\\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
|
181 |
-
'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
|
182 |
-
'Composer\\Installers\\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
|
183 |
-
'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
|
184 |
-
'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
|
185 |
-
'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
|
186 |
-
'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
|
187 |
-
'Composer\\Installers\\ZendInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZendInstaller.php',
|
188 |
-
'Composer\\Installers\\ZikulaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php',
|
189 |
'Flexible_Shipping_Plugin' => __DIR__ . '/../..' . '/classes/class-flexible-shipping-plugin.php',
|
190 |
'Money\\Calculator' => __DIR__ . '/..' . '/moneyphp/money/src/Calculator.php',
|
191 |
'Money\\Calculator\\BcMathCalculator' => __DIR__ . '/..' . '/moneyphp/money/src/Calculator/BcMathCalculator.php',
|
@@ -334,10 +235,6 @@ class ComposerStaticInitaafcce658bff0f6e1b833865f9ebd08f
|
|
334 |
'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php',
|
335 |
'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php',
|
336 |
'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php',
|
337 |
-
'S214_License' => __DIR__ . '/..' . '/wpdesk/wp-settings/source/modules/licensing/class.s214-license.php',
|
338 |
-
'S214_Plugin_Updater' => __DIR__ . '/..' . '/wpdesk/wp-settings/source/modules/licensing/S214_Plugin_Updater.php',
|
339 |
-
'S214_Settings' => __DIR__ . '/..' . '/wpdesk/wp-settings/source/class.s214-settings.php',
|
340 |
-
'S214_Sysinfo' => __DIR__ . '/..' . '/wpdesk/wp-settings/source/modules/sysinfo/class.s214-sysinfo.php',
|
341 |
'WPDesk\\ABTesting\\ABTest' => __DIR__ . '/..' . '/wpdesk/wp-abtesting/src/ABTest.php',
|
342 |
'WPDesk\\ABTesting\\ABTest\\EqualGroupsRandomABTest' => __DIR__ . '/..' . '/wpdesk/wp-abtesting/src/ABTest/EqualGroupsRandomABTest.php',
|
343 |
'WPDesk\\ABTesting\\ABVariant' => __DIR__ . '/..' . '/wpdesk/wp-abtesting/src/ABVariant.php',
|
@@ -621,7 +518,6 @@ class ComposerStaticInitaafcce658bff0f6e1b833865f9ebd08f
|
|
621 |
'WPDesk_Flexible_Shipping_Tracker' => __DIR__ . '/../..' . '/classes/tracker.php',
|
622 |
'WPDesk_Flexible_Shipping_UK_States' => __DIR__ . '/../..' . '/classes/class-uk-states.php',
|
623 |
'WPDesk_Flexible_Shipping_WooCommerce_Context_Logger' => __DIR__ . '/../..' . '/classes/logger/class-woocommerce-context-logger.php',
|
624 |
-
'WPDesk_S214_Settings' => __DIR__ . '/..' . '/wpdesk/wp-settings/source/class.wpdesk-s214-settings.php',
|
625 |
'WPDesk_Tracker' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/class-wpdesk-tracker.php',
|
626 |
'WPDesk_Tracker_Data_Provider' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider.php',
|
627 |
'WPDesk_Tracker_Data_Provider_Gateways' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider-gateways.php',
|
@@ -650,15 +546,14 @@ class ComposerStaticInitaafcce658bff0f6e1b833865f9ebd08f
|
|
650 |
'WPDesk_Tracker_Sender_Exception_WpError' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/sender/Exception/class-wpdesk-tracker-sender-exception-wperror.php',
|
651 |
'WPDesk_Tracker_Sender_Logged' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-logged.php',
|
652 |
'WPDesk_Tracker_Sender_Wordpress_To_WPDesk' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-wordpress-to-wpdesk.php',
|
653 |
-
'WPDesk_WP_Settings' => __DIR__ . '/..' . '/wpdesk/wp-settings/source/class.wpdesk-wp-settings.php',
|
654 |
);
|
655 |
|
656 |
public static function getInitializer(ClassLoader $loader)
|
657 |
{
|
658 |
return \Closure::bind(function () use ($loader) {
|
659 |
-
$loader->prefixLengthsPsr4 =
|
660 |
-
$loader->prefixDirsPsr4 =
|
661 |
-
$loader->classMap =
|
662 |
|
663 |
}, null, ClassLoader::class);
|
664 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit8a4e70223d7dc54e60bb6eb464631f2f
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'46ae4ad8c3479aabff48f598a0e4b93f' => __DIR__ . '/..' . '/wpdesk/wp-mutex/src/WPDesk/functions.php',
|
33 |
'Monolog\\' => 8,
|
34 |
'Money\\' => 6,
|
35 |
),
|
|
|
|
|
|
|
|
|
36 |
);
|
37 |
|
38 |
public static $prefixDirsPsr4 = array (
|
84 |
array (
|
85 |
0 => __DIR__ . '/..' . '/moneyphp/money/src',
|
86 |
),
|
|
|
|
|
|
|
|
|
87 |
);
|
88 |
|
89 |
public static $classMap = array (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
'Flexible_Shipping_Plugin' => __DIR__ . '/../..' . '/classes/class-flexible-shipping-plugin.php',
|
91 |
'Money\\Calculator' => __DIR__ . '/..' . '/moneyphp/money/src/Calculator.php',
|
92 |
'Money\\Calculator\\BcMathCalculator' => __DIR__ . '/..' . '/moneyphp/money/src/Calculator/BcMathCalculator.php',
|
235 |
'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php',
|
236 |
'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php',
|
237 |
'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php',
|
|
|
|
|
|
|
|
|
238 |
'WPDesk\\ABTesting\\ABTest' => __DIR__ . '/..' . '/wpdesk/wp-abtesting/src/ABTest.php',
|
239 |
'WPDesk\\ABTesting\\ABTest\\EqualGroupsRandomABTest' => __DIR__ . '/..' . '/wpdesk/wp-abtesting/src/ABTest/EqualGroupsRandomABTest.php',
|
240 |
'WPDesk\\ABTesting\\ABVariant' => __DIR__ . '/..' . '/wpdesk/wp-abtesting/src/ABVariant.php',
|
518 |
'WPDesk_Flexible_Shipping_Tracker' => __DIR__ . '/../..' . '/classes/tracker.php',
|
519 |
'WPDesk_Flexible_Shipping_UK_States' => __DIR__ . '/../..' . '/classes/class-uk-states.php',
|
520 |
'WPDesk_Flexible_Shipping_WooCommerce_Context_Logger' => __DIR__ . '/../..' . '/classes/logger/class-woocommerce-context-logger.php',
|
|
|
521 |
'WPDesk_Tracker' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/class-wpdesk-tracker.php',
|
522 |
'WPDesk_Tracker_Data_Provider' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider.php',
|
523 |
'WPDesk_Tracker_Data_Provider_Gateways' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/data_provider/class-wpdesk-tracker-data-provider-gateways.php',
|
546 |
'WPDesk_Tracker_Sender_Exception_WpError' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/sender/Exception/class-wpdesk-tracker-sender-exception-wperror.php',
|
547 |
'WPDesk_Tracker_Sender_Logged' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-logged.php',
|
548 |
'WPDesk_Tracker_Sender_Wordpress_To_WPDesk' => __DIR__ . '/../..' . '/inc/wpdesk-tracker/sender/class-wpdesk-tracker-sender-wordpress-to-wpdesk.php',
|
|
|
549 |
);
|
550 |
|
551 |
public static function getInitializer(ClassLoader $loader)
|
552 |
{
|
553 |
return \Closure::bind(function () use ($loader) {
|
554 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit8a4e70223d7dc54e60bb6eb464631f2f::$prefixLengthsPsr4;
|
555 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit8a4e70223d7dc54e60bb6eb464631f2f::$prefixDirsPsr4;
|
556 |
+
$loader->classMap = ComposerStaticInit8a4e70223d7dc54e60bb6eb464631f2f::$classMap;
|
557 |
|
558 |
}, null, ClassLoader::class);
|
559 |
}
|
vendor/composer/installed.json
CHANGED
@@ -1,126 +1,4 @@
|
|
1 |
[
|
2 |
-
{
|
3 |
-
"name": "composer/installers",
|
4 |
-
"version": "v1.6.0",
|
5 |
-
"version_normalized": "1.6.0.0",
|
6 |
-
"source": {
|
7 |
-
"type": "git",
|
8 |
-
"url": "https://github.com/composer/installers.git",
|
9 |
-
"reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b"
|
10 |
-
},
|
11 |
-
"dist": {
|
12 |
-
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/composer/installers/zipball/cfcca6b1b60bc4974324efb5783c13dca6932b5b",
|
14 |
-
"reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b",
|
15 |
-
"shasum": ""
|
16 |
-
},
|
17 |
-
"require": {
|
18 |
-
"composer-plugin-api": "^1.0"
|
19 |
-
},
|
20 |
-
"replace": {
|
21 |
-
"roundcube/plugin-installer": "*",
|
22 |
-
"shama/baton": "*"
|
23 |
-
},
|
24 |
-
"require-dev": {
|
25 |
-
"composer/composer": "1.0.*@dev",
|
26 |
-
"phpunit/phpunit": "^4.8.36"
|
27 |
-
},
|
28 |
-
"time": "2018-08-27T06:10:37+00:00",
|
29 |
-
"type": "composer-plugin",
|
30 |
-
"extra": {
|
31 |
-
"class": "Composer\\Installers\\Plugin",
|
32 |
-
"branch-alias": {
|
33 |
-
"dev-master": "1.0-dev"
|
34 |
-
}
|
35 |
-
},
|
36 |
-
"installation-source": "dist",
|
37 |
-
"autoload": {
|
38 |
-
"psr-4": {
|
39 |
-
"Composer\\Installers\\": "src/Composer/Installers"
|
40 |
-
}
|
41 |
-
},
|
42 |
-
"notification-url": "https://packagist.org/downloads/",
|
43 |
-
"license": [
|
44 |
-
"MIT"
|
45 |
-
],
|
46 |
-
"authors": [
|
47 |
-
{
|
48 |
-
"name": "Kyle Robinson Young",
|
49 |
-
"email": "kyle@dontkry.com",
|
50 |
-
"homepage": "https://github.com/shama"
|
51 |
-
}
|
52 |
-
],
|
53 |
-
"description": "A multi-framework Composer library installer",
|
54 |
-
"homepage": "https://composer.github.io/installers/",
|
55 |
-
"keywords": [
|
56 |
-
"Craft",
|
57 |
-
"Dolibarr",
|
58 |
-
"Eliasis",
|
59 |
-
"Hurad",
|
60 |
-
"ImageCMS",
|
61 |
-
"Kanboard",
|
62 |
-
"Lan Management System",
|
63 |
-
"MODX Evo",
|
64 |
-
"Mautic",
|
65 |
-
"Maya",
|
66 |
-
"OXID",
|
67 |
-
"Plentymarkets",
|
68 |
-
"Porto",
|
69 |
-
"RadPHP",
|
70 |
-
"SMF",
|
71 |
-
"Thelia",
|
72 |
-
"WolfCMS",
|
73 |
-
"agl",
|
74 |
-
"aimeos",
|
75 |
-
"annotatecms",
|
76 |
-
"attogram",
|
77 |
-
"bitrix",
|
78 |
-
"cakephp",
|
79 |
-
"chef",
|
80 |
-
"cockpit",
|
81 |
-
"codeigniter",
|
82 |
-
"concrete5",
|
83 |
-
"croogo",
|
84 |
-
"dokuwiki",
|
85 |
-
"drupal",
|
86 |
-
"eZ Platform",
|
87 |
-
"elgg",
|
88 |
-
"expressionengine",
|
89 |
-
"fuelphp",
|
90 |
-
"grav",
|
91 |
-
"installer",
|
92 |
-
"itop",
|
93 |
-
"joomla",
|
94 |
-
"kohana",
|
95 |
-
"laravel",
|
96 |
-
"lavalite",
|
97 |
-
"lithium",
|
98 |
-
"magento",
|
99 |
-
"majima",
|
100 |
-
"mako",
|
101 |
-
"mediawiki",
|
102 |
-
"modulework",
|
103 |
-
"modx",
|
104 |
-
"moodle",
|
105 |
-
"osclass",
|
106 |
-
"phpbb",
|
107 |
-
"piwik",
|
108 |
-
"ppi",
|
109 |
-
"puppet",
|
110 |
-
"pxcms",
|
111 |
-
"reindex",
|
112 |
-
"roundcube",
|
113 |
-
"shopware",
|
114 |
-
"silverstripe",
|
115 |
-
"sydes",
|
116 |
-
"symfony",
|
117 |
-
"typo3",
|
118 |
-
"wordpress",
|
119 |
-
"yawik",
|
120 |
-
"zend",
|
121 |
-
"zikula"
|
122 |
-
]
|
123 |
-
},
|
124 |
{
|
125 |
"name": "moneyphp/money",
|
126 |
"version": "v3.2.1",
|
@@ -788,56 +666,6 @@
|
|
788 |
}
|
789 |
]
|
790 |
},
|
791 |
-
{
|
792 |
-
"name": "wpdesk/wp-settings",
|
793 |
-
"version": "1.0",
|
794 |
-
"version_normalized": "1.0.0.0",
|
795 |
-
"source": {
|
796 |
-
"type": "git",
|
797 |
-
"url": "https://gitlab.com/wpdesk/wp-settings.git",
|
798 |
-
"reference": "6575bc86da10a47a9cbccaef9ba475601d52617a"
|
799 |
-
},
|
800 |
-
"dist": {
|
801 |
-
"type": "zip",
|
802 |
-
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-settings/repository/archive.zip?sha=6575bc86da10a47a9cbccaef9ba475601d52617a",
|
803 |
-
"reference": "6575bc86da10a47a9cbccaef9ba475601d52617a",
|
804 |
-
"shasum": ""
|
805 |
-
},
|
806 |
-
"require": {
|
807 |
-
"composer/installers": "~1.0",
|
808 |
-
"php": ">=5.3.0"
|
809 |
-
},
|
810 |
-
"require-dev": {
|
811 |
-
"phpunit/php-invoker": "1.1.3",
|
812 |
-
"phpunit/phpunit": "3.7.31",
|
813 |
-
"satooshi/php-coveralls": "dev-master"
|
814 |
-
},
|
815 |
-
"time": "2018-08-01T11:34:33+00:00",
|
816 |
-
"type": "library",
|
817 |
-
"installation-source": "dist",
|
818 |
-
"autoload": {
|
819 |
-
"classmap": [
|
820 |
-
"source/"
|
821 |
-
]
|
822 |
-
},
|
823 |
-
"notification-url": "https://packagist.org/downloads/",
|
824 |
-
"license": [
|
825 |
-
"GPL-2.0+"
|
826 |
-
],
|
827 |
-
"authors": [
|
828 |
-
{
|
829 |
-
"name": "WP Desk",
|
830 |
-
"email": "wpdesk@wpdesk.net"
|
831 |
-
}
|
832 |
-
],
|
833 |
-
"description": "A PHP library for implementing a simple, transparent WordPress settings panel.",
|
834 |
-
"homepage": "https://wpdesk.net/",
|
835 |
-
"keywords": [
|
836 |
-
"Settings",
|
837 |
-
"options",
|
838 |
-
"wpdesk"
|
839 |
-
]
|
840 |
-
},
|
841 |
{
|
842 |
"name": "wpdesk/wp-view",
|
843 |
"version": "1.0.2",
|
1 |
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
{
|
3 |
"name": "moneyphp/money",
|
4 |
"version": "v3.2.1",
|
666 |
}
|
667 |
]
|
668 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
669 |
{
|
670 |
"name": "wpdesk/wp-view",
|
671 |
"version": "1.0.2",
|
vendor/composer/installers/LICENSE
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
Copyright (c) 2012 Kyle Robinson Young
|
2 |
-
|
3 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
-
of this software and associated documentation files (the "Software"), to deal
|
5 |
-
in the Software without restriction, including without limitation the rights
|
6 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7 |
-
copies of the Software, and to permit persons to whom the Software is furnished
|
8 |
-
to do so, subject to the following conditions:
|
9 |
-
|
10 |
-
The above copyright notice and this permission notice shall be included in all
|
11 |
-
copies or substantial portions of the Software.
|
12 |
-
|
13 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19 |
-
THE SOFTWARE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/composer.json
DELETED
@@ -1,105 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "composer/installers",
|
3 |
-
"type": "composer-plugin",
|
4 |
-
"license": "MIT",
|
5 |
-
"description": "A multi-framework Composer library installer",
|
6 |
-
"keywords": [
|
7 |
-
"installer",
|
8 |
-
"Aimeos",
|
9 |
-
"AGL",
|
10 |
-
"AnnotateCms",
|
11 |
-
"Attogram",
|
12 |
-
"Bitrix",
|
13 |
-
"CakePHP",
|
14 |
-
"Chef",
|
15 |
-
"Cockpit",
|
16 |
-
"CodeIgniter",
|
17 |
-
"concrete5",
|
18 |
-
"Craft",
|
19 |
-
"Croogo",
|
20 |
-
"DokuWiki",
|
21 |
-
"Dolibarr",
|
22 |
-
"Drupal",
|
23 |
-
"Elgg",
|
24 |
-
"Eliasis",
|
25 |
-
"ExpressionEngine",
|
26 |
-
"eZ Platform",
|
27 |
-
"FuelPHP",
|
28 |
-
"Grav",
|
29 |
-
"Hurad",
|
30 |
-
"ImageCMS",
|
31 |
-
"iTop",
|
32 |
-
"Joomla",
|
33 |
-
"Kanboard",
|
34 |
-
"Kohana",
|
35 |
-
"Lan Management System",
|
36 |
-
"Laravel",
|
37 |
-
"Lavalite",
|
38 |
-
"Lithium",
|
39 |
-
"Magento",
|
40 |
-
"majima",
|
41 |
-
"Mako",
|
42 |
-
"Mautic",
|
43 |
-
"Maya",
|
44 |
-
"MODX",
|
45 |
-
"MODX Evo",
|
46 |
-
"MediaWiki",
|
47 |
-
"OXID",
|
48 |
-
"osclass",
|
49 |
-
"MODULEWork",
|
50 |
-
"Moodle",
|
51 |
-
"Piwik",
|
52 |
-
"pxcms",
|
53 |
-
"phpBB",
|
54 |
-
"Plentymarkets",
|
55 |
-
"PPI",
|
56 |
-
"Puppet",
|
57 |
-
"Porto",
|
58 |
-
"RadPHP",
|
59 |
-
"ReIndex",
|
60 |
-
"Roundcube",
|
61 |
-
"shopware",
|
62 |
-
"SilverStripe",
|
63 |
-
"SMF",
|
64 |
-
"SyDES",
|
65 |
-
"symfony",
|
66 |
-
"Thelia",
|
67 |
-
"TYPO3",
|
68 |
-
"WolfCMS",
|
69 |
-
"WordPress",
|
70 |
-
"YAWIK",
|
71 |
-
"Zend",
|
72 |
-
"Zikula"
|
73 |
-
],
|
74 |
-
"homepage": "https://composer.github.io/installers/",
|
75 |
-
"authors": [
|
76 |
-
{
|
77 |
-
"name": "Kyle Robinson Young",
|
78 |
-
"email": "kyle@dontkry.com",
|
79 |
-
"homepage": "https://github.com/shama"
|
80 |
-
}
|
81 |
-
],
|
82 |
-
"autoload": {
|
83 |
-
"psr-4": { "Composer\\Installers\\": "src/Composer/Installers" }
|
84 |
-
},
|
85 |
-
"extra": {
|
86 |
-
"class": "Composer\\Installers\\Plugin",
|
87 |
-
"branch-alias": {
|
88 |
-
"dev-master": "1.0-dev"
|
89 |
-
}
|
90 |
-
},
|
91 |
-
"replace": {
|
92 |
-
"shama/baton": "*",
|
93 |
-
"roundcube/plugin-installer": "*"
|
94 |
-
},
|
95 |
-
"require": {
|
96 |
-
"composer-plugin-api": "^1.0"
|
97 |
-
},
|
98 |
-
"require-dev": {
|
99 |
-
"composer/composer": "1.0.*@dev",
|
100 |
-
"phpunit/phpunit": "^4.8.36"
|
101 |
-
},
|
102 |
-
"scripts": {
|
103 |
-
"test": "phpunit"
|
104 |
-
}
|
105 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/AglInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class AglInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'More/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format package name to CamelCase
|
12 |
-
*/
|
13 |
-
public function inflectPackageVars($vars)
|
14 |
-
{
|
15 |
-
$vars['name'] = preg_replace_callback('/(?:^|_|-)(.?)/', function ($matches) {
|
16 |
-
return strtoupper($matches[1]);
|
17 |
-
}, $vars['name']);
|
18 |
-
|
19 |
-
return $vars;
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class AimeosInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'extension' => 'ext/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class AnnotateCmsInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'addons/modules/{$name}/',
|
8 |
-
'component' => 'addons/components/{$name}/',
|
9 |
-
'service' => 'addons/services/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class AsgardInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'Modules/{$name}/',
|
8 |
-
'theme' => 'Themes/{$name}/'
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name.
|
13 |
-
*
|
14 |
-
* For package type asgard-module, cut off a trailing '-plugin' if present.
|
15 |
-
*
|
16 |
-
* For package type asgard-theme, cut off a trailing '-theme' if present.
|
17 |
-
*
|
18 |
-
*/
|
19 |
-
public function inflectPackageVars($vars)
|
20 |
-
{
|
21 |
-
if ($vars['type'] === 'asgard-module') {
|
22 |
-
return $this->inflectPluginVars($vars);
|
23 |
-
}
|
24 |
-
|
25 |
-
if ($vars['type'] === 'asgard-theme') {
|
26 |
-
return $this->inflectThemeVars($vars);
|
27 |
-
}
|
28 |
-
|
29 |
-
return $vars;
|
30 |
-
}
|
31 |
-
|
32 |
-
protected function inflectPluginVars($vars)
|
33 |
-
{
|
34 |
-
$vars['name'] = preg_replace('/-module$/', '', $vars['name']);
|
35 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
36 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
37 |
-
|
38 |
-
return $vars;
|
39 |
-
}
|
40 |
-
|
41 |
-
protected function inflectThemeVars($vars)
|
42 |
-
{
|
43 |
-
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
|
44 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
45 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
46 |
-
|
47 |
-
return $vars;
|
48 |
-
}
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class AttogramInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/BaseInstaller.php
DELETED
@@ -1,136 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\IO\IOInterface;
|
5 |
-
use Composer\Composer;
|
6 |
-
use Composer\Package\PackageInterface;
|
7 |
-
|
8 |
-
abstract class BaseInstaller
|
9 |
-
{
|
10 |
-
protected $locations = array();
|
11 |
-
protected $composer;
|
12 |
-
protected $package;
|
13 |
-
protected $io;
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Initializes base installer.
|
17 |
-
*
|
18 |
-
* @param PackageInterface $package
|
19 |
-
* @param Composer $composer
|
20 |
-
* @param IOInterface $io
|
21 |
-
*/
|
22 |
-
public function __construct(PackageInterface $package = null, Composer $composer = null, IOInterface $io = null)
|
23 |
-
{
|
24 |
-
$this->composer = $composer;
|
25 |
-
$this->package = $package;
|
26 |
-
$this->io = $io;
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Return the install path based on package type.
|
31 |
-
*
|
32 |
-
* @param PackageInterface $package
|
33 |
-
* @param string $frameworkType
|
34 |
-
* @return string
|
35 |
-
*/
|
36 |
-
public function getInstallPath(PackageInterface $package, $frameworkType = '')
|
37 |
-
{
|
38 |
-
$type = $this->package->getType();
|
39 |
-
|
40 |
-
$prettyName = $this->package->getPrettyName();
|
41 |
-
if (strpos($prettyName, '/') !== false) {
|
42 |
-
list($vendor, $name) = explode('/', $prettyName);
|
43 |
-
} else {
|
44 |
-
$vendor = '';
|
45 |
-
$name = $prettyName;
|
46 |
-
}
|
47 |
-
|
48 |
-
$availableVars = $this->inflectPackageVars(compact('name', 'vendor', 'type'));
|
49 |
-
|
50 |
-
$extra = $package->getExtra();
|
51 |
-
if (!empty($extra['installer-name'])) {
|
52 |
-
$availableVars['name'] = $extra['installer-name'];
|
53 |
-
}
|
54 |
-
|
55 |
-
if ($this->composer->getPackage()) {
|
56 |
-
$extra = $this->composer->getPackage()->getExtra();
|
57 |
-
if (!empty($extra['installer-paths'])) {
|
58 |
-
$customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type, $vendor);
|
59 |
-
if ($customPath !== false) {
|
60 |
-
return $this->templatePath($customPath, $availableVars);
|
61 |
-
}
|
62 |
-
}
|
63 |
-
}
|
64 |
-
|
65 |
-
$packageType = substr($type, strlen($frameworkType) + 1);
|
66 |
-
$locations = $this->getLocations();
|
67 |
-
if (!isset($locations[$packageType])) {
|
68 |
-
throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type));
|
69 |
-
}
|
70 |
-
|
71 |
-
return $this->templatePath($locations[$packageType], $availableVars);
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
* For an installer to override to modify the vars per installer.
|
76 |
-
*
|
77 |
-
* @param array $vars
|
78 |
-
* @return array
|
79 |
-
*/
|
80 |
-
public function inflectPackageVars($vars)
|
81 |
-
{
|
82 |
-
return $vars;
|
83 |
-
}
|
84 |
-
|
85 |
-
/**
|
86 |
-
* Gets the installer's locations
|
87 |
-
*
|
88 |
-
* @return array
|
89 |
-
*/
|
90 |
-
public function getLocations()
|
91 |
-
{
|
92 |
-
return $this->locations;
|
93 |
-
}
|
94 |
-
|
95 |
-
/**
|
96 |
-
* Replace vars in a path
|
97 |
-
*
|
98 |
-
* @param string $path
|
99 |
-
* @param array $vars
|
100 |
-
* @return string
|
101 |
-
*/
|
102 |
-
protected function templatePath($path, array $vars = array())
|
103 |
-
{
|
104 |
-
if (strpos($path, '{') !== false) {
|
105 |
-
extract($vars);
|
106 |
-
preg_match_all('@\{\$([A-Za-z0-9_]*)\}@i', $path, $matches);
|
107 |
-
if (!empty($matches[1])) {
|
108 |
-
foreach ($matches[1] as $var) {
|
109 |
-
$path = str_replace('{$' . $var . '}', $$var, $path);
|
110 |
-
}
|
111 |
-
}
|
112 |
-
}
|
113 |
-
|
114 |
-
return $path;
|
115 |
-
}
|
116 |
-
|
117 |
-
/**
|
118 |
-
* Search through a passed paths array for a custom install path.
|
119 |
-
*
|
120 |
-
* @param array $paths
|
121 |
-
* @param string $name
|
122 |
-
* @param string $type
|
123 |
-
* @param string $vendor = NULL
|
124 |
-
* @return string
|
125 |
-
*/
|
126 |
-
protected function mapCustomInstallPaths(array $paths, $name, $type, $vendor = NULL)
|
127 |
-
{
|
128 |
-
foreach ($paths as $path => $names) {
|
129 |
-
if (in_array($name, $names) || in_array('type:' . $type, $names) || in_array('vendor:' . $vendor, $names)) {
|
130 |
-
return $path;
|
131 |
-
}
|
132 |
-
}
|
133 |
-
|
134 |
-
return false;
|
135 |
-
}
|
136 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php
DELETED
@@ -1,126 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Composer\Installers;
|
4 |
-
|
5 |
-
use Composer\Util\Filesystem;
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Installer for Bitrix Framework. Supported types of extensions:
|
9 |
-
* - `bitrix-d7-module` — copy the module to directory `bitrix/modules/<vendor>.<name>`.
|
10 |
-
* - `bitrix-d7-component` — copy the component to directory `bitrix/components/<vendor>/<name>`.
|
11 |
-
* - `bitrix-d7-template` — copy the template to directory `bitrix/templates/<vendor>_<name>`.
|
12 |
-
*
|
13 |
-
* You can set custom path to directory with Bitrix kernel in `composer.json`:
|
14 |
-
*
|
15 |
-
* ```json
|
16 |
-
* {
|
17 |
-
* "extra": {
|
18 |
-
* "bitrix-dir": "s1/bitrix"
|
19 |
-
* }
|
20 |
-
* }
|
21 |
-
* ```
|
22 |
-
*
|
23 |
-
* @author Nik Samokhvalov <nik@samokhvalov.info>
|
24 |
-
* @author Denis Kulichkin <onexhovia@gmail.com>
|
25 |
-
*/
|
26 |
-
class BitrixInstaller extends BaseInstaller
|
27 |
-
{
|
28 |
-
protected $locations = array(
|
29 |
-
'module' => '{$bitrix_dir}/modules/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken)
|
30 |
-
'component' => '{$bitrix_dir}/components/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken)
|
31 |
-
'theme' => '{$bitrix_dir}/templates/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken)
|
32 |
-
'd7-module' => '{$bitrix_dir}/modules/{$vendor}.{$name}/',
|
33 |
-
'd7-component' => '{$bitrix_dir}/components/{$vendor}/{$name}/',
|
34 |
-
'd7-template' => '{$bitrix_dir}/templates/{$vendor}_{$name}/',
|
35 |
-
);
|
36 |
-
|
37 |
-
/**
|
38 |
-
* @var array Storage for informations about duplicates at all the time of installation packages.
|
39 |
-
*/
|
40 |
-
private static $checkedDuplicates = array();
|
41 |
-
|
42 |
-
/**
|
43 |
-
* {@inheritdoc}
|
44 |
-
*/
|
45 |
-
public function inflectPackageVars($vars)
|
46 |
-
{
|
47 |
-
if ($this->composer->getPackage()) {
|
48 |
-
$extra = $this->composer->getPackage()->getExtra();
|
49 |
-
|
50 |
-
if (isset($extra['bitrix-dir'])) {
|
51 |
-
$vars['bitrix_dir'] = $extra['bitrix-dir'];
|
52 |
-
}
|
53 |
-
}
|
54 |
-
|
55 |
-
if (!isset($vars['bitrix_dir'])) {
|
56 |
-
$vars['bitrix_dir'] = 'bitrix';
|
57 |
-
}
|
58 |
-
|
59 |
-
return parent::inflectPackageVars($vars);
|
60 |
-
}
|
61 |
-
|
62 |
-
/**
|
63 |
-
* {@inheritdoc}
|
64 |
-
*/
|
65 |
-
protected function templatePath($path, array $vars = array())
|
66 |
-
{
|
67 |
-
$templatePath = parent::templatePath($path, $vars);
|
68 |
-
$this->checkDuplicates($templatePath, $vars);
|
69 |
-
|
70 |
-
return $templatePath;
|
71 |
-
}
|
72 |
-
|
73 |
-
/**
|
74 |
-
* Duplicates search packages.
|
75 |
-
*
|
76 |
-
* @param string $path
|
77 |
-
* @param array $vars
|
78 |
-
*/
|
79 |
-
protected function checkDuplicates($path, array $vars = array())
|
80 |
-
{
|
81 |
-
$packageType = substr($vars['type'], strlen('bitrix') + 1);
|
82 |
-
$localDir = explode('/', $vars['bitrix_dir']);
|
83 |
-
array_pop($localDir);
|
84 |
-
$localDir[] = 'local';
|
85 |
-
$localDir = implode('/', $localDir);
|
86 |
-
|
87 |
-
$oldPath = str_replace(
|
88 |
-
array('{$bitrix_dir}', '{$name}'),
|
89 |
-
array($localDir, $vars['name']),
|
90 |
-
$this->locations[$packageType]
|
91 |
-
);
|
92 |
-
|
93 |
-
if (in_array($oldPath, static::$checkedDuplicates)) {
|
94 |
-
return;
|
95 |
-
}
|
96 |
-
|
97 |
-
if ($oldPath !== $path && file_exists($oldPath) && $this->io && $this->io->isInteractive()) {
|
98 |
-
|
99 |
-
$this->io->writeError(' <error>Duplication of packages:</error>');
|
100 |
-
$this->io->writeError(' <info>Package ' . $oldPath . ' will be called instead package ' . $path . '</info>');
|
101 |
-
|
102 |
-
while (true) {
|
103 |
-
switch ($this->io->ask(' <info>Delete ' . $oldPath . ' [y,n,?]?</info> ', '?')) {
|
104 |
-
case 'y':
|
105 |
-
$fs = new Filesystem();
|
106 |
-
$fs->removeDirectory($oldPath);
|
107 |
-
break 2;
|
108 |
-
|
109 |
-
case 'n':
|
110 |
-
break 2;
|
111 |
-
|
112 |
-
case '?':
|
113 |
-
default:
|
114 |
-
$this->io->writeError(array(
|
115 |
-
' y - delete package ' . $oldPath . ' and to continue with the installation',
|
116 |
-
' n - don\'t delete and to continue with the installation',
|
117 |
-
));
|
118 |
-
$this->io->writeError(' ? - print help');
|
119 |
-
break;
|
120 |
-
}
|
121 |
-
}
|
122 |
-
}
|
123 |
-
|
124 |
-
static::$checkedDuplicates[] = $oldPath;
|
125 |
-
}
|
126 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class BonefishInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'package' => 'Packages/{$vendor}/{$name}/'
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
DELETED
@@ -1,82 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\DependencyResolver\Pool;
|
5 |
-
|
6 |
-
class CakePHPInstaller extends BaseInstaller
|
7 |
-
{
|
8 |
-
protected $locations = array(
|
9 |
-
'plugin' => 'Plugin/{$name}/',
|
10 |
-
);
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Format package name to CamelCase
|
14 |
-
*/
|
15 |
-
public function inflectPackageVars($vars)
|
16 |
-
{
|
17 |
-
if ($this->matchesCakeVersion('>=', '3.0.0')) {
|
18 |
-
return $vars;
|
19 |
-
}
|
20 |
-
|
21 |
-
$nameParts = explode('/', $vars['name']);
|
22 |
-
foreach ($nameParts as &$value) {
|
23 |
-
$value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
|
24 |
-
$value = str_replace(array('-', '_'), ' ', $value);
|
25 |
-
$value = str_replace(' ', '', ucwords($value));
|
26 |
-
}
|
27 |
-
$vars['name'] = implode('/', $nameParts);
|
28 |
-
|
29 |
-
return $vars;
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Change the default plugin location when cakephp >= 3.0
|
34 |
-
*/
|
35 |
-
public function getLocations()
|
36 |
-
{
|
37 |
-
if ($this->matchesCakeVersion('>=', '3.0.0')) {
|
38 |
-
$this->locations['plugin'] = $this->composer->getConfig()->get('vendor-dir') . '/{$vendor}/{$name}/';
|
39 |
-
}
|
40 |
-
return $this->locations;
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Check if CakePHP version matches against a version
|
45 |
-
*
|
46 |
-
* @param string $matcher
|
47 |
-
* @param string $version
|
48 |
-
* @return bool
|
49 |
-
*/
|
50 |
-
protected function matchesCakeVersion($matcher, $version)
|
51 |
-
{
|
52 |
-
if (class_exists('Composer\Semver\Constraint\MultiConstraint')) {
|
53 |
-
$multiClass = 'Composer\Semver\Constraint\MultiConstraint';
|
54 |
-
$constraintClass = 'Composer\Semver\Constraint\Constraint';
|
55 |
-
} else {
|
56 |
-
$multiClass = 'Composer\Package\LinkConstraint\MultiConstraint';
|
57 |
-
$constraintClass = 'Composer\Package\LinkConstraint\VersionConstraint';
|
58 |
-
}
|
59 |
-
|
60 |
-
$repositoryManager = $this->composer->getRepositoryManager();
|
61 |
-
if ($repositoryManager) {
|
62 |
-
$repos = $repositoryManager->getLocalRepository();
|
63 |
-
if (!$repos) {
|
64 |
-
return false;
|
65 |
-
}
|
66 |
-
$cake3 = new $multiClass(array(
|
67 |
-
new $constraintClass($matcher, $version),
|
68 |
-
new $constraintClass('!=', '9999999-dev'),
|
69 |
-
));
|
70 |
-
$pool = new Pool('dev');
|
71 |
-
$pool->addRepository($repos);
|
72 |
-
$packages = $pool->whatProvides('cakephp/cakephp');
|
73 |
-
foreach ($packages as $package) {
|
74 |
-
$installed = new $constraintClass('=', $package->getVersion());
|
75 |
-
if ($cake3->matches($installed)) {
|
76 |
-
return true;
|
77 |
-
}
|
78 |
-
}
|
79 |
-
}
|
80 |
-
return false;
|
81 |
-
}
|
82 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ChefInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ChefInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'cookbook' => 'Chef/{$vendor}/{$name}/',
|
8 |
-
'role' => 'Chef/roles/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CiviCrmInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'ext' => 'ext/{$name}/'
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ClanCatsFrameworkInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'ship' => 'CCF/orbit/{$name}/',
|
8 |
-
'theme' => 'CCF/app/themes/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php
DELETED
@@ -1,34 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CockpitInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'cockpit/modules/addons/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format module name.
|
12 |
-
*
|
13 |
-
* Strip `module-` prefix from package name.
|
14 |
-
*
|
15 |
-
* @param array @vars
|
16 |
-
*
|
17 |
-
* @return array
|
18 |
-
*/
|
19 |
-
public function inflectPackageVars($vars)
|
20 |
-
{
|
21 |
-
if ($vars['type'] == 'cockpit-module') {
|
22 |
-
return $this->inflectModuleVars($vars);
|
23 |
-
}
|
24 |
-
|
25 |
-
return $vars;
|
26 |
-
}
|
27 |
-
|
28 |
-
public function inflectModuleVars($vars)
|
29 |
-
{
|
30 |
-
$vars['name'] = ucfirst(preg_replace('/cockpit-/i', '', $vars['name']));
|
31 |
-
|
32 |
-
return $vars;
|
33 |
-
}
|
34 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CodeIgniterInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'application/libraries/{$name}/',
|
8 |
-
'third-party' => 'application/third_party/{$name}/',
|
9 |
-
'module' => 'application/modules/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class Concrete5Installer extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'core' => 'concrete/',
|
8 |
-
'block' => 'application/blocks/{$name}/',
|
9 |
-
'package' => 'packages/{$name}/',
|
10 |
-
'theme' => 'application/themes/{$name}/',
|
11 |
-
'update' => 'updates/{$name}/',
|
12 |
-
);
|
13 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
DELETED
@@ -1,35 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Installer for Craft Plugins
|
6 |
-
*/
|
7 |
-
class CraftInstaller extends BaseInstaller
|
8 |
-
{
|
9 |
-
const NAME_PREFIX = 'craft';
|
10 |
-
const NAME_SUFFIX = 'plugin';
|
11 |
-
|
12 |
-
protected $locations = array(
|
13 |
-
'plugin' => 'craft/plugins/{$name}/',
|
14 |
-
);
|
15 |
-
|
16 |
-
/**
|
17 |
-
* Strip `craft-` prefix and/or `-plugin` suffix from package names
|
18 |
-
*
|
19 |
-
* @param array $vars
|
20 |
-
*
|
21 |
-
* @return array
|
22 |
-
*/
|
23 |
-
final public function inflectPackageVars($vars)
|
24 |
-
{
|
25 |
-
return $this->inflectPluginVars($vars);
|
26 |
-
}
|
27 |
-
|
28 |
-
private function inflectPluginVars($vars)
|
29 |
-
{
|
30 |
-
$vars['name'] = preg_replace('/-' . self::NAME_SUFFIX . '$/i', '', $vars['name']);
|
31 |
-
$vars['name'] = preg_replace('/^' . self::NAME_PREFIX . '-/i', '', $vars['name']);
|
32 |
-
|
33 |
-
return $vars;
|
34 |
-
}
|
35 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CroogoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'Plugin/{$name}/',
|
8 |
-
'theme' => 'View/Themed/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name to CamelCase
|
13 |
-
*/
|
14 |
-
public function inflectPackageVars($vars)
|
15 |
-
{
|
16 |
-
$vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
|
17 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
18 |
-
|
19 |
-
return $vars;
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class DecibelInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
/** @var array */
|
7 |
-
protected $locations = array(
|
8 |
-
'app' => 'app/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php
DELETED
@@ -1,50 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class DokuWikiInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'lib/plugins/{$name}/',
|
8 |
-
'template' => 'lib/tpl/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name.
|
13 |
-
*
|
14 |
-
* For package type dokuwiki-plugin, cut off a trailing '-plugin',
|
15 |
-
* or leading dokuwiki_ if present.
|
16 |
-
*
|
17 |
-
* For package type dokuwiki-template, cut off a trailing '-template' if present.
|
18 |
-
*
|
19 |
-
*/
|
20 |
-
public function inflectPackageVars($vars)
|
21 |
-
{
|
22 |
-
|
23 |
-
if ($vars['type'] === 'dokuwiki-plugin') {
|
24 |
-
return $this->inflectPluginVars($vars);
|
25 |
-
}
|
26 |
-
|
27 |
-
if ($vars['type'] === 'dokuwiki-template') {
|
28 |
-
return $this->inflectTemplateVars($vars);
|
29 |
-
}
|
30 |
-
|
31 |
-
return $vars;
|
32 |
-
}
|
33 |
-
|
34 |
-
protected function inflectPluginVars($vars)
|
35 |
-
{
|
36 |
-
$vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
|
37 |
-
$vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
|
38 |
-
|
39 |
-
return $vars;
|
40 |
-
}
|
41 |
-
|
42 |
-
protected function inflectTemplateVars($vars)
|
43 |
-
{
|
44 |
-
$vars['name'] = preg_replace('/-template$/', '', $vars['name']);
|
45 |
-
$vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
|
46 |
-
|
47 |
-
return $vars;
|
48 |
-
}
|
49 |
-
|
50 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Class DolibarrInstaller
|
6 |
-
*
|
7 |
-
* @package Composer\Installers
|
8 |
-
* @author Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
9 |
-
*/
|
10 |
-
class DolibarrInstaller extends BaseInstaller
|
11 |
-
{
|
12 |
-
//TODO: Add support for scripts and themes
|
13 |
-
protected $locations = array(
|
14 |
-
'module' => 'htdocs/custom/{$name}/',
|
15 |
-
);
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class DrupalInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'core' => 'core/',
|
8 |
-
'module' => 'modules/{$name}/',
|
9 |
-
'theme' => 'themes/{$name}/',
|
10 |
-
'library' => 'libraries/{$name}/',
|
11 |
-
'profile' => 'profiles/{$name}/',
|
12 |
-
'drush' => 'drush/{$name}/',
|
13 |
-
'custom-theme' => 'themes/custom/{$name}/',
|
14 |
-
'custom-module' => 'modules/custom/{$name}/',
|
15 |
-
);
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ElggInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ElggInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'mod/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class EliasisInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'component' => 'components/{$name}/',
|
8 |
-
'module' => 'modules/{$name}/',
|
9 |
-
'plugin' => 'plugins/{$name}/',
|
10 |
-
'template' => 'templates/{$name}/',
|
11 |
-
);
|
12 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\Package\PackageInterface;
|
5 |
-
|
6 |
-
class ExpressionEngineInstaller extends BaseInstaller
|
7 |
-
{
|
8 |
-
|
9 |
-
protected $locations = array();
|
10 |
-
|
11 |
-
private $ee2Locations = array(
|
12 |
-
'addon' => 'system/expressionengine/third_party/{$name}/',
|
13 |
-
'theme' => 'themes/third_party/{$name}/',
|
14 |
-
);
|
15 |
-
|
16 |
-
private $ee3Locations = array(
|
17 |
-
'addon' => 'system/user/addons/{$name}/',
|
18 |
-
'theme' => 'themes/user/{$name}/',
|
19 |
-
);
|
20 |
-
|
21 |
-
public function getInstallPath(PackageInterface $package, $frameworkType = '')
|
22 |
-
{
|
23 |
-
|
24 |
-
$version = "{$frameworkType}Locations";
|
25 |
-
$this->locations = $this->$version;
|
26 |
-
|
27 |
-
return parent::getInstallPath($package, $frameworkType);
|
28 |
-
}
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class EzPlatformInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'meta-assets' => 'web/assets/ezplatform/',
|
8 |
-
'assets' => 'web/assets/ezplatform/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/FuelInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class FuelInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'fuel/app/modules/{$name}/',
|
8 |
-
'package' => 'fuel/packages/{$name}/',
|
9 |
-
'theme' => 'fuel/app/themes/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class FuelphpInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'component' => 'components/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/GravInstaller.php
DELETED
@@ -1,30 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class GravInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'user/plugins/{$name}/',
|
8 |
-
'theme' => 'user/themes/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name
|
13 |
-
*
|
14 |
-
* @param array $vars
|
15 |
-
*
|
16 |
-
* @return array
|
17 |
-
*/
|
18 |
-
public function inflectPackageVars($vars)
|
19 |
-
{
|
20 |
-
$restrictedWords = implode('|', array_keys($this->locations));
|
21 |
-
|
22 |
-
$vars['name'] = strtolower($vars['name']);
|
23 |
-
$vars['name'] = preg_replace('/^(?:grav-)?(?:(?:'.$restrictedWords.')-)?(.*?)(?:-(?:'.$restrictedWords.'))?$/ui',
|
24 |
-
'$1',
|
25 |
-
$vars['name']
|
26 |
-
);
|
27 |
-
|
28 |
-
return $vars;
|
29 |
-
}
|
30 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/HuradInstaller.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class HuradInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'plugins/{$name}/',
|
8 |
-
'theme' => 'plugins/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name to CamelCase
|
13 |
-
*/
|
14 |
-
public function inflectPackageVars($vars)
|
15 |
-
{
|
16 |
-
$nameParts = explode('/', $vars['name']);
|
17 |
-
foreach ($nameParts as &$value) {
|
18 |
-
$value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
|
19 |
-
$value = str_replace(array('-', '_'), ' ', $value);
|
20 |
-
$value = str_replace(' ', '', ucwords($value));
|
21 |
-
}
|
22 |
-
$vars['name'] = implode('/', $nameParts);
|
23 |
-
return $vars;
|
24 |
-
}
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ImageCMSInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'template' => 'templates/{$name}/',
|
8 |
-
'module' => 'application/modules/{$name}/',
|
9 |
-
'library' => 'application/libraries/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/Installer.php
DELETED
@@ -1,274 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Composer\Installers;
|
4 |
-
|
5 |
-
use Composer\Composer;
|
6 |
-
use Composer\Installer\BinaryInstaller;
|
7 |
-
use Composer\Installer\LibraryInstaller;
|
8 |
-
use Composer\IO\IOInterface;
|
9 |
-
use Composer\Package\PackageInterface;
|
10 |
-
use Composer\Repository\InstalledRepositoryInterface;
|
11 |
-
use Composer\Util\Filesystem;
|
12 |
-
|
13 |
-
class Installer extends LibraryInstaller
|
14 |
-
{
|
15 |
-
|
16 |
-
/**
|
17 |
-
* Package types to installer class map
|
18 |
-
*
|
19 |
-
* @var array
|
20 |
-
*/
|
21 |
-
private $supportedTypes = array(
|
22 |
-
'aimeos' => 'AimeosInstaller',
|
23 |
-
'asgard' => 'AsgardInstaller',
|
24 |
-
'attogram' => 'AttogramInstaller',
|
25 |
-
'agl' => 'AglInstaller',
|
26 |
-
'annotatecms' => 'AnnotateCmsInstaller',
|
27 |
-
'bitrix' => 'BitrixInstaller',
|
28 |
-
'bonefish' => 'BonefishInstaller',
|
29 |
-
'cakephp' => 'CakePHPInstaller',
|
30 |
-
'chef' => 'ChefInstaller',
|
31 |
-
'civicrm' => 'CiviCrmInstaller',
|
32 |
-
'ccframework' => 'ClanCatsFrameworkInstaller',
|
33 |
-
'cockpit' => 'CockpitInstaller',
|
34 |
-
'codeigniter' => 'CodeIgniterInstaller',
|
35 |
-
'concrete5' => 'Concrete5Installer',
|
36 |
-
'craft' => 'CraftInstaller',
|
37 |
-
'croogo' => 'CroogoInstaller',
|
38 |
-
'dokuwiki' => 'DokuWikiInstaller',
|
39 |
-
'dolibarr' => 'DolibarrInstaller',
|
40 |
-
'decibel' => 'DecibelInstaller',
|
41 |
-
'drupal' => 'DrupalInstaller',
|
42 |
-
'elgg' => 'ElggInstaller',
|
43 |
-
'eliasis' => 'EliasisInstaller',
|
44 |
-
'ee3' => 'ExpressionEngineInstaller',
|
45 |
-
'ee2' => 'ExpressionEngineInstaller',
|
46 |
-
'ezplatform' => 'EzPlatformInstaller',
|
47 |
-
'fuel' => 'FuelInstaller',
|
48 |
-
'fuelphp' => 'FuelphpInstaller',
|
49 |
-
'grav' => 'GravInstaller',
|
50 |
-
'hurad' => 'HuradInstaller',
|
51 |
-
'imagecms' => 'ImageCMSInstaller',
|
52 |
-
'itop' => 'ItopInstaller',
|
53 |
-
'joomla' => 'JoomlaInstaller',
|
54 |
-
'kanboard' => 'KanboardInstaller',
|
55 |
-
'kirby' => 'KirbyInstaller',
|
56 |
-
'kodicms' => 'KodiCMSInstaller',
|
57 |
-
'kohana' => 'KohanaInstaller',
|
58 |
-
'lms' => 'LanManagementSystemInstaller',
|
59 |
-
'laravel' => 'LaravelInstaller',
|
60 |
-
'lavalite' => 'LavaLiteInstaller',
|
61 |
-
'lithium' => 'LithiumInstaller',
|
62 |
-
'magento' => 'MagentoInstaller',
|
63 |
-
'majima' => 'MajimaInstaller',
|
64 |
-
'mako' => 'MakoInstaller',
|
65 |
-
'maya' => 'MayaInstaller',
|
66 |
-
'mautic' => 'MauticInstaller',
|
67 |
-
'mediawiki' => 'MediaWikiInstaller',
|
68 |
-
'microweber' => 'MicroweberInstaller',
|
69 |
-
'modulework' => 'MODULEWorkInstaller',
|
70 |
-
'modx' => 'ModxInstaller',
|
71 |
-
'modxevo' => 'MODXEvoInstaller',
|
72 |
-
'moodle' => 'MoodleInstaller',
|
73 |
-
'october' => 'OctoberInstaller',
|
74 |
-
'ontowiki' => 'OntoWikiInstaller',
|
75 |
-
'oxid' => 'OxidInstaller',
|
76 |
-
'osclass' => 'OsclassInstaller',
|
77 |
-
'pxcms' => 'PxcmsInstaller',
|
78 |
-
'phpbb' => 'PhpBBInstaller',
|
79 |
-
'pimcore' => 'PimcoreInstaller',
|
80 |
-
'piwik' => 'PiwikInstaller',
|
81 |
-
'plentymarkets'=> 'PlentymarketsInstaller',
|
82 |
-
'ppi' => 'PPIInstaller',
|
83 |
-
'puppet' => 'PuppetInstaller',
|
84 |
-
'radphp' => 'RadPHPInstaller',
|
85 |
-
'phifty' => 'PhiftyInstaller',
|
86 |
-
'porto' => 'PortoInstaller',
|
87 |
-
'redaxo' => 'RedaxoInstaller',
|
88 |
-
'reindex' => 'ReIndexInstaller',
|
89 |
-
'roundcube' => 'RoundcubeInstaller',
|
90 |
-
'shopware' => 'ShopwareInstaller',
|
91 |
-
'sitedirect' => 'SiteDirectInstaller',
|
92 |
-
'silverstripe' => 'SilverStripeInstaller',
|
93 |
-
'smf' => 'SMFInstaller',
|
94 |
-
'sydes' => 'SyDESInstaller',
|
95 |
-
'symfony1' => 'Symfony1Installer',
|
96 |
-
'thelia' => 'TheliaInstaller',
|
97 |
-
'tusk' => 'TuskInstaller',
|
98 |
-
'typo3-cms' => 'TYPO3CmsInstaller',
|
99 |
-
'typo3-flow' => 'TYPO3FlowInstaller',
|
100 |
-
'userfrosting' => 'UserFrostingInstaller',
|
101 |
-
'vanilla' => 'VanillaInstaller',
|
102 |
-
'whmcs' => 'WHMCSInstaller',
|
103 |
-
'wolfcms' => 'WolfCMSInstaller',
|
104 |
-
'wordpress' => 'WordPressInstaller',
|
105 |
-
'yawik' => 'YawikInstaller',
|
106 |
-
'zend' => 'ZendInstaller',
|
107 |
-
'zikula' => 'ZikulaInstaller',
|
108 |
-
'prestashop' => 'PrestashopInstaller'
|
109 |
-
);
|
110 |
-
|
111 |
-
/**
|
112 |
-
* Installer constructor.
|
113 |
-
*
|
114 |
-
* Disables installers specified in main composer extra installer-disable
|
115 |
-
* list
|
116 |
-
*
|
117 |
-
* @param IOInterface $io
|
118 |
-
* @param Composer $composer
|
119 |
-
* @param string $type
|
120 |
-
* @param Filesystem|null $filesystem
|
121 |
-
* @param BinaryInstaller|null $binaryInstaller
|
122 |
-
*/
|
123 |
-
public function __construct(
|
124 |
-
IOInterface $io,
|
125 |
-
Composer $composer,
|
126 |
-
$type = 'library',
|
127 |
-
Filesystem $filesystem = null,
|
128 |
-
BinaryInstaller $binaryInstaller = null
|
129 |
-
) {
|
130 |
-
parent::__construct($io, $composer, $type, $filesystem,
|
131 |
-
$binaryInstaller);
|
132 |
-
$this->removeDisabledInstallers();
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* {@inheritDoc}
|
137 |
-
*/
|
138 |
-
public function getInstallPath(PackageInterface $package)
|
139 |
-
{
|
140 |
-
$type = $package->getType();
|
141 |
-
$frameworkType = $this->findFrameworkType($type);
|
142 |
-
|
143 |
-
if ($frameworkType === false) {
|
144 |
-
throw new \InvalidArgumentException(
|
145 |
-
'Sorry the package type of this package is not yet supported.'
|
146 |
-
);
|
147 |
-
}
|
148 |
-
|
149 |
-
$class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
150 |
-
$installer = new $class($package, $this->composer, $this->getIO());
|
151 |
-
|
152 |
-
return $installer->getInstallPath($package, $frameworkType);
|
153 |
-
}
|
154 |
-
|
155 |
-
public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
|
156 |
-
{
|
157 |
-
parent::uninstall($repo, $package);
|
158 |
-
$installPath = $this->getPackageBasePath($package);
|
159 |
-
$this->io->write(sprintf('Deleting %s - %s', $installPath, !file_exists($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
|
160 |
-
}
|
161 |
-
|
162 |
-
/**
|
163 |
-
* {@inheritDoc}
|
164 |
-
*/
|
165 |
-
public function supports($packageType)
|
166 |
-
{
|
167 |
-
$frameworkType = $this->findFrameworkType($packageType);
|
168 |
-
|
169 |
-
if ($frameworkType === false) {
|
170 |
-
return false;
|
171 |
-
}
|
172 |
-
|
173 |
-
$locationPattern = $this->getLocationPattern($frameworkType);
|
174 |
-
|
175 |
-
return preg_match('#' . $frameworkType . '-' . $locationPattern . '#', $packageType, $matches) === 1;
|
176 |
-
}
|
177 |
-
|
178 |
-
/**
|
179 |
-
* Finds a supported framework type if it exists and returns it
|
180 |
-
*
|
181 |
-
* @param string $type
|
182 |
-
* @return string
|
183 |
-
*/
|
184 |
-
protected function findFrameworkType($type)
|
185 |
-
{
|
186 |
-
$frameworkType = false;
|
187 |
-
|
188 |
-
krsort($this->supportedTypes);
|
189 |
-
|
190 |
-
foreach ($this->supportedTypes as $key => $val) {
|
191 |
-
if ($key === substr($type, 0, strlen($key))) {
|
192 |
-
$frameworkType = substr($type, 0, strlen($key));
|
193 |
-
break;
|
194 |
-
}
|
195 |
-
}
|
196 |
-
|
197 |
-
return $frameworkType;
|
198 |
-
}
|
199 |
-
|
200 |
-
/**
|
201 |
-
* Get the second part of the regular expression to check for support of a
|
202 |
-
* package type
|
203 |
-
*
|
204 |
-
* @param string $frameworkType
|
205 |
-
* @return string
|
206 |
-
*/
|
207 |
-
protected function getLocationPattern($frameworkType)
|
208 |
-
{
|
209 |
-
$pattern = false;
|
210 |
-
if (!empty($this->supportedTypes[$frameworkType])) {
|
211 |
-
$frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
212 |
-
/** @var BaseInstaller $framework */
|
213 |
-
$framework = new $frameworkClass(null, $this->composer, $this->getIO());
|
214 |
-
$locations = array_keys($framework->getLocations());
|
215 |
-
$pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
|
216 |
-
}
|
217 |
-
|
218 |
-
return $pattern ? : '(\w+)';
|
219 |
-
}
|
220 |
-
|
221 |
-
/**
|
222 |
-
* Get I/O object
|
223 |
-
*
|
224 |
-
* @return IOInterface
|
225 |
-
*/
|
226 |
-
private function getIO()
|
227 |
-
{
|
228 |
-
return $this->io;
|
229 |
-
}
|
230 |
-
|
231 |
-
/**
|
232 |
-
* Look for installers set to be disabled in composer's extra config and
|
233 |
-
* remove them from the list of supported installers.
|
234 |
-
*
|
235 |
-
* Globals:
|
236 |
-
* - true, "all", and "*" - disable all installers.
|
237 |
-
* - false - enable all installers (useful with
|
238 |
-
* wikimedia/composer-merge-plugin or similar)
|
239 |
-
*
|
240 |
-
* @return void
|
241 |
-
*/
|
242 |
-
protected function removeDisabledInstallers()
|
243 |
-
{
|
244 |
-
$extra = $this->composer->getPackage()->getExtra();
|
245 |
-
|
246 |
-
if (!isset($extra['installer-disable']) || $extra['installer-disable'] === false) {
|
247 |
-
// No installers are disabled
|
248 |
-
return;
|
249 |
-
}
|
250 |
-
|
251 |
-
// Get installers to disable
|
252 |
-
$disable = $extra['installer-disable'];
|
253 |
-
|
254 |
-
// Ensure $disabled is an array
|
255 |
-
if (!is_array($disable)) {
|
256 |
-
$disable = array($disable);
|
257 |
-
}
|
258 |
-
|
259 |
-
// Check which installers should be disabled
|
260 |
-
$all = array(true, "all", "*");
|
261 |
-
$intersect = array_intersect($all, $disable);
|
262 |
-
if (!empty($intersect)) {
|
263 |
-
// Disable all installers
|
264 |
-
$this->supportedTypes = array();
|
265 |
-
} else {
|
266 |
-
// Disable specified installers
|
267 |
-
foreach ($disable as $key => $installer) {
|
268 |
-
if (is_string($installer) && key_exists($installer, $this->supportedTypes)) {
|
269 |
-
unset($this->supportedTypes[$installer]);
|
270 |
-
}
|
271 |
-
}
|
272 |
-
}
|
273 |
-
}
|
274 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ItopInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ItopInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'extension' => 'extensions/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class JoomlaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'component' => 'components/{$name}/',
|
8 |
-
'module' => 'modules/{$name}/',
|
9 |
-
'template' => 'templates/{$name}/',
|
10 |
-
'plugin' => 'plugins/{$name}/',
|
11 |
-
'library' => 'libraries/{$name}/',
|
12 |
-
);
|
13 |
-
|
14 |
-
// TODO: Add inflector for mod_ and com_ names
|
15 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
*
|
6 |
-
* Installer for kanboard plugins
|
7 |
-
*
|
8 |
-
* kanboard.net
|
9 |
-
*
|
10 |
-
* Class KanboardInstaller
|
11 |
-
* @package Composer\Installers
|
12 |
-
*/
|
13 |
-
class KanboardInstaller extends BaseInstaller
|
14 |
-
{
|
15 |
-
protected $locations = array(
|
16 |
-
'plugin' => 'plugins/{$name}/',
|
17 |
-
);
|
18 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class KirbyInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'site/plugins/{$name}/',
|
8 |
-
'field' => 'site/fields/{$name}/',
|
9 |
-
'tag' => 'site/tags/{$name}/'
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class KodiCMSInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'cms/plugins/{$name}/',
|
8 |
-
'media' => 'cms/media/vendor/{$name}/'
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class KohanaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Composer\Installers;
|
4 |
-
|
5 |
-
class LanManagementSystemInstaller extends BaseInstaller
|
6 |
-
{
|
7 |
-
|
8 |
-
protected $locations = array(
|
9 |
-
'plugin' => 'plugins/{$name}/',
|
10 |
-
'template' => 'templates/{$name}/',
|
11 |
-
'document-template' => 'documents/templates/{$name}/',
|
12 |
-
'userpanel-module' => 'userpanel/modules/{$name}/',
|
13 |
-
);
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Format package name to CamelCase
|
17 |
-
*/
|
18 |
-
public function inflectPackageVars($vars)
|
19 |
-
{
|
20 |
-
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
|
21 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
22 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
23 |
-
|
24 |
-
return $vars;
|
25 |
-
}
|
26 |
-
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class LaravelInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'libraries/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class LavaLiteInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'package' => 'packages/{$vendor}/{$name}/',
|
8 |
-
'theme' => 'public/themes/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class LithiumInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'libraries/{$name}/',
|
8 |
-
'source' => 'libraries/_source/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MODULEWorkInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* An installer to handle MODX Evolution specifics when installing packages.
|
6 |
-
*/
|
7 |
-
class MODXEvoInstaller extends BaseInstaller
|
8 |
-
{
|
9 |
-
protected $locations = array(
|
10 |
-
'snippet' => 'assets/snippets/{$name}/',
|
11 |
-
'plugin' => 'assets/plugins/{$name}/',
|
12 |
-
'module' => 'assets/modules/{$name}/',
|
13 |
-
'template' => 'assets/templates/{$name}/',
|
14 |
-
'lib' => 'assets/lib/{$name}/'
|
15 |
-
);
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MagentoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'theme' => 'app/design/frontend/{$name}/',
|
8 |
-
'skin' => 'skin/frontend/default/{$name}/',
|
9 |
-
'library' => 'lib/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php
DELETED
@@ -1,37 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Plugin/theme installer for majima
|
6 |
-
* @author David Neustadt
|
7 |
-
*/
|
8 |
-
class MajimaInstaller extends BaseInstaller
|
9 |
-
{
|
10 |
-
protected $locations = array(
|
11 |
-
'plugin' => 'plugins/{$name}/',
|
12 |
-
);
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Transforms the names
|
16 |
-
* @param array $vars
|
17 |
-
* @return array
|
18 |
-
*/
|
19 |
-
public function inflectPackageVars($vars)
|
20 |
-
{
|
21 |
-
return $this->correctPluginName($vars);
|
22 |
-
}
|
23 |
-
|
24 |
-
/**
|
25 |
-
* Change hyphenated names to camelcase
|
26 |
-
* @param array $vars
|
27 |
-
* @return array
|
28 |
-
*/
|
29 |
-
private function correctPluginName($vars)
|
30 |
-
{
|
31 |
-
$camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
|
32 |
-
return strtoupper($matches[0][1]);
|
33 |
-
}, $vars['name']);
|
34 |
-
$vars['name'] = ucfirst($camelCasedName);
|
35 |
-
return $vars;
|
36 |
-
}
|
37 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MakoInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MakoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'package' => 'app/packages/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MauticInstaller.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MauticInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'plugins/{$name}/',
|
8 |
-
'theme' => 'themes/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name of mautic-plugins to CamelCase
|
13 |
-
*/
|
14 |
-
public function inflectPackageVars($vars)
|
15 |
-
{
|
16 |
-
if ($vars['type'] == 'mautic-plugin') {
|
17 |
-
$vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
|
18 |
-
return strtoupper($matches[0][1]);
|
19 |
-
}, ucfirst($vars['name']));
|
20 |
-
}
|
21 |
-
|
22 |
-
return $vars;
|
23 |
-
}
|
24 |
-
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MayaInstaller.php
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MayaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format package name.
|
12 |
-
*
|
13 |
-
* For package type maya-module, cut off a trailing '-module' if present.
|
14 |
-
*
|
15 |
-
*/
|
16 |
-
public function inflectPackageVars($vars)
|
17 |
-
{
|
18 |
-
if ($vars['type'] === 'maya-module') {
|
19 |
-
return $this->inflectModuleVars($vars);
|
20 |
-
}
|
21 |
-
|
22 |
-
return $vars;
|
23 |
-
}
|
24 |
-
|
25 |
-
protected function inflectModuleVars($vars)
|
26 |
-
{
|
27 |
-
$vars['name'] = preg_replace('/-module$/', '', $vars['name']);
|
28 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
29 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
30 |
-
|
31 |
-
return $vars;
|
32 |
-
}
|
33 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MediaWikiInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'core' => 'core/',
|
8 |
-
'extension' => 'extensions/{$name}/',
|
9 |
-
'skin' => 'skins/{$name}/',
|
10 |
-
);
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Format package name.
|
14 |
-
*
|
15 |
-
* For package type mediawiki-extension, cut off a trailing '-extension' if present and transform
|
16 |
-
* to CamelCase keeping existing uppercase chars.
|
17 |
-
*
|
18 |
-
* For package type mediawiki-skin, cut off a trailing '-skin' if present.
|
19 |
-
*
|
20 |
-
*/
|
21 |
-
public function inflectPackageVars($vars)
|
22 |
-
{
|
23 |
-
|
24 |
-
if ($vars['type'] === 'mediawiki-extension') {
|
25 |
-
return $this->inflectExtensionVars($vars);
|
26 |
-
}
|
27 |
-
|
28 |
-
if ($vars['type'] === 'mediawiki-skin') {
|
29 |
-
return $this->inflectSkinVars($vars);
|
30 |
-
}
|
31 |
-
|
32 |
-
return $vars;
|
33 |
-
}
|
34 |
-
|
35 |
-
protected function inflectExtensionVars($vars)
|
36 |
-
{
|
37 |
-
$vars['name'] = preg_replace('/-extension$/', '', $vars['name']);
|
38 |
-
$vars['name'] = str_replace('-', ' ', $vars['name']);
|
39 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
40 |
-
|
41 |
-
return $vars;
|
42 |
-
}
|
43 |
-
|
44 |
-
protected function inflectSkinVars($vars)
|
45 |
-
{
|
46 |
-
$vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
|
47 |
-
|
48 |
-
return $vars;
|
49 |
-
}
|
50 |
-
|
51 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php
DELETED
@@ -1,111 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MicroweberInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'userfiles/modules/{$name}/',
|
8 |
-
'module-skin' => 'userfiles/modules/{$name}/templates/',
|
9 |
-
'template' => 'userfiles/templates/{$name}/',
|
10 |
-
'element' => 'userfiles/elements/{$name}/',
|
11 |
-
'vendor' => 'vendor/{$name}/',
|
12 |
-
'components' => 'components/{$name}/'
|
13 |
-
);
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Format package name.
|
17 |
-
*
|
18 |
-
* For package type microweber-module, cut off a trailing '-module' if present
|
19 |
-
*
|
20 |
-
* For package type microweber-template, cut off a trailing '-template' if present.
|
21 |
-
*
|
22 |
-
*/
|
23 |
-
public function inflectPackageVars($vars)
|
24 |
-
{
|
25 |
-
if ($vars['type'] === 'microweber-template') {
|
26 |
-
return $this->inflectTemplateVars($vars);
|
27 |
-
}
|
28 |
-
if ($vars['type'] === 'microweber-templates') {
|
29 |
-
return $this->inflectTemplatesVars($vars);
|
30 |
-
}
|
31 |
-
if ($vars['type'] === 'microweber-core') {
|
32 |
-
return $this->inflectCoreVars($vars);
|
33 |
-
}
|
34 |
-
if ($vars['type'] === 'microweber-adapter') {
|
35 |
-
return $this->inflectCoreVars($vars);
|
36 |
-
}
|
37 |
-
if ($vars['type'] === 'microweber-module') {
|
38 |
-
return $this->inflectModuleVars($vars);
|
39 |
-
}
|
40 |
-
if ($vars['type'] === 'microweber-modules') {
|
41 |
-
return $this->inflectModulesVars($vars);
|
42 |
-
}
|
43 |
-
if ($vars['type'] === 'microweber-skin') {
|
44 |
-
return $this->inflectSkinVars($vars);
|
45 |
-
}
|
46 |
-
if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') {
|
47 |
-
return $this->inflectElementVars($vars);
|
48 |
-
}
|
49 |
-
|
50 |
-
return $vars;
|
51 |
-
}
|
52 |
-
|
53 |
-
protected function inflectTemplateVars($vars)
|
54 |
-
{
|
55 |
-
$vars['name'] = preg_replace('/-template$/', '', $vars['name']);
|
56 |
-
$vars['name'] = preg_replace('/template-$/', '', $vars['name']);
|
57 |
-
|
58 |
-
return $vars;
|
59 |
-
}
|
60 |
-
|
61 |
-
protected function inflectTemplatesVars($vars)
|
62 |
-
{
|
63 |
-
$vars['name'] = preg_replace('/-templates$/', '', $vars['name']);
|
64 |
-
$vars['name'] = preg_replace('/templates-$/', '', $vars['name']);
|
65 |
-
|
66 |
-
return $vars;
|
67 |
-
}
|
68 |
-
|
69 |
-
protected function inflectCoreVars($vars)
|
70 |
-
{
|
71 |
-
$vars['name'] = preg_replace('/-providers$/', '', $vars['name']);
|
72 |
-
$vars['name'] = preg_replace('/-provider$/', '', $vars['name']);
|
73 |
-
$vars['name'] = preg_replace('/-adapter$/', '', $vars['name']);
|
74 |
-
|
75 |
-
return $vars;
|
76 |
-
}
|
77 |
-
|
78 |
-
protected function inflectModuleVars($vars)
|
79 |
-
{
|
80 |
-
$vars['name'] = preg_replace('/-module$/', '', $vars['name']);
|
81 |
-
$vars['name'] = preg_replace('/module-$/', '', $vars['name']);
|
82 |
-
|
83 |
-
return $vars;
|
84 |
-
}
|
85 |
-
|
86 |
-
protected function inflectModulesVars($vars)
|
87 |
-
{
|
88 |
-
$vars['name'] = preg_replace('/-modules$/', '', $vars['name']);
|
89 |
-
$vars['name'] = preg_replace('/modules-$/', '', $vars['name']);
|
90 |
-
|
91 |
-
return $vars;
|
92 |
-
}
|
93 |
-
|
94 |
-
protected function inflectSkinVars($vars)
|
95 |
-
{
|
96 |
-
$vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
|
97 |
-
$vars['name'] = preg_replace('/skin-$/', '', $vars['name']);
|
98 |
-
|
99 |
-
return $vars;
|
100 |
-
}
|
101 |
-
|
102 |
-
protected function inflectElementVars($vars)
|
103 |
-
{
|
104 |
-
$vars['name'] = preg_replace('/-elements$/', '', $vars['name']);
|
105 |
-
$vars['name'] = preg_replace('/elements-$/', '', $vars['name']);
|
106 |
-
$vars['name'] = preg_replace('/-element$/', '', $vars['name']);
|
107 |
-
$vars['name'] = preg_replace('/element-$/', '', $vars['name']);
|
108 |
-
|
109 |
-
return $vars;
|
110 |
-
}
|
111 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ModxInstaller.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* An installer to handle MODX specifics when installing packages.
|
6 |
-
*/
|
7 |
-
class ModxInstaller extends BaseInstaller
|
8 |
-
{
|
9 |
-
protected $locations = array(
|
10 |
-
'extra' => 'core/packages/{$name}/'
|
11 |
-
);
|
12 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php
DELETED
@@ -1,57 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MoodleInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'mod' => 'mod/{$name}/',
|
8 |
-
'admin_report' => 'admin/report/{$name}/',
|
9 |
-
'atto' => 'lib/editor/atto/plugins/{$name}/',
|
10 |
-
'tool' => 'admin/tool/{$name}/',
|
11 |
-
'assignment' => 'mod/assignment/type/{$name}/',
|
12 |
-
'assignsubmission' => 'mod/assign/submission/{$name}/',
|
13 |
-
'assignfeedback' => 'mod/assign/feedback/{$name}/',
|
14 |
-
'auth' => 'auth/{$name}/',
|
15 |
-
'availability' => 'availability/condition/{$name}/',
|
16 |
-
'block' => 'blocks/{$name}/',
|
17 |
-
'booktool' => 'mod/book/tool/{$name}/',
|
18 |
-
'cachestore' => 'cache/stores/{$name}/',
|
19 |
-
'cachelock' => 'cache/locks/{$name}/',
|
20 |
-
'calendartype' => 'calendar/type/{$name}/',
|
21 |
-
'format' => 'course/format/{$name}/',
|
22 |
-
'coursereport' => 'course/report/{$name}/',
|
23 |
-
'datafield' => 'mod/data/field/{$name}/',
|
24 |
-
'datapreset' => 'mod/data/preset/{$name}/',
|
25 |
-
'editor' => 'lib/editor/{$name}/',
|
26 |
-
'enrol' => 'enrol/{$name}/',
|
27 |
-
'filter' => 'filter/{$name}/',
|
28 |
-
'gradeexport' => 'grade/export/{$name}/',
|
29 |
-
'gradeimport' => 'grade/import/{$name}/',
|
30 |
-
'gradereport' => 'grade/report/{$name}/',
|
31 |
-
'gradingform' => 'grade/grading/form/{$name}/',
|
32 |
-
'local' => 'local/{$name}/',
|
33 |
-
'logstore' => 'admin/tool/log/store/{$name}/',
|
34 |
-
'ltisource' => 'mod/lti/source/{$name}/',
|
35 |
-
'ltiservice' => 'mod/lti/service/{$name}/',
|
36 |
-
'message' => 'message/output/{$name}/',
|
37 |
-
'mnetservice' => 'mnet/service/{$name}/',
|
38 |
-
'plagiarism' => 'plagiarism/{$name}/',
|
39 |
-
'portfolio' => 'portfolio/{$name}/',
|
40 |
-
'qbehaviour' => 'question/behaviour/{$name}/',
|
41 |
-
'qformat' => 'question/format/{$name}/',
|
42 |
-
'qtype' => 'question/type/{$name}/',
|
43 |
-
'quizaccess' => 'mod/quiz/accessrule/{$name}/',
|
44 |
-
'quiz' => 'mod/quiz/report/{$name}/',
|
45 |
-
'report' => 'report/{$name}/',
|
46 |
-
'repository' => 'repository/{$name}/',
|
47 |
-
'scormreport' => 'mod/scorm/report/{$name}/',
|
48 |
-
'search' => 'search/engine/{$name}/',
|
49 |
-
'theme' => 'theme/{$name}/',
|
50 |
-
'tinymce' => 'lib/editor/tinymce/plugins/{$name}/',
|
51 |
-
'profilefield' => 'user/profile/field/{$name}/',
|
52 |
-
'webservice' => 'webservice/{$name}/',
|
53 |
-
'workshopallocation' => 'mod/workshop/allocation/{$name}/',
|
54 |
-
'workshopeval' => 'mod/workshop/eval/{$name}/',
|
55 |
-
'workshopform' => 'mod/workshop/form/{$name}/'
|
56 |
-
);
|
57 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php
DELETED
@@ -1,47 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class OctoberInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
'plugin' => 'plugins/{$vendor}/{$name}/',
|
9 |
-
'theme' => 'themes/{$name}/'
|
10 |
-
);
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Format package name.
|
14 |
-
*
|
15 |
-
* For package type october-plugin, cut off a trailing '-plugin' if present.
|
16 |
-
*
|
17 |
-
* For package type october-theme, cut off a trailing '-theme' if present.
|
18 |
-
*
|
19 |
-
*/
|
20 |
-
public function inflectPackageVars($vars)
|
21 |
-
{
|
22 |
-
if ($vars['type'] === 'october-plugin') {
|
23 |
-
return $this->inflectPluginVars($vars);
|
24 |
-
}
|
25 |
-
|
26 |
-
if ($vars['type'] === 'october-theme') {
|
27 |
-
return $this->inflectThemeVars($vars);
|
28 |
-
}
|
29 |
-
|
30 |
-
return $vars;
|
31 |
-
}
|
32 |
-
|
33 |
-
protected function inflectPluginVars($vars)
|
34 |
-
{
|
35 |
-
$vars['name'] = preg_replace('/^oc-|-plugin$/', '', $vars['name']);
|
36 |
-
$vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
|
37 |
-
|
38 |
-
return $vars;
|
39 |
-
}
|
40 |
-
|
41 |
-
protected function inflectThemeVars($vars)
|
42 |
-
{
|
43 |
-
$vars['name'] = preg_replace('/^oc-|-theme$/', '', $vars['name']);
|
44 |
-
|
45 |
-
return $vars;
|
46 |
-
}
|
47 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class OntoWikiInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'extension' => 'extensions/{$name}/',
|
8 |
-
'theme' => 'extensions/themes/{$name}/',
|
9 |
-
'translation' => 'extensions/translations/{$name}/',
|
10 |
-
);
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Format package name to lower case and remove ".ontowiki" suffix
|
14 |
-
*/
|
15 |
-
public function inflectPackageVars($vars)
|
16 |
-
{
|
17 |
-
$vars['name'] = strtolower($vars['name']);
|
18 |
-
$vars['name'] = preg_replace('/.ontowiki$/', '', $vars['name']);
|
19 |
-
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
|
20 |
-
$vars['name'] = preg_replace('/-translation$/', '', $vars['name']);
|
21 |
-
|
22 |
-
return $vars;
|
23 |
-
}
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
|
5 |
-
class OsclassInstaller extends BaseInstaller
|
6 |
-
{
|
7 |
-
|
8 |
-
protected $locations = array(
|
9 |
-
'plugin' => 'oc-content/plugins/{$name}/',
|
10 |
-
'theme' => 'oc-content/themes/{$name}/',
|
11 |
-
'language' => 'oc-content/languages/{$name}/',
|
12 |
-
);
|
13 |
-
|
14 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/OxidInstaller.php
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\Package\PackageInterface;
|
5 |
-
|
6 |
-
class OxidInstaller extends BaseInstaller
|
7 |
-
{
|
8 |
-
const VENDOR_PATTERN = '/^modules\/(?P<vendor>.+)\/.+/';
|
9 |
-
|
10 |
-
protected $locations = array(
|
11 |
-
'module' => 'modules/{$name}/',
|
12 |
-
'theme' => 'application/views/{$name}/',
|
13 |
-
'out' => 'out/{$name}/',
|
14 |
-
);
|
15 |
-
|
16 |
-
/**
|
17 |
-
* getInstallPath
|
18 |
-
*
|
19 |
-
* @param PackageInterface $package
|
20 |
-
* @param string $frameworkType
|
21 |
-
* @return void
|
22 |
-
*/
|
23 |
-
public function getInstallPath(PackageInterface $package, $frameworkType = '')
|
24 |
-
{
|
25 |
-
$installPath = parent::getInstallPath($package, $frameworkType);
|
26 |
-
$type = $this->package->getType();
|
27 |
-
if ($type === 'oxid-module') {
|
28 |
-
$this->prepareVendorDirectory($installPath);
|
29 |
-
}
|
30 |
-
return $installPath;
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* prepareVendorDirectory
|
35 |
-
*
|
36 |
-
* Makes sure there is a vendormetadata.php file inside
|
37 |
-
* the vendor folder if there is a vendor folder.
|
38 |
-
*
|
39 |
-
* @param string $installPath
|
40 |
-
* @return void
|
41 |
-
*/
|
42 |
-
protected function prepareVendorDirectory($installPath)
|
43 |
-
{
|
44 |
-
$matches = '';
|
45 |
-
$hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches);
|
46 |
-
if (!$hasVendorDirectory) {
|
47 |
-
return;
|
48 |
-
}
|
49 |
-
|
50 |
-
$vendorDirectory = $matches['vendor'];
|
51 |
-
$vendorPath = getcwd() . '/modules/' . $vendorDirectory;
|
52 |
-
if (!file_exists($vendorPath)) {
|
53 |
-
mkdir($vendorPath, 0755, true);
|
54 |
-
}
|
55 |
-
|
56 |
-
$vendorMetaDataPath = $vendorPath . '/vendormetadata.php';
|
57 |
-
touch($vendorMetaDataPath);
|
58 |
-
}
|
59 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PPIInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PPIInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PhiftyInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'bundle' => 'bundles/{$name}/',
|
8 |
-
'library' => 'libraries/{$name}/',
|
9 |
-
'framework' => 'frameworks/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PhpBBInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'extension' => 'ext/{$vendor}/{$name}/',
|
8 |
-
'language' => 'language/{$name}/',
|
9 |
-
'style' => 'styles/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PimcoreInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'plugins/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format package name to CamelCase
|
12 |
-
*/
|
13 |
-
public function inflectPackageVars($vars)
|
14 |
-
{
|
15 |
-
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
|
16 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
17 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
18 |
-
|
19 |
-
return $vars;
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php
DELETED
@@ -1,32 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Class PiwikInstaller
|
6 |
-
*
|
7 |
-
* @package Composer\Installers
|
8 |
-
*/
|
9 |
-
class PiwikInstaller extends BaseInstaller
|
10 |
-
{
|
11 |
-
/**
|
12 |
-
* @var array
|
13 |
-
*/
|
14 |
-
protected $locations = array(
|
15 |
-
'plugin' => 'plugins/{$name}/',
|
16 |
-
);
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Format package name to CamelCase
|
20 |
-
* @param array $vars
|
21 |
-
*
|
22 |
-
* @return array
|
23 |
-
*/
|
24 |
-
public function inflectPackageVars($vars)
|
25 |
-
{
|
26 |
-
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
|
27 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
28 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
29 |
-
|
30 |
-
return $vars;
|
31 |
-
}
|
32 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PlentymarketsInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => '{$name}/'
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Remove hyphen, "plugin" and format to camelcase
|
12 |
-
* @param array $vars
|
13 |
-
*
|
14 |
-
* @return array
|
15 |
-
*/
|
16 |
-
public function inflectPackageVars($vars)
|
17 |
-
{
|
18 |
-
$vars['name'] = explode("-", $vars['name']);
|
19 |
-
foreach ($vars['name'] as $key => $name) {
|
20 |
-
$vars['name'][$key] = ucfirst($vars['name'][$key]);
|
21 |
-
if (strcasecmp($name, "Plugin") == 0) {
|
22 |
-
unset($vars['name'][$key]);
|
23 |
-
}
|
24 |
-
}
|
25 |
-
$vars['name'] = implode("",$vars['name']);
|
26 |
-
|
27 |
-
return $vars;
|
28 |
-
}
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/Plugin.php
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Composer\Installers;
|
4 |
-
|
5 |
-
use Composer\Composer;
|
6 |
-
use Composer\IO\IOInterface;
|
7 |
-
use Composer\Plugin\PluginInterface;
|
8 |
-
|
9 |
-
class Plugin implements PluginInterface
|
10 |
-
{
|
11 |
-
|
12 |
-
public function activate(Composer $composer, IOInterface $io)
|
13 |
-
{
|
14 |
-
$installer = new Installer($io, $composer);
|
15 |
-
$composer->getInstallationManager()->addInstaller($installer);
|
16 |
-
}
|
17 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PortoInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PortoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'container' => 'app/Containers/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PrestashopInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
'theme' => 'themes/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Composer\Installers;
|
4 |
-
|
5 |
-
class PuppetInstaller extends BaseInstaller
|
6 |
-
{
|
7 |
-
|
8 |
-
protected $locations = array(
|
9 |
-
'module' => 'modules/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php
DELETED
@@ -1,63 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PxcmsInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'app/Modules/{$name}/',
|
8 |
-
'theme' => 'themes/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name.
|
13 |
-
*
|
14 |
-
* @param array $vars
|
15 |
-
*
|
16 |
-
* @return array
|
17 |
-
*/
|
18 |
-
public function inflectPackageVars($vars)
|
19 |
-
{
|
20 |
-
if ($vars['type'] === 'pxcms-module') {
|
21 |
-
return $this->inflectModuleVars($vars);
|
22 |
-
}
|
23 |
-
|
24 |
-
if ($vars['type'] === 'pxcms-theme') {
|
25 |
-
return $this->inflectThemeVars($vars);
|
26 |
-
}
|
27 |
-
|
28 |
-
return $vars;
|
29 |
-
}
|
30 |
-
|
31 |
-
/**
|
32 |
-
* For package type pxcms-module, cut off a trailing '-plugin' if present.
|
33 |
-
*
|
34 |
-
* return string
|
35 |
-
*/
|
36 |
-
protected function inflectModuleVars($vars)
|
37 |
-
{
|
38 |
-
$vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy)
|
39 |
-
$vars['name'] = str_replace('module-', '', $vars['name']); // strip out module-
|
40 |
-
$vars['name'] = preg_replace('/-module$/', '', $vars['name']); // strip out -module
|
41 |
-
$vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s
|
42 |
-
$vars['name'] = ucwords($vars['name']); // make module name camelcased
|
43 |
-
|
44 |
-
return $vars;
|
45 |
-
}
|
46 |
-
|
47 |
-
|
48 |
-
/**
|
49 |
-
* For package type pxcms-module, cut off a trailing '-plugin' if present.
|
50 |
-
*
|
51 |
-
* return string
|
52 |
-
*/
|
53 |
-
protected function inflectThemeVars($vars)
|
54 |
-
{
|
55 |
-
$vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy)
|
56 |
-
$vars['name'] = str_replace('theme-', '', $vars['name']); // strip out theme-
|
57 |
-
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']); // strip out -theme
|
58 |
-
$vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s
|
59 |
-
$vars['name'] = ucwords($vars['name']); // make module name camelcased
|
60 |
-
|
61 |
-
return $vars;
|
62 |
-
}
|
63 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class RadPHPInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'bundle' => 'src/{$name}/'
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format package name to CamelCase
|
12 |
-
*/
|
13 |
-
public function inflectPackageVars($vars)
|
14 |
-
{
|
15 |
-
$nameParts = explode('/', $vars['name']);
|
16 |
-
foreach ($nameParts as &$value) {
|
17 |
-
$value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
|
18 |
-
$value = str_replace(array('-', '_'), ' ', $value);
|
19 |
-
$value = str_replace(' ', '', ucwords($value));
|
20 |
-
}
|
21 |
-
$vars['name'] = implode('/', $nameParts);
|
22 |
-
return $vars;
|
23 |
-
}
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ReIndexInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'theme' => 'themes/{$name}/',
|
8 |
-
'plugin' => 'plugins/{$name}/'
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class RedaxoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'addon' => 'redaxo/include/addons/{$name}/',
|
8 |
-
'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/'
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class RoundcubeInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'plugins/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Lowercase name and changes the name to a underscores
|
12 |
-
*
|
13 |
-
* @param array $vars
|
14 |
-
* @return array
|
15 |
-
*/
|
16 |
-
public function inflectPackageVars($vars)
|
17 |
-
{
|
18 |
-
$vars['name'] = strtolower(str_replace('-', '_', $vars['name']));
|
19 |
-
|
20 |
-
return $vars;
|
21 |
-
}
|
22 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/SMFInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class SMFInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'Sources/{$name}/',
|
8 |
-
'theme' => 'Themes/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php
DELETED
@@ -1,60 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Plugin/theme installer for shopware
|
6 |
-
* @author Benjamin Boit
|
7 |
-
*/
|
8 |
-
class ShopwareInstaller extends BaseInstaller
|
9 |
-
{
|
10 |
-
protected $locations = array(
|
11 |
-
'backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/',
|
12 |
-
'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/',
|
13 |
-
'frontend-plugin' => 'engine/Shopware/Plugins/Local/Frontend/{$name}/',
|
14 |
-
'theme' => 'templates/{$name}/',
|
15 |
-
'plugin' => 'custom/plugins/{$name}/',
|
16 |
-
'frontend-theme' => 'themes/Frontend/{$name}/',
|
17 |
-
);
|
18 |
-
|
19 |
-
/**
|
20 |
-
* Transforms the names
|
21 |
-
* @param array $vars
|
22 |
-
* @return array
|
23 |
-
*/
|
24 |
-
public function inflectPackageVars($vars)
|
25 |
-
{
|
26 |
-
if ($vars['type'] === 'shopware-theme') {
|
27 |
-
return $this->correctThemeName($vars);
|
28 |
-
}
|
29 |
-
|
30 |
-
return $this->correctPluginName($vars);
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Changes the name to a camelcased combination of vendor and name
|
35 |
-
* @param array $vars
|
36 |
-
* @return array
|
37 |
-
*/
|
38 |
-
private function correctPluginName($vars)
|
39 |
-
{
|
40 |
-
$camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
|
41 |
-
return strtoupper($matches[0][1]);
|
42 |
-
}, $vars['name']);
|
43 |
-
|
44 |
-
$vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
|
45 |
-
|
46 |
-
return $vars;
|
47 |
-
}
|
48 |
-
|
49 |
-
/**
|
50 |
-
* Changes the name to a underscore separated name
|
51 |
-
* @param array $vars
|
52 |
-
* @return array
|
53 |
-
*/
|
54 |
-
private function correctThemeName($vars)
|
55 |
-
{
|
56 |
-
$vars['name'] = str_replace('-', '_', $vars['name']);
|
57 |
-
|
58 |
-
return $vars;
|
59 |
-
}
|
60 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php
DELETED
@@ -1,35 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\Package\PackageInterface;
|
5 |
-
|
6 |
-
class SilverStripeInstaller extends BaseInstaller
|
7 |
-
{
|
8 |
-
protected $locations = array(
|
9 |
-
'module' => '{$name}/',
|
10 |
-
'theme' => 'themes/{$name}/',
|
11 |
-
);
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Return the install path based on package type.
|
15 |
-
*
|
16 |
-
* Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
|
17 |
-
* must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
|
18 |
-
*
|
19 |
-
* @param PackageInterface $package
|
20 |
-
* @param string $frameworkType
|
21 |
-
* @return string
|
22 |
-
*/
|
23 |
-
public function getInstallPath(PackageInterface $package, $frameworkType = '')
|
24 |
-
{
|
25 |
-
if (
|
26 |
-
$package->getName() == 'silverstripe/framework'
|
27 |
-
&& preg_match('/^\d+\.\d+\.\d+/', $package->getVersion())
|
28 |
-
&& version_compare($package->getVersion(), '2.999.999') < 0
|
29 |
-
) {
|
30 |
-
return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
|
31 |
-
}
|
32 |
-
|
33 |
-
return parent::getInstallPath($package, $frameworkType);
|
34 |
-
}
|
35 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Composer\Installers;
|
4 |
-
|
5 |
-
class SiteDirectInstaller extends BaseInstaller
|
6 |
-
{
|
7 |
-
protected $locations = array(
|
8 |
-
'module' => 'modules/{$vendor}/{$name}/',
|
9 |
-
'plugin' => 'plugins/{$vendor}/{$name}/'
|
10 |
-
);
|
11 |
-
|
12 |
-
public function inflectPackageVars($vars)
|
13 |
-
{
|
14 |
-
return $this->parseVars($vars);
|
15 |
-
}
|
16 |
-
|
17 |
-
protected function parseVars($vars)
|
18 |
-
{
|
19 |
-
$vars['vendor'] = strtolower($vars['vendor']) == 'sitedirect' ? 'SiteDirect' : $vars['vendor'];
|
20 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
21 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
22 |
-
|
23 |
-
return $vars;
|
24 |
-
}
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class SyDESInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'app/modules/{$name}/',
|
8 |
-
'theme' => 'themes/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format module name.
|
13 |
-
*
|
14 |
-
* Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present.
|
15 |
-
*
|
16 |
-
* @param array @vars
|
17 |
-
*
|
18 |
-
* @return array
|
19 |
-
*/
|
20 |
-
public function inflectPackageVars($vars)
|
21 |
-
{
|
22 |
-
if ($vars['type'] == 'sydes-module') {
|
23 |
-
return $this->inflectModuleVars($vars);
|
24 |
-
}
|
25 |
-
|
26 |
-
if ($vars['type'] === 'sydes-theme') {
|
27 |
-
return $this->inflectThemeVars($vars);
|
28 |
-
}
|
29 |
-
|
30 |
-
return $vars;
|
31 |
-
}
|
32 |
-
|
33 |
-
public function inflectModuleVars($vars)
|
34 |
-
{
|
35 |
-
$vars['name'] = preg_replace('/(^sydes-|-module$)/i', '', $vars['name']);
|
36 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
37 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
38 |
-
|
39 |
-
return $vars;
|
40 |
-
}
|
41 |
-
|
42 |
-
protected function inflectThemeVars($vars)
|
43 |
-
{
|
44 |
-
$vars['name'] = preg_replace('/(^sydes-|-theme$)/', '', $vars['name']);
|
45 |
-
$vars['name'] = strtolower($vars['name']);
|
46 |
-
|
47 |
-
return $vars;
|
48 |
-
}
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php
DELETED
@@ -1,26 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Plugin installer for symfony 1.x
|
6 |
-
*
|
7 |
-
* @author Jérôme Tamarelle <jerome@tamarelle.net>
|
8 |
-
*/
|
9 |
-
class Symfony1Installer extends BaseInstaller
|
10 |
-
{
|
11 |
-
protected $locations = array(
|
12 |
-
'plugin' => 'plugins/{$name}/',
|
13 |
-
);
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Format package name to CamelCase
|
17 |
-
*/
|
18 |
-
public function inflectPackageVars($vars)
|
19 |
-
{
|
20 |
-
$vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
|
21 |
-
return strtoupper($matches[0][1]);
|
22 |
-
}, $vars['name']);
|
23 |
-
|
24 |
-
return $vars;
|
25 |
-
}
|
26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Extension installer for TYPO3 CMS
|
6 |
-
*
|
7 |
-
* @deprecated since 1.0.25, use https://packagist.org/packages/typo3/cms-composer-installers instead
|
8 |
-
*
|
9 |
-
* @author Sascha Egerer <sascha.egerer@dkd.de>
|
10 |
-
*/
|
11 |
-
class TYPO3CmsInstaller extends BaseInstaller
|
12 |
-
{
|
13 |
-
protected $locations = array(
|
14 |
-
'extension' => 'typo3conf/ext/{$name}/',
|
15 |
-
);
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php
DELETED
@@ -1,38 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* An installer to handle TYPO3 Flow specifics when installing packages.
|
6 |
-
*/
|
7 |
-
class TYPO3FlowInstaller extends BaseInstaller
|
8 |
-
{
|
9 |
-
protected $locations = array(
|
10 |
-
'package' => 'Packages/Application/{$name}/',
|
11 |
-
'framework' => 'Packages/Framework/{$name}/',
|
12 |
-
'plugin' => 'Packages/Plugins/{$name}/',
|
13 |
-
'site' => 'Packages/Sites/{$name}/',
|
14 |
-
'boilerplate' => 'Packages/Boilerplates/{$name}/',
|
15 |
-
'build' => 'Build/{$name}/',
|
16 |
-
);
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Modify the package name to be a TYPO3 Flow style key.
|
20 |
-
*
|
21 |
-
* @param array $vars
|
22 |
-
* @return array
|
23 |
-
*/
|
24 |
-
public function inflectPackageVars($vars)
|
25 |
-
{
|
26 |
-
$autoload = $this->package->getAutoload();
|
27 |
-
if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
|
28 |
-
$namespace = key($autoload['psr-0']);
|
29 |
-
$vars['name'] = str_replace('\\', '.', $namespace);
|
30 |
-
}
|
31 |
-
if (isset($autoload['psr-4']) && is_array($autoload['psr-4'])) {
|
32 |
-
$namespace = key($autoload['psr-4']);
|
33 |
-
$vars['name'] = rtrim(str_replace('\\', '.', $namespace), '.');
|
34 |
-
}
|
35 |
-
|
36 |
-
return $vars;
|
37 |
-
}
|
38 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class TheliaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'local/modules/{$name}/',
|
8 |
-
'frontoffice-template' => 'templates/frontOffice/{$name}/',
|
9 |
-
'backoffice-template' => 'templates/backOffice/{$name}/',
|
10 |
-
'email-template' => 'templates/email/{$name}/',
|
11 |
-
);
|
12 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/TuskInstaller.php
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
/**
|
4 |
-
* Composer installer for 3rd party Tusk utilities
|
5 |
-
* @author Drew Ewing <drew@phenocode.com>
|
6 |
-
*/
|
7 |
-
class TuskInstaller extends BaseInstaller
|
8 |
-
{
|
9 |
-
protected $locations = array(
|
10 |
-
'task' => '.tusk/tasks/{$name}/',
|
11 |
-
'command' => '.tusk/commands/{$name}/',
|
12 |
-
'asset' => 'assets/tusk/{$name}/',
|
13 |
-
);
|
14 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class UserFrostingInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'sprinkle' => 'app/sprinkles/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class VanillaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'plugins/{$name}/',
|
8 |
-
'theme' => 'themes/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class VgmcpInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'bundle' => 'src/{$vendor}/{$name}/',
|
8 |
-
'theme' => 'themes/{$name}/'
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name.
|
13 |
-
*
|
14 |
-
* For package type vgmcp-bundle, cut off a trailing '-bundle' if present.
|
15 |
-
*
|
16 |
-
* For package type vgmcp-theme, cut off a trailing '-theme' if present.
|
17 |
-
*
|
18 |
-
*/
|
19 |
-
public function inflectPackageVars($vars)
|
20 |
-
{
|
21 |
-
if ($vars['type'] === 'vgmcp-bundle') {
|
22 |
-
return $this->inflectPluginVars($vars);
|
23 |
-
}
|
24 |
-
|
25 |
-
if ($vars['type'] === 'vgmcp-theme') {
|
26 |
-
return $this->inflectThemeVars($vars);
|
27 |
-
}
|
28 |
-
|
29 |
-
return $vars;
|
30 |
-
}
|
31 |
-
|
32 |
-
protected function inflectPluginVars($vars)
|
33 |
-
{
|
34 |
-
$vars['name'] = preg_replace('/-bundle$/', '', $vars['name']);
|
35 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
36 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
37 |
-
|
38 |
-
return $vars;
|
39 |
-
}
|
40 |
-
|
41 |
-
protected function inflectThemeVars($vars)
|
42 |
-
{
|
43 |
-
$vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
|
44 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
45 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
46 |
-
|
47 |
-
return $vars;
|
48 |
-
}
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace Composer\Installers;
|
4 |
-
|
5 |
-
class WHMCSInstaller extends BaseInstaller
|
6 |
-
{
|
7 |
-
protected $locations = array(
|
8 |
-
'gateway' => 'modules/gateways/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class WolfCMSInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'wolf/plugins/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class WordPressInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'wp-content/plugins/{$name}/',
|
8 |
-
'theme' => 'wp-content/themes/{$name}/',
|
9 |
-
'muplugin' => 'wp-content/mu-plugins/{$name}/',
|
10 |
-
'dropin' => 'wp-content/{$name}/',
|
11 |
-
);
|
12 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/YawikInstaller.php
DELETED
@@ -1,32 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Created by PhpStorm.
|
4 |
-
* User: cbleek
|
5 |
-
* Date: 25.03.16
|
6 |
-
* Time: 20:55
|
7 |
-
*/
|
8 |
-
|
9 |
-
namespace Composer\Installers;
|
10 |
-
|
11 |
-
|
12 |
-
class YawikInstaller extends BaseInstaller
|
13 |
-
{
|
14 |
-
protected $locations = array(
|
15 |
-
'module' => 'module/{$name}/',
|
16 |
-
);
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Format package name to CamelCase
|
20 |
-
* @param array $vars
|
21 |
-
*
|
22 |
-
* @return array
|
23 |
-
*/
|
24 |
-
public function inflectPackageVars($vars)
|
25 |
-
{
|
26 |
-
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
|
27 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
28 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
29 |
-
|
30 |
-
return $vars;
|
31 |
-
}
|
32 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ZendInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ZendInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'library/{$name}/',
|
8 |
-
'extra' => 'extras/library/{$name}/',
|
9 |
-
'module' => 'module/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ZikulaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$vendor}-{$name}/',
|
8 |
-
'theme' => 'themes/{$vendor}-{$name}/'
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/installers/src/bootstrap.php
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
function includeIfExists($file)
|
3 |
-
{
|
4 |
-
if (file_exists($file)) {
|
5 |
-
return include $file;
|
6 |
-
}
|
7 |
-
}
|
8 |
-
if ((!$loader = includeIfExists(__DIR__ . '/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__ . '/../../../autoload.php'))) {
|
9 |
-
die('You must set up the project dependencies, run the following commands:'.PHP_EOL.
|
10 |
-
'curl -s http://getcomposer.org/installer | php'.PHP_EOL.
|
11 |
-
'php composer.phar install'.PHP_EOL);
|
12 |
-
}
|
13 |
-
return $loader;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/.editorconfig
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
# This file is for unifying the coding style for different editors and IDEs
|
2 |
-
# editorconfig.org
|
3 |
-
|
4 |
-
# WordPress Coding Standards
|
5 |
-
# https://make.wordpress.org/core/handbook/coding-standards/
|
6 |
-
|
7 |
-
# Based from https://github.com/ntwb/wp.editorconfig/blob/master/.editorconfig
|
8 |
-
#
|
9 |
-
# Need an IDE plugin? http://editorconfig.org/#download
|
10 |
-
|
11 |
-
root = true
|
12 |
-
|
13 |
-
[*]
|
14 |
-
charset = utf-8
|
15 |
-
end_of_line = lf
|
16 |
-
insert_final_newline = true
|
17 |
-
trim_trailing_whitespace = true
|
18 |
-
indent_style = tab
|
19 |
-
|
20 |
-
[*.json]
|
21 |
-
indent_style = space
|
22 |
-
indent_size = 2
|
23 |
-
|
24 |
-
[*.yml]
|
25 |
-
indent_style = space
|
26 |
-
indent_size = 4
|
27 |
-
|
28 |
-
[*.txt,wp-config-sample.php]
|
29 |
-
end_of_line = crlf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/.gitattributes
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
* text=auto
|
2 |
-
/tests export-ignore
|
|
|
|
vendor/wpdesk/wp-settings/.gitignore
DELETED
@@ -1,36 +0,0 @@
|
|
1 |
-
# Windows image file caches
|
2 |
-
Thumbs.db
|
3 |
-
ehthumbs.db
|
4 |
-
|
5 |
-
# Folder config file
|
6 |
-
Desktop.ini
|
7 |
-
|
8 |
-
# Recycle Bin used on file shares
|
9 |
-
$RECYCLE.BIN/
|
10 |
-
|
11 |
-
# Mac crap
|
12 |
-
.DS_Store
|
13 |
-
|
14 |
-
# Sublime
|
15 |
-
*.sublime-project
|
16 |
-
*.sublime-workspace
|
17 |
-
|
18 |
-
# PhpStorm
|
19 |
-
.idea
|
20 |
-
|
21 |
-
# Eclipse
|
22 |
-
*.pydevproject
|
23 |
-
.project
|
24 |
-
.metadata
|
25 |
-
build/
|
26 |
-
tmp/
|
27 |
-
tests/clover.xml
|
28 |
-
|
29 |
-
# Grunt
|
30 |
-
node_modules
|
31 |
-
|
32 |
-
# Vendor
|
33 |
-
vendor
|
34 |
-
|
35 |
-
# Temporary files
|
36 |
-
*~
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/.gitlab-ci.yml
DELETED
@@ -1,310 +0,0 @@
|
|
1 |
-
variables:
|
2 |
-
WPDESK_CI_VERSION: 1.10.19
|
3 |
-
MYSQL_ROOT_PASSWORD: mysql
|
4 |
-
MYSQL_DATABASE: wptest
|
5 |
-
MYSQL_USER: mysql
|
6 |
-
MYSQL_PASSWORD: mysql
|
7 |
-
MYSQL_INNODB_LOG_BUFFER_SIZE: 32M
|
8 |
-
PHP_ERROR_REPORTING: E_ALL
|
9 |
-
COMPOSER_ALLOW_SUPERUSER: 1
|
10 |
-
GIT_STRATEGY: fetch
|
11 |
-
ACCEPTANCE_ERROR_PATH: ${CI_PROJECT_DIR}/acceptance
|
12 |
-
|
13 |
-
stages:
|
14 |
-
- tools
|
15 |
-
- tests
|
16 |
-
- pre-deploy
|
17 |
-
- deploy
|
18 |
-
|
19 |
-
.template: &job-test-template
|
20 |
-
stage: tests
|
21 |
-
coverage: '/^\s*Lines:\s*\d+.\d+\%/'
|
22 |
-
|
23 |
-
.template: &job-test-integration-template
|
24 |
-
<<: *job-test-template
|
25 |
-
services:
|
26 |
-
- mysql:5.6
|
27 |
-
script:
|
28 |
-
- echo ${WPDESK_CI_VERSION}
|
29 |
-
- ls -l
|
30 |
-
- php --version
|
31 |
-
- cat /tmp/wordpress-develop/src/wp-includes/version.php
|
32 |
-
- cat /tmp/woocommerce/woocommerce.php
|
33 |
-
- composer update --no-progress
|
34 |
-
- if [[ -f tests/integration/prepare.sh ]]; then sh tests/integration/prepare.sh; fi
|
35 |
-
- vendor/bin/phpunit --configuration phpunit-integration.xml --coverage-text --colors=never
|
36 |
-
only:
|
37 |
-
- tags
|
38 |
-
|
39 |
-
.template: &job-test-integration-template-fast
|
40 |
-
<<: *job-test-integration-template
|
41 |
-
script:
|
42 |
-
- echo ${WPDESK_CI_VERSION}
|
43 |
-
- ls -l
|
44 |
-
- php --version
|
45 |
-
- cat /tmp/wordpress-develop/src/wp-includes/version.php
|
46 |
-
- cat /tmp/woocommerce/woocommerce.php
|
47 |
-
- composer update --no-progress
|
48 |
-
- if [[ -f tests/integration/prepare.sh ]]; then sh tests/integration/prepare.sh; fi
|
49 |
-
- vendor/bin/phpunit --configuration phpunit-integration.xml --no-coverage
|
50 |
-
except:
|
51 |
-
- tags
|
52 |
-
only:
|
53 |
-
|
54 |
-
.template: &job-test-unit-template
|
55 |
-
<<: *job-test-template
|
56 |
-
script:
|
57 |
-
- echo ${WPDESK_CI_VERSION}
|
58 |
-
- ls -l
|
59 |
-
- php --version
|
60 |
-
- cat /tmp/wordpress-develop/src/wp-includes/version.php
|
61 |
-
- cat /tmp/woocommerce/woocommerce.php
|
62 |
-
- composer update --no-progress
|
63 |
-
- vendor/bin/phpunit --configuration phpunit-unit.xml --coverage-text --colors=never
|
64 |
-
only:
|
65 |
-
- tags
|
66 |
-
|
67 |
-
.template: &job-test-unit-template-fast
|
68 |
-
<<: *job-test-unit-template
|
69 |
-
script:
|
70 |
-
- echo ${WPDESK_CI_VERSION}
|
71 |
-
- ls -l
|
72 |
-
- php --version
|
73 |
-
- cat /tmp/wordpress-develop/src/wp-includes/version.php
|
74 |
-
- cat /tmp/woocommerce/woocommerce.php
|
75 |
-
- composer update --no-progress
|
76 |
-
- vendor/bin/phpunit --configuration phpunit-unit.xml --no-coverage
|
77 |
-
except:
|
78 |
-
- tags
|
79 |
-
only:
|
80 |
-
|
81 |
-
.template: &job-deploy-template
|
82 |
-
image: wpdesknet/amazon-svn-deploy
|
83 |
-
stage: deploy
|
84 |
-
dependencies:
|
85 |
-
- build to deploy
|
86 |
-
- unit test lastest coverage
|
87 |
-
- integration test lastest coverage
|
88 |
-
retry: 2
|
89 |
-
when: manual
|
90 |
-
only:
|
91 |
-
- tags
|
92 |
-
|
93 |
-
before_script:
|
94 |
-
- cd ${CI_PROJECT_DIR}
|
95 |
-
|
96 |
-
phpmetric metrics:
|
97 |
-
stage: tools
|
98 |
-
image: wpdesknet/phpunit-woocommerce:0-0
|
99 |
-
allow_failure: true
|
100 |
-
when: manual
|
101 |
-
artifacts:
|
102 |
-
when: always
|
103 |
-
expire_in: 1 month
|
104 |
-
name: "metrics"
|
105 |
-
paths:
|
106 |
-
- ${CI_PROJECT_DIR}/phpmetric
|
107 |
-
script:
|
108 |
-
- echo ${WPDESK_CI_VERSION}
|
109 |
-
- composer require phpmetrics/phpmetrics
|
110 |
-
- composer update --no-progress
|
111 |
-
- php ./vendor/bin/phpmetrics --report-html=phpmetric .
|
112 |
-
|
113 |
-
churn metrics:
|
114 |
-
stage: tools
|
115 |
-
image: wpdesknet/phpunit-woocommerce:0-0
|
116 |
-
allow_failure: true
|
117 |
-
when: manual
|
118 |
-
script:
|
119 |
-
- echo ${WPDESK_CI_VERSION}
|
120 |
-
- composer require bmitch/churn-php
|
121 |
-
- composer update --no-progress
|
122 |
-
- vendor/bin/churn run classes inc
|
123 |
-
|
124 |
-
#code style test:
|
125 |
-
# stage: tests
|
126 |
-
# image: wpdesknet/phpunit-woocommerce:0-0
|
127 |
-
# allow_failure: true
|
128 |
-
# script:
|
129 |
-
# - echo ${WPDESK_CI_VERSION}
|
130 |
-
# - composer update --no-progress
|
131 |
-
# - vendor/bin/phpcs
|
132 |
-
|
133 |
-
unit test lastest:
|
134 |
-
<<: *job-test-unit-template-fast
|
135 |
-
image: wpdesknet/phpunit-woocommerce:0-0
|
136 |
-
|
137 |
-
integration test lastest:
|
138 |
-
<<: *job-test-integration-template-fast
|
139 |
-
image: wpdesknet/phpunit-woocommerce:0-0
|
140 |
-
|
141 |
-
unit test lastest coverage:
|
142 |
-
<<: *job-test-unit-template
|
143 |
-
image: wpdesknet/phpunit-woocommerce:0-0
|
144 |
-
|
145 |
-
integration test lastest coverage:
|
146 |
-
<<: *job-test-integration-template
|
147 |
-
image: wpdesknet/phpunit-woocommerce:0-0
|
148 |
-
|
149 |
-
integration test php7-1 wc-1:
|
150 |
-
<<: *job-test-integration-template-fast
|
151 |
-
image: wpdesknet/phpunit-woocommerce:1-1
|
152 |
-
|
153 |
-
integration test php7 wc-2:
|
154 |
-
<<: *job-test-integration-template-fast
|
155 |
-
image: wpdesknet/phpunit-woocommerce:2-2
|
156 |
-
|
157 |
-
integration test php-7 wc-3:
|
158 |
-
<<: *job-test-integration-template-fast
|
159 |
-
image: wpdesknet/phpunit-woocommerce:2-3
|
160 |
-
|
161 |
-
integration test php5-6:
|
162 |
-
<<: *job-test-integration-template-fast
|
163 |
-
image: wpdesknet/phpunit-woocommerce:3-0
|
164 |
-
|
165 |
-
integration test php5-5:
|
166 |
-
<<: *job-test-integration-template-fast
|
167 |
-
image: wpdesknet/phpunit-woocommerce:4-0
|
168 |
-
|
169 |
-
integration test current woocommerce:
|
170 |
-
<<: *job-test-integration-template-fast
|
171 |
-
image: wpdesknet/phpunit-woocommerce:0-0
|
172 |
-
allow_failure: true
|
173 |
-
before_script:
|
174 |
-
- cd /tmp
|
175 |
-
- rm -rf woocommerce
|
176 |
-
- git clone https://github.com/woocommerce/woocommerce.git
|
177 |
-
- cd ${CI_PROJECT_DIR}
|
178 |
-
|
179 |
-
acceptance test:
|
180 |
-
image: wpdesknet/node
|
181 |
-
variables:
|
182 |
-
CI_DEBUG_SERVICES: trace
|
183 |
-
services:
|
184 |
-
- name: mysql:5.6
|
185 |
-
alias: mysqltests
|
186 |
-
- name: wpdesknet/apache-woocommerce:latest
|
187 |
-
alias: wootests
|
188 |
-
- name: selenium/standalone-chrome
|
189 |
-
alias: selenium
|
190 |
-
artifacts:
|
191 |
-
when: always
|
192 |
-
expire_in: 1 day
|
193 |
-
name: "error logs"
|
194 |
-
paths:
|
195 |
-
- ${CI_PROJECT_DIR}/acceptance
|
196 |
-
stage: tests
|
197 |
-
allow_failure: true
|
198 |
-
script:
|
199 |
-
- cd ${CI_PROJECT_DIR}
|
200 |
-
- composer update --no-progress --no-dev
|
201 |
-
- if [[ -f ${CI_PROJECT_DIR}/tests/acceptance/prepare.sh ]]; then sh ${CI_PROJECT_DIR}/tests/acceptance/prepare.sh; fi
|
202 |
-
|
203 |
-
- export MYSQL_IP=$(awk '/^[[:space:]]*($|#)/{next} /mysqltests/{print $1; exit}' /etc/hosts)
|
204 |
-
- export WOOTESTS_IP=$(awk '/^[[:space:]]*($|#)/{next} /wootests/{print $1; exit}' /etc/hosts)
|
205 |
-
- echo "http://wootests/wpdesk_init.php?mysql_ip=${MYSQL_IP}&wootests_ip=${WOOTESTS_IP}"
|
206 |
-
- wget -O /tmp/wpdesk_init.txt "http://wootests/wpdesk_init.php?mysql_ip=${MYSQL_IP}&wootests_ip=${WOOTESTS_IP}"
|
207 |
-
- tail -50 /tmp/wpdesk_init.txt
|
208 |
-
|
209 |
-
- sh /tmp/clone.sh git@gitlab.com:wpdesk/plugins-tests.git /tmp/tests headless
|
210 |
-
- cd /tmp/tests
|
211 |
-
- npm install
|
212 |
-
- npm install -g grunt-cli
|
213 |
-
- cd node_modules/.bin
|
214 |
-
- ./webdriver-manager update
|
215 |
-
- cd ../
|
216 |
-
- mkdir -p ${CI_PROJECT_DIR}/acceptance/reports/html/screenshot
|
217 |
-
- grunt chrome-${CI_PROJECT_NAME}
|
218 |
-
|
219 |
-
|
220 |
-
apigen docs:
|
221 |
-
image:
|
222 |
-
name: wpdesknet/apigen
|
223 |
-
stage: pre-deploy
|
224 |
-
artifacts:
|
225 |
-
expire_in: 1 day
|
226 |
-
name: "docs"
|
227 |
-
paths:
|
228 |
-
- docs/
|
229 |
-
script:
|
230 |
-
- echo ${WPDESK_CI_VERSION}
|
231 |
-
- ls -l
|
232 |
-
- /app/vendor/bin/apigen generate
|
233 |
-
- php /app/hooks-docs.php ${CI_PROJECT_DIR}
|
234 |
-
only:
|
235 |
-
- tags
|
236 |
-
|
237 |
-
pages:
|
238 |
-
stage: deploy
|
239 |
-
dependencies:
|
240 |
-
- apigen docs
|
241 |
-
script:
|
242 |
-
- rm -rf public
|
243 |
-
- mv docs/ public/
|
244 |
-
- 'curl -X POST --data-urlencode "payload={\"text\": \"Dokumentacja projektu ${CI_PROJECT_NAME} w wersji ${CI_COMMIT_REF_NAME} umieszczona w <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}/pages|pages> \", }" https://hooks.slack.com/services/${SLACK_AUTH}'
|
245 |
-
artifacts:
|
246 |
-
expire_in: 1 day
|
247 |
-
paths:
|
248 |
-
- public
|
249 |
-
only:
|
250 |
-
- tags
|
251 |
-
|
252 |
-
build to deploy:
|
253 |
-
image: wpdesknet/phpunit-woocommerce:4-0
|
254 |
-
stage: pre-deploy
|
255 |
-
artifacts:
|
256 |
-
expire_in: 1 month
|
257 |
-
name: "production release"
|
258 |
-
paths:
|
259 |
-
- release
|
260 |
-
- release.zip
|
261 |
-
script:
|
262 |
-
- echo ${WPDESK_CI_VERSION}
|
263 |
-
- php --version
|
264 |
-
- ls -l
|
265 |
-
- /tmp/set_version.sh ${CI_COMMIT_REF_NAME}
|
266 |
-
- rm -rf ${CI_PROJECT_DIR}/release ${CI_PROJECT_DIR}/release.zip /tmp/release
|
267 |
-
- mkdir /tmp/release
|
268 |
-
- mkdir -p ${CI_PROJECT_DIR}/release/${CI_PROJECT_NAME}
|
269 |
-
- cp -rf ${CI_PROJECT_DIR}/* /tmp/release
|
270 |
-
- cp -rf /tmp/release/* ${CI_PROJECT_DIR}/release/${CI_PROJECT_NAME}
|
271 |
-
- cd ${CI_PROJECT_DIR}/release/${CI_PROJECT_NAME}
|
272 |
-
- composer install --no-dev --no-progress --optimize-autoloader
|
273 |
-
- rm -rf build-coverage release tests docs .git .editorconfig .gitignore .gitlab-ci.yml apigen.neon phpunit.xml acceptance test_soap.php .gitlab
|
274 |
-
- rm -rf composer.json composer.lock phpcs.xml.dist phpunit-integration.xml phpunit-unit.xml composer.phar wp-cli.phar
|
275 |
-
- cd ../
|
276 |
-
- zip -r -q ../release.zip ./
|
277 |
-
only:
|
278 |
-
- tags
|
279 |
-
|
280 |
-
deploy to shop:
|
281 |
-
<<: *job-deploy-template
|
282 |
-
script:
|
283 |
-
- echo ${WPDESK_CI_VERSION}
|
284 |
-
- /tmp/deploy_shop.sh ${CI_PROJECT_NAME} release.zip ${CI_PROJECT_NAME}.zip
|
285 |
-
- 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do sklepu w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}'
|
286 |
-
environment:
|
287 |
-
name: wpdesk shop
|
288 |
-
url: https://wpdeskplugin.s3.amazonaws.com/${CI_PROJECT_NAME}.zip
|
289 |
-
|
290 |
-
deploy to demo:
|
291 |
-
<<: *job-deploy-template
|
292 |
-
script:
|
293 |
-
- echo ${WPDESK_CI_VERSION}
|
294 |
-
- /tmp/deploy_demo.sh release/${CI_PROJECT_NAME} ${CI_PROJECT_NAME}
|
295 |
-
- 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do demo w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}'
|
296 |
-
environment:
|
297 |
-
name: wpdesk demo
|
298 |
-
url: https://demo.wpdesk.org
|
299 |
-
|
300 |
-
deploy to repository:
|
301 |
-
<<: *job-deploy-template
|
302 |
-
script:
|
303 |
-
- echo ${WPDESK_CI_VERSION}
|
304 |
-
- rm -rf /tmp/svn-repository
|
305 |
-
- mkdir /tmp/svn-repository
|
306 |
-
- /tmp/deploy_repository.sh ${CI_PROJECT_NAME} ${CI_PROJECT_DIR}/release/${CI_PROJECT_NAME} /tmp/svn-repository
|
307 |
-
- 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do repozytorium WP w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}'
|
308 |
-
environment:
|
309 |
-
name: wordpress repository
|
310 |
-
url: https://downloads.wordpress.org/plugin/${CI_PROJECT_NAME}.${CI_COMMIT_REF_NAME}.zip
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/.gitlab/issue_templates/Bug.md
DELETED
@@ -1,32 +0,0 @@
|
|
1 |
-
### Select WooCommerce version e.g: [x] 2.6
|
2 |
-
<!--- Select the WooCommerce version on which the error occurred -->
|
3 |
-
|
4 |
-
- [ ] [2.6](http://woo26.tests.wpdesk.org)
|
5 |
-
- [ ] [2.7](http://woo27.tests.wpdesk.org)
|
6 |
-
- [ ] [3.0](http://woo30.tests.wpdesk.org)
|
7 |
-
- [ ] [3.1](http://woo31.tests.wpdesk.org)
|
8 |
-
- [ ] [3.2](http://woo32.tests.wpdesk.org)
|
9 |
-
- [ ] [3.3](http://woo33.tests.wpdesk.org)
|
10 |
-
- [ ] [3.4](http://woo34.tests.wpdesk.org)
|
11 |
-
- [ ] [Stable](https://stable.wpdesk.org/)
|
12 |
-
|
13 |
-
### Select PHP version e.g: [x] 5.6
|
14 |
-
<!--- Select the PHP version on which the error occurred -->
|
15 |
-
|
16 |
-
- [ ] 5.3
|
17 |
-
- [ ] 5.5
|
18 |
-
- [ ] 5.6
|
19 |
-
- [ ] 7.1
|
20 |
-
- [ ] 7.2
|
21 |
-
|
22 |
-
## Steps to Reproduce
|
23 |
-
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
24 |
-
|
25 |
-
1.
|
26 |
-
2.
|
27 |
-
|
28 |
-
|
29 |
-
## Expected Behavior
|
30 |
-
<!--- Tell what should happen -->
|
31 |
-
|
32 |
-
1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/.jshintrc
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"boss": true,
|
3 |
-
"curly": true,
|
4 |
-
"eqeqeq": true,
|
5 |
-
"immed": true,
|
6 |
-
"noarg": true,
|
7 |
-
"quotmark": "single",
|
8 |
-
"undef": true,
|
9 |
-
"unused": true,
|
10 |
-
"browser": true,
|
11 |
-
"globals": {
|
12 |
-
"jQuery": false
|
13 |
-
}
|
14 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/CONTRIBUTING.md
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
# Contribute To The Library
|
2 |
-
|
3 |
-
Community made patches, bug reports and contributions are always welcome!
|
4 |
-
|
5 |
-
When contributing please ensure you follow the guidelines below so that we can keep on top of things.
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/README.md
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
# WP Desk Settings Library
|
2 |
-
|
3 |
-
## What Is This?
|
4 |
-
|
5 |
-
Settings library for Wordpress
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/apigen.neon
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
source:
|
2 |
-
- ./
|
3 |
-
|
4 |
-
destination: codex
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/composer.json
DELETED
@@ -1,34 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "wpdesk/wp-settings",
|
3 |
-
"type": "library",
|
4 |
-
"description": "A PHP library for implementing a simple, transparent WordPress settings panel.",
|
5 |
-
"keywords": ["wpdesk", "settings", "options"],
|
6 |
-
"homepage": "https://wpdesk.net/",
|
7 |
-
"license": "GPL-2.0+",
|
8 |
-
"authors": [
|
9 |
-
{
|
10 |
-
"name": "WP Desk",
|
11 |
-
"email": "wpdesk@wpdesk.net"
|
12 |
-
}
|
13 |
-
],
|
14 |
-
"support": {
|
15 |
-
"issues": "https://gitlab.com/wpdesk/wp-settings/issues"
|
16 |
-
},
|
17 |
-
"autoload": {
|
18 |
-
"classmap": ["source/"]
|
19 |
-
},
|
20 |
-
"require": {
|
21 |
-
"php": ">=5.3.0",
|
22 |
-
"composer/installers": "~1.0"
|
23 |
-
},
|
24 |
-
"require-dev": {
|
25 |
-
"satooshi/php-coveralls": "dev-master",
|
26 |
-
"phpunit/phpunit": "3.7.31",
|
27 |
-
"phpunit/php-invoker": "1.1.3"
|
28 |
-
},
|
29 |
-
"config": {
|
30 |
-
"preferred-install": "dist",
|
31 |
-
"sort-packages": true
|
32 |
-
},
|
33 |
-
"minimum-stability": "dev"
|
34 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/license.txt
DELETED
@@ -1,281 +0,0 @@
|
|
1 |
-
GNU GENERAL PUBLIC LICENSE
|
2 |
-
Version 2, June 1991
|
3 |
-
|
4 |
-
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
5 |
-
51 Franklin St, Fifth Floor, Boston, MA 02110, USA
|
6 |
-
|
7 |
-
Everyone is permitted to copy and distribute verbatim copies
|
8 |
-
of this license document, but changing it is not allowed.
|
9 |
-
|
10 |
-
Preamble
|
11 |
-
|
12 |
-
The licenses for most software are designed to take away your
|
13 |
-
freedom to share and change it. By contrast, the GNU General Public
|
14 |
-
License is intended to guarantee your freedom to share and change free
|
15 |
-
software--to make sure the software is free for all its users. This
|
16 |
-
General Public License applies to most of the Free Software
|
17 |
-
Foundation's software and to any other program whose authors commit to
|
18 |
-
using it. (Some other Free Software Foundation software is covered by
|
19 |
-
the GNU Library General Public License instead.) You can apply it to
|
20 |
-
your programs, too.
|
21 |
-
|
22 |
-
When we speak of free software, we are referring to freedom, not
|
23 |
-
price. Our General Public Licenses are designed to make sure that you
|
24 |
-
have the freedom to distribute copies of free software (and charge for
|
25 |
-
this service if you wish), that you receive source code or can get it
|
26 |
-
if you want it, that you can change the software or use pieces of it
|
27 |
-
in new free programs; and that you know you can do these things.
|
28 |
-
|
29 |
-
To protect your rights, we need to make restrictions that forbid
|
30 |
-
anyone to deny you these rights or to ask you to surrender the rights.
|
31 |
-
These restrictions translate to certain responsibilities for you if you
|
32 |
-
distribute copies of the software, or if you modify it.
|
33 |
-
|
34 |
-
For example, if you distribute copies of such a program, whether
|
35 |
-
gratis or for a fee, you must give the recipients all the rights that
|
36 |
-
you have. You must make sure that they, too, receive or can get the
|
37 |
-
source code. And you must show them these terms so they know their
|
38 |
-
rights.
|
39 |
-
|
40 |
-
We protect your rights with two steps: (1) copyright the software, and
|
41 |
-
(2) offer you this license which gives you legal permission to copy,
|
42 |
-
distribute and/or modify the software.
|
43 |
-
|
44 |
-
Also, for each author's protection and ours, we want to make certain
|
45 |
-
that everyone understands that there is no warranty for this free
|
46 |
-
software. If the software is modified by someone else and passed on, we
|
47 |
-
want its recipients to know that what they have is not the original, so
|
48 |
-
that any problems introduced by others will not reflect on the original
|
49 |
-
authors' reputations.
|
50 |
-
|
51 |
-
Finally, any free program is threatened constantly by software
|
52 |
-
patents. We wish to avoid the danger that redistributors of a free
|
53 |
-
program will individually obtain patent licenses, in effect making the
|
54 |
-
program proprietary. To prevent this, we have made it clear that any
|
55 |
-
patent must be licensed for everyone's free use or not licensed at all.
|
56 |
-
|
57 |
-
The precise terms and conditions for copying, distribution and
|
58 |
-
modification follow.
|
59 |
-
|
60 |
-
GNU GENERAL PUBLIC LICENSE
|
61 |
-
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
62 |
-
|
63 |
-
0. This License applies to any program or other work which contains
|
64 |
-
a notice placed by the copyright holder saying it may be distributed
|
65 |
-
under the terms of this General Public License. The "Program", below,
|
66 |
-
refers to any such program or work, and a "work based on the Program"
|
67 |
-
means either the Program or any derivative work under copyright law:
|
68 |
-
that is to say, a work containing the Program or a portion of it,
|
69 |
-
either verbatim or with modifications and/or translated into another
|
70 |
-
language. (Hereinafter, translation is included without limitation in
|
71 |
-
the term "modification".) Each licensee is addressed as "you".
|
72 |
-
|
73 |
-
Activities other than copying, distribution and modification are not
|
74 |
-
covered by this License; they are outside its scope. The act of
|
75 |
-
running the Program is not restricted, and the output from the Program
|
76 |
-
is covered only if its contents constitute a work based on the
|
77 |
-
Program (independent of having been made by running the Program).
|
78 |
-
Whether that is true depends on what the Program does.
|
79 |
-
|
80 |
-
1. You may copy and distribute verbatim copies of the Program's
|
81 |
-
source code as you receive it, in any medium, provided that you
|
82 |
-
conspicuously and appropriately publish on each copy an appropriate
|
83 |
-
copyright notice and disclaimer of warranty; keep intact all the
|
84 |
-
notices that refer to this License and to the absence of any warranty;
|
85 |
-
and give any other recipients of the Program a copy of this License
|
86 |
-
along with the Program.
|
87 |
-
|
88 |
-
You may charge a fee for the physical act of transferring a copy, and
|
89 |
-
you may at your option offer warranty protection in exchange for a fee.
|
90 |
-
|
91 |
-
2. You may modify your copy or copies of the Program or any portion
|
92 |
-
of it, thus forming a work based on the Program, and copy and
|
93 |
-
distribute such modifications or work under the terms of Section 1
|
94 |
-
above, provided that you also meet all of these conditions:
|
95 |
-
|
96 |
-
a) You must cause the modified files to carry prominent notices
|
97 |
-
stating that you changed the files and the date of any change.
|
98 |
-
|
99 |
-
b) You must cause any work that you distribute or publish, that in
|
100 |
-
whole or in part contains or is derived from the Program or any
|
101 |
-
part thereof, to be licensed as a whole at no charge to all third
|
102 |
-
parties under the terms of this License.
|
103 |
-
|
104 |
-
c) If the modified program normally reads commands interactively
|
105 |
-
when run, you must cause it, when started running for such
|
106 |
-
interactive use in the most ordinary way, to print or display an
|
107 |
-
announcement including an appropriate copyright notice and a
|
108 |
-
notice that there is no warranty (or else, saying that you provide
|
109 |
-
a warranty) and that users may redistribute the program under
|
110 |
-
these conditions, and telling the user how to view a copy of this
|
111 |
-
License. (Exception: if the Program itself is interactive but
|
112 |
-
does not normally print such an announcement, your work based on
|
113 |
-
the Program is not required to print an announcement.)
|
114 |
-
|
115 |
-
These requirements apply to the modified work as a whole. If
|
116 |
-
identifiable sections of that work are not derived from the Program,
|
117 |
-
and can be reasonably considered independent and separate works in
|
118 |
-
themselves, then this License, and its terms, do not apply to those
|
119 |
-
sections when you distribute them as separate works. But when you
|
120 |
-
distribute the same sections as part of a whole which is a work based
|
121 |
-
on the Program, the distribution of the whole must be on the terms of
|
122 |
-
this License, whose permissions for other licensees extend to the
|
123 |
-
entire whole, and thus to each and every part regardless of who wrote it.
|
124 |
-
Thus, it is not the intent of this section to claim rights or contest
|
125 |
-
your rights to work written entirely by you; rather, the intent is to
|
126 |
-
exercise the right to control the distribution of derivative or
|
127 |
-
collective works based on the Program.
|
128 |
-
|
129 |
-
In addition, mere aggregation of another work not based on the Program
|
130 |
-
with the Program (or with a work based on the Program) on a volume of
|
131 |
-
a storage or distribution medium does not bring the other work under
|
132 |
-
the scope of this License.
|
133 |
-
|
134 |
-
3. You may copy and distribute the Program (or a work based on it,
|
135 |
-
under Section 2) in object code or executable form under the terms of
|
136 |
-
Sections 1 and 2 above provided that you also do one of the following:
|
137 |
-
|
138 |
-
a) Accompany it with the complete corresponding machine-readable
|
139 |
-
source code, which must be distributed under the terms of Sections
|
140 |
-
1 and 2 above on a medium customarily used for software interchange; or,
|
141 |
-
|
142 |
-
b) Accompany it with a written offer, valid for at least three
|
143 |
-
years, to give any third party, for a charge no more than your
|
144 |
-
cost of physically performing source distribution, a complete
|
145 |
-
machine-readable copy of the corresponding source code, to be
|
146 |
-
distributed under the terms of Sections 1 and 2 above on a medium
|
147 |
-
customarily used for software interchange; or,
|
148 |
-
|
149 |
-
c) Accompany it with the information you received as to the offer
|
150 |
-
to distribute corresponding source code. (This alternative is
|
151 |
-
allowed only for noncommercial distribution and only if you
|
152 |
-
received the program in object code or executable form with such
|
153 |
-
an offer, in accord with Subsection b above.)
|
154 |
-
|
155 |
-
The source code for a work means the preferred form of the work for
|
156 |
-
making modifications to it. For an executable work, complete source
|
157 |
-
code means all the source code for all modules it contains, plus any
|
158 |
-
associated interface definition files, plus the scripts used to
|
159 |
-
control compilation and installation of the executable. However, as a
|
160 |
-
special exception, the source code distributed need not include
|
161 |
-
anything that is normally distributed (in either source or binary
|
162 |
-
form) with the major components (compiler, kernel, and so on) of the
|
163 |
-
operating system on which the executable runs, unless that component
|
164 |
-
itself accompanies the executable.
|
165 |
-
|
166 |
-
If distribution of executable or object code is made by offering
|
167 |
-
access to copy from a designated place, then offering equivalent
|
168 |
-
access to copy the source code from the same place counts as
|
169 |
-
distribution of the source code, even though third parties are not
|
170 |
-
compelled to copy the source along with the object code.
|
171 |
-
|
172 |
-
4. You may not copy, modify, sublicense, or distribute the Program
|
173 |
-
except as expressly provided under this License. Any attempt
|
174 |
-
otherwise to copy, modify, sublicense or distribute the Program is
|
175 |
-
void, and will automatically terminate your rights under this License.
|
176 |
-
However, parties who have received copies, or rights, from you under
|
177 |
-
this License will not have their licenses terminated so long as such
|
178 |
-
parties remain in full compliance.
|
179 |
-
|
180 |
-
5. You are not required to accept this License, since you have not
|
181 |
-
signed it. However, nothing else grants you permission to modify or
|
182 |
-
distribute the Program or its derivative works. These actions are
|
183 |
-
prohibited by law if you do not accept this License. Therefore, by
|
184 |
-
modifying or distributing the Program (or any work based on the
|
185 |
-
Program), you indicate your acceptance of this License to do so, and
|
186 |
-
all its terms and conditions for copying, distributing or modifying
|
187 |
-
the Program or works based on it.
|
188 |
-
|
189 |
-
6. Each time you redistribute the Program (or any work based on the
|
190 |
-
Program), the recipient automatically receives a license from the
|
191 |
-
original licensor to copy, distribute or modify the Program subject to
|
192 |
-
these terms and conditions. You may not impose any further
|
193 |
-
restrictions on the recipients' exercise of the rights granted herein.
|
194 |
-
You are not responsible for enforcing compliance by third parties to
|
195 |
-
this License.
|
196 |
-
|
197 |
-
7. If, as a consequence of a court judgment or allegation of patent
|
198 |
-
infringement or for any other reason (not limited to patent issues),
|
199 |
-
conditions are imposed on you (whether by court order, agreement or
|
200 |
-
otherwise) that contradict the conditions of this License, they do not
|
201 |
-
excuse you from the conditions of this License. If you cannot
|
202 |
-
distribute so as to satisfy simultaneously your obligations under this
|
203 |
-
License and any other pertinent obligations, then as a consequence you
|
204 |
-
may not distribute the Program at all. For example, if a patent
|
205 |
-
license would not permit royalty-free redistribution of the Program by
|
206 |
-
all those who receive copies directly or indirectly through you, then
|
207 |
-
the only way you could satisfy both it and this License would be to
|
208 |
-
refrain entirely from distribution of the Program.
|
209 |
-
|
210 |
-
If any portion of this section is held invalid or unenforceable under
|
211 |
-
any particular circumstance, the balance of the section is intended to
|
212 |
-
apply and the section as a whole is intended to apply in other
|
213 |
-
circumstances.
|
214 |
-
|
215 |
-
It is not the purpose of this section to induce you to infringe any
|
216 |
-
patents or other property right claims or to contest validity of any
|
217 |
-
such claims; this section has the sole purpose of protecting the
|
218 |
-
integrity of the free software distribution system, which is
|
219 |
-
implemented by public license practices. Many people have made
|
220 |
-
generous contributions to the wide range of software distributed
|
221 |
-
through that system in reliance on consistent application of that
|
222 |
-
system; it is up to the author/donor to decide if he or she is willing
|
223 |
-
to distribute software through any other system and a licensee cannot
|
224 |
-
impose that choice.
|
225 |
-
|
226 |
-
This section is intended to make thoroughly clear what is believed to
|
227 |
-
be a consequence of the rest of this License.
|
228 |
-
|
229 |
-
8. If the distribution and/or use of the Program is restricted in
|
230 |
-
certain countries either by patents or by copyrighted interfaces, the
|
231 |
-
original copyright holder who places the Program under this License
|
232 |
-
may add an explicit geographical distribution limitation excluding
|
233 |
-
those countries, so that distribution is permitted only in or among
|
234 |
-
countries not thus excluded. In such case, this License incorporates
|
235 |
-
the limitation as if written in the body of this License.
|
236 |
-
|
237 |
-
9. The Free Software Foundation may publish revised and/or new versions
|
238 |
-
of the General Public License from time to time. Such new versions will
|
239 |
-
be similar in spirit to the present version, but may differ in detail to
|
240 |
-
address new problems or concerns.
|
241 |
-
|
242 |
-
Each version is given a distinguishing version number. If the Program
|
243 |
-
specifies a version number of this License which applies to it and "any
|
244 |
-
later version", you have the option of following the terms and conditions
|
245 |
-
either of that version or of any later version published by the Free
|
246 |
-
Software Foundation. If the Program does not specify a version number of
|
247 |
-
this License, you may choose any version ever published by the Free Software
|
248 |
-
Foundation.
|
249 |
-
|
250 |
-
10. If you wish to incorporate parts of the Program into other free
|
251 |
-
programs whose distribution conditions are different, write to the author
|
252 |
-
to ask for permission. For software which is copyrighted by the Free
|
253 |
-
Software Foundation, write to the Free Software Foundation; we sometimes
|
254 |
-
make exceptions for this. Our decision will be guided by the two goals
|
255 |
-
of preserving the free status of all derivatives of our free software and
|
256 |
-
of promoting the sharing and reuse of software generally.
|
257 |
-
|
258 |
-
NO WARRANTY
|
259 |
-
|
260 |
-
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
261 |
-
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
262 |
-
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
263 |
-
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
264 |
-
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
265 |
-
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
266 |
-
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
267 |
-
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
268 |
-
REPAIR OR CORRECTION.
|
269 |
-
|
270 |
-
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
271 |
-
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
272 |
-
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
273 |
-
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
274 |
-
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
275 |
-
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
276 |
-
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
277 |
-
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
278 |
-
POSSIBILITY OF SUCH DAMAGES.
|
279 |
-
|
280 |
-
END OF TERMS AND CONDITIONS
|
281 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/assets/css/admin-settings.css
DELETED
@@ -1,82 +0,0 @@
|
|
1 |
-
/* Added by WP Desk - Reset some default WP styles
|
2 |
-
-------------------------------------------------------------- */
|
3 |
-
.select2-container li {
|
4 |
-
margin-bottom: 0;
|
5 |
-
}
|
6 |
-
|
7 |
-
/* Added by WP Desk - Select2 Columns Draggable/Sortable
|
8 |
-
-------------------------------------------------------------- */
|
9 |
-
.select-2-columns .available-column,
|
10 |
-
.select-2-columns .selected-column {
|
11 |
-
background-color: #fff;
|
12 |
-
border: 1px solid #e5e5e5;
|
13 |
-
float: left;
|
14 |
-
margin-right: 20px;
|
15 |
-
padding: 12px 14px;
|
16 |
-
max-width: 450px;
|
17 |
-
}
|
18 |
-
|
19 |
-
.select-2-columns > div > strong {
|
20 |
-
display: block;
|
21 |
-
margin-bottom: 10px;
|
22 |
-
}
|
23 |
-
|
24 |
-
.select-2-columns ul {
|
25 |
-
margin: 0;
|
26 |
-
min-height: 50px;
|
27 |
-
min-width: 200px;
|
28 |
-
}
|
29 |
-
|
30 |
-
.select-2-columns li {
|
31 |
-
background-color: #fafafa;
|
32 |
-
border: 1px solid #e5e5e5;
|
33 |
-
cursor: move;
|
34 |
-
padding: 5px 10px;
|
35 |
-
}
|
36 |
-
|
37 |
-
.select-2-columns li:hover {
|
38 |
-
border-color: #999;
|
39 |
-
}
|
40 |
-
|
41 |
-
.select-2-columns .ui-sortable-placeholder {
|
42 |
-
background-color: transparent;
|
43 |
-
border:1px dashed #b4b9be;
|
44 |
-
visibility: visible !important;
|
45 |
-
}
|
46 |
-
|
47 |
-
|
48 |
-
/* Fix color picker label alignment
|
49 |
-
-------------------------------------------------------------- */
|
50 |
-
.s214-color-picker-label {
|
51 |
-
position: absolute;
|
52 |
-
display: inline-block;
|
53 |
-
padding-top: 4px;
|
54 |
-
}
|
55 |
-
|
56 |
-
/* System info styles
|
57 |
-
-------------------------------------------------------------- */
|
58 |
-
#system-info-textarea {
|
59 |
-
width: 800px;
|
60 |
-
height: 400px;
|
61 |
-
font-family: Menlo, Monaco, monospace;
|
62 |
-
background: none;
|
63 |
-
white-space: pre;
|
64 |
-
overflow: auto;
|
65 |
-
display: block;
|
66 |
-
}
|
67 |
-
|
68 |
-
/* Tooltips
|
69 |
-
-------------------------------------------------------------- */
|
70 |
-
.s214-help-tip {
|
71 |
-
cursor: help;
|
72 |
-
}
|
73 |
-
|
74 |
-
.ui-tooltip {
|
75 |
-
background: #333 !important;
|
76 |
-
border-radius: 3px !important;
|
77 |
-
box-shadow: 1px 1px 2px 1px rgba(214,214,214,0.5);
|
78 |
-
color: #dedede !important;
|
79 |
-
max-width: 300px;
|
80 |
-
padding: 7px;
|
81 |
-
text-rendering: optimizeLegibility;
|
82 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/assets/css/admin-settings.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.select2-container li{margin-bottom:0}.select-2-columns .available-column,.select-2-columns .selected-column{background-color:#fff;border:1px solid #e5e5e5;float:left;margin-right:20px;padding:12px 14px;max-width:450px}.select-2-columns > div > strong{display:block;margin-bottom:10px}.select-2-columns ul{margin:0;min-height:50px;min-width:200px}.select-2-columns li{background-color:#fafafa;border:1px solid #e5e5e5;cursor:move;padding:5px 10px}.select-2-columns li:hover{border-color:#999}.select-2-columns .ui-sortable-placeholder{background-color:transparent;border:1px dashed #b4b9be;visibility:visible !important}.s214-color-picker-label{position:absolute;display:inline-block;padding-top:4px}#system-info-textarea{width:800px;height:400px;font-family:Menlo, Monaco, monospace;background:none;white-space:pre;overflow:auto;display:block}.s214-help-tip{cursor:help}.ui-tooltip{background:#333 !important;border-radius:3px !important;box-shadow:1px 1px 2px 1px rgba(214,214,214,0.5);color:#dedede !important;max-width:300px;padding:7px;text-rendering:optimizeLegibility}
|
|
vendor/wpdesk/wp-settings/source/assets/css/admin.css
DELETED
@@ -1,35 +0,0 @@
|
|
1 |
-
/* Fix color picker label alignment
|
2 |
-
-------------------------------------------------------------- */
|
3 |
-
.s214-color-picker-label {
|
4 |
-
position: absolute;
|
5 |
-
display: inline-block;
|
6 |
-
padding-top: 4px;
|
7 |
-
}
|
8 |
-
|
9 |
-
/* System info styles
|
10 |
-
-------------------------------------------------------------- */
|
11 |
-
#system-info-textarea {
|
12 |
-
width: 800px;
|
13 |
-
height: 400px;
|
14 |
-
font-family: Menlo, Monaco, monospace;
|
15 |
-
background: none;
|
16 |
-
white-space: pre;
|
17 |
-
overflow: auto;
|
18 |
-
display: block;
|
19 |
-
}
|
20 |
-
|
21 |
-
/* Tooltips
|
22 |
-
-------------------------------------------------------------- */
|
23 |
-
.s214-help-tip {
|
24 |
-
cursor: help;
|
25 |
-
}
|
26 |
-
|
27 |
-
.ui-tooltip {
|
28 |
-
background: #333 !important;
|
29 |
-
border-radius: 3px !important;
|
30 |
-
box-shadow: 1px 1px 2px 1px rgba(214,214,214,0.5);
|
31 |
-
color: #dedede !important;
|
32 |
-
max-width: 300px;
|
33 |
-
padding: 7px;
|
34 |
-
text-rendering: optimizeLegibility;
|
35 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/assets/css/admin.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.s214-color-picker-label{position:absolute;display:inline-block;padding-top:4px}#system-info-textarea{width:800px;height:400px;font-family:Menlo,Monaco,monospace;background:0 0;white-space:pre;overflow:auto;display:block}.s214-help-tip{cursor:help}.ui-tooltip{background:#333!important;border-radius:3px!important;box-shadow:1px 1px 2px 1px rgba(214,214,214,.5);color:#dedede!important;max-width:300px;padding:7px;text-rendering:optimizeLegibility}
|
|
vendor/wpdesk/wp-settings/source/assets/css/jquery-ui-classic.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}/*\*/* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}/**/.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-widget{font-family:sans-serif;font-size:12px}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:sans-serif;font-size:1em}.ui-widget-content{border:1px solid #d1e5ee;background:#fff;color:#333}.ui-widget-header{border:1px solid #d1e5ee;background-color:#f5fafd;background-image:-ms-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-moz-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-o-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f7fcfe),to(#eff8ff));background-image:-webkit-linear-gradient(top,#f7fcfe,#eff8ff);background-image:linear-gradient(top,#f7fcfe,#eff8ff);color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d1e5ee;background-color:#f5fafd;background-image:-ms-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-moz-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-o-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f7fcfe),to(#eff8ff));background-image:-webkit-linear-gradient(top,#f7fcfe,#eff8ff);background-image:linear-gradient(top,#f7fcfe,#eff8ff);font-weight:normal;color:#333}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #b8d7e5;background-color:#f7fcfe;background-image:-ms-linear-gradient(top,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(top,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(top,#eff8ff,#f7fcfe);background-image:-webkit-gradient(linear,left top,left bottom,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(top,#eff8ff,#f7fcfe);background-image:linear-gradient(top,#eff8ff,#f7fcfe);font-weight:normal;color:#000}.ui-state-hover a,.ui-state-hover a:hover{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #d1e5ee;background:#fff;font-weight:normal;color:#333}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#333;text-decoration:none}.ui-widget :active{outline:0}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #e6db55;background:#ffffe0;color:#333}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#333}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #c00;background:#ffebe8;color:#c00}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#c00}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#c00}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_333333_256x240.png)}.ui-widget-content .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-widget-header .ui-icon{background-image:url(../images/ui-icons_999999_256x240.png)}.ui-state-default .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-state-active .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_21759b_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cc0000_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-off{background-position:-96px -144px}.ui-icon-radio-on{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-right-radius:3px;border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;-khtml-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.ui-widget-overlay{background:#000;opacity:.6;filter:Alpha(Opacity=60)}.ui-widget-shadow{box-shadow:0 0 16px rgba(0,0,0,0.3)}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-accordion{width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;position:relative;margin-top:1px;zoom:1}.ui-accordion .ui-accordion-li-fix{display:inline}.ui-accordion .ui-accordion-header-active{border-bottom:0!important}.ui-accordion .ui-accordion-header a{display:block;font-size:1em;padding:.5em .5em .5em .7em}.ui-accordion-icons .ui-accordion-header a{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;margin-top:-2px;position:relative;top:1px;margin-bottom:2px;overflow:auto;display:none;zoom:1}.ui-accordion .ui-accordion-content-active{display:block}.ui-autocomplete{position:absolute;cursor:default}* html .ui-autocomplete{width:1px}.ui-menu{list-style:none;padding:2px;margin:0;display:block;float:left}.ui-menu .ui-menu{margin-top:-3px}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:left;clear:left;width:100%}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.ui-menu .ui-menu-item a.ui-state-hover,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;text-decoration:none!important;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-dialog{position:absolute;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-dialog-titlebar-close:focus{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:1px;margin:0 .2em 1px 0;border-bottom:0!important;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{margin-bottom:0;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-state-processing a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tabs .ui-tabs-hide{display:none!important}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.ui-progressbar{height:2em;text-align:left}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-widget-header{background-color:#83b4d8;background-image:linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-o-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-moz-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-webkit-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-ms-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%)}
|
|
vendor/wpdesk/wp-settings/source/assets/css/jquery-ui-fresh.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}/*\*/* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}/**/.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-widget{font-family:sans-serif;font-size:12px}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:sans-serif;font-size:1em}.ui-widget-content{border:1px solid #dfdfdf;background:#fff;color:#333}.ui-widget-header{border:1px solid #dfdfdf;color:#333;font-weight:bold;background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec)}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #dfdfdf;background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);font-weight:normal;color:#333}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ccc;background-color:#ececec;background-image:-ms-linear-gradient(top,#ececec,#f9f9f9);background-image:-moz-linear-gradient(top,#ececec,#f9f9f9);background-image:-o-linear-gradient(top,#ececec,#f9f9f9);background-image:-webkit-gradient(linear,left top,left bottom,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#ececec,#f9f9f9);background-image:linear-gradient(top,#ececec,#f9f9f9);font-weight:normal;color:#000}.ui-state-hover a,.ui-state-hover a:hover{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #dfdfdf;background:#fff;font-weight:normal;color:#333}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#333;text-decoration:none}.ui-widget :active{outline:0}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #e6db55;background:#ffffe0;color:#333}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#333}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #c00;background:#ffebe8;color:#c00}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#c00}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#c00}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_333333_256x240.png)}.ui-widget-content .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-widget-header .ui-icon{background-image:url(../images/ui-icons_999999_256x240.png)}.ui-state-default .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-state-active .ui-icon{background-image:url(../images/ui-icons_333333_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_21759b_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cc0000_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-off{background-position:-96px -144px}.ui-icon-radio-on{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.ui-widget-overlay{background:#000;opacity:.6;filter:Alpha(Opacity=60)}.ui-widget-shadow{box-shadow:0 0 16px rgba(0,0,0,0.3)}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-accordion{width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;position:relative;margin-top:1px;zoom:1}.ui-accordion .ui-accordion-li-fix{display:inline}.ui-accordion .ui-accordion-header-active{border-bottom:0!important}.ui-accordion .ui-accordion-header a{display:block;font-size:1em;padding:.5em .5em .5em .7em}.ui-accordion-icons .ui-accordion-header a{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;margin-top:-2px;position:relative;top:1px;margin-bottom:2px;overflow:auto;display:none;zoom:1}.ui-accordion .ui-accordion-content-active{display:block}.ui-autocomplete{position:absolute;cursor:default}* html .ui-autocomplete{width:1px}.ui-menu{list-style:none;padding:2px;margin:0;display:block;float:left}.ui-menu .ui-menu{margin-top:-3px}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:left;clear:left;width:100%}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.ui-menu .ui-menu-item a.ui-state-hover,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;text-decoration:none!important;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-dialog{position:fixed;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-dialog-titlebar-close:focus{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:1px;margin:0 .2em 1px 0;border-bottom:0!important;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{margin-bottom:0;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-state-processing a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tabs .ui-tabs-hide{display:none!important}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.ui-progressbar{height:2em;text-align:left}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-widget-header{background-color:#83b4d8;background-image:linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-o-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-moz-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-webkit-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-ms-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%)}
|
|
vendor/wpdesk/wp-settings/source/assets/js/admin-settings.js
DELETED
@@ -1,104 +0,0 @@
|
|
1 |
-
/*global jQuery, document, window, wp, CodeMirror, s214_settings_vars*/
|
2 |
-
jQuery(document).ready(function ($) {
|
3 |
-
'use strict';
|
4 |
-
|
5 |
-
// Setup color picker
|
6 |
-
if ($('.s214-color-picker').length) {
|
7 |
-
$('.s214-color-picker').wpColorPicker();
|
8 |
-
}
|
9 |
-
|
10 |
-
// Setup select2
|
11 |
-
if ($('.s214-select2').length) {
|
12 |
-
$('.s214-select2').select2();
|
13 |
-
}
|
14 |
-
|
15 |
-
// Setup CodeMirror
|
16 |
-
if ($('.s214-html').length) {
|
17 |
-
$('.s214-html').each(function (index, elem) {
|
18 |
-
CodeMirror.fromTextArea(elem, {
|
19 |
-
lineNumbers: true,
|
20 |
-
mode: 'text/html',
|
21 |
-
showCursorWhenSelecting: true
|
22 |
-
});
|
23 |
-
});
|
24 |
-
}
|
25 |
-
|
26 |
-
// Setup tooltips
|
27 |
-
$('.s214-help-tip').tooltip({
|
28 |
-
content: function () {
|
29 |
-
return $(this).prop('title');
|
30 |
-
},
|
31 |
-
position: {
|
32 |
-
my: 'center top',
|
33 |
-
at: 'center bottom+10',
|
34 |
-
collision: 'flipfit'
|
35 |
-
},
|
36 |
-
hide: {
|
37 |
-
duration: 200
|
38 |
-
},
|
39 |
-
show: {
|
40 |
-
duration: 200
|
41 |
-
}
|
42 |
-
});
|
43 |
-
|
44 |
-
// Setup uploaders
|
45 |
-
if ($('.' + s214_settings_vars.func + '_settings_upload_button').length) {
|
46 |
-
var file_frame;
|
47 |
-
|
48 |
-
$('body').on('click', '.' + s214_settings_vars.func + '_settings_upload_button', function (e) {
|
49 |
-
e.preventDefault();
|
50 |
-
|
51 |
-
var button = $(this);
|
52 |
-
|
53 |
-
window.formfield = $(this).parent().prev();
|
54 |
-
|
55 |
-
// If the media frame already exists, reopen it
|
56 |
-
if (file_frame) {
|
57 |
-
file_frame.open();
|
58 |
-
return;
|
59 |
-
}
|
60 |
-
|
61 |
-
// Create the media frame
|
62 |
-
wp.media.frames.file_frame = wp.media({
|
63 |
-
frame: 'post',
|
64 |
-
state: 'insert',
|
65 |
-
title: button.data('uploader_title'),
|
66 |
-
button: {
|
67 |
-
text: button.data('uploader_button_text')
|
68 |
-
},
|
69 |
-
multiple: false
|
70 |
-
});
|
71 |
-
|
72 |
-
file_frame = wp.media.frames.file_frame;
|
73 |
-
|
74 |
-
file_frame.on('menu:render:default', function (view) {
|
75 |
-
// Store our views in an object
|
76 |
-
var views = {};
|
77 |
-
|
78 |
-
// Unset default menu items
|
79 |
-
view.unset('library-separator');
|
80 |
-
view.unset('gallery');
|
81 |
-
view.unset('featured-image');
|
82 |
-
view.unset('embed');
|
83 |
-
|
84 |
-
// Initialize the views in our object
|
85 |
-
view.set(views);
|
86 |
-
});
|
87 |
-
|
88 |
-
// Run a callback on select
|
89 |
-
file_frame.on('insert', function () {
|
90 |
-
var selection = file_frame.state().get('selection');
|
91 |
-
|
92 |
-
selection.each(function (attachment) {
|
93 |
-
attachment = attachment.toJSON();
|
94 |
-
window.formfield.val(attachment.url);
|
95 |
-
});
|
96 |
-
});
|
97 |
-
|
98 |
-
// Open the modal
|
99 |
-
file_frame.open();
|
100 |
-
});
|
101 |
-
|
102 |
-
window.formfield = '';
|
103 |
-
}
|
104 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/assets/js/admin-settings.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function(t){"use strict";if(t(".s214-color-picker").length&&t(".s214-color-picker").wpColorPicker(),t(".s214-select2").length&&t(".s214-select2").select2(),t(".s214-html").length&&t(".s214-html").each(function(t,e){CodeMirror.fromTextArea(e,{lineNumbers:!0,mode:"text/html",showCursorWhenSelecting:!0})}),t(".s214-help-tip").tooltip({content:function(){return t(this).prop("title")},position:{my:"center top",at:"center bottom+10",collision:"flipfit"},hide:{duration:200},show:{duration:200}}),t("."+s214_settings_vars.func+"_settings_upload_button").length){var e;t("body").on("click","."+s214_settings_vars.func+"_settings_upload_button",function(n){n.preventDefault();var o=t(this);return window.formfield=t(this).parent().prev(),e?void e.open():(wp.media.frames.file_frame=wp.media({frame:"post",state:"insert",title:o.data("uploader_title"),button:{text:o.data("uploader_button_text")},multiple:!1}),e=wp.media.frames.file_frame,e.on("menu:render:default",function(t){var e={};t.unset("library-separator"),t.unset("gallery"),t.unset("featured-image"),t.unset("embed"),t.set(e)}),e.on("insert",function(){var t=e.state().get("selection");t.each(function(t){t=t.toJSON(),window.formfield.val(t.url)})}),void e.open())}),window.formfield=""}});
|
|
vendor/wpdesk/wp-settings/source/assets/js/admin.js
DELETED
@@ -1,104 +0,0 @@
|
|
1 |
-
/*global jQuery, document, window, wp, CodeMirror, s214_settings_vars*/
|
2 |
-
jQuery(document).ready(function ($) {
|
3 |
-
'use strict';
|
4 |
-
|
5 |
-
// Setup color picker
|
6 |
-
if ($('.s214-color-picker').length) {
|
7 |
-
$('.s214-color-picker').wpColorPicker();
|
8 |
-
}
|
9 |
-
|
10 |
-
// Setup select2
|
11 |
-
if ($('.s214-select2').length) {
|
12 |
-
$('.s214-select2').select2();
|
13 |
-
}
|
14 |
-
|
15 |
-
// Setup CodeMirror
|
16 |
-
if ($('.s214-html').length) {
|
17 |
-
$('.s214-html').each(function (index, elem) {
|
18 |
-
CodeMirror.fromTextArea(elem, {
|
19 |
-
lineNumbers: true,
|
20 |
-
mode: 'text/html',
|
21 |
-
showCursorWhenSelecting: true
|
22 |
-
});
|
23 |
-
});
|
24 |
-
}
|
25 |
-
|
26 |
-
// Setup tooltips
|
27 |
-
$('.s214-help-tip').tooltip({
|
28 |
-
content: function () {
|
29 |
-
return $(this).prop('title');
|
30 |
-
},
|
31 |
-
position: {
|
32 |
-
my: 'center top',
|
33 |
-
at: 'center bottom+10',
|
34 |
-
collision: 'flipfit'
|
35 |
-
},
|
36 |
-
hide: {
|
37 |
-
duration: 200
|
38 |
-
},
|
39 |
-
show: {
|
40 |
-
duration: 200
|
41 |
-
}
|
42 |
-
});
|
43 |
-
|
44 |
-
// Setup uploaders
|
45 |
-
if ($('.' + s214_settings_vars.func + '_settings_upload_button').length) {
|
46 |
-
var file_frame;
|
47 |
-
|
48 |
-
$('body').on('click', '.' + s214_settings_vars.func + '_settings_upload_button', function (e) {
|
49 |
-
e.preventDefault();
|
50 |
-
|
51 |
-
var button = $(this);
|
52 |
-
|
53 |
-
window.formfield = $(this).parent().prev();
|
54 |
-
|
55 |
-
// If the media frame already exists, reopen it
|
56 |
-
if (file_frame) {
|
57 |
-
file_frame.open();
|
58 |
-
return;
|
59 |
-
}
|
60 |
-
|
61 |
-
// Create the media frame
|
62 |
-
wp.media.frames.file_frame = wp.media({
|
63 |
-
frame: 'post',
|
64 |
-
state: 'insert',
|
65 |
-
title: button.data('uploader_title'),
|
66 |
-
button: {
|
67 |
-
text: button.data('uploader_button_text')
|
68 |
-
},
|
69 |
-
multiple: false
|
70 |
-
});
|
71 |
-
|
72 |
-
file_frame = wp.media.frames.file_frame;
|
73 |
-
|
74 |
-
file_frame.on('menu:render:default', function (view) {
|
75 |
-
// Store our views in an object
|
76 |
-
var views = {};
|
77 |
-
|
78 |
-
// Unset default menu items
|
79 |
-
view.unset('library-separator');
|
80 |
-
view.unset('gallery');
|
81 |
-
view.unset('featured-image');
|
82 |
-
view.unset('embed');
|
83 |
-
|
84 |
-
// Initialize the views in our object
|
85 |
-
view.set(views);
|
86 |
-
});
|
87 |
-
|
88 |
-
// Run a callback on select
|
89 |
-
file_frame.on('insert', function () {
|
90 |
-
var selection = file_frame.state().get('selection');
|
91 |
-
|
92 |
-
selection.each(function (attachment) {
|
93 |
-
attachment = attachment.toJSON();
|
94 |
-
window.formfield.val(attachment.url);
|
95 |
-
});
|
96 |
-
});
|
97 |
-
|
98 |
-
// Open the modal
|
99 |
-
file_frame.open();
|
100 |
-
});
|
101 |
-
|
102 |
-
window.formfield = '';
|
103 |
-
}
|
104 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/assets/js/admin.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function(t){"use strict";if(t(".s214-color-picker").length&&t(".s214-color-picker").wpColorPicker(),t(".s214-select2").length&&t(".s214-select2").select2(),t(".s214-html").length&&t(".s214-html").each(function(t,e){CodeMirror.fromTextArea(e,{lineNumbers:!0,mode:"text/html",showCursorWhenSelecting:!0})}),t(".s214-help-tip").tooltip({content:function(){return t(this).prop("title")},position:{my:"center top",at:"center bottom+10",collision:"flipfit"},hide:{duration:200},show:{duration:200}}),t("."+s214_settings_vars.func+"_settings_upload_button").length){var e;t("body").on("click","."+s214_settings_vars.func+"_settings_upload_button",function(n){n.preventDefault();var o=t(this);return window.formfield=t(this).parent().prev(),e?void e.open():(wp.media.frames.file_frame=wp.media({frame:"post",state:"insert",title:o.data("uploader_title"),button:{text:o.data("uploader_button_text")},multiple:!1}),e=wp.media.frames.file_frame,e.on("menu:render:default",function(t){var e={};t.unset("library-separator"),t.unset("gallery"),t.unset("featured-image"),t.unset("embed"),t.set(e)}),e.on("insert",function(){var t=e.state().get("selection");t.each(function(t){t=t.toJSON(),window.formfield.val(t.url)})}),void e.open())}),window.formfield=""}});
|
|
vendor/wpdesk/wp-settings/source/class.s214-settings.php
DELETED
@@ -1,1233 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Section214 Settings Class
|
4 |
-
*
|
5 |
-
* @package S214\Settings
|
6 |
-
* @since 1.0.0
|
7 |
-
*/
|
8 |
-
|
9 |
-
|
10 |
-
// Exit if accessed directly
|
11 |
-
if( ! defined( 'ABSPATH' ) ) {
|
12 |
-
exit;
|
13 |
-
}
|
14 |
-
|
15 |
-
|
16 |
-
/**
|
17 |
-
* Section214 settings handler class
|
18 |
-
*
|
19 |
-
* @since 1.0.0
|
20 |
-
*/
|
21 |
-
class S214_Settings {
|
22 |
-
|
23 |
-
|
24 |
-
/**
|
25 |
-
* @var string $version The settings class version
|
26 |
-
* @since 1.0.0
|
27 |
-
*/
|
28 |
-
protected $version = '1.2.2';
|
29 |
-
|
30 |
-
|
31 |
-
/**
|
32 |
-
* @var string $slug The plugin slug
|
33 |
-
* @since 1.0.0
|
34 |
-
*/
|
35 |
-
protected $slug;
|
36 |
-
|
37 |
-
|
38 |
-
/**
|
39 |
-
* @var string $func The plugin slug for names
|
40 |
-
* @since 1.0.0
|
41 |
-
*/
|
42 |
-
protected $func;
|
43 |
-
|
44 |
-
|
45 |
-
/**
|
46 |
-
* @var string $default_tab The default tab to display
|
47 |
-
* @since 1.0.0
|
48 |
-
*/
|
49 |
-
protected $default_tab;
|
50 |
-
|
51 |
-
|
52 |
-
/**
|
53 |
-
* @var bool $show_title Whether or not to display the page title
|
54 |
-
* @since 1.0.3
|
55 |
-
*/
|
56 |
-
protected $show_title;
|
57 |
-
|
58 |
-
|
59 |
-
/**
|
60 |
-
* @var bool page_title The page title
|
61 |
-
* @since 1.2.1
|
62 |
-
*/
|
63 |
-
protected $page_title;
|
64 |
-
|
65 |
-
|
66 |
-
/**
|
67 |
-
* @var object $sysinfo The sysinfo object
|
68 |
-
* @since 1.1.0
|
69 |
-
*/
|
70 |
-
protected $sysinfo;
|
71 |
-
|
72 |
-
|
73 |
-
/**
|
74 |
-
* Get things started
|
75 |
-
*
|
76 |
-
* @access public
|
77 |
-
* @since 1.0.1
|
78 |
-
* @param string $slug The plugin slug
|
79 |
-
* @param string $default_tab The default settings tab to display
|
80 |
-
* @return void
|
81 |
-
*/
|
82 |
-
public function __construct( $slug = false, $default_tab = 'general' ) {
|
83 |
-
// Bail if no slug is specified
|
84 |
-
if( ! $slug ) {
|
85 |
-
return;
|
86 |
-
}
|
87 |
-
|
88 |
-
// Setup plugin variables
|
89 |
-
$this->slug = $slug;
|
90 |
-
$this->func = str_replace( '-', '_', $slug );
|
91 |
-
$this->default_tab = $default_tab;
|
92 |
-
|
93 |
-
// Run action and filter hooks
|
94 |
-
$this->hooks();
|
95 |
-
|
96 |
-
// Setup the Sysinfo class
|
97 |
-
if( ! class_exists( 'S214_Sysinfo' ) ) {
|
98 |
-
require_once 'modules/sysinfo/class.s214-sysinfo.php';
|
99 |
-
}
|
100 |
-
$this->sysinfo = new S214_Sysinfo( $this->slug, $this->func, $this->version );
|
101 |
-
}
|
102 |
-
|
103 |
-
|
104 |
-
/**
|
105 |
-
* Run action and filter hooks
|
106 |
-
*
|
107 |
-
* @access private
|
108 |
-
* @since 1.0.0
|
109 |
-
* @return void
|
110 |
-
*/
|
111 |
-
private function hooks() {
|
112 |
-
// Add the plugin setting page
|
113 |
-
add_action( 'admin_menu', array( $this, 'add_settings_page' ), 10 );
|
114 |
-
|
115 |
-
// Register the plugin settings
|
116 |
-
add_action( 'admin_init', array( $this, 'register_settings' ) );
|
117 |
-
add_filter( $this->func . '_settings_sanitize_text', array( $this, 'sanitize_text_field' ) );
|
118 |
-
|
119 |
-
// Add styles and scripts
|
120 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 100 );
|
121 |
-
|
122 |
-
// Process actions
|
123 |
-
add_action( 'admin_init', array( $this, 'process_actions' ) );
|
124 |
-
|
125 |
-
// Handle tooltips
|
126 |
-
add_filter( $this->func . '_after_setting_output', array( $this, 'add_setting_tooltip' ), 10, 2 );
|
127 |
-
}
|
128 |
-
|
129 |
-
|
130 |
-
/**
|
131 |
-
* Add settings pages
|
132 |
-
*
|
133 |
-
* @access public
|
134 |
-
* @since 1.0.0
|
135 |
-
* @global string ${this->func . '_settings_page'} The settings page slug
|
136 |
-
* @return void
|
137 |
-
*/
|
138 |
-
public function add_settings_page() {
|
139 |
-
global ${$this->func . '_settings_page'};
|
140 |
-
|
141 |
-
$menu = apply_filters( $this->func . '_menu', array(
|
142 |
-
'type' => 'menu',
|
143 |
-
'parent' => 'options-general.php',
|
144 |
-
'page_title' => __( 'Section214 Settings', 's214' ),
|
145 |
-
'show_title' => false,
|
146 |
-
'menu_title' => __( 'Section214 Settings', 's214' ),
|
147 |
-
'capability' => 'manage_options',
|
148 |
-
'icon' => '',
|
149 |
-
'position' => null
|
150 |
-
) );
|
151 |
-
|
152 |
-
$this->show_title = $menu['show_title'];
|
153 |
-
$this->page_title = $menu['page_title'];
|
154 |
-
|
155 |
-
if( $menu['type'] == 'submenu' ) {
|
156 |
-
${$this->func . '_settings_page'} = add_submenu_page( $menu['parent'], $menu['page_title'], $menu['menu_title'], $menu['capability'], $this->slug . '-settings', array( $this, 'render_settings_page' ) );
|
157 |
-
} else {
|
158 |
-
${$this->func . '_settings_page'} = add_menu_page( $menu['page_title'], $menu['menu_title'], $menu['capability'], $this->slug . '-settings', array( $this, 'render_settings_page' ), $menu['icon'], $menu['position'] );
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
-
|
163 |
-
/**
|
164 |
-
* Render settings page
|
165 |
-
*
|
166 |
-
* @access public
|
167 |
-
* @since 1.0.0
|
168 |
-
* @return void
|
169 |
-
*/
|
170 |
-
public function render_settings_page() {
|
171 |
-
$active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $this->get_settings_tabs() ) ? $_GET['tab'] : $this->default_tab;
|
172 |
-
$sections = $registered_sections = $this->get_settings_tab_sections( $active_tab );
|
173 |
-
$key = 'main';
|
174 |
-
|
175 |
-
if( is_array( $sections ) ) {
|
176 |
-
$key = key( $sections );
|
177 |
-
}
|
178 |
-
|
179 |
-
$section = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? $_GET['section'] : $key;
|
180 |
-
|
181 |
-
ob_start();
|
182 |
-
?>
|
183 |
-
<div class="wrap">
|
184 |
-
<?php if( $this->show_title ) { ?>
|
185 |
-
<h2><?php echo $this->page_title; ?></h2>
|
186 |
-
<?php } ?>
|
187 |
-
<h2 class="nav-tab-wrapper">
|
188 |
-
<?php
|
189 |
-
foreach( $this->get_settings_tabs() as $tab_id => $tab_name ) {
|
190 |
-
$tab_url = add_query_arg( array(
|
191 |
-
'settings-updated' => false,
|
192 |
-
'tab' => $tab_id
|
193 |
-
) );
|
194 |
-
|
195 |
-
// Remove the section from the tabs so we always end up at the main section
|
196 |
-
$tab_url = remove_query_arg( 'section', $tab_url );
|
197 |
-
|
198 |
-
$active = $active_tab == $tab_id ? ' nav-tab-active' : '';
|
199 |
-
|
200 |
-
echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">' . esc_html( $tab_name ) . '</a>';
|
201 |
-
}
|
202 |
-
?>
|
203 |
-
</h2>
|
204 |
-
<?php
|
205 |
-
$number_of_sections = count( $sections );
|
206 |
-
$number = 0;
|
207 |
-
|
208 |
-
if( $number_of_sections > 1 ) {
|
209 |
-
echo '<div><ul class="subsubsub">';
|
210 |
-
|
211 |
-
foreach( $sections as $section_id => $section_name ) {
|
212 |
-
echo '<li>';
|
213 |
-
|
214 |
-
$number++;
|
215 |
-
$tab_url = add_query_arg( array(
|
216 |
-
'settings-updated' => false,
|
217 |
-
'tab' => $active_tab,
|
218 |
-
'section' => $section_id
|
219 |
-
) );
|
220 |
-
$class = '';
|
221 |
-
|
222 |
-
if( $section == $section_id ) {
|
223 |
-
$class = 'current';
|
224 |
-
}
|
225 |
-
|
226 |
-
echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>';
|
227 |
-
|
228 |
-
if( $number != $number_of_sections ) {
|
229 |
-
echo ' | ';
|
230 |
-
}
|
231 |
-
|
232 |
-
echo '</li>';
|
233 |
-
}
|
234 |
-
|
235 |
-
echo '</ul></div>';
|
236 |
-
}
|
237 |
-
?>
|
238 |
-
<div id="tab_container">
|
239 |
-
<form method="post" action="options.php">
|
240 |
-
<table class="form-table">
|
241 |
-
<?php
|
242 |
-
settings_fields( $this->func . '_settings' );
|
243 |
-
|
244 |
-
do_action( $this->func . '_settings_tab_top_' . $active_tab . '_' . $section );
|
245 |
-
|
246 |
-
do_settings_sections( $this->func . '_settings_' . $active_tab . '_' . $section );
|
247 |
-
|
248 |
-
do_action( $this->func . '_settings_tab_bottom_' . $active_tab . '_' . $section );
|
249 |
-
?>
|
250 |
-
</table>
|
251 |
-
<?php
|
252 |
-
if( ! in_array( $active_tab, apply_filters( $this->func . '_unsavable_tabs', array() ) ) ) {
|
253 |
-
submit_button();
|
254 |
-
}
|
255 |
-
?>
|
256 |
-
</form>
|
257 |
-
</div>
|
258 |
-
</div>
|
259 |
-
<?php
|
260 |
-
echo ob_get_clean();
|
261 |
-
}
|
262 |
-
|
263 |
-
|
264 |
-
/**
|
265 |
-
* Retrieve the settings tabs
|
266 |
-
*
|
267 |
-
* @access private
|
268 |
-
* @since 1.0.0
|
269 |
-
* @return array $tabs The registered tabs for this plugin
|
270 |
-
*/
|
271 |
-
private function get_settings_tabs() {
|
272 |
-
return apply_filters( $this->func . '_settings_tabs', array() );
|
273 |
-
}
|
274 |
-
|
275 |
-
|
276 |
-
/**
|
277 |
-
* Retrieve settings tab sections
|
278 |
-
*
|
279 |
-
* @access public
|
280 |
-
* @since 1.0.1
|
281 |
-
* @param string $tab The current tab
|
282 |
-
* @return array $section The section items
|
283 |
-
*/
|
284 |
-
public function get_settings_tab_sections( $tab = false ) {
|
285 |
-
$tabs = false;
|
286 |
-
$sections = $this->get_registered_settings_sections();
|
287 |
-
|
288 |
-
if( $tab && ! empty( $sections[$tab] ) ) {
|
289 |
-
$tabs = $sections[$tab];
|
290 |
-
} elseif( $tab ) {
|
291 |
-
$tabs = false;
|
292 |
-
}
|
293 |
-
|
294 |
-
return $tabs;
|
295 |
-
}
|
296 |
-
|
297 |
-
|
298 |
-
/**
|
299 |
-
* Retrieve the plugin settings
|
300 |
-
*
|
301 |
-
* @access public
|
302 |
-
* @since 1.0.0
|
303 |
-
* @return array $settings The plugin settings
|
304 |
-
*/
|
305 |
-
public function get_registered_settings() {
|
306 |
-
return apply_filters( $this->func . '_registered_settings', array() );
|
307 |
-
}
|
308 |
-
|
309 |
-
|
310 |
-
/**
|
311 |
-
* Retrieve the plugin settings sections
|
312 |
-
*
|
313 |
-
* @access private
|
314 |
-
* @since 1.0.1
|
315 |
-
* @return array $sections The registered sections
|
316 |
-
*/
|
317 |
-
private function get_registered_settings_sections() {
|
318 |
-
global ${$this->func . '_sections'};
|
319 |
-
|
320 |
-
if ( !empty( ${$this->func . '_sections'} ) ) {
|
321 |
-
return ${$this->func . '_sections'};
|
322 |
-
}
|
323 |
-
|
324 |
-
${$this->func . '_sections'} = apply_filters( $this->func . '_registered_settings_sections', array() );
|
325 |
-
|
326 |
-
return ${$this->func . '_sections'};
|
327 |
-
}
|
328 |
-
|
329 |
-
|
330 |
-
/**
|
331 |
-
* Retrieve an option
|
332 |
-
*
|
333 |
-
* @access public
|
334 |
-
* @since 1.0.0
|
335 |
-
* @param string $key The key to retrieve
|
336 |
-
* @param mixed $default The default value if key doesn't exist
|
337 |
-
* @global array ${$this->func . '_options'} The options array
|
338 |
-
* @return mixed $value The value to return
|
339 |
-
*/
|
340 |
-
public function get_option( $key = '', $default = false ) {
|
341 |
-
global ${$this->func . '_options'};
|
342 |
-
|
343 |
-
$value = ! empty( ${$this->func . '_options'}[$key] ) ? ${$this->func . '_options'}[$key] : $default;
|
344 |
-
$value = apply_filters( $this->func . '_get_option', $value, $key, $default );
|
345 |
-
|
346 |
-
return apply_filters( $this->func . '_get_option_' . $key, $value, $key, $default );
|
347 |
-
}
|
348 |
-
|
349 |
-
|
350 |
-
/**
|
351 |
-
* Update an option
|
352 |
-
*
|
353 |
-
* @access public
|
354 |
-
* @since 1.0.0
|
355 |
-
* @param string $key The key to update
|
356 |
-
* @param mixed $value The value to set key to
|
357 |
-
* @return bool true if updated, false otherwise
|
358 |
-
*/
|
359 |
-
public function update_option( $key = '', $value = false ) {
|
360 |
-
// Bail if no key is set
|
361 |
-
if( empty( $key ) ) {
|
362 |
-
return false;
|
363 |
-
}
|
364 |
-
|
365 |
-
if( empty( $value ) ) {
|
366 |
-
$remove_option = $this->delete_option( $key );
|
367 |
-
return $remove_option;
|
368 |
-
}
|
369 |
-
|
370 |
-
// Fetch a clean copy of the options array
|
371 |
-
$options = get_option( $this->func . '_settings' );
|
372 |
-
|
373 |
-
// Allow devs to modify the value
|
374 |
-
$value = apply_filters( $this->func . '_update_option', $value, $key );
|
375 |
-
|
376 |
-
// Try to update the option
|
377 |
-
$options[$key] = $value;
|
378 |
-
$did_update = update_option( $this->func . '_settings', $options );
|
379 |
-
|
380 |
-
// Update the global
|
381 |
-
if( $did_update ) {
|
382 |
-
global ${$this->func . '_options'};
|
383 |
-
${$this->func . '_options'}[$key] = $value;
|
384 |
-
}
|
385 |
-
|
386 |
-
return $did_update;
|
387 |
-
}
|
388 |
-
|
389 |
-
|
390 |
-
/**
|
391 |
-
* Delete an option
|
392 |
-
*
|
393 |
-
* @access public
|
394 |
-
* @since 1.0.0
|
395 |
-
* @param string $key The key to delete
|
396 |
-
* @return bool true if deleted, false otherwise
|
397 |
-
*/
|
398 |
-
public function delete_option( $key = '' ) {
|
399 |
-
// Bail if no key is set
|
400 |
-
if( empty( $key ) ) {
|
401 |
-
return false;
|
402 |
-
}
|
403 |
-
|
404 |
-
// Fetch a clean copy of the options array
|
405 |
-
$options = get_option( $this->func . '_settings' );
|
406 |
-
|
407 |
-
// Try to unset the option
|
408 |
-
if( isset( $options[$key] ) ) {
|
409 |
-
unset( $options[$key] );
|
410 |
-
}
|
411 |
-
|
412 |
-
$did_update = update_option( $this->func . '_settings', $options );
|
413 |
-
|
414 |
-
// Update the global
|
415 |
-
if( $did_update ) {
|
416 |
-
global ${$this->func . '_options'};
|
417 |
-
${$this->func . '_options'} = $options;
|
418 |
-
}
|
419 |
-
|
420 |
-
return $did_update;
|
421 |
-
}
|
422 |
-
|
423 |
-
|
424 |
-
/**
|
425 |
-
* Retrieve all options
|
426 |
-
*
|
427 |
-
* @access public
|
428 |
-
* @since 1.0.0
|
429 |
-
* @return array $settings The options array
|
430 |
-
*/
|
431 |
-
public function get_settings() {
|
432 |
-
$settings = get_option( $this->func . '_settings' );
|
433 |
-
|
434 |
-
if( empty( $settings ) ) {
|
435 |
-
$settings = array();
|
436 |
-
|
437 |
-
update_option( $this->func . '_settings', $settings );
|
438 |
-
}
|
439 |
-
|
440 |
-
return apply_filters( $this->func . '_get_settings', $settings );
|
441 |
-
}
|
442 |
-
|
443 |
-
|
444 |
-
/**
|
445 |
-
* Add settings sections and fields
|
446 |
-
*
|
447 |
-
* @access public
|
448 |
-
* @since 1.0.0
|
449 |
-
* @return void
|
450 |
-
*/
|
451 |
-
function register_settings() {
|
452 |
-
if( get_option( $this->func . '_settings' ) == false ) {
|
453 |
-
add_option( $this->func . '_settings' );
|
454 |
-
}
|
455 |
-
|
456 |
-
foreach( $this->get_registered_settings() as $tab => $sections ) {
|
457 |
-
foreach( $sections as $section => $settings ) {
|
458 |
-
// Check for backwards compatibility
|
459 |
-
$section_tabs = $this->get_settings_tab_sections( $tab );
|
460 |
-
|
461 |
-
if( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
|
462 |
-
$section = 'main';
|
463 |
-
$settings = $sections;
|
464 |
-
}
|
465 |
-
|
466 |
-
add_settings_section(
|
467 |
-
$this->func . '_settings_' . $tab . '_' . $section,
|
468 |
-
__return_null(),
|
469 |
-
'__return_false',
|
470 |
-
$this->func . '_settings_' . $tab . '_' . $section
|
471 |
-
);
|
472 |
-
|
473 |
-
foreach( $settings as $option ) {
|
474 |
-
// For backwards compatibility
|
475 |
-
if( empty( $option['id'] ) ) {
|
476 |
-
continue;
|
477 |
-
}
|
478 |
-
|
479 |
-
$name = isset( $option['name'] ) ? $option['name'] : '';
|
480 |
-
|
481 |
-
add_settings_field(
|
482 |
-
$this->func . '_settings[' . $option['id'] . ']',
|
483 |
-
$name,
|
484 |
-
function_exists( $this->func . '_' . $option['type'] . '_callback' ) ? $this->func . '_' . $option['type'] . '_callback' : ( method_exists( $this, $option['type'] . '_callback' ) ? array( $this, $option['type'] . '_callback' ) : array( $this, 'missing_callback' ) ),
|
485 |
-
$this->func . '_settings_' . $tab . '_' . $section,
|
486 |
-
$this->func . '_settings_' . $tab . '_' . $section,
|
487 |
-
array(
|
488 |
-
'section' => $section,
|
489 |
-
'id' => isset( $option['id'] ) ? $option['id'] : null,
|
490 |
-
'desc' => ! empty( $option['desc'] ) ? $option['desc'] : '',
|
491 |
-
'name' => isset( $option['name'] ) ? $option['name'] : null,
|
492 |
-
'size' => isset( $option['size'] ) ? $option['size'] : null,
|
493 |
-
'options' => isset( $option['options'] ) ? $option['options'] : '',
|
494 |
-
'std' => isset( $option['std'] ) ? $option['std'] : '',
|
495 |
-
'min' => isset( $option['min'] ) ? $option['min'] : null,
|
496 |
-
'max' => isset( $option['max'] ) ? $option['max'] : null,
|
497 |
-
'step' => isset( $option['step'] ) ? $option['step'] : null,
|
498 |
-
'select2' => isset( $option['select2'] ) ? $option['select2'] : null,
|
499 |
-
'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
|
500 |
-
'multiple' => isset( $option['multiple'] ) ? $option['multiple'] : null,
|
501 |
-
'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
|
502 |
-
'readonly' => isset( $option['readonly'] ) ? $option['readonly'] : false,
|
503 |
-
'buttons' => isset( $option['buttons'] ) ? $option['buttons'] : null,
|
504 |
-
'wpautop' => isset( $option['wpautop'] ) ? $option['wpautop'] : null,
|
505 |
-
'teeny' => isset( $option['teeny'] ) ? $option['teeny'] : null,
|
506 |
-
'tab' => isset( $option['tab'] ) ? $option['tab'] : null,
|
507 |
-
'tooltip_title' => isset( $option['tooltip_title'] ) ? $option['tooltip_title'] : false,
|
508 |
-
'tooltip_desc' => isset( $option['tooltip_desc'] ) ? $option['tooltip_desc'] : false
|
509 |
-
)
|
510 |
-
);
|
511 |
-
}
|
512 |
-
}
|
513 |
-
}
|
514 |
-
|
515 |
-
register_setting( $this->func . '_settings', $this->func . '_settings', array( $this, 'settings_sanitize' ) );
|
516 |
-
}
|
517 |
-
|
518 |
-
|
519 |
-
/**
|
520 |
-
* Settings sanitization
|
521 |
-
*
|
522 |
-
* @access public
|
523 |
-
* @since 1.0.0
|
524 |
-
* @param array $input The value entered in the field
|
525 |
-
* @global array ${$this->func . '_options'} The options array
|
526 |
-
* @return string $input The sanitized value
|
527 |
-
*/
|
528 |
-
public function settings_sanitize( $input = array() ) {
|
529 |
-
global ${$this->func . '_options'};
|
530 |
-
|
531 |
-
$doing_section = false;
|
532 |
-
|
533 |
-
if( ! empty( $_POST['_wp_http_referer'] ) ) {
|
534 |
-
$doing_section = true;
|
535 |
-
}
|
536 |
-
|
537 |
-
$setting_types = $this->get_registered_settings_types();
|
538 |
-
$input = $input ? $input : array();
|
539 |
-
|
540 |
-
if( $doing_section ) {
|
541 |
-
parse_str( $_POST['_wp_http_referer'], $referrer );
|
542 |
-
|
543 |
-
$tab = isset( $referrer['tab'] ) ? $referrer['tab'] : $this->default_tab;
|
544 |
-
$section = isset( $referrer['section'] ) ? $referrer['section'] : 'main';
|
545 |
-
$input = apply_filters( $this->func . '_settings_' . $tab . '_sanitize', $input );
|
546 |
-
$input = apply_filters( $this->func . '_settings_' . $tab . '-' . $section . '_sanitize', $input );
|
547 |
-
}
|
548 |
-
|
549 |
-
$output = array_merge( ${$this->func . '_options'}, $input );
|
550 |
-
|
551 |
-
foreach( $setting_types as $key => $type ) {
|
552 |
-
if( empty( $type ) ) {
|
553 |
-
continue;
|
554 |
-
}
|
555 |
-
|
556 |
-
// Bypass non-setting settings
|
557 |
-
$non_setting_types = apply_filters( $this->func . '_non_setting_types', array(
|
558 |
-
'header', 'descriptive_text', 'hook'
|
559 |
-
) );
|
560 |
-
|
561 |
-
if( in_array( $type, $non_setting_types ) ) {
|
562 |
-
continue;
|
563 |
-
}
|
564 |
-
|
565 |
-
if( array_key_exists( $key, $output ) ) {
|
566 |
-
$output[$key] = apply_filters( $this->func . '_settings_sanitize_' . $type, $output[$key], $key );
|
567 |
-
$output[$key] = apply_filters( $this->func . '_settings_sanitize', $output[$key], $key );
|
568 |
-
}
|
569 |
-
|
570 |
-
if( $doing_section ) {
|
571 |
-
switch( $type ) {
|
572 |
-
case 'checkbox':
|
573 |
-
if( array_key_exists( $key, $input ) && $output[$key] === '-1' ) {
|
574 |
-
unset( $output[$key] );
|
575 |
-
}
|
576 |
-
break;
|
577 |
-
default:
|
578 |
-
if( array_key_exists( $key, $input ) && empty( $input[$key] ) ) {
|
579 |
-
unset( $output[$key] );
|
580 |
-
}
|
581 |
-
break;
|
582 |
-
}
|
583 |
-
} else {
|
584 |
-
if( empty( $input[$key] ) ) {
|
585 |
-
unset( $output[$key] );
|
586 |
-
}
|
587 |
-
}
|
588 |
-
}
|
589 |
-
|
590 |
-
if( $doing_section ) {
|
591 |
-
add_settings_error( $this->slug . '-notices', '', __( 'Your settings have been saved.', 's214-settings' ), 'updated' );
|
592 |
-
}
|
593 |
-
|
594 |
-
return $output;
|
595 |
-
}
|
596 |
-
|
597 |
-
|
598 |
-
/**
|
599 |
-
* Flattens the set of registered settings and their type so we can easily sanitize all settings
|
600 |
-
*
|
601 |
-
* @since 1.2.0
|
602 |
-
* @return array Key is the setting ID, value is the type of setting it is registered as
|
603 |
-
*/
|
604 |
-
function get_registered_settings_types() {
|
605 |
-
$settings = $this->get_registered_settings();
|
606 |
-
$setting_types = array();
|
607 |
-
|
608 |
-
foreach( $settings as $tab ) {
|
609 |
-
foreach( $tab as $section_or_setting ) {
|
610 |
-
// See if we have a setting registered at the tab level for backwards compatibility
|
611 |
-
if( is_array( $section_or_setting ) && array_key_exists( 'type', $section_or_setting ) ) {
|
612 |
-
$setting_types[$section_or_setting['id']] = $section_or_setting['type'];
|
613 |
-
continue;
|
614 |
-
}
|
615 |
-
|
616 |
-
foreach( $section_or_setting as $section => $section_settings ) {
|
617 |
-
$setting_types[$section_settings['id']] = $section_settings['type'];
|
618 |
-
}
|
619 |
-
}
|
620 |
-
}
|
621 |
-
|
622 |
-
return $setting_types;
|
623 |
-
}
|
624 |
-
|
625 |
-
|
626 |
-
/**
|
627 |
-
* Sanitize text fields
|
628 |
-
*
|
629 |
-
* @access public
|
630 |
-
* @since 1.0.0
|
631 |
-
* @param array $input The value entered in the field
|
632 |
-
* @return string $input The sanitized value
|
633 |
-
*/
|
634 |
-
public function sanitize_text_field( $input ) {
|
635 |
-
return trim( wp_strip_all_tags( $input, true ) );
|
636 |
-
}
|
637 |
-
|
638 |
-
|
639 |
-
/**
|
640 |
-
* Header callback
|
641 |
-
*
|
642 |
-
* @access public
|
643 |
-
* @since 1.0.0
|
644 |
-
* @param array $args Arguments passed by the setting
|
645 |
-
* @return void
|
646 |
-
*/
|
647 |
-
public function header_callback( $args ) {
|
648 |
-
echo '<hr />';
|
649 |
-
}
|
650 |
-
|
651 |
-
|
652 |
-
/**
|
653 |
-
* Checkbox callback
|
654 |
-
*
|
655 |
-
* @access public
|
656 |
-
* @since 1.0.0
|
657 |
-
* @param array $args Arguments passed by the setting
|
658 |
-
* @global array ${$this->func . '_options'} The plugin options
|
659 |
-
* @return void
|
660 |
-
*/
|
661 |
-
public function checkbox_callback( $args ) {
|
662 |
-
global ${$this->func . '_options'};
|
663 |
-
|
664 |
-
$name = ' name="' . $this->func . '_settings[' . $args['id'] . ']"';
|
665 |
-
$checked = isset( ${$this->func . '_options'}[$args['id']] ) ? checked( 1, ${$this->func . '_options'}[$args['id']], false ) : '';
|
666 |
-
|
667 |
-
$html = '<input type="hidden"' . $name . ' value="-1" />';
|
668 |
-
$html .= '<input type="checkbox" id="' . $this->func . '_settings[' . $args['id'] . ']"' . $name . ' value="1" ' . $checked . '/> ';
|
669 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
670 |
-
|
671 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
672 |
-
}
|
673 |
-
|
674 |
-
|
675 |
-
/**
|
676 |
-
* Color callback
|
677 |
-
*
|
678 |
-
* @access public
|
679 |
-
* @since 1.0.0
|
680 |
-
* @param array $args Arguments passed by the settings
|
681 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
682 |
-
* @return void
|
683 |
-
*/
|
684 |
-
public function color_callback( $args ) {
|
685 |
-
global ${$this->func . '_options'};
|
686 |
-
|
687 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
688 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
689 |
-
} else {
|
690 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
691 |
-
}
|
692 |
-
|
693 |
-
$default = isset( $args['std'] ) ? $args['std'] : '';
|
694 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
695 |
-
|
696 |
-
$html = '<input type="text" class="s214-color-picker" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" /> ';
|
697 |
-
$html .= '<span class="s214-color-picker-label description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
698 |
-
|
699 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
700 |
-
}
|
701 |
-
|
702 |
-
|
703 |
-
/**
|
704 |
-
* Descriptive text callback
|
705 |
-
*
|
706 |
-
* @access public
|
707 |
-
* @since 1.0.0
|
708 |
-
* @param array $args Arguments passed by the setting
|
709 |
-
* @return void
|
710 |
-
*/
|
711 |
-
public function descriptive_text_callback( $args ) {
|
712 |
-
$html = wp_kses_post( $args['desc'] );
|
713 |
-
|
714 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
715 |
-
}
|
716 |
-
|
717 |
-
|
718 |
-
/**
|
719 |
-
* Editor callback
|
720 |
-
*
|
721 |
-
* @access public
|
722 |
-
* @since 1.0.0
|
723 |
-
* @param array $args Arguments passed by the setting
|
724 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
725 |
-
* @return void
|
726 |
-
*/
|
727 |
-
public function editor_callback( $args ) {
|
728 |
-
global ${$this->func . '_options'};
|
729 |
-
|
730 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
731 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
732 |
-
|
733 |
-
if( empty( $args['allow_blank'] ) && empty( $value ) ) {
|
734 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
735 |
-
}
|
736 |
-
} else {
|
737 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
738 |
-
}
|
739 |
-
|
740 |
-
$rows = isset( $args['size'] ) ? $args['size'] : '10';
|
741 |
-
$wpautop = isset( $args['wpautop'] ) ? $args['wpautop'] : true;
|
742 |
-
$buttons = isset( $args['buttons'] ) ? $args['buttons'] : true;
|
743 |
-
$teeny = isset( $args['teeny'] ) ? $args['teeny'] : false;
|
744 |
-
|
745 |
-
wp_editor(
|
746 |
-
$value,
|
747 |
-
$this->func . '_settings_' . $args['id'],
|
748 |
-
array(
|
749 |
-
'wpautop' => $wpautop,
|
750 |
-
'media_buttons' => $buttons,
|
751 |
-
'textarea_name' => $this->func . '_settings[' . $args['id'] . ']',
|
752 |
-
'textarea_rows' => $rows,
|
753 |
-
'teeny' => $teeny
|
754 |
-
)
|
755 |
-
);
|
756 |
-
$html = '<br /><span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
757 |
-
|
758 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
759 |
-
}
|
760 |
-
|
761 |
-
|
762 |
-
/**
|
763 |
-
* HTML callback
|
764 |
-
*
|
765 |
-
* @since 1.0.0
|
766 |
-
* @param array $args Arguments passed by the setting
|
767 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
768 |
-
* @return void
|
769 |
-
*/
|
770 |
-
public function html_callback( $args ) {
|
771 |
-
global ${$this->func . '_options'};
|
772 |
-
|
773 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
774 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
775 |
-
} else {
|
776 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
777 |
-
}
|
778 |
-
|
779 |
-
$html = '<textarea class="large-text s214-html" cols="50" rows="5" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea> ';
|
780 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
781 |
-
|
782 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
783 |
-
}
|
784 |
-
|
785 |
-
|
786 |
-
/**
|
787 |
-
* Multicheck callback
|
788 |
-
*
|
789 |
-
* @access public
|
790 |
-
* @since 1.0.0
|
791 |
-
* @param array $args Arguments passed by the setting
|
792 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
793 |
-
* @return void
|
794 |
-
*/
|
795 |
-
public function multicheck_callback( $args ) {
|
796 |
-
global ${$this->func . '_options'};
|
797 |
-
|
798 |
-
if( ! empty( $args['options'] ) ) {
|
799 |
-
$html = '';
|
800 |
-
|
801 |
-
foreach( $args['options'] as $key => $option ) {
|
802 |
-
if( isset( ${$this->func . '_options'}[$args['id']][$key] ) ) {
|
803 |
-
$enabled = $option;
|
804 |
-
} else {
|
805 |
-
$enabled = isset( $args['std'][$key] ) ? $args['std'][$key] : NULL;
|
806 |
-
}
|
807 |
-
|
808 |
-
$html .= '<input name="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']" id="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']" type="checkbox" value="' . $option . '" ' . checked( $option, $enabled, false ) . ' /> ';
|
809 |
-
$html .= '<label for="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']">' . $option . '</label><br />';
|
810 |
-
}
|
811 |
-
$html .= '<p class="description">' . $args['desc'] . '</p>';
|
812 |
-
|
813 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
814 |
-
}
|
815 |
-
}
|
816 |
-
|
817 |
-
|
818 |
-
/**
|
819 |
-
* Number callback
|
820 |
-
*
|
821 |
-
* @access public
|
822 |
-
* @since 1.0.0
|
823 |
-
* @param array $args Arguments passed by the setting
|
824 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
825 |
-
* @return void
|
826 |
-
*/
|
827 |
-
public function number_callback( $args ) {
|
828 |
-
global ${$this->func . '_options'};
|
829 |
-
|
830 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
831 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
832 |
-
} else {
|
833 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
834 |
-
}
|
835 |
-
|
836 |
-
$name = ' name="' . $this->func . '_settings[' . $args['id'] . ']"';
|
837 |
-
$max = isset( $args['max'] ) ? $args['max'] : 999999;
|
838 |
-
$min = isset( $args['min'] ) ? $args['min'] : 0;
|
839 |
-
$step = isset( $args['step'] ) ? $args['step'] : 1;
|
840 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
841 |
-
$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
|
842 |
-
|
843 |
-
$html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . $size . '-text" id="' . $this->func . '_settings[' . $args['id'] . ']"' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/> ';
|
844 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
845 |
-
|
846 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
847 |
-
}
|
848 |
-
|
849 |
-
|
850 |
-
/**
|
851 |
-
* Password callback
|
852 |
-
*
|
853 |
-
* @access public
|
854 |
-
* @since 1.0.0
|
855 |
-
* @param array $args Arguments passed by the settings
|
856 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
857 |
-
* @return void
|
858 |
-
*/
|
859 |
-
public function password_callback( $args ) {
|
860 |
-
global ${$this->func . '_options'};
|
861 |
-
|
862 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
863 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
864 |
-
} else {
|
865 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
866 |
-
}
|
867 |
-
|
868 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
869 |
-
|
870 |
-
$html = '<input type="password" class="' . $size . '-text" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" /> ';
|
871 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
872 |
-
|
873 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
874 |
-
}
|
875 |
-
|
876 |
-
|
877 |
-
/**
|
878 |
-
* Radio callback
|
879 |
-
*
|
880 |
-
* @access public
|
881 |
-
* @since 1.0.0
|
882 |
-
* @param array $args Arguments passed by the setting
|
883 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
884 |
-
* @return void
|
885 |
-
*/
|
886 |
-
public function radio_callback( $args ) {
|
887 |
-
global ${$this->func . '_options'};
|
888 |
-
|
889 |
-
if( ! empty( $args['options'] ) ) {
|
890 |
-
$html = '';
|
891 |
-
|
892 |
-
foreach( $args['options'] as $key => $option ) {
|
893 |
-
$checked = false;
|
894 |
-
|
895 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) && ${$this->func . '_options'}[$args['id']] == $key ) {
|
896 |
-
$checked = true;
|
897 |
-
} elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
898 |
-
$checked = true;
|
899 |
-
}
|
900 |
-
|
901 |
-
$html .= '<input name="' . $this->func . '_settings[' . $args['id'] . ']" id="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']" type="radio" value="' . $key . '" ' . checked( true, $checked, false ) . '/> ';
|
902 |
-
$html .= '<label for="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']">' . $option . '</label><br />';
|
903 |
-
}
|
904 |
-
|
905 |
-
$html .= '<p class="description">' . $args['desc'] . '</p>';
|
906 |
-
|
907 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
908 |
-
}
|
909 |
-
}
|
910 |
-
|
911 |
-
|
912 |
-
/**
|
913 |
-
* Select callback
|
914 |
-
*
|
915 |
-
* @access public
|
916 |
-
* @since 1.0.0
|
917 |
-
* @param array $args Arguments passed by the setting
|
918 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
919 |
-
* @return void
|
920 |
-
*/
|
921 |
-
public function select_callback( $args ) {
|
922 |
-
global ${$this->func . '_options'};
|
923 |
-
|
924 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
925 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
926 |
-
} else {
|
927 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
928 |
-
}
|
929 |
-
|
930 |
-
$placeholder = isset( $args['placeholder'] ) ? $args['placeholder'] : '';
|
931 |
-
$select2 = isset( $args['select2'] ) ? ' class="s214-select2"' : '';
|
932 |
-
$width = isset( $args['size'] ) ? ' style="width: ' . $args['size'] . '"' : '';
|
933 |
-
|
934 |
-
if( isset( $args['multiple'] ) && $args['multiple'] === true ) {
|
935 |
-
$html = '<select id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . '][]"' . $select2 . ' data-placeholder="' . $placeholder . '" multiple="multiple"' . $width . ' />';
|
936 |
-
} else {
|
937 |
-
$html = '<select id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']"' . $select2 . ' data-placeholder="' . $placeholder . '"' . $width . ' />';
|
938 |
-
}
|
939 |
-
|
940 |
-
foreach( $args['options'] as $option => $name ) {
|
941 |
-
if( isset( $args['multiple'] ) && $args['multiple'] === true ) {
|
942 |
-
if( is_array( $value ) ) {
|
943 |
-
$selected = ( in_array( $option, $value ) ? 'selected="selected"' : '' );
|
944 |
-
} else {
|
945 |
-
$selected = '';
|
946 |
-
}
|
947 |
-
} else {
|
948 |
-
if( is_string( $value ) ) {
|
949 |
-
$selected = selected( $option, $value, false );
|
950 |
-
} else {
|
951 |
-
$selected = '';
|
952 |
-
}
|
953 |
-
}
|
954 |
-
|
955 |
-
$html .= '<option value="' . $option . '" ' . $selected . '>' . $name . '</option>';
|
956 |
-
}
|
957 |
-
|
958 |
-
$html .= '</select> ';
|
959 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
960 |
-
|
961 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
962 |
-
}
|
963 |
-
|
964 |
-
|
965 |
-
/**
|
966 |
-
* Sysinfo callback
|
967 |
-
*
|
968 |
-
* @since 1.1.0
|
969 |
-
* @param array $args Arguements passed by the settings
|
970 |
-
* @return void
|
971 |
-
*/
|
972 |
-
public function sysinfo_callback( $args ) {
|
973 |
-
global ${$this->func . '_options'};
|
974 |
-
|
975 |
-
if( ! isset( ${$this->func . '_options'}[$args['tab']] ) || ( isset( ${$this->func . '_options'}[$args['tab']] ) && isset( $_GET['tab'] ) && $_GET['tab'] == ${$this->func . '_options'}[$args['tab']] ) ) {
|
976 |
-
$html = '<textarea readonly="readonly" onclick="this.focus(); this.select()" id="system-info-textarea" name="' . $this->func . '-system-info" title="' . __( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 's214-settings' ) . '">' . $this->sysinfo->get_system_info() . '</textarea>';
|
977 |
-
$html .= '<p class="submit">';
|
978 |
-
$html .= '<input type="hidden" name="' . $this->slug . '-settings-action" value="download_system_info" />';
|
979 |
-
$html .= '<a class="button button-primary" href="' . add_query_arg( $this->slug . '-settings-action', 'download_system_info' ) . '">' . __( 'Download System Info File', 's214-settings' ) . '</a>';
|
980 |
-
$html .= '</p>';
|
981 |
-
|
982 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
983 |
-
}
|
984 |
-
}
|
985 |
-
|
986 |
-
|
987 |
-
/**
|
988 |
-
* Text callback
|
989 |
-
*
|
990 |
-
* @since 1.0.0
|
991 |
-
* @param array $args Arguments passed by the setting
|
992 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
993 |
-
* @return void
|
994 |
-
*/
|
995 |
-
public function text_callback( $args ) {
|
996 |
-
global ${$this->func . '_options'};
|
997 |
-
|
998 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
999 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
1000 |
-
} else {
|
1001 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
1002 |
-
}
|
1003 |
-
|
1004 |
-
$name = ' name="' . $this->func . '_settings[' . $args['id'] . ']"';
|
1005 |
-
$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
|
1006 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
1007 |
-
|
1008 |
-
$html = '<input type="text" class="' . $size . '-text" id="' . $this->func . '_settings[' . $args['id'] . ']"' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/> ';
|
1009 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
1010 |
-
|
1011 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
1012 |
-
}
|
1013 |
-
|
1014 |
-
|
1015 |
-
/**
|
1016 |
-
* Textarea callback
|
1017 |
-
*
|
1018 |
-
* @since 1.0.0
|
1019 |
-
* @param array $args Arguments passed by the setting
|
1020 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
1021 |
-
* @return void
|
1022 |
-
*/
|
1023 |
-
public function textarea_callback( $args ) {
|
1024 |
-
global ${$this->func . '_options'};
|
1025 |
-
|
1026 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
1027 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
1028 |
-
} else {
|
1029 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
1030 |
-
}
|
1031 |
-
|
1032 |
-
$html = '<textarea class="large-text" cols="50" rows="5" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea> ';
|
1033 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
1034 |
-
|
1035 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
1036 |
-
}
|
1037 |
-
|
1038 |
-
|
1039 |
-
/**
|
1040 |
-
* Upload callback
|
1041 |
-
*
|
1042 |
-
* @since 1.0.0
|
1043 |
-
* @param array $args Arguments passed by the setting
|
1044 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
1045 |
-
* @return void
|
1046 |
-
*/
|
1047 |
-
public function upload_callback( $args ) {
|
1048 |
-
global ${$this->func . '_options'};
|
1049 |
-
|
1050 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
1051 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
1052 |
-
} else {
|
1053 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
1054 |
-
}
|
1055 |
-
|
1056 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
1057 |
-
|
1058 |
-
$html = '<input type="text" class="' . $size . '-text" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( stripslashes( $value ) ) . '" /> ';
|
1059 |
-
$html .= '<span><input type="button" class="' . $this->func . '_settings_upload_button button-secondary" value="' . __( 'Upload File', 's214-settings' ) . '" /></span> ';
|
1060 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
1061 |
-
|
1062 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
1063 |
-
}
|
1064 |
-
|
1065 |
-
|
1066 |
-
/**
|
1067 |
-
* License field callback
|
1068 |
-
*
|
1069 |
-
* @access public
|
1070 |
-
* @since 1.0.0
|
1071 |
-
* @param array $args Arguments passed by the setting
|
1072 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
1073 |
-
* @return void
|
1074 |
-
*/
|
1075 |
-
public function license_key_callback( $args ) {
|
1076 |
-
global ${$this->func . '_options'};
|
1077 |
-
|
1078 |
-
if( isset( ${$this->func . '_options'}[$args['id']] ) ) {
|
1079 |
-
$value = ${$this->func . '_options'}[$args['id']];
|
1080 |
-
} else {
|
1081 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
1082 |
-
}
|
1083 |
-
|
1084 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
1085 |
-
|
1086 |
-
$html = '<input type="text" class="' . $size . '-text" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" /> ';
|
1087 |
-
|
1088 |
-
if( get_option( $args['options']['is_valid_license_option'] ) ) {
|
1089 |
-
$html .= '<input type="submit" class="button-secondary" name="' . $args['id'] . '_deactivate" value="' . __( 'Deactivate License', 's214-settings' ) . '"/>';
|
1090 |
-
}
|
1091 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']"> ' . $args['desc'] . '</label></span>';
|
1092 |
-
|
1093 |
-
wp_nonce_field( $args['id'] . '-nonce', $args['id'] . '-nonce' );
|
1094 |
-
|
1095 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
1096 |
-
}
|
1097 |
-
|
1098 |
-
|
1099 |
-
/**
|
1100 |
-
* Hook callback
|
1101 |
-
*
|
1102 |
-
* @since 1.0.0
|
1103 |
-
* @param array $args Arguments passed by the setting
|
1104 |
-
* @return void
|
1105 |
-
*/
|
1106 |
-
public function hook_callback( $args ) {
|
1107 |
-
do_action( $this->func . '_' . $args['id'] );
|
1108 |
-
}
|
1109 |
-
|
1110 |
-
|
1111 |
-
/**
|
1112 |
-
* Missing callback
|
1113 |
-
*
|
1114 |
-
* @access public
|
1115 |
-
* @since 1.0.0
|
1116 |
-
* @param array $args Arguments passed by the setting
|
1117 |
-
* @return void
|
1118 |
-
*/
|
1119 |
-
public function missing_callback( $args ) {
|
1120 |
-
printf( __( 'The callback function used for the <strong>%s</strong> setting is missing.', 's214-settings' ), $args['id'] );
|
1121 |
-
}
|
1122 |
-
|
1123 |
-
|
1124 |
-
/**
|
1125 |
-
* Check if we should load admin scripts
|
1126 |
-
*
|
1127 |
-
* @access public
|
1128 |
-
* @since 1.0.0
|
1129 |
-
* @param string $hook The hook for the current page
|
1130 |
-
* @return bool true if we should load scripts, false otherwise
|
1131 |
-
*/
|
1132 |
-
public function load_scripts( $hook ) {
|
1133 |
-
global $typenow, $pagenow, ${$this->func . '_settings_page'};
|
1134 |
-
|
1135 |
-
$ret = false;
|
1136 |
-
$pages = apply_filters( $this->func . '_admin_pages', array( ${$this->func . '_settings_page'} ) );
|
1137 |
-
|
1138 |
-
if( in_array( $hook, $pages ) ) {
|
1139 |
-
$ret = true;
|
1140 |
-
}
|
1141 |
-
|
1142 |
-
return (bool) apply_filters( $this->func . 'load_scripts', $ret );
|
1143 |
-
}
|
1144 |
-
|
1145 |
-
|
1146 |
-
/**
|
1147 |
-
* Processes all actions sent via POST and GET by looking for the '$func-settings-action'
|
1148 |
-
* request and running do_action() to call the function
|
1149 |
-
*
|
1150 |
-
* @since 1.1.0
|
1151 |
-
* @return void
|
1152 |
-
*/
|
1153 |
-
function process_actions() {
|
1154 |
-
if( ! isset( $_POST['submit'] ) ) {
|
1155 |
-
if( isset( $_POST[$this->slug . '-settings-action'] ) ) {
|
1156 |
-
do_action( $this->func . '_settings_' . $_POST[$this->slug . '-settings-action'], $_POST );
|
1157 |
-
}
|
1158 |
-
|
1159 |
-
if( isset( $_GET[$this->slug . '-settings-action'] ) ) {
|
1160 |
-
do_action( $this->func . '_settings_' . $_GET[$this->slug . '-settings-action'], $_GET );
|
1161 |
-
}
|
1162 |
-
}
|
1163 |
-
}
|
1164 |
-
|
1165 |
-
|
1166 |
-
/**
|
1167 |
-
* Enqueue scripts
|
1168 |
-
*
|
1169 |
-
* @access public
|
1170 |
-
* @since 1.0.0
|
1171 |
-
* @param string $hook The current page hook
|
1172 |
-
* @return void
|
1173 |
-
*/
|
1174 |
-
public function enqueue_scripts( $hook ) {
|
1175 |
-
if( ! apply_filters( $this->func . '_load_admin_scripts', $this->load_scripts( $hook ), $hook ) ) {
|
1176 |
-
return;
|
1177 |
-
}
|
1178 |
-
|
1179 |
-
// Use minified libraries if SCRIPT_DEBUG is turned off
|
1180 |
-
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
|
1181 |
-
$ui_style = ( get_user_option( 'admin_color' ) == 'classic' ) ? 'classic' : 'fresh';
|
1182 |
-
$url_path = str_replace( WP_CONTENT_DIR, WP_CONTENT_URL, dirname( __FILE__ ) );
|
1183 |
-
$select2_cdn = 'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/';
|
1184 |
-
$cm_cdn = 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.14.2/';
|
1185 |
-
|
1186 |
-
wp_enqueue_style( 'wp-color-picker' );
|
1187 |
-
wp_enqueue_script( 'wp-color-picker' );
|
1188 |
-
wp_enqueue_script( 'jquery-ui-tooltip' );
|
1189 |
-
wp_enqueue_media();
|
1190 |
-
wp_enqueue_style( 'jquery-ui-css', $url_path . '/assets/css/jquery-ui-' . $ui_style . '.min.css' );
|
1191 |
-
wp_enqueue_script( 'media-upload' );
|
1192 |
-
wp_enqueue_style( 'thickbox' );
|
1193 |
-
wp_enqueue_script( 'thickbox' );
|
1194 |
-
wp_enqueue_style( 'select2', $select2_cdn . 'css/select2.min.css', array(), '4.0.2' );
|
1195 |
-
wp_enqueue_script( 'select2', $select2_cdn . 'js/select2.min.js', array( 'jquery' ), '4.0.2' );
|
1196 |
-
|
1197 |
-
wp_enqueue_style( $this->slug . '-cm', $cm_cdn . 'codemirror.css', array(), '5.10' );
|
1198 |
-
wp_enqueue_script( $this->slug . '-cm', $cm_cdn . 'codemirror.js', array( 'jquery' ), '5.14.2' );
|
1199 |
-
wp_enqueue_script( $this->slug . '-cm-html', $cm_cdn . 'mode/htmlmixed/htmlmixed.js', array( 'jquery', $this->slug . '-cm' ), '5.14.2' );
|
1200 |
-
wp_enqueue_script( $this->slug . '-cm-xml', $cm_cdn . 'mode/xml/xml.js', array( 'jquery', $this->slug . '-cm' ), '5.14.2' );
|
1201 |
-
wp_enqueue_script( $this->slug . '-cm-js', $cm_cdn . 'mode/javascript/javascript.js', array( 'jquery', $this->slug . '-cm' ), '5.14.2' );
|
1202 |
-
wp_enqueue_script( $this->slug . '-cm-css', $cm_cdn . 'mode/css/css.js', array( 'jquery', $this->slug . '-cm' ), '5.14.2' );
|
1203 |
-
wp_enqueue_script( $this->slug . '-cm-php', $cm_cdn . 'mode/php/php.js', array( 'jquery', $this->slug . '-cm' ), '5.14.2' );
|
1204 |
-
wp_enqueue_script( $this->slug . '-cm-clike', $cm_cdn . 'mode/clike/clike.js', array( 'jquery', $this->slug . '-cm' ), '5.14.2' );
|
1205 |
-
|
1206 |
-
wp_enqueue_style( $this->slug . '-s214-settings', $url_path . '/assets/css/admin' . $suffix . '.css', array(), $this->version );
|
1207 |
-
wp_enqueue_script( $this->slug . '-s214-settings', $url_path . '/assets/js/admin' . $suffix . '.js', array( 'jquery' ), $this->version );
|
1208 |
-
wp_localize_script( $this->slug . '-s214-settings', 's214_settings_vars', apply_filters( $this->func . 'localize_script', array(
|
1209 |
-
'func' => $this->func,
|
1210 |
-
'image_media_button' => __( 'Insert Image', 's214-settings' ),
|
1211 |
-
'image_media_title' => __( 'Select Image', 's214-settings' ),
|
1212 |
-
) ) );
|
1213 |
-
}
|
1214 |
-
|
1215 |
-
|
1216 |
-
/**
|
1217 |
-
* Add tooltips
|
1218 |
-
*
|
1219 |
-
* @access public
|
1220 |
-
* @since 1.2.0
|
1221 |
-
* @param string $html The current field HTML
|
1222 |
-
* @param array $args Arguments passed to the field
|
1223 |
-
* @return string $html The updated field HTML
|
1224 |
-
*/
|
1225 |
-
function add_setting_tooltip( $html, $args ) {
|
1226 |
-
if( ! empty( $args['tooltip_title'] ) && ! empty( $args['tooltip_desc'] ) ) {
|
1227 |
-
$tooltip = '<span alt="f223" class="s214-help-tip dashicons dashicons-editor-help" title="<strong>' . $args['tooltip_title'] . '</strong>: ' . $args['tooltip_desc'] . '"></span>';
|
1228 |
-
$html .= $tooltip;
|
1229 |
-
}
|
1230 |
-
|
1231 |
-
return $html;
|
1232 |
-
}
|
1233 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/class.wpdesk-s214-settings.php
DELETED
@@ -1,1198 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
|
9 |
-
/**
|
10 |
-
* WP Desk Section214 settings handler class
|
11 |
-
*
|
12 |
-
* @since 1.0.0
|
13 |
-
*/
|
14 |
-
class WPDesk_S214_Settings extends S214_Settings {
|
15 |
-
|
16 |
-
const CUSTOM_ATTRIBUTES_KEY = 'custom_attributes';
|
17 |
-
const CLASS_KEY = 'class';
|
18 |
-
|
19 |
-
/**
|
20 |
-
* @var string $version The settings class version
|
21 |
-
* @since 1.0.0
|
22 |
-
*/
|
23 |
-
public $version = '1.3';
|
24 |
-
|
25 |
-
|
26 |
-
/**
|
27 |
-
* @var string
|
28 |
-
*/
|
29 |
-
private $text_domain;
|
30 |
-
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Get things started
|
34 |
-
*
|
35 |
-
* @access public
|
36 |
-
* @since 1.0.1
|
37 |
-
*
|
38 |
-
* @param string $slug The plugin slug
|
39 |
-
* @param string $default_tab The default settings tab to display
|
40 |
-
*
|
41 |
-
* @return void
|
42 |
-
*/
|
43 |
-
public function __construct( $url_path, $slug = 'wpdesk-settings', $default_tab = 'general' ) {
|
44 |
-
parent::__construct( $slug, $default_tab );
|
45 |
-
$this->url_path = $url_path;
|
46 |
-
global ${$this->func . '_options'};
|
47 |
-
${$this->func . '_options'} = $this->get_settings();
|
48 |
-
|
49 |
-
|
50 |
-
}
|
51 |
-
|
52 |
-
/**
|
53 |
-
* Add settings pages
|
54 |
-
*
|
55 |
-
* @access public
|
56 |
-
* @since 1.0.0
|
57 |
-
* @global string ${this->func . '_settings_page'} The settings page slug
|
58 |
-
* @return void
|
59 |
-
*/
|
60 |
-
public function add_settings_page() {
|
61 |
-
global ${$this->func . '_settings_page'};
|
62 |
-
|
63 |
-
$menu = apply_filters( $this->func . '_menu', array(
|
64 |
-
'type' => 'menu',
|
65 |
-
'parent' => 'options-general.php',
|
66 |
-
'page_title' => __( 'Section214 Settings', 's214' ),
|
67 |
-
'show_title' => false,
|
68 |
-
'menu_title' => __( 'Section214 Settings', 's214' ),
|
69 |
-
'capability' => 'manage_options',
|
70 |
-
'icon' => '',
|
71 |
-
'position' => null
|
72 |
-
) );
|
73 |
-
|
74 |
-
$this->show_title = $menu['show_title'];
|
75 |
-
$this->page_title = $menu['page_title'];
|
76 |
-
|
77 |
-
if ( $menu['type'] === 'submenu' ) {
|
78 |
-
${$this->func . '_settings_page'} = add_submenu_page( $menu['parent'], $menu['page_title'],
|
79 |
-
$menu['menu_title'], $menu['capability'], $this->slug . '-settings',
|
80 |
-
array( $this, 'render_settings_page' ) );
|
81 |
-
} else {
|
82 |
-
${$this->func . '_settings_page'} = add_menu_page( $menu['page_title'], $menu['menu_title'],
|
83 |
-
$menu['capability'], $this->slug . '-settings', array( $this, 'render_settings_page' ), $menu['icon'],
|
84 |
-
$menu['position'] );
|
85 |
-
}
|
86 |
-
}
|
87 |
-
|
88 |
-
|
89 |
-
/**
|
90 |
-
* Render settings page
|
91 |
-
*
|
92 |
-
* @access public
|
93 |
-
* @since 1.0.0
|
94 |
-
* @return void
|
95 |
-
*/
|
96 |
-
public function render_settings_page() {
|
97 |
-
$active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'],
|
98 |
-
$this->get_settings_tabs() ) ? $_GET['tab'] : $this->default_tab;
|
99 |
-
$sections = $registered_sections = $this->get_settings_tab_sections( $active_tab );
|
100 |
-
$key = 'main';
|
101 |
-
|
102 |
-
if ( is_array( $sections ) ) {
|
103 |
-
$key = key( $sections );
|
104 |
-
}
|
105 |
-
|
106 |
-
$section = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'],
|
107 |
-
$registered_sections ) ? $_GET['section'] : $key;
|
108 |
-
|
109 |
-
ob_start();
|
110 |
-
?>
|
111 |
-
<div class="wrap">
|
112 |
-
<?php if ( $this->show_title ) { ?>
|
113 |
-
<h2><?php echo $this->page_title; ?></h2>
|
114 |
-
<?php } ?>
|
115 |
-
<h2 class="nav-tab-wrapper">
|
116 |
-
<?php
|
117 |
-
foreach ( $this->get_settings_tabs() as $tab_id => $tab_name ) {
|
118 |
-
$tab_url = add_query_arg( array(
|
119 |
-
'settings-updated' => false,
|
120 |
-
'tab' => $tab_id
|
121 |
-
) );
|
122 |
-
|
123 |
-
// Remove the section from the tabs so we always end up at the main section
|
124 |
-
$tab_url = remove_query_arg( 'section', $tab_url );
|
125 |
-
|
126 |
-
$active = $active_tab === $tab_id ? ' nav-tab-active' : '';
|
127 |
-
|
128 |
-
echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">' . esc_html( $tab_name ) . '</a>';
|
129 |
-
}
|
130 |
-
?>
|
131 |
-
</h2>
|
132 |
-
<?php
|
133 |
-
$number_of_sections = count( $sections );
|
134 |
-
$number = 0;
|
135 |
-
|
136 |
-
if ( $number_of_sections > 1 ) {
|
137 |
-
echo '<div><ul class="subsubsub">';
|
138 |
-
|
139 |
-
foreach ( $sections as $section_id => $section_name ) {
|
140 |
-
echo '<li>';
|
141 |
-
|
142 |
-
$number ++;
|
143 |
-
$tab_url = add_query_arg( array(
|
144 |
-
'settings-updated' => false,
|
145 |
-
'tab' => $active_tab,
|
146 |
-
'section' => $section_id
|
147 |
-
) );
|
148 |
-
$class = '';
|
149 |
-
|
150 |
-
if ( $section === $section_id ) {
|
151 |
-
$class = 'current';
|
152 |
-
}
|
153 |
-
|
154 |
-
echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>';
|
155 |
-
|
156 |
-
if ( $number != $number_of_sections ) {
|
157 |
-
echo ' | ';
|
158 |
-
}
|
159 |
-
|
160 |
-
echo '</li>';
|
161 |
-
}
|
162 |
-
|
163 |
-
echo '</ul></div>';
|
164 |
-
}
|
165 |
-
?>
|
166 |
-
<div id="tab_container">
|
167 |
-
<form method="post" action="options.php">
|
168 |
-
<table class="form-table">
|
169 |
-
<?php
|
170 |
-
settings_fields( $this->func . '_settings' );
|
171 |
-
|
172 |
-
do_action( $this->func . '_settings_tab_top_' . $active_tab . '_' . $section );
|
173 |
-
do_settings_sections( $this->func . '_settings_' . $active_tab . '_' . $section );
|
174 |
-
do_action( $this->func . '_settings_tab_bottom_' . $active_tab . '_' . $section );
|
175 |
-
?>
|
176 |
-
</table>
|
177 |
-
<?php
|
178 |
-
if ( ! in_array( $active_tab, apply_filters( $this->func . '_unsavable_tabs', array() ) ) ) {
|
179 |
-
submit_button();
|
180 |
-
}
|
181 |
-
?>
|
182 |
-
</form>
|
183 |
-
</div>
|
184 |
-
</div>
|
185 |
-
<?php
|
186 |
-
echo ob_get_clean();
|
187 |
-
}
|
188 |
-
|
189 |
-
|
190 |
-
/**
|
191 |
-
* Retrieve the settings tabs
|
192 |
-
*
|
193 |
-
* @access private
|
194 |
-
* @since 1.0.0
|
195 |
-
* @return array $tabs The registered tabs for this plugin
|
196 |
-
*/
|
197 |
-
private function get_settings_tabs() {
|
198 |
-
return apply_filters( $this->func . '_settings_tabs', array() );
|
199 |
-
}
|
200 |
-
|
201 |
-
/**
|
202 |
-
* Retrieve an option
|
203 |
-
*
|
204 |
-
* @access public
|
205 |
-
* @since 1.0.0
|
206 |
-
*
|
207 |
-
* @param string $key The key to retrieve
|
208 |
-
* @param mixed $default The default value if key doesn't exist
|
209 |
-
*
|
210 |
-
* @return mixed $value The value to return
|
211 |
-
*/
|
212 |
-
public function get_option( $key = '', $default = false ) {
|
213 |
-
$option = $this->get_global_options();
|
214 |
-
|
215 |
-
$value = ! empty( $option[ $key ] ) ? $option[ $key ] : $default;
|
216 |
-
$value = apply_filters( $this->func . '_get_option', $value, $key, $default );
|
217 |
-
|
218 |
-
return apply_filters( $this->func . '_get_option_' . $key, $value, $key, $default );
|
219 |
-
}
|
220 |
-
|
221 |
-
/**
|
222 |
-
* Get shared options
|
223 |
-
*
|
224 |
-
* @global array ${$this->func . '_options'} The plugin options
|
225 |
-
* @return mixed
|
226 |
-
*/
|
227 |
-
private function get_global_options() {
|
228 |
-
global ${$this->func . '_options'};
|
229 |
-
|
230 |
-
return ${$this->func . '_options'};
|
231 |
-
}
|
232 |
-
|
233 |
-
/**
|
234 |
-
* Update an option
|
235 |
-
*
|
236 |
-
* @access public
|
237 |
-
* @since 1.0.0
|
238 |
-
*
|
239 |
-
* @param string $key The key to update
|
240 |
-
* @param mixed $value The value to set key to
|
241 |
-
*
|
242 |
-
* @return bool true if updated, false otherwise
|
243 |
-
*/
|
244 |
-
public function update_option( $key = '', $value = false ) {
|
245 |
-
// Bail if no key is set
|
246 |
-
if ( empty( $key ) ) {
|
247 |
-
return false;
|
248 |
-
}
|
249 |
-
|
250 |
-
if ( empty( $value ) ) {
|
251 |
-
$remove_option = $this->delete_option( $key );
|
252 |
-
|
253 |
-
return $remove_option;
|
254 |
-
}
|
255 |
-
|
256 |
-
// Fetch a clean copy of the options array
|
257 |
-
$options = get_option( $this->func . '_settings' );
|
258 |
-
|
259 |
-
// Allow devs to modify the value
|
260 |
-
$value = apply_filters( $this->func . '_update_option', $value, $key );
|
261 |
-
|
262 |
-
// Try to update the option
|
263 |
-
$options[ $key ] = $value;
|
264 |
-
$did_update = update_option( $this->func . '_settings', $options );
|
265 |
-
|
266 |
-
// Update the global
|
267 |
-
if ( $did_update ) {
|
268 |
-
$global_option = $this->get_global_options();
|
269 |
-
$global_option[ $key ] = $value;
|
270 |
-
$this->set_global_options( $global_option );
|
271 |
-
}
|
272 |
-
|
273 |
-
return $did_update;
|
274 |
-
}
|
275 |
-
|
276 |
-
|
277 |
-
/**
|
278 |
-
* Delete an option
|
279 |
-
*
|
280 |
-
* @access public
|
281 |
-
* @since 1.0.0
|
282 |
-
*
|
283 |
-
* @param string $key The key to delete
|
284 |
-
*
|
285 |
-
* @return bool true if deleted, false otherwise
|
286 |
-
*/
|
287 |
-
public function delete_option( $key = '' ) {
|
288 |
-
// Bail if no key is set
|
289 |
-
if ( empty( $key ) ) {
|
290 |
-
return false;
|
291 |
-
}
|
292 |
-
|
293 |
-
// Fetch a clean copy of the options array
|
294 |
-
$options = get_option( $this->func . '_settings' );
|
295 |
-
|
296 |
-
// Try to unset the option
|
297 |
-
if ( isset( $options[ $key ] ) ) {
|
298 |
-
unset( $options[ $key ] );
|
299 |
-
}
|
300 |
-
|
301 |
-
$did_update = update_option( $this->func . '_settings', $options );
|
302 |
-
|
303 |
-
// Update the global
|
304 |
-
if ( $did_update ) {
|
305 |
-
$this->set_global_options( $options );
|
306 |
-
}
|
307 |
-
|
308 |
-
return $did_update;
|
309 |
-
}
|
310 |
-
|
311 |
-
/**
|
312 |
-
* @param array $option
|
313 |
-
*
|
314 |
-
* @global array ${$this->func . '_options'} The plugin options
|
315 |
-
*/
|
316 |
-
private function set_global_options( $option ) {
|
317 |
-
global ${$this->func . '_options'};
|
318 |
-
${$this->func . '_options'} = $option;
|
319 |
-
}
|
320 |
-
|
321 |
-
/**
|
322 |
-
* Retrieve all options
|
323 |
-
*
|
324 |
-
* @access public
|
325 |
-
* @since 1.0.0
|
326 |
-
* @return array $settings The options array
|
327 |
-
*/
|
328 |
-
public function get_settings() {
|
329 |
-
$settings = get_option( $this->func . '_settings' );
|
330 |
-
|
331 |
-
if ( empty( $settings ) ) {
|
332 |
-
$settings = array();
|
333 |
-
|
334 |
-
update_option( $this->func . '_settings', $settings );
|
335 |
-
}
|
336 |
-
|
337 |
-
return apply_filters( $this->func . '_get_settings', $settings );
|
338 |
-
}
|
339 |
-
|
340 |
-
/**
|
341 |
-
* Add settings sections and fields
|
342 |
-
*
|
343 |
-
* @access public
|
344 |
-
* @since 1.0.0
|
345 |
-
* @return void
|
346 |
-
*/
|
347 |
-
function register_settings() {
|
348 |
-
if ( get_option( $this->func . '_settings' ) === false ) {
|
349 |
-
add_option( $this->func . '_settings' );
|
350 |
-
}
|
351 |
-
|
352 |
-
foreach ( $this->get_registered_settings() as $tab => $sections ) {
|
353 |
-
foreach ( $sections as $section => $settings ) {
|
354 |
-
// Check for backwards compatibility
|
355 |
-
$section_tabs = $this->get_settings_tab_sections( $tab );
|
356 |
-
|
357 |
-
if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
|
358 |
-
$section = 'main';
|
359 |
-
$settings = $sections;
|
360 |
-
}
|
361 |
-
|
362 |
-
add_settings_section(
|
363 |
-
$this->func . '_settings_' . $tab . '_' . $section,
|
364 |
-
__return_null(),
|
365 |
-
'__return_false',
|
366 |
-
$this->func . '_settings_' . $tab . '_' . $section
|
367 |
-
);
|
368 |
-
|
369 |
-
foreach ( $settings as $option ) {
|
370 |
-
// For backwards compatibility
|
371 |
-
if ( empty( $option['id'] ) ) {
|
372 |
-
continue;
|
373 |
-
}
|
374 |
-
|
375 |
-
$name = isset( $option['name'] ) ? $option['name'] : '';
|
376 |
-
|
377 |
-
add_settings_field(
|
378 |
-
$this->func . '_settings[' . $option['id'] . ']',
|
379 |
-
$name,
|
380 |
-
function_exists( $this->func . '_' . $option['type'] . '_callback' ) ? $this->func . '_' . $option['type'] . '_callback' : ( method_exists( $this,
|
381 |
-
$option['type'] . '_callback' ) ? array(
|
382 |
-
$this,
|
383 |
-
$option['type'] . '_callback'
|
384 |
-
) : array( $this, 'missing_callback' ) ),
|
385 |
-
$this->func . '_settings_' . $tab . '_' . $section,
|
386 |
-
$this->func . '_settings_' . $tab . '_' . $section,
|
387 |
-
$this->prepare_setting_args( $section, $option )
|
388 |
-
);
|
389 |
-
}
|
390 |
-
}
|
391 |
-
}
|
392 |
-
|
393 |
-
register_setting( $this->func . '_settings', $this->func . '_settings', array( $this, 'settings_sanitize' ) );
|
394 |
-
}
|
395 |
-
|
396 |
-
/**
|
397 |
-
* Retrieve the plugin settings
|
398 |
-
*
|
399 |
-
* @access public
|
400 |
-
* @since 1.0.0
|
401 |
-
* @return array $settings The plugin settings
|
402 |
-
*/
|
403 |
-
public function get_registered_settings() {
|
404 |
-
return apply_filters( $this->func . '_registered_settings', array() );
|
405 |
-
}
|
406 |
-
|
407 |
-
/**
|
408 |
-
* Parses html parameters from $option
|
409 |
-
*
|
410 |
-
* @param string $section
|
411 |
-
* @param array $option
|
412 |
-
*
|
413 |
-
* @return array
|
414 |
-
*/
|
415 |
-
private function prepare_setting_args( $section, array $option ) {
|
416 |
-
$args = array(
|
417 |
-
'section' => $section,
|
418 |
-
'id' => isset( $option['id'] ) ? $option['id'] : null,
|
419 |
-
'desc' => ! empty( $option['desc'] ) ? $option['desc'] : '',
|
420 |
-
'name' => isset( $option['name'] ) ? $option['name'] : null,
|
421 |
-
'size' => isset( $option['size'] ) ? $option['size'] : null,
|
422 |
-
'options' => isset( $option['options'] ) ? $option['options'] : '',
|
423 |
-
'std' => isset( $option['std'] ) ? $option['std'] : '',
|
424 |
-
'min' => isset( $option['min'] ) ? $option['min'] : null,
|
425 |
-
'max' => isset( $option['max'] ) ? $option['max'] : null,
|
426 |
-
'step' => isset( $option['step'] ) ? $option['step'] : null,
|
427 |
-
'select2' => isset( $option['select2'] ) ? $option['select2'] : null,
|
428 |
-
'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
|
429 |
-
'multiple' => isset( $option['multiple'] ) ? $option['multiple'] : null,
|
430 |
-
'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
|
431 |
-
'readonly' => isset( $option['readonly'] ) ? $option['readonly'] : false,
|
432 |
-
'buttons' => isset( $option['buttons'] ) ? $option['buttons'] : null,
|
433 |
-
'wpautop' => isset( $option['wpautop'] ) ? $option['wpautop'] : null,
|
434 |
-
'teeny' => isset( $option['teeny'] ) ? $option['teeny'] : null,
|
435 |
-
'tab' => isset( $option['tab'] ) ? $option['tab'] : null,
|
436 |
-
'tooltip_title' => isset( $option['tooltip_title'] ) ? $option['tooltip_title'] : false,
|
437 |
-
'tooltip_desc' => isset( $option['tooltip_desc'] ) ? $option['tooltip_desc'] : false,
|
438 |
-
|
439 |
-
'available_header' => isset( $option['available_header'] ) ? $option['available_header'] : null,
|
440 |
-
'selected_header' => isset( $option['selected_header'] ) ? $option['selected_header'] : null,
|
441 |
-
);
|
442 |
-
|
443 |
-
if ( isset( $option[ self::CUSTOM_ATTRIBUTES_KEY ] ) ) {
|
444 |
-
$args[ self::CUSTOM_ATTRIBUTES_KEY ] = $option[ self::CUSTOM_ATTRIBUTES_KEY ];
|
445 |
-
}
|
446 |
-
|
447 |
-
if ( isset( $option[ self::CLASS_KEY ] ) ) {
|
448 |
-
$args[ self::CLASS_KEY ] = $this->prepare_class_arg( $option[ self::CLASS_KEY ], $args['id'] );
|
449 |
-
}
|
450 |
-
|
451 |
-
return $args;
|
452 |
-
}
|
453 |
-
|
454 |
-
/**
|
455 |
-
* Prepare class arg.
|
456 |
-
*
|
457 |
-
* @param string|array $class_option Class option.
|
458 |
-
* @param null|string $id id.
|
459 |
-
*
|
460 |
-
* @return string
|
461 |
-
*/
|
462 |
-
private function prepare_class_arg( $class_option, $id ) {
|
463 |
-
$class_arg = '';
|
464 |
-
if ( $id != null ) {
|
465 |
-
$class_arg .= $id . ' ';
|
466 |
-
}
|
467 |
-
if ( is_array( $class_option ) ) {
|
468 |
-
$class_arg .= implode( ' ', $class_option );
|
469 |
-
} else {
|
470 |
-
$class_arg .= $class_option;
|
471 |
-
}
|
472 |
-
|
473 |
-
return trim( $class_arg );
|
474 |
-
}
|
475 |
-
|
476 |
-
/**
|
477 |
-
* Checkbox callback
|
478 |
-
*
|
479 |
-
* @access public
|
480 |
-
* @since 1.0.0
|
481 |
-
*
|
482 |
-
* @param array $args Arguments passed by the setting
|
483 |
-
*
|
484 |
-
* @return void
|
485 |
-
*/
|
486 |
-
public function checkbox_callback( $args ) {
|
487 |
-
$options = $this->get_global_options();
|
488 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
489 |
-
$class_html = $this->get_class_html( $args );
|
490 |
-
|
491 |
-
$name = ' name="' . $this->func . '_settings[' . $args['id'] . ']"';
|
492 |
-
$checked = isset( $options[ $args['id'] ] ) ? checked( 1, $options[ $args['id'] ], false ) : '';
|
493 |
-
|
494 |
-
$html = '<input type="hidden"' . $name . ' value="-1" />';
|
495 |
-
$html .= '<input ' . $custom_attributes_html . $class_html . ' type="checkbox" id="' . $this->func . '_settings[' . $args['id'] . ']"' . $name . ' value="1" ' . $checked . '/> ';
|
496 |
-
$html = $this->append_description_html( $html, $args );
|
497 |
-
echo $this->apply_after_setting_output( $html, $args );
|
498 |
-
}
|
499 |
-
|
500 |
-
/**
|
501 |
-
* Get custom attributes.
|
502 |
-
*
|
503 |
-
* @param array $args Field data.
|
504 |
-
*
|
505 |
-
* @return string
|
506 |
-
*
|
507 |
-
* @see https://github.com/woocommerce/woocommerce/blob/master/includes/abstracts/abstract-wc-settings-api.php
|
508 |
-
*/
|
509 |
-
private function get_custom_attribute_html( $args ) {
|
510 |
-
$custom_attributes = array();
|
511 |
-
if ( ! empty( $args[ self::CUSTOM_ATTRIBUTES_KEY ] ) && is_array( $args[ self::CUSTOM_ATTRIBUTES_KEY ] ) ) {
|
512 |
-
foreach ( $args[ self::CUSTOM_ATTRIBUTES_KEY ] as $attribute => $attribute_value ) {
|
513 |
-
|
514 |
-
$custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
|
515 |
-
}
|
516 |
-
}
|
517 |
-
|
518 |
-
return implode( ' ', $custom_attributes );
|
519 |
-
}
|
520 |
-
|
521 |
-
|
522 |
-
/**
|
523 |
-
* Get class attribute.
|
524 |
-
*
|
525 |
-
* @param array $args Field data.
|
526 |
-
* @param string $additional_class Additional class.
|
527 |
-
*
|
528 |
-
* @return string
|
529 |
-
*/
|
530 |
-
private function get_class_html( $args, $additional_class = '' ) {
|
531 |
-
$class_attribute_value = '';
|
532 |
-
if ( ! empty( $args[ self::CLASS_KEY ] ) ) {
|
533 |
-
$class_attribute_value = $args[ self::CLASS_KEY ];
|
534 |
-
}
|
535 |
-
if ( $additional_class !== '' ) {
|
536 |
-
$class_attribute_value .= ' ' . $additional_class;
|
537 |
-
}
|
538 |
-
if ( $class_attribute_value !== '' ) {
|
539 |
-
return ' class="' . trim( $class_attribute_value ) . '" ';
|
540 |
-
} else {
|
541 |
-
return '';
|
542 |
-
}
|
543 |
-
}
|
544 |
-
|
545 |
-
/**
|
546 |
-
* @param string $html
|
547 |
-
* @param array $args
|
548 |
-
*
|
549 |
-
* @return string
|
550 |
-
*/
|
551 |
-
private function append_description_html( $html, $args ) {
|
552 |
-
return $html . '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
553 |
-
}
|
554 |
-
|
555 |
-
/**
|
556 |
-
* @param string $html
|
557 |
-
* @param array $args
|
558 |
-
*
|
559 |
-
* @return string
|
560 |
-
*/
|
561 |
-
private function apply_after_setting_output( $html, $args ) {
|
562 |
-
return apply_filters( $this->func . '_after_setting_output', $html, $args );
|
563 |
-
}
|
564 |
-
|
565 |
-
/**
|
566 |
-
* Color callback
|
567 |
-
*
|
568 |
-
* @access public
|
569 |
-
* @since 1.0.0
|
570 |
-
*
|
571 |
-
* @param array $args Arguments passed by the settings
|
572 |
-
*
|
573 |
-
* @return void
|
574 |
-
*/
|
575 |
-
public function color_callback( $args ) {
|
576 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
577 |
-
$class_html = $this->get_class_html( $args );
|
578 |
-
$value = $this->get_std_input_value( $args );
|
579 |
-
|
580 |
-
$default = isset( $args['std'] ) ? $args['std'] : '';
|
581 |
-
|
582 |
-
$html = '<input ' . $custom_attributes_html . $class_html . ' type="text" class="s214-color-picker" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" /> ';
|
583 |
-
$html .= '<span class="s214-color-picker-label description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
584 |
-
|
585 |
-
echo $this->apply_after_setting_output( $html, $args );
|
586 |
-
}
|
587 |
-
|
588 |
-
/**
|
589 |
-
* @param array $args
|
590 |
-
*
|
591 |
-
* @return string
|
592 |
-
*/
|
593 |
-
private function get_std_input_value( $args ) {
|
594 |
-
$options = $this->get_global_options();
|
595 |
-
if ( isset( $options[ $args['id'] ] ) ) {
|
596 |
-
return $options[ $args['id'] ];
|
597 |
-
} else {
|
598 |
-
return isset( $args['std'] ) ? $args['std'] : '';
|
599 |
-
}
|
600 |
-
}
|
601 |
-
|
602 |
-
/**
|
603 |
-
* Descriptive text callback
|
604 |
-
*
|
605 |
-
* @access public
|
606 |
-
* @since 1.0.0
|
607 |
-
*
|
608 |
-
* @param array $args Arguments passed by the setting
|
609 |
-
*
|
610 |
-
* @return void
|
611 |
-
*/
|
612 |
-
public function descriptive_text_callback( $args ) {
|
613 |
-
$html = wp_kses_post( $args['desc'] );
|
614 |
-
|
615 |
-
echo $this->apply_after_setting_output( $html, $args );
|
616 |
-
}
|
617 |
-
|
618 |
-
/**
|
619 |
-
* HTML callback
|
620 |
-
*
|
621 |
-
* @since 1.0.0
|
622 |
-
*
|
623 |
-
* @param array $args Arguments passed by the setting
|
624 |
-
*
|
625 |
-
* @return void
|
626 |
-
*/
|
627 |
-
public function html_callback( $args ) {
|
628 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
629 |
-
$class_html = $this->get_class_html( $args, 'large-text s214-html' );
|
630 |
-
$value = $this->get_std_input_value( $args );
|
631 |
-
|
632 |
-
$html = '<textarea ' . $custom_attributes_html . $class_html . ' cols="50" rows="5" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea> ';
|
633 |
-
$html = $this->append_description_html( $html, $args );
|
634 |
-
echo $this->apply_after_setting_output( $html, $args );
|
635 |
-
}
|
636 |
-
|
637 |
-
/**
|
638 |
-
* Multicheck callback
|
639 |
-
*
|
640 |
-
* @access public
|
641 |
-
* @since 1.0.0
|
642 |
-
*
|
643 |
-
* @param array $args Arguments passed by the setting
|
644 |
-
*
|
645 |
-
* @return void
|
646 |
-
*/
|
647 |
-
public function multicheck_callback( $args ) {
|
648 |
-
$options = $this->get_global_options();
|
649 |
-
|
650 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
651 |
-
$class_html = $this->get_class_html( $args );
|
652 |
-
|
653 |
-
if ( ! empty( $args['options'] ) ) {
|
654 |
-
$html = '';
|
655 |
-
|
656 |
-
foreach ( $args['options'] as $key => $option ) {
|
657 |
-
if ( isset( $options[ $args['id'] ][ $key ] ) ) {
|
658 |
-
$enabled = $option;
|
659 |
-
} else {
|
660 |
-
$enabled = isset( $args['std'][ $key ] ) ? $args['std'][ $key ] : null;
|
661 |
-
}
|
662 |
-
|
663 |
-
$html .= '<input ' . $custom_attributes_html . $class_html . ' name="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']" id="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']" type="checkbox" value="' . $option . '" ' . checked( $option,
|
664 |
-
$enabled, false ) . ' /> ';
|
665 |
-
$html .= '<label for="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']">' . $option . '</label><br />';
|
666 |
-
}
|
667 |
-
$html .= '<p class="description">' . $args['desc'] . '</p>';
|
668 |
-
|
669 |
-
echo $this->apply_after_setting_output( $html, $args );
|
670 |
-
}
|
671 |
-
}
|
672 |
-
|
673 |
-
/**
|
674 |
-
* Number callback
|
675 |
-
*
|
676 |
-
* @access public
|
677 |
-
* @since 1.0.0
|
678 |
-
*
|
679 |
-
* @param array $args Arguments passed by the setting
|
680 |
-
*
|
681 |
-
* @return void
|
682 |
-
*/
|
683 |
-
public function number_callback( $args ) {
|
684 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
685 |
-
$class_html = $this->get_class_html( $args );
|
686 |
-
$value = $this->get_std_input_value( $args );
|
687 |
-
|
688 |
-
$name = ' name="' . $this->func . '_settings[' . $args['id'] . ']"';
|
689 |
-
$max = isset( $args['max'] ) ? $args['max'] : 999999;
|
690 |
-
$min = isset( $args['min'] ) ? $args['min'] : 0;
|
691 |
-
$step = isset( $args['step'] ) ? $args['step'] : 1;
|
692 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
693 |
-
$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
|
694 |
-
|
695 |
-
$html = '<input ' . $custom_attributes_html . $class_html . ' type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . $size . '-text" id="' . $this->func . '_settings[' . $args['id'] . ']"' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/> ';
|
696 |
-
$html = $this->append_description_html( $html, $args );
|
697 |
-
echo $this->apply_after_setting_output( $html, $args );
|
698 |
-
}
|
699 |
-
|
700 |
-
/**
|
701 |
-
* Password callback
|
702 |
-
*
|
703 |
-
* @access public
|
704 |
-
* @since 1.0.0
|
705 |
-
*
|
706 |
-
* @param array $args Arguments passed by the settings
|
707 |
-
*
|
708 |
-
* @return void
|
709 |
-
*/
|
710 |
-
public function password_callback( $args ) {
|
711 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
712 |
-
$size = $this->get_size_attr( $args );
|
713 |
-
$class_html = $this->get_class_html( $args, $size . '-text' );
|
714 |
-
$value = $this->get_std_input_value( $args );
|
715 |
-
|
716 |
-
$html = '<input ' . $custom_attributes_html . $class_html . ' type="password" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" /> ';
|
717 |
-
$html = $this->append_description_html( $html, $args );
|
718 |
-
echo $this->apply_after_setting_output( $html, $args );
|
719 |
-
}
|
720 |
-
|
721 |
-
/**
|
722 |
-
* @param array $args
|
723 |
-
*
|
724 |
-
* @return string
|
725 |
-
*/
|
726 |
-
private function get_size_attr( $args ) {
|
727 |
-
return ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
728 |
-
}
|
729 |
-
|
730 |
-
/**
|
731 |
-
* Radio callback
|
732 |
-
*
|
733 |
-
* @access public
|
734 |
-
* @since 1.0.0
|
735 |
-
*
|
736 |
-
* @param array $args Arguments passed by the setting
|
737 |
-
*
|
738 |
-
* @return void
|
739 |
-
*/
|
740 |
-
public function radio_callback( $args ) {
|
741 |
-
$options = $this->get_global_options();
|
742 |
-
|
743 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
744 |
-
$class_html = $this->get_class_html( $args );
|
745 |
-
|
746 |
-
if ( ! empty( $args['options'] ) ) {
|
747 |
-
$html = '';
|
748 |
-
|
749 |
-
foreach ( $args['options'] as $key => $option ) {
|
750 |
-
$checked = false;
|
751 |
-
|
752 |
-
if ( isset( $options[ $args['id'] ] ) && $options[ $args['id'] ] === $key ) {
|
753 |
-
$checked = true;
|
754 |
-
} elseif ( isset( $args['std'] ) && $args['std'] === $key && ! isset( $options[ $args['id'] ] ) ) {
|
755 |
-
$checked = true;
|
756 |
-
}
|
757 |
-
|
758 |
-
$html .= '<input ' . $custom_attributes_html . $class_html . ' name="' . $this->func . '_settings[' . $args['id'] . ']" id="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']" type="radio" value="' . $key . '" ' . checked( true,
|
759 |
-
$checked, false ) . '/> ';
|
760 |
-
$html .= '<label for="' . $this->func . '_settings[' . $args['id'] . '][' . $key . ']">' . $option . '</label><br />';
|
761 |
-
}
|
762 |
-
|
763 |
-
$html .= '<p class="description">' . $args['desc'] . '</p>';
|
764 |
-
|
765 |
-
echo $this->apply_after_setting_output( $html, $args );
|
766 |
-
}
|
767 |
-
}
|
768 |
-
|
769 |
-
|
770 |
-
/**
|
771 |
-
* Select callback
|
772 |
-
*
|
773 |
-
* @access public
|
774 |
-
* @since 1.0.0
|
775 |
-
*
|
776 |
-
* @param array $args Arguments passed by the setting
|
777 |
-
*
|
778 |
-
* @return void
|
779 |
-
*/
|
780 |
-
public function select_callback( $args ) {
|
781 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
782 |
-
$class_html = $this->get_class_html( $args );
|
783 |
-
$value = $this->get_std_input_value( $args );
|
784 |
-
|
785 |
-
$placeholder = isset( $args['placeholder'] ) ? $args['placeholder'] : '';
|
786 |
-
$select2 = isset( $args['select2'] ) ? ' class="s214-select2"' : '';
|
787 |
-
$width = isset( $args['size'] ) ? ' style="width: ' . $args['size'] . '"' : '';
|
788 |
-
|
789 |
-
if ( isset( $args['multiple'] ) && $args['multiple'] === true ) {
|
790 |
-
$html = '<input type="hidden" name="' . $this->func . '_settings[' . $args['id'] . '][]" value="" />';
|
791 |
-
$html .= '<select ' . $custom_attributes_html . $class_html . ' id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . '][]"' . $select2 . ' data-placeholder="' . $placeholder . '" multiple="multiple"' . $width . ' />';
|
792 |
-
} else {
|
793 |
-
$html = '<select ' . $custom_attributes_html . $class_html . ' id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']"' . $select2 . ' data-placeholder="' . $placeholder . '"' . $width . ' />';
|
794 |
-
}
|
795 |
-
|
796 |
-
foreach ( $args['options'] as $option => $name ) {
|
797 |
-
if ( isset( $args['multiple'] ) && $args['multiple'] === true ) {
|
798 |
-
if ( is_array( $value ) ) {
|
799 |
-
$selected = ( in_array( $option, $value ) ? 'selected="selected"' : '' );
|
800 |
-
} else {
|
801 |
-
$selected = '';
|
802 |
-
}
|
803 |
-
} else {
|
804 |
-
if ( is_string( $value ) ) {
|
805 |
-
$selected = selected( $option, $value, false );
|
806 |
-
} else {
|
807 |
-
$selected = '';
|
808 |
-
}
|
809 |
-
}
|
810 |
-
|
811 |
-
$html .= '<option value="' . $option . '" ' . $selected . '>' . $name . '</option>';
|
812 |
-
}
|
813 |
-
|
814 |
-
$html .= '</select> ';
|
815 |
-
$html = $this->append_description_html( $html, $args );
|
816 |
-
echo $this->apply_after_setting_output( $html, $args );
|
817 |
-
}
|
818 |
-
|
819 |
-
|
820 |
-
/**
|
821 |
-
* Sysinfo callback
|
822 |
-
*
|
823 |
-
* @since 1.1.0
|
824 |
-
*
|
825 |
-
* @param array $args Arguements passed by the settings
|
826 |
-
*
|
827 |
-
* @return void
|
828 |
-
*/
|
829 |
-
public function sysinfo_callback( $args ) {
|
830 |
-
$options = $this->get_global_options();
|
831 |
-
|
832 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
833 |
-
$class_html = $this->get_class_html( $args );
|
834 |
-
|
835 |
-
if ( ! isset( $options[ $args['tab'] ] ) || ( isset( $options[ $args['tab'] ] ) && isset( $_GET['tab'] ) && $_GET['tab'] === $options[ $args['tab'] ] ) ) {
|
836 |
-
$html = '<textarea ' . $custom_attributes_html . $class_html . ' readonly="readonly" onclick="this.focus(); this.select()" id="system-info-textarea" name="' . $this->func . '-system-info" title="' . __( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).',
|
837 |
-
's214-settings' ) . '">' . $this->sysinfo->get_system_info() . '</textarea>';
|
838 |
-
$html .= '<p class="submit">';
|
839 |
-
$html .= '<input type="hidden" name="' . $this->slug . '-settings-action" value="download_system_info" />';
|
840 |
-
$html .= '<a class="button button-primary" href="' . add_query_arg( $this->slug . '-settings-action',
|
841 |
-
'download_system_info' ) . '">' . __( 'Download System Info File', 's214-settings' ) . '</a>';
|
842 |
-
$html .= '</p>';
|
843 |
-
|
844 |
-
echo $this->apply_after_setting_output( $html, $args );
|
845 |
-
}
|
846 |
-
}
|
847 |
-
|
848 |
-
|
849 |
-
/**
|
850 |
-
* Text callback
|
851 |
-
*
|
852 |
-
* @since 1.0.0
|
853 |
-
*
|
854 |
-
* @param array $args Arguments passed by the setting
|
855 |
-
*
|
856 |
-
* @return void
|
857 |
-
*/
|
858 |
-
public function text_callback( $args ) {
|
859 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
860 |
-
$value = $this->get_std_input_value( $args );
|
861 |
-
|
862 |
-
$name = ' name="' . $this->func . '_settings[' . $args['id'] . ']"';
|
863 |
-
$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
|
864 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
865 |
-
$class_html = $this->get_class_html( $args, $size . '-text' );
|
866 |
-
|
867 |
-
$html = '<input ' . $custom_attributes_html . $class_html . ' type="text" id="' . $this->func . '_settings[' . $args['id'] . ']"' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/> ';
|
868 |
-
$html = $this->append_description_html( $html, $args );
|
869 |
-
echo $this->apply_after_setting_output( $html, $args );
|
870 |
-
}
|
871 |
-
|
872 |
-
|
873 |
-
/**
|
874 |
-
* Textarea callback
|
875 |
-
*
|
876 |
-
* @since 1.0.0
|
877 |
-
*
|
878 |
-
* @param array $args Arguments passed by the setting
|
879 |
-
*
|
880 |
-
* @return void
|
881 |
-
*/
|
882 |
-
public function textarea_callback( $args ) {
|
883 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
884 |
-
$class_html = $this->get_class_html( $args, 'large-text' );
|
885 |
-
$value = $this->get_std_input_value( $args );
|
886 |
-
|
887 |
-
$html = '<textarea ' . $custom_attributes_html . $class_html . ' cols="50" rows="5" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea> ';
|
888 |
-
$html = $this->append_description_html( $html, $args );
|
889 |
-
echo $this->apply_after_setting_output( $html, $args );
|
890 |
-
}
|
891 |
-
|
892 |
-
|
893 |
-
/**
|
894 |
-
* Upload callback
|
895 |
-
*
|
896 |
-
* @since 1.0.0
|
897 |
-
*
|
898 |
-
* @param array $args Arguments passed by the setting
|
899 |
-
*
|
900 |
-
* @return void
|
901 |
-
*/
|
902 |
-
public function upload_callback( $args ) {
|
903 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
904 |
-
$value = $this->get_std_input_value( $args );
|
905 |
-
$size = $this->get_size_attr( $args );
|
906 |
-
$class_html = $this->get_class_html( $args, $size . '-text' );
|
907 |
-
|
908 |
-
$html = '<input ' . $custom_attributes_html . $class_html . ' type="text" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( stripslashes( $value ) ) . '" /> ';
|
909 |
-
$html .= '<span><input type="button" class="' . $this->func . '_settings_upload_button button-secondary" value="' . __( 'Upload File',
|
910 |
-
's214-settings' ) . '" /></span> ';
|
911 |
-
$html = $this->append_description_html( $html, $args );
|
912 |
-
echo $this->apply_after_setting_output( $html, $args );
|
913 |
-
}
|
914 |
-
|
915 |
-
|
916 |
-
/**
|
917 |
-
* License field callback
|
918 |
-
*
|
919 |
-
* @access public
|
920 |
-
* @since 1.0.0
|
921 |
-
*
|
922 |
-
* @param array $args Arguments passed by the setting
|
923 |
-
*
|
924 |
-
* @return void
|
925 |
-
*/
|
926 |
-
public function license_key_callback( $args ) {
|
927 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
928 |
-
$value = $this->get_std_input_value( $args );
|
929 |
-
$size = $this->get_size_attr( $args );
|
930 |
-
$class_html = $this->get_class_html( $args, $size . '-text' );
|
931 |
-
|
932 |
-
$html = '<input ' . $custom_attributes_html . $class_html . ' type="text" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" /> ';
|
933 |
-
|
934 |
-
if ( get_option( $args['options']['is_valid_license_option'] ) ) {
|
935 |
-
$html .= '<input type="submit" class="button-secondary" name="' . $args['id'] . '_deactivate" value="' . __( 'Deactivate License',
|
936 |
-
's214-settings' ) . '"/>';
|
937 |
-
}
|
938 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']"> ' . $args['desc'] . '</label></span>';
|
939 |
-
|
940 |
-
wp_nonce_field( $args['id'] . '-nonce', $args['id'] . '-nonce' );
|
941 |
-
|
942 |
-
echo $this->apply_after_setting_output( $html, $args );
|
943 |
-
}
|
944 |
-
|
945 |
-
|
946 |
-
/**
|
947 |
-
* Check if we should load admin scripts
|
948 |
-
*
|
949 |
-
* @access public
|
950 |
-
* @since 1.0.0
|
951 |
-
*
|
952 |
-
* @param string $hook The hook for the current page
|
953 |
-
*
|
954 |
-
* @return bool true if we should load scripts, false otherwise
|
955 |
-
*/
|
956 |
-
public function load_scripts( $hook ) {
|
957 |
-
global ${$this->func . '_settings_page'};
|
958 |
-
|
959 |
-
$ret = false;
|
960 |
-
$pages = apply_filters( $this->func . '_admin_pages', array( ${$this->func . '_settings_page'} ) );
|
961 |
-
|
962 |
-
if ( in_array( $hook, $pages ) ) {
|
963 |
-
$ret = true;
|
964 |
-
}
|
965 |
-
|
966 |
-
return (bool) apply_filters( $this->func . 'load_scripts', $ret );
|
967 |
-
}
|
968 |
-
|
969 |
-
/**
|
970 |
-
* Add tooltips
|
971 |
-
*
|
972 |
-
* @access public
|
973 |
-
* @since 1.2.0
|
974 |
-
*
|
975 |
-
* @param string $html The current field HTML
|
976 |
-
* @param array $args Arguments passed to the field
|
977 |
-
*
|
978 |
-
* @return string $html The updated field HTML
|
979 |
-
*/
|
980 |
-
function add_setting_tooltip( $html, $args ) {
|
981 |
-
if ( ! empty( $args['tooltip_title'] ) && ! empty( $args['tooltip_desc'] ) ) {
|
982 |
-
$tooltip = '<span alt="f223" class="s214-help-tip dashicons dashicons-editor-help" title="<strong>' . $args['tooltip_title'] . '</strong>: ' . $args['tooltip_desc'] . '"></span>';
|
983 |
-
$html .= $tooltip;
|
984 |
-
}
|
985 |
-
|
986 |
-
return $html;
|
987 |
-
}
|
988 |
-
|
989 |
-
private $url_path;
|
990 |
-
|
991 |
-
|
992 |
-
public function enqueue_scripts( $hook ) {
|
993 |
-
if ( ! apply_filters( $this->func . '_load_admin_scripts', $this->load_scripts( $hook ), $hook ) ) {
|
994 |
-
return;
|
995 |
-
}
|
996 |
-
|
997 |
-
global $wp_scripts;
|
998 |
-
|
999 |
-
// Use minified libraries if SCRIPT_DEBUG is turned off
|
1000 |
-
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
|
1001 |
-
//$url_path = str_replace( WP_CONTENT_DIR, WP_CONTENT_URL, dirname( __FILE__ ) );
|
1002 |
-
//$url_path = $this->plugin->get_plugin_url() . 'classes/wpdesk';
|
1003 |
-
$url_path = $this->url_path . '/vendor/wpdesk/wp-settings/source';
|
1004 |
-
$select2_cdn = 'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/';
|
1005 |
-
$cm_cdn = 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.14.2/';
|
1006 |
-
$jquery_version = isset( $wp_scripts->registered['jquery-ui-core']->ver ) ? $wp_scripts->registered['jquery-ui-core']->ver : '1.11.4';
|
1007 |
-
|
1008 |
-
wp_enqueue_style( 'wp-color-picker' );
|
1009 |
-
wp_enqueue_script( 'wp-color-picker' );
|
1010 |
-
wp_enqueue_script( 'jquery-ui-tooltip' );
|
1011 |
-
wp_enqueue_media();
|
1012 |
-
wp_enqueue_style( 'jquery-ui-style', '//code.jquery.com/ui/' . $jquery_version . '/themes/smoothness/jquery-ui' . $suffix . '.css', array(), $jquery_version );
|
1013 |
-
|
1014 |
-
wp_enqueue_script( 'media-upload' );
|
1015 |
-
wp_enqueue_style( 'thickbox' );
|
1016 |
-
wp_enqueue_script( 'thickbox' );
|
1017 |
-
wp_enqueue_style( 's14-select2', $select2_cdn . 'css/select2' . $suffix . '.css', array(), '4.0.5' );
|
1018 |
-
wp_enqueue_script( 's14-select2', $select2_cdn . 'js/select2' . $suffix . '.js', array( 'jquery' ), '4.0.5' );
|
1019 |
-
|
1020 |
-
wp_enqueue_style( $this->slug . '-cm', $cm_cdn . 'codemirror.css', array(), '5.10' );
|
1021 |
-
wp_enqueue_script( $this->slug . '-cm', $cm_cdn . 'codemirror.js', array( 'jquery' ), '5.14.2' );
|
1022 |
-
wp_enqueue_script( $this->slug . '-cm-html', $cm_cdn . 'mode/htmlmixed/htmlmixed.js', array(
|
1023 |
-
'jquery',
|
1024 |
-
$this->slug . '-cm'
|
1025 |
-
), '5.14.2' );
|
1026 |
-
wp_enqueue_script( $this->slug . '-cm-xml', $cm_cdn . 'mode/xml/xml.js', array(
|
1027 |
-
'jquery',
|
1028 |
-
$this->slug . '-cm'
|
1029 |
-
), '5.14.2' );
|
1030 |
-
wp_enqueue_script( $this->slug . '-cm-js', $cm_cdn . 'mode/javascript/javascript.js', array(
|
1031 |
-
'jquery',
|
1032 |
-
$this->slug . '-cm'
|
1033 |
-
), '5.14.2' );
|
1034 |
-
wp_enqueue_script( $this->slug . '-cm-css', $cm_cdn . 'mode/css/css.js', array(
|
1035 |
-
'jquery',
|
1036 |
-
$this->slug . '-cm'
|
1037 |
-
), '5.14.2' );
|
1038 |
-
wp_enqueue_script( $this->slug . '-cm-php', $cm_cdn . 'mode/php/php.js', array(
|
1039 |
-
'jquery',
|
1040 |
-
$this->slug . '-cm'
|
1041 |
-
), '5.14.2' );
|
1042 |
-
wp_enqueue_script( $this->slug . '-cm-clike', $cm_cdn . 'mode/clike/clike.js', array(
|
1043 |
-
'jquery',
|
1044 |
-
$this->slug . '-cm'
|
1045 |
-
), '5.14.2' );
|
1046 |
-
|
1047 |
-
wp_enqueue_style( $this->slug, $url_path . '/assets/css/admin' . $suffix . '.css', array(), $this->version );
|
1048 |
-
wp_enqueue_style( $this->slug . '-settings', $url_path . '/assets/css/admin-settings' . $suffix . '.css', array(), $this->version );
|
1049 |
-
wp_enqueue_script( $this->slug . '-js', $url_path . '/assets/js/admin-settings' . $suffix . '.js', array( 'jquery' ), $this->version );
|
1050 |
-
wp_localize_script( $this->slug . '-js', 's214_settings_vars', apply_filters( $this->func . 'localize_script', array(
|
1051 |
-
'func' => $this->func,
|
1052 |
-
'image_media_button' => __( 'Insert Image', 'wpdesk-plugin' ),
|
1053 |
-
'image_media_title' => __( 'Select Image', 'wpdesk-plugin' ),
|
1054 |
-
) ) );
|
1055 |
-
}
|
1056 |
-
|
1057 |
-
/**
|
1058 |
-
* Date callback
|
1059 |
-
*
|
1060 |
-
* @access public
|
1061 |
-
* @since 1.0.0
|
1062 |
-
*
|
1063 |
-
* @param array $args Arguments passed by the setting
|
1064 |
-
*
|
1065 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
1066 |
-
* @return void
|
1067 |
-
*/
|
1068 |
-
public function date_callback( $args ) {
|
1069 |
-
global ${$this->func . '_options'};
|
1070 |
-
|
1071 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
1072 |
-
|
1073 |
-
if ( isset( ${$this->func . '_options'}[ $args['id'] ] ) ) {
|
1074 |
-
$value = ${$this->func . '_options'}[ $args['id'] ];
|
1075 |
-
} else {
|
1076 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
1077 |
-
}
|
1078 |
-
|
1079 |
-
$name = ' name="' . $this->func . '_settings[' . $args['id'] . ']"';
|
1080 |
-
$max = isset( $args['max'] ) ? $args['max'] : 999999;
|
1081 |
-
$min = isset( $args['min'] ) ? $args['min'] : 0;
|
1082 |
-
$step = isset( $args['step'] ) ? $args['step'] : 1;
|
1083 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'date';
|
1084 |
-
$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
|
1085 |
-
$class_html = $this->get_class_html( $args, $size . '-text' );
|
1086 |
-
|
1087 |
-
$html = '<input ' . $custom_attributes_html . $class_html . ' type="date" ' . '" id="' . $this->func . '_settings[' . $args['id'] . ']"' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/> ';
|
1088 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
1089 |
-
|
1090 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
1091 |
-
}
|
1092 |
-
|
1093 |
-
|
1094 |
-
/**
|
1095 |
-
* select 2 columns
|
1096 |
-
*
|
1097 |
-
* @access public
|
1098 |
-
* @since 1.0.0
|
1099 |
-
*
|
1100 |
-
* @param array $args Arguments passed by the setting
|
1101 |
-
*
|
1102 |
-
* @global array ${$this->func . '_options'} The Beacon options
|
1103 |
-
* @return void
|
1104 |
-
*/
|
1105 |
-
public function select_2_columns_callback( $args ) {
|
1106 |
-
global ${$this->func . '_options'};
|
1107 |
-
|
1108 |
-
$custom_attributes_html = $this->get_custom_attribute_html( $args );
|
1109 |
-
$class_html = $this->get_class_html( $args, 'select-2-columns' );
|
1110 |
-
|
1111 |
-
if ( isset( ${$this->func . '_options'}[ $args['id'] ] ) ) {
|
1112 |
-
$value = ${$this->func . '_options'}[ $args['id'] ];
|
1113 |
-
} else {
|
1114 |
-
$value = isset( $args['std'] ) ? $args['std'] : '';
|
1115 |
-
}
|
1116 |
-
|
1117 |
-
$value_array = explode( ',', $value );
|
1118 |
-
|
1119 |
-
$placeholder = isset( $args['placeholder'] ) ? $args['placeholder'] : '';
|
1120 |
-
$width = isset( $args['size'] ) ? ' style="width: ' . $args['size'] . '"' : '';
|
1121 |
-
|
1122 |
-
$available_header = isset( $args['available_header'] ) ? $args['available_header'] : '';
|
1123 |
-
|
1124 |
-
$selected_header = isset( $args['selected_header'] ) ? $args['selected_header'] : '';
|
1125 |
-
|
1126 |
-
$html = '<input type="hidden" value="' . esc_attr( $value ) . '" id="' . $this->func . '_settings[' . $args['id'] . ']" name="' . $this->func . '_settings[' . $args['id'] . ']"' . ' />';
|
1127 |
-
|
1128 |
-
$html_list_available = '<div class="available-column">';
|
1129 |
-
$html_list_available .= '<strong>' . $available_header . '</strong>';
|
1130 |
-
$html_list_available .= '<ul id="' . $this->func . '_settings[' . $args['id'] . '][available]" class="available connectedSortable">';
|
1131 |
-
|
1132 |
-
$html_list_selected = '<div class="selected-column">';
|
1133 |
-
$html_list_selected .= '<strong>' . $selected_header . '</strong>';
|
1134 |
-
$html_list_selected .= '<ul id="' . $this->func . '_settings[' . $args['id'] . '][selected]" class="selected connectedSortable">';
|
1135 |
-
|
1136 |
-
foreach ( $value_array as $value ) {
|
1137 |
-
if ( isset( $args['options'][ $value ] ) ) {
|
1138 |
-
$option = $value;
|
1139 |
-
$name = $args['options'][ $value ];
|
1140 |
-
$html_list_selected .= '<li data-value="' . esc_attr( $option ) . '">' . $name . '</li>';
|
1141 |
-
}
|
1142 |
-
}
|
1143 |
-
|
1144 |
-
foreach ( $args['options'] as $option => $name ) {
|
1145 |
-
if ( ! is_array( $value_array ) || ! in_array( $option, $value_array ) ) {
|
1146 |
-
$html_list_available .= '<li data-value="' . esc_attr( $option ) . '">' . $name . '</li>';
|
1147 |
-
}
|
1148 |
-
}
|
1149 |
-
|
1150 |
-
$html_list_available .= '</ul></div>';
|
1151 |
-
$html_list_selected .= '</ul></div>';
|
1152 |
-
|
1153 |
-
$html .= '<div ' . $custom_attributes_html . $class_html . '>';
|
1154 |
-
$html .= $html_list_available;
|
1155 |
-
$html .= $html_list_selected;
|
1156 |
-
|
1157 |
-
$html .= '<div style="clear:both;">';
|
1158 |
-
|
1159 |
-
$html .= '<script type="text/javascript">';
|
1160 |
-
$html .= "\n";
|
1161 |
-
$html .= '
|
1162 |
-
jQuery( function() {
|
1163 |
-
jQuery( "#' . $this->func . '_settings\\\\[' . $args['id'] . '\\\\]\\\\[available\\\\], #' . $this->func . '_settings\\\\[' . $args['id'] . '\\\\]\\\\[selected\\\\]" ).sortable({
|
1164 |
-
connectWith: ".connectedSortable",
|
1165 |
-
deactivate: function( event, ui ) {
|
1166 |
-
jQuery("#' . $this->func . '_settings\\\\[' . $args['id'] . '\\\\]").val("");
|
1167 |
-
var val = "";
|
1168 |
-
jQuery("#' . $this->func . '_settings\\\\[' . $args['id'] . '\\\\]\\\\[selected\\\\] > li").each( function () {
|
1169 |
-
if ( val != "" ) {
|
1170 |
-
val = val + ",";
|
1171 |
-
}
|
1172 |
-
val = val + jQuery(this).attr("data-value");
|
1173 |
-
});
|
1174 |
-
jQuery("#' . $this->func . '_settings\\\\[' . $args['id'] . '\\\\]").val(val);
|
1175 |
-
}
|
1176 |
-
}).disableSelection();
|
1177 |
-
} );
|
1178 |
-
';
|
1179 |
-
$html .= "\n";
|
1180 |
-
$html .= '</script>';
|
1181 |
-
|
1182 |
-
$html .= '</div>';
|
1183 |
-
|
1184 |
-
$html .= '<span class="description"><label for="' . $this->func . '_settings[' . $args['id'] . ']">' . $args['desc'] . '</label></span>';
|
1185 |
-
|
1186 |
-
echo apply_filters( $this->func . '_after_setting_output', $html, $args );
|
1187 |
-
}
|
1188 |
-
|
1189 |
-
public function set_text_domain( $text_domain ) {
|
1190 |
-
$this->text_domain = $text_domain;
|
1191 |
-
}
|
1192 |
-
|
1193 |
-
public function get_text_domain() {
|
1194 |
-
return $this->text_domain;
|
1195 |
-
}
|
1196 |
-
|
1197 |
-
}
|
1198 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/class.wpdesk-wp-settings.php
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* WP Desk Wordpress Settings class
|
4 |
-
*
|
5 |
-
* @package wpdesk\wp-settings
|
6 |
-
* @since 1.0.0
|
7 |
-
*/
|
8 |
-
|
9 |
-
|
10 |
-
// Exit if accessed directly
|
11 |
-
if( ! defined( 'ABSPATH' ) ) {
|
12 |
-
exit;
|
13 |
-
}
|
14 |
-
|
15 |
-
|
16 |
-
/**
|
17 |
-
* WP Desk Wordpress Settings class
|
18 |
-
*
|
19 |
-
*/
|
20 |
-
class WPDesk_WP_Settings {
|
21 |
-
|
22 |
-
private $settings;
|
23 |
-
|
24 |
-
/**
|
25 |
-
* WPDesk_WP_Settings constructor.
|
26 |
-
*
|
27 |
-
* @param string $url_path
|
28 |
-
* @param string $slug
|
29 |
-
* @param string $default_tab
|
30 |
-
*/
|
31 |
-
public function __construct( $url_path = '', $slug = 'wpdesk-settings', $default_tab = 'general' ) {
|
32 |
-
$this->settings = new WPDesk_S214_Settings( $url_path, $slug, $default_tab );
|
33 |
-
}
|
34 |
-
|
35 |
-
/**
|
36 |
-
* Get single option from settings.
|
37 |
-
*
|
38 |
-
* @param string $key
|
39 |
-
* @param bool $default
|
40 |
-
*
|
41 |
-
* @return mixed
|
42 |
-
*/
|
43 |
-
public function get_option( $key = '', $default = false ) {
|
44 |
-
return $this->settings->get_option( $key, $default );
|
45 |
-
}
|
46 |
-
|
47 |
-
}
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/modules/licensing/S214_Plugin_Updater.php
DELETED
@@ -1,382 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// uncomment this line for testing
|
4 |
-
//set_site_transient( 'update_plugins', null );
|
5 |
-
|
6 |
-
// Exit if accessed directly
|
7 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Allows plugins to use their own update API.
|
11 |
-
*
|
12 |
-
* @author Pippin Williamson
|
13 |
-
* @version 1.6
|
14 |
-
*/
|
15 |
-
class S214_Plugin_Updater {
|
16 |
-
private $api_url = '';
|
17 |
-
private $api_data = array();
|
18 |
-
private $name = '';
|
19 |
-
private $slug = '';
|
20 |
-
private $version = '';
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Class constructor.
|
24 |
-
*
|
25 |
-
* @uses plugin_basename()
|
26 |
-
* @uses hook()
|
27 |
-
*
|
28 |
-
* @param string $_api_url The URL pointing to the custom API endpoint.
|
29 |
-
* @param string $_plugin_file Path to the plugin file.
|
30 |
-
* @param array $_api_data Optional data to send with API calls.
|
31 |
-
*/
|
32 |
-
function __construct( $_api_url, $_plugin_file, $_api_data = null ) {
|
33 |
-
global $s214_plugin_data;
|
34 |
-
|
35 |
-
$this->api_url = trailingslashit( $_api_url );
|
36 |
-
$this->api_data = $_api_data;
|
37 |
-
$this->name = plugin_basename( $_plugin_file );
|
38 |
-
$this->slug = basename( $_plugin_file, '.php' );
|
39 |
-
$this->version = $_api_data['version'];
|
40 |
-
|
41 |
-
$s214_plugin_data[$this->slug] = $this->api_data;
|
42 |
-
|
43 |
-
// Set up hooks.
|
44 |
-
$this->init();
|
45 |
-
}
|
46 |
-
|
47 |
-
/**
|
48 |
-
* Set up WordPress filters to hook into WP's update process.
|
49 |
-
*
|
50 |
-
* @uses add_filter()
|
51 |
-
*
|
52 |
-
* @return void
|
53 |
-
*/
|
54 |
-
public function init() {
|
55 |
-
|
56 |
-
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
|
57 |
-
add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
|
58 |
-
|
59 |
-
remove_action( 'after_plugin_row_' . $this->name, 'wp_plugin_update_row', 10, 2 );
|
60 |
-
add_action( 'after_plugin_row_' . $this->name, array( $this, 'show_update_notification' ), 10, 2 );
|
61 |
-
add_action( 'admin_init', array( $this, 'show_changelog' ) );
|
62 |
-
}
|
63 |
-
|
64 |
-
/**
|
65 |
-
* Check for Updates at the defined API endpoint and modify the update array.
|
66 |
-
*
|
67 |
-
* This function dives into the update API just when WordPress creates its update array,
|
68 |
-
* then adds a custom API call and injects the custom plugin data retrieved from the API.
|
69 |
-
* It is reassembled from parts of the native WordPress plugin update code.
|
70 |
-
* See wp-includes/update.php line 121 for the original wp_update_plugins() function.
|
71 |
-
*
|
72 |
-
* @uses api_request()
|
73 |
-
*
|
74 |
-
* @param array $_transient_data Update array build by WordPress.
|
75 |
-
* @return array Modified update array with custom plugin data.
|
76 |
-
*/
|
77 |
-
function check_update( $_transient_data ) {
|
78 |
-
|
79 |
-
global $pagenow;
|
80 |
-
|
81 |
-
if( ! is_object( $_transient_data ) ) {
|
82 |
-
$_transient_data = new stdClass;
|
83 |
-
}
|
84 |
-
|
85 |
-
if( 'plugins.php' == $pagenow && is_multisite() ) {
|
86 |
-
return $_transient_data;
|
87 |
-
}
|
88 |
-
|
89 |
-
if ( empty( $_transient_data->response ) || empty( $_transient_data->response[ $this->name ] ) ) {
|
90 |
-
|
91 |
-
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug ) );
|
92 |
-
|
93 |
-
if ( false !== $version_info && is_object( $version_info ) && isset( $version_info->new_version ) ) {
|
94 |
-
|
95 |
-
if( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
96 |
-
|
97 |
-
if ( empty( $version_info->plugin ) ) {
|
98 |
-
$version_info->plugin = $this->name;
|
99 |
-
}
|
100 |
-
|
101 |
-
$_transient_data->response[ $this->name ] = $version_info;
|
102 |
-
|
103 |
-
}
|
104 |
-
|
105 |
-
$_transient_data->last_checked = time();
|
106 |
-
$_transient_data->checked[ $this->name ] = $this->version;
|
107 |
-
|
108 |
-
}
|
109 |
-
|
110 |
-
}
|
111 |
-
|
112 |
-
return $_transient_data;
|
113 |
-
}
|
114 |
-
|
115 |
-
/**
|
116 |
-
* show update nofication row -- needed for multisite subsites, because WP won't tell you otherwise!
|
117 |
-
*
|
118 |
-
* @param string $file
|
119 |
-
* @param array $plugin
|
120 |
-
*/
|
121 |
-
public function show_update_notification( $file, $plugin ) {
|
122 |
-
|
123 |
-
if( ! current_user_can( 'update_plugins' ) ) {
|
124 |
-
return;
|
125 |
-
}
|
126 |
-
|
127 |
-
if( ! is_multisite() ) {
|
128 |
-
return;
|
129 |
-
}
|
130 |
-
|
131 |
-
if ( $this->name != $file ) {
|
132 |
-
return;
|
133 |
-
}
|
134 |
-
|
135 |
-
// Remove our filter on the site transient
|
136 |
-
remove_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ), 10 );
|
137 |
-
|
138 |
-
$update_cache = get_site_transient( 'update_plugins' );
|
139 |
-
$update_cache = is_object( $update_cache ) ? $update_cache : new stdClass();
|
140 |
-
|
141 |
-
if ( empty( $update_cache->response ) || empty( $update_cache->response[$this->name] ) ) {
|
142 |
-
|
143 |
-
$cache_key = md5( 'edd_plugin_' . sanitize_key( $this->name ) . '_version_info' );
|
144 |
-
$version_info = get_transient( $cache_key );
|
145 |
-
|
146 |
-
if( false === $version_info ) {
|
147 |
-
|
148 |
-
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug ) );
|
149 |
-
|
150 |
-
set_transient( $cache_key, $version_info, 3600 );
|
151 |
-
}
|
152 |
-
|
153 |
-
|
154 |
-
if( ! is_object( $version_info ) ) {
|
155 |
-
return;
|
156 |
-
}
|
157 |
-
|
158 |
-
if( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
159 |
-
|
160 |
-
$update_cache->response[ $this->name ] = $version_info;
|
161 |
-
|
162 |
-
}
|
163 |
-
|
164 |
-
$update_cache->last_checked = time();
|
165 |
-
$update_cache->checked[ $this->name ] = $this->version;
|
166 |
-
|
167 |
-
set_site_transient( 'update_plugins', $update_cache );
|
168 |
-
|
169 |
-
} else {
|
170 |
-
|
171 |
-
$version_info = $update_cache->response[ $this->name ];
|
172 |
-
|
173 |
-
}
|
174 |
-
|
175 |
-
// Restore our filter
|
176 |
-
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
|
177 |
-
|
178 |
-
if ( ! empty( $update_cache->response[ $this->name ] ) && version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
179 |
-
|
180 |
-
// build a plugin list row, with update notification
|
181 |
-
$wp_list_table = _get_list_table( 'WP_Plugins_List_Table' );
|
182 |
-
echo '<tr class="plugin-update-tr"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange"><div class="update-message">';
|
183 |
-
|
184 |
-
$changelog_link = self_admin_url( 'index.php?edd_sl_action=view_plugin_changelog&plugin=' . $this->name . '&slug=' . $this->slug . '&TB_iframe=true&width=772&height=911' );
|
185 |
-
|
186 |
-
if ( empty( $version_info->download_link ) ) {
|
187 |
-
printf(
|
188 |
-
__( 'There is a new version of %1$s available. %2$sView version %3$s details%4$s.', 'easy-digital-downloads' ),
|
189 |
-
esc_html( $version_info->name ),
|
190 |
-
'<a target="_blank" class="thickbox" href="' . esc_url( $changelog_link ) . '">',
|
191 |
-
esc_html( $version_info->new_version ),
|
192 |
-
'</a>'
|
193 |
-
);
|
194 |
-
} else {
|
195 |
-
printf(
|
196 |
-
__( 'There is a new version of %1$s available. %2$sView version %3$s details%4$s or %5$supdate now%6$s.', 'easy-digital-downloads' ),
|
197 |
-
esc_html( $version_info->name ),
|
198 |
-
'<a target="_blank" class="thickbox" href="' . esc_url( $changelog_link ) . '">',
|
199 |
-
esc_html( $version_info->new_version ),
|
200 |
-
'</a>',
|
201 |
-
'<a href="' . esc_url( wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $this->name, 'upgrade-plugin_' . $this->name ) ) . '">',
|
202 |
-
'</a>'
|
203 |
-
);
|
204 |
-
}
|
205 |
-
|
206 |
-
do_action( "in_plugin_update_message-{$file}", $plugin, $version_info );
|
207 |
-
|
208 |
-
echo '</div></td></tr>';
|
209 |
-
}
|
210 |
-
}
|
211 |
-
|
212 |
-
|
213 |
-
/**
|
214 |
-
* Updates information on the "View version x.x details" page with custom data.
|
215 |
-
*
|
216 |
-
* @uses api_request()
|
217 |
-
*
|
218 |
-
* @param mixed $_data
|
219 |
-
* @param string $_action
|
220 |
-
* @param object $_args
|
221 |
-
* @return object $_data
|
222 |
-
*/
|
223 |
-
function plugins_api_filter( $_data, $_action = '', $_args = null ) {
|
224 |
-
|
225 |
-
|
226 |
-
if ( $_action != 'plugin_information' ) {
|
227 |
-
|
228 |
-
return $_data;
|
229 |
-
|
230 |
-
}
|
231 |
-
|
232 |
-
if ( ! isset( $_args->slug ) || ( $_args->slug != $this->slug ) ) {
|
233 |
-
|
234 |
-
return $_data;
|
235 |
-
|
236 |
-
}
|
237 |
-
|
238 |
-
$to_send = array(
|
239 |
-
'slug' => $this->slug,
|
240 |
-
'is_ssl' => is_ssl(),
|
241 |
-
'fields' => array(
|
242 |
-
'banners' => false, // These will be supported soon hopefully
|
243 |
-
'reviews' => false
|
244 |
-
)
|
245 |
-
);
|
246 |
-
|
247 |
-
$api_response = $this->api_request( 'plugin_information', $to_send );
|
248 |
-
|
249 |
-
if ( false !== $api_response ) {
|
250 |
-
$_data = $api_response;
|
251 |
-
}
|
252 |
-
|
253 |
-
return $_data;
|
254 |
-
}
|
255 |
-
|
256 |
-
|
257 |
-
/**
|
258 |
-
* Disable SSL verification in order to prevent download update failures
|
259 |
-
*
|
260 |
-
* @param array $args
|
261 |
-
* @param string $url
|
262 |
-
* @return object $array
|
263 |
-
*/
|
264 |
-
function http_request_args( $args, $url ) {
|
265 |
-
// If it is an https request and we are performing a package download, disable ssl verification
|
266 |
-
if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) {
|
267 |
-
$args['sslverify'] = false;
|
268 |
-
}
|
269 |
-
return $args;
|
270 |
-
}
|
271 |
-
|
272 |
-
/**
|
273 |
-
* Calls the API and, if successfull, returns the object delivered by the API.
|
274 |
-
*
|
275 |
-
* @uses get_bloginfo()
|
276 |
-
* @uses wp_remote_post()
|
277 |
-
* @uses is_wp_error()
|
278 |
-
*
|
279 |
-
* @param string $_action The requested action.
|
280 |
-
* @param array $_data Parameters for the API action.
|
281 |
-
* @return false|object
|
282 |
-
*/
|
283 |
-
private function api_request( $_action, $_data ) {
|
284 |
-
|
285 |
-
global $wp_version;
|
286 |
-
|
287 |
-
$data = array_merge( $this->api_data, $_data );
|
288 |
-
|
289 |
-
if ( $data['slug'] != $this->slug )
|
290 |
-
return;
|
291 |
-
|
292 |
-
if ( empty( $data['license'] ) )
|
293 |
-
return;
|
294 |
-
|
295 |
-
if( $this->api_url == home_url() ) {
|
296 |
-
return false; // Don't allow a plugin to ping itself
|
297 |
-
}
|
298 |
-
|
299 |
-
$api_params = array(
|
300 |
-
'edd_action' => 'get_version',
|
301 |
-
'license' => ! empty( $data['license'] ) ? $data['license'] : '',
|
302 |
-
'item_name' => isset( $data['item_name'] ) ? $data['item_name'] : false,
|
303 |
-
'item_id' => isset( $data['item_id'] ) ? $data['item_id'] : false,
|
304 |
-
'slug' => $data['slug'],
|
305 |
-
'author' => $data['author'],
|
306 |
-
'url' => home_url()
|
307 |
-
);
|
308 |
-
|
309 |
-
$request = wp_remote_post( $this->api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
|
310 |
-
|
311 |
-
if ( ! is_wp_error( $request ) ) {
|
312 |
-
$request = json_decode( wp_remote_retrieve_body( $request ) );
|
313 |
-
}
|
314 |
-
|
315 |
-
if ( $request && isset( $request->sections ) ) {
|
316 |
-
$request->sections = maybe_unserialize( $request->sections );
|
317 |
-
} else {
|
318 |
-
$request = false;
|
319 |
-
}
|
320 |
-
|
321 |
-
return $request;
|
322 |
-
}
|
323 |
-
|
324 |
-
public function show_changelog() {
|
325 |
-
|
326 |
-
|
327 |
-
if( empty( $_REQUEST['edd_sl_action'] ) || 'view_plugin_changelog' != $_REQUEST['edd_sl_action'] ) {
|
328 |
-
return;
|
329 |
-
}
|
330 |
-
|
331 |
-
if( empty( $_REQUEST['plugin'] ) ) {
|
332 |
-
return;
|
333 |
-
}
|
334 |
-
|
335 |
-
if( empty( $_REQUEST['slug'] ) ) {
|
336 |
-
return;
|
337 |
-
}
|
338 |
-
|
339 |
-
if( ! current_user_can( 'update_plugins' ) ) {
|
340 |
-
wp_die( __( 'You do not have permission to install plugin updates', 'easy-digital-downloads' ), __( 'Error', 'easy-digital-downloads' ), array( 'response' => 403 ) );
|
341 |
-
}
|
342 |
-
|
343 |
-
global $s214_plugin_data;
|
344 |
-
|
345 |
-
$data = $s214_plugin_data[$_REQUEST['slug']];
|
346 |
-
$cache_key = md5( 'edd_plugin_' . sanitize_key( $_REQUEST['plugin'] ) . '_version_info' );
|
347 |
-
$version_info = get_transient( $cache_key );
|
348 |
-
|
349 |
-
if( false === $version_info ) {
|
350 |
-
$api_params = array(
|
351 |
-
'edd_action' => 'get_version',
|
352 |
-
'item_name' => isset( $data['item_name'] ) ? $data['item_name'] : false,
|
353 |
-
'item_id' => isset( $data['item_id'] ) ? $data['item_id'] : false,
|
354 |
-
'slug' => $_REQUEST['slug'],
|
355 |
-
'author' => $data['author'],
|
356 |
-
'url' => home_url()
|
357 |
-
);
|
358 |
-
|
359 |
-
$request = wp_remote_post( $this->api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
|
360 |
-
|
361 |
-
if( ! is_wp_error( $request ) ) {
|
362 |
-
$version_info = json_decode( wp_remote_retrieve_body( $request ) );
|
363 |
-
}
|
364 |
-
|
365 |
-
if( ! empty( $version_info ) && isset( $version_info->sections ) ) {
|
366 |
-
$version_info->sections = maybe_unserialize( $version_info->sections );
|
367 |
-
} else {
|
368 |
-
$version_info = false;
|
369 |
-
}
|
370 |
-
|
371 |
-
set_transient( $cache_key, $version_info, 3600 );
|
372 |
-
}
|
373 |
-
|
374 |
-
if( ! empty( $version_info ) && isset( $version_info->sections['changelog'] ) ) {
|
375 |
-
echo '<div style="background:#fff;padding:10px;">' . $response->sections['changelog'] . '</div>';
|
376 |
-
}
|
377 |
-
|
378 |
-
|
379 |
-
exit;
|
380 |
-
}
|
381 |
-
|
382 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/modules/licensing/class.s214-license.php
DELETED
@@ -1,385 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* License handler for Section214
|
4 |
-
*
|
5 |
-
* @package S214\License
|
6 |
-
* @since 1.0.2
|
7 |
-
*/
|
8 |
-
|
9 |
-
// Exit if accessed directly
|
10 |
-
if( ! defined( 'ABSPATH' ) ) {
|
11 |
-
exit;
|
12 |
-
}
|
13 |
-
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Section214 license handler class
|
17 |
-
*
|
18 |
-
* @since 1.0.2
|
19 |
-
*/
|
20 |
-
class S214_License {
|
21 |
-
private $file;
|
22 |
-
private $license;
|
23 |
-
private $item_name;
|
24 |
-
private $item_id;
|
25 |
-
private $item_shortname;
|
26 |
-
private $version;
|
27 |
-
private $author;
|
28 |
-
private $slug;
|
29 |
-
private $api_url = '';
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Class constructor
|
33 |
-
*
|
34 |
-
* @param string $_file
|
35 |
-
* @param string $_slug
|
36 |
-
* @param string $_item_name
|
37 |
-
* @param string $_version
|
38 |
-
* @param string $_author
|
39 |
-
* @param string $_api_url
|
40 |
-
*/
|
41 |
-
function __construct( $_file, $_slug, $_item, $_version, $_author, $_api_url = null ) {
|
42 |
-
|
43 |
-
$this->file = $_file;
|
44 |
-
|
45 |
-
if( is_numeric( $_item ) ) {
|
46 |
-
$this->item_id = absint( $_item );
|
47 |
-
} else {
|
48 |
-
$this->item_name = $_item;
|
49 |
-
}
|
50 |
-
|
51 |
-
$this->item_shortname = preg_replace( '/[^a-zA-Z0-9_\s]/', '', str_replace( ' ', '_', strtolower( $this->item_name ) ) );
|
52 |
-
$this->item_slug = $_slug;
|
53 |
-
|
54 |
-
$options = get_option( $this->item_shortname . '_settings', '' );
|
55 |
-
|
56 |
-
$this->version = $_version;
|
57 |
-
$this->license = ( isset( $options['license_key'] ) ? trim( $options['license_key'] ) : '' );
|
58 |
-
$this->author = $_author;
|
59 |
-
$this->api_url = is_null( $_api_url ) ? $this->api_url : $_api_url;
|
60 |
-
|
61 |
-
// Setup hooks
|
62 |
-
$this->includes();
|
63 |
-
$this->hooks();
|
64 |
-
//$this->auto_updater();
|
65 |
-
}
|
66 |
-
|
67 |
-
/**
|
68 |
-
* Include the updater class
|
69 |
-
*
|
70 |
-
* @access private
|
71 |
-
* @return void
|
72 |
-
*/
|
73 |
-
private function includes() {
|
74 |
-
if ( ! class_exists( 'S214_Plugin_Updater' ) ) require_once 'S214_Plugin_Updater.php';
|
75 |
-
}
|
76 |
-
|
77 |
-
/**
|
78 |
-
* Setup hooks
|
79 |
-
*
|
80 |
-
* @access private
|
81 |
-
* @return void
|
82 |
-
*/
|
83 |
-
private function hooks() {
|
84 |
-
|
85 |
-
// Register settings
|
86 |
-
add_filter( $this->item_shortname . '_settings_tabs', array( $this, 'tabs' ) );
|
87 |
-
add_filter( $this->item_shortname . '_registered_settings', array( $this, 'settings' ) );
|
88 |
-
|
89 |
-
// Activate license key on settings save
|
90 |
-
add_action( 'admin_init', array( $this, 'activate_license' ) );
|
91 |
-
|
92 |
-
// Deactivate license key
|
93 |
-
add_action( 'admin_init', array( $this, 'deactivate_license' ) );
|
94 |
-
|
95 |
-
// Updater
|
96 |
-
add_action( 'admin_init', array( $this, 'auto_updater' ), 0 );
|
97 |
-
|
98 |
-
add_action( 'admin_notices', array( $this, 'notices' ) );
|
99 |
-
}
|
100 |
-
|
101 |
-
/**
|
102 |
-
* Auto updater
|
103 |
-
*
|
104 |
-
* @access private
|
105 |
-
* @return void
|
106 |
-
*/
|
107 |
-
public function auto_updater() {
|
108 |
-
|
109 |
-
if ( 'valid' !== get_option( $this->item_shortname . '_license_active' ) )
|
110 |
-
return;
|
111 |
-
|
112 |
-
$args = array(
|
113 |
-
'version' => $this->version,
|
114 |
-
'license' => $this->license,
|
115 |
-
'author' => $this->author
|
116 |
-
);
|
117 |
-
|
118 |
-
if( ! empty( $this->item_id ) ) {
|
119 |
-
$args['item_id'] = $this->item_id;
|
120 |
-
} else {
|
121 |
-
$args['item_name'] = $this->item_name;
|
122 |
-
}
|
123 |
-
|
124 |
-
// Setup the updater
|
125 |
-
$edd_updater = new S214_Plugin_Updater(
|
126 |
-
$this->api_url,
|
127 |
-
$this->file,
|
128 |
-
$args
|
129 |
-
);
|
130 |
-
}
|
131 |
-
|
132 |
-
|
133 |
-
/**
|
134 |
-
* Add license tab to settings
|
135 |
-
*
|
136 |
-
* @access public
|
137 |
-
* @param array $tabs
|
138 |
-
* @return array $tabs
|
139 |
-
*/
|
140 |
-
public function tabs( $tabs ) {
|
141 |
-
$tabs['license'] = __( 'Licensing', 's214-settings' );
|
142 |
-
|
143 |
-
return $tabs;
|
144 |
-
}
|
145 |
-
|
146 |
-
|
147 |
-
/**
|
148 |
-
* Add license field to settings
|
149 |
-
*
|
150 |
-
* @access public
|
151 |
-
* @param array $settings
|
152 |
-
* @return array
|
153 |
-
*/
|
154 |
-
public function settings( $settings ) {
|
155 |
-
$license_settings = array(
|
156 |
-
'license' => array(
|
157 |
-
array(
|
158 |
-
'id' => $this->item_shortname . '_license_key',
|
159 |
-
'name' => sprintf( __( '%1$s License Key', 's214-settings' ), $this->item_name ),
|
160 |
-
'desc' => __( 'Please enter your license key to enable automatic updates and support.', 's214-settings' ),
|
161 |
-
'type' => 'license_key',
|
162 |
-
'options' => array( 'is_valid_license_option' => $this->item_shortname . '_license_active' ),
|
163 |
-
'size' => 'regular'
|
164 |
-
)
|
165 |
-
)
|
166 |
-
);
|
167 |
-
|
168 |
-
return array_merge( $settings, $license_settings );
|
169 |
-
}
|
170 |
-
|
171 |
-
|
172 |
-
/**
|
173 |
-
* Activate the license key
|
174 |
-
*
|
175 |
-
* @access public
|
176 |
-
* @return void
|
177 |
-
*/
|
178 |
-
public function activate_license() {
|
179 |
-
|
180 |
-
if ( ! isset( $_POST[$this->item_shortname . '_settings'] ) ) {
|
181 |
-
return;
|
182 |
-
}
|
183 |
-
|
184 |
-
if ( ! isset( $_POST[$this->item_shortname . '_settings'][ $this->item_shortname . '_license_key'] ) ) {
|
185 |
-
return;
|
186 |
-
}
|
187 |
-
|
188 |
-
foreach( $_POST as $key => $value ) {
|
189 |
-
if( false !== strpos( $key, 'license_key_deactivate' ) ) {
|
190 |
-
// Don't activate a key when deactivating a different key
|
191 |
-
return;
|
192 |
-
}
|
193 |
-
}
|
194 |
-
|
195 |
-
if( ! wp_verify_nonce( $_REQUEST[ $this->item_shortname . '_license_key-nonce'], $this->item_shortname . '_license_key-nonce' ) ) {
|
196 |
-
|
197 |
-
wp_die( __( 'Nonce verification failed', 's214-settings' ), __( 'Error', 's214-settings' ), array( 'response' => 403 ) );
|
198 |
-
|
199 |
-
}
|
200 |
-
|
201 |
-
if( ! current_user_can( 'manage_options' ) ) {
|
202 |
-
return;
|
203 |
-
}
|
204 |
-
|
205 |
-
if ( 'valid' === get_option( $this->item_shortname . '_license_active' ) ) {
|
206 |
-
return;
|
207 |
-
}
|
208 |
-
|
209 |
-
$license = sanitize_text_field( $_POST[$this->item_shortname . '_settings'][ $this->item_shortname . '_license_key'] );
|
210 |
-
|
211 |
-
if( empty( $license ) ) {
|
212 |
-
return;
|
213 |
-
}
|
214 |
-
|
215 |
-
// Data to send to the API
|
216 |
-
$api_params = array(
|
217 |
-
'edd_action' => 'activate_license',
|
218 |
-
'license' => $license,
|
219 |
-
'item_name' => urlencode( $this->item_name ),
|
220 |
-
'url' => home_url()
|
221 |
-
);
|
222 |
-
|
223 |
-
// Call the API
|
224 |
-
$response = wp_remote_post(
|
225 |
-
$this->api_url,
|
226 |
-
array(
|
227 |
-
'timeout' => 15,
|
228 |
-
'sslverify' => false,
|
229 |
-
'body' => $api_params
|
230 |
-
)
|
231 |
-
);
|
232 |
-
|
233 |
-
// Make sure there are no errors
|
234 |
-
if ( is_wp_error( $response ) ) {
|
235 |
-
return;
|
236 |
-
}
|
237 |
-
|
238 |
-
// Tell WordPress to look for updates
|
239 |
-
set_site_transient( 'update_plugins', null );
|
240 |
-
|
241 |
-
// Decode license data
|
242 |
-
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
243 |
-
|
244 |
-
update_option( $this->item_shortname . '_license_active', $license_data->license );
|
245 |
-
|
246 |
-
if( ! (bool) $license_data->success ) {
|
247 |
-
set_transient( $this->item_shortname . '_license_error', $license_data, 1000 );
|
248 |
-
} else {
|
249 |
-
delete_transient( $this->item_shortname . '_license_error' );
|
250 |
-
}
|
251 |
-
}
|
252 |
-
|
253 |
-
|
254 |
-
/**
|
255 |
-
* Deactivate the license key
|
256 |
-
*
|
257 |
-
* @access public
|
258 |
-
* @return void
|
259 |
-
*/
|
260 |
-
public function deactivate_license() {
|
261 |
-
|
262 |
-
if ( ! isset( $_POST[$this->item_shortname . '_settings'] ) )
|
263 |
-
return;
|
264 |
-
|
265 |
-
if ( ! isset( $_POST[$this->item_shortname . '_settings'][ $this->item_shortname . '_license_key'] ) )
|
266 |
-
return;
|
267 |
-
|
268 |
-
if( ! wp_verify_nonce( $_REQUEST[ $this->item_shortname . '_license_key-nonce'], $this->item_shortname . '_license_key-nonce' ) ) {
|
269 |
-
|
270 |
-
wp_die( __( 'Nonce verification failed', 's214-settings' ), __( 'Error', 's214-settings' ), array( 'response' => 403 ) );
|
271 |
-
|
272 |
-
}
|
273 |
-
|
274 |
-
if( ! current_user_can( 'manage_options' ) ) {
|
275 |
-
return;
|
276 |
-
}
|
277 |
-
|
278 |
-
// Run on deactivate button press
|
279 |
-
if ( isset( $_POST[ $this->item_shortname . '_license_key_deactivate'] ) ) {
|
280 |
-
|
281 |
-
$license = sanitize_text_field( $_POST[$this->item_shortname . '_settings'][ $this->item_shortname . '_license_key'] );
|
282 |
-
|
283 |
-
if( empty( $license ) ) {
|
284 |
-
return;
|
285 |
-
}
|
286 |
-
|
287 |
-
// Data to send to the API
|
288 |
-
$api_params = array(
|
289 |
-
'edd_action' => 'deactivate_license',
|
290 |
-
'license' => $license,
|
291 |
-
'item_name' => urlencode( $this->item_name ),
|
292 |
-
'url' => home_url()
|
293 |
-
);
|
294 |
-
|
295 |
-
// Call the API
|
296 |
-
$response = wp_remote_post(
|
297 |
-
$this->api_url,
|
298 |
-
array(
|
299 |
-
'timeout' => 15,
|
300 |
-
'sslverify' => false,
|
301 |
-
'body' => $api_params
|
302 |
-
)
|
303 |
-
);
|
304 |
-
|
305 |
-
// Make sure there are no errors
|
306 |
-
if ( is_wp_error( $response ) ) {
|
307 |
-
return;
|
308 |
-
}
|
309 |
-
|
310 |
-
// Decode the license data
|
311 |
-
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
312 |
-
|
313 |
-
delete_option( $this->item_shortname . '_license_active' );
|
314 |
-
|
315 |
-
if( ! (bool) $license_data->success ) {
|
316 |
-
set_transient( $this->item_shortname . '_license_error', $license_data, 1000 );
|
317 |
-
} else {
|
318 |
-
delete_transient( $this->item_shortname . '_license_error' );
|
319 |
-
}
|
320 |
-
}
|
321 |
-
}
|
322 |
-
|
323 |
-
|
324 |
-
/**
|
325 |
-
* Admin notices for errors
|
326 |
-
*
|
327 |
-
* @access public
|
328 |
-
* @return void
|
329 |
-
*/
|
330 |
-
public function notices() {
|
331 |
-
|
332 |
-
if( ! isset( $_GET['page'] ) || $this->item_slug . '-settings' !== $_GET['page'] ) {
|
333 |
-
return;
|
334 |
-
}
|
335 |
-
|
336 |
-
if( ! isset( $_GET['tab'] ) || 'license' !== $_GET['tab'] ) {
|
337 |
-
return;
|
338 |
-
}
|
339 |
-
|
340 |
-
$license_error = get_transient( $this->item_shortname . '_license_error' );
|
341 |
-
|
342 |
-
if( false === $license_error ) {
|
343 |
-
return;
|
344 |
-
}
|
345 |
-
|
346 |
-
if( ! empty( $license_error->error ) ) {
|
347 |
-
|
348 |
-
switch( $license_error->error ) {
|
349 |
-
|
350 |
-
case 'item_name_mismatch' :
|
351 |
-
|
352 |
-
$message = __( 'This license does not belong to the product you have entered it for.', 's214-settings' );
|
353 |
-
break;
|
354 |
-
|
355 |
-
case 'no_activations_left' :
|
356 |
-
|
357 |
-
$message = __( 'This license does not have any activations left', 's214-settings' );
|
358 |
-
break;
|
359 |
-
|
360 |
-
case 'expired' :
|
361 |
-
|
362 |
-
$message = __( 'This license key is expired. Please renew it.', 's214-settings' );
|
363 |
-
break;
|
364 |
-
|
365 |
-
default :
|
366 |
-
|
367 |
-
$message = sprintf( __( 'There was a problem activating your license key, please try again or contact support. Error code: %s', 's214-settings' ), $license_error->error );
|
368 |
-
break;
|
369 |
-
|
370 |
-
}
|
371 |
-
|
372 |
-
}
|
373 |
-
|
374 |
-
if( ! empty( $message ) ) {
|
375 |
-
|
376 |
-
echo '<div class="error">';
|
377 |
-
echo '<p>' . $message . '</p>';
|
378 |
-
echo '</div>';
|
379 |
-
|
380 |
-
}
|
381 |
-
|
382 |
-
delete_transient( $this->item_shortname . '_license_error' );
|
383 |
-
|
384 |
-
}
|
385 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/modules/sysinfo/browser.php
DELETED
@@ -1,1103 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Modified to remove var
|
8 |
-
* Chris Christoff on 12/26/2012
|
9 |
-
* Changes: Changes vars to publics
|
10 |
-
*
|
11 |
-
* Modified to work for EDD by
|
12 |
-
* Chris Christoff on 12/23/2012
|
13 |
-
* Changes: Removed the browser string return and added spacing. Also removed return HTML formatting.
|
14 |
-
*
|
15 |
-
* Modified to add formatted User Agent string for EDD System Info by
|
16 |
-
* Chris Christoff on 12/23/2012
|
17 |
-
* Changes: Split user string and add formatting so we can print a nicely
|
18 |
-
* formatted user agent string on the EDD System Info
|
19 |
-
*
|
20 |
-
* File: Browser.php
|
21 |
-
* Author: Chris Schuld (http://chrisschuld.com/)
|
22 |
-
* Last Modified: August 20th, 2010
|
23 |
-
*
|
24 |
-
* @version 1.9
|
25 |
-
* @package PegasusPHP
|
26 |
-
*
|
27 |
-
* Copyright (C) 2008-2010 Chris Schuld (chris@chrisschuld.com)
|
28 |
-
*
|
29 |
-
* This program is free software; you can redistribute it and/or
|
30 |
-
* modify it under the terms of the GNU General Public License as
|
31 |
-
* published by the Free Software Foundation; either version 2 of
|
32 |
-
* the License, or (at your option) any later version.
|
33 |
-
*
|
34 |
-
* This program is distributed in the hope that it will be useful,
|
35 |
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
36 |
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
37 |
-
* GNU General Public License for more details at:
|
38 |
-
* http://www.gnu.org/copyleft/gpl.html
|
39 |
-
*
|
40 |
-
*
|
41 |
-
* Typical Usage:
|
42 |
-
*
|
43 |
-
* $browser = new Browser();
|
44 |
-
* if( $browser->getBrowser() == Browser::BROWSER_FIREFOX && $browser->getVersion() >= 2 ) {
|
45 |
-
* echo 'You have FireFox version 2 or greater';
|
46 |
-
* }
|
47 |
-
*
|
48 |
-
* User Agents Sampled from: http://www.useragentstring.com/
|
49 |
-
*
|
50 |
-
* This implementation is based on the original work from Gary White
|
51 |
-
* http://apptools.com/phptools/browser/
|
52 |
-
*
|
53 |
-
* UPDATES:
|
54 |
-
*
|
55 |
-
* 2010-08-20 (v1.9):
|
56 |
-
* + Added MSN Explorer Browser (legacy)
|
57 |
-
* + Added Bing/MSN Robot (Thanks Rob MacDonald)
|
58 |
-
* + Added the Android Platform (PLATFORM_ANDROID)
|
59 |
-
* + Fixed issue with Android 1.6/2.2 (Thanks Tom Hirashima)
|
60 |
-
*
|
61 |
-
* 2010-04-27 (v1.8):
|
62 |
-
* + Added iPad Support
|
63 |
-
*
|
64 |
-
* 2010-03-07 (v1.7):
|
65 |
-
* + *MAJOR* Rebuild (preg_match and other "slow" routine removal(s))
|
66 |
-
* + Almost allof Gary's original code has been replaced
|
67 |
-
* + Large PHPUNIT testing environment created to validate new releases and additions
|
68 |
-
* + Added FreeBSD Platform
|
69 |
-
* + Added OpenBSD Platform
|
70 |
-
* + Added NetBSD Platform
|
71 |
-
* + Added SunOS Platform
|
72 |
-
* + Added OpenSolaris Platform
|
73 |
-
* + Added support of the Iceweazel Browser
|
74 |
-
* + Added isChromeFrame() call to check if chromeframe is in use
|
75 |
-
* + Moved the Opera check in front of the Firefox check due to legacy Opera User Agents
|
76 |
-
* + Added the __toString() method (Thanks Deano)
|
77 |
-
*
|
78 |
-
* 2009-11-15:
|
79 |
-
* + Updated the checkes for Firefox
|
80 |
-
* + Added the NOKIA platform
|
81 |
-
* + Added Checks for the NOKIA brower(s)
|
82 |
-
*
|
83 |
-
* 2009-11-08:
|
84 |
-
* + PHP 5.3 Support
|
85 |
-
* + Added support for BlackBerry OS and BlackBerry browser
|
86 |
-
* + Added support for the Opera Mini browser
|
87 |
-
* + Added additional documenation
|
88 |
-
* + Added support for isRobot() and isMobile()
|
89 |
-
* + Added support for Opera version 10
|
90 |
-
* + Added support for deprecated Netscape Navigator version 9
|
91 |
-
* + Added support for IceCat
|
92 |
-
* + Added support for Shiretoko
|
93 |
-
*
|
94 |
-
* 2010-04-27 (v1.8):
|
95 |
-
* + Added iPad Support
|
96 |
-
*
|
97 |
-
* 2009-08-18:
|
98 |
-
* + Updated to support PHP 5.3 - removed all deprecated function calls
|
99 |
-
* + Updated to remove all double quotes (") -- converted to single quotes (')
|
100 |
-
*
|
101 |
-
* 2009-04-27:
|
102 |
-
* + Updated the IE check to remove a typo and bug (thanks John)
|
103 |
-
*
|
104 |
-
* 2009-04-22:
|
105 |
-
* + Added detection for GoogleBot
|
106 |
-
* + Added detection for the W3C Validator.
|
107 |
-
* + Added detection for Yahoo! Slurp
|
108 |
-
*
|
109 |
-
* 2009-03-14:
|
110 |
-
* + Added detection for iPods.
|
111 |
-
* + Added Platform detection for iPhones
|
112 |
-
* + Added Platform detection for iPods
|
113 |
-
*
|
114 |
-
* 2009-02-16: (Rick Hale)
|
115 |
-
* + Added version detection for Android phones.
|
116 |
-
*
|
117 |
-
* 2008-12-09:
|
118 |
-
* + Removed unused constant
|
119 |
-
*
|
120 |
-
* 2008-11-07:
|
121 |
-
* + Added Google's Chrome to the detection list
|
122 |
-
* + Added isBrowser(string) to the list of functions special thanks to
|
123 |
-
* Daniel 'mavrick' Lang for the function concept (http://mavrick.id.au)
|
124 |
-
*
|
125 |
-
*
|
126 |
-
* Gary White noted: "Since browser detection is so unreliable, I am
|
127 |
-
* no longer maintaining this script. You are free to use and or
|
128 |
-
* modify/update it as you want, however the author assumes no
|
129 |
-
* responsibility for the accuracy of the detected values."
|
130 |
-
*
|
131 |
-
* Anyone experienced with Gary's script might be interested in these notes:
|
132 |
-
*
|
133 |
-
* Added class constants
|
134 |
-
* Added detection and version detection for Google's Chrome
|
135 |
-
* Updated the version detection for Amaya
|
136 |
-
* Updated the version detection for Firefox
|
137 |
-
* Updated the version detection for Lynx
|
138 |
-
* Updated the version detection for WebTV
|
139 |
-
* Updated the version detection for NetPositive
|
140 |
-
* Updated the version detection for IE
|
141 |
-
* Updated the version detection for OmniWeb
|
142 |
-
* Updated the version detection for iCab
|
143 |
-
* Updated the version detection for Safari
|
144 |
-
* Updated Safari to remove mobile devices (iPhone)
|
145 |
-
* Added detection for iPhone
|
146 |
-
* Added detection for robots
|
147 |
-
* Added detection for mobile devices
|
148 |
-
* Added detection for BlackBerry
|
149 |
-
* Removed Netscape checks (matches heavily with firefox & mozilla)
|
150 |
-
*
|
151 |
-
*/
|
152 |
-
|
153 |
-
class Browser {
|
154 |
-
public $_agent = '';
|
155 |
-
public $_browser_name = '';
|
156 |
-
public $_version = '';
|
157 |
-
public $_platform = '';
|
158 |
-
public $_os = '';
|
159 |
-
public $_is_aol = false;
|
160 |
-
public $_is_mobile = false;
|
161 |
-
public $_is_robot = false;
|
162 |
-
public $_aol_version = '';
|
163 |
-
|
164 |
-
public $BROWSER_UNKNOWN = 'unknown';
|
165 |
-
public $VERSION_UNKNOWN = 'unknown';
|
166 |
-
|
167 |
-
public $BROWSER_OPERA = 'Opera'; // Http://www.opera.com/
|
168 |
-
public $BROWSER_OPERA_MINI = 'Opera Mini'; // Http://www.opera.com/mini/
|
169 |
-
public $BROWSER_WEBTV = 'WebTV'; // Http://www.webtv.net/pc/
|
170 |
-
public $BROWSER_IE = 'Internet Explorer'; // Http://www.microsoft.com/ie/
|
171 |
-
public $BROWSER_POCKET_IE = 'Pocket Internet Explorer'; // Http://en.wikipedia.org/wiki/Internet_Explorer_Mobile
|
172 |
-
public $BROWSER_KONQUEROR = 'Konqueror'; // Http://www.konqueror.org/
|
173 |
-
public $BROWSER_ICAB = 'iCab'; // Http://www.icab.de/
|
174 |
-
public $BROWSER_OMNIWEB = 'OmniWeb'; // Http://www.omnigroup.com/applications/omniweb/
|
175 |
-
public $BROWSER_FIREBIRD = 'Firebird'; // Http://www.ibphoenix.com/
|
176 |
-
public $BROWSER_FIREFOX = 'Firefox'; // Http://www.mozilla.com/en-US/firefox/firefox.html
|
177 |
-
public $BROWSER_ICEWEASEL = 'Iceweasel'; // Http://www.geticeweasel.org/
|
178 |
-
public $BROWSER_SHIRETOKO = 'Shiretoko'; // Http://wiki.mozilla.org/Projects/shiretoko
|
179 |
-
public $BROWSER_MOZILLA = 'Mozilla'; // Http://www.mozilla.com/en-US/
|
180 |
-
public $BROWSER_AMAYA = 'Amaya'; // Http://www.w3.org/Amaya/
|
181 |
-
public $BROWSER_LYNX = 'Lynx'; // Http://en.wikipedia.org/wiki/Lynx
|
182 |
-
public $BROWSER_SAFARI = 'Safari'; // Http://apple.com
|
183 |
-
public $BROWSER_IPHONE = 'iPhone'; // Http://apple.com
|
184 |
-
public $BROWSER_IPOD = 'iPod'; // Http://apple.com
|
185 |
-
public $BROWSER_IPAD = 'iPad'; // Http://apple.com
|
186 |
-
public $BROWSER_CHROME = 'Chrome'; // Http://www.google.com/chrome
|
187 |
-
public $BROWSER_ANDROID = 'Android'; // Http://www.android.com/
|
188 |
-
public $BROWSER_GOOGLEBOT = 'GoogleBot'; // Http://en.wikipedia.org/wiki/Googlebot
|
189 |
-
public $BROWSER_SLURP = 'Yahoo! Slurp'; // Http://en.wikipedia.org/wiki/Yahoo!_Slurp
|
190 |
-
public $BROWSER_W3CVALIDATOR = 'W3C Validator'; // Http://validator.w3.org/
|
191 |
-
public $BROWSER_BLACKBERRY = 'BlackBerry'; // Http://www.blackberry.com/
|
192 |
-
public $BROWSER_ICECAT = 'IceCat'; // Http://en.wikipedia.org/wiki/GNU_IceCat
|
193 |
-
public $BROWSER_NOKIA_S60 = 'Nokia S60 OSS Browser'; // Http://en.wikipedia.org/wiki/Web_Browser_for_S60
|
194 |
-
public $BROWSER_NOKIA = 'Nokia Browser'; // * all other WAP-based browsers on the Nokia Platform
|
195 |
-
public $BROWSER_MSN = 'MSN Browser'; // Http://explorer.msn.com/
|
196 |
-
public $BROWSER_MSNBOT = 'MSN Bot'; // Http://search.msn.com/msnbot.htm
|
197 |
-
// Http://en.wikipedia.org/wiki/Msnbot (used for Bing as well)
|
198 |
-
|
199 |
-
public $BROWSER_NETSCAPE_NAVIGATOR = 'Netscape Navigator'; // Http://browser.netscape.com/ (DEPRECATED)
|
200 |
-
public $BROWSER_GALEON = 'Galeon'; // Http://galeon.sourceforge.net/ (DEPRECATED)
|
201 |
-
public $BROWSER_NETPOSITIVE = 'NetPositive'; // Http://en.wikipedia.org/wiki/NetPositive (DEPRECATED)
|
202 |
-
public $BROWSER_PHOENIX = 'Phoenix'; // Http://en.wikipedia.org/wiki/History_of_Mozilla_Firefox (DEPRECATED)
|
203 |
-
|
204 |
-
public $PLATFORM_UNKNOWN = 'unknown';
|
205 |
-
public $PLATFORM_WINDOWS = 'Windows';
|
206 |
-
public $PLATFORM_WINDOWS_CE = 'Windows CE';
|
207 |
-
public $PLATFORM_APPLE = 'Apple';
|
208 |
-
public $PLATFORM_LINUX = 'Linux';
|
209 |
-
public $PLATFORM_OS2 = 'OS/2';
|
210 |
-
public $PLATFORM_BEOS = 'BeOS';
|
211 |
-
public $PLATFORM_IPHONE = 'iPhone';
|
212 |
-
public $PLATFORM_IPOD = 'iPod';
|
213 |
-
public $PLATFORM_IPAD = 'iPad';
|
214 |
-
public $PLATFORM_BLACKBERRY = 'BlackBerry';
|
215 |
-
public $PLATFORM_NOKIA = 'Nokia';
|
216 |
-
public $PLATFORM_FREEBSD = 'FreeBSD';
|
217 |
-
public $PLATFORM_OPENBSD = 'OpenBSD';
|
218 |
-
public $PLATFORM_NETBSD = 'NetBSD';
|
219 |
-
public $PLATFORM_SUNOS = 'SunOS';
|
220 |
-
public $PLATFORM_OPENSOLARIS = 'OpenSolaris';
|
221 |
-
public $PLATFORM_ANDROID = 'Android';
|
222 |
-
|
223 |
-
public $OPERATING_SYSTEM_UNKNOWN = 'unknown';
|
224 |
-
|
225 |
-
function __construct( $useragent="" ) {
|
226 |
-
$this->reset();
|
227 |
-
if ( $useragent != "" ) {
|
228 |
-
$this->setUserAgent( $useragent );
|
229 |
-
} else {
|
230 |
-
$this->determine();
|
231 |
-
}
|
232 |
-
}
|
233 |
-
|
234 |
-
/**
|
235 |
-
* Reset all properties
|
236 |
-
*/
|
237 |
-
function reset() {
|
238 |
-
$this->_agent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : "";
|
239 |
-
$this->_browser_name = $this->BROWSER_UNKNOWN;
|
240 |
-
$this->_version = $this->VERSION_UNKNOWN;
|
241 |
-
$this->_platform = $this->PLATFORM_UNKNOWN;
|
242 |
-
$this->_os = $this->OPERATING_SYSTEM_UNKNOWN;
|
243 |
-
$this->_is_aol = false;
|
244 |
-
$this->_is_mobile = false;
|
245 |
-
$this->_is_robot = false;
|
246 |
-
$this->_aol_version = $this->VERSION_UNKNOWN;
|
247 |
-
}
|
248 |
-
|
249 |
-
/**
|
250 |
-
* Check to see if the specific browser is valid
|
251 |
-
*
|
252 |
-
* @param string $browserName
|
253 |
-
* @return True if the browser is the specified browser
|
254 |
-
*/
|
255 |
-
function isBrowser( $browserName ) { return 0 == strcasecmp( $this->_browser_name, trim( $browserName ) ); }
|
256 |
-
|
257 |
-
/**
|
258 |
-
* The name of the browser. All return types are from the class contants
|
259 |
-
*
|
260 |
-
* @return string Name of the browser
|
261 |
-
*/
|
262 |
-
function getBrowser() { return $this->_browser_name; }
|
263 |
-
/**
|
264 |
-
* Set the name of the browser
|
265 |
-
*
|
266 |
-
* @param unknown $browser The name of the Browser
|
267 |
-
*/
|
268 |
-
function setBrowser( $browser ) { return $this->_browser_name = $browser; }
|
269 |
-
/**
|
270 |
-
* The name of the platform. All return types are from the class contants
|
271 |
-
*
|
272 |
-
* @return string Name of the browser
|
273 |
-
*/
|
274 |
-
function getPlatform() { return $this->_platform; }
|
275 |
-
/**
|
276 |
-
* Set the name of the platform
|
277 |
-
*
|
278 |
-
* @param unknown $platform The name of the Platform
|
279 |
-
*/
|
280 |
-
function setPlatform( $platform ) { return $this->_platform = $platform; }
|
281 |
-
/**
|
282 |
-
* The version of the browser.
|
283 |
-
*
|
284 |
-
* @return string Version of the browser (will only contain alpha-numeric characters and a period)
|
285 |
-
*/
|
286 |
-
function getVersion() { return $this->_version; }
|
287 |
-
/**
|
288 |
-
* Set the version of the browser
|
289 |
-
*
|
290 |
-
* @param unknown $version The version of the Browser
|
291 |
-
*/
|
292 |
-
function setVersion( $version ) { $this->_version = preg_replace( '/[^0-9,.,a-z,A-Z-]/', '', $version ); }
|
293 |
-
/**
|
294 |
-
* The version of AOL.
|
295 |
-
*
|
296 |
-
* @return string Version of AOL (will only contain alpha-numeric characters and a period)
|
297 |
-
*/
|
298 |
-
function getAolVersion() { return $this->_aol_version; }
|
299 |
-
/**
|
300 |
-
* Set the version of AOL
|
301 |
-
*
|
302 |
-
* @param unknown $version The version of AOL
|
303 |
-
*/
|
304 |
-
function setAolVersion( $version ) { $this->_aol_version = preg_replace( '/[^0-9,.,a-z,A-Z]/', '', $version ); }
|
305 |
-
/**
|
306 |
-
* Is the browser from AOL?
|
307 |
-
*
|
308 |
-
* @return boolean True if the browser is from AOL otherwise false
|
309 |
-
*/
|
310 |
-
function isAol() { return $this->_is_aol; }
|
311 |
-
/**
|
312 |
-
* Is the browser from a mobile device?
|
313 |
-
*
|
314 |
-
* @return boolean True if the browser is from a mobile device otherwise false
|
315 |
-
*/
|
316 |
-
function isMobile() { return $this->_is_mobile; }
|
317 |
-
/**
|
318 |
-
* Is the browser from a robot (ex Slurp,GoogleBot)?
|
319 |
-
*
|
320 |
-
* @return boolean True if the browser is from a robot otherwise false
|
321 |
-
*/
|
322 |
-
function isRobot() { return $this->_is_robot; }
|
323 |
-
/**
|
324 |
-
* Set the browser to be from AOL
|
325 |
-
*
|
326 |
-
* @param unknown $isAol
|
327 |
-
*/
|
328 |
-
function setAol( $isAol ) { $this->_is_aol = $isAol; }
|
329 |
-
/**
|
330 |
-
* Set the Browser to be mobile
|
331 |
-
*
|
332 |
-
* @param boolean $value is the browser a mobile brower or not
|
333 |
-
*/
|
334 |
-
function setMobile( $value=true ) { $this->_is_mobile = $value; }
|
335 |
-
/**
|
336 |
-
* Set the Browser to be a robot
|
337 |
-
*
|
338 |
-
* @param boolean $value is the browser a robot or not
|
339 |
-
*/
|
340 |
-
function setRobot( $value=true ) { $this->_is_robot = $value; }
|
341 |
-
/**
|
342 |
-
* Get the user agent value in use to determine the browser
|
343 |
-
*
|
344 |
-
* @return string The user agent from the HTTP header
|
345 |
-
*/
|
346 |
-
function getUserAgent() { return $this->_agent; }
|
347 |
-
/**
|
348 |
-
* Set the user agent value (the construction will use the HTTP header value - this will overwrite it)
|
349 |
-
*
|
350 |
-
* @param unknown $agent_string The value for the User Agent
|
351 |
-
*/
|
352 |
-
function setUserAgent( $agent_string ) {
|
353 |
-
$this->reset();
|
354 |
-
$this->_agent = $agent_string;
|
355 |
-
$this->determine();
|
356 |
-
}
|
357 |
-
/**
|
358 |
-
* Used to determine if the browser is actually "chromeframe"
|
359 |
-
*
|
360 |
-
* @since 1.7
|
361 |
-
* @return boolean True if the browser is using chromeframe
|
362 |
-
*/
|
363 |
-
function isChromeFrame() {
|
364 |
-
return strpos( $this->_agent, "chromeframe" ) !== false;
|
365 |
-
}
|
366 |
-
/**
|
367 |
-
* Returns a formatted string with a summary of the details of the browser.
|
368 |
-
*
|
369 |
-
* @return string formatted string with a summary of the browser
|
370 |
-
*/
|
371 |
-
function __toString() {
|
372 |
-
$text1 = $this->getUserAgent(); //grabs the UA (user agent) string
|
373 |
-
$UAline1 = substr( $text1, 0, 32 ); //the first line we print should only be the first 32 characters of the UA string
|
374 |
-
$text2 = $this->getUserAgent();//now we grab it again and save it to a string
|
375 |
-
$towrapUA = str_replace( $UAline1, '', $text2 );//the rest of the printoff (other than first line) is equivolent
|
376 |
-
// To the whole string minus the part we printed off. IE
|
377 |
-
// User Agent: thefirst32charactersfromUAline1
|
378 |
-
// the rest of it is now stored in
|
379 |
-
// $text2 to be printed off
|
380 |
-
// But we need to add spaces before each line that is split other than line 1
|
381 |
-
$space = '';
|
382 |
-
for ( $i = 0; $i < 25; $i++ ) {
|
383 |
-
$space .= ' ';
|
384 |
-
}
|
385 |
-
// Now we split the remaining string of UA ($text2) into lines that are prefixed by spaces for formatting
|
386 |
-
$wordwrapped = chunk_split( $towrapUA, 32, "\n $space" );
|
387 |
-
return "Platform: {$this->getPlatform()} \n".
|
388 |
-
"Browser Name: {$this->getBrowser()} \n" .
|
389 |
-
"Browser Version: {$this->getVersion()} \n" .
|
390 |
-
"User Agent String: $UAline1 \n\t\t\t " .
|
391 |
-
"$wordwrapped";
|
392 |
-
}
|
393 |
-
/**
|
394 |
-
* Protected routine to calculate and determine what the browser is in use (including platform)
|
395 |
-
*/
|
396 |
-
function determine() {
|
397 |
-
$this->checkPlatform();
|
398 |
-
$this->checkBrowsers();
|
399 |
-
$this->checkForAol();
|
400 |
-
}
|
401 |
-
/**
|
402 |
-
* Protected routine to determine the browser type
|
403 |
-
*
|
404 |
-
* @return boolean True if the browser was detected otherwise false
|
405 |
-
*/
|
406 |
-
function checkBrowsers() {
|
407 |
-
return (
|
408 |
-
// Well-known, well-used
|
409 |
-
// Special Notes:
|
410 |
-
// (1) Opera must be checked before FireFox due to the odd
|
411 |
-
// user agents used in some older versions of Opera
|
412 |
-
// (2) WebTV is strapped onto Internet Explorer so we must
|
413 |
-
// check for WebTV before IE
|
414 |
-
// (3) (deprecated) Galeon is based on Firefox and needs to be
|
415 |
-
// tested before Firefox is tested
|
416 |
-
// (4) OmniWeb is based on Safari so OmniWeb check must occur
|
417 |
-
// before Safari
|
418 |
-
// (5) Netscape 9+ is based on Firefox so Netscape checks
|
419 |
-
// before FireFox are necessary
|
420 |
-
$this->checkBrowserWebTv() ||
|
421 |
-
$this->checkBrowserInternetExplorer() ||
|
422 |
-
$this->checkBrowserOpera() ||
|
423 |
-
$this->checkBrowserGaleon() ||
|
424 |
-
$this->checkBrowserNetscapeNavigator9Plus() ||
|
425 |
-
$this->checkBrowserFirefox() ||
|
426 |
-
$this->checkBrowserChrome() ||
|
427 |
-
$this->checkBrowserOmniWeb() ||
|
428 |
-
|
429 |
-
// Common mobile
|
430 |
-
$this->checkBrowserAndroid() ||
|
431 |
-
$this->checkBrowseriPad() ||
|
432 |
-
$this->checkBrowseriPod() ||
|
433 |
-
$this->checkBrowseriPhone() ||
|
434 |
-
$this->checkBrowserBlackBerry() ||
|
435 |
-
$this->checkBrowserNokia() ||
|
436 |
-
|
437 |
-
// Common bots
|
438 |
-
$this->checkBrowserGoogleBot() ||
|
439 |
-
$this->checkBrowserMSNBot() ||
|
440 |
-
$this->checkBrowserSlurp() ||
|
441 |
-
|
442 |
-
// WebKit base check (post mobile and others)
|
443 |
-
$this->checkBrowserSafari() ||
|
444 |
-
|
445 |
-
// Everyone else
|
446 |
-
$this->checkBrowserNetPositive() ||
|
447 |
-
$this->checkBrowserFirebird() ||
|
448 |
-
$this->checkBrowserKonqueror() ||
|
449 |
-
$this->checkBrowserIcab() ||
|
450 |
-
$this->checkBrowserPhoenix() ||
|
451 |
-
$this->checkBrowserAmaya() ||
|
452 |
-
$this->checkBrowserLynx() ||
|
453 |
-
|
454 |
-
$this->checkBrowserShiretoko() ||
|
455 |
-
$this->checkBrowserIceCat() ||
|
456 |
-
$this->checkBrowserW3CValidator() ||
|
457 |
-
$this->checkBrowserMozilla() /* Mozilla is such an open standard that you must check it last */
|
458 |
-
);
|
459 |
-
}
|
460 |
-
|
461 |
-
/**
|
462 |
-
* Determine if the user is using a BlackBerry (last updated 1.7)
|
463 |
-
*
|
464 |
-
* @return boolean True if the browser is the BlackBerry browser otherwise false
|
465 |
-
*/
|
466 |
-
function checkBrowserBlackBerry() {
|
467 |
-
if ( stripos( $this->_agent, 'blackberry' ) !== false ) {
|
468 |
-
$aresult = explode( "/", stristr( $this->_agent, "BlackBerry" ) );
|
469 |
-
$aversion = explode( ' ', $aresult[1] );
|
470 |
-
$this->setVersion( $aversion[0] );
|
471 |
-
$this->_browser_name = $this->BROWSER_BLACKBERRY;
|
472 |
-
$this->setMobile( true );
|
473 |
-
return true;
|
474 |
-
}
|
475 |
-
return false;
|
476 |
-
}
|
477 |
-
|
478 |
-
/**
|
479 |
-
* Determine if the user is using an AOL User Agent (last updated 1.7)
|
480 |
-
*
|
481 |
-
* @return boolean True if the browser is from AOL otherwise false
|
482 |
-
*/
|
483 |
-
function checkForAol() {
|
484 |
-
$this->setAol( false );
|
485 |
-
$this->setAolVersion( $this->VERSION_UNKNOWN );
|
486 |
-
|
487 |
-
if ( stripos( $this->_agent, 'aol' ) !== false ) {
|
488 |
-
$aversion = explode( ' ', stristr( $this->_agent, 'AOL' ) );
|
489 |
-
$this->setAol( true );
|
490 |
-
$this->setAolVersion( preg_replace( '/[^0-9\.a-z]/i', '', $aversion[1] ) );
|
491 |
-
return true;
|
492 |
-
}
|
493 |
-
return false;
|
494 |
-
}
|
495 |
-
|
496 |
-
/**
|
497 |
-
* Determine if the browser is the GoogleBot or not (last updated 1.7)
|
498 |
-
*
|
499 |
-
* @return boolean True if the browser is the GoogletBot otherwise false
|
500 |
-
*/
|
501 |
-
function checkBrowserGoogleBot() {
|
502 |
-
if ( stripos( $this->_agent, 'googlebot' ) !== false ) {
|
503 |
-
$aresult = explode( '/', stristr( $this->_agent, 'googlebot' ) );
|
504 |
-
$aversion = explode( ' ', $aresult[1] );
|
505 |
-
$this->setVersion( str_replace( ';', '', $aversion[0] ) );
|
506 |
-
$this->_browser_name = $this->BROWSER_GOOGLEBOT;
|
507 |
-
$this->setRobot( true );
|
508 |
-
return true;
|
509 |
-
}
|
510 |
-
return false;
|
511 |
-
}
|
512 |
-
|
513 |
-
/**
|
514 |
-
* Determine if the browser is the MSNBot or not (last updated 1.9)
|
515 |
-
*
|
516 |
-
* @return boolean True if the browser is the MSNBot otherwise false
|
517 |
-
*/
|
518 |
-
function checkBrowserMSNBot() {
|
519 |
-
if ( stripos( $this->_agent, "msnbot" ) !== false ) {
|
520 |
-
$aresult = explode( "/", stristr( $this->_agent, "msnbot" ) );
|
521 |
-
$aversion = explode( " ", $aresult[1] );
|
522 |
-
$this->setVersion( str_replace( ";", "", $aversion[0] ) );
|
523 |
-
$this->_browser_name = $this->BROWSER_MSNBOT;
|
524 |
-
$this->setRobot( true );
|
525 |
-
return true;
|
526 |
-
}
|
527 |
-
return false;
|
528 |
-
}
|
529 |
-
|
530 |
-
/**
|
531 |
-
* Determine if the browser is the W3C Validator or not (last updated 1.7)
|
532 |
-
*
|
533 |
-
* @return boolean True if the browser is the W3C Validator otherwise false
|
534 |
-
*/
|
535 |
-
function checkBrowserW3CValidator() {
|
536 |
-
if ( stripos( $this->_agent, 'W3C-checklink' ) !== false ) {
|
537 |
-
$aresult = explode( '/', stristr( $this->_agent, 'W3C-checklink' ) );
|
538 |
-
$aversion = explode( ' ', $aresult[1] );
|
539 |
-
$this->setVersion( $aversion[0] );
|
540 |
-
$this->_browser_name = $this->BROWSER_W3CVALIDATOR;
|
541 |
-
return true;
|
542 |
-
} else if ( stripos( $this->_agent, 'W3C_Validator' ) !== false ) {
|
543 |
-
// Some of the Validator versions do not delineate w/ a slash - add it back in
|
544 |
-
$ua = str_replace( "W3C_Validator ", "W3C_Validator/", $this->_agent );
|
545 |
-
$aresult = explode( '/', stristr( $ua, 'W3C_Validator' ) );
|
546 |
-
$aversion = explode( ' ', $aresult[1] );
|
547 |
-
$this->setVersion( $aversion[0] );
|
548 |
-
$this->_browser_name = $this->BROWSER_W3CVALIDATOR;
|
549 |
-
return true;
|
550 |
-
}
|
551 |
-
return false;
|
552 |
-
}
|
553 |
-
|
554 |
-
/**
|
555 |
-
* Determine if the browser is the Yahoo! Slurp Robot or not (last updated 1.7)
|
556 |
-
*
|
557 |
-
* @return boolean True if the browser is the Yahoo! Slurp Robot otherwise false
|
558 |
-
*/
|
559 |
-
function checkBrowserSlurp() {
|
560 |
-
if ( stripos( $this->_agent, 'slurp' ) !== false ) {
|
561 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Slurp' ) );
|
562 |
-
$aversion = explode( ' ', $aresult[1] );
|
563 |
-
$this->setVersion( $aversion[0] );
|
564 |
-
$this->_browser_name = $this->BROWSER_SLURP;
|
565 |
-
$this->setRobot( true );
|
566 |
-
$this->setMobile( false );
|
567 |
-
return true;
|
568 |
-
}
|
569 |
-
return false;
|
570 |
-
}
|
571 |
-
|
572 |
-
/**
|
573 |
-
* Determine if the browser is Internet Explorer or not (last updated 1.7)
|
574 |
-
*
|
575 |
-
* @return boolean True if the browser is Internet Explorer otherwise false
|
576 |
-
*/
|
577 |
-
function checkBrowserInternetExplorer() {
|
578 |
-
|
579 |
-
// Test for v1 - v1.5 IE
|
580 |
-
if ( stripos( $this->_agent, 'microsoft internet explorer' ) !== false ) {
|
581 |
-
$this->setBrowser( $this->BROWSER_IE );
|
582 |
-
$this->setVersion( '1.0' );
|
583 |
-
$aresult = stristr( $this->_agent, '/' );
|
584 |
-
if ( preg_match( '/308|425|426|474|0b1/i', $aresult ) ) {
|
585 |
-
$this->setVersion( '1.5' );
|
586 |
-
}
|
587 |
-
return true;
|
588 |
-
}
|
589 |
-
// Test for versions > 1.5
|
590 |
-
else if ( stripos( $this->_agent, 'msie' ) !== false && stripos( $this->_agent, 'opera' ) === false ) {
|
591 |
-
// See if the browser is the odd MSN Explorer
|
592 |
-
if ( stripos( $this->_agent, 'msnb' ) !== false ) {
|
593 |
-
$aresult = explode( ' ', stristr( str_replace( ';', '; ', $this->_agent ), 'MSN' ) );
|
594 |
-
$this->setBrowser( $this->BROWSER_MSN );
|
595 |
-
$this->setVersion( str_replace( array( '(', ')', ';' ), '', $aresult[1] ) );
|
596 |
-
return true;
|
597 |
-
}
|
598 |
-
$aresult = explode( ' ', stristr( str_replace( ';', '; ', $this->_agent ), 'msie' ) );
|
599 |
-
$this->setBrowser( $this->BROWSER_IE );
|
600 |
-
$this->setVersion( str_replace( array( '(', ')', ';' ), '', $aresult[1] ) );
|
601 |
-
return true;
|
602 |
-
}
|
603 |
-
// Test for Pocket IE
|
604 |
-
else if ( stripos( $this->_agent, 'mspie' ) !== false || stripos( $this->_agent, 'pocket' ) !== false ) {
|
605 |
-
$aresult = explode( ' ', stristr( $this->_agent, 'mspie' ) );
|
606 |
-
$this->setPlatform( $this->PLATFORM_WINDOWS_CE );
|
607 |
-
$this->setBrowser( $this->BROWSER_POCKET_IE );
|
608 |
-
$this->setMobile( true );
|
609 |
-
|
610 |
-
if ( stripos( $this->_agent, 'mspie' ) !== false ) {
|
611 |
-
$this->setVersion( $aresult[1] );
|
612 |
-
} else {
|
613 |
-
$aversion = explode( '/', $this->_agent );
|
614 |
-
$this->setVersion( $aversion[1] );
|
615 |
-
}
|
616 |
-
return true;
|
617 |
-
}
|
618 |
-
return false;
|
619 |
-
}
|
620 |
-
|
621 |
-
/**
|
622 |
-
* Determine if the browser is Opera or not (last updated 1.7)
|
623 |
-
*
|
624 |
-
* @return boolean True if the browser is Opera otherwise false
|
625 |
-
*/
|
626 |
-
function checkBrowserOpera() {
|
627 |
-
if ( stripos( $this->_agent, 'opera mini' ) !== false ) {
|
628 |
-
$resultant = stristr( $this->_agent, 'opera mini' );
|
629 |
-
if ( preg_match( '/\//', $resultant ) ) {
|
630 |
-
$aresult = explode( '/', $resultant );
|
631 |
-
$aversion = explode( ' ', $aresult[1] );
|
632 |
-
$this->setVersion( $aversion[0] );
|
633 |
-
} else {
|
634 |
-
$aversion = explode( ' ', stristr( $resultant, 'opera mini' ) );
|
635 |
-
$this->setVersion( $aversion[1] );
|
636 |
-
}
|
637 |
-
$this->_browser_name = $this->BROWSER_OPERA_MINI;
|
638 |
-
$this->setMobile( true );
|
639 |
-
return true;
|
640 |
-
} else if ( stripos( $this->_agent, 'opera' ) !== false ) {
|
641 |
-
$resultant = stristr( $this->_agent, 'opera' );
|
642 |
-
if ( preg_match( '/Version\/(10.*)$/', $resultant, $matches ) ) {
|
643 |
-
$this->setVersion( $matches[1] );
|
644 |
-
} else if ( preg_match( '/\//', $resultant ) ) {
|
645 |
-
$aresult = explode( '/', str_replace( "(", " ", $resultant ) );
|
646 |
-
$aversion = explode( ' ', $aresult[1] );
|
647 |
-
$this->setVersion( $aversion[0] );
|
648 |
-
} else {
|
649 |
-
$aversion = explode( ' ', stristr( $resultant, 'opera' ) );
|
650 |
-
$this->setVersion( isset( $aversion[1] )?$aversion[1]:"" );
|
651 |
-
}
|
652 |
-
$this->_browser_name = $this->BROWSER_OPERA;
|
653 |
-
return true;
|
654 |
-
}
|
655 |
-
return false;
|
656 |
-
}
|
657 |
-
|
658 |
-
/**
|
659 |
-
* Determine if the browser is Chrome or not (last updated 1.7)
|
660 |
-
*
|
661 |
-
* @return boolean True if the browser is Chrome otherwise false
|
662 |
-
*/
|
663 |
-
function checkBrowserChrome() {
|
664 |
-
if ( stripos( $this->_agent, 'Chrome' ) !== false ) {
|
665 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Chrome' ) );
|
666 |
-
$aversion = explode( ' ', $aresult[1] );
|
667 |
-
$this->setVersion( $aversion[0] );
|
668 |
-
$this->setBrowser( $this->BROWSER_CHROME );
|
669 |
-
return true;
|
670 |
-
}
|
671 |
-
return false;
|
672 |
-
}
|
673 |
-
|
674 |
-
|
675 |
-
/**
|
676 |
-
* Determine if the browser is WebTv or not (last updated 1.7)
|
677 |
-
*
|
678 |
-
* @return boolean True if the browser is WebTv otherwise false
|
679 |
-
*/
|
680 |
-
function checkBrowserWebTv() {
|
681 |
-
if ( stripos( $this->_agent, 'webtv' ) !== false ) {
|
682 |
-
$aresult = explode( '/', stristr( $this->_agent, 'webtv' ) );
|
683 |
-
$aversion = explode( ' ', $aresult[1] );
|
684 |
-
$this->setVersion( $aversion[0] );
|
685 |
-
$this->setBrowser( $this->BROWSER_WEBTV );
|
686 |
-
return true;
|
687 |
-
}
|
688 |
-
return false;
|
689 |
-
}
|
690 |
-
|
691 |
-
/**
|
692 |
-
* Determine if the browser is NetPositive or not (last updated 1.7)
|
693 |
-
*
|
694 |
-
* @return boolean True if the browser is NetPositive otherwise false
|
695 |
-
*/
|
696 |
-
function checkBrowserNetPositive() {
|
697 |
-
if ( stripos( $this->_agent, 'NetPositive' ) !== false ) {
|
698 |
-
$aresult = explode( '/', stristr( $this->_agent, 'NetPositive' ) );
|
699 |
-
$aversion = explode( ' ', $aresult[1] );
|
700 |
-
$this->setVersion( str_replace( array( '(', ')', ';' ), '', $aversion[0] ) );
|
701 |
-
$this->setBrowser( $this->BROWSER_NETPOSITIVE );
|
702 |
-
return true;
|
703 |
-
}
|
704 |
-
return false;
|
705 |
-
}
|
706 |
-
|
707 |
-
/**
|
708 |
-
* Determine if the browser is Galeon or not (last updated 1.7)
|
709 |
-
*
|
710 |
-
* @return boolean True if the browser is Galeon otherwise false
|
711 |
-
*/
|
712 |
-
function checkBrowserGaleon() {
|
713 |
-
if ( stripos( $this->_agent, 'galeon' ) !== false ) {
|
714 |
-
$aresult = explode( ' ', stristr( $this->_agent, 'galeon' ) );
|
715 |
-
$aversion = explode( '/', $aresult[0] );
|
716 |
-
$this->setVersion( $aversion[1] );
|
717 |
-
$this->setBrowser( $this->BROWSER_GALEON );
|
718 |
-
return true;
|
719 |
-
}
|
720 |
-
return false;
|
721 |
-
}
|
722 |
-
|
723 |
-
/**
|
724 |
-
* Determine if the browser is Konqueror or not (last updated 1.7)
|
725 |
-
*
|
726 |
-
* @return boolean True if the browser is Konqueror otherwise false
|
727 |
-
*/
|
728 |
-
function checkBrowserKonqueror() {
|
729 |
-
if ( stripos( $this->_agent, 'Konqueror' ) !== false ) {
|
730 |
-
$aresult = explode( ' ', stristr( $this->_agent, 'Konqueror' ) );
|
731 |
-
$aversion = explode( '/', $aresult[0] );
|
732 |
-
$this->setVersion( $aversion[1] );
|
733 |
-
$this->setBrowser( $this->BROWSER_KONQUEROR );
|
734 |
-
return true;
|
735 |
-
}
|
736 |
-
return false;
|
737 |
-
}
|
738 |
-
|
739 |
-
/**
|
740 |
-
* Determine if the browser is iCab or not (last updated 1.7)
|
741 |
-
*
|
742 |
-
* @return boolean True if the browser is iCab otherwise false
|
743 |
-
*/
|
744 |
-
function checkBrowserIcab() {
|
745 |
-
if ( stripos( $this->_agent, 'icab' ) !== false ) {
|
746 |
-
$aversion = explode( ' ', stristr( str_replace( '/', ' ', $this->_agent ), 'icab' ) );
|
747 |
-
$this->setVersion( $aversion[1] );
|
748 |
-
$this->setBrowser( $this->BROWSER_ICAB );
|
749 |
-
return true;
|
750 |
-
}
|
751 |
-
return false;
|
752 |
-
}
|
753 |
-
|
754 |
-
/**
|
755 |
-
* Determine if the browser is OmniWeb or not (last updated 1.7)
|
756 |
-
*
|
757 |
-
* @return boolean True if the browser is OmniWeb otherwise false
|
758 |
-
*/
|
759 |
-
function checkBrowserOmniWeb() {
|
760 |
-
if ( stripos( $this->_agent, 'omniweb' ) !== false ) {
|
761 |
-
$aresult = explode( '/', stristr( $this->_agent, 'omniweb' ) );
|
762 |
-
$aversion = explode( ' ', isset( $aresult[1] )?$aresult[1]:"" );
|
763 |
-
$this->setVersion( $aversion[0] );
|
764 |
-
$this->setBrowser( $this->BROWSER_OMNIWEB );
|
765 |
-
return true;
|
766 |
-
}
|
767 |
-
return false;
|
768 |
-
}
|
769 |
-
|
770 |
-
/**
|
771 |
-
* Determine if the browser is Phoenix or not (last updated 1.7)
|
772 |
-
*
|
773 |
-
* @return boolean True if the browser is Phoenix otherwise false
|
774 |
-
*/
|
775 |
-
function checkBrowserPhoenix() {
|
776 |
-
if ( stripos( $this->_agent, 'Phoenix' ) !== false ) {
|
777 |
-
$aversion = explode( '/', stristr( $this->_agent, 'Phoenix' ) );
|
778 |
-
$this->setVersion( $aversion[1] );
|
779 |
-
$this->setBrowser( $this->BROWSER_PHOENIX );
|
780 |
-
return true;
|
781 |
-
}
|
782 |
-
return false;
|
783 |
-
}
|
784 |
-
|
785 |
-
/**
|
786 |
-
* Determine if the browser is Firebird or not (last updated 1.7)
|
787 |
-
*
|
788 |
-
* @return boolean True if the browser is Firebird otherwise false
|
789 |
-
*/
|
790 |
-
function checkBrowserFirebird() {
|
791 |
-
if ( stripos( $this->_agent, 'Firebird' ) !== false ) {
|
792 |
-
$aversion = explode( '/', stristr( $this->_agent, 'Firebird' ) );
|
793 |
-
$this->setVersion( $aversion[1] );
|
794 |
-
$this->setBrowser( $this->BROWSER_FIREBIRD );
|
795 |
-
return true;
|
796 |
-
}
|
797 |
-
return false;
|
798 |
-
}
|
799 |
-
|
800 |
-
/**
|
801 |
-
* Determine if the browser is Netscape Navigator 9+ or not (last updated 1.7)
|
802 |
-
* NOTE: (http://browser.netscape.com/ - Official support ended on March 1st, 2008)
|
803 |
-
*
|
804 |
-
* @return boolean True if the browser is Netscape Navigator 9+ otherwise false
|
805 |
-
*/
|
806 |
-
function checkBrowserNetscapeNavigator9Plus() {
|
807 |
-
if ( stripos( $this->_agent, 'Firefox' ) !== false && preg_match( '/Navigator\/([^ ]*)/i', $this->_agent, $matches ) ) {
|
808 |
-
$this->setVersion( $matches[1] );
|
809 |
-
$this->setBrowser( $this->BROWSER_NETSCAPE_NAVIGATOR );
|
810 |
-
return true;
|
811 |
-
} else if ( stripos( $this->_agent, 'Firefox' ) === false && preg_match( '/Netscape6?\/([^ ]*)/i', $this->_agent, $matches ) ) {
|
812 |
-
$this->setVersion( $matches[1] );
|
813 |
-
$this->setBrowser( $this->BROWSER_NETSCAPE_NAVIGATOR );
|
814 |
-
return true;
|
815 |
-
}
|
816 |
-
return false;
|
817 |
-
}
|
818 |
-
|
819 |
-
/**
|
820 |
-
* Determine if the browser is Shiretoko or not (https://wiki.mozilla.org/Projects/shiretoko) (last updated 1.7)
|
821 |
-
*
|
822 |
-
* @return boolean True if the browser is Shiretoko otherwise false
|
823 |
-
*/
|
824 |
-
function checkBrowserShiretoko() {
|
825 |
-
if ( stripos( $this->_agent, 'Mozilla' ) !== false && preg_match( '/Shiretoko\/([^ ]*)/i', $this->_agent, $matches ) ) {
|
826 |
-
$this->setVersion( $matches[1] );
|
827 |
-
$this->setBrowser( $this->BROWSER_SHIRETOKO );
|
828 |
-
return true;
|
829 |
-
}
|
830 |
-
return false;
|
831 |
-
}
|
832 |
-
|
833 |
-
/**
|
834 |
-
* Determine if the browser is Ice Cat or not (http://en.wikipedia.org/wiki/GNU_IceCat) (last updated 1.7)
|
835 |
-
*
|
836 |
-
* @return boolean True if the browser is Ice Cat otherwise false
|
837 |
-
*/
|
838 |
-
function checkBrowserIceCat() {
|
839 |
-
if ( stripos( $this->_agent, 'Mozilla' ) !== false && preg_match( '/IceCat\/([^ ]*)/i', $this->_agent, $matches ) ) {
|
840 |
-
$this->setVersion( $matches[1] );
|
841 |
-
$this->setBrowser( $this->BROWSER_ICECAT );
|
842 |
-
return true;
|
843 |
-
}
|
844 |
-
return false;
|
845 |
-
}
|
846 |
-
|
847 |
-
/**
|
848 |
-
* Determine if the browser is Nokia or not (last updated 1.7)
|
849 |
-
*
|
850 |
-
* @return boolean True if the browser is Nokia otherwise false
|
851 |
-
*/
|
852 |
-
function checkBrowserNokia() {
|
853 |
-
if ( preg_match( "/Nokia([^\/]+)\/([^ SP]+)/i", $this->_agent, $matches ) ) {
|
854 |
-
$this->setVersion( $matches[2] );
|
855 |
-
if ( stripos( $this->_agent, 'Series60' ) !== false || strpos( $this->_agent, 'S60' ) !== false ) {
|
856 |
-
$this->setBrowser( $this->BROWSER_NOKIA_S60 );
|
857 |
-
} else {
|
858 |
-
$this->setBrowser( $this->BROWSER_NOKIA );
|
859 |
-
}
|
860 |
-
$this->setMobile( true );
|
861 |
-
return true;
|
862 |
-
}
|
863 |
-
return false;
|
864 |
-
}
|
865 |
-
|
866 |
-
/**
|
867 |
-
* Determine if the browser is Firefox or not (last updated 1.7)
|
868 |
-
*
|
869 |
-
* @return boolean True if the browser is Firefox otherwise false
|
870 |
-
*/
|
871 |
-
function checkBrowserFirefox() {
|
872 |
-
if ( stripos( $this->_agent, 'safari' ) === false ) {
|
873 |
-
if ( preg_match( "/Firefox[\/ \(]([^ ;\)]+)/i", $this->_agent, $matches ) ) {
|
874 |
-
$this->setVersion( $matches[1] );
|
875 |
-
$this->setBrowser( $this->BROWSER_FIREFOX );
|
876 |
-
return true;
|
877 |
-
} else if ( preg_match( "/Firefox$/i", $this->_agent, $matches ) ) {
|
878 |
-
$this->setVersion( "" );
|
879 |
-
$this->setBrowser( $this->BROWSER_FIREFOX );
|
880 |
-
return true;
|
881 |
-
}
|
882 |
-
}
|
883 |
-
return false;
|
884 |
-
}
|
885 |
-
|
886 |
-
/**
|
887 |
-
* Determine if the browser is Firefox or not (last updated 1.7)
|
888 |
-
*
|
889 |
-
* @return boolean True if the browser is Firefox otherwise false
|
890 |
-
*/
|
891 |
-
function checkBrowserIceweasel() {
|
892 |
-
if ( stripos( $this->_agent, 'Iceweasel' ) !== false ) {
|
893 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Iceweasel' ) );
|
894 |
-
$aversion = explode( ' ', $aresult[1] );
|
895 |
-
$this->setVersion( $aversion[0] );
|
896 |
-
$this->setBrowser( $this->BROWSER_ICEWEASEL );
|
897 |
-
return true;
|
898 |
-
}
|
899 |
-
return false;
|
900 |
-
}
|
901 |
-
/**
|
902 |
-
* Determine if the browser is Mozilla or not (last updated 1.7)
|
903 |
-
*
|
904 |
-
* @return boolean True if the browser is Mozilla otherwise false
|
905 |
-
*/
|
906 |
-
function checkBrowserMozilla() {
|
907 |
-
if ( stripos( $this->_agent, 'mozilla' ) !== false && preg_match( '/rv:[0-9].[0-9][a-b]?/i', $this->_agent ) && stripos( $this->_agent, 'netscape' ) === false ) {
|
908 |
-
$aversion = explode( ' ', stristr( $this->_agent, 'rv:' ) );
|
909 |
-
preg_match( '/rv:[0-9].[0-9][a-b]?/i', $this->_agent, $aversion );
|
910 |
-
$this->setVersion( str_replace( 'rv:', '', $aversion[0] ) );
|
911 |
-
$this->setBrowser( $this->BROWSER_MOZILLA );
|
912 |
-
return true;
|
913 |
-
} else if ( stripos( $this->_agent, 'mozilla' ) !== false && preg_match( '/rv:[0-9]\.[0-9]/i', $this->_agent ) && stripos( $this->_agent, 'netscape' ) === false ) {
|
914 |
-
$aversion = explode( '', stristr( $this->_agent, 'rv:' ) );
|
915 |
-
$this->setVersion( str_replace( 'rv:', '', $aversion[0] ) );
|
916 |
-
$this->setBrowser( $this->BROWSER_MOZILLA );
|
917 |
-
return true;
|
918 |
-
} else if ( stripos( $this->_agent, 'mozilla' ) !== false && preg_match( '/mozilla\/([^ ]*)/i', $this->_agent, $matches ) && stripos( $this->_agent, 'netscape' ) === false ) {
|
919 |
-
$this->setVersion( $matches[1] );
|
920 |
-
$this->setBrowser( $this->BROWSER_MOZILLA );
|
921 |
-
return true;
|
922 |
-
}
|
923 |
-
return false;
|
924 |
-
}
|
925 |
-
|
926 |
-
/**
|
927 |
-
* Determine if the browser is Lynx or not (last updated 1.7)
|
928 |
-
*
|
929 |
-
* @return boolean True if the browser is Lynx otherwise false
|
930 |
-
*/
|
931 |
-
function checkBrowserLynx() {
|
932 |
-
if ( stripos( $this->_agent, 'lynx' ) !== false ) {
|
933 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Lynx' ) );
|
934 |
-
$aversion = explode( ' ', ( isset( $aresult[1] )?$aresult[1]:"" ) );
|
935 |
-
$this->setVersion( $aversion[0] );
|
936 |
-
$this->setBrowser( $this->BROWSER_LYNX );
|
937 |
-
return true;
|
938 |
-
}
|
939 |
-
return false;
|
940 |
-
}
|
941 |
-
|
942 |
-
/**
|
943 |
-
* Determine if the browser is Amaya or not (last updated 1.7)
|
944 |
-
*
|
945 |
-
* @return boolean True if the browser is Amaya otherwise false
|
946 |
-
*/
|
947 |
-
function checkBrowserAmaya() {
|
948 |
-
if ( stripos( $this->_agent, 'amaya' ) !== false ) {
|
949 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Amaya' ) );
|
950 |
-
$aversion = explode( ' ', $aresult[1] );
|
951 |
-
$this->setVersion( $aversion[0] );
|
952 |
-
$this->setBrowser( $this->BROWSER_AMAYA );
|
953 |
-
return true;
|
954 |
-
}
|
955 |
-
return false;
|
956 |
-
}
|
957 |
-
|
958 |
-
/**
|
959 |
-
* Determine if the browser is Safari or not (last updated 1.7)
|
960 |
-
*
|
961 |
-
* @return boolean True if the browser is Safari otherwise false
|
962 |
-
*/
|
963 |
-
function checkBrowserSafari() {
|
964 |
-
if ( stripos( $this->_agent, 'Safari' ) !== false && stripos( $this->_agent, 'iPhone' ) === false && stripos( $this->_agent, 'iPod' ) === false ) {
|
965 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Version' ) );
|
966 |
-
if ( isset( $aresult[1] ) ) {
|
967 |
-
$aversion = explode( ' ', $aresult[1] );
|
968 |
-
$this->setVersion( $aversion[0] );
|
969 |
-
} else {
|
970 |
-
$this->setVersion( $this->VERSION_UNKNOWN );
|
971 |
-
}
|
972 |
-
$this->setBrowser( $this->BROWSER_SAFARI );
|
973 |
-
return true;
|
974 |
-
}
|
975 |
-
return false;
|
976 |
-
}
|
977 |
-
|
978 |
-
/**
|
979 |
-
* Determine if the browser is iPhone or not (last updated 1.7)
|
980 |
-
*
|
981 |
-
* @return boolean True if the browser is iPhone otherwise false
|
982 |
-
*/
|
983 |
-
function checkBrowseriPhone() {
|
984 |
-
if ( stripos( $this->_agent, 'iPhone' ) !== false ) {
|
985 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Version' ) );
|
986 |
-
if ( isset( $aresult[1] ) ) {
|
987 |
-
$aversion = explode( ' ', $aresult[1] );
|
988 |
-
$this->setVersion( $aversion[0] );
|
989 |
-
} else {
|
990 |
-
$this->setVersion( $this->VERSION_UNKNOWN );
|
991 |
-
}
|
992 |
-
$this->setMobile( true );
|
993 |
-
$this->setBrowser( $this->BROWSER_IPHONE );
|
994 |
-
return true;
|
995 |
-
}
|
996 |
-
return false;
|
997 |
-
}
|
998 |
-
|
999 |
-
/**
|
1000 |
-
* Determine if the browser is iPod or not (last updated 1.7)
|
1001 |
-
*
|
1002 |
-
* @return boolean True if the browser is iPod otherwise false
|
1003 |
-
*/
|
1004 |
-
function checkBrowseriPad() {
|
1005 |
-
if ( stripos( $this->_agent, 'iPad' ) !== false ) {
|
1006 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Version' ) );
|
1007 |
-
if ( isset( $aresult[1] ) ) {
|
1008 |
-
$aversion = explode( ' ', $aresult[1] );
|
1009 |
-
$this->setVersion( $aversion[0] );
|
1010 |
-
} else {
|
1011 |
-
$this->setVersion( $this->VERSION_UNKNOWN );
|
1012 |
-
}
|
1013 |
-
$this->setMobile( true );
|
1014 |
-
$this->setBrowser( $this->BROWSER_IPAD );
|
1015 |
-
return true;
|
1016 |
-
}
|
1017 |
-
return false;
|
1018 |
-
}
|
1019 |
-
|
1020 |
-
/**
|
1021 |
-
* Determine if the browser is iPod or not (last updated 1.7)
|
1022 |
-
*
|
1023 |
-
* @return boolean True if the browser is iPod otherwise false
|
1024 |
-
*/
|
1025 |
-
function checkBrowseriPod() {
|
1026 |
-
if ( stripos( $this->_agent, 'iPod' ) !== false ) {
|
1027 |
-
$aresult = explode( '/', stristr( $this->_agent, 'Version' ) );
|
1028 |
-
if ( isset( $aresult[1] ) ) {
|
1029 |
-
$aversion = explode( ' ', $aresult[1] );
|
1030 |
-
$this->setVersion( $aversion[0] );
|
1031 |
-
} else {
|
1032 |
-
$this->setVersion( $this->VERSION_UNKNOWN );
|
1033 |
-
}
|
1034 |
-
$this->setMobile( true );
|
1035 |
-
$this->setBrowser( $this->BROWSER_IPOD );
|
1036 |
-
return true;
|
1037 |
-
}
|
1038 |
-
return false;
|
1039 |
-
}
|
1040 |
-
|
1041 |
-
/**
|
1042 |
-
* Determine if the browser is Android or not (last updated 1.7)
|
1043 |
-
*
|
1044 |
-
* @return boolean True if the browser is Android otherwise false
|
1045 |
-
*/
|
1046 |
-
function checkBrowserAndroid() {
|
1047 |
-
if ( stripos( $this->_agent, 'Android' ) !== false ) {
|
1048 |
-
$aresult = explode( ' ', stristr( $this->_agent, 'Android' ) );
|
1049 |
-
if ( isset( $aresult[1] ) ) {
|
1050 |
-
$aversion = explode( ' ', $aresult[1] );
|
1051 |
-
$this->setVersion( $aversion[0] );
|
1052 |
-
} else {
|
1053 |
-
$this->setVersion( $this->VERSION_UNKNOWN );
|
1054 |
-
}
|
1055 |
-
$this->setMobile( true );
|
1056 |
-
$this->setBrowser( $this->BROWSER_ANDROID );
|
1057 |
-
return true;
|
1058 |
-
}
|
1059 |
-
return false;
|
1060 |
-
}
|
1061 |
-
|
1062 |
-
/**
|
1063 |
-
* Determine the user's platform (last updated 1.7)
|
1064 |
-
*/
|
1065 |
-
function checkPlatform() {
|
1066 |
-
if ( stripos( $this->_agent, 'windows' ) !== false ) {
|
1067 |
-
$this->_platform = $this->PLATFORM_WINDOWS;
|
1068 |
-
} else if ( stripos( $this->_agent, 'iPad' ) !== false ) {
|
1069 |
-
$this->_platform = $this->PLATFORM_IPAD;
|
1070 |
-
} else if ( stripos( $this->_agent, 'iPod' ) !== false ) {
|
1071 |
-
$this->_platform = $this->PLATFORM_IPOD;
|
1072 |
-
} else if ( stripos( $this->_agent, 'iPhone' ) !== false ) {
|
1073 |
-
$this->_platform = $this->PLATFORM_IPHONE;
|
1074 |
-
} elseif ( stripos( $this->_agent, 'mac' ) !== false ) {
|
1075 |
-
$this->_platform = $this->PLATFORM_APPLE;
|
1076 |
-
} elseif ( stripos( $this->_agent, 'android' ) !== false ) {
|
1077 |
-
$this->_platform = $this->PLATFORM_ANDROID;
|
1078 |
-
} elseif ( stripos( $this->_agent, 'linux' ) !== false ) {
|
1079 |
-
$this->_platform = $this->PLATFORM_LINUX;
|
1080 |
-
} else if ( stripos( $this->_agent, 'Nokia' ) !== false ) {
|
1081 |
-
$this->_platform = $this->PLATFORM_NOKIA;
|
1082 |
-
} else if ( stripos( $this->_agent, 'BlackBerry' ) !== false ) {
|
1083 |
-
$this->_platform = $this->PLATFORM_BLACKBERRY;
|
1084 |
-
} elseif ( stripos( $this->_agent, 'FreeBSD' ) !== false ) {
|
1085 |
-
$this->_platform = $this->PLATFORM_FREEBSD;
|
1086 |
-
} elseif ( stripos( $this->_agent, 'OpenBSD' ) !== false ) {
|
1087 |
-
$this->_platform = $this->PLATFORM_OPENBSD;
|
1088 |
-
} elseif ( stripos( $this->_agent, 'NetBSD' ) !== false ) {
|
1089 |
-
$this->_platform = $this->PLATFORM_NETBSD;
|
1090 |
-
} elseif ( stripos( $this->_agent, 'OpenSolaris' ) !== false ) {
|
1091 |
-
$this->_platform = $this->PLATFORM_OPENSOLARIS;
|
1092 |
-
} elseif ( stripos( $this->_agent, 'SunOS' ) !== false ) {
|
1093 |
-
$this->_platform = $this->PLATFORM_SUNOS;
|
1094 |
-
} elseif ( stripos( $this->_agent, 'OS\/2' ) !== false ) {
|
1095 |
-
$this->_platform = $this->PLATFORM_OS2;
|
1096 |
-
} elseif ( stripos( $this->_agent, 'BeOS' ) !== false ) {
|
1097 |
-
$this->_platform = $this->PLATFORM_BEOS;
|
1098 |
-
} elseif ( stripos( $this->_agent, 'win' ) !== false ) {
|
1099 |
-
$this->_platform = $this->PLATFORM_WINDOWS;
|
1100 |
-
}
|
1101 |
-
|
1102 |
-
}
|
1103 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/wpdesk/wp-settings/source/modules/sysinfo/class.s214-sysinfo.php
DELETED
@@ -1,442 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* System Info handler for Section214
|
4 |
-
*
|
5 |
-
* @package S214\Sysinfo
|
6 |
-
* @since 1.1.0
|
7 |
-
*/
|
8 |
-
|
9 |
-
// Exit if accessed directly
|
10 |
-
if( ! defined( 'ABSPATH' ) ) {
|
11 |
-
exit;
|
12 |
-
}
|
13 |
-
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Section214 system info handler class
|
17 |
-
*
|
18 |
-
* @since 1.1.0
|
19 |
-
*/
|
20 |
-
class S214_Sysinfo {
|
21 |
-
|
22 |
-
|
23 |
-
/**
|
24 |
-
* @var string $slug The plugin slug
|
25 |
-
* @since 1.1.0
|
26 |
-
*/
|
27 |
-
private $slug;
|
28 |
-
|
29 |
-
|
30 |
-
/**
|
31 |
-
* @var string $func The plugin slug for names
|
32 |
-
* @since 1.1.0
|
33 |
-
*/
|
34 |
-
private $func;
|
35 |
-
|
36 |
-
|
37 |
-
/**
|
38 |
-
* @var string $ver The library version
|
39 |
-
* @since 1.1.0
|
40 |
-
*/
|
41 |
-
private $version;
|
42 |
-
|
43 |
-
|
44 |
-
/**
|
45 |
-
* Class constructor
|
46 |
-
*
|
47 |
-
* @access public
|
48 |
-
* @since 1.1.0
|
49 |
-
* @param string $_slug
|
50 |
-
* @param string $_func
|
51 |
-
* @return void
|
52 |
-
*/
|
53 |
-
public function __construct( $_slug, $_func, $_version ) {
|
54 |
-
$this->slug = $_slug;
|
55 |
-
$this->func = $_func;
|
56 |
-
$this->version = $_version;
|
57 |
-
|
58 |
-
// Run action and filter hooks
|
59 |
-
$this->hooks();
|
60 |
-
}
|
61 |
-
|
62 |
-
|
63 |
-
/**
|
64 |
-
* Run action and filter hooks
|
65 |
-
*
|
66 |
-
* @access private
|
67 |
-
* @since 1.1.0
|
68 |
-
* @return void
|
69 |
-
*/
|
70 |
-
private function hooks() {
|
71 |
-
// Process sysinfo download
|
72 |
-
add_action( $this->func . '_settings_download_system_info', array( $this, 'download_system_info' ) );
|
73 |
-
}
|
74 |
-
|
75 |
-
|
76 |
-
/**
|
77 |
-
* Get system info
|
78 |
-
*
|
79 |
-
* @access public
|
80 |
-
* @since 1.1.0
|
81 |
-
* @global object $wpdb The WordPress database object
|
82 |
-
* @return string $return The system info to display
|
83 |
-
*/
|
84 |
-
public function get_system_info() {
|
85 |
-
global $wpdb;
|
86 |
-
|
87 |
-
if( ! class_exists( 'Browser' ) ) {
|
88 |
-
require_once 'browser.php';
|
89 |
-
}
|
90 |
-
|
91 |
-
$browser = new Browser();
|
92 |
-
|
93 |
-
// Get theme info
|
94 |
-
if( get_bloginfo( 'version' ) < '3.4' ) {
|
95 |
-
$theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' );
|
96 |
-
$theme = $theme_data['Name'] . ' ' . $theme_data['Version'];
|
97 |
-
} else {
|
98 |
-
$theme_data = wp_get_theme();
|
99 |
-
$theme = $theme_data->Name . ' ' . $theme_data->Version;
|
100 |
-
}
|
101 |
-
|
102 |
-
// Try to identify the hosting provider
|
103 |
-
$host = $this->get_host();
|
104 |
-
|
105 |
-
$return = '### Begin System Info ###' . "\n\n";
|
106 |
-
|
107 |
-
// Start with the basics...
|
108 |
-
$return .= '-- Site Info' . "\n\n";
|
109 |
-
$return .= 'Site URL: ' . site_url() . "\n";
|
110 |
-
$return .= 'Home URL: ' . home_url() . "\n";
|
111 |
-
$return .= 'Multisite: ' . ( is_multisite() ? 'Yes' : 'No' ) . "\n";
|
112 |
-
|
113 |
-
$return = apply_filters( $this->func . '_sysinfo_after_site_info', $return );
|
114 |
-
|
115 |
-
// Can we determine the site's host?
|
116 |
-
if( $host ) {
|
117 |
-
$return .= "\n" . '-- Hosting Provider' . "\n\n";
|
118 |
-
$return .= 'Host: ' . $host . "\n";
|
119 |
-
|
120 |
-
$return = apply_filters( $this->func . '_sysinfo_after_host_info', $return );
|
121 |
-
}
|
122 |
-
|
123 |
-
// The local users' browser information, handled by the Browser class
|
124 |
-
$return .= "\n" . '-- User Browser' . "\n\n";
|
125 |
-
$return .= $browser;
|
126 |
-
|
127 |
-
$return = apply_filters( $this->func . '_sysinfo_after_user_browser', $return );
|
128 |
-
|
129 |
-
// WordPress configuration
|
130 |
-
$return .= "\n" . '-- WordPress Configuration' . "\n\n";
|
131 |
-
$return .= 'Version: ' . get_bloginfo( 'version' ) . "\n";
|
132 |
-
$return .= 'Language: ' . ( defined( 'WPLANG' ) && WPLANG ? WPLANG : 'en_US' ) . "\n";
|
133 |
-
$return .= 'Permalink Structure: ' . ( get_option( 'permalink_structure' ) ? get_option( 'permalink_structure' ) : 'Default' ) . "\n";
|
134 |
-
$return .= 'Active Theme: ' . $theme . "\n";
|
135 |
-
$return .= 'Show On Front: ' . get_option( 'show_on_front' ) . "\n";
|
136 |
-
|
137 |
-
// Only show page specs if frontpage is set to 'page'
|
138 |
-
if( get_option( 'show_on_front' ) == 'page' ) {
|
139 |
-
$front_page_id = get_option( 'page_on_front' );
|
140 |
-
$blog_page_id = get_option( 'page_for_posts' );
|
141 |
-
|
142 |
-
$return .= 'Page On Front: ' . ( $front_page_id != 0 ? get_the_title( $front_page_id ) . ' (#' . $front_page_id . ')' : 'Unset' ) . "\n";
|
143 |
-
$return .= 'Page For Posts: ' . ( $blog_page_id != 0 ? get_the_title( $blog_page_id ) . ' (#' . $blog_page_id . ')' : 'Unset' ) . "\n";
|
144 |
-
}
|
145 |
-
|
146 |
-
// Make sure wp_remote_post() is working
|
147 |
-
$request['cmd'] = '_notify-validate';
|
148 |
-
|
149 |
-
$params = array(
|
150 |
-
'sslverify' => false,
|
151 |
-
'timeout' => 60,
|
152 |
-
'user-agent' => 'S214-Settings/' . $this->version,
|
153 |
-
'body' => $request
|
154 |
-
);
|
155 |
-
|
156 |
-
$response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
|
157 |
-
|
158 |
-
if( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
|
159 |
-
$WP_REMOTE_POST = 'wp_remote_post() works';
|
160 |
-
} else {
|
161 |
-
$WP_REMOTE_POST = 'wp_remote_post() does not work';
|
162 |
-
}
|
163 |
-
|
164 |
-
$return .= 'Remote Post: ' . $WP_REMOTE_POST . "\n";
|
165 |
-
$return .= 'Table Prefix: ' . 'Length: ' . strlen( $wpdb->prefix ) . ' Status: ' . ( strlen( $wpdb->prefix ) > 16 ? 'ERROR: Too long' : 'Acceptable' ) . "\n";
|
166 |
-
$return .= 'WP_DEBUG: ' . ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set' ) . "\n";
|
167 |
-
$return .= 'Memory Limit: ' . WP_MEMORY_LIMIT . "\n";
|
168 |
-
$return .= 'Registered Post Stati: ' . implode( ', ', get_post_stati() ) . "\n";
|
169 |
-
|
170 |
-
$return = apply_filters( $this->func . '_sysinfo_after_wordpress_config', $return );
|
171 |
-
|
172 |
-
// Get plugins that have an update
|
173 |
-
$updates = get_plugin_updates();
|
174 |
-
|
175 |
-
// Must-use plugins
|
176 |
-
// NOTE: MU plugins can't show updates!
|
177 |
-
$muplugins = get_mu_plugins();
|
178 |
-
if( count( $muplugins > 0 ) ) {
|
179 |
-
$return .= "\n" . '-- Must-Use Plugins' . "\n\n";
|
180 |
-
|
181 |
-
foreach( $muplugins as $plugin => $plugin_data ) {
|
182 |
-
$return .= $plugin_data['Name'] . ': ' . $plugin_data['Version'] . "\n";
|
183 |
-
}
|
184 |
-
|
185 |
-
$return = apply_filters( $this->func . '_sysinfo_after_wordpress_mu_plugins', $return );
|
186 |
-
}
|
187 |
-
|
188 |
-
// WordPress active plugins
|
189 |
-
$return .= "\n" . '-- WordPress Active Plugins' . "\n\n";
|
190 |
-
|
191 |
-
$plugins = get_plugins();
|
192 |
-
$active_plugins = get_option( 'active_plugins', array() );
|
193 |
-
|
194 |
-
foreach( $plugins as $plugin_path => $plugin ) {
|
195 |
-
if( ! in_array( $plugin_path, $active_plugins ) ) {
|
196 |
-
continue;
|
197 |
-
}
|
198 |
-
|
199 |
-
$update = ( array_key_exists( $plugin_path, $updates ) ) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
|
200 |
-
$return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
|
201 |
-
}
|
202 |
-
|
203 |
-
$return = apply_filters( $this->func . '_sysinfo_after_wordpress_plugins', $return );
|
204 |
-
|
205 |
-
// WordPress inactive plugins
|
206 |
-
$return .= "\n" . '-- WordPress Inactive Plugins' . "\n\n";
|
207 |
-
|
208 |
-
foreach( $plugins as $plugin_path => $plugin ) {
|
209 |
-
if( in_array( $plugin_path, $active_plugins ) ) {
|
210 |
-
continue;
|
211 |
-
}
|
212 |
-
|
213 |
-
$update = ( array_key_exists( $plugin_path, $updates ) ) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
|
214 |
-
$return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
|
215 |
-
}
|
216 |
-
|
217 |
-
$return = apply_filters( $this->func . '_sysinfo_after_wordpress_plugins_inactive', $return );
|
218 |
-
|
219 |
-
if( is_multisite() ) {
|
220 |
-
// WordPress Multisite active plugins
|
221 |
-
$return .= "\n" . '-- Network Active Plugins' . "\n\n";
|
222 |
-
|
223 |
-
$plugins = wp_get_active_network_plugins();
|
224 |
-
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
225 |
-
|
226 |
-
foreach( $plugins as $plugin_path ) {
|
227 |
-
$plugin_base = plugin_basename( $plugin_path );
|
228 |
-
|
229 |
-
if( ! array_key_exists( $plugin_base, $active_plugins ) ) {
|
230 |
-
continue;
|
231 |
-
}
|
232 |
-
|
233 |
-
$update = ( array_key_exists( $plugin_path, $updates ) ) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
|
234 |
-
$plugin = get_plugin_data( $plugin_path );
|
235 |
-
$return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
|
236 |
-
}
|
237 |
-
|
238 |
-
$return = apply_filters( $this->func . '_sysinfo_after_wordpress_ms_plugins', $return );
|
239 |
-
}
|
240 |
-
|
241 |
-
// Server configuration (really just versioning)
|
242 |
-
$return .= "\n" . '-- Webserver Configuration' . "\n\n";
|
243 |
-
$return .= 'PHP Version: ' . PHP_VERSION . "\n";
|
244 |
-
$return .= 'MySQL Version: ' . $wpdb->db_version() . "\n";
|
245 |
-
$return .= 'Webserver Info: ' . $_SERVER['SERVER_SOFTWARE'] . "\n";
|
246 |
-
|
247 |
-
$return = apply_filters( $this->func . '_sysinfo_after_webserver_config', $return );
|
248 |
-
|
249 |
-
// PHP configs... now we're getting to the important stuff
|
250 |
-
$return .= "\n" . '-- PHP Configuration' . "\n\n";
|
251 |
-
$return .= 'Safe Mode: ' . ( ini_get( 'safe_mode' ) ? 'Enabled' : 'Disabled' . "\n" );
|
252 |
-
$return .= 'Memory Limit: ' . ini_get( 'memory_limit' ) . "\n";
|
253 |
-
$return .= 'Upload Max Size: ' . ini_get( 'upload_max_filesize' ) . "\n";
|
254 |
-
$return .= 'Post Max Size: ' . ini_get( 'post_max_size' ) . "\n";
|
255 |
-
$return .= 'Upload Max Filesize: ' . ini_get( 'upload_max_filesize' ) . "\n";
|
256 |
-
$return .= 'Time Limit: ' . ini_get( 'max_execution_time' ) . "\n";
|
257 |
-
$return .= 'Max Input Vars: ' . ini_get( 'max_input_vars' ) . "\n";
|
258 |
-
$return .= 'Display Errors: ' . ( ini_get( 'display_errors' ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A' ) . "\n";
|
259 |
-
|
260 |
-
$return = apply_filters( $this->func . '_sysinfo_after_php_config', $return );
|
261 |
-
|
262 |
-
// PHP extensions and such
|
263 |
-
$return .= "\n" . '-- PHP Extensions' . "\n\n";
|
264 |
-
$return .= 'cURL: ' . ( function_exists( 'curl_init' ) ? 'Supported' : 'Not Supported' ) . "\n";
|
265 |
-
$return .= 'fsockopen: ' . ( function_exists( 'fsockopen' ) ? 'Supported' : 'Not Supported' ) . "\n";
|
266 |
-
$return .= 'SOAP Client: ' . ( class_exists( 'SoapClient' ) ? 'Installed' : 'Not Installed' ) . "\n";
|
267 |
-
$return .= 'Suhosin: ' . ( extension_loaded( 'suhosin' ) ? 'Installed' : 'Not Installed' ) . "\n";
|
268 |
-
|
269 |
-
$return = apply_filters( $this->func . '_sysinfo_after_php_ext', $return );
|
270 |
-
|
271 |
-
$return .= "\n" . '### End System Info ###';
|
272 |
-
|
273 |
-
return $return;
|
274 |
-
}
|
275 |
-
|
276 |
-
|
277 |
-
/**
|
278 |
-
* Generates a System Info download file
|
279 |
-
*
|
280 |
-
* @param public
|
281 |
-
* @since 1.1.0
|
282 |
-
* @return void
|
283 |
-
*/
|
284 |
-
public function download_system_info() {
|
285 |
-
nocache_headers();
|
286 |
-
|
287 |
-
header( 'Content-Type: text/plain' );
|
288 |
-
header( 'Content-Disposition: attachment; filename="' . $this->slug . '-system-info.txt"' );
|
289 |
-
|
290 |
-
echo wp_strip_all_tags( $this->get_system_info() );
|
291 |
-
die();
|
292 |
-
}
|
293 |
-
|
294 |
-
|
295 |
-
/**
|
296 |
-
* Get AJAX URL
|
297 |
-
*
|
298 |
-
* @access public
|
299 |
-
* @since 1.1.0
|
300 |
-
* @return string URL to the AJAX file to call during AJAX requests.
|
301 |
-
*/
|
302 |
-
function get_ajax_url() {
|
303 |
-
$scheme = defined( 'FORCE_SSL_ADMIN' ) && FORCE_SSL_ADMIN ? 'https' : 'admin';
|
304 |
-
|
305 |
-
$current_url = $this->get_current_page_url();
|
306 |
-
$ajax_url = admin_url( 'admin-ajax.php', $scheme );
|
307 |
-
|
308 |
-
if( preg_match( '/^https/', $current_url ) && ! preg_match( '/^https/', $ajax_url ) ) {
|
309 |
-
$ajax_url = preg_replace( '/^http/', 'https', $ajax_url );
|
310 |
-
}
|
311 |
-
|
312 |
-
return apply_filters( $this->func . '_ajax_url', $ajax_url );
|
313 |
-
}
|
314 |
-
|
315 |
-
|
316 |
-
/**
|
317 |
-
* Get the current page URL
|
318 |
-
*
|
319 |
-
* @access public
|
320 |
-
* @since 1.1.0
|
321 |
-
* @param bool $nocache If we should bust cache on the returned URL
|
322 |
-
* @return string $page_url Current page URL
|
323 |
-
*/
|
324 |
-
function get_current_page_url( $nocache = false ) {
|
325 |
-
global $wp;
|
326 |
-
|
327 |
-
if( get_option( 'permalink_structure' ) ) {
|
328 |
-
$base = trailingslashit( home_url( $wp->request ) );
|
329 |
-
} else {
|
330 |
-
$base = add_query_arg( $wp->query_string, '', trailingslashit( home_url( $wp->request ) ) );
|
331 |
-
$base = remove_query_arg( array( 'post_type', 'name' ), $base );
|
332 |
-
}
|
333 |
-
|
334 |
-
$scheme = is_ssl() ? 'https' : 'http';
|
335 |
-
$uri = set_url_scheme( $base, $scheme );
|
336 |
-
|
337 |
-
if( is_front_page() ) {
|
338 |
-
$uri = home_url( '/' );
|
339 |
-
}
|
340 |
-
|
341 |
-
$uri = apply_filters( $this->func . '_get_current_page_url', $uri );
|
342 |
-
|
343 |
-
if ( $nocache ) {
|
344 |
-
$uri = $this->add_cache_busting( $uri );
|
345 |
-
}
|
346 |
-
|
347 |
-
return $uri;
|
348 |
-
}
|
349 |
-
|
350 |
-
|
351 |
-
/**
|
352 |
-
* Adds the 'nocache' parameter to the provided URL
|
353 |
-
*
|
354 |
-
* @access public
|
355 |
-
* @since 1.1.0
|
356 |
-
* @param string $url The URL being requested
|
357 |
-
* @return string The URL with cache busting added or not
|
358 |
-
*/
|
359 |
-
function add_cache_busting( $url = '' ) {
|
360 |
-
if( $this->is_caching_plugin_active() ) {
|
361 |
-
$url = add_query_arg( 'nocache', 'true', $url );
|
362 |
-
}
|
363 |
-
|
364 |
-
return $url;
|
365 |
-
}
|
366 |
-
|
367 |
-
|
368 |
-
/**
|
369 |
-
* Checks if a caching plugin is active
|
370 |
-
*
|
371 |
-
* @access public
|
372 |
-
* @since 1.1.0
|
373 |
-
* @return bool $caching True if caching plugin is enabled, false otherwise
|
374 |
-
*/
|
375 |
-
function is_caching_plugin_active() {
|
376 |
-
$caching = ( function_exists( 'wpsupercache_site_admin' ) || defined( 'W3TC' ) || function_exists( 'rocket_init' ) );
|
377 |
-
return apply_filters( $this->func . '_is_caching_plugin_active', $caching );
|
378 |
-
}
|
379 |
-
|
380 |
-
|
381 |
-
/**
|
382 |
-
* Get user host
|
383 |
-
*
|
384 |
-
* @access public
|
385 |
-
* @since 1.1.0
|
386 |
-
* @return mixed string $host if detected, fallback data otherwise
|
387 |
-
*/
|
388 |
-
function get_host() {
|
389 |
-
if( defined( 'WPE_APIKEY' ) ) {
|
390 |
-
$host = 'WP Engine';
|
391 |
-
} elseif( defined( 'PAGELYBIN' ) ) {
|
392 |
-
$host = 'Pagely';
|
393 |
-
} elseif( DB_HOST == 'localhost:/tmp/mysql5.sock' ) {
|
394 |
-
$host = 'ICDSoft';
|
395 |
-
} elseif( DB_HOST == 'mysqlv5' ) {
|
396 |
-
$host = 'NetworkSolutions';
|
397 |
-
} elseif( strpos( DB_HOST, 'ipagemysql.com' ) !== false ) {
|
398 |
-
$host = 'iPage';
|
399 |
-
} elseif( strpos( DB_HOST, 'ipowermysql.com' ) !== false ) {
|
400 |
-
$host = 'IPower';
|
401 |
-
} elseif( strpos( DB_HOST, '.gridserver.com' ) !== false ) {
|
402 |
-
$host = 'MediaTemple Grid';
|
403 |
-
} elseif( strpos( DB_HOST, '.pair.com' ) !== false ) {
|
404 |
-
$host = 'pair Networks';
|
405 |
-
} elseif( strpos( DB_HOST, '.stabletransit.com' ) !== false ) {
|
406 |
-
$host = 'Rackspace Cloud';
|
407 |
-
} elseif( strpos( DB_HOST, '.sysfix.eu' ) !== false ) {
|
408 |
-
$host = 'SysFix.eu Power Hosting';
|
409 |
-
} elseif( strpos( $_SERVER['SERVER_NAME'], 'Flywheel' ) !== false ) {
|
410 |
-
$host = 'Flywheel';
|
411 |
-
} else {
|
412 |
-
// Adding a general fallback for data gathering
|
413 |
-
$host = 'DBH: ' . DB_HOST . ', SRV: ' . $_SERVER['SERVER_NAME'];
|
414 |
-
}
|
415 |
-
|
416 |
-
return $host;
|
417 |
-
}
|
418 |
-
|
419 |
-
|
420 |
-
/**
|
421 |
-
* Get user IP
|
422 |
-
*
|
423 |
-
* @access public
|
424 |
-
* @since 1.1.0
|
425 |
-
* @return string $ip User's IP address
|
426 |
-
*/
|
427 |
-
function get_ip() {
|
428 |
-
$ip = '127.0.0.1';
|
429 |
-
|
430 |
-
if( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
|
431 |
-
// Check if IP is from share internet
|
432 |
-
$ip = $_SERVER['HTTP_CLIENT_IP'];
|
433 |
-
} elseif( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
|
434 |
-
// Check if IP is passed from proxy
|
435 |
-
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
436 |
-
} elseif( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
|
437 |
-
$ip = $_SERVER['REMOTE_ADDR'];
|
438 |
-
}
|
439 |
-
|
440 |
-
return apply_filters( $this->func . '_get_ip', $ip );
|
441 |
-
}
|
442 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|