From 599d45019f92f6cc191e39014674caeeedcd87b0 Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Sat, 27 Aug 2016 03:49:28 +0000 Subject: [PATCH] Bootstrap: add `composer.lock` and `src/wp-vendor` files. Nothing is using this code yet, just going through the motions. Ignore the files in `src/wp-vendor/composer` that will explode in PHP 5.2. See #36335. Built from https://develop.svn.wordpress.org/trunk@38394 git-svn-id: http://core.svn.wordpress.org/trunk@38335 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/version.php | 2 +- wp-vendor/autoload_52.php | 7 + wp-vendor/composer/ClassLoader52.php | 271 ++++++++++++++ wp-vendor/composer/LICENSE | 21 ++ wp-vendor/composer/autoload_classmap.php | 201 ++++++++++ wp-vendor/composer/autoload_namespaces.php | 10 + wp-vendor/composer/autoload_psr4.php | 9 + wp-vendor/composer/autoload_real_52.php | 44 +++ wp-vendor/composer/installed.json | 35 ++ wp-vendor/xrstf/composer-php52/LICENSE | 19 + wp-vendor/xrstf/composer-php52/README.md | 37 ++ wp-vendor/xrstf/composer-php52/composer.json | 26 ++ .../xrstf/Composer52/AutoloadGenerator.php | 346 ++++++++++++++++++ .../lib/xrstf/Composer52/ClassLoader.php | 271 ++++++++++++++ .../lib/xrstf/Composer52/Generator.php | 39 ++ 15 files changed, 1337 insertions(+), 1 deletion(-) create mode 100644 wp-vendor/autoload_52.php create mode 100644 wp-vendor/composer/ClassLoader52.php create mode 100644 wp-vendor/composer/LICENSE create mode 100644 wp-vendor/composer/autoload_classmap.php create mode 100644 wp-vendor/composer/autoload_namespaces.php create mode 100644 wp-vendor/composer/autoload_psr4.php create mode 100644 wp-vendor/composer/autoload_real_52.php create mode 100644 wp-vendor/composer/installed.json create mode 100644 wp-vendor/xrstf/composer-php52/LICENSE create mode 100644 wp-vendor/xrstf/composer-php52/README.md create mode 100644 wp-vendor/xrstf/composer-php52/composer.json create mode 100644 wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php create mode 100644 wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php create mode 100644 wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php diff --git a/wp-includes/version.php b/wp-includes/version.php index b238141607..975f8a96a0 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.7-alpha-38393'; +$wp_version = '4.7-alpha-38394'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. diff --git a/wp-vendor/autoload_52.php b/wp-vendor/autoload_52.php new file mode 100644 index 0000000000..ceb45ae8ee --- /dev/null +++ b/wp-vendor/autoload_52.php @@ -0,0 +1,7 @@ + + * - Jordi Boggiano + */ + +class xrstf_Composer52_ClassLoader { + private $prefixes = array(); + private $fallbackDirs = array(); + private $useIncludePath = false; + private $classMap = array(); + private $classMapAuthoratative = false; + private $allowUnderscore = false; + + /** + * @param boolean $flag true to allow class names with a leading underscore, false to disable + */ + public function setAllowUnderscore($flag) { + $this->allowUnderscore = (boolean) $flag; + } + + /** + * @return array + */ + public function getPrefixes() { + return $this->prefixes; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoratative + */ + public function setClassMapAuthoritative($classMapAuthoratative) { + $this->classMapAuthoratative = $classMapAuthoratative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function getClassMapAuthoratative() { + return $this->classMapAuthoratative; + } + + /** + * @return array + */ + public function getFallbackDirs() { + return $this->fallbackDirs; + } + + /** + * @return array + */ + public function getClassMap() { + return $this->classMap; + } + + /** + * @param array $classMap class to filename map + */ + public function addClassMap(array $classMap) { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } + else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of classes, merging with any others previously set. + * + * @param string $prefix the classes prefix + * @param array|string $paths the location(s) of the classes + * @param bool $prepend prepend the location(s) + */ + public function add($prefix, $paths, $prepend = false) { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirs = array_merge( + (array) $paths, + $this->fallbackDirs + ); + } + else { + $this->fallbackDirs = array_merge( + $this->fallbackDirs, + (array) $paths + ); + } + + return; + } + + if (!isset($this->prefixes[$prefix])) { + $this->prefixes[$prefix] = (array) $paths; + return; + } + + if ($prepend) { + $this->prefixes[$prefix] = array_merge( + (array) $paths, + $this->prefixes[$prefix] + ); + } + else { + $this->prefixes[$prefix] = array_merge( + $this->prefixes[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of classes, replacing any others previously set. + * + * @param string $prefix the classes prefix + * @param array|string $paths the location(s) of the classes + */ + public function set($prefix, $paths) { + if (!$prefix) { + $this->fallbackDirs = (array) $paths; + return; + } + + $this->prefixes[$prefix] = (array) $paths; + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() { + return $this->useIncludePath; + } + + /** + * Registers this instance as an autoloader. + */ + public function register() { + spl_autoload_register(array($this, 'loadClass'), true); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class the name of the class + * @return bool|null true, if loaded + */ + public function loadClass($class) { + if ($file = $this->findFile($class)) { + include $file; + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class the name of the class + * @return string|null the path, if found + */ + public function findFile($class) { + if ('\\' === $class[0]) { + $class = substr($class, 1); + } + + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + elseif ($this->classMapAuthoratative) { + return false; + } + + $classPath = $this->getClassPath($class); + + foreach ($this->prefixes as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) { + return $dir.DIRECTORY_SEPARATOR.$classPath; + } + } + } + } + + foreach ($this->fallbackDirs as $dir) { + if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) { + return $dir.DIRECTORY_SEPARATOR.$classPath; + } + } + + if ($this->useIncludePath && $file = self::resolveIncludePath($classPath)) { + return $file; + } + + return $this->classMap[$class] = false; + } + + private function getClassPath($class) { + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR; + $className = substr($class, $pos + 1); + } + else { + // PEAR-like class name + $classPath = null; + $className = $class; + } + + $className = str_replace('_', DIRECTORY_SEPARATOR, $className); + + // restore the prefix + if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) { + $className[0] = '_'; + } + + $classPath .= $className.'.php'; + + return $classPath; + } + + public static function resolveIncludePath($classPath) { + $paths = explode(PATH_SEPARATOR, get_include_path()); + + foreach ($paths as $path) { + $path = rtrim($path, '/\\'); + + if ($file = file_exists($path.DIRECTORY_SEPARATOR.$file)) { + return $file; + } + } + + return false; + } +} diff --git a/wp-vendor/composer/LICENSE b/wp-vendor/composer/LICENSE new file mode 100644 index 0000000000..1a28124886 --- /dev/null +++ b/wp-vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) 2016 Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/wp-vendor/composer/autoload_classmap.php b/wp-vendor/composer/autoload_classmap.php new file mode 100644 index 0000000000..20a789eff3 --- /dev/null +++ b/wp-vendor/composer/autoload_classmap.php @@ -0,0 +1,201 @@ + $baseDir . '/src/wp-admin/includes/class-automatic-upgrader-skin.php', + 'Bulk_Plugin_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-bulk-plugin-upgrader-skin.php', + 'Bulk_Theme_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-bulk-theme-upgrader-skin.php', + 'Bulk_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-bulk-upgrader-skin.php', + 'Core_Upgrader' => $baseDir . '/src/wp-admin/includes/class-core-upgrader.php', + 'Custom_Background' => $baseDir . '/src/wp-admin/custom-background.php', + 'Custom_Image_Header' => $baseDir . '/src/wp-admin/custom-header.php', + 'File_Upload_Upgrader' => $baseDir . '/src/wp-admin/includes/class-file-upload-upgrader.php', + 'IXR_Base64' => $baseDir . '/src/wp-includes/IXR/class-IXR-base64.php', + 'IXR_Client' => $baseDir . '/src/wp-includes/IXR/class-IXR-client.php', + 'IXR_ClientMulticall' => $baseDir . '/src/wp-includes/IXR/class-IXR-clientmulticall.php', + 'IXR_Date' => $baseDir . '/src/wp-includes/IXR/class-IXR-date.php', + 'IXR_Error' => $baseDir . '/src/wp-includes/IXR/class-IXR-error.php', + 'IXR_IntrospectionServer' => $baseDir . '/src/wp-includes/IXR/class-IXR-introspectionserver.php', + 'IXR_Message' => $baseDir . '/src/wp-includes/IXR/class-IXR-message.php', + 'IXR_Request' => $baseDir . '/src/wp-includes/IXR/class-IXR-request.php', + 'IXR_Server' => $baseDir . '/src/wp-includes/IXR/class-IXR-server.php', + 'IXR_Value' => $baseDir . '/src/wp-includes/IXR/class-IXR-value.php', + 'Language_Pack_Upgrader' => $baseDir . '/src/wp-admin/includes/class-language-pack-upgrader.php', + 'Language_Pack_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-language-pack-upgrader-skin.php', + 'PHPMailer' => $baseDir . '/src/wp-includes/class-phpmailer.php', + 'POP3' => $baseDir . '/src/wp-includes/class-pop3.php', + 'PasswordHash' => $baseDir . '/src/wp-includes/class-phpass.php', + 'PclZip' => $baseDir . '/src/wp-admin/includes/class-pclzip.php', + 'Plugin_Installer_Skin' => $baseDir . '/src/wp-admin/includes/class-plugin-installer-skin.php', + 'Plugin_Upgrader' => $baseDir . '/src/wp-admin/includes/class-plugin-upgrader.php', + 'Plugin_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-plugin-upgrader-skin.php', + 'Requests' => $baseDir . '/src/wp-includes/class-requests.php', + 'SMTP' => $baseDir . '/src/wp-includes/class-smtp.php', + 'Services_JSON' => $baseDir . '/src/wp-includes/class-json.php', + 'Services_JSON_Error' => $baseDir . '/src/wp-includes/class-json.php', + 'SimplePie' => $baseDir . '/src/wp-includes/class-simplepie.php', + 'Theme_Installer_Skin' => $baseDir . '/src/wp-admin/includes/class-theme-installer-skin.php', + 'Theme_Upgrader' => $baseDir . '/src/wp-admin/includes/class-theme-upgrader.php', + 'Theme_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-theme-upgrader-skin.php', + 'WP' => $baseDir . '/src/wp-includes/class-wp.php', + 'WP_Admin_Bar' => $baseDir . '/src/wp-includes/class-wp-admin-bar.php', + 'WP_Ajax_Response' => $baseDir . '/src/wp-includes/class-wp-ajax-response.php', + 'WP_Ajax_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-wp-ajax-upgrader-skin.php', + 'WP_Automatic_Updater' => $baseDir . '/src/wp-admin/includes/class-wp-automatic-updater.php', + 'WP_Comment' => $baseDir . '/src/wp-includes/class-wp-comment.php', + 'WP_Comment_Query' => $baseDir . '/src/wp-includes/class-wp-comment-query.php', + 'WP_Comments_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-comments-list-table.php', + 'WP_Customize_Background_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-background-image-control.php', + 'WP_Customize_Background_Image_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-background-image-setting.php', + 'WP_Customize_Color_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-color-control.php', + 'WP_Customize_Control' => $baseDir . '/src/wp-includes/class-wp-customize-control.php', + 'WP_Customize_Cropped_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-cropped-image-control.php', + 'WP_Customize_Filter_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-filter-setting.php', + 'WP_Customize_Header_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-header-image-control.php', + 'WP_Customize_Header_Image_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-header-image-setting.php', + 'WP_Customize_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-image-control.php', + 'WP_Customize_Manager' => $baseDir . '/src/wp-includes/class-wp-customize-manager.php', + 'WP_Customize_Media_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-media-control.php', + 'WP_Customize_Nav_Menu_Auto_Add_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-auto-add-control.php', + 'WP_Customize_Nav_Menu_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-control.php', + 'WP_Customize_Nav_Menu_Item_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-item-control.php', + 'WP_Customize_Nav_Menu_Item_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php', + 'WP_Customize_Nav_Menu_Location_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-location-control.php', + 'WP_Customize_Nav_Menu_Name_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-name-control.php', + 'WP_Customize_Nav_Menu_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-section.php', + 'WP_Customize_Nav_Menu_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-setting.php', + 'WP_Customize_Nav_Menus' => $baseDir . '/src/wp-includes/class-wp-customize-nav-menus.php', + 'WP_Customize_Nav_Menus_Panel' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menus-panel.php', + 'WP_Customize_New_Menu_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-new-menu-control.php', + 'WP_Customize_New_Menu_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-new-menu-section.php', + 'WP_Customize_Panel' => $baseDir . '/src/wp-includes/class-wp-customize-panel.php', + 'WP_Customize_Partial' => $baseDir . '/src/wp-includes/customize/class-wp-customize-partial.php', + 'WP_Customize_Section' => $baseDir . '/src/wp-includes/class-wp-customize-section.php', + 'WP_Customize_Selective_Refresh' => $baseDir . '/src/wp-includes/customize/class-wp-customize-selective-refresh.php', + 'WP_Customize_Setting' => $baseDir . '/src/wp-includes/class-wp-customize-setting.php', + 'WP_Customize_Sidebar_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-sidebar-section.php', + 'WP_Customize_Site_Icon_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-site-icon-control.php', + 'WP_Customize_Theme_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-theme-control.php', + 'WP_Customize_Themes_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-themes-section.php', + 'WP_Customize_Upload_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-upload-control.php', + 'WP_Customize_Widgets' => $baseDir . '/src/wp-includes/class-wp-customize-widgets.php', + 'WP_Date_Query' => $baseDir . '/src/wp-includes/date.php', + 'WP_Dependencies' => $baseDir . '/src/wp-includes/class.wp-dependencies.php', + 'WP_Embed' => $baseDir . '/src/wp-includes/class-wp-embed.php', + 'WP_Error' => $baseDir . '/src/wp-includes/class-wp-error.php', + 'WP_Feed_Cache' => $baseDir . '/src/wp-includes/class-wp-feed-cache.php', + 'WP_Feed_Cache_Transient' => $baseDir . '/src/wp-includes/class-wp-feed-cache-transient.php', + 'WP_Filesystem_Base' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-base.php', + 'WP_Filesystem_Direct' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-direct.php', + 'WP_Filesystem_FTPext' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-ftpext.php', + 'WP_Filesystem_SSH2' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-ssh2.php', + 'WP_Filesystem_ftpsockets' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-ftpsockets.php', + 'WP_HTTP_Fsockopen' => $baseDir . '/src/wp-includes/class-wp-http-streams.php', + 'WP_HTTP_IXR_Client' => $baseDir . '/src/wp-includes/class-wp-http-ixr-client.php', + 'WP_HTTP_Proxy' => $baseDir . '/src/wp-includes/class-wp-http-proxy.php', + 'WP_HTTP_Requests_Response' => $baseDir . '/src/wp-includes/class-wp-http-requests-response.php', + 'WP_HTTP_Response' => $baseDir . '/src/wp-includes/class-wp-http-response.php', + 'WP_Http' => $baseDir . '/src/wp-includes/class-http.php', + 'WP_Http_Cookie' => $baseDir . '/src/wp-includes/class-wp-http-cookie.php', + 'WP_Http_Curl' => $baseDir . '/src/wp-includes/class-wp-http-curl.php', + 'WP_Http_Encoding' => $baseDir . '/src/wp-includes/class-wp-http-encoding.php', + 'WP_Http_Streams' => $baseDir . '/src/wp-includes/class-wp-http-streams.php', + 'WP_Image_Editor' => $baseDir . '/src/wp-includes/class-wp-image-editor.php', + 'WP_Image_Editor_GD' => $baseDir . '/src/wp-includes/class-wp-image-editor-gd.php', + 'WP_Image_Editor_Imagick' => $baseDir . '/src/wp-includes/class-wp-image-editor-imagick.php', + 'WP_Importer' => $baseDir . '/src/wp-admin/includes/class-wp-importer.php', + 'WP_Internal_Pointers' => $baseDir . '/src/wp-admin/includes/class-wp-internal-pointers.php', + 'WP_Links_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-links-list-table.php', + 'WP_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-list-table.php', + 'WP_Locale' => $baseDir . '/src/wp-includes/class-wp-locale.php', + 'WP_MS_Sites_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-ms-sites-list-table.php', + 'WP_MS_Themes_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-ms-themes-list-table.php', + 'WP_MS_Users_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-ms-users-list-table.php', + 'WP_MatchesMapRegex' => $baseDir . '/src/wp-includes/class-wp-matchesmapregex.php', + 'WP_Media_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-media-list-table.php', + 'WP_Meta_Query' => $baseDir . '/src/wp-includes/class-wp-meta-query.php', + 'WP_Metadata_Lazyloader' => $baseDir . '/src/wp-includes/class-wp-metadata-lazyloader.php', + 'WP_Nav_Menu_Widget' => $baseDir . '/src/wp-includes/widgets/class-wp-nav-menu-widget.php', + 'WP_Network' => $baseDir . '/src/wp-includes/class-wp-network.php', + 'WP_Network_Query' => $baseDir . '/src/wp-includes/class-wp-network-query.php', + 'WP_Plugin_Install_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-plugin-install-list-table.php', + 'WP_Plugins_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-plugins-list-table.php', + 'WP_Post' => $baseDir . '/src/wp-includes/class-wp-post.php', + 'WP_Post_Comments_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-post-comments-list-table.php', + 'WP_Post_Type' => $baseDir . '/src/wp-includes/class-wp-post-type.php', + 'WP_Posts_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-posts-list-table.php', + 'WP_Press_This' => $baseDir . '/src/wp-admin/includes/class-wp-press-this.php', + 'WP_Query' => $baseDir . '/src/wp-includes/class-wp-query.php', + 'WP_REST_Request' => $baseDir . '/src/wp-includes/rest-api/class-wp-rest-request.php', + 'WP_REST_Response' => $baseDir . '/src/wp-includes/rest-api/class-wp-rest-response.php', + 'WP_REST_Server' => $baseDir . '/src/wp-includes/rest-api/class-wp-rest-server.php', + 'WP_Rewrite' => $baseDir . '/src/wp-includes/class-wp-rewrite.php', + 'WP_Role' => $baseDir . '/src/wp-includes/class-wp-role.php', + 'WP_Roles' => $baseDir . '/src/wp-includes/class-wp-roles.php', + 'WP_Screen' => $baseDir . '/src/wp-admin/includes/class-wp-screen.php', + 'WP_Scripts' => $baseDir . '/src/wp-includes/class.wp-scripts.php', + 'WP_Session_Tokens' => $baseDir . '/src/wp-includes/class-wp-session-tokens.php', + 'WP_SimplePie_File' => $baseDir . '/src/wp-includes/class-wp-simplepie-file.php', + 'WP_SimplePie_Sanitize_KSES' => $baseDir . '/src/wp-includes/class-wp-simplepie-sanitize-kses.php', + 'WP_Site' => $baseDir . '/src/wp-includes/class-wp-site.php', + 'WP_Site_Icon' => $baseDir . '/src/wp-admin/includes/class-wp-site-icon.php', + 'WP_Site_Query' => $baseDir . '/src/wp-includes/class-wp-site-query.php', + 'WP_Styles' => $baseDir . '/src/wp-includes/class.wp-styles.php', + 'WP_Tax_Query' => $baseDir . '/src/wp-includes/class-wp-tax-query.php', + 'WP_Term' => $baseDir . '/src/wp-includes/class-wp-term.php', + 'WP_Term_Query' => $baseDir . '/src/wp-includes/class-wp-term-query.php', + 'WP_Terms_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-terms-list-table.php', + 'WP_Text_Diff_Renderer_Table' => $baseDir . '/src/wp-includes/class-wp-text-diff-renderer-table.php', + 'WP_Text_Diff_Renderer_inline' => $baseDir . '/src/wp-includes/class-wp-text-diff-renderer-inline.php', + 'WP_Theme' => $baseDir . '/src/wp-includes/class-wp-theme.php', + 'WP_Theme_Install_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-theme-install-list-table.php', + 'WP_Themes_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-themes-list-table.php', + 'WP_Upgrader' => $baseDir . '/src/wp-admin/includes/class-wp-upgrader.php', + 'WP_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-wp-upgrader-skin.php', + 'WP_User' => $baseDir . '/src/wp-includes/class-wp-user.php', + 'WP_User_Meta_Session_Tokens' => $baseDir . '/src/wp-includes/class-wp-user-meta-session-tokens.php', + 'WP_User_Query' => $baseDir . '/src/wp-includes/class-wp-user-query.php', + 'WP_Users_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-users-list-table.php', + 'WP_Widget' => $baseDir . '/src/wp-includes/class-wp-widget.php', + 'WP_Widget_Archives' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-archives.php', + 'WP_Widget_Area_Customize_Control' => $baseDir . '/src/wp-includes/customize/class-wp-widget-area-customize-control.php', + 'WP_Widget_Calendar' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-calendar.php', + 'WP_Widget_Categories' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-categories.php', + 'WP_Widget_Factory' => $baseDir . '/src/wp-includes/class-wp-widget-factory.php', + 'WP_Widget_Form_Customize_Control' => $baseDir . '/src/wp-includes/customize/class-wp-widget-form-customize-control.php', + 'WP_Widget_Links' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-links.php', + 'WP_Widget_Meta' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-meta.php', + 'WP_Widget_Pages' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-pages.php', + 'WP_Widget_RSS' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-rss.php', + 'WP_Widget_Recent_Comments' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-recent-comments.php', + 'WP_Widget_Recent_Posts' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-recent-posts.php', + 'WP_Widget_Search' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-search.php', + 'WP_Widget_Tag_Cloud' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-tag-cloud.php', + 'WP_Widget_Text' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-text.php', + 'WP_oEmbed' => $baseDir . '/src/wp-includes/class-oembed.php', + 'WP_oEmbed_Controller' => $baseDir . '/src/wp-includes/class-wp-oembed-controller.php', + 'Walker' => $baseDir . '/src/wp-includes/class-wp-walker.php', + 'Walker_Category' => $baseDir . '/src/wp-includes/class-walker-category.php', + 'Walker_CategoryDropdown' => $baseDir . '/src/wp-includes/class-walker-category-dropdown.php', + 'Walker_Category_Checklist' => $baseDir . '/src/wp-admin/includes/class-walker-category-checklist.php', + 'Walker_Comment' => $baseDir . '/src/wp-includes/class-walker-comment.php', + 'Walker_Nav_Menu' => $baseDir . '/src/wp-includes/class-walker-nav-menu.php', + 'Walker_Nav_Menu_Checklist' => $baseDir . '/src/wp-admin/includes/class-walker-nav-menu-checklist.php', + 'Walker_Nav_Menu_Edit' => $baseDir . '/src/wp-admin/includes/class-walker-nav-menu-edit.php', + 'Walker_Page' => $baseDir . '/src/wp-includes/class-walker-page.php', + 'Walker_PageDropdown' => $baseDir . '/src/wp-includes/class-walker-page-dropdown.php', + '_WP_Dependency' => $baseDir . '/src/wp-includes/class-wp-dependency.php', + '_WP_Editors' => $baseDir . '/src/wp-includes/class-wp-editor.php', + '_WP_List_Table_Compat' => $baseDir . '/src/wp-admin/includes/class-wp-list-table-compat.php', + 'ftp' => $baseDir . '/src/wp-admin/includes/class-ftp.php', + 'ftp_base' => $baseDir . '/src/wp-admin/includes/class-ftp.php', + 'ftp_pure' => $baseDir . '/src/wp-admin/includes/class-ftp-pure.php', + 'ftp_sockets' => $baseDir . '/src/wp-admin/includes/class-ftp-sockets.php', + 'phpmailerException' => $baseDir . '/src/wp-includes/class-phpmailer.php', + 'wp_xmlrpc_server' => $baseDir . '/src/wp-includes/class-wp-xmlrpc-server.php', + 'wpdb' => $baseDir . '/src/wp-includes/wp-db.php', +); diff --git a/wp-vendor/composer/autoload_namespaces.php b/wp-vendor/composer/autoload_namespaces.php new file mode 100644 index 0000000000..8e1a8567bd --- /dev/null +++ b/wp-vendor/composer/autoload_namespaces.php @@ -0,0 +1,10 @@ + array($vendorDir . '/xrstf/composer-php52/lib'), +); diff --git a/wp-vendor/composer/autoload_psr4.php b/wp-vendor/composer/autoload_psr4.php new file mode 100644 index 0000000000..80607ee977 --- /dev/null +++ b/wp-vendor/composer/autoload_psr4.php @@ -0,0 +1,9 @@ + $path) { + $loader->add($namespace, $path); + } + + $classMap = require $dir.'/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + + $loader->register(true); + + return $loader; + } +} diff --git a/wp-vendor/composer/installed.json b/wp-vendor/composer/installed.json new file mode 100644 index 0000000000..fa402a990a --- /dev/null +++ b/wp-vendor/composer/installed.json @@ -0,0 +1,35 @@ +[ + { + "name": "xrstf/composer-php52", + "version": "v1.0.20", + "version_normalized": "1.0.20.0", + "source": { + "type": "git", + "url": "https://github.com/composer-php52/composer-php52.git", + "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8", + "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8", + "shasum": "" + }, + "time": "2016-04-16 21:52:24", + "type": "library", + "extra": { + "branch-alias": { + "dev-default": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "xrstf\\Composer52": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ] + } +] diff --git a/wp-vendor/xrstf/composer-php52/LICENSE b/wp-vendor/xrstf/composer-php52/LICENSE new file mode 100644 index 0000000000..0e81028e90 --- /dev/null +++ b/wp-vendor/xrstf/composer-php52/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2013 Christoph Mewes + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/wp-vendor/xrstf/composer-php52/README.md b/wp-vendor/xrstf/composer-php52/README.md new file mode 100644 index 0000000000..e0b6cdac04 --- /dev/null +++ b/wp-vendor/xrstf/composer-php52/README.md @@ -0,0 +1,37 @@ +PHP 5.2 Autoloading for Composer +================================ + +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`. + +Legacy +------ + +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. + +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/...``. + +Usage +----- + +In your project's `composer.json`, add the following lines: + +```json +{ + "require": { + "xrstf/composer-php52": "1.*" + }, + "scripts": { + "post-install-cmd": [ + "xrstf\\Composer52\\Generator::onPostInstallCmd" + ], + "post-update-cmd": [ + "xrstf\\Composer52\\Generator::onPostInstallCmd" + ], + "post-autoload-dump": [ + "xrstf\\Composer52\\Generator::onPostInstallCmd" + ] + } +} +``` + +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. diff --git a/wp-vendor/xrstf/composer-php52/composer.json b/wp-vendor/xrstf/composer-php52/composer.json new file mode 100644 index 0000000000..c6d6a9e51a --- /dev/null +++ b/wp-vendor/xrstf/composer-php52/composer.json @@ -0,0 +1,26 @@ +{ + "name": "xrstf/composer-php52", + "license": "MIT", + "support": { + "source": "https://github.com/composer-php52/composer-php52", + "issues": "https://github.com/composer-php52/composer-php52/issues" + }, + "autoload": { + "psr-0": { + "xrstf\\Composer52": "lib/" + } + }, + "scripts": { + "post-install-cmd": [ + "xrstf\\Composer52\\Generator::onPostInstallCmd" + ], + "post-update-cmd": [ + "xrstf\\Composer52\\Generator::onPostInstallCmd" + ] + }, + "extra": { + "branch-alias": { + "dev-default": "1.x-dev" + } + } +} diff --git a/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php b/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php new file mode 100644 index 0000000000..2e93e6f320 --- /dev/null +++ b/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php @@ -0,0 +1,346 @@ + + * - Jordi Boggiano + */ + +namespace xrstf\Composer52; + +use Composer\Autoload\AutoloadGenerator as BaseGenerator; +use Composer\Autoload\ClassMapGenerator; +use Composer\Config; +use Composer\Installer\InstallationManager; +use Composer\Package\AliasPackage; +use Composer\Package\PackageInterface; +use Composer\Repository\InstalledRepositoryInterface; +use Composer\Util\Filesystem; + +class AutoloadGenerator extends BaseGenerator { + + /** + * @var bool + */ + private $classMapAuthoritative = false; + + public function __construct() { + // do nothing (but keep this constructor so we can build an instance without the need for an event dispatcher) + } + + /** + * Whether or not generated autoloader considers the class map + * authoritative. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = (boolean) $classMapAuthoritative; + } + + public function dump(Config $config, InstalledRepositoryInterface $localRepo, PackageInterface $mainPackage, InstallationManager $installationManager, $targetDir, $scanPsr0Packages = false, $suffix = '') { + if ($this->classMapAuthoritative) { + // Force scanPsr0Packages when classmap is authoritative + $scanPsr0Packages = true; + } + + $filesystem = new Filesystem(); + $filesystem->ensureDirectoryExists($config->get('vendor-dir')); + + $cwd = getcwd(); + $basePath = $filesystem->normalizePath($cwd); + $vendorPath = $filesystem->normalizePath(realpath($config->get('vendor-dir'))); + $targetDir = $vendorPath.'/'.$targetDir; + $filesystem->ensureDirectoryExists($targetDir); + + $useGlobalIncludePath = (bool) $config->get('use-include-path'); + $prependAutoloader = $config->get('prepend-autoloader') === false ? 'false' : 'true'; + $classMapAuthoritative = $config->get('classmap-authoritative'); + + $vendorPathCode = $filesystem->findShortestPathCode(realpath($targetDir), $vendorPath, true); + $vendorPathToTargetDirCode = $filesystem->findShortestPathCode($vendorPath, realpath($targetDir), true); + + $appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $basePath, true); + $appBaseDirCode = str_replace('__DIR__', '$vendorDir', $appBaseDirCode); + + // add 5.2 compat + $vendorPathCode = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathCode); + $vendorPathToTargetDirCode = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathToTargetDirCode); + + $packageMap = $this->buildPackageMap($installationManager, $mainPackage, $localRepo->getCanonicalPackages()); + $autoloads = $this->parseAutoloads($packageMap, $mainPackage); + + // add custom psr-0 autoloading if the root package has a target dir + $targetDirLoader = null; + $mainAutoload = $mainPackage->getAutoload(); + if ($mainPackage->getTargetDir() && !empty($mainAutoload['psr-0'])) { + $levels = count(explode('/', $filesystem->normalizePath($mainPackage->getTargetDir()))); + $prefixes = implode(', ', array_map(function ($prefix) { + return var_export($prefix, true); + }, array_keys($mainAutoload['psr-0']))); + + $baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $basePath, true); + + $targetDirLoader = <<isPHP53($functionFile)) { + $filesCode .= '// require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile)."; // disabled because of PHP 5.3 syntax\n"; + } + else { + $filesCode .= ' require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile).";\n"; + } + } + + if (!$suffix) { + $suffix = md5(uniqid('', true)); + } + + $includePathFile = $this->getIncludePathsFile($packageMap, $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode); + + file_put_contents($vendorPath.'/autoload_52.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix)); + file_put_contents($targetDir.'/autoload_real_52.php', $this->getAutoloadRealFile(true, (bool) $includePathFile, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader)); + + // use stream_copy_to_stream instead of copy + // to work around https://bugs.php.net/bug.php?id=64634 + $sourceLoader = fopen(__DIR__.'/ClassLoader.php', 'r'); + $targetLoader = fopen($targetDir.'/ClassLoader52.php', 'w+'); + stream_copy_to_stream($sourceLoader, $targetLoader); + fclose($sourceLoader); + fclose($targetLoader); + unset($sourceLoader, $targetLoader); + } + + protected function isPHP53($file) { + $tokens = token_get_all(file_get_contents($file)); + $php53 = array(T_DIR, T_GOTO, T_NAMESPACE, T_NS_C, T_NS_SEPARATOR, T_USE); + + // PHP 5.4+ + if (defined('T_TRAIT')) { + $php53[] = T_TRAIT; + $php53[] = T_TRAIT_C; + $php53[] = T_TRAIT_C; + } + + // PHP 5.5+ + if (defined('T_FINALLY')) { + $php53[] = T_FINALLY; + $php53[] = T_YIELD; + } + + foreach ($tokens as $token) { + if (is_array($token) && in_array($token[0], $php53)) { + return true; + } + } + + return false; + } + + protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode) { + $includePaths = array(); + + foreach ($packageMap as $item) { + list($package, $installPath) = $item; + + if (null !== $package->getTargetDir() && strlen($package->getTargetDir()) > 0) { + $installPath = substr($installPath, 0, -strlen('/'.$package->getTargetDir())); + } + + foreach ($package->getIncludePaths() as $includePath) { + $includePath = trim($includePath, '/'); + $includePaths[] = empty($installPath) ? $includePath : $installPath.'/'.$includePath; + } + } + + if (!$includePaths) { + return; + } + + $includePathsFile = <<getPathCode($filesystem, $basePath, $vendorPath, $path) . ",\n"; + } + + return $includePathsFile . ");\n"; + } + + protected function getAutoloadFile($vendorPathToTargetDirCode, $suffix) { + return << $path) { + $loader->add($namespace, $path); + } + + +PSR0; + + if ($useClassMap) { + $file .= <<<'CLASSMAP' + $classMap = require $dir.'/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + + +CLASSMAP; + } + + if ($this->classMapAuthoritative) { + $file .= <<<'CLASSMAPAUTHORITATIVE' + $loader->setClassMapAuthoritative(true); + +CLASSMAPAUTHORITATIVE; + } + + if ($useGlobalIncludePath) { + $file .= <<<'INCLUDEPATH' + $loader->setUseIncludePath(true); + + +INCLUDEPATH; + } + + if ($targetDirLoader) { + $file .= <<register($prependAutoloader);{$filesCode} + + return \$loader; + } + +METHOD_FOOTER; + + $file .= $targetDirLoader; + + return $file . <<