From 7f28473cbc5673b67e744053df0ccdd0a4b2f06f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Jul 2022 10:16:19 +0000 Subject: [PATCH 01/35] Bump terser from 5.9.0 to 5.14.2 Bumps [terser](https://github.com/terser/terser) from 5.9.0 to 5.14.2. - [Release notes](https://github.com/terser/terser/releases) - [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md) - [Commits](https://github.com/terser/terser/commits) --- updated-dependencies: - dependency-name: terser dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 140 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 117 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d53da22..3c790964 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,6 +92,64 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@types/eslint": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", @@ -4160,13 +4218,14 @@ } }, "node_modules/terser": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", - "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", "dev": true, "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "bin": { @@ -4290,15 +4349,6 @@ "node": ">=0.10.0" } }, - "node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/terser/node_modules/source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", @@ -5010,6 +5060,55 @@ } } }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@types/eslint": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", @@ -8444,22 +8543,17 @@ } }, "terser": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", - "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", "dev": true, "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, "source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", From 30e601c475cc70ba569fed07a8e23cb94b4a10b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valenti=CC=81n=20Garci=CC=81a?= Date: Thu, 11 Aug 2022 13:33:40 -0500 Subject: [PATCH 02/35] Float next post nav --- orgSeriesBoxTheme.css | 11 ++++++++++- orgSeriesDarkTheme.css | 11 ++++++++++- orgSeriesLightTheme.css | 11 ++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/orgSeriesBoxTheme.css b/orgSeriesBoxTheme.css index 9a33608c..b79df419 100644 --- a/orgSeriesBoxTheme.css +++ b/orgSeriesBoxTheme.css @@ -62,4 +62,13 @@ .series-nav-left { margin-right: 20px; -} \ No newline at end of file +} + +@media (min-width:979px) { + body:not([class*="theme-twentytwenty"]) .series-nav-left { + float: left; + } + body:not([class*="theme-twentytwenty"]) .series-nav-right { + float: right; + } +} diff --git a/orgSeriesDarkTheme.css b/orgSeriesDarkTheme.css index 88a15bc1..c56dedfe 100644 --- a/orgSeriesDarkTheme.css +++ b/orgSeriesDarkTheme.css @@ -40,4 +40,13 @@ .series-nav-left { margin-right: 20px; -} \ No newline at end of file +} + +@media (min-width:979px) { + body:not([class*="theme-twentytwenty"]) .series-nav-left { + float: left; + } + body:not([class*="theme-twentytwenty"]) .series-nav-right { + float: right; + } +} diff --git a/orgSeriesLightTheme.css b/orgSeriesLightTheme.css index 5ad33e30..a17439c1 100644 --- a/orgSeriesLightTheme.css +++ b/orgSeriesLightTheme.css @@ -42,4 +42,13 @@ .series-nav-left { margin-right: 20px; -} \ No newline at end of file +} + +@media (min-width:979px) { + body:not([class*="theme-twentytwenty"]) .series-nav-left { + float: left; + } + body:not([class*="theme-twentytwenty"]) .series-nav-right { + float: right; + } +} From 7bc7f02601d78777c4c1c761e8f6d9ec9cba70fc Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 15 Sep 2022 11:02:50 +0100 Subject: [PATCH 03/35] - Remove new taxonomy metabox #595 --- orgSeries-admin.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/orgSeries-admin.php b/orgSeries-admin.php index 36bd4e33..0c6c162a 100644 --- a/orgSeries-admin.php +++ b/orgSeries-admin.php @@ -32,8 +32,31 @@ add_action( 'in_admin_footer', 'orgSeries_admin_footer' ); add_action('wp_ajax_ppseries_pro_migrate_series_by_ajax', 'ppseries_pro_migrate_series_by_ajax'); +add_filter('rest_prepare_taxonomy', 'publishpress_series_remove_gutenberg_series_metabox', 100, 3); +/** + * Remove series metabox for gutenberg + * + * @param object $response + * @param object $taxonomy + * @param array $request + * + * @return object $response + */ +function publishpress_series_remove_gutenberg_series_metabox($response, $taxonomy, $request) { + $context = ! empty( $request['context'] ) ? $request['context'] : 'edit'; + $taxonomy_name = isset($taxonomy->name) ? $taxonomy->name : false; + + // Context is edit in the editor + if ($taxonomy_name === ppseries_get_series_slug() && $context === 'edit') { + $data_response = $response->get_data(); + $data_response['visibility']['show_ui'] = false; + $response->set_data($data_response); + } + + return $response; +} function ppseries_pro_migrate_series_by_ajax() { From 6c6de7c58e8431b038a14877554286ac7c3b3f38 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 15 Sep 2022 16:33:25 +0100 Subject: [PATCH 04/35] - Series taxonomy template header and footer deprecated in FSE themes #409 --- inc/templates/taxonomy-series.php | 13 +++- inc/utility-functions.php | 100 ++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+), 3 deletions(-) diff --git a/inc/templates/taxonomy-series.php b/inc/templates/taxonomy-series.php index 23d764d1..1861d63e 100644 --- a/inc/templates/taxonomy-series.php +++ b/inc/templates/taxonomy-series.php @@ -7,8 +7,11 @@ * @package PublishPress */ -get_header(); - +if (pp_series_locate_template(['header.php'])) { + get_header(); +} elseif (pp_series_is_block_theme()) { + pp_series_format_block_theme_header(); +} $description = get_the_archive_description(); // CSS wrapper class for the design @@ -74,5 +77,9 @@ if(pp_series_locate_template( array( 'sidebar.php' ) )){ get_sidebar(); } -get_footer(); +if (pp_series_locate_template(['footer.php'])) { + get_footer(); +} elseif (pp_series_is_block_theme()) { + pp_series_format_block_theme_footer(); +} ?> diff --git a/inc/utility-functions.php b/inc/utility-functions.php index 3ec3b76d..8f06ec70 100644 --- a/inc/utility-functions.php +++ b/inc/utility-functions.php @@ -144,4 +144,104 @@ function pp_series_locate_template($template_names) } } + + /** + * Check if current active theme is block theme/support full site editing + * + * @return bool + */ + function pp_series_is_block_theme() + { + + $is_block_theme = false; + + if (function_exists('wp_is_block_theme') + && function_exists('block_template_part') + && wp_is_block_theme() + ) { + $is_block_theme = true; + } + + return $is_block_theme; + } + + /** + * Retreive block theme header + * + * @return string + */ + function pp_series_get_block_theme_header() + { + + $block_theme_header = ''; + + if (pp_series_is_block_theme()) { + $header_template_part = get_block_template(get_stylesheet() . '//header', 'wp_template_part'); + if ($header_template_part && isset($header_template_part->content)) { + $block_theme_header = do_blocks($header_template_part->content); + } + } + + return $block_theme_header; + } + + /** + * Retreive block theme footer + * + * @return string + */ + function pp_series_get_block_theme_footer() + { + + $block_theme_footer = ''; + + if (pp_series_is_block_theme()) { + $footer_template_part = get_block_template(get_stylesheet() . '//footer', 'wp_template_part'); + if ($footer_template_part && isset($footer_template_part->content)) { + $block_theme_footer = do_blocks($footer_template_part->content); + } + } + + return $block_theme_footer; + } + + /** + * Format block theme header + * + * @return void + */ + function pp_series_format_block_theme_header() + { + $fse_header = pp_series_get_block_theme_header(); + $fse_footer = pp_series_get_block_theme_footer();//we need to get footer as well before wp_head() call to enable fse css generator + ?> + + > + + + + + > + +
+ +
+ + + + From 0dec2fc214878985ecd5dfd4bbf5c3ff89c22584 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Fri, 16 Sep 2022 11:26:10 +0100 Subject: [PATCH 05/35] - Add "Series Groups" into a Free feature #613 --- addons/grouping/bootstrap.php | 17 + addons/grouping/composer.json | 20 + addons/grouping/composer.lock | 98 +++ addons/grouping/info.json | 1 + addons/grouping/js/series-groups.js | 47 ++ addons/grouping/legacy-includes.php | 633 ++++++++++++++++++ addons/grouping/organize-series-grouping.php | 11 + addons/grouping/orgseries-grouping-small.css | 15 + .../orgseries-grouping-template-tags.php | 476 +++++++++++++ addons/grouping/orgseries-grouping.css | 16 + addons/grouping/readme.txt | 26 + .../theme/primary/taxonomy-series_group.php | 41 ++ .../theme/twenty-ten/groups-template.php | 77 +++ addons/grouping/uninstall.php | 16 + inc/utility-functions.php | 138 ++-- includes-core/PPSeriesCoreAdmin.php | 21 +- .../assets/css/placeholder.css | 124 ---- .../assets/images/series-group-mobile.jpg | Bin 43030 -> 0 bytes .../assets/images/series-group.jpg | Bin 212232 -> 0 bytes .../views/series-group-placeholder.php | 22 - orgSeries-utility.php | 2 +- src/domain/services/CoreBootstrap.php | 1 + 22 files changed, 1572 insertions(+), 230 deletions(-) create mode 100644 addons/grouping/bootstrap.php create mode 100644 addons/grouping/composer.json create mode 100644 addons/grouping/composer.lock create mode 100644 addons/grouping/info.json create mode 100644 addons/grouping/js/series-groups.js create mode 100644 addons/grouping/legacy-includes.php create mode 100644 addons/grouping/organize-series-grouping.php create mode 100644 addons/grouping/orgseries-grouping-small.css create mode 100644 addons/grouping/orgseries-grouping-template-tags.php create mode 100644 addons/grouping/orgseries-grouping.css create mode 100644 addons/grouping/readme.txt create mode 100644 addons/grouping/theme/primary/taxonomy-series_group.php create mode 100644 addons/grouping/theme/twenty-ten/groups-template.php create mode 100644 addons/grouping/uninstall.php delete mode 100644 includes-core/pro-placeholder/assets/css/placeholder.css delete mode 100644 includes-core/pro-placeholder/assets/images/series-group-mobile.jpg delete mode 100644 includes-core/pro-placeholder/assets/images/series-group.jpg delete mode 100644 includes-core/pro-placeholder/views/series-group-placeholder.php diff --git a/addons/grouping/bootstrap.php b/addons/grouping/bootstrap.php new file mode 100644 index 00000000..f8d09952 --- /dev/null +++ b/addons/grouping/bootstrap.php @@ -0,0 +1,17 @@ +=5.6", + "composer/installers": "v1.0.6" + }, + "autoload": { + "psr-4": {"OrganizeSeries\\GroupingAddon\\": "src/"} + } +} diff --git a/addons/grouping/composer.lock b/addons/grouping/composer.lock new file mode 100644 index 00000000..792be788 --- /dev/null +++ b/addons/grouping/composer.lock @@ -0,0 +1,98 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "e9b3436036ef0e93945c8c39e35e0299", + "packages": [ + { + "name": "composer/installers", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/composer/installers.git", + "reference": "b3bd071ea114a57212c75aa6a2eef5cfe0cc798f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/installers/zipball/b3bd071ea114a57212c75aa6a2eef5cfe0cc798f", + "reference": "b3bd071ea114a57212c75aa6a2eef5cfe0cc798f", + "shasum": "" + }, + "replace": { + "shama/baton": "*" + }, + "require-dev": { + "composer/composer": "1.0.*@dev", + "phpunit/phpunit": "3.7.*" + }, + "type": "composer-installer", + "extra": { + "class": "Composer\\Installers\\Installer", + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Composer\\Installers\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Robinson Young", + "email": "kyle@dontkry.com", + "homepage": "https://github.com/shama", + "role": "Developer" + } + ], + "description": "A multi-framework Composer library installer", + "homepage": "http://composer.github.com/installers/", + "keywords": [ + "TYPO3 CMS", + "TYPO3 Flow", + "TYPO3 Neos", + "agl", + "cakephp", + "codeigniter", + "drupal", + "fuelphp", + "installer", + "joomla", + "kohana", + "laravel", + "li3", + "lithium", + "mako", + "modulework", + "phpbb", + "ppi", + "silverstripe", + "symfony", + "wordpress", + "zend" + ], + "support": { + "issues": "https://github.com/composer/installers/issues", + "source": "https://github.com/composer/installers/tree/master" + }, + "time": "2013-08-20T04:37:09+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.6" + }, + "platform-dev": [], + "plugin-api-version": "2.0.0" +} diff --git a/addons/grouping/info.json b/addons/grouping/info.json new file mode 100644 index 00000000..0325835f --- /dev/null +++ b/addons/grouping/info.json @@ -0,0 +1 @@ +{"versionFile":"organize-series-grouping.php","slug":"organize-series-grouping","textDomain":"organize-series-grouping","name":"PublishPress Series Grouping","releaseFilesRemove":["src\/tests\/**","src\/acceptance_tests\/**","src\/docs\/**","src\/info.json","src\/readme.txt","src\/wp-assets\/**","src\/.travis.yml","src\/ISSUE_TEMPLATE.md","src\/PULL_REQUEST_TEMPLATE.md","src\/assets\/src\/**"],"wpOrgRelease":"2.2.6"} \ No newline at end of file diff --git a/addons/grouping/js/series-groups.js b/addons/grouping/js/series-groups.js new file mode 100644 index 00000000..eacf2bbf --- /dev/null +++ b/addons/grouping/js/series-groups.js @@ -0,0 +1,47 @@ +jQuery(document).ready(function($) { + $('#the-list').on('click', '.editinline', function() { + var id, type, editRowData, rowData, group_check, group_text; + var r_id = inlineEditTax.getId(this); + type = $('#the-list').attr('data-wp-lists').substr(5); + rowData = $('#inline_group_'+r_id); + id = $('series_group_id', rowData).text(); + $('#hidden_group_id', 'div.inline_edit_group_old').remove(); + $('div.inline_edit_group_old').attr('class', 'inline_edit_group_'); + $('div.inline_edit_group_').attr('class', 'inline_edit_group_'+id); + editRowData = $('.inline_edit_group_'+id); + /*editRow = $('#inline-edit').clone(true);*/ + + if ( type == 'tag' ) { + group_check = $('.group_inline_edit', rowData).text(); + group_text = $('.group_inline_name', rowData).text(); + + if ( group_check === '' ) { + group_check = -1; + } + + $('.group_inline_edit', rowData).each(function() { + if ( term_ids = $(this).text() ) + { + taxname = 'category'; + + $('ul.'+taxname+'-checklist :checkbox', editRowData).val(term_ids.split(',')); + + } + }); + + } + + $('span.catshow').click(function() { + $(this).hide().next().show().parent().next().addClass("cat-hover"); + }); + + $('span.cathide').click(function() { + $(this).hide().prev().show().parent().next().removeClass("cat-hover"); + }); + $(editRowData).attr('class', 'inline_edit_group_old'); + }); + + var series_filter = $('#series_group_filter'); + + $('.col-wrap', '#col-right').prepend(series_filter); +}); \ No newline at end of file diff --git a/addons/grouping/legacy-includes.php b/addons/grouping/legacy-includes.php new file mode 100644 index 00000000..d7ff1625 --- /dev/null +++ b/addons/grouping/legacy-includes.php @@ -0,0 +1,633 @@ +series_load_theme_css(); + } + return $template; +} + +function orgseries_upgrade_check() { + global $orgseries_groups_ver; + //below is where I will indicate any upgrade routines that need to be run + $version_check = get_option('orgseries_grouping_version'); + if ( !$version_check ) { //this may be the first time orgseries is used + if ( $is_imported = get_option('orgseries_grouping_import_completed') ) // we know a version 1.5 and earlier was previously installed (before we saved version numbers) - update needed + upgrade_orgseries_grouping_from_one_five(); + add_option('orgseries_grouping_version', $orgseries_groups_ver); + add_option('orgser_grp_upgrade_'.$orgseries_groups_ver); + return; + } + + orgseries_grouping_upgrade($orgseries_groups_ver, $version_check); + + update_option('orgseries_grouping_version', $orgseries_groups_ver); +} + +/* +* +* This is the function for doing any upgrades necessary +*/ + +function orgseries_grouping_upgrade($this_version, $old_version) { + global $wpdb; + + if ( $old_version == '1.6' ) { + //let's fix up any potential errors in the database from a bad 1.5-1.6 import + //First up is a fix for object_id == 0; + $object_id = 0; + $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->term_relationships WHERE object_id = %d", $object_id) ); + + //next up is reset the term_counts for all series_groups so they are correct. + $args = array( + 'hide_empty' => false, + 'fields' => 'ids' + ); + + $groups = get_series_groups($args); + $groups = array_map('intval', $groups); + $groups = implode(', ',$groups); + $query = "SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id IN ( $groups ) AND taxonomy = 'series_group'"; + $terms = $wpdb->get_results( $query ); + while ( $group = array_shift($terms) ) + $_groups[] = $group->term_taxonomy_id; + $series_groups = $_groups; + update_series_group_count($series_groups, 'series_group'); + exit; + return true; + } + return true; +} + +function upgrade_orgseries_grouping_from_one_five() { + //if ( !taxonomy_exists('series_group') ) + //orgseries_grouping_taxonomy(); + + //let's get all the existing series groups in the old category system + $args = array( + 'hide_empty' => false, + 'fields' => 'ids', + 'taxonomy' => 'category' + ); + + + $old_groups = get_old_series_groups($args); //list of category ids that are groups + + $args_b = array( + 'include' => $old_groups, + 'hide_empty' => false + ); + + $_old_groups = get_terms('category', $args_b); //need to do this in order to get the description field. + + $args_c = array( + 'hide_empty' => false, + 'taxonomy' => 'category' + ); + + //let's set up the new groups in the new taxonomy system + if ( empty($_old_groups) ) return; + foreach ( $_old_groups as $new_group ) { + wp_insert_term( + $new_group->name, + 'series_group', + array( + 'description' => $new_group->description, + 'slug' => $new_group->slug + ) + ); + + //let's get the series from the old groups, add to the new taxonomy, and then remove them from the old groups. We'll leave the old groups (categories) in case there are regular posts added to them. + $get_series = get_series_in_group($new_group->term_id, $args_c); + $ser_term_id = (int) $new_group->term_id; + + if ( empty($get_series) ) continue; + foreach ( $get_series as $serial ) { + $id = orgseries_group_id($serial); + + $post_arr = array( + 'ID' => $id, + 'post_status' => 'publish', + ); + wp_update_post($post_arr); + wp_set_object_terms($id, $ser_term_id, 'series_group', true); + } + } + + $group_ids = get_objects_in_term( $old_groups, 'category', array( 'hide_empty' => false)); + + if ( empty($group_ids) ) return; + foreach ($group_ids as $p_id) { + wp_delete_object_term_relationships($p_id,'category'); + } +} + +function orgseries_grouping_posttype() { + global $checkpage, $_GET; + $args = array( + 'description' => 'Used for associating Series with groups', + 'public' => false, + 'public_queryable' => true, + 'taxonomies' => array('category', 'series_group'), + 'rewrite' => array('slug' => 'seriesgroup') + ); + + register_post_type('series_grouping', $args); + + if ( 'edit-tags.php' == $checkpage && ( isset($_GET['taxonomy']) && ppseries_get_series_slug() == $_GET['taxonomy'] ) ) { + require_once(ABSPATH.'wp-admin/includes/meta-boxes.php'); + add_action('quick_edit_custom_box', 'orgseries_group_inline_edit', 9,3); + + } + +} + +function orgseries_grouping_taxonomy() { + $permalink_slug = 'series_group'; + $object_type = array('series_grouping'); + $capabilities = array( + 'manage_terms' => 'manage_series', + 'edit_terms' => 'manage_series', + 'delete_terms' => 'manage_series', + 'assign_terms' => 'manage_series' + ); + $labels = array( + 'name' => _x('Manage Series Groups', 'taxonomy general name', 'organize-series'), + 'singular_name' => _x('Series Group', 'taxonomy singular name', 'organize-series'), + 'search_items' => __('Search Series Groups', 'organize-series'), + 'popular_items' => __('Popular Series Groups', 'organize-series'), + 'all_items' => __('All Series Groups', 'organize-series'), + 'edit_item' => __('Edit Series Group', 'organize-series'), + 'update_item' => __('Update Series Group', 'organize-series'), + 'add_new_item' => __('Add New Series Group', 'organize-series'), + 'new_item_name' => __('New Series Group', 'organize-series'), + 'menu_name' => __('Series Groups', 'organize-series') + ); + $args = array( + 'update_count_callback' => 'update_series_group_count', + 'labels' => $labels, + 'rewrite' => array( 'slug' => $permalink_slug, 'with_front' => true ), + 'show_ui' => true, + 'public' => true, + 'capabilities' => $capabilities, + 'query_var' => 'series_group', + 'hierarchical' => true + ); + register_taxonomy( 'series_group', $object_type, $args ); +} + +function update_series_group_count($terms, $taxonomy) { + global $wpdb; + if ( !is_array($terms) ) $terms = (array) $terms; + $terms = array_map('intval', $terms); + $taxonomy = 'series_group'; + foreach ( (array) $terms as $term) { + $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $term) ); + $wpdb->update( $wpdb->term_taxonomy, compact( 'count' ), array( 'term_taxonomy_id' => $term ) ); + } + + clean_term_cache($terms, '', false); + return true; +} + + +function orgseries_grouping_import_existing_series() { + //do a check to see if there are existing series and NO existing posts in the 'series_grouping' post_type. If this is the case then we need to do the import. If not, then we break out. + if ( !($is_imported = get_option('orgseries_grouping_import_completed')) ) { + $series = get_terms( ppseries_get_series_slug(), array('hide_empty'=>false, 'fields' => 'ids') ); + + foreach ( $series as $this_series ) { + $post_args = array( + 'post_type' => 'series_grouping', + 'to_ping' => 0, + 'post_title' => 'series_grouping_'.$this_series, + 'post_name' => 'series_grouping_'.$this_series + ); + wp_insert_post($post_args); + } + add_option('orgseries_grouping_import_completed','1'); + + } +} + +function orgseries_groups_admin_menu() { + add_submenu_page( 'edit.php', 'Manage Series Groups', 'Series Groups', 'manage_series', 'edit-tags.php?taxonomy=series_group'); +} + +function orgseries_group_add_queryvars($qvs) { + $qvs[] = 'series_group'; + return $qvs; +} + +function orgseries_group_parsequery() { + global $wp_query; + if ( isset($wp_query->query_vars['series_group']) ) { + $wp_query->is_series_group = true; + } else { + $wp_query->is_series_group = false; + } +} + +function orgseries_group_where($where) { + global $wpdb, $wp_query; + if ( $wp_query->is_series_group && is_admin() ) { + $series_group = $wp_query->query_vars['series_group']; + $series_array = get_series_in_group($series_group); + $series_string = implode(",", $series); + $where .= " AND t.term_id IN ({$series_string})"; + } + return $where; +} + +function orgseries_manage_grouping_filter_setup() { + global $_GET, $wp_version; + if ( !empty($_GET['ser_grp']) && is_admin() && $wp_version >= 3.1 ) { + add_filter('get_terms_args', 'orgseries_grp_term_filter', 10, 2); + } +} + +function orgseries_grp_term_filter($args, $taxonomies) { + global $_GET; + if ( in_array(ppseries_get_series_slug(), $taxonomies) ) { + $group_id = (int) $_GET['ser_grp']; + $series_array = get_series_in_group($group_id); + $args['include'] = $series_array; + } + return $args; +} + +function orgseries_manage_grouping_columns() { + global $wp_version; + //hook into manage-series-groups page + add_filter('manage_edit-series_group_columns', 'series_grouping_columns', 10); + add_filter('manage_series_group_custom_column', 'series_grouping_columns_inside',1,3); + add_filter('manage_edit-series_group_sortable_columns', 'series_group_sortable_columns'); + if ($wp_version >= '3.1') + add_action('after-series-table', 'select_series_group_filter'); +} + +function orgseries_grouping_settings_setup() { + //add_settings_field('series_grouping_delete_settings','Series Grouping Addon Settings','series_grouping_delete_output', 'orgseries_options_page','series_uninstall_settings'); + register_setting('orgseries_options', 'org_series_options'); + add_filter('orgseries_options', 'series_grouping_options_validate', 10, 2); +} + +function series_grouping_options_validate($newinput, $input) { + $newinput['kill_grouping_on_delete'] = ( isset($input['kill_grouping_on_delete']) && $input['kill_grouping_on_delete'] == 1 ? 1 : 0 ); + return $newinput; +} + +function series_grouping_delete_output() { + global $orgseries; + $org_opt = $orgseries->settings; + $org_name = 'org_series_options'; + $k_on_delete = is_array($org_opt) && isset($org_opt['kill_grouping_on_delete']) ? $org_opt['kill_grouping_on_delete'] : 0; + ?> + + + + + + + + 'View all Groups', + 'selected' => $group_id, + 'taxonomy' => 'series_group', + 'name' => 'ser_grp', + 'hide_empty' => false + ); + ?> +
+
+ + + +
+
+ = '3.1' ) + $g_link = ''.$count.''; + else + $g_link = $count; + $column_return = '

'.$g_link.'

'; + } + return $column_return; +} + +function manage_series_grouping_columns($columns) { + global $pagenow; + $columns['group'] = __('Group(s)', 'organize-series'); + return $columns; +} + +function manage_series_grouping_columns_inside($content, $column_name, $id) { + $column_return = $content; + if ($column_name == 'group') { + $group_id = orgseries_group_id($id); + + $column_return .= '
'; + + if ( $groups = wp_get_object_terms($group_id, 'series_group') ) { + foreach ( $groups as $group ) { + $column_return .= '
'.$group->name . '
'; + $cat_id[] = $group->term_id; + $cat_name[] = $group->name; + } + $category_ids = implode(",",$cat_id); + $category_names = implode(",",$cat_name); + $column_return .= ''; + } else { + $column_return .= __('No group', 'organize-series'); + $column_return .= ''; + } + $column_return .= '
'; + } + return $column_return; +} + +function add_orgseries_group_fields($taxonomy) { + $empty = ''; + $empty = (object) $empty; + $empty->ID = ''; + $box['args'] = array( + 'taxonomy' => 'series_group' + ); + ?> +
+
+
+
+

+
+ +
+ +
+
+
+
+ term_id; + $groupID = orgseries_group_id($series_ID); + $post_arr = array( 'ID' => $groupID, 'post_type' => 'series_grouping' ); + $groups = wp_get_object_terms(array($groupID), 'series_group', array('fields' => 'ids')); + + ?> + + + +
+
+
+
+
+
+ +
+
    + $groups, 'taxonomy' => 'series_group' )); ?> +
+
+
+
+ +
+
+
+
+ + + +
+ + + + +
+ + +
    + 'series_group')) ?> +
+
+
+ 'series_grouping', + 'to_ping' => 0, + 'post_title' => 'series_grouping_'.$series_id, + 'post_name' => 'series_grouping_'.$series_id + ); + $group_id = wp_insert_post($post_arr); + if ( !empty($tax_input['series_group']) ) + wp_set_object_terms($group_id, $terms, 'series_group', true); + return $group_id; +} + +function wp_update_series_group($series_id, $taxonomy_id) { + global $_POST; + + extract($_POST, EXTR_SKIP); + + $tax_input['series_group'] = !isset( $tax_input['series_group'] ) ? array() : $tax_input['series_group']; + + $terms = os_stringarray_to_intarray((array) $tax_input['series_group']); + $id = orgseries_group_id($series_id); + wp_set_object_terms($id, $terms, 'series_group'); + return $id; +} + +function wp_delete_series_group($series_id, $taxonomy_id) { + global $_POST; + extract($_POST, EXTR_SKIP); + $id = orgseries_group_id( (int) $series_id ); + wp_delete_post($id,true); + //TODO check, do we need wp_delete_post_term_relationship here? +} + +function orgseries_group_id($series_id) { + $post_title = 'series_grouping_'.$series_id; + $query = array( 'post_status' => array( 'draft', 'publish' ), 'name' => $post_title, 'post_type' => 'series_grouping'); + $series_posts = get_posts( $query ); + $series_post = reset( $series_posts ); + $group_id = $series_post instanceof WP_Post ? $series_post->ID : 0; + if ( $series_id && ! $group_id ) { + //looks like the series didn't get added as a custom post for some reason. Let's fix that + return wp_insert_series_group($series_id, ''); + } + return $group_id; +} + +function orgseries_get_seriesid_from_group($group_id) { + $grouppost = get_post($group_id); + if (!$grouppost || $grouppost->post_type != 'series_grouping' ) return false; + $series_name = $grouppost->post_name; + $series_id = ltrim($series_name, 'series_grouping_'); + $series_id = (int) $series_id; + return $series_id; +} + +//INCLUDE TEMPLATE TAGS FILE// +require_once(plugin_dir_path(__FILE__) . '/orgseries-grouping-template-tags.php'); + +//helper functions +function os_stringarray_to_intarray($array) { + function to_int(&$val, $key) { + $val = (int) $val; + } + + array_walk($array, 'to_int'); + + return $array; +} diff --git a/addons/grouping/organize-series-grouping.php b/addons/grouping/organize-series-grouping.php new file mode 100644 index 00000000..7713ba24 --- /dev/null +++ b/addons/grouping/organize-series-grouping.php @@ -0,0 +1,11 @@ + 'term_id', + 'order' => 'ASC', + 'exclude' => array(), + 'include' => array(), + 'number' => '', + 'fields' => 'all', + 'number' => '', + 'offset' => '', + 'exclusions' => '', + 'exclude_tree' => array(), + 'limit' => '', + 'parent' => '', + 'hierarchical' => true, + 'child_of' => 0, + 'pad_counts' => false, + 'hide_empty' => true, + 'taxonomy' => 'series_group' + ); + + $args = wp_parse_args( $args, $defaults ); + $args['number'] = absint( $args['number'] ); + $args['offset'] = absint( $args['offset'] ); + + if ( '' !== $args['parent'] ) { + $args['child_of'] = 0; + $args['hierarchical'] = false; + $args['pad_counts'] = false; + } + + extract($args, EXTR_SKIP); + + if ( $child_of ) { + $hierarchy = _get_term_hierarchy('series_group'); + if ( !isset($hierarchy[$parent]) ) + return $empty_array; + } + + + $_orderby = strtolower($orderby); + if ( empty($_orderby) || 'id' == $_orderby ) + $orderby = 'seriest.term_id'; + elseif ( 'name' == $_orderby ) + $orderby = 'seriest.name'; + elseif ( 'slug' == $_orderby ) + $orderby = 'seriest.slug'; + elseif ( 'term_id' == $_orderby ) + $orderby = 'seriest.term_id'; + + if ( !empty($orderby) ) + $orderby = "ORDER BY $orderby"; + else + $order = ''; + + $where = ''; + $inclusions = ''; + + if ( !empty($include) ) { + $exclude = ''; + $exclude_tree = ''; + $ingroups = wp_parse_id_list($include); + + foreach ( $ingroups as $ingroup ) { + if ( empty($inclusions) ) + $inclusions = ' AND ( seriest.term_id = ' . intval($ingroup) . ' '; + else + $inclusions .= ' OR seriest.term_id = ' . intval($ingroup) . ' '; + } + } + + if ( !empty($inclusions) ) + $inclusions .= ')'; + $where .= $inclusions; + + $exclusions = ''; + if ( !empty( $exclude_tree ) ) { + $excluded_trunks = wp_parse_id_list($exclude_tree); + foreach ( $excluded_trunks as $extrunk ) { + $excluded_children = (array) get_terms('series_group', array('child_of' => intval($extrunk), 'fields' => 'ids')); + $excluded_children[] = $extrunk; + foreach ( $excluded_children as $exgroup) { + if ( empty($exclusions) ) + $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; + else + $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; + } + } + } + + if ( !empty($exclude) ) { + $exgroups = wp_parse_id_list($exclude); + foreach ( $exgroups as $exgroup ) { + if ( empty($exclusions) ) + $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; + else + $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; + } + } + + $where .= $exclusions; + + if ( '' !== $parent ) { + $parent = (int) $parent; + $where .= " AND seriesttt.parent = '$parent'"; + } + + if ( $hide_empty && !$hierarchical ) { + $where .= ' AND seriesttt.count != 0'; + } + + //don't limit the query results when we have to descend the family tree + if ( ! empty($number) && ! $hierarchical && empty( $child_of ) && '' === $parent ) { + if ( $offset ) + $limit = 'LIMIT ' . $offset . ',' . $number; + else + $limit = 'LIMIT ' . $number; + } else { + $limit = ''; + } + + $selects = array(); + switch ( $fields ) { + case 'all': + $selects = array('seriest.*', 'seriesttt.*'); + break; + case 'ids': + $selects = array('seriest.term_id'); + break; + case 'id=>parent': + $selects = array('seriest.term_id', seriesttt.parent, 'seriesttt.count'); + break; + case 'names': + $selects = array('seriest.term_id', 'seriest.name'); + break; + case 'slugs': + $selects = array('seriest.term_id', 'seriest.slug'); + break; + case 'count': + $orderby = ''; + $order = ''; + $selects = array('COUNT(*)'); + } + + $select_this = implode(', ', $selects); + + $join = ''; + + //OLD QUERY -> $query = "SELECT DISTINCT $select_this FROM $wpdb->term_relationships seriestt INNER JOIN $wpdb->posts seriesp ON seriestt.object_id = seriesp.ID INNER JOIN $wpdb->term_taxonomy seriesttt ON seriesttt.term_taxonomy_id = seriestt.term_taxonomy_id INNER JOIN $wpdb->terms seriest ON seriesttt.term_id = seriest.term_id WHERE seriesp.post_type = 'series_grouping' AND seriesttt.taxonomy = '$taxonomy' $where $orderby $order $limit"; + + $query = $wpdb->prepare( "SELECT DISTINCT $select_this FROM $wpdb->terms AS seriest INNER JOIN $wpdb->term_taxonomy AS seriesttt ON seriesttt.term_id = seriest.term_id $join WHERE seriesttt.taxonomy = '%s' $where $orderby $order $limit", $taxonomy ); + + if ( 'count' == $fields ) { + $group_count = $wpdb->get_var($query); + return $group_count; + } + + $series_groups = $wpdb->get_results($query); + + + if ( $child_of ) { + $children = _get_term_hierarchy('series_group'); + if ( ! empty($children) ) + $series_groups = &_get_term_children($child_of, $series_groups, 'series_group'); + } + + //Update term counts to include children. + if ( $pad_counts && 'all' == $fields ) + _pad_term_counts($series_groups, 'series_group'); + + //Make sure we show empty groups that have children. + if ( $hierarchical && $hide_empty && is_array($series_groups) ) { + foreach ($series_groups as $k => $group ) { + if ( ! $group->count ) { + $children = _get_term_children($group->term_id, $series_groups, 'series_group'); + if ( is_array($children) ) + foreach ( $children as $child ) + if ( $child->count ) + continue 2; + + // It really is empty + unset($series_groups[$k]); + } + } + } + reset ( $series_groups ); + + $_groups = array(); + + if ( 'id=>parent' == $fields ) { + while ($group = array_shift($series_groups) ) + $_groups[$group->term_id] = $group->parent; + $series_groups = $_groups; + } elseif ( 'ids' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->term_id; + $series_groups = $_groups; + } elseif ( 'names' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->name; + $series_groups = $_groups; + } elseif ( 'slugs' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->slug; + $series_groups = $_groups; + } + + if ( 0 < $number && intval(@count($series_groups)) > $number ) + $series_groups = array_slice($series_groups, $offset, $number); + + return $series_groups; +} + +/* +* get_series_group_list() - used to output an unordered list containing a group title followed by the list of series in that group. If no group_id is included then the function will return all the groups with the series in each group. If group_id(s) are included then the groups requested will be returned. Can also choose to "exclude" certain groups from the list. This function uses the utility functions found on this page. +* @param $group_id can be just a string|int containing the id of one group that you want to return the list for OR it can be an array with four paramaters: include (array, comma, or space deliminated list of group_ids to include), exclude (array, comma, or space deliminated list of group_ids to exclude), orderby (id=default, name, or slug), and order (asc=default/desc) +* @param $args (optional) you can indicate how you want the series list in each group to be returned. For a list of what args you can include see the "get_terms()" function found in /wp-includes/taxonomy.php. +* @param bool (true|false) - true will echo the results, false will return the results. default is true. +* +* @return string if false or echo string if true. +*/ +function get_series_group_list( $group_id = array(), $args = array(), $echo = true ) { + + if ( !empty($group_id) ) { + if ( !is_array($group_id) ) { + $group_id = (int) $group_id; + $group_id = array( 'include' => $group_id ); + } else { + $group_id = array( 'include' => $group_id ); + } + } + + $groups = get_series_groups( $group_id ); + $group_out = ''; + + foreach ( $groups as $group ) { + $group_out .= '

'.$group->name.'

'; + $group_out .= '
    '; + $series_in_group = get_series_in_group($group->term_id, $args ); + foreach ( $series_in_group as $series ) { + $group_out .= '
  • '.get_series_name($series).'
  • '; + } + $group_out .= '
'; + } + + if ( $echo ) + echo $group_out; + else + return $group_out; +} + +/** +* DEPECRATED FUNCTIONS +* This section contains functions no longer active but still required for upgrade purposes. +**/ +function get_old_series_groups( $args = array() ) { + global $wpdb; + + $defaults = array ( + 'orderby' => 'term_id', + 'order' => 'ASC', + 'exclude' => array(), + 'include' => array(), + 'number' => '', + 'fields' => 'all', + 'number' => '', + 'offset' => '', + 'exclusions' => '', + 'limit' => '', + 'hide_empty' => true, + 'taxonomy' => 'series_group' + ); + + $args = wp_parse_args( $args, $defaults ); + $args['number'] = absint( $args['number'] ); + $args['offset'] = absint( $args['offset'] ); + + extract($args, EXTR_SKIP); + + $_orderby = strtolower($orderby); + if ( empty($_orderby) || 'id' == $_orderby ) + $orderby = 'seriest.term_id'; + elseif ( 'name' == $_orderby ) + $orderby = 'seriest.name'; + elseif ( 'slug' == $_orderby ) + $orderby = 'seriest.slug'; + elseif ( 'term_id' == $_orderby ) + $orderby = 'seriest.term_id'; + + if ( !empty($orderby) ) + $orderby = "ORDER BY $orderby"; + else + $order = ''; + + $where = ''; + $inclusions = ''; + + if ( !empty($include) ) { + $exclude = ''; + $ingroups = wp_parse_id_list($include); + + foreach ( $ingroups as $ingroup ) { + if ( empty($inclusions) ) + $inclusions = ' AND ( seriest.term_id = ' . intval($ingroup) . ' '; + else + $inclusions .= ' OR seriest.term_id = ' . intval($ingroup) . ' '; + } + } + + if ( !empty($inclusions) ) + $inclusions .= ')'; + $where .= $inclusions; + + if ( !empty($exclude) ) { + $exgroups = wp_parse_id_list($exclude); + foreach ( $exgroups as $exgroup ) { + if ( empty($exclusions) ) + $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; + else + $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; + } + } + + $where .= $exclusions; + + if ( ! empty($number ) ) { + if ( $offset ) + $limit = 'LIMIT ' . $offset . ',' . $number; + else + $limit = 'LIMIT ' . $number; + } + + if ( $hide_empty ) { + $where .= ' AND seriesttt.count != 0'; + } + + $selects = array(); + switch ( $fields ) { + case 'all': + $selects = array('seriest.term_id', 'seriest.name', 'seriest.slug'); + break; + case 'ids': + $selects = array('seriest.term_id'); + break; + case 'names': + $selects = array('seriest.term_id', 'seriest.name'); + break; + case 'slugs': + $selects = array('seriest.term_id', 'seriest.slug'); + break; + case 'count': + $orderby = ''; + $order = ''; + $selects = array('COUNT(*)'); + } + + $select_this = implode(', ', $selects); + + $query = $wpdb->prepare( "SELECT DISTINCT $select_this FROM $wpdb->term_relationships seriestt INNER JOIN $wpdb->posts seriesp ON seriestt.object_id = seriesp.ID INNER JOIN $wpdb->term_taxonomy seriesttt ON seriesttt.term_taxonomy_id = seriestt.term_taxonomy_id INNER JOIN $wpdb->terms seriest ON seriesttt.term_id = seriest.term_id WHERE seriesp.post_type = 'series_grouping' AND seriesttt.taxonomy = '%s' $where $orderby $order $limit", $taxonomy ); + + if ( 'count' == $fields ) { + $group_count = $wpdb->get_var($query); + return $group_count; + } + + $series_groups = $wpdb->get_results($query); + + $_groups = array(); + + if ( 'ids' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->term_id; + $series_groups = $_groups; + } elseif ( 'names' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->name; + $series_groups = $_groups; + } elseif ( 'slugs' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->slug; + $series_groups = $_groups; + } + + if ( 0 < $number && intval(@count($series_groups)) > $number ) + $series_groups = array_slice($series_groups, $offset, $number); + + return $series_groups; + +} +?> diff --git a/addons/grouping/orgseries-grouping.css b/addons/grouping/orgseries-grouping.css new file mode 100644 index 00000000..ba4ff1fa --- /dev/null +++ b/addons/grouping/orgseries-grouping.css @@ -0,0 +1,16 @@ +.inner-sidebar #side-sortables { + width: 100%; +} + +.inner-sidebar { + position: relative; + top: -220px; + right: 40px; + float: right; + width: 315px; +} + +.series-group { + margin: 3px; + padding: 3px; +} diff --git a/addons/grouping/readme.txt b/addons/grouping/readme.txt new file mode 100644 index 00000000..e152b325 --- /dev/null +++ b/addons/grouping/readme.txt @@ -0,0 +1,26 @@ +=== PublishPress Series Addon - Grouping === +Contributors: nerrad +Tags: series, groups +Requires at least: 3.7 +Tested up to: 4.8 +Stable tag: 2.2.3 +License: GPLv2 +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +This addon gives you the ability to group series together by category. + +== Description == +One of the common case uses I've heard from people requesting this feature is the following: Say you are using your blog to write a book over a bunch of posts. The posts in each series are chapters in a book (chapter 1 is a post in a book). This way people can easily navigate through the different chapters. What if, however, the book is actually part of a series of books. In this case you'd want a way to present the Books as a part of a group. Aha! This is where PublishPress Series Grouping would come in to solve the problem. + +== Installation == +This add-on requires PublishPress Series Core to be installed and active. + +1. MAKE SURE YOU BACKUP YOUR WORDPRESS DATABASE (that\'s all in caps for a reason - nothing *should* go wrong but it\'s a good precaution nevertheless!!) +1. Download the File (or use the built-in updater provided by WordPress) +1. Extract to a folder in `../wp-content/plugins/`. The add-on folder can be named whatever you want but the default is \"organize-series-grouping\". The final structure would be something like this: `../wp-content/plugins/organize-series-grouping/--and all the plugin files/folders--` +1. Activate the plugin on your WordPress plugins page. + +You can do the above or just use the new plugin install integrated in WordPress. + +== Changelog == +All change-log information for the plugin can be found at https://organizeseries.com/changelogs \ No newline at end of file diff --git a/addons/grouping/theme/primary/taxonomy-series_group.php b/addons/grouping/theme/primary/taxonomy-series_group.php new file mode 100644 index 00000000..ca12c90d --- /dev/null +++ b/addons/grouping/theme/primary/taxonomy-series_group.php @@ -0,0 +1,41 @@ + +
+
+ + +
> +
+ term_id); //gets the series data for the displayed group. + $series_args = array( + 'include' => $get_series, + 'number' => '', + 'order' => 'ASC', + 'hide_empty' => true + ); + wp_serieslist_display(false, $series_args); //this is an organize-series template tag. List of series is output according to the serieslist_display template in series options. + ?> +
+
+
+
+ + diff --git a/addons/grouping/theme/twenty-ten/groups-template.php b/addons/grouping/theme/twenty-ten/groups-template.php new file mode 100644 index 00000000..a455eb28 --- /dev/null +++ b/addons/grouping/theme/twenty-ten/groups-template.php @@ -0,0 +1,77 @@ + + +
+
+ +
> + 'DESC', + 'orderby' => 'term_id', + 'hide_empty' => false, + 'hierarchical' => true + ); + + //series listing args + $get_series_args = array( + 'hide_empty' => 1, + ); + + $groups = get_series_groups( $args ); //get series groups + + foreach ( $groups as $group ) { + + //does the group have children? If so, then let's get cracking... + + $c_groups = _get_term_children($group->term_id, $groups, 'series_group'); + + if ( $c_groups ) { + ?> +
+

name ?>

+ + + +
+

name; ?>

+ + term_id, $get_series_args); //gets the series data for the displayed group. + + $series_args = array( + 'include' => $get_series, + 'order' => 'DESC' + ); + wp_serieslist_display(false, $series_args); //this is an organize-series template tag. List of series is output according to the serieslist_display template in series options. + ?> +
+ + +
+ +
+ +
+
+ + + diff --git a/addons/grouping/uninstall.php b/addons/grouping/uninstall.php new file mode 100644 index 00000000..73cdbf52 --- /dev/null +++ b/addons/grouping/uninstall.php @@ -0,0 +1,16 @@ +settings; +$delete_grouping = $settings['kill_grouping_on_delete']; + +if ( $delete_grouping == 1 ) { + $type = 'series_grouping'; + $query = "SELECT ID from $wpdb->posts WHERE post_type = '$type'"; + $series_grouping_posts = $wpdb->get_results($query); + foreach ( $series_grouping_posts as $series ) { + wp_delete_post($series->ID,true); + } + delete_option('orgseries_grouping_import_completed'); //so if reactivated later it will work! + delete_option('orgseries_grouping_version'); //remove ALL traces! +} +?> \ No newline at end of file diff --git a/inc/utility-functions.php b/inc/utility-functions.php index 8f06ec70..de2f42f9 100644 --- a/inc/utility-functions.php +++ b/inc/utility-functions.php @@ -145,75 +145,83 @@ function pp_series_locate_template($template_names) } } - /** - * Check if current active theme is block theme/support full site editing - * - * @return bool - */ - function pp_series_is_block_theme() - { - - $is_block_theme = false; - - if (function_exists('wp_is_block_theme') - && function_exists('block_template_part') + + if (!function_exists('pp_series_is_block_theme')) { + /** + * Check if current active theme is block theme/support full site editing + * + * @return bool + */ + function pp_series_is_block_theme() + { + $is_block_theme = false; + + if (function_exists('wp_is_block_theme') + && function_exists('block_template_part') && wp_is_block_theme() ) { - $is_block_theme = true; - } + $is_block_theme = true; + } - return $is_block_theme; + return $is_block_theme; + } } - /** - * Retreive block theme header - * - * @return string - */ - function pp_series_get_block_theme_header() - { - $block_theme_header = ''; + if (!function_exists('pp_series_get_block_theme_header')) { + /** + * Retreive block theme header + * + * @return string + */ + function pp_series_get_block_theme_header() + { + $block_theme_header = ''; - if (pp_series_is_block_theme()) { - $header_template_part = get_block_template(get_stylesheet() . '//header', 'wp_template_part'); - if ($header_template_part && isset($header_template_part->content)) { - $block_theme_header = do_blocks($header_template_part->content); + if (pp_series_is_block_theme()) { + $header_template_part = get_block_template(get_stylesheet() . '//header', 'wp_template_part'); + if ($header_template_part && isset($header_template_part->content)) { + $block_theme_header = do_blocks($header_template_part->content); + } } - } - return $block_theme_header; + return $block_theme_header; + } } - /** - * Retreive block theme footer - * - * @return string - */ - function pp_series_get_block_theme_footer() - { - $block_theme_footer = ''; + if (!function_exists('pp_series_get_block_theme_footer')) { + /** + * Retreive block theme footer + * + * @return string + */ + function pp_series_get_block_theme_footer() + { + $block_theme_footer = ''; - if (pp_series_is_block_theme()) { - $footer_template_part = get_block_template(get_stylesheet() . '//footer', 'wp_template_part'); - if ($footer_template_part && isset($footer_template_part->content)) { - $block_theme_footer = do_blocks($footer_template_part->content); + if (pp_series_is_block_theme()) { + $footer_template_part = get_block_template(get_stylesheet() . '//footer', 'wp_template_part'); + if ($footer_template_part && isset($footer_template_part->content)) { + $block_theme_footer = do_blocks($footer_template_part->content); + } } - } - return $block_theme_footer; + return $block_theme_footer; + } } - /** - * Format block theme header - * - * @return void - */ - function pp_series_format_block_theme_header() - { - $fse_header = pp_series_get_block_theme_header(); - $fse_footer = pp_series_get_block_theme_footer();//we need to get footer as well before wp_head() call to enable fse css generator + + if (!function_exists('pp_series_format_block_theme_header')) { + /** + * Format block theme header + * + * @return void + */ + function pp_series_format_block_theme_header() + { + $fse_header = pp_series_get_block_theme_header(); + $fse_footer = pp_series_get_block_theme_footer();//we need to get footer as well before wp_head() call to enable fse css generator ?> > @@ -224,24 +232,26 @@ function pp_series_format_block_theme_header() >
- + + if (!function_exists('pp_series_format_block_theme_footer')) { + /** + * Format block theme footer + * + * @return void + */ + function pp_series_format_block_theme_footer() + { + $fse_footer = pp_series_get_block_theme_footer(); ?>
+ wp_footer(); ?> diff --git a/includes-core/PPSeriesCoreAdmin.php b/includes-core/PPSeriesCoreAdmin.php index 082555a9..98b73278 100644 --- a/includes-core/PPSeriesCoreAdmin.php +++ b/includes-core/PPSeriesCoreAdmin.php @@ -16,6 +16,8 @@ function ($settings) { ['base' => 'toplevel_page_orgseries_options_page', 'id' => 'toplevel_page_orgseries_options_page'], ['base' => 'edit-tags', 'id' => 'edit-series', 'taxonomy' => ppseries_get_series_slug() ], ['base' => 'term', 'id' => 'edit-series', 'taxonomy' => ppseries_get_series_slug() ], + ['base' => 'edit-tags', 'id' => 'edit-series_group', 'taxonomy' => 'series_group' ], + ['base' => 'term', 'id' => 'edit-series_group', 'taxonomy' => 'series_group' ], ['base' => 'posts_page_manage-issues', 'id' => 'posts_page_manage-issues' ] ] ]; @@ -37,27 +39,8 @@ function ($settings) { } } - add_action('publishpress_series_admin_menu_page', [$this, 'publishpress_series_admin_menu_page']); add_action('publishpress_series_admin_after_sidebar', [$this, 'publishpress_series_advertising_sidebar_banner']); } - - public function publishpress_series_admin_menu_page(){ - add_submenu_page( - 'orgseries_options_page', - esc_html__('Series Groups', 'organize-series'), - esc_html__('Series Groups', 'organize-series'), - 'manage_publishpress_series', - 'pp-series-pro-placeholders-series-group', - [$this, 'placeholderPageSeriesGroup'], - 12 - ); - } - - public function placeholderPageSeriesGroup(){ - wp_register_style('pps-pro-placeholder-css', SERIES_PATH_URL . 'includes-core/pro-placeholder/assets/css/placeholder.css', [], ORG_SERIES_VERSION); - wp_enqueue_style( 'pps-pro-placeholder-css' ); - include_once __DIR__ . '/pro-placeholder/views/series-group-placeholder.php'; - } public function publishpress_series_advertising_sidebar_banner(){ ?> diff --git a/includes-core/pro-placeholder/assets/css/placeholder.css b/includes-core/pro-placeholder/assets/css/placeholder.css deleted file mode 100644 index e2f5dab7..00000000 --- a/includes-core/pro-placeholder/assets/css/placeholder.css +++ /dev/null @@ -1,124 +0,0 @@ - -/* Placeholder screens */ -.pps-elemnt-blur { - filter: blur(2px); - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner img, - div.pp-series-menus-wrapper-promo input.ppc-admin-menu-submit, - div.pp-series-menus-wrapper-promo select.ppc-admin-menu-role, - div.pp-series-menus-wrapper-promo input.ppc-nav-menu-submit, - div.pp-series-menus-wrapper-promo select.ppc-nav-menu-role { - filter: blur(2px); - } - - #pp-series-menu-wrapper { - border: none; - box-shadow: none; - background: none; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo { - height: 600px; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner { - position: relative; - width: 100%; - height: 100%; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner img { - position: absolute; - width: 100%; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner img.pp-series-mobile { - display: none !important; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner img.pp-series-desktop { - display: block !important; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content { - position: absolute; - top: calc(50% - 100px); - left: calc(50% - 225px); - text-align: center; - background: #655897; - padding: 20px 20px 35px; - border-radius: 6px; - width: 450px; - box-sizing: border-box; - box-shadow: 0 0 25px #ccc; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content p { - line-height: 1.4em; - font-size: 16px; - margin-bottom: 20px; - margin-top: 0; - color: #fff; - padding: 0; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content p:last-of-type { - margin-bottom: 0; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content a { - font-size: 17px; - background: #FCB223; - color: #000; - font-weight: normal; - text-decoration: none; - padding: 9px 12px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - box-sizing: border-box; - border: 1px solid #fca871; - break-inside: avoid; - white-space: nowrap; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content a:hover, - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content a:focus, - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content a:active { - background: #fcca46; - color: #000; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo-nav { - height: 370px; - } - - @media (max-width: 979px) { - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner img.pp-series-mobile { - display: block !important; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner img.pp-series-desktop { - display: none !important; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo { - height: 750px; - } - } - - @media (max-width: 768px) { - - #pp-series-menu-wrapper div.pp-series-menus-promo .pp-series-menus-promo-inner .pp-series-menus-promo-content { - top: calc(50% - 100px); - left: calc(50% - 150px); - padding: 20px 20px 35px; - width: 300px; - } - - #pp-series-menu-wrapper div.pp-series-menus-promo { - height: 450px; - } - } \ No newline at end of file diff --git a/includes-core/pro-placeholder/assets/images/series-group-mobile.jpg b/includes-core/pro-placeholder/assets/images/series-group-mobile.jpg deleted file mode 100644 index 3bd12680ea2632f265cec6063dad5008a1d83e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43030 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 diff --git a/includes-core/pro-placeholder/assets/images/series-group.jpg b/includes-core/pro-placeholder/assets/images/series-group.jpg deleted file mode 100644 index 16b2f198cc48ac872a3f8f3f6cacfbdd6ce7c5f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212232 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⋘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 wJ$TQ&~RPbwVEuRk*Scb-s@C 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%0D%>n!{{0-2c$qFVg!??0>HB zF<&f?4Mhmuq*9MkYJg*!0YFI*P^rFO?IQkrXRt{H{-DNNI{tChuPT)QoKSK50wViO zr;Gss4}WI?-?U(qQ~Mt}`PCdDklnxA`(}mz&MZbZdxg!TzIQjjda7@h^3QcXh_?H; z>2DhMy}S9lw(-|W|Gm5Us`Q&2!)CE;c1wV*(GMd#^Z!gqzxnL1Uh0QYzq{KXMt$ed zH`xaJ2G?)){8ugyP3Hzq9eo=IFb)0XYMdkj0p@qZ{~BO6+ur7N`)1I9Vf@AYHrv6U zkNTp=)x>X_qW^WhfPnDiPb14F*ZMUa{z+tk{_2AN5rLrpG+=CwE8ly!&E^>V-Sd2X z#6MBJA0y(|arfrNe~S&99meJ*|0;o#tAyXB{+mW&$yT2kI5!6g>=*aF`N~aN@Hds^ zhrqWvefVb{Rf(EA$vMmgC*-`wz5^;1`q+-%=}VY#5q5%<^R z;(OQnLn8O*GX5HVHf2`dZ1D#x`!4_bHfnPM_|I(dB#{37!)qNuen~nPHYJ^#{oNfP zNPH8(S3UmToBy?f3W3MJg~H9I_DwndX{L7%u*iQTKwlT_nF{$IAACth)4wL8-#Ml) zYjz&|@lUg}@236N3G?>`_-nNKlf1g-aOCF9=KHJuN-BSn|NMv#QT{di`IZuvvkSs1 zaR46fF>ru5ftH_O-Ll0oVEyq$O$ps~cx=1ZL{>&zO8K12S8y#uU5$*8xTAky`cYuI z1|$iu#ro+lGwJ@4TE*WVx$kED{38dV;bz>(9LFD(QO!MmMk46Em)_gfM{WJmM>h91Hb2%G{2qFytgV}S{@MC9yq81Uzg zGA#9WQW_KHvO`@z;Lz#~5N+7i^HqvpP6$KkC$y;w{fk2Y${2G!l&lEUmL?uqp7izN z4wHsO{_!j1A1;@=OIrN9j}c+91^?diXeka%=z$iy(KuyUfg{KOT1W)omsu4lN}n0J zP80g+tS(6Mlt2;VP+`es=LY0>2KM^s#$j8&F9%f7KvPI6ozI!%@|hteU>r^58w6e( z-$)CqS2AmHS84z8EASt#PwD<&a_bXU|8iYytJ4(TCb^{8?t;QTsnt2+aAG0sWB0%At8AMmt zrYf5)0&N+Zk+mT5d0+%_ewO~W3EA-kIVMXD1D6z{K5l@?dp|SC&%=SI`D91u&m{p@ zr!73kP>Yd2NxAxRe@${{LYx$pf2(uLG30ex) zel$!aY!F-r5hVLID#y)D>+gul9jNGRdl}Ck~&^ zv+~<#K(~JZSYLOSb-exg$CgJ+N{qa=e*Hl6{jPviW_?YbOJab*NpsrV{rNQ@r~g;P zvfJ{A^;Zm|KRNr=`L9v?|A;R66FuoR%S)!dDoK(A*?Y{5gUZmYAwmw-EqSLn%E`MX zZAhBuOmLiuHsh5UOUijBAqyZbqrD<&S7@3(GmC)d5sMv*+#tHq1P>XL&-#95ph|** zz^e>BNWxwaT`ZDp3T8vjZpi>}ghjzr18+rwO*54X;M95Ih~p;2&fs?uaDpZ>d~JD? zM2)90p#ko^VNE@OBLZBKVN3fL^o>w9fM0q+cK^(9l2sXCxHtfSeK-KgnjK+=ewWXU zzV*y!hKBw#z-IWKSs|$|7l6jfc~((cg>+21x;HOWL9S_-S8$gp(>uQRDT{3UbgsyH z)CPkimb{A{=#13<{&CCw^e5J9X(AID@e~Col}RJmjAgfs;)1kjTA)SAg6>}4OctKj z-O(!9+wWf`96Jx^rah-K)4P-q2e4#m^bpw}wA(qphOaka*qYhK%Z}9UJza|9oWvfH4yI(AOZ z+&}fHrib?E&=*;^S#CbDV!=luH;&mt6JO3abl&to zwe^?@gKNvY0V1HkR>h5)9MpiMa8r+cW=K`!bIytc0b9d?P$v#V8}dE3x7=VY4$29; zP>*S2d_3s~w(OIZDwr^{mU|)`+kg9^)@?TDML(V~?^@(;M<<$qz^Nz*e2<|Ilfy@rvE8G zK4LHG*oey%E1e3VUcCt-JLzQ}`F*SB}Tim@T#G%y@vgYuMY9v$&Rl zRWh8C<%^PSq?o1l0&~)F6xn2y1v_im4JJU{fbD}>U^Q(Bt@MC=z;w5h z0CRP%tT+seu8&ra*hlB`u9w~5E{UY_0Qo7g0z7U82f7WPJL>>>pda=#1AoC%!cx@p z=+j&m_v(%@sCMDShl8Yi1(c~0z$WIZv?GWtivbc^0Pm)Nd<`hA^+f>_ry%LdHl{JT zb1L*CwinNBG<_X!R;DB~?bTYC&r9>y2rO}|h_O_v)snsV$7diTNp!LW;bT2?D|q}C z*-WdbTg_;!4XT6fR#fGO;R{?Qqv<2NIMtle(q8Dy9TXBYWarvYhVDhyYGNll;1@nK zKvk6KNz#&)lDXglBkK-}Lo2Rr@V*%_jYmR!DbA@>?x1%c59>~9&KA7#+mbc!j3R%E zr;+H_pQ9D-t2uCjP z%u9BFFM~cQptm9WLy@y{lARNu8O*UpwmuZ#J)$KYCPJ^W`plrMYeG7?@nKbw3SeZ_ zs$iX#$zn|Pkbw)0C{}=O_Lq&!@U>;K0sOirZ$5R4FHX`q(PGUiBSPMXE3Z)F-~nD1 zRHbk#K)FP#5Q?P&4_JE~>o_`?O5&g;D+2to&7dM=<0!}cQCMpuUw-vc)a5HTmRw5x zjB)cjv|d&{xVr+Jo68xS;pLntOrGHani%M0>;(IJEBa0dKxA4;Llu-r<|{QriS}XC zUE|)#>U#b4mexJFR&zWl?S3f^!QRQDk2rmH$BA--OHi0){C%Pw$qw*oH|MdXk@Z%7 za!}5JxeAjHM)OB?6(gU(33-Vr5e{h*+kzbS`X6sm{3JidP8RRLBZ&*7!!*p=C^wmJ zblmL$*pU(%ie`oh;YdgLA^NIZB>~Gq9~3yOZL6;6nlJ}^P!^aGaKo1aPdQF2#EvE8 zQ;txTY4L~yvm??WtvZnn+NPyt`Y^j5ag1E!^%hnB@&Xg~n5ponY-z~@Tl7ax4_JVZ zu=Wj?3qYVCSQ)=$(7i>FZzw9XO+;PjX=%1Sfo_i^1KYj$E*Id|N671h)^S82U7g%I zu{ugpU-)^=U-u&@yE+U@fS-3-2uBIrN|l_u&?`~b_tvj3pp zdcEwRT|Jl|Zi9m`&fkeH@d8QP3M)6W+;Xm zbhYks2aym(Z#>i{x8??~iW zHXpkAHG&86Isxpjwr@;TT~4yKLy$Z^YRrS_F1~MPpD}1-buQUBrzEC*+>n-)$)CG` z8~{zYMPMBuclnqamLJe}^wRms2`dZ<=%CW9b7tITQN)AUle!#W1>++J9)^wIWBfEv zE5q7XUjSl`e>`j%=Z0^gsKYu)F=Tt>IPHjr;NWaXLUL%j&B>zBN*|8_nJW>hEomY= z#@RMO{106ZiLy`<$IPf)F%1Y_TC|1+)tXjTVxZB}h$_}f_e>|JtBEbkpmG$vI)|+c zu84WT8tV*0r&>hzj|!JFDo$*G@xXd+|3nzAYhx!>6XWZ_46w}lJGnzpDD@~|whHLH zE~?k7l(={bd8oFeqB=yGRZ44rSMULIPjn>s8k8)?-h>JneSyX|Qp5qW=zR36=R~sx zTl-&1vYs>Ql-@NzMM54(X}GN=bX43Sus1f1(Q6C%$}GThEK5Gplu59v2QqXGKKdIC z@h-Ze`1@6>Hb{fME1WB{#Mau~iQSuZQ2&;5i4IXys0HfE_95H;GW5(0kj5M_3Bre? zk+lxsYk+P9+(F+j8P=mWH+GY^EhH%R);s1YJdVgxG!mSI$m?agyexA@9{$Xb_wkO| zoFE2oM3mJ6MBXq5Dq;#-?O@e-Jh~0l#534igF5JxYIOgizQvV@sf-)uu~!zh1i!o$ zb70OEa0c6T2q64{G1;MgBx_o=1|R%HA41ZcdJwtKf*h(vNV}zxVrKh7|CYj@4ynsg zy!$77)Uwod1<#>&AY{lN>CDg5=v_TzZSx)~lOIK+?RjhNhm(7ED(bh{$Y|6b_@MV8 zO}J9*D3kle@*C&@+9ahPft`dk*CU7Y>AUABeq{RwWT`TB-wcF&>p5JssHUoz5S|$( zyS28RpM4BLUEk?%)nOa7Kr4bo>V(_%Vqp{>CRFRi<9!LsH#4Nx2l316|}wiU%F=4ZKJoiw(vWt}oiR4G9zy#1feukX%%7&iuhT zS>?qzZoGKnEm@HpMw70t19MP732RTQ369BzK}#ZotC#`arN)ZPhGo_P^OGaHfZlCS zn=>X)9`7X;tGPJ-ANJlms;O_^7exUP5fPMLf`B5@M4Hl~q7)HPkzRt*jTjM-03i_( zkS-vgAfQx{5|O5~&=Kh!0uqu)ZwX3RlHy&Sd(Jz*v(LG2?0v_*3QH=6duT+#-r__)hl9$juRr zRbX3O6g{9Q7ic|lOwQ0x#O~%fHKp4%P}vg$>meiv9^RV67C_)#Zc&zu1!N(u5PaZV(VFS)IgmY@RsAf$E}+bL$9SZ{ z5FMZoyE<52?rg@R+mk2Pk)iq@-H)VbZT{ItWZ{F+>Z1me1VS2HUl4 zVXARNQc8!tAS3%0{?^ca0o|Z5zNsDA^`z7*scsLFWlvJDQ*EpRoYYv_5VLHXSDfZf znUC*k&N+}@6I>fp&9CHlR~X=gR?@Nxj3J6|XQFyN&b!*FVeUf#*__q^Jb|>H*lEGF znl8mYx@|4we1_F`Q`l+vCGXNo>3fw!?Uu5oNp*V`jOJw(c3)9qiNbBTFzBHwYy|Xx z|2uylE~BRx;PCxKTZ{xg-9;-Z6?AgucHs?mhJ4|YOQ;IbL61yaK z;!yk~s5mlm3BMeS&QnQIZi>Hy9&k&M*=weA?1kH0P}Dq^+_syQH*v*6^rrO#=Z*B8 zg2D+KQ$MJ@Yk$A@D0ctt+v3Hz5C?ljr|n8aYEVgz<1~6wYd3N25TOPWRRwJ3N3||G z_!y8Z@8Rx7aAk6ommG_|7nYhZuDAqW=-C8Ls{RWrJ2Dutet|>?_q9dIW-B^mPH(P1 z+?_9bK{TAzjCy|Li_x8C(S|l5(Nx=YY>p=GX_FfBCHN9x!BEY4Tw~pmby#2aYU8+` zLaAeM^0~DD6ZVJhVbNXU(?&B|VW##l-4CU5URm zpH$==YH{^Dcm@Bsp7)1LtKa;(02hbrTZ1u)%KbSSw?!{nX+Nwk{?us$BsW-2gy@TT zCON2eOs9Um@!EU#t9IihP#S1y#vi|G<+_H5$JAikbM~W$GUV63QH-0PBPVWAp^?VV z{ClD`_fun&L^zr*5`qg>+#mH@i0Xcg$fSNKaGN zFdVMi_Rf2!&S$vJ*cb6&sJ&~^+Q#Vo*UPAQs=7Uuuto>h#bJs$;fbDl2pO)*$54(n zA5*IOQ1&h~>3+joKZL~7phB(l&Zk>mi6kYn8FW!xO@In2ot8@kezxFCj<)*3!oo+#hHp04 zoT{7Bbe2g}f%Z>+-A#`^2Zhc$I}kFyK^!&<>aq>#f~+B(oMygB94MBusbO*-rAB@^ zN7-h*yDtV3ABv*!z0aQBOGx?JbVFIj$HVb{zv537IxT9?8$70iZn=)5~uyT(r_N*2FlJCG)u3Z8T8h< zr-(p^)%qu2&{&VT_Ca%@$b968;6b1?~)8y|~TVADX=8U`Y}JR!5o$y`!4V0e}3k4*#9b z?f>TB{(sC@8*=*k^_`sB#dQZ)`d;9UH71h4ho5MN3En@ZB(#OtuJZ_Qe4wtr#}8Tm z@z^b+o0V?p&WQyZaMztnf>l_wBc3@Q1B%{H0y!4r4OYRsX~in>q&~Pw!ou>9WiPT6 zdo1qxyZ2`r_Jr98Jngm51;tj8-#Zy1wtkX)IAr``jJ*V*<=?isZCh@OE; z8pxrffDXDA;LsfC>tKhZlP(Mf-b4GL`=Pu|XIsD}mj^6LPPBh^Hdk$%U$}M*#R?&aa;9>%!^D>%)v9edVeD-gO?ml%SxdG|%y3BT_ON?0dtkAt zUi9h6U6Y;jAMQ=_^L|PrZyQ)l718nmFi_&up1{Fj5j?~)cr!-8Uy|nnRkOS}P(Qn% zu>9%Bi;OmVj&A8T>rIM#^H+!mW{EpsW$rydD}bMo!~$!TRq|_# z^kXO|X3EA-3@;oi#V}ThEj0`jyIUjl@p7Sa_k*{Q;{nxmHOlnb`2494A2>2r%k;qA zf>UV(;{yW7CWXkP&J>JmG2pJ}$rlg1P@8BqQaXsI>kMeWyYqmCpKGl*B7t`!YO@*KI zX?cbE9NDeBG4W{Fp_lVK!WRgo%b~&W;2^_{eiN7`)<%O9iwq}if3- zn;o6B5^T3-RocR^aaw1)!&IfoasLx{*53Gzrw(ci%*33OI0)A0j{Z+n+=l+fwIm7< zvMq!9^jY1vHA0|{+)-|m5an&$Zb?U!x5x)Fo62=$coh}0T;QG;vcv?cr=4~B-pjjv;y}S zmDE2l{rMm4n>vbf1Hkz|Pj^=dk7aTDV_9m(3~5YN6jR8@20ZBM!2d+@(tH2;xBhcp z|G5VKxd#5Z2L8`k13QRB48$M$L`O5Ly76_BH1%4eLe-!i)T7yH#m2V(XtqqG+7F8d zzuD>|&Ye4M)g%GflmTs*m<9Gz_ez^&P*>BxBA%gT;OSK$T|Vz)RfTu3?^c1T!Fste z+Biwu@tdirmw<)UC*U%*bqjv>Tp z4XE3}+O;2VXE2=YyDz9oLwOmyq)WF~L~T#&w_pq2N2V4m*GauXw!@a%5+Bnos z-b&CAvATYiZO`LV%o7_MV5jpY8<_a)p@PL&*gLEq^C{;0a06I@aaIP~>G{};met|G zV!se`we18!bYJ$~8bFcE#|}i4-(zkt~O!*3>7b4}VxdSMeWf7g}l1t<3Wy`OsYr66^Op~YLoJd!B+N6L=6 z0{z=TzBbbj!~i=i@qHt#=&l4Dr2KmjwFImK}GhpQ&-tx5KNm39y4^7I>F-Z0?owp{^Jl5rF` z%jWMK_CFWZoQnSA{gcqbw#ZtrICfOei8|d8e03HA<8LYQ9@hyNQK&OB*X~zTB68mf zk_!B_NB5RWP@hIwNEjJHxxV>J8qdXiVG;G4Z8yo*W?6!;n!_YBR!N9yE>LlWb%w$F znKIC}d8~R})oQ50u(0jntfRJYupmS1>2=*76&_w3?vzL2uf>X7>G$p?+Z*kID+L!V zWK*iH$G=2%%zuaxD6N>e_ndtwJsjVtdBy6(E%LR#PRqKwruRZayP$MNo&~>3NIqFy zSJ!JElU=fDK+J6dGn&Y;L{_wFJC1Q!6?CWrgFfD32vYzSjRB-#ER%A?8pC*trO4<* ze>TH`mDn%44y4*PRc@3Q054~ppw8Sh&jk{`IvMPq%~vxSyn34G6m-+r_e*(BTgIU* zB7)DGB{IyeT$t&@o4==jfxr2QM)$^}cio$?W0)FUx*4BsMSJCue{M&I*ZKxC0v-aD5_$;8HRJ%)nYe%;(nSBQ2z&`|cr% z%GLxV`Pp0Xt>w^1As7T7Cf3y9{r zT>JiIU!!qrwjgCQtU9XvH^$6n@Agg2_7tpzmi=eg$0^u< zx*23n7vdRC01C%&U!ZU`Ll2>D5PQr$uYbt29%q=lOXa}bU0nkNd$a9-4akjj&vV3I zcM&i<%<1#EWvnQ==w|K}wPc@~nroX_hVaMHIOkIWZ_l=_R}Gu$&&C!pIO_+Qhd+Z` z&?^i9v2a%mmAGIsj0uWn^qpz&8~Xn?p5*BD{}TIhHHB%3sl%ii{5xvX>rjvJU*+dK zy})J0UHzM_9DLQ@#0=$g{r(%jv^|$m(_mRNmtwrO9F%W|#9gLJmGAcYb#o8;$Htqx z3e5{XEj)b5JuckkzU@BQjn^pp90pM6YF2$#S6!GyROafm!N40G_^RZiHtc5=dY(7%4`|Q_1#KMuwA&xQ*))g>$IS)y+$&LCE0|s5N-)l*5fORP@6G- zCYNd5gl5nst+dnKzIspH5>2}3R#XZI_vifEWH zreh~hxV#@ybV=&JX7oVkdWuUZ`{f(Mn+`Wee5!>a&0Kv2%)a+(bxUn?!4LI*Zjq`E ze$ILHW>_*;8QXC|GJy-NY(c$00;|hu3$6tLj32f$8>LT_9gZ&VC}v+j?UFUvos(2Q z@qy`G?E0^vGOIG*>u9eOM+At=42ez`8}^JOHugi2`3uvq8MNB8}h znyD!%U9z$NX=7Hqw#u2GD`d3zXv;*FEzagssCU&Ms0abN_C}K2Yig3`TNK4AUt>P1 zJ8RQ*QNEO&^@;7Q8_EXx>BAc)NL zpe$7|EQCtl+J8$VnEM6^zkZI&Oh@;o^q*Zdzx?6zPsyV;s^mn$DddrsjN16>le6$p zsebsBYohp+^u_Ng$Zqzy;SZ9R1s4eWSSOaDVod@_Px8Jngl0ivj7E=>^{jYYP(??e zNRkyTx&HClvvMAdCo-)E_r~!3%e!~f?{6hE27>=CLr8_weD?My_nfY}?d?_czlAUA807vJ{X7iy7uwnoNNLoivyWL zPF#1V8{sdLvoNhX`Z;mRFQx(XoL!%9$nh5;9%(K-FQQKiNncFszDG^af=xrn*eB4r ztlczhP?<$2S)5P&8*;C5&>Q+?LXzNA)Oz;KgQgEZ#O2OypdNH#SHRlx6#WLENrjP$ z+B4Ukm9MEjn>|)LK35Yn^#(2%IVG*8Ta|F)&R2)vQkT8L_l?MN_8_8U=UNKQmx^eH ziXxMWGGSDYx1@Eb)yN#&&VRZ-Hm3^zv7}pNr`CmC?U>u*yyG0aPpawC)K3Eyz=~Sr z34bFyQ@Il22H}0Hl(#A#<7kP zAJMUa4Q#!PK#0~P*vUN2T2~4~wm!LV+sQKlI+qQrPHeY$oDsE#1LuhL5zx{Vt{M*a zx-^?20v3WDex)s=0GDHC#v%~~rwjrlY({fLp>70mWTrI*)&Y4Ur6zR<2%F0~SM@AF z!H0J~b^Yo4Y@f!y+E=1(p7C}j4{jw?qk2jNUu_kw#Zz<0mp7jooJ7e|cnQ%AyZq(d zQ!BHFMj4)kPLs~ct5K#(g&8X+8%B-!tK7a5pXnW-T1+jH+`AaZSzN)Pc$mfIJnfYsHxJfv3mIz}Hugielf+8cXhI97F&1e(S2orjaP4hEH~e9*dBdW+T3H7`Q8lGWpt2=fU`%Nn zj$Hq#?p-=-UW9waR@VrBb^UQOVr%Xq<42!x!dnlIEJc#ddLsP><0_?~D`9(cA5xnb zKUN;=?n<0atZ;N9^xaQCGvjFbr1$VA+fh`J)OI&|^ag7jQn|BsTPVB?bw2$%RR`H) zJn}P<-(lm)hJ$#|5;+2KzWI^(lfK&dB=zj-pBC+#Q)XoSqAq1m^3EETJZ-_b(xeUBmpXh%YBN?uZtuJ%-)g>-!u%$SlQqW|`4mP+(CF z3I(f&mlEFsMVF}JX8M&*N)^l6rVl8bb~2}i-@mZqKE^#`)r?2;j5P_Pys2G`qamb$ z7*I0nvz}=Avb}Ir`$K}Qr17Zj#|81|im4Lr)~JW>|)GQ|?8 zY{NI@onV5{BZ-PCzB6;Uv=u3B7m-IlA(v4Pn5lX}q#OwVK?b*8k*+y{Br?QYM=xF5 z+T%By#i$0YP2|3Edy-mP{1;*iXgH!xv{?%zVGm6+E>dwFo5I)_)-lxO5r|3s*zh3U z4sWMqA#vCNA1zVpTbX|Dd8HI7{mh5$&%eIbfu;j_U}~=QlQ3PrNdg1i6V&V!Vh@7f z`0m8*s`1*maGITqVstEaw>!V5GJwp6-UbxyQrc&Qh8UM0gh6gpR@b>p?#b4C$o1hH zO!O|UVz&MrrbQ1zlZtJx8Cp>$YEmXA#5(XZSKjdH;e&`@-8_4Kv~-EnC#Gikh8$XF zg@;kPa!>pU?H%l2vEe0J#0uxm_-1|Xyr#cwUdV4uPK+`*&Kft6XC|Z1-G%KBP_}TS zK1!z^u^I8F{ow4FFH9Bus#NT8{A*;SKdXqmW>4V+_#aV_bT^Jy@Liaa>Q0O4k_wdF~N!N}h z)kdm&LS_DWpYI>xudHv?CP^6|>DpS$d?BE4cE5M_9%c&bEF31KrwL|wv_k4aI;qdB z<+M}V+i9<0g<%;x)uYC86UxW?dcMx@JE|z7V$oxTTv60NG{HI`PKF9H^qA3TIe^f- zvm@q=E%aK~FB{7*l!(OslY5j?qA3IN$O#>8_~iBxt|j8t~9qXG!(@($l_hj_%5cmYg9sHUdEoNhQCPC zu**v&^Osf#s-F_HR=MOBd1}t*6t5j`*+3S`qL5((ZX)mjNz_Sj&ziQUV4gIIPESsU zrnmiI#;p8iyU}E**sU?C<$x{yda7loeN&k)<&%DYW_gQR zEv{)~zB1(HTw~I{sePEhQxrFg#uaoO2+mMqIDQ7mfuL}559@3V#q(J}&&ew0!--oX z{l!Iu4xbzu3kCOxytLCMGvWtzVx|FQI>a8O2MX0|Un z(eg4n_SExPr}5r~99q+7pocUtZ9{}K6C!7|$MnQO-yy?^`7zkF=li_MoTqAKYAgrX zUL;)Pj?+E;-DV`GVzC(qDwrm={sfGv!kt2BmEkI@Cj)H*h{7xbxVg^$*8TTI`c7u; zJe0iTq9W`KRr|$5>jnbJh-gUdL`#-BaRUd92*`x;0%^1^>zEnGF3$EdQxSG~_mq-M zO1ow5-~4)Qzg`&Xs*ZTm{&bSfT0Pyx9^GHtq&}{9o2V*)_` zK=yr_$HNC|&INQeR{ssgK4ykLc51qP_o?%-n6HXUDk`pFWqH}UQ}Ztpm9sB?vU|k* zk*wZz<(i3r=fZ3XrH7VEg{(cysi8Aq)PvB&sv2q};GS!iQJ91e1aIB8mh+&ka=&fX z)S~7nKqnzO67k05sI~cgq-w`5F03jsT8ev2v(Z^u2BGlEO1S_Z7Pj|7L#}E3P>Dd% zS=k`rXmh5C=z&tD zV2RqDd=jh?*b%5(d?0Bjwky1WSLjuVojLEMxxLZ2?1K+ILA4=<>_)xCj7xE^_bNuD zld)YP7J&SG=i6eS{zhgyS`5hYA!63w6`Y=RvYlQ%+!F0{+P3@1(G+^~+{6l`EobV- z4G@fOP8FubQh>_G;kp zW@NrK90f*8q-<1T9f7Z)%$QaI!iV_H(AMDIe1MskTbPQY%NLpC`?fTxC%DUcP`bfg zd-?T15(59w{En!P-UVWoY8!R=$yA!H+sMMF)Ix7YYxzg+C-3*aD86Z?H7DGUBgXiv z9$tk?+y+vL3rpUjyfUV;`)BvnW^{@uRBb5Gm@`<*?CgC zI&nP5DN*gvNCPdPhzt`1gHk*BXpKHh8~)|cHji$xph}#{_}8=r&N~#r`!Rb~Gw8b4 zDH9#gL|kocJND@oc>Y47^n~AfWk{~tdhK}NjWd?69hG}|;;61&!4}2s*q*Z-5OYf6 z8jkMWr4j*F_n+Y;zc)}YQ5({!mZl@(7UNiAjdU01*bZJo(Y@-XD4o(Le#@vp>vh_^~h&mB$VKhJhe}{J~30!d?*)ypVDX`g0iJXVXbmx+ZXYUAi{vnZHF|y)U%4do_ZYI}+n*iaod&F@T#ju&ml{)=z^}i04_BcA} z>Izcbky02HP%!0bLBHEDp&sNrnq*^%-{xnoxi-||MhXK)?;9%2#?=g(o zZg;$|i~sVWMeJAX*sDf!^uY7|_+Y91wBll)s3TOwoN5@TO^eT*bJ|>w3Z+^)4>p)$ z^|xu!`IEhQmp)e42HN@*)VNq%C0!3H_|Tkew7(BUB_a}MRRFLn#4!!<&w=bK8x|zJ zEBGlsbfY*QZyNe;%6ssY$E#9eyi+!@=KaY7CLA9i3fRy7h)FZ@VjErAb#A9+GnN~K z&qwHtjrA^?`Y5i8mA%k@T1BI!7rG?nRZ6H|TzhXKg2<>d137T(9qDUXbBM<@mMR<~ z#5mU=Rvu1*^H?6P89n-io%w1$bg1f~214}tyy*h=)q&n$DYQpGCDt2Py)TiHNW?xv z%OW$Ivo%Ik%c{Bc9189V{aD(4s`l&o03yVX+%uei=$p$7a0q zDU1kwi;o9cv(j__?YoAwbi=jlwRptfWBF8dR>iYpw}NdZq5BOEu*QU70xqDYv=Iu# zWIat&))_a0>mRxJAyoFNN4jYCidOccPcQatxj#{m=gEc}6LD);;is-ZV<9rn#_38M zsiq>}oyH?dbwgU(&Z8uJ)#V=COR~4iob-3z2Dc(PZgpxnNqe1F{)qv^oEl3k0;|(f zz+xxfX)VwX){-~dGPk<)l;~D_o|0)Yhrg0nI?!)$$3%0tx{z_1npOmE*kV;62t8{Q z4fzasB1$ms(GF|58xGxj(tG;#`d&JHd!V@JWW(Yfp<4h^v=GS0gi31m7vvGs>X>Ph z+VBf%PCC#Z+vb4Q2FU#?=2swIm(;)qDcV`nhBuPsXMe#YFW`!#_cyt zKE&y?(Vrv5%RA!-4I_}&UXpfhoG+qvNtwPbAGy1LV-H0Y$5^`{n*VkQN~U z+sSSPc!=kxk?&`!Opunx<|{@gzRcj&+ELAO-T5 zc3frqw3X{r`s|H*y}(!jIdKxxj+SA*ZaT_PpbW$vF`?SDYLApxH9oL?<@3G1BI=70 ztxRPuA^&-kx8h7TDcK2A!hUt9&yZ--smmvb(v{+%uF;xAC{<@#%BSvL=b?Y|eRQgQ z*y%I4VQ|#DDqRbnu%cgHWQl@pdXZIT_&dx}8a5-R6H|2=yY58Eo4a2?5{@TrRyfRqxVPXqXkDr=8*Tp!()0R^MjX<9O5_kjuBwyRHyfO-7 z{x=F+lh!_lIMq99oF&K#to=I2E<(qURi8B-M-PJ3$Mh(SyE%J@ed3b_eQ%-&16JsA5F~;a2!!@*P80_7U62xCuA|oQxl)@Zyc-gs z%-QiN`GjmRmyz8b%hi^WhnJ>uB;X+QzDhnEWkF4$iBrH98!z0t&S0OEGUZWYz&Wv+ zEVUq6c;IJ8;mgUI3Q5WN2|1ikaWUbJET9)-S^1j_+-U7tTMm_?uInVL<@nJVNJ=220`MNU8&N2u6y+>jqdq-9?`Hi zue0MQk(fAQa^Ts-qO|n)l#F8@V6-}bPb679X>g|-vj)-pql@)}24YLQ7LoqST6UsU zP6%&+`f|LlyY>=~uEy|I>^rN1 zZ5onRd%m}4zCB)gKvrWkSIC`jKgxRoy$3XD5oPdDqa5m+D4VoPn8PUj6M1UBh@$sF zHZ@6=l;VS5OAkM23Vef&)4NS2gYF~<`bpHukJPT104CHKm@fae5?o&FjZi6gzpQiV z%{S$;h=$vfI_*P7xthmsrLjwAF!wX7ad#9g@LLwVj?=3p#O11@>>f)@W!2*K!Ofb` zkIkvcXP&r(9}47@KW^F)?76N^S8t&bTI&uv^Nkl!FwqQAj8qY^(F3ohQ1Lnbpsm-( zT$5}WSO2f`796*Vjn7w(GJdl$Ul^PL!VQ^a8n_4oUp2_w!8S`BAKq|YZh+?#+D^PG zwkPJD{^r;svbA_~dMtt6Rd5)LTJ%uDR0pziG-REZYDR)ZSD*Ap2*StfJYw#D`KUJa z&HR4rl50S-T#m9`P3PN-VF~C4K%L@B%N=GNmv6`6)k#=}9I1cU%uN4?VMVB{Y46M4 z9e#};RX^AaF4~@QBL>?f*#hDnFp9;%B!t9~meFg!P?8G~Kqd@t;0K#IGE#ffPj?;* z%<=13IF;5f=RU)K0WS`B<2EQ-W?P0O5Ne?D3|}G^AMh3+lpl|`Y6|Vfj`D?DXX{h|ro>EGjPPbLkmTQE`QFJS`iR-1p~x4h z(N@9-O3%5C-ET5vYYd z8pqeq^HGgGtnZRic3xW7muz)ll`7jts31Jn)1_pR@}8^|Kd`M8%^S_zX%DaaSab9eYlX;295xXD1WaO*nU2#6+u%?o&!vvgu>#`r6eZcZ)4 zU_(JlvFA~<+S#PjD`)C0t{&JHR|Vt|5pS6<<$xoBB!^Ba`)VTT6T^(dl;Z=uPdmGo z|9p;&QT$fvd1k+Q_FY0a&Mh$!)cLCn$ z8tHXUy7BU)_$`44r+(!ssxNNtL+Ju7^sA^~<{J%O2U1Z?gKjQh)?VVCi}%{eHmQBJ zCY>H6CvYe3b*c1IrQTldP6OY{F`PFa*bM+RW^jlyI0+YhjG7p=Cf`(1S(zn0jF&uv zIccn4S2$%K;57WDIk}5Hh8YGxz`O~wze$E+O&z0E9x8ye$A@aZlTMg=3qR^`*5~R? zT@#XrGJohwMciqp&*F&@-p~*IjRlw%-EG9=eW;*)&D(d&fxE%*$QH)4*)8i-H?1b* zBktFNM~d%-63tD~=SK{@ndMM#>|r=W)Bu7K91qwO036zMq9Sss2A_TBrg>r;tye-G z3n{v54Ry;|&uw@HIM-j0eY*_-fNWhkIGtY;F{fw$3| z-EP@^`JZE;XD@vfb=Y*-<#+x@h0{!_IrGOH!k&z%1=dUcll!Mb!HA|w0@tWQcwnTkr&$?5+&flgcq?01iP&ljoZN74rfkP+^*h|dO{ zhw_$nHWMxnOl_Ar4_vCHYZzJ5N*1Sth)EIOMrq}WBt+MAP86mJ(S~>oFW`AgroK$w~)ymFw%T+}k^J?LhCD zH%V*iH#T6Z{a>cyHrB&8&mYQ7hqG6O=Uln-vFVCm)%w{rV+6LEO(#Z2P;xqKGtt5x zTsVmu7{zmsRPuO0oolqW}HpMA~W z-F(wjbQ%AWH}{32_5tqQn;;@K{P`7fs;KOsR8AI(NSP+ju%G~wDm#~-aR=WqCpbLm z%xxx~vo7-8FSVJw(nIIp6wCLv!?9w8mq5g$~=p`_Jj0 zeWNHe9iDU5@A6|G!Dy1hH&1iQ!rNlxqaM21_1c;=2M2SKYSq=4E5;3!`bo~2U{B2- zBj}-8sXc)Eoa#~ZU@+%E1mgnPfi5XpmHANBpu5=lwUUL*oDWxtU(8+Qux-wxrKP1- zk^5IOuAD#GCgI*5alw5~;-UJcMegJOp{LY-4wtQyxsOF9d|RKKy(N(JnlrT^k1-IBUaiOgUB8XPGKNh%upTSUh{zyC*!V*b%<|JE(G z_>HdeUyv4>SzyEI-(`iLLw=9_$Jd+dJAol+MznYg8q*C#HK|OjUEPghoDfqMO0&Ls zVXZmb(I;`Oz(+ogB@AZHIdRoEemL%+GIlP8_RHr|M&4cipqr+F^A{iMgr#m>a@D^e zVLg;w^S!#5n*O9gvw-y_r&jwJ*a{an8>Q4>DGTKG_1wnZTD22-Mg6YUVeTGyx0~#2 zLHh6?1maFu(+S3X=IdNwx)7xW#A6xuR3+uIWtQ$pfVkU7;r_rD8d8kMTZ46Yw1frX1=o&1X)3mRFGIiJNory;b;> zG{6Hi&JFOR2SJp=8Wl7ITQ2tUTb1G%-_$cMaG0qsX`pJRnE5D#Q4=-d=_23vzFBvD z4GV`cgb=ThJEvXjI#KPf?cO*x??0>N6MUu9Cy7~nE zvvZZ^O0i`4P@tWSTC}ZB7~4{CWZ3P(OEOvy9ai@3wKwutN5q}q>yvaV(ubHZti|A? z9BG?n2dHFNA|9O===%(nTQnRqKz%kGuzg9oNu#mr2AuM7xm z&*4NVmVuF{u$1D6iblOh&A2L?u=dbXHuKX~=a1iWr$8`Nex^(uv-+(Fn$Nx z)ndsOoJ-E9KP4~P4px0GJ6@S#8hLyxdu7&p{b_jQVN((IjkzB%FO((_NK}1_;roe* zl-gTO7m9y_zwGXLh}0qT%*8!X$>OGk-0M;E!pO9u?>23SsaWFXx+dL>HRMfw7>_Ect4uy;<`U3<>^WnM#@_-pX(XY#iv*CZ-yF- z-QU}p6|dLQQHt;D8{$ROM6`_@e}$0T=kD|N!?VyAeGT-P`Fh5b0aE8%(C`-`pw!?= z<$~2w@T=x?*aII8;Q@=rQV2x8w{)}7aaYUJT=L)LlYVrySVTIj0Ns>nS}HTe-$6gH zRclvq8J`~MAAjfP%!-&M2SX=a?EeR~Z>GQ2&`9GPcK5?v3xIdC+!YG1X1*(cz$Fa5y^*ivrm z5l-8W0O0~p$sI|T`oxViP9GB*78wxVOguSr<{g*x#40XMiE*JAFthqV$zSz;KVvsz z?5P_%SuUl;|9Os5eqkxtAKOO&L= zU8cNJJOxVACjffV0d~g9AtZO! z&hEC;o2=49`**|JaFvN|paKr$k2X!`2q~$)VaPw9LI*WoS^|`-8+ML3d@WIGGCTIX z{q0ki*L%N{rERL0FqCV`Do2M<@?>m`vpN+K#sHoALW=+gtBj%2GzVjW^Cz-(1M0J6 zTnencUrV5-u%#$2iYzz~A4?q|lkaD}bDDu6*SuRd#&3w!*0TDHFKs<~gL!Qdi17H% z`)N^Yp+5Q&!>1M~rfSbY*EFg1%`DCd)ylceXBbM9S4Kp8VMvy)`Dpg&eSz-JiBseA zv?cwB zWsTUQz~&>p=dn60)C*G))tU+2kGe+Ti#btGJ(NhbvHvu_tqUh8b2g+OHsntD_V$uX z@%Pea{r2a-Go~Npb?bp02#&4cDuN&qVFQ#=}*SF!MPX>k0ZN7oA#rf60?-;{yh!=#&&niF6s1&JYgnWI=1Isc-PXSPt7AU-Js-}PV7Jaqu|!%(0-c(r}y+< z^Oq>4LE=@~=5}J;F5UtqYhceWv~Yb1X7EiI2mnXGGW~~%wGa|P$i64E7}i777a)-w zUd1I(&hQS)N-`=1OrNuUFyFHx8|;Xy2w|j+B_(Su@t{sY{&=#fl=l1n2yVykZtO|f z>M&_Izqto_W)kmhe~AYUKeUt56K$|GGyjr27OgpI(^H#M>0DOQK^cY} zMqQ#_Uf*f^oEEgfSdtD!Uyy1II2w79NX?`qk*9~V&e$>N-RaB>s(~|dq+DEEiM`Wk97zVJO24ocF>)DKKTg#QkYCim5{tB z-WVhYmj7m3tjgJ$#>9tiST+xL-o723igxz#=?T>jN}>kkh;(sBXG`8#m>*`0FE0)J zH2J!l*dK>|$5>^ov&I5{v+0BKv`y0tFS-?hK}%uL5mc-h>lldldxK@9{AQ~?iewdEh1VSd73OITqb z_YA=r1$oAQhF$tIKCYjzZiD%Ox1g`%Iuolw5&8jd=w{7tHZdqkLUs25C~^y>gY0gY z4U-+DB@&p$tY}f#jbB6mGEZ5!zYcb{{x@6pFoxj6(!jKzh5ZBpD#;ick=2CV1v^gN zIJzZM;7n8Ak37YdKOVihn76jYFDV}`T5kNr{m?+-ZdFOv^M@vxrYwk%jP(0@MX{}s>qh0D*ylEXiPg&|opAY)u;5&@9vGT;bE~71r8GS8I`b*p*dY?5{FMH&S_27!!$sog8#oa~S_q5hwIAIM z32vsNMLxgT3IYRwHW-dFz=#3i0Ys)9kjRhu@)d_&dXgv5>VBHbQs!~T9`VQe+>#GM z?_RXK;1<8&Vqi-W&woz4B{`LNKsT8aV~CRi^S;EV!H_jB3|$ilv8aIx8yrRkngC(g zZ!L$t3&c{cA#VTJf5=M4rd8`vr)+b-Vx{EEk=Cy-JTey_fy~TTzfO>vJf-;d=v}>g zMP(+2g|+$GfWL{6{YA=c>Stzvf})AStif4sDx{;)wH9PnaC`m;OgSH=yd15{5jHD9T?lDZwHH>GnvH`1e=JK5wev~*QL8gABx+Ia^OcCQ9ns)A{o$Mjg_<~yp zrw_0-yZHXF0TWru^?G;+bQ(+QC@6&=H6@*E&1HN4Cg1b%S*a?@RQ18j7}pCwLK-F} z>YS{L2}V^T7w(+FkDjF8{W_4DhJS>}do=CoSzgqcYchpD?ymAi=(^E){WCgo0ZEnOKXu1d@O1 ztq&)(4}Q8+#3gCcQXU*Mukb!CcH!x$*k;g{f~q26!)vKH#VWigNb%Ys(_Q1Nj$e2} zFxq(jo8YbjXz$8BMS_T<)G0e1&=?HAo*JcYq|@&uN*7K76&}4uUpyDMb<2NBJY`F$ zTROa1=2Ho7QkZO%M1sU-^HSw#8TUU^!i}8Jo915MGo0)@7`B- z+C^8$`{~0Mp}BPg^ooAzwzsa6d}D%f`kmysEN#!4Z?EgWd1cy|R#knbatdzaV!%Aq zB1Vdj8Lxqv#@wo_M)0g^uX{@7do3)SjWtR7rtxZv@ycHR{eNrkI-{D}wsjQH;}Jwr zKtYI76^Jwu1tcf}BGN%52q=gWasdTt3Is(EL&*`uLW}ekiiCg!OhgcnB0W)BDAEZn zlt2n^A3gUK->-Xr-TPj~$jJJ!ve({gX6?DYIp??LRINTyHKR8Ug(JU}0LeDWDAD)4 zw=u?S%1LAm$35+iX=L(oX#_8EaJ*JE;plg9u&l20%QsC$@G*Crmojq6H7^~N?RM9gVnX`sw>q{_DdvG5dT%+7C?KdNd*Y4*$$8 z7KiT)Ki-&r*lylv&T`m#82Z)7hMmg+vDCVWiYyCnp=(o{sqb0RmY(95o;)y;Ii-K1 zO(81fu{gCANaCtM`HZR9*?^94mZ%X=zvki0-#@a@5G`PUT}^gWH-DfgJ}Uy`k;f5b zM73F^2O85H^;HzF-NPAK?^9688E};snJ-RSkmz}!OMu_@Ey!{Fd|o5lQm!lh%Kh9v z2hG8I3x2M20*dW`2UgnUU}Ho-^vPypJ#yzXMrc*wq=!YI*ywFekAel^W7m`AdhCG} ztD3_?+dP&9zqN37O#?jaNZ?$v@>AcyO#MYe%&^3b70)|?Pg;xsq-7I-C8zsEZYQys-%<#QC*VI4G` z6Ovcb#Rg6Y?F|-S{uXT0sdH!)y_=CaLXKV%G{Rvl%gUZporh{fgp43r<4q=R>QY)N zw`FC2_a|wmi2}2+4c6<0u+9L)%fl?A#h2m10i!Ld53(7WSAe$)FKfv6Oyb#Eqx8d% zG|yb=i6dPca-HD`zgzLuCjKj^#6Em)0>uP!VpVXi^+HyrnLxGNYAikhMM?TXgBSI` zPr$dgTvD8)hC7!6qwl|I+YQcHB9J(qu zh~2&88XZ}lJC_c)+Z!6|bdRCy37WA$KH1%HuamL9`T?it8+;d{I*G7TjwtgoH718hDv_>YY1uC7-rlo-8L$m?CM(J9^ue@K;wX?mYZF4gz+cR&v zGX9m){EZ|7-sf=!{vf}mojP{Yxvc$_!*;dphcHplawH9W-4D4vSgtcN+b`#)XOFV% zfXgF2`*V8v>sM+1cf=#kta$_Az4iieU$EB_n59_K*Erl5QACuOX}Ean-Qq;5n#X;k zrr`YRNqlM-J1aW;ABP4MtClX4TXV&5xrWgg*{UQsY-Y`vW!Bek+Vy@g4rL$gW+tpa zwwNF(z^lLY(MlqmO=f{KlfcOrgOGKmE~ge&Let0yWHw?1b?#ux8w>Y@e_xJz0*^msartq4 zxaR)mD2^?`YtMXjDfLwE=|e7G#o9GKp0|!Euy3GrPCu~stR|GfHV!r_*Eg#^zu~9Y ze{~i?EpGlo`*vb-@{{m7wI0fludMgx30xm(j9l?P;GQPGIQhwBs(f(wCz#X5Npe+U zlxkCQ%)>vnf6|wzbvUSCaEB<&j;Xmjy3lVnxh7dgUSa5*Llg{7Lkf)fi*CB%DiAq$ z58jX?+bZnvIk2QmM)PnVm(fNA{s|5QFXjA4>;>T=9#wUcdfU z#wLpWI|JZV@=h}%mfAn)Dl?LA15Ro|#sh;zT~a{02L)CYe=uF-atmaLHP+l5_LjY- zbVj(2(*=DCMUid;6(iEXjLtWKxrRVuc5k7}YZXIBIyBiyirHU|ytaRpsUlE5$s3z1 z5N6}6BU8ZSv-BMz!ZTeG0VqrzalB_)m*9l39-4Wh5MFpwZq@-%YSFBm=hGuL9%Ure%ps_9#3=G0%5j5 zw#VE~+K0{jNSX9ku;w3j<#uug`C}6}$ZYvn)X6PSuMK};0td?WFxNnS-U7{D33CsM z{c-a@zilxSB^yAe4&YG*oOMNd;1*?;C_pnGQwlzV+5F3FKcra{+JvmVJD^FsG17|c z_-VJ>GP<3KcmB(6$LystF9CKt8t_IACp+`4w8uGDKp&So3t?}cTV%G3nqFQ4`#^ZYt3ui6aJfE2gh#?3& zo+AYyu``^#0}iHRmAL%8bpn|K) zUjYkZb`f1i5-wKqb2O?0A1GRNbTzAZznVdrSn*2>7!{Rf-#tYan*@lcW`IiCu?Kc5{s%%b_s zj3dqlm7CFuPLv?ZV@dey33oE#K0fko8L{)_9)7nm-ahq04c5~;J%o~x5RuIj# z?!|_xtbt$%89xa9bcG|&>5Njk6LdF2FDlemU1i?|kb-U1^-vfKaMwP1s-;OAU-C>0 z=NUELIJ^aFIXydC5h?oEfuLx3xamNcUC=>DTyoTK+Pmzy(<8Ai5$C01_$BO5FtX8Z_R*{y} zlRG>rAXT0mb8D1QWo5ig+Qr^1wD#3JrK;KRo>1Y$YpDGe>$GES&C^~f8v`(6!5W2N zPSA+-K3(Os>r<^EKlW90wZ*pDC@Q>@s!?kho2Zs&iR?7*)Kx_2O7<8%)zKme z;$PP&$e60B-jx9I1GL>)Rt=O@kO=owYRcrt?xcSe-uA2_ra8?zC1eHqaj0-EFegYQ zDzyD=aE<4;hn14Arcsl*b$_7pcWQsi&(0)F22^{QYM;eshUToQ&&1z}kH|`Kpcpk5 zA&%vgkms*VAuXNuMvtJ;NO&xgvrD${TAlAOat}kajsQVjCdnjKMoyqOqs}kGCuKjr zlwmWP8h4QRNnX?#)nGq%DMu>U7>8*ueMgopD?J*01lJu_9(_BbH0txi4{&iZQ5T`D zS;-WyJM{Q^klQ&kt>AZ!(^nL6%Ady~u(QW22CVLf6rIT?(#K=jngM52tFo3(Cd%{1 zCz1*MPFHE=LD>Mr#k?px2&_nmYho=c`&rcCA_Z0-* z|2Qu9P84%XT>QQf{;{j;Wmg`hT_uzEhwMF-kM?*T%BZT;&PY6_qd3LvEIJ*eBL2hfSprp3`ns1uZPjRzmtZiJ9526>MZL zrHFaj57|Y`V>D%n5Y3578v>Z(9XrR-Vic|=q1PTW_!cKe_PiaAy)jH#S$GNy*X)C& zJJ{%J^eastO$FW57o#nQ@i*CoZ&;3k#pKZddjeD59uv`!>eJWQAR#%O(`B3Swn}Z_ zt4I>>AGi(c!_C#7UBu;6C}T$>cRVbzKhQ8QdsBKGzSB@T{l-ktdU|?9jwnCsriGr* zj$uIyK_>)eSKSO+c|o~(#M^JEBR(H>_H=g>Ox<9qKQvEwMZL?@nR01NL@qV@X zfiJia`n%u3zd?u5RG|eq1I%aOOvSetNc*cif`hR1kw5OD*hvhW-;(RtWJ8GnrxS_; z*MTF5nv4FGJCYxGk2wYk6T60*7F+|E-=CQl^4CkBudTJ(8{5l@cy&a5cRcDQk9)Ad z2gz@YgQ!S>^vPY`Ob@G;6uUMONQY~c55n(?4olcZP2kj zPbG4a^RJa&lJ$;n@L=72t13W@)A!?p9QsEiXro`?7$81x+)@^9SJIQuA8Duq_Y{ zI1^eu2;~U%J3qAy?6<`~@_XmG(`3lbw<*)*wIKD-RM*~1=^mR2Bj$6)OSlWb)=KmM zAp!^usReAJsOTuCb{O@W^cA&}Z{imcf8XbW9VER7E5Odb;gJ?~(ZWe) zrG4K_^Qd`oMP2Vj_c`%KNm^dh@5S^NAEbHY6XJ4 zc@>I!xsY2Mbf=<&YR>oVl|xYMA7U0yZWnHII=;jl$*E+5k+teB>|}uN2Rk>`F3xBM z?{#pu{8FiW!xdiH`npfb))5tEW^Y35sHaRuCNnR1zyju8mxO+f&2(tXoh2T@QK%Mh z^Vj0`1rL9Fa^uRC{`Ja7TGv;>+Go@*uM7FgWQqE=sPcdkdX^f`7A$VqA`!=JQqyT? zx+;o4+tZy5{0i_ZL#?QdM0qpS$I8&#O@k|TK7{d#;&!7pPk(~!5PpCKxgM&>&<3xl zxg$64R2FZq#zZuNg=+xknyci~Kdar|U-w|~FCVAA22ZK_N{8h9-EZSf-vZ4PRH~Kq zxdD;$Y9`>zX>(piZuYXs=qYLa)*t3ais*>8bKn3WZ4UY8}4mV07ecuAD z=J9ZE&J{a%!Es+Tu9EqoWx48=yRmS$R4$m{!YD3){8xm|CKEi}EY9<7$X4i|zIQYF zP9%NvN?`oU*3AySEs!emC)oedmN?d8dxsO5CbJ4y z4cVZpg0p6Oa^CO@UV>fGyPENaH!e}-2{r5`Mc7<9a)Y;T3q%3J*c}G$WPkJ) z=t#2j<|t?sF;d6J*nfItvBy)-~Fn-NbM^fY<9H4!7>LTFl>SOA< zf^o|GbuJ)$=m;+dfR)??%(#8dd_VB`U>m>-9|DLo=e{^tgC|DWUOv-P(?d6*x} zb7(vLm*<({)GtBV+g8n4qQLEz2mmh~T4~B&2N>+JV6SB60$@)96!N2_%^d){U<<^w z*a88c86ego1I)Rd&iZ8l=vy6gV2}`NAO+Yul;uV05Ttb@fx=h|nMVCN9Of2?YKUe; zd2=3;mXVwuXb*G~Fl_;Hx-Vda{(3R`S8MYF~rJY3x z0%}>ed-aV#yUzX2Ni?hu=tKj*`CqD=I{*wcKxa<@a=gLLoi*wUE#FoJ2n>+pRU~|~ za}84j@&f(@G_V1JfzFWJSv~Qzz}3ulN&FL_6Aa(%*fE)Q)}1@RKO=+n|7RYm%eccI`XDWcklcV2-w4Mt*}fXXGX@Uu=PZAgF@rwmtwe|MzNs|D$M= z1_%jMZK~^An1D`hc7*`(698#C`ZgGT&Z3Kz^JFmX0pQ9Z=#u|5ii)eKs(Ey=FfC;~ zh7PcmGHJJg8Ewv{(#6oKdE6g!rNLbr+&6`*3b=}qyG?L6O)e_nVx(UYW4350{!37- z(W{)GWiKW1Z8EVbwqFO| zz1b5hU-+yoX)@FQlT&P8n5NaW-un2ruC6JzQ(u!nJ$CJvN^_-fopC(2^*SAV_`jhJ zKNH^voSQE=a`B9?%+E9QdDjEPbfVeM5ES+$ -

-
-
- diff --git a/orgSeries-utility.php b/orgSeries-utility.php index b38fb94d..8d1afa01 100644 --- a/orgSeries-utility.php +++ b/orgSeries-utility.php @@ -77,7 +77,7 @@ function get_series_order($posts, $postid = 0, $series_id = 0, $skip = TRUE, $on /** NOTE: %postcontent% is NOT replaced with this function...it happens in the content filter function **/ function token_replace($replace, $referral = 'other', $id = 0, $ser_ID = 0) { global $post, $orgseries; - $p_id = ( $id == 0 ) ? $post->ID : $id; + $p_id = ( $id == 0 && !empty($post) ) ? $post->ID : $id; $ser_id = ( $ser_ID == 0 ) ? $id : $ser_ID; $id = ( (int)$id === 0 ) ? $ser_ID : $id; diff --git a/src/domain/services/CoreBootstrap.php b/src/domain/services/CoreBootstrap.php index ee9f13c8..fd160329 100644 --- a/src/domain/services/CoreBootstrap.php +++ b/src/domain/services/CoreBootstrap.php @@ -46,6 +46,7 @@ private function requireLegacyOrganizeSeries() require_once Root::coreMeta()->getBasePath() . 'inc/debug/plugin_activation_errors.php'; require_once Root::coreMeta()->getBasePath() . 'inc/review/review-request.php'; require_once Root::coreMeta()->getBasePath() . 'addons/publisher/series_issue_manager.php'; + require_once Root::coreMeta()->getBasePath() . 'addons/grouping/organize-series-grouping.php'; } From cea2c7fb8a44bf503c6f2fc3c2c97632f187dcc1 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Fri, 16 Sep 2022 13:12:50 +0100 Subject: [PATCH 06/35] - Groups template header and footer deprecated in FSE themes #416 --- .../theme/primary/taxonomy-series_group.php | 15 ++++++++++++--- .../theme/twenty-ten/groups-template.php | 19 ++++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/addons/grouping/theme/primary/taxonomy-series_group.php b/addons/grouping/theme/primary/taxonomy-series_group.php index ca12c90d..ada6e43e 100644 --- a/addons/grouping/theme/primary/taxonomy-series_group.php +++ b/addons/grouping/theme/primary/taxonomy-series_group.php @@ -8,7 +8,12 @@ * @since PublishPress Series 2.7.1 */ -get_header(); ?> +if (pp_series_locate_template(['header.php'])) { + get_header(); +} elseif (pp_series_is_block_theme()) { + pp_series_format_block_theme_header(); +} +?>
@@ -37,5 +42,9 @@ if(pp_series_locate_template( array( 'sidebar.php' ) )){ get_sidebar(); } -?> - +if (pp_series_locate_template(['footer.php'])) { + get_footer(); +} elseif (pp_series_is_block_theme()) { + pp_series_format_block_theme_footer(); +} +?> \ No newline at end of file diff --git a/addons/grouping/theme/twenty-ten/groups-template.php b/addons/grouping/theme/twenty-ten/groups-template.php index a455eb28..6af90cc7 100644 --- a/addons/grouping/theme/twenty-ten/groups-template.php +++ b/addons/grouping/theme/twenty-ten/groups-template.php @@ -8,7 +8,12 @@ * This is an example template demonstrating hierarchy in series groups. Note that this particular template is only demonstrating one level. */ -get_header(); +if (pp_series_locate_template(['header.php'])) { + get_header(); +} elseif (pp_series_is_block_theme()) { + pp_series_format_block_theme_header(); +} + global $wp_query; $save_query = $wp_query; $content = ''; ?> @@ -73,5 +78,13 @@
- - + \ No newline at end of file From 55c353811dd5f8408c7e16ca14980818b67a9cff Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Fri, 16 Sep 2022 13:21:48 +0100 Subject: [PATCH 07/35] - Groups template header and footer deprecated in FSE themes #416 --- seriestoc.php | 75 ++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/seriestoc.php b/seriestoc.php index a15db548..3371198f 100644 --- a/seriestoc.php +++ b/seriestoc.php @@ -1,33 +1,42 @@ - AND WITH - * 4. Modify the .css in your active theme/orgSeries.css to your liking. - * 5. That's it! - * - * @package WordPress - * @subpackage Twenty_Twelve - * @since Twenty Twelve 1.0 - */ - -get_header(); ?> - -
-
- - - -
-
-
- - - + AND WITH + * 4. Modify the .css in your active theme/orgSeries.css to your liking. + * 5. That's it! + * + * @package WordPress + * @subpackage Twenty_Twelve + * @since Twenty Twelve 1.0 + */ + +if (pp_series_locate_template(['header.php'])) { + get_header(); +} elseif (pp_series_is_block_theme()) { + pp_series_format_block_theme_header(); +} +?> + +
+
+ + + +
+
+
+ + \ No newline at end of file From 8aa5cde032452eda9e7e2c9061c5deb46c3bd685 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Tue, 20 Sep 2022 15:26:45 +0100 Subject: [PATCH 08/35] - Series-Translation updates for Spanish July 21 #578 --- languages/organize-series-es_ES.mo | Bin 37857 -> 38257 bytes languages/organize-series-es_ES.po | 404 ++++++++++++++--------------- 2 files changed, 191 insertions(+), 213 deletions(-) mode change 100644 => 100755 languages/organize-series-es_ES.mo mode change 100644 => 100755 languages/organize-series-es_ES.po diff --git a/languages/organize-series-es_ES.mo b/languages/organize-series-es_ES.mo old mode 100644 new mode 100755 index d565f82c611f8517b4c652c9dcf262906eaf4dfa..404b8623b031d2a58b4d389cb772e294637bc4e4 GIT binary patch delta 7708 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 Me$uQSJK#6}1RM8Q$N&HU delta 7354 zcmYk=34F|F9>?(~ksA>b>P!X+aU_wrB7(T8aVEkN_s9&QIY^?8V$>Pc7CW?EtXf6Y zYE@^|wq0FaZC6+6T}oHcZB^;5?N*oW=R41Tw|!oI^M0P^e?8a#nTfCWg4)mU5Nv{8RD&0z zdbk!fTMuJXd;-2Y|FP}L&}e1KYSi_!B5x#>o9?O zP&_jICKWaG1CdUd$=C^(A$>6Wu|B?mcj9>r!=df%ni|!f@xP6ViBx1^HTK0lsGfX` z;dl$x)38+g;CRP$)R5<+ZafCnfnw+QomfbDHL{e<8Ps{_a6Dc}W&C@R>D9qb!CcgX zp2X#N1dB1RqwUES$Gyn9HP1M{g{)We1x8|Bh9NjosF6rT2GI;hHJ}RB(D^haAG&cwXKO6#HEM#In(nAM9*nneJnFvV(rkyk$T~DNsPiAhX!PwN zqoH}qsR*D(;0US#uc2D{G3vq}ur5ZXJ3U0bHL0kz&d^tz1i$CUqB7rb<~_U$+W9I3$tF$b<`Auara;kv50bK9FEIS4>*as{xqtG=dnLt zbIR%6ZGA4rQ$N%xPeGq5%E)NWmZ2W}d(;R#ff|wLupz#MjqzWo<2O(bjO<~{jWLdL z8^^AgKzR`IVwhs=fGbfO+LJvP|0FW6QK1K2Lp30*r=5}n)Cjmx=k-EeSd4nmd{hT& zQB$}L^}xNTIX{A0OD{W~!Whb@Q6qY(C*!X<{hA8RQT=Q?5-!vO`yiW^nT%@KN@RM? zCTxnYphnVe);kXEka2a~> z9jv2U=G<;i=!?7|W)Nyf=cDFy6>6?Fq88l_=lBy&`FZE~acsl!)0l)eP+M>FA@+WK zQTG{+TFeu%fx1*qW)&4nP$N)>@mI_Hq83*rYVKE{7MCAy!@Z72v4Zj$ zk=ZlP;U)YYFW~z_`BkNQ<}p`8`Y12+bi9C_a3B+-#1xDkyPWdKke+VtKuU`^w z31Qt}EcIttD3N#>HBw(<7yKF3p)O3kuAhXO!i88LR~IqOs@68P+)U51Y~WSWripjvo0^3SZ{!;7Cd^~0yy8;(cTotcGNBhR27a1;~qET-U( zsJTy?W~XQv_MvdIptHRDZ7s9*iCH5^G!4E(gE`@9A{&5oP&*U9lCHk z>V|*CB>V{Tu+B_76@xH>@<>d@v8aYEb=;)-5E_J9q;Jn+{Plp#WIEyv)FMh@cWH=y zQ6p1;dTokO=ew~r)}S8npi|!O96yEX;YHMaZlW68V7A={GEgHqd^Y1BMP?!uTD2b3 z1#_M93e;A+0d>Q@7>O?-o27XT)#GM&+Sk^FRGCcNj@z92-eq=83`dRNY}8tKpp5aa zM`kw_dhee`EuLejhFnDT{9Dv24=K0jw?GYHDyCpAs)y6DJub)oxDWI28s3g+75tLM z8jQvXzDnCe58g+`V$_48=hz;%MV;6W(=i{_umzZm_o7DV0J1*K-%*RT(_FhTEklja zI;@YsMYa;N12vVtn`G*diL0_bXoWh^2U}tRYOc#sbG;rL;%;n*hfxhUk2?Q*=XiXz zy-$i`HfqF%p+IQ$$nV z;t{9@EkGA;KsERv>ilDHWXzR9wdx4*Ul-1(A2zovJme#YNZw=b|3C)hYi2 zb>r*U4HM?uoi867QJ#ldEp+x-Kl>Eb^SS{{lQT@hKGso38gCHPC{$tM}p)toB3?W73~N*Yt9foi9^IyB9Hpv zs8{CKiGeaH9Qy;tATNV?kZ4CJjUgCB^EL4W@e%Rs^h&UxNg};w3GU_ZlIM*JrW^iu z6Ow!l$S3iLTX>52l!zy8C%z$gugn2L>2XW&vjNwPC%1`6CqDp360OL;iWiBK#3zK3 zb`Pbggwrq;eZjx<{zUEx6-o68EnB75+^pDUO&jt|Y;ft;bLtl0o5X42oKtrks|l@? zZBCuoPYfjLa-ZqAow!RsYTA=oPIMtw_(Ph+`+g=jjOfX!q1YHd$6Qo8OZx4YFX=T?dYkAK%-R3c zcCw~D7p7CFk9xzNBcJaa9E}~RtH95kx&+iKue6jXARZ?4HU+;oUMDk{=){FbFbtLI zVF#NHer7rKbt$#@RsEynrx1-e{+?4`iSH1Now8^{j3RQJ`=~Cszu%#ZQ<<$isW)Zq zBT6lauYx&VS8Pq>5&tGih`$iYoa@3!=bC=xwJ)qDN{I`E(q7^>!JPf@#o-mA4;N|! zOT&FQlz529pd5qQcnQ}NN*P2Magf+bC`EHlD)tGMe)*X8OE&n2@48>gKJ&Cw&?eN7 z80(b3!`V)L2JUe3;$`9`f<4OoooGUAAs!)m(TF`*LyRMuQ|?D}C4ZjyBhi%de4MQD zuO*}O4DnBbs{g0XPHq)4fxlzt*!AevAP$G;Md2>tf|b-IVbi^Ofz_m#v1VgsSnjQYng6aRz1 zBNh|6g#O<;nBqB@>EuO!B7wRdgqwU6uEDp6CkdrQ>XhCmCK4WE5RptM-D?Sc|Li3H zJQ3~G#d2+te(A+h(T&0`=Rh<3f$$PtoCjPZ-`0Pqd0M2q#+8zlTpjqJ`HBetd#xJ; z_O-4K2@Gjl8RGvixv-AA#v4daIT2pBy2dr4(o;I4)awa+-*J6NY-x41*W;=#ndSA& zEAs|cbbdU{e=8?4Fe~#$NT}E2pV0N9zo^^IDCY!EU}X2YVS#DA3PS?Xy~osxshBfw zdRb{Tmj@;e84wwkQJ&!mY#li^G<;@Gsmtv@xGCSCU3kf#nU#>%u5ET!W@c~KsH&On ziqb`1*SN|mPeGNpy4qDxSzS}@Dy^ugbh%wc-l|fszj$=F`rXqqvs_tSaXPN( zGCH|a|B9L3vP##GQg?Z|yNYW|U1?l5qcU%PWl8zGvYOIzucy?VUQ$`^e_{0T7`Lm; zU2Vr^S<%kOK+VL5Ljrv!9|-X`nmRxHc5lfncc6A^Xk@IbJUA{T?vm1Dfr`NL8FfPw z3aTn+R=LY{cyNenDiTAZ3)KA*x5w?@IOmhV`nf$rV*YoP#~paN v>S}o4@PhJ?z`8~E#?~t;t#Ad$tHfOuNLX7N74BiYiUV6W-d5-T<8}1E-`&@w diff --git a/languages/organize-series-es_ES.po b/languages/organize-series-es_ES.po old mode 100644 new mode 100755 index f9628f1c..a7f7677f --- a/languages/organize-series-es_ES.po +++ b/languages/organize-series-es_ES.po @@ -1,12 +1,12 @@ -# Translation of Plugins - PublishPress Series – Organize WordPress Posts into a Series - Stable (latest release) in Spanish (Spain) -# This file is distributed under the same license as the Plugins - PublishPress Series – Organize WordPress Posts into a Series - Stable (latest release) package. +# Translation of Plugins - Issues and Series for Newspapers, Magazines, Publishers, Writers - Stable (latest release) in Spanish (Spain) +# This file is distributed under the same license as the Plugins - Issues and Series for Newspapers, Magazines, Publishers, Writers - Stable (latest release) package. msgid "" msgstr "" -"Project-Id-Version: Plugins - PublishPress Series – Organize WordPress Posts into a Series - Stable (latest release)\n" +"Project-Id-Version: Plugins - Issues and Series for Newspapers, Magazines, Publishers, Writers - Stable (latest release)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-05-12 20:26+0200\n" +"PO-Revision-Date: 2022-07-21 11:56-0500\n" "Last-Translator: \n" -"Language-Team: Angelo Giammarresi - info@wocmultimedia.com\n" +"Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,7 +14,36 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 3.0.1\n" -#: orgSeries-options.php:560 +#: orgSeries-options.php:353 +msgid "Click here to install PublishPress Blocks" +msgstr "Haz clic aquí para instalar PublishPress Blocks" + +#: orgSeries-options.php:350 +msgid "Choose from Grid, List, Slider, Masonry, and other layouts." +msgstr "Selecciona entre cuadrícula, lista, pase de diapositivas, muro y otros diseños." + +#: orgSeries-options.php:349 +msgid "The Content Display block allows you to create advanced layouts for PublishPress Series" +msgstr "El bloque de visualización de contenidos te permite crear diseños avanzados para PublishPress Series" + +#: orgSeries-options.php:348 +msgid "PublishPress Blocks is 100% free to install and use." +msgstr "PublishPress Blocks es 100% gratuito para instalar y utilizar." + +#: orgSeries-options.php:346 +msgid "Create beautiful layouts for your series" +msgstr "Crea bonitos diseños para tus series" + +#: orgSeries-options.php:345 +msgid "Recommendations for you" +msgstr "Recomendaciones para ti" + +#: addons/publisher/series-part-post-table.php:67 +#: addons/publisher/series-publish-post-table.php:67 +msgid "Status" +msgstr "Estado" + +#: orgSeries-options.php:584 msgid "You must %1s update your permalink structure %2s to something other than \"Plain\" for the Series Table of Contents URL to work." msgstr "Debes %1s actualizar tu estructura de enlaces permanentes %2s a algo distinto de «Simple» para que la URL de la tabla de contenidos de la serie funcione." @@ -78,69 +107,68 @@ msgstr "Mejora la potencia de PublishPress Series con la versión Pro:" msgid "Upgrade to PublishPress Series Pro" msgstr "Actualizar a PublishPress Series Pro" -#: addons/publisher/series_issue_manager.php:773 +#: addons/publisher/series_issue_manager.php:768 msgid "Update Order" msgstr "Actualizar el orden" -#: addons/publisher/series_issue_manager.php:757 +#: addons/publisher/series_issue_manager.php:752 msgid "Series Order" msgstr "Orden de la serie" -#: addons/publisher/series_issue_manager.php:724 +#: addons/publisher/series_issue_manager.php:719 msgid "Series Order:" msgstr "Orden de la serie:" -#: addons/publisher/series_issue_manager.php:689 +#: addons/publisher/series_issue_manager.php:684 msgid "%1$s%2$s, %3$s @ %4$s : %5$s" msgstr "%2$s %1$s %3$s @ %4$s : %5$s" -#: addons/publisher/series_issue_manager.php:666 +#: addons/publisher/series_issue_manager.php:661 msgid "Publication Date/Time:" msgstr "Fecha y hora de publicación:" -#: addons/publisher/series_issue_manager.php:644 -#: addons/publisher/series_issue_manager.php:749 +#: addons/publisher/series_issue_manager.php:639 +#: addons/publisher/series_issue_manager.php:744 msgid "Description here." msgstr "Describe aquí." -#: addons/publisher/series_issue_manager.php:622 -#: addons/publisher/series_issue_manager.php:727 +#: addons/publisher/series_issue_manager.php:722 msgid "Drag the post names into the order you want them to be in the series, from the first part to the last part." msgstr "Arrastra los nombres de las entradas en el orden que quieras que estén en la serie, desde la primera parte hasta la última." -#: addons/publisher/series_issue_manager.php:619 +#: addons/publisher/series_issue_manager.php:616 msgid "Publishing Series:" msgstr "Serie de publicaciones:" -#: addons/publisher/series_issue_manager.php:503 +#: addons/publisher/series_issue_manager.php:500 msgid "Manage Series Issues" msgstr "Gestionar las emisiones de la serie" -#: addons/publisher/series_issue_manager.php:364 +#: addons/publisher/series_issue_manager.php:361 msgid "Congratulations. Your series was published successfully." msgstr "Enhorabuena. Tu serie ha sido publicada correctamente." -#: addons/publisher/series_issue_manager.php:359 +#: addons/publisher/series_issue_manager.php:356 msgid "Congratulations. Your series was scheduled successfully." msgstr "Enhorabuena. Tu serie ha sido programada correctamente." -#: addons/publisher/series_issue_manager.php:336 +#: addons/publisher/series_issue_manager.php:333 msgid "Post moved to the Trash." msgstr "Entrada movida a la papelera." -#: addons/publisher/series_issue_manager.php:327 +#: addons/publisher/series_issue_manager.php:324 msgid "Congratulations. Your series order was updated successfully." msgstr "Enhorabuena. El orden de tu serie ha sido actualizado correctamente." -#: addons/publisher/series_issue_manager.php:318 +#: addons/publisher/series_issue_manager.php:315 msgid "The posts in your series were successfully unpublished." msgstr "Las entradas de su serie fueron despublicadas correctamente." -#: addons/publisher/series_issue_manager.php:239 +#: addons/publisher/series_issue_manager.php:236 msgid "When checked, all posts you assign to this series will remain unpublished until you publish the entire series." msgstr "Si está marcada, todas las entradas que asignes a esta serie permanecerán sin publicar hasta que publiques toda la serie." -#: addons/publisher/series_issue_manager.php:235 +#: addons/publisher/series_issue_manager.php:232 msgid "Create as unpublished:" msgstr "Crear como no publicado:" @@ -189,64 +217,19 @@ msgid "Publish posts in series" msgstr "Publica entradas en serie" #: addons/publisher/series-publish-post-table.php:68 -#: addons/publisher/series-publish-post-table.php:335 +#: addons/publisher/series-publish-post-table.php:274 msgid "Preview" msgstr "Vista previa" -#: addons/publisher/series-part-post-table.php:366 -#: addons/publisher/series-publish-post-table.php:347 +#: addons/publisher/series-part-post-table.php:305 +#: addons/publisher/series-publish-post-table.php:286 msgid "Move to Trash" msgstr "Mover a la papelera" -#: addons/publisher/series-part-post-table.php:350 +#: addons/publisher/series-part-post-table.php:289 msgid "(Currently has no Part number)" msgstr "(Actualmente no tiene número de parte)" -#: addons/publisher/series-part-post-table.php:299 -#: addons/publisher/series-publish-post-table.php:285 -msgid "Last Modified" -msgstr "Última modificación" - -#: addons/publisher/series-part-post-table.php:296 -#: addons/publisher/series-publish-post-table.php:282 -msgid "Scheduled" -msgstr "Programada" - -#: addons/publisher/series-part-post-table.php:294 -#: addons/publisher/series-publish-post-table.php:280 -msgid "Missed schedule" -msgstr "Programación perdida" - -#: addons/publisher/series-part-post-table.php:291 -#: addons/publisher/series-publish-post-table.php:277 -msgid "Published" -msgstr "Publicada" - -#. translators: Post time format. See -#. https://www.php.net/manual/datetime.format.php -#: addons/publisher/series-part-post-table.php:283 -#: addons/publisher/series-publish-post-table.php:269 -msgid "g:i a" -msgstr "g:i a" - -#. translators: Post date format. See -#. https://www.php.net/manual/datetime.format.php -#: addons/publisher/series-part-post-table.php:281 -#: addons/publisher/series-publish-post-table.php:267 -msgid "Y/m/d" -msgstr "d/m/Y" - -#. translators: 1: Post date, 2: Post time. -#: addons/publisher/series-part-post-table.php:279 -#: addons/publisher/series-publish-post-table.php:265 -msgid "%1$s at %2$s" -msgstr "%1$s a las %2$s" - -#: addons/publisher/series-part-post-table.php:274 -#: addons/publisher/series-publish-post-table.php:260 -msgid "Unpublished" -msgstr "Sin publicar" - #: addons/publisher/series-part-post-table.php:155 #: addons/publisher/series-publish-post-table.php:140 msgid "Trash" @@ -261,11 +244,6 @@ msgstr "Editar" msgid "Current Part" msgstr "Parte actual" -#: addons/publisher/series-part-post-table.php:67 -#: addons/publisher/series-publish-post-table.php:67 -msgid "Date" -msgstr "Fecha" - #: addons/publisher/series-part-post-table.php:66 #: addons/publisher/series-publish-post-table.php:66 msgid "Tags" @@ -289,71 +267,71 @@ msgstr "Ocultar las series sin entradas?" msgid "The layout and content of this widget can be adjusted via the Latest Series area." msgstr "El diseño y el contenido de este widget se pueden ajustar a través del área de la última serie." -#: orgSeries-options.php:878 +#: orgSeries-options.php:902 msgid "Show \"Post title in widget\"" msgstr "Mostrar «El título de la entrada en el widget»" -#: orgSeries-options.php:874 +#: orgSeries-options.php:898 msgid "Show \"Series Part\"" msgstr "Mostrar «Parte de la serie»" -#: orgSeries-options.php:870 +#: orgSeries-options.php:894 msgid "Show \"Add New\"" msgstr "Mostrar «Añadir nuevo»" -#: orgSeries-options.php:838 +#: orgSeries-options.php:862 msgid "To create a new taxonomy, enter the new name and click the \"Update Options\" button." msgstr "Para crear una nueva taxonomía, ingresa el nuevo nombre y haz clic en el botón «Actualizar las opciones»." -#: orgSeries-options.php:765 +#: orgSeries-options.php:789 msgid "This display is used by the \"Series Table of Contents\" widget, shortcode, and URL." msgstr "Esta pantalla está usada por el widget «Tabla de contenidos de la serie», el shortcode y la URL." -#: orgSeries-options.php:741 +#: orgSeries-options.php:765 msgid "This display is used by the \"Latest Series\" widget." msgstr "Esta pantalla está usada por el widget «Tabla de contenidos de la serie»." -#: orgSeries-options.php:687 +#: orgSeries-options.php:711 msgid "This control how and what series meta information is displayed with posts that are part of a series when the_excerpt is used. " msgstr "Esto controla cómo y qué información meta de la serie se muestra con los mensajes que son parte de una serie cuando se utiliza `the_excerpt` (el extracto). " -#: orgSeries-options.php:648 +#: orgSeries-options.php:672 msgid "Series Post List Post Title (Current Post)" msgstr "Lista de entradas de la serie «Título de la entrada» (entrada actual)" -#: orgSeries-options.php:642 +#: orgSeries-options.php:666 msgid "Series Post List Post Title (Linked Post)" msgstr "Lista de entradas de la serie «Título de la entrada» (entrada enlazada)" -#: orgSeries-options.php:545 +#: orgSeries-options.php:569 msgid "Choose the design for the page where all your Series are displayed." msgstr "Elige el diseño de la página donde se muestran todas tus series." -#: orgSeries-options.php:461 +#: orgSeries-options.php:485 msgid "Display Series Meta?" msgstr "¿Mostrar la meta de la serie?" -#: orgSeries-options.php:457 +#: orgSeries-options.php:481 msgid "Display Series Navigation?" msgstr "¿Mostrar la navegación de la serie?" -#: orgSeries-options.php:444 +#: orgSeries-options.php:468 msgid "Choose the design for pages that are included in a series." msgstr "Elige el diseño de las páginas que se incluyen en una serie." -#: orgSeries-options.php:422 +#: orgSeries-options.php:446 msgid "These settings allow you to customize the metabox on the post editing screen." msgstr "Estos ajustes te permiten personalizar la caja meta en la pantalla de edición de la entrada." -#: orgSeries-options.php:408 +#: orgSeries-options.php:432 msgid "Please change these settings carefully as they make significant changes to PublishPress Series." msgstr "Por favor, modifica estos ajustes con cuidado, ya que hacen cambios significativos en PublishPress Series." -#: orgSeries-options.php:394 +#: orgSeries-options.php:418 msgid "These templates allow you to customize the frontend appearance of PublishPress Series." msgstr "Estas plantillas te permiten personalizar la apariencia de la portada de PublishPress Series." -#: orgSeries-options.php:387 +#: orgSeries-options.php:411 msgid "These settings allow you to customize the main frontend screens in PublishPress Series." msgstr "Estos ajustes te permiten personalizar las principales pantallas de la portada de PublishPress Series." @@ -387,17 +365,17 @@ msgstr "Gestionar las series a publicar" msgid "Series Groups" msgstr "Grupos de la serie" -#: addons/publisher/series_issue_manager.php:504 -#: addons/publisher/series_issue_manager.php:652 -#: addons/publisher/series_issue_manager.php:697 +#: addons/publisher/series_issue_manager.php:501 +#: addons/publisher/series_issue_manager.php:647 +#: addons/publisher/series_issue_manager.php:692 msgid "Publish Series" msgstr "Publicar la serie" -#: orgSeries-options.php:904 +#: orgSeries-options.php:928 msgid "Enable automatic renumbering of posts in a series." msgstr "Activar la renumeración automática de las entradas de una serie." -#: orgSeries-options.php:898 +#: orgSeries-options.php:922 msgid "Automatic Numbering" msgstr "Renumeración automática" @@ -409,7 +387,7 @@ msgstr "Avanzado" msgid "https://publishpress.com/publishpress-series/" msgstr "https://publishpress.com/publishpress-series/" -#: orgSeries-options.php:505 +#: orgSeries-options.php:529 msgid "Choosing a layout different to \"Default\" will override the taxonomy template from your theme. Click here for details on how to customize these designs." msgstr "La elección de un diseño diferente al «Por defecto» anulará la plantilla de taxonomía de tu tema. Haz clic aquí para saber cómo personalizar estos diseños." @@ -417,35 +395,35 @@ msgstr "La elección de un diseño diferente al «Por defecto» anulará la plan msgid "Permission denied" msgstr "Permiso denegado" -#: orgSeries-options.php:515 +#: orgSeries-options.php:539 msgid "Columns:" msgstr "Columnas:" -#: orgSeries-options.php:487 +#: orgSeries-options.php:511 msgid "Layout:" msgstr "Diseño:" -#: orgSeries-options.php:481 +#: orgSeries-options.php:505 msgid "Choose the design for the taxonomy page where a single Series is displayed." msgstr "Elige el diseño de la página de taxonomía donde se muestra una serie única." -#: orgSeries-options.php:436 +#: orgSeries-options.php:460 msgid "List" msgstr "Lista" -#: orgSeries-options.php:435 +#: orgSeries-options.php:459 msgid "Grid" msgstr "Cuadrícula" -#: orgSeries-options.php:434 +#: orgSeries-options.php:458 msgid "Default" msgstr "Por defecto" -#: orgSeries-options.php:525 +#: orgSeries-options.php:549 msgid "This text will be part of the URL for all Series Overview pages." msgstr "Este texto formará parte de la URL de todas las páginas de resumen de la serie." -#: orgSeries-options.php:415 +#: orgSeries-options.php:439 msgid "This feature allows you to create a new taxonomy for this plugin to use if you don't want to use the default \"Series\" taxonomy." msgstr "Esta característica te permite crear una nueva taxonomía para que este plugin la utilice si no quieres usar la taxonomía por defecto «Serie»." @@ -513,83 +491,83 @@ msgstr "Mostrar la tabla de contenido de la serie como" msgid "Show Series Table Of Content" msgstr "Mostrar la tabla de contenido de la serie" -#: orgSeries-utility.php:405 +#: orgSeries-utility.php:406 msgid "Auto/None" msgstr "Automático/Ninguna" -#: orgSeries-options.php:851 +#: orgSeries-options.php:875 msgid "Please use with caution. Running this process will delete all the terms from the current taxonomy and migrate them to a new taxonomy." msgstr "Por favor, úsalo con precaución. La ejecución de este proceso eliminará todos los términos de la taxonomía actual y los migrará a una nueva taxonomía." -#: orgSeries-options.php:849 +#: orgSeries-options.php:873 msgid "Migrate series to new taxonomy" msgstr "Migrar las series a una nueva taxonomía" -#: orgSeries-options.php:845 +#: orgSeries-options.php:869 msgid "Migrate" msgstr "Migrar" -#: orgSeries-options.php:772 +#: orgSeries-options.php:796 msgid "This display is used by the \"Series Table of Contents\". To find the URL for this display, go the \"Display\" tab and then \"Series Table of Contents URL\"." msgstr "Esta visualización es usada por la «Tabla de contenidos de la serie». Para encontrar la URL de esta visualización, ve a la pestaña «Visualización» y luego a «URL de la tabla de contenidos de la serie»." -#: orgSeries-options.php:731 +#: orgSeries-options.php:755 msgid "First Post" msgstr "Primera entrada" -#: orgSeries-options.php:706 +#: orgSeries-options.php:730 msgid "Series Post Navigation Location" msgstr "Posición de la navegación de las entradas de la serie" -#: orgSeries-options.php:668 +#: orgSeries-options.php:692 msgid "Series Metabox Location" msgstr "Ubicación de la caja meta de la serie" -#: orgSeries-options.php:627 +#: orgSeries-options.php:651 msgid "Series Post List box Location" msgstr "Ubicación de la caja de la lista de las entradas de la serie" -#: orgSeries-options.php:606 +#: orgSeries-options.php:630 msgid "Bottom" msgstr "Abajo" -#: orgSeries-options.php:605 +#: orgSeries-options.php:629 msgid "Top" msgstr "Arriba" -#: orgSeries-options.php:604 +#: orgSeries-options.php:628 msgid "As in Template" msgstr "Como en la plantilla" -#: orgSeries-options.php:544 +#: orgSeries-options.php:568 msgid "Display on Series Table of Contents screens" msgstr "Mostrar en las pantallas de la tabla de contenido de la serie" -#: orgSeries-options.php:472 +#: orgSeries-options.php:496 msgid "Use box style" msgstr "Utilizar el estilo de caja" -#: orgSeries-options.php:465 +#: orgSeries-options.php:489 msgid "Use PublishPress Series CSS styles?" msgstr "¿Utilizar los estilos CSS de PublishPress Series?" -#: orgSeries-options.php:453 +#: orgSeries-options.php:477 msgid "Maximum number of items in Series Post List" msgstr "Número máximo de elementos en la lista de entradas de la serie" -#: orgSeries-options.php:443 +#: orgSeries-options.php:467 msgid "Display on single posts in a series" msgstr "Mostrar en las entradas individuales de una serie" -#: orgSeries-options.php:321 +#: orgSeries-options.php:322 msgid "Will be replaced by the navigation link for the first post in a series. The text will be whatever is included in the 'Custom First Post Navigation Text' field. If that field is empty then the text will be the title of the post" msgstr "Será sustituido por el enlace de navegación de la primera entrada de una serie. El texto será lo que se incluya en el campo 'Texto de navegación de la primera entrada personalizada'. Si ese campo está vacío, el texto será el título de la entrada" -#: orgSeries-options.php:286 +#: orgSeries-options.php:287 msgid "Allowed Html" msgstr "HTML permitido" -#: orgSeries-options.php:834 +#: orgSeries-options.php:858 msgid "Series Taxonomy:" msgstr "Taxonomía de la serie:" @@ -609,43 +587,43 @@ msgstr "Ha ocurrido un error" msgid "Current series" msgstr "Series actuales" -#: orgSeries-options.php:726 +#: orgSeries-options.php:750 msgid "Previous Post" msgstr "Entrada anterior" -#: orgSeries-options.php:721 +#: orgSeries-options.php:745 msgid "Next Post" msgstr "Entrada siguiente" -#: orgSeries-options.php:701 +#: orgSeries-options.php:725 msgid "Series Post Navigation:" msgstr "Navegación de las entradas de la serie:" -#: orgSeries-options.php:697 +#: orgSeries-options.php:721 msgid "This display is shown at the bottom of all posts in a series." msgstr "Esta visualización se muestra en la parte inferior de todas las entradas de una serie." -#: orgSeries-options.php:695 +#: orgSeries-options.php:719 msgid "Series Navigation Box" msgstr "Caja navegación de la serie" -#: orgSeries-options.php:656 +#: orgSeries-options.php:680 msgid "Series Meta Box" msgstr "Caja meta de la serie" -#: orgSeries-options.php:622 +#: orgSeries-options.php:646 msgid "Series Post List" msgstr "Lista de entradas de la serie" -#: orgSeries-options.php:619 orgSeries-options.php:658 +#: orgSeries-options.php:643 orgSeries-options.php:682 msgid "This display is shown at the top of all posts in a series." msgstr "Esta visualización se muestra en la parte superior de todas las entradas de una serie." -#: orgSeries-options.php:617 +#: orgSeries-options.php:641 msgid "Series Post List Box" msgstr "Caja de la lista de entradas de la serie" -#: orgSeries-options.php:311 +#: orgSeries-options.php:312 msgid "Is the location token for where the contents of the post list post templates will appear and use provided widget post short title." msgstr "Es el token de ubicación donde aparecerá el contenido de las plantillas de entradas de la lista de entradas y el uso proporcionado widget título corto de la entrada." @@ -653,43 +631,43 @@ msgstr "Es el token de ubicación donde aparecerá el contenido de las plantilla msgid "ID" msgstr "ID" -#: orgSeries-options.php:926 +#: orgSeries-options.php:950 msgid "Reset settings" msgstr "Restablecer los ajustes" -#: orgSeries-options.php:474 +#: orgSeries-options.php:498 msgid "Use light style" msgstr "Utilizar el estilo claro" -#: orgSeries-options.php:473 +#: orgSeries-options.php:497 msgid "Use dark style" msgstr "Utilizar el estilo oscuro" -#: orgSeries-options.php:471 +#: orgSeries-options.php:495 msgid "Use default style" msgstr "Utilizar el estilo por defecto" -#: orgSeries-options.php:469 +#: orgSeries-options.php:493 msgid "Style options" msgstr "Opciones de estilo" -#: orgSeries-options.php:374 +#: orgSeries-options.php:398 msgid "Yes" msgstr "Sí" -#: orgSeries-options.php:373 +#: orgSeries-options.php:397 msgid "No" msgstr "No" -#: orgSeries-options.php:372 +#: orgSeries-options.php:396 msgid "Clicking Yes will reset the options to the defaults and you will lose all customizations. Or you can click cancel and return." msgstr "Al hacer clic en «Sí» se restablecerán las opciones a los valores por defecto y se perderán todas las personalizaciones. O puedes hacer clic en cancelar y volver." -#: orgSeries-options.php:79 orgSeries-setup.php:288 +#: orgSeries-options.php:79 orgSeries-setup.php:290 msgid "No series found" msgstr "No se ha encontrado ninguna serie" -#: orgSeries-options.php:480 +#: orgSeries-options.php:504 msgid "Display on Series Overview screens" msgstr "Muestra en las pantallas de resumen de la serie" @@ -697,7 +675,7 @@ msgstr "Muestra en las pantallas de resumen de la serie" msgid "https://publishpress.com/" msgstr "https://publishpress.com/" -#: orgSeries.php:101 +#: orgSeries.php:115 msgid "This plugin can be deleted." msgstr "Este plugin puede ser borrado." @@ -709,35 +687,35 @@ msgstr "Este texto se mostrará encima de otras entradas de esta serie." msgid "Show other posts in the current series" msgstr "Muestra otras entradas de la serie actual" -#: orgSeries-admin.php:323 orgSeries-setup.php:228 +#: orgSeries-admin.php:323 orgSeries-setup.php:230 msgid "Add New" msgstr "Añadir nueva" -#: orgSeries-options.php:919 +#: orgSeries-options.php:943 msgid "Delete all PublishPress Series data from the database when deleting this plugin." msgstr "Borra todos los datos de las series de PublishPress de la base de datos al borrar este plugin." -#: orgSeries-options.php:913 +#: orgSeries-options.php:937 msgid "Series Settings" msgstr "Ajustes de la serie" -#: orgSeries-options.php:537 +#: orgSeries-options.php:561 msgid "Series order method" msgstr "Método de ordenación de series" -#: orgSeries-options.php:532 +#: orgSeries-options.php:556 msgid "Series part" msgstr "Parte de la serie" -#: orgSeries-options.php:530 +#: orgSeries-options.php:554 msgid "Order series by:" msgstr "Ordenar las series por:" -#: orgSeries-options.php:401 +#: orgSeries-options.php:425 msgid "This section is for the icons that show with your series. Note that you must use a token for the icon in the \"Templates\" settings." msgstr "Esta sección es para los iconos que se muestran con tu serie. Ten en cuenta que debes utilizar un token para el icono en los ajustes de «Plantillas»." -#: orgSeries-options.php:295 +#: orgSeries-options.php:296 msgid "Overview" msgstr "Resumen" @@ -1006,7 +984,7 @@ msgstr "Título" msgid "Most Recent Series" msgstr "Series más recientes" -#: orgSeries-options.php:739 orgSeries-widgets.php:13 +#: orgSeries-options.php:763 orgSeries-widgets.php:13 msgid "Latest Series" msgstr "Últimas series" @@ -1022,220 +1000,220 @@ msgstr "Series" msgid "All the Series I've Written" msgstr "Todas las series que he escrito" -#: orgSeries-taxonomy.php:712 +#: orgSeries-taxonomy.php:717 msgid "Part:" msgstr "Parte:" -#: orgSeries-taxonomy.php:710 orgSeries-taxonomy.php:735 +#: orgSeries-taxonomy.php:715 orgSeries-taxonomy.php:740 msgid "Series:" msgstr "Series:" -#: orgSeries-setup.php:718 +#: orgSeries-setup.php:735 msgid "Posts from the series: " msgstr "Entradas de la serie: " -#: orgSeries-setup.php:716 +#: orgSeries-setup.php:733 msgid "Series: " msgstr "Series: " -#: orgSeries-options.php:763 orgSeries-options.php:769 orgSeries-setup.php:451 +#: orgSeries-options.php:787 orgSeries-options.php:793 orgSeries-setup.php:454 #: orgSeries-widgets.php:112 msgid "Series Table of Contents" msgstr "Tabla de contenidos de la serie" -#: orgSeries-setup.php:334 +#: orgSeries-setup.php:337 msgid "Series Navigation" msgstr "Navegación de la serie" -#: orgSeries-setup.php:328 orgSeries-setup.php:329 +#: orgSeries-setup.php:331 orgSeries-setup.php:332 msgctxt "leave the %tokens% as is when translating" msgid "This entry is part %series_part% of %total_posts_in_series% in the series " msgstr "Esta entrada es la parte %series_part% de %total_posts_in_series% de la serie " -#: orgSeries-options.php:78 orgSeries-setup.php:287 +#: orgSeries-options.php:78 orgSeries-setup.php:289 msgid "Manage Series" msgstr "Gestionar la serie" -#: orgSeries-options.php:77 orgSeries-setup.php:286 +#: orgSeries-options.php:77 orgSeries-setup.php:288 msgid "New Series Name" msgstr "Nombre de la nueva serie" -#: orgSeries-options.php:76 orgSeries-setup.php:285 +#: orgSeries-options.php:76 orgSeries-setup.php:287 msgid "Add New Series" msgstr "Añadir serie" -#: orgSeries-options.php:75 orgSeries-setup.php:284 +#: orgSeries-options.php:75 orgSeries-setup.php:286 msgid "Update Series" msgstr "Actualizar serie" -#: orgSeries-options.php:74 orgSeries-setup.php:283 +#: orgSeries-options.php:74 orgSeries-setup.php:285 msgid "Edit Series" msgstr "Editar serie" -#: orgSeries-options.php:73 orgSeries-setup.php:282 orgSeries-setup.php:322 +#: orgSeries-options.php:73 orgSeries-setup.php:284 orgSeries-setup.php:325 msgid "All Series" msgstr "Todas las series" -#: orgSeries-options.php:72 orgSeries-setup.php:281 +#: orgSeries-options.php:72 orgSeries-setup.php:283 msgid "Popular Series" msgstr "Series populares" -#: orgSeries-options.php:71 orgSeries-setup.php:280 +#: orgSeries-options.php:71 orgSeries-setup.php:282 msgid "Search Series" msgstr "Buscar series" -#: orgSeries-options.php:70 orgSeries-setup.php:279 +#: orgSeries-options.php:70 orgSeries-setup.php:281 msgctxt "taxonomy singular name" msgid "Series" msgstr "Serie" -#: orgSeries-options.php:69 orgSeries-setup.php:278 +#: orgSeries-options.php:69 orgSeries-setup.php:280 msgctxt "taxonomy general name" msgid "Series" msgstr "Series" -#: orgSeries-setup.php:229 +#: orgSeries-setup.php:231 msgid "Select \"Not part of a series\" to remove any series data from post" msgstr "Selecciona «No forma parte de una serie» para eliminar los datos de la serie de la entrada" -#: orgSeries-setup.php:102 +#: orgSeries-setup.php:104 msgid "Your WordPress version is too old. Publishpress Series 2.2 requires at least WordPress 3.0 to function correctly. Please update your blog via Tools > Upgrade." msgstr "Tu versión de WordPress es demasiado antigua. PublishPress Series 2.2 necesita al menos WordPress 3.0 para funcionar correctamente. Por favor, actualiza tu blog a través de «Herramientas > Actualizar»." -#: orgSeries-options.php:811 +#: orgSeries-options.php:835 msgid "Width for icon if displayed via the latest series template (in pixels)." msgstr "Ancho del icono si se muestra a través de la última plantilla de serie (en píxeles)." -#: orgSeries-options.php:805 +#: orgSeries-options.php:829 msgid "Width for icon on a post page (in pixels)." msgstr "Ancho del icono en la página de la entrada (en píxeles)." -#: orgSeries-options.php:799 +#: orgSeries-options.php:823 msgid "Width for icon on series table of contents page (in pixels)" msgstr "Ancho del icono en la página de la tabla de contenidos de la serie (en píxeles)" -#: orgSeries-options.php:755 +#: orgSeries-options.php:779 msgid "Latest Series (tags after):" msgstr "Última serie (etiquetas después):" -#: orgSeries-options.php:750 +#: orgSeries-options.php:774 msgid "Latest Series (inner tags):" msgstr "Última serie (etiquetas interiores):" -#: orgSeries-options.php:745 +#: orgSeries-options.php:769 msgid "Latest Series (tags before):" msgstr "Última serie (etiquetas anteriores):" -#: orgSeries-options.php:683 +#: orgSeries-options.php:707 msgid "Series Meta (with excerpts):" msgstr "Meta de la serie (con extractos):" -#: orgSeries-options.php:662 +#: orgSeries-options.php:686 msgid "Series Meta:" msgstr "Meta de la serie:" -#: orgSeries-options.php:540 orgSeries-widgets.php:318 +#: orgSeries-options.php:564 orgSeries-widgets.php:318 msgid "Descending" msgstr "Descendente" -#: orgSeries-options.php:539 orgSeries-widgets.php:319 +#: orgSeries-options.php:563 orgSeries-widgets.php:319 msgid "Ascending" msgstr "Ascendente" -#: orgSeries-options.php:533 +#: orgSeries-options.php:557 msgid "Order by date" msgstr "Ordenar por fecha" -#: orgSeries-options.php:585 +#: orgSeries-options.php:609 msgid "Series Table of Contents Title:" msgstr "Título de la tabla de contenidos de la serie:" -#: orgSeries-options.php:522 +#: orgSeries-options.php:546 msgid "Series Custom Base:" msgstr "Base personalizada de la serie:" -#: orgSeries-options.php:581 +#: orgSeries-options.php:605 msgid "Series Per Page:" msgstr "Series por página:" -#: orgSeries-options.php:547 +#: orgSeries-options.php:571 msgid "Series Table of Contents URL:" msgstr "URL de la tabla de contenidos de la serie:" -#: orgSeries-options.php:449 +#: orgSeries-options.php:473 msgid "Display Series Post List?" msgstr "¿Mostrar la lista de entradas de la serie?" -#: orgSeries-options.php:929 +#: orgSeries-options.php:953 msgid "Reset options to default" msgstr "Restablecer las opciones por defecto" -#: orgSeries-options.php:368 +#: orgSeries-options.php:392 msgid "Update Options" msgstr "Actualize las opciones" -#: orgSeries-options.php:329 +#: orgSeries-options.php:330 msgid "Will display the description for the series" msgstr "Mostrará la descripción de la serie" -#: orgSeries-options.php:327 +#: orgSeries-options.php:328 msgid "Will display the total number of posts in a series" msgstr "Mostrará el número total de entradas en una serie" -#: orgSeries-options.php:325 +#: orgSeries-options.php:326 msgid "Will display what part of a series the post is" msgstr "Mostrará qué parte de una serie es la entrada" -#: orgSeries-options.php:323 +#: orgSeries-options.php:324 msgid "Use this tag either before or after the rest of the template code. It will indicate where you want the content of a post to display." msgstr "Utiliza esta etiqueta antes o después del resto del código de la plantilla. Indicará dónde quieres que se muestre el contenido de una entrada." -#: orgSeries-options.php:319 +#: orgSeries-options.php:320 msgid "Will be replaced by the navigation link for the next post in a series. The text will be whatever is included in the 'Custom Next Post Navigation Text' field. If that field is empty then the text will be the title of the post" msgstr "Será sustituido por el enlace de navegación para la entrada siguiente de una serie. El texto será lo que se incluya en el campo \"Texto de navegación personalizado de la entrada siguiente\". Si ese campo está vacío, el texto será el título de la entrada" -#: orgSeries-options.php:317 +#: orgSeries-options.php:318 msgid "Will be replaced by the navigation link for the previous post in a series. The text will be whatever is included in the 'Custom Previous Post Navigation Text' field. If that field is empty then the text will be the title of the post" msgstr "Será sustituido por el enlace de navegación para la entrada anterior de una serie. El texto será lo que se incluya en el campo \"Texto de navegación personalizado de la entrada anterior\". Si ese campo está vacío, el texto será el título de la entrada" -#: orgSeries-options.php:315 +#: orgSeries-options.php:316 msgid "Will be replaced with the post title of a post in the series linked to the page view of that post." msgstr "Será sustituido por el título de una entrada de la serie vinculada a la vista de la página de esa entrada." -#: orgSeries-options.php:313 +#: orgSeries-options.php:314 msgid "Will be replaced with the post title of a post in the series" msgstr "Será sustituido por el título de una entrada de la serie" -#: orgSeries-options.php:309 +#: orgSeries-options.php:310 msgid "Is the location token for where the contents of the post list post templates will appear." msgstr "Es el token de ubicación en el que aparecerá el contenido de las plantillas de la lista de entradas." -#: orgSeries-options.php:307 +#: orgSeries-options.php:308 msgid "Same as %series_title% except that it will also be linked to the series page" msgstr "Igual que %series_title%, excepto que también se enlazará a la página de la serie" -#: orgSeries-options.php:305 +#: orgSeries-options.php:306 msgid "This will be replaced with the title of a series" msgstr "Esto se reemplazará con el título de una serie" -#: orgSeries-options.php:303 +#: orgSeries-options.php:304 msgid "This token is for use with the orgSeries widget only - it references where you want the list of series titles to be inserted and requires that the template for each series title be also set." msgstr "Este token es para usarlo solo con el widget orgSeries - Hace referencia a dónde quieres que se inserte la lista de títulos de series y requiere que la plantilla para cada título de serie también esté establecida." -#: orgSeries-options.php:301 +#: orgSeries-options.php:302 msgid "Same as %series_icon% except that the series icon will be linked to the series page" msgstr "Igual que %series_icon%, excepto que el icono de la serie estará enlazado a la página de la serie" -#: orgSeries-options.php:299 +#: orgSeries-options.php:300 msgid "This will be replaced with the series icon for a series." msgstr "Esto será sustituido por el icono de las series para una serie." -#: orgSeries-options.php:297 +#: orgSeries-options.php:298 msgid "The following is a legend of the tokens that are available for use in the custom template fields. These will be replaced with the appropriate values when the plugin runs." msgstr "La siguiente es una leyenda de los tokens que están disponibles para su uso en los campos de la plantilla personalizada. Estos serán reemplazados con los valores apropiados cuando el plugin se ejecute." #: orgSeries-options.php:24 orgSeries-options.php:45 orgSeries-options.php:46 -#: orgSeries-setup.php:730 +#: orgSeries-setup.php:747 msgid "Settings" msgstr "Ajustes" @@ -1288,7 +1266,7 @@ msgid "Part %1$s of %2$s%6$s in the series
msgstr "Parte %1$s de %2$s%6$s de la serie
%5$s" #: orgSeries-admin.php:358 orgSeries-admin.php:370 orgSeries-admin.php:453 -#: orgSeries-options.php:36 orgSeries-taxonomy.php:446 +#: orgSeries-options.php:36 orgSeries-taxonomy.php:451 #: orgSeries-widgets.php:232 orgSeries-widgets.php:385 msgid "Series" msgid_plural "Series" From 57512e4808395d569849f0730ba03d7b6d5c63b9 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Tue, 20 Sep 2022 15:28:37 +0100 Subject: [PATCH 09/35] - Series-Translation updates for French-Spanish-Italian #567 --- languages/organize-series-es_ES.mo | Bin 38257 -> 38287 bytes languages/organize-series-es_ES.po | 54 +- languages/organize-series-fr_FR.mo | Bin 39307 -> 39790 bytes languages/organize-series-fr_FR.po | 980 +++++++++----- languages/organize-series-it_IT.mo | Bin 24699 -> 37945 bytes languages/organize-series-it_IT.po | 1994 ++++++++++++++-------------- 6 files changed, 1694 insertions(+), 1334 deletions(-) mode change 100644 => 100755 languages/organize-series-fr_FR.mo mode change 100644 => 100755 languages/organize-series-fr_FR.po mode change 100644 => 100755 languages/organize-series-it_IT.mo mode change 100644 => 100755 languages/organize-series-it_IT.po diff --git a/languages/organize-series-es_ES.mo b/languages/organize-series-es_ES.mo index 404b8623b031d2a58b4d389cb772e294637bc4e4..edb0a6ab56143f1afbd1f7caeb913582d118f136 100755 GIT binary patch delta 2725 zcmXZeYfzL`7{Kud5QX&yibkQbx`_yaET%XJhN$Q`A_^j-D7vx>t+H(Hq7o*Xps7%z zqS@$VzRi?fTwV%)-3WXF-qt5UlYR3^Skx@7jbpko4 zXJIw!mhHk^>_R6#LQQr0YLU&Di#nl?QP0dpOu%n3AMfIH#+UR;5jzz=jKp229qmKS z#8DiH-KaC}L0wrd>Pq{#&HD*Bk2nXzaXV^%Em(%TaTfL<=TXu~#~{X+CJOIRu?MR# zn?E|x+c*~AM+g3B#ebu2)#z%oq7+ObF2M2V!$>@UPvILl1ka%zze4Tr9wsur#5^aG zhZ(3_unzm;CQQaA9EPVg4&#iV-iA9~)A3_WA&y;R&P)!*5|^T8q8jzOu0fqhJ&wj! z3~9$_t%^^r2Dec6su#7RxV7dwC82%?3Q)JG5~DDHy2qPP+wZXAgZKpTN!0!>U_bmB z=i|+_Iyra7kLFQq28X- zb!NqW)GcjAZMPrO@hryTjSz*WDg1%jU}%7}Vk+t>Z9~n_uc#}zi+o$;Ar8SML9-$+ z>clso*1v|jRi{w*`g7E+?m->+F(zRsrp^qUh5AAfYJ(cojv6iZ;85aYs3|^&$@l}# z#eZ=g&RuW53+(aw8W~aH&lTZ)YJk`v$1Ws$;$|OoruWc^$t>d#F2l?C z05zpw>@zFBjA_JoZ~?~eH>t12LBzG#2RB>w(M=R0so2>W9Tz*j-I*DemgJb4>2yxB z7X_+awcZAgz04nQFAR8sLHj~~ur6r#*4Fv$E_;b5;PtdGEuIpUk!5#I$WtcIPmSL`$LsR>TmfG5+S7QY%AdE<)_5CSZhxS&ynJ}}e?y+AzW@LL delta 2733 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 RJI96gtxK#?eSG8l{{z|rPr?8I delta 7249 zcmYk=30Rd?9>?)>@v;dBisF`WRZvjG1yOLpJ#yE`lw46zNfz~DWKq{OwZ(L<%cNy4 zrCBaDH=9P&si;P$T`MzZ%$%$&v$CuyN1N~OJ+Du_kN^8Q=e)~V-*Ycscs}g@P*~tp z1MgbH(a&Sdb(m7un7yPk8miQoFPj+?gXb_3FJUZR!3?b1oO`f4>i!9+^YdNr#d_p} z*ao-a^>_pa851yHk{CciCU>{Oxp)TG;*c<7?r32vs!cYgg!1n&9B=ViCty?ZQ!xQ+ zPz`+$Rq!dH+!nm4dH^_ve#sKpmi5BLq$qlA|B0ofQ$ejrBR2sb|l6Uk3@ z%l)Va--$hNDXL>H;ZXF_yBBa2-i^_%X%O|BWh8pxD$K#RTq9_OdeR5ggM3WF5>$h0 zP(56Mnyo)$6Wonz=oMLq82y+FquSNs%`lutWSO?_Q3olLS1(f$KmNT#=kp>+;lqyb5IrS z!9{ow3$brI+mj8hPa^BqJnwoGS+C{-Mq&)Z;EWV%B+`&UG{aC0n2Ty?b%2D1Xa(wq z^{%^6Bk(fv&wR{>9vqQjt%rJzl2B8Vjhf>@cooN?o;$XK?NAA_4owy6`gItMf$bzT zG|#vNA=C&QL^a?|R7=mIZu}WzFf!BaA?mG3L#>5e)JPOy1kQG?MpbwZ#^G|C514f% z^nlH%)%`3+;b9z(@1fQ}a!1>cRMevFj!SVp*25N^Y=bkf5&1#rtS!{Y`B4?$g{o%- z*3EDH1zw)+^biZkXW%egfU4jv)cwa%Jv@c|@VuMP z%(msdFp=^hZhjI5R8U4jbG86g@uR2_*o_*I{a7E5Vk7(vb^cdWg^}HCz7ZynZ{?bW z4apBgUJO%+>9_>7q3!9$_$QNilLA$A9@PMEcRM8wQ6u0(U6+fxu@F^JHL3&4QB(K` zs=_BxbAAxDmR@sx8|#ukjvCQ3-5Gz)>Gu?9j^c9cNcd0{_C_`>GZEFWCCK!eHP{4S zM~%QIsQ3CCRD~DudAy9h@h`d7@9-(|nS4QLBu)fK3?fmdC*NQ=7;nT~ZvGO|HZzVd zh;g_IhvGS0g4sO%W!#TJtYQ1qa}xU4HR8vyV=C7dkhp^H1^-IQwJ**ql zh#Y63=(ReJnxdbPH`#cZa4p`RsHyRzu3Lw?Zc72sQD>)A(llOJx>n zE?>k%Dn5-bgt0@8u@&s*)tJxuvlxk!3+-z-1AXLYV*^}`I{!E}$6bYtzbZcLp19;* zcm>-~o^Y#OG~H1*+<={ND(Zo2P-|lcsw00zE!x*n*B?bq*#)=!BK9MH6}49S2FBYS zF2@rToWN%=G{HWocp`5E`PrC-`;cANoI~{_d6FI4wx}r@f@;tV*J{+;unaX7J1`1A zK}~hwOA<*WzCpFzJK31qF#+e`GE`50!32z*!Z#kaKsCURjqonioUg_%c-Zwa=914W zvcIrqqB`&d#_9b(Nn$kx=TI%Xi&vo`F2QE_Fy4sIp+@2gYAy7iX212OV}`y|&#)2?I0&aflZ2|H0f0NY^|s$q|zrsfE$Atx|{`ppkYpl_yqKZm0(C_oK;IkvzB=)+BJ z{_i-L{J$|4+m_l6bj3{aJyBD88)_sM;xrH6l5V+vlLs`XjY()u(ojP-3Dwdntb+w{BC*oW zZFAIX)DhM4VW@^oLM^IUZhj?dEo?-M#9q7}-^UF60f(Y*wq3ks$eV5Up*FDkyjrR^ zH89t*)W{_J?O#UiumSl}Y=bqZ25&SCOf!X*uw#Do2un!uDYWaBdVL5ihmDm9fVG}%$ z8p-haw&IqkHI$7Skueyf_kRir4PhB-u2-NQunv3TUQ`3VM$K*Fopy)o>*`0XjqNxL zkGT1yyX@l2#Td$mpcd;b_z_OQp44x0YwT~cd3b_+Evn~_-p$V}Jcg_nlXj2&>9he^ zM;bimr`sH44>EgkEG8}B9mfj%9Ag%;S>Z)geYJ~>xfKU2CeP@aO(gWdq$La|EpSh;rYj?y7RD)0A9^AK#g^0z=ZNsBh*bQnTo~3*T_QMD7vpeKF_tBnk z3iNjoqiZ6NYs>=lV%-Pqki}zf@=Y-w$D)RG1~x=LHpAtv+guM}9OWlaYvc=TgN+}w zU*mZXG9Jw-m`#D^`~lQf`vf+|T3m}K@kX4p(vHY})OBGG+3S3mMm`5Kun4suti&z2 z8zLYpY4MVU{mrhV+TBmg&6&?tza6) zlb?Z_qH2u98q{-^AnkX0UyFYwej;?tC1w%y(fmSi1f1cm&mC|8!%%ACK3aOtLL{(>;@l9}x51{I9_e z8YTzS-(;$|ifW(g^OxRpq;|U(#G%%^j+Q*E&?ZeQ(kvurDaX2Hci?-(apI&~b{PG{6NGk( zYsW4U1Be)&GZi-xw`;n!bl5eV-!+Sao}|RUZ{&s&-MKUj8{s$D3w3-<{FBh@to88* zq4l9-G~wgA7o42^m;j#;eB)h(T=hT{7MBJ4T*dwW&fHQMVfcP`AUe=KKc%sK}36QJcwS@ z5sT?I>3nu^%VWrCueo+?BcVN^0p~w-3oG$`qLG^yt%#9C5BE7LQ~l2S@4RcIb5zLD zlZ&)}=(vvf&PnmR09z7$iT@JQh!=?zuJxhzART>(cZqw6QsOkB<4NKcCuKjJ-;L); z_vXec*a4ryAp~2B=}5jV=HMB8h|tlIC?lRFHWE6bxh4&JJGtLKru?3CHn;nK&j-w3 z+>AD%`otJFe+h4M)6;RYn-;GTuM%vo&hD3l8;Hk%y zt8t>ne>n*q&lCS9G$q%L3^y?oyAjX0`573-L%wzM;iU73Y@#`lPR!$6Yb;K!=^P9Be3@uWd7dP0B~}qSno_<4 zJLCWGVWNiUMd<&nokPE7JG*Jok7!6)H=>Ai6fVP~#2!M&^_1y2L5wGgiGf54q2oS_ z^Zm1x^Z_E;Evv`91^Ve(kAkjb9(PYP#h-~1qLW*}dD5+e`18P;f2Sy2T&utmP|qKY~5YIlbA-afUBYE|vd;1>VY(7~$Vo@nl5nOE(E_FH8^;F!=nEK DGsm?_ diff --git a/languages/organize-series-fr_FR.po b/languages/organize-series-fr_FR.po old mode 100644 new mode 100755 index bd216dea..1c4497ce --- a/languages/organize-series-fr_FR.po +++ b/languages/organize-series-fr_FR.po @@ -2,9 +2,10 @@ # This file is distributed under the same license as the Plugins - PublishPress Series – Organize WordPress Posts into a Series - Stable (latest release) package. msgid "" msgstr "" -"Project-Id-Version: Plugins - PublishPress Series – Organize WordPress Posts into a Series - Stable (latest release)\n" +"Project-Id-Version: Plugins - PublishPress Series – Organize WordPress " +"Posts into a Series - Stable (latest release)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-05-23 18:33+0200\n" +"PO-Revision-Date: 2022-07-07 16:35-0500\n" "Last-Translator: \n" "Language-Team: Angelo Giammarresi - info@wocmultimedia.com\n" "Language: fr\n" @@ -14,9 +15,49 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Poedit 3.0.1\n" -#: orgSeries-options.php:560 -msgid "You must %1s update your permalink structure %2s to something other than \"Plain\" for the Series Table of Contents URL to work." -msgstr "Vous devez %1s mettre à jour votre structure de permalien %2s à autre chose que « Simple » pour que l’URL de la table des matières de la série fonctionne." +#: orgSeries-options.php:353 +msgid "Click here to install PublishPress Blocks" +msgstr "Cliquez ici pour installer PublishPress Blocks" + +#: orgSeries-options.php:350 +msgid "Choose from Grid, List, Slider, Masonry, and other layouts." +msgstr "" +"Choisissez parmi les mises en page suivantes : grille, liste, curseur, " +"masonry et autres." + +#: orgSeries-options.php:349 +msgid "" +"The Content Display block allows you to create advanced layouts for " +"PublishPress Series" +msgstr "" +"Le bloc d’affichage du contenu vous permet de créer des mises en page " +"avancées pour PublishPress Series" + +#: orgSeries-options.php:348 +msgid "PublishPress Blocks is 100% free to install and use." +msgstr "PublishPress Blocks est 100% gratuit à installer et à utiliser." + +#: orgSeries-options.php:346 +msgid "Create beautiful layouts for your series" +msgstr "Créez de superbes mises en page pour vos séries" + +#: orgSeries-options.php:345 +msgid "Recommendations for you" +msgstr "Des recommandations pour vous" + +#: addons/publisher/series-part-post-table.php:67 +#: addons/publisher/series-publish-post-table.php:67 +msgid "Status" +msgstr "État" + +#: orgSeries-options.php:584 +msgid "" +"You must %1s update your permalink structure %2s to something other than " +"\"Plain\" for the Series Table of Contents URL to work." +msgstr "" +"Vous devez %1s mettre à jour votre structure de permalien %2s à autre chose " +"que « Simple » pour que l’URL de la table des matières de la série " +"fonctionne." #: includes-core/PPSeriesCoreAdmin.php:114 msgid "View Knowledge Base" @@ -24,7 +65,9 @@ msgstr "Voir la base de connaissances" #: includes-core/PPSeriesCoreAdmin.php:112 msgid "Detailed documentation is also available on the plugin website." -msgstr "Une documentation détaillée est également disponible sur le site de l’extension." +msgstr "" +"Une documentation détaillée est également disponible sur le site de " +"l’extension." #: includes-core/PPSeriesCoreAdmin.php:103 msgid "Request Support" @@ -32,7 +75,9 @@ msgstr "Demande de support" #: includes-core/PPSeriesCoreAdmin.php:101 msgid "If you need help or have a new feature request, let us know." -msgstr "Si vous avez besoin d’aide ou si vous avez une nouvelle demande de fonctionnalité, faites-le nous savoir." +msgstr "" +"Si vous avez besoin d’aide ou si vous avez une nouvelle demande de " +"fonctionnalité, faites-le nous savoir." #: includes-core/PPSeriesCoreAdmin.php:96 msgid "Need PublishPress Series Support?" @@ -78,69 +123,76 @@ msgstr "Renforcez la puissance de PublishPress Series avec la version Pro :" msgid "Upgrade to PublishPress Series Pro" msgstr "Passez à la version Pro de PublishPress Series" -#: addons/publisher/series_issue_manager.php:773 +#: addons/publisher/series_issue_manager.php:777 msgid "Update Order" msgstr "Mettre à jour la commande" -#: addons/publisher/series_issue_manager.php:757 +#: addons/publisher/series_issue_manager.php:761 msgid "Series Order" msgstr "Ordre de la série" -#: addons/publisher/series_issue_manager.php:724 +#: addons/publisher/series_issue_manager.php:728 msgid "Series Order:" msgstr "Ordre de la série :" -#: addons/publisher/series_issue_manager.php:689 +#: addons/publisher/series_issue_manager.php:693 msgid "%1$s%2$s, %3$s @ %4$s : %5$s" msgstr "%2$s%1$s, %3$s à les %4$s : %5$s" -#: addons/publisher/series_issue_manager.php:666 +#: addons/publisher/series_issue_manager.php:670 msgid "Publication Date/Time:" msgstr "Date/heure de publication :" -#: addons/publisher/series_issue_manager.php:644 -#: addons/publisher/series_issue_manager.php:749 +#: addons/publisher/series_issue_manager.php:648 +#: addons/publisher/series_issue_manager.php:753 msgid "Description here." msgstr "Description ici." -#: addons/publisher/series_issue_manager.php:622 -#: addons/publisher/series_issue_manager.php:727 -msgid "Drag the post names into the order you want them to be in the series, from the first part to the last part." -msgstr "Faites glisser les noms des publications dans l’ordre où vous voulez qu’elles soient dans la série, de la première à la dernière partie." +#: addons/publisher/series_issue_manager.php:731 +msgid "" +"Drag the post names into the order you want them to be in the series, from " +"the first part to the last part." +msgstr "" +"Faites glisser les noms des publications dans l’ordre où vous voulez " +"qu’elles soient dans la série, de la première à la dernière partie." -#: addons/publisher/series_issue_manager.php:619 +#: addons/publisher/series_issue_manager.php:625 msgid "Publishing Series:" msgstr "Série de publications :" -#: addons/publisher/series_issue_manager.php:503 +#: addons/publisher/series_issue_manager.php:509 msgid "Manage Series Issues" msgstr "Gérer les problèmes de séries" -#: addons/publisher/series_issue_manager.php:364 +#: addons/publisher/series_issue_manager.php:370 msgid "Congratulations. Your series was published successfully." msgstr "Félicitations. Votre série a bien été publiée." -#: addons/publisher/series_issue_manager.php:359 +#: addons/publisher/series_issue_manager.php:365 msgid "Congratulations. Your series was scheduled successfully." msgstr "Félicitations. Votre série a bien été planifiée." -#: addons/publisher/series_issue_manager.php:336 +#: addons/publisher/series_issue_manager.php:342 msgid "Post moved to the Trash." msgstr "La publication a été mis à la corbeille." -#: addons/publisher/series_issue_manager.php:327 +#: addons/publisher/series_issue_manager.php:333 msgid "Congratulations. Your series order was updated successfully." msgstr "Félicitations. Votre commande de séries a bien été mise à jour." -#: addons/publisher/series_issue_manager.php:318 +#: addons/publisher/series_issue_manager.php:324 msgid "The posts in your series were successfully unpublished." msgstr "Les publications de votre série ont bien été dépubliées." -#: addons/publisher/series_issue_manager.php:239 -msgid "When checked, all posts you assign to this series will remain unpublished until you publish the entire series." -msgstr "Si cette case est cochée, toutes les publications que vous attribuez à cette série resteront non publiées jusqu’à ce que vous publiiez la série entière." +#: addons/publisher/series_issue_manager.php:245 +msgid "" +"When checked, all posts you assign to this series will remain unpublished " +"until you publish the entire series." +msgstr "" +"Si cette case est cochée, toutes les publications que vous attribuez à cette " +"série resteront non publiées jusqu’à ce que vous publiiez la série entière." -#: addons/publisher/series_issue_manager.php:235 +#: addons/publisher/series_issue_manager.php:241 msgid "Create as unpublished:" msgstr "Créer comme non publiée :" @@ -189,64 +241,19 @@ msgid "Publish posts in series" msgstr "Publier des publications en série" #: addons/publisher/series-publish-post-table.php:68 -#: addons/publisher/series-publish-post-table.php:335 +#: addons/publisher/series-publish-post-table.php:274 msgid "Preview" msgstr "Aperçu" -#: addons/publisher/series-part-post-table.php:366 -#: addons/publisher/series-publish-post-table.php:347 +#: addons/publisher/series-part-post-table.php:305 +#: addons/publisher/series-publish-post-table.php:286 msgid "Move to Trash" msgstr "Mettre à la corbeille" -#: addons/publisher/series-part-post-table.php:350 +#: addons/publisher/series-part-post-table.php:289 msgid "(Currently has no Part number)" msgstr "(N’a aucun numéro de pièce actuellement)" -#: addons/publisher/series-part-post-table.php:299 -#: addons/publisher/series-publish-post-table.php:285 -msgid "Last Modified" -msgstr "Dernière modification" - -#: addons/publisher/series-part-post-table.php:296 -#: addons/publisher/series-publish-post-table.php:282 -msgid "Scheduled" -msgstr "Planifié" - -#: addons/publisher/series-part-post-table.php:294 -#: addons/publisher/series-publish-post-table.php:280 -msgid "Missed schedule" -msgstr "Planification manquée" - -#: addons/publisher/series-part-post-table.php:291 -#: addons/publisher/series-publish-post-table.php:277 -msgid "Published" -msgstr "Publié" - -#. translators: Post time format. See -#. https://www.php.net/manual/datetime.format.php -#: addons/publisher/series-part-post-table.php:283 -#: addons/publisher/series-publish-post-table.php:269 -msgid "g:i a" -msgstr "g:i a" - -#. translators: Post date format. See -#. https://www.php.net/manual/datetime.format.php -#: addons/publisher/series-part-post-table.php:281 -#: addons/publisher/series-publish-post-table.php:267 -msgid "Y/m/d" -msgstr "d/m/Y" - -#. translators: 1: Post date, 2: Post time. -#: addons/publisher/series-part-post-table.php:279 -#: addons/publisher/series-publish-post-table.php:265 -msgid "%1$s at %2$s" -msgstr "%1$s à %2$s" - -#: addons/publisher/series-part-post-table.php:274 -#: addons/publisher/series-publish-post-table.php:260 -msgid "Unpublished" -msgstr "Non publié" - #: addons/publisher/series-part-post-table.php:155 #: addons/publisher/series-publish-post-table.php:140 msgid "Trash" @@ -261,11 +268,6 @@ msgstr "Modifier" msgid "Current Part" msgstr "Pièce actuelle" -#: addons/publisher/series-part-post-table.php:67 -#: addons/publisher/series-publish-post-table.php:67 -msgid "Date" -msgstr "Date" - #: addons/publisher/series-part-post-table.php:66 #: addons/publisher/series-publish-post-table.php:66 msgid "Tags" @@ -286,76 +288,111 @@ msgid "Hide series with no posts?" msgstr "Voulez-vous masquer les séries qui n’ont pas de publications ?" #: orgSeries-widgets.php:79 -msgid "The layout and content of this widget can be adjusted via the Latest Series area." -msgstr "La mise en page et le contenu de ce widget peuvent être réglés via la zone Dernière série." +msgid "" +"The layout and content of this widget can be adjusted via the Latest Series area." +msgstr "" +"La mise en page et le contenu de ce widget peuvent être réglés via la zone " +"Dernière série." -#: orgSeries-options.php:878 +#: orgSeries-options.php:902 msgid "Show \"Post title in widget\"" msgstr "Afficher « Le titre de la publication dans le widget »." -#: orgSeries-options.php:874 +#: orgSeries-options.php:898 msgid "Show \"Series Part\"" msgstr "Afficher « la pièce de la série »" -#: orgSeries-options.php:870 +#: orgSeries-options.php:894 msgid "Show \"Add New\"" msgstr "Afficher « Ajouter »" -#: orgSeries-options.php:838 -msgid "To create a new taxonomy, enter the new name and click the \"Update Options\" button." -msgstr "Pour créer une nouvelle taxonomie, saisissez le nouveau nom et cliquez sur le bouton « Mettre à jour les options »." +#: orgSeries-options.php:862 +msgid "" +"To create a new taxonomy, enter the new name and click the \"Update Options" +"\" button." +msgstr "" +"Pour créer une nouvelle taxonomie, saisissez le nouveau nom et cliquez sur " +"le bouton « Mettre à jour les options »." -#: orgSeries-options.php:765 -msgid "This display is used by the \"Series Table of Contents\" widget, shortcode, and URL." -msgstr "Cet affichage est utilisé par le widget « Table des matières de la série », le code court et l’URL." +#: orgSeries-options.php:789 +msgid "" +"This display is used by the \"Series Table of Contents\" widget, shortcode, " +"and URL." +msgstr "" +"Cet affichage est utilisé par le widget « Table des matières de la série », " +"le code court et l’URL." -#: orgSeries-options.php:741 +#: orgSeries-options.php:765 msgid "This display is used by the \"Latest Series\" widget." msgstr "Cet affichage est utilisé par le widget « Dernières séries »." -#: orgSeries-options.php:687 -msgid "This control how and what series meta information is displayed with posts that are part of a series when the_excerpt is used. " -msgstr "Ceci contrôle comment et quelles méta-informations de série sont affichées avec les publications qui font partie d’une série lorsque the_excerpt est utilisé. " +#: orgSeries-options.php:711 +msgid "" +"This control how and what series meta information is displayed with posts " +"that are part of a series when the_excerpt is used. " +msgstr "" +"Ceci contrôle comment et quelles méta-informations de série sont affichées " +"avec les publications qui font partie d’une série lorsque the_excerpt est " +"utilisé. " -#: orgSeries-options.php:648 +#: orgSeries-options.php:672 msgid "Series Post List Post Title (Current Post)" -msgstr "Liste des publications de la série Titre de la publication (publication actuelle)" +msgstr "" +"Liste des publications de la série Titre de la publication (publication " +"actuelle)" -#: orgSeries-options.php:642 +#: orgSeries-options.php:666 msgid "Series Post List Post Title (Linked Post)" -msgstr "Liste des publications de la série Titre de la publication (publication liée)" +msgstr "" +"Liste des publications de la série Titre de la publication (publication liée)" -#: orgSeries-options.php:545 +#: orgSeries-options.php:569 msgid "Choose the design for the page where all your Series are displayed." msgstr "Choisissez le design de la page où sont affichées toutes vos séries." -#: orgSeries-options.php:461 +#: orgSeries-options.php:485 msgid "Display Series Meta?" msgstr "Voulez-vous afficher les métadonnées de la série ?" -#: orgSeries-options.php:457 +#: orgSeries-options.php:481 msgid "Display Series Navigation?" msgstr "Voulez-vous afficher la navigation de la série ?" -#: orgSeries-options.php:444 +#: orgSeries-options.php:468 msgid "Choose the design for pages that are included in a series." msgstr "Choisissez le design des pages qui sont incluses dans une série." -#: orgSeries-options.php:422 -msgid "These settings allow you to customize the metabox on the post editing screen." -msgstr "Ces réglages vous permettent de personnaliser la boîte méta sur l’écran de modification de la publication." +#: orgSeries-options.php:446 +msgid "" +"These settings allow you to customize the metabox on the post editing screen." +msgstr "" +"Ces réglages vous permettent de personnaliser la boîte méta sur l’écran de " +"modification de la publication." -#: orgSeries-options.php:408 -msgid "Please change these settings carefully as they make significant changes to PublishPress Series." -msgstr "Veuillez modifier ces réglages avec soin car ils apportent des changements importants à PublishPress Series." +#: orgSeries-options.php:432 +msgid "" +"Please change these settings carefully as they make significant changes to " +"PublishPress Series." +msgstr "" +"Veuillez modifier ces réglages avec soin car ils apportent des changements " +"importants à PublishPress Series." -#: orgSeries-options.php:394 -msgid "These templates allow you to customize the frontend appearance of PublishPress Series." -msgstr "Ces modèles vous permettent de personnaliser l’apparence de l’interface publique de PublishPress Series." +#: orgSeries-options.php:418 +msgid "" +"These templates allow you to customize the frontend appearance of " +"PublishPress Series." +msgstr "" +"Ces modèles vous permettent de personnaliser l’apparence de l’interface " +"publique de PublishPress Series." -#: orgSeries-options.php:387 -msgid "These settings allow you to customize the main frontend screens in PublishPress Series." -msgstr "Ces réglages vous permettent de personnaliser les principaux écrans de l’interface publique de PublishPress Series." +#: orgSeries-options.php:411 +msgid "" +"These settings allow you to customize the main frontend screens in " +"PublishPress Series." +msgstr "" +"Ces réglages vous permettent de personnaliser les principaux écrans de " +"l’interface publique de PublishPress Series." #: orgSeries-options.php:240 msgid "Metabox" @@ -366,8 +403,12 @@ msgid "Taxonomy" msgstr "Taxonomie" #: includes-core/pro-placeholder/views/series-group-placeholder.php:11 -msgid "PublishPress Series Pro gives you the ability to group series together by category." -msgstr "PublishPress Series Pro vous donne la possibilité de regrouper les séries par catégorie." +msgid "" +"PublishPress Series Pro gives you the ability to group series together by " +"category." +msgstr "" +"PublishPress Series Pro vous donne la possibilité de regrouper les séries " +"par catégorie." #: includes-core/pro-placeholder/views/series-group-placeholder.php:2 msgid "Manage Series Groups" @@ -387,17 +428,17 @@ msgstr "Gérer les séries à publier" msgid "Series Groups" msgstr "Groupes de séries" -#: addons/publisher/series_issue_manager.php:504 -#: addons/publisher/series_issue_manager.php:652 -#: addons/publisher/series_issue_manager.php:697 +#: addons/publisher/series_issue_manager.php:510 +#: addons/publisher/series_issue_manager.php:656 +#: addons/publisher/series_issue_manager.php:701 msgid "Publish Series" msgstr "Publier la série" -#: orgSeries-options.php:904 +#: orgSeries-options.php:928 msgid "Enable automatic renumbering of posts in a series." msgstr "Activez la renumérotation automatique des publications dans une série." -#: orgSeries-options.php:898 +#: orgSeries-options.php:922 msgid "Automatic Numbering" msgstr "Renumérotation automatique" @@ -409,61 +450,84 @@ msgstr "Avancé" msgid "https://publishpress.com/publishpress-series/" msgstr "https://publishpress.com/publishpress-series/" -#: orgSeries-options.php:505 -msgid "Choosing a layout different to \"Default\" will override the taxonomy template from your theme. Click here for details on how to customize these designs." -msgstr "Si vous choisissez une disposition différente de « Par défaut », le modèle de taxonomie de votre thème sera remplacé.Cliquez ici pour savoir comment personnaliser ces designs." +#: orgSeries-options.php:529 +msgid "" +"Choosing a layout different to \"Default\" will override the taxonomy " +"template from your theme. Click here for " +"details on how to customize these designs." +msgstr "" +"Si vous choisissez une disposition différente de « Par défaut », le modèle " +"de taxonomie de votre thème sera remplacé.Cliquez ici pour savoir comment personnaliser ces designs." #: orgSeries-options.php:101 msgid "Permission denied" msgstr "Droits refusés" -#: orgSeries-options.php:515 +#: orgSeries-options.php:539 msgid "Columns:" msgstr "Colonnes :" -#: orgSeries-options.php:487 +#: orgSeries-options.php:511 msgid "Layout:" msgstr "Mise en page :" -#: orgSeries-options.php:481 -msgid "Choose the design for the taxonomy page where a single Series is displayed." -msgstr "Choisissez le design de la page de taxonomie où une seule série est affichée." +#: orgSeries-options.php:505 +msgid "" +"Choose the design for the taxonomy page where a single Series is displayed." +msgstr "" +"Choisissez le design de la page de taxonomie où une seule série est affichée." -#: orgSeries-options.php:436 +#: orgSeries-options.php:460 msgid "List" msgstr "Liste" -#: orgSeries-options.php:435 +#: orgSeries-options.php:459 msgid "Grid" msgstr "Grille" -#: orgSeries-options.php:434 +#: orgSeries-options.php:458 msgid "Default" msgstr "Par défaut" -#: orgSeries-options.php:525 +#: orgSeries-options.php:549 msgid "This text will be part of the URL for all Series Overview pages." -msgstr "Ce texte fera partie de l’URL de toutes les pages de vue d’ensemble des séries." +msgstr "" +"Ce texte fera partie de l’URL de toutes les pages de vue d’ensemble des " +"séries." -#: orgSeries-options.php:415 -msgid "This feature allows you to create a new taxonomy for this plugin to use if you don't want to use the default \"Series\" taxonomy." -msgstr "Cette fonctionnalité vous permet de créer une nouvelle taxonomie à utiliser par cette extension si vous ne souhaitez pas utiliser la taxonomie « Séries » par défaut." +#: orgSeries-options.php:439 +msgid "" +"This feature allows you to create a new taxonomy for this plugin to use if " +"you don't want to use the default \"Series\" taxonomy." +msgstr "" +"Cette fonctionnalité vous permet de créer une nouvelle taxonomie à utiliser " +"par cette extension si vous ne souhaitez pas utiliser la taxonomie " +"« Séries » par défaut." #: inc/templates/taxonomy-series.php:67 msgid "Sorry, no results found." msgstr "Désolé, aucun résultat trouvé." #: orgSeries-widgets.php:375 -msgid "You can return any series that match this search string (matched against series names) - case insensitive" -msgstr "Vous pouvez retourner toutes les séries qui correspondent à cette chaîne de recherche (par rapport aux noms des séries) - insensible à la casse" +msgid "" +"You can return any series that match this search string (matched against " +"series names) - case insensitive" +msgstr "" +"Vous pouvez retourner toutes les séries qui correspondent à cette chaîne de " +"recherche (par rapport aux noms des séries) - insensible à la casse" #: orgSeries-widgets.php:373 msgid "Search" msgstr "Rechercher" #: orgSeries-widgets.php:369 -msgid "You can select the offset for the number of series (useful for paging). No offset if left blank" -msgstr "Vous pouvez sélectionner le décalage pour le nombre de séries (utile pour la pagination). Aucun décalage si laissé vide" +msgid "" +"You can select the offset for the number of series (useful for paging). No " +"offset if left blank" +msgstr "" +"Vous pouvez sélectionner le décalage pour le nombre de séries (utile pour la " +"pagination). Aucun décalage si laissé vide" #: orgSeries-widgets.php:367 msgid "Offset" @@ -517,85 +581,106 @@ msgstr "Afficher la table des matières de la série" msgid "Auto/None" msgstr "Auto/aucune" -#: orgSeries-options.php:851 -msgid "Please use with caution. Running this process will delete all the terms from the current taxonomy and migrate them to a new taxonomy." -msgstr "Veuillez l’utiliser avec précaution. L’exécution de ce processus supprimera tous les termes de la taxonomie actuelle et les migrera vers une nouvelle taxonomie." +#: orgSeries-options.php:875 +msgid "" +"Please use with caution. Running this process will delete all the terms from " +"the current taxonomy and migrate them to a new taxonomy." +msgstr "" +"Veuillez l’utiliser avec précaution. L’exécution de ce processus supprimera " +"tous les termes de la taxonomie actuelle et les migrera vers une nouvelle " +"taxonomie." -#: orgSeries-options.php:849 +#: orgSeries-options.php:873 msgid "Migrate series to new taxonomy" msgstr "Migrer les séries vers une nouvelle taxonomie" -#: orgSeries-options.php:845 +#: orgSeries-options.php:869 msgid "Migrate" msgstr "Migrer" -#: orgSeries-options.php:772 -msgid "This display is used by the \"Series Table of Contents\". To find the URL for this display, go the \"Display\" tab and then \"Series Table of Contents URL\"." -msgstr "Cet affichage est utilisé par la « Table des matières de la série ». Pour trouver l’URL de cet affichage, allez dans l’onglet « Affichage » et ensuite « URL de la table des matières de la série »." +#: orgSeries-options.php:796 +msgid "" +"This display is used by the \"Series Table of Contents\". To find the URL " +"for this display, go the \"Display\" tab and then \"Series Table of Contents " +"URL\"." +msgstr "" +"Cet affichage est utilisé par la « Table des matières de la série ». Pour " +"trouver l’URL de cet affichage, allez dans l’onglet « Affichage » et ensuite " +"« URL de la table des matières de la série »." -#: orgSeries-options.php:731 +#: orgSeries-options.php:755 msgid "First Post" msgstr "Première publication" -#: orgSeries-options.php:706 +#: orgSeries-options.php:730 msgid "Series Post Navigation Location" msgstr "Emplacement de navigation de série de la publication" -#: orgSeries-options.php:668 +#: orgSeries-options.php:692 msgid "Series Metabox Location" msgstr "Emplacement de la boîte méta des séries" -#: orgSeries-options.php:627 +#: orgSeries-options.php:651 msgid "Series Post List box Location" msgstr "Emplacement de la boîte de liste des publications des séries" -#: orgSeries-options.php:606 +#: orgSeries-options.php:630 msgid "Bottom" msgstr "Bas" -#: orgSeries-options.php:605 +#: orgSeries-options.php:629 msgid "Top" msgstr "Haut" -#: orgSeries-options.php:604 +#: orgSeries-options.php:628 msgid "As in Template" msgstr "Comme dans modèle" -#: orgSeries-options.php:544 +#: orgSeries-options.php:568 msgid "Display on Series Table of Contents screens" msgstr "Affichage sur les écrans de table des matières des séries" -#: orgSeries-options.php:472 +#: orgSeries-options.php:496 msgid "Use box style" msgstr "Utiliser le style de boîte" -#: orgSeries-options.php:465 +#: orgSeries-options.php:489 msgid "Use PublishPress Series CSS styles?" msgstr "Utiliser les styles CSS de PublishPress Series ?" -#: orgSeries-options.php:453 +#: orgSeries-options.php:477 msgid "Maximum number of items in Series Post List" msgstr "Nombre maximum d’éléments dans la liste des publications de la série" -#: orgSeries-options.php:443 +#: orgSeries-options.php:467 msgid "Display on single posts in a series" msgstr "Afficher sur les publications uniques dans une série" -#: orgSeries-options.php:321 -msgid "Will be replaced by the navigation link for the first post in a series. The text will be whatever is included in the 'Custom First Post Navigation Text' field. If that field is empty then the text will be the title of the post" -msgstr "Sera remplacé par le lien de navigation de la première publication d’une série. Le texte sera celui qui figure dans le champ « Texte de navigation personnalisé de la première publication ». Si ce champ est vide, le texte sera le titre de la publication" +#: orgSeries-options.php:322 +msgid "" +"Will be replaced by the navigation link for the first post in a series. The " +"text will be whatever is included in the 'Custom First Post Navigation Text' " +"field. If that field is empty then the text will be the title of the post" +msgstr "" +"Sera remplacé par le lien de navigation de la première publication d’une " +"série. Le texte sera celui qui figure dans le champ « Texte de navigation " +"personnalisé de la première publication ». Si ce champ est vide, le texte " +"sera le titre de la publication" -#: orgSeries-options.php:286 +#: orgSeries-options.php:287 msgid "Allowed Html" msgstr "HTML autorisé" -#: orgSeries-options.php:834 +#: orgSeries-options.php:858 msgid "Series Taxonomy:" msgstr "Taxonomie des séries :" #: orgSeries-admin.php:409 orgSeries-admin.php:417 -msgid "%3$s - (Currently has no Part number)" -msgstr "%3$s - (n’a actuellement aucun numéro de partie)" +msgid "" +"%3$s - (Currently has no Part number)" +msgstr "" +"%3$s - (n’a actuellement aucun numéro de " +"partie)" #: orgSeries-admin.php:46 orgSeries-options.php:139 msgid "%1$s series migrated to new taxonomy" @@ -609,87 +694,97 @@ msgstr "Une erreur s’est produite" msgid "Current series" msgstr "Série actuelle" -#: orgSeries-options.php:726 +#: orgSeries-options.php:750 msgid "Previous Post" msgstr "Article précédent" -#: orgSeries-options.php:721 +#: orgSeries-options.php:745 msgid "Next Post" msgstr "Article suivant" -#: orgSeries-options.php:701 +#: orgSeries-options.php:725 msgid "Series Post Navigation:" msgstr "Navigation publications de la série :" -#: orgSeries-options.php:697 +#: orgSeries-options.php:721 msgid "This display is shown at the bottom of all posts in a series." msgstr "Cet affichage apparaît au bas de tous les publications d’une série." -#: orgSeries-options.php:695 +#: orgSeries-options.php:719 msgid "Series Navigation Box" msgstr "Boîte de navigation de la série" -#: orgSeries-options.php:656 +#: orgSeries-options.php:680 msgid "Series Meta Box" msgstr "Boîte méta de la série" -#: orgSeries-options.php:622 +#: orgSeries-options.php:646 msgid "Series Post List" msgstr "Liste des publications de la série" -#: orgSeries-options.php:619 orgSeries-options.php:658 +#: orgSeries-options.php:643 orgSeries-options.php:682 msgid "This display is shown at the top of all posts in a series." msgstr "Cet affichage apparaît en haut de tous les articles d’une série." -#: orgSeries-options.php:617 +#: orgSeries-options.php:641 msgid "Series Post List Box" msgstr "Boîte de la liste des publications de la série" -#: orgSeries-options.php:311 -msgid "Is the location token for where the contents of the post list post templates will appear and use provided widget post short title." -msgstr "C’est le jeton d’emplacement pour l’endroit où le contenu des modèles de publication de la liste des publications apparaîtra et utilisera le titre court du widget de publication fourni." +#: orgSeries-options.php:312 +msgid "" +"Is the location token for where the contents of the post list post templates " +"will appear and use provided widget post short title." +msgstr "" +"C’est le jeton d’emplacement pour l’endroit où le contenu des modèles de " +"publication de la liste des publications apparaîtra et utilisera le titre " +"court du widget de publication fourni." #: orgSeries-manage.php:61 msgid "ID" msgstr "ID" -#: orgSeries-options.php:926 +#: orgSeries-options.php:950 msgid "Reset settings" msgstr "Réinitialiser les réglages" -#: orgSeries-options.php:474 +#: orgSeries-options.php:498 msgid "Use light style" msgstr "Utiliser le style clair" -#: orgSeries-options.php:473 +#: orgSeries-options.php:497 msgid "Use dark style" msgstr "Utiliser le style sombre" -#: orgSeries-options.php:471 +#: orgSeries-options.php:495 msgid "Use default style" msgstr "Utiliser le style par défaut" -#: orgSeries-options.php:469 +#: orgSeries-options.php:493 msgid "Style options" msgstr "Options de style" -#: orgSeries-options.php:374 +#: orgSeries-options.php:398 msgid "Yes" msgstr "Oui" -#: orgSeries-options.php:373 +#: orgSeries-options.php:397 msgid "No" msgstr "Non" -#: orgSeries-options.php:372 -msgid "Clicking Yes will reset the options to the defaults and you will lose all customizations. Or you can click cancel and return." -msgstr "En cliquant sur Oui, les options seront réinitialisées aux valeurs par défaut et vous perdrez toutes les personnalisations. Vous pouvez aussi cliquer sur Annuler et revenir." +#: orgSeries-options.php:396 +msgid "" +"Clicking Yes will reset the options to the defaults and you will lose all " +"customizations. Or you can click cancel and return." +msgstr "" +"En cliquant sur Oui, les options seront réinitialisées aux valeurs par " +"défaut et vous perdrez toutes les personnalisations. Vous pouvez aussi " +"cliquer sur Annuler et revenir." -#: orgSeries-options.php:79 orgSeries-setup.php:288 +#: orgSeries-options.php:79 orgSeries-setup.php:290 msgid "No series found" msgstr "Aucune série trouvée" -#: orgSeries-options.php:480 +#: orgSeries-options.php:504 msgid "Display on Series Overview screens" msgstr "Afficher sur les écrans de vue d’ensemble de la série" @@ -697,7 +792,7 @@ msgstr "Afficher sur les écrans de vue d’ensemble de la série" msgid "https://publishpress.com/" msgstr "https://publishpress.com/" -#: orgSeries.php:101 +#: orgSeries.php:115 msgid "This plugin can be deleted." msgstr "Cette extension peut être supprimée." @@ -709,35 +804,43 @@ msgstr "Ce texte s’affichera au-dessus des autres publications de cette série msgid "Show other posts in the current series" msgstr "Afficher les autres articles de la série en cours" -#: orgSeries-admin.php:323 orgSeries-setup.php:228 +#: orgSeries-admin.php:323 orgSeries-setup.php:230 msgid "Add New" msgstr "Ajouter" -#: orgSeries-options.php:919 -msgid "Delete all PublishPress Series data from the database when deleting this plugin." -msgstr "Supprimer toutes les données de PublishPress Series de la base de données lors de la suppression de cette extension." +#: orgSeries-options.php:943 +msgid "" +"Delete all PublishPress Series data from the database when deleting this " +"plugin." +msgstr "" +"Supprimer toutes les données de PublishPress Series de la base de données " +"lors de la suppression de cette extension." -#: orgSeries-options.php:913 +#: orgSeries-options.php:937 msgid "Series Settings" msgstr "Réglages de la série" -#: orgSeries-options.php:537 +#: orgSeries-options.php:561 msgid "Series order method" msgstr "Méthode de trier la série" -#: orgSeries-options.php:532 +#: orgSeries-options.php:556 msgid "Series part" msgstr "Partie de la série" -#: orgSeries-options.php:530 +#: orgSeries-options.php:554 msgid "Order series by:" msgstr "Trier les séries par :" -#: orgSeries-options.php:401 -msgid "This section is for the icons that show with your series. Note that you must use a token for the icon in the \"Templates\" settings." -msgstr "Cette section concerne les icônes qui s’affichent avec votre série. Notez que vous devez utiliser un jeton pour l’icône dans les réglages « Modèles »." +#: orgSeries-options.php:425 +msgid "" +"This section is for the icons that show with your series. Note that you must " +"use a token for the icon in the \"Templates\" settings." +msgstr "" +"Cette section concerne les icônes qui s’affichent avec votre série. Notez " +"que vous devez utiliser un jeton pour l’icône dans les réglages « Modèles »." -#: orgSeries-options.php:295 +#: orgSeries-options.php:296 msgid "Overview" msgstr "Vue d’ensemble" @@ -758,8 +861,12 @@ msgid "PublishPress Series Options" msgstr "Options de PublishPress Series" #: orgSeries-admin.php:336 -msgid "If you leave this blank, this post will automatically be added to the end of the series." -msgstr "Si vous laissez ce champ vide, cet article sera automatiquement ajouté à la fin de la série." +msgid "" +"If you leave this blank, this post will automatically be added to the end of " +"the series." +msgstr "" +"Si vous laissez ce champ vide, cet article sera automatiquement ajouté à la " +"fin de la série." #: orgSeries-admin.php:140 msgid "Contact" @@ -798,8 +905,15 @@ msgid "PublishPress" msgstr "PublishPress" #. Description of the plugin -msgid "PublishPress Series allows you to group content together into a series. This is ideal for magazines, newspapers, short-story writers, teachers, comic artists, or anyone who writes multiple posts on the same topic." -msgstr "PublishPress Series vous permet de regrouper du contenu dans une série. C’est idéal pour les magazines, les journaux, les auteurs de nouvelles, les enseignants, les dessinateurs de bandes dessinées, ou toute personne qui écrit plusieurs publications sur le même sujet." +msgid "" +"PublishPress Series allows you to group content together into a series. This " +"is ideal for magazines, newspapers, short-story writers, teachers, comic " +"artists, or anyone who writes multiple posts on the same topic." +msgstr "" +"PublishPress Series vous permet de regrouper du contenu dans une série. " +"C’est idéal pour les magazines, les journaux, les auteurs de nouvelles, les " +"enseignants, les dessinateurs de bandes dessinées, ou toute personne qui " +"écrit plusieurs publications sur le même sujet." #. Plugin Name of the plugin msgid "PublishPress Series" @@ -819,15 +933,24 @@ msgstr "Erreur" #: src/libraries/edd/PluginUpdater.php:401 msgid "You do not have permission to install plugin updates" -msgstr "Vous n’avez pas les droits nécessaires pour installer les mises à jour de l’extension" +msgstr "" +"Vous n’avez pas les droits nécessaires pour installer les mises à jour de " +"l’extension" #: src/libraries/edd/PluginUpdater.php:211 -msgid "There is a new version of %1$s available. %2$sView version %3$s details%4$s or %5$supdate now%6$s." -msgstr "Une nouvelle version de %1$s est disponible. %2$sVoir les détails%4$s de la version %3$s ou %5$smettre à jour maintenant%6$s." +msgid "" +"There is a new version of %1$s available. %2$sView version %3$s details%4$s " +"or %5$supdate now%6$s." +msgstr "" +"Une nouvelle version de %1$s est disponible. %2$sVoir les détails%4$s de la " +"version %3$s ou %5$smettre à jour maintenant%6$s." #: src/libraries/edd/PluginUpdater.php:203 -msgid "There is a new version of %1$s available. %2$sView version %3$s details%4$s." -msgstr "Une nouvelle version de %1$s est disponible. %2$sVoir les détails%4$s de la version %3$s." +msgid "" +"There is a new version of %1$s available. %2$sView version %3$s details%4$s." +msgstr "" +"Une nouvelle version de %1$s est disponible. %2$sVoir les détails%4$s de la " +"version %3$s." #: src/domain/services/admin/LicenseKeyFormManager.php:242 msgid "License Key successfully deactivated." @@ -848,28 +971,52 @@ msgid "Deactivate License" msgstr "Désactiver la licence" #: src/domain/services/AssetRegistry.php:419 -msgid "The provided value for %1$s is not a valid url. The url provided was: %2$s" -msgstr "La valeur fournie pour %1$s n’est pas une URL valide. L’URL fournie était : %2$s" +msgid "" +"The provided value for %1$s is not a valid url. The url provided was: %2$s" +msgstr "" +"La valeur fournie pour %1$s n’est pas une URL valide. L’URL fournie était : " +"%2$s" #: src/domain/services/AssetRegistry.php:408 -msgid "The namespace for this manifest file has already been registered, choose a namespace other than %s" -msgstr "L’espace de nom pour ce fichier manifeste a déjà été enregistré, choisissez un espace de nom autre que %s" +msgid "" +"The namespace for this manifest file has already been registered, choose a " +"namespace other than %s" +msgstr "" +"L’espace de nom pour ce fichier manifeste a déjà été enregistré, choisissez " +"un espace de nom autre que %s" #: src/domain/services/AssetRegistry.php:283 -msgid "The value for %1$s already exists in the %2$s property. Overrides are not allowed. Consider attaching your value to a different key" -msgstr "La valeur de %1$s existe déjà dans la propriété %2$s. Les remplacements ne sont pas autorisés. Pensez à attacher votre valeur à une clé différente" +msgid "" +"The value for %1$s already exists in the %2$s property. Overrides are not " +"allowed. Consider attaching your value to a different key" +msgstr "" +"La valeur de %1$s existe déjà dans la propriété %2$s. Les remplacements ne " +"sont pas autorisés. Pensez à attacher votre valeur à une clé différente" #: src/domain/services/AssetRegistry.php:271 -msgid "The value for %1$s already exists in the %2$s property. Overrides are not allowed. Since the value of this data is an array, you may want to use the %3$s method to push your value to the array." -msgstr "La valeur de %1$s existe déjà dans la propriété %2$s. Les substitutions ne sont pas autorisées. Comme la valeur de cette donnée est un tableau, vous pouvez utiliser la méthode %3$s pour pousser votre valeur dans le tableau." +msgid "" +"The value for %1$s already exists in the %2$s property. Overrides are not " +"allowed. Since the value of this data is an array, you may want to use the " +"%3$s method to push your value to the array." +msgstr "" +"La valeur de %1$s existe déjà dans la propriété %2$s. Les substitutions ne " +"sont pas autorisées. Comme la valeur de cette donnée est un tableau, vous " +"pouvez utiliser la méthode %3$s pour pousser votre valeur dans le tableau." #: src/domain/services/AssetRegistry.php:228 -msgid "The value for %1$s is already set and it is not an array. The %2$s method can only be used to push values to this data element when it is an array." -msgstr "La valeur de %1$s est déjà définie et il ne s’agit pas d’un tableau. La méthode %2$s ne peut être utilisée pour pousser des valeurs dans cet élément de données que s’il s’agit d’un tableau." +msgid "" +"The value for %1$s is already set and it is not an array. The %2$s method " +"can only be used to push values to this data element when it is an array." +msgstr "" +"La valeur de %1$s est déjà définie et il ne s’agit pas d’un tableau. La " +"méthode %2$s ne peut être utilisée pour pousser des valeurs dans cet élément " +"de données que s’il s’agit d’un tableau." #: src/domain/model/RouteIdentifier.php:51 msgid "The incoming value for %1$s is expected to be a closure. It was not." -msgstr "La valeur entrante pour %1$s est censée être une fermeture. Ce n’est pas le cas." +msgstr "" +"La valeur entrante pour %1$s est censée être une fermeture. Ce n’est pas le " +"cas." #: src/domain/model/LicenseKeyRepository.php:131 msgid "An error occurred, please try again." @@ -881,8 +1028,12 @@ msgstr "Le chemin du fichier donné (%s) n’est pas lisible." #: src/domain/model/ControllerRoute.php:50 #: src/domain/model/HasHooksRoute.php:59 -msgid "The provided object fully qualified class name (%1$s) must implement the %2$s interface." -msgstr "Le nom de classe pleinement qualifié de l’objet fourni (%1$s) doit implémenter l’interface %2$s." +msgid "" +"The provided object fully qualified class name (%1$s) must implement the " +"%2$s interface." +msgstr "" +"Le nom de classe pleinement qualifié de l’objet fourni (%1$s) doit " +"implémenter l’interface %2$s." #: src/domain/exceptions/NonceFailException.php:18 msgid "Nonce fail." @@ -893,8 +1044,14 @@ msgid "%s does not exist or is not reachable." msgstr "%s n’existe pas ou n’est pas accessible." #: src/domain/exceptions/InvalidFilePathException.php:27 -msgid "The \"%1$s\" file is either missing or could not be read due to permissions. Please ensure that the following path is correct and verify that the file permissions are correct:%2$s %3$s" -msgstr "Le fichier « %1$s » est manquant ou n’a pas pu être lu en raison des droits. Veuillez vous assurer que le chemin d’accès suivant est correct et vérifier que les droits du fichier sont corrects : %2$s %3$s" +msgid "" +"The \"%1$s\" file is either missing or could not be read due to permissions. " +"Please ensure that the following path is correct and verify that the file " +"permissions are correct:%2$s %3$s" +msgstr "" +"Le fichier « %1$s » est manquant ou n’a pas pu être lu en raison des droits. " +"Veuillez vous assurer que le chemin d’accès suivant est correct et vérifier " +"que les droits du fichier sont corrects : %2$s %3$s" #: src/domain/exceptions/InvalidEntityException.php:29 msgid "%1$s is not a valid entity (expected: %2$s)." @@ -906,23 +1063,41 @@ msgstr "Impossible de récupérer une instance de %1$s. Non trouvée." #: src/application/Root.php:139 msgid "The %1$s method can only be used to register a child of %2$s." -msgstr "La méthode %1$s ne peut être utilisée que pour inscrire un enfant de %2$s." +msgstr "" +"La méthode %1$s ne peut être utilisée que pour inscrire un enfant de %2$s." #: src/application/Container.php:160 msgid "The %1$s already has a parameter indexed with the name: %2$s." msgstr "Le %1$s a déjà un paramètre indexé avec le nom : %2$s." #: inc/utility-functions.php:44 -msgid "To remove this notice you can either deactivate the plugin or upgrade the php version on your server." -msgstr "Pour supprimer cette notification, vous pouvez soit désactiver l’extension, soit mettre à niveau la version de PHP sur votre serveur." +msgid "" +"To remove this notice you can either deactivate the plugin or upgrade the " +"php version on your server." +msgstr "" +"Pour supprimer cette notification, vous pouvez soit désactiver l’extension, " +"soit mettre à niveau la version de PHP sur votre serveur." #: inc/utility-functions.php:33 -msgid "Most web hosts provide an easy path to update the php version on your website. We recommend updating to PHP 7 or greater. Before you update, you will want to make sure other plugins and your theme are compatible (see %1$sthis article for more info%2$s)." -msgstr "La plupart des hébergeurs proposent un moyen simple de mettre à jour la version de PHP sur votre site Web. Nous vous recommandons de passer à la version PHP 7 ou supérieure. Avant de procéder à la mise à jour, vous devez vous assurer que les autres extensions et votre thème sont compatibles (voir %1$scet article pour plus d’informations%2$s)." +msgid "" +"Most web hosts provide an easy path to update the php version on your " +"website. We recommend updating to PHP 7 or greater. Before you update, you " +"will want to make sure other plugins and your theme are compatible (see " +"%1$sthis article for more info%2$s)." +msgstr "" +"La plupart des hébergeurs proposent un moyen simple de mettre à jour la " +"version de PHP sur votre site Web. Nous vous recommandons de passer à la " +"version PHP 7 ou supérieure. Avant de procéder à la mise à jour, vous devez " +"vous assurer que les autres extensions et votre thème sont compatibles (voir " +"%1$scet article pour plus d’informations%2$s)." #: inc/utility-functions.php:24 -msgid "Publishpress Series %1$srequires PHP 5.6%2$s or greater. Your website does not meet the requirements so the plugin is not fully activated." -msgstr "Publishpress Series %1$snécessite PHP 5.6%2$s ou supérieur. Votre site ne répond pas aux prérequis et l’extension n’est pas entièrement activée." +msgid "" +"Publishpress Series %1$srequires PHP 5.6%2$s or greater. Your website does " +"not meet the requirements so the plugin is not fully activated." +msgstr "" +"Publishpress Series %1$snécessite PHP 5.6%2$s ou supérieur. Votre site ne " +"répond pas aux prérequis et l’extension n’est pas entièrement activée." #: orgSeries-widgets.php:415 msgid "Series widget title:" @@ -1006,7 +1181,7 @@ msgstr "Titre" msgid "Most Recent Series" msgstr "Séries les plus récentes" -#: orgSeries-options.php:739 orgSeries-widgets.php:13 +#: orgSeries-options.php:763 orgSeries-widgets.php:13 msgid "Latest Series" msgstr "Dernières séries" @@ -1022,220 +1197,281 @@ msgstr "Séries" msgid "All the Series I've Written" msgstr "Toutes les séries que j’ai écrites" -#: orgSeries-taxonomy.php:712 +#: orgSeries-taxonomy.php:717 msgid "Part:" msgstr "Partie :" -#: orgSeries-taxonomy.php:710 orgSeries-taxonomy.php:735 +#: orgSeries-taxonomy.php:715 orgSeries-taxonomy.php:740 msgid "Series:" msgstr "Séries :" -#: orgSeries-setup.php:719 +#: orgSeries-setup.php:735 msgid "Posts from the series: " msgstr "Articles de la série : " -#: orgSeries-setup.php:717 +#: orgSeries-setup.php:733 msgid "Series: " msgstr "Séries : " -#: orgSeries-options.php:763 orgSeries-options.php:769 orgSeries-setup.php:452 +#: orgSeries-options.php:787 orgSeries-options.php:793 orgSeries-setup.php:454 #: orgSeries-widgets.php:112 msgid "Series Table of Contents" msgstr "Table des matières de la série" -#: orgSeries-setup.php:335 +#: orgSeries-setup.php:337 msgid "Series Navigation" msgstr "Navigation dans la série" -#: orgSeries-setup.php:329 orgSeries-setup.php:330 +#: orgSeries-setup.php:331 orgSeries-setup.php:332 msgctxt "leave the %tokens% as is when translating" -msgid "This entry is part %series_part% of %total_posts_in_series% in the series " -msgstr "Cette publication est la partie %series_part% de %total_posts_in_series% dans la série " +msgid "" +"This entry is part %series_part% of %total_posts_in_series% in the series " +msgstr "" +"Cette publication est la partie %series_part% de %total_posts_in_series% " +"dans la série " -#: orgSeries-options.php:78 orgSeries-setup.php:287 +#: orgSeries-options.php:78 orgSeries-setup.php:289 msgid "Manage Series" msgstr "Gérer les séries" -#: orgSeries-options.php:77 orgSeries-setup.php:286 +#: orgSeries-options.php:77 orgSeries-setup.php:288 msgid "New Series Name" msgstr "Nouveau nom de série" -#: orgSeries-options.php:76 orgSeries-setup.php:285 +#: orgSeries-options.php:76 orgSeries-setup.php:287 msgid "Add New Series" msgstr "Ajouter une nouvelle série" -#: orgSeries-options.php:75 orgSeries-setup.php:284 +#: orgSeries-options.php:75 orgSeries-setup.php:286 msgid "Update Series" msgstr "Mettre à jour les séries" -#: orgSeries-options.php:74 orgSeries-setup.php:283 +#: orgSeries-options.php:74 orgSeries-setup.php:285 msgid "Edit Series" msgstr "Modifier les séries" -#: orgSeries-options.php:73 orgSeries-setup.php:282 orgSeries-setup.php:323 +#: orgSeries-options.php:73 orgSeries-setup.php:284 orgSeries-setup.php:325 msgid "All Series" msgstr "Toutes les Séries" -#: orgSeries-options.php:72 orgSeries-setup.php:281 +#: orgSeries-options.php:72 orgSeries-setup.php:283 msgid "Popular Series" msgstr "Série populaire" -#: orgSeries-options.php:71 orgSeries-setup.php:280 +#: orgSeries-options.php:71 orgSeries-setup.php:282 msgid "Search Series" msgstr "Chercher une Série" -#: orgSeries-options.php:70 orgSeries-setup.php:279 +#: orgSeries-options.php:70 orgSeries-setup.php:281 msgctxt "taxonomy singular name" msgid "Series" msgstr "Série" -#: orgSeries-options.php:69 orgSeries-setup.php:278 +#: orgSeries-options.php:69 orgSeries-setup.php:280 msgctxt "taxonomy general name" msgid "Series" msgstr "Séries" -#: orgSeries-setup.php:229 +#: orgSeries-setup.php:231 msgid "Select \"Not part of a series\" to remove any series data from post" -msgstr "Sélectionnez « Ne fait pas partie d’une série » pour supprimer toutes les données de série de la publication" +msgstr "" +"Sélectionnez « Ne fait pas partie d’une série » pour supprimer toutes les " +"données de série de la publication" -#: orgSeries-setup.php:102 -msgid "Your WordPress version is too old. Publishpress Series 2.2 requires at least WordPress 3.0 to function correctly. Please update your blog via Tools > Upgrade." -msgstr "Votre version de WordPress est trop ancienne. Publishpress Series 2.2 nécessite au moins WordPress 3.0 pour fonctionner correctement. Veuillez mettre à jour votre blog via Outils > Mise à jour." +#: orgSeries-setup.php:104 +msgid "" +"Your WordPress version is too old. Publishpress Series 2.2 requires at least " +"WordPress 3.0 to function correctly. Please update your blog via Tools > " +"Upgrade." +msgstr "" +"Votre version de WordPress est trop ancienne. Publishpress Series 2.2 " +"nécessite au moins WordPress 3.0 pour fonctionner correctement. Veuillez " +"mettre à jour votre blog via Outils > Mise à jour." -#: orgSeries-options.php:811 +#: orgSeries-options.php:835 msgid "Width for icon if displayed via the latest series template (in pixels)." -msgstr "Largeur de l’icône si elle est affichée via le modèle de la dernière série (en pixels)." +msgstr "" +"Largeur de l’icône si elle est affichée via le modèle de la dernière série " +"(en pixels)." -#: orgSeries-options.php:805 +#: orgSeries-options.php:829 msgid "Width for icon on a post page (in pixels)." msgstr "Largeur de l’icône sur la page d’un article (en pixels)." -#: orgSeries-options.php:799 +#: orgSeries-options.php:823 msgid "Width for icon on series table of contents page (in pixels)" -msgstr "Largeur de l’icône sur la page de la table des matières de la série (en pixels)" +msgstr "" +"Largeur de l’icône sur la page de la table des matières de la série (en " +"pixels)" -#: orgSeries-options.php:755 +#: orgSeries-options.php:779 msgid "Latest Series (tags after):" msgstr "Dernièrer sérier (étiquettes après) :" -#: orgSeries-options.php:750 +#: orgSeries-options.php:774 msgid "Latest Series (inner tags):" msgstr "Dernières séries (étiquettes intérieures) :" -#: orgSeries-options.php:745 +#: orgSeries-options.php:769 msgid "Latest Series (tags before):" msgstr "Dernières séries (étiquettes avant) :" -#: orgSeries-options.php:683 +#: orgSeries-options.php:707 msgid "Series Meta (with excerpts):" msgstr "Méta de la série (avec extraits) :" -#: orgSeries-options.php:662 +#: orgSeries-options.php:686 msgid "Series Meta:" msgstr "Méta de la série :" -#: orgSeries-options.php:540 orgSeries-widgets.php:318 +#: orgSeries-options.php:564 orgSeries-widgets.php:318 msgid "Descending" msgstr "Ordre décroissant" -#: orgSeries-options.php:539 orgSeries-widgets.php:319 +#: orgSeries-options.php:563 orgSeries-widgets.php:319 msgid "Ascending" msgstr "Ordre croissant" -#: orgSeries-options.php:533 +#: orgSeries-options.php:557 msgid "Order by date" msgstr "Trier par date" -#: orgSeries-options.php:585 +#: orgSeries-options.php:609 msgid "Series Table of Contents Title:" msgstr "Titre de la table des matières de la série :" -#: orgSeries-options.php:522 +#: orgSeries-options.php:546 msgid "Series Custom Base:" msgstr "Base personnalisée de la série :" -#: orgSeries-options.php:581 +#: orgSeries-options.php:605 msgid "Series Per Page:" msgstr "Séries par page :" -#: orgSeries-options.php:547 +#: orgSeries-options.php:571 msgid "Series Table of Contents URL:" msgstr "URL de la table des matières de la série :" -#: orgSeries-options.php:449 +#: orgSeries-options.php:473 msgid "Display Series Post List?" msgstr "Afficher la liste des publications de la série ?" -#: orgSeries-options.php:929 +#: orgSeries-options.php:953 msgid "Reset options to default" msgstr "Réinitialiser les options par défaut" -#: orgSeries-options.php:368 +#: orgSeries-options.php:392 msgid "Update Options" msgstr "Modifier les options" -#: orgSeries-options.php:329 +#: orgSeries-options.php:330 msgid "Will display the description for the series" msgstr "Afficher la description de la série" -#: orgSeries-options.php:327 +#: orgSeries-options.php:328 msgid "Will display the total number of posts in a series" msgstr "Afficher le nombre total de publications dans une série" -#: orgSeries-options.php:325 +#: orgSeries-options.php:326 msgid "Will display what part of a series the post is" msgstr "Afficher la partie d’une série dans laquelle se trouve la publication" -#: orgSeries-options.php:323 -msgid "Use this tag either before or after the rest of the template code. It will indicate where you want the content of a post to display." -msgstr "Utilisez cette balise avant ou après le reste du code du modèle. Elle indique où vous souhaitez que le contenu d’une publication soit affiché." +#: orgSeries-options.php:324 +msgid "" +"Use this tag either before or after the rest of the template code. It will " +"indicate where you want the content of a post to display." +msgstr "" +"Utilisez cette balise avant ou après le reste du code du modèle. Elle " +"indique où vous souhaitez que le contenu d’une publication soit affiché." -#: orgSeries-options.php:319 -msgid "Will be replaced by the navigation link for the next post in a series. The text will be whatever is included in the 'Custom Next Post Navigation Text' field. If that field is empty then the text will be the title of the post" -msgstr "Sera remplacé par le lien de navigation pour la publication suivante de la série. Le texte sera celui qui figure dans le champ « Texte de navigation personnalisé pour la publication suivante ». Si ce champ est vide, le texte sera le titre de la publication" +#: orgSeries-options.php:320 +msgid "" +"Will be replaced by the navigation link for the next post in a series. The " +"text will be whatever is included in the 'Custom Next Post Navigation Text' " +"field. If that field is empty then the text will be the title of the post" +msgstr "" +"Sera remplacé par le lien de navigation pour la publication suivante de la " +"série. Le texte sera celui qui figure dans le champ « Texte de navigation " +"personnalisé pour la publication suivante ». Si ce champ est vide, le texte " +"sera le titre de la publication" -#: orgSeries-options.php:317 -msgid "Will be replaced by the navigation link for the previous post in a series. The text will be whatever is included in the 'Custom Previous Post Navigation Text' field. If that field is empty then the text will be the title of the post" -msgstr "Sera remplacé par le lien de navigation de l’article précédent dans une série. Le texte sera celui qui figure dans le champ « Texte de navigation personnalisé de l’article précédent ». Si ce champ est vide, le texte sera le titre de l’article" +#: orgSeries-options.php:318 +msgid "" +"Will be replaced by the navigation link for the previous post in a series. " +"The text will be whatever is included in the 'Custom Previous Post " +"Navigation Text' field. If that field is empty then the text will be the " +"title of the post" +msgstr "" +"Sera remplacé par le lien de navigation de l’article précédent dans une " +"série. Le texte sera celui qui figure dans le champ « Texte de navigation " +"personnalisé de l’article précédent ». Si ce champ est vide, le texte sera " +"le titre de l’article" -#: orgSeries-options.php:315 -msgid "Will be replaced with the post title of a post in the series linked to the page view of that post." -msgstr "Il sera remplacé par le titre d’un article de la série lié à la visualisation de la page de cet article." +#: orgSeries-options.php:316 +msgid "" +"Will be replaced with the post title of a post in the series linked to the " +"page view of that post." +msgstr "" +"Il sera remplacé par le titre d’un article de la série lié à la " +"visualisation de la page de cet article." -#: orgSeries-options.php:313 +#: orgSeries-options.php:314 msgid "Will be replaced with the post title of a post in the series" msgstr "Il sera remplacé par le titre d’un article de la série" -#: orgSeries-options.php:309 -msgid "Is the location token for where the contents of the post list post templates will appear." -msgstr "C’est le jeton d’emplacement pour l’endroit où le contenu des modèles d’affichage de la liste des publications apparaîtra." +#: orgSeries-options.php:310 +msgid "" +"Is the location token for where the contents of the post list post templates " +"will appear." +msgstr "" +"C’est le jeton d’emplacement pour l’endroit où le contenu des modèles " +"d’affichage de la liste des publications apparaîtra." -#: orgSeries-options.php:307 -msgid "Same as %series_title% except that it will also be linked to the series page" -msgstr "Identique à %series_title%, sauf qu’il sera également lié à la page de la série" +#: orgSeries-options.php:308 +msgid "" +"Same as %series_title% except that it will also be linked to the series page" +msgstr "" +"Identique à %series_title%, sauf qu’il sera également lié à la page de la " +"série" -#: orgSeries-options.php:305 +#: orgSeries-options.php:306 msgid "This will be replaced with the title of a series" msgstr "Ce-ci sera remplacé par le titre d’une série" -#: orgSeries-options.php:303 -msgid "This token is for use with the orgSeries widget only - it references where you want the list of series titles to be inserted and requires that the template for each series title be also set." -msgstr "Ce jeton ne doit être utilisé qu’avec le widget orgSeries. Il indique l’endroit où vous souhaitez que la liste des titres de séries soit insérée et exige que le modèle de chaque titre de série soit également défini." +#: orgSeries-options.php:304 +msgid "" +"This token is for use with the orgSeries widget only - it references where " +"you want the list of series titles to be inserted and requires that the " +"template for each series title be also set." +msgstr "" +"Ce jeton ne doit être utilisé qu’avec le widget orgSeries. Il indique " +"l’endroit où vous souhaitez que la liste des titres de séries soit insérée " +"et exige que le modèle de chaque titre de série soit également défini." -#: orgSeries-options.php:301 -msgid "Same as %series_icon% except that the series icon will be linked to the series page" -msgstr "Identique à %series_icon%, sauf que l’icône de la série sera liée à la page de la série" +#: orgSeries-options.php:302 +msgid "" +"Same as %series_icon% except that the series icon will be linked to the " +"series page" +msgstr "" +"Identique à %series_icon%, sauf que l’icône de la série sera liée à la page " +"de la série" -#: orgSeries-options.php:299 +#: orgSeries-options.php:300 msgid "This will be replaced with the series icon for a series." msgstr "Elle sera remplacée par l’icône de la série pour une série." -#: orgSeries-options.php:297 -msgid "The following is a legend of the tokens that are available for use in the custom template fields. These will be replaced with the appropriate values when the plugin runs." -msgstr "Ce qui suit est une légende des jetons qui sont disponibles pour être utilisés dans les champs de modèles personnalisés. Ils seront remplacés par les valeurs appropriées lors de l’exécution de l’extension." +#: orgSeries-options.php:298 +msgid "" +"The following is a legend of the tokens that are available for use in the " +"custom template fields. These will be replaced with the appropriate values " +"when the plugin runs." +msgstr "" +"Ce qui suit est une légende des jetons qui sont disponibles pour être " +"utilisés dans les champs de modèles personnalisés. Ils seront remplacés par " +"les valeurs appropriées lors de l’exécution de l’extension." #: orgSeries-options.php:24 orgSeries-options.php:45 orgSeries-options.php:46 -#: orgSeries-setup.php:731 +#: orgSeries-setup.php:747 msgid "Settings" msgstr "Paramètres de configuration" @@ -1244,8 +1480,12 @@ msgid "Series Icon Upload:" msgstr "Téléchargement de l’icône de la série :" #: orgSeries-manage.php:131 -msgid "Delete image? (note: there will not be an image associated with this series if you select this)" -msgstr "Supprimer l’image ? (note : il n’y aura pas d’image associée à cette série si vous sélectionnez ceci)" +msgid "" +"Delete image? (note: there will not be an image associated with this series " +"if you select this)" +msgstr "" +"Supprimer l’image ? (note : il n’y aura pas d’image associée à cette série " +"si vous sélectionnez ceci)" #: orgSeries-manage.php:121 msgid "No icon currently" @@ -1281,14 +1521,20 @@ msgstr "Aucune série" #: orgSeries-admin.php:419 msgid "%3$s - (currently set as Part %4$s)" -msgstr "%3$s - (actuellement définie comme Partie %4$s)" +msgstr "" +"%3$s - (actuellement définie comme " +"Partie %4$s)" #: orgSeries-admin.php:412 -msgid "Part %1$s of %2$s%6$s in the series
%5$s" -msgstr "Partie %1$s de %2$s%6$s de la série
%5$s" +msgid "" +"Part %1$s of %2$s%6$s in the series
" +"%5$s" +msgstr "" +"Partie %1$s de %2$s%6$s de la série
" +"%5$s" #: orgSeries-admin.php:358 orgSeries-admin.php:370 orgSeries-admin.php:453 -#: orgSeries-options.php:36 orgSeries-taxonomy.php:446 +#: orgSeries-options.php:36 orgSeries-taxonomy.php:451 #: orgSeries-widgets.php:232 orgSeries-widgets.php:385 msgid "Series" msgid_plural "Series" @@ -1296,8 +1542,12 @@ msgstr[0] "Série" msgstr[1] "Séries" #: orgSeries-admin.php:343 -msgid "A short title of this post that will be used in the Series widget. Leave blank to use the full title." -msgstr "Un titre court de cette publication qui sera utilisé dans le widget Série. Laissez vide pour utiliser le titre complet." +msgid "" +"A short title of this post that will be used in the Series widget. Leave " +"blank to use the full title." +msgstr "" +"Un titre court de cette publication qui sera utilisé dans le widget Série. " +"Laissez vide pour utiliser le titre complet." #: orgSeries-admin.php:341 msgid "Post title in widget:" @@ -1312,12 +1562,19 @@ msgid "Not part of a series" msgstr "Ne fait pas partie d’une série" #: orgSeries-admin.php:186 -msgid "Hmm... it looks like there is already a series with that name. Try something else" -msgstr "Hmm... il semble qu’il existe déjà une série portant ce nom. Essayez un autre nom" +msgid "" +"Hmm... it looks like there is already a series with that name. Try something " +"else" +msgstr "" +"Hmm... il semble qu’il existe déjà une série portant ce nom. Essayez un " +"autre nom" #: orgSeries-admin.php:180 -msgid "The name you picked isn't sanitizing correctly. Try something different." -msgstr "Le nom que vous avez choisi n’est pas normalisé correctement. Essayez quelque chose de différent." +msgid "" +"The name you picked isn't sanitizing correctly. Try something different." +msgstr "" +"Le nom que vous avez choisi n’est pas normalisé correctement. Essayez " +"quelque chose de différent." #: orgSeries-admin.php:169 msgid "Sorry but you don't have permission to add series" @@ -1328,9 +1585,62 @@ msgid "Dismiss" msgstr "Ignorer" #: inc/orgSeries_updates.php:276 -msgid "

There is an automatic update for %s available but your api-key is invalid. Either you have entered the wrong key on the Publishpress Series Options page OR you no longer have access to the updates for this plugin. Automatic upgrades for single website install's are gained via the Basic Support package. Automatic upgrades for multiple website install's are available via the All Addons package or the Lifetime Membership package.

" -msgstr "

Il y a une mise à jour automatique pour %s disponible mais votre clé api est invalide. Soit vous avez saisi/saisie une mauvaise clé sur la page Options de Publishpress Series ou vous n’avez aucun accès aux mises à niveau de cette extension. Les mises à niveau automatiques pour l’installation d’un seul site sont obtenues via le forfait Support de base. Les mises à niveau automatiques pour l’installation de plusieurs sites sont disponibles via le forfait Tous les modules complémentaires ou le forfait d’adhésion à vie.

" +msgid "" +"

There is an automatic update for %s available but your api-key is " +"invalid. Either you have entered the wrong key on the Publishpress Series Options page OR you no " +"longer have access to the updates for this plugin. Automatic upgrades for " +"single website install's are gained via the Basic Support package. Automatic upgrades for multiple " +"website install's are available via the All Addons package or the Lifetime Membership package.

" +msgstr "" +"

Il y a une mise à jour automatique pour %s disponible mais votre clé api " +"est invalide. Soit vous avez saisi/saisie une mauvaise clé sur la page Options de Publishpress " +"Series ou vous n’avez aucun accès aux mises à niveau de cette " +"extension. Les mises à niveau automatiques pour l’installation d’un seul " +"site sont obtenues via le forfait Support de base. Les mises à niveau automatiques pour l’installation " +"de plusieurs sites sont disponibles via le forfait Tous les modules complémentaires ou le forfait " +"d’adhésion à vie.

" #: inc/orgSeries_updates.php:272 -msgid "

There is an automatic update for %s available but your api-key has not been set. Please go to the Publishpress Series Options page to set your api_key for this addon.

" -msgstr "

Il y a une mise à jour automatique pour %s disponible mais votre clé de l’API n’a pas été définie. Veuillez aller à la pageOptions de Publishpress Series pour définir votre clé de l’API pour ce module.

" +msgid "" +"

There is an automatic update for %s available but your api-key has not " +"been set. Please go to the Publishpress Series Options page to set your api_key for this addon." +msgstr "" +"

Il y a une mise à jour automatique pour %s disponible mais votre clé de " +"l’API n’a pas été définie. Veuillez aller à la pageOptions de Publishpress Series pour " +"définir votre clé de l’API pour ce module.

" + +#~ msgid "Last Modified" +#~ msgstr "Dernière modification" + +#~ msgid "Scheduled" +#~ msgstr "Planifié" + +#~ msgid "Missed schedule" +#~ msgstr "Planification manquée" + +#~ msgid "Published" +#~ msgstr "Publié" + +#~ msgid "g:i a" +#~ msgstr "g:i a" + +#~ msgid "Y/m/d" +#~ msgstr "d/m/Y" + +#~ msgid "%1$s at %2$s" +#~ msgstr "%1$s à %2$s" + +#~ msgid "Unpublished" +#~ msgstr "Non publié" + +#~ msgid "Date" +#~ msgstr "Date" diff --git a/languages/organize-series-it_IT.mo b/languages/organize-series-it_IT.mo old mode 100644 new mode 100755 index 74d909256b36d1ffe7020f5303e1f97304dc3874..0ae1904f0c1da3b2f7eddabbd7f6ab566448d62d GIT binary patch literal 37945 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 delta 4537 zcmYM$3tUx29>DRrkfJDv;FGIxOkT#YFn+FoAv3sZtvX6vfavFyFJXb)E@S3s+a|WK? z6Y;-;j^L;9mu*q}Im*8g{QJ4L)RcN7=6Cy1e3N<08Kz)ttWs%Mh!r>=%W)T8 zj;GL#Q3I6fg>7N|I9#cqT1g>}2O4F9hmd#FUoaY_n8cOvjm6gHPdhybjA;-fecPofOyh*xS5#-R+9iu_es{3rb zX55Mr@Hr$l6`7z^A|@a!RXLc6({VHgFoyZnRtl2hM{pQEi4wp+Q3m`NFT>MFZ0Zco z#tRsM)kG=JXX8Aai^cdj$~a%*8vF$taOGeo#`iENsr`(C_$$g87(T>a;W*?SH4!D^ zI!whblnL)g3FtwT0r#V<@FkQCeUC}_3z8Hyc&JhrF#{#A^kL**QZ8X9;M%IlmPZ%86F7N&xN1&W=(l*kvMtjI!H`8t%9-WPuUI7;T83;QO@R(y)grT&A-IFSEjoP3n= zD^a$t0a;K`xhe2h-Nb+L;se+-FiNCvqP*}K$^_q`9Ign%-m2)Z2`CF0fpk$v#XGL$O8r|<#=c?=jHG@W%9+}La#o&4ITLT7WaeWeR&^eO@*pYG?wEzL*W*!AHVeD42_@o_ zC=(}T+0SdR=hWjg+Pjc3)r&YD&*0~nmaWtY?3<(1SJI9X@V#8tEh&s+RK`|*l*o4? zebl=sD{`=L9_)n+(Zb#MHcAFMc!@7kt-t_oM!BG(3hnQ`KT3TF${BIuNGvHN@7o+) znKbmL;Vj=^U%ZI9*k>%4lXOJ3Pgz)vTd)F8A;(0Gp;IeXVHEC18Rt2aRKJP?@eIb| z1(d_wFIa3h7$_0tVo&Okt3fp(=SZ!f2BP2|i1KyGH#3d*c@Ou(!q(6x-mEu3$O}jUN$7W}1+(RR>By zPat2gI)L$b4CisCenbhZvdnfqCQx6BvY;UL{QO@-K_c3O!*MST#zQEXIT~(1gK{=5 zn_~Z19fSt;LX@qmM_F+r$`&m~=^sEje7B+#@4;w%5`&WB=PAel(dG8U1MyDk=_mpG z4Gnx1hv1heE4hd=Vf@v0JsIUIDMXp50WZf+oQzwMq^OVZa~xhl{;C zfowy`#35XQ$FT`#OtVwI2W5r(upXa5S?Pf3_VZ*ksHfs+oQe|A5|k~x4dwmq(}VWj z|A_`k(IHI24^Z~l&9y%vMpDZEbMTjcIg2WHuK`S-|QHLlwJDR(P2Q2!E{OO@3q^%&lchp?2<9!0r@ z=%V(9J&zAkubiXQ-S{nT!dvQk0tl*jHjwR8EhhHu z%Bb@A1DKkhqE95&>gCQf?HG}vPddBx%gKM$JB{ubE4SM6xz!Xa5U|?xTceyh`|=<4 zw9(yqbxMlR*unanv3KaZ$5n@l zi=7U=z2t>{E4|Fo9`IN`e`w{EC5}+v@jO{K;jxhSsv9G8-4v(Jo3b*LS3V|E@0;4H zozse(?JZ`&ZPeIrscY=2y|~aT(^fm8O|SRT(l%5kh7x8p_R=$JUksJZE^`#uXP0-l zO_?$KYQ`xwqHAli=eU=9{J%F9jS zd5_@_m;uvh^R#xLj#)fhH`Uu){a*c@I;r7(J#zkzfw|RgzrWLGs!E@+$n^Uyo!dB6 zuWpRiM;d?C7p~i*moCWArx#@Esm`zZ?pW;kDcJT35b4<~kE{x+g~HQ0t`7`PQwD zxN3`2(c<=od%5)&p80y|k`Hyw(jD6L?$igDC+o_##Q2VY$7OjfqrJoJa<{mB0k@oz z&?KM3p|y2H$6Y%}uWw%yRc`t_O|Lt&d)e&{UFaXBTl`Px@qyM*N#_EGzOejATuu8b zw#LJvNScSPKXz3+B2)c2p+ByycIejC`$F?>cqKxAa?8W|mP8Gcq9bRs#T^D=nQbSIFvn4)$C3=z`t*oOOB3t YDMfC*Yva&R%f{y3`kBqg^%3$s - (Currently has no Part number)" -msgstr "" -"%3$s - (Attualmente non ha un numero di " -"parte)" +#: orgSeries-options.php:345 +msgid "Recommendations for you" +msgstr "Raccomandazioni per te" -#: orgSeries-admin.php:419 -msgid "%3$s - (currently set as Part %4$s)" -msgstr "" -"%3$s - (attualmente fa parte di %4$s)" +#: addons/publisher/series-part-post-table.php:67 +#: addons/publisher/series-publish-post-table.php:67 +msgid "Status" +msgstr "Stati" -#: orgSeries-template-tags.php:204 orgSeries-template-tags.php:214 -msgid "Series" -msgstr "Serie" +#: orgSeries-options.php:584 +msgid "You must %1s update your permalink structure %2s to something other than \"Plain\" for the Series Table of Contents URL to work." +msgstr "Devi %1s aggiornare la tua struttura dei permalink %2s a qualcosa di diverso da \"Semplice\" per far funzionare l'URL dell'indice della serie." -#: orgSeries-admin.php:343 -msgid "" -"A short title of this post that will be used in the Series widget. Leave " -"blank to use the full title." -msgstr "" -"Un titolo breve di questo articolo da usare el widget Serie. Lascia vuoto " -"per usare il titolo completo." +#: includes-core/PPSeriesCoreAdmin.php:114 +msgid "View Knowledge Base" +msgstr "Vedi la documentazione" -#: orgSeries-admin.php:138 -msgid "About" -msgstr "Chi siamo" +#: includes-core/PPSeriesCoreAdmin.php:112 +msgid "Detailed documentation is also available on the plugin website." +msgstr "Una documentazione dettagliata è disponibile anche sul sito del plugin." -#: orgSeries-admin.php:138 -msgid "About PublishPress Series" -msgstr "Informazioni su PublishPress Series" +#: includes-core/PPSeriesCoreAdmin.php:103 +msgid "Request Support" +msgstr "Richiedi assistenza" -#: src/views/admin/templates/license_key_form.template.php:33 -#: src/domain/services/admin/LicenseKeyFormManager.php:123 -msgid "Activate License" -msgstr "Attiva la licenza" +#: includes-core/PPSeriesCoreAdmin.php:101 +msgid "If you need help or have a new feature request, let us know." +msgstr "Se ti serve aiuto o vuoi fare una richiesta di nuove funzionalità, faccelo sapere." -#: orgSeries-admin.php:323 orgSeries-setup.php:228 -msgid "Add New" -msgstr "Aggiungi nuova" +#: includes-core/PPSeriesCoreAdmin.php:96 +msgid "Need PublishPress Series Support?" +msgstr "Hai bisogno del supporto di PublishPress Series?" -#: orgSeries-options.php:76 orgSeries-setup.php:285 -msgid "Add New Series" -msgstr "Aggiungi nuova serie" +#: includes-core/PPSeriesCoreAdmin.php:86 +msgid "No ads inside the plugin" +msgstr "Nessuna pubblicità all'interno del plugin" -#: orgSeries-options.php:241 -msgid "Advanced" -msgstr "" +#: includes-core/PPSeriesCoreAdmin.php:85 +msgid "Fast, professional support" +msgstr "Supporto rapido e professionale" -#: orgSeries-options.php:73 orgSeries-setup.php:282 orgSeries-setup.php:322 -msgid "All Series" -msgstr "Tutte le serie" +#: includes-core/PPSeriesCoreAdmin.php:84 +msgid "Remove PublishPress ads and branding" +msgstr "Rimuovi la pubblicità e il logo di PublishPress" -#: orgSeries-template-tags.php:200 -msgid "All the Series I've Written" -msgstr "Tutte le serie che ho scritto" +#: includes-core/PPSeriesCoreAdmin.php:83 +msgid "Extra tokens for templates" +msgstr "Token extra per i template" -#: orgSeries-options.php:283 -msgid "Allowed Html" -msgstr "Html consentito" +#: includes-core/PPSeriesCoreAdmin.php:82 +msgid "Put series together in groups" +msgstr "Puoi raggruppare le serie" -#: orgSeries-admin.php:43 -msgid "An error occured" -msgstr "Si è verificato un errore" +#: includes-core/PPSeriesCoreAdmin.php:81 +msgid "Add a post to multiple series" +msgstr "Aggiungi un articolo a più serie" -#: src/domain/model/LicenseKeyRepository.php:131 -msgid "An error occurred, please try again." -msgstr "Si è verificato un errore, riprova." +#: includes-core/PPSeriesCoreAdmin.php:80 +msgid "Shortcodes" +msgstr "Shortcode" -#: orgSeries-options.php:572 -msgid "As in Template" -msgstr "Come da template" +#: includes-core/PPSeriesCoreAdmin.php:79 +msgid "Custom post type support" +msgstr "Compatibilità con i tipi di contenuto personalizzati" -#: orgSeries-widgets.php:100 -msgid "ASC: " -msgstr "Cresc: " +#: includes-core/PPSeriesCoreAdmin.php:76 +msgid "Enhance the power of PublishPress Series with the Pro version:" +msgstr "Aumenta le capacità di PublishPress Series con la versione Pro:" -#: orgSeries-widgets.php:319 orgSeries-options.php:527 -msgid "Ascending" -msgstr "Crescente" +#: includes-core/PPSeriesCoreAdmin.php:71 +msgid "Upgrade to PublishPress Series Pro" +msgstr "Passa a PublishPress Series Pro" -#: orgSeries-utility.php:405 -msgid "Auto/None" -msgstr "Auto/Nessuna" +#: addons/publisher/series_issue_manager.php:777 +msgid "Update Order" +msgstr "Ordine di aggiornamento" -#: orgSeries-options.php:866 -msgid "Automatic Numbering" -msgstr "" +#: addons/publisher/series_issue_manager.php:761 +msgid "Series Order" +msgstr "Ordine della serie" + +#: addons/publisher/series_issue_manager.php:728 +msgid "Series Order:" +msgstr "Ordine della serie:" + +#: addons/publisher/series_issue_manager.php:693 +msgid "%1$s%2$s, %3$s @ %4$s : %5$s" +msgstr "%1$s%2$s, %3$s @ %4$s : %5$s" + +#: addons/publisher/series_issue_manager.php:670 +msgid "Publication Date/Time:" +msgstr "Data/ora della pubblicazione:" + +#: addons/publisher/series_issue_manager.php:648 +#: addons/publisher/series_issue_manager.php:753 +msgid "Description here." +msgstr "Inserisci qui la descrizione." + +#: addons/publisher/series_issue_manager.php:731 +msgid "Drag the post names into the order you want them to be in the series, from the first part to the last part." +msgstr "Trascina il nome degli articoli come che vuoi appaiano nella serie, nell'ordine dal primo all'ultimo." + +#: addons/publisher/series_issue_manager.php:625 +msgid "Publishing Series:" +msgstr "Serie editoriale:" + +#: addons/publisher/series_issue_manager.php:509 +msgid "Manage Series Issues" +msgstr "Gestisci le uscite della serie" + +#: addons/publisher/series_issue_manager.php:370 +msgid "Congratulations. Your series was published successfully." +msgstr "Complimenti. La tua serie è stata pubblicata con successo." + +#: addons/publisher/series_issue_manager.php:365 +msgid "Congratulations. Your series was scheduled successfully." +msgstr "Complimenti. La tua serie è stata programmaata con successo." + +#: addons/publisher/series_issue_manager.php:342 +msgid "Post moved to the Trash." +msgstr "L'articolo è stato spostato nel cestino." + +#: addons/publisher/series_issue_manager.php:333 +msgid "Congratulations. Your series order was updated successfully." +msgstr "Complimenti. L'ordinamento della tua serie è stato aggiornato con successo." + +#: addons/publisher/series_issue_manager.php:324 +msgid "The posts in your series were successfully unpublished." +msgstr "Gli articoli della tua serie sono stati depubblicati con successo." + +#: addons/publisher/series_issue_manager.php:245 +msgid "When checked, all posts you assign to this series will remain unpublished until you publish the entire series." +msgstr "Quando è selezionata, tutti gli articoli che assegni a questa serie rimarranno non pubblicati fin quando non pubblicherai l'intera serie." + +#: addons/publisher/series_issue_manager.php:241 +msgid "Create as unpublished:" +msgstr "Creati come non pubblicati:" + +#: addons/publisher/series_im_admin_main.php:102 +msgid "You have no series available to publish." +msgstr "Non c'è alcuna serie da pubblicare." + +#: addons/publisher/series_im_admin_main.php:93 +msgid "View series in frontend" +msgstr "Visualizza la serie nel frontend" + +#: addons/publisher/series_im_admin_main.php:90 +msgid "View series in admin" +msgstr "Visualizza la serie nell'area di amministrazione" + +#: addons/publisher/series_im_admin_main.php:87 +msgid "Unpublish all" +msgstr "Depubblica tutto" + +#: addons/publisher/series_im_admin_main.php:84 +msgid "Publish all" +msgstr "Pubblica tutto" + +#: addons/publisher/series_im_admin_main.php:81 +msgid "Update order" +msgstr "Aggiorna l'ordine" + +#: addons/publisher/series_im_admin_main.php:79 +msgid "%d Scheduled" +msgstr "%d programmati" + +#: addons/publisher/series_im_admin_main.php:78 +msgid "%d Unpublished" +msgstr "%d depubblicati" + +#: addons/publisher/series_im_admin_main.php:77 +msgid "%d Published" +msgstr "%d pubblicati" + +#: addons/publisher/series_im_admin_main.php:76 +msgid "Edit the status of %1$s" +msgstr "Modifica lo stato di %1$s" + +#: addons/publisher/series_im_admin_main.php:7 +msgid "Publish posts in series" +msgstr "Pubblica gli articoli nella serie" + +#: addons/publisher/series-publish-post-table.php:68 +#: addons/publisher/series-publish-post-table.php:274 +msgid "Preview" +msgstr "Anteprima" + +#: addons/publisher/series-part-post-table.php:305 +#: addons/publisher/series-publish-post-table.php:286 +msgid "Move to Trash" +msgstr "Sposta nel cestino" + +#: addons/publisher/series-part-post-table.php:289 +msgid "(Currently has no Part number)" +msgstr "(Attualmente non ha un numero di parti)" + +#: addons/publisher/series-part-post-table.php:155 +#: addons/publisher/series-publish-post-table.php:140 +msgid "Trash" +msgstr "Cestina" + +#: addons/publisher/series-part-post-table.php:140 +#: addons/publisher/series-publish-post-table.php:125 +msgid "Edit" +msgstr "Modifica" + +#: addons/publisher/series-part-post-table.php:68 +msgid "Current Part" +msgstr "Parte attuale" + +#: addons/publisher/series-part-post-table.php:66 +#: addons/publisher/series-publish-post-table.php:66 +msgid "Tags" +msgstr "Tag" + +#: addons/publisher/series-part-post-table.php:65 +#: addons/publisher/series-publish-post-table.php:65 +msgid "Categories" +msgstr "Categorie" + +#: addons/publisher/series-part-post-table.php:64 +#: addons/publisher/series-publish-post-table.php:64 +msgid "Author" +msgstr "Autore" -#: orgSeries-options.php:574 -msgid "Bottom" -msgstr "In basso" +#: orgSeries-widgets.php:82 +msgid "Hide series with no posts?" +msgstr "Vuoi nascondere le serie senza articoli?" -#: orgSeries-options.php:432 -msgid "Choose the design for pages that are included in a series." -msgstr "" +#: orgSeries-widgets.php:79 +msgid "The layout and content of this widget can be adjusted via the Latest Series area." +msgstr "Il layout e il contenuto di questo widget possono essere regolati tramite l'area Serie più recente." -#: orgSeries-options.php:533 -msgid "Choose the design for the page where all your Series are displayed." -msgstr "" +#: orgSeries-options.php:902 +msgid "Show \"Post title in widget\"" +msgstr "Mostra \"Titolo dell'articolo nel widget\"" -#: orgSeries-options.php:469 -#, fuzzy -#| msgid "Choose the design for the taxonomy page where a Series is displayed." -msgid "" -"Choose the design for the taxonomy page where a single Series is displayed." -msgstr "" -"Scegli il design per la pagina della tassonomia dove viene visualizzata la " -"serie." +#: orgSeries-options.php:898 +msgid "Show \"Series Part\"" +msgstr "Mostra \"Parte della serie\"" -#. phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -#: orgSeries-options.php:493 -msgid "" -"Choosing a layout different to \"Default\" will override the taxonomy " -"template from your theme. Click here for " -"details on how to customize these designs." -msgstr "" -"La scelta di un layout diverso da \"Predefinito\" sovrascriverà il modello " -"di tassonomia del tuo tema. Fai clic qui " -"per i dettagli su come personalizzare questo design." +#: orgSeries-options.php:894 +msgid "Show \"Add New\"" +msgstr "Mostra \"Aggiungi nuova\"" -#: orgSeries-options.php:360 -msgid "" -"Clicking Yes will reset the options to the defaults and you will lose all " -"customizations. Or you can click cancel and return." -msgstr "" -"Facendo clic su Sì, le opzioni verranno ripristinate ai valori predefiniti e " -"perderai tutte le personalizzazioni. Oppure puoi fare clic su Annulla e " -"ritorna." +#: orgSeries-options.php:862 +msgid "To create a new taxonomy, enter the new name and click the \"Update Options\" button." +msgstr "Per creareuna nuova tassonomia, inserisci un nuovo nome e fai clic sul pulsante \"Aggiorna opzioni\"." -#: orgSeries-options.php:503 -msgid "Columns:" -msgstr "Colonne:" +#: orgSeries-options.php:789 +msgid "This display is used by the \"Series Table of Contents\" widget, shortcode, and URL." +msgstr "Questa schermata è utilizzata dal widget \"Indice della serie\", dallo shortcode, e dall'URL." -#: orgSeries-admin.php:140 -msgid "Contact" -msgstr "Contatto" +#: orgSeries-options.php:765 +msgid "This display is used by the \"Latest Series\" widget." +msgstr "Questa schermata è utilizzata dal widget \"Indice della serie\"." -#: orgSeries-admin.php:140 -msgid "Contact the PublishPress team" -msgstr "Contatta il team di PublishPress" +#: orgSeries-options.php:711 +msgid "This control how and what series meta information is displayed with posts that are part of a series when the_excerpt is used. " +msgstr "Con questo puoi controllare come e quali informazioni meta della serie vengono mostrate con gli articoli che appartengono ad una serie quando si utilizza `the_excerpt` (il riassunto). " -#: orgSeries-widgets.php:299 -msgid "count" -msgstr "conteggio" +#: orgSeries-options.php:672 +msgid "Series Post List Post Title (Current Post)" +msgstr "Elenco degli articoli della serie Titolo dell'articolo (articolo attuale)" -#: orgSeries-widgets.php:396 -msgid "Current series" -msgstr "Serie corrente" +#: orgSeries-options.php:666 +msgid "Series Post List Post Title (Linked Post)" +msgstr "Elenco degli articoli della serie Titolo dell'articolo (articolo collegato)" -#: orgSeries-manage.php:115 -msgid "Current series icon:" -msgstr "Icona della serie corrente:" +#: orgSeries-options.php:569 +msgid "Choose the design for the page where all your Series are displayed." +msgstr "Scegli il design per la pagina dove sono visualizzate tutte le tue serie." -#: src/views/admin/templates/license_key_form.template.php:31 -#: src/domain/services/admin/LicenseKeyFormManager.php:122 -msgid "Deactivate License" -msgstr "Disattiva la licenza" +#: orgSeries-options.php:485 +msgid "Display Series Meta?" +msgstr "Visualizzare i meta della serie?" -#: orgSeries-options.php:422 -msgid "Default" -msgstr "Predefinito" +#: orgSeries-options.php:481 +msgid "Display Series Navigation?" +msgstr "Visualizzare la navigazione della serie?" -#: orgSeries-options.php:887 -msgid "" -"Delete all PublishPress Series data from the database when deleting this " -"plugin." -msgstr "" -"Elimina dal database tutti i dati di PublishPress Series quando questo " -"plugin viene eliminato." +#: orgSeries-options.php:468 +msgid "Choose the design for pages that are included in a series." +msgstr "Scegli il design per le pagine incluse in una serie." -#: orgSeries-manage.php:131 -msgid "" -"Delete image? (note: there will not be an image associated with this series " -"if you select this)" -msgstr "" -"Eliminare l'immagine? (nota: se selezioni questa opzione questa serie non " -"avrà un'immagine associata)" +#: orgSeries-options.php:446 +msgid "These settings allow you to customize the metabox on the post editing screen." +msgstr "Queste impostazioni ti permettono di personalizzare le metabox nella schermata di modifica dell'articolo." -#: orgSeries-widgets.php:101 -msgid "DESC: " -msgstr "Decr: " +#: orgSeries-options.php:432 +msgid "Please change these settings carefully as they make significant changes to PublishPress Series." +msgstr "Fai attenzione nel modificare queste impostazioni perché apportano dei cambiamenti importanti a PublishPress Series." -#: orgSeries-widgets.php:318 orgSeries-options.php:528 -msgid "Descending" -msgstr "Decrescente" +#: orgSeries-options.php:418 +msgid "These templates allow you to customize the frontend appearance of PublishPress Series." +msgstr "Questi template ti permettono di personalizzare l'aspetto di PublishPress Series nel frontend." -#: orgSeries-options.php:468 -msgid "Display on Series Overview screens" -msgstr "" +#: orgSeries-options.php:411 +msgid "These settings allow you to customize the main frontend screens in PublishPress Series." +msgstr "Queste impostazioni ti permettono di personalizzare le schermate principali di PublishPress Series nel frontend." -#: orgSeries-options.php:532 -msgid "Display on Series Table of Contents screens" -msgstr "Visualizza nelle schermate dell'indice della serie" +#: orgSeries-options.php:240 +msgid "Metabox" +msgstr "Metabox" -#: orgSeries-options.php:431 -msgid "Display on single posts in a series" -msgstr "Visualizzazione nei singoli articoli di una serie" +#: orgSeries-options.php:239 +msgid "Taxonomy" +msgstr "Tassonomia" -#: orgSeries-widgets.php:99 -msgid "Display Order: " -msgstr "Ordine di visualizzazione: " +#: includes-core/pro-placeholder/views/series-group-placeholder.php:11 +msgid "PublishPress Series Pro gives you the ability to group series together by category." +msgstr "PublishPress Series Pro ti permette di raggruppare insieme le serie per categorie." -#: orgSeries-options.php:449 -msgid "Display Series Meta?" -msgstr "" +#: includes-core/pro-placeholder/views/series-group-placeholder.php:2 +msgid "Manage Series Groups" +msgstr "Gestisci i gruppi di serie" -#: orgSeries-options.php:445 -#, fuzzy -#| msgid "Display Series Navigation links ?" -msgid "Display Series Navigation?" -msgstr "Visualizzare i link di navigazione della serie?" +#: includes-core/PPSeriesCoreAdmin.php:89 +#: includes-core/pro-placeholder/views/series-group-placeholder.php:15 +msgid "Upgrade to Pro" +msgstr "Aggiorna a Pro" -#: orgSeries-options.php:437 -#, fuzzy -#| msgid "Display Series Post List box?" -msgid "Display Series Post List?" -msgstr "Visualizzare il riquadro elenco articoli della serie?" +#: addons/publisher/series_im_admin_main.php:2 +msgid "Manage Series to Publish" +msgstr "Gestisci le serie da pubblicare" -#: orgSeries-admin.php:139 -msgid "Documentation" -msgstr "Documentazione" +#: includes-core/PPSeriesCoreAdmin.php:47 +#: includes-core/PPSeriesCoreAdmin.php:48 +msgid "Series Groups" +msgstr "Gruppi di serie" -#: orgSeries-options.php:74 orgSeries-setup.php:283 -msgid "Edit Series" -msgstr "Modifica serie" +#: addons/publisher/series_issue_manager.php:510 +#: addons/publisher/series_issue_manager.php:656 +#: addons/publisher/series_issue_manager.php:701 +msgid "Publish Series" +msgstr "Pubblica la serie" -#: orgSeries-options.php:872 +#: orgSeries-options.php:928 msgid "Enable automatic renumbering of posts in a series." -msgstr "" +msgstr "Abilita la rinumerazione automatica degli articoli della serie." -#: src/views/admin/templates/license_key_form.template.php:19 -msgid "Enter your license key: " -msgstr "Inserisci la tua chiave di licenza: " +#: orgSeries-options.php:922 +msgid "Automatic Numbering" +msgstr "Numerazione automatica" -#: orgSeries-widgets.php:332 -msgid "Exclude series" -msgstr "Escludi la serie" +#: orgSeries-options.php:241 +msgid "Advanced" +msgstr "Avanzate" -#: orgSeries-options.php:699 -msgid "First Post" -msgstr "Primo articolo" +#. Plugin URI of the plugin +msgid "https://publishpress.com/publishpress-series/" +msgstr "https://publishpress.com/publishpress-series/" + +#: orgSeries-options.php:529 +msgid "Choosing a layout different to \"Default\" will override the taxonomy template from your theme. Click here for details on how to customize these designs." +msgstr "La scelta di un layout diverso da \"Predefinito\" sovrascriverà il modello di tassonomia del tuo tema. Fai clic qui per i dettagli su come personalizzare questo design." + +#: orgSeries-options.php:101 +msgid "Permission denied" +msgstr "Autorizzazione negata" + +#: orgSeries-options.php:539 +msgid "Columns:" +msgstr "Colonne:" + +#: orgSeries-options.php:511 +msgid "Layout:" +msgstr "Layout:" + +#: orgSeries-options.php:505 +msgid "Choose the design for the taxonomy page where a single Series is displayed." +msgstr "Scegli il design per la pagina della tassonomia dove viene visualizzata la serie." + +#: orgSeries-options.php:460 +msgid "List" +msgstr "Elenco" -#: orgSeries-options.php:423 +#: orgSeries-options.php:459 msgid "Grid" msgstr "Griglia" -#: orgSeries-widgets.php:289 -msgid "Hide empty series" -msgstr "Nascondi le serie vuote" +#: orgSeries-options.php:458 +msgid "Default" +msgstr "Predefinito" -#: orgSeries-widgets.php:82 -msgid "Hide series with no posts?" -msgstr "" +#: orgSeries-options.php:549 +msgid "This text will be part of the URL for all Series Overview pages." +msgstr "Questo testo farà parte dell'URL per tutte le pagine di panoramica della serie." -#: orgSeries-admin.php:186 -msgid "" -"Hmm... it looks like there is already a series with that name. Try something " -"else" -msgstr "" -"Hmm... sembra che ci sia già una serie con questo nome. Prova qualcos'altro" +#: orgSeries-options.php:439 +msgid "This feature allows you to create a new taxonomy for this plugin to use if you don't want to use the default \"Series\" taxonomy." +msgstr "Questa funzionalità ti permette di creare una nuova tassonomia per questo plugin da utilizzare se non vuoi usare la tassonomia predefinita \"Serie\"." -#. Author URI of the plugin -#, fuzzy -#| msgid "https://publishpress.com" -msgid "https://publishpress.com/" -msgstr "https://publishpress.com" +#: inc/templates/taxonomy-series.php:67 +msgid "Sorry, no results found." +msgstr "Nessun risultato trovato." -#. URI of the plugin -msgid "https://publishpress.com/publishpress-series/" -msgstr "" +#: orgSeries-widgets.php:375 +msgid "You can return any series that match this search string (matched against series names) - case insensitive" +msgstr "Puoi restituire tutte le serie che corrispondono a questa stringa di ricerca (abbinata ai nomi delle serie) - insensibile alle maiuscole e alle minuscole" -#: orgSeries-manage.php:60 -msgid "Icon" -msgstr "Icona" +#: orgSeries-widgets.php:373 +msgid "Search" +msgstr "Cerca" -#: orgSeries-manage.php:61 -msgid "ID" -msgstr "ID" +#: orgSeries-widgets.php:369 +msgid "You can select the offset for the number of series (useful for paging). No offset if left blank" +msgstr "Puoi selezionare l'offset per il numero di serie (utile per l'impaginazione). Nessun offset impostato se lasciato vuoto" -#: orgSeries-admin.php:336 -msgid "" -"If you leave this blank, this post will automatically be added to the end of " -"the series." -msgstr "" -"Se lo lasci vuoto, questo articolo verrà automaticamente aggiunto alla fine " -"della serie." +#: orgSeries-widgets.php:367 +msgid "Offset" +msgstr "Offset" -#: orgSeries-admin.php:130 -msgid "If you like %s, please leave us a %s rating. Thank you!" -msgstr "Se sei soddisfatto di %s, lasciaci una valutazione di %s!" +#: orgSeries-widgets.php:362 +msgid "Number of Series" +msgstr "Numero di serie" #: orgSeries-widgets.php:347 msgid "Include series" msgstr "Includi la serie" -#: orgSeries-options.php:308 -msgid "" -"Is the location token for where the contents of the post list post templates " -"will appear and use provided widget post short title." -msgstr "" -"È il token di posizione per dove apparirà il contenuto dei template di " -"articoli dell'elenco degli articoli e usa il titolo breve dell'articolo del " -"widget fornito." +#: orgSeries-widgets.php:332 +msgid "Exclude series" +msgstr "Escludi la serie" -#: orgSeries-options.php:306 -msgid "" -"Is the location token for where the contents of the post list post templates " -"will appear." -msgstr "" -"È il token di posizione in cui verranno visualizzati i contenuti dei " -"template degli articoli dell'elenco di articoli." +#: orgSeries-widgets.php:314 +msgid "Order\t" +msgstr "Ordinamento\t" -#: orgSeries-widgets.php:13 orgSeries-options.php:707 -msgid "Latest Series" -msgstr "Ultime serie" +#: orgSeries-widgets.php:301 +msgid "series id" +msgstr "id della serie" -#: orgSeries-options.php:718 -msgid "Latest Series (inner tags):" -msgstr "Ultima serie (inner tag):" +#: orgSeries-widgets.php:300 +msgid "slug" +msgstr "slug" -#: orgSeries-options.php:723 -msgid "Latest Series (tags after):" -msgstr "Ultima serie (tag after):" +#: orgSeries-widgets.php:299 +msgid "count" +msgstr "conteggio" -#: orgSeries-options.php:713 -msgid "Latest Series (tags before):" -msgstr "Ultima serie (tag before):" +#: orgSeries-widgets.php:298 +msgid "name" +msgstr "nome" -#: orgSeries-options.php:475 -msgid "Layout:" -msgstr "Layout:" +#: orgSeries-widgets.php:294 +msgid "Order by\t" +msgstr "Ordina per\t" -#: orgSeries-setup.php:328 orgSeries-setup.php:329 -msgctxt "leave the %tokens% as is when translating" -msgid "" -"This entry is part %series_part% of %total_posts_in_series% in the series " -msgstr "" -"Questa voce fa parte %series_part% di %total_posts_in_series% nella serie " +#: orgSeries-widgets.php:278 +msgid "Show Series Table Of Content as" +msgstr "Mostra l'indice della serie come" -#: src/views/admin/templates/license_key_form.template.php:16 -msgid "License Key for %1$s" -msgstr "Chiave della licenza per %1$s" +#: orgSeries-widgets.php:273 +msgid "Show Series Table Of Content" +msgstr "Mostra l'indice della serie" -#: src/domain/services/admin/LicenseKeyFormManager.php:241 -msgid "License Key successfully activated." -msgstr "Chiave della licenza attivata con successo." +#: orgSeries-utility.php:405 +msgid "Auto/None" +msgstr "Auto/Nessuna" -#: src/domain/services/admin/LicenseKeyFormManager.php:242 -msgid "License Key successfully deactivated." -msgstr "Chiave della licenza disattivata con successo." +#: orgSeries-options.php:875 +msgid "Please use with caution. Running this process will delete all the terms from the current taxonomy and migrate them to a new taxonomy." +msgstr "Usalo con cautela. L'esecuzione di questo processo cancellerà tutti i termini dalla tassonomia corrente e li migrerà in una nuova tassonomia." -#: orgSeries-options.php:424 -msgid "List" -msgstr "Elenco" +#: orgSeries-options.php:873 +msgid "Migrate series to new taxonomy" +msgstr "Migra la serie in una nuova tassonomia" -#: orgSeries-admin.php:445 -msgid "Manage All Series" -msgstr "Gestisci tutte le serie" +#: orgSeries-options.php:869 +msgid "Migrate" +msgstr "Migra" -#: orgSeries-options.php:78 orgSeries-setup.php:287 -msgid "Manage Series" -msgstr "Gestione delle serie" +#: orgSeries-options.php:796 +msgid "This display is used by the \"Series Table of Contents\". To find the URL for this display, go the \"Display\" tab and then \"Series Table of Contents URL\"." +msgstr "Questa visualizzazione è usata nell' \"Indice delle serie\". Per trovare l'URL di questa visualizzazione, vai alla scheda \"Display\" e poi \"URL indice della serie\"." -#: includes-core/pro-placeholder/views/series-group-placeholder.php:2 -msgid "Manage Series Groups" -msgstr "" +#: orgSeries-options.php:755 +msgid "First Post" +msgstr "Primo articolo" -#: includes-core/pro-placeholder/views/publish-series-placeholder.php:2 -msgid "Manage Series to Publish" -msgstr "" +#: orgSeries-options.php:730 +msgid "Series Post Navigation Location" +msgstr "Posizione navigazione articoli della serie" + +#: orgSeries-options.php:692 +msgid "Series Metabox Location" +msgstr "Posizione metabox della serie" + +#: orgSeries-options.php:651 +msgid "Series Post List box Location" +msgstr "Posizione dell'indice degli articoli della serie" + +#: orgSeries-options.php:630 +msgid "Bottom" +msgstr "In basso" -#: orgSeries-options.php:441 +#: orgSeries-options.php:629 +msgid "Top" +msgstr "In alto" + +#: orgSeries-options.php:628 +msgid "As in Template" +msgstr "Come da template" + +#: orgSeries-options.php:568 +msgid "Display on Series Table of Contents screens" +msgstr "Visualizza nelle schermate dell'indice della serie" + +#: orgSeries-options.php:496 +msgid "Use box style" +msgstr "Usa lo stile box" + +#: orgSeries-options.php:489 +msgid "Use PublishPress Series CSS styles?" +msgstr "Vuoi usare gli stili CSS di PublishPress Series?" + +#: orgSeries-options.php:477 msgid "Maximum number of items in Series Post List" msgstr "Numero massimo di voci nell'elenco degli articoli della serie" -#: orgSeries-options.php:240 -msgid "Metabox" -msgstr "" +#: orgSeries-options.php:467 +msgid "Display on single posts in a series" +msgstr "Visualizzazione nei singoli articoli di una serie" -#: orgSeries-options.php:813 -msgid "Migrate" -msgstr "Migra" +#: orgSeries-options.php:322 +msgid "Will be replaced by the navigation link for the first post in a series. The text will be whatever is included in the 'Custom First Post Navigation Text' field. If that field is empty then the text will be the title of the post" +msgstr "Sarà sostituito dal link di navigazione per il primo articolo di una serie. Il testo sarà qualsiasi cosa sia inclusa nel campo \"Testo di navigazione personalizzato per il primo articolo\". Se quel campo è vuoto allora il testo sarà il titolo dell'articolo" -#: orgSeries-options.php:817 -msgid "Migrate series to new taxonomy" -msgstr "Migra la serie in una nuova tassonomia" +#: orgSeries-options.php:287 +msgid "Allowed Html" +msgstr "Html consentito" -#: orgSeries-widgets.php:20 -msgid "Most Recent Series" -msgstr "Serie più recenti" +#: orgSeries-options.php:858 +msgid "Series Taxonomy:" +msgstr "Tassonomia serie:" -#: inc/utility-functions.php:33 -msgid "" -"Most web hosts provide an easy path to update the php version on your " -"website. We recommend updating to PHP 7 or greater. Before you update, you " -"will want to make sure other plugins and your theme are compatible (see " -"%1$sthis article for more info%2$s)." -msgstr "" -"La maggior parte dei fornitori di hosting fornisce un percorso facile per " -"aggiornare la versione php del tuo sito web. Ti consigliamo di aggiornare a " -"PHP 7 o superiore. Prima di effettuare l'aggiornamento assicurati che gli " -"altri plugin e il tema che stai utilizzando siano compatibili (vedi " -"%1$squesto articolo per maggiori informazioni%2$s)." +#: orgSeries-admin.php:409 orgSeries-admin.php:417 +msgid "%3$s - (Currently has no Part number)" +msgstr "%3$s - (Attualmente non ha un numero di parte)" -#: orgSeries-widgets.php:298 -msgid "name" -msgstr "nome" +#: orgSeries-admin.php:46 orgSeries-options.php:139 +msgid "%1$s series migrated to new taxonomy" +msgstr "%1$s serie sono state migrate nella nuova tassonomia" -#: orgSeries-widgets.php:88 -msgid "Name of Series" -msgstr "Nome della serie" +#: orgSeries-admin.php:43 +msgid "An error occured" +msgstr "Si è verificato un errore" -#: orgSeries-options.php:77 orgSeries-setup.php:286 -msgid "New Series Name" -msgstr "Nome nuova serie" +#: orgSeries-widgets.php:396 +msgid "Current series" +msgstr "Serie corrente" -#: orgSeries-options.php:689 +#: orgSeries-options.php:750 +msgid "Previous Post" +msgstr "Articolo precedente" + +#: orgSeries-options.php:745 msgid "Next Post" msgstr "Articolo successivo" -#: orgSeries-options.php:361 +#: orgSeries-options.php:725 +msgid "Series Post Navigation:" +msgstr "Navigazione articoli della serie:" + +#: orgSeries-options.php:721 +msgid "This display is shown at the bottom of all posts in a series." +msgstr "Questa visualizzazione è mostrata in fondo a tutti gli articoli di una serie." + +#: orgSeries-options.php:719 +msgid "Series Navigation Box" +msgstr "Box di navigazione della serie" + +#: orgSeries-options.php:680 +msgid "Series Meta Box" +msgstr "Box meta della serie" + +#: orgSeries-options.php:646 +msgid "Series Post List" +msgstr "Elenco degli articoli della serie" + +#: orgSeries-options.php:643 orgSeries-options.php:682 +msgid "This display is shown at the top of all posts in a series." +msgstr "Questa visualizzazione è mostrata in alto su tutti gli articoli di una serie." + +#: orgSeries-options.php:641 +msgid "Series Post List Box" +msgstr "Box elenco articoli della serie" + +#: orgSeries-options.php:312 +msgid "Is the location token for where the contents of the post list post templates will appear and use provided widget post short title." +msgstr "È il token di posizione per dove apparirà il contenuto dei template di articoli dell'elenco degli articoli e usa il titolo breve dell'articolo del widget fornito." + +#: orgSeries-manage.php:61 +msgid "ID" +msgstr "ID" + +#: orgSeries-options.php:950 +msgid "Reset settings" +msgstr "Reimposta le impostazioni" + +#: orgSeries-options.php:498 +msgid "Use light style" +msgstr "Usa lo stile chiaro" + +#: orgSeries-options.php:497 +msgid "Use dark style" +msgstr "Usa lo stile scuro" + +#: orgSeries-options.php:495 +msgid "Use default style" +msgstr "Usa lo stile predefinito" + +#: orgSeries-options.php:493 +msgid "Style options" +msgstr "Opzioni di stile" + +#: orgSeries-options.php:398 +msgid "Yes" +msgstr "Sì" + +#: orgSeries-options.php:397 msgid "No" msgstr "No" -#: orgSeries-manage.php:121 -msgid "No icon currently" -msgstr "Nessuna icona attualmente" - -#: orgSeries-admin.php:425 -msgid "No Series" -msgstr "Nessuna serie" +#: orgSeries-options.php:396 +msgid "Clicking Yes will reset the options to the defaults and you will lose all customizations. Or you can click cancel and return." +msgstr "Facendo clic su Sì, le opzioni verranno ripristinate ai valori predefiniti e perderai tutte le personalizzazioni. Oppure puoi fare clic su Annulla e ritorna." -#: orgSeries-options.php:79 orgSeries-setup.php:288 +#: orgSeries-options.php:79 orgSeries-setup.php:290 msgid "No series found" msgstr "Nessuna serie trovata" -#: orgSeries-manage.php:75 -msgid "No Series Icon" -msgstr "Nessuna icona per la serie" +#: orgSeries-options.php:504 +msgid "Display on Series Overview screens" +msgstr "Visualizzazione sulle schermate di panoramica della serie" -#: src/domain/exceptions/NonceFailException.php:18 -msgid "Nonce fail." -msgstr "Nonce fallito." +#. Author URI of the plugin +msgid "https://publishpress.com/" +msgstr "https://publishpress.com/" -#: orgSeries-admin.php:289 -msgid "Not part of a series" -msgstr "Non fa parte di una serie" +#: orgSeries.php:115 +msgid "This plugin can be deleted." +msgstr "Questo plugin può essere eliminato." -#: orgSeries-widgets.php:87 -msgid "Number of posts in Series" -msgstr "Numero di articoli nella serie" +#: orgSeries-widgets.php:417 +msgid "This text will display above other posts in this series." +msgstr "Questo testo verrà mostrato sopra agli altri articoli in questa serie." -#: orgSeries-widgets.php:362 -msgid "Number of Series" -msgstr "Numero di serie" +#: orgSeries-widgets.php:379 +msgid "Show other posts in the current series" +msgstr "Mostra gli altri articoli della serie corrente" -#: orgSeries-widgets.php:95 -msgid "Number of series to display:" -msgstr "Numero di serie da visualizzare:" +#: orgSeries-admin.php:323 orgSeries-setup.php:230 +msgid "Add New" +msgstr "Aggiungi nuova" -#: orgSeries-widgets.php:367 -msgid "Offset" -msgstr "Offset" +#: orgSeries-options.php:943 +msgid "Delete all PublishPress Series data from the database when deleting this plugin." +msgstr "Elimina dal database tutti i dati di PublishPress Series quando questo plugin viene eliminato." -#: orgSeries-widgets.php:314 -msgid "Order\t" -msgstr "Ordinamento\t" +#: orgSeries-options.php:937 +msgid "Series Settings" +msgstr "Impostazioni di Series" -#: orgSeries-widgets.php:294 -msgid "Order by\t" -msgstr "Ordina per\t" +#: orgSeries-options.php:561 +msgid "Series order method" +msgstr "Metodo di ordinamento serie" -#: orgSeries-options.php:521 -msgid "Order by date" -msgstr "Ordina per data" +#: orgSeries-options.php:556 +msgid "Series part" +msgstr "Parte di serie" -#: orgSeries-options.php:518 +#: orgSeries-options.php:554 msgid "Order series by:" msgstr "Ordina serie per:" -#: orgSeries-widgets.php:233 -msgid "Other posts in series:" -msgstr "Altri articoli della serie:" +#: orgSeries-options.php:425 +msgid "This section is for the icons that show with your series. Note that you must use a token for the icon in the \"Templates\" settings." +msgstr "Questa sezione è per le icone mostrate con la tua serie. Tieni presente che devi utilizzare un token per l'icona nelle impostazioni \"Template\"." -#: orgSeries-options.php:292 +#: orgSeries-options.php:296 msgid "Overview" msgstr "Panoramica" -#: orgSeries-admin.php:412 -msgid "" -"Part %1$s of %2$s%6$s in the series
" -"%5$s" -msgstr "" -"Parte %1$s of %2$s%6$s della serie
" -"%5$s" +#: orgSeries-options.php:253 +msgid "PublishPress Series Plugin Options" +msgstr "Opzioni plugin PublishPress Series" -#: orgSeries-taxonomy.php:712 -msgid "Part:" -msgstr "Parte:" +#: orgSeries-options.php:143 +msgid "PublishPress Series Plugin Options have been updated" +msgstr "Le opzioni del plugin PublishPress Series sono state aggiornate" -#: orgSeries-options.php:101 -msgid "Permission denied" -msgstr "Autorizzazione negata" +#: orgSeries-options.php:108 +msgid "PublishPress Series Plugin Options have been RESET" +msgstr "Le opzioni del plugin PublishPress Series sono state reimpostate" -#: orgSeries-options.php:396 -msgid "" -"Please change these settings carefully as they make significant changes to " -"PublishPress Series." -msgstr "" +#: orgSeries-options.php:35 +msgid "PublishPress Series Options" +msgstr "Opzioni PublishPress Series" -#: orgSeries-options.php:819 -msgid "" -"Please use with caution. Running this process will delete all the terms from " -"the current taxonomy and migrate them to a new taxonomy." -msgstr "" -"Usalo con cautela. L'esecuzione di questo processo cancellerà tutti i " -"termini dalla tassonomia corrente e li migrerà in una nuova tassonomia." +#: orgSeries-admin.php:336 +msgid "If you leave this blank, this post will automatically be added to the end of the series." +msgstr "Se lo lasci vuoto, questo articolo verrà automaticamente aggiunto alla fine della serie." -#: orgSeries-options.php:72 orgSeries-setup.php:281 -msgid "Popular Series" -msgstr "Serie popolari" +#: orgSeries-admin.php:140 +msgid "Contact" +msgstr "Contatto" -#: orgSeries-admin.php:341 -msgid "Post title in widget:" -msgstr "Titolo dell'articolo nel widget:" +#: orgSeries-admin.php:140 +msgid "Contact the PublishPress team" +msgstr "Contatta il team di PublishPress" -#: orgSeries-setup.php:718 -msgid "Posts from the series: " -msgstr "Articoli della serie: " +#: orgSeries-admin.php:139 +msgid "Documentation" +msgstr "Documentazione" -#: orgSeries-options.php:694 -msgid "Previous Post" -msgstr "Articolo precedente" +#: orgSeries-admin.php:139 +msgid "PublishPress Series Documentation" +msgstr "Documentazione di PublishPress Series" -#: includes-core/PPSeriesCoreAdmin.php:46 -#: includes-core/PPSeriesCoreAdmin.php:47 -msgid "Publish Series" -msgstr "" +#: orgSeries-admin.php:138 +msgid "About" +msgstr "Chi siamo" + +#: orgSeries-admin.php:138 +msgid "About PublishPress Series" +msgstr "Informazioni su PublishPress Series" + +#: orgSeries-admin.php:130 +msgid "If you like %s, please leave us a %s rating. Thank you!" +msgstr "Se sei soddisfatto di %s, lasciaci una valutazione di %s!" + +#: inc/orgSeries_updates.php:156 +msgid "Publishpress Series API: " +msgstr "API Publishpress Series: " #. Author of the plugin msgid "PublishPress" msgstr "PublishPress" -#. Name of the plugin +#. Description of the plugin +msgid "PublishPress Series allows you to group content together into a series. This is ideal for magazines, newspapers, short-story writers, teachers, comic artists, or anyone who writes multiple posts on the same topic." +msgstr "PublishPress Series ti consente di raggruppare i contenuti in una serie. Questo è ideale per riviste, quotidiani, scrittori di novelle, insegnanti, artisti di fumetti e chiunque scriva diversi articoli sullo stesso argomento." + +#. Plugin Name of the plugin msgid "PublishPress Series" msgstr "PublishPress Series" -#: inc/utility-functions.php:24 -msgid "" -"Publishpress Series %1$srequires PHP 5.6%2$s or greater. Your website does " -"not meet the requirements so the plugin is not fully activated." -msgstr "" -"Publishpress Series %1$srichiede PHP 5.6%2$s o superiore. Il tuo sito web " -"non soddisfa i requisiti, quindi il plug-in non è completamente attivato." +#: src/views/admin/templates/license_key_form.template.php:19 +msgid "Enter your license key: " +msgstr "Inserisci la tua chiave di licenza: " -#. Description of the plugin -msgid "" -"PublishPress Series allows you to group content together into a series. This " -"is ideal for magazines, newspapers, short-story writers, teachers, comic " -"artists, or anyone who writes multiple posts on the same topic." -msgstr "" -"PublishPress Series ti consente di raggruppare i contenuti in una serie. " -"Questo è ideale per riviste, quotidiani, scrittori di novelle, insegnanti, " -"artisti di fumetti e chiunque scriva diversi articoli sullo stesso argomento." +#: src/views/admin/templates/license_key_form.template.php:16 +msgid "License Key for %1$s" +msgstr "Chiave della licenza per %1$s" -#: orgSeries-admin.php:139 -msgid "PublishPress Series Documentation" -msgstr "Documentazione di PublishPress Series" +#: src/libraries/edd/PluginUpdater.php:401 +msgid "Error" +msgstr "Errore" -#: orgSeries-options.php:35 -msgid "PublishPress Series Options" -msgstr "Opzioni PublishPress Series" +#: src/libraries/edd/PluginUpdater.php:401 +msgid "You do not have permission to install plugin updates" +msgstr "Non hai l'autorizzazione per installare gli aggiornamenti del plugin" -#: orgSeries-options.php:253 -msgid "PublishPress Series Plugin Options" -msgstr "Opzioni plugin PublishPress Series" +#: src/libraries/edd/PluginUpdater.php:211 +msgid "There is a new version of %1$s available. %2$sView version %3$s details%4$s or %5$supdate now%6$s." +msgstr "È disponibile una nuova versione di %1$s. %2$sVisualizza i dettagli della versione %3$s%4$s o %5$saggiorna ora%6$s." -#: orgSeries-options.php:108 -msgid "PublishPress Series Plugin Options have been RESET" -msgstr "Le opzioni del plugin PublishPress Series sono state reimpostate" +#: src/libraries/edd/PluginUpdater.php:203 +msgid "There is a new version of %1$s available. %2$sView version %3$s details%4$s." +msgstr "È disponibile una nuova versione di %1$s. %2$sVedi i dettagli della versione %3$s%4$s." -#: orgSeries-options.php:143 -msgid "PublishPress Series Plugin Options have been updated" -msgstr "Le opzioni del plugin PublishPress Series sono state aggiornate" +#: src/domain/services/admin/LicenseKeyFormManager.php:242 +msgid "License Key successfully deactivated." +msgstr "Chiave della licenza disattivata con successo." -#: includes-core/pro-placeholder/views/publish-series-placeholder.php:11 -msgid "" -"PublishPress Series Pro enables easy bulk publishing of all posts in a " -"series at once." -msgstr "" +#: src/domain/services/admin/LicenseKeyFormManager.php:241 +msgid "License Key successfully activated." +msgstr "Chiave della licenza attivata con successo." -#: includes-core/pro-placeholder/views/series-group-placeholder.php:11 -msgid "" -"PublishPress Series Pro gives you the ability to group series together by " -"category." -msgstr "" +#: src/domain/services/admin/LicenseKeyFormManager.php:123 +#: src/views/admin/templates/license_key_form.template.php:33 +msgid "Activate License" +msgstr "Attiva la licenza" -#: orgSeries-widgets.php:91 -msgid "Random" -msgstr "Casuale" +#: src/domain/services/admin/LicenseKeyFormManager.php:122 +#: src/views/admin/templates/license_key_form.template.php:31 +msgid "Deactivate License" +msgstr "Disattiva la licenza" -#: orgSeries-options.php:897 -msgid "Reset options to default" -msgstr "Reimposta le opzioni ai valori predefiniti" +#: src/domain/services/AssetRegistry.php:419 +msgid "The provided value for %1$s is not a valid url. The url provided was: %2$s" +msgstr "Il valore inserito per %1$s non è un valido url. L'url digitato era: %2$s" -#: orgSeries-options.php:894 -msgid "Reset settings" -msgstr "Reimposta le impostazioni" +#: src/domain/services/AssetRegistry.php:408 +msgid "The namespace for this manifest file has already been registered, choose a namespace other than %s" +msgstr "Il namespace per questo file manifesto è già stato registrato, scegli un namespace diverso da %s" -#: orgSeries-options.php:298 -msgid "" -"Same as %series_icon% except that the series icon will be linked to the " -"series page" -msgstr "" -"Uguale a %series_icon% tranne per il fatto che l'icona della serie sarà " -"collegata alla pagina della serie" +#: src/domain/services/AssetRegistry.php:283 +msgid "The value for %1$s already exists in the %2$s property. Overrides are not allowed. Consider attaching your value to a different key" +msgstr "Il valore per %1$s esiste già nel %2$s proprietà. Non è permesso sovrascriverlo. Prendi in considerazione la possibilità di collegare il tuo valore a una chiave diversa" -#: orgSeries-options.php:304 -msgid "" -"Same as %series_title% except that it will also be linked to the series page" -msgstr "" -"Uguale a %series_title% tranne per il fatto che sarà collegato anche alla " -"pagina della serie" +#: src/domain/services/AssetRegistry.php:271 +msgid "The value for %1$s already exists in the %2$s property. Overrides are not allowed. Since the value of this data is an array, you may want to use the %3$s method to push your value to the array." +msgstr "Il valore per %1$s esiste già nel %2$s proprietà. Non è permesso sovrascriverlo. Visto che questo valore dati è un array, potresti utilizzare il metodo %3$s per inviare il tuo valore all'array." + +#: src/domain/services/AssetRegistry.php:228 +msgid "The value for %1$s is already set and it is not an array. The %2$s method can only be used to push values to this data element when it is an array." +msgstr "Il valore per %1$s è già stato impostato e non è un array. Il metodo %2$s può essere utilizzato soltanto per inviare valori a questo elemento dati quando è un array." + +#: src/domain/model/RouteIdentifier.php:51 +msgid "The incoming value for %1$s is expected to be a closure. It was not." +msgstr "Il valore in entrata per %1$s dovrebbe essere una chiusura. Non lo era." -#: orgSeries-widgets.php:373 -msgid "Search" -msgstr "Cerca" +#: src/domain/model/LicenseKeyRepository.php:131 +msgid "An error occurred, please try again." +msgstr "Si è verificato un errore, riprova." -#: orgSeries-options.php:71 orgSeries-setup.php:280 -msgid "Search Series" -msgstr "Cerca serie" +#: src/domain/model/FileLocation.php:50 +msgid "The given file path (%s) is not readable." +msgstr "Il percorso del file specificato (%s) non è leggibile." -#: orgSeries-setup.php:229 -msgid "Select \"Not part of a series\" to remove any series data from post" -msgstr "" -"Seleziona \"Non fa parte di una serie\" per rimuovere i dati della serie " -"dall'articolo" +#: src/domain/model/ControllerRoute.php:50 +#: src/domain/model/HasHooksRoute.php:59 +msgid "The provided object fully qualified class name (%1$s) must implement the %2$s interface." +msgstr "Il nome classe completo dell'oggetto fornito (%1$s) deve implementare l'interfaccia %2$s." -#: orgSeries-widgets.php:177 -msgid "Select Series" -msgstr "Seleziona serie" +#: src/domain/exceptions/NonceFailException.php:18 +msgid "Nonce fail." +msgstr "Nonce fallito." -#: orgSeries-widgets.php:232 orgSeries-widgets.php:385 -#: orgSeries-taxonomy.php:446 orgSeries-options.php:36 orgSeries-admin.php:358 -#: orgSeries-admin.php:370 orgSeries-admin.php:453 -#, fuzzy -msgid "Series" -msgstr "Serie" +#: src/domain/exceptions/InvalidInterfaceException.php:26 +msgid "%s does not exist or is not reachable." +msgstr "%s non esiste o non è raggiungibile." -#: orgSeries-options.php:510 -msgid "Series Custom Base:" -msgstr "Base personalizzata della serie:" +#: src/domain/exceptions/InvalidFilePathException.php:27 +msgid "The \"%1$s\" file is either missing or could not be read due to permissions. Please ensure that the following path is correct and verify that the file permissions are correct:%2$s %3$s" +msgstr "Il file \"%1$s\" è mancante oppure non può essere letto per motivi di autorizzazioni. Assicurarti che il percorso seguente sia corretto e verifica che i permessi del file siano corretti:%2$s %3$s" -#: includes-core/PPSeriesCoreAdmin.php:56 -#: includes-core/PPSeriesCoreAdmin.php:57 -msgid "Series Group" -msgstr "" +#: src/domain/exceptions/InvalidEntityException.php:29 +msgid "%1$s is not a valid entity (expected: %2$s)." +msgstr "%1$s non è un'entità valida (previsto: %2$s)." -#: orgSeries-manage.php:136 -msgid "Series Icon Upload:" -msgstr "Caricamento dell'icona della serie:" +#: src/domain/exceptions/EntityNotFoundException.php:30 +msgid "Unable to retrieve an instance of %1$s. Not found." +msgstr "Impossibile recuperare un'istanza di %1$s. Non è stata trovata." -#: orgSeries-widgets.php:301 -msgid "series id" -msgstr "id della serie" +#: src/application/Root.php:139 +msgid "The %1$s method can only be used to register a child of %2$s." +msgstr "Questo metodo %1$s può essere utilizzato solo per registrare un figlio di %2$s." -#: orgSeries-options.php:651 -msgid "Series Meta (with excerpts):" -msgstr "Meta serie (con riassunto):" +#: src/application/Container.php:160 +msgid "The %1$s already has a parameter indexed with the name: %2$s." +msgstr "Il %1$s ha già un parametro indicizzato con il nome: %2$s." -#: orgSeries-options.php:624 -msgid "Series Meta Box" -msgstr "Box meta della serie" +#: inc/utility-functions.php:44 +msgid "To remove this notice you can either deactivate the plugin or upgrade the php version on your server." +msgstr "Per rimuovere questo avviso puoi disattivare il plugin oppure aggiornare la versione del php del tuo server." -#: orgSeries-options.php:630 -msgid "Series Meta:" -msgstr "Meta serie:" +#: inc/utility-functions.php:33 +msgid "Most web hosts provide an easy path to update the php version on your website. We recommend updating to PHP 7 or greater. Before you update, you will want to make sure other plugins and your theme are compatible (see %1$sthis article for more info%2$s)." +msgstr "La maggior parte dei fornitori di hosting fornisce un percorso facile per aggiornare la versione php del tuo sito web. Ti consigliamo di aggiornare a PHP 7 o superiore. Prima di effettuare l'aggiornamento assicurati che gli altri plugin e il tema che stai utilizzando siano compatibili (vedi %1$squesto articolo per maggiori informazioni%2$s)." -#: orgSeries-options.php:636 -msgid "Series Metabox Location" -msgstr "Posizione metabox della serie" +#: inc/utility-functions.php:24 +msgid "Publishpress Series %1$srequires PHP 5.6%2$s or greater. Your website does not meet the requirements so the plugin is not fully activated." +msgstr "Publishpress Series %1$srichiede PHP 5.6%2$s o superiore. Il tuo sito web non soddisfa i requisiti, quindi il plug-in non è completamente attivato." -#: orgSeries-setup.php:334 -msgid "Series Navigation" -msgstr "Navigazione serie" +#: orgSeries-widgets.php:415 +msgid "Series widget title:" +msgstr "Titolo del widget della serie:" -#: orgSeries-options.php:663 -msgid "Series Navigation Box" -msgstr "Box di navigazione della serie" +#: orgSeries-widgets.php:289 +msgid "Hide empty series" +msgstr "Nascondi le serie vuote" -#: orgSeries-options.php:525 -msgid "Series order method" -msgstr "Metodo di ordinamento serie" +#: orgSeries-widgets.php:284 +msgid "Show post count" +msgstr "Mostra conteggio articolo" -#: orgSeries-options.php:520 -msgid "Series part" -msgstr "Parte di serie" +#: orgSeries-widgets.php:280 +msgid " List: " +msgstr " Elenco: " -#: orgSeries-admin.php:332 -msgid "Series Part:" -msgstr "Parte della serie:" +#: orgSeries-widgets.php:279 +msgid " Dropdown: " +msgstr " A discesa: " -#: orgSeries-options.php:549 -msgid "Series Per Page:" -msgstr "Serie per pagina:" +#: orgSeries-widgets.php:233 +msgid "Other posts in series:" +msgstr "Altri articoli della serie:" -#: orgSeries-options.php:590 -msgid "Series Post List" -msgstr "Elenco degli articoli della serie" +#: orgSeries-widgets.php:177 +msgid "Select Series" +msgstr "Seleziona serie" -#: orgSeries-options.php:585 -msgid "Series Post List Box" -msgstr "Box elenco articoli della serie" +#: orgSeries-widgets.php:111 +msgid "Use this to display the Series Table of contents" +msgstr "Usa questo per visualizzare l'indice delle serie" -#: orgSeries-options.php:595 -msgid "Series Post List box Location" -msgstr "Posizione dell'indice degli articoli della serie" +#: orgSeries-widgets.php:101 +msgid "DESC: " +msgstr "Decr: " -#: orgSeries-options.php:616 -msgid "Series Post List Post Title (Current Post)" -msgstr "" +#: orgSeries-widgets.php:100 +msgid "ASC: " +msgstr "Cresc: " -#: orgSeries-options.php:610 -msgid "Series Post List Post Title (Linked Post)" -msgstr "" +#: orgSeries-widgets.php:99 +msgid "Display Order: " +msgstr "Ordine di visualizzazione: " -#: orgSeries-options.php:674 -msgid "Series Post Navigation Location" -msgstr "Posizione navigazione articoli della serie" +#: orgSeries-widgets.php:95 +msgid "Number of series to display:" +msgstr "Numero di serie da visualizzare:" -#: orgSeries-options.php:669 -msgid "Series Post Navigation:" -msgstr "Navigazione articoli della serie:" +#: orgSeries-widgets.php:91 +msgid "Random" +msgstr "Casuale" -#: orgSeries-options.php:881 -msgid "Series Settings" -msgstr "Impostazioni di Series" +#: orgSeries-widgets.php:90 +msgid "When Series was Created" +msgstr "Quando è stata creata la serie" #: orgSeries-widgets.php:89 msgid "Series Slug" msgstr "Slug della serie" -#: orgSeries-widgets.php:112 orgSeries-options.php:731 -#: orgSeries-options.php:737 orgSeries-setup.php:451 -msgid "Series Table of Contents" -msgstr "Indice delle serie" +#: orgSeries-widgets.php:88 +msgid "Name of Series" +msgstr "Nome della serie" -#: orgSeries-options.php:553 -msgid "Series Table of Contents Title:" -msgstr "Titolo indice della serie:" +#: orgSeries-widgets.php:87 +msgid "Number of posts in Series" +msgstr "Numero di articoli nella serie" -#: orgSeries-options.php:535 -msgid "Series Table of Contents URL:" -msgstr "URL indice serie:" +#: orgSeries-widgets.php:85 +msgid "Order by:" +msgstr "Ordina per:" -#: orgSeries-options.php:802 -msgid "Series Taxonomy:" -msgstr "Tassonomia serie:" +#: addons/publisher/series-part-post-table.php:63 +#: addons/publisher/series-publish-post-table.php:63 orgSeries-widgets.php:73 +#: orgSeries-widgets.php:268 +msgid "Title" +msgstr "Titolo" -#: orgSeries-widgets.php:415 -msgid "Series widget title:" -msgstr "Titolo del widget della serie:" +#: orgSeries-widgets.php:20 +msgid "Most Recent Series" +msgstr "Serie più recenti" + +#: orgSeries-options.php:763 orgSeries-widgets.php:13 +msgid "Latest Series" +msgstr "Ultime serie" -#: orgSeries-taxonomy.php:710 orgSeries-taxonomy.php:735 +#: orgSeries-widgets.php:12 +msgid "Use this to control the output of the latest series widget" +msgstr "Utilizza questo per controllare l'output del widget ultime serie" + +#: orgSeries-template-tags.php:204 orgSeries-template-tags.php:214 +msgid "Series" +msgstr "Serie" + +#: orgSeries-template-tags.php:200 +msgid "All the Series I've Written" +msgstr "Tutte le serie che ho scritto" + +#: orgSeries-taxonomy.php:717 +msgid "Part:" +msgstr "Parte:" + +#: orgSeries-taxonomy.php:715 orgSeries-taxonomy.php:740 msgid "Series:" msgstr "Serie:" -#: orgSeries-setup.php:716 +#: orgSeries-setup.php:735 +msgid "Posts from the series: " +msgstr "Articoli della serie: " + +#: orgSeries-setup.php:733 msgid "Series: " msgstr "Serie: " -#: orgSeries-options.php:24 orgSeries-options.php:45 orgSeries-options.php:46 -#: orgSeries-setup.php:730 -msgid "Settings" -msgstr "Impostazioni" - -#: orgSeries-options.php:838 -msgid "Show \"Add New\"" -msgstr "" - -#: orgSeries-options.php:846 -msgid "Show \"Post title in widget\"" -msgstr "" +#: orgSeries-options.php:787 orgSeries-options.php:793 orgSeries-setup.php:454 +#: orgSeries-widgets.php:112 +msgid "Series Table of Contents" +msgstr "Indice delle serie" -#: orgSeries-options.php:842 -msgid "Show \"Series Part\"" -msgstr "" +#: orgSeries-setup.php:337 +msgid "Series Navigation" +msgstr "Navigazione serie" -#: orgSeries-widgets.php:379 -msgid "Show other posts in the current series" -msgstr "Mostra gli altri articoli della serie corrente" +#: orgSeries-setup.php:331 orgSeries-setup.php:332 +msgctxt "leave the %tokens% as is when translating" +msgid "This entry is part %series_part% of %total_posts_in_series% in the series " +msgstr "Questa voce fa parte %series_part% di %total_posts_in_series% nella serie " -#: orgSeries-widgets.php:284 -msgid "Show post count" -msgstr "Mostra conteggio articolo" +#: orgSeries-options.php:78 orgSeries-setup.php:289 +msgid "Manage Series" +msgstr "Gestione delle serie" -#: orgSeries-widgets.php:273 -msgid "Show Series Table Of Content" -msgstr "Mostra l'indice della serie" +#: orgSeries-options.php:77 orgSeries-setup.php:288 +msgid "New Series Name" +msgstr "Nome nuova serie" -#: orgSeries-widgets.php:278 -msgid "Show Series Table Of Content as" -msgstr "Mostra l'indice della serie come" +#: orgSeries-options.php:76 orgSeries-setup.php:287 +msgid "Add New Series" +msgstr "Aggiungi nuova serie" -#: orgSeries-widgets.php:300 -msgid "slug" -msgstr "slug" +#: orgSeries-options.php:75 orgSeries-setup.php:286 +msgid "Update Series" +msgstr "Aggiorna serie" -#: orgSeries-admin.php:169 -msgid "Sorry but you don't have permission to add series" -msgstr "Non hai il permesso per aggiungere delle serie" +#: orgSeries-options.php:74 orgSeries-setup.php:285 +msgid "Edit Series" +msgstr "Modifica serie" -#: inc/templates/taxonomy-series.php:67 -msgid "Sorry, no results found." -msgstr "Nessun risultato trovato." +#: orgSeries-options.php:73 orgSeries-setup.php:284 orgSeries-setup.php:325 +msgid "All Series" +msgstr "Tutte le serie" -#: orgSeries-options.php:457 -msgid "Style options" -msgstr "Opzioni di stile" +#: orgSeries-options.php:72 orgSeries-setup.php:283 +msgid "Popular Series" +msgstr "Serie popolari" -#: orgSeries-options.php:239 -msgid "Taxonomy" -msgstr "" +#: orgSeries-options.php:71 orgSeries-setup.php:282 +msgid "Search Series" +msgstr "Cerca serie" -#: orgSeries-options.php:69 orgSeries-setup.php:278 -msgctxt "taxonomy general name" +#: orgSeries-options.php:70 orgSeries-setup.php:281 +msgctxt "taxonomy singular name" msgid "Series" msgstr "Serie" -#: orgSeries-options.php:70 orgSeries-setup.php:279 -msgctxt "taxonomy singular name" +#: orgSeries-options.php:69 orgSeries-setup.php:280 +msgctxt "taxonomy general name" msgid "Series" msgstr "Serie" -#: src/domain/exceptions/InvalidFilePathException.php:27 -msgid "" -"The \"%1$s\" file is either missing or could not be read due to permissions. " -"Please ensure that the following path is correct and verify that the file " -"permissions are correct:%2$s %3$s" -msgstr "" -"Il file \"%1$s\" è mancante oppure non può essere letto per motivi di " -"autorizzazioni. Assicurarti che il percorso seguente sia corretto e verifica " -"che i permessi del file siano corretti:%2$s %3$s" +#: orgSeries-setup.php:231 +msgid "Select \"Not part of a series\" to remove any series data from post" +msgstr "Seleziona \"Non fa parte di una serie\" per rimuovere i dati della serie dall'articolo" -#: src/application/Container.php:160 -msgid "The %1$s already has a parameter indexed with the name: %2$s." -msgstr "Il %1$s ha già un parametro indicizzato con il nome: %2$s." +#: orgSeries-setup.php:104 +msgid "Your WordPress version is too old. Publishpress Series 2.2 requires at least WordPress 3.0 to function correctly. Please update your blog via Tools > Upgrade." +msgstr "La tua versione di WordPress è troppo vecchia. Publishpress Series 2.2 richiede almeno WordPress 3.0 per funzionare correttamente. Aggiorna il tuo blog tramite Bacheca > Aggiornamenti." -#: src/application/Root.php:139 -#, fuzzy -#| msgid "The %1$s method can only be used to register a child of %2%s." -msgid "The %1$s method can only be used to register a child of %2$s." -msgstr "" -"Questo metodo %1$s può essere utilizzato solo per registrare un figlio di " -"%2%s." +#: orgSeries-options.php:835 +msgid "Width for icon if displayed via the latest series template (in pixels)." +msgstr "Larghezza dell'icona se visualizzata tramite il template ultima serie (in pixels)." -#: orgSeries-options.php:294 -msgid "" -"The following is a legend of the tokens that are available for use in the " -"custom template fields. These will be replaced with the appropriate values " -"when the plugin runs." -msgstr "" -"Di seguito è riportata una legenda o tabella dei token disponibili per l'uso " -"nei campi del template personalizzato. Questi verranno sostituiti con i " -"valori appropriati quando viene eseguito il plugin." +#: orgSeries-options.php:829 +msgid "Width for icon on a post page (in pixels)." +msgstr "Larghezza dell'icona sulla pagina di un articolo (in pixel)." + +#: orgSeries-options.php:823 +msgid "Width for icon on series table of contents page (in pixels)" +msgstr "Larghezza dell'icona sulla pagina indice di una serie (in pixel)." -#: src/domain/model/FileLocation.php:50 -msgid "The given file path (%s) is not readable." -msgstr "Il percorso del file specificato (%s) non è leggibile." +#: orgSeries-options.php:779 +msgid "Latest Series (tags after):" +msgstr "Ultima serie (tag after):" -#: src/domain/model/RouteIdentifier.php:51 -msgid "The incoming value for %1$s is expected to be a closure. It was not." -msgstr "" -"Il valore in entrata per %1$s dovrebbe essere una chiusura. Non lo era." +#: orgSeries-options.php:774 +msgid "Latest Series (inner tags):" +msgstr "Ultima serie (inner tag):" -#: orgSeries-widgets.php:79 -#, php-format -msgid "" -"The layout and content of this widget can be adjusted via the " -"Latest Series area." -msgstr "" +#: orgSeries-options.php:769 +msgid "Latest Series (tags before):" +msgstr "Ultima serie (tag before):" -#: orgSeries-admin.php:180 -msgid "" -"The name you picked isn't sanitizing correctly. Try something different." -msgstr "" -"Il nome che hai scelto non è strutturato correttamente. Prova qualcos'altro." +#: orgSeries-options.php:707 +msgid "Series Meta (with excerpts):" +msgstr "Meta serie (con riassunto):" -#: src/domain/services/AssetRegistry.php:408 -msgid "" -"The namespace for this manifest file has already been registered, choose a " -"namespace other than %s" -msgstr "" -"Il namespace per questo file manifesto è già stato registrato, scegli un " -"namespace diverso da %s" +#: orgSeries-options.php:686 +msgid "Series Meta:" +msgstr "Meta serie:" -#: src/domain/model/ControllerRoute.php:50 -#: src/domain/model/HasHooksRoute.php:59 -msgid "" -"The provided object fully qualified class name (%1$s) must implement the " -"%2$s interface." -msgstr "" -"Il nome classe completo dell'oggetto fornito (%1$s) deve implementare " -"l'interfaccia %2$s." +#: orgSeries-options.php:564 orgSeries-widgets.php:318 +msgid "Descending" +msgstr "Decrescente" -#: src/domain/services/AssetRegistry.php:419 -msgid "" -"The provided value for %1$s is not a valid url. The url provided was: %2$s" -msgstr "" -"Il valore inserito per %1$s non è un valido url. L'url digitato era: %2$s" +#: orgSeries-options.php:563 orgSeries-widgets.php:319 +msgid "Ascending" +msgstr "Crescente" -#: src/domain/services/AssetRegistry.php:283 -msgid "" -"The value for %1$s already exists in the %2$s property. Overrides are not " -"allowed. Consider attaching your value to a different key" -msgstr "" -"Il valore per %1$s esiste già nel %2$s proprietà. Non è permesso " -"sovrascriverlo. Prendi in considerazione la possibilità di collegare il tuo " -"valore a una chiave diversa" +#: orgSeries-options.php:557 +msgid "Order by date" +msgstr "Ordina per data" -#: src/domain/services/AssetRegistry.php:271 -msgid "" -"The value for %1$s already exists in the %2$s property. Overrides are not " -"allowed. Since the value of this data is an array, you may want to use the " -"%3$s method to push your value to the array." -msgstr "" -"Il valore per %1$s esiste già nel %2$s proprietà. Non è permesso " -"sovrascriverlo. Visto che questo valore dati è un array, potresti utilizzare " -"il metodo %3$s per inviare il tuo valore all'array." +#: orgSeries-options.php:609 +msgid "Series Table of Contents Title:" +msgstr "Titolo indice della serie:" -#: src/domain/services/AssetRegistry.php:228 -msgid "" -"The value for %1$s is already set and it is not an array. The %2$s method " -"can only be used to push values to this data element when it is an array." -msgstr "" -"Il valore per %1$s è già stato impostato e non è un array. Il metodo %2$s " -"può essere utilizzato soltanto per inviare valori a questo elemento dati " -"quando è un array." +#: orgSeries-options.php:546 +msgid "Series Custom Base:" +msgstr "Base personalizzata della serie:" -#: orgSeries-options.php:375 -msgid "" -"These settings allow you to customize the main frontend screens in " -"PublishPress Series." -msgstr "" +#: orgSeries-options.php:605 +msgid "Series Per Page:" +msgstr "Serie per pagina:" -#: orgSeries-options.php:410 -msgid "" -"These settings allow you to customize the metabox on the post editing screen." -msgstr "" +#: orgSeries-options.php:571 +msgid "Series Table of Contents URL:" +msgstr "URL indice serie:" -#: orgSeries-options.php:382 -msgid "" -"These templates allow you to customize the frontend appearance of " -"PublishPress Series." -msgstr "" +#: orgSeries-options.php:473 +msgid "Display Series Post List?" +msgstr "Visualizzare l'elenco degli articoli della serie?" -#: orgSeries-options.php:655 -msgid "" -"This control how and what series meta information is displayed with posts " -"that are part of a series when the_excerpt is used. " -msgstr "" +#: orgSeries-options.php:953 +msgid "Reset options to default" +msgstr "Reimposta le opzioni ai valori predefiniti" -#: orgSeries-options.php:665 -msgid "This display is shown at the bottom of all posts in a series." -msgstr "" -"Questa visualizzazione è mostrata in fondo a tutti gli articoli di una serie." +#: orgSeries-options.php:392 +msgid "Update Options" +msgstr "Aggiorna opzioni" -#: orgSeries-options.php:587 orgSeries-options.php:626 -msgid "This display is shown at the top of all posts in a series." -msgstr "" -"Questa visualizzazione è mostrata in alto su tutti gli articoli di una serie." +#: orgSeries-options.php:330 +msgid "Will display the description for the series" +msgstr "Visualizzerà la descrizione per la serie" -#: orgSeries-options.php:709 -msgid "This display is used by the \"Latest Series\" widget." -msgstr "" +#: orgSeries-options.php:328 +msgid "Will display the total number of posts in a series" +msgstr "Visualizzerà il numero totale degli articoli di una serie" -#: orgSeries-options.php:733 -msgid "" -"This display is used by the \"Series Table of Contents\" widget, shortcode, " -"and URL." -msgstr "" +#: orgSeries-options.php:326 +msgid "Will display what part of a series the post is" +msgstr "Visualizzerà quale parte di una serie è l'articolo" -#: orgSeries-options.php:740 -msgid "" -"This display is used by the \"Series Table of Contents\". To find the URL " -"for this display, go the \"Display\" tab and then \"Series Table of Contents " -"URL\"." -msgstr "" -"Questa visualizzazione è usata nell' \"Indice delle serie\". Per trovare " -"l'URL di questa visualizzazione, vai alla scheda \"Display\" e poi \"URL " -"indice della serie\"." +#: orgSeries-options.php:324 +msgid "Use this tag either before or after the rest of the template code. It will indicate where you want the content of a post to display." +msgstr "Usa questo tag prima o dopo il resto del codice del template. Indicherà dove vuoi che venga visualizzato il contenuto di un articolo." -#: orgSeries-options.php:403 -msgid "" -"This feature allows you to create a new taxonomy for this plugin to use if " -"you don't want to use the default \"Series\" taxonomy." -msgstr "" -"Questa funzionalità ti permette di creare una nuova tassonomia per questo " -"plugin da utilizzare se non vuoi usare la tassonomia predefinita \"Serie\"." +#: orgSeries-options.php:320 +msgid "Will be replaced by the navigation link for the next post in a series. The text will be whatever is included in the 'Custom Next Post Navigation Text' field. If that field is empty then the text will be the title of the post" +msgstr "Verrà sostituito dal link di navigazione per l'articolo successivo di una serie. Il testo comprenderà tutto ciò che è incluso nel campo \"Testo di navigazione personalizzato articolo successivo\". Se quel campo è vuoto, verrà usato come testo il titolo dell'articolo" -#: orgSeries-options.php:389 -msgid "" -"This section is for the icons that show with your series. Note that you must " -"use a token for the icon in the \"Templates\" settings." -msgstr "" -"Questa sezione è per le icone mostrate con la tua serie. Tieni presente che " -"devi utilizzare un token per l'icona nelle impostazioni \"Template\"." +#: orgSeries-options.php:318 +msgid "Will be replaced by the navigation link for the previous post in a series. The text will be whatever is included in the 'Custom Previous Post Navigation Text' field. If that field is empty then the text will be the title of the post" +msgstr "Verrà sostituito dal link di navigazione per l'articolo precedente di una serie. Il testo comprenderà tutto ciò che è incluso nel campo \"Testo di navigazione personalizzato articolo precedente\". Se quel campo è vuoto, verrà usato come testo il titolo dell'articolo" -#: orgSeries-options.php:513 -msgid "This text will be part of the URL for all Series Overview pages." -msgstr "" -"Questo testo farà parte dell'URL per tutte le pagine di panoramica della " -"serie." +#: orgSeries-options.php:316 +msgid "Will be replaced with the post title of a post in the series linked to the page view of that post." +msgstr "Verrà sostituito con il titolo dell'articolo di un articolo della serie collegata alla visualizzazione della pagina di quell'articolo." -#: orgSeries-widgets.php:417 -msgid "This text will display above other posts in this series." -msgstr "Questo testo verrà mostrato sopra agli altri articoli in questa serie." +#: orgSeries-options.php:314 +msgid "Will be replaced with the post title of a post in the series" +msgstr "Verrà sostituito con il titolo dell'articolo di un articolo della serie" -#: orgSeries-options.php:300 -msgid "" -"This token is for use with the orgSeries widget only - it references where " -"you want the list of series titles to be inserted and requires that the " -"template for each series title be also set." -msgstr "" -"Questo token deve essere utilizzato solo con il widget orgSeries: fa " -"riferimento al punto in cui si desidera inserire l'elenco dei titoli della " -"serie e richiede che sia impostato anche il template per ciascun titolo " -"della serie." +#: orgSeries-options.php:310 +msgid "Is the location token for where the contents of the post list post templates will appear." +msgstr "È il token di posizione in cui verranno visualizzati i contenuti dei template degli articoli dell'elenco di articoli." -#: orgSeries-options.php:296 -msgid "This will be replaced with the series icon for a series." -msgstr "Questa verrà sostituita con l'icona della serie per una serie." +#: orgSeries-options.php:308 +msgid "Same as %series_title% except that it will also be linked to the series page" +msgstr "Uguale a %series_title% tranne per il fatto che sarà collegato anche alla pagina della serie" -#: orgSeries-options.php:302 +#: orgSeries-options.php:306 msgid "This will be replaced with the title of a series" msgstr "Questo sarà sostituito con il titolo di una serie" -#: orgSeries-widgets.php:73 orgSeries-widgets.php:268 -msgid "Title" -msgstr "Titolo" +#: orgSeries-options.php:304 +msgid "This token is for use with the orgSeries widget only - it references where you want the list of series titles to be inserted and requires that the template for each series title be also set." +msgstr "Questo token deve essere utilizzato solo con il widget orgSeries: fa riferimento al punto in cui si desidera inserire l'elenco dei titoli della serie e richiede che sia impostato anche il template per ciascun titolo della serie." -#: orgSeries-options.php:806 -msgid "" -"To create a new taxonomy, enter the new name and click the \"Update " -"Options\" button." -msgstr "" +#: orgSeries-options.php:302 +msgid "Same as %series_icon% except that the series icon will be linked to the series page" +msgstr "Uguale a %series_icon% tranne per il fatto che l'icona della serie sarà collegata alla pagina della serie" -#: inc/utility-functions.php:44 -msgid "" -"To remove this notice you can either deactivate the plugin or upgrade the " -"php version on your server." -msgstr "" -"Per rimuovere questo avviso puoi disattivare il plugin oppure aggiornare la " -"versione del php del tuo server." +#: orgSeries-options.php:300 +msgid "This will be replaced with the series icon for a series." +msgstr "Questa verrà sostituita con l'icona della serie per una serie." -#: orgSeries-options.php:573 -msgid "Top" -msgstr "In alto" +#: orgSeries-options.php:298 +msgid "The following is a legend of the tokens that are available for use in the custom template fields. These will be replaced with the appropriate values when the plugin runs." +msgstr "Di seguito è riportata una legenda o tabella dei token disponibili per l'uso nei campi del template personalizzato. Questi verranno sostituiti con i valori appropriati quando viene eseguito il plugin." -#: src/domain/exceptions/EntityNotFoundException.php:30 -msgid "Unable to retrieve an instance of %1$s. Not found." -msgstr "Impossibile recuperare un'istanza di %1$s. Non è stata trovata." +#: orgSeries-options.php:24 orgSeries-options.php:45 orgSeries-options.php:46 +#: orgSeries-setup.php:747 +msgid "Settings" +msgstr "Impostazioni" -#: orgSeries-options.php:356 -msgid "Update Options" -msgstr "Aggiorna opzioni" +#: orgSeries-manage.php:136 +msgid "Series Icon Upload:" +msgstr "Caricamento dell'icona della serie:" -#: orgSeries-options.php:75 orgSeries-setup.php:284 -msgid "Update Series" -msgstr "Aggiorna serie" +#: orgSeries-manage.php:131 +msgid "Delete image? (note: there will not be an image associated with this series if you select this)" +msgstr "Eliminare l'immagine? (nota: se selezioni questa opzione questa serie non avrà un'immagine associata)" -#: includes-core/pro-placeholder/views/publish-series-placeholder.php:15 -#: includes-core/pro-placeholder/views/series-group-placeholder.php:15 -msgid "Upgrade to Pro" -msgstr "" +#: orgSeries-manage.php:121 +msgid "No icon currently" +msgstr "Nessuna icona attualmente" + +#: orgSeries-manage.php:115 +msgid "Current series icon:" +msgstr "Icona della serie corrente:" #: orgSeries-manage.php:96 orgSeries-manage.php:140 msgid "Upload an image for the series." msgstr "Carica un'immagine per la serie." -#: orgSeries-options.php:460 -msgid "Use box style" -msgstr "Usa lo stile box" - -#: orgSeries-options.php:461 -msgid "Use dark style" -msgstr "Usa lo stile scuro" - -#: orgSeries-options.php:459 -msgid "Use default style" -msgstr "Usa lo stile predefinito" - -#: orgSeries-options.php:462 -msgid "Use light style" -msgstr "Usa lo stile chiaro" - -#: orgSeries-options.php:453 -msgid "Use PublishPress Series CSS styles?" -msgstr "Vuoi usare gli stili CSS di PublishPress Series?" - -#: orgSeries-options.php:320 -msgid "" -"Use this tag either before or after the rest of the template code. It will " -"indicate where you want the content of a post to display." -msgstr "" -"Usa questo tag prima o dopo il resto del codice del template. Indicherà dove " -"vuoi che venga visualizzato il contenuto di un articolo." +#: orgSeries-manage.php:75 +msgid "No Series Icon" +msgstr "Nessuna icona per la serie" -#: orgSeries-widgets.php:12 -msgid "Use this to control the output of the latest series widget" -msgstr "Utilizza questo per controllare l'output del widget ultime serie" +#: orgSeries-manage.php:60 +msgid "Icon" +msgstr "Icona" -#: orgSeries-widgets.php:111 -msgid "Use this to display the Series Table of contents" -msgstr "Usa questo per visualizzare l'indice delle serie" +#: orgSeries-admin.php:445 +msgid "Manage All Series" +msgstr "Gestisci tutte le serie" #: orgSeries-admin.php:438 msgid "View all series" msgstr "Visualizza tutte le serie" -#: orgSeries-widgets.php:90 -msgid "When Series was Created" -msgstr "Quando è stata creata la serie" - -#: orgSeries-options.php:779 -msgid "Width for icon if displayed via the latest series template (in pixels)." -msgstr "" -"Larghezza dell'icona se visualizzata tramite il template ultima serie (in " -"pixels)." - -#: orgSeries-options.php:773 -msgid "Width for icon on a post page (in pixels)." -msgstr "Larghezza dell'icona sulla pagina di un articolo (in pixel)." +#: orgSeries-admin.php:425 +msgid "No Series" +msgstr "Nessuna serie" -#: orgSeries-options.php:767 -msgid "Width for icon on series table of contents page (in pixels)" -msgstr "Larghezza dell'icona sulla pagina indice di una serie (in pixel)." +#: orgSeries-admin.php:419 +msgid "%3$s - (currently set as Part %4$s)" +msgstr "%3$s - (attualmente fa parte di %4$s)" -#: orgSeries-options.php:318 -msgid "" -"Will be replaced by the navigation link for the first post in a series. The " -"text will be whatever is included in the 'Custom First Post Navigation Text' " -"field. If that field is empty then the text will be the title of the post" -msgstr "" -"Sarà sostituito dal link di navigazione per il primo articolo di una serie. " -"Il testo sarà qualsiasi cosa sia inclusa nel campo \"Testo di navigazione " -"personalizzato per il primo articolo\". Se quel campo è vuoto allora il " -"testo sarà il titolo dell'articolo" +#: orgSeries-admin.php:412 +msgid "Part %1$s of %2$s%6$s in the series
%5$s" +msgstr "Parte %1$s of %2$s%6$s della serie
%5$s" -#: orgSeries-options.php:316 -msgid "" -"Will be replaced by the navigation link for the next post in a series. The " -"text will be whatever is included in the 'Custom Next Post Navigation Text' " -"field. If that field is empty then the text will be the title of the post" -msgstr "" -"Verrà sostituito dal link di navigazione per l'articolo successivo di una " -"serie. Il testo comprenderà tutto ciò che è incluso nel campo \"Testo di " -"navigazione personalizzato articolo successivo\". Se quel campo è vuoto, " -"verrà usato come testo il titolo dell'articolo" +#: orgSeries-admin.php:358 orgSeries-admin.php:370 orgSeries-admin.php:453 +#: orgSeries-options.php:36 orgSeries-taxonomy.php:451 +#: orgSeries-widgets.php:232 orgSeries-widgets.php:385 +msgid "Series" +msgid_plural "Series" +msgstr[0] "Serie" +msgstr[1] "Serie" -#: orgSeries-options.php:314 -msgid "" -"Will be replaced by the navigation link for the previous post in a series. " -"The text will be whatever is included in the 'Custom Previous Post " -"Navigation Text' field. If that field is empty then the text will be the " -"title of the post" -msgstr "" -"Verrà sostituito dal link di navigazione per l'articolo precedente di una " -"serie. Il testo comprenderà tutto ciò che è incluso nel campo \"Testo di " -"navigazione personalizzato articolo precedente\". Se quel campo è vuoto, " -"verrà usato come testo il titolo dell'articolo" +#: orgSeries-admin.php:343 +msgid "A short title of this post that will be used in the Series widget. Leave blank to use the full title." +msgstr "Un titolo breve di questo articolo da usare el widget Serie. Lascia vuoto per usare il titolo completo." -#: orgSeries-options.php:310 -msgid "Will be replaced with the post title of a post in the series" -msgstr "" -"Verrà sostituito con il titolo dell'articolo di un articolo della serie" +#: orgSeries-admin.php:341 +msgid "Post title in widget:" +msgstr "Titolo dell'articolo nel widget:" -#: orgSeries-options.php:312 -msgid "" -"Will be replaced with the post title of a post in the series linked to the " -"page view of that post." -msgstr "" -"Verrà sostituito con il titolo dell'articolo di un articolo della serie " -"collegata alla visualizzazione della pagina di quell'articolo." +#: orgSeries-admin.php:332 +msgid "Series Part:" +msgstr "Parte della serie:" -#: orgSeries-options.php:326 -msgid "Will display the description for the series" -msgstr "Visualizzerà la descrizione per la serie" +#: orgSeries-admin.php:289 +msgid "Not part of a series" +msgstr "Non fa parte di una serie" -#: orgSeries-options.php:324 -msgid "Will display the total number of posts in a series" -msgstr "Visualizzerà il numero totale degli articoli di una serie" +#: orgSeries-admin.php:186 +msgid "Hmm... it looks like there is already a series with that name. Try something else" +msgstr "Hmm... sembra che ci sia già una serie con questo nome. Prova qualcos'altro" -#: orgSeries-options.php:322 -msgid "Will display what part of a series the post is" -msgstr "Visualizzerà quale parte di una serie è l'articolo" +#: orgSeries-admin.php:180 +msgid "The name you picked isn't sanitizing correctly. Try something different." +msgstr "Il nome che hai scelto non è strutturato correttamente. Prova qualcos'altro." -#: orgSeries-options.php:362 -msgid "Yes" -msgstr "Sì" +#: orgSeries-admin.php:169 +msgid "Sorry but you don't have permission to add series" +msgstr "Non hai il permesso per aggiungere delle serie" -#: orgSeries-widgets.php:375 -msgid "" -"You can return any series that match this search string (matched against " -"series names) - case insensitive" -msgstr "" -"Puoi restituire tutte le serie che corrispondono a questa stringa di ricerca " -"(abbinata ai nomi delle serie) - insensibile alle maiuscole e alle minuscole" +#: inc/orgSeries_updates.php:281 +msgid "Dismiss" +msgstr "Ignora" -#: orgSeries-widgets.php:369 -msgid "" -"You can select the offset for the number of series (useful for paging). No " -"offset if left blank" -msgstr "" -"Puoi selezionare l'offset per il numero di serie (utile per l'impaginazione)." -" Nessun offset impostato se lasciato vuoto" +#: inc/orgSeries_updates.php:276 +msgid "

There is an automatic update for %s available but your api-key is invalid. Either you have entered the wrong key on the Publishpress Series Options page OR you no longer have access to the updates for this plugin. Automatic upgrades for single website install's are gained via the Basic Support package. Automatic upgrades for multiple website install's are available via the All Addons package or the Lifetime Membership package.

" +msgstr "

C'è un aggiornamento automatico disponibile per %s ma la tua api-key non è valida. O hai inserito la chiave sbagliata nella pagina Publishpress Series Opzioni o non hai più accesso agli aggiornamenti per questo plugin. Gli aggiornamenti automatici per l'installazione su un singolo sito web sono ottenuti tramite il pacchetto Basic Support. Gli aggiornamenti automatici per l'installazione su più siti web sono disponibili tramite il pacchetto Tutti gli add-on o il pacchetto Lifetime Membership.

" -#: orgSeries-setup.php:102 -msgid "" -"Your WordPress version is too old. Publishpress Series 2.2 requires at least " -"WordPress 3.0 to function correctly. Please update your blog via Tools > " -"Upgrade." -msgstr "" -"La tua versione di WordPress è troppo vecchia. Publishpress Series 2.2 " -"richiede almeno WordPress 3.0 per funzionare correttamente. Aggiorna il tuo " -"blog tramite Bacheca > Aggiornamenti." +#: inc/orgSeries_updates.php:272 +msgid "

There is an automatic update for %s available but your api-key has not been set. Please go to the Publishpress Series Options page to set your api_key for this addon.

" +msgstr "

C'è un aggiornamento automatico disponibile per %s ma la tua api-key non è stata impostata. Vai alla pagina Publishpress Series Opzioni per impostare la tua api_key per questo add-on.

" From 1347867e15ce7977e98110e33e66f2158c26ef8e Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Tue, 20 Sep 2022 15:57:29 +0100 Subject: [PATCH 10/35] - Change the menu links inside Series #615 --- addons/publisher/series_issue_manager.php | 2 +- orgSeries-setup.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/publisher/series_issue_manager.php b/addons/publisher/series_issue_manager.php index 7f1718b3..f3293edf 100644 --- a/addons/publisher/series_issue_manager.php +++ b/addons/publisher/series_issue_manager.php @@ -498,7 +498,7 @@ public function admin_menu() $page = add_submenu_page( 'edit.php', __('Manage Series Issues', 'organize-series'), - __('Publish Series', 'organize-series'), + __('Manage Series', 'organize-series'), 'publish_posts', 'manage-issues', [$this, 'series_issue_manager_admin'] diff --git a/orgSeries-setup.php b/orgSeries-setup.php index ed73dcbd..3d884ec6 100644 --- a/orgSeries-setup.php +++ b/orgSeries-setup.php @@ -286,7 +286,7 @@ function register_taxonomy() { 'update_item' => __('Update Series', 'organize-series'), 'add_new_item' => __('Add New Series', 'organize-series'), 'new_item_name' => __('New Series Name', 'organize-series'), - 'menu_name' => __('Manage Series', 'organize-series'), + 'menu_name' => __('Series', 'organize-series'), 'not_found' => __('No series found', 'organize-series') ); $args = array( From 21e4ad138e53bf5616e3b1ab93178a8a9407de92 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Wed, 21 Sep 2022 12:27:36 +0100 Subject: [PATCH 11/35] - Simplify the Publish Series screen #614 --- addons/publisher/series_im_admin_main.php | 78 ++--------------------- 1 file changed, 7 insertions(+), 71 deletions(-) diff --git a/addons/publisher/series_im_admin_main.php b/addons/publisher/series_im_admin_main.php index 84e53dfb..c6ef6290 100644 --- a/addons/publisher/series_im_admin_main.php +++ b/addons/publisher/series_im_admin_main.php @@ -4,87 +4,23 @@ - - - - - - - - - + + + + + - 'publish', - 'paged' => 1, - 'posts_per_page' => 1, - 'tax_query' => array( - 'relation' => 'AND', - array( - 'taxonomy' => ppseries_get_series_slug(), - 'field' => 'id', - 'terms' => array($ser->term_id) - ) - ), - ); - $series_posts = new WP_Query($series_posts_arg); - $published_posts_counts = $series_posts->found_posts; - - //count unpublished posts - $series_posts_arg = array( - 'post_status' => ['draft', 'pending'], - 'paged' => 1, - 'posts_per_page' => 1, - 'tax_query' => array( - 'relation' => 'AND', - array( - 'taxonomy' => ppseries_get_series_slug(), - 'field' => 'id', - 'terms' => array($ser->term_id) - ) - ), - ); - $series_posts = new WP_Query($series_posts_arg); - $unpublished_posts_counts = $series_posts->found_posts; - - //count scheduled posts - $series_posts_arg = array( - 'post_status' => 'future', - 'paged' => 1, - 'posts_per_page' => 1, - 'tax_query' => array( - 'relation' => 'AND', - array( - 'taxonomy' => ppseries_get_series_slug(), - 'field' => 'id', - 'terms' => array($ser->term_id) - ) - ), - ); - $series_posts = new WP_Query($series_posts_arg); - $scheduled_posts_counts = $series_posts->found_posts; - - ?> > - - - - diff --git a/addons/publisher/css/series_im_sort_articles.css b/addons/publisher/css/series_im_sort_articles.css index 199d390b..e790148e 100644 --- a/addons/publisher/css/series_im_sort_articles.css +++ b/addons/publisher/css/series_im_sort_articles.css @@ -1,7 +1,3 @@ -.pp-series-publisher-wrap .tablenav.top { - display: none; -} - .pp-series-publisher-wrap .inner-sidebar #side-sortables { width: 300px; } diff --git a/addons/publisher/series-publish-post-table.php b/addons/publisher/series-publish-post-table.php index 041f22e0..4e9fe73a 100644 --- a/addons/publisher/series-publish-post-table.php +++ b/addons/publisher/series-publish-post-table.php @@ -78,10 +78,13 @@ public function get_table_data(){ $series_posts = []; if ($series_id) { + $per_page = $this->get_items_per_page('pp_series_publisher_per_page', 20); + $current_page = $this->get_pagenum(); + $arg = array( 'post_status' => ['future', 'draft', 'pending'], - 'posts_per_page' => -1, - 'no_found_rows' => true, + 'paged' => $current_page, + 'posts_per_page' => $per_page, 'tax_query' => array( 'relation' => 'AND', array( @@ -91,13 +94,130 @@ public function get_table_data(){ ) ), ); + + /** + * Handle category filter + */ + if ((!empty($_REQUEST['cat'])) && $category = sanitize_text_field($_REQUEST['cat'])) { + $arg['tax_query'][] = [ + 'taxonomy' => 'category', + 'field' => 'slug', + 'terms' => array($category) + ]; + } + + /** + * Handle search + */ + if ((!empty($_REQUEST['s'])) && $search = sanitize_text_field($_REQUEST['s'])) { + $arg['s'] = $search; + } + $series_query = new WP_Query($arg); - $series_posts = $series_query->posts; + + return ['posts'=> $series_query->posts, 'counts'=> $series_query->found_posts]; } return $series_posts; } + /** + * Returns the count of records in the database. + * + * @return null|string + */ + public static function record_count() + { + return $this->get_table_data()['counts']; + } + + + /** + * Add custom filter to tablenav + * + * @param string $which + */ + protected function extra_tablenav( $which ) { + + if ( 'top' === $which ) { + + $taxonomies = get_all_taxopress_public_taxonomies(); + $selected_category = (!empty($_REQUEST['cat'])) ? sanitize_text_field($_REQUEST['cat']) : ''; + ?> +
+ __( 'All Categories', 'organize-series' ), + 'orderby' => 'name', + 'order' => 'ASC', + 'hide_empty' => false, + 'hide_if_empty' => true, + 'selected' => $selected_category, + 'hierarchical' => true, + 'name' => 'cat', + 'taxonomy' => 'category', + 'value_field' => 'slug', + ) + ); + + submit_button( __( 'Filter', 'organize-series' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) ); + ?> +
+ has_items()) { + return; + } + + $input_id = $input_id . '-search-input'; + + if (!empty($_REQUEST['orderby'])) { + echo ''; + } + if (!empty($_REQUEST['order'])) { + echo ''; + } + if (!empty($_REQUEST['page'])) { + echo ''; + } + if (!empty($_REQUEST['action'])) { + echo ''; + } + if (!empty($_REQUEST['series_ID'])) { + echo ''; + } + if (!empty($_REQUEST['cat'])) { + echo ''; + } + + if (!empty($_REQUEST['s'])) { + echo ''; + } + + echo ''; + ?> + + get_items_per_page(str_replace('-', '_', $this->screen->id . '_per_page'), 999); - + $per_page = $this->get_items_per_page('pp_series_publisher_per_page', 20); /** * Fetch the data */ - $data = $this->get_table_data(); - - /** - * Pagination. - */ + $results = $this->get_table_data(); + $data = $results['posts']; + $total_items = $results['counts']; $current_page = $this->get_pagenum(); - $total_items = count($data); - - - /** - * The WP_List_Table class does not handle pagination for us, so we need - * to ensure that the data is trimmed to only the current page. We can use - * array_slice() to - */ - $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); /** * Now we can add the data to the items property, where it can be used by the rest of the class. */ $this->items = $data; - /** * We also have to register our pagination options & calculations. */ $this->set_pagination_args([ 'total_items' => $total_items, //calculate the total number of items - 'per_page' => $per_page, //determine how many items to show on a page + 'per_page' => $per_page, //determine how many items to show on a page 'total_pages' => ceil($total_items / $per_page) //calculate the total number of pages ]); } diff --git a/addons/publisher/series_issue_manager.php b/addons/publisher/series_issue_manager.php index f3293edf..7f288bab 100644 --- a/addons/publisher/series_issue_manager.php +++ b/addons/publisher/series_issue_manager.php @@ -520,9 +520,15 @@ public function series_issue_manager_scripts() public function screen_option() { if(isset($_GET['action']) && $_GET['action'] === 'list'){ + $option = 'per_page'; + $args = [ + 'label' => esc_html__('Number of items per page', 'organize-series'), + 'default' => 20, + 'option' => 'pp_series_publisher_per_page' + ]; include_once 'series-publish-post-table.php'; $this->series_publish_table = new PPS_Publisher_Post_Publish_Table(); - + add_screen_option($option, $args); } if(isset($_GET['action']) && ($_GET['action'] === 'part' || $_GET['action'] === 'order')){ include_once 'series-part-post-table.php'; @@ -616,10 +622,26 @@ public function ppseries_publisher_publish_output($series_ID)

name); ?>

+ ' . esc_html__('Search results for “%s”', + 'organize-series') . '', esc_html($search)); + } + ?>
+
+ +
+
+ + series_publish_table->search_box(esc_html__('Search', 'organize-series'), 'search'); ?> + +
+
Date: Fri, 23 Sep 2022 10:26:56 +0100 Subject: [PATCH 16/35] - Set series part if empty irrespective of Automatic Numbering settings #636 --- orgSeries-taxonomy.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/orgSeries-taxonomy.php b/orgSeries-taxonomy.php index 68e08c7b..7429f51c 100644 --- a/orgSeries-taxonomy.php +++ b/orgSeries-taxonomy.php @@ -495,6 +495,18 @@ function wp_set_post_series( $post, $update, $post_ID = 0, $series_id = array(), $automatic_series_part = isset($settings['automatic_series_part']) ? (int)$settings['automatic_series_part'] : 0; + //set auto series part if part is empty + if($automatic_series_part === 0 + && isset($_REQUEST['action']) + && in_array($_REQUEST['action'], ['editpost']) + && $_REQUEST['post_series'] > 0 + && is_array($_REQUEST['series_part']) + && count($_REQUEST['series_part']) === 1 + && empty($_REQUEST['series_part'][$_REQUEST['post_series']]) + ) { + $automatic_series_part = 1; + } + if ( !is_bool($update) ){ return; //safety check for users on earlier version of WP (so existing series don't get messed up) } From 0552bc90477ed9b05841d0436ae1a01a8df7c69d Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Fri, 23 Sep 2022 12:20:55 +0100 Subject: [PATCH 17/35] - Only allow valid numbers in series part input #634 --- orgSeries-admin.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/orgSeries-admin.php b/orgSeries-admin.php index 0c6c162a..42e63b62 100644 --- a/orgSeries-admin.php +++ b/orgSeries-admin.php @@ -353,7 +353,8 @@ function series_edit_meta_box() {
- +

From 0a9501d569667a80acedced084e4043a8f16faf4 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Mon, 26 Sep 2022 11:56:27 +0100 Subject: [PATCH 18/35] - Move Series Table of Contents to the content body #618 --- orgSeries.css | 376 ++++++++++++++++++++-------------------- orgSeriesBoxTheme.css | 1 - orgSeriesDarkTheme.css | 2 - orgSeriesLightTheme.css | 2 - 4 files changed, 187 insertions(+), 194 deletions(-) diff --git a/orgSeries.css b/orgSeries.css index aea6c2d8..8777c532 100644 --- a/orgSeries.css +++ b/orgSeries.css @@ -1,189 +1,187 @@ -.imgset { - float: left; - /*overflow: visible;*/ - border: none; - margin-right: 6px; -} - -.serieslist-content { - font-size: 1.2em; - color: #000; - text-align: left; -} - -.serieslist-box { - background: #fff; - width: 90%; - /*height: 100px;*/ - padding: 6px; - margin: 10px auto 0 auto; - border: 1px solid #1E3A96; - border-bottom: 2px solid #1E3A96; -} - -html>body .serieslist-box { - height: auto; - /*min-height: 100px;*/ -} - -h2.series-title { - font-size: 1.2em; - color: #1E3A96; - text-align: center; -} - -ul.serieslist-ul { - margin: 0; - padding: 0; - list-style-type: none; -} - -li.serieslist-li { - margin: 0; - padding: 0; -} - -.seriesbox { - display:inline; - float: right; - background: #F8F8F8; - color: #777; - text-align: left; - font-size: .8em; - margin: 0 10px 0px 10px; - padding: 0 20px 20px; - border: 1px solid #1E3A96; - border-bottom-width: 3px; - min-width: 125px; -} - -.seriesbox img { - padding-top: 20px; -} - -h3.series-title-post-page { - font-size: 1.1em; - color: #1E3A96; - text-align: center; -} - -p.series-description { - font-style: italic; -} - -.seriesmeta { - background-color: #E5F3FF; - font-size: .8em; - padding: 20px; - margin-bottom: 20px; -} - -.series-nav-left { - float: left; - margin-right: 20px; -} - -.series-nav-right { - float: right; -} - -.stocpagination { - clear: both; - padding: 20px 0; - position: relative; - left: 465px; - font-size: 12px; - line-height: 13px; - color: #fff; -} - -.stocpagination a { - display: block; - text-decoration: none; - color: #717171; - font: bold 11px Arial, sans-serif; - text-shadow: 0px 1px white; - padding: 5px 8px; - - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - - -webkit-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.35); - -moz-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.35); - box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.35); - background: #f9f9f9; - - background: -webkit-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); - background: -moz-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); - background: -o-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); - background: -ms-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); - background: linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9f9f9', endColorstr='#e8e8e8',GradientType=0 ); -} - -.stocpagination a:visited { - color: #5F7BB3; - background-color: #F1F6F5; - text-decoration: none; -} - -.page-numbers { - background-color:transparent; - display: block; - float: left; - margin: 0 5px 5px 0; - padding: 6px 9px 5px 9px; - text-decoration:none; - width: auto; - color: #fff; - background: #555; - border-color: #c8d6d6 #9EADAD #9EADAD #c8d6d6; -} - -.stocpagination a:hover { - -webkit-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.55); - -moz-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.55); - box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.55); - background: #fff; - background: -webkit-linear-gradient(top, #fff 0%, #e8e8e8 100%); - background: -moz-linear-gradient(top, #fff 0%, #e8e8e8 100%); - background: -o-linear-gradient(top, #fff 0%, #e8e8e8 100%); - background: -ms-linear-gradient(top, #fff 0%, #e8e8e8 100%); - background: linear-gradient(top, #fff 0%, #e8e8e8 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#e8e8e8',GradientType=0 ); -} - -.stocpagination a:active, .page-numbers.current:active { - -webkit-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.5), 0px 1px 1px 0px rgba(255,255,255,1); - -moz-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.5), 0px 1px 1px 0px rgba(255,255,255,1); - box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.5), 0px 1px 1px 0px rgba(255,255,255,1); -} - -.page-numbers.current:hover { - -webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.9); - -moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.9); - box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.9); - background: #99cefc; - background: -webkit-linear-gradient(top, #99cefc 0%, #57a1d8 100%); - background: -moz-linear-gradient(top, #99cefc 0%, #57a1d8 100%); - background: -o-linear-gradient(top, #99cefc 0%, #57a1d8 100%); - background: -ms-linear-gradient(top, #99cefc 0%, #57a1d8 100%); - background: linear-gradient(top, #99cefc 0%, #57a1d8 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99cefc', endColorstr='#57a1d8',GradientType=0 ); -} - -.page-numbers.current { - color: white; - text-shadow: 0px 1px #3f789f; - -webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.8); - -moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.8); - box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.8); - background: #7cb9e5; - background: -webkit-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); - background: -moz-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); - background: -o-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); - background: -ms-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); - background: linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7cb9e5', endColorstr='#57a1d8',GradientType=0 ); -} +.imgset { + float: left; + /*overflow: visible;*/ + border: none; + margin-right: 6px; +} + +.serieslist-content { + font-size: 1.2em; + color: #000; + text-align: left; +} + +.serieslist-box { + background: #fff; + width: 90%; + /*height: 100px;*/ + padding: 6px; + margin: 10px auto 0 auto; + border: 1px solid #1E3A96; + border-bottom: 2px solid #1E3A96; +} + +html>body .serieslist-box { + height: auto; + /*min-height: 100px;*/ +} + +h2.series-title { + font-size: 1.2em; + color: #1E3A96; + text-align: center; +} + +ul.serieslist-ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +li.serieslist-li { + margin: 0; + padding: 0; +} + +.seriesbox { + background: #F8F8F8; + color: #777; + text-align: left; + font-size: .8em; + margin: 0 10px 0px 10px; + padding: 0 20px 20px; + border: 1px solid #1E3A96; + border-bottom-width: 3px; + min-width: 125px; +} + +.seriesbox img { + padding-top: 20px; +} + +h3.series-title-post-page { + font-size: 1.1em; + color: #1E3A96; + text-align: center; +} + +p.series-description { + font-style: italic; +} + +.seriesmeta { + background-color: #E5F3FF; + font-size: .8em; + padding: 20px; + margin-bottom: 20px; +} + +.series-nav-left { + float: left; + margin-right: 20px; +} + +.series-nav-right { + float: right; +} + +.stocpagination { + clear: both; + padding: 20px 0; + position: relative; + left: 465px; + font-size: 12px; + line-height: 13px; + color: #fff; +} + +.stocpagination a { + display: block; + text-decoration: none; + color: #717171; + font: bold 11px Arial, sans-serif; + text-shadow: 0px 1px white; + padding: 5px 8px; + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.35); + -moz-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.35); + box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.35); + background: #f9f9f9; + + background: -webkit-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); + background: -moz-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); + background: -o-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); + background: -ms-linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); + background: linear-gradient(top, #f9f9f9 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9f9f9', endColorstr='#e8e8e8',GradientType=0 ); +} + +.stocpagination a:visited { + color: #5F7BB3; + background-color: #F1F6F5; + text-decoration: none; +} + +.page-numbers { + background-color:transparent; + display: block; + float: left; + margin: 0 5px 5px 0; + padding: 6px 9px 5px 9px; + text-decoration:none; + width: auto; + color: #fff; + background: #555; + border-color: #c8d6d6 #9EADAD #9EADAD #c8d6d6; +} + +.stocpagination a:hover { + -webkit-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.55); + -moz-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.55); + box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.55); + background: #fff; + background: -webkit-linear-gradient(top, #fff 0%, #e8e8e8 100%); + background: -moz-linear-gradient(top, #fff 0%, #e8e8e8 100%); + background: -o-linear-gradient(top, #fff 0%, #e8e8e8 100%); + background: -ms-linear-gradient(top, #fff 0%, #e8e8e8 100%); + background: linear-gradient(top, #fff 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#e8e8e8',GradientType=0 ); +} + +.stocpagination a:active, .page-numbers.current:active { + -webkit-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.5), 0px 1px 1px 0px rgba(255,255,255,1); + -moz-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.5), 0px 1px 1px 0px rgba(255,255,255,1); + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.5), 0px 1px 1px 0px rgba(255,255,255,1); +} + +.page-numbers.current:hover { + -webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.9); + -moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.9); + box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.9); + background: #99cefc; + background: -webkit-linear-gradient(top, #99cefc 0%, #57a1d8 100%); + background: -moz-linear-gradient(top, #99cefc 0%, #57a1d8 100%); + background: -o-linear-gradient(top, #99cefc 0%, #57a1d8 100%); + background: -ms-linear-gradient(top, #99cefc 0%, #57a1d8 100%); + background: linear-gradient(top, #99cefc 0%, #57a1d8 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99cefc', endColorstr='#57a1d8',GradientType=0 ); +} + +.page-numbers.current { + color: white; + text-shadow: 0px 1px #3f789f; + -webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.8); + -moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.8); + box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.8); + background: #7cb9e5; + background: -webkit-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); + background: -moz-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); + background: -o-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); + background: -ms-linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); + background: linear-gradient(top, #7cb9e5 0%, #57a1d8 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7cb9e5', endColorstr='#57a1d8',GradientType=0 ); +} diff --git a/orgSeriesBoxTheme.css b/orgSeriesBoxTheme.css index b79df419..054771da 100644 --- a/orgSeriesBoxTheme.css +++ b/orgSeriesBoxTheme.css @@ -1,5 +1,4 @@ .seriesbox { - float: right; background: #fff; color: #444; text-align: left; diff --git a/orgSeriesDarkTheme.css b/orgSeriesDarkTheme.css index c56dedfe..29bb4f01 100644 --- a/orgSeriesDarkTheme.css +++ b/orgSeriesDarkTheme.css @@ -1,6 +1,4 @@ .seriesbox { - display:inline; - float: right; background: #222; color: #f2f2f2; text-align: left; diff --git a/orgSeriesLightTheme.css b/orgSeriesLightTheme.css index a17439c1..368cb4da 100644 --- a/orgSeriesLightTheme.css +++ b/orgSeriesLightTheme.css @@ -1,6 +1,4 @@ .seriesbox { - display:inline; - float: right; background: #f2f2f2; color: #444; text-align: left; From abe8b272f28380e42430177b6da567eb5fa91e30 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Mon, 26 Sep 2022 13:05:13 +0100 Subject: [PATCH 19/35] - Add settings to limit series meta display to single page only #588 --- inc/utility-functions.php | 11 +++++++++++ orgSeries-options.php | 6 ++++++ orgSeries-setup.php | 10 ++++++++++ 3 files changed, 27 insertions(+) diff --git a/inc/utility-functions.php b/inc/utility-functions.php index 2f1738b6..4bfc423d 100644 --- a/inc/utility-functions.php +++ b/inc/utility-functions.php @@ -107,6 +107,17 @@ function pp_series_upgrade_function() } update_option('pp_series_2_8_0_upgraded', true); } + + if (!get_option('pp_series_2_10_0_upgraded')) { + $settings = get_option('org_series_options'); + $settings = apply_filters('org_series_settings', $settings); + //add new series settings only if not fresh installation + if ($settings) { + $settings['limit_series_meta_to_single'] = 0; + update_option('org_series_options', $settings); + } + update_option('pp_series_2_10_0_upgraded', true); + } } diff --git a/orgSeries-options.php b/orgSeries-options.php index ab9fec2c..91220de0 100644 --- a/orgSeries-options.php +++ b/orgSeries-options.php @@ -156,6 +156,7 @@ function orgseries_validate($input) { $newinput['metabox_show_add_new'] = ( isset($input['metabox_show_add_new']) && $input['metabox_show_add_new'] == 1 ? 1 : 0 ); $newinput['metabox_show_series_part'] = ( isset($input['metabox_show_series_part']) && $input['metabox_show_series_part'] == 1 ? 1 : 0 ); $newinput['metabox_show_post_title_in_widget'] = ( isset($input['metabox_show_post_title_in_widget']) && $input['metabox_show_post_title_in_widget'] == 1 ? 1 : 0 ); + $newinput['limit_series_meta_to_single'] = ( isset($input['limit_series_meta_to_single']) && $input['limit_series_meta_to_single'] == 1 ? 1 : 0 ); $newinput['series_perp_toc'] = trim(preg_replace('/[^0-9]/', '', ($input['series_perp_toc']))); @@ -713,6 +714,11 @@ function series_templates_core_fieldset() { +

+ + + + + + + term_id != '' ) { ?> @@ -134,5 +269,93 @@ function edit_series_form_fields($series, $taxonomy) { status = 'error'; + // Bail if required term data is missing + if (!isset($_POST['terms']) || !isset($_POST['nonce']) || !isset($_POST['tax']) || !is_array($_POST['terms'])) { + $return_data->message = __('Invalid form data', 'organize-series'); + die( json_encode( $return_data ) ); + } + + $terms = array_map('sanitize_text_field', $_POST['terms']); + $nonce = sanitize_text_field($_POST['nonce']); + $tax = sanitize_text_field($_POST['tax']); + + //bail if invalid nonce + if (!wp_verify_nonce($nonce, 'series-order-nonce')) { + $return_data->message = __('Invalid nonce, reload and try again', 'organize-series'); + die( json_encode( $return_data ) ); + } + + // Attempt to get the taxonomy + $tax = get_taxonomy($tax); + + // Bail if taxonomy does not exist + if ( empty( $tax ) ) { + $return_data->message = __('Invalid taxonomy', 'organize-series'); + die( json_encode( $return_data ) ); + } + + // Bail if current user cannot assign terms + if ( ! current_user_can( $tax->cap->edit_terms ) ) { + $return_data->message = __('Not enough permission', 'organize-series'); + die( json_encode( $return_data ) ); + } + + $return_data->message = __('Updated successfully', 'organize-series'); + + foreach($terms as $key => $term_id) { + $wpdb->update( $wpdb->terms, array('term_order' => ($key + 1)), array('term_id' => $term_id) ); + + } + clean_term_cache($terms); + + die( json_encode( $return_data ) ); +} + +function pp_series_terms_clauses($clauses, $taxonomies, $args) { + + if (!in_array(ppseries_get_series_slug(), $taxonomies) && !in_array('series_group', $taxonomies)) { + return $clauses; + } + + if (is_admin()) { + //return if use orderby columns + if (isset($_GET['orderby']) && $_GET['orderby'] != 'term_order') { + return $clauses; + } + if ((!isset($args['ignore_term_order']) || (isset($args['ignore_term_order']) && $args['ignore_term_order'] !== true))) { + $clauses['orderby'] = 'ORDER BY t.term_order'; + } + + return $clauses; + } + + if ((!isset($args['ignore_term_order']) || (isset($args['ignore_term_order']) && $args['ignore_term_order'] !== true) ) ) { + $clauses['orderby'] = 'ORDER BY t.term_order'; + } + + return $clauses; +} + +function pp_series_get_terms_orderby($orderby, $args) +{ + if (!isset($args['taxonomy'])) { + return $orderby; + } + if (!in_array(ppseries_get_series_slug(), $args['taxonomy']) && !in_array('series_group', $args['taxonomy'])) { + return $orderby; + } + + if (isset($args['orderby']) && $args['orderby'] == "term_order" && $orderby != "term_order") { + return "t.term_order"; + } + + return $orderby; +} ?> \ No newline at end of file From 97b86b376a10b90337c65cbf73466a8fba2f9db7 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 29 Sep 2022 13:47:13 +0100 Subject: [PATCH 24/35] - composer update --- composer.lock | 121 ++++++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 58 deletions(-) diff --git a/composer.lock b/composer.lock index 98f52b4e..396481b5 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "alledia/edd-sl-plugin-updater", - "version": "v1.6.21", + "version": "v1.6.22", "source": { "type": "git", "url": "https://github.com/publishpress/EDD-SL-Plugin-Updater.git", - "reference": "0c87ee916d3a4fafa1c940691b101aa48ec8622c" + "reference": "56525f1acd28e340f7a7e523638c1424ca7f0e0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/publishpress/EDD-SL-Plugin-Updater/zipball/0c87ee916d3a4fafa1c940691b101aa48ec8622c", - "reference": "0c87ee916d3a4fafa1c940691b101aa48ec8622c", + "url": "https://api.github.com/repos/publishpress/EDD-SL-Plugin-Updater/zipball/56525f1acd28e340f7a7e523638c1424ca7f0e0a", + "reference": "56525f1acd28e340f7a7e523638c1424ca7f0e0a", "shasum": "" }, "require": { @@ -56,9 +56,9 @@ ], "support": { "issues": "https://github.com/publishpress/EDD-SL-Plugin-Updater/issues", - "source": "https://github.com/publishpress/EDD-SL-Plugin-Updater/tree/v1.6.21" + "source": "https://github.com/publishpress/EDD-SL-Plugin-Updater/tree/v1.6.22" }, - "time": "2022-06-03T17:30:27+00:00" + "time": "2022-09-23T19:16:06+00:00" }, { "name": "alledia/wordpress-edd-license-integration", @@ -354,16 +354,16 @@ }, { "name": "publishpress/wordpress-banners", - "version": "v1.3.0", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/publishpress/wordpress-banners.git", - "reference": "08e20b98320367bdbc59105095c72e7ccbf968f1" + "reference": "bcb5f9f00973d53e2db027f9a05c059f18743fae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/publishpress/wordpress-banners/zipball/08e20b98320367bdbc59105095c72e7ccbf968f1", - "reference": "08e20b98320367bdbc59105095c72e7ccbf968f1", + "url": "https://api.github.com/repos/publishpress/wordpress-banners/zipball/bcb5f9f00973d53e2db027f9a05c059f18743fae", + "reference": "bcb5f9f00973d53e2db027f9a05c059f18743fae", "shasum": "" }, "require": { @@ -389,9 +389,9 @@ "homepage": "http://publishpress.com/", "support": { "issues": "https://github.com/publishpress/wordpress-banners/issues", - "source": "https://github.com/publishpress/wordpress-banners/tree/v1.3.0" + "source": "https://github.com/publishpress/wordpress-banners/tree/v1.3.1" }, - "time": "2022-06-03T15:45:27+00:00" + "time": "2022-08-15T18:07:23+00:00" }, { "name": "publishpress/wordpress-reviews", @@ -1745,28 +1745,29 @@ }, { "name": "sirbrillig/phpcs-variable-analysis", - "version": "v2.11.3", + "version": "v2.11.8", "source": { "type": "git", "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git", - "reference": "c921498b474212fe4552928bbeb68d70250ce5e8" + "reference": "aaf902277f2889fddbdb37046ae02b9965e2cf0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/c921498b474212fe4552928bbeb68d70250ce5e8", - "reference": "c921498b474212fe4552928bbeb68d70250ce5e8", + "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/aaf902277f2889fddbdb37046ae02b9965e2cf0f", + "reference": "aaf902277f2889fddbdb37046ae02b9965e2cf0f", "shasum": "" }, "require": { "php": ">=5.4.0", - "squizlabs/php_codesniffer": "^3.5" + "squizlabs/php_codesniffer": "^3.5.6" }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "limedeck/phpunit-detailed-printer": "^3.1 || ^4.0 || ^5.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^5.0 || ^6.5 || ^7.0 || ^8.0", - "sirbrillig/phpcs-import-detection": "^1.1" + "phpcsstandards/phpcsdevcs": "^1.1", + "phpstan/phpstan": "^1.7", + "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.5 || ^7.0 || ^8.0 || ^9.0", + "sirbrillig/phpcs-import-detection": "^1.1", + "vimeo/psalm": "^0.2 || ^0.3 || ^1.1 || ^4.24 || ^5.0@beta" }, "type": "phpcodesniffer-standard", "autoload": { @@ -1789,12 +1790,16 @@ } ], "description": "A PHPCS sniff to detect problems with variables.", + "keywords": [ + "phpcs", + "static analysis" + ], "support": { "issues": "https://github.com/sirbrillig/phpcs-variable-analysis/issues", "source": "https://github.com/sirbrillig/phpcs-variable-analysis", "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki" }, - "time": "2022-02-21T17:01:13+00:00" + "time": "2022-09-08T18:35:53+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -1854,16 +1859,16 @@ }, { "name": "symfony/console", - "version": "v5.4.10", + "version": "v5.4.12", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "4d671ab4ddac94ee439ea73649c69d9d200b5000" + "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/4d671ab4ddac94ee439ea73649c69d9d200b5000", - "reference": "4d671ab4ddac94ee439ea73649c69d9d200b5000", + "url": "https://api.github.com/repos/symfony/console/zipball/c072aa8f724c3af64e2c7a96b796a4863d24dba1", + "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1", "shasum": "" }, "require": { @@ -1933,7 +1938,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.10" + "source": "https://github.com/symfony/console/tree/v5.4.12" }, "funding": [ { @@ -1949,7 +1954,7 @@ "type": "tidelift" } ], - "time": "2022-06-26T13:00:04+00:00" + "time": "2022-08-17T13:18:05+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2184,16 +2189,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.9", + "version": "v5.4.12", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "36a017fa4cce1eff1b8e8129ff53513abcef05ba" + "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/36a017fa4cce1eff1b8e8129ff53513abcef05ba", - "reference": "36a017fa4cce1eff1b8e8129ff53513abcef05ba", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/2d67c1f9a1937406a9be3171b4b22250c0a11447", + "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447", "shasum": "" }, "require": { @@ -2228,7 +2233,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.9" + "source": "https://github.com/symfony/filesystem/tree/v5.4.12" }, "funding": [ { @@ -2244,20 +2249,20 @@ "type": "tidelift" } ], - "time": "2022-05-20T13:55:35+00:00" + "time": "2022-08-02T13:48:16+00:00" }, { "name": "symfony/finder", - "version": "v5.4.8", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9" + "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9b630f3427f3ebe7cd346c277a1408b00249dad9", - "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9", + "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c", + "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c", "shasum": "" }, "require": { @@ -2291,7 +2296,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.8" + "source": "https://github.com/symfony/finder/tree/v5.4.11" }, "funding": [ { @@ -2307,7 +2312,7 @@ "type": "tidelift" } ], - "time": "2022-04-15T08:07:45+00:00" + "time": "2022-07-29T07:37:50+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -2721,16 +2726,16 @@ }, { "name": "symfony/process", - "version": "v5.4.8", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3" + "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", - "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", + "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1", + "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1", "shasum": "" }, "require": { @@ -2763,7 +2768,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.8" + "source": "https://github.com/symfony/process/tree/v5.4.11" }, "funding": [ { @@ -2779,7 +2784,7 @@ "type": "tidelift" } ], - "time": "2022-04-08T05:07:18+00:00" + "time": "2022-06-27T16:58:25+00:00" }, { "name": "symfony/service-contracts", @@ -2862,16 +2867,16 @@ }, { "name": "symfony/string", - "version": "v5.4.10", + "version": "v5.4.12", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4432bc7df82a554b3e413a8570ce2fea90e94097" + "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4432bc7df82a554b3e413a8570ce2fea90e94097", - "reference": "4432bc7df82a554b3e413a8570ce2fea90e94097", + "url": "https://api.github.com/repos/symfony/string/zipball/2fc515e512d721bf31ea76bd02fe23ada4640058", + "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058", "shasum": "" }, "require": { @@ -2928,7 +2933,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.10" + "source": "https://github.com/symfony/string/tree/v5.4.12" }, "funding": [ { @@ -2944,20 +2949,20 @@ "type": "tidelift" } ], - "time": "2022-06-26T15:57:47+00:00" + "time": "2022-08-12T17:03:11+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.10", + "version": "v5.4.12", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "04e42926429d9e8b39c174387ab990bf7817f7a2" + "reference": "7a3aa21ac8ab1a96cc6de5bbcab4bc9fc943b18c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/04e42926429d9e8b39c174387ab990bf7817f7a2", - "reference": "04e42926429d9e8b39c174387ab990bf7817f7a2", + "url": "https://api.github.com/repos/symfony/yaml/zipball/7a3aa21ac8ab1a96cc6de5bbcab4bc9fc943b18c", + "reference": "7a3aa21ac8ab1a96cc6de5bbcab4bc9fc943b18c", "shasum": "" }, "require": { @@ -3003,7 +3008,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.10" + "source": "https://github.com/symfony/yaml/tree/v5.4.12" }, "funding": [ { @@ -3019,7 +3024,7 @@ "type": "tidelift" } ], - "time": "2022-06-20T11:50:59+00:00" + "time": "2022-08-02T15:52:22+00:00" }, { "name": "wp-coding-standards/wpcs", From f9f9a786f6c473fdc6bf0452006f302f53583ba4 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 29 Sep 2022 13:52:51 +0100 Subject: [PATCH 25/35] - update changelog --- readme.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/readme.txt b/readme.txt index 629cc8c3..d089572f 100644 --- a/readme.txt +++ b/readme.txt @@ -173,6 +173,29 @@ Yes, Publishpress Series introduces a new taxonomy "series". Thanks to the rich == Changelog == +v2.10.0- 2022-09-29 +* Feature: Add Series and Series Group re-order field with term drag and drop feature #584 +* Feature: Add series order link to series and new post selected series #612 +* Feature: Add series Groups(Categories) overview page shortcode [publishpress_series_categories] #591 +* Feature: Add search box to series metabox #239 +* Feature: Add settings to limit series meta display to single page only #588 +* Fixed: Only allow valid numbers in series part input #634 +* Update: Set series part if empty irrespective of Automatic Numbering settings #636 +* Feature: Add filter, search and pagination to "Publish Series" screen #510 +* Update: Enable "Show "Series Part"" by default #617 +* Fixed: Font styles and font sizes inconsistency on 'Series Table of Contents' widget page #604 +* Fixed: Syntax Error on 'Edit Series' page #607 +* Update: Simplify the Publish Series screen #614 +* Update: Change the menu links inside Series #615 +* Fixed: TOC template header and footer deprecated in FSE themes #623 +* Fixed: Groups template header and footer deprecated in FSE themes #416 +* Fixed: Series taxonomy template header and footer deprecated in FSE themes #409 +* Feature: Add "Series Groups" into a Free feature #613 +* Fixed: Remove new taxonomy metabox #595 +* Fixed: Float left for next post navigation #586 +* Update: Series-Translation updates for Spanish July 21 #578 +* update: Series-Translation updates for French-Spanish-Italian #567 + v2.9.2- 2022-07-12 * Fixed: Problem with series navigation and List #568 * Fixed: Define plugin addon path from primary plugin file to fix include error #570 From 27689d7562dad656c5717475525f43f6d35b20b6 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 29 Sep 2022 13:53:41 +0100 Subject: [PATCH 26/35] - Update the version number to the next stable version --- orgSeries.php | 4 ++-- readme.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/orgSeries.php b/orgSeries.php index b645d5d4..2da8a9ea 100644 --- a/orgSeries.php +++ b/orgSeries.php @@ -3,7 +3,7 @@ * Plugin Name: PublishPress Series * Plugin URI: https://publishpress.com/publishpress-series/ * Description: PublishPress Series allows you to group content together into a series. This is ideal for magazines, newspapers, short-story writers, teachers, comic artists, or anyone who writes multiple posts on the same topic. - * Version: 2.9.2 + * Version: 2.10.0 * Author: PublishPress * Author URI: https://publishpress.com/ * Text Domain: organize-series @@ -73,7 +73,7 @@ register_activation_hook( __FILE__, 'pp_series_core_activation' ); if (!defined('ORG_SERIES_VERSION')) { - define('ORG_SERIES_VERSION', '2.9.2'); //the current version of the plugin + define('ORG_SERIES_VERSION', '2.10.0'); //the current version of the plugin define( 'SERIES_FILE_PATH', __FILE__ ); define( 'SERIES_PATH_URL', plugins_url('', __FILE__).'/' ); define('SERIES_LOC', plugins_url('', __FILE__).'/' ); //the uri of the orgSeries files. diff --git a/readme.txt b/readme.txt index d089572f..45d7e5f4 100644 --- a/readme.txt +++ b/readme.txt @@ -5,7 +5,7 @@ Tags: issue, series, magazine, newspaper, publication Requires at least: 4.7 Requires PHP: 5.6 Tested up to: 6.0 -Stable tag: 2.9.2 +Stable tag: 2.10.0 License: GPLv2 License URI: http://www.gnu.org/licenses/gpl-2.0.html From 01ab576fefb18b423d042f2da1d05c0a25bbc6cd Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 29 Sep 2022 17:59:49 +0100 Subject: [PATCH 27/35] - Fix term_order column missing --- inc/utility-functions.php | 8 ++++++++ readme.txt | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/inc/utility-functions.php b/inc/utility-functions.php index 4bfc423d..53f87ca6 100644 --- a/inc/utility-functions.php +++ b/inc/utility-functions.php @@ -73,6 +73,7 @@ function ppseries_settings_template_tabbed_callback(){ //activation functions/codes function pp_series_upgrade_function() { + global $wpdb; if (!get_option('pp_series_2_7_1_upgraded')) { if ( function_exists( 'get_role' ) ) { @@ -118,6 +119,13 @@ function pp_series_upgrade_function() } update_option('pp_series_2_10_0_upgraded', true); } + + if (!get_option('pp_series_2_10_0_1_upgraded')) { + if (!$wpdb->query("SELECT `term_order` FROM `{$wpdb->terms}`")) { + $wpdb->query("ALTER TABLE `{$wpdb->terms}` ADD `term_order` INT (11) NOT NULL DEFAULT 0;"); + update_option('pp_series_2_10_0_1_upgraded', true); + } + } } diff --git a/readme.txt b/readme.txt index 45d7e5f4..28a625e7 100644 --- a/readme.txt +++ b/readme.txt @@ -194,7 +194,7 @@ v2.10.0- 2022-09-29 * Fixed: Remove new taxonomy metabox #595 * Fixed: Float left for next post navigation #586 * Update: Series-Translation updates for Spanish July 21 #578 -* update: Series-Translation updates for French-Spanish-Italian #567 +* Update: Series-Translation updates for French-Spanish-Italian #567 v2.9.2- 2022-07-12 * Fixed: Problem with series navigation and List #568 From 169224f270f06443c020aebc8bc11d620f2fc3cf Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 29 Sep 2022 20:10:15 +0100 Subject: [PATCH 28/35] - Fix Fatal error for "Publish or schedule posts" #652 --- addons/publisher/series-publish-post-table.php | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/publisher/series-publish-post-table.php b/addons/publisher/series-publish-post-table.php index 4e9fe73a..84339461 100644 --- a/addons/publisher/series-publish-post-table.php +++ b/addons/publisher/series-publish-post-table.php @@ -141,7 +141,6 @@ protected function extra_tablenav( $which ) { if ( 'top' === $which ) { - $taxonomies = get_all_taxopress_public_taxonomies(); $selected_category = (!empty($_REQUEST['cat'])) ? sanitize_text_field($_REQUEST['cat']) : ''; ?>
From 618c0b71efe9a1d209982baabdcecdae7f8db5cd Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Fri, 30 Sep 2022 10:14:53 +0100 Subject: [PATCH 29/35] - Remove "Create as unpublished"? #655 --- addons/publisher/series_issue_manager.php | 2 +- readme.txt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/publisher/series_issue_manager.php b/addons/publisher/series_issue_manager.php index 7f288bab..d90da8ee 100644 --- a/addons/publisher/series_issue_manager.php +++ b/addons/publisher/series_issue_manager.php @@ -227,7 +227,7 @@ function series_issue_manager_add_series_form() { $published = get_option('im_published_series'); $unpublished = get_option('im_unpublished_series'); ?> -
+'; @@ -488,7 +488,7 @@ function add_orgseries_group_fields($taxonomy) {
-

+

@@ -509,7 +509,7 @@ function edit_orgseries_group_fields($series, $taxonomy) { ?>
- +
name); ?> term_id.'')) ."'>". esc_html__('Update order', 'organize-series').""; - ?> term_id.'')) ."'>". esc_html__('Publish all', 'organize-series').""; + echo "term_id.'')) ."'>". esc_html__('Series order', 'organize-series').""; ?> term_id.'')) ."'>". esc_html__('Unpublish all', 'organize-series').""; + echo "term_id.'')) ."'>". esc_html__('Publish or schedule posts', 'organize-series').""; ?> slug.'')) ."'>". esc_html__('View series in admin','organize-series').""; From 224c96b64d568e90790993861b98ce770d5ad88f Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Wed, 21 Sep 2022 13:01:46 +0100 Subject: [PATCH 12/35] - Syntax Error on 'Edit Series' page #607 --- orgSeries-setup.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/orgSeries-setup.php b/orgSeries-setup.php index 3d884ec6..88c9c20f 100644 --- a/orgSeries-setup.php +++ b/orgSeries-setup.php @@ -287,7 +287,13 @@ function register_taxonomy() { 'add_new_item' => __('Add New Series', 'organize-series'), 'new_item_name' => __('New Series Name', 'organize-series'), 'menu_name' => __('Series', 'organize-series'), - 'not_found' => __('No series found', 'organize-series') + 'not_found' => __('No series found', 'organize-series'), + 'back_to_items' => __('← Go to Series', 'organize-series'), + 'view_item' => __('View Series', 'organize-series'), + 'no_terms' => __('No Series', 'organize-series'), + 'items_list' => __('Series List', 'organize-series'), + 'item_link' => __('Series Link', 'organize-series'), + 'item_link_description' => __('A link to a Series', 'organize-series') ); $args = array( 'update_count_callback' => '_os_update_post_term_count', From 6203c753e4246563dd80d9fd2f935531240188a4 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Wed, 21 Sep 2022 14:23:25 +0100 Subject: [PATCH 13/35] - Font styles and font sizes inconsistency on 'Series Table of Contents' widget page #604 --- orgSeries-widgets.php | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/orgSeries-widgets.php b/orgSeries-widgets.php index 60965c83..661010c0 100644 --- a/orgSeries-widgets.php +++ b/orgSeries-widgets.php @@ -70,7 +70,7 @@ function form( $instance ) { $number = (int) $instance['number']; ?>

- +

@@ -265,7 +265,7 @@ function form( $instance ) { $series_array_list = ppseries_get_series_list(); ?>

- +

@@ -275,23 +275,23 @@ function form( $instance ) {

-
- - +
+ +

-

-

- +

- + 0) { @@ -359,24 +359,24 @@ function form( $instance ) {

- +

- + -
+

- + -
+

-

@@ -412,10 +412,10 @@ function form( $instance ) {

-
+

Date: Thu, 22 Sep 2022 10:15:00 +0100 Subject: [PATCH 14/35] - Enable "Show "Series Part"" by default #617 --- inc/utility-functions.php | 2 +- orgSeries-setup.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/utility-functions.php b/inc/utility-functions.php index de2f42f9..2f1738b6 100644 --- a/inc/utility-functions.php +++ b/inc/utility-functions.php @@ -101,7 +101,7 @@ function pp_series_upgrade_function() //add new series settings only if not fresh installation if ($settings) { $settings['metabox_show_post_title_in_widget'] = 0; - $settings['metabox_show_series_part'] = 0; + $settings['metabox_show_series_part'] = 1; $settings['metabox_show_add_new'] = 0; update_option('org_series_options', $settings); } diff --git a/orgSeries-setup.php b/orgSeries-setup.php index 88c9c20f..dd8d07a7 100644 --- a/orgSeries-setup.php +++ b/orgSeries-setup.php @@ -315,7 +315,7 @@ function add_settings($reset = false) { 'custom_css' => 1, 'automatic_series_part' => 0, 'metabox_show_add_new' => 0, - 'metabox_show_series_part' => 0, + 'metabox_show_series_part' => 1, 'metabox_show_post_title_in_widget' => 0, 'kill_on_delete' => 0, //determines if all series information (including series-icon tables) will be deleted when the plugin is deleted using the delete link on the plugins page. 'auto_tag_toggle' => 1, //sets the auto-tag insertions for the post-list box for posts that are part of series. From 61705d70ce14d607e66bf403cf415af3f1ff5834 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 22 Sep 2022 18:50:22 +0100 Subject: [PATCH 15/35] - Add filter, search and pagination to "Publish Series" screen #510 --- addons/grouping/legacy-includes.php | 32 ++-- .../publisher/css/series_im_sort_articles.css | 4 - .../publisher/series-publish-post-table.php | 150 +++++++++++++++--- addons/publisher/series_issue_manager.php | 24 ++- 4 files changed, 168 insertions(+), 42 deletions(-) diff --git a/addons/grouping/legacy-includes.php b/addons/grouping/legacy-includes.php index d7ff1625..8e42b2ee 100644 --- a/addons/grouping/legacy-includes.php +++ b/addons/grouping/legacy-includes.php @@ -48,7 +48,7 @@ add_action('edited_'.ppseries_get_series_slug().'', 'wp_update_series_group', 1, 2); add_action('delete_'.ppseries_get_series_slug().'', 'wp_delete_series_group', 1, 2); -//render series group template +//render Series Category template add_filter('template_include','pp_series_group_template'); add_action('pp_series_advanced_tab_top', 'series_grouping_delete_output'); @@ -125,7 +125,7 @@ function upgrade_orgseries_grouping_from_one_five() { //if ( !taxonomy_exists('series_group') ) //orgseries_grouping_taxonomy(); - //let's get all the existing series groups in the old category system + //let's get all the existing Series Categories in the old category system $args = array( 'hide_empty' => false, 'fields' => 'ids', @@ -214,16 +214,16 @@ function orgseries_grouping_taxonomy() { 'assign_terms' => 'manage_series' ); $labels = array( - 'name' => _x('Manage Series Groups', 'taxonomy general name', 'organize-series'), - 'singular_name' => _x('Series Group', 'taxonomy singular name', 'organize-series'), - 'search_items' => __('Search Series Groups', 'organize-series'), - 'popular_items' => __('Popular Series Groups', 'organize-series'), - 'all_items' => __('All Series Groups', 'organize-series'), - 'edit_item' => __('Edit Series Group', 'organize-series'), - 'update_item' => __('Update Series Group', 'organize-series'), - 'add_new_item' => __('Add New Series Group', 'organize-series'), - 'new_item_name' => __('New Series Group', 'organize-series'), - 'menu_name' => __('Series Groups', 'organize-series') + 'name' => _x('Manage Series Categories', 'taxonomy general name', 'organize-series'), + 'singular_name' => _x('Series Category', 'taxonomy singular name', 'organize-series'), + 'search_items' => __('Search Series Categories', 'organize-series'), + 'popular_items' => __('Popular Series Categories', 'organize-series'), + 'all_items' => __('All Series Categories', 'organize-series'), + 'edit_item' => __('Edit Series Category', 'organize-series'), + 'update_item' => __('Update Series Category', 'organize-series'), + 'add_new_item' => __('Add New Series Category', 'organize-series'), + 'new_item_name' => __('New Series Category', 'organize-series'), + 'menu_name' => __('Series Categories', 'organize-series') ); $args = array( 'update_count_callback' => 'update_series_group_count', @@ -273,7 +273,7 @@ function orgseries_grouping_import_existing_series() { } function orgseries_groups_admin_menu() { - add_submenu_page( 'edit.php', 'Manage Series Groups', 'Series Groups', 'manage_series', 'edit-tags.php?taxonomy=series_group'); + add_submenu_page( 'edit.php', 'Manage Series Categories', 'Series Categories', 'manage_series', 'edit-tags.php?taxonomy=series_group'); } function orgseries_group_add_queryvars($qvs) { @@ -329,7 +329,7 @@ function orgseries_manage_grouping_columns() { } function orgseries_grouping_settings_setup() { - //add_settings_field('series_grouping_delete_settings','Series Grouping Addon Settings','series_grouping_delete_output', 'orgseries_options_page','series_uninstall_settings'); + //add_settings_field('series_grouping_delete_settings','Series Categories Addon Settings','series_grouping_delete_output', 'orgseries_options_page','series_uninstall_settings'); register_setting('orgseries_options', 'org_series_options'); add_filter('orgseries_options', 'series_grouping_options_validate', 10, 2); } @@ -347,13 +347,13 @@ function series_grouping_delete_output() { ?>
/> +

diff --git a/orgSeries-setup.php b/orgSeries-setup.php index dd8d07a7..d2571d72 100644 --- a/orgSeries-setup.php +++ b/orgSeries-setup.php @@ -327,6 +327,7 @@ function add_settings($reset = false) { 'series_post_list_limit' => '', 'series_post_list_position' => 'default', 'series_metabox_position' => 'default', + 'limit_series_meta_to_single' => 0, 'series_navigation_box_position' => 'default', 'series_toc_title' => __('All Series','organize-series'), //new template options @@ -660,6 +661,10 @@ public function add_series_meta($content) { */ $add_series_content = apply_filters('pp_series_add_series_content', true); + if (isset($this->settings['limit_series_meta_to_single']) && (int)$this->settings['limit_series_meta_to_single'] > 0 && !is_single()) { + return $content; + } + if($add_series_content && $this->settings['auto_tag_seriesmeta_toggle']) { if ($series_meta = wp_seriesmeta_write()) { $position = isset($this->settings['series_metabox_position']) ? $this->settings['series_metabox_position'] : 'default'; @@ -685,6 +690,11 @@ function orgseries_trim_excerpt($content) { function add_series_meta_excerpt($content) { if ( is_single() ) return; + + if (isset($this->settings['limit_series_meta_to_single']) && (int)$this->settings['limit_series_meta_to_single'] > 0 && !is_single()) { + return $content; + } + if($this->settings['auto_tag_seriesmeta_toggle']) { if ($series_meta = wp_seriesmeta_write(true)) { $position = isset($this->settings['series_metabox_position']) ? $this->settings['series_metabox_position'] : 'default'; From 78d86de901489b0d521bb6488cd6f6fc435dfcce Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Tue, 27 Sep 2022 15:19:51 +0100 Subject: [PATCH 20/35] - Add search box to series metabox #239 --- js/series.js | 24 +++++++++++++++++++++++- orgSeries-admin.php | 14 +++++++++++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/js/series.js b/js/series.js index d2b65a74..e9a8cfb7 100644 --- a/js/series.js +++ b/js/series.js @@ -3,7 +3,29 @@ jQuery(document).ready( function($) { /*$('#serieschecklist').wpList( { alt: '', response: 'series-ajax-response', confirm: myConfirm } ); /**/ + $('.editor-series-search-input').bind('keydown keypress keyup change', function () { + // Declare variables + var input, filter, ul, li, a, i, txtValue; + input = document.getElementById('editor-series-search-input'); + filter = input.value.toUpperCase(); + ul = document.getElementById("serieschecklist"); + li = ul.getElementsByTagName('li'); + + // Loop through all list items, and hide those who don't match the search query + for (i = 0; i < li.length; i++) { + span = li[i].getElementsByTagName("span")[0]; + txtValue = span.textContent || span.innerText; + if (txtValue.toUpperCase().indexOf(filter) > -1) { + li[i].style.display = ""; + } else { + li[i].style.display = "none"; + } + } + li[0].style.display = ""; + + }); + $('#seriesadd').click( function() { $('input','#serieschecklist').removeProp('checked'); /* console.log($('#newseries').val()); /**/ @@ -39,6 +61,6 @@ jQuery(document).ready( function($) { $('input[name|="post_series"]').click(function() { var ser_id = $(this).attr('id').replace('in-series-', ''); $('#series_part').attr('name', 'series_part['+ser_id+']') - }); + }); } ); diff --git a/orgSeries-admin.php b/orgSeries-admin.php index 42e63b62..a9083628 100644 --- a/orgSeries-admin.php +++ b/orgSeries-admin.php @@ -338,7 +338,7 @@ function series_edit_meta_box() { $metabox_show_series_part = isset($org_opt['metabox_show_series_part']) ? (int)$org_opt['metabox_show_series_part'] : 0; $metabox_show_post_title_in_widget = isset($org_opt['metabox_show_post_title_in_widget']) ? (int)$org_opt['metabox_show_post_title_in_widget'] : 0; $metabox_show_add_new = isset($org_opt['metabox_show_add_new']) ? (int)$org_opt['metabox_show_add_new'] : 0; - + $series_list = get_series_list(0); ?>
@@ -346,13 +346,21 @@ function series_edit_meta_box() {

+ + 3) : ?> + + +
    - +
- + From adf1e9172e2f47b9525ac91e20fd091329324047 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Wed, 28 Sep 2022 08:52:25 +0100 Subject: [PATCH 21/35] - Add series Groups overview page shortcode [publishpress_series_categories] #591 --- addons/grouping/legacy-includes.php | 17 + .../orgseries-grouping-template-tags.php | 952 +++++++++--------- 2 files changed, 493 insertions(+), 476 deletions(-) diff --git a/addons/grouping/legacy-includes.php b/addons/grouping/legacy-includes.php index 8e42b2ee..24343b54 100644 --- a/addons/grouping/legacy-includes.php +++ b/addons/grouping/legacy-includes.php @@ -53,6 +53,8 @@ add_action('pp_series_advanced_tab_top', 'series_grouping_delete_output'); +add_shortcode('publishpress_series_categories', 'publishpress_series_groups'); + function pp_series_group_template($template){ if ( is_tax('series_group') ) { $theme_template = locate_template( array( 'taxonomy-series_group.php' ) ); //checks in child theme (if child theme) and then parent theme. @@ -631,3 +633,18 @@ function to_int(&$val, $key) { return $array; } + + + +/** + * Shortcode to get the author box + * + * @param array $attributes + * + * @return string + */ +function publishpress_series_groups($attributes) +{ + + return get_series_group_list([], [], false); +} \ No newline at end of file diff --git a/addons/grouping/orgseries-grouping-template-tags.php b/addons/grouping/orgseries-grouping-template-tags.php index eb33edf4..74c41206 100644 --- a/addons/grouping/orgseries-grouping-template-tags.php +++ b/addons/grouping/orgseries-grouping-template-tags.php @@ -1,476 +1,476 @@ - 'term_id', - 'order' => 'ASC', - 'exclude' => array(), - 'include' => array(), - 'number' => '', - 'fields' => 'all', - 'number' => '', - 'offset' => '', - 'exclusions' => '', - 'exclude_tree' => array(), - 'limit' => '', - 'parent' => '', - 'hierarchical' => true, - 'child_of' => 0, - 'pad_counts' => false, - 'hide_empty' => true, - 'taxonomy' => 'series_group' - ); - - $args = wp_parse_args( $args, $defaults ); - $args['number'] = absint( $args['number'] ); - $args['offset'] = absint( $args['offset'] ); - - if ( '' !== $args['parent'] ) { - $args['child_of'] = 0; - $args['hierarchical'] = false; - $args['pad_counts'] = false; - } - - extract($args, EXTR_SKIP); - - if ( $child_of ) { - $hierarchy = _get_term_hierarchy('series_group'); - if ( !isset($hierarchy[$parent]) ) - return $empty_array; - } - - - $_orderby = strtolower($orderby); - if ( empty($_orderby) || 'id' == $_orderby ) - $orderby = 'seriest.term_id'; - elseif ( 'name' == $_orderby ) - $orderby = 'seriest.name'; - elseif ( 'slug' == $_orderby ) - $orderby = 'seriest.slug'; - elseif ( 'term_id' == $_orderby ) - $orderby = 'seriest.term_id'; - - if ( !empty($orderby) ) - $orderby = "ORDER BY $orderby"; - else - $order = ''; - - $where = ''; - $inclusions = ''; - - if ( !empty($include) ) { - $exclude = ''; - $exclude_tree = ''; - $ingroups = wp_parse_id_list($include); - - foreach ( $ingroups as $ingroup ) { - if ( empty($inclusions) ) - $inclusions = ' AND ( seriest.term_id = ' . intval($ingroup) . ' '; - else - $inclusions .= ' OR seriest.term_id = ' . intval($ingroup) . ' '; - } - } - - if ( !empty($inclusions) ) - $inclusions .= ')'; - $where .= $inclusions; - - $exclusions = ''; - if ( !empty( $exclude_tree ) ) { - $excluded_trunks = wp_parse_id_list($exclude_tree); - foreach ( $excluded_trunks as $extrunk ) { - $excluded_children = (array) get_terms('series_group', array('child_of' => intval($extrunk), 'fields' => 'ids')); - $excluded_children[] = $extrunk; - foreach ( $excluded_children as $exgroup) { - if ( empty($exclusions) ) - $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; - else - $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; - } - } - } - - if ( !empty($exclude) ) { - $exgroups = wp_parse_id_list($exclude); - foreach ( $exgroups as $exgroup ) { - if ( empty($exclusions) ) - $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; - else - $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; - } - } - - $where .= $exclusions; - - if ( '' !== $parent ) { - $parent = (int) $parent; - $where .= " AND seriesttt.parent = '$parent'"; - } - - if ( $hide_empty && !$hierarchical ) { - $where .= ' AND seriesttt.count != 0'; - } - - //don't limit the query results when we have to descend the family tree - if ( ! empty($number) && ! $hierarchical && empty( $child_of ) && '' === $parent ) { - if ( $offset ) - $limit = 'LIMIT ' . $offset . ',' . $number; - else - $limit = 'LIMIT ' . $number; - } else { - $limit = ''; - } - - $selects = array(); - switch ( $fields ) { - case 'all': - $selects = array('seriest.*', 'seriesttt.*'); - break; - case 'ids': - $selects = array('seriest.term_id'); - break; - case 'id=>parent': - $selects = array('seriest.term_id', seriesttt.parent, 'seriesttt.count'); - break; - case 'names': - $selects = array('seriest.term_id', 'seriest.name'); - break; - case 'slugs': - $selects = array('seriest.term_id', 'seriest.slug'); - break; - case 'count': - $orderby = ''; - $order = ''; - $selects = array('COUNT(*)'); - } - - $select_this = implode(', ', $selects); - - $join = ''; - - //OLD QUERY -> $query = "SELECT DISTINCT $select_this FROM $wpdb->term_relationships seriestt INNER JOIN $wpdb->posts seriesp ON seriestt.object_id = seriesp.ID INNER JOIN $wpdb->term_taxonomy seriesttt ON seriesttt.term_taxonomy_id = seriestt.term_taxonomy_id INNER JOIN $wpdb->terms seriest ON seriesttt.term_id = seriest.term_id WHERE seriesp.post_type = 'series_grouping' AND seriesttt.taxonomy = '$taxonomy' $where $orderby $order $limit"; - - $query = $wpdb->prepare( "SELECT DISTINCT $select_this FROM $wpdb->terms AS seriest INNER JOIN $wpdb->term_taxonomy AS seriesttt ON seriesttt.term_id = seriest.term_id $join WHERE seriesttt.taxonomy = '%s' $where $orderby $order $limit", $taxonomy ); - - if ( 'count' == $fields ) { - $group_count = $wpdb->get_var($query); - return $group_count; - } - - $series_groups = $wpdb->get_results($query); - - - if ( $child_of ) { - $children = _get_term_hierarchy('series_group'); - if ( ! empty($children) ) - $series_groups = &_get_term_children($child_of, $series_groups, 'series_group'); - } - - //Update term counts to include children. - if ( $pad_counts && 'all' == $fields ) - _pad_term_counts($series_groups, 'series_group'); - - //Make sure we show empty groups that have children. - if ( $hierarchical && $hide_empty && is_array($series_groups) ) { - foreach ($series_groups as $k => $group ) { - if ( ! $group->count ) { - $children = _get_term_children($group->term_id, $series_groups, 'series_group'); - if ( is_array($children) ) - foreach ( $children as $child ) - if ( $child->count ) - continue 2; - - // It really is empty - unset($series_groups[$k]); - } - } - } - reset ( $series_groups ); - - $_groups = array(); - - if ( 'id=>parent' == $fields ) { - while ($group = array_shift($series_groups) ) - $_groups[$group->term_id] = $group->parent; - $series_groups = $_groups; - } elseif ( 'ids' == $fields ) { - while ( $group = array_shift($series_groups) ) - $_groups[] = $group->term_id; - $series_groups = $_groups; - } elseif ( 'names' == $fields ) { - while ( $group = array_shift($series_groups) ) - $_groups[] = $group->name; - $series_groups = $_groups; - } elseif ( 'slugs' == $fields ) { - while ( $group = array_shift($series_groups) ) - $_groups[] = $group->slug; - $series_groups = $_groups; - } - - if ( 0 < $number && intval(@count($series_groups)) > $number ) - $series_groups = array_slice($series_groups, $offset, $number); - - return $series_groups; -} - -/* -* get_series_group_list() - used to output an unordered list containing a group title followed by the list of series in that group. If no group_id is included then the function will return all the groups with the series in each group. If group_id(s) are included then the groups requested will be returned. Can also choose to "exclude" certain groups from the list. This function uses the utility functions found on this page. -* @param $group_id can be just a string|int containing the id of one group that you want to return the list for OR it can be an array with four paramaters: include (array, comma, or space deliminated list of group_ids to include), exclude (array, comma, or space deliminated list of group_ids to exclude), orderby (id=default, name, or slug), and order (asc=default/desc) -* @param $args (optional) you can indicate how you want the series list in each group to be returned. For a list of what args you can include see the "get_terms()" function found in /wp-includes/taxonomy.php. -* @param bool (true|false) - true will echo the results, false will return the results. default is true. -* -* @return string if false or echo string if true. -*/ -function get_series_group_list( $group_id = array(), $args = array(), $echo = true ) { - - if ( !empty($group_id) ) { - if ( !is_array($group_id) ) { - $group_id = (int) $group_id; - $group_id = array( 'include' => $group_id ); - } else { - $group_id = array( 'include' => $group_id ); - } - } - - $groups = get_series_groups( $group_id ); - $group_out = ''; - - foreach ( $groups as $group ) { - $group_out .= '

'.$group->name.'

'; - $group_out .= '
    '; - $series_in_group = get_series_in_group($group->term_id, $args ); - foreach ( $series_in_group as $series ) { - $group_out .= '
  • '.get_series_name($series).'
  • '; - } - $group_out .= '
'; - } - - if ( $echo ) - echo $group_out; - else - return $group_out; -} - -/** -* DEPECRATED FUNCTIONS -* This section contains functions no longer active but still required for upgrade purposes. -**/ -function get_old_series_groups( $args = array() ) { - global $wpdb; - - $defaults = array ( - 'orderby' => 'term_id', - 'order' => 'ASC', - 'exclude' => array(), - 'include' => array(), - 'number' => '', - 'fields' => 'all', - 'number' => '', - 'offset' => '', - 'exclusions' => '', - 'limit' => '', - 'hide_empty' => true, - 'taxonomy' => 'series_group' - ); - - $args = wp_parse_args( $args, $defaults ); - $args['number'] = absint( $args['number'] ); - $args['offset'] = absint( $args['offset'] ); - - extract($args, EXTR_SKIP); - - $_orderby = strtolower($orderby); - if ( empty($_orderby) || 'id' == $_orderby ) - $orderby = 'seriest.term_id'; - elseif ( 'name' == $_orderby ) - $orderby = 'seriest.name'; - elseif ( 'slug' == $_orderby ) - $orderby = 'seriest.slug'; - elseif ( 'term_id' == $_orderby ) - $orderby = 'seriest.term_id'; - - if ( !empty($orderby) ) - $orderby = "ORDER BY $orderby"; - else - $order = ''; - - $where = ''; - $inclusions = ''; - - if ( !empty($include) ) { - $exclude = ''; - $ingroups = wp_parse_id_list($include); - - foreach ( $ingroups as $ingroup ) { - if ( empty($inclusions) ) - $inclusions = ' AND ( seriest.term_id = ' . intval($ingroup) . ' '; - else - $inclusions .= ' OR seriest.term_id = ' . intval($ingroup) . ' '; - } - } - - if ( !empty($inclusions) ) - $inclusions .= ')'; - $where .= $inclusions; - - if ( !empty($exclude) ) { - $exgroups = wp_parse_id_list($exclude); - foreach ( $exgroups as $exgroup ) { - if ( empty($exclusions) ) - $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; - else - $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; - } - } - - $where .= $exclusions; - - if ( ! empty($number ) ) { - if ( $offset ) - $limit = 'LIMIT ' . $offset . ',' . $number; - else - $limit = 'LIMIT ' . $number; - } - - if ( $hide_empty ) { - $where .= ' AND seriesttt.count != 0'; - } - - $selects = array(); - switch ( $fields ) { - case 'all': - $selects = array('seriest.term_id', 'seriest.name', 'seriest.slug'); - break; - case 'ids': - $selects = array('seriest.term_id'); - break; - case 'names': - $selects = array('seriest.term_id', 'seriest.name'); - break; - case 'slugs': - $selects = array('seriest.term_id', 'seriest.slug'); - break; - case 'count': - $orderby = ''; - $order = ''; - $selects = array('COUNT(*)'); - } - - $select_this = implode(', ', $selects); - - $query = $wpdb->prepare( "SELECT DISTINCT $select_this FROM $wpdb->term_relationships seriestt INNER JOIN $wpdb->posts seriesp ON seriestt.object_id = seriesp.ID INNER JOIN $wpdb->term_taxonomy seriesttt ON seriesttt.term_taxonomy_id = seriestt.term_taxonomy_id INNER JOIN $wpdb->terms seriest ON seriesttt.term_id = seriest.term_id WHERE seriesp.post_type = 'series_grouping' AND seriesttt.taxonomy = '%s' $where $orderby $order $limit", $taxonomy ); - - if ( 'count' == $fields ) { - $group_count = $wpdb->get_var($query); - return $group_count; - } - - $series_groups = $wpdb->get_results($query); - - $_groups = array(); - - if ( 'ids' == $fields ) { - while ( $group = array_shift($series_groups) ) - $_groups[] = $group->term_id; - $series_groups = $_groups; - } elseif ( 'names' == $fields ) { - while ( $group = array_shift($series_groups) ) - $_groups[] = $group->name; - $series_groups = $_groups; - } elseif ( 'slugs' == $fields ) { - while ( $group = array_shift($series_groups) ) - $_groups[] = $group->slug; - $series_groups = $_groups; - } - - if ( 0 < $number && intval(@count($series_groups)) > $number ) - $series_groups = array_slice($series_groups, $offset, $number); - - return $series_groups; - -} -?> + 'term_id', + 'order' => 'ASC', + 'exclude' => array(), + 'include' => array(), + 'number' => '', + 'fields' => 'all', + 'number' => '', + 'offset' => '', + 'exclusions' => '', + 'exclude_tree' => array(), + 'limit' => '', + 'parent' => '', + 'hierarchical' => true, + 'child_of' => 0, + 'pad_counts' => false, + 'hide_empty' => true, + 'taxonomy' => 'series_group' + ); + + $args = wp_parse_args( $args, $defaults ); + $args['number'] = absint( $args['number'] ); + $args['offset'] = absint( $args['offset'] ); + + if ( '' !== $args['parent'] ) { + $args['child_of'] = 0; + $args['hierarchical'] = false; + $args['pad_counts'] = false; + } + + extract($args, EXTR_SKIP); + + if ( $child_of ) { + $hierarchy = _get_term_hierarchy('series_group'); + if ( !isset($hierarchy[$parent]) ) + return $empty_array; + } + + + $_orderby = strtolower($orderby); + if ( empty($_orderby) || 'id' == $_orderby ) + $orderby = 'seriest.term_id'; + elseif ( 'name' == $_orderby ) + $orderby = 'seriest.name'; + elseif ( 'slug' == $_orderby ) + $orderby = 'seriest.slug'; + elseif ( 'term_id' == $_orderby ) + $orderby = 'seriest.term_id'; + + if ( !empty($orderby) ) + $orderby = "ORDER BY $orderby"; + else + $order = ''; + + $where = ''; + $inclusions = ''; + + if ( !empty($include) ) { + $exclude = ''; + $exclude_tree = ''; + $ingroups = wp_parse_id_list($include); + + foreach ( $ingroups as $ingroup ) { + if ( empty($inclusions) ) + $inclusions = ' AND ( seriest.term_id = ' . intval($ingroup) . ' '; + else + $inclusions .= ' OR seriest.term_id = ' . intval($ingroup) . ' '; + } + } + + if ( !empty($inclusions) ) + $inclusions .= ')'; + $where .= $inclusions; + + $exclusions = ''; + if ( !empty( $exclude_tree ) ) { + $excluded_trunks = wp_parse_id_list($exclude_tree); + foreach ( $excluded_trunks as $extrunk ) { + $excluded_children = (array) get_terms('series_group', array('child_of' => intval($extrunk), 'fields' => 'ids')); + $excluded_children[] = $extrunk; + foreach ( $excluded_children as $exgroup) { + if ( empty($exclusions) ) + $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; + else + $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; + } + } + } + + if ( !empty($exclude) ) { + $exgroups = wp_parse_id_list($exclude); + foreach ( $exgroups as $exgroup ) { + if ( empty($exclusions) ) + $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; + else + $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; + } + } + + $where .= $exclusions; + + if ( '' !== $parent ) { + $parent = (int) $parent; + $where .= " AND seriesttt.parent = '$parent'"; + } + + if ( $hide_empty && !$hierarchical ) { + $where .= ' AND seriesttt.count != 0'; + } + + //don't limit the query results when we have to descend the family tree + if ( ! empty($number) && ! $hierarchical && empty( $child_of ) && '' === $parent ) { + if ( $offset ) + $limit = 'LIMIT ' . $offset . ',' . $number; + else + $limit = 'LIMIT ' . $number; + } else { + $limit = ''; + } + + $selects = array(); + switch ( $fields ) { + case 'all': + $selects = array('seriest.*', 'seriesttt.*'); + break; + case 'ids': + $selects = array('seriest.term_id'); + break; + case 'id=>parent': + $selects = array('seriest.term_id', seriesttt.parent, 'seriesttt.count'); + break; + case 'names': + $selects = array('seriest.term_id', 'seriest.name'); + break; + case 'slugs': + $selects = array('seriest.term_id', 'seriest.slug'); + break; + case 'count': + $orderby = ''; + $order = ''; + $selects = array('COUNT(*)'); + } + + $select_this = implode(', ', $selects); + + $join = ''; + + //OLD QUERY -> $query = "SELECT DISTINCT $select_this FROM $wpdb->term_relationships seriestt INNER JOIN $wpdb->posts seriesp ON seriestt.object_id = seriesp.ID INNER JOIN $wpdb->term_taxonomy seriesttt ON seriesttt.term_taxonomy_id = seriestt.term_taxonomy_id INNER JOIN $wpdb->terms seriest ON seriesttt.term_id = seriest.term_id WHERE seriesp.post_type = 'series_grouping' AND seriesttt.taxonomy = '$taxonomy' $where $orderby $order $limit"; + + $query = $wpdb->prepare( "SELECT DISTINCT $select_this FROM $wpdb->terms AS seriest INNER JOIN $wpdb->term_taxonomy AS seriesttt ON seriesttt.term_id = seriest.term_id $join WHERE seriesttt.taxonomy = '%s' $where $orderby $order $limit", $taxonomy ); + + if ( 'count' == $fields ) { + $group_count = $wpdb->get_var($query); + return $group_count; + } + + $series_groups = $wpdb->get_results($query); + + + if ( $child_of ) { + $children = _get_term_hierarchy('series_group'); + if ( ! empty($children) ) + $series_groups = &_get_term_children($child_of, $series_groups, 'series_group'); + } + + //Update term counts to include children. + if ( $pad_counts && 'all' == $fields ) + _pad_term_counts($series_groups, 'series_group'); + + //Make sure we show empty groups that have children. + if ( $hierarchical && $hide_empty && is_array($series_groups) ) { + foreach ($series_groups as $k => $group ) { + if ( ! $group->count ) { + $children = _get_term_children($group->term_id, $series_groups, 'series_group'); + if ( is_array($children) ) + foreach ( $children as $child ) + if ( $child->count ) + continue 2; + + // It really is empty + unset($series_groups[$k]); + } + } + } + reset ( $series_groups ); + + $_groups = array(); + + if ( 'id=>parent' == $fields ) { + while ($group = array_shift($series_groups) ) + $_groups[$group->term_id] = $group->parent; + $series_groups = $_groups; + } elseif ( 'ids' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->term_id; + $series_groups = $_groups; + } elseif ( 'names' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->name; + $series_groups = $_groups; + } elseif ( 'slugs' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->slug; + $series_groups = $_groups; + } + + if ( 0 < $number && intval(@count($series_groups)) > $number ) + $series_groups = array_slice($series_groups, $offset, $number); + + return $series_groups; +} + +/* +* get_series_group_list() - used to output an unordered list containing a group title followed by the list of series in that group. If no group_id is included then the function will return all the groups with the series in each group. If group_id(s) are included then the groups requested will be returned. Can also choose to "exclude" certain groups from the list. This function uses the utility functions found on this page. +* @param $group_id can be just a string|int containing the id of one group that you want to return the list for OR it can be an array with four paramaters: include (array, comma, or space deliminated list of group_ids to include), exclude (array, comma, or space deliminated list of group_ids to exclude), orderby (id=default, name, or slug), and order (asc=default/desc) +* @param $args (optional) you can indicate how you want the series list in each group to be returned. For a list of what args you can include see the "get_terms()" function found in /wp-includes/taxonomy.php. +* @param bool (true|false) - true will echo the results, false will return the results. default is true. +* +* @return string if false or echo string if true. +*/ +function get_series_group_list( $group_id = array(), $args = array(), $echo = true ) { + + if ( !empty($group_id) ) { + if ( !is_array($group_id) ) { + $group_id = (int) $group_id; + $group_id = array( 'include' => $group_id ); + } else { + $group_id = array( 'include' => $group_id ); + } + } + + $groups = get_series_groups( $group_id ); + $group_out = ''; + + foreach ( $groups as $group ) { + $group_out .= '

'.$group->name.'

'; + $group_out .= '
    '; + $series_in_group = get_series_in_group($group->term_id, $args ); + foreach ( $series_in_group as $series ) { + $group_out .= '
  • '.get_series_name($series).'
  • '; + } + $group_out .= '
'; + } + + if ( $echo ) + echo $group_out; + else + return $group_out; +} + +/** +* DEPECRATED FUNCTIONS +* This section contains functions no longer active but still required for upgrade purposes. +**/ +function get_old_series_groups( $args = array() ) { + global $wpdb; + + $defaults = array ( + 'orderby' => 'term_id', + 'order' => 'ASC', + 'exclude' => array(), + 'include' => array(), + 'number' => '', + 'fields' => 'all', + 'number' => '', + 'offset' => '', + 'exclusions' => '', + 'limit' => '', + 'hide_empty' => true, + 'taxonomy' => 'series_group' + ); + + $args = wp_parse_args( $args, $defaults ); + $args['number'] = absint( $args['number'] ); + $args['offset'] = absint( $args['offset'] ); + + extract($args, EXTR_SKIP); + + $_orderby = strtolower($orderby); + if ( empty($_orderby) || 'id' == $_orderby ) + $orderby = 'seriest.term_id'; + elseif ( 'name' == $_orderby ) + $orderby = 'seriest.name'; + elseif ( 'slug' == $_orderby ) + $orderby = 'seriest.slug'; + elseif ( 'term_id' == $_orderby ) + $orderby = 'seriest.term_id'; + + if ( !empty($orderby) ) + $orderby = "ORDER BY $orderby"; + else + $order = ''; + + $where = ''; + $inclusions = ''; + + if ( !empty($include) ) { + $exclude = ''; + $ingroups = wp_parse_id_list($include); + + foreach ( $ingroups as $ingroup ) { + if ( empty($inclusions) ) + $inclusions = ' AND ( seriest.term_id = ' . intval($ingroup) . ' '; + else + $inclusions .= ' OR seriest.term_id = ' . intval($ingroup) . ' '; + } + } + + if ( !empty($inclusions) ) + $inclusions .= ')'; + $where .= $inclusions; + + if ( !empty($exclude) ) { + $exgroups = wp_parse_id_list($exclude); + foreach ( $exgroups as $exgroup ) { + if ( empty($exclusions) ) + $exclusions = ' AND ( seriest.term_id <> ' . intval($exgroup) . ' '; + else + $exclusions .= ' AND seriest.term_id <> ' . intval($exgroup) . ' '; + } + } + + $where .= $exclusions; + + if ( ! empty($number ) ) { + if ( $offset ) + $limit = 'LIMIT ' . $offset . ',' . $number; + else + $limit = 'LIMIT ' . $number; + } + + if ( $hide_empty ) { + $where .= ' AND seriesttt.count != 0'; + } + + $selects = array(); + switch ( $fields ) { + case 'all': + $selects = array('seriest.term_id', 'seriest.name', 'seriest.slug'); + break; + case 'ids': + $selects = array('seriest.term_id'); + break; + case 'names': + $selects = array('seriest.term_id', 'seriest.name'); + break; + case 'slugs': + $selects = array('seriest.term_id', 'seriest.slug'); + break; + case 'count': + $orderby = ''; + $order = ''; + $selects = array('COUNT(*)'); + } + + $select_this = implode(', ', $selects); + + $query = $wpdb->prepare( "SELECT DISTINCT $select_this FROM $wpdb->term_relationships seriestt INNER JOIN $wpdb->posts seriesp ON seriestt.object_id = seriesp.ID INNER JOIN $wpdb->term_taxonomy seriesttt ON seriesttt.term_taxonomy_id = seriestt.term_taxonomy_id INNER JOIN $wpdb->terms seriest ON seriesttt.term_id = seriest.term_id WHERE seriesp.post_type = 'series_grouping' AND seriesttt.taxonomy = '%s' $where $orderby $order $limit", $taxonomy ); + + if ( 'count' == $fields ) { + $group_count = $wpdb->get_var($query); + return $group_count; + } + + $series_groups = $wpdb->get_results($query); + + $_groups = array(); + + if ( 'ids' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->term_id; + $series_groups = $_groups; + } elseif ( 'names' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->name; + $series_groups = $_groups; + } elseif ( 'slugs' == $fields ) { + while ( $group = array_shift($series_groups) ) + $_groups[] = $group->slug; + $series_groups = $_groups; + } + + if ( 0 < $number && intval(@count($series_groups)) > $number ) + $series_groups = array_slice($series_groups, $offset, $number); + + return $series_groups; + +} +?> From 5cb50a61e5d0ef74a945010476c4be4276d26139 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Thu, 29 Sep 2022 10:12:34 +0100 Subject: [PATCH 22/35] - Add series order link to series and new post selected series #612 --- orgSeries-admin.css | 14 ++++++++++++++ orgSeries-admin.php | 15 +++++++++++++-- orgSeries-manage.php | 15 +++------------ 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/orgSeries-admin.css b/orgSeries-admin.css index 945996ca..94727746 100644 --- a/orgSeries-admin.css +++ b/orgSeries-admin.css @@ -7,6 +7,20 @@ margin: 5px 0 15px; padding: 5px 5px; } +.taxonomy-series .fixed .column-series_order { + width: 100px; +} +.taxonomy-series .fixed .column-slug { + width: initial; +} +.taxonomy-series .fixed .column-posts { + text-align: left; +} + +#serieschecklist li label input:checked ~ .selected-series-order { + display: inline-block !important; + margin-left: 5px; +} .ppseries-settings-tab-content .stuffbox > h3, .ppseries-settings-tab-content .postbox > h3, diff --git a/orgSeries-admin.php b/orgSeries-admin.php index a9083628..16e4cd31 100644 --- a/orgSeries-admin.php +++ b/orgSeries-admin.php @@ -311,7 +311,18 @@ function write_series_list( $series ) { //copied from write_nested_categories in global $orgseries; echo '
  • '; foreach ( $series as $serial ) { - echo '
  • "; + $series_order_link = admin_url('edit.php?page=manage-issues&action=part&series_ID'); + echo '
  • + +
  • "; } } @@ -347,7 +358,7 @@ function series_edit_meta_box() {

    - 3) : ?> + 1) : ?>

    + + + +

    + +

    +
    @@ -518,7 +518,7 @@ function edit_orgseries_group_fields($series, $taxonomy) {
      @@ -543,7 +543,7 @@ function orgseries_group_inline_edit($column_name, $type, $taxonomy) { if ( $taxonomy == ppseries_get_series_slug() && $column_name == 'group' ) { //takes care of WP3.1 changes (prevents duplicate output) ?>
      - + diff --git a/orgSeries-admin.css b/orgSeries-admin.css index 94727746..db84a156 100644 --- a/orgSeries-admin.css +++ b/orgSeries-admin.css @@ -10,6 +10,10 @@ .taxonomy-series .fixed .column-series_order { width: 100px; } +.taxonomy-series .fixed .column-description, +.taxonomy-series .fixed .column-group { + width: 120px; +} .taxonomy-series .fixed .column-slug { width: initial; } From 348a57b1d1366dd7270abd5fafc670f4a03df2a0 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Fri, 30 Sep 2022 15:20:59 +0100 Subject: [PATCH 31/35] - Text tweak for Success message: #654 --- addons/publisher/series-part-post-table.php | 9 +++++++++ addons/publisher/series-publish-post-table.php | 9 +++++++++ addons/publisher/series_issue_manager.php | 4 ++-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/addons/publisher/series-part-post-table.php b/addons/publisher/series-part-post-table.php index b15419f8..a63cf133 100644 --- a/addons/publisher/series-part-post-table.php +++ b/addons/publisher/series-part-post-table.php @@ -172,6 +172,15 @@ protected function column_default($item, $column_name) return !empty($item->$column_name) ? $item->$column_name : '—'; } + /** + * Message to be displayed when there are no items + * + * @since 3.1.0 + */ + public function no_items() { + _e( 'There are no posts in this series.', 'organize-series' ); + } + /** * The checkbox column * diff --git a/addons/publisher/series-publish-post-table.php b/addons/publisher/series-publish-post-table.php index 84339461..0fa12ed1 100644 --- a/addons/publisher/series-publish-post-table.php +++ b/addons/publisher/series-publish-post-table.php @@ -37,6 +37,15 @@ protected function get_table_classes() return parent::get_table_classes(); } + /** + * Message to be displayed when there are no items + * + * @since 3.1.0 + */ + public function no_items() { + _e( 'There are no unpublished posts in this series.', 'organize-series' ); + } + /** * Show single row item * diff --git a/addons/publisher/series_issue_manager.php b/addons/publisher/series_issue_manager.php index d90da8ee..bb880c57 100644 --- a/addons/publisher/series_issue_manager.php +++ b/addons/publisher/series_issue_manager.php @@ -353,12 +353,12 @@ function pps_publisher_published_success_message_admin_notice() if ($publish_at > strtotime(current_time('mysql'))) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo pps_publisher_admin_notices_helper( - esc_html__('Congratulations. Your series was scheduled successfully.', 'organize-series') + esc_html__('Congratulations. Your posts were scheduled successfully.', 'organize-series') ); } else { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo pps_publisher_admin_notices_helper( - esc_html__('Congratulations. Your series was published successfully.', 'organize-series') + esc_html__('Congratulations. Your posts were published successfully.', 'organize-series') ); } } From 661e7dedb7c501fd471b692cb12e3d9f76e0922e Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Mon, 3 Oct 2022 14:58:41 +0100 Subject: [PATCH 32/35] - Series link in "Posts" table doesn't go anywhere #651 --- composer.lock | 36 ++++++++++++++++++------------------ orgSeries-admin.php | 2 +- readme.txt | 1 + 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/composer.lock b/composer.lock index 396481b5..35a90349 100644 --- a/composer.lock +++ b/composer.lock @@ -1859,16 +1859,16 @@ }, { "name": "symfony/console", - "version": "v5.4.12", + "version": "v5.4.13", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1" + "reference": "3f97f6c7b7e26848a90c0c0cfb91eeb2bb8618be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c072aa8f724c3af64e2c7a96b796a4863d24dba1", - "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1", + "url": "https://api.github.com/repos/symfony/console/zipball/3f97f6c7b7e26848a90c0c0cfb91eeb2bb8618be", + "reference": "3f97f6c7b7e26848a90c0c0cfb91eeb2bb8618be", "shasum": "" }, "require": { @@ -1938,7 +1938,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.12" + "source": "https://github.com/symfony/console/tree/v5.4.13" }, "funding": [ { @@ -1954,7 +1954,7 @@ "type": "tidelift" } ], - "time": "2022-08-17T13:18:05+00:00" + "time": "2022-08-26T13:50:20+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2189,16 +2189,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.12", + "version": "v5.4.13", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447" + "reference": "ac09569844a9109a5966b9438fc29113ce77cf51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/2d67c1f9a1937406a9be3171b4b22250c0a11447", - "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/ac09569844a9109a5966b9438fc29113ce77cf51", + "reference": "ac09569844a9109a5966b9438fc29113ce77cf51", "shasum": "" }, "require": { @@ -2233,7 +2233,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.12" + "source": "https://github.com/symfony/filesystem/tree/v5.4.13" }, "funding": [ { @@ -2249,7 +2249,7 @@ "type": "tidelift" } ], - "time": "2022-08-02T13:48:16+00:00" + "time": "2022-09-21T19:53:16+00:00" }, { "name": "symfony/finder", @@ -2867,16 +2867,16 @@ }, { "name": "symfony/string", - "version": "v5.4.12", + "version": "v5.4.13", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058" + "reference": "2900c668a32138a34118740de3e4d5a701801f53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/2fc515e512d721bf31ea76bd02fe23ada4640058", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058", + "url": "https://api.github.com/repos/symfony/string/zipball/2900c668a32138a34118740de3e4d5a701801f53", + "reference": "2900c668a32138a34118740de3e4d5a701801f53", "shasum": "" }, "require": { @@ -2933,7 +2933,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.12" + "source": "https://github.com/symfony/string/tree/v5.4.13" }, "funding": [ { @@ -2949,7 +2949,7 @@ "type": "tidelift" } ], - "time": "2022-08-12T17:03:11+00:00" + "time": "2022-09-01T01:52:16+00:00" }, { "name": "symfony/yaml", diff --git a/orgSeries-admin.php b/orgSeries-admin.php index 16e4cd31..93077e1d 100644 --- a/orgSeries-admin.php +++ b/orgSeries-admin.php @@ -428,7 +428,7 @@ function orgSeries_custom_column_action($column_name, $id) { if ( $series = get_the_series($id, false) ) { $seriesid = $series[0]->term_id; $series_name = $series[0]->name; - $series_link = get_series_link($series_name); + $series_link = admin_url("edit.php?page=manage-issues&action=part&series_ID=".$seriesid.""); $series_part = get_post_meta($id, SERIES_PART_KEY, TRUE); $count = $series[0]->count; diff --git a/readme.txt b/readme.txt index 7bb8bab2..7179838e 100644 --- a/readme.txt +++ b/readme.txt @@ -196,6 +196,7 @@ v2.10.0- 2022-10-03 * Update: Series-Translation updates for Spanish July 21 #578 * Update: Series-Translation updates for French-Spanish-Italian #567 * Update: Remove "Create as unpublished"? #655 +* Fixed: Series link in "Posts" table doesn't go anywhere #651 v2.9.2- 2022-07-12 * Fixed: Problem with series navigation and List #568 From 88ea1caf9f23258a7053c7c30c013482a47a8e2a Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Mon, 3 Oct 2022 17:15:56 +0100 Subject: [PATCH 33/35] - Show "Series" in order on publishing screen #653 --- .../publisher/series-publish-post-table.php | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/addons/publisher/series-publish-post-table.php b/addons/publisher/series-publish-post-table.php index 0fa12ed1..cd43ed51 100644 --- a/addons/publisher/series-publish-post-table.php +++ b/addons/publisher/series-publish-post-table.php @@ -74,6 +74,7 @@ public function get_columns() 'categories' => esc_html__('Categories', 'organize-series'), 'tags' => esc_html__('Tags', 'organize-series'), 'post_status' => esc_html__('Status', 'organize-series'), + 'series_part' => esc_html__('Order', 'organize-series'), 'series_preview' => esc_html__('Preview', 'organize-series'), ]; @@ -102,6 +103,21 @@ public function get_table_data(){ 'terms' => array($series_id) ) ), + 'meta_query' => array( + "relation" => "or", + 'part_field_sort_value' => array( + 'key' => $meta_key, + 'type'=> 'NUMERIC' + ), + 'part_field_sort' => array( + 'key' => $meta_key, + 'compare' => 'NOT EXISTS', + 'type'=> 'NUMERIC' + ), + ), + 'orderby' => array( + 'part_field_sort' => 'ASC' + ), ); /** @@ -299,6 +315,27 @@ protected function column_cb($item) return $out; } + /** + * The series_part column + * + * @param $item + * + * @return string + */ + protected function column_series_part($item) + { + $series_id = isset($_GET['series_ID'])? (int)$_GET['series_ID'] : false; + $series_part = get_post_meta($item->ID, SERIES_PART_KEY, true); + + if(empty(trim($series_part))){ + $series_part_output = esc_html__('(Currently has no Part number)', 'organize-series'); + }else{ + $series_part_output = $series_part; + } + + return $series_part_output; + } + /** * The title column * From 6f38f8ecf777bdda1e8ea848845dce72807ed7de Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Tue, 4 Oct 2022 09:10:06 +0100 Subject: [PATCH 34/35] - update series category title --- addons/grouping/legacy-includes.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/grouping/legacy-includes.php b/addons/grouping/legacy-includes.php index e5c01e69..e6fd11fb 100644 --- a/addons/grouping/legacy-includes.php +++ b/addons/grouping/legacy-includes.php @@ -216,7 +216,7 @@ function orgseries_grouping_taxonomy() { 'assign_terms' => 'manage_series' ); $labels = array( - 'name' => _x('Manage Series Categories', 'taxonomy general name', 'organize-series'), + 'name' => _x('Series Categories', 'taxonomy general name', 'organize-series'), 'singular_name' => _x('Series Category', 'taxonomy singular name', 'organize-series'), 'search_items' => __('Search Series Categories', 'organize-series'), 'popular_items' => __('Popular Series Categories', 'organize-series'), @@ -275,7 +275,7 @@ function orgseries_grouping_import_existing_series() { } function orgseries_groups_admin_menu() { - add_submenu_page( 'edit.php', 'Manage Series Categories', 'Series Categories', 'manage_series', 'edit-tags.php?taxonomy=series_group'); + add_submenu_page( 'edit.php', 'Series Categories', 'Series Categories', 'manage_series', 'edit-tags.php?taxonomy=series_group'); } function orgseries_group_add_queryvars($qvs) { From 156617c926c470296b01a6fd0602f2cb00a76c05 Mon Sep 17 00:00:00 2001 From: Olawale Adesina Date: Tue, 4 Oct 2022 09:12:10 +0100 Subject: [PATCH 35/35] - update release date --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index 7179838e..d1b994dc 100644 --- a/readme.txt +++ b/readme.txt @@ -173,7 +173,7 @@ Yes, Publishpress Series introduces a new taxonomy "series". Thanks to the rich == Changelog == -v2.10.0- 2022-10-03 +v2.10.0- 2022-10-04 * Feature: Add Series and Series Group re-order field with term drag and drop feature #584 * Feature: Add series order link to series and new post selected series #612 * Feature: Add series Groups(Categories) overview page shortcode [publishpress_series_categories] #591