Advanced Ads - Version 1.17.2

Version Description

  • replaced autoloader
  • fixed an issue where an expired ad removed HTML in the ad code
Download this release

Release Info

Developer webzunft
Plugin Icon 128x128 Advanced Ads
Version 1.17.2
Comparing to
See all releases

Code changes from version 1.17.1 to 1.17.2

Files changed (139) hide show
  1. admin/includes/ad-health-notices.php +2 -1
  2. admin/includes/class-ad-network-ad-importer.php +6 -3
  3. admin/includes/class-ad-type.php +59 -34
  4. admin/views/conditions/condition-author.php +33 -22
  5. admin/views/conditions/condition-device.php +13 -2
  6. admin/views/conditions/condition-is-or-not.php +14 -6
  7. admin/views/conditions/condition-number.php +18 -6
  8. admin/views/conditions/condition-operator.php +12 -3
  9. advanced-ads.php +2 -2
  10. classes/ad.php +3 -0
  11. composer.json +0 -45
  12. composer.lock +0 -208
  13. includes/load_modules.php +3 -1
  14. languages/advanced-ads.pot +66 -67
  15. {vendor → lib}/autoload.php +1 -1
  16. {vendor → lib}/composer/ClassLoader.php +0 -0
  17. lib/composer/autoload_classmap.php +55 -0
  18. {vendor → lib}/composer/autoload_namespaces.php +0 -1
  19. {vendor → lib}/composer/autoload_psr4.php +0 -1
  20. {vendor → lib}/composer/autoload_real.php +5 -14
  21. lib/composer/autoload_static.php +65 -0
  22. {vendor → lib}/yoast/i18n-module/CHANGELOG.md +10 -0
  23. {vendor → lib}/yoast/i18n-module/LICENSE +0 -0
  24. {vendor → lib}/yoast/i18n-module/README.md +1 -0
  25. vendor/yoast/i18n-module/src/i18n-module.php → lib/yoast/i18n-module/src/i18n-v3.php +62 -32
  26. vendor/yoast/i18n-module/src/i18n-module-wordpressorg.php → lib/yoast/i18n-module/src/i18n-wordpressorg-v3.php +12 -5
  27. readme.txt +634 -629
  28. vendor/autoload_52.php +0 -7
  29. vendor/composer/ClassLoader52.php +0 -271
  30. vendor/composer/LICENSE +0 -21
  31. vendor/composer/autoload_classmap.php +0 -147
  32. vendor/composer/autoload_real_52.php +0 -44
  33. vendor/composer/autoload_static.php +0 -184
  34. vendor/composer/installed.json +0 -197
  35. vendor/composer/installers/.editorconfig +0 -10
  36. vendor/composer/installers/.gitignore +0 -3
  37. vendor/composer/installers/.travis.yml +0 -32
  38. vendor/composer/installers/LICENSE +0 -19
  39. vendor/composer/installers/composer.json +0 -105
  40. vendor/composer/installers/src/Composer/Installers/AglInstaller.php +0 -21
  41. vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php +0 -9
  42. vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php +0 -11
  43. vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php +0 -49
  44. vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php +0 -9
  45. vendor/composer/installers/src/Composer/Installers/BaseInstaller.php +0 -136
  46. vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php +0 -126
  47. vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php +0 -9
  48. vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php +0 -82
  49. vendor/composer/installers/src/Composer/Installers/ChefInstaller.php +0 -11
  50. vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php +0 -9
  51. vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php +0 -10
  52. vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php +0 -34
  53. vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php +0 -11
  54. vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php +0 -13
  55. vendor/composer/installers/src/Composer/Installers/CraftInstaller.php +0 -35
  56. vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php +0 -21
  57. vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php +0 -10
  58. vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php +0 -50
  59. vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php +0 -16
  60. vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php +0 -16
  61. vendor/composer/installers/src/Composer/Installers/ElggInstaller.php +0 -9
  62. vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php +0 -12
  63. vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php +0 -29
  64. vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php +0 -10
  65. vendor/composer/installers/src/Composer/Installers/FuelInstaller.php +0 -11
  66. vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php +0 -9
  67. vendor/composer/installers/src/Composer/Installers/GravInstaller.php +0 -30
  68. vendor/composer/installers/src/Composer/Installers/HuradInstaller.php +0 -25
  69. vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php +0 -11
  70. vendor/composer/installers/src/Composer/Installers/Installer.php +0 -274
  71. vendor/composer/installers/src/Composer/Installers/ItopInstaller.php +0 -9
  72. vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php +0 -15
  73. vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php +0 -18
  74. vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php +0 -11
  75. vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php +0 -10
  76. vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php +0 -9
  77. vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php +0 -27
  78. vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php +0 -9
  79. vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php +0 -10
  80. vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php +0 -10
  81. vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php +0 -9
  82. vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php +0 -16
  83. vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php +0 -11
  84. vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php +0 -37
  85. vendor/composer/installers/src/Composer/Installers/MakoInstaller.php +0 -9
  86. vendor/composer/installers/src/Composer/Installers/MauticInstaller.php +0 -25
  87. vendor/composer/installers/src/Composer/Installers/MayaInstaller.php +0 -33
  88. vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php +0 -51
  89. vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php +0 -111
  90. vendor/composer/installers/src/Composer/Installers/ModxInstaller.php +0 -12
  91. vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php +0 -57
  92. vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php +0 -47
  93. vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php +0 -24
  94. vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php +0 -14
  95. vendor/composer/installers/src/Composer/Installers/OxidInstaller.php +0 -59
  96. vendor/composer/installers/src/Composer/Installers/PPIInstaller.php +0 -9
  97. vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php +0 -11
  98. vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php +0 -11
  99. vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php +0 -21
  100. vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php +0 -32
  101. vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php +0 -29
  102. vendor/composer/installers/src/Composer/Installers/Plugin.php +0 -17
  103. vendor/composer/installers/src/Composer/Installers/PortoInstaller.php +0 -9
  104. vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php +0 -10
  105. vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php +0 -11
  106. vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php +0 -63
  107. vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php +0 -24
  108. vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php +0 -10
  109. vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php +0 -10
  110. vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php +0 -22
  111. vendor/composer/installers/src/Composer/Installers/SMFInstaller.php +0 -10
  112. vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php +0 -60
  113. vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php +0 -35
  114. vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php +0 -25
  115. vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php +0 -49
  116. vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php +0 -26
  117. vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php +0 -16
  118. vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php +0 -38
  119. vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php +0 -12
  120. vendor/composer/installers/src/Composer/Installers/TuskInstaller.php +0 -14
  121. vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php +0 -9
  122. vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php +0 -10
  123. vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php +0 -49
  124. vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php +0 -10
  125. vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php +0 -9
  126. vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php +0 -12
  127. vendor/composer/installers/src/Composer/Installers/YawikInstaller.php +0 -32
  128. vendor/composer/installers/src/Composer/Installers/ZendInstaller.php +0 -11
  129. vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php +0 -10
  130. vendor/composer/installers/src/bootstrap.php +0 -13
  131. vendor/xrstf/composer-php52/.hg_archival.txt +0 -4
  132. vendor/xrstf/composer-php52/.hgtags +0 -19
  133. vendor/xrstf/composer-php52/LICENSE +0 -19
  134. vendor/xrstf/composer-php52/README.md +0 -37
  135. vendor/xrstf/composer-php52/composer.json +0 -26
  136. vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php +0 -346
  137. vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php +0 -271
  138. vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php +0 -39
  139. vendor/yoast/i18n-module/composer.json +0 -20
admin/includes/ad-health-notices.php CHANGED
@@ -21,7 +21,8 @@
21
  * attribute: get_help_link
22
  * (enter URL, if exists, will add a link after the message)
23
  */
24
- $advanced_ads_ad_health_notices = apply_filters( 'advanced-ads-ad-health-notices',
 
25
  array(
26
  // old PHP version
27
  // checked using Advanced_Ads_Checks::php_version_minimum().
21
  * attribute: get_help_link
22
  * (enter URL, if exists, will add a link after the message)
23
  */
24
+ $advanced_ads_ad_health_notices = apply_filters(
25
+ 'advanced-ads-ad-health-notices',
26
  array(
27
  // old PHP version
28
  // checked using Advanced_Ads_Checks::php_version_minimum().
admin/includes/class-ad-network-ad-importer.php CHANGED
@@ -1,18 +1,21 @@
1
  <?php
2
 
 
 
 
3
  abstract class Advanced_Ads_Ad_Network_Ad_Importer {
4
 
5
  /**
6
  * Ad network
7
  *
8
- * @var
9
  */
10
  protected $ad_network;
11
 
12
  /**
13
  * Advanced_Ads_Ad_Network_Ad_Importer constructor.
14
  *
15
- * @param $ad_network
16
  */
17
  public function __construct( $ad_network ) {
18
  $this->ad_network = $ad_network;
@@ -24,4 +27,4 @@ abstract class Advanced_Ads_Ad_Network_Ad_Importer {
24
  public function render() {
25
 
26
  }
27
- }
1
  <?php
2
 
3
+ /**
4
+ * Class Advanced_Ads_Ad_Network_Ad_Importer
5
+ */
6
  abstract class Advanced_Ads_Ad_Network_Ad_Importer {
7
 
8
  /**
9
  * Ad network
10
  *
11
+ * @var object
12
  */
13
  protected $ad_network;
14
 
15
  /**
16
  * Advanced_Ads_Ad_Network_Ad_Importer constructor.
17
  *
18
+ * @param object $ad_network ad network object.
19
  */
20
  public function __construct( $ad_network ) {
21
  $this->ad_network = $ad_network;
27
  public function render() {
28
 
29
  }
30
+ }
admin/includes/class-ad-type.php CHANGED
@@ -32,7 +32,8 @@ class Advanced_Ads_Admin_Ad_Type {
32
  'ad_list_columns_head',
33
  )
34
  ); // extra column.
35
- add_filter( 'manage_advanced_ads_posts_custom_column',
 
36
  array(
37
  $this,
38
  'ad_list_columns_content',
@@ -40,7 +41,8 @@ class Advanced_Ads_Admin_Ad_Type {
40
  10,
41
  2
42
  ); // extra column.
43
- add_filter( 'manage_advanced_ads_posts_custom_column',
 
44
  array(
45
  $this,
46
  'ad_list_columns_timing',
@@ -48,7 +50,8 @@ class Advanced_Ads_Admin_Ad_Type {
48
  10,
49
  2
50
  ); // extra column.
51
- add_filter( 'manage_advanced_ads_posts_custom_column',
 
52
  array(
53
  $this,
54
  'ad_list_columns_shortcode',
@@ -56,13 +59,15 @@ class Advanced_Ads_Admin_Ad_Type {
56
  10,
57
  2
58
  ); // extra column.
59
- add_action( 'restrict_manage_posts',
 
60
  array(
61
  $this,
62
  'ad_list_add_filters',
63
  )
64
  );
65
- add_filter( 'default_hidden_columns',
 
66
  array(
67
  $this,
68
  'hide_ad_list_columns',
@@ -72,7 +77,8 @@ class Advanced_Ads_Admin_Ad_Type {
72
  ); // hide the ad shortcode column by default.
73
 
74
  // ad updated messages.
75
- add_filter( 'bulk_post_updated_messages',
 
76
  array(
77
  $this,
78
  'ad_bulk_update_messages',
@@ -82,71 +88,82 @@ class Advanced_Ads_Admin_Ad_Type {
82
  );
83
 
84
  // handling (ad) lists.
85
- add_filter( 'request',
 
86
  array(
87
  $this,
88
  'ad_list_request',
89
  )
90
  ); // order ads by title, not ID.
91
- add_action( 'all_admin_notices',
 
92
  array(
93
  $this,
94
  'no_ads_yet_notice',
95
  )
96
  );
97
  // save ads post type.
98
- add_action( 'save_post',
 
99
  array(
100
  $this,
101
  'save_ad',
102
  )
103
  );
104
  // delete ads post type.
105
- add_action( 'delete_post',
 
106
  array(
107
  $this,
108
  'delete_ad',
109
  )
110
  );
111
  // on post/ad edit screen.
112
- add_action( 'edit_form_top',
 
113
  array(
114
  $this,
115
  'edit_form_above_title',
116
  )
117
  );
118
- add_action( 'edit_form_after_title',
 
119
  array(
120
  $this,
121
  'edit_form_below_title',
122
  )
123
  );
124
- add_action( 'dbx_post_sidebar',
 
125
  array(
126
  $this,
127
  'edit_form_end',
128
  )
129
  );
130
- add_action( 'post_submitbox_misc_actions',
 
131
  array(
132
  $this,
133
  'add_submit_box_meta',
134
  )
135
  );
136
- add_action( 'admin_enqueue_scripts',
 
137
  array(
138
  $this,
139
  'use_code_editor',
140
  )
141
  );
142
  // ad updated messages.
143
- add_filter( 'post_updated_messages',
 
144
  array(
145
  $this,
146
  'ad_update_messages',
147
  )
148
  );
149
- add_filter( 'gettext',
 
150
  array(
151
  $this,
152
  'replace_cheating_message',
@@ -155,13 +172,15 @@ class Advanced_Ads_Admin_Ad_Type {
155
  2
156
  );
157
  // things that need to know the current screen.
158
- add_action( 'current_screen',
 
159
  array(
160
  $this,
161
  'run_on_ad_edit_screen',
162
  )
163
  );
164
- add_filter( 'pre_wp_unique_post_slug',
 
165
  array(
166
  $this,
167
  'pre_wp_unique_post_slug',
@@ -251,7 +270,8 @@ class Advanced_Ads_Admin_Ad_Type {
251
  }
252
 
253
  // white-listed columns.
254
- $whitelist = apply_filters( 'advanced-ads-ad-list-allowed-columns',
 
255
  array(
256
  'cb', // checkbox.
257
  'title',
@@ -327,12 +347,13 @@ class Advanced_Ads_Admin_Ad_Type {
327
  }
328
  }
329
  if ( $post_start > time() ) {
330
- $post_future = $post_start;
331
  $html_classes .= ' advads-filter-future';
332
  }
333
 
334
  ob_start();
335
- do_action_ref_array( 'advanced-ads-ad-list-timing-column-after',
 
336
  array(
337
  $ad,
338
  &$html_classes,
@@ -542,11 +563,13 @@ class Advanced_Ads_Admin_Ad_Type {
542
 
543
  // Find Advanced Ads shortcodes.
544
  if ( ! empty( $output['allow_shortcodes'] ) ) {
545
- $shortcode_pattern = get_shortcode_regex( array(
546
- 'the_ad',
547
- 'the_ad_group',
548
- 'the_ad_placement',
549
- ) );
 
 
550
  $output['has_shortcode'] = preg_match( '/' . $shortcode_pattern . '/s', $ad->content );
551
  }
552
 
@@ -566,7 +589,7 @@ class Advanced_Ads_Admin_Ad_Type {
566
  $hour = absint( $_POST['advanced_ad']['expiry_date']['hour'] );
567
  $minute = absint( $_POST['advanced_ad']['expiry_date']['minute'] );
568
 
569
- $expiration_date = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $year, $month, $day, $hour, $minute, '00' );
570
  $valid_date = wp_checkdate( $month, $day, $year, $expiration_date );
571
 
572
  if ( ! $valid_date ) {
@@ -574,9 +597,9 @@ class Advanced_Ads_Admin_Ad_Type {
574
  } else {
575
  $gm_date = date_create( $expiration_date, Advanced_Ads_Admin::get_wp_timezone() );
576
  $gm_date->setTimezone( new DateTimeZone( 'UTC' ) );
577
- $gm_date = $gm_date->format( 'Y-m-d-H-i' );
578
  list( $year, $month, $day, $hour, $minute ) = explode( '-', $gm_date );
579
- $ad->expiry_date = gmmktime( $hour, $minute, 0, $month, $day, $year );
580
  }
581
  } else {
582
  $ad->expiry_date = 0;
@@ -613,6 +636,10 @@ class Advanced_Ads_Admin_Ad_Type {
613
  if ( $post_id > 0 ) {
614
  $post_type = get_post_type( $post_id );
615
  if ( $post_type === $this->post_type ) {
 
 
 
 
616
  $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE meta_key = %s AND meta_value = %d", '_advanced-ads_parent_id', $post_id ) );
617
  }
618
  }
@@ -639,7 +666,6 @@ class Advanced_Ads_Admin_Ad_Type {
639
  <?php
640
  }
641
 
642
-
643
  $ad = new Advanced_Ads_Ad( $post->ID );
644
 
645
  $placement_types = Advanced_Ads_Placements::get_placement_types();
@@ -775,7 +801,7 @@ class Advanced_Ads_Admin_Ad_Type {
775
  // translators: %1$s is a date.
776
  __( 'Ad scheduled for: <strong>%1$s</strong>.', 'advanced-ads' ),
777
  // translators: Publish box date format, see http://php.net/date.
778
- date_i18n( __( 'M j, Y @ G:i', 'advanced-ads' ), strtotime( $post->post_date ) )
779
  ),
780
  10 => __( 'Ad draft updated.', 'advanced-ads' ),
781
  );
@@ -834,7 +860,7 @@ class Advanced_Ads_Admin_Ad_Type {
834
 
835
  if ( isset( $typenow ) && 'You need a higher level of permission.' === $untranslated_text && $typenow === $this->post_type ) {
836
  $translated_text = __( 'You don’t have access to ads. Please deactivate and re-enable Advanced Ads again to fix this.', 'advanced-ads' )
837
- . '&nbsp;<a href="' . ADVADS_URL . 'manual/user-capabilities/?utm_source=advanced-ads&utm_medium=link&utm_campaign=wrong-user-role#You_dont_have_access_to_ads" target="_blank">' . __( 'Get help', 'advanced-ads' ) . '</a>';
838
  }
839
 
840
  return $translated_text;
@@ -908,7 +934,6 @@ class Advanced_Ads_Admin_Ad_Type {
908
  $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND ID != %d LIMIT 1";
909
  $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID ) );
910
 
911
-
912
  if ( $post_name_check || in_array( $slug, $feeds, true ) || 'embed' === $slug ) {
913
  $suffix = 2;
914
  do {
32
  'ad_list_columns_head',
33
  )
34
  ); // extra column.
35
+ add_filter(
36
+ 'manage_advanced_ads_posts_custom_column',
37
  array(
38
  $this,
39
  'ad_list_columns_content',
41
  10,
42
  2
43
  ); // extra column.
44
+ add_filter(
45
+ 'manage_advanced_ads_posts_custom_column',
46
  array(
47
  $this,
48
  'ad_list_columns_timing',
50
  10,
51
  2
52
  ); // extra column.
53
+ add_filter(
54
+ 'manage_advanced_ads_posts_custom_column',
55
  array(
56
  $this,
57
  'ad_list_columns_shortcode',
59
  10,
60
  2
61
  ); // extra column.
62
+ add_action(
63
+ 'restrict_manage_posts',
64
  array(
65
  $this,
66
  'ad_list_add_filters',
67
  )
68
  );
69
+ add_filter(
70
+ 'default_hidden_columns',
71
  array(
72
  $this,
73
  'hide_ad_list_columns',
77
  ); // hide the ad shortcode column by default.
78
 
79
  // ad updated messages.
80
+ add_filter(
81
+ 'bulk_post_updated_messages',
82
  array(
83
  $this,
84
  'ad_bulk_update_messages',
88
  );
89
 
90
  // handling (ad) lists.
91
+ add_filter(
92
+ 'request',
93
  array(
94
  $this,
95
  'ad_list_request',
96
  )
97
  ); // order ads by title, not ID.
98
+ add_action(
99
+ 'all_admin_notices',
100
  array(
101
  $this,
102
  'no_ads_yet_notice',
103
  )
104
  );
105
  // save ads post type.
106
+ add_action(
107
+ 'save_post',
108
  array(
109
  $this,
110
  'save_ad',
111
  )
112
  );
113
  // delete ads post type.
114
+ add_action(
115
+ 'delete_post',
116
  array(
117
  $this,
118
  'delete_ad',
119
  )
120
  );
121
  // on post/ad edit screen.
122
+ add_action(
123
+ 'edit_form_top',
124
  array(
125
  $this,
126
  'edit_form_above_title',
127
  )
128
  );
129
+ add_action(
130
+ 'edit_form_after_title',
131
  array(
132
  $this,
133
  'edit_form_below_title',
134
  )
135
  );
136
+ add_action(
137
+ 'dbx_post_sidebar',
138
  array(
139
  $this,
140
  'edit_form_end',
141
  )
142
  );
143
+ add_action(
144
+ 'post_submitbox_misc_actions',
145
  array(
146
  $this,
147
  'add_submit_box_meta',
148
  )
149
  );
150
+ add_action(
151
+ 'admin_enqueue_scripts',
152
  array(
153
  $this,
154
  'use_code_editor',
155
  )
156
  );
157
  // ad updated messages.
158
+ add_filter(
159
+ 'post_updated_messages',
160
  array(
161
  $this,
162
  'ad_update_messages',
163
  )
164
  );
165
+ add_filter(
166
+ 'gettext',
167
  array(
168
  $this,
169
  'replace_cheating_message',
172
  2
173
  );
174
  // things that need to know the current screen.
175
+ add_action(
176
+ 'current_screen',
177
  array(
178
  $this,
179
  'run_on_ad_edit_screen',
180
  )
181
  );
182
+ add_filter(
183
+ 'pre_wp_unique_post_slug',
184
  array(
185
  $this,
186
  'pre_wp_unique_post_slug',
270
  }
271
 
272
  // white-listed columns.
273
+ $whitelist = apply_filters(
274
+ 'advanced-ads-ad-list-allowed-columns',
275
  array(
276
  'cb', // checkbox.
277
  'title',
347
  }
348
  }
349
  if ( $post_start > time() ) {
350
+ $post_future = $post_start;
351
  $html_classes .= ' advads-filter-future';
352
  }
353
 
354
  ob_start();
355
+ do_action_ref_array(
356
+ 'advanced-ads-ad-list-timing-column-after',
357
  array(
358
  $ad,
359
  &$html_classes,
563
 
564
  // Find Advanced Ads shortcodes.
565
  if ( ! empty( $output['allow_shortcodes'] ) ) {
566
+ $shortcode_pattern = get_shortcode_regex(
567
+ array(
568
+ 'the_ad',
569
+ 'the_ad_group',
570
+ 'the_ad_placement',
571
+ )
572
+ );
573
  $output['has_shortcode'] = preg_match( '/' . $shortcode_pattern . '/s', $ad->content );
574
  }
575
 
589
  $hour = absint( $_POST['advanced_ad']['expiry_date']['hour'] );
590
  $minute = absint( $_POST['advanced_ad']['expiry_date']['minute'] );
591
 
592
+ $expiration_date = sprintf( '%04d-%02d-%02d %02d:%02d:%02d', $year, $month, $day, $hour, $minute, '00' );
593
  $valid_date = wp_checkdate( $month, $day, $year, $expiration_date );
594
 
595
  if ( ! $valid_date ) {
597
  } else {
598
  $gm_date = date_create( $expiration_date, Advanced_Ads_Admin::get_wp_timezone() );
599
  $gm_date->setTimezone( new DateTimeZone( 'UTC' ) );
600
+ $gm_date = $gm_date->format( 'Y-m-d-H-i' );
601
  list( $year, $month, $day, $hour, $minute ) = explode( '-', $gm_date );
602
+ $ad->expiry_date = gmmktime( $hour, $minute, 0, $month, $day, $year );
603
  }
604
  } else {
605
  $ad->expiry_date = 0;
636
  if ( $post_id > 0 ) {
637
  $post_type = get_post_type( $post_id );
638
  if ( $post_type === $this->post_type ) {
639
+ /**
640
+ * Images uploaded to an image ad type get the `_advanced-ads_parent_id` meta key from WordPress automatically
641
+ * the following SQL query removes that meta data from any attachment when the ad is removed.
642
+ */
643
  $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE meta_key = %s AND meta_value = %d", '_advanced-ads_parent_id', $post_id ) );
644
  }
645
  }
666
  <?php
667
  }
668
 
 
669
  $ad = new Advanced_Ads_Ad( $post->ID );
670
 
671
  $placement_types = Advanced_Ads_Placements::get_placement_types();
801
  // translators: %1$s is a date.
802
  __( 'Ad scheduled for: <strong>%1$s</strong>.', 'advanced-ads' ),
803
  // translators: Publish box date format, see http://php.net/date.
804
+ date_i18n( __( 'M j, Y @ G:i', 'advanced-ads' ), strtotime( $post->post_date ) )
805
  ),
806
  10 => __( 'Ad draft updated.', 'advanced-ads' ),
807
  );
860
 
861
  if ( isset( $typenow ) && 'You need a higher level of permission.' === $untranslated_text && $typenow === $this->post_type ) {
862
  $translated_text = __( 'You don’t have access to ads. Please deactivate and re-enable Advanced Ads again to fix this.', 'advanced-ads' )
863
+ . '&nbsp;<a href="' . ADVADS_URL . 'manual/user-capabilities/?utm_source=advanced-ads&utm_medium=link&utm_campaign=wrong-user-role#You_dont_have_access_to_ads" target="_blank">' . __( 'Get help', 'advanced-ads' ) . '</a>';
864
  }
865
 
866
  return $translated_text;
934
  $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND ID != %d LIMIT 1";
935
  $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID ) );
936
 
 
937
  if ( $post_name_check || in_array( $slug, $feeds, true ) || 'embed' === $slug ) {
938
  $suffix = 2;
939
  do {
admin/views/conditions/condition-author.php CHANGED
@@ -1,24 +1,35 @@
1
- <div class="advads-conditions-single advads-buttonset">
2
- <?php foreach ( $authors as $_author ) {
3
- // don’t use strict comparision because $values contains strings.
4
- if ( in_array( $_author->ID, $values ) ) {
5
- $_val = 1;
6
- } else {
7
- $_val = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  }
9
- $author_name = $_author->display_name;
10
- $field_id = 'advads-conditions-' . absint( $_author->ID ) . $rand;
11
- ?><label class="button ui-button"
12
- for="<?php echo $field_id; ?>">
13
- <?php echo esc_attr( $author_name ); ?>
14
- </label><input type="checkbox"
15
- id="<?php echo esc_attr( $field_id ); ?>"
16
- name="<?php echo esc_attr( $name ); ?>[value][]" <?php checked( $_val, 1 ); ?>
17
- value="<?php echo absint( $_author->ID ); ?>"><?php
18
- }
19
- include ADVADS_BASE_PATH . 'admin/views/conditions/not-selected.php';
20
- ?>
21
- </div>
22
  <?php
23
  if ( count( $authors ) >= $max_authors ) :
24
  ?>
@@ -26,8 +37,8 @@ if ( count( $authors ) >= $max_authors ) :
26
  <?php
27
  printf(
28
  wp_kses(
29
- // translators: %d is the number of elements in the list and %s a URL.
30
- __( 'Only %d elements are displayed above. Use the <code>advanced-ads-admin-max-terms</code> filter to change this limit according to <a href="%s" target="_blank">this page</a>.', 'advanced-ads' ),
31
  array(
32
  'code' => array(),
33
  'a' => array(
1
+ <?php
2
+ /**
3
+ * Templace for the Author display condition
4
+ *
5
+ * @var string $name form name attribute.
6
+ * @var int $max_authors number of maximum author entries to show.
7
+ */
8
+ ?>
9
+ <div class="advads-conditions-single advads-buttonset">
10
+ <?php
11
+ foreach ( $authors as $_author ) {
12
+ // don’t use strict comparision because $values contains strings.
13
+ if ( in_array( $_author->ID, $values ) ) {
14
+ $_val = 1;
15
+ } else {
16
+ $_val = 0;
17
+ }
18
+ $author_name = $_author->display_name;
19
+ $field_id = 'advads-conditions-' . absint( $_author->ID ) . $rand;
20
+ ?>
21
+ <label class="button ui-button"
22
+ for="<?php echo esc_attr( $field_id ); ?>">
23
+ <?php echo esc_attr( $author_name ); ?>
24
+ </label><input type="checkbox"
25
+ id="<?php echo esc_attr( $field_id ); ?>"
26
+ name="<?php echo esc_attr( $name ); ?>[value][]" <?php checked( $_val, 1 ); ?>
27
+ value="<?php echo absint( $_author->ID ); ?>">
28
+ <?php
29
  }
30
+ include ADVADS_BASE_PATH . 'admin/views/conditions/not-selected.php';
31
+ ?>
32
+ </div>
 
 
 
 
 
 
 
 
 
 
33
  <?php
34
  if ( count( $authors ) >= $max_authors ) :
35
  ?>
37
  <?php
38
  printf(
39
  wp_kses(
40
+ // translators: %1$d is the number of elements in the list and %2$s a URL.
41
+ __( 'Only %1$d elements are displayed above. Use the <code>advanced-ads-admin-max-terms</code> filter to change this limit according to <a href="%2$s" target="_blank">this page</a>.', 'advanced-ads' ),
42
  array(
43
  'code' => array(),
44
  'a' => array(
admin/views/conditions/condition-device.php CHANGED
@@ -1,7 +1,18 @@
 
 
 
 
 
 
 
 
 
1
  <input type="hidden" name="<?php echo esc_attr( $name ); ?>[type]" value="<?php echo esc_attr( $options['type'] ); ?>"/>
2
  <select name="<?php echo esc_attr( $name ); ?>[operator]">
3
- <option value="is" <?php selected( 'is', $operator ); ?>><?php esc_html_e( 'Mobile (including tablets)', 'advanced-ads' ); ?></option>
4
- <option value="is_not" <?php selected( 'is_not', $operator ); ?>><?php esc_html_e( 'Desktop', 'advanced-ads' ); ?></option>
 
 
5
  </select>
6
  <p class="description">
7
  <?php
1
+ <?php
2
+ /**
3
+ * Template for the Device visitor condition
4
+ *
5
+ * @var string $name form name attribute.
6
+ * @var string $operator
7
+ * @var array $type_options array with additional information.
8
+ */
9
+ ?>
10
  <input type="hidden" name="<?php echo esc_attr( $name ); ?>[type]" value="<?php echo esc_attr( $options['type'] ); ?>"/>
11
  <select name="<?php echo esc_attr( $name ); ?>[operator]">
12
+ <option
13
+ value="is" <?php selected( 'is', $operator ); ?>><?php esc_html_e( 'Mobile (including tablets)', 'advanced-ads' ); ?></option>
14
+ <option
15
+ value="is_not" <?php selected( 'is_not', $operator ); ?>><?php esc_html_e( 'Desktop', 'advanced-ads' ); ?></option>
16
  </select>
17
  <p class="description">
18
  <?php
admin/views/conditions/condition-is-or-not.php CHANGED
@@ -1,11 +1,19 @@
1
- <input type="hidden" name="<?php echo esc_attr( $name ); ?>[type]" value="<?php echo esc_attr( $options['type'] ); ?>"/>
2
- <select name="<?php echo esc_attr( $name ); ?>[operator]">
3
- <option value="is" <?php selected( 'is', $operator ); ?>><?php esc_html_e( 'is', 'advanced-ads' ); ?></option>
4
- <option value="is_not" <?php selected( 'is_not', $operator ); ?>><?php esc_html_e( 'is not', 'advanced-ads' ); ?></option>
5
- </select>
 
 
 
 
 
 
 
 
6
  <p class="description">
7
  <?php
8
- echo $type_options[ $options['type'] ]['description'];
9
  if ( isset( $type_options[ $options['type'] ]['helplink'] ) ) :
10
  ?>
11
  <a href="<?php echo esc_url( $type_options[ $options['type'] ]['helplink'] ); ?>" target="_blank">
1
+ <?php
2
+ /**
3
+ * Template for a condition that only contains of an is/is_not choice.
4
+ *
5
+ * @var string $name form field name attribute.
6
+ * @var string $operator operator.
7
+ * @var array $type_options additional options for the condition.
8
+ */
9
+ ?><input type="hidden" name="<?php echo esc_attr( $name ); ?>[type]"
10
+ value="<?php echo esc_attr( $options['type'] ); ?>"/>
11
+ <?php
12
+ include ADVADS_BASE_PATH . 'admin/views/conditions/condition-operator.php';
13
+ ?>
14
  <p class="description">
15
  <?php
16
+ echo esc_html( $type_options[ $options['type'] ]['description'] );
17
  if ( isset( $type_options[ $options['type'] ]['helplink'] ) ) :
18
  ?>
19
  <a href="<?php echo esc_url( $type_options[ $options['type'] ]['helplink'] ); ?>" target="_blank">
admin/views/conditions/condition-number.php CHANGED
@@ -1,7 +1,19 @@
 
 
 
 
 
 
 
 
 
1
  <input type="hidden" name="<?php echo esc_attr( $name ); ?>[type]" value="<?php echo esc_attr( $options['type'] ); ?>"/>
2
- <select name="<?php echo esc_attr( $name ); ?>[operator]">
3
- <option value="is_equal" <?php selected( 'is_equal', $operator ); ?>><?php esc_html_e( 'equal', 'advanced-ads' ); ?></option>
4
- <option value="is_higher" <?php selected( 'is_higher', $operator ); ?>><?php esc_html_e( 'equal or higher', 'advanced-ads' ); ?></option>
5
- <option value="is_lower" <?php selected( 'is_lower', $operator ); ?>><?php esc_html_e( 'equal or lower', 'advanced-ads' ); ?></option>
6
- </select><input type="number" name="<?php echo esc_attr( $name ); ?>[value]" value="<?php echo absint( $value ); ?>"/>
7
- <p class="description"><?php echo $type_options[ $options['type'] ]['description']; ?></p>
 
 
 
1
+ <?php
2
+ /**
3
+ * Template to select number-based conditions.
4
+ *
5
+ * @var string $name form name attribute.
6
+ * @var string $operator operator.
7
+ * @var array $type_options array with information. We get the description of the condition from here.
8
+ */
9
+ ?>
10
  <input type="hidden" name="<?php echo esc_attr( $name ); ?>[type]" value="<?php echo esc_attr( $options['type'] ); ?>"/>
11
+ <select name="<?php echo esc_attr( $name ); ?>[operator]">
12
+ <option
13
+ value="is_equal" <?php selected( 'is_equal', $operator ); ?>><?php esc_html_e( 'equal', 'advanced-ads' ); ?></option>
14
+ <option
15
+ value="is_higher" <?php selected( 'is_higher', $operator ); ?>><?php esc_html_e( 'equal or higher', 'advanced-ads' ); ?></option>
16
+ <option
17
+ value="is_lower" <?php selected( 'is_lower', $operator ); ?>><?php esc_html_e( 'equal or lower', 'advanced-ads' ); ?></option>
18
+ </select><input type="number" name="<?php echo esc_attr( $name ); ?>[value]" value="<?php echo absint( $value ); ?>"/>
19
+ <p class="description"><?php echo esc_html( $type_options[ $options['type'] ]['description'] ); ?></p>
admin/views/conditions/condition-operator.php CHANGED
@@ -1,4 +1,13 @@
 
 
 
 
 
 
 
 
1
  <select name="<?php echo esc_attr( $name ); ?>[operator]">
2
- <option value="is" <?php selected( 'is', $operator ); ?>><?php esc_attr_e( 'is', 'advanced-ads' ); ?></option>
3
- <option value="is_not" <?php selected( 'is_not', $operator ); ?>><?php esc_attr_e( 'is not', 'advanced-ads' ); ?></option>
4
- </select>
 
1
+ <?php
2
+ /**
3
+ * Template for the is/is_not operator used in many conditions.
4
+ *
5
+ * @var string $name form field name attribute.
6
+ * @var string $operator operator value.
7
+ */
8
+ ?>
9
  <select name="<?php echo esc_attr( $name ); ?>[operator]">
10
+ <option value="is" <?php selected( 'is', $operator ); ?>><?php esc_html_e( 'is', 'advanced-ads' ); ?></option>
11
+ <option
12
+ value="is_not" <?php selected( 'is_not', $operator ); ?>><?php esc_html_e( 'is not', 'advanced-ads' ); ?></option>
13
+ </select>
advanced-ads.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Advanced Ads
13
  * Plugin URI: https://wpadvancedads.com
14
  * Description: Manage and optimize your ads in WordPress
15
- * Version: 1.17.1
16
  * Author: Thomas Maier, Advanced Ads GmbH
17
  * Author URI: https://wpadvancedads.com
18
  * Text Domain: advanced-ads
@@ -39,7 +39,7 @@ define( 'ADVADS_BASE_DIR', dirname( ADVADS_BASE ) ); // directory of the plugin
39
  // general and global slug, e.g. to store options in WP.
40
  define( 'ADVADS_SLUG', 'advanced-ads' );
41
  define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
42
- define( 'ADVADS_VERSION', '1.17.1' );
43
 
44
  // Autoloading, modules and functions.
45
 
12
  * Plugin Name: Advanced Ads
13
  * Plugin URI: https://wpadvancedads.com
14
  * Description: Manage and optimize your ads in WordPress
15
+ * Version: 1.17.2
16
  * Author: Thomas Maier, Advanced Ads GmbH
17
  * Author URI: https://wpadvancedads.com
18
  * Text Domain: advanced-ads
39
  // general and global slug, e.g. to store options in WP.
40
  define( 'ADVADS_SLUG', 'advanced-ads' );
41
  define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
42
+ define( 'ADVADS_VERSION', '1.17.2' );
43
 
44
  // Autoloading, modules and functions.
45
 
classes/ad.php CHANGED
@@ -454,7 +454,10 @@ class Advanced_Ads_Ad {
454
 
455
  // set status to 'draft' if the ad is expired
456
  if ( $this->status !== 'draft' ) {
 
 
457
  wp_update_post( array( 'ID' => $this->id, 'post_status' => 'draft' ) );
 
458
  /**
459
  * Run when an ad expires
460
  */
454
 
455
  // set status to 'draft' if the ad is expired
456
  if ( $this->status !== 'draft' ) {
457
+ // removing the kses filters here so that expiring ads don’t lose HTML or other code.
458
+ kses_remove_filters();
459
  wp_update_post( array( 'ID' => $this->id, 'post_status' => 'draft' ) );
460
+ kses_init_filters();
461
  /**
462
  * Run when an ad expires
463
  */
composer.json DELETED
@@ -1,45 +0,0 @@
1
- {
2
- "name": "webgilde/advanced-ads",
3
- "description": "Advanced Ads: Manage and optimize your ads in WordPress",
4
- "keywords": ["wordpress", "ads", "plugin"],
5
- "authors": [
6
- {
7
- "name": "Thomas Maier",
8
- "email": "support@wpadvancedads.com"
9
- }
10
- ],
11
- "homepage": "https://wordpress.org/plugins/advanced-ads/",
12
- "license": "GPL-2.0+",
13
- "type": "wordpress-plugin",
14
- "support": {
15
- "forum": "https://wordpress.org/support/plugin/advanced-ads"
16
- },
17
- "require": {
18
- "composer/installers": "~1.0",
19
- "xrstf/composer-php52": "^1.0.17",
20
- "yoast/i18n-module": "^3.0"
21
- },
22
- "autoload": {
23
- "classmap": [
24
- "admin/",
25
- "classes/",
26
- "public/"
27
- ]
28
- },
29
- "scripts": {
30
- "post-install-cmd": [
31
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
32
- ],
33
- "post-update-cmd": [
34
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
35
- ],
36
- "post-autoload-dump": [
37
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
38
- ]
39
- },
40
- "extra": {
41
- "branch-alias": {
42
- "dev-master": "1.x-dev"
43
- }
44
- }
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
composer.lock DELETED
@@ -1,208 +0,0 @@
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
- "hash": "d90f1cae4e4d32eda72adc8f042bc119",
8
- "content-hash": "093d30b13bb01b276f01b798181d1a7f",
9
- "packages": [
10
- {
11
- "name": "composer/installers",
12
- "version": "v1.6.0",
13
- "source": {
14
- "type": "git",
15
- "url": "https://github.com/composer/installers.git",
16
- "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b"
17
- },
18
- "dist": {
19
- "type": "zip",
20
- "url": "https://api.github.com/repos/composer/installers/zipball/cfcca6b1b60bc4974324efb5783c13dca6932b5b",
21
- "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b",
22
- "shasum": ""
23
- },
24
- "require": {
25
- "composer-plugin-api": "^1.0"
26
- },
27
- "replace": {
28
- "roundcube/plugin-installer": "*",
29
- "shama/baton": "*"
30
- },
31
- "require-dev": {
32
- "composer/composer": "1.0.*@dev",
33
- "phpunit/phpunit": "^4.8.36"
34
- },
35
- "type": "composer-plugin",
36
- "extra": {
37
- "class": "Composer\\Installers\\Plugin",
38
- "branch-alias": {
39
- "dev-master": "1.0-dev"
40
- }
41
- },
42
- "autoload": {
43
- "psr-4": {
44
- "Composer\\Installers\\": "src/Composer/Installers"
45
- }
46
- },
47
- "notification-url": "https://packagist.org/downloads/",
48
- "license": [
49
- "MIT"
50
- ],
51
- "authors": [
52
- {
53
- "name": "Kyle Robinson Young",
54
- "email": "kyle@dontkry.com",
55
- "homepage": "https://github.com/shama"
56
- }
57
- ],
58
- "description": "A multi-framework Composer library installer",
59
- "homepage": "https://composer.github.io/installers/",
60
- "keywords": [
61
- "Craft",
62
- "Dolibarr",
63
- "Eliasis",
64
- "Hurad",
65
- "ImageCMS",
66
- "Kanboard",
67
- "Lan Management System",
68
- "MODX Evo",
69
- "Mautic",
70
- "Maya",
71
- "OXID",
72
- "Plentymarkets",
73
- "Porto",
74
- "RadPHP",
75
- "SMF",
76
- "Thelia",
77
- "WolfCMS",
78
- "agl",
79
- "aimeos",
80
- "annotatecms",
81
- "attogram",
82
- "bitrix",
83
- "cakephp",
84
- "chef",
85
- "cockpit",
86
- "codeigniter",
87
- "concrete5",
88
- "croogo",
89
- "dokuwiki",
90
- "drupal",
91
- "eZ Platform",
92
- "elgg",
93
- "expressionengine",
94
- "fuelphp",
95
- "grav",
96
- "installer",
97
- "itop",
98
- "joomla",
99
- "kohana",
100
- "laravel",
101
- "lavalite",
102
- "lithium",
103
- "magento",
104
- "majima",
105
- "mako",
106
- "mediawiki",
107
- "modulework",
108
- "modx",
109
- "moodle",
110
- "osclass",
111
- "phpbb",
112
- "piwik",
113
- "ppi",
114
- "puppet",
115
- "pxcms",
116
- "reindex",
117
- "roundcube",
118
- "shopware",
119
- "silverstripe",
120
- "sydes",
121
- "symfony",
122
- "typo3",
123
- "wordpress",
124
- "yawik",
125
- "zend",
126
- "zikula"
127
- ],
128
- "time": "2018-08-27 06:10:37"
129
- },
130
- {
131
- "name": "xrstf/composer-php52",
132
- "version": "v1.0.20",
133
- "source": {
134
- "type": "git",
135
- "url": "https://github.com/composer-php52/composer-php52.git",
136
- "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8"
137
- },
138
- "dist": {
139
- "type": "zip",
140
- "url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8",
141
- "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8",
142
- "shasum": ""
143
- },
144
- "type": "library",
145
- "extra": {
146
- "branch-alias": {
147
- "dev-default": "1.x-dev"
148
- }
149
- },
150
- "autoload": {
151
- "psr-0": {
152
- "xrstf\\Composer52": "lib/"
153
- }
154
- },
155
- "notification-url": "https://packagist.org/downloads/",
156
- "license": [
157
- "MIT"
158
- ],
159
- "time": "2016-04-16 21:52:24"
160
- },
161
- {
162
- "name": "yoast/i18n-module",
163
- "version": "3.0.0",
164
- "source": {
165
- "type": "git",
166
- "url": "https://github.com/Yoast/i18n-module.git",
167
- "reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c"
168
- },
169
- "dist": {
170
- "type": "zip",
171
- "url": "https://api.github.com/repos/Yoast/i18n-module/zipball/76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
172
- "reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
173
- "shasum": ""
174
- },
175
- "type": "library",
176
- "autoload": {
177
- "classmap": [
178
- "src/"
179
- ]
180
- },
181
- "notification-url": "https://packagist.org/downloads/",
182
- "license": [
183
- "GPL-2.0+"
184
- ],
185
- "authors": [
186
- {
187
- "name": "Team Yoast",
188
- "email": "support@yoast.com",
189
- "homepage": "https://yoast.com"
190
- }
191
- ],
192
- "description": "Handle i18n for WordPress plugins.",
193
- "homepage": "https://github.com/Yoast/i18n-module",
194
- "keywords": [
195
- "wordpress"
196
- ],
197
- "time": "2017-09-06 07:17:52"
198
- }
199
- ],
200
- "packages-dev": [],
201
- "aliases": [],
202
- "minimum-stability": "stable",
203
- "stability-flags": [],
204
- "prefer-stable": false,
205
- "prefer-lowest": false,
206
- "platform": [],
207
- "platform-dev": []
208
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/load_modules.php CHANGED
@@ -9,7 +9,9 @@ final class Advanced_Ads_ModuleLoader {
9
  public static function getLoader()
10
  {
11
  if ( null === self::$loader ) {
12
- self::$loader = require_once ADVADS_BASE_PATH . 'vendor/autoload_52.php';
 
 
13
  }
14
 
15
  return self::$loader;
9
  public static function getLoader()
10
  {
11
  if ( null === self::$loader ) {
12
+ self::$loader = file_exists(ADVADS_BASE_PATH . 'vendor/autoload.php')
13
+ ? require_once ADVADS_BASE_PATH . 'vendor/autoload.php'
14
+ : require_once ADVADS_BASE_PATH . 'lib/autoload.php';
15
  }
16
 
17
  return self::$loader;
languages/advanced-ads.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Advanved Ads\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
6
- "POT-Creation-Date: 2020-01-28 09:04+0000\n"
7
  "POT-Revision-Date: Wed Jul 13 2016 13:23:05 GMT+0200 (CEST)\n"
8
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
9
  "Last-Translator: Thomas Maier <post@webzunft.de>\n"
@@ -299,7 +299,7 @@ msgid "Ads are disabled on non singular pages"
299
  msgstr ""
300
 
301
  #: classes/frontend_checks.php:248 classes/ad-debug.php:272
302
- #: admin/includes/ad-health-notices.php:144
303
  msgid ""
304
  "Your website is using HTTPS, but the ad code contains HTTP and might not "
305
  "work."
@@ -310,16 +310,16 @@ msgstr ""
310
  msgid "Ad IDs: %s"
311
  msgstr ""
312
 
313
- #: classes/frontend_checks.php:261 admin/includes/ad-health-notices.php:120
314
  #, php-format
315
  msgid "Visible ads should not use the Header placement: %s"
316
  msgstr ""
317
 
318
- #: classes/frontend_checks.php:275 admin/includes/ad-health-notices.php:134
319
  msgid "AdSense violation"
320
  msgstr ""
321
 
322
- #: classes/frontend_checks.php:276 admin/includes/ad-health-notices.php:135
323
  msgid "Ad is hidden"
324
  msgstr ""
325
 
@@ -362,7 +362,7 @@ msgstr ""
362
  msgid "Everything is fine"
363
  msgstr ""
364
 
365
- #: classes/frontend_checks.php:448 admin/includes/class-ad-type.php:837
366
  msgid "Get help"
367
  msgstr ""
368
 
@@ -1023,7 +1023,7 @@ msgctxt "label above ads"
1023
  msgid "Advertisements"
1024
  msgstr ""
1025
 
1026
- #: admin/includes/ad-health-notices.php:31
1027
  #, php-format
1028
  msgid ""
1029
  "Your <strong>PHP version (%1$s) is too low</strong>. Advanced Ads is built "
@@ -1031,32 +1031,32 @@ msgid ""
1031
  "recommended. Please ask your hosting provider for more information."
1032
  msgstr ""
1033
 
1034
- #: admin/includes/ad-health-notices.php:42
1035
  #, php-format
1036
  msgid ""
1037
  "Plugins that are known to cause (partial) problems: <strong>%1$s</strong>. "
1038
  "<a href=\"%2$s\" target=\"_blank\">Learn more</a>."
1039
  msgstr ""
1040
 
1041
- #: admin/includes/ad-health-notices.php:53 admin/views/placements.php:140
1042
  #, php-format
1043
  msgid ""
1044
  "Missing PHP extensions could cause issues. Please ask your hosting provider "
1045
  "to enable them: %s"
1046
  msgstr ""
1047
 
1048
- #: admin/includes/ad-health-notices.php:63
1049
  #, php-format
1050
  msgid ""
1051
  "Ads are disabled for all or some pages. See \"disabled ads\" in <a "
1052
  "href=\"%s\">settings</a>."
1053
  msgstr ""
1054
 
1055
- #: admin/includes/ad-health-notices.php:71 admin/views/support.php:25
1056
  msgid "Advanced Ads related constants enabled"
1057
  msgstr ""
1058
 
1059
- #: admin/includes/ad-health-notices.php:79
1060
  #, php-format
1061
  msgid ""
1062
  "Possible conflict between jQueryUI library, used by Advanced Ads and other "
@@ -1064,7 +1064,7 @@ msgid ""
1064
  "to misfortunate formats in forms, but should not damage features."
1065
  msgstr ""
1066
 
1067
- #: admin/includes/ad-health-notices.php:89
1068
  #, php-format
1069
  msgid ""
1070
  "Some assets were changed. Please <strong>rebuild the asset folder</strong> "
@@ -1072,177 +1072,177 @@ msgid ""
1072
  "disguise."
1073
  msgstr ""
1074
 
1075
- #: admin/includes/ad-health-notices.php:98 admin/includes/notices.php:36
1076
  msgid ""
1077
  "One or more license keys for <strong>Advanced Ads add-ons are invalid or "
1078
  "missing</strong>."
1079
  msgstr ""
1080
 
1081
- #: admin/includes/ad-health-notices.php:101 admin/includes/notices.php:36
1082
  #, php-format
1083
  msgid "Please add valid license keys <a href=\"%s\">here</a>."
1084
  msgstr ""
1085
 
1086
- #: admin/includes/ad-health-notices.php:110
1087
  msgid "Ad expired"
1088
  msgstr ""
1089
 
1090
- #: admin/includes/ad-health-notices.php:157
1091
- #: admin/includes/ad-health-notices.php:164
1092
  #: modules/gadsense/includes/class-mapi.php:89
1093
  msgid "Last AdSense account connection attempt failed."
1094
  msgstr ""
1095
 
1096
  #. %1$s is the opening a tag and %2$s the closing one.
1097
- #: admin/includes/ad-health-notices.php:166
1098
  #, php-format
1099
  msgid "Create a new AdSense account %1$shere%2$s."
1100
  msgstr ""
1101
 
1102
- #: admin/includes/ad-health-notices.php:176
1103
- #: admin/includes/ad-health-notices.php:186
1104
- #: admin/includes/ad-health-notices.php:196
1105
  msgid ""
1106
  "One of your sites is missing the AdSense publisher ID in the ads.txt file."
1107
  msgstr ""
1108
 
1109
- #: admin/includes/ad-health-notices.php:178
1110
- #: admin/includes/ad-health-notices.php:188
1111
- #: admin/includes/ad-health-notices.php:198
1112
  msgctxt "related to ads.txt file"
1113
  msgid "Create one now."
1114
  msgstr ""
1115
 
1116
  #. %s is a filter hook, here `the_content`
1117
- #: admin/includes/ad-health-notices.php:206
1118
  #, php-format
1119
  msgid "<strong>%s</strong> filter found multiple times."
1120
  msgstr ""
1121
 
1122
- #: admin/includes/ad-health-notices.php:208
1123
  msgid "Advanced Ads uses the outermost of them."
1124
  msgstr ""
1125
 
1126
  #. %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one.
1127
- #: admin/includes/ad-health-notices.php:217
1128
- #: admin/includes/ad-health-notices.php:228
1129
- #: admin/includes/ad-health-notices.php:239
1130
- #: admin/includes/ad-health-notices.php:252
1131
  #, php-format
1132
  msgid "Learn how to integrate %1$s with Advanced Ads %2$shere%3$s."
1133
  msgstr ""
1134
 
1135
  #. %s is a service or plugin name.
1136
- #: admin/includes/ad-health-notices.php:266
1137
  #: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:196
1138
  #, php-format
1139
  msgid "%s detected."
1140
  msgstr ""
1141
 
1142
- #: admin/includes/ad-health-notices.php:267
1143
  msgid "Learn how this might impact your ad setup."
1144
  msgstr ""
1145
 
1146
- #: admin/includes/ad-health-notices.php:278
1147
  #, php-format
1148
  msgid ""
1149
  "Advanced Ads handles your ads.txt file automatically. You might be able to "
1150
  "<strong>remove %1$s</strong>."
1151
  msgstr ""
1152
 
1153
- #: admin/includes/ad-health-notices.php:289
1154
  msgid "Advanced Ads handles header and footer codes."
1155
  msgstr ""
1156
 
1157
- #: admin/includes/ad-health-notices.php:290
1158
  #, php-format
1159
  msgid "You might be able to <strong>remove %1$s</strong>."
1160
  msgstr ""
1161
 
1162
- #: admin/includes/ad-health-notices.php:293
1163
  msgid "Learn how."
1164
  msgstr ""
1165
 
1166
- #: admin/includes/class-ad-type.php:242 admin/includes/class-ad-type.php:248
1167
  msgid "Ad Details"
1168
  msgstr ""
1169
 
1170
- #: admin/includes/class-ad-type.php:243 admin/includes/class-ad-type.php:249
1171
  msgid "Ad Planning"
1172
  msgstr ""
1173
 
1174
- #: admin/includes/class-ad-type.php:244 admin/includes/class-ad-type.php:250
1175
  msgid "Ad Shortcode"
1176
  msgstr ""
1177
 
1178
- #: admin/includes/class-ad-type.php:410
1179
  #, php-format
1180
  msgid "%s ad updated."
1181
  msgid_plural "%s ads updated."
1182
  msgstr[0] ""
1183
  msgstr[1] ""
1184
 
1185
- #: admin/includes/class-ad-type.php:412
1186
  #, php-format
1187
  msgid "%s ad not updated, somebody is editing it."
1188
  msgid_plural "%s ads not updated, somebody is editing them."
1189
  msgstr[0] ""
1190
  msgstr[1] ""
1191
 
1192
- #: admin/includes/class-ad-type.php:414
1193
  #, php-format
1194
  msgid "%s ad permanently deleted."
1195
  msgid_plural "%s ads permanently deleted."
1196
  msgstr[0] ""
1197
  msgstr[1] ""
1198
 
1199
- #: admin/includes/class-ad-type.php:416
1200
  #, php-format
1201
  msgid "%s ad moved to the Trash."
1202
  msgid_plural "%s ads moved to the Trash."
1203
  msgstr[0] ""
1204
  msgstr[1] ""
1205
 
1206
- #: admin/includes/class-ad-type.php:418
1207
  #, php-format
1208
  msgid "%s ad restored from the Trash."
1209
  msgid_plural "%s ads restored from the Trash."
1210
  msgstr[0] ""
1211
  msgstr[1] ""
1212
 
1213
- #: admin/includes/class-ad-type.php:768 admin/includes/class-ad-type.php:769
1214
  msgid "Ad updated."
1215
  msgstr ""
1216
 
1217
  #. translators: %s: date and time of the revision
1218
- #: admin/includes/class-ad-type.php:770
1219
  #, php-format
1220
  msgid "Ad restored to revision from %s"
1221
  msgstr ""
1222
 
1223
- #: admin/includes/class-ad-type.php:771 admin/includes/class-ad-type.php:772
1224
  msgid "Ad saved."
1225
  msgstr ""
1226
 
1227
- #: admin/includes/class-ad-type.php:773
1228
  msgid "Ad submitted."
1229
  msgstr ""
1230
 
1231
- #: admin/includes/class-ad-type.php:776
1232
  #, php-format
1233
  msgid "Ad scheduled for: <strong>%1$s</strong>."
1234
  msgstr ""
1235
 
1236
  #. translators: Publish box date format, see http://php.net/date
1237
- #: admin/includes/class-ad-type.php:778
1238
  msgid "M j, Y @ G:i"
1239
  msgstr ""
1240
 
1241
- #: admin/includes/class-ad-type.php:780
1242
  msgid "Ad draft updated."
1243
  msgstr ""
1244
 
1245
- #: admin/includes/class-ad-type.php:836
1246
  msgid ""
1247
  "You don’t have access to ads. Please deactivate and re-enable Advanced Ads "
1248
  "again to fix this."
@@ -3115,25 +3115,23 @@ msgctxt "Error message shown when no display condition term is selected"
3115
  msgid "Please select some items."
3116
  msgstr ""
3117
 
3118
- #: admin/views/conditions/condition-operator.php:2
3119
- #: admin/views/conditions/condition-is-or-not.php:3
3120
  msgid "is"
3121
  msgstr ""
3122
 
3123
- #: admin/views/conditions/condition-operator.php:3
3124
- #: admin/views/conditions/condition-is-or-not.php:4
3125
  msgid "is not"
3126
  msgstr ""
3127
 
3128
- #: admin/views/conditions/condition-number.php:3
3129
  msgid "equal"
3130
  msgstr ""
3131
 
3132
- #: admin/views/conditions/condition-number.php:4
3133
  msgid "equal or higher"
3134
  msgstr ""
3135
 
3136
- #: admin/views/conditions/condition-number.php:5
3137
  msgid "equal or lower"
3138
  msgstr ""
3139
 
@@ -3141,8 +3139,8 @@ msgstr ""
3141
  msgid "If you want to display the ad everywhere, don't do anything here. "
3142
  msgstr ""
3143
 
3144
- #: admin/views/conditions/condition-is-or-not.php:13
3145
- #: admin/views/conditions/condition-device.php:12
3146
  msgid "Manual and Troubleshooting"
3147
  msgstr ""
3148
 
@@ -3164,11 +3162,12 @@ msgid ""
3164
  "Pro</a> if dynamic features get cached."
3165
  msgstr ""
3166
 
3167
- #: admin/views/conditions/condition-author.php:30
 
3168
  #, php-format
3169
  msgid ""
3170
- "Only %d elements are displayed above. Use the <code>advanced-ads-admin-max-"
3171
- "terms</code> filter to change this limit according to <a href=\"%s\" "
3172
  "target=\"_blank\">this page</a>."
3173
  msgstr ""
3174
 
@@ -3207,11 +3206,11 @@ msgctxt ""
3207
  msgid "No %s found on your site."
3208
  msgstr ""
3209
 
3210
- #: admin/views/conditions/condition-device.php:3
3211
  msgid "Mobile (including tablets)"
3212
  msgstr ""
3213
 
3214
- #: admin/views/conditions/condition-device.php:4
3215
  msgid "Desktop"
3216
  msgstr ""
3217
 
3
  msgstr ""
4
  "Project-Id-Version: Advanved Ads\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
6
+ "POT-Creation-Date: 2020-02-03 09:50+0000\n"
7
  "POT-Revision-Date: Wed Jul 13 2016 13:23:05 GMT+0200 (CEST)\n"
8
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
9
  "Last-Translator: Thomas Maier <post@webzunft.de>\n"
299
  msgstr ""
300
 
301
  #: classes/frontend_checks.php:248 classes/ad-debug.php:272
302
+ #: admin/includes/ad-health-notices.php:145
303
  msgid ""
304
  "Your website is using HTTPS, but the ad code contains HTTP and might not "
305
  "work."
310
  msgid "Ad IDs: %s"
311
  msgstr ""
312
 
313
+ #: classes/frontend_checks.php:261 admin/includes/ad-health-notices.php:121
314
  #, php-format
315
  msgid "Visible ads should not use the Header placement: %s"
316
  msgstr ""
317
 
318
+ #: classes/frontend_checks.php:275 admin/includes/ad-health-notices.php:135
319
  msgid "AdSense violation"
320
  msgstr ""
321
 
322
+ #: classes/frontend_checks.php:276 admin/includes/ad-health-notices.php:136
323
  msgid "Ad is hidden"
324
  msgstr ""
325
 
362
  msgid "Everything is fine"
363
  msgstr ""
364
 
365
+ #: classes/frontend_checks.php:448 admin/includes/class-ad-type.php:863
366
  msgid "Get help"
367
  msgstr ""
368
 
1023
  msgid "Advertisements"
1024
  msgstr ""
1025
 
1026
+ #: admin/includes/ad-health-notices.php:32
1027
  #, php-format
1028
  msgid ""
1029
  "Your <strong>PHP version (%1$s) is too low</strong>. Advanced Ads is built "
1031
  "recommended. Please ask your hosting provider for more information."
1032
  msgstr ""
1033
 
1034
+ #: admin/includes/ad-health-notices.php:43
1035
  #, php-format
1036
  msgid ""
1037
  "Plugins that are known to cause (partial) problems: <strong>%1$s</strong>. "
1038
  "<a href=\"%2$s\" target=\"_blank\">Learn more</a>."
1039
  msgstr ""
1040
 
1041
+ #: admin/includes/ad-health-notices.php:54 admin/views/placements.php:140
1042
  #, php-format
1043
  msgid ""
1044
  "Missing PHP extensions could cause issues. Please ask your hosting provider "
1045
  "to enable them: %s"
1046
  msgstr ""
1047
 
1048
+ #: admin/includes/ad-health-notices.php:64
1049
  #, php-format
1050
  msgid ""
1051
  "Ads are disabled for all or some pages. See \"disabled ads\" in <a "
1052
  "href=\"%s\">settings</a>."
1053
  msgstr ""
1054
 
1055
+ #: admin/includes/ad-health-notices.php:72 admin/views/support.php:25
1056
  msgid "Advanced Ads related constants enabled"
1057
  msgstr ""
1058
 
1059
+ #: admin/includes/ad-health-notices.php:80
1060
  #, php-format
1061
  msgid ""
1062
  "Possible conflict between jQueryUI library, used by Advanced Ads and other "
1064
  "to misfortunate formats in forms, but should not damage features."
1065
  msgstr ""
1066
 
1067
+ #: admin/includes/ad-health-notices.php:90
1068
  #, php-format
1069
  msgid ""
1070
  "Some assets were changed. Please <strong>rebuild the asset folder</strong> "
1072
  "disguise."
1073
  msgstr ""
1074
 
1075
+ #: admin/includes/ad-health-notices.php:99 admin/includes/notices.php:36
1076
  msgid ""
1077
  "One or more license keys for <strong>Advanced Ads add-ons are invalid or "
1078
  "missing</strong>."
1079
  msgstr ""
1080
 
1081
+ #: admin/includes/ad-health-notices.php:102 admin/includes/notices.php:36
1082
  #, php-format
1083
  msgid "Please add valid license keys <a href=\"%s\">here</a>."
1084
  msgstr ""
1085
 
1086
+ #: admin/includes/ad-health-notices.php:111
1087
  msgid "Ad expired"
1088
  msgstr ""
1089
 
1090
+ #: admin/includes/ad-health-notices.php:158
1091
+ #: admin/includes/ad-health-notices.php:165
1092
  #: modules/gadsense/includes/class-mapi.php:89
1093
  msgid "Last AdSense account connection attempt failed."
1094
  msgstr ""
1095
 
1096
  #. %1$s is the opening a tag and %2$s the closing one.
1097
+ #: admin/includes/ad-health-notices.php:167
1098
  #, php-format
1099
  msgid "Create a new AdSense account %1$shere%2$s."
1100
  msgstr ""
1101
 
1102
+ #: admin/includes/ad-health-notices.php:177
1103
+ #: admin/includes/ad-health-notices.php:187
1104
+ #: admin/includes/ad-health-notices.php:197
1105
  msgid ""
1106
  "One of your sites is missing the AdSense publisher ID in the ads.txt file."
1107
  msgstr ""
1108
 
1109
+ #: admin/includes/ad-health-notices.php:179
1110
+ #: admin/includes/ad-health-notices.php:189
1111
+ #: admin/includes/ad-health-notices.php:199
1112
  msgctxt "related to ads.txt file"
1113
  msgid "Create one now."
1114
  msgstr ""
1115
 
1116
  #. %s is a filter hook, here `the_content`
1117
+ #: admin/includes/ad-health-notices.php:207
1118
  #, php-format
1119
  msgid "<strong>%s</strong> filter found multiple times."
1120
  msgstr ""
1121
 
1122
+ #: admin/includes/ad-health-notices.php:209
1123
  msgid "Advanced Ads uses the outermost of them."
1124
  msgstr ""
1125
 
1126
  #. %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one.
1127
+ #: admin/includes/ad-health-notices.php:218
1128
+ #: admin/includes/ad-health-notices.php:229
1129
+ #: admin/includes/ad-health-notices.php:240
1130
+ #: admin/includes/ad-health-notices.php:253
1131
  #, php-format
1132
  msgid "Learn how to integrate %1$s with Advanced Ads %2$shere%3$s."
1133
  msgstr ""
1134
 
1135
  #. %s is a service or plugin name.
1136
+ #: admin/includes/ad-health-notices.php:267
1137
  #: modules/ads-txt/admin/class-advanced-ads-ads-txt-admin.php:196
1138
  #, php-format
1139
  msgid "%s detected."
1140
  msgstr ""
1141
 
1142
+ #: admin/includes/ad-health-notices.php:268
1143
  msgid "Learn how this might impact your ad setup."
1144
  msgstr ""
1145
 
1146
+ #: admin/includes/ad-health-notices.php:279
1147
  #, php-format
1148
  msgid ""
1149
  "Advanced Ads handles your ads.txt file automatically. You might be able to "
1150
  "<strong>remove %1$s</strong>."
1151
  msgstr ""
1152
 
1153
+ #: admin/includes/ad-health-notices.php:290
1154
  msgid "Advanced Ads handles header and footer codes."
1155
  msgstr ""
1156
 
1157
+ #: admin/includes/ad-health-notices.php:291
1158
  #, php-format
1159
  msgid "You might be able to <strong>remove %1$s</strong>."
1160
  msgstr ""
1161
 
1162
+ #: admin/includes/ad-health-notices.php:294
1163
  msgid "Learn how."
1164
  msgstr ""
1165
 
1166
+ #: admin/includes/class-ad-type.php:261 admin/includes/class-ad-type.php:267
1167
  msgid "Ad Details"
1168
  msgstr ""
1169
 
1170
+ #: admin/includes/class-ad-type.php:262 admin/includes/class-ad-type.php:268
1171
  msgid "Ad Planning"
1172
  msgstr ""
1173
 
1174
+ #: admin/includes/class-ad-type.php:263 admin/includes/class-ad-type.php:269
1175
  msgid "Ad Shortcode"
1176
  msgstr ""
1177
 
1178
+ #: admin/includes/class-ad-type.php:431
1179
  #, php-format
1180
  msgid "%s ad updated."
1181
  msgid_plural "%s ads updated."
1182
  msgstr[0] ""
1183
  msgstr[1] ""
1184
 
1185
+ #: admin/includes/class-ad-type.php:433
1186
  #, php-format
1187
  msgid "%s ad not updated, somebody is editing it."
1188
  msgid_plural "%s ads not updated, somebody is editing them."
1189
  msgstr[0] ""
1190
  msgstr[1] ""
1191
 
1192
+ #: admin/includes/class-ad-type.php:435
1193
  #, php-format
1194
  msgid "%s ad permanently deleted."
1195
  msgid_plural "%s ads permanently deleted."
1196
  msgstr[0] ""
1197
  msgstr[1] ""
1198
 
1199
+ #: admin/includes/class-ad-type.php:437
1200
  #, php-format
1201
  msgid "%s ad moved to the Trash."
1202
  msgid_plural "%s ads moved to the Trash."
1203
  msgstr[0] ""
1204
  msgstr[1] ""
1205
 
1206
+ #: admin/includes/class-ad-type.php:439
1207
  #, php-format
1208
  msgid "%s ad restored from the Trash."
1209
  msgid_plural "%s ads restored from the Trash."
1210
  msgstr[0] ""
1211
  msgstr[1] ""
1212
 
1213
+ #: admin/includes/class-ad-type.php:794 admin/includes/class-ad-type.php:795
1214
  msgid "Ad updated."
1215
  msgstr ""
1216
 
1217
  #. translators: %s: date and time of the revision
1218
+ #: admin/includes/class-ad-type.php:796
1219
  #, php-format
1220
  msgid "Ad restored to revision from %s"
1221
  msgstr ""
1222
 
1223
+ #: admin/includes/class-ad-type.php:797 admin/includes/class-ad-type.php:798
1224
  msgid "Ad saved."
1225
  msgstr ""
1226
 
1227
+ #: admin/includes/class-ad-type.php:799
1228
  msgid "Ad submitted."
1229
  msgstr ""
1230
 
1231
+ #: admin/includes/class-ad-type.php:802
1232
  #, php-format
1233
  msgid "Ad scheduled for: <strong>%1$s</strong>."
1234
  msgstr ""
1235
 
1236
  #. translators: Publish box date format, see http://php.net/date
1237
+ #: admin/includes/class-ad-type.php:804
1238
  msgid "M j, Y @ G:i"
1239
  msgstr ""
1240
 
1241
+ #: admin/includes/class-ad-type.php:806
1242
  msgid "Ad draft updated."
1243
  msgstr ""
1244
 
1245
+ #: admin/includes/class-ad-type.php:862
1246
  msgid ""
1247
  "You don’t have access to ads. Please deactivate and re-enable Advanced Ads "
1248
  "again to fix this."
3115
  msgid "Please select some items."
3116
  msgstr ""
3117
 
3118
+ #: admin/views/conditions/condition-operator.php:10
 
3119
  msgid "is"
3120
  msgstr ""
3121
 
3122
+ #: admin/views/conditions/condition-operator.php:12
 
3123
  msgid "is not"
3124
  msgstr ""
3125
 
3126
+ #: admin/views/conditions/condition-number.php:13
3127
  msgid "equal"
3128
  msgstr ""
3129
 
3130
+ #: admin/views/conditions/condition-number.php:15
3131
  msgid "equal or higher"
3132
  msgstr ""
3133
 
3134
+ #: admin/views/conditions/condition-number.php:17
3135
  msgid "equal or lower"
3136
  msgstr ""
3137
 
3139
  msgid "If you want to display the ad everywhere, don't do anything here. "
3140
  msgstr ""
3141
 
3142
+ #: admin/views/conditions/condition-is-or-not.php:21
3143
+ #: admin/views/conditions/condition-device.php:23
3144
  msgid "Manual and Troubleshooting"
3145
  msgstr ""
3146
 
3162
  "Pro</a> if dynamic features get cached."
3163
  msgstr ""
3164
 
3165
+ #. %1$d is the number of elements in the list and %2$s a URL.
3166
+ #: admin/views/conditions/condition-author.php:41
3167
  #, php-format
3168
  msgid ""
3169
+ "Only %1$d elements are displayed above. Use the <code>advanced-ads-admin-max-"
3170
+ "terms</code> filter to change this limit according to <a href=\"%2$s\" "
3171
  "target=\"_blank\">this page</a>."
3172
  msgstr ""
3173
 
3206
  msgid "No %s found on your site."
3207
  msgstr ""
3208
 
3209
+ #: admin/views/conditions/condition-device.php:13
3210
  msgid "Mobile (including tablets)"
3211
  msgstr ""
3212
 
3213
+ #: admin/views/conditions/condition-device.php:15
3214
  msgid "Desktop"
3215
  msgstr ""
3216
 
{vendor → lib}/autoload.php RENAMED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitd24de3c06687d3cf4aad0b15c83747be::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit_advanced_ads::getLoader();
{vendor → lib}/composer/ClassLoader.php RENAMED
File without changes
lib/composer/autoload_classmap.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_classmap.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ 'ADVADS_SL_Plugin_Updater' => $baseDir . '/classes/EDD_SL_Plugin_Updater.php',
10
+ 'Advads_Ad' => $baseDir . '/classes/ad.php',
11
+ 'Advanced_Ads' => $baseDir . '/public/class-advanced-ads.php',
12
+ 'Advanced_Ads_Ad' => $baseDir . '/classes/ad.php',
13
+ 'Advanced_Ads_Ad_Ajax_Callbacks' => $baseDir . '/classes/ad_ajax_callbacks.php',
14
+ 'Advanced_Ads_Ad_Debug' => $baseDir . '/classes/ad-debug.php',
15
+ 'Advanced_Ads_Ad_Health_Notices' => $baseDir . '/classes/ad-health-notices.php',
16
+ 'Advanced_Ads_Ad_List_Filters' => $baseDir . '/admin/includes/class-list-filters.php',
17
+ 'Advanced_Ads_Ad_Network' => $baseDir . '/admin/includes/class-ad-network.php',
18
+ 'Advanced_Ads_Ad_Network_Ad_Importer' => $baseDir . '/admin/includes/class-ad-network-ad-importer.php',
19
+ 'Advanced_Ads_Ad_Network_Ad_Unit' => $baseDir . '/admin/includes/class-ad-network-ad-unit.php',
20
+ 'Advanced_Ads_Ad_Type_Abstract' => $baseDir . '/classes/ad_type_abstract.php',
21
+ 'Advanced_Ads_Ad_Type_Content' => $baseDir . '/classes/ad_type_content.php',
22
+ 'Advanced_Ads_Ad_Type_Dummy' => $baseDir . '/classes/ad_type_dummy.php',
23
+ 'Advanced_Ads_Ad_Type_Group' => $baseDir . '/classes/ad_type_group.php',
24
+ 'Advanced_Ads_Ad_Type_Image' => $baseDir . '/classes/ad_type_image.php',
25
+ 'Advanced_Ads_Ad_Type_Plain' => $baseDir . '/classes/ad_type_plain.php',
26
+ 'Advanced_Ads_Admin' => $baseDir . '/admin/class-advanced-ads-admin.php',
27
+ 'Advanced_Ads_Admin_Ad_Type' => $baseDir . '/admin/includes/class-ad-type.php',
28
+ 'Advanced_Ads_Admin_Licenses' => $baseDir . '/admin/includes/class-licenses.php',
29
+ 'Advanced_Ads_Admin_Menu' => $baseDir . '/admin/includes/class-menu.php',
30
+ 'Advanced_Ads_Admin_Meta_Boxes' => $baseDir . '/admin/includes/class-meta-box.php',
31
+ 'Advanced_Ads_Admin_Notices' => $baseDir . '/admin/includes/class-notices.php',
32
+ 'Advanced_Ads_Admin_Options' => $baseDir . '/admin/includes/class-options.php',
33
+ 'Advanced_Ads_Admin_Settings' => $baseDir . '/admin/includes/class-settings.php',
34
+ 'Advanced_Ads_Ajax' => $baseDir . '/classes/ad-ajax.php',
35
+ 'Advanced_Ads_Checks' => $baseDir . '/classes/checks.php',
36
+ 'Advanced_Ads_Compatibility' => $baseDir . '/classes/compatibility.php',
37
+ 'Advanced_Ads_Display_Conditions' => $baseDir . '/classes/display-conditions.php',
38
+ 'Advanced_Ads_Filesystem' => $baseDir . '/classes/filesystem.php',
39
+ 'Advanced_Ads_Frontend_Checks' => $baseDir . '/classes/frontend_checks.php',
40
+ 'Advanced_Ads_Frontend_Notices' => $baseDir . '/classes/frontend-notices.php',
41
+ 'Advanced_Ads_Group' => $baseDir . '/classes/ad_group.php',
42
+ 'Advanced_Ads_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
43
+ 'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
44
+ 'Advanced_Ads_Overview_Widgets_Callbacks' => $baseDir . '/admin/includes/class-overview-widgets.php',
45
+ 'Advanced_Ads_Placements' => $baseDir . '/classes/ad_placements.php',
46
+ 'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
47
+ 'Advanced_Ads_Select' => $baseDir . '/classes/ad-select.php',
48
+ 'Advanced_Ads_Shortcode_Creator' => $baseDir . '/admin/includes/class-shortcode-creator.php',
49
+ 'Advanced_Ads_Upgrades' => $baseDir . '/classes/upgrades.php',
50
+ 'Advanced_Ads_Utils' => $baseDir . '/classes/utils.php',
51
+ 'Advanced_Ads_Visitor_Conditions' => $baseDir . '/classes/visitor-conditions.php',
52
+ 'Advanced_Ads_Widget' => $baseDir . '/classes/widget.php',
53
+ 'Yoast_I18n_WordPressOrg_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-wordpressorg-v3.php',
54
+ 'Yoast_I18n_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-v3.php',
55
+ );
{vendor → lib}/composer/autoload_namespaces.php RENAMED
@@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
- 'xrstf\\Composer52' => array($vendorDir . '/xrstf/composer-php52/lib'),
10
  );
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
9
  );
{vendor → lib}/composer/autoload_psr4.php RENAMED
@@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
- 'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src/Composer/Installers'),
10
  );
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
9
  );
{vendor → lib}/composer/autoload_real.php RENAMED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitd24de3c06687d3cf4aad0b15c83747be
6
  {
7
  private static $loader;
8
 
@@ -19,32 +19,23 @@ class ComposerAutoloaderInitd24de3c06687d3cf4aad0b15c83747be
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInitd24de3c06687d3cf4aad0b15c83747be', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitd24de3c06687d3cf4aad0b15c83747be', '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\ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be::getInitializer($loader));
31
  } else {
32
- $map = require __DIR__ . '/autoload_namespaces.php';
33
- foreach ($map as $namespace => $path) {
34
- $loader->set($namespace, $path);
35
- }
36
-
37
- $map = require __DIR__ . '/autoload_psr4.php';
38
- foreach ($map as $namespace => $path) {
39
- $loader->setPsr4($namespace, $path);
40
- }
41
-
42
  $classMap = require __DIR__ . '/autoload_classmap.php';
43
  if ($classMap) {
44
  $loader->addClassMap($classMap);
45
  }
46
  }
47
 
 
48
  $loader->register(true);
49
 
50
  return $loader;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit_advanced_ads
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit_advanced_ads', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit_advanced_ads', '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\ComposerStaticInit_advanced_ads::getInitializer($loader));
31
  } else {
 
 
 
 
 
 
 
 
 
 
32
  $classMap = require __DIR__ . '/autoload_classmap.php';
33
  if ($classMap) {
34
  $loader->addClassMap($classMap);
35
  }
36
  }
37
 
38
+ $loader->setClassMapAuthoritative(true);
39
  $loader->register(true);
40
 
41
  return $loader;
lib/composer/autoload_static.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_static.php @generated by Composer
4
+
5
+ namespace Composer\Autoload;
6
+
7
+ class ComposerStaticInit_advanced_ads
8
+ {
9
+ public static $classMap = array (
10
+ 'ADVADS_SL_Plugin_Updater' => __DIR__ . '/../..' . '/classes/EDD_SL_Plugin_Updater.php',
11
+ 'Advads_Ad' => __DIR__ . '/../..' . '/classes/ad.php',
12
+ 'Advanced_Ads' => __DIR__ . '/../..' . '/public/class-advanced-ads.php',
13
+ 'Advanced_Ads_Ad' => __DIR__ . '/../..' . '/classes/ad.php',
14
+ 'Advanced_Ads_Ad_Ajax_Callbacks' => __DIR__ . '/../..' . '/classes/ad_ajax_callbacks.php',
15
+ 'Advanced_Ads_Ad_Debug' => __DIR__ . '/../..' . '/classes/ad-debug.php',
16
+ 'Advanced_Ads_Ad_Health_Notices' => __DIR__ . '/../..' . '/classes/ad-health-notices.php',
17
+ 'Advanced_Ads_Ad_List_Filters' => __DIR__ . '/../..' . '/admin/includes/class-list-filters.php',
18
+ 'Advanced_Ads_Ad_Network' => __DIR__ . '/../..' . '/admin/includes/class-ad-network.php',
19
+ 'Advanced_Ads_Ad_Network_Ad_Importer' => __DIR__ . '/../..' . '/admin/includes/class-ad-network-ad-importer.php',
20
+ 'Advanced_Ads_Ad_Network_Ad_Unit' => __DIR__ . '/../..' . '/admin/includes/class-ad-network-ad-unit.php',
21
+ 'Advanced_Ads_Ad_Type_Abstract' => __DIR__ . '/../..' . '/classes/ad_type_abstract.php',
22
+ 'Advanced_Ads_Ad_Type_Content' => __DIR__ . '/../..' . '/classes/ad_type_content.php',
23
+ 'Advanced_Ads_Ad_Type_Dummy' => __DIR__ . '/../..' . '/classes/ad_type_dummy.php',
24
+ 'Advanced_Ads_Ad_Type_Group' => __DIR__ . '/../..' . '/classes/ad_type_group.php',
25
+ 'Advanced_Ads_Ad_Type_Image' => __DIR__ . '/../..' . '/classes/ad_type_image.php',
26
+ 'Advanced_Ads_Ad_Type_Plain' => __DIR__ . '/../..' . '/classes/ad_type_plain.php',
27
+ 'Advanced_Ads_Admin' => __DIR__ . '/../..' . '/admin/class-advanced-ads-admin.php',
28
+ 'Advanced_Ads_Admin_Ad_Type' => __DIR__ . '/../..' . '/admin/includes/class-ad-type.php',
29
+ 'Advanced_Ads_Admin_Licenses' => __DIR__ . '/../..' . '/admin/includes/class-licenses.php',
30
+ 'Advanced_Ads_Admin_Menu' => __DIR__ . '/../..' . '/admin/includes/class-menu.php',
31
+ 'Advanced_Ads_Admin_Meta_Boxes' => __DIR__ . '/../..' . '/admin/includes/class-meta-box.php',
32
+ 'Advanced_Ads_Admin_Notices' => __DIR__ . '/../..' . '/admin/includes/class-notices.php',
33
+ 'Advanced_Ads_Admin_Options' => __DIR__ . '/../..' . '/admin/includes/class-options.php',
34
+ 'Advanced_Ads_Admin_Settings' => __DIR__ . '/../..' . '/admin/includes/class-settings.php',
35
+ 'Advanced_Ads_Ajax' => __DIR__ . '/../..' . '/classes/ad-ajax.php',
36
+ 'Advanced_Ads_Checks' => __DIR__ . '/../..' . '/classes/checks.php',
37
+ 'Advanced_Ads_Compatibility' => __DIR__ . '/../..' . '/classes/compatibility.php',
38
+ 'Advanced_Ads_Display_Conditions' => __DIR__ . '/../..' . '/classes/display-conditions.php',
39
+ 'Advanced_Ads_Filesystem' => __DIR__ . '/../..' . '/classes/filesystem.php',
40
+ 'Advanced_Ads_Frontend_Checks' => __DIR__ . '/../..' . '/classes/frontend_checks.php',
41
+ 'Advanced_Ads_Frontend_Notices' => __DIR__ . '/../..' . '/classes/frontend-notices.php',
42
+ 'Advanced_Ads_Group' => __DIR__ . '/../..' . '/classes/ad_group.php',
43
+ 'Advanced_Ads_Groups_List' => __DIR__ . '/../..' . '/admin/includes/class-ad-groups-list.php',
44
+ 'Advanced_Ads_Model' => __DIR__ . '/../..' . '/classes/ad-model.php',
45
+ 'Advanced_Ads_Overview_Widgets_Callbacks' => __DIR__ . '/../..' . '/admin/includes/class-overview-widgets.php',
46
+ 'Advanced_Ads_Placements' => __DIR__ . '/../..' . '/classes/ad_placements.php',
47
+ 'Advanced_Ads_Plugin' => __DIR__ . '/../..' . '/classes/plugin.php',
48
+ 'Advanced_Ads_Select' => __DIR__ . '/../..' . '/classes/ad-select.php',
49
+ 'Advanced_Ads_Shortcode_Creator' => __DIR__ . '/../..' . '/admin/includes/class-shortcode-creator.php',
50
+ 'Advanced_Ads_Upgrades' => __DIR__ . '/../..' . '/classes/upgrades.php',
51
+ 'Advanced_Ads_Utils' => __DIR__ . '/../..' . '/classes/utils.php',
52
+ 'Advanced_Ads_Visitor_Conditions' => __DIR__ . '/../..' . '/classes/visitor-conditions.php',
53
+ 'Advanced_Ads_Widget' => __DIR__ . '/../..' . '/classes/widget.php',
54
+ 'Yoast_I18n_WordPressOrg_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-wordpressorg-v3.php',
55
+ 'Yoast_I18n_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-v3.php',
56
+ );
57
+
58
+ public static function getInitializer(ClassLoader $loader)
59
+ {
60
+ return \Closure::bind(function () use ($loader) {
61
+ $loader->classMap = ComposerStaticInit_advanced_ads::$classMap;
62
+
63
+ }, null, ClassLoader::class);
64
+ }
65
+ }
{vendor → lib}/yoast/i18n-module/CHANGELOG.md RENAMED
@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
 
 
 
 
 
 
 
 
 
 
 
7
  ## 3.0.0
8
 
9
  ### Added
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
 
7
+ ## 3.1.1
8
+
9
+ ### Fixed
10
+ - Reverts the capitalization of the class names.
11
+
12
+ ## 3.1.0
13
+
14
+ ### Fixed
15
+ - Fixes a bug where a 'You're using WordPress in a language we don't support yet.' notice would be shown for formal and informal locales when the locale actually was supported.
16
+
17
  ## 3.0.0
18
 
19
  ### Added
{vendor → lib}/yoast/i18n-module/LICENSE RENAMED
File without changes
{vendor → lib}/yoast/i18n-module/README.md RENAMED
@@ -1,3 +1,4 @@
 
1
  [![Code Climate](https://codeclimate.com/github/Yoast/i18n-module/badges/gpa.svg)](https://codeclimate.com/github/Yoast/i18n-module)
2
 
3
  # Yoast i18n module
1
+ [![Build Status](https://travis-ci.org/Yoast/i18n-module.png?branch=master)](https://travis-ci.org/Yoast/i18n-module)
2
  [![Code Climate](https://codeclimate.com/github/Yoast/i18n-module/badges/gpa.svg)](https://codeclimate.com/github/Yoast/i18n-module)
3
 
4
  # Yoast i18n module
vendor/yoast/i18n-module/src/i18n-module.php → lib/yoast/i18n-module/src/i18n-v3.php RENAMED
@@ -1,47 +1,53 @@
1
  <?php
 
 
 
 
 
2
 
3
  /**
4
- * This class defines a promo box and checks your translation site's API for stats about it, then shows them to the user.
 
5
  */
6
  class Yoast_I18n_v3 {
7
 
8
  /**
9
- * Your translation site's logo
10
  *
11
  * @var string
12
  */
13
  private $glotpress_logo;
14
 
15
  /**
16
- * Your translation site's name
17
  *
18
  * @var string
19
  */
20
  private $glotpress_name;
21
 
22
  /**
23
- * Your translation site's URL
24
  *
25
  * @var string
26
  */
27
  private $glotpress_url;
28
 
29
  /**
30
- * The URL to actually do the API request to
31
  *
32
  * @var string
33
  */
34
  private $api_url;
35
 
36
  /**
37
- * Hook where you want to show the promo box
38
  *
39
  * @var string
40
  */
41
  private $hook;
42
 
43
  /**
44
- * Will contain the site's locale
45
  *
46
  * @access private
47
  * @var string
@@ -49,7 +55,7 @@ class Yoast_I18n_v3 {
49
  private $locale;
50
 
51
  /**
52
- * Will contain the locale's name, obtained from your translation site
53
  *
54
  * @access private
55
  * @var string
@@ -57,7 +63,7 @@ class Yoast_I18n_v3 {
57
  private $locale_name;
58
 
59
  /**
60
- * Will contain the percentage translated for the plugin translation project in the locale
61
  *
62
  * @access private
63
  * @var int
@@ -65,28 +71,28 @@ class Yoast_I18n_v3 {
65
  private $percent_translated;
66
 
67
  /**
68
- * Name of your plugin
69
  *
70
  * @var string
71
  */
72
  private $plugin_name;
73
 
74
  /**
75
- * Project slug for the project on your translation site
76
  *
77
  * @var string
78
  */
79
  private $project_slug;
80
 
81
  /**
82
- * URL to point to for registration links
83
  *
84
  * @var string
85
  */
86
  private $register_url;
87
 
88
  /**
89
- * Your plugins textdomain
90
  *
91
  * @var string
92
  */
@@ -109,10 +115,10 @@ class Yoast_I18n_v3 {
109
  private $translation_loaded;
110
 
111
  /**
112
- * Class constructor
113
  *
114
- * @param array $args Contains the settings for the class.
115
- * @param bool $show_translation_box Whether the translation box should be shown.
116
  */
117
  public function __construct( $args, $show_translation_box = true ) {
118
  if ( ! is_admin() ) {
@@ -139,7 +145,7 @@ class Yoast_I18n_v3 {
139
  *
140
  * @return bool Returns true if the language is en_US.
141
  */
142
- protected function is_default_language( $language ) {
143
  return 'en_US' === $language;
144
  }
145
 
@@ -167,7 +173,7 @@ class Yoast_I18n_v3 {
167
  *
168
  * @access private
169
  *
170
- * @param array $args
171
  */
172
  private function init( $args ) {
173
  foreach ( $args as $key => $arg ) {
@@ -176,7 +182,7 @@ class Yoast_I18n_v3 {
176
  }
177
 
178
  /**
179
- * Check whether the promo should be hidden or not
180
  *
181
  * @access private
182
  *
@@ -210,7 +216,7 @@ class Yoast_I18n_v3 {
210
  }
211
 
212
  /**
213
- * Generates a promo message
214
  *
215
  * @access private
216
  *
@@ -223,18 +229,34 @@ class Yoast_I18n_v3 {
223
  $message = false;
224
 
225
  if ( $this->translation_exists && $this->translation_loaded && $this->percent_translated < 90 ) {
 
226
  $message = __( 'As you can see, there is a translation of this plugin in %1$s. This translation is currently %3$d%% complete. We need your help to make it complete and to fix any errors. Please register at %4$s to help complete the translation to %1$s!', $this->textdomain );
227
- } else if ( ! $this->translation_loaded && $this->translation_exists ) {
 
 
228
  $message = __( 'You\'re using WordPress in %1$s. While %2$s has been translated to %1$s for %3$d%%, it\'s not been shipped with the plugin yet. You can help! Register at %4$s to help complete the translation to %1$s!', $this->textdomain );
229
- } else if ( ! $this->translation_exists ) {
 
 
230
  $message = __( 'You\'re using WordPress in a language we don\'t support yet. We\'d love for %2$s to be translated in that language too, but unfortunately, it isn\'t right now. You can change that! Register at %4$s to help translate it!', $this->textdomain );
231
  }
232
 
233
- $registration_link = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $this->register_url ), esc_html( $this->glotpress_name ) );
234
- $message = sprintf( $message, esc_html( $this->locale_name ), esc_html( $this->plugin_name ), $this->percent_translated, $registration_link );
 
 
 
 
 
 
 
 
 
 
 
235
 
236
  if ( $message ) {
237
- $message = '<p>' . $message . '</p>' . '<p><a href="' . esc_url( $this->register_url ) . '">' . __( 'Register now &raquo;', $this->textdomain ) . '</a></p>';
238
  }
239
 
240
  return $message;
@@ -250,7 +272,7 @@ class Yoast_I18n_v3 {
250
  public function get_dismiss_i18n_message_button() {
251
  return sprintf(
252
  /* translators: %1$s is the notification dismissal link start tag, %2$s is the link closing tag. */
253
- __( '%1$sPlease don\'t show me this notification anymore%2$s', $this->textdomain ),
254
  '<a class="button" href="' . esc_url( add_query_arg( array( 'remove_i18n_promo' => '1' ) ) ) . '">',
255
  '</a>'
256
  );
@@ -269,10 +291,12 @@ class Yoast_I18n_v3 {
269
  echo '<a href="' . esc_url( add_query_arg( array( 'remove_i18n_promo' => '1' ) ) ) . '" style="color:#333;text-decoration:none;font-weight:bold;font-size:16px;border:1px solid #ccc;padding:1px 4px;" class="alignright">X</a>';
270
 
271
  echo '<div>';
272
- echo '<h2>' . sprintf( __( 'Translation of %s', $this->textdomain ), $this->plugin_name ) . '</h2>';
273
- if ( isset( $this->glotpress_logo ) && '' != $this->glotpress_logo ) {
 
274
  echo '<a href="' . esc_url( $this->register_url ) . '"><img class="alignright" style="margin:0 5px 5px 5px;max-width:200px;" src="' . esc_url( $this->glotpress_logo ) . '" alt="' . esc_attr( $this->glotpress_name ) . '"/></a>';
275
  }
 
276
  echo $message;
277
  echo '</div>';
278
  echo '</div>';
@@ -334,7 +358,7 @@ class Yoast_I18n_v3 {
334
  }
335
 
336
  /**
337
- * Retrieve the translation details from Yoast Translate
338
  *
339
  * @access private
340
  *
@@ -360,6 +384,11 @@ class Yoast_I18n_v3 {
360
  continue;
361
  }
362
 
 
 
 
 
 
363
  if ( $this->locale === $set->wp_locale ) {
364
  return $set;
365
  }
@@ -370,9 +399,9 @@ class Yoast_I18n_v3 {
370
  }
371
 
372
  /**
373
- * Set the needed private variables based on the results from Yoast Translate
374
  *
375
- * @param object $set The translation set
376
  *
377
  * @access private
378
  */
@@ -380,7 +409,8 @@ class Yoast_I18n_v3 {
380
  if ( $this->translation_exists && is_object( $set ) ) {
381
  $this->locale_name = $set->name;
382
  $this->percent_translated = $set->percent_translated;
383
- } else {
 
384
  $this->locale_name = '';
385
  $this->percent_translated = '';
386
  }
1
  <?php
2
+ /**
3
+ * Yoast I18n module.
4
+ *
5
+ * @package Yoast\I18n-module
6
+ */
7
 
8
  /**
9
+ * This class defines a promo box and checks your translation site's API for stats about it,
10
+ * then shows them to the user.
11
  */
12
  class Yoast_I18n_v3 {
13
 
14
  /**
15
+ * Your translation site's logo.
16
  *
17
  * @var string
18
  */
19
  private $glotpress_logo;
20
 
21
  /**
22
+ * Your translation site's name.
23
  *
24
  * @var string
25
  */
26
  private $glotpress_name;
27
 
28
  /**
29
+ * Your translation site's URL.
30
  *
31
  * @var string
32
  */
33
  private $glotpress_url;
34
 
35
  /**
36
+ * The URL to actually do the API request to.
37
  *
38
  * @var string
39
  */
40
  private $api_url;
41
 
42
  /**
43
+ * Hook where you want to show the promo box.
44
  *
45
  * @var string
46
  */
47
  private $hook;
48
 
49
  /**
50
+ * Will contain the site's locale.
51
  *
52
  * @access private
53
  * @var string
55
  private $locale;
56
 
57
  /**
58
+ * Will contain the locale's name, obtained from your translation site.
59
  *
60
  * @access private
61
  * @var string
63
  private $locale_name;
64
 
65
  /**
66
+ * Will contain the percentage translated for the plugin translation project in the locale.
67
  *
68
  * @access private
69
  * @var int
71
  private $percent_translated;
72
 
73
  /**
74
+ * Name of your plugin.
75
  *
76
  * @var string
77
  */
78
  private $plugin_name;
79
 
80
  /**
81
+ * Project slug for the project on your translation site.
82
  *
83
  * @var string
84
  */
85
  private $project_slug;
86
 
87
  /**
88
+ * URL to point to for registration links.
89
  *
90
  * @var string
91
  */
92
  private $register_url;
93
 
94
  /**
95
+ * Your plugins textdomain.
96
  *
97
  * @var string
98
  */
115
  private $translation_loaded;
116
 
117
  /**
118
+ * Class constructor.
119
  *
120
+ * @param array $args Contains the settings for the class.
121
+ * @param bool $show_translation_box Whether the translation box should be shown.
122
  */
123
  public function __construct( $args, $show_translation_box = true ) {
124
  if ( ! is_admin() ) {
145
  *
146
  * @return bool Returns true if the language is en_US.
147
  */
148
+ protected function is_default_language( $language ) {
149
  return 'en_US' === $language;
150
  }
151
 
173
  *
174
  * @access private
175
  *
176
+ * @param array $args Contains the settings for the class.
177
  */
178
  private function init( $args ) {
179
  foreach ( $args as $key => $arg ) {
182
  }
183
 
184
  /**
185
+ * Check whether the promo should be hidden or not.
186
  *
187
  * @access private
188
  *
216
  }
217
 
218
  /**
219
+ * Generates a promo message.
220
  *
221
  * @access private
222
  *
229
  $message = false;
230
 
231
  if ( $this->translation_exists && $this->translation_loaded && $this->percent_translated < 90 ) {
232
+ /* translators: 1: language name; 3: completion percentage; 4: link to translation platform. */
233
  $message = __( 'As you can see, there is a translation of this plugin in %1$s. This translation is currently %3$d%% complete. We need your help to make it complete and to fix any errors. Please register at %4$s to help complete the translation to %1$s!', $this->textdomain );
234
+ }
235
+ elseif ( ! $this->translation_loaded && $this->translation_exists ) {
236
+ /* translators: 1: language name; 2: plugin name; 3: completion percentage; 4: link to translation platform. */
237
  $message = __( 'You\'re using WordPress in %1$s. While %2$s has been translated to %1$s for %3$d%%, it\'s not been shipped with the plugin yet. You can help! Register at %4$s to help complete the translation to %1$s!', $this->textdomain );
238
+ }
239
+ elseif ( ! $this->translation_exists ) {
240
+ /* translators: 2: plugin name; 4: link to translation platform. */
241
  $message = __( 'You\'re using WordPress in a language we don\'t support yet. We\'d love for %2$s to be translated in that language too, but unfortunately, it isn\'t right now. You can change that! Register at %4$s to help translate it!', $this->textdomain );
242
  }
243
 
244
+ $registration_link = sprintf(
245
+ '<a href="%1$s">%2$s</a>',
246
+ esc_url( $this->register_url ),
247
+ esc_html( $this->glotpress_name )
248
+ );
249
+
250
+ $message = sprintf(
251
+ esc_html( $message ),
252
+ esc_html( $this->locale_name ),
253
+ esc_html( $this->plugin_name ),
254
+ (int) $this->percent_translated,
255
+ $registration_link
256
+ );
257
 
258
  if ( $message ) {
259
+ $message = '<p>' . $message . '</p><p><a href="' . esc_url( $this->register_url ) . '">' . esc_html__( 'Register now &raquo;', $this->textdomain ) . '</a></p>';
260
  }
261
 
262
  return $message;
272
  public function get_dismiss_i18n_message_button() {
273
  return sprintf(
274
  /* translators: %1$s is the notification dismissal link start tag, %2$s is the link closing tag. */
275
+ esc_html__( '%1$sPlease don\'t show me this notification anymore%2$s', $this->textdomain ),
276
  '<a class="button" href="' . esc_url( add_query_arg( array( 'remove_i18n_promo' => '1' ) ) ) . '">',
277
  '</a>'
278
  );
291
  echo '<a href="' . esc_url( add_query_arg( array( 'remove_i18n_promo' => '1' ) ) ) . '" style="color:#333;text-decoration:none;font-weight:bold;font-size:16px;border:1px solid #ccc;padding:1px 4px;" class="alignright">X</a>';
292
 
293
  echo '<div>';
294
+ /* translators: %s: plugin name. */
295
+ echo '<h2>' . sprintf( esc_html__( 'Translation of %s', $this->textdomain ), esc_html( $this->plugin_name ) ) . '</h2>';
296
+ if ( isset( $this->glotpress_logo ) && is_string( $this->glotpress_logo ) && '' !== $this->glotpress_logo ) {
297
  echo '<a href="' . esc_url( $this->register_url ) . '"><img class="alignright" style="margin:0 5px 5px 5px;max-width:200px;" src="' . esc_url( $this->glotpress_logo ) . '" alt="' . esc_attr( $this->glotpress_name ) . '"/></a>';
298
  }
299
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- correctly escaped in promo_message() method.
300
  echo $message;
301
  echo '</div>';
302
  echo '</div>';
358
  }
359
 
360
  /**
361
+ * Retrieve the translation details from Yoast Translate.
362
  *
363
  * @access private
364
  *
384
  continue;
385
  }
386
 
387
+ // For informal and formal locales, we have to complete the locale code by concatenating the slug ('formal' or 'informal') to the xx_XX part.
388
+ if ( $set->slug !== 'default' && strtolower( $this->locale ) === strtolower( $set->wp_locale . '_' . $set->slug ) ) {
389
+ return $set;
390
+ }
391
+
392
  if ( $this->locale === $set->wp_locale ) {
393
  return $set;
394
  }
399
  }
400
 
401
  /**
402
+ * Set the needed private variables based on the results from Yoast Translate.
403
  *
404
+ * @param object $set The translation set.
405
  *
406
  * @access private
407
  */
409
  if ( $this->translation_exists && is_object( $set ) ) {
410
  $this->locale_name = $set->name;
411
  $this->percent_translated = $set->percent_translated;
412
+ }
413
+ else {
414
  $this->locale_name = '';
415
  $this->percent_translated = '';
416
  }
vendor/yoast/i18n-module/src/i18n-module-wordpressorg.php → lib/yoast/i18n-module/src/i18n-wordpressorg-v3.php RENAMED
@@ -1,4 +1,9 @@
1
  <?php
 
 
 
 
 
2
 
3
  /**
4
  * The Yoast i18n module with a connection to WordPress.org.
@@ -13,10 +18,12 @@ class Yoast_I18n_WordPressOrg_v3 {
13
  protected $i18n;
14
 
15
  /**
16
- * Constructs the i18n module for wordpress.org. Required fields are the 'textdomain', 'plugin_name' and 'hook'
 
 
17
  *
18
- * @param array $args The settings for the i18n module.
19
- * @param bool $show_translation_box Whether the translation box should be shown.
20
  */
21
  public function __construct( $args, $show_translation_box = true ) {
22
  $args = $this->set_defaults( $args );
@@ -26,11 +33,11 @@ class Yoast_I18n_WordPressOrg_v3 {
26
  }
27
 
28
  /**
29
- * Returns the i18n_promo message from the i18n_module. Returns en empty string if the promo shouldn't be shown.
30
  *
31
  * @access public
32
  *
33
- * @return string The i18n promo message.
34
  */
35
  public function get_promo_message() {
36
  return $this->i18n->get_promo_message();
1
  <?php
2
+ /**
3
+ * Yoast I18n module.
4
+ *
5
+ * @package Yoast\I18n-module
6
+ */
7
 
8
  /**
9
  * The Yoast i18n module with a connection to WordPress.org.
18
  protected $i18n;
19
 
20
  /**
21
+ * Constructs the i18n module for wordpress.org.
22
+ *
23
+ * Required fields are the 'textdomain', 'plugin_name' and 'hook'.
24
  *
25
+ * @param array $args The settings for the i18n module.
26
+ * @param bool $show_translation_box Whether the translation box should be shown.
27
  */
28
  public function __construct( $args, $show_translation_box = true ) {
29
  $args = $this->set_defaults( $args );
33
  }
34
 
35
  /**
36
+ * Returns the i18n_promo message from the i18n_module.
37
  *
38
  * @access public
39
  *
40
+ * @return string The i18n promo message or an empty string if the promo shouldn't be shown.
41
  */
42
  public function get_promo_message() {
43
  return $this->i18n->get_promo_message();
readme.txt CHANGED
@@ -1,629 +1,634 @@
1
- === Advanced Ads – Ad Manager & AdSense ===
2
- Contributors: webzunft, advancedads
3
- Tags: ads, ad manager, ad rotation, adsense, banner
4
- Requires at least: 4.6
5
- Tested up to: 5.3
6
- Requires PHP: 5.6
7
- Stable tag: 1.17.1
8
- License: GPLv2 or later
9
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
-
11
- Manage and optimize your ads. All ad codes, Google AdSense Auto ads, ad widget, rotation, header and footer code injection, Google AdSense partner support
12
-
13
- == Description ==
14
-
15
- Are you looking for a simple ad manager plugin? These are the top arguments to use Advanced Ads:
16
-
17
- * approved in 10 years of Publishing and Ad Optimization
18
- * works with all ad types and networks, including Google AdSense, Google Ad Manager (DFP), Amazon ads, or media.net
19
- * Google AdSense Partner
20
- * most features to test and optimize ads
21
- * unlimited ad units
22
- * ads.txt support
23
- * dedicated Gutenberg block for ads
24
- * the only solution with *Ad Health* integration and Google AdSense violation checks
25
- * best rated [free support](https://wordpress.org/support/plugin/advanced-ads)
26
-
27
- This is what our users are saying about Advanced Ads:
28
-
29
- > We use this plugin to deliver rotating ads on a community news site, and it’s great. Both feature-rich and reliable, your imagination is the limit when it comes to the product you want to create for your users. We’ve delivered over a million ad impressions since we launched less than a year ago, using a combination of sidebar, top, sticky and in-content placements — both HTML5 and images. Advanced Ads makes it easy for our small team to deliver a good experience to our users and our advertisers.
30
- > mytown304 on wp.org
31
-
32
- Would you like to know if there is a certain feature, what the optimized setup would be, or how to implement your client’s demands? Just [open a thread in the forum](https://wordpress.org/support/plugin/advanced-ads#new-post)!
33
-
34
- Advanced Ads allowed us to grow from 0 to 100 MM monthly ad impressions. Benefit from our experience as a publisher and monetize your website today!
35
-
36
- [Full Feature List](https://wpadvancedads.com/features/).
37
-
38
- = ad management =
39
-
40
- * create and display **unlimited** ad units
41
- * rotate ads
42
- * schedule ads and set start time and expiration date
43
- * target ads by content and user groups
44
- * inject ads into posts and pages automatically without coding
45
- * sell ads on your website automatically with the [Selling Ads add-on](https://wpadvancedads.com/add-ons/selling-ads/)
46
-
47
- = ad types =
48
-
49
- choose between different ad types that enable you to:
50
-
51
- * insert ads content and banners from all ad and affiliate networks (e.g., Google AdSense, Amazon, BuySellAds, Google Ad Manager, DoubleClick (DFP), Ezoic, media.net, Booking.com, Tradedoubler, Awin, Getyourguide, The Moneytizer...)
52
- * dedicated support for all types of Google AdSense ads, including text and diplay ads, native ads (In-article, In-feed, matched content), link units (standard and responsive), Auto ads, and Auto ads for AMP
53
- * display images and image banners
54
- * create content-rich ads with the WordPress TinyMCE editor
55
- * create Amazon ads with the Rich Content ad type and the [Amazon Associates Link Builder](https://wordpress.org/plugins/amazon-associates-link-builder/) or insert contextual Amazon Native Shopping Ads
56
- * inject HTML, CSS, Javascript or PHP code
57
- * use shortcodes within ads (to also deliver advertisements from another ad plugin like Ad Inserter, AdRotate, Quick AdSense, WP Bannerize, or the Google AdSense Plugin WP QUADS)
58
-
59
- = display ads for WP =
60
-
61
- * use functions to display ads in template files
62
- * use shortcodes to place them manually in post content
63
- * show ads in the sidebar and in widgets
64
- * disable all ads on specific pages
65
- * display multiple ads (ad blocks)
66
- * display a customizable ad label, e.g., “Advertisements” above each banner ad
67
-
68
- = display conditions =
69
-
70
- show ads based on conditions like:
71
-
72
- * individual posts, pages, and other post types
73
- * posts by category, tags, taxonomies, author, and age
74
- * archive pages by category, tags, taxonomies
75
- * special page types like 404, attachment and front page
76
- * hide ads on secondary queries (e.g., posts in sidebars)
77
- * display or hide banners within the post feed
78
- * hide all ads from specific page types, e.g., 404 pages, feed
79
- * hide ads from bots and web crawlers
80
-
81
- = visitor conditions =
82
-
83
- serve ads by conditions based on the visitor. [List of all visitor conditions](https://wpadvancedads.com/manual/visitor-conditions/)
84
-
85
- * display or hide a banner by device: mobile and tablet or desktop
86
- * display or hide a banner by role and for logged-in visitors
87
- * advanced visitor conditions: previously visited URL (referrer), user capability, browser language, browser and device, URL parameters included in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
88
- * display ads by geolocation with the [Geo Targeting add-on](https://wpadvancedads.com/add-ons/geo-targeting/)
89
- * display ads by browser width with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
90
-
91
- > **Fantastic plugin and outstanding support**
92
- > I tried at least three other ad plugins for WordPress and ‘Advanced Ads’ is by and far the best one. Last but not least in the support. The first port of call are a number of excellent tutorials. And finally the hands on support. I don’t quite know how he does it but the speed and depth of responses are absolutely amazing.
93
- > djsawyer on wp.org
94
-
95
- = ad injection | placements =
96
-
97
- Placements to insert ads in pre-defined positions in your theme and content. [List of all placements](https://wpadvancedads.com/manual/placements/)
98
-
99
- * ads after any given paragraph or headline
100
- * ads at the top or bottom of the post content
101
- * ads before closing `</head>` tag
102
- * ads in the footer
103
- * test placements against each other with [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
104
- * many more ad positions with [add-ons](https://wpadvancedads.com/add-ons/)
105
- * automatic insertion of any kind of code into header or footer, not only advertising
106
-
107
- = mobile devices =
108
-
109
- * display ads on mobile and tablets or desktop only
110
- * display responsive image ads
111
- * ads for specific browser sizes only using [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/)
112
- * inserting ads on AMP pages with [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/)
113
-
114
- = Google AdSense =
115
-
116
- Amazing features of the most powerful and easy Google AdSense plugin.
117
-
118
- * unlimited Google AdSense ads banners
119
- * pull ad units directly from your Google AdSense account
120
- * show AdSense revenue in WP Admin
121
- * change settings of your Google AdSense ads directly from your WordPress backend
122
- * supports all Google AdSense ad types, including Google AdSense display ads, link units, native ads like In-feed ads, In-article ads, matched content ads, Google AdSense Auto ads, and Google AdSense Auto ads for AMP
123
- * change type and sizes of an ad without going into your Google AdSense account
124
- * hide Google AdSense advertisements on 404 pages by default (to comply with Google AdSense terms)
125
- * insert Google AdSense code for verification and AdSense Auto Ads (previously called Page-Level ads and QuickStart)
126
- * disable Google Auto ads anchor ads at the top of the page
127
- * easy Ad Health integration and Google AdSense violation checks
128
- * option to make the Google AdSense background transparent
129
- * place Google AdSense In-feed ads using the also free [In-feed add-on](https://wordpress.org/plugins/advanced-ads-adsense-in-feed/)
130
- * assistant for exact sizes of responsive Google AdSense code with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
131
- * convert Google AdSense ads into AMP ads automatically with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
132
- * ads.txt generated with the correct AdSense information automatically
133
- * works along Google Site Kit or can replace if it you want to [control your ad placements](https://wpadvancedads.com/place-adsense-ad-unit-manually/)
134
-
135
- Like j4ckson185, there are thousands of happy AdSense users:
136
-
137
- > Your app is awesome, congratulations! Google Adsense suggests using your app on its official website, it’s incredible!
138
-
139
- = ads.txt =
140
-
141
- * generates ads.txt with custom content
142
- * adds the content for AdSense to the ads.txt automatically
143
-
144
- (available with WordPress 5.1)
145
-
146
- https://vimeo.com/299410390
147
-
148
- = ad blocker =
149
-
150
- * basic features to prevent ad units from being removed by AdBlock and others
151
- * prevent ad blockers from breaking sites where plugin scripts are running
152
- * ad blocking detection: show alternative content to ad block users with [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/) and improve the monetization of your website
153
-
154
- Learn more on the [plugin homepage](https://wpadvancedads.com).
155
-
156
- Thank you for motivating us with your [positive review](https://wordpress.org/support/plugin/advanced-ads/reviews/?rate=5#new-post).
157
-
158
- Localizations: Czech, Dutch, English, French, German, Italian, Japanese, Norwegian, Portuguese, Slovak, Spanish, Turkish, Vietnamese, Polish, Chinese (Taiwan)
159
-
160
- > <strong>Add-Ons</strong>
161
- >
162
- > * all add-ons include priority email support
163
- > * [Advanced Ads Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/) – powerful tools for ad optimizations: cache-busting, more placements, lazy load, ad blocker module, click fraud, and more
164
- > * [Geo Targeting](https://wpadvancedads.com/add-ons/geo-targeting/) – display ads based on geo location of the visitor
165
- > * [Tracking](https://wpadvancedads.com/add-ons/tracking/) – ad tracking and statistics
166
- > * [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/) – create mobile ads or ads for specific browser sizes and ads on AMP
167
- > * [Sticky Ads](https://wpadvancedads.com/add-ons/sticky-ads/) – increase click rates with fixed, sticky, and anchor ads
168
- > * [PopUp and Layer Ads](https://wpadvancedads.com/add-ons/popup-and-layer-ads/) – display ads and other content in layers and popups
169
- > * [Selling Ads](https://wpadvancedads.com/add-ons/selling-ads/) - allows you to sell ads on your website fully automated, including payments and advertiser profiles.
170
- > * [Slider](https://wpadvancedads.com/add-ons/slider/) – create a simple slider from your ads
171
-
172
- If you have problems with Advanced Ads, please reach out to [our support](https://wordpress.org/support/plugin/advanced-ads).
173
-
174
- == Installation ==
175
-
176
- How to install the plugin and get it working?
177
-
178
- = Using The WordPress Dashboard =
179
-
180
- 1. Navigate to the 'Add New' in the plugins dashboard
181
- 2. Search for 'advanced ads'
182
- 3. Click 'Install Now'
183
- 4. Activate Advanced Ads on the Plugin dashboard
184
-
185
- = Uploading in WordPress Dashboard =
186
-
187
- 1. Navigate to the 'Add New' in the plugins dashboard
188
- 2. Navigate to the 'Upload' area
189
- 3. Select `advanced-ads.zip` from your computer
190
- 4. Click 'Install Now'
191
- 5. Activate Advanced Ads in the Plugin dashboard
192
-
193
- = Using FTP =
194
-
195
- 1. Download `advanced-ads.zip`
196
- 2. Extract the `advanced-ads` directory to your computer
197
- 3. Upload the `advanced-ads` directory to the `/wp-content/plugins/` directory
198
- 4. Activate Advanced Ads in the Plugin dashboard
199
-
200
- == Frequently Asked Questions ==
201
-
202
- = How to put ads on WordPress? =
203
-
204
- You can use Advanced Ads to insert ads into your WordPress site without any coding.
205
-
206
- To get started, just take a look at
207
-
208
- * the [general first ad tutorial](https://wpadvancedads.com/manual/first-ad/)
209
- * using [AdSense Auto ads](https://wpadvancedads.com/adsense-auto-ads-wordpress/) in WordPress
210
- * the [AdSense overview page](https://wpadvancedads.com/adsense-ads).
211
- * Ads not showing up? Take a look [here](https://wpadvancedads.com/manual/ads-not-showing-up).
212
-
213
- = What about my users’ privacy and GDPR? =
214
-
215
- You can show ads only to visitors that give their consent. See [GDPR support](https://wpadvancedads.com/manual/ad-cookie-consent/).
216
-
217
- Advanced Ads itself does neither save personal information (e.g., an IP address) in your database nor cookies in the visitor’s browser.
218
-
219
- Third party services like Google Analytics are disabled by default.
220
-
221
- You can learn more about how Advanced Ads and its add-ons handles data and privacy of your visitors [on this page](https://wpadvancedads.com/manual/privacy-information-for-users/).
222
-
223
- = Which ad networks are supported? =
224
-
225
- Advanced Ads is compatible with all ad networks and banners from affiliate programs like Google AdSense, Chitika, Clickbank, Amazon, and also Google Ad Manager (Google Double Click, DFP), media.net.
226
-
227
- You can also use it to insert additional ad network tags into header or footer of your site without coding.
228
-
229
- AdSense has even a dedicated ad type leveling the specific options this ad network provides.
230
-
231
- = PHP functions and shortcodes =
232
-
233
- You can use functions and shortcodes to display ads and ad groups.
234
-
235
- The integers in this example are the IDs of the elements.
236
-
237
- Use these shortcodes to insert an ad or group into your post/page.
238
-
239
- `[the_ad id="24"]`
240
- `[the_ad_group id="5"]`
241
-
242
- Use these functions to insert an ad or ad group into your template file.
243
-
244
- `<?php the_ad(24); ?>`
245
- `<?php the_ad_group(5); ?>`
246
-
247
- In addition to directly displaying ads and groups you can define ad placements and assign either an ad or group to them.
248
-
249
- `[the_ad_placement id="header-left"]`
250
- `<?php the_ad_placement('header-left'); ?>`
251
-
252
- = Is there a revenue share? =
253
-
254
- There is no revenue share. Advanced Ads doesn’t alter your ad codes in a way that you earn less than you would directly including the ad code in your template.
255
-
256
- = Can I place ads directly in my theme files? =
257
-
258
- Yes. I would add a "Manual" placement into your theme files. It would allow you to change the displayed ads or groups later without changing your code again.
259
-
260
- = Does it work with other ad plugins? =
261
-
262
- Yes. Advanced Ads can be combined with other ad plugins.
263
- Just use their shortcodes in our "Rich Media" ad type to combine both features.
264
- Works with AdRotate, Ad Inserter, Ad Injection, Quick AdSense, Quick AdSense Reloaded (WPQUADS), Simple Ads Manager, and other plugins.
265
- Advanced Ads can be used along Google Site Kit or replace it if you need more control over your ad setup.
266
-
267
- = Can I use Flash ads? =
268
-
269
- There is a dedicated Flash ad type in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/).
270
-
271
- = Is the plugin compatible with page builders? =
272
-
273
- Yes. It works out of the box with all site builders that allow shortcodes or widgets, like Elementor, SiteOrigin, Beaver Builder, WPBakery Page Builder (formerly Visual Composer), [Nimble Page Builder](https://wordpress.org/plugins/nimble-builder/), and others.
274
- There is also a [free add-on to support the WPBakery Page Builder (formerly Visual Composer)](https://wordpress.org/plugins/ads-for-visual-composer/).
275
-
276
- = Will ads show up for ad block users? =
277
-
278
- Visitors who have any ad blocker (e.g., AdBlock Plus) enabled won’t see ads from known external sources (e.g., AdSense).
279
- You can still monetize those spots with custom content.
280
-
281
- Read more about ad blockers and the features Advanced Ads has to deal with them [on this page](https://wpadvancedads.com/manual/ad-blockers/).
282
-
283
- = Does the plugin support an ads.txt? =
284
-
285
- Google AdSense and some other networks ask you to provide an ads.txt.
286
- Advanced Ads can create that file automatically with the correct information for AdSense, when you enable the ads.txt feature in Advanced Ads > Settings > General > ads.txt and enter your AdSense publisher ID in Advanced Ads > Settings > AdSense.
287
-
288
- = I am a developer. Can I customize the plugin? =
289
-
290
- Yes. Advanced Ads is based on WordPress standards and therefore easily customizable using either WordPress hooks or the ones we defined [here](https://wpadvancedads.com/codex/).
291
-
292
- == Screenshots ==
293
-
294
- 1. Placements that let you inject ads anywhere into your site without coding (7 in Advanced Ads + 14 through add-ons).
295
- 2. Support for all kinds of ad types, including dedicated AdSense type. AMP is included in the Responsive add-on.
296
- 3. Flexible ad input with the Plain Text ad type and code highlighting.
297
- 4. Align your ads within the content.
298
- 5. Dynamically change AdSense ad options in your WordPress backend.
299
- 6. Choose where to display your ads using many conditions.
300
- 7. Use various conditions to choose who should see ads (basic plugin and more in add-ons).
301
- 8. See AdSense earnings in your WP Backend
302
- 9. Track impressions and clicks (Tracking add-on).
303
- 10. Convert AdSense ads into AMP automatically (Responsive add-on)
304
-
305
- == Changelog ==
306
-
307
- = 1.17.1 =
308
-
309
- * fixed failing upload of new image ads
310
- * fixed Google Ad Manager debug link also showing up when other Google Publisher Tags are used
311
-
312
- = 1.17 =
313
-
314
- * improved AdSense ad unit list coming from the AdSense API
315
- * improved "highlight ads" option in Ad Health
316
- * show notice if AJAX calls are broken
317
- * added `com.pl` as exception for placing ads.txt files in subdomains
318
- * removed placeholder for AdSense ads in the Customizer and Elementor editor
319
- * fix for WP Smush lazy load preventing image ads from showing at all
320
-
321
- = 1.16.1 =
322
-
323
- * fixed JavaScript that broke privacy module check in the frontend
324
- * allow to change size of AdSense ads loaded from the AdSense account
325
-
326
- = 1.16 =
327
-
328
- * moved all users to the new content injection logic and removed opt-out option
329
- * use new Auto ads code for everyone who didn’t enable the "Disable top anchor ads" option
330
- * hide "Disable top anchor ads" option to users who didn’t enable it
331
- * the Ad Admin user role can now also save the plugin settings
332
- * hide Wizard for existing ads
333
- * removed warning about WP Autoterms plugin after a fix by the plugin authors
334
- * some work for Conditions to improve compatibility with an upcoming Pro feature
335
- * fixed multiple wrappers occurred as result of using nested ads
336
- * fixed missing index issue on 404 pages for logged-in admins
337
- * fixed AJAX/PHP error 403 on Settings page
338
- * fixed layout issue that happened when "If>So Dynamic Content" plugin was active
339
- * prevented Ad label from taking height of fixed sized AdSense ads
340
-
341
- = 1.15 =
342
-
343
- * please enable the new content injection method under Advanced Ads > Settings > General > Content Injection > Use new injection logic
344
- * rewritten content injection to prevent HTML markup modifications
345
- * rewritten code for Display and Visitor Condition form fields on ad edit pages
346
- * allow to replace existing ads.txt file with the option provided by Advanced Ads
347
- * prevented duplicated SQL query when a group contains no ads
348
- * added warning for WP AutoTerms plugin, which prevents ads from showing on category archive pages
349
-
350
- = 1.14.11 =
351
-
352
- * moved placement form above the list of existing placements
353
- * made "ads.txt" file available before the Settings page is saved
354
- * removed leading and trailing spaces from privacy options to prevent accidental misconfiguration
355
- * implementing coding standards in a few backend files
356
- * fixed welcome panel not showing up
357
- * fix for plugins using the "pre_option_upload_path" or "pre_option_upload_url_path" filters
358
-
359
- = 1.14.10 =
360
-
361
- * creating unique slugs for the ad post type in order to prevent conflicts like found with Beaver Builder
362
- * added option to disable AdSense stats in the backend
363
- * fixed conflicts when $ (jQuery) was not available
364
- * fixed potential JS conflict in Wizard script
365
- * added a warning suggesting to install "dom" extension in order to use "Content" placement
366
-
367
- = 1.14.9 =
368
-
369
- * fixed deprecated notices causing a warning
370
- * fixed possible missing class error
371
- * replaced AdSense in widgets with dummy ads on Elementor preview pages to prevent issues
372
- * removed unneeded warning about early called `advads_is_amp` function
373
-
374
- = 1.14.8 =
375
-
376
- * replaced AdSense with dummy ads on Customizer and Elementor preview pages to prevent issues
377
- * make text fields in Advanced Ads settings fully resizable
378
- * removed unneeded ads.txt warning on com.br domains
379
-
380
- = 1.14.7 =
381
-
382
- * allow "Footer code" and "Sidebar Widget" placements on AMP pages created by the official AMP plugin
383
- * prevented AMP warnings on XMLRPC requests
384
- * removed unused debug function
385
-
386
- = 1.14.6 =
387
-
388
- * fixed frontend issue showing for admins if the HEAD placement is used
389
-
390
- = 1.14.5 =
391
-
392
- * sanitize Container ID option on save and warn about wrong format
393
- * made Placements page work when another plugin includes Twitter Bootstrap
394
- * updated missing ads.txt warning
395
- * disabled Privacy module on AMP pages so that the Google AMP cache shows them
396
- * fixed warnings for some features on AMP pages
397
- * fixed suggestion to switch Auto ads code in plain text ad type to AdSense ad type
398
-
399
- = 1.14.4 =
400
-
401
- * fixed JavaScript issue on ad edit pages
402
-
403
- = 1.14.3 =
404
-
405
- * allow adding ads to newsletter emails created in MailPoet using the shortcode `[custom:ad:AD_ID]` in the email template
406
- * prevented error when Piklist plugin is used
407
- * fixed JS error on post edit pages that had no real consequences
408
- * minor fixes to licensing settings (Pro only)
409
-
410
- = 1.14.2 =
411
-
412
- * preparations for [Advanced Ads Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/) 2.4.2
413
- * fixed time zone difference in AdSense reporting
414
- * fixed script dependency in the backend
415
-
416
- = 1.14.1 =
417
-
418
- * fixed issue with PHP 5.2 (please update to PHP 5.6.20 since it is the minimum requirement of WordPress)
419
- * fixed potential conflict with ClassiPress ad categories
420
- * prevented user interface from looking broken when Twitter Bootstrap is added by another source
421
-
422
- = 1.14 =
423
-
424
- * rewrite of AdSense code logic. Please reach out through https://wpadvancedads.com/support/ if you discover any issues
425
- * show AdSense revenue in WP Admin
426
- * removed parent ad group option since it was never used by Advanced Ads
427
- * made newly installed Advanced Ads work correctly with Q2W3 Fixed Widget
428
-
429
- = 1.13.8 =
430
-
431
- * prevented warning about missing ads.txt file when the file exists
432
- * added a hint about solving ads.txt issue on WP Engine platform
433
- * allow to translate Ad Label option if WPML String Translation is used
434
- * fixed Ad Health notices showing also ignored issues when adding a new notice
435
- * inject ads in the outermost `the_content` when they may have been injected in an inner `the_content`
436
- * added chain of nested `the_content` filters to `debug.log` to allow reasoning about possible issues
437
-
438
- = 1.13.7 =
439
-
440
- * set `ADVANCED_ADS_DISABLE_EDIT_BAR` to disable frontend edit bar
441
- * set better default data for new AdSense ads
442
- * when `the_content` filters are nested, use the outermost one to inject ads
443
- * hide certain notices for a longer period even if they stay valid
444
- * removed notice about plugin updates since WP 5.2 handles this now
445
- * removed notice about website being hosted on wp.com
446
- * honor "Hide ads for user roles" and "Hide ads from bots" settings when displaying AdSense verification code & Auto ads
447
- * prevented some attachment pages containing ads from being indexed
448
-
449
- = 1.13.6 =
450
-
451
- * fixed missing index issue raised when Tracking settings never were saved
452
-
453
- = 1.13.5 =
454
-
455
- * option to hide ads by user role does now show all registered roles
456
- * prevented possible JavaScript error in Ad Health
457
- * updated minimum PHP version check to warn below PHP 5.6.20
458
- * exclude LiteSpeed Cache bot from bot detection
459
- * fixed Ad Health notices with invalid ID
460
-
461
- = 1.13.4 =
462
-
463
- * improved compatibility with WPML
464
- * improved errors given when no ad units were found in the AdSense account
465
- * improved UI when hiding ad health notices
466
- * fixed issue when logging the AdSense Hidden problem
467
- * fixed issue on ad filter list when two terms with the same slug exist
468
- * fixed unlikely case of an SQL error on ad overview page
469
- * fixed issue with Ad Health bar in frontend when jQuery was not found
470
- * added a link to ads.txt settings from AdSense warning about missing ads.txt file
471
- * removed unneeded ads.txt warning on com.au domains
472
-
473
- = 1.13.3 =
474
-
475
- * added link to get help in some error notices
476
- * fixed error caused by ads.txt module on multisites that use WordPress lower then 5.1
477
- * fixed compatibility with Gutenberg plugin
478
-
479
- = 1.13.2 =
480
-
481
- * added AdSense ad slot ID to "AdSense hidden" warning
482
- * improved ads.txt test for existing files and other problems
483
- * fixed broken link preventing the Privacy settings from working
484
-
485
- = 1.13.1 =
486
-
487
- * fixed issue with PHP 7.1 and higher
488
-
489
- = 1.13 =
490
-
491
- * added support for 'ads.txt'
492
- * added option to disable Google Auto ads anchor ads at the top of the page
493
- * prevented attachment content from being shown next to Rich Content ads on attachment pages
494
- * allow to hide "Ads are disabled" warning
495
- * added AdSense connection errors to notifications
496
- * remove hidden notices if resolved
497
- * load notices box without JavaScript
498
- * stop content injection into wp_router pages when ads are disabled on secondary queries
499
- * introduced `advanced-ads-max-ad-weight` filter to allow manipulating the available ad weight
500
-
501
- = 1.12 =
502
-
503
- * new ad health notification logic in WP Admin to show notifications and critical issues at one place
504
- * disable Ad Health in frontend and backend using the existing "Disable Notices" option, now called "Disable Ad Health and other notices"
505
- * prevented ad injection into excerpts
506
- * reordered settings page
507
-
508
- = 1.11.2 =
509
-
510
- * removed "Limit to 3 AdSense ads" option for users who don‘t have it enabled since AdSense no longer has such a rule
511
- * fixed filtering by ad groups on the ad list
512
- * hide ad blocker checking code when not needed
513
-
514
- = 1.11.1 =
515
-
516
- * fixed AdSense code field not working if AdSense connection is missing
517
-
518
- = 1.11 =
519
-
520
- * improved the AdSense onboarding process
521
- * hide idle ads in the ads list loaded from the AdSense server
522
- * don’t inject ads into content when ads are disabled on Secondary Queries (problem caused by Similar Posts plugin)
523
- * limited Edit-button in the frontend to ads with a container around them
524
- * fixed issue caused by browsers with a default ad blocker
525
- * fixed ad group filter on the ad overview page not appearing
526
- * fixed "Ad block counter" being needed to display ads for ad blockers
527
- * compatibility with the "Render Blocking JS" option of the WP Fastest Cache plugin
528
- * added clearfix option to fix possible layout issue with all types of AdSense responsive ads
529
- * use same URL field for Tracking and basic plugin
530
- * Sticky Ads: fixed incorrect centering when parent element begins lower
531
-
532
- = 1.10.12 =
533
-
534
- * added function that allows Advanced Ads Pro to prevent script optimizing plugins to break ad codes
535
- * fixed JS conflict for plain text ads using PHP or shortcodes
536
-
537
- = 1.10.11 =
538
-
539
- * added `advanced-ads-frontend-prefix` to adjust the frontend prefix dynamically
540
- * placement position set to center does cause selected ad to be placed to the left
541
- * fix ads within multiple groups not being saved
542
- * made compatible with improved cache-busting in Advanced Ads Pro 2.3
543
-
544
- = 1.10.10 =
545
-
546
- * new ad block works with WordPress 5.0
547
- * show hint when shortcode or PHP options are enabled, but not needed
548
- * fixed long group pages not being saved
549
-
550
- = 1.10.9 =
551
-
552
- * fixed AdSense Auto ads check in the Ad Health bar giving false positives
553
-
554
- = 1.10.8 =
555
-
556
- * show hint if Auto ads are enabled
557
- * allow responsive Adsense ads with custom sizes to be floated
558
- * show an advice if user does not have permissions to edit ads
559
- * fixed AdSense key overlay not accepting copy&paste in Safari and Firefox
560
-
561
- = 1.10.7 =
562
-
563
- * reverted code optimization that broke some forms
564
-
565
- = 1.10.6 =
566
-
567
- * fixed HTML issue with paragraph index when saving the placement page
568
-
569
- = 1.10.5 =
570
-
571
- * improved list of ads imported from AdSense account
572
- * use width and height ad settings for image ads if they differ from the entered sizes
573
- * added option column with shortcode to the ad list. It is optional. Go to "Screen Options" at the top right of the ad list page to enable it
574
- * show warning if AdSense Auto ads code is used in ad code field
575
- * added a warning if Advanced Ads constants are enabled
576
- * prevented possible JavaScript error created by the Privacy module
577
- * extended "Transparent Background" option for AdSense to fix a border they have in some themes
578
- * removed ad block counter code when not used
579
- * updated add-on updater class
580
- * added a warning about floated responsive AdSense ads
581
-
582
- = 1.10.4 =
583
-
584
- * fixed posts instead of ads showing up on the ad overview list caused by 15zine theme
585
- * fixed translation issue that caused Italian sites to not save ads properly
586
- * removed unneeded language files since they are now hosted on wp.org
587
-
588
- = 1.10.3 =
589
-
590
- * removed filter for paginated ad list since it was unintentionally broken by third-party plugins
591
- * fixed compatibility with Q2W3 Fixed Widget that gone missing with last update
592
-
593
- = 1.10.2 =
594
-
595
- * fixed issue with JNews theme which produced a widget ID that is blockable by ad blockers
596
- * fixed second page on ads overview showing the same results as the first
597
- * fixed issue that caused some items to vanish on admin pages without screen ID
598
-
599
- = 1.10.1 =
600
-
601
- * fixed issue caused by wrongly registered third party taxonomies
602
- * fixed conflict on ad list with plugins going an extra query, e.g., Elementor
603
- * added PHP version check to new AdSense connector (5.4)
604
-
605
- = 1.10 =
606
-
607
- * added AdSense integration
608
- * added sub menus to setting pages
609
- * added name to taxonomies in Display Conditions if the same label is repeated
610
- * added clearfix option to fix possible layout issue with AdSense responsive ads
611
- * removed title attribute from image ads
612
- * plugin update warning now only appears for Advanced Ads plugin and add-ons
613
- * rewritten filters on ad list to work with all ads not just those on the current page
614
- * allowed to create new placement with same name
615
- * fixed issue with license activations on sites using the Multilanguage by BestWebSoft plugin
616
- * fixed duplicate queries in backend
617
- * fixed possible conflict between assets created by the Ad Blocker module
618
- * WP Rocket: compatibility with the recent version of deferred JavaScript
619
-
620
- [Changelog Archive](https://wpadvancedads.com/codex/changelog-archive/)
621
-
622
- == Upgrade Notice ==
623
-
624
- = 1.15 =
625
-
626
- We have rewritten the content injection method. For the next weeks, new users opt in by default, existing ones need to opt in manually.
627
- As existing user, please enable the new content injection method under Advanced Ads > Settings > General > Content Injection > Use new injection logic.
628
-
629
- Please report any issues.
 
 
 
 
 
1
+ === Advanced Ads – Ad Manager & AdSense ===
2
+ Contributors: webzunft, advancedads
3
+ Tags: ads, ad manager, ad rotation, adsense, banner
4
+ Requires at least: 4.6
5
+ Tested up to: 5.3
6
+ Requires PHP: 5.6
7
+ Stable tag: 1.17.2
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ Manage and optimize your ads. All ad codes, Google AdSense Auto ads, ad widget, rotation, header and footer code injection, Google AdSense partner support
12
+
13
+ == Description ==
14
+
15
+ Are you looking for a simple ad manager plugin? These are the top arguments to use Advanced Ads:
16
+
17
+ * approved in 10 years of Publishing and Ad Optimization
18
+ * works with all ad types and networks, including Google AdSense, Google Ad Manager (DFP), Amazon ads, or media.net
19
+ * Google AdSense Partner
20
+ * most features to test and optimize ads
21
+ * unlimited ad units
22
+ * ads.txt support
23
+ * dedicated Gutenberg block for ads
24
+ * the only solution with *Ad Health* integration and Google AdSense violation checks
25
+ * best rated [free support](https://wordpress.org/support/plugin/advanced-ads)
26
+
27
+ This is what our users are saying about Advanced Ads:
28
+
29
+ > We use this plugin to deliver rotating ads on a community news site, and it’s great. Both feature-rich and reliable, your imagination is the limit when it comes to the product you want to create for your users. We’ve delivered over a million ad impressions since we launched less than a year ago, using a combination of sidebar, top, sticky and in-content placements — both HTML5 and images. Advanced Ads makes it easy for our small team to deliver a good experience to our users and our advertisers.
30
+ > mytown304 on wp.org
31
+
32
+ Would you like to know if there is a certain feature, what the optimized setup would be, or how to implement your client’s demands? Just [open a thread in the forum](https://wordpress.org/support/plugin/advanced-ads#new-post)!
33
+
34
+ Advanced Ads allowed us to grow from 0 to 100 MM monthly ad impressions. Benefit from our experience as a publisher and monetize your website today!
35
+
36
+ [Full Feature List](https://wpadvancedads.com/features/).
37
+
38
+ = ad management =
39
+
40
+ * create and display **unlimited** ad units
41
+ * rotate ads
42
+ * schedule ads and set start time and expiration date
43
+ * target ads by content and user groups
44
+ * inject ads into posts and pages automatically without coding
45
+ * sell ads on your website automatically with the [Selling Ads add-on](https://wpadvancedads.com/add-ons/selling-ads/)
46
+
47
+ = ad types =
48
+
49
+ choose between different ad types that enable you to:
50
+
51
+ * insert ads content and banners from all ad and affiliate networks (e.g., Google AdSense, Amazon, BuySellAds, Google Ad Manager, DoubleClick (DFP), Ezoic, media.net, Booking.com, Tradedoubler, Awin, Getyourguide, The Moneytizer...)
52
+ * dedicated support for all types of Google AdSense ads, including text and diplay ads, native ads (In-article, In-feed, matched content), link units (standard and responsive), Auto ads, and Auto ads for AMP
53
+ * display images and image banners
54
+ * create content-rich ads with the WordPress TinyMCE editor
55
+ * create Amazon ads with the Rich Content ad type and the [Amazon Associates Link Builder](https://wordpress.org/plugins/amazon-associates-link-builder/) or insert contextual Amazon Native Shopping Ads
56
+ * inject HTML, CSS, Javascript or PHP code
57
+ * use shortcodes within ads (to also deliver advertisements from another ad plugin like Ad Inserter, AdRotate, Quick AdSense, WP Bannerize, or the Google AdSense Plugin WP QUADS)
58
+
59
+ = display ads for WP =
60
+
61
+ * use functions to display ads in template files
62
+ * use shortcodes to place them manually in post content
63
+ * show ads in the sidebar and in widgets
64
+ * disable all ads on specific pages
65
+ * display multiple ads (ad blocks)
66
+ * display a customizable ad label, e.g., “Advertisements” above each banner ad
67
+
68
+ = display conditions =
69
+
70
+ show ads based on conditions like:
71
+
72
+ * individual posts, pages, and other post types
73
+ * posts by category, tags, taxonomies, author, and age
74
+ * archive pages by category, tags, taxonomies
75
+ * special page types like 404, attachment and front page
76
+ * hide ads on secondary queries (e.g., posts in sidebars)
77
+ * display or hide banners within the post feed
78
+ * hide all ads from specific page types, e.g., 404 pages, feed
79
+ * hide ads from bots and web crawlers
80
+
81
+ = visitor conditions =
82
+
83
+ serve ads by conditions based on the visitor. [List of all visitor conditions](https://wpadvancedads.com/manual/visitor-conditions/)
84
+
85
+ * display or hide a banner by device: mobile and tablet or desktop
86
+ * display or hide a banner by role and for logged-in visitors
87
+ * advanced visitor conditions: previously visited URL (referrer), user capability, browser language, browser and device, URL parameters included in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
88
+ * display ads by geolocation with the [Geo Targeting add-on](https://wpadvancedads.com/add-ons/geo-targeting/)
89
+ * display ads by browser width with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
90
+
91
+ > **Fantastic plugin and outstanding support**
92
+ > I tried at least three other ad plugins for WordPress and ‘Advanced Ads’ is by and far the best one. Last but not least in the support. The first port of call are a number of excellent tutorials. And finally the hands on support. I don’t quite know how he does it but the speed and depth of responses are absolutely amazing.
93
+ > djsawyer on wp.org
94
+
95
+ = ad injection | placements =
96
+
97
+ Placements to insert ads in pre-defined positions in your theme and content. [List of all placements](https://wpadvancedads.com/manual/placements/)
98
+
99
+ * ads after any given paragraph or headline
100
+ * ads at the top or bottom of the post content
101
+ * ads before closing `</head>` tag
102
+ * ads in the footer
103
+ * test placements against each other with [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/)
104
+ * many more ad positions with [add-ons](https://wpadvancedads.com/add-ons/)
105
+ * automatic insertion of any kind of code into header or footer, not only advertising
106
+
107
+ = mobile devices =
108
+
109
+ * display ads on mobile and tablets or desktop only
110
+ * display responsive image ads
111
+ * ads for specific browser sizes only using [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/)
112
+ * inserting ads on AMP pages with [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/)
113
+
114
+ = Google AdSense =
115
+
116
+ Amazing features of the most powerful and easy Google AdSense plugin.
117
+
118
+ * unlimited Google AdSense ads banners
119
+ * pull ad units directly from your Google AdSense account
120
+ * show AdSense revenue in WP Admin
121
+ * change settings of your Google AdSense ads directly from your WordPress backend
122
+ * supports all Google AdSense ad types, including Google AdSense display ads, link units, native ads like In-feed ads, In-article ads, matched content ads, Google AdSense Auto ads, and Google AdSense Auto ads for AMP
123
+ * change type and sizes of an ad without going into your Google AdSense account
124
+ * hide Google AdSense advertisements on 404 pages by default (to comply with Google AdSense terms)
125
+ * insert Google AdSense code for verification and AdSense Auto Ads (previously called Page-Level ads and QuickStart)
126
+ * disable Google Auto ads anchor ads at the top of the page
127
+ * easy Ad Health integration and Google AdSense violation checks
128
+ * option to make the Google AdSense background transparent
129
+ * place Google AdSense In-feed ads using the also free [In-feed add-on](https://wordpress.org/plugins/advanced-ads-adsense-in-feed/)
130
+ * assistant for exact sizes of responsive Google AdSense code with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
131
+ * convert Google AdSense ads into AMP ads automatically with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
132
+ * ads.txt generated with the correct AdSense information automatically
133
+ * works along Google Site Kit or can replace if it you want to [control your ad placements](https://wpadvancedads.com/place-adsense-ad-unit-manually/)
134
+
135
+ Like j4ckson185, there are thousands of happy AdSense users:
136
+
137
+ > Your app is awesome, congratulations! Google Adsense suggests using your app on its official website, it’s incredible!
138
+
139
+ = ads.txt =
140
+
141
+ * generates ads.txt with custom content
142
+ * adds the content for AdSense to the ads.txt automatically
143
+
144
+ (available with WordPress 5.1)
145
+
146
+ https://vimeo.com/299410390
147
+
148
+ = ad blocker =
149
+
150
+ * basic features to prevent ad units from being removed by AdBlock and others
151
+ * prevent ad blockers from breaking sites where plugin scripts are running
152
+ * ad blocking detection: show alternative content to ad block users with [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/) and improve the monetization of your website
153
+
154
+ Learn more on the [plugin homepage](https://wpadvancedads.com).
155
+
156
+ Thank you for motivating us with your [positive review](https://wordpress.org/support/plugin/advanced-ads/reviews/?rate=5#new-post).
157
+
158
+ Localizations: Czech, Dutch, English, French, German, Italian, Japanese, Norwegian, Portuguese, Slovak, Spanish, Turkish, Vietnamese, Polish, Chinese (Taiwan)
159
+
160
+ > <strong>Add-Ons</strong>
161
+ >
162
+ > * all add-ons include priority email support
163
+ > * [Advanced Ads Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/) – powerful tools for ad optimizations: cache-busting, more placements, lazy load, ad blocker module, click fraud, and more
164
+ > * [Geo Targeting](https://wpadvancedads.com/add-ons/geo-targeting/) – display ads based on geo location of the visitor
165
+ > * [Tracking](https://wpadvancedads.com/add-ons/tracking/) – ad tracking and statistics
166
+ > * [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/) – create mobile ads or ads for specific browser sizes and ads on AMP
167
+ > * [Sticky Ads](https://wpadvancedads.com/add-ons/sticky-ads/) – increase click rates with fixed, sticky, and anchor ads
168
+ > * [PopUp and Layer Ads](https://wpadvancedads.com/add-ons/popup-and-layer-ads/) – display ads and other content in layers and popups
169
+ > * [Selling Ads](https://wpadvancedads.com/add-ons/selling-ads/) - allows you to sell ads on your website fully automated, including payments and advertiser profiles.
170
+ > * [Slider](https://wpadvancedads.com/add-ons/slider/) – create a simple slider from your ads
171
+
172
+ If you have problems with Advanced Ads, please reach out to [our support](https://wordpress.org/support/plugin/advanced-ads).
173
+
174
+ == Installation ==
175
+
176
+ How to install the plugin and get it working?
177
+
178
+ = Using The WordPress Dashboard =
179
+
180
+ 1. Navigate to the 'Add New' in the plugins dashboard
181
+ 2. Search for 'advanced ads'
182
+ 3. Click 'Install Now'
183
+ 4. Activate Advanced Ads on the Plugin dashboard
184
+
185
+ = Uploading in WordPress Dashboard =
186
+
187
+ 1. Navigate to the 'Add New' in the plugins dashboard
188
+ 2. Navigate to the 'Upload' area
189
+ 3. Select `advanced-ads.zip` from your computer
190
+ 4. Click 'Install Now'
191
+ 5. Activate Advanced Ads in the Plugin dashboard
192
+
193
+ = Using FTP =
194
+
195
+ 1. Download `advanced-ads.zip`
196
+ 2. Extract the `advanced-ads` directory to your computer
197
+ 3. Upload the `advanced-ads` directory to the `/wp-content/plugins/` directory
198
+ 4. Activate Advanced Ads in the Plugin dashboard
199
+
200
+ == Frequently Asked Questions ==
201
+
202
+ = How to put ads on WordPress? =
203
+
204
+ You can use Advanced Ads to insert ads into your WordPress site without any coding.
205
+
206
+ To get started, just take a look at
207
+
208
+ * the [general first ad tutorial](https://wpadvancedads.com/manual/first-ad/)
209
+ * using [AdSense Auto ads](https://wpadvancedads.com/adsense-auto-ads-wordpress/) in WordPress
210
+ * the [AdSense overview page](https://wpadvancedads.com/adsense-ads).
211
+ * Ads not showing up? Take a look [here](https://wpadvancedads.com/manual/ads-not-showing-up).
212
+
213
+ = What about my users’ privacy and GDPR? =
214
+
215
+ You can show ads only to visitors that give their consent. See [GDPR support](https://wpadvancedads.com/manual/ad-cookie-consent/).
216
+
217
+ Advanced Ads itself does neither save personal information (e.g., an IP address) in your database nor cookies in the visitor’s browser.
218
+
219
+ Third party services like Google Analytics are disabled by default.
220
+
221
+ You can learn more about how Advanced Ads and its add-ons handles data and privacy of your visitors [on this page](https://wpadvancedads.com/manual/privacy-information-for-users/).
222
+
223
+ = Which ad networks are supported? =
224
+
225
+ Advanced Ads is compatible with all ad networks and banners from affiliate programs like Google AdSense, Chitika, Clickbank, Amazon, and also Google Ad Manager (Google Double Click, DFP), media.net.
226
+
227
+ You can also use it to insert additional ad network tags into header or footer of your site without coding.
228
+
229
+ AdSense has even a dedicated ad type leveling the specific options this ad network provides.
230
+
231
+ = PHP functions and shortcodes =
232
+
233
+ You can use functions and shortcodes to display ads and ad groups.
234
+
235
+ The integers in this example are the IDs of the elements.
236
+
237
+ Use these shortcodes to insert an ad or group into your post/page.
238
+
239
+ `[the_ad id="24"]`
240
+ `[the_ad_group id="5"]`
241
+
242
+ Use these functions to insert an ad or ad group into your template file.
243
+
244
+ `<?php the_ad(24); ?>`
245
+ `<?php the_ad_group(5); ?>`
246
+
247
+ In addition to directly displaying ads and groups you can define ad placements and assign either an ad or group to them.
248
+
249
+ `[the_ad_placement id="header-left"]`
250
+ `<?php the_ad_placement('header-left'); ?>`
251
+
252
+ = Is there a revenue share? =
253
+
254
+ There is no revenue share. Advanced Ads doesn’t alter your ad codes in a way that you earn less than you would directly including the ad code in your template.
255
+
256
+ = Can I place ads directly in my theme files? =
257
+
258
+ Yes. I would add a "Manual" placement into your theme files. It would allow you to change the displayed ads or groups later without changing your code again.
259
+
260
+ = Does it work with other ad plugins? =
261
+
262
+ Yes. Advanced Ads can be combined with other ad plugins.
263
+ Just use their shortcodes in our "Rich Media" ad type to combine both features.
264
+ Works with AdRotate, Ad Inserter, Ad Injection, Quick AdSense, Quick AdSense Reloaded (WPQUADS), Simple Ads Manager, and other plugins.
265
+ Advanced Ads can be used along Google Site Kit or replace it if you need more control over your ad setup.
266
+
267
+ = Can I use Flash ads? =
268
+
269
+ There is a dedicated Flash ad type in [Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/).
270
+
271
+ = Is the plugin compatible with page builders? =
272
+
273
+ Yes. It works out of the box with all site builders that allow shortcodes or widgets, like Elementor, SiteOrigin, Beaver Builder, WPBakery Page Builder (formerly Visual Composer), [Nimble Page Builder](https://wordpress.org/plugins/nimble-builder/), and others.
274
+ There is also a [free add-on to support the WPBakery Page Builder (formerly Visual Composer)](https://wordpress.org/plugins/ads-for-visual-composer/).
275
+
276
+ = Will ads show up for ad block users? =
277
+
278
+ Visitors who have any ad blocker (e.g., AdBlock Plus) enabled won’t see ads from known external sources (e.g., AdSense).
279
+ You can still monetize those spots with custom content.
280
+
281
+ Read more about ad blockers and the features Advanced Ads has to deal with them [on this page](https://wpadvancedads.com/manual/ad-blockers/).
282
+
283
+ = Does the plugin support an ads.txt? =
284
+
285
+ Google AdSense and some other networks ask you to provide an ads.txt.
286
+ Advanced Ads can create that file automatically with the correct information for AdSense, when you enable the ads.txt feature in Advanced Ads > Settings > General > ads.txt and enter your AdSense publisher ID in Advanced Ads > Settings > AdSense.
287
+
288
+ = I am a developer. Can I customize the plugin? =
289
+
290
+ Yes. Advanced Ads is based on WordPress standards and therefore easily customizable using either WordPress hooks or the ones we defined [here](https://wpadvancedads.com/codex/).
291
+
292
+ == Screenshots ==
293
+
294
+ 1. Placements that let you inject ads anywhere into your site without coding (7 in Advanced Ads + 14 through add-ons).
295
+ 2. Support for all kinds of ad types, including dedicated AdSense type. AMP is included in the Responsive add-on.
296
+ 3. Flexible ad input with the Plain Text ad type and code highlighting.
297
+ 4. Align your ads within the content.
298
+ 5. Dynamically change AdSense ad options in your WordPress backend.
299
+ 6. Choose where to display your ads using many conditions.
300
+ 7. Use various conditions to choose who should see ads (basic plugin and more in add-ons).
301
+ 8. See AdSense earnings in your WP Backend
302
+ 9. Track impressions and clicks (Tracking add-on).
303
+ 10. Convert AdSense ads into AMP automatically (Responsive add-on)
304
+
305
+ == Changelog ==
306
+
307
+ = 1.17.2 =
308
+
309
+ * replaced autoloader
310
+ * fixed an issue where an expired ad removed HTML in the ad code
311
+
312
+ = 1.17.1 =
313
+
314
+ * fixed failing upload of new image ads
315
+ * fixed Google Ad Manager debug link also showing up when other Google Publisher Tags are used
316
+
317
+ = 1.17 =
318
+
319
+ * improved AdSense ad unit list coming from the AdSense API
320
+ * improved "highlight ads" option in Ad Health
321
+ * show notice if AJAX calls are broken
322
+ * added `com.pl` as exception for placing ads.txt files in subdomains
323
+ * removed placeholder for AdSense ads in the Customizer and Elementor editor
324
+ * fix for WP Smush lazy load preventing image ads from showing at all
325
+
326
+ = 1.16.1 =
327
+
328
+ * fixed JavaScript that broke privacy module check in the frontend
329
+ * allow to change size of AdSense ads loaded from the AdSense account
330
+
331
+ = 1.16 =
332
+
333
+ * moved all users to the new content injection logic and removed opt-out option
334
+ * use new Auto ads code for everyone who didn’t enable the "Disable top anchor ads" option
335
+ * hide "Disable top anchor ads" option to users who didn’t enable it
336
+ * the Ad Admin user role can now also save the plugin settings
337
+ * hide Wizard for existing ads
338
+ * removed warning about WP Autoterms plugin after a fix by the plugin authors
339
+ * some work for Conditions to improve compatibility with an upcoming Pro feature
340
+ * fixed multiple wrappers occurred as result of using nested ads
341
+ * fixed missing index issue on 404 pages for logged-in admins
342
+ * fixed AJAX/PHP error 403 on Settings page
343
+ * fixed layout issue that happened when "If>So Dynamic Content" plugin was active
344
+ * prevented Ad label from taking height of fixed sized AdSense ads
345
+
346
+ = 1.15 =
347
+
348
+ * please enable the new content injection method under Advanced Ads > Settings > General > Content Injection > Use new injection logic
349
+ * rewritten content injection to prevent HTML markup modifications
350
+ * rewritten code for Display and Visitor Condition form fields on ad edit pages
351
+ * allow to replace existing ads.txt file with the option provided by Advanced Ads
352
+ * prevented duplicated SQL query when a group contains no ads
353
+ * added warning for WP AutoTerms plugin, which prevents ads from showing on category archive pages
354
+
355
+ = 1.14.11 =
356
+
357
+ * moved placement form above the list of existing placements
358
+ * made "ads.txt" file available before the Settings page is saved
359
+ * removed leading and trailing spaces from privacy options to prevent accidental misconfiguration
360
+ * implementing coding standards in a few backend files
361
+ * fixed welcome panel not showing up
362
+ * fix for plugins using the "pre_option_upload_path" or "pre_option_upload_url_path" filters
363
+
364
+ = 1.14.10 =
365
+
366
+ * creating unique slugs for the ad post type in order to prevent conflicts like found with Beaver Builder
367
+ * added option to disable AdSense stats in the backend
368
+ * fixed conflicts when $ (jQuery) was not available
369
+ * fixed potential JS conflict in Wizard script
370
+ * added a warning suggesting to install "dom" extension in order to use "Content" placement
371
+
372
+ = 1.14.9 =
373
+
374
+ * fixed deprecated notices causing a warning
375
+ * fixed possible missing class error
376
+ * replaced AdSense in widgets with dummy ads on Elementor preview pages to prevent issues
377
+ * removed unneeded warning about early called `advads_is_amp` function
378
+
379
+ = 1.14.8 =
380
+
381
+ * replaced AdSense with dummy ads on Customizer and Elementor preview pages to prevent issues
382
+ * make text fields in Advanced Ads settings fully resizable
383
+ * removed unneeded ads.txt warning on com.br domains
384
+
385
+ = 1.14.7 =
386
+
387
+ * allow "Footer code" and "Sidebar Widget" placements on AMP pages created by the official AMP plugin
388
+ * prevented AMP warnings on XMLRPC requests
389
+ * removed unused debug function
390
+
391
+ = 1.14.6 =
392
+
393
+ * fixed frontend issue showing for admins if the HEAD placement is used
394
+
395
+ = 1.14.5 =
396
+
397
+ * sanitize Container ID option on save and warn about wrong format
398
+ * made Placements page work when another plugin includes Twitter Bootstrap
399
+ * updated missing ads.txt warning
400
+ * disabled Privacy module on AMP pages so that the Google AMP cache shows them
401
+ * fixed warnings for some features on AMP pages
402
+ * fixed suggestion to switch Auto ads code in plain text ad type to AdSense ad type
403
+
404
+ = 1.14.4 =
405
+
406
+ * fixed JavaScript issue on ad edit pages
407
+
408
+ = 1.14.3 =
409
+
410
+ * allow adding ads to newsletter emails created in MailPoet using the shortcode `[custom:ad:AD_ID]` in the email template
411
+ * prevented error when Piklist plugin is used
412
+ * fixed JS error on post edit pages that had no real consequences
413
+ * minor fixes to licensing settings (Pro only)
414
+
415
+ = 1.14.2 =
416
+
417
+ * preparations for [Advanced Ads Pro](https://wpadvancedads.com/add-ons/advanced-ads-pro/) 2.4.2
418
+ * fixed time zone difference in AdSense reporting
419
+ * fixed script dependency in the backend
420
+
421
+ = 1.14.1 =
422
+
423
+ * fixed issue with PHP 5.2 (please update to PHP 5.6.20 since it is the minimum requirement of WordPress)
424
+ * fixed potential conflict with ClassiPress ad categories
425
+ * prevented user interface from looking broken when Twitter Bootstrap is added by another source
426
+
427
+ = 1.14 =
428
+
429
+ * rewrite of AdSense code logic. Please reach out through https://wpadvancedads.com/support/ if you discover any issues
430
+ * show AdSense revenue in WP Admin
431
+ * removed parent ad group option since it was never used by Advanced Ads
432
+ * made newly installed Advanced Ads work correctly with Q2W3 Fixed Widget
433
+
434
+ = 1.13.8 =
435
+
436
+ * prevented warning about missing ads.txt file when the file exists
437
+ * added a hint about solving ads.txt issue on WP Engine platform
438
+ * allow to translate Ad Label option if WPML String Translation is used
439
+ * fixed Ad Health notices showing also ignored issues when adding a new notice
440
+ * inject ads in the outermost `the_content` when they may have been injected in an inner `the_content`
441
+ * added chain of nested `the_content` filters to `debug.log` to allow reasoning about possible issues
442
+
443
+ = 1.13.7 =
444
+
445
+ * set `ADVANCED_ADS_DISABLE_EDIT_BAR` to disable frontend edit bar
446
+ * set better default data for new AdSense ads
447
+ * when `the_content` filters are nested, use the outermost one to inject ads
448
+ * hide certain notices for a longer period even if they stay valid
449
+ * removed notice about plugin updates since WP 5.2 handles this now
450
+ * removed notice about website being hosted on wp.com
451
+ * honor "Hide ads for user roles" and "Hide ads from bots" settings when displaying AdSense verification code & Auto ads
452
+ * prevented some attachment pages containing ads from being indexed
453
+
454
+ = 1.13.6 =
455
+
456
+ * fixed missing index issue raised when Tracking settings never were saved
457
+
458
+ = 1.13.5 =
459
+
460
+ * option to hide ads by user role does now show all registered roles
461
+ * prevented possible JavaScript error in Ad Health
462
+ * updated minimum PHP version check to warn below PHP 5.6.20
463
+ * exclude LiteSpeed Cache bot from bot detection
464
+ * fixed Ad Health notices with invalid ID
465
+
466
+ = 1.13.4 =
467
+
468
+ * improved compatibility with WPML
469
+ * improved errors given when no ad units were found in the AdSense account
470
+ * improved UI when hiding ad health notices
471
+ * fixed issue when logging the AdSense Hidden problem
472
+ * fixed issue on ad filter list when two terms with the same slug exist
473
+ * fixed unlikely case of an SQL error on ad overview page
474
+ * fixed issue with Ad Health bar in frontend when jQuery was not found
475
+ * added a link to ads.txt settings from AdSense warning about missing ads.txt file
476
+ * removed unneeded ads.txt warning on com.au domains
477
+
478
+ = 1.13.3 =
479
+
480
+ * added link to get help in some error notices
481
+ * fixed error caused by ads.txt module on multisites that use WordPress lower then 5.1
482
+ * fixed compatibility with Gutenberg plugin
483
+
484
+ = 1.13.2 =
485
+
486
+ * added AdSense ad slot ID to "AdSense hidden" warning
487
+ * improved ads.txt test for existing files and other problems
488
+ * fixed broken link preventing the Privacy settings from working
489
+
490
+ = 1.13.1 =
491
+
492
+ * fixed issue with PHP 7.1 and higher
493
+
494
+ = 1.13 =
495
+
496
+ * added support for 'ads.txt'
497
+ * added option to disable Google Auto ads anchor ads at the top of the page
498
+ * prevented attachment content from being shown next to Rich Content ads on attachment pages
499
+ * allow to hide "Ads are disabled" warning
500
+ * added AdSense connection errors to notifications
501
+ * remove hidden notices if resolved
502
+ * load notices box without JavaScript
503
+ * stop content injection into wp_router pages when ads are disabled on secondary queries
504
+ * introduced `advanced-ads-max-ad-weight` filter to allow manipulating the available ad weight
505
+
506
+ = 1.12 =
507
+
508
+ * new ad health notification logic in WP Admin to show notifications and critical issues at one place
509
+ * disable Ad Health in frontend and backend using the existing "Disable Notices" option, now called "Disable Ad Health and other notices"
510
+ * prevented ad injection into excerpts
511
+ * reordered settings page
512
+
513
+ = 1.11.2 =
514
+
515
+ * removed "Limit to 3 AdSense ads" option for users who don‘t have it enabled since AdSense no longer has such a rule
516
+ * fixed filtering by ad groups on the ad list
517
+ * hide ad blocker checking code when not needed
518
+
519
+ = 1.11.1 =
520
+
521
+ * fixed AdSense code field not working if AdSense connection is missing
522
+
523
+ = 1.11 =
524
+
525
+ * improved the AdSense onboarding process
526
+ * hide idle ads in the ads list loaded from the AdSense server
527
+ * don’t inject ads into content when ads are disabled on Secondary Queries (problem caused by Similar Posts plugin)
528
+ * limited Edit-button in the frontend to ads with a container around them
529
+ * fixed issue caused by browsers with a default ad blocker
530
+ * fixed ad group filter on the ad overview page not appearing
531
+ * fixed "Ad block counter" being needed to display ads for ad blockers
532
+ * compatibility with the "Render Blocking JS" option of the WP Fastest Cache plugin
533
+ * added clearfix option to fix possible layout issue with all types of AdSense responsive ads
534
+ * use same URL field for Tracking and basic plugin
535
+ * Sticky Ads: fixed incorrect centering when parent element begins lower
536
+
537
+ = 1.10.12 =
538
+
539
+ * added function that allows Advanced Ads Pro to prevent script optimizing plugins to break ad codes
540
+ * fixed JS conflict for plain text ads using PHP or shortcodes
541
+
542
+ = 1.10.11 =
543
+
544
+ * added `advanced-ads-frontend-prefix` to adjust the frontend prefix dynamically
545
+ * placement position set to center does cause selected ad to be placed to the left
546
+ * fix ads within multiple groups not being saved
547
+ * made compatible with improved cache-busting in Advanced Ads Pro 2.3
548
+
549
+ = 1.10.10 =
550
+
551
+ * new ad block works with WordPress 5.0
552
+ * show hint when shortcode or PHP options are enabled, but not needed
553
+ * fixed long group pages not being saved
554
+
555
+ = 1.10.9 =
556
+
557
+ * fixed AdSense Auto ads check in the Ad Health bar giving false positives
558
+
559
+ = 1.10.8 =
560
+
561
+ * show hint if Auto ads are enabled
562
+ * allow responsive Adsense ads with custom sizes to be floated
563
+ * show an advice if user does not have permissions to edit ads
564
+ * fixed AdSense key overlay not accepting copy&paste in Safari and Firefox
565
+
566
+ = 1.10.7 =
567
+
568
+ * reverted code optimization that broke some forms
569
+
570
+ = 1.10.6 =
571
+
572
+ * fixed HTML issue with paragraph index when saving the placement page
573
+
574
+ = 1.10.5 =
575
+
576
+ * improved list of ads imported from AdSense account
577
+ * use width and height ad settings for image ads if they differ from the entered sizes
578
+ * added option column with shortcode to the ad list. It is optional. Go to "Screen Options" at the top right of the ad list page to enable it
579
+ * show warning if AdSense Auto ads code is used in ad code field
580
+ * added a warning if Advanced Ads constants are enabled
581
+ * prevented possible JavaScript error created by the Privacy module
582
+ * extended "Transparent Background" option for AdSense to fix a border they have in some themes
583
+ * removed ad block counter code when not used
584
+ * updated add-on updater class
585
+ * added a warning about floated responsive AdSense ads
586
+
587
+ = 1.10.4 =
588
+
589
+ * fixed posts instead of ads showing up on the ad overview list caused by 15zine theme
590
+ * fixed translation issue that caused Italian sites to not save ads properly
591
+ * removed unneeded language files since they are now hosted on wp.org
592
+
593
+ = 1.10.3 =
594
+
595
+ * removed filter for paginated ad list since it was unintentionally broken by third-party plugins
596
+ * fixed compatibility with Q2W3 Fixed Widget that gone missing with last update
597
+
598
+ = 1.10.2 =
599
+
600
+ * fixed issue with JNews theme which produced a widget ID that is blockable by ad blockers
601
+ * fixed second page on ads overview showing the same results as the first
602
+ * fixed issue that caused some items to vanish on admin pages without screen ID
603
+
604
+ = 1.10.1 =
605
+
606
+ * fixed issue caused by wrongly registered third party taxonomies
607
+ * fixed conflict on ad list with plugins going an extra query, e.g., Elementor
608
+ * added PHP version check to new AdSense connector (5.4)
609
+
610
+ = 1.10 =
611
+
612
+ * added AdSense integration
613
+ * added sub menus to setting pages
614
+ * added name to taxonomies in Display Conditions if the same label is repeated
615
+ * added clearfix option to fix possible layout issue with AdSense responsive ads
616
+ * removed title attribute from image ads
617
+ * plugin update warning now only appears for Advanced Ads plugin and add-ons
618
+ * rewritten filters on ad list to work with all ads not just those on the current page
619
+ * allowed to create new placement with same name
620
+ * fixed issue with license activations on sites using the Multilanguage by BestWebSoft plugin
621
+ * fixed duplicate queries in backend
622
+ * fixed possible conflict between assets created by the Ad Blocker module
623
+ * WP Rocket: compatibility with the recent version of deferred JavaScript
624
+
625
+ [Changelog Archive](https://wpadvancedads.com/codex/changelog-archive/)
626
+
627
+ == Upgrade Notice ==
628
+
629
+ = 1.15 =
630
+
631
+ We have rewritten the content injection method. For the next weeks, new users opt in by default, existing ones need to opt in manually.
632
+ As existing user, please enable the new content injection method under Advanced Ads > Settings > General > Content Injection > Use new injection logic.
633
+
634
+ Please report any issues.
vendor/autoload_52.php DELETED
@@ -1,7 +0,0 @@
1
- <?php
2
-
3
- // autoload_52.php generated by xrstf/composer-php52
4
-
5
- require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
-
7
- return ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be::getLoader();
 
 
 
 
 
 
 
vendor/composer/ClassLoader52.php DELETED
@@ -1,271 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
4
- *
5
- * This file is released under the terms of the MIT license. You can find the
6
- * complete text in the attached LICENSE file or online at:
7
- *
8
- * http://www.opensource.org/licenses/mit-license.php
9
- *
10
- * --------------------------------------------------------------------------
11
- *
12
- * 99% of this is copied as-is from the original Composer source code and is
13
- * released under MIT license as well. Copyright goes to:
14
- *
15
- * - Fabien Potencier <fabien@symfony.com>
16
- * - Jordi Boggiano <j.boggiano@seld.be>
17
- */
18
-
19
- class xrstf_Composer52_ClassLoader {
20
- private $prefixes = array();
21
- private $fallbackDirs = array();
22
- private $useIncludePath = false;
23
- private $classMap = array();
24
- private $classMapAuthoratative = false;
25
- private $allowUnderscore = false;
26
-
27
- /**
28
- * @param boolean $flag true to allow class names with a leading underscore, false to disable
29
- */
30
- public function setAllowUnderscore($flag) {
31
- $this->allowUnderscore = (boolean) $flag;
32
- }
33
-
34
- /**
35
- * @return array
36
- */
37
- public function getPrefixes() {
38
- return $this->prefixes;
39
- }
40
-
41
- /**
42
- * Turns off searching the prefix and fallback directories for classes
43
- * that have not been registered with the class map.
44
- *
45
- * @param bool $classMapAuthoratative
46
- */
47
- public function setClassMapAuthoritative($classMapAuthoratative) {
48
- $this->classMapAuthoratative = $classMapAuthoratative;
49
- }
50
-
51
- /**
52
- * Should class lookup fail if not found in the current class map?
53
- *
54
- * @return bool
55
- */
56
- public function getClassMapAuthoratative() {
57
- return $this->classMapAuthoratative;
58
- }
59
-
60
- /**
61
- * @return array
62
- */
63
- public function getFallbackDirs() {
64
- return $this->fallbackDirs;
65
- }
66
-
67
- /**
68
- * @return array
69
- */
70
- public function getClassMap() {
71
- return $this->classMap;
72
- }
73
-
74
- /**
75
- * @param array $classMap class to filename map
76
- */
77
- public function addClassMap(array $classMap) {
78
- if ($this->classMap) {
79
- $this->classMap = array_merge($this->classMap, $classMap);
80
- }
81
- else {
82
- $this->classMap = $classMap;
83
- }
84
- }
85
-
86
- /**
87
- * Registers a set of classes, merging with any others previously set.
88
- *
89
- * @param string $prefix the classes prefix
90
- * @param array|string $paths the location(s) of the classes
91
- * @param bool $prepend prepend the location(s)
92
- */
93
- public function add($prefix, $paths, $prepend = false) {
94
- if (!$prefix) {
95
- if ($prepend) {
96
- $this->fallbackDirs = array_merge(
97
- (array) $paths,
98
- $this->fallbackDirs
99
- );
100
- }
101
- else {
102
- $this->fallbackDirs = array_merge(
103
- $this->fallbackDirs,
104
- (array) $paths
105
- );
106
- }
107
-
108
- return;
109
- }
110
-
111
- if (!isset($this->prefixes[$prefix])) {
112
- $this->prefixes[$prefix] = (array) $paths;
113
- return;
114
- }
115
-
116
- if ($prepend) {
117
- $this->prefixes[$prefix] = array_merge(
118
- (array) $paths,
119
- $this->prefixes[$prefix]
120
- );
121
- }
122
- else {
123
- $this->prefixes[$prefix] = array_merge(
124
- $this->prefixes[$prefix],
125
- (array) $paths
126
- );
127
- }
128
- }
129
-
130
- /**
131
- * Registers a set of classes, replacing any others previously set.
132
- *
133
- * @param string $prefix the classes prefix
134
- * @param array|string $paths the location(s) of the classes
135
- */
136
- public function set($prefix, $paths) {
137
- if (!$prefix) {
138
- $this->fallbackDirs = (array) $paths;
139
- return;
140
- }
141
-
142
- $this->prefixes[$prefix] = (array) $paths;
143
- }
144
-
145
- /**
146
- * Turns on searching the include path for class files.
147
- *
148
- * @param bool $useIncludePath
149
- */
150
- public function setUseIncludePath($useIncludePath) {
151
- $this->useIncludePath = $useIncludePath;
152
- }
153
-
154
- /**
155
- * Can be used to check if the autoloader uses the include path to check
156
- * for classes.
157
- *
158
- * @return bool
159
- */
160
- public function getUseIncludePath() {
161
- return $this->useIncludePath;
162
- }
163
-
164
- /**
165
- * Registers this instance as an autoloader.
166
- */
167
- public function register() {
168
- spl_autoload_register(array($this, 'loadClass'), true);
169
- }
170
-
171
- /**
172
- * Unregisters this instance as an autoloader.
173
- */
174
- public function unregister() {
175
- spl_autoload_unregister(array($this, 'loadClass'));
176
- }
177
-
178
- /**
179
- * Loads the given class or interface.
180
- *
181
- * @param string $class the name of the class
182
- * @return bool|null true, if loaded
183
- */
184
- public function loadClass($class) {
185
- if ($file = $this->findFile($class)) {
186
- include $file;
187
- return true;
188
- }
189
- }
190
-
191
- /**
192
- * Finds the path to the file where the class is defined.
193
- *
194
- * @param string $class the name of the class
195
- * @return string|null the path, if found
196
- */
197
- public function findFile($class) {
198
- if ('\\' === $class[0]) {
199
- $class = substr($class, 1);
200
- }
201
-
202
- if (isset($this->classMap[$class])) {
203
- return $this->classMap[$class];
204
- }
205
- elseif ($this->classMapAuthoratative) {
206
- return false;
207
- }
208
-
209
- $classPath = $this->getClassPath($class);
210
-
211
- foreach ($this->prefixes as $prefix => $dirs) {
212
- if (0 === strpos($class, $prefix)) {
213
- foreach ($dirs as $dir) {
214
- if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
215
- return $dir.DIRECTORY_SEPARATOR.$classPath;
216
- }
217
- }
218
- }
219
- }
220
-
221
- foreach ($this->fallbackDirs as $dir) {
222
- if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
223
- return $dir.DIRECTORY_SEPARATOR.$classPath;
224
- }
225
- }
226
-
227
- if ($this->useIncludePath && $file = self::resolveIncludePath($classPath)) {
228
- return $file;
229
- }
230
-
231
- return $this->classMap[$class] = false;
232
- }
233
-
234
- private function getClassPath($class) {
235
- if (false !== $pos = strrpos($class, '\\')) {
236
- // namespaced class name
237
- $classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
238
- $className = substr($class, $pos + 1);
239
- }
240
- else {
241
- // PEAR-like class name
242
- $classPath = null;
243
- $className = $class;
244
- }
245
-
246
- $className = str_replace('_', DIRECTORY_SEPARATOR, $className);
247
-
248
- // restore the prefix
249
- if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) {
250
- $className[0] = '_';
251
- }
252
-
253
- $classPath .= $className.'.php';
254
-
255
- return $classPath;
256
- }
257
-
258
- public static function resolveIncludePath($classPath) {
259
- $paths = explode(PATH_SEPARATOR, get_include_path());
260
-
261
- foreach ($paths as $path) {
262
- $path = rtrim($path, '/\\');
263
-
264
- if ($file = file_exists($path.DIRECTORY_SEPARATOR.$file)) {
265
- return $file;
266
- }
267
- }
268
-
269
- return false;
270
- }
271
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/LICENSE DELETED
@@ -1,21 +0,0 @@
1
-
2
- Copyright (c) Nils Adermann, Jordi Boggiano
3
-
4
- Permission is hereby granted, free of charge, to any person obtaining a copy
5
- of this software and associated documentation files (the "Software"), to deal
6
- in the Software without restriction, including without limitation the rights
7
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the Software is furnished
9
- to do so, subject to the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be included in all
12
- copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
- THE SOFTWARE.
21
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/autoload_classmap.php DELETED
@@ -1,147 +0,0 @@
1
- <?php
2
-
3
- // autoload_classmap.php @generated by Composer
4
-
5
- $vendorDir = dirname(dirname(__FILE__));
6
- $baseDir = dirname($vendorDir);
7
-
8
- return array(
9
- 'ADVADS_SL_Plugin_Updater' => $baseDir . '/classes/EDD_SL_Plugin_Updater.php',
10
- 'Advads_Ad' => $baseDir . '/classes/ad.php',
11
- 'Advanced_Ads' => $baseDir . '/public/class-advanced-ads.php',
12
- 'Advanced_Ads_Ad' => $baseDir . '/classes/ad.php',
13
- 'Advanced_Ads_Ad_Ajax_Callbacks' => $baseDir . '/classes/ad_ajax_callbacks.php',
14
- 'Advanced_Ads_Ad_Debug' => $baseDir . '/classes/ad-debug.php',
15
- 'Advanced_Ads_Ad_Health_Notices' => $baseDir . '/classes/ad-health-notices.php',
16
- 'Advanced_Ads_Ad_List_Filters' => $baseDir . '/admin/includes/class-list-filters.php',
17
- 'Advanced_Ads_Ad_Network' => $baseDir . '/admin/includes/class-ad-network.php',
18
- 'Advanced_Ads_Ad_Network_Ad_Importer' => $baseDir . '/admin/includes/class-ad-network-ad-importer.php',
19
- 'Advanced_Ads_Ad_Network_Ad_Unit' => $baseDir . '/admin/includes/class-ad-network-ad-unit.php',
20
- 'Advanced_Ads_Ad_Type_Abstract' => $baseDir . '/classes/ad_type_abstract.php',
21
- 'Advanced_Ads_Ad_Type_Content' => $baseDir . '/classes/ad_type_content.php',
22
- 'Advanced_Ads_Ad_Type_Dummy' => $baseDir . '/classes/ad_type_dummy.php',
23
- 'Advanced_Ads_Ad_Type_Group' => $baseDir . '/classes/ad_type_group.php',
24
- 'Advanced_Ads_Ad_Type_Image' => $baseDir . '/classes/ad_type_image.php',
25
- 'Advanced_Ads_Ad_Type_Plain' => $baseDir . '/classes/ad_type_plain.php',
26
- 'Advanced_Ads_Admin' => $baseDir . '/admin/class-advanced-ads-admin.php',
27
- 'Advanced_Ads_Admin_Ad_Type' => $baseDir . '/admin/includes/class-ad-type.php',
28
- 'Advanced_Ads_Admin_Licenses' => $baseDir . '/admin/includes/class-licenses.php',
29
- 'Advanced_Ads_Admin_Menu' => $baseDir . '/admin/includes/class-menu.php',
30
- 'Advanced_Ads_Admin_Meta_Boxes' => $baseDir . '/admin/includes/class-meta-box.php',
31
- 'Advanced_Ads_Admin_Notices' => $baseDir . '/admin/includes/class-notices.php',
32
- 'Advanced_Ads_Admin_Options' => $baseDir . '/admin/includes/class-options.php',
33
- 'Advanced_Ads_Admin_Settings' => $baseDir . '/admin/includes/class-settings.php',
34
- 'Advanced_Ads_Ajax' => $baseDir . '/classes/ad-ajax.php',
35
- 'Advanced_Ads_Checks' => $baseDir . '/classes/checks.php',
36
- 'Advanced_Ads_Compatibility' => $baseDir . '/classes/compatibility.php',
37
- 'Advanced_Ads_Display_Conditions' => $baseDir . '/classes/display-conditions.php',
38
- 'Advanced_Ads_Filesystem' => $baseDir . '/classes/filesystem.php',
39
- 'Advanced_Ads_Frontend_Checks' => $baseDir . '/classes/frontend_checks.php',
40
- 'Advanced_Ads_Frontend_Notices' => $baseDir . '/classes/frontend-notices.php',
41
- 'Advanced_Ads_Group' => $baseDir . '/classes/ad_group.php',
42
- 'Advanced_Ads_Groups_List' => $baseDir . '/admin/includes/class-ad-groups-list.php',
43
- 'Advanced_Ads_Model' => $baseDir . '/classes/ad-model.php',
44
- 'Advanced_Ads_Overview_Widgets_Callbacks' => $baseDir . '/admin/includes/class-overview-widgets.php',
45
- 'Advanced_Ads_Placements' => $baseDir . '/classes/ad_placements.php',
46
- 'Advanced_Ads_Plugin' => $baseDir . '/classes/plugin.php',
47
- 'Advanced_Ads_Select' => $baseDir . '/classes/ad-select.php',
48
- 'Advanced_Ads_Shortcode_Creator' => $baseDir . '/admin/includes/class-shortcode-creator.php',
49
- 'Advanced_Ads_Upgrades' => $baseDir . '/classes/upgrades.php',
50
- 'Advanced_Ads_Utils' => $baseDir . '/classes/utils.php',
51
- 'Advanced_Ads_Visitor_Conditions' => $baseDir . '/classes/visitor-conditions.php',
52
- 'Advanced_Ads_Widget' => $baseDir . '/classes/widget.php',
53
- 'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
54
- 'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
55
- 'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
56
- 'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
57
- 'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
58
- 'Composer\\Installers\\BaseInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BaseInstaller.php',
59
- 'Composer\\Installers\\BitrixInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BitrixInstaller.php',
60
- 'Composer\\Installers\\BonefishInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
61
- 'Composer\\Installers\\CakePHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
62
- 'Composer\\Installers\\ChefInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
63
- 'Composer\\Installers\\CiviCrmInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
64
- 'Composer\\Installers\\ClanCatsFrameworkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
65
- 'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
66
- 'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
67
- 'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
68
- 'Composer\\Installers\\CraftInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
69
- 'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
70
- 'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
71
- 'Composer\\Installers\\DokuWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
72
- 'Composer\\Installers\\DolibarrInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
73
- 'Composer\\Installers\\DrupalInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
74
- 'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
75
- 'Composer\\Installers\\EliasisInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
76
- 'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
77
- 'Composer\\Installers\\EzPlatformInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
78
- 'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
79
- 'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
80
- 'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
81
- 'Composer\\Installers\\HuradInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
82
- 'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
83
- 'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php',
84
- 'Composer\\Installers\\ItopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
85
- 'Composer\\Installers\\JoomlaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
86
- 'Composer\\Installers\\KanboardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
87
- 'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
88
- 'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
89
- 'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
90
- 'Composer\\Installers\\LanManagementSystemInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
91
- 'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
92
- 'Composer\\Installers\\LavaLiteInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
93
- 'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
94
- 'Composer\\Installers\\MODULEWorkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
95
- 'Composer\\Installers\\MODXEvoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
96
- 'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
97
- 'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
98
- 'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
99
- 'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
100
- 'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
101
- 'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
102
- 'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
103
- 'Composer\\Installers\\ModxInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
104
- 'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
105
- 'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
106
- 'Composer\\Installers\\OntoWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
107
- 'Composer\\Installers\\OsclassInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
108
- 'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
109
- 'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
110
- 'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
111
- 'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
112
- 'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
113
- 'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
114
- 'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
115
- 'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php',
116
- 'Composer\\Installers\\PortoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
117
- 'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
118
- 'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
119
- 'Composer\\Installers\\PxcmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
120
- 'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
121
- 'Composer\\Installers\\ReIndexInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
122
- 'Composer\\Installers\\RedaxoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
123
- 'Composer\\Installers\\RoundcubeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
124
- 'Composer\\Installers\\SMFInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
125
- 'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
126
- 'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
127
- 'Composer\\Installers\\SiteDirectInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
128
- 'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
129
- 'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
130
- 'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
131
- 'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
132
- 'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
133
- 'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
134
- 'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
135
- 'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
136
- 'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
137
- 'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
138
- 'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
139
- 'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
140
- 'Composer\\Installers\\YawikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
141
- 'Composer\\Installers\\ZendInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZendInstaller.php',
142
- 'Composer\\Installers\\ZikulaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php',
143
- 'Yoast_I18n_WordPressOrg_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-module-wordpressorg.php',
144
- 'Yoast_I18n_v3' => $vendorDir . '/yoast/i18n-module/src/i18n-module.php',
145
- 'xrstf\\Composer52\\AutoloadGenerator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php',
146
- 'xrstf\\Composer52\\Generator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php',
147
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/autoload_real_52.php DELETED
@@ -1,44 +0,0 @@
1
- <?php
2
-
3
- // autoload_real_52.php generated by xrstf/composer-php52
4
-
5
- class ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be {
6
- private static $loader;
7
-
8
- public static function loadClassLoader($class) {
9
- if ('xrstf_Composer52_ClassLoader' === $class) {
10
- require dirname(__FILE__).'/ClassLoader52.php';
11
- }
12
- }
13
-
14
- /**
15
- * @return xrstf_Composer52_ClassLoader
16
- */
17
- public static function getLoader() {
18
- if (null !== self::$loader) {
19
- return self::$loader;
20
- }
21
-
22
- spl_autoload_register(array('ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be', 'loadClassLoader'), true /*, true */);
23
- self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit06cbf810899a84e0ff891cfee1f1d2be', 'loadClassLoader'));
25
-
26
- $vendorDir = dirname(dirname(__FILE__));
27
- $baseDir = dirname($vendorDir);
28
- $dir = dirname(__FILE__);
29
-
30
- $map = require $dir.'/autoload_namespaces.php';
31
- foreach ($map as $namespace => $path) {
32
- $loader->add($namespace, $path);
33
- }
34
-
35
- $classMap = require $dir.'/autoload_classmap.php';
36
- if ($classMap) {
37
- $loader->addClassMap($classMap);
38
- }
39
-
40
- $loader->register(true);
41
-
42
- return $loader;
43
- }
44
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/autoload_static.php DELETED
@@ -1,184 +0,0 @@
1
- <?php
2
-
3
- // autoload_static.php @generated by Composer
4
-
5
- namespace Composer\Autoload;
6
-
7
- class ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be
8
- {
9
- public static $prefixLengthsPsr4 = array (
10
- 'C' =>
11
- array (
12
- 'Composer\\Installers\\' => 20,
13
- ),
14
- );
15
-
16
- public static $prefixDirsPsr4 = array (
17
- 'Composer\\Installers\\' =>
18
- array (
19
- 0 => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers',
20
- ),
21
- );
22
-
23
- public static $prefixesPsr0 = array (
24
- 'x' =>
25
- array (
26
- 'xrstf\\Composer52' =>
27
- array (
28
- 0 => __DIR__ . '/..' . '/xrstf/composer-php52/lib',
29
- ),
30
- ),
31
- );
32
-
33
- public static $classMap = array (
34
- 'ADVADS_SL_Plugin_Updater' => __DIR__ . '/../..' . '/classes/EDD_SL_Plugin_Updater.php',
35
- 'Advads_Ad' => __DIR__ . '/../..' . '/classes/ad.php',
36
- 'Advanced_Ads' => __DIR__ . '/../..' . '/public/class-advanced-ads.php',
37
- 'Advanced_Ads_Ad' => __DIR__ . '/../..' . '/classes/ad.php',
38
- 'Advanced_Ads_Ad_Ajax_Callbacks' => __DIR__ . '/../..' . '/classes/ad_ajax_callbacks.php',
39
- 'Advanced_Ads_Ad_Debug' => __DIR__ . '/../..' . '/classes/ad-debug.php',
40
- 'Advanced_Ads_Ad_Health_Notices' => __DIR__ . '/../..' . '/classes/ad-health-notices.php',
41
- 'Advanced_Ads_Ad_List_Filters' => __DIR__ . '/../..' . '/admin/includes/class-list-filters.php',
42
- 'Advanced_Ads_Ad_Network' => __DIR__ . '/../..' . '/admin/includes/class-ad-network.php',
43
- 'Advanced_Ads_Ad_Network_Ad_Importer' => __DIR__ . '/../..' . '/admin/includes/class-ad-network-ad-importer.php',
44
- 'Advanced_Ads_Ad_Network_Ad_Unit' => __DIR__ . '/../..' . '/admin/includes/class-ad-network-ad-unit.php',
45
- 'Advanced_Ads_Ad_Type_Abstract' => __DIR__ . '/../..' . '/classes/ad_type_abstract.php',
46
- 'Advanced_Ads_Ad_Type_Content' => __DIR__ . '/../..' . '/classes/ad_type_content.php',
47
- 'Advanced_Ads_Ad_Type_Dummy' => __DIR__ . '/../..' . '/classes/ad_type_dummy.php',
48
- 'Advanced_Ads_Ad_Type_Group' => __DIR__ . '/../..' . '/classes/ad_type_group.php',
49
- 'Advanced_Ads_Ad_Type_Image' => __DIR__ . '/../..' . '/classes/ad_type_image.php',
50
- 'Advanced_Ads_Ad_Type_Plain' => __DIR__ . '/../..' . '/classes/ad_type_plain.php',
51
- 'Advanced_Ads_Admin' => __DIR__ . '/../..' . '/admin/class-advanced-ads-admin.php',
52
- 'Advanced_Ads_Admin_Ad_Type' => __DIR__ . '/../..' . '/admin/includes/class-ad-type.php',
53
- 'Advanced_Ads_Admin_Licenses' => __DIR__ . '/../..' . '/admin/includes/class-licenses.php',
54
- 'Advanced_Ads_Admin_Menu' => __DIR__ . '/../..' . '/admin/includes/class-menu.php',
55
- 'Advanced_Ads_Admin_Meta_Boxes' => __DIR__ . '/../..' . '/admin/includes/class-meta-box.php',
56
- 'Advanced_Ads_Admin_Notices' => __DIR__ . '/../..' . '/admin/includes/class-notices.php',
57
- 'Advanced_Ads_Admin_Options' => __DIR__ . '/../..' . '/admin/includes/class-options.php',
58
- 'Advanced_Ads_Admin_Settings' => __DIR__ . '/../..' . '/admin/includes/class-settings.php',
59
- 'Advanced_Ads_Ajax' => __DIR__ . '/../..' . '/classes/ad-ajax.php',
60
- 'Advanced_Ads_Checks' => __DIR__ . '/../..' . '/classes/checks.php',
61
- 'Advanced_Ads_Compatibility' => __DIR__ . '/../..' . '/classes/compatibility.php',
62
- 'Advanced_Ads_Display_Conditions' => __DIR__ . '/../..' . '/classes/display-conditions.php',
63
- 'Advanced_Ads_Filesystem' => __DIR__ . '/../..' . '/classes/filesystem.php',
64
- 'Advanced_Ads_Frontend_Checks' => __DIR__ . '/../..' . '/classes/frontend_checks.php',
65
- 'Advanced_Ads_Frontend_Notices' => __DIR__ . '/../..' . '/classes/frontend-notices.php',
66
- 'Advanced_Ads_Group' => __DIR__ . '/../..' . '/classes/ad_group.php',
67
- 'Advanced_Ads_Groups_List' => __DIR__ . '/../..' . '/admin/includes/class-ad-groups-list.php',
68
- 'Advanced_Ads_Model' => __DIR__ . '/../..' . '/classes/ad-model.php',
69
- 'Advanced_Ads_Overview_Widgets_Callbacks' => __DIR__ . '/../..' . '/admin/includes/class-overview-widgets.php',
70
- 'Advanced_Ads_Placements' => __DIR__ . '/../..' . '/classes/ad_placements.php',
71
- 'Advanced_Ads_Plugin' => __DIR__ . '/../..' . '/classes/plugin.php',
72
- 'Advanced_Ads_Select' => __DIR__ . '/../..' . '/classes/ad-select.php',
73
- 'Advanced_Ads_Shortcode_Creator' => __DIR__ . '/../..' . '/admin/includes/class-shortcode-creator.php',
74
- 'Advanced_Ads_Upgrades' => __DIR__ . '/../..' . '/classes/upgrades.php',
75
- 'Advanced_Ads_Utils' => __DIR__ . '/../..' . '/classes/utils.php',
76
- 'Advanced_Ads_Visitor_Conditions' => __DIR__ . '/../..' . '/classes/visitor-conditions.php',
77
- 'Advanced_Ads_Widget' => __DIR__ . '/../..' . '/classes/widget.php',
78
- 'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
79
- 'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
80
- 'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
81
- 'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
82
- 'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
83
- 'Composer\\Installers\\BaseInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BaseInstaller.php',
84
- 'Composer\\Installers\\BitrixInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BitrixInstaller.php',
85
- 'Composer\\Installers\\BonefishInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
86
- 'Composer\\Installers\\CakePHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
87
- 'Composer\\Installers\\ChefInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
88
- 'Composer\\Installers\\CiviCrmInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
89
- 'Composer\\Installers\\ClanCatsFrameworkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
90
- 'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
91
- 'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
92
- 'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
93
- 'Composer\\Installers\\CraftInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
94
- 'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
95
- 'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
96
- 'Composer\\Installers\\DokuWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
97
- 'Composer\\Installers\\DolibarrInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
98
- 'Composer\\Installers\\DrupalInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
99
- 'Composer\\Installers\\ElggInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
100
- 'Composer\\Installers\\EliasisInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
101
- 'Composer\\Installers\\ExpressionEngineInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
102
- 'Composer\\Installers\\EzPlatformInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
103
- 'Composer\\Installers\\FuelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
104
- 'Composer\\Installers\\FuelphpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
105
- 'Composer\\Installers\\GravInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/GravInstaller.php',
106
- 'Composer\\Installers\\HuradInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
107
- 'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
108
- 'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php',
109
- 'Composer\\Installers\\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
110
- 'Composer\\Installers\\JoomlaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
111
- 'Composer\\Installers\\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
112
- 'Composer\\Installers\\KirbyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
113
- 'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
114
- 'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
115
- 'Composer\\Installers\\LanManagementSystemInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
116
- 'Composer\\Installers\\LaravelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
117
- 'Composer\\Installers\\LavaLiteInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
118
- 'Composer\\Installers\\LithiumInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
119
- 'Composer\\Installers\\MODULEWorkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
120
- 'Composer\\Installers\\MODXEvoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
121
- 'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
122
- 'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
123
- 'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
124
- 'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
125
- 'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
126
- 'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
127
- 'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
128
- 'Composer\\Installers\\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
129
- 'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
130
- 'Composer\\Installers\\OctoberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
131
- 'Composer\\Installers\\OntoWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
132
- 'Composer\\Installers\\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
133
- 'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
134
- 'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
135
- 'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
136
- 'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
137
- 'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
138
- 'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
139
- 'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
140
- 'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
141
- 'Composer\\Installers\\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
142
- 'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
143
- 'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
144
- 'Composer\\Installers\\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
145
- 'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
146
- 'Composer\\Installers\\ReIndexInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
147
- 'Composer\\Installers\\RedaxoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
148
- 'Composer\\Installers\\RoundcubeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
149
- 'Composer\\Installers\\SMFInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
150
- 'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
151
- 'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
152
- 'Composer\\Installers\\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
153
- 'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
154
- 'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
155
- 'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
156
- 'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
157
- 'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
158
- 'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
159
- 'Composer\\Installers\\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
160
- 'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
161
- 'Composer\\Installers\\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
162
- 'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
163
- 'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
164
- 'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
165
- 'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
166
- 'Composer\\Installers\\ZendInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZendInstaller.php',
167
- 'Composer\\Installers\\ZikulaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php',
168
- 'Yoast_I18n_WordPressOrg_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-module-wordpressorg.php',
169
- 'Yoast_I18n_v3' => __DIR__ . '/..' . '/yoast/i18n-module/src/i18n-module.php',
170
- 'xrstf\\Composer52\\AutoloadGenerator' => __DIR__ . '/..' . '/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php',
171
- 'xrstf\\Composer52\\Generator' => __DIR__ . '/..' . '/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php',
172
- );
173
-
174
- public static function getInitializer(ClassLoader $loader)
175
- {
176
- return \Closure::bind(function () use ($loader) {
177
- $loader->prefixLengthsPsr4 = ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be::$prefixLengthsPsr4;
178
- $loader->prefixDirsPsr4 = ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be::$prefixDirsPsr4;
179
- $loader->prefixesPsr0 = ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be::$prefixesPsr0;
180
- $loader->classMap = ComposerStaticInitd24de3c06687d3cf4aad0b15c83747be::$classMap;
181
-
182
- }, null, ClassLoader::class);
183
- }
184
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installed.json DELETED
@@ -1,197 +0,0 @@
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": "xrstf/composer-php52",
126
- "version": "v1.0.20",
127
- "version_normalized": "1.0.20.0",
128
- "source": {
129
- "type": "git",
130
- "url": "https://github.com/composer-php52/composer-php52.git",
131
- "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8"
132
- },
133
- "dist": {
134
- "type": "zip",
135
- "url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8",
136
- "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8",
137
- "shasum": ""
138
- },
139
- "time": "2016-04-16T21:52:24+00:00",
140
- "type": "library",
141
- "extra": {
142
- "branch-alias": {
143
- "dev-default": "1.x-dev"
144
- }
145
- },
146
- "installation-source": "dist",
147
- "autoload": {
148
- "psr-0": {
149
- "xrstf\\Composer52": "lib/"
150
- }
151
- },
152
- "notification-url": "https://packagist.org/downloads/",
153
- "license": [
154
- "MIT"
155
- ]
156
- },
157
- {
158
- "name": "yoast/i18n-module",
159
- "version": "3.0.0",
160
- "version_normalized": "3.0.0.0",
161
- "source": {
162
- "type": "git",
163
- "url": "https://github.com/Yoast/i18n-module.git",
164
- "reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c"
165
- },
166
- "dist": {
167
- "type": "zip",
168
- "url": "https://api.github.com/repos/Yoast/i18n-module/zipball/76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
169
- "reference": "76b1645aaf8cf9a07dc06ec0bbe2a6838feeed4c",
170
- "shasum": ""
171
- },
172
- "time": "2017-09-06T07:17:52+00:00",
173
- "type": "library",
174
- "installation-source": "dist",
175
- "autoload": {
176
- "classmap": [
177
- "src/"
178
- ]
179
- },
180
- "notification-url": "https://packagist.org/downloads/",
181
- "license": [
182
- "GPL-2.0+"
183
- ],
184
- "authors": [
185
- {
186
- "name": "Team Yoast",
187
- "email": "support@yoast.com",
188
- "homepage": "https://yoast.com"
189
- }
190
- ],
191
- "description": "Handle i18n for WordPress plugins.",
192
- "homepage": "https://github.com/Yoast/i18n-module",
193
- "keywords": [
194
- "wordpress"
195
- ]
196
- }
197
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/.editorconfig DELETED
@@ -1,10 +0,0 @@
1
- ; top-most EditorConfig file
2
- root = true
3
-
4
- ; Unix-style newlines
5
- [*]
6
- end_of_line = LF
7
-
8
- [*.php]
9
- indent_style = space
10
- indent_size = 4
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- vendor/
2
- composer.lock
3
- .idea/
 
 
 
vendor/composer/installers/.travis.yml DELETED
@@ -1,32 +0,0 @@
1
- language: php
2
-
3
- sudo: false
4
-
5
- dist: trusty
6
-
7
- git:
8
- depth: 5
9
-
10
- php:
11
- - 5.4
12
- - 5.5
13
- - 5.6
14
- - 7.0
15
- - 7.1
16
- - hhvm
17
- - nightly
18
-
19
- matrix:
20
- include:
21
- - dist: precise
22
- php: 5.3
23
- fast_finish: true
24
- allow_failures:
25
- - php: nightly
26
-
27
- before_script:
28
- - composer self-update
29
- - composer install
30
-
31
- script:
32
- - composer test
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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/xrstf/composer-php52/.hg_archival.txt DELETED
@@ -1,4 +0,0 @@
1
- repo: 0d0ceaca3a0500b3f45b41b79c6ac4f396dc4b13
2
- node: 9a4a9c46d0347b39bf9159815301dc66fc25324e
3
- branch: default
4
- tag: v1.0.19
 
 
 
 
vendor/xrstf/composer-php52/.hgtags DELETED
@@ -1,19 +0,0 @@
1
- 1328b37f36994039e0482272bfea90825f9b8d4c v1.0.0
2
- 8ed634e8a47ed96c8c6e7ef3bffb73e69c181f4b v1.0.1
3
- 8490d268ce216557f2ba82298c8dc7a8233d1c51 v1.0.2
4
- e719a1afd817bc0c260750d40e871d4a8ea312f2 v1.0.3
5
- c139ce4683b3f0269ff017a0dc30f964ec165156 v1.0.4
6
- b8d4df7f5d4441c30bb35c4ab0eea7e7a2710cd4 v1.0.5
7
- 05d33685ec9a85742d4f1634dcdd2bb8da74f626 v1.0.6
8
- a1377306c6e40426e3913f46cf5019c9e2497164 v1.0.7
9
- 77cc535bc7441dacdbc10be7720c44c47b9cc2a2 v1.0.8
10
- b4e44b96b96762d08366196f7f9013e26c8d610d v1.0.9
11
- 9b04ae051405d81c85dcb3a307b503a1471ee4fb v1.0.10
12
- c0b2cd0685c3a35297e3392b3a9df3c51c287740 v1.0.11
13
- 1d534d45cf037b5f2f83c04043851b5f0f478975 v1.0.12
14
- eabb654da4d9200180037805cf348c20caf775c2 v1.0.13
15
- 8cc8f6ceddf527eafd0cd7b4cb274bef39d27a92 v1.0.14
16
- b69d211ed4885e3c16282b01b7548226c7b50657 v1.0.15
17
- b80de08b940ea59789646fa20d841fbdd72d72f0 v1.0.16
18
- 70b853668d6c3f97b63dafcfaeebb622bf08fd30 v1.0.17
19
- 32bc8be472523512b0ab1517f61d60bc4032803d v1.0.18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/xrstf/composer-php52/LICENSE DELETED
@@ -1,19 +0,0 @@
1
- Copyright (c) 2013 Christoph Mewes
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/xrstf/composer-php52/README.md DELETED
@@ -1,37 +0,0 @@
1
- PHP 5.2 Autoloading for Composer
2
- ================================
3
-
4
- This package provides an easy way to get a PHP 5.2 compatible autoloader out of Composer. The generated autoloader is fully compatible to the original and is written into separate files, each ending with `_52.php`.
5
-
6
- Legacy
7
- ------
8
-
9
- Please do not use this, if you can avoid it. It's a horrible hack, often breaks and is extremely tied to Composer's interna. This package was originally developed in 2012, when PHP 5.2 was much more common on cheap webhosts.
10
-
11
- In 2016, this package has been moved from Bitbucket to a Github organization, because the original developer could no longer reliably maintain it. This is the reason for this legacy package name ``xrstf/...``.
12
-
13
- Usage
14
- -----
15
-
16
- In your project's `composer.json`, add the following lines:
17
-
18
- ```json
19
- {
20
- "require": {
21
- "xrstf/composer-php52": "1.*"
22
- },
23
- "scripts": {
24
- "post-install-cmd": [
25
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
26
- ],
27
- "post-update-cmd": [
28
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
29
- ],
30
- "post-autoload-dump": [
31
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
32
- ]
33
- }
34
- }
35
- ```
36
-
37
- After the next update/install, you will have a `vendor/autoload_52.php` file, that you can simply include and use in PHP 5.2 projects.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/xrstf/composer-php52/composer.json DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "name": "xrstf/composer-php52",
3
- "license": "MIT",
4
- "support": {
5
- "source": "https://github.com/composer-php52/composer-php52",
6
- "issues": "https://github.com/composer-php52/composer-php52/issues"
7
- },
8
- "autoload": {
9
- "psr-0": {
10
- "xrstf\\Composer52": "lib/"
11
- }
12
- },
13
- "scripts": {
14
- "post-install-cmd": [
15
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
16
- ],
17
- "post-update-cmd": [
18
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
19
- ]
20
- },
21
- "extra": {
22
- "branch-alias": {
23
- "dev-default": "1.x-dev"
24
- }
25
- }
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php DELETED
@@ -1,346 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
4
- *
5
- * This file is released under the terms of the MIT license. You can find the
6
- * complete text in the attached LICENSE file or online at:
7
- *
8
- * http://www.opensource.org/licenses/mit-license.php
9
- *
10
- * --------------------------------------------------------------------------
11
- *
12
- * 99% of this is copied as-is from the original Composer source code and is
13
- * released under MIT license as well. Copyright goes to:
14
- *
15
- * - Igor Wiedler <igor@wiedler.ch>
16
- * - Jordi Boggiano <j.boggiano@seld.be>
17
- */
18
-
19
- namespace xrstf\Composer52;
20
-
21
- use Composer\Autoload\AutoloadGenerator as BaseGenerator;
22
- use Composer\Autoload\ClassMapGenerator;
23
- use Composer\Config;
24
- use Composer\Installer\InstallationManager;
25
- use Composer\Package\AliasPackage;
26
- use Composer\Package\PackageInterface;
27
- use Composer\Repository\InstalledRepositoryInterface;
28
- use Composer\Util\Filesystem;
29
-
30
- class AutoloadGenerator extends BaseGenerator {
31
-
32
- /**
33
- * @var bool
34
- */
35
- private $classMapAuthoritative = false;
36
-
37
- public function __construct() {
38
- // do nothing (but keep this constructor so we can build an instance without the need for an event dispatcher)
39
- }
40
-
41
- /**
42
- * Whether or not generated autoloader considers the class map
43
- * authoritative.
44
- *
45
- * @param bool $classMapAuthoritative
46
- */
47
- public function setClassMapAuthoritative($classMapAuthoritative)
48
- {
49
- $this->classMapAuthoritative = (boolean) $classMapAuthoritative;
50
- }
51
-
52
- public function dump(Config $config, InstalledRepositoryInterface $localRepo, PackageInterface $mainPackage, InstallationManager $installationManager, $targetDir, $scanPsr0Packages = false, $suffix = '') {
53
- if ($this->classMapAuthoritative) {
54
- // Force scanPsr0Packages when classmap is authoritative
55
- $scanPsr0Packages = true;
56
- }
57
-
58
- $filesystem = new Filesystem();
59
- $filesystem->ensureDirectoryExists($config->get('vendor-dir'));
60
-
61
- $cwd = getcwd();
62
- $basePath = $filesystem->normalizePath($cwd);
63
- $vendorPath = $filesystem->normalizePath(realpath($config->get('vendor-dir')));
64
- $targetDir = $vendorPath.'/'.$targetDir;
65
- $filesystem->ensureDirectoryExists($targetDir);
66
-
67
- $useGlobalIncludePath = (bool) $config->get('use-include-path');
68
- $prependAutoloader = $config->get('prepend-autoloader') === false ? 'false' : 'true';
69
- $classMapAuthoritative = $config->get('classmap-authoritative');
70
-
71
- $vendorPathCode = $filesystem->findShortestPathCode(realpath($targetDir), $vendorPath, true);
72
- $vendorPathToTargetDirCode = $filesystem->findShortestPathCode($vendorPath, realpath($targetDir), true);
73
-
74
- $appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $basePath, true);
75
- $appBaseDirCode = str_replace('__DIR__', '$vendorDir', $appBaseDirCode);
76
-
77
- // add 5.2 compat
78
- $vendorPathCode = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathCode);
79
- $vendorPathToTargetDirCode = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathToTargetDirCode);
80
-
81
- $packageMap = $this->buildPackageMap($installationManager, $mainPackage, $localRepo->getCanonicalPackages());
82
- $autoloads = $this->parseAutoloads($packageMap, $mainPackage);
83
-
84
- // add custom psr-0 autoloading if the root package has a target dir
85
- $targetDirLoader = null;
86
- $mainAutoload = $mainPackage->getAutoload();
87
- if ($mainPackage->getTargetDir() && !empty($mainAutoload['psr-0'])) {
88
- $levels = count(explode('/', $filesystem->normalizePath($mainPackage->getTargetDir())));
89
- $prefixes = implode(', ', array_map(function ($prefix) {
90
- return var_export($prefix, true);
91
- }, array_keys($mainAutoload['psr-0'])));
92
-
93
- $baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $basePath, true);
94
-
95
- $targetDirLoader = <<<EOF
96
-
97
- public static function autoload(\$class) {
98
- \$dir = $baseDirFromTargetDirCode.'/';
99
- \$prefixes = array($prefixes);
100
-
101
- foreach (\$prefixes as \$prefix) {
102
- if (0 !== strpos(\$class, \$prefix)) {
103
- continue;
104
- }
105
-
106
- \$path = explode(DIRECTORY_SEPARATOR, self::getClassPath(\$class));
107
- \$path = \$dir.implode('/', array_slice(\$path, $levels));
108
-
109
- if (!\$path = self::resolveIncludePath(\$path)) {
110
- return false;
111
- }
112
-
113
- require \$path;
114
- return true;
115
- }
116
- }
117
-
118
- EOF;
119
- }
120
-
121
- $filesCode = "";
122
- $autoloads['files'] = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($autoloads['files']));
123
- foreach ($autoloads['files'] as $functionFile) {
124
- // don't include file if it is using PHP 5.3+ syntax
125
- // https://bitbucket.org/xrstf/composer-php52/issue/4
126
- if ($this->isPHP53($functionFile)) {
127
- $filesCode .= '// require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile)."; // disabled because of PHP 5.3 syntax\n";
128
- }
129
- else {
130
- $filesCode .= ' require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile).";\n";
131
- }
132
- }
133
-
134
- if (!$suffix) {
135
- $suffix = md5(uniqid('', true));
136
- }
137
-
138
- $includePathFile = $this->getIncludePathsFile($packageMap, $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode);
139
-
140
- file_put_contents($vendorPath.'/autoload_52.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix));
141
- file_put_contents($targetDir.'/autoload_real_52.php', $this->getAutoloadRealFile(true, (bool) $includePathFile, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader));
142
-
143
- // use stream_copy_to_stream instead of copy
144
- // to work around https://bugs.php.net/bug.php?id=64634
145
- $sourceLoader = fopen(__DIR__.'/ClassLoader.php', 'r');
146
- $targetLoader = fopen($targetDir.'/ClassLoader52.php', 'w+');
147
- stream_copy_to_stream($sourceLoader, $targetLoader);
148
- fclose($sourceLoader);
149
- fclose($targetLoader);
150
- unset($sourceLoader, $targetLoader);
151
- }
152
-
153
- protected function isPHP53($file) {
154
- $tokens = token_get_all(file_get_contents($file));
155
- $php53 = array(T_DIR, T_GOTO, T_NAMESPACE, T_NS_C, T_NS_SEPARATOR, T_USE);
156
-
157
- // PHP 5.4+
158
- if (defined('T_TRAIT')) {
159
- $php53[] = T_TRAIT;
160
- $php53[] = T_TRAIT_C;
161
- $php53[] = T_TRAIT_C;
162
- }
163
-
164
- // PHP 5.5+
165
- if (defined('T_FINALLY')) {
166
- $php53[] = T_FINALLY;
167
- $php53[] = T_YIELD;
168
- }
169
-
170
- foreach ($tokens as $token) {
171
- if (is_array($token) && in_array($token[0], $php53)) {
172
- return true;
173
- }
174
- }
175
-
176
- return false;
177
- }
178
-
179
- protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode) {
180
- $includePaths = array();
181
-
182
- foreach ($packageMap as $item) {
183
- list($package, $installPath) = $item;
184
-
185
- if (null !== $package->getTargetDir() && strlen($package->getTargetDir()) > 0) {
186
- $installPath = substr($installPath, 0, -strlen('/'.$package->getTargetDir()));
187
- }
188
-
189
- foreach ($package->getIncludePaths() as $includePath) {
190
- $includePath = trim($includePath, '/');
191
- $includePaths[] = empty($installPath) ? $includePath : $installPath.'/'.$includePath;
192
- }
193
- }
194
-
195
- if (!$includePaths) {
196
- return;
197
- }
198
-
199
- $includePathsFile = <<<EOF
200
- <?php
201
-
202
- // include_paths_52.php generated by xrstf/composer-php52
203
-
204
- \$vendorDir = $vendorPathCode;
205
- \$baseDir = $appBaseDirCode;
206
-
207
- return array(
208
-
209
- EOF;
210
-
211
- foreach ($includePaths as $path) {
212
- $includePathsFile .= "\t" . $this->getPathCode($filesystem, $basePath, $vendorPath, $path) . ",\n";
213
- }
214
-
215
- return $includePathsFile . ");\n";
216
- }
217
-
218
- protected function getAutoloadFile($vendorPathToTargetDirCode, $suffix) {
219
- return <<<AUTOLOAD
220
- <?php
221
-
222
- // autoload_52.php generated by xrstf/composer-php52
223
-
224
- require_once $vendorPathToTargetDirCode.'/autoload_real_52.php';
225
-
226
- return ComposerAutoloaderInit$suffix::getLoader();
227
-
228
- AUTOLOAD;
229
- }
230
-
231
- protected function getAutoloadRealFile($useClassMap, $useIncludePath, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion = 70000) {
232
- // TODO the class ComposerAutoloaderInit should be revert to a closure
233
- // when APC has been fixed:
234
- // - https://github.com/composer/composer/issues/959
235
- // - https://bugs.php.net/bug.php?id=52144
236
- // - https://bugs.php.net/bug.php?id=61576
237
- // - https://bugs.php.net/bug.php?id=59298
238
-
239
- if ($filesCode) {
240
- $filesCode = "\n\n".rtrim($filesCode);
241
- }
242
-
243
- $file = <<<HEADER
244
- <?php
245
-
246
- // autoload_real_52.php generated by xrstf/composer-php52
247
-
248
- class ComposerAutoloaderInit$suffix {
249
- private static \$loader;
250
-
251
- public static function loadClassLoader(\$class) {
252
- if ('xrstf_Composer52_ClassLoader' === \$class) {
253
- require dirname(__FILE__).'/ClassLoader52.php';
254
- }
255
- }
256
-
257
- /**
258
- * @return xrstf_Composer52_ClassLoader
259
- */
260
- public static function getLoader() {
261
- if (null !== self::\$loader) {
262
- return self::\$loader;
263
- }
264
-
265
- spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'), true /*, true */);
266
- self::\$loader = \$loader = new xrstf_Composer52_ClassLoader();
267
- spl_autoload_unregister(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'));
268
-
269
- \$vendorDir = $vendorPathCode;
270
- \$baseDir = $appBaseDirCode;
271
- \$dir = dirname(__FILE__);
272
-
273
-
274
- HEADER;
275
-
276
- if ($useIncludePath) {
277
- $file .= <<<'INCLUDE_PATH'
278
- $includePaths = require $dir.'/include_paths.php';
279
- array_push($includePaths, get_include_path());
280
- set_include_path(implode(PATH_SEPARATOR, $includePaths));
281
-
282
-
283
- INCLUDE_PATH;
284
- }
285
-
286
- $file .= <<<'PSR0'
287
- $map = require $dir.'/autoload_namespaces.php';
288
- foreach ($map as $namespace => $path) {
289
- $loader->add($namespace, $path);
290
- }
291
-
292
-
293
- PSR0;
294
-
295
- if ($useClassMap) {
296
- $file .= <<<'CLASSMAP'
297
- $classMap = require $dir.'/autoload_classmap.php';
298
- if ($classMap) {
299
- $loader->addClassMap($classMap);
300
- }
301
-
302
-
303
- CLASSMAP;
304
- }
305
-
306
- if ($this->classMapAuthoritative) {
307
- $file .= <<<'CLASSMAPAUTHORITATIVE'
308
- $loader->setClassMapAuthoritative(true);
309
-
310
- CLASSMAPAUTHORITATIVE;
311
- }
312
-
313
- if ($useGlobalIncludePath) {
314
- $file .= <<<'INCLUDEPATH'
315
- $loader->setUseIncludePath(true);
316
-
317
-
318
- INCLUDEPATH;
319
- }
320
-
321
- if ($targetDirLoader) {
322
- $file .= <<<REGISTER_AUTOLOAD
323
- spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'autoload'), true);
324
-
325
-
326
- REGISTER_AUTOLOAD;
327
-
328
- }
329
-
330
- $file .= <<<METHOD_FOOTER
331
- \$loader->register($prependAutoloader);{$filesCode}
332
-
333
- return \$loader;
334
- }
335
-
336
- METHOD_FOOTER;
337
-
338
- $file .= $targetDirLoader;
339
-
340
- return $file . <<<FOOTER
341
- }
342
-
343
- FOOTER;
344
-
345
- }
346
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php DELETED
@@ -1,271 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
4
- *
5
- * This file is released under the terms of the MIT license. You can find the
6
- * complete text in the attached LICENSE file or online at:
7
- *
8
- * http://www.opensource.org/licenses/mit-license.php
9
- *
10
- * --------------------------------------------------------------------------
11
- *
12
- * 99% of this is copied as-is from the original Composer source code and is
13
- * released under MIT license as well. Copyright goes to:
14
- *
15
- * - Fabien Potencier <fabien@symfony.com>
16
- * - Jordi Boggiano <j.boggiano@seld.be>
17
- */
18
-
19
- class xrstf_Composer52_ClassLoader {
20
- private $prefixes = array();
21
- private $fallbackDirs = array();
22
- private $useIncludePath = false;
23
- private $classMap = array();
24
- private $classMapAuthoratative = false;
25
- private $allowUnderscore = false;
26
-
27
- /**
28
- * @param boolean $flag true to allow class names with a leading underscore, false to disable
29
- */
30
- public function setAllowUnderscore($flag) {
31
- $this->allowUnderscore = (boolean) $flag;
32
- }
33
-
34
- /**
35
- * @return array
36
- */
37
- public function getPrefixes() {
38
- return $this->prefixes;
39
- }
40
-
41
- /**
42
- * Turns off searching the prefix and fallback directories for classes
43
- * that have not been registered with the class map.
44
- *
45
- * @param bool $classMapAuthoratative
46
- */
47
- public function setClassMapAuthoritative($classMapAuthoratative) {
48
- $this->classMapAuthoratative = $classMapAuthoratative;
49
- }
50
-
51
- /**
52
- * Should class lookup fail if not found in the current class map?
53
- *
54
- * @return bool
55
- */
56
- public function getClassMapAuthoratative() {
57
- return $this->classMapAuthoratative;
58
- }
59
-
60
- /**
61
- * @return array
62
- */
63
- public function getFallbackDirs() {
64
- return $this->fallbackDirs;
65
- }
66
-
67
- /**
68
- * @return array
69
- */
70
- public function getClassMap() {
71
- return $this->classMap;
72
- }
73
-
74
- /**
75
- * @param array $classMap class to filename map
76
- */
77
- public function addClassMap(array $classMap) {
78
- if ($this->classMap) {
79
- $this->classMap = array_merge($this->classMap, $classMap);
80
- }
81
- else {
82
- $this->classMap = $classMap;
83
- }
84
- }
85
-
86
- /**
87
- * Registers a set of classes, merging with any others previously set.
88
- *
89
- * @param string $prefix the classes prefix
90
- * @param array|string $paths the location(s) of the classes
91
- * @param bool $prepend prepend the location(s)
92
- */
93
- public function add($prefix, $paths, $prepend = false) {
94
- if (!$prefix) {
95
- if ($prepend) {
96
- $this->fallbackDirs = array_merge(
97
- (array) $paths,
98
- $this->fallbackDirs
99
- );
100
- }
101
- else {
102
- $this->fallbackDirs = array_merge(
103
- $this->fallbackDirs,
104
- (array) $paths
105
- );
106
- }
107
-
108
- return;
109
- }
110
-
111
- if (!isset($this->prefixes[$prefix])) {
112
- $this->prefixes[$prefix] = (array) $paths;
113
- return;
114
- }
115
-
116
- if ($prepend) {
117
- $this->prefixes[$prefix] = array_merge(
118
- (array) $paths,
119
- $this->prefixes[$prefix]
120
- );
121
- }
122
- else {
123
- $this->prefixes[$prefix] = array_merge(
124
- $this->prefixes[$prefix],
125
- (array) $paths
126
- );
127
- }
128
- }
129
-
130
- /**
131
- * Registers a set of classes, replacing any others previously set.
132
- *
133
- * @param string $prefix the classes prefix
134
- * @param array|string $paths the location(s) of the classes
135
- */
136
- public function set($prefix, $paths) {
137
- if (!$prefix) {
138
- $this->fallbackDirs = (array) $paths;
139
- return;
140
- }
141
-
142
- $this->prefixes[$prefix] = (array) $paths;
143
- }
144
-
145
- /**
146
- * Turns on searching the include path for class files.
147
- *
148
- * @param bool $useIncludePath
149
- */
150
- public function setUseIncludePath($useIncludePath) {
151
- $this->useIncludePath = $useIncludePath;
152
- }
153
-
154
- /**
155
- * Can be used to check if the autoloader uses the include path to check
156
- * for classes.
157
- *
158
- * @return bool
159
- */
160
- public function getUseIncludePath() {
161
- return $this->useIncludePath;
162
- }
163
-
164
- /**
165
- * Registers this instance as an autoloader.
166
- */
167
- public function register() {
168
- spl_autoload_register(array($this, 'loadClass'), true);
169
- }
170
-
171
- /**
172
- * Unregisters this instance as an autoloader.
173
- */
174
- public function unregister() {
175
- spl_autoload_unregister(array($this, 'loadClass'));
176
- }
177
-
178
- /**
179
- * Loads the given class or interface.
180
- *
181
- * @param string $class the name of the class
182
- * @return bool|null true, if loaded
183
- */
184
- public function loadClass($class) {
185
- if ($file = $this->findFile($class)) {
186
- include $file;
187
- return true;
188
- }
189
- }
190
-
191
- /**
192
- * Finds the path to the file where the class is defined.
193
- *
194
- * @param string $class the name of the class
195
- * @return string|null the path, if found
196
- */
197
- public function findFile($class) {
198
- if ('\\' === $class[0]) {
199
- $class = substr($class, 1);
200
- }
201
-
202
- if (isset($this->classMap[$class])) {
203
- return $this->classMap[$class];
204
- }
205
- elseif ($this->classMapAuthoratative) {
206
- return false;
207
- }
208
-
209
- $classPath = $this->getClassPath($class);
210
-
211
- foreach ($this->prefixes as $prefix => $dirs) {
212
- if (0 === strpos($class, $prefix)) {
213
- foreach ($dirs as $dir) {
214
- if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
215
- return $dir.DIRECTORY_SEPARATOR.$classPath;
216
- }
217
- }
218
- }
219
- }
220
-
221
- foreach ($this->fallbackDirs as $dir) {
222
- if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
223
- return $dir.DIRECTORY_SEPARATOR.$classPath;
224
- }
225
- }
226
-
227
- if ($this->useIncludePath && $file = self::resolveIncludePath($classPath)) {
228
- return $file;
229
- }
230
-
231
- return $this->classMap[$class] = false;
232
- }
233
-
234
- private function getClassPath($class) {
235
- if (false !== $pos = strrpos($class, '\\')) {
236
- // namespaced class name
237
- $classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
238
- $className = substr($class, $pos + 1);
239
- }
240
- else {
241
- // PEAR-like class name
242
- $classPath = null;
243
- $className = $class;
244
- }
245
-
246
- $className = str_replace('_', DIRECTORY_SEPARATOR, $className);
247
-
248
- // restore the prefix
249
- if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) {
250
- $className[0] = '_';
251
- }
252
-
253
- $classPath .= $className.'.php';
254
-
255
- return $classPath;
256
- }
257
-
258
- public static function resolveIncludePath($classPath) {
259
- $paths = explode(PATH_SEPARATOR, get_include_path());
260
-
261
- foreach ($paths as $path) {
262
- $path = rtrim($path, '/\\');
263
-
264
- if ($file = file_exists($path.DIRECTORY_SEPARATOR.$file)) {
265
- return $file;
266
- }
267
- }
268
-
269
- return false;
270
- }
271
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
4
- *
5
- * This file is released under the terms of the MIT license. You can find the
6
- * complete text in the attached LICENSE file or online at:
7
- *
8
- * http://www.opensource.org/licenses/mit-license.php
9
- */
10
-
11
- namespace xrstf\Composer52;
12
-
13
- use Composer\Repository\CompositeRepository;
14
- use Composer\Script\Event;
15
-
16
- class Generator {
17
- public static function onPostInstallCmd(Event $event) {
18
- $composer = $event->getComposer();
19
- $installationManager = $composer->getInstallationManager();
20
- $repoManager = $composer->getRepositoryManager();
21
- $localRepo = $repoManager->getLocalRepository();
22
- $package = $composer->getPackage();
23
- $config = $composer->getConfig();
24
-
25
- // We can't gain access to the Command's input object, so we have to look
26
- // for -o / --optimize-autoloader ourselves. Sadly, neither getopt() works
27
- // (always returns an empty array), nor does Symfony's Console Input, as
28
- // it expects a full definition of the current command line and we can't
29
- // provide that.
30
-
31
- $args = $_SERVER['argv'];
32
- $optimize = in_array('-o', $args) || in_array('--optimize-autoloader', $args) || in_array('--optimize', $args);
33
-
34
- $suffix = $config->get('autoloader-suffix');
35
-
36
- $generator = new AutoloadGenerator();
37
- $generator->dump($config, $localRepo, $package, $installationManager, 'composer', $optimize, $suffix);
38
- }
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/yoast/i18n-module/composer.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "name" : "yoast/i18n-module",
3
- "description": "Handle i18n for WordPress plugins.",
4
- "keywords" : ["wordpress"],
5
- "homepage" : "https://github.com/Yoast/i18n-module",
6
- "license" : "GPL-2.0+",
7
- "authors" : [
8
- {
9
- "name" : "Team Yoast",
10
- "email" : "support@yoast.com",
11
- "homepage": "https://yoast.com"
12
- }
13
- ],
14
- "support" : {
15
- "issues": "https://github.com/Yoast/i18n-module/issues"
16
- },
17
- "autoload" : {
18
- "classmap": ["src/"]
19
- }
20
- }