Changeset 2082860
- Timestamp:
- 05/07/2019 09:03:55 PM (7 years ago)
- Location:
- waj-scripts
- Files:
-
- 158 added
- 14 edited
-
tags/1.1.0 (added)
-
tags/1.1.0/LICENSE (added)
-
tags/1.1.0/composer.json (added)
-
tags/1.1.0/readme.txt (added)
-
tags/1.1.0/src (added)
-
tags/1.1.0/src/WPScriptThemeOption.php (added)
-
tags/1.1.0/src/WPScripts.php (added)
-
tags/1.1.0/src/WPSheetManager.php (added)
-
tags/1.1.0/src/WPStylesheets.php (added)
-
tags/1.1.0/tests (added)
-
tags/1.1.0/tests/MockWordPress.php (added)
-
tags/1.1.0/tests/WPScriptsTest.php (added)
-
tags/1.1.0/tests/WPStylesheetsTest.php (added)
-
tags/1.1.0/tests/css (added)
-
tags/1.1.0/tests/css/home.css (added)
-
tags/1.1.0/tests/css/main.css (added)
-
tags/1.1.0/tests/css/page.css (added)
-
tags/1.1.0/tests/js (added)
-
tags/1.1.0/tests/js/home.js (added)
-
tags/1.1.0/tests/js/jquery.js (added)
-
tags/1.1.0/tests/js/main.js (added)
-
tags/1.1.0/tests/js/page.js (added)
-
tags/1.1.0/vendor (added)
-
tags/1.1.0/vendor/autoload.php (added)
-
tags/1.1.0/vendor/bin (added)
-
tags/1.1.0/vendor/composer (added)
-
tags/1.1.0/vendor/composer/ClassLoader.php (added)
-
tags/1.1.0/vendor/composer/LICENSE (added)
-
tags/1.1.0/vendor/composer/autoload_classmap.php (added)
-
tags/1.1.0/vendor/composer/autoload_files.php (added)
-
tags/1.1.0/vendor/composer/autoload_namespaces.php (added)
-
tags/1.1.0/vendor/composer/autoload_psr4.php (added)
-
tags/1.1.0/vendor/composer/autoload_real.php (added)
-
tags/1.1.0/vendor/composer/autoload_static.php (added)
-
tags/1.1.0/vendor/composer/installed.json (added)
-
tags/1.1.0/vendor/psr (added)
-
tags/1.1.0/vendor/psr/http-message (added)
-
tags/1.1.0/vendor/psr/http-message/CHANGELOG.md (added)
-
tags/1.1.0/vendor/psr/http-message/LICENSE (added)
-
tags/1.1.0/vendor/psr/http-message/README.md (added)
-
tags/1.1.0/vendor/psr/http-message/composer.json (added)
-
tags/1.1.0/vendor/psr/http-message/src (added)
-
tags/1.1.0/vendor/psr/http-message/src/MessageInterface.php (added)
-
tags/1.1.0/vendor/psr/http-message/src/RequestInterface.php (added)
-
tags/1.1.0/vendor/psr/http-message/src/ResponseInterface.php (added)
-
tags/1.1.0/vendor/psr/http-message/src/ServerRequestInterface.php (added)
-
tags/1.1.0/vendor/psr/http-message/src/StreamInterface.php (added)
-
tags/1.1.0/vendor/psr/http-message/src/UploadedFileInterface.php (added)
-
tags/1.1.0/vendor/psr/http-message/src/UriInterface.php (added)
-
tags/1.1.0/vendor/spatie (added)
-
tags/1.1.0/vendor/spatie/macroable (added)
-
tags/1.1.0/vendor/spatie/macroable/.styleci.yml (added)
-
tags/1.1.0/vendor/spatie/macroable/CHANGELOG.md (added)
-
tags/1.1.0/vendor/spatie/macroable/CONTRIBUTING.md (added)
-
tags/1.1.0/vendor/spatie/macroable/LICENSE.md (added)
-
tags/1.1.0/vendor/spatie/macroable/README.md (added)
-
tags/1.1.0/vendor/spatie/macroable/composer.json (added)
-
tags/1.1.0/vendor/spatie/macroable/config (added)
-
tags/1.1.0/vendor/spatie/macroable/config/.gitkeep (added)
-
tags/1.1.0/vendor/spatie/macroable/src (added)
-
tags/1.1.0/vendor/spatie/macroable/src/Macroable.php (added)
-
tags/1.1.0/vendor/spatie/url (added)
-
tags/1.1.0/vendor/spatie/url/.editorconfig (added)
-
tags/1.1.0/vendor/spatie/url/.styleci.yml (added)
-
tags/1.1.0/vendor/spatie/url/CHANGELOG.md (added)
-
tags/1.1.0/vendor/spatie/url/CONTRIBUTING.md (added)
-
tags/1.1.0/vendor/spatie/url/LICENSE.md (added)
-
tags/1.1.0/vendor/spatie/url/README.md (added)
-
tags/1.1.0/vendor/spatie/url/composer.json (added)
-
tags/1.1.0/vendor/spatie/url/src (added)
-
tags/1.1.0/vendor/spatie/url/src/Exceptions (added)
-
tags/1.1.0/vendor/spatie/url/src/Exceptions/InvalidArgument.php (added)
-
tags/1.1.0/vendor/spatie/url/src/Helpers (added)
-
tags/1.1.0/vendor/spatie/url/src/Helpers/Arr.php (added)
-
tags/1.1.0/vendor/spatie/url/src/QueryParameterBag.php (added)
-
tags/1.1.0/vendor/spatie/url/src/Url.php (added)
-
tags/1.1.0/vendor/waughj (added)
-
tags/1.1.0/vendor/waughj/directory (added)
-
tags/1.1.0/vendor/waughj/directory/.gitignore (added)
-
tags/1.1.0/vendor/waughj/directory/.phpunit.result.cache (added)
-
tags/1.1.0/vendor/waughj/directory/LICENSE (added)
-
tags/1.1.0/vendor/waughj/directory/README.md (added)
-
tags/1.1.0/vendor/waughj/directory/composer.json (added)
-
tags/1.1.0/vendor/waughj/directory/phpunit.xml (added)
-
tags/1.1.0/vendor/waughj/directory/src (added)
-
tags/1.1.0/vendor/waughj/directory/src/Directory.php (added)
-
tags/1.1.0/vendor/waughj/directory/tests (added)
-
tags/1.1.0/vendor/waughj/directory/tests/DirectoryTest.php (added)
-
tags/1.1.0/vendor/waughj/file-loader (added)
-
tags/1.1.0/vendor/waughj/file-loader/.gitignore (added)
-
tags/1.1.0/vendor/waughj/file-loader/LICENSE (added)
-
tags/1.1.0/vendor/waughj/file-loader/README.md (added)
-
tags/1.1.0/vendor/waughj/file-loader/composer.json (added)
-
tags/1.1.0/vendor/waughj/file-loader/phpunit.xml (added)
-
tags/1.1.0/vendor/waughj/file-loader/src (added)
-
tags/1.1.0/vendor/waughj/file-loader/src/FileLoader.php (added)
-
tags/1.1.0/vendor/waughj/file-loader/tests (added)
-
tags/1.1.0/vendor/waughj/file-loader/tests/FileLoaderTest.php (added)
-
tags/1.1.0/vendor/waughj/test-hash-item (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/.gitignore (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/LICENSE (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/README.md (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/composer.json (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/phpunit.xml (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/src (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/src/TestHashItem.php (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/tests (added)
-
tags/1.1.0/vendor/waughj/test-hash-item/tests/TestHashItemTest.php (added)
-
tags/1.1.0/vendor/waughj/verified-arguments (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/.gitignore (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/LICENSE (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/README.md (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/composer.json (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/phpunit.xml (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/src (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/src/VerifiedArgumentsSameType.php (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/tests (added)
-
tags/1.1.0/vendor/waughj/verified-arguments-same-type/tests/VerifiedArgumentsSameTypeTest.php (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/.gitignore (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/LICENSE (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/README.md (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/composer.json (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/phpunit.xml (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/src (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/src/VerifiedArguments.php (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/tests (added)
-
tags/1.1.0/vendor/waughj/verified-arguments/tests/VerifiedArgumentsTest.php (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/.gitignore (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/LICENSE (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/README.md (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/composer.json (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/phpunit.xml (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/src (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/src/WPMetaBox.php (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/tests (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/tests/MockWordPress.php (added)
-
tags/1.1.0/vendor/waughj/wp-meta-box/tests/WPMetaBoxTest.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/.gitignore (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/LICENSE (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/README.md (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/composer.json (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/phpunit.xml (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/src (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/src/ComposerTemplate.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/src/WPThemeOption.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/src/WPThemeOptionsPage.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/src/WPThemeOptionsPageManager.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/src/WPThemeOptionsSection.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/tests (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/tests/MockWordPress.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/tests/WPThemeOptionTest.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/tests/WPThemeOptionsPageManagerTest.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/tests/WPThemeOptionsPageTest.php (added)
-
tags/1.1.0/vendor/waughj/wp-theme-option/tests/WPThemeOptionsSectionTest.php (added)
-
tags/1.1.0/waj-scripts.php (added)
-
trunk/composer.json (modified) (1 diff)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/src/WPScripts.php (modified) (3 diffs)
-
trunk/src/WPSheetManager.php (modified) (7 diffs)
-
trunk/src/WPStylesheets.php (modified) (2 diffs)
-
trunk/tests/MockWordPress.php (modified) (4 diffs)
-
trunk/tests/WPScriptsTest.php (modified) (1 diff)
-
trunk/tests/WPStylesheetsTest.php (modified) (1 diff)
-
trunk/vendor/composer/ClassLoader.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.json (modified) (2 diffs)
-
trunk/vendor/waughj/directory/composer.json (modified) (1 diff)
-
trunk/vendor/waughj/directory/src/Directory.php (modified) (9 diffs)
-
trunk/vendor/waughj/directory/tests/DirectoryTest.php (modified) (1 diff)
-
trunk/waj-scripts.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
waj-scripts/trunk/composer.json
r1995163 r2082860 18 18 }, 19 19 "require-dev": { 20 "phpunit/phpunit": " 6.*"20 "phpunit/phpunit": "*" 21 21 }, 22 22 "autoload": { -
waj-scripts/trunk/readme.txt
r2058442 r2082860 3 3 Tags: scripts 4 4 Requires at least: 5.0.0 5 Tested up to: 5.1 6 Stable tag: 1. 0.25 Tested up to: 5.1.1 6 Stable tag: 1.1.0 7 7 Requires PHP: 7.0 8 8 License: GPLv2 or later … … 38 38 == Changelog == 39 39 40 = 1.1.0 = 41 * Add Ability to make mo' complex registration functions for sheet managers & ability to easily register absolute URLs. 42 40 43 = 1.0.2 = 41 44 * Test in WordPress 5.1 … … 44 47 * Fix bug causing meta boxes to try loading empty filename for empty meta boxes. 45 48 46 = 1.0 =49 = 1.0.0 = 47 50 * Initial stable version. -
waj-scripts/trunk/src/WPScripts.php
r1995163 r2082860 27 27 'Page JavaScript' 28 28 ), 29 'main_js', 30 'Main JS', 29 new WPScriptThemeOption( 'main_js', 'Main JS' ), 31 30 'wp_footer' 32 31 ); … … 34 33 self::$no_jquery_checkbox = new WPThemeOption 35 34 ( 36 WPS heetManager::getWPThemeOptionSection(),35 WPScriptThemeOption::getSection(), 37 36 'remove_jquery', 38 ' ¿Remove jQuery?',37 'Remove jQuery?', 39 38 [ 'input_type' => 'checkbox' ] 40 39 ); … … 56 55 { 57 56 self::$sheet_manager->register( $name, self::getWPHook( $load_in_header ) ); 57 } 58 59 public static function registerRaw( string $name, string $src, bool $load_in_header = false, string $version = null ) : void 60 { 61 self::$sheet_manager->registerRaw( $name, $src, self::getWPHook( $load_in_header ), $version ); 62 } 63 64 public static function addRegistrator( callable $function, bool $load_in_header = false ) : void 65 { 66 self::$sheet_manager->addRegistrator( $function, self::getWPHook( $load_in_header ) ); 58 67 } 59 68 -
waj-scripts/trunk/src/WPSheetManager.php
r1996660 r2082860 6 6 use WaughJ\FileLoader\FileLoader; 7 7 use WaughJ\WPMetaBox\WPMetaBox; 8 use WaughJ\WPThemeOption\WPThemeOption;9 use WaughJ\WPThemeOption\WPThemeOptionsPage;10 use WaughJ\WPThemeOption\WPThemeOptionsPageManager;11 use WaughJ\WPThemeOption\WPThemeOptionsSection;12 8 13 9 class WPSheetManager 14 10 { 15 public function __construct( FileLoader $loader, string $wp_action, WPMetaBox $meta_box, string $option_slug, string $option_name, string $default_wp_hook = 'wp_enqueue_scripts' )11 public function __construct( FileLoader $loader, string $wp_action, WPMetaBox $meta_box, WPScriptThemeOption $option, string $default_wp_hook = 'wp_enqueue_scripts' ) 16 12 { 17 13 $this->loader = $loader; … … 19 15 $this->meta_box = $meta_box; 20 16 $this->default_wp_hook = $default_wp_hook; 21 22 $section = self::getWPThemeOptionSection(); 23 $this->option = new WPThemeOption 24 ( 25 $section, 26 $option_slug, 27 $option_name 28 ); 17 $this->option = $option; 29 18 30 19 add_action … … 33 22 function() 34 23 { 35 $main_sheet = $this->option->get OptionValue();24 $main_sheet = $this->option->getValue(); 36 25 if ( $main_sheet !== '' ) 37 26 { … … 59 48 public function register( string $name, string $wp_hook = null ) : void 60 49 { 61 if ( !$wp_hook ) 62 { 63 $wp_hook = $this->default_wp_hook; 64 } 65 add_action( $wp_hook, self::generateRegistrar( $name ) ); 50 add_action( $this->getHook( $wp_hook ), self::generateRegistrar( $name ) ); 51 } 52 53 public function registerRaw( string $name, string $src, string $wp_hook = null, string $version = null ) : void 54 { 55 add_action 56 ( 57 $this->getHook( $wp_hook ), 58 function() use ( $name, $src, $version ) 59 { 60 call_user_func( $this->wp_action, $name, $src, [], $version ); 61 } 62 ); 63 } 64 65 public function addRegistrator( callable $function, string $wp_hook = null ) : void 66 { 67 add_action 68 ( 69 $this->getHook( $wp_hook ), 70 function() use ( $function ) 71 { 72 $sheets = $function(); 73 foreach ( $sheets as $sheet ) 74 { 75 $this->enqueue( $sheet ); 76 } 77 } 78 ); 66 79 } 67 80 … … 74 87 { 75 88 return ( string )( $this->loader->getVersion( $name ) ); 76 }77 78 public static function getWPThemeOptionSection() : WPThemeOptionsSection79 {80 if ( self::$theme_options_section === null )81 {82 if ( self::$theme_options_page === null )83 {84 self::$theme_options_page = WPThemeOptionsPageManager::initializeIfNotAlreadyInitialized( 'directories', 'Directories' );85 }86 self::$theme_options_section = new WPThemeOptionsSection( self::$theme_options_page, 'main_scripts', 'Main Scripts' );87 }88 return self::$theme_options_section;89 89 } 90 90 … … 102 102 } 103 103 104 private function getHook( string $hook = null ) : string 105 { 106 return ( $hook ) ? $hook : $this->default_wp_hook; 107 } 108 104 109 private $loader; 105 110 private $wp_action; … … 107 112 private $default_wp_hook; 108 113 private $option; 109 110 private static $theme_options_page = null;111 private static $theme_options_section = null;112 114 } 113 115 } -
waj-scripts/trunk/src/WPStylesheets.php
r1995163 r2082860 26 26 'Page Stylesheets' 27 27 ), 28 'main_css', 29 'Main CSS' 28 new WPScriptThemeOption( 'main_css', 'Main CSS' ) 30 29 ); 31 30 } … … 36 35 } 37 36 37 public static function registerRaw( string $name, string $src, string $version = null ) : void 38 { 39 self::$sheet_manager->registerRaw( $name, $src, 'wp_enqueue_scripts', $version ); 40 } 41 42 public static function addRegistrator( callable $function ) : void 43 { 44 self::$sheet_manager->addRegistrator( $function, 'wp_enqueue_scripts' ); 45 } 46 38 47 private static $sheet_manager; 39 48 } -
waj-scripts/trunk/tests/MockWordPress.php
r1995163 r2082860 48 48 [ 49 49 'name' => $name, 50 'url' => $url ,50 'url' => $url . ( ( $version ) ? '?m=' . $version : '' ), 51 51 'version' => $version 52 52 ]; … … 59 59 [ 60 60 'name' => $name, 61 'url' => $url ,61 'url' => $url . ( ( $version ) ? '?m=' . $version : '' ), 62 62 'version' => $version 63 63 ]; … … 73 73 if ( array_key_exists( $name, $enqueued_stylesheets ) ) 74 74 { 75 return $enqueued_stylesheets[ $name ][ 'url' ] . '?m=' . $enqueued_stylesheets[ $name ][ 'version' ];75 return $enqueued_stylesheets[ $name ][ 'url' ]; 76 76 } 77 77 return null; … … 83 83 if ( array_key_exists( $name, $enqueued_scripts ) ) 84 84 { 85 return $enqueued_scripts[ $name ][ 'url' ] . '?m=' . $enqueued_scripts[ $name ][ 'version' ];85 return $enqueued_scripts[ $name ][ 'url' ]; 86 86 } 87 87 return null; -
waj-scripts/trunk/tests/WPScriptsTest.php
r1995163 r2082860 20 20 $this->assertEquals( get_script_action( 'jquery' ), 'wp_enqueue_scripts' ); 21 21 } 22 23 public function testAddRegistrator() 24 { 25 WPScripts::addRegistrator 26 ( 27 function() : array 28 { 29 return ( true ) ? [ 'page' ] : [ 'nopage' ]; 30 }, 31 true 32 ); 33 $this->assertTrue( is_script_registered( 'page' ) ); 34 $this->assertFalse( is_script_registered( 'nopage' ) ); 35 $this->assertEquals( get_script_action( 'page' ), 'wp_enqueue_scripts' ); 36 } 37 38 public function testRegisterRaw() 39 { 40 WPScripts::registerRaw( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js' ); 41 $this->assertTrue( is_script_registered( 'jquery' ) ); 42 $this->assertEquals( get_script_url( 'jquery' ), 'https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js' ); 43 } 22 44 } -
waj-scripts/trunk/tests/WPStylesheetsTest.php
r1995163 r2082860 17 17 $this->assertEquals( get_stylesheet_url( 'main' ), 'https://www.example.com/css/main.css?m=' . filemtime( getcwd() . '/tests/css/main.css' ) ); 18 18 } 19 20 public function testAddRegistrator() 21 { 22 WPStylesheets::addRegistrator 23 ( 24 function() : array 25 { 26 return ( true ) ? [ 'page' ] : [ 'nopage' ]; 27 } 28 ); 29 $this->assertTrue( is_stylesheet_registered( 'page' ) ); 30 $this->assertFalse( is_stylesheet_registered( 'nopage' ) ); 31 $this->assertEquals( get_stylesheet_url( 'page' ), 'https://www.example.com/css/page.css?m=' . filemtime( getcwd() . '/tests/css/page.css' ) ); 32 } 33 34 public function testRegisterRaw() 35 { 36 WPStylesheets::registerRaw( 'rubik', 'https://fonts.googleapis.com/css?family=Rubik:400,500,700' ); 37 $this->assertTrue( is_stylesheet_registered( 'rubik' ) ); 38 $this->assertEquals( get_stylesheet_url( 'rubik' ), 'https://fonts.googleapis.com/css?family=Rubik:400,500,700' ); 39 WPStylesheets::registerRaw( 'roboto', 'https://fonts.googleapis.com/css?family=Roboto', '20190507' ); 40 $this->assertTrue( is_stylesheet_registered( 'roboto' ) ); 41 $this->assertEquals( get_stylesheet_url( 'roboto' ), 'https://fonts.googleapis.com/css?family=Roboto?m=20190507' ); 42 } 19 43 } -
waj-scripts/trunk/vendor/composer/ClassLoader.php
r1995163 r2082860 280 280 public function setApcuPrefix($apcuPrefix) 281 281 { 282 $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;282 $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; 283 283 } 284 284 … … 378 378 while (false !== $lastPos = strrpos($subPath, '\\')) { 379 379 $subPath = substr($subPath, 0, $lastPos); 380 $search = $subPath .'\\';380 $search = $subPath . '\\'; 381 381 if (isset($this->prefixDirsPsr4[$search])) { 382 382 $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); -
waj-scripts/trunk/vendor/composer/installed.json
r2058442 r2082860 152 152 { 153 153 "name": "waughj/directory", 154 "version": "0. 2.0",155 "version_normalized": "0. 2.0.0",154 "version": "0.3.0", 155 "version_normalized": "0.3.0.0", 156 156 "source": { 157 157 "type": "git", 158 158 "url": "https://github.com/waughjai/directory.git", 159 "reference": " b95e2acbb9e62c47332f8736b3325330c45b8d55"160 }, 161 "dist": { 162 "type": "zip", 163 "url": "https://api.github.com/repos/waughjai/directory/zipball/ b95e2acbb9e62c47332f8736b3325330c45b8d55",164 "reference": " b95e2acbb9e62c47332f8736b3325330c45b8d55",159 "reference": "ee52acc01d4660a383337b2bf761af2bd153a084" 160 }, 161 "dist": { 162 "type": "zip", 163 "url": "https://api.github.com/repos/waughjai/directory/zipball/ee52acc01d4660a383337b2bf761af2bd153a084", 164 "reference": "ee52acc01d4660a383337b2bf761af2bd153a084", 165 165 "shasum": "" 166 166 }, … … 170 170 }, 171 171 "require-dev": { 172 "phpunit/phpunit": " 6.*"173 }, 174 "time": "201 8-11-27T17:55:13+00:00",172 "phpunit/phpunit": "*" 173 }, 174 "time": "2019-04-18T20:50:42+00:00", 175 175 "type": "libraryt", 176 176 "installation-source": "dist", -
waj-scripts/trunk/vendor/waughj/directory/composer.json
r1995163 r2082860 16 16 }, 17 17 "require-dev": { 18 "phpunit/phpunit": " 6.*"18 "phpunit/phpunit": "*" 19 19 }, 20 20 "autoload": { -
waj-scripts/trunk/vendor/waughj/directory/src/Directory.php
r1995163 r2082860 8 8 class Directory 9 9 { 10 public function __construct( $directories )10 public function __construct( $directories, $protocol = null ) 11 11 { 12 12 if ( is_array( $directories ) ) 13 13 { 14 $this->directories = $directories;14 $this->directories = self::breakDownDirectoryString( implode( '/', $directories ) ); 15 15 } 16 16 else if ( is_string( $directories ) ) … … 34 34 throw new \Exception( "Invalid type: " . gettype( $directories ) ); 35 35 } 36 37 if ( $protocol ) 38 { 39 $this->protocol = $protocol; 40 } 41 else 42 { 43 $matches = []; 44 preg_match( '/^([a-z]+):/', $this->directories[ 0 ], $matches ); 45 if ( count( $matches ) > 1 ) 46 { 47 $this->protocol = $matches[ 1 ]; 48 array_shift( $this->directories ); 49 } 50 else 51 { 52 $this->protocol = null; 53 } 54 } 36 55 } 37 56 … … 46 65 return 47 66 ( ( $settings->get( 'starting-slash' ) ) ? $settings->get( 'divider' ) : '' ) . 67 $this->getFormattedProtocol() . 48 68 implode( $settings->get( 'divider' ), $this->directories ) . 49 69 ( ( $settings->get( 'ending-slash' ) ) ? $settings->get( 'divider' ) : '' ); … … 57 77 public function getStringURL() : string 58 78 { 59 return implode( '/', $this->directories);79 return $this->getString( [ 'starting-slash' => false, 'ending-slash' => false, 'divider' => '/' ] ); 60 80 } 61 81 … … 75 95 { 76 96 $directory = new Directory( $directory ); 77 return new Directory( array_merge( $this->directories, $directory->getDirectoryChain() ) );97 return new Directory( array_merge( $this->directories, $directory->getDirectoryChain() ), $this->protocol ); 78 98 } 79 99 … … 87 107 // Remove last directory o' list ( since this function mutates array, we need to use a copy ) 88 108 array_pop( $new_array ); 89 return new Directory( $new_array );109 return new Directory( $new_array, $this->protocol ); 90 110 } 91 return new Directory( '/' );111 return new Directory( '/', $this->protocol ); 92 112 } 93 113 … … 100 120 } 101 121 return "/"; 122 } 123 124 private function getFormattedProtocol() : string 125 { 126 return ( $this->protocol !== null ) ? $this->protocol . '://' : ''; 102 127 } 103 128 … … 118 143 foreach ( $directory_list as $single_directory ) 119 144 { 120 array_push( $directories, $single_directory ); 145 if ( !empty( $single_directory ) ) 146 { 147 array_push( $directories, $single_directory ); 148 } 121 149 } 122 150 } … … 125 153 126 154 private $directories; 155 private $protocol; 127 156 128 157 const DEFAULT_ARGUMENTS = -
waj-scripts/trunk/vendor/waughj/directory/tests/DirectoryTest.php
r1995163 r2082860 95 95 $this->assertEquals( $dir1, new Directory([ 'var', 'www', 'html' ]) ); 96 96 } 97 98 public function testExcessSlashes() 99 { 100 $dir = new Directory([ '/en.wikipedia.org/', '//w/index.php?title=PHP&action=edit§ion=6' ]); 101 $this->assertEquals( 'en.wikipedia.org/w/index.php?title=PHP&action=edit§ion=6', $dir->getStringURL() ); 102 } 97 103 } -
waj-scripts/trunk/waj-scripts.php
r2058442 r2082860 5 5 Plugin URI: https://github.com/waughjai/waj-scripts 6 6 Description: WordPress plugin for easily adding CSS stylesheets & JavaScript files. 7 Version: 1. 0.27 Version: 1.1.0 8 8 Author: Jaimeson Waugh 9 9 Author URI: https://www.jaimeson-waugh.com … … 16 16 { 17 17 require_once( 'vendor/autoload.php' ); 18 19 18 WPStylesheets::init(); 20 19 WPScripts::init();
Note: See TracChangeset
for help on using the changeset viewer.