Changeset 3171336
- Timestamp:
- 10/18/2024 09:50:44 AM (16 months ago)
- Location:
- urlslab/trunk
- Files:
-
- 75 added
- 75 deleted
- 8 edited
-
admin/dist/assets/BacklinksTable-m8h5zbp61t.js (added)
-
admin/dist/assets/BacklinksTable-mxd02shc63.js (deleted)
-
admin/dist/assets/BrowserIcon-m8h5zbp61t.js (added)
-
admin/dist/assets/BrowserIcon-mxd02shc63.js (deleted)
-
admin/dist/assets/CSPViolationsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/CSPViolationsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/CSSCacheTable-m8h5zbp61t.js (added)
-
admin/dist/assets/CSSCacheTable-mxd02shc63.js (deleted)
-
admin/dist/assets/Cache-m8h5zbp61t.js (added)
-
admin/dist/assets/Cache-mxd02shc63.js (deleted)
-
admin/dist/assets/CacheRulesTable-m8h5zbp61t.js (added)
-
admin/dist/assets/CacheRulesTable-mxd02shc63.js (deleted)
-
admin/dist/assets/ContentCacheTable-m8h5zbp61t.js (added)
-
admin/dist/assets/ContentCacheTable-mxd02shc63.js (deleted)
-
admin/dist/assets/CssOptimizer-m8h5zbp61t.js (added)
-
admin/dist/assets/CssOptimizer-mxd02shc63.js (deleted)
-
admin/dist/assets/CustomHtml-m8h5zbp61t.js (added)
-
admin/dist/assets/CustomHtml-mxd02shc63.js (deleted)
-
admin/dist/assets/CustomHtmlTable-m8h5zbp61t.js (added)
-
admin/dist/assets/CustomHtmlTable-mxd02shc63.js (deleted)
-
admin/dist/assets/Editor-m8h5zbp61t.js (added)
-
admin/dist/assets/Editor-mxd02shc63.js (deleted)
-
admin/dist/assets/Faq-m8h5zbp61t.js (added)
-
admin/dist/assets/Faq-mxd02shc63.js (deleted)
-
admin/dist/assets/FaqUrlsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/FaqUrlsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/FaqsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/FaqsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/Generator-m8h5zbp61t.js (added)
-
admin/dist/assets/Generator-mxd02shc63.js (deleted)
-
admin/dist/assets/GeneratorResultTable-m8h5zbp61t.js (added)
-
admin/dist/assets/GeneratorResultTable-mxd02shc63.js (deleted)
-
admin/dist/assets/GeneratorShortcodeTable-m8h5zbp61t.js (added)
-
admin/dist/assets/GeneratorShortcodeTable-mxd02shc63.js (deleted)
-
admin/dist/assets/ImageAltAttribute-m8h5zbp61t.js (added)
-
admin/dist/assets/ImageAltAttribute-mxd02shc63.js (deleted)
-
admin/dist/assets/JSCacheTable-m8h5zbp61t.js (added)
-
admin/dist/assets/JSCacheTable-mxd02shc63.js (deleted)
-
admin/dist/assets/KeywordsLinks-m8h5zbp61t.js (added)
-
admin/dist/assets/KeywordsLinks-mxd02shc63.js (deleted)
-
admin/dist/assets/KeywordsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/KeywordsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/LazyLoading-m8h5zbp61t.js (added)
-
admin/dist/assets/LazyLoading-mxd02shc63.js (deleted)
-
admin/dist/assets/MediaFilesTable-m8h5zbp61t.js (added)
-
admin/dist/assets/MediaFilesTable-mxd02shc63.js (deleted)
-
admin/dist/assets/MediaOffloader-m8h5zbp61t.js (added)
-
admin/dist/assets/MediaOffloader-mxd02shc63.js (deleted)
-
admin/dist/assets/Modules-m8h5zbp61t.js (added)
-
admin/dist/assets/Modules-mxd02shc63.js (deleted)
-
admin/dist/assets/MultiSelectMenu-m8h5zbp61t.js (added)
-
admin/dist/assets/MultiSelectMenu-mxd02shc63.js (deleted)
-
admin/dist/assets/NotFoundTable-m8h5zbp61t.js (added)
-
admin/dist/assets/NotFoundTable-mxd02shc63.js (deleted)
-
admin/dist/assets/Optimize-m8h5zbp61t.js (added)
-
admin/dist/assets/Optimize-mxd02shc63.js (deleted)
-
admin/dist/assets/Page404-m8h5zbp61t.js (added)
-
admin/dist/assets/Page404-mxd02shc63.js (deleted)
-
admin/dist/assets/QueryDetailPanel-m8h5zbp61t.js (added)
-
admin/dist/assets/QueryDetailPanel-mxd02shc63.js (deleted)
-
admin/dist/assets/Redirects-m8h5zbp61t.js (added)
-
admin/dist/assets/Redirects-mxd02shc63.js (deleted)
-
admin/dist/assets/RedirectsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/RedirectsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/RelatedResources-m8h5zbp61t.js (added)
-
admin/dist/assets/RelatedResources-mxd02shc63.js (deleted)
-
admin/dist/assets/SearchAndReplace-m8h5zbp61t.js (added)
-
admin/dist/assets/SearchAndReplace-mxd02shc63.js (deleted)
-
admin/dist/assets/SearchReplaceTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SearchReplaceTable-mxd02shc63.js (deleted)
-
admin/dist/assets/Security-m8h5zbp61t.js (added)
-
admin/dist/assets/Security-mxd02shc63.js (deleted)
-
admin/dist/assets/Serp-m8h5zbp61t.js (added)
-
admin/dist/assets/Serp-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpCompetitorsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpCompetitorsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpContentGapTable-m8h5zbp61t.css (added)
-
admin/dist/assets/SerpContentGapTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpContentGapTable-mxd02shc63.css (deleted)
-
admin/dist/assets/SerpContentGapTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpQueryDetailClusterUrlsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpQueryDetailClusterUrlsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpQueryDetailQueryClusterTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpQueryDetailQueryClusterTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpQueryDetailRankedUrlsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpQueryDetailRankedUrlsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpTopDomainsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpTopDomainsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpUrlDetailQueryTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpUrlDetailQueryTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpUrlDetailSimilarUrlsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpUrlDetailSimilarUrlsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/SerpUrlsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/SerpUrlsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/Settings-m8h5zbp61t.css (added)
-
admin/dist/assets/Settings-m8h5zbp61t.js (added)
-
admin/dist/assets/Settings-mxd02shc63.css (deleted)
-
admin/dist/assets/Settings-mxd02shc63.js (deleted)
-
admin/dist/assets/TableFilters-m8h5zbp61t.js (added)
-
admin/dist/assets/TableFilters-mxd02shc63.js (deleted)
-
admin/dist/assets/TagsLabels-m8h5zbp61t.css (added)
-
admin/dist/assets/TagsLabels-m8h5zbp61t.js (added)
-
admin/dist/assets/TagsLabels-mxd02shc63.css (deleted)
-
admin/dist/assets/TagsLabels-mxd02shc63.js (deleted)
-
admin/dist/assets/TreeView-m8h5zbp61t.js (added)
-
admin/dist/assets/TreeView-mxd02shc63.js (deleted)
-
admin/dist/assets/URLMapTable-m8h5zbp61t.js (added)
-
admin/dist/assets/URLMapTable-mxd02shc63.js (deleted)
-
admin/dist/assets/URLRelationTable-m8h5zbp61t.js (added)
-
admin/dist/assets/URLRelationTable-mxd02shc63.js (deleted)
-
admin/dist/assets/UrlDetailPanel-m8h5zbp61t.js (added)
-
admin/dist/assets/UrlDetailPanel-mxd02shc63.js (deleted)
-
admin/dist/assets/Urls-m8h5zbp61t.js (added)
-
admin/dist/assets/Urls-mxd02shc63.js (deleted)
-
admin/dist/assets/UrlsTable-m8h5zbp61t.js (added)
-
admin/dist/assets/UrlsTable-mxd02shc63.js (deleted)
-
admin/dist/assets/WebVitals-m8h5zbp61t.js (added)
-
admin/dist/assets/WebVitals-mxd02shc63.js (deleted)
-
admin/dist/assets/YouTubeCacheTable-m8h5zbp61t.js (added)
-
admin/dist/assets/YouTubeCacheTable-mxd02shc63.js (deleted)
-
admin/dist/assets/_ModuleViewHeader-m8h5zbp61t.css (added)
-
admin/dist/assets/_ModuleViewHeader-mxd02shc63.css (deleted)
-
admin/dist/assets/_TableDetail-m8h5zbp61t.css (added)
-
admin/dist/assets/_TableDetail-m8h5zbp61t.js (added)
-
admin/dist/assets/_TableDetail-mxd02shc63.css (deleted)
-
admin/dist/assets/_TableDetail-mxd02shc63.js (deleted)
-
admin/dist/assets/faketable-m8h5zbp61t.png (added)
-
admin/dist/assets/faketable-mxd02shc63.png (deleted)
-
admin/dist/assets/internet-explorer_9-11_48x48-m8h5zbp61t.png (added)
-
admin/dist/assets/internet-explorer_9-11_48x48-mxd02shc63.png (deleted)
-
admin/dist/assets/labelsList-m8h5zbp61t.js (added)
-
admin/dist/assets/labelsList-mxd02shc63.js (deleted)
-
admin/dist/assets/main-m8h5zbp61t.css (added)
-
admin/dist/assets/main-mxd02shc63.css (deleted)
-
admin/dist/assets/menu-icon-settings-m8h5zbp61t.svg (added)
-
admin/dist/assets/menu-icon-settings-mxd02shc63.svg (deleted)
-
admin/dist/assets/redirectsHeader-m8h5zbp61t.js (added)
-
admin/dist/assets/redirectsHeader-mxd02shc63.js (deleted)
-
admin/dist/assets/safari_48x48-m8h5zbp61t.png (added)
-
admin/dist/assets/safari_48x48-mxd02shc63.png (deleted)
-
admin/dist/assets/urlslab-logo-m8h5zbp61t.svg (added)
-
admin/dist/assets/urlslab-logo-mxd02shc63.svg (deleted)
-
admin/dist/assets/useModuleSectionRoute-m8h5zbp61t.css (added)
-
admin/dist/assets/useModuleSectionRoute-m8h5zbp61t.js (added)
-
admin/dist/assets/useModuleSectionRoute-mxd02shc63.css (deleted)
-
admin/dist/assets/useModuleSectionRoute-mxd02shc63.js (deleted)
-
admin/dist/assets/wordpress-m8h5zbp61t.png (added)
-
admin/dist/assets/wordpress-mxd02shc63.png (deleted)
-
admin/dist/main-m8h5zbp61t.js (added)
-
admin/dist/main-mxd02shc63.js (deleted)
-
includes/class-urlslab-url.php (modified) (3 diffs)
-
includes/data/class-urlslab-data-url.php (modified) (3 diffs)
-
includes/executor/class-urlslab-executor-generate.php (modified) (2 diffs)
-
includes/widget/class-urlslab-widget-content-generator.php (modified) (2 diffs)
-
includes/widget/class-urlslab-widget-urls.php (modified) (4 diffs)
-
readme.txt (modified) (2 diffs)
-
urlslab.php (modified) (2 diffs)
-
vendor_prefixed/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
urlslab/trunk/includes/class-urlslab-url.php
r3168189 r3171336 42 42 private $is_blacklisted = null; 43 43 44 private $fix_double_slashes = false; 45 44 46 /** 45 47 * @param string $url … … 47 49 * @throws Exception 48 50 */ 49 public function __construct( $url, $add_current_page_protocol = false ) {51 public function __construct( $url, $add_current_page_protocol = false, $fix_double_slashes = false ) { 50 52 if ( empty( $url ) ) { 51 53 throw new Exception( 'Empty Input URL' ); 52 54 } 55 $this->fix_double_slashes = $fix_double_slashes; 53 56 54 57 if ( $add_current_page_protocol ) { … … 208 211 209 212 $this->url_components['path'] = $this->resolve_path( $this->url_components['path'] ); 210 211 $url = $this->url_components['host'] . ( $this->url_components['path'] ?? '' ); 213 if ( $this->fix_double_slashes ) { 214 // replace in path any number of slashes with single slash 215 $this->url_components['path'] = preg_replace( '/\/+/', '/', $this->url_components['path'] ); 216 } 217 218 $url = $this->url_components['host'] . ( isset( $this->url_components['port'] ) ? ':' . $this->url_components['port'] : '' ) . ( $this->url_components['path'] ?? '' ); 212 219 $this->query_params = array(); 213 220 if ( isset( $this->url_components['query'] ) ) { -
urlslab/trunk/includes/data/class-urlslab-data-url.php
r3168189 r3171336 131 131 } 132 132 133 public function get_url( ): Urlslab_Url {134 return new Urlslab_Url( $this->get_url_name(), true );133 public function get_url( $fix_double_slashes = false ): Urlslab_Url { 134 return new Urlslab_Url( $this->get_url_name(), true, $fix_double_slashes ); 135 135 } 136 136 … … 560 560 } 561 561 $this->set_scr_status( self::SCR_STATUS_NEW ); 562 return true; 562 563 } 563 564 … … 707 708 if ( isset( $results['url'] ) ) { 708 709 try { 709 $final_url = new Urlslab_Url( $results['url'], true );710 $final_url = new Urlslab_Url( $results['url'], true, true ); 710 711 } catch ( Exception $e ) { 711 $final_url = $this->get_url( );712 $final_url = $this->get_url( true ); 712 713 } 713 714 } else { 714 $final_url = $this->get_url( );715 $final_url = $this->get_url( true ); 715 716 } 716 717 -
urlslab/trunk/includes/executor/class-urlslab-executor-generate.php
r3168189 r3171336 14 14 $request = new FlowInvokeRequest( array( 'human_input' => $data['input'] ) ); 15 15 16 /** @var Urlslab_Widget_Content_Generator $widget */ 17 $widget = Urlslab_User_Widget::get_instance()->get_widget( Urlslab_Widget_Content_Generator::SLUG ); 18 16 19 $flow_variables = array(); 17 20 foreach ( $data as $key => $value ) { … … 19 22 continue; 20 23 } 21 $flow_variables[ $key ] = $value; 24 25 $flow_variables[ $key ] = $widget->get_template_value( $value, $data ); 22 26 } 23 27 if ( ! empty( $flow_variables ) ) { -
urlslab/trunk/includes/widget/class-urlslab-widget-content-generator.php
r3169006 r3171336 3 3 4 4 class Urlslab_Widget_Content_Generator extends Urlslab_Widget { 5 public const SLUG = 'urlslab-generator';6 public const SETTING_NAME_SCHEDULE = 'urlslab-gen-sched';5 public const SLUG = 'urlslab-generator'; 6 public const SETTING_NAME_SCHEDULE = 'urlslab-gen-sched'; 7 7 public const SETTING_NAME_REFRESH_INTERVAL = 'urlslab-gen-refresh'; 8 public const SETTING_NAME_TRANSLATE = 'urlslab-gen-translate';9 public const SETTING_NAME_TRACK_USAGE = 'urlslab-gen-track-usage';8 public const SETTING_NAME_TRANSLATE = 'urlslab-gen-translate'; 9 public const SETTING_NAME_TRACK_USAGE = 'urlslab-gen-track-usage'; 10 10 public const SETTING_NAME_TRANSLATE_FLOW_ID = 'urlslab-gen-translate-flow-id'; 11 11 … … 107 107 return ''; 108 108 } 109 110 $input_variables = $this->get_template_variables( $atts['input'] ); 109 $input_variables = array(); 110 foreach ( $atts as $key => $value ) { 111 $input_variables = array_merge( $input_variables, $this->get_template_variables( $value ) ); 112 } 113 111 114 foreach ( $input_variables as $variable ) { 112 115 if ( ! isset( $atts[ $variable ] ) ) { -
urlslab/trunk/includes/widget/class-urlslab-widget-urls.php
r3169173 r3171336 69 69 const SETTING_NAME_SCREENSHOT_REFRESH_INTERVAL = 'urlslab-scr-refresh'; 70 70 const SETTING_NAME_SUMMARIZATION_FLOW = 'urlslab-summary-flow'; 71 const SETTING_NAME_FIX_DOUBLESLASH = 'urlslab-fix-doubleslash'; 71 72 72 73 private static $page_alternate_links = array(); … … 150 151 $this->process_image_alt_text( $document ); 151 152 } 153 $this->fixDoubleSlashesInPath( $document ); 152 154 } 153 155 … … 621 623 function () { 622 624 return __( 'Ensure all links have the same protocol as the current domain.', 'urlslab' ); 625 }, 626 self::OPTION_TYPE_CHECKBOX, 627 false, 628 null, 629 'validation' 630 ); 631 $this->add_option_definition( 632 self::SETTING_NAME_FIX_DOUBLESLASH, 633 true, 634 true, 635 function () { 636 return __( 'Fix double slashes in URL path', 'urlslab' ); 637 }, 638 function () { 639 return __( 'Some plugins corrupt urls with double slashes, fix paths in urls and replace duplicate double slashes with single slash', 'urlslab' ); 623 640 }, 624 641 self::OPTION_TYPE_CHECKBOX, … … 1610 1627 } 1611 1628 1629 private function fixDoubleSlashesInPath( DOMDocument $document ) { 1630 if ( ! $this->get_option( self::SETTING_NAME_FIX_DOUBLESLASH ) ) { 1631 return; 1632 } 1633 $xpath = new DOMXPath( $document ); 1634 $elements = $xpath->query( '//a[@href and ' . $this->get_xpath_query( array( 'urlslab-skip-doubleslash-fix' ) ) . ']' ); 1635 foreach ( $elements as $dom_elem ) { 1636 if ( strlen( $dom_elem->getAttribute( 'href' ) ) ) { 1637 try { 1638 $url = new Urlslab_Url( $dom_elem->getAttribute( 'href' ) ); 1639 if ( false !== strpos( $url->get_url_path(), '//' ) && $url->is_url_valid() ) { 1640 $url = new Urlslab_Url( $dom_elem->getAttribute( 'href' ), true, true ); 1641 $dom_elem->setAttribute( 'href', $url->get_url_with_protocol() ); 1642 } 1643 } catch ( Exception $e ) { 1644 // noop, just skip link 1645 } 1646 } 1647 } 1648 } 1649 1650 1612 1651 private function fixProtocol( DOMDocument $document ) { 1613 1652 if ( ! $this->get_option( self::SETTING_NAME_FIX_PROTOCOL ) ) { -
urlslab/trunk/readme.txt
r3169741 r3171336 5 5 Tested up to: 6.5 6 6 Requires PHP: 7.4 7 Stable tag: 2.130. 27 Stable tag: 2.130.6 8 8 License: GPLv2 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 144 144 == Changelog == 145 145 146 = 2.130. 2 - 2024-10-16=146 = 2.130.6 - 2024-10-18 = 147 147 148 148 * Experience a smoother user journey with our under-the-hood enhancements. -
urlslab/trunk/urlslab.php
r3169741 r3171336 17 17 * Plugin URI: https://github.com/QualityUnit/wp-urlslab 18 18 * Description: URLsLab WordPress Plugin to optimize your website for search engines and enhance automatically content 19 * Version: 2.130. 219 * Version: 2.130.6 20 20 * Requires at least: 6.0 21 21 * Requires PHP: 7.4 … … 31 31 } 32 32 33 define( 'URLSLAB_VERSION', '2.130. 2' );33 define( 'URLSLAB_VERSION', '2.130.6' ); 34 34 define( 'URLSLAB_VERSION_SETTING', 'urlslab_ver' ); 35 35 define( 'URLSLAB_PLUGIN', __FILE__ ); -
urlslab/trunk/vendor_prefixed/composer/installed.php
r3169741 r3171336 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' 05439920eee7a4591d14fb55ab95ba147dc3e6f3',6 'reference' => 'a4353a0124d8d1d33f6e3e7a7813fd0d7fc7d555', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../', … … 14 14 'pretty_version' => 'dev-main', 15 15 'version' => 'dev-main', 16 'reference' => ' 05439920eee7a4591d14fb55ab95ba147dc3e6f3',16 'reference' => 'a4353a0124d8d1d33f6e3e7a7813fd0d7fc7d555', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../',
Note: See TracChangeset
for help on using the changeset viewer.