From 6e0a0653f329e8e87805a1b678824bf1792a481f Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Mon, 28 May 2018 13:31:31 -0400
Subject: [PATCH 01/67] Constructor fix for saved_links_widget
---
inc/saved-links/class-saved-links-widget.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/saved-links/class-saved-links-widget.php b/inc/saved-links/class-saved-links-widget.php
index dbee447..66dfe61 100644
--- a/inc/saved-links/class-saved-links-widget.php
+++ b/inc/saved-links/class-saved-links-widget.php
@@ -6,7 +6,7 @@
*/
class saved_links_widget extends WP_Widget {
- function saved_links_widget() {
+ function __construct() {
$widget_ops = array(
'classname' => 'saved-links',
'description' => __( 'Show your most recently saved links in a sidebar widget', 'link-roundups' )
From 3bab79b410b759d53ec9ea5422949ae507e5fb8d Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 11:48:31 -0800
Subject: [PATCH 02/67] Reduce redundancies between WordPress and Github
readmes, start version 0.5 changelog
---
README.md | 33 +++++++--------------------------
README.txt | 14 ++++++++++++++
wordpress-mailchimp-tools | 2 +-
3 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/README.md b/README.md
index d068709..2d72930 100644
--- a/README.md
+++ b/README.md
@@ -2,21 +2,13 @@
A WordPress plugin to make it easy to collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp. Built and maintained by [INN Nerds](http://nerds.inn.org).
-**Contributors:** The INN Nerds (David Ryan, Ryan Nagle, Ben Keith, Will Haynes, Adam Schweigert) and Project Argo (Corey Daley, Chris Amico, Wesley Lindamood)
-
-**Tags:** link, newsletter, widget, mailchimp
-
-**Requires at least:** 4.1
-
-**Tested up to:** 4.2.3
-
-**Stable tag:** 0.4.1
-
-**License:** GPLv2 or later
-
+**Contributors:** The INN Nerds (David Ryan, Ryan Nagle, Ben Keith, Will Haynes, Adam Schweigert) and Project Argo (Corey Daley, Chris Amico, Wesley Lindamood)
+**Requires at least:** 4.1
+**Tested up to:** 4.2.3
+**Stable tag:** 0.4.1
+**License:** GPLv2 or later
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
-
## Overview
The Link Roundup plugin allows you to:
@@ -34,24 +26,14 @@ The plugin includes a browser bookmark that you can drag to your browser's bookm
In its previous life, Link Roundups was called Argo Links.
-
## Installation
-Link Roundups can be installed like any other WordPress plugin.
-
-1. Download the contents of this repository.
-2. Unzip the package and rename the folder to "link-roundups" (the folder will be called "link-roundups-master" but this may cause problems if you don't rename it before uploading to your site)
-3. Upload the folder to your WordPress installation in the wp-content/plugins directory
-4. Login to WordPress, click on Plugins in the left hand menu
-5. Select the Link Roundups plugin and click "activate"
-6. Review the plugin settings under the Settings > Link Roundups menu
-
-Installation directly from the WordPress.org plugin directory coming soon!
+See the [installation instructions on WordPress.org](https://wordpress.org/plugins/link-roundups/#installation)
## Features
#### Saved Links
-![New Saved Link](https://raw.githubusercontent.com/INN/link-roundups/master/docs/img/new-saved-link.png)
+![New Saved Link](./docs/img/new-saved-link.png)
Curate links from around the web and save them in WordPress using a handy browser bookmark. You can also add your own descriptions and organize saved links using tags.
@@ -89,7 +71,6 @@ Link Roundup posts have some default styling for your saved links to make sure y
4. [Using Saved Link and Link Roundup widgets](docs/widgets.md)
5. [__More →__](docs/readme.md)
-
## Development
For information on the development status of this plugin, check the [development milestones on github](https://github.com/INN/link-roundups/milestones).
diff --git a/README.txt b/README.txt
index 95da186..12c21ed 100644
--- a/README.txt
+++ b/README.txt
@@ -24,15 +24,29 @@ Collect links from around the web, turn them into roundup posts and streamline t
== Installation ==
+Via WordPress.org:
+
1. Install the Link Roundups plugin via the Wordpress.org plugin directory
2. Activate the plugin
3. Navigate to the Admin -> Link Roundups -> Options page to configure the plugin
4. Done!
+Via manual upload:
+
+1. Download this plugin via the "Download" button on [WordPress.org](https://wordpress.org/plugins/link-roundups/#installation) or download a tagged release [from the GitHub releases page](https://github.com/INN/link-roundups/releases).
+2. Unzip the package and rename the folder to "link-roundups" (The folder may be named "link-roundups-master" or something else. Uploading the plugin with this name may cause problems if you don't rename it before uploading to your site.)
+3. Upload the folder to your WordPress installation in the `wp-content/plugins` directory
+4. Log in to your site's WordPress Dashboard, then click on Plugins in the left hand menu
+5. Select the Link Roundups plugin and click "activate"
+6. Review the plugin settings under the Settings > Link Roundups menu
+
+
[Read more about installing plugins here](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins).
== Changelog ==
+= 0.5 (in development)
+
= 0.4.1 =
- The default query for Saved Links in the roundup editor is now for the last 30 days
diff --git a/wordpress-mailchimp-tools b/wordpress-mailchimp-tools
index 12225e5..2e592c2 160000
--- a/wordpress-mailchimp-tools
+++ b/wordpress-mailchimp-tools
@@ -1 +1 @@
-Subproject commit 12225e55f2bbe7fff3baf2d93d4c1b5b83c0f316
+Subproject commit 2e592c294399c98088c5649d1b12cb488ba2fe36
From e8895407eedd047c94b67c48c3b2870af64394d8 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 11:54:41 -0800
Subject: [PATCH 03/67] Update changelog for #137
---
README.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.txt b/README.txt
index 12c21ed..eb23eb9 100644
--- a/README.txt
+++ b/README.txt
@@ -47,6 +47,8 @@ Via manual upload:
= 0.5 (in development)
+- Fixes the saved_links_widget constructor for error-free PHP7 compatibility. Pull request [#137](https://github.com/INN/link-roundups/pull/137) for issue [#132](https://github.com/INN/link-roundups/issues/132).
+
= 0.4.1 =
- The default query for Saved Links in the roundup editor is now for the last 30 days
From 278f36058cd97384d75274771607a631d893c4b9 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 12:33:01 -0800
Subject: [PATCH 04/67] Update Travis config to test against PHP 5.6, 7.1, 7.2,
7.3. Raise min PHP version to 5.6.
Leaves minimum WordPress version unchanged;; but we're only running automated tests against current WordPress versinos.
---
.travis.yml | 48 ++++++++++++++++++++++++++++++++++++++++++------
README.txt | 8 ++++++--
2 files changed, 48 insertions(+), 8 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index a1b234b..9472080 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,17 +1,53 @@
# Travis CI Configuration File
+# Use Travis CI container-based infrastructure
+# See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/
+sudo: false
+
# Tell Travis CI we're using PHP
language: php
# PHP version used in first build configuration.
-php:
- - "5.3"
-
-sudo: false
+# https://secure.php.net/supported-versions.php
+# php:
+# # PHP pre-5.6 is EOL
+# - "5.6"
+# # PHP 7.0 is EOL
+# - "7.1"
+# - "7.2"
+# - "7.3"
# WordPress version used in first build configuration.
-env:
- - WP_VERSION=4.2.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+# env:
+# - WP_VERSION=4.2.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+
+# for a breakdown of why these versions were chosen, see https://github.com/INN/WP-DS-NPR-API/issues/12#issuecomment-374730094
+matrix:
+ include:
+ # PHPUnit 5
+ - php: 5.6
+ env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 6
+ - php: 7.1
+ env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.1
+ env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.1
+ env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 7 not supported by WordPress
+ - php: 7.2
+ env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.2
+ env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.2
+ env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 8?
+ - php: 7.3
+ env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.3
+ env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ - php: 7.3
+ env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# Only test the develop and master branches for now
branches:
diff --git a/README.txt b/README.txt
index 12c21ed..31c0069 100644
--- a/README.txt
+++ b/README.txt
@@ -2,11 +2,13 @@
Contributors: inn_nerds
Donate link: https://inn.org/donate
Tags: newsletters, mailchimp, links, curation, aggregation
-Requires at least: 4.1
-Tested up to: 4.2.3
+Requires at least: 4.2
+Tested up to: 5.1
Stable tag: 0.5
License: GPLv2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Minimum PHP: 5.6
+
Collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp.
@@ -47,6 +49,8 @@ Via manual upload:
= 0.5 (in development)
+- Updates Travis automated testing to support PHP 5.6, 7.1, 7.2
+
= 0.4.1 =
- The default query for Saved Links in the roundup editor is now for the last 30 days
From 4adb6f7b741746f3bd2ed533b306e57be148798e Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 12:41:55 -0800
Subject: [PATCH 05/67] Undo updating WordPress mailchimp tools submodule
---
wordpress-mailchimp-tools | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wordpress-mailchimp-tools b/wordpress-mailchimp-tools
index 2e592c2..04f246d 160000
--- a/wordpress-mailchimp-tools
+++ b/wordpress-mailchimp-tools
@@ -1 +1 @@
-Subproject commit 2e592c294399c98088c5649d1b12cb488ba2fe36
+Subproject commit 04f246d463053693bcbd355fb23ec3533a7d27bb
From 7768aea3b239af20275d895b9f180d6d11ce27ac Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 17:55:54 -0800
Subject: [PATCH 06/67] Further slimming of GitHUB Readme to
development-specific info
---
README.md | 52 ++++------------------------------------------------
1 file changed, 4 insertions(+), 48 deletions(-)
diff --git a/README.md b/README.md
index 2d72930..da447a8 100644
--- a/README.md
+++ b/README.md
@@ -11,57 +11,11 @@ A WordPress plugin to make it easy to collect links from around the web, turn th
## Overview
-The Link Roundup plugin allows you to:
-
-- Curate links
-- Create link roundup posts
-- Optionally send the roundup posts to MailChimp to be distributed to your subscribers
-
-It also includes two widgets:
-
-- A widget to display your recently saved links
-- A widget to display your recent link roundup posts (with the ability to limit by category)
-
-The plugin includes a browser bookmark that you can drag to your browser's bookmark bar, allowing you to save links directly to your WordPress site. This bookmark attempts to pre-fill fields like link title, source, URL and featured image and also allows you to add a description to each link viewable when published on your site.
-
-In its previous life, Link Roundups was called Argo Links.
+See the [overview on WordPress.org](https://wordpress.org/plugins/link-roundups/).
## Installation
-See the [installation instructions on WordPress.org](https://wordpress.org/plugins/link-roundups/#installation)
-
-## Features
-
-#### Saved Links
-![New Saved Link](./docs/img/new-saved-link.png)
-
-Curate links from around the web and save them in WordPress using a handy browser bookmark. You can also add your own descriptions and organize saved links using tags.
-
-#### Saved Links Widget
-
-Display a feed of your recent Saved Links, optionally filtered by tags.
-
-#### Link Roundups
-![Recent Saved Links Panel in Link Roundups Editor](https://raw.githubusercontent.com/INN/link-roundups/master/docs/img/link-roundups-passthru.png)
-
-Build Link Roundup posts using a panel that displays and filters your recent Saved Links. Select the links you want to include and send them to the editor to compose your roundup posts.
-
-#### Link Roundups Widget
-
-Display most recent Link Roundup posts by date. Optionally, limit the roundup posts displayed by category.
-
-#### MailChimp API Integration
-
-Simplify your workflow by sending Link Roundup posts directly to MailChimp. Create a template for your roundups using a number of special template tags and then create a new MailChimp campaign directly from WordPress. You can even include sponsored links.
-
-#### Rename Link Roundups
-
-If you would prefer to call your roundup posts something else (daily digest, for example) you can rename the singular (default: Link Roundup) and plural form (default: Link Roundups) as well as the slug for posts in the Link Roundups custom post type.
-
-#### Custom HTML for Displaying Links
-
-Link Roundup posts have some default styling for your saved links to make sure your posts look great out of the box. If you'd prefer to modify the HTML output for Save Links or styling for sponsored links, you can do that from the plugin settings.
-
+See the [installation instructions on WordPress.org](https://wordpress.org/plugins/link-roundups/#installation).
## [Documentation](docs/readme.md)
@@ -76,3 +30,5 @@ Link Roundup posts have some default styling for your saved links to make sure y
For information on the development status of this plugin, check the [development milestones on github](https://github.com/INN/link-roundups/milestones).
If you'd like to contribute to the project, please see our [contributing guidelines](contributing.md).
+
+This plugin depends on [INN/wordpress-mailchimp-tools](https://github.com/INN/wordpress-mailchimp-tools), as well as some components imported via composer.
From e828fff8089199e71799a0eb514507c3fa6dfff7 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 17:57:13 -0800
Subject: [PATCH 07/67] Improved guess documentation within .travis.yml
---
.travis.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 9472080..cdb9d45 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,14 +34,14 @@ matrix:
env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.1
env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- # PHPUnit 7 not supported by WordPress
+ # PHPUnit 7, probably
- php: 7.2
env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.2
env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.2
env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- # PHPUnit 8?
+ # PHPUnit 8, probably
- php: 7.3
env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.3
From 9430b71ed1c722a5f552a0f1d6635c89e009ab80 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 18:23:48 -0800
Subject: [PATCH 08/67] Remove PHP/WordPress combinations currently unsupported
by WordPress, due to a lack of backports:
https://github.com/INN/link-roundups/issues/135#issuecomment-470357566
---
.travis.yml | 8 --------
1 file changed, 8 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index cdb9d45..a4abb1c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,17 +35,9 @@ matrix:
- php: 7.1
env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# PHPUnit 7, probably
- - php: 7.2
- env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- - php: 7.2
- env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.2
env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# PHPUnit 8, probably
- - php: 7.3
- env: WP_VERSION=4.9 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- - php: 7.3
- env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.3
env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
From 5214bde1a5b6ac18d926d62e4586c866094dfcc5 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 18:24:06 -0800
Subject: [PATCH 09/67] get PHPUnit version in log output
---
.travis.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.travis.yml b/.travis.yml
index a4abb1c..642383f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -62,6 +62,7 @@ before_script:
- sed -i "s/yourpasswordhere//" wp-tests-config.php
- mv wp-tests-config.php "$WP_TESTS_DIR/wp-tests-config.php"
- cd "$WP_CORE_DIR/src/wp-content/plugins/$SLUG"
+ - phpunit --version
script: phpunit
From 07289156d2587c00363c6484175a6f8c18a11153 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 18:24:16 -0800
Subject: [PATCH 10/67] Remove Hipchat notification script
---
.travis.yml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 642383f..6fc6223 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -65,8 +65,3 @@ before_script:
- phpunit --version
script: phpunit
-
-notifications:
- hipchat:
- rooms:
- secure: mrJDwl2LYmWGY6gKUEsSnbGp3mQ8UhVQkb9oBmRSDx9T/hCSDx4Q2KDLo0OqCFIwDB5BevP16vDDWVmsg8Ldwk+Hh0YAmdUqBAXe21+17ojqSIAdQg6LgLrEFEBNVBlPu89xonRMnsai34RDCoRt5c9OLuWgGVMAcTojpQvPiII=
From 85c29a0fa2ec25cd52f534c15a7e5b527e1118b7 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 18:25:57 -0800
Subject: [PATCH 11/67] Comment out PHP 7.2 and 7.3 tests for WordPress 5.1,
because those tests are not supported by WordPress at this time.
See research described in https://github.com/INN/link-roundups/issues/135#issuecomment-470357566
A review of tests initially introduced in https://github.com/INN/link-roundups/pull/138: https://travis-ci.org/INN/link-roundups/builds/502881348?utm_source=github_status&utm_medium=notification
- Travis is running PHP 7.2 with PHPunit 8. https://travis-ci.org/INN/link-roundups/jobs/502881355
- Travis is running PHP 7.3 with PHPunit 8. https://travis-ci.org/INN/link-roundups/jobs/502881358
- WP 4.9/5.0 don't have PHPUnit 8 forwards-compatibility shims in place; 5.1 does provide a warning about 8 not being supported.
---
.travis.yml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 6fc6223..777b1c9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,12 +34,12 @@ matrix:
env: WP_VERSION=5.0 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- php: 7.1
env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- # PHPUnit 7, probably
- - php: 7.2
- env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
- # PHPUnit 8, probably
- - php: 7.3
- env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 8, based on https://github.com/INN/link-roundups/issues/135#issuecomment-470357566
+ #- php: 7.2
+ # env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
+ # PHPUnit 8, based on https://github.com/INN/link-roundups/issues/135#issuecomment-470357566
+ #- php: 7.3
+ # env: WP_VERSION=5.1 WP_TESTS_DIR=/tmp/wordpress/tests/phpunit WP_CORE_DIR=/tmp/wordpress
# Only test the develop and master branches for now
branches:
From c886e927871b4ec0d7cb18b0c77451fec0fc8dba Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 19:08:18 -0800
Subject: [PATCH 12/67] Update INN/wordpress-mailchimp-tools to
https://github.com/INN/wordpress-mailchimp-tools/pull/4
---
README.txt | 1 +
wordpress-mailchimp-tools | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.txt b/README.txt
index 9f300f6..aac74a7 100644
--- a/README.txt
+++ b/README.txt
@@ -49,6 +49,7 @@ Via manual upload:
= 0.5 (in development)
+- Updates the [WordPress Mailchimp Tools](https://github.com/INN/wordpress-mailchimp-tools) submodule to use version 3 of the Mailchimp API, and gain various compatibility updates for modern PHP versions.
- Updates Travis automated testing to support PHP 5.6, 7.1, 7.2. Pull request [#138](https://github.com/INN/link-roundups/pull/138) for issue [#135](https://github.com/INN/link-roundups/issues/135).
- Fixes the saved_links_widget constructor for error-free PHP7 compatibility. Pull request [#137](https://github.com/INN/link-roundups/pull/137) for issue [#132](https://github.com/INN/link-roundups/issues/132).
diff --git a/wordpress-mailchimp-tools b/wordpress-mailchimp-tools
index 04f246d..f3152de 160000
--- a/wordpress-mailchimp-tools
+++ b/wordpress-mailchimp-tools
@@ -1 +1 @@
-Subproject commit 04f246d463053693bcbd355fb23ec3533a7d27bb
+Subproject commit f3152de62b86bcaf76214653e760ff781dc9151d
From f3ee4cf75214812f7c6f24cdccda3e5b1122c0d1 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 6 Mar 2019 19:17:57 -0800
Subject: [PATCH 13/67] Update drewm/mailchimp-api dependency to 2.5
---
wordpress-mailchimp-tools | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wordpress-mailchimp-tools b/wordpress-mailchimp-tools
index f3152de..adf3909 160000
--- a/wordpress-mailchimp-tools
+++ b/wordpress-mailchimp-tools
@@ -1 +1 @@
-Subproject commit f3152de62b86bcaf76214653e760ff781dc9151d
+Subproject commit adf39095716e1ef14833acae858d42f056c51d95
From 6a0407fed74015054b1853a13bf20e55b897d6bd Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 16:04:15 -0400
Subject: [PATCH 14/67] Update directions to the MailChimp API settings, and
remove some references to Argo
---
docs/mailchimp.md | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/docs/mailchimp.md b/docs/mailchimp.md
index c445ec2..b7fe0ca 100644
--- a/docs/mailchimp.md
+++ b/docs/mailchimp.md
@@ -14,11 +14,12 @@ In order to use the MailChimp features of Link Roundups, you'll need to sign up
2. Click on your account in the upper-right corner. In the drop-down menu, click "Account".
3. Click on "Extras", then "API keys".
4. Click "Create A Key". A new key will appear in the list.
-5. Click the "Label" field of your new API key. Name it after the site you're using Argo Links on. For example: "example.com argo links"
+5. Click the "Label" field of your new API key. Name it after the site you're using Link Roundupss on. For example: "example.com link roundups"
6. Copy the API key. This will be a long string of characters from 0-9 and a-f.
-7. On your website, go to **Dashboard > Link Roundups > Options**.
+7. On your website, go to **Dashboard > Settings > MailChimp Options**.
8. Paste the MailChimp API Key into the appropriate field, then check "Enable MailChimp API Integration".
9. Press "Save Changes".
+10. Go to **Link Roundups > MailChimp Campaign Settings** to configure your MailChimp campaigns.
![Link Roundups MailChimp API settings](./img/link-roundups-mailchimp-integration.png)
@@ -47,9 +48,9 @@ Then, edit the template to insert the following tags where you want them to appe
#### Required Tags:
-If these template tags are not present in your MailChimp template, you will be unable to create a new Argo Links Roundup Email Campaign.
+If these template tags are not present in your MailChimp template, you will be unable to create a new Links Roundup Email Campaign.
-- `*|ROUNDUPLINKS|*` - The actual list of links from the Argo Links Roundup post
+- `*|ROUNDUPLINKS|*` - The actual list of links from the Links Roundup post
#### Optional Tags:
@@ -74,4 +75,4 @@ In the Link Roundups editor, above the standard WordPress "Publish" button you'l
![Create MailChimp Campaign button in the post editor](./img/link-roundup-mailchimp-button.png)
-When you click "Create a MailChimp Campaign" you will be asked to confirm the action. The Link Roundups plugin will contact MailChimp to create the campaign and, upon success, present you with a link to finish editing the campaign in the MailChimp dashboard.
\ No newline at end of file
+When you click "Create a MailChimp Campaign" you will be asked to confirm the action. The Link Roundups plugin will contact MailChimp to create the campaign and, upon success, present you with a link to finish editing the campaign in the MailChimp dashboard.
From a6b8b978a805d51d8cee235ad80f51d2512ff3e8 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 17:58:08 -0400
Subject: [PATCH 15/67] Switch to composer install of WordPress MailChimp Tools
from INN
---
.gitmodules | 3 --
composer.json | 5 ++
composer.lock | 111 ++++++++++++++++++++++++++++++++++++++
link-roundups.php | 8 ++-
vendor/.gitkeep | 0
wordpress-mailchimp-tools | 1 -
6 files changed, 122 insertions(+), 6 deletions(-)
create mode 100644 composer.json
create mode 100644 composer.lock
create mode 100644 vendor/.gitkeep
delete mode 160000 wordpress-mailchimp-tools
diff --git a/.gitmodules b/.gitmodules
index 52c6a5f..403abfe 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
[submodule "vendor/mailchimp-api-php"]
path = vendor/mailchimp-api-php
url = https://bitbucket.org/mailchimp/mailchimp-api-php.git
-[submodule "wordpress-mailchimp-tools"]
- path = wordpress-mailchimp-tools
- url = https://github.com/INN/wordpress-mailchimp-tools.git
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..0ea3c04
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,5 @@
+{
+ "require": {
+ "inn/wordpress-mailchimp-tools": "dev-master"
+ }
+}
diff --git a/composer.lock b/composer.lock
new file mode 100644
index 0000000..b449c06
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,111 @@
+{
+ "_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": "47140de8b990115d2553d445998ba8d3",
+ "packages": [
+ {
+ "name": "drewm/mailchimp-api",
+ "version": "v2.5.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/drewm/mailchimp-api.git",
+ "reference": "a6519cafba509e754e748d93f3532ad7f3aa515a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/drewm/mailchimp-api/zipball/a6519cafba509e754e748d93f3532ad7f3aa515a",
+ "reference": "a6519cafba509e754e748d93f3532ad7f3aa515a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "php": ">=5.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "7.0.*",
+ "vlucas/phpdotenv": "^2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DrewM\\MailChimp\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Drew McLellan",
+ "email": "drew.mclellan@gmail.com",
+ "homepage": "http://allinthehead.com/"
+ }
+ ],
+ "description": "Super-simple, minimum abstraction MailChimp API v3 wrapper",
+ "homepage": "https://github.com/drewm/mailchimp-api",
+ "time": "2019-03-28T15:20:43+00:00"
+ },
+ {
+ "name": "inn/wordpress-mailchimp-tools",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/INN/wordpress-mailchimp-tools.git",
+ "reference": "adf39095716e1ef14833acae858d42f056c51d95"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/adf39095716e1ef14833acae858d42f056c51d95",
+ "reference": "adf39095716e1ef14833acae858d42f056c51d95",
+ "shasum": ""
+ },
+ "require": {
+ "drewm/mailchimp-api": "^2.5",
+ "php": ">=5.2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "inc/"
+ ],
+ "files": [
+ "mailchimp-tools.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0"
+ ],
+ "authors": [
+ {
+ "name": "INN Nerds",
+ "email": "nerds@inn.org",
+ "homepage": "http://nerds.inn.org",
+ "role": "Developer"
+ }
+ ],
+ "description": "Collection of tools for authoring MailChimp newsletters via the WordPress dashboard",
+ "homepage": "https://nerds.inn.org/",
+ "keywords": [
+ "api",
+ "email"
+ ],
+ "time": "2019-03-07T03:17:40+00:00"
+ }
+ ],
+ "packages-dev": [],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": {
+ "inn/wordpress-mailchimp-tools": 20
+ },
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": [],
+ "platform-dev": []
+}
diff --git a/link-roundups.php b/link-roundups.php
index bbf4387..f03419b 100644
--- a/link-roundups.php
+++ b/link-roundups.php
@@ -23,8 +23,12 @@ function activate_link_roundups() {
/**
* Mailchimp API and Modal Functions
*/
-if ( ! class_exists( 'MailChimp' ) && file_exists( __DIR__ . '/wordpress-mailchimp-tools/vendor/autoload.php' ) ) {
- require_once __DIR__ . '/wordpress-mailchimp-tools/vendor/autoload.php';
+if ( ! class_exists( 'MailChimp' ) && file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
+ require_once __DIR__ . '/vendor/autoload.php';
+} else {
+ error_log(
+ sprintf(
+ __('Your installation of the Link Roundups Plugin is missing its vendor dependencies. Please visit %1$s for more information.', 'link-roundups'
}
/**
diff --git a/vendor/.gitkeep b/vendor/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/wordpress-mailchimp-tools b/wordpress-mailchimp-tools
deleted file mode 160000
index adf3909..0000000
--- a/wordpress-mailchimp-tools
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit adf39095716e1ef14833acae858d42f056c51d95
From 987965d72edb33604f9d2fd171c001f7ba7b71a2 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 17:58:24 -0400
Subject: [PATCH 16/67] Add Text Domain to plugin readme.txt
---
README.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.txt b/README.txt
index aac74a7..19c94bd 100644
--- a/README.txt
+++ b/README.txt
@@ -8,6 +8,7 @@ Stable tag: 0.5
License: GPLv2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Minimum PHP: 5.6
+Text Domain: link-roundups
Collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp.
From 5d0f2a6c96194067bbe69938ee838d1743319c41 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 17:58:42 -0400
Subject: [PATCH 17/67] Add Text Domain to plugin php file
---
link-roundups.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/link-roundups.php b/link-roundups.php
index f03419b..16c4baa 100644
--- a/link-roundups.php
+++ b/link-roundups.php
@@ -7,6 +7,7 @@
Version: 0.5
Author URI: http://nerds.inn.org/
License: GPLv2
+Text Domain: link-roundups
Seeking Link Roundups Post Type functions? They use lroundups instead of link-roundups.
*/
From 2edff3948f12f5d7d2dcd2cf19bab56cb1050743 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 17:59:57 -0400
Subject: [PATCH 18/67] Finish providing error log for composer install docs
---
link-roundups.php | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/link-roundups.php b/link-roundups.php
index 16c4baa..6af8c17 100644
--- a/link-roundups.php
+++ b/link-roundups.php
@@ -29,7 +29,11 @@ function activate_link_roundups() {
} else {
error_log(
sprintf(
- __('Your installation of the Link Roundups Plugin is missing its vendor dependencies. Please visit %1$s for more information.', 'link-roundups'
+ // translators: %1$s is a URL.
+ __('Your installation of the Link Roundups Plugin is missing its vendor dependencies. Please visit %1$s for more information.', 'link-roundups'),
+ 'https://github.com/INN/link-roundups/blob/136-update-wordpress-mailchimp-tools/docs/installation.md'
+ )
+ );
}
/**
From 39d71ec53caae0b3a34a477e237e1169ce62108a Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 20:26:17 -0400
Subject: [PATCH 19/67] Pick up
https://github.com/INN/wordpress-mailchimp-tools/commit/080e306b0e98284d3f1217a0019497549cae71c2
as a fix for
https://github.com/INN/link-roundups/pull/139#issuecomment-488446996
---
composer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index 0ea3c04..ed78889 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
{
"require": {
- "inn/wordpress-mailchimp-tools": "dev-master"
+ "inn/wordpress-mailchimp-tools": "dev-master#080e306b0e98284d3f1217a0019497549cae71c2"
}
}
From 69251c1d42105bd5562788f03168865d6522949d Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 21:12:39 -0400
Subject: [PATCH 20/67] Fix for
https://github.com/INN/link-roundups/pull/139#issuecomment-488522680
---
composer.json | 2 +-
composer.lock | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/composer.json b/composer.json
index ed78889..9f7fb90 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
{
"require": {
- "inn/wordpress-mailchimp-tools": "dev-master#080e306b0e98284d3f1217a0019497549cae71c2"
+ "inn/wordpress-mailchimp-tools": "dev-master#0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed"
}
}
diff --git a/composer.lock b/composer.lock
index b449c06..7a02f63 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "47140de8b990115d2553d445998ba8d3",
+ "content-hash": "240ac3bd27db66157f36af89637081ef",
"packages": [
{
"name": "drewm/mailchimp-api",
@@ -56,12 +56,12 @@
"source": {
"type": "git",
"url": "https://github.com/INN/wordpress-mailchimp-tools.git",
- "reference": "adf39095716e1ef14833acae858d42f056c51d95"
+ "reference": "0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/adf39095716e1ef14833acae858d42f056c51d95",
- "reference": "adf39095716e1ef14833acae858d42f056c51d95",
+ "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed",
+ "reference": "0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed",
"shasum": ""
},
"require": {
@@ -95,7 +95,7 @@
"api",
"email"
],
- "time": "2019-03-07T03:17:40+00:00"
+ "time": "2019-05-02T00:54:59+00:00"
}
],
"packages-dev": [],
From e96f4126bdd119c59d6d3726b8f226b040b22878 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 21:51:18 -0400
Subject: [PATCH 21/67] fix a docs typo
---
docs/mailchimp.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/mailchimp.md b/docs/mailchimp.md
index b7fe0ca..a5d73d9 100644
--- a/docs/mailchimp.md
+++ b/docs/mailchimp.md
@@ -58,7 +58,7 @@ These template tags are not required, but you may wish to use them in your templ
- `*|ROUNDUPTITLE|*` - The Link Roundup post title
- `*|ROUNDUPAUTHOR|*` - The author of the Link Roundup post
-- `*|ROUNDUPDATE|*` - The date the Links Roundu post was published
+- `*|ROUNDUPDATE|*` - The date the Links Roundup post was published
- `*|ROUNDUPPERMALINK|*` - A link back to the original Link Roundup post
## Choosing the MailChimp Template and List to use
From c701cc51daa9182176e8fba1a8704c0428fae8dc Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 21:51:42 -0400
Subject: [PATCH 22/67] Capture error messages in the wordpress mailchimp tools
---
composer.json | 2 +-
composer.lock | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/composer.json b/composer.json
index 9f7fb90..ee56090 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
{
"require": {
- "inn/wordpress-mailchimp-tools": "dev-master#0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed"
+ "inn/wordpress-mailchimp-tools": "dev-master#0ff5674b85b8604895a1022c9d0c7f83cf3a0c10"
}
}
diff --git a/composer.lock b/composer.lock
index 7a02f63..11202d1 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "240ac3bd27db66157f36af89637081ef",
+ "content-hash": "cc4a407df2abacb65441aaf8849c1522",
"packages": [
{
"name": "drewm/mailchimp-api",
@@ -56,12 +56,12 @@
"source": {
"type": "git",
"url": "https://github.com/INN/wordpress-mailchimp-tools.git",
- "reference": "0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed"
+ "reference": "0ff5674b85b8604895a1022c9d0c7f83cf3a0c10"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed",
- "reference": "0cfdf1d23a42cb3c5f4b4d85c0f6d7e5aaec87ed",
+ "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/0ff5674b85b8604895a1022c9d0c7f83cf3a0c10",
+ "reference": "0ff5674b85b8604895a1022c9d0c7f83cf3a0c10",
"shasum": ""
},
"require": {
@@ -95,7 +95,7 @@
"api",
"email"
],
- "time": "2019-05-02T00:54:59+00:00"
+ "time": "2019-05-02T01:34:38+00:00"
}
],
"packages-dev": [],
From cd870b8a58941b6494720b7b62a43a5ad72ccdb6 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 1 May 2019 22:09:42 -0400
Subject: [PATCH 23/67] Update install docs!
---
docs/installation.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/installation.md b/docs/installation.md
index f3ea7f2..d0017b0 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -4,12 +4,13 @@ If you're an INN member making use of INN's [Largo Project](https://largoproject
## Manual Install
-1. Download the [.zip archive](https://github.com/INN/link-roundups/archive/master.zip) from GitHub.
+1. Download the latest master [.zip archive](https://github.com/INN/link-roundups/archive/master.zip) from GitHub, or `git clone https://github.com/INN/link-roundups.git`.
2. Extract the .zip archive.
3. Rename the plugin directory to `link-roundups`. If the directory the plugin files reside in is named anything else, the plugin will not work.
+4. Run `composer install` — this requires [composer](https://getcomposer.org/), the PHP dependency manager.
4. Upload the plugin directory to you server's `wp-content/plugins` directory.
5. Activate the plugin through the [`Plugins` menu](https://codex.wordpress.org/Plugins_Screen) in WordPress.
## WordPress Plugin Directory or Your WordPress Dashboard
-Coming Soon. Yes, exciting.
+Install from https://wordpress.org/plugins/link-roundups/ !
From f6b3295c4e8c8e5c73d852789d62819e2e6ede53 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Thu, 2 May 2019 19:09:43 -0400
Subject: [PATCH 24/67] Update inn/wordpress-mailchimp-tools to include filter
for https://github.com/INN/link-roundups/pull/139#issuecomment-488852947
---
composer.json | 2 +-
composer.lock | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/composer.json b/composer.json
index ee56090..992bbec 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
{
"require": {
- "inn/wordpress-mailchimp-tools": "dev-master#0ff5674b85b8604895a1022c9d0c7f83cf3a0c10"
+ "inn/wordpress-mailchimp-tools": "dev-master#4e768f7661a2fe8fc2785140e8313280eb230c3f"
}
}
diff --git a/composer.lock b/composer.lock
index 11202d1..6fa4071 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "cc4a407df2abacb65441aaf8849c1522",
+ "content-hash": "91fe4a3da7e9e2f489f61ba4705aeeb9",
"packages": [
{
"name": "drewm/mailchimp-api",
@@ -56,12 +56,12 @@
"source": {
"type": "git",
"url": "https://github.com/INN/wordpress-mailchimp-tools.git",
- "reference": "0ff5674b85b8604895a1022c9d0c7f83cf3a0c10"
+ "reference": "4e768f7661a2fe8fc2785140e8313280eb230c3f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/0ff5674b85b8604895a1022c9d0c7f83cf3a0c10",
- "reference": "0ff5674b85b8604895a1022c9d0c7f83cf3a0c10",
+ "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/4e768f7661a2fe8fc2785140e8313280eb230c3f",
+ "reference": "4e768f7661a2fe8fc2785140e8313280eb230c3f",
"shasum": ""
},
"require": {
@@ -95,7 +95,7 @@
"api",
"email"
],
- "time": "2019-05-02T01:34:38+00:00"
+ "time": "2019-05-02T22:26:18+00:00"
}
],
"packages-dev": [],
From 0e8736b6d6373eff6c948438e1dd8104069ed628 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Thu, 2 May 2019 19:10:26 -0400
Subject: [PATCH 25/67] Minor style cleanup in class-link-roundups.php
---
inc/link-roundups/class-link-roundups.php | 30 ++++++++++++-----------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/inc/link-roundups/class-link-roundups.php b/inc/link-roundups/class-link-roundups.php
index b557193..39caa3e 100644
--- a/inc/link-roundups/class-link-roundups.php
+++ b/inc/link-roundups/class-link-roundups.php
@@ -169,27 +169,29 @@ public static function add_custom_post_fields() {
* @since 0.1
*/
public static function display_custom_fields() {
- ?>
-
-
-
+
Date: Thu, 2 May 2019 19:21:28 -0400
Subject: [PATCH 26/67] updated saved links list table class for compatibility
Resolves https://github.com/INN/link-roundups/issues/128
---
inc/saved-links/README.md | 12 +-
.../class-saved-links-list-table.php | 2 +-
inc/saved-links/class-wp-list-table-clone.php | 586 ++++++++++--------
3 files changed, 346 insertions(+), 254 deletions(-)
diff --git a/inc/saved-links/README.md b/inc/saved-links/README.md
index fe22255..e7d3c7f 100644
--- a/inc/saved-links/README.md
+++ b/inc/saved-links/README.md
@@ -1,12 +1,12 @@
# Updating WP_List_Table
-class-wp-list-table-clone.php contains the file WordPress/wp-admin/includes/class-wp-list-table.php as seen at [Wordpress/Wordpress commit 4d34e373113ade2e6358289d02bbd8a7ce7ffbf9](https://github.com/WordPress/WordPress/blob/4d34e373113ade2e6358289d02bbd8a7ce7ffbf9/wp-admin/includes/class-wp-list-table.php#L11).
+class-wp-list-table-clone.php contains the file WordPress/wp-admin/includes/class-wp-list-table.php as seen at [Wordpress/Wordpress tag 5.1.1](https://github.com/WordPress/WordPress/blob/5.1.1/wp-admin/includes/class-wp-list-table.php).
If you would like to update this file:
-1. wget https://github.com/WordPress/WordPress/blob/4d34e373113ade2e6358289d02bbd8a7ce7ffbf9/wp-admin/includes/class-wp-list-table.php
-2. mv class-wp-list-table.php class-wp-list-table-clone.php
-3. Edit class-wp-list-table-clone.php, replacing "class WP_List_Table" with "class clone_WP_List_table" to prevent naming conflicts
+1. Download that file, at the latest stable version of WordPress
+2. `mv class-wp-list-table.php class-wp-list-table-clone.php`
+3. Edit `class-wp-list-table-clone.php`, replacing "class WP_List_Table" with "class clone_WP_List_Table" to prevent naming conflicts
4. please check that this plugin continues to work.
## Why aren't we using WP_List_Table directly?
@@ -20,3 +20,7 @@ And as @aschweigert said on 2015-08-11:
> if they say you should make a copy of it you should probably make a copy of it
So now there's a copy of it.
+
+It needs to be updated on occasion, because of messages like this:
+
+> Declaration of Saved_Links_List_Table::bulk_actions($which) should be compatible with clone_WP_List_Table::bulk_actions($which = '')
diff --git a/inc/saved-links/class-saved-links-list-table.php b/inc/saved-links/class-saved-links-list-table.php
index 2462f58..c26ebfd 100644
--- a/inc/saved-links/class-saved-links-list-table.php
+++ b/inc/saved-links/class-saved-links-list-table.php
@@ -45,7 +45,7 @@ function __construct() {
* @param string $which is either "top" or "bottom", and tells you which nav you're outputting.
* @since 0.3.2
*/
- function bulk_actions( $which ) {
+ function bulk_actions( $which = '' ) {
// this will display at top and bottom
?>
diff --git a/inc/saved-links/class-wp-list-table-clone.php b/inc/saved-links/class-wp-list-table-clone.php
index 47a0379..fde2808 100644
--- a/inc/saved-links/class-wp-list-table-clone.php
+++ b/inc/saved-links/class-wp-list-table-clone.php
@@ -1,36 +1,41 @@
get_column_info()
+ * Stores the value returned by ->get_column_info().
*
+ * @since 4.1.0
* @var array
*/
protected $_column_headers;
+ /**
+ * {@internal Missing Summary}
+ *
+ * @var array
+ */
protected $compat_fields = array( '_args', '_pagination_args', 'screen', '_actions', '_pagination' );
- protected $compat_methods = array( 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions',
- 'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination',
- 'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav',
- 'single_row_columns' );
+ /**
+ * {@internal Missing Summary}
+ *
+ * @var array
+ */
+ protected $compat_methods = array(
+ 'set_pagination_args',
+ 'get_views',
+ 'get_bulk_actions',
+ 'bulk_actions',
+ 'row_actions',
+ 'months_dropdown',
+ 'view_switcher',
+ 'comments_bubble',
+ 'get_items_per_page',
+ 'pagination',
+ 'get_sortable_columns',
+ 'get_column_info',
+ 'get_table_classes',
+ 'display_tablenav',
+ 'extra_tablenav',
+ 'single_row_columns',
+ );
/**
* Constructor.
@@ -94,7 +120,6 @@ class clone_WP_List_Table {
* the default $args.
*
* @since 3.1.0
- * @access public
*
* @param array|string $args {
* Array or string of arguments.
@@ -104,31 +129,35 @@ class clone_WP_List_Table {
* in the list table, e.g. 'posts'. Default empty.
* @type string $singular Singular label for an object being listed, e.g. 'post'.
* Default empty
- * @type bool $ajax Whether the list table supports AJAX. This includes loading
+ * @type bool $ajax Whether the list table supports Ajax. This includes loading
* and sorting data, for example. If true, the class will call
- * the {@see _js_vars()} method in the footer to provide variables
- * to any scripts handling AJAX events. Default false.
+ * the _js_vars() method in the footer to provide variables
+ * to any scripts handling Ajax events. Default false.
* @type string $screen String containing the hook name used to determine the current
* screen. If left null, the current screen will be automatically set.
* Default null.
* }
*/
public function __construct( $args = array() ) {
- $args = wp_parse_args( $args, array(
- 'plural' => '',
- 'singular' => '',
- 'ajax' => false,
- 'screen' => null,
- ) );
+ $args = wp_parse_args(
+ $args,
+ array(
+ 'plural' => '',
+ 'singular' => '',
+ 'ajax' => false,
+ 'screen' => null,
+ )
+ );
$this->screen = convert_to_screen( $args['screen'] );
add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 );
- if ( !$args['plural'] )
+ if ( ! $args['plural'] ) {
$args['plural'] = $this->screen->base;
+ }
- $args['plural'] = sanitize_key( $args['plural'] );
+ $args['plural'] = sanitize_key( $args['plural'] );
$args['singular'] = sanitize_key( $args['singular'] );
$this->_args = $args;
@@ -141,16 +170,15 @@ public function __construct( $args = array() ) {
if ( empty( $this->modes ) ) {
$this->modes = array(
'list' => __( 'List View' ),
- 'excerpt' => __( 'Excerpt View' )
+ 'excerpt' => __( 'Excerpt View' ),
);
}
}
/**
- * Make private properties readable for backwards compatibility.
+ * Make private properties readable for backward compatibility.
*
* @since 4.0.0
- * @access public
*
* @param string $name Property to get.
* @return mixed Property.
@@ -162,10 +190,9 @@ public function __get( $name ) {
}
/**
- * Make private properties settable for backwards compatibility.
+ * Make private properties settable for backward compatibility.
*
* @since 4.0.0
- * @access public
*
* @param string $name Property to check if set.
* @param mixed $value Property value.
@@ -178,10 +205,9 @@ public function __set( $name, $value ) {
}
/**
- * Make private properties checkable for backwards compatibility.
+ * Make private properties checkable for backward compatibility.
*
* @since 4.0.0
- * @access public
*
* @param string $name Property to check if set.
* @return bool Whether the property is set.
@@ -193,10 +219,9 @@ public function __isset( $name ) {
}
/**
- * Make private properties un-settable for backwards compatibility.
+ * Make private properties un-settable for backward compatibility.
*
* @since 4.0.0
- * @access public
*
* @param string $name Property to unset.
*/
@@ -207,12 +232,11 @@ public function __unset( $name ) {
}
/**
- * Make private/protected methods readable for backwards compatibility.
+ * Make private/protected methods readable for backward compatibility.
*
* @since 4.0.0
- * @access public
*
- * @param callable $name Method to call.
+ * @param string $name Method to call.
* @param array $arguments Arguments to pass when calling.
* @return mixed|bool Return value of the callback, false otherwise.
*/
@@ -227,45 +251,47 @@ public function __call( $name, $arguments ) {
* Checks the current user's permissions
*
* @since 3.1.0
- * @access public
* @abstract
*/
public function ajax_user_can() {
- die( 'function WP_List_Table::ajax_user_can() must be over-ridden in a sub-class.' );
+ die( 'function clone_WP_List_Table::ajax_user_can() must be over-ridden in a sub-class.' );
}
/**
* Prepares the list of items for displaying.
- * @uses WP_List_Table::set_pagination_args()
+ *
+ * @uses clone_WP_List_Table::set_pagination_args()
*
* @since 3.1.0
- * @access public
* @abstract
*/
public function prepare_items() {
- die( 'function WP_List_Table::prepare_items() must be over-ridden in a sub-class.' );
+ die( 'function clone_WP_List_Table::prepare_items() must be over-ridden in a sub-class.' );
}
/**
* An internal method that sets all the necessary pagination arguments
*
- * @param array $args An associative array with information about the pagination
- * @access protected
+ * @since 3.1.0
*
- * @param array|string $args
+ * @param array|string $args Array or string of arguments with information about the pagination.
*/
protected function set_pagination_args( $args ) {
- $args = wp_parse_args( $args, array(
- 'total_items' => 0,
- 'total_pages' => 0,
- 'per_page' => 0,
- ) );
+ $args = wp_parse_args(
+ $args,
+ array(
+ 'total_items' => 0,
+ 'total_pages' => 0,
+ 'per_page' => 0,
+ )
+ );
- if ( !$args['total_pages'] && $args['per_page'] > 0 )
+ if ( ! $args['total_pages'] && $args['per_page'] > 0 ) {
$args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] );
+ }
// Redirect if page number is invalid and headers are not already sent.
- if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
+ if ( ! headers_sent() && ! wp_doing_ajax() && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) );
exit;
}
@@ -277,72 +303,75 @@ protected function set_pagination_args( $args ) {
* Access the pagination args.
*
* @since 3.1.0
- * @access public
*
* @param string $key Pagination argument to retrieve. Common values include 'total_items',
* 'total_pages', 'per_page', or 'infinite_scroll'.
* @return int Number of items that correspond to the given pagination argument.
*/
public function get_pagination_arg( $key ) {
- if ( 'page' == $key )
+ if ( 'page' === $key ) {
return $this->get_pagenum();
+ }
- if ( isset( $this->_pagination_args[$key] ) )
- return $this->_pagination_args[$key];
+ if ( isset( $this->_pagination_args[ $key ] ) ) {
+ return $this->_pagination_args[ $key ];
+ }
}
/**
* Whether the table has items to display or not
*
* @since 3.1.0
- * @access public
*
* @return bool
*/
public function has_items() {
- return !empty( $this->items );
+ return ! empty( $this->items );
}
/**
* Message to be displayed when there are no items
*
* @since 3.1.0
- * @access public
*/
public function no_items() {
_e( 'No items found.' );
}
/**
- * Display the search box.
+ * Displays the search box.
*
* @since 3.1.0
- * @access public
*
- * @param string $text The search button text
- * @param string $input_id The search input id
+ * @param string $text The 'submit' button label.
+ * @param string $input_id ID attribute value for the search input field.
*/
public function search_box( $text, $input_id ) {
- if ( empty( $_REQUEST['s'] ) && !$this->has_items() )
+ if ( empty( $_REQUEST['s'] ) && ! $this->has_items() ) {
return;
+ }
$input_id = $input_id . '-search-input';
- if ( ! empty( $_REQUEST['orderby'] ) )
+ if ( ! empty( $_REQUEST['orderby'] ) ) {
echo '';
- if ( ! empty( $_REQUEST['order'] ) )
+ }
+ if ( ! empty( $_REQUEST['order'] ) ) {
echo '';
- if ( ! empty( $_REQUEST['post_mime_type'] ) )
+ }
+ if ( ! empty( $_REQUEST['post_mime_type'] ) ) {
echo '';
- if ( ! empty( $_REQUEST['detached'] ) )
+ }
+ if ( ! empty( $_REQUEST['detached'] ) ) {
echo '';
-?>
+ }
+ ?>
-get_views();
/**
- * Filter the list of available list table views.
+ * Filters the list of available list table views.
*
* The dynamic portion of the hook name, `$this->screen->id`, refers
* to the ID of the current screen, usually a string.
*
* @since 3.5.0
*
- * @param array $views An array of available list table views.
+ * @param string[] $views An array of available list table views.
*/
$views = apply_filters( "views_{$this->screen->id}", $views );
- if ( empty( $views ) )
+ if ( empty( $views ) ) {
return;
+ }
+
+ $this->screen->render_screen_reader_content( 'heading_views' );
echo "
+ You don\'t have any recent links or the link roundups plugin is not active.
', 'link-roundups' );
} // end recent links
From 874aeb4d475b84bdfefaeb2aa4231513a71c7921 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Fri, 3 May 2019 19:52:53 -0400
Subject: [PATCH 33/67] A test filter for the WordPress MailChimp Tools
---
inc/link-roundups/class-link-roundups.php | 32 +++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/inc/link-roundups/class-link-roundups.php b/inc/link-roundups/class-link-roundups.php
index 39caa3e..0888afe 100644
--- a/inc/link-roundups/class-link-roundups.php
+++ b/inc/link-roundups/class-link-roundups.php
@@ -34,6 +34,8 @@ public static function init() {
// Make sure our custom post type gets pulled into the river
add_filter( 'pre_get_posts', array( __CLASS__, 'lr_get_posts' ) );
+ // Pass our custom data to the WordPress MailChimp Tools
+ add_filter( 'mailchimp_tools_campaign_content', array( __CLASS__, 'mailchimp_tools_campaign_content' ) );
}
// Pull the linkroundups into the queries for is_home, is_tag, is_category, is_archive
@@ -195,6 +197,9 @@ public static function display_custom_fields() {
* @since 0.1
*/
public static function save_custom_fields( $post_id ) {
+ if ( isset( $_POST ) ) {
+ // error_log(var_export( $_POST['mailchimp'], true));
+ }
if ( isset( $_POST['lr_url'] ) ){
update_post_meta( ( isset( $_POST['post_id'] ) ? $_POST['post_ID'] : $post_id ), 'lr_url', $_POST["lr_url"] );
}
@@ -245,4 +250,31 @@ public static function build_lroundups_options_page() {
// get settings fields for options page
include_once dirname( LROUNDUPS_PLUGIN_FILE ) . '/templates/options.php';
}
+
+ /**
+ * Pass our custom parameters to the campaign as template parameters
+ *
+ * @link https://github.com/INN/link-roundups/pull/139#issuecomment-488852947
+ * @param Array $params the request body parameters, as described in the "put" section of https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#%20
+ * @param WP_Post $post The post that is being turned into a MailChimp Campaign
+ * @param int $id The campaign ID
+ * @uses mailchimp_tools_get_existing_campaign_data_for_post
+ */
+ public static function mailchimp_tools_campaign_content( $params, $post = null, $id = null ) {
+ if ( empty ( $post ) || empty ( $id ) ) {
+ return $params;
+ }
+ if ( ! function_exists( 'mailchimp_tools_get_existing_campaign_data_for_post' ) ) {
+ return $params;
+ }
+
+ $cache = mailchimp_tools_get_existing_campaign_data_for_post( $post, true );
+ if ( empty ( $cache ) ) {
+ return $params;
+ }
+ error_log(var_export( $params, true));
+ error_log(var_export( $cache, true));
+
+ return $params;
+ }
}
From 1f12c22838f21e3fe622b2e657a2a0122075a8ad Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Tue, 7 May 2019 22:37:02 -0400
Subject: [PATCH 34/67] update wordpress-mailchimp-tools and commit
package-lock.json
---
composer.json | 2 +-
composer.lock | 10 +++++-----
package-lock.json | 5 +++++
3 files changed, 11 insertions(+), 6 deletions(-)
create mode 100644 package-lock.json
diff --git a/composer.json b/composer.json
index 992bbec..ba72cb5 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
{
"require": {
- "inn/wordpress-mailchimp-tools": "dev-master#4e768f7661a2fe8fc2785140e8313280eb230c3f"
+ "inn/wordpress-mailchimp-tools": "dev-master#4e07d4aab9cd43d8397d7d525addcc19699b3d8d"
}
}
diff --git a/composer.lock b/composer.lock
index 6fa4071..4caf4e7 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "91fe4a3da7e9e2f489f61ba4705aeeb9",
+ "content-hash": "ba6cfea6e3786d295e278962e3f9cb61",
"packages": [
{
"name": "drewm/mailchimp-api",
@@ -56,12 +56,12 @@
"source": {
"type": "git",
"url": "https://github.com/INN/wordpress-mailchimp-tools.git",
- "reference": "4e768f7661a2fe8fc2785140e8313280eb230c3f"
+ "reference": "4e07d4aab9cd43d8397d7d525addcc19699b3d8d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/4e768f7661a2fe8fc2785140e8313280eb230c3f",
- "reference": "4e768f7661a2fe8fc2785140e8313280eb230c3f",
+ "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/4e07d4aab9cd43d8397d7d525addcc19699b3d8d",
+ "reference": "4e07d4aab9cd43d8397d7d525addcc19699b3d8d",
"shasum": ""
},
"require": {
@@ -95,7 +95,7 @@
"api",
"email"
],
- "time": "2019-05-02T22:26:18+00:00"
+ "time": "2019-05-07T23:29:48+00:00"
}
],
"packages-dev": [],
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..634c8a1
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,5 @@
+{
+ "name": "link-roundups",
+ "version": "0.5",
+ "lockfileVersion": 1
+}
From 472b808a7d4fe7bcea26e1803dde58921fa1002d Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Tue, 7 May 2019 23:36:25 -0400
Subject: [PATCH 35/67] Create a filter on mailchimp_tools_campaign_content to
provide our template sections
---
.../class-link-roundups-editor.php | 45 ++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/inc/link-roundups/class-link-roundups-editor.php b/inc/link-roundups/class-link-roundups-editor.php
index 6605c23..c171332 100644
--- a/inc/link-roundups/class-link-roundups-editor.php
+++ b/inc/link-roundups/class-link-roundups-editor.php
@@ -10,6 +10,7 @@ public static function init() {
add_action( 'wp_ajax_roundup_block_posts', array( __CLASS__, 'roundup_block_posts' ) );
add_action( 'wp_ajax_roundup_update_post', array( __CLASS__, 'roundup_update_post' ) );
add_shortcode( 'roundup_block', array( __CLASS__, 'roundup_block_shortcode' ) );
+ add_filter( 'mailchimp_tools_campaign_content', array( __CLASS__, 'mailchimp_tools_campaign_content' ), 10 );
}
/**
@@ -368,7 +369,7 @@ public static function roundup_block_posts_query() {
}
/*
- * Load posts for the roundupp block editor
+ * Load posts for the roundup block editor
*
* @since 0.3.2
*/
@@ -378,4 +379,46 @@ public static function roundup_block_posts() {
print json_encode($posts);
wp_die();
}
+
+ /**
+ * Apply information from a Link Roundup post to a WordPress MailChimp Tools email via the appropriate filter
+ *
+ * @param Array $params An array of request body parameters, as described in the "put" section of https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#%20
+ * @param WP_Post $post The post that is being turned into a MailChimp Campaign
+ * @param int $id The campaign ID
+ * @return Array $params
+ *
+ * @link the commit that implemented this filter: https://github.com/INN/wordpress-mailchimp-tools/commit/4e768f7661a2fe8fc2785140e8313280eb230c3f
+ * @link Why: https://github.com/INN/link-roundups/pull/139#issuecomment-488852947
+ */
+ public static function mailchimp_tools_campaign_content( $array, $post, $id ) {
+ error_log(var_export( $post, true));
+ error_log(var_export( $id, true));
+ // shortcut if post not set
+ if ( empty( $post ) ) {
+ return $array;
+ }
+
+ if ( ! ( $post instanceof WP_Post ) ) {
+ $post = get_post( $post );
+ }
+
+ if ( ! isset( $array['template'] ) ) {
+ $array['template'] = array();
+ }
+ if ( ! isset( $array['template']['sections'] ) ) {
+ $array['template']['sections'] = array();
+ }
+ $array['template']['sections']['ROUNDUPLINKS'] = apply_filters( 'the_content', $post->post_content );
+ $array['template']['sections']['ROUNDUPTITLE'] = $post->post_title;
+ $array['template']['sections']['ROUNDUPDATE'] = get_the_date( '', $post->ID );
+ $array['template']['sections']['ROUNDUPPERMALINK'] = get_post_permalink( $post->ID );
+
+ $author = get_user_by( 'id', $post->post_author );
+ $array['template']['sections']['ROUNDUPAUTHOR'] = $author->display_name;
+
+ error_log(var_export( $array, true));
+
+ return $array;
+ }
}
From f6dd997ad08502fc565f7a558e3f057e0f75aa9f Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 8 May 2019 00:11:11 -0400
Subject: [PATCH 36/67] Correct number of parameters, and then make the mc:edit
section names lowercase in accordance with MailChimp's practice.
---
.../class-link-roundups-editor.php | 31 +++++++++----------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/inc/link-roundups/class-link-roundups-editor.php b/inc/link-roundups/class-link-roundups-editor.php
index c171332..7f225fd 100644
--- a/inc/link-roundups/class-link-roundups-editor.php
+++ b/inc/link-roundups/class-link-roundups-editor.php
@@ -10,7 +10,7 @@ public static function init() {
add_action( 'wp_ajax_roundup_block_posts', array( __CLASS__, 'roundup_block_posts' ) );
add_action( 'wp_ajax_roundup_update_post', array( __CLASS__, 'roundup_update_post' ) );
add_shortcode( 'roundup_block', array( __CLASS__, 'roundup_block_shortcode' ) );
- add_filter( 'mailchimp_tools_campaign_content', array( __CLASS__, 'mailchimp_tools_campaign_content' ), 10 );
+ add_filter( 'mailchimp_tools_campaign_content', array( __CLASS__, 'mailchimp_tools_campaign_content' ), 10, 3 );
}
/**
@@ -383,7 +383,7 @@ public static function roundup_block_posts() {
/**
* Apply information from a Link Roundup post to a WordPress MailChimp Tools email via the appropriate filter
*
- * @param Array $params An array of request body parameters, as described in the "put" section of https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#%20
+ * @param Array $campaign_params An array of request body parameters, as described in the "put" section of https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#%20
* @param WP_Post $post The post that is being turned into a MailChimp Campaign
* @param int $id The campaign ID
* @return Array $params
@@ -391,34 +391,33 @@ public static function roundup_block_posts() {
* @link the commit that implemented this filter: https://github.com/INN/wordpress-mailchimp-tools/commit/4e768f7661a2fe8fc2785140e8313280eb230c3f
* @link Why: https://github.com/INN/link-roundups/pull/139#issuecomment-488852947
*/
- public static function mailchimp_tools_campaign_content( $array, $post, $id ) {
- error_log(var_export( $post, true));
+ public static function mailchimp_tools_campaign_content( $campaign_params, $post, $id ) {
error_log(var_export( $id, true));
// shortcut if post not set
if ( empty( $post ) ) {
- return $array;
+ return $campaign_params;
}
if ( ! ( $post instanceof WP_Post ) ) {
$post = get_post( $post );
}
- if ( ! isset( $array['template'] ) ) {
- $array['template'] = array();
+ if ( ! isset( $campaign_params['template'] ) ) {
+ $campaign_params['template'] = array();
}
- if ( ! isset( $array['template']['sections'] ) ) {
- $array['template']['sections'] = array();
+ if ( ! isset( $campaign_params['template']['sections'] ) ) {
+ $campaign_params['template']['sections'] = array();
}
- $array['template']['sections']['ROUNDUPLINKS'] = apply_filters( 'the_content', $post->post_content );
- $array['template']['sections']['ROUNDUPTITLE'] = $post->post_title;
- $array['template']['sections']['ROUNDUPDATE'] = get_the_date( '', $post->ID );
- $array['template']['sections']['ROUNDUPPERMALINK'] = get_post_permalink( $post->ID );
+ $campaign_params['template']['sections']['rounduplinks'] = apply_filters( 'the_content', $post->post_content );
+ $campaign_params['template']['sections']['rounduptitle'] = $post->post_title;
+ $campaign_params['template']['sections']['roundupdate'] = get_the_date( '', $post->ID );
+ $campaign_params['template']['sections']['rounduppermalink'] = get_post_permalink( $post->ID );
$author = get_user_by( 'id', $post->post_author );
- $array['template']['sections']['ROUNDUPAUTHOR'] = $author->display_name;
+ $campaign_params['template']['sections']['roundupauthor'] = $author->display_name;
- error_log(var_export( $array, true));
+ error_log(var_export( $campaign_params, true));
- return $array;
+ return $campaign_params;
}
}
From 986b575f94a31491104c3ae09d526be64f385556 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 8 May 2019 00:15:47 -0400
Subject: [PATCH 37/67] Remove partially-created filter on
'mailchimp_tools_campaign_content'
---
.../class-link-roundups-editor.php | 2 --
inc/link-roundups/class-link-roundups.php | 30 -------------------
2 files changed, 32 deletions(-)
diff --git a/inc/link-roundups/class-link-roundups-editor.php b/inc/link-roundups/class-link-roundups-editor.php
index 7f225fd..5f7178b 100644
--- a/inc/link-roundups/class-link-roundups-editor.php
+++ b/inc/link-roundups/class-link-roundups-editor.php
@@ -416,8 +416,6 @@ public static function mailchimp_tools_campaign_content( $campaign_params, $post
$author = get_user_by( 'id', $post->post_author );
$campaign_params['template']['sections']['roundupauthor'] = $author->display_name;
- error_log(var_export( $campaign_params, true));
-
return $campaign_params;
}
}
diff --git a/inc/link-roundups/class-link-roundups.php b/inc/link-roundups/class-link-roundups.php
index 0888afe..e6fc19e 100644
--- a/inc/link-roundups/class-link-roundups.php
+++ b/inc/link-roundups/class-link-roundups.php
@@ -33,9 +33,6 @@ public static function init() {
// Make sure our custom post type gets pulled into the river
add_filter( 'pre_get_posts', array( __CLASS__, 'lr_get_posts' ) );
-
- // Pass our custom data to the WordPress MailChimp Tools
- add_filter( 'mailchimp_tools_campaign_content', array( __CLASS__, 'mailchimp_tools_campaign_content' ) );
}
// Pull the linkroundups into the queries for is_home, is_tag, is_category, is_archive
@@ -250,31 +247,4 @@ public static function build_lroundups_options_page() {
// get settings fields for options page
include_once dirname( LROUNDUPS_PLUGIN_FILE ) . '/templates/options.php';
}
-
- /**
- * Pass our custom parameters to the campaign as template parameters
- *
- * @link https://github.com/INN/link-roundups/pull/139#issuecomment-488852947
- * @param Array $params the request body parameters, as described in the "put" section of https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#%20
- * @param WP_Post $post The post that is being turned into a MailChimp Campaign
- * @param int $id The campaign ID
- * @uses mailchimp_tools_get_existing_campaign_data_for_post
- */
- public static function mailchimp_tools_campaign_content( $params, $post = null, $id = null ) {
- if ( empty ( $post ) || empty ( $id ) ) {
- return $params;
- }
- if ( ! function_exists( 'mailchimp_tools_get_existing_campaign_data_for_post' ) ) {
- return $params;
- }
-
- $cache = mailchimp_tools_get_existing_campaign_data_for_post( $post, true );
- if ( empty ( $cache ) ) {
- return $params;
- }
- error_log(var_export( $params, true));
- error_log(var_export( $cache, true));
-
- return $params;
- }
}
From 676615366483b3da2a211bc815a97fdcdfa5c07f Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 8 May 2019 00:30:19 -0400
Subject: [PATCH 38/67] More WMT fixen
---
composer.json | 2 +-
composer.lock | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/composer.json b/composer.json
index ba72cb5..d2cad55 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
{
"require": {
- "inn/wordpress-mailchimp-tools": "dev-master#4e07d4aab9cd43d8397d7d525addcc19699b3d8d"
+ "inn/wordpress-mailchimp-tools": "dev-master#c547faac5d960158b81b5d83e8d997b0dab3f592"
}
}
diff --git a/composer.lock b/composer.lock
index 4caf4e7..c400c4f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "ba6cfea6e3786d295e278962e3f9cb61",
+ "content-hash": "20eaa4167d8b94862da43c5607e6d57d",
"packages": [
{
"name": "drewm/mailchimp-api",
@@ -56,12 +56,12 @@
"source": {
"type": "git",
"url": "https://github.com/INN/wordpress-mailchimp-tools.git",
- "reference": "4e07d4aab9cd43d8397d7d525addcc19699b3d8d"
+ "reference": "c547faac5d960158b81b5d83e8d997b0dab3f592"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/4e07d4aab9cd43d8397d7d525addcc19699b3d8d",
- "reference": "4e07d4aab9cd43d8397d7d525addcc19699b3d8d",
+ "url": "https://api.github.com/repos/INN/wordpress-mailchimp-tools/zipball/c547faac5d960158b81b5d83e8d997b0dab3f592",
+ "reference": "c547faac5d960158b81b5d83e8d997b0dab3f592",
"shasum": ""
},
"require": {
@@ -95,7 +95,7 @@
"api",
"email"
],
- "time": "2019-05-07T23:29:48+00:00"
+ "time": "2019-05-08T04:17:18+00:00"
}
],
"packages-dev": [],
From 1303f44bb0f312245c98cc6f5b096798d361995a Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Wed, 8 May 2019 13:29:35 -0400
Subject: [PATCH 39/67] Update docs text: editable content areas, API keys,
audiences
---
docs/mailchimp.md | 60 ++++++++++++++++++++++++++++++-----------------
1 file changed, 38 insertions(+), 22 deletions(-)
diff --git a/docs/mailchimp.md b/docs/mailchimp.md
index a5d73d9..4222b80 100644
--- a/docs/mailchimp.md
+++ b/docs/mailchimp.md
@@ -2,32 +2,29 @@
Using the Mailchimp API, Link Roundups can send Roundups as newsletters via a MailChimp account.
-## Prerequisites: Setup a Template and List in MailChimp
+## Prerequisites
-You'll need to create a template and a list if you don't already have them in MailChimp.
+First, you'll need:
+
+- A MailChimp account
+- An [audience](https://mailchimp.com/help/create-audience/) created in MailChimp
## Getting an API key from MailChimp
In order to use the MailChimp features of Link Roundups, you'll need to sign up for an API key from MailChimp. To do that:
1. Log in to MailChimp.
-2. Click on your account in the upper-right corner. In the drop-down menu, click "Account".
-3. Click on "Extras", then "API keys".
-4. Click "Create A Key". A new key will appear in the list.
-5. Click the "Label" field of your new API key. Name it after the site you're using Link Roundupss on. For example: "example.com link roundups"
-6. Copy the API key. This will be a long string of characters from 0-9 and a-f.
-7. On your website, go to **Dashboard > Settings > MailChimp Options**.
-8. Paste the MailChimp API Key into the appropriate field, then check "Enable MailChimp API Integration".
-9. Press "Save Changes".
-10. Go to **Link Roundups > MailChimp Campaign Settings** to configure your MailChimp campaigns.
+2. Follow [MailChimp's instructions for generating a new API key](https://mailchimp.com/help/about-api-keys/), and copy the API key.
+3. On your website, go to **Dashboard > Settings > MailChimp Options**.
+4. Paste the MailChimp API Key into the appropriate field
+5. Press "Save Changes".
+6. Go to **Link Roundups > MailChimp Campaign Settings** to configure your MailChimp campaigns.
![Link Roundups MailChimp API settings](./img/link-roundups-mailchimp-integration.png)
## Creating a template in the MailChimp dashboard
-You'll need a MailChimp template created and configured for use with Link Roundups.
-
-There are many options for creating MailChimp templates, but as a simple way of getting started:
+You'll need a MailChimp template created and configured for use with Link Roundups. This requires the use of MailChimp's [Custom Templates](https://mailchimp.com/help/import-a-custom-html-template/) with [Editable Content Areas](https://mailchimp.com/help/create-editable-content-areas-with-mailchimps-template-language/).
1. Click on "Templates" in the MailChimp header.
2. Pick a single-column or column-and-sidebar template.
@@ -35,7 +32,7 @@ There are many options for creating MailChimp templates, but as a simple way of
4. Click "Save and Exit".
5. Name your template, then save.
-### Inserting template tags
+### Inserting editable content areas
This plugin's MailChimp features depend on the presence of specific tags in your MailChimp template.
@@ -44,22 +41,41 @@ You'll have to edit your template to add them, so that they can be replaced with
1. Click on "Templates" in the MailChimp header.
2. Click "Edit" on the template you want to edit.
-Then, edit the template to insert the following tags where you want them to appear:
+Then, edit the template to insert the content tags where you'd like them to appear. Here's an example of a fragment of an email's content:
+
+```html
+
+
This should be the roundup title:
+
This should be replaced with the roundup title
+
+
This should be the roundup author:
+
This should be replaced with the roundup author
+
+
This should be the roundup date:
+
This should be replaced with the roundup date
+
+
This should be the roundup links:
+
This should be replaced with the roundup links
+
+
This should be the roundup permalink:
+
This should be replaced with the roundup permalink
+
+```
#### Required Tags:
If these template tags are not present in your MailChimp template, you will be unable to create a new Links Roundup Email Campaign.
-- `*|ROUNDUPLINKS|*` - The actual list of links from the Links Roundup post
+- `mc:edit="rounduplink"` - The post content from a Link Roundup post
#### Optional Tags:
These template tags are not required, but you may wish to use them in your template.
-- `*|ROUNDUPTITLE|*` - The Link Roundup post title
-- `*|ROUNDUPAUTHOR|*` - The author of the Link Roundup post
-- `*|ROUNDUPDATE|*` - The date the Links Roundup post was published
-- `*|ROUNDUPPERMALINK|*` - A link back to the original Link Roundup post
+- `mc:edit="rounduptitle"` - The Link Roundup post title
+- `mc:edit="roundupauthor"` - The author of the Link Roundup post
+- `mc:edit="roundupdate"` - The date the Links Roundup post was published
+- `mc:edit="rounduppermalink"` - A link back to the original Link Roundup post
## Choosing the MailChimp Template and List to use
@@ -71,7 +87,7 @@ So now you have at least one template saved in MailChimp, and we're assuming you
Once you have [saved some links](saving-links.md) and [created a link roundup post](link-roundups.md), you can send the link roundup post to MailChimp as a draft campaign.
-In the Link Roundups editor, above the standard WordPress "Publish" button you'll find a button to "Create a MailChimp Campaign."
+In the Link Roundups editor, in a box near the bottom of the page you'll see an option to create a draft or send an email. If an email has already been sent, you'll see information about where to find the sent campaign in MailChimp's admin.
![Create MailChimp Campaign button in the post editor](./img/link-roundup-mailchimp-button.png)
From 4f86262405197c25cb65312b4eed7dab1107b5c6 Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Thu, 9 May 2019 14:11:44 -0400
Subject: [PATCH 40/67] Update a bunch of wp.org metadata
---
README.md | 10 +++++-----
README.txt | 2 +-
bower.json | 3 ++-
contributing.md | 9 +++------
docs/installation.md | 11 +++++++----
link-roundups.php | 4 ++--
6 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/README.md b/README.md
index da447a8..65944d7 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
# Link Roundups
-A WordPress plugin to make it easy to collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp. Built and maintained by [INN Nerds](http://nerds.inn.org).
+A WordPress plugin to make it easy to collect links from around the web, turn them into roundup posts and streamline the production of daily/weekly roundup newsletters using MailChimp. Built and maintained by [INN Labs](https://labs.inn.org).
-**Contributors:** The INN Nerds (David Ryan, Ryan Nagle, Ben Keith, Will Haynes, Adam Schweigert) and Project Argo (Corey Daley, Chris Amico, Wesley Lindamood)
+**Contributors:** The INN Labs (David Ryan, Ryan Nagle, Ben Keith, Will Haynes, Adam Schweigert) and Project Argo (Corey Daley, Chris Amico, Wesley Lindamood)
**Requires at least:** 4.1
-**Tested up to:** 4.2.3
-**Stable tag:** 0.4.1
+**Tested up to:** 5.2
+**Stable tag:** See https://github.com/INN/link-roundups/releases
**License:** GPLv2 or later
-**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
+**License URI:** https://www.gnu.org/licenses/gpl-2.0.html
## Overview
diff --git a/README.txt b/README.txt
index bfba6ba..806c128 100644
--- a/README.txt
+++ b/README.txt
@@ -1,5 +1,5 @@
=== Link Roundups ===
-Contributors: inn_nerds
+Contributors: innlabs
Donate link: https://inn.org/donate
Tags: newsletters, mailchimp, links, curation, aggregation
Requires at least: 4.2
diff --git a/bower.json b/bower.json
index c4c9c3e..99ccc61 100644
--- a/bower.json
+++ b/bower.json
@@ -3,7 +3,7 @@
"description": "A WordPress plugin that makes it easy to collect links, turn them into roundup posts and produce roundup newsletters using MailChimp.",
"main": "link-roundups.php",
"authors": [
- "INN Nerds "
+ "INN Labs "
],
"license": "MIT",
"homepage": "https://github.com/INN/link-roundups",
@@ -14,6 +14,7 @@
"node_modules",
"bower_components",
"js/vendor",
+ "vendor",
"test",
"tests"
],
diff --git a/contributing.md b/contributing.md
index c297229..6971a2c 100644
--- a/contributing.md
+++ b/contributing.md
@@ -9,18 +9,15 @@ We welcome contributions and suggestions to help us improve this project. Please
3. Stage and commit your changes (git commit -am 'description of my changes')
4. Push the changes to your fork (git push origin my-branch)
5. [Submit a pull request to the parent repo](https://help.github.com/articles/creating-a-pull-request). Please read our [guide to submitting pull requests](https://github.com/inn/docs/blob/master/how-to-work-with-us/pull-requests.md) to see what we expect in a good pull request message.
-6. Pull request should be assigned to:
- - [@rnagle](http://github.com/rnagle) (primary)
- - [@aschweigert](http://github.com/aschweigert)(secondary)
We have [a helpful how-to](https://github.com/INN/docs/blob/master/how-to-work-with-us/via-github.md) that walks through this process in more detail if you're new to using Git.
Additionally, you can [create issues](https://github.com/INN/link-roundups/issues) on this repo to suggest changes or improvements.
-And of course you can always email us: [nerds@inn.org](mailto:nerds@inn.org).
+And of course you can always email us: [support@inn.org](mailto:support@inn.org).
### Standards
-- Follow all standards from the INN Nerds [coding style guide](https://github.com/INN/docs/tree/master/style-guides/code).
-- Use [markdown syntax](http://daringfireball.net/projects/markdown/syntax) for all text documents.
+- Follow all standards from the INN Labs [coding style guide](https://github.com/INN/docs/tree/master/style-guides/code).
+- Use [Markdown syntax](https://guides.github.com/features/mastering-markdown/) for all text documents.
- Pull requests for new functionality should be accompanied by tests wherever possible.
diff --git a/docs/installation.md b/docs/installation.md
index d0017b0..f2b7407 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -1,6 +1,12 @@
# Installation
-If you're an INN member making use of INN's [Largo Project](https://largoproject.org) hosting, the Link Roundups plugin is already installed. Just [contact us](http://jira.inn.org/servicedesk/customer/portal/4) through the Largo help desk to have it activated on your site.
+## WordPress Plugin Directory
+
+Install from https://wordpress.org/plugins/link-roundups/ !
+
+## Your WordPress Dashboard
+
+From your site's dashboard, go to Plugins, then "Add New", and search for "Link Roundups" by INN Labs.
## Manual Install
@@ -11,6 +17,3 @@ If you're an INN member making use of INN's [Largo Project](https://largoproject
4. Upload the plugin directory to you server's `wp-content/plugins` directory.
5. Activate the plugin through the [`Plugins` menu](https://codex.wordpress.org/Plugins_Screen) in WordPress.
-## WordPress Plugin Directory or Your WordPress Dashboard
-
-Install from https://wordpress.org/plugins/link-roundups/ !
diff --git a/link-roundups.php b/link-roundups.php
index 6af8c17..1c13aec 100644
--- a/link-roundups.php
+++ b/link-roundups.php
@@ -3,9 +3,9 @@
Plugin Name: Link Roundups
Plugin URI: https://github.com/INN/link-roundups
Description: Use Link Roundups to aggregate links and create roundup posts. Mailchimp API integration and browser bookmark tool. Formerly argo-links from NPR's Project Argo.
-Author: INN, Project Argo, Mission Data
+Author: INN Labs
+Author URI: http://labs.inn.org/
Version: 0.5
-Author URI: http://nerds.inn.org/
License: GPLv2
Text Domain: link-roundups
From 6739897a5aaf8f858ec2db9364898652378b8bff Mon Sep 17 00:00:00 2001
From: Ben Keith
Date: Thu, 9 May 2019 14:15:45 -0400
Subject: [PATCH 41/67] Replace MailChimp settings image.
---
.../link-roundups-mailchimp-integration.png | Bin 21719 -> 23771 bytes
docs/mailchimp.md | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/img/link-roundups-mailchimp-integration.png b/docs/img/link-roundups-mailchimp-integration.png
index 72d157dd9c854e035f5fab1ab4371b0d6fb03345..0b6c9b16840ac34e63d776622a49b4b840e1148e 100644
GIT binary patch
literal 23771
zcmeFZRa9I}v@Hw-m(X~EOK@r2U4lb!w*bN2-QC^Yf?IHRhXi*C?(TLwU*w!I{+Ivl
zzFfv0jPBjNYE{*)U2Dy`=I)SBGNMTE*zjOrU`XO(!t!8X5F%h;;KZ=dpfk5dh3%j>
z?j}M)pTvcP2tV0ceK9dN1Ouap(bv_b5~raU)YH?|9UP;kgtv8)4-O8O*X`)(9P8{M
z?A7ff%uLqQTz>~x@9{=+Z|U!Z%>^F%j!IlUxl9$-xxZktR;Ji0lX5m*`+z%1nA$MD
zc|!sdoslk|o{nI!3%0;H1SLYse}hP<(a@R?*2@cS5QYwp2WzkfUOh#0giPp&nmpDE
zp^S#Qg=ioNwg4dxsD}>Dc&n%3JwNn5gp$7=W{@rzr_+0?N2F`HQ+_VSyG0zjiKBp?
zi$A9?E)@$K(G~_ULhnr9NKZkZ%=C_4m2r=eJuzQ7-W#2B7fTV-u+S);f*nGLRjG@E
zuOa)}hdMFQE+(LwtZ3I@=XbFDx9CQIJU$p7X(M#5D8Pu$V5e^JXlLiLA3!p-zq85%
z`Hf#MrGN4;H#D@T8FZkc(56r+&d;o%Ao}kb0Nw4D?m2kFT$_*l*rEet-__
zKzn_CZQFZ&?FjR^d9!)M{}$|nlgWCx87ea9I%JqAs@khcOL6L3SZ70Mau885wCo
z-=MW~v9#B7rnR&q`Q6Chc7zS>^leS7?Mzl|=~aWA!b#C;d@hWv97QlXuN3}+av
ziT^v*3CN~k{NVfn9F_3DBX|;$A~g5vtoHH)Kg91N5KJV7sEY(H8tlJ=Kc0+V4!s~K
zD}(&65k1HT5f1-ftGUeJp}7=1PeFmpMDVfP)K{{Qb-{4amoHQ(uMtm{vMS(_IE$P;Dk*e&_(22?-pGC8i5OW=MF}%
z$NU?x1X?yl=w#2tc-&v3cOaWU$f$p#lS>5?k&DOobjq?+jE19xePI|5w7HeC>D;7)PG@I&94;5%@}=X{YYfIeoVIHSGky^}tsE_oOfp;u
zO+e*xG%r>t4eWS4L0zsJ(`p}-T52+Dcye0Ttx5y1S!xz5<*8R)1~G3=70DV-#+x*&
zCJbYc+T;oomHXcRxqO8D5F2!%k@#F>e6NiBY}uL%x7$So50LZk>^6rJs4om}Gane$
zYVvb1Mc#P63Vj(%DGHb$E%rKmn6+B|AQTu8Ut=ioh$bSN$sH5p6&a&P^1>{A?qt4P
z)&9+5O5*20l+_BC$4>Z(zB}o5%Qwoz43@4X+RslB+wx
z$$CN@0-5(0yCc+5_&l~H9;fYI+dA7Keqbf)1+i0YcjucNT9>|mmXfjpFW)+&Pors_fmxojQe4;TkC>hoFg&;8*h
z7$!?QLhpHQfX9Z5jV57;c)aqQ^;Tvp$ot}Ai#=C*BVWvPab2XFdD}1
z{m5I2d&s19xraW)>ICK>@OSg^TaQ`NG2^ubhDi85&^