From 8b9afbc85be5faddbed5aa7cdd6db96c6a952f0a Mon Sep 17 00:00:00 2001 From: Reza Askari Date: Sun, 19 Apr 2020 23:10:31 +0430 Subject: [PATCH 01/15] Upgrading Corcel to match Laravel 7 requirements --- composer.json | 2 +- composer.lock | 801 ++++++++++++++++++++++++++++++++++---------------- 2 files changed, 553 insertions(+), 250 deletions(-) diff --git a/composer.json b/composer.json index 536e4d8..78f44a7 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ ], "require": { "php": ">=7.2", - "jgrossi/corcel": "^3.0" + "jgrossi/corcel": "^4.0" }, "require-dev": { "phpunit/phpunit": "^8.0" diff --git a/composer.lock b/composer.lock index 8218ba1..e10a05b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c3eeb2e2a0f6ebffdc1c604c42d8011e", + "content-hash": "0d1f74535dc46beb245494bb2b837d6a", "packages": [ { "name": "doctrine/inflector", - "version": "v1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", + "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", "shasum": "" }, "require": { @@ -42,6 +42,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -50,10 +54,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -71,20 +71,20 @@ "singularize", "string" ], - "time": "2018-01-09T20:05:19+00:00" + "time": "2019-10-30T19:59:35+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.8.0", + "version": "v1.9.1", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", "shasum": "" }, "require": { @@ -93,12 +93,12 @@ "require-dev": { "ext-intl": "*", "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^1.5" + "squizlabs/php_codesniffer": "^2.9.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -121,7 +121,7 @@ "faker", "fixtures" ], - "time": "2018-07-12T10:23:15+00:00" + "time": "2019-12-12T13:22:17+00:00" }, { "name": "hautelook/phpass", @@ -169,28 +169,27 @@ }, { "name": "illuminate/container", - "version": "v6.0.0", + "version": "v7.6.2", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", - "reference": "ae5b4a82e5ae13f6779cbda9cea50d9761a7ca17" + "reference": "10c5802e360595f5f2a8b6afa176b9542851e580" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/ae5b4a82e5ae13f6779cbda9cea50d9761a7ca17", - "reference": "ae5b4a82e5ae13f6779cbda9cea50d9761a7ca17", + "url": "https://api.github.com/repos/illuminate/container/zipball/10c5802e360595f5f2a8b6afa176b9542851e580", + "reference": "10c5802e360595f5f2a8b6afa176b9542851e580", "shasum": "" }, "require": { - "illuminate/contracts": "^6.0", - "illuminate/support": "^6.0", - "php": "^7.2", + "illuminate/contracts": "^7.0", + "php": "^7.2.5", "psr/container": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -210,31 +209,31 @@ ], "description": "The Illuminate Container package.", "homepage": "https://laravel.com", - "time": "2019-08-20T14:05:59+00:00" + "time": "2020-04-06T13:33:36+00:00" }, { "name": "illuminate/contracts", - "version": "v6.0.0", + "version": "v7.6.2", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "e5d7a6daa4beab3ec7c2d24679e213883a5fc09d" + "reference": "69a40779d8fc43e3f43da973b9c0c20bdbd81203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/e5d7a6daa4beab3ec7c2d24679e213883a5fc09d", - "reference": "e5d7a6daa4beab3ec7c2d24679e213883a5fc09d", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/69a40779d8fc43e3f43da973b9c0c20bdbd81203", + "reference": "69a40779d8fc43e3f43da973b9c0c20bdbd81203", "shasum": "" }, "require": { - "php": "^7.2", + "php": "^7.2.5", "psr/container": "^1.0", "psr/simple-cache": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -254,41 +253,43 @@ ], "description": "The Illuminate Contracts package.", "homepage": "https://laravel.com", - "time": "2019-08-24T15:24:36+00:00" + "time": "2020-04-09T15:01:22+00:00" }, { "name": "illuminate/database", - "version": "v6.0.0", + "version": "v7.6.2", "source": { "type": "git", "url": "https://github.com/illuminate/database.git", - "reference": "62ce95bd5a6f80afec07cfceec5aec093010b479" + "reference": "2bfb896f341cb87bf417e1fb4cfdf0c2d1e36e1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/62ce95bd5a6f80afec07cfceec5aec093010b479", - "reference": "62ce95bd5a6f80afec07cfceec5aec093010b479", + "url": "https://api.github.com/repos/illuminate/database/zipball/2bfb896f341cb87bf417e1fb4cfdf0c2d1e36e1e", + "reference": "2bfb896f341cb87bf417e1fb4cfdf0c2d1e36e1e", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/container": "^6.0", - "illuminate/contracts": "^6.0", - "illuminate/support": "^6.0", - "php": "^7.2" + "illuminate/container": "^7.0", + "illuminate/contracts": "^7.0", + "illuminate/support": "^7.0", + "php": "^7.2.5", + "symfony/console": "^5.0" }, "suggest": { "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "illuminate/console": "Required to use the database commands (^6.0).", - "illuminate/events": "Required to use the observers with Eloquent (^6.0).", - "illuminate/filesystem": "Required to use the migrations (^6.0).", - "illuminate/pagination": "Required to paginate the result set (^6.0)." + "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).", + "illuminate/console": "Required to use the database commands (^7.0).", + "illuminate/events": "Required to use the observers with Eloquent (^7.0).", + "illuminate/filesystem": "Required to use the migrations (^7.0).", + "illuminate/pagination": "Required to paginate the result set (^7.0).", + "symfony/finder": "Required to use Eloquent model factories (^5.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -314,38 +315,40 @@ "orm", "sql" ], - "time": "2019-09-03T11:25:18+00:00" + "time": "2020-04-14T14:11:33+00:00" }, { "name": "illuminate/filesystem", - "version": "v6.0.0", + "version": "v7.6.2", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "8d2bd23199afacc0c23fb520970158db5f9653b2" + "reference": "43d0aafb620151b9c88331e13e1660564fc56244" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/8d2bd23199afacc0c23fb520970158db5f9653b2", - "reference": "8d2bd23199afacc0c23fb520970158db5f9653b2", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/43d0aafb620151b9c88331e13e1660564fc56244", + "reference": "43d0aafb620151b9c88331e13e1660564fc56244", "shasum": "" }, "require": { - "illuminate/contracts": "^6.0", - "illuminate/support": "^6.0", - "php": "^7.2", - "symfony/finder": "^4.3.4" + "illuminate/contracts": "^7.0", + "illuminate/support": "^7.0", + "php": "^7.2.5", + "symfony/finder": "^5.0" }, "suggest": { + "illuminate/http": "Required for handling uploaded files (^7.0)", "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0)." + "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0)" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -365,45 +368,46 @@ ], "description": "The Illuminate Filesystem package.", "homepage": "https://laravel.com", - "time": "2019-09-03T12:53:11+00:00" + "time": "2020-03-26T19:53:03+00:00" }, { "name": "illuminate/support", - "version": "v6.0.0", + "version": "v7.6.2", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "9f1dc5486c2e9d25e33a9239e5ae088d876ef805" + "reference": "b6f64a42377f86b293960e0b7f6920ae59e578d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/9f1dc5486c2e9d25e33a9239e5ae088d876ef805", - "reference": "9f1dc5486c2e9d25e33a9239e5ae088d876ef805", + "url": "https://api.github.com/repos/illuminate/support/zipball/b6f64a42377f86b293960e0b7f6920ae59e578d2", + "reference": "b6f64a42377f86b293960e0b7f6920ae59e578d2", "shasum": "" }, "require": { "doctrine/inflector": "^1.1", "ext-json": "*", "ext-mbstring": "*", - "illuminate/contracts": "^6.0", - "nesbot/carbon": "^2.0", - "php": "^7.2" + "illuminate/contracts": "^7.0", + "nesbot/carbon": "^2.17", + "php": "^7.2.5", + "voku/portable-ascii": "^1.4.8" }, "conflict": { "tightenco/collect": "<5.5.33" }, "suggest": { - "illuminate/filesystem": "Required to use the composer class (^6.0).", + "illuminate/filesystem": "Required to use the composer class (^7.0).", "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "ramsey/uuid": "Required to use Str::uuid() (^3.7).", - "symfony/process": "Required to use the composer class (^4.3.4).", - "symfony/var-dumper": "Required to use the dd function (^4.3.4).", - "vlucas/phpdotenv": "Required to use the Env class and env helper (^3.3)." + "ramsey/uuid": "Required to use Str::uuid() (^3.7|^4.0).", + "symfony/process": "Required to use the composer class (^5.0).", + "symfony/var-dumper": "Required to use the dd function (^5.0).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^4.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -426,40 +430,39 @@ ], "description": "The Illuminate Support package.", "homepage": "https://laravel.com", - "time": "2019-09-03T13:35:30+00:00" + "time": "2020-04-15T19:48:40+00:00" }, { "name": "jgrossi/corcel", - "version": "v3.0.0", + "version": "v4.0.0", "source": { "type": "git", "url": "https://github.com/corcel/corcel.git", - "reference": "c97f895f3c7b9e9eb4edd5c91295853917d07bb9" + "reference": "bb2b225d56fa89b1906e61684d8f7bd1f5932b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/corcel/corcel/zipball/c97f895f3c7b9e9eb4edd5c91295853917d07bb9", - "reference": "c97f895f3c7b9e9eb4edd5c91295853917d07bb9", + "url": "https://api.github.com/repos/corcel/corcel/zipball/bb2b225d56fa89b1906e61684d8f7bd1f5932b5e", + "reference": "bb2b225d56fa89b1906e61684d8f7bd1f5932b5e", "shasum": "" }, "require": { - "fzaninotto/faker": "^1.6", + "fzaninotto/faker": "^1.9", "hautelook/phpass": "0.3.*", - "illuminate/database": "^6.0", - "illuminate/filesystem": "^6.0", - "illuminate/support": "^6.0", - "php": ">=7.2", - "thunderer/shortcode": "^0.6.2" + "illuminate/database": "^7.0", + "illuminate/filesystem": "^7.0", + "illuminate/support": "^7.0", + "php": ">=7.2.5", + "thunderer/shortcode": "^0.7.3" }, "replace": { "juniorgrossi/corcel": "self.version" }, "require-dev": { - "codeclimate/php-test-reporter": "dev-master", "dms/phpunit-arraysubset-asserts": "^0.1.0", "mockery/mockery": "^1.0", - "orchestra/database": "^4.0", - "orchestra/testbench": "^4.0", + "orchestra/database": "^5.0-dev", + "orchestra/testbench": "^5.0", "symfony/thanks": "^1.0" }, "type": "library", @@ -489,31 +492,32 @@ ], "description": "Use WordPress backend with Laravel or any PHP framework", "homepage": "http://github.com/corcel/corcel", - "time": "2019-09-06T09:54:06+00:00" + "time": "2020-03-04T22:30:27+00:00" }, { "name": "nesbot/carbon", - "version": "2.24.0", + "version": "2.32.2", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29" + "reference": "f10e22cf546704fab1db4ad4b9dedbc5c797a0dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/934459c5ac0658bc765ad1e53512c7c77adcac29", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f10e22cf546704fab1db4ad4b9dedbc5c797a0dc", + "reference": "f10e22cf546704fab1db4ad4b9dedbc5c797a0dc", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", - "symfony/translation": "^3.4 || ^4.0" + "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { + "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "dev-php-7.1-compatibility", + "phpmd/phpmd": "^2.8", "phpstan/phpstan": "^0.11", "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "^3.4" @@ -523,6 +527,9 @@ ], "type": "library", "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -549,14 +556,14 @@ "homepage": "http://github.com/kylekatarnls" } ], - "description": "A API extension for DateTime that supports 281 different languages.", + "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "http://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], - "time": "2019-08-31T16:37:55+00:00" + "time": "2020-03-31T13:43:19+00:00" }, { "name": "psr/container", @@ -655,27 +662,103 @@ ], "time": "2017-10-23T01:57:42+00:00" }, + { + "name": "symfony/console", + "version": "v5.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", + "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", + "shasum": "" + }, + "require": { + "php": "^7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1|^2" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2020-03-30T11:42:42+00:00" + }, { "name": "symfony/finder", - "version": "v4.3.4", + "version": "v5.0.7", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2" + "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/86c1c929f0a4b24812e1eb109262fc3372c8e9f2", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "url": "https://api.github.com/repos/symfony/finder/zipball/600a52c29afc0d1caa74acbec8d3095ca7e9910d", + "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.2.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -702,20 +785,34 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-08-14T12:26:46+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-03-27T16:56:45+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.12.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", "shasum": "" }, "require": { @@ -727,7 +824,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.15-dev" } }, "autoload": { @@ -761,46 +858,191 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-03-09T19:04:49+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.15.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", + "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.15-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-02-27T09:26:54+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "144c5e51266b281231e947b51223ba14acf1a749" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", + "reference": "144c5e51266b281231e947b51223ba14acf1a749", + "shasum": "" + }, + "require": { + "php": "^7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-11-18T17:27:11+00:00" }, { "name": "symfony/translation", - "version": "v4.3.4", + "version": "v5.0.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "28498169dd334095fa981827992f3a24d50fed0f" + "reference": "99b831770e10807dca0979518e2c89edffef5978" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/28498169dd334095fa981827992f3a24d50fed0f", - "reference": "28498169dd334095fa981827992f3a24d50fed0f", + "url": "https://api.github.com/repos/symfony/translation/zipball/99b831770e10807dca0979518e2c89edffef5978", + "reference": "99b831770e10807dca0979518e2c89edffef5978", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^1.1.6" + "symfony/translation-contracts": "^2" }, "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" }, "provide": { - "symfony/translation-implementation": "1.0" + "symfony/translation-implementation": "2.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/console": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/http-kernel": "~3.4|~4.0", - "symfony/intl": "~3.4|~4.0", - "symfony/service-contracts": "^1.1.2", - "symfony/var-dumper": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -810,7 +1052,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -837,24 +1079,24 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2020-03-27T16:56:45+00:00" }, { "name": "symfony/translation-contracts", - "version": "v1.1.6", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a" + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed", + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.2.5" }, "suggest": { "symfony/translation-implementation": "" @@ -862,7 +1104,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -894,27 +1136,28 @@ "interoperability", "standards" ], - "time": "2019-08-02T12:15:04+00:00" + "time": "2019-11-18T17:27:11+00:00" }, { "name": "thunderer/shortcode", - "version": "v0.6.5", + "version": "v0.7.4", "source": { "type": "git", "url": "https://github.com/thunderer/Shortcode.git", - "reference": "997418e71f997de98a73a41cf102b3310372ac64" + "reference": "79a219febd774ba1ee66a2992fee1145b4367561" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/997418e71f997de98a73a41cf102b3310372ac64", - "reference": "997418e71f997de98a73a41cf102b3310372ac64", + "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/79a219febd774ba1ee66a2992fee1145b4367561", + "reference": "79a219febd774ba1ee66a2992fee1145b4367561", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { - "phpunit/phpunit": "^4.1|^5.0" + "phpunit/phpunit": ">=4.1", + "symfony/yaml": ">=2.0" }, "suggest": { "ext-dom": "if you want to use XML serializer", @@ -924,8 +1167,7 @@ "type": "library", "autoload": { "psr-4": { - "Thunder\\Shortcode\\": "src/", - "Thunder\\Shortcode\\Tests\\": "tests/" + "Thunder\\Shortcode\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -946,22 +1188,71 @@ "parser", "shortcode" ], - "time": "2017-01-08T00:22:37+00:00" + "time": "2020-03-08T11:25:13+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "1.4.10", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "240e93829a5f985fab0984a6e55ae5e26b78a334" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/240e93829a5f985fab0984a6e55ae5e26b78a334", + "reference": "240e93829a5f985fab0984a6e55ae5e26b78a334", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/", + "voku\\tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "time": "2020-03-13T01:23:26+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "a2c590166b2133a4633738648b6b064edae0814a" + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", - "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", "shasum": "" }, "require": { @@ -1004,20 +1295,20 @@ "constructor", "instantiate" ], - "time": "2019-03-17T17:37:11+00:00" + "time": "2019-10-21T16:45:58+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.9.3", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", "shasum": "" }, "require": { @@ -1052,7 +1343,7 @@ "object", "object graph" ], - "time": "2019-08-09T12:45:53+00:00" + "time": "2020-01-17T21:11:47+00:00" }, { "name": "phar-io/manifest", @@ -1158,35 +1449,33 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "shasum": "" }, "require": { - "php": ">=5.5" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "phpunit/phpunit": "~6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1208,44 +1497,42 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "time": "2018-08-07T13:53:10+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.1", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" + "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", + "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", "shasum": "" }, "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", - "webmozart/assert": "^1.0" + "ext-filter": "^7.1", + "php": "^7.2", + "phpdocumentor/reflection-common": "^2.0", + "phpdocumentor/type-resolver": "^1.0", + "webmozart/assert": "^1" }, "require-dev": { - "doctrine/instantiator": "~1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" + "doctrine/instantiator": "^1", + "mockery/mockery": "^1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-master": "5.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1256,44 +1543,46 @@ { "name": "Mike van Riel", "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-04-30T17:48:53+00:00" + "time": "2020-02-22T12:28:44+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.4.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + "reference": "7462d5f123dfc080dfdf26897032a6513644fc95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95", + "reference": "7462d5f123dfc080dfdf26897032a6513644fc95", "shasum": "" }, "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.2", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" + "ext-tokenizer": "^7.2", + "mockery/mockery": "~1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1306,37 +1595,38 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-07-14T14:27:02+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2020-02-18T18:59:58+00:00" }, { "name": "phpspec/prophecy", - "version": "1.8.1", + "version": "v1.10.3", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" + "reference": "451c3cd1418cf640de218914901e51b064abb093" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", + "reference": "451c3cd1418cf640de218914901e51b064abb093", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", + "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", + "phpspec/phpspec": "^2.5 || ^3.2", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { @@ -1369,20 +1659,20 @@ "spy", "stub" ], - "time": "2019-06-13T12:50:23+00:00" + "time": "2020-03-05T15:02:03+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.7", + "version": "7.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800" + "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7743bbcfff2a907e9ee4a25be13d0f8ec5e73800", - "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", + "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", "shasum": "" }, "require": { @@ -1391,7 +1681,7 @@ "php": "^7.2", "phpunit/php-file-iterator": "^2.0.2", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.0", + "phpunit/php-token-stream": "^3.1.1", "sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/environment": "^4.2.2", "sebastian/version": "^2.0.1", @@ -1432,7 +1722,7 @@ "testing", "xunit" ], - "time": "2019-07-25T05:31:54+00:00" + "time": "2019-11-20T13:55:58+00:00" }, { "name": "phpunit/php-file-iterator", @@ -1576,16 +1866,16 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a" + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e899757bb3df5ff6e95089132f32cd59aac2220a", - "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", "shasum": "" }, "require": { @@ -1621,20 +1911,20 @@ "keywords": [ "tokenizer" ], - "time": "2019-07-25T05:29:42+00:00" + "time": "2019-09-17T06:23:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.3.4", + "version": "8.5.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36" + "reference": "67750516bc02f300e2742fed2f50177f8f37bedf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e31cce0cf4499c0ccdbbb211a3280d36ab341e36", - "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/67750516bc02f300e2742fed2f50177f8f37bedf", + "reference": "67750516bc02f300e2742fed2f50177f8f37bedf", "shasum": "" }, "require": { @@ -1657,7 +1947,7 @@ "sebastian/comparator": "^3.0.2", "sebastian/diff": "^3.0.2", "sebastian/environment": "^4.2.2", - "sebastian/exporter": "^3.1.0", + "sebastian/exporter": "^3.1.1", "sebastian/global-state": "^3.0.0", "sebastian/object-enumerator": "^3.0.3", "sebastian/resource-operations": "^2.0.1", @@ -1678,7 +1968,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.3-dev" + "dev-master": "8.5-dev" } }, "autoload": { @@ -1704,7 +1994,7 @@ "testing", "xunit" ], - "time": "2019-08-11T06:56:55+00:00" + "time": "2020-03-31T08:52:04+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -1873,16 +2163,16 @@ }, { "name": "sebastian/environment", - "version": "4.2.2", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404" + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/f2a2c8e1c97c11ace607a7a667d73d47c19fe404", - "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", "shasum": "" }, "require": { @@ -1922,20 +2212,20 @@ "environment", "hhvm" ], - "time": "2019-05-05T09:05:15+00:00" + "time": "2019-11-20T08:46:58+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.1", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "06a9a5947f47b3029d76118eb5c22802e5869687" + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/06a9a5947f47b3029d76118eb5c22802e5869687", - "reference": "06a9a5947f47b3029d76118eb5c22802e5869687", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", "shasum": "" }, "require": { @@ -1989,7 +2279,7 @@ "export", "exporter" ], - "time": "2019-08-11T12:43:14+00:00" + "time": "2019-09-14T09:02:43+00:00" }, { "name": "sebastian/global-state", @@ -2323,16 +2613,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.12.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4" + "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", + "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", "shasum": "" }, "require": { @@ -2344,7 +2634,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.15-dev" } }, "autoload": { @@ -2377,7 +2667,21 @@ "polyfill", "portable" ], - "time": "2019-08-06T08:03:45+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-02-27T09:26:54+00:00" }, { "name": "theseer/tokenizer", @@ -2421,31 +2725,29 @@ }, { "name": "webmozart/assert", - "version": "1.5.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", - "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", + "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", "shasum": "" }, "require": { "php": "^5.3.3 || ^7.0", "symfony/polyfill-ctype": "^1.8" }, + "conflict": { + "vimeo/psalm": "<3.9.1" + }, "require-dev": { "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -2467,7 +2769,7 @@ "check", "validate" ], - "time": "2019-08-24T08:43:50+00:00" + "time": "2020-04-18T12:12:48+00:00" } ], "aliases": [], @@ -2478,5 +2780,6 @@ "platform": { "php": ">=7.2" }, - "platform-dev": [] + "platform-dev": [], + "plugin-api-version": "1.1.0" } From ee28e3870344a5c55c00b435ecdcd117c5a93934 Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 14:32:26 -0600 Subject: [PATCH 02/15] Add Corcel 5.x and PHPUnit 9.x support Also bumped PHPUnit from `^8.0` to `^8.4` to match Laravel 8 --- composer.json | 4 +- composer.lock | 2146 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 1571 insertions(+), 579 deletions(-) diff --git a/composer.json b/composer.json index 78f44a7..19d0d6c 100644 --- a/composer.json +++ b/composer.json @@ -12,10 +12,10 @@ ], "require": { "php": ">=7.2", - "jgrossi/corcel": "^4.0" + "jgrossi/corcel": "^4.0|^5.0" }, "require-dev": { - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^8.4|^9.0" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index e10a05b..deeab43 100644 --- a/composer.lock +++ b/composer.lock @@ -4,37 +4,41 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0d1f74535dc46beb245494bb2b837d6a", + "content-hash": "0a3a5dad540734bd0220fa4966a79a8c", "packages": [ { "name": "doctrine/inflector", - "version": "1.3.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", - "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.2 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^6.2" + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, "notification-url": "https://packagist.org/downloads/", @@ -63,15 +67,35 @@ "email": "schmittjoh@gmail.com" } ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", "keywords": [ "inflection", - "pluralize", - "singularize", - "string" + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } ], - "time": "2019-10-30T19:59:35+00:00" + "time": "2020-05-29T15:13:26+00:00" }, { "name": "fzaninotto/faker", @@ -167,29 +191,82 @@ ], "time": "2012-08-31T00:00:00+00:00" }, + { + "name": "illuminate/collections", + "version": "v8.10.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/collections.git", + "reference": "4189cfde0b935b488e7f9b87f36bbef996da42a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/collections/zipball/4189cfde0b935b488e7f9b87f36bbef996da42a1", + "reference": "4189cfde0b935b488e7f9b87f36bbef996da42a1", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "php": "^7.3" + }, + "suggest": { + "symfony/var-dumper": "Required to use the dump method (^5.1)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Collections package.", + "homepage": "https://laravel.com", + "time": "2020-10-12T14:24:15+00:00" + }, { "name": "illuminate/container", - "version": "v7.6.2", + "version": "v8.10.0", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", - "reference": "10c5802e360595f5f2a8b6afa176b9542851e580" + "reference": "e89a1572cd5dd193f4d6a4a1c8baeeb1e0bfac5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/10c5802e360595f5f2a8b6afa176b9542851e580", - "reference": "10c5802e360595f5f2a8b6afa176b9542851e580", + "url": "https://api.github.com/repos/illuminate/container/zipball/e89a1572cd5dd193f4d6a4a1c8baeeb1e0bfac5f", + "reference": "e89a1572cd5dd193f4d6a4a1c8baeeb1e0bfac5f", "shasum": "" }, "require": { - "illuminate/contracts": "^7.0", - "php": "^7.2.5", + "illuminate/contracts": "^8.0", + "php": "^7.3", "psr/container": "^1.0" }, + "provide": { + "psr/container-implementation": "1.0" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { @@ -209,31 +286,31 @@ ], "description": "The Illuminate Container package.", "homepage": "https://laravel.com", - "time": "2020-04-06T13:33:36+00:00" + "time": "2020-08-13T14:34:00+00:00" }, { "name": "illuminate/contracts", - "version": "v7.6.2", + "version": "v8.10.0", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "69a40779d8fc43e3f43da973b9c0c20bdbd81203" + "reference": "6e04ca4122ee72ef272875bf3f32d83bd68d4827" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/69a40779d8fc43e3f43da973b9c0c20bdbd81203", - "reference": "69a40779d8fc43e3f43da973b9c0c20bdbd81203", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/6e04ca4122ee72ef272875bf3f32d83bd68d4827", + "reference": "6e04ca4122ee72ef272875bf3f32d83bd68d4827", "shasum": "" }, "require": { - "php": "^7.2.5", + "php": "^7.3", "psr/container": "^1.0", "psr/simple-cache": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { @@ -253,43 +330,45 @@ ], "description": "The Illuminate Contracts package.", "homepage": "https://laravel.com", - "time": "2020-04-09T15:01:22+00:00" + "time": "2020-10-13T11:07:30+00:00" }, { "name": "illuminate/database", - "version": "v7.6.2", + "version": "v8.10.0", "source": { "type": "git", "url": "https://github.com/illuminate/database.git", - "reference": "2bfb896f341cb87bf417e1fb4cfdf0c2d1e36e1e" + "reference": "bdcf69e2604bfed8aa44b47041271997451d7d5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/2bfb896f341cb87bf417e1fb4cfdf0c2d1e36e1e", - "reference": "2bfb896f341cb87bf417e1fb4cfdf0c2d1e36e1e", + "url": "https://api.github.com/repos/illuminate/database/zipball/bdcf69e2604bfed8aa44b47041271997451d7d5c", + "reference": "bdcf69e2604bfed8aa44b47041271997451d7d5c", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/container": "^7.0", - "illuminate/contracts": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5", - "symfony/console": "^5.0" + "illuminate/collections": "^8.0", + "illuminate/container": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3", + "symfony/console": "^5.1" }, "suggest": { "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).", - "illuminate/console": "Required to use the database commands (^7.0).", - "illuminate/events": "Required to use the observers with Eloquent (^7.0).", - "illuminate/filesystem": "Required to use the migrations (^7.0).", - "illuminate/pagination": "Required to paginate the result set (^7.0).", - "symfony/finder": "Required to use Eloquent model factories (^5.0)." + "illuminate/console": "Required to use the database commands (^8.0).", + "illuminate/events": "Required to use the observers with Eloquent (^8.0).", + "illuminate/filesystem": "Required to use the migrations (^8.0).", + "illuminate/pagination": "Required to paginate the result set (^8.0).", + "symfony/finder": "Required to use Eloquent model factories (^5.1)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { @@ -315,40 +394,45 @@ "orm", "sql" ], - "time": "2020-04-14T14:11:33+00:00" + "time": "2020-10-12T19:28:15+00:00" }, { "name": "illuminate/filesystem", - "version": "v7.6.2", + "version": "v8.10.0", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "43d0aafb620151b9c88331e13e1660564fc56244" + "reference": "a3b11b08a12abbedf2bd8904c211e17a6dd6b3ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/43d0aafb620151b9c88331e13e1660564fc56244", - "reference": "43d0aafb620151b9c88331e13e1660564fc56244", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/a3b11b08a12abbedf2bd8904c211e17a6dd6b3ee", + "reference": "a3b11b08a12abbedf2bd8904c211e17a6dd6b3ee", "shasum": "" }, "require": { - "illuminate/contracts": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5", - "symfony/finder": "^5.0" + "illuminate/collections": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3", + "symfony/finder": "^5.1" }, "suggest": { - "illuminate/http": "Required for handling uploaded files (^7.0)", - "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.0).", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "illuminate/http": "Required for handling uploaded files (^7.0).", + "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.0.34).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0)" + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1).", + "symfony/mime": "Required to enable support for guessing extensions (^5.1)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { @@ -368,46 +452,89 @@ ], "description": "The Illuminate Filesystem package.", "homepage": "https://laravel.com", - "time": "2020-03-26T19:53:03+00:00" + "time": "2020-10-08T18:08:58+00:00" + }, + { + "name": "illuminate/macroable", + "version": "v8.10.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/macroable.git", + "reference": "561442f134eaf4d3f710bf523ecfe1537fa53f64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/macroable/zipball/561442f134eaf4d3f710bf523ecfe1537fa53f64", + "reference": "561442f134eaf4d3f710bf523ecfe1537fa53f64", + "shasum": "" + }, + "require": { + "php": "^7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Macroable package.", + "homepage": "https://laravel.com", + "time": "2020-06-08T14:13:16+00:00" }, { "name": "illuminate/support", - "version": "v7.6.2", + "version": "v8.10.0", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "b6f64a42377f86b293960e0b7f6920ae59e578d2" + "reference": "ebdebedc68722938f23fa46f329fb6840ab9d2ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/b6f64a42377f86b293960e0b7f6920ae59e578d2", - "reference": "b6f64a42377f86b293960e0b7f6920ae59e578d2", + "url": "https://api.github.com/repos/illuminate/support/zipball/ebdebedc68722938f23fa46f329fb6840ab9d2ea", + "reference": "ebdebedc68722938f23fa46f329fb6840ab9d2ea", "shasum": "" }, "require": { - "doctrine/inflector": "^1.1", + "doctrine/inflector": "^1.4|^2.0", "ext-json": "*", "ext-mbstring": "*", - "illuminate/contracts": "^7.0", + "illuminate/collections": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", "nesbot/carbon": "^2.17", - "php": "^7.2.5", + "php": "^7.3", "voku/portable-ascii": "^1.4.8" }, "conflict": { "tightenco/collect": "<5.5.33" }, "suggest": { - "illuminate/filesystem": "Required to use the composer class (^7.0).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "ramsey/uuid": "Required to use Str::uuid() (^3.7|^4.0).", - "symfony/process": "Required to use the composer class (^5.0).", - "symfony/var-dumper": "Required to use the dd function (^5.0).", - "vlucas/phpdotenv": "Required to use the Env class and env helper (^4.0)." + "illuminate/filesystem": "Required to use the composer class (^8.0).", + "ramsey/uuid": "Required to use Str::uuid() (^4.0).", + "symfony/process": "Required to use the composer class (^5.1).", + "symfony/var-dumper": "Required to use the dd function (^5.1).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { @@ -430,29 +557,29 @@ ], "description": "The Illuminate Support package.", "homepage": "https://laravel.com", - "time": "2020-04-15T19:48:40+00:00" + "time": "2020-10-12T17:58:15+00:00" }, { "name": "jgrossi/corcel", - "version": "v4.0.0", + "version": "v5.0.0", "source": { "type": "git", "url": "https://github.com/corcel/corcel.git", - "reference": "bb2b225d56fa89b1906e61684d8f7bd1f5932b5e" + "reference": "9b2fdf15dda9e959d8819e1b6c45077ce2a981f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/corcel/corcel/zipball/bb2b225d56fa89b1906e61684d8f7bd1f5932b5e", - "reference": "bb2b225d56fa89b1906e61684d8f7bd1f5932b5e", + "url": "https://api.github.com/repos/corcel/corcel/zipball/9b2fdf15dda9e959d8819e1b6c45077ce2a981f7", + "reference": "9b2fdf15dda9e959d8819e1b6c45077ce2a981f7", "shasum": "" }, "require": { "fzaninotto/faker": "^1.9", "hautelook/phpass": "0.3.*", - "illuminate/database": "^7.0", - "illuminate/filesystem": "^7.0", - "illuminate/support": "^7.0", - "php": ">=7.2.5", + "illuminate/database": "^8.0", + "illuminate/filesystem": "^8.0", + "illuminate/support": "^8.0", + "php": ">=7.3", "thunderer/shortcode": "^0.7.3" }, "replace": { @@ -460,9 +587,9 @@ }, "require-dev": { "dms/phpunit-arraysubset-asserts": "^0.1.0", + "laravel/legacy-factories": "^1.0", "mockery/mockery": "^1.0", - "orchestra/database": "^5.0-dev", - "orchestra/testbench": "^5.0", + "orchestra/testbench": "^6.0", "symfony/thanks": "^1.0" }, "type": "library", @@ -492,33 +619,35 @@ ], "description": "Use WordPress backend with Laravel or any PHP framework", "homepage": "http://github.com/corcel/corcel", - "time": "2020-03-04T22:30:27+00:00" + "time": "2020-10-09T20:42:19+00:00" }, { "name": "nesbot/carbon", - "version": "2.32.2", + "version": "2.41.3", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "f10e22cf546704fab1db4ad4b9dedbc5c797a0dc" + "reference": "e148788eeae9b9b7b87996520358b86faad37b52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f10e22cf546704fab1db4ad4b9dedbc5c797a0dc", - "reference": "f10e22cf546704fab1db4ad4b9dedbc5c797a0dc", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e148788eeae9b9b7b87996520358b86faad37b52", + "reference": "e148788eeae9b9b7b87996520358b86faad37b52", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", + "symfony/polyfill-mbstring": "^1.0", "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", - "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "^2.8", - "phpstan/phpstan": "^0.11", + "kylekatarnls/multi-tester": "^2.0", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.35", "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "^3.4" }, @@ -528,12 +657,18 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "2.x-dev", + "dev-3.x": "3.x-dev" }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] } }, "autoload": { @@ -563,7 +698,17 @@ "datetime", "time" ], - "time": "2020-03-31T13:43:19+00:00" + "funding": [ + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2020-10-12T20:36:09+00:00" }, { "name": "psr/container", @@ -664,26 +809,29 @@ }, { "name": "symfony/console", - "version": "v5.0.7", + "version": "v5.1.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935" + "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", - "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", + "url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", + "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", "shasum": "" }, "require": { - "php": "^7.2.5", + "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", - "symfony/service-contracts": "^1.1|^2" + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" }, "conflict": { "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", "symfony/event-dispatcher": "<4.4", "symfony/lock": "<4.4", "symfony/process": "<4.4" @@ -709,7 +857,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -736,29 +884,43 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2020-03-30T11:42:42+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-07T15:23:00+00:00" }, { "name": "symfony/finder", - "version": "v5.0.7", + "version": "v5.1.7", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d" + "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/600a52c29afc0d1caa74acbec8d3095ca7e9910d", - "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d", + "url": "https://api.github.com/repos/symfony/finder/zipball/2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8", + "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8", "shasum": "" }, "require": { - "php": "^7.2.5" + "php": ">=7.2.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -799,37 +961,41 @@ "type": "tidelift" } ], - "time": "2020-03-27T16:56:45+00:00" + "time": "2020-09-02T16:23:27+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.15.0", + "name": "symfony/polyfill-ctype", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454", + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454", "shasum": "" }, "require": { "php": ">=5.3.3" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Polyfill\\Ctype\\": "" }, "files": [ "bootstrap.php" @@ -841,22 +1007,21 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "ctype", "polyfill", - "portable", - "shim" + "portable" ], "funding": [ { @@ -872,40 +1037,44 @@ "type": "tidelift" } ], - "time": "2020-03-09T19:04:49+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/polyfill-php73", - "version": "v1.15.0", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", - "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b740103edbdcc39602239ee8860f0f45a8eb9aa5", + "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "suggest": { + "ext-intl": "For best performance" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" }, "files": [ "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -922,10 +1091,12 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "grapheme", + "intl", "polyfill", "portable", "shim" @@ -944,39 +1115,48 @@ "type": "tidelift" } ], - "time": "2020-02-27T09:26:54+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/service-contracts", - "version": "v2.0.1", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "144c5e51266b281231e947b51223ba14acf1a749" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", - "reference": "144c5e51266b281231e947b51223ba14acf1a749", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", + "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", "shasum": "" }, "require": { - "php": "^7.2.5", - "psr/container": "^1.0" + "php": ">=5.3.3" }, "suggest": { - "symfony/service-implementation": "" + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -992,75 +1172,68 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2019-11-18T17:27:11+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/translation", - "version": "v5.0.7", + "name": "symfony/polyfill-mbstring", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "99b831770e10807dca0979518e2c89edffef5978" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/99b831770e10807dca0979518e2c89edffef5978", - "reference": "99b831770e10807dca0979518e2c89edffef5978", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a", + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a", "shasum": "" }, "require": { - "php": "^7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2" - }, - "conflict": { - "symfony/config": "<4.4", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" - }, - "provide": { - "symfony/translation-implementation": "2.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" + "php": ">=5.3.3" }, "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Translation\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1069,34 +1242,464 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", - "time": "2020-03-27T16:56:45+00:00" + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/translation-contracts", - "version": "v2.0.1", + "name": "symfony/polyfill-php73", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed" + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed", - "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca", + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca", "shasum": "" }, "require": { - "php": "^7.2.5" + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.18.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981", + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981", + "shasum": "" + }, + "require": { + "php": ">=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/string", + "version": "v5.1.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", + "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony String component", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-15T12:23:47+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.1.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b", + "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^2" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-27T03:44:28+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" }, "suggest": { "symfony/translation-implementation": "" @@ -1104,7 +1707,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -1136,7 +1743,21 @@ "interoperability", "standards" ], - "time": "2019-11-18T17:27:11+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-28T13:05:58+00:00" }, { "name": "thunderer/shortcode", @@ -1192,16 +1813,16 @@ }, { "name": "voku/portable-ascii", - "version": "1.4.10", + "version": "1.5.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "240e93829a5f985fab0984a6e55ae5e26b78a334" + "reference": "25bcbf01678930251fd572891447d9e318a6e2b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/240e93829a5f985fab0984a6e55ae5e26b78a334", - "reference": "240e93829a5f985fab0984a6e55ae5e26b78a334", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/25bcbf01678930251fd572891447d9e318a6e2b8", + "reference": "25bcbf01678930251fd572891447d9e318a6e2b8", "shasum": "" }, "require": { @@ -1216,8 +1837,7 @@ "type": "library", "autoload": { "psr-4": { - "voku\\": "src/voku/", - "voku\\tests\\": "tests/" + "voku\\": "src/voku/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1237,26 +1857,48 @@ "clean", "php" ], - "time": "2020-03-13T01:23:26+00:00" + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2020-07-22T23:32:04+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" + "reference": "f350df0268e904597e3bd9c4685c53e0e333feea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea", + "reference": "f350df0268e904597e3bd9c4685c53e0e333feea", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^6.0", @@ -1295,24 +1937,38 @@ "constructor", "instantiate" ], - "time": "2019-10-21T16:45:58+00:00" + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-05-29T17:27:14+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.9.5", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" + "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", - "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", + "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "replace": { "myclabs/deep-copy": "self.version" @@ -1343,32 +1999,91 @@ "object", "object graph" ], - "time": "2020-01-17T21:11:47+00:00" + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-06-29T13:22:24+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.10.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "658f1be311a230e0907f5dfe0213742aff0596de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de", + "reference": "658f1be311a230e0907f5dfe0213742aff0596de", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2020-09-26T10:30:38+00:00" }, { "name": "phar-io/manifest", - "version": "1.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1383,39 +2098,39 @@ "authors": [ { "name": "Arne Blankerts", - "role": "Developer", - "email": "arne@blankerts.de" + "email": "arne@blankerts.de", + "role": "Developer" }, { "name": "Sebastian Heuer", - "role": "Developer", - "email": "sebastian@phpeople.de" + "email": "sebastian@phpeople.de", + "role": "Developer" }, { "name": "Sebastian Bergmann", - "role": "Developer", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "Developer" } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" + "time": "2020-06-27T14:33:11+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/c6bb6825def89e0a32220f88337f8ceaf1975fa0", + "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -1445,32 +2160,29 @@ } ], "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" + "time": "2020-06-27T14:39:04+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "2.0.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~6" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -1497,32 +2209,31 @@ "reflection", "static analysis" ], - "time": "2018-08-07T13:53:10+00:00" + "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.1.0", + "version": "5.2.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "shasum": "" }, "require": { - "ext-filter": "^7.1", - "php": "^7.2", - "phpdocumentor/reflection-common": "^2.0", - "phpdocumentor/type-resolver": "^1.0", - "webmozart/assert": "^1" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "doctrine/instantiator": "^1", - "mockery/mockery": "^1" + "mockery/mockery": "~1.3.2" }, "type": "library", "extra": { @@ -1550,34 +2261,33 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-02-22T12:28:44+00:00" + "time": "2020-09-03T19:13:55+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.1.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "7462d5f123dfc080dfdf26897032a6513644fc95" + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95", - "reference": "7462d5f123dfc080dfdf26897032a6513644fc95", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "shasum": "" }, "require": { - "php": "^7.2", + "php": "^7.2 || ^8.0", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "^7.2", - "mockery/mockery": "~1" + "ext-tokenizer": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { @@ -1596,37 +2306,37 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-02-18T18:59:58+00:00" + "time": "2020-09-17T18:55:26+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.10.3", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "451c3cd1418cf640de218914901e51b064abb093" + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", - "reference": "451c3cd1418cf640de218914901e51b064abb093", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5 || ^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0 <9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.10.x-dev" + "dev-master": "1.11.x-dev" } }, "autoload": { @@ -1659,44 +2369,48 @@ "spy", "stub" ], - "time": "2020-03-05T15:02:03+00:00" + "time": "2020-09-29T09:10:42+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.10", + "version": "9.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" + "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/53a4b737e83be724efd2bc4e7b929b9a30c48972", + "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.1", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.8", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^8.2.2" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.7.2" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -1722,32 +2436,38 @@ "testing", "xunit" ], - "time": "2019-11-20T13:55:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-02T03:37:32+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.2", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1772,26 +2492,44 @@ "filesystem", "iterator" ], - "time": "2018-09-13T20:33:42+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -1808,37 +2546,43 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "template" + "process" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2015-06-21T13:50:34+00:00" + "time": "2020-09-28T05:58:55+00:00" }, { - "name": "phpunit/php-timer", - "version": "2.1.2", + "name": "phpunit/php-text-template", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "18c887016e60e52477e54534956d7b47bc52cd84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/18c887016e60e52477e54534956d7b47bc52cd84", + "reference": "18c887016e60e52477e54534956d7b47bc52cd84", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1857,38 +2601,43 @@ "role": "lead" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "timer" + "template" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2019-06-07T04:22:29+00:00" + "time": "2020-09-28T06:03:05+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "3.1.1", + "name": "phpunit/php-timer", + "version": "5.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/c9ff14f493699e2f6adee9fd06a0245b276643b7", + "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -1903,64 +2652,74 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "tokenizer" + "timer" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2019-09-17T06:23:10+00:00" + "time": "2020-09-28T06:00:25+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.3", + "version": "9.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "67750516bc02f300e2742fed2f50177f8f37bedf" + "reference": "1f09a12726593737e8a228ebb1c8647305d07c41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/67750516bc02f300e2742fed2f50177f8f37bedf", - "reference": "67750516bc02f300e2742fed2f50177f8f37bedf", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1f09a12726593737e8a228ebb1c8647305d07c41", + "reference": "1f09a12726593737e8a228ebb1c8647305d07c41", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.2.0", + "doctrine/instantiator": "^1.3.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.9.1", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.2", - "phpspec/prophecy": "^1.8.1", - "phpunit/php-code-coverage": "^7.0.7", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.2", - "sebastian/exporter": "^3.1.1", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -1968,12 +2727,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.5-dev" + "dev-master": "9.4-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1994,32 +2756,146 @@ "testing", "xunit" ], - "time": "2020-03-31T08:52:04+00:00" + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-11T07:41:19+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.7", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/59236be62b1bb9919e6d7f60b0b832dc05cef9ab", + "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-02T14:47:54+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2039,34 +2915,40 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.2", + "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + "reference": "7a8ff306445707539c1a6397372a982a1ec55120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7a8ff306445707539c1a6397372a982a1ec55120", + "reference": "7a8ff306445707539c1a6397372a982a1ec55120", "shasum": "" }, "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2079,6 +2961,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -2090,10 +2976,6 @@ { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" } ], "description": "Provides the functionality to compare PHP values for equality", @@ -2103,33 +2985,92 @@ "compare", "equality" ], - "time": "2018-07-12T15:12:46+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-30T06:47:25+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ba8cc2da0c0bfbc813d03b56406734030c7f1eff", + "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:05:03+00:00" }, { "name": "sebastian/diff", - "version": "3.0.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" + "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ffc949a1a2aae270ea064453d7535b82e4c32092", + "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2142,13 +3083,13 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], "description": "Diff implementation", @@ -2159,27 +3100,33 @@ "unidiff", "unified diff" ], - "time": "2019-02-04T06:01:07+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:32:55+00:00" }, { "name": "sebastian/environment", - "version": "4.2.3", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -2187,7 +3134,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -2212,34 +3159,40 @@ "environment", "hhvm" ], - "time": "2019-11-20T08:46:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2279,30 +3232,36 @@ "export", "exporter" ], - "time": "2019-09-14T09:02:43+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" }, { "name": "sebastian/global-state", - "version": "3.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" + "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ea779cb749a478b22a2564ac41cd7bda79c78dc7", + "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7", "shasum": "" }, "require": { - "php": "^7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -2310,7 +3269,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2333,34 +3292,93 @@ "keywords": [ "global state" ], - "time": "2019-02-01T05:30:01+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:54:06+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/6514b8f21906b8b46f520d1fbd17a4523fa59a54", + "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:07:27+00:00" }, { "name": "sebastian/object-enumerator", - "version": "3.0.3", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + "reference": "f6f5957013d84725427d361507e13513702888a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f6f5957013d84725427d361507e13513702888a4", + "reference": "f6f5957013d84725427d361507e13513702888a4", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2380,32 +3398,38 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:55:06+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" + "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", + "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2425,32 +3449,38 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:56:16+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.0", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", + "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2463,14 +3493,14 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, { "name": "Adam Harvey", "email": "aharvey@php.net" @@ -2478,29 +3508,38 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:17:32+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2520,32 +3559,38 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2018-10-04T04:07:39+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "1.1.3", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" + "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fa592377f3923946cb90bf1f6a71ba2e5f229909", + "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909", "shasum": "" }, "require": { - "php": "^7.2" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.2" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.3-dev" } }, "autoload": { @@ -2566,29 +3611,35 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "time": "2019-07-02T08:10:15+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-06T08:41:03+00:00" }, { "name": "sebastian/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2609,99 +3660,33 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.15.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.15-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2020-02-27T09:26:54+00:00" + "time": "2020-09-28T06:39:44+00:00" }, { "name": "theseer/tokenizer", - "version": "1.1.3", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + "reference": "75a63c33a8577608444246075ea0af0d052e452a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -2716,32 +3701,39 @@ "authors": [ { "name": "Arne Blankerts", - "role": "Developer", - "email": "arne@blankerts.de" + "email": "arne@blankerts.de", + "role": "Developer" } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-06-13T22:48:21+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" }, { "name": "webmozart/assert", - "version": "1.8.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", - "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", + "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0", + "php": "^5.3.3 || ^7.0 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { + "phpstan/phpstan": "<0.12.20", "vimeo/psalm": "<3.9.1" }, "require-dev": { @@ -2769,7 +3761,7 @@ "check", "validate" ], - "time": "2020-04-18T12:12:48+00:00" + "time": "2020-07-08T17:02:28+00:00" } ], "aliases": [], From c01a5d4e5331a329df16e21d090886f7b3327667 Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 14:32:52 -0600 Subject: [PATCH 03/15] Add "Version Compatibility" section to readme --- readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/readme.md b/readme.md index d718b9f..1efe74e 100644 --- a/readme.md +++ b/readme.md @@ -19,6 +19,13 @@ For more information about how Corcel works please visit [the repository](http:/ - [Running Tests](#running-tests) * [Licence](#licence) +# Version Compatibility + + Corcel | Laravel | PHP +:----------|:---------|:---------- + `^4.0` | 7.x | `>=7.2` + `^5.0` | 8.x | `>=7.3` + # Installation To install the ACF plugin for Corcel is easy: From 11d84bf0734e16bcda366ffa83f9e66ed48cfe8c Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 15:14:56 -0600 Subject: [PATCH 04/15] Updated travis build config * Corcel v4 tested with PHP 7.2, 7.3, and 7.4 * Corcel v5 tested with PHP 7.3 and 7.4 * Removed deprecated/ignored `sudo` setting * Moved database import process into `before_script` * Moved `composer self-update` into `before_install` * Moved `composer install` into `install` --- .travis.yml | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index f5241f7..e6a8a41 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,20 @@ language: php -php: - - '7.2' - - '7.3' + +matrix: + include: + - php: 7.2 + env: CORCEL='^4.0' + - php: 7.3 + env: CORCEL='^4.0' + - php: 7.3 + env: CORCEL='^5.0' + - php: 7.4 + env: CORCEL='^4.0' + - php: 7.4 + env: CORCEL='^5.0' + dist: trusty -sudo: required + addons: apt: packages: @@ -11,13 +22,19 @@ addons: - mysql-server-5.6 - mysql-client-core-5.6 - mysql-client-5.6 -before_install: + +before_script: - unzip tests/config/database.sql.zip -d tests/config/ - mysql -u root -e "create database corcel_acf;" - mysql -u root corcel_acf < tests/config/database.sql -before_script: + +before_install: - composer self-update - - composer install + - composer require "corcel/corcel:${CORCEL}" --no-interaction --no-update + +install: + - composer install --prefer-dist --no-interaction --no-suggest + script: - mkdir -p build/logs - - ./vendor/bin/phpunit \ No newline at end of file + - ./vendor/bin/phpunit From ab5f17c22193eb821648364948ce59e2868f69e8 Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 15:17:57 -0600 Subject: [PATCH 05/15] Fix composer require --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e6a8a41..f53db15 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ before_script: before_install: - composer self-update - - composer require "corcel/corcel:${CORCEL}" --no-interaction --no-update + - composer require corcel/corcel:${CORCEL} --no-interaction --no-update install: - composer install --prefer-dist --no-interaction --no-suggest From 32ed4927eca690aaba98a5cec1c112448bf716e0 Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 15:22:22 -0600 Subject: [PATCH 06/15] Tweak the way PHP version + Corcel version is handled in travis.yml --- .travis.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index f53db15..ee133b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,18 @@ language: php +php: + - 7.2 + - 7.3 + - 7.4 + +env: + - CORCEL=^4.0 + - CORCEL=^5.0 + matrix: - include: + exclude: - php: 7.2 - env: CORCEL='^4.0' - - php: 7.3 - env: CORCEL='^4.0' - - php: 7.3 - env: CORCEL='^5.0' - - php: 7.4 - env: CORCEL='^4.0' - - php: 7.4 - env: CORCEL='^5.0' + env: CORCEL=^5.0 dist: trusty @@ -30,7 +31,7 @@ before_script: before_install: - composer self-update - - composer require corcel/corcel:${CORCEL} --no-interaction --no-update + - composer require corcel/corcel:$CORCEL --no-interaction --no-update install: - composer install --prefer-dist --no-interaction --no-suggest From 7089546326a9dd50a0bee8218da3648733bd7c30 Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 15:24:42 -0600 Subject: [PATCH 07/15] =?UTF-8?q?Use=20the=20right=20package=20name=20for?= =?UTF-8?q?=20`jgrossi/corcel`=20=F0=9F=A4=A6=F0=9F=8F=BC=E2=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ee133b3..bfa0d29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,7 +31,7 @@ before_script: before_install: - composer self-update - - composer require corcel/corcel:$CORCEL --no-interaction --no-update + - composer require jgrossi/corcel:$CORCEL --no-interaction --no-update install: - composer install --prefer-dist --no-interaction --no-suggest From 2976b7891c45ccfdf27d4ebb11222debf0b306b5 Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 15:41:00 -0600 Subject: [PATCH 08/15] Go back to the simplified `matrix->include` travis config --- .travis.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index bfa0d29..926bd23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,17 @@ language: php -php: - - 7.2 - - 7.3 - - 7.4 - -env: - - CORCEL=^4.0 - - CORCEL=^5.0 - matrix: - exclude: + include: - php: 7.2 - env: CORCEL=^5.0 + env: CORCEL='^4.0' + - php: 7.3 + env: CORCEL='^4.0' + - php: 7.3 + env: CORCEL='^5.0' + - php: 7.4 + env: CORCEL='^4.0' + - php: 7.4 + env: CORCEL='^5.0' dist: trusty From f3c2ba2651fb9345a8ca15ed78e30c0c433ce4cb Mon Sep 17 00:00:00 2001 From: Scott Carpenter Date: Wed, 14 Oct 2020 15:41:59 -0600 Subject: [PATCH 09/15] Delete `composer.lock` before installing --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 926bd23..b31ec50 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,7 @@ before_script: - mysql -u root corcel_acf < tests/config/database.sql before_install: + - rm composer.lock - composer self-update - composer require jgrossi/corcel:$CORCEL --no-interaction --no-update From ef3d7479060c6f123eee5d24facf00dfe6e1eff7 Mon Sep 17 00:00:00 2001 From: Junior Grossi Date: Sat, 31 Oct 2020 21:06:58 +0000 Subject: [PATCH 10/15] Apply fixes from StyleCI --- src/Field/BasicField.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Field/BasicField.php b/src/Field/BasicField.php index bae10ae..b1b12d4 100644 --- a/src/Field/BasicField.php +++ b/src/Field/BasicField.php @@ -82,7 +82,8 @@ public function __construct(Model $post) public function fetchValue($field) { $postMeta = $this->postMeta->where( - $this->getKeyName(), $this->post->getKey() + $this->getKeyName(), + $this->post->getKey() )->where('meta_key', $field)->first(); if (isset($postMeta->meta_value) and ! is_null($postMeta->meta_value)) { From d9eb1d370eb4b07e40bde941c13c3bd93bb006b3 Mon Sep 17 00:00:00 2001 From: Kan Ishigami Date: Sun, 27 Feb 2022 22:28:41 -0300 Subject: [PATCH 11/15] Bump packages versions to Laravel 9 --- .phpunit.result.cache | 1 + composer.json | 2 +- composer.lock | 1486 ++++++++++++++++++++++++----------------- 3 files changed, 890 insertions(+), 599 deletions(-) create mode 100644 .phpunit.result.cache diff --git a/.phpunit.result.cache b/.phpunit.result.cache new file mode 100644 index 0000000..66e8e47 --- /dev/null +++ b/.phpunit.result.cache @@ -0,0 +1 @@ +{"version":1,"defects":{"BasicFieldsTest::testTextFieldValue":4,"BasicFieldsTest::testTextareaFieldValue":4,"BasicFieldsTest::testNumberFieldValue":4,"BasicFieldsTest::testEmailFieldValue":4,"BasicFieldsTest::testUrlFieldValue":4,"BasicFieldsTest::testPasswordFieldValue":4,"ChoicesFieldsTest::testSelectField":4,"ChoicesFieldsTest::testSelectMultipleField":4,"ChoicesFieldsTest::testCheckboxField":4,"ChoicesFieldsTest::testRadioField":4,"ChoicesFieldsTest::testTrueFalseField":4,"ContentFieldsTest::testEditorFieldValue":4,"ContentFieldsTest::testOembedFieldValue":4,"ContentFieldsTest::testImageFieldValue":4,"ContentFieldsTest::testFileFieldValue":4,"ContentFieldsTest::testGalleryFieldValue":4,"CorcelIntegrationTest::testIfCorcelIntegrationIsWorking":4,"CorcelIntegrationTest::testUsageOfHelperFunctions":4,"CorcelIntegrationTest::testFunctionHelperWithSnakeCaseFieldType":4,"EmptyBasicFieldsTest::testTextFieldValue":4,"EmptyBasicFieldsTest::testTextareaFieldValue":4,"EmptyBasicFieldsTest::testNumberFieldValue":4,"EmptyBasicFieldsTest::testEmailFieldValue":4,"EmptyBasicFieldsTest::testUrlFieldValue":4,"EmptyBasicFieldsTest::testPasswordFieldValue":4,"FieldFactoryTest::testInvalidFieldName":4,"FieldFactoryTest::testTextField":4,"FieldFactoryTest::testTextareaField":4,"FieldFactoryTest::testNumberField":4,"FieldFactoryTest::testEmailField":4,"FieldFactoryTest::testUrlField":4,"FieldFactoryTest::testPasswordField":4,"FieldFactoryTest::testEditorField":4,"FieldFactoryTest::testOembedField":4,"FieldFactoryTest::testImageField":4,"JqueryFieldsTests::testGoogleMapField":4,"JqueryFieldsTests::testDatePickerField":4,"JqueryFieldsTests::testDateTimePickerField":4,"JqueryFieldsTests::testTimePickerField":4,"JqueryFieldsTests::testColorPickerField":4,"LayoutFieldsTest::testRepeaterField":4,"LayoutFieldsTest::testComplexRepeaterField":4,"LayoutFieldsTest::testFlexibleContentField":4,"RelationalFieldsTests::testPostObjectField":4,"RelationalFieldsTests::testPageLinkField":4,"RelationalFieldsTests::testRelationshipField":4,"RelationalFieldsTests::testTaxonomyField":4,"RelationalFieldsTests::testUserField":4},"times":{"BasicFieldsTest::testTextFieldValue":0.241,"BasicFieldsTest::testTextareaFieldValue":0.001,"BasicFieldsTest::testNumberFieldValue":0.001,"BasicFieldsTest::testEmailFieldValue":0.001,"BasicFieldsTest::testUrlFieldValue":0.001,"BasicFieldsTest::testPasswordFieldValue":0.001,"ChoicesFieldsTest::testSelectField":0.001,"ChoicesFieldsTest::testSelectMultipleField":0.001,"ChoicesFieldsTest::testCheckboxField":0.001,"ChoicesFieldsTest::testRadioField":0.001,"ChoicesFieldsTest::testTrueFalseField":0.001,"ContentFieldsTest::testEditorFieldValue":0.001,"ContentFieldsTest::testOembedFieldValue":0.001,"ContentFieldsTest::testImageFieldValue":0.001,"ContentFieldsTest::testFileFieldValue":0.001,"ContentFieldsTest::testGalleryFieldValue":0.001,"CorcelIntegrationTest::testIfCorcelIntegrationIsWorking":0.001,"CorcelIntegrationTest::testUsageOfHelperFunctions":0.001,"CorcelIntegrationTest::testFunctionHelperWithSnakeCaseFieldType":0.001,"EmptyBasicFieldsTest::testTextFieldValue":0.001,"EmptyBasicFieldsTest::testTextareaFieldValue":0.001,"EmptyBasicFieldsTest::testNumberFieldValue":0.001,"EmptyBasicFieldsTest::testEmailFieldValue":0.009,"EmptyBasicFieldsTest::testUrlFieldValue":0.002,"EmptyBasicFieldsTest::testPasswordFieldValue":0.001,"FieldFactoryTest::testInvalidFieldName":0.002,"FieldFactoryTest::testTextField":0.001,"FieldFactoryTest::testTextareaField":0.001,"FieldFactoryTest::testNumberField":0.001,"FieldFactoryTest::testEmailField":0.001,"FieldFactoryTest::testUrlField":0.001,"FieldFactoryTest::testPasswordField":0.001,"FieldFactoryTest::testEditorField":0.001,"FieldFactoryTest::testOembedField":0,"FieldFactoryTest::testImageField":0,"JqueryFieldsTests::testGoogleMapField":0.001,"JqueryFieldsTests::testDatePickerField":0,"JqueryFieldsTests::testDateTimePickerField":0,"JqueryFieldsTests::testTimePickerField":0,"JqueryFieldsTests::testColorPickerField":0.001,"LayoutFieldsTest::testRepeaterField":0.001,"LayoutFieldsTest::testComplexRepeaterField":0.001,"LayoutFieldsTest::testFlexibleContentField":0.001,"RelationalFieldsTests::testPostObjectField":0.001,"RelationalFieldsTests::testPageLinkField":0.001,"RelationalFieldsTests::testRelationshipField":0.001,"RelationalFieldsTests::testTaxonomyField":0,"RelationalFieldsTests::testUserField":0}} \ No newline at end of file diff --git a/composer.json b/composer.json index 19d0d6c..bd8240e 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ ], "require": { "php": ">=7.2", - "jgrossi/corcel": "^4.0|^5.0" + "jgrossi/corcel": "^4.0|^5.0|^6.0" }, "require-dev": { "phpunit/phpunit": "^8.4|^9.0" diff --git a/composer.lock b/composer.lock index deeab43..cbb6289 100644 --- a/composer.lock +++ b/composer.lock @@ -4,38 +4,90 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0a3a5dad540734bd0220fa4966a79a8c", + "content-hash": "c7d8e84e1eb103bb30826639e53a7690", "packages": [ + { + "name": "bordoni/phpass", + "version": "0.3.5", + "source": { + "type": "git", + "url": "https://github.com/bordoni/phpass.git", + "reference": "fd57c109213e95150b7de1dc8908c55605cd8e55" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bordoni/phpass/zipball/fd57c109213e95150b7de1dc8908c55605cd8e55", + "reference": "fd57c109213e95150b7de1dc8908c55605cd8e55", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "replace": { + "hautelook/phpass": "0.3.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "Hautelook": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Public Domain" + ], + "authors": [ + { + "name": "Solar Designer", + "email": "solar@openwall.com", + "homepage": "http://openwall.com/phpass/" + }, + { + "name": "Gustavo Bordoni", + "email": "gustavo@bordoni.me", + "homepage": "https://bordoni.me" + } + ], + "description": "Portable PHP password hashing framework", + "homepage": "http://github.com/hautelook/phpass/", + "keywords": [ + "blowfish", + "crypt", + "password", + "security" + ], + "support": { + "issues": "https://github.com/bordoni/phpass/issues", + "source": "https://github.com/bordoni/phpass/tree/0.3.5" + }, + "time": "2012-08-31T00:00:00+00:00" + }, { "name": "doctrine/inflector", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^7.0", - "phpstan/phpstan": "^0.11", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-strict-rules": "^0.11", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "doctrine/coding-standard": "^8.2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^4.10" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" @@ -81,6 +133,10 @@ "uppercase", "words" ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.4" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -95,34 +151,47 @@ "type": "tidelift" } ], - "time": "2020-05-29T15:13:26+00:00" + "time": "2021-10-22T20:16:43+00:00" }, { - "name": "fzaninotto/faker", - "version": "v1.9.1", + "name": "fakerphp/faker", + "version": "v1.19.0", "source": { "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "d7f08a622b3346766325488aa32ddc93ccdecc75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/d7f08a622b3346766325488aa32ddc93ccdecc75", + "reference": "d7f08a622b3346766325488aa32ddc93ccdecc75", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.1 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" + "symfony/phpunit-bridge": "^4.4 || ^5.2" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-main": "v1.19-dev" } }, "autoload": { @@ -145,87 +214,94 @@ "faker", "fixtures" ], - "time": "2019-12-12T13:22:17+00:00" + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.19.0" + }, + "time": "2022-02-02T17:38:57+00:00" }, { - "name": "hautelook/phpass", - "version": "0.3.5", + "name": "illuminate/collections", + "version": "v9.2.0", "source": { "type": "git", - "url": "https://github.com/hautelook/phpass.git", - "reference": "b4cbd9b67ed3ef5672ec79d8e0c46d24bd844abd" + "url": "https://github.com/illuminate/collections.git", + "reference": "3b274e3bb842c14bc2fe3431061f884b475b51cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hautelook/phpass/zipball/b4cbd9b67ed3ef5672ec79d8e0c46d24bd844abd", - "reference": "b4cbd9b67ed3ef5672ec79d8e0c46d24bd844abd", + "url": "https://api.github.com/repos/illuminate/collections/zipball/3b274e3bb842c14bc2fe3431061f884b475b51cc", + "reference": "3b274e3bb842c14bc2fe3431061f884b475b51cc", "shasum": "" }, "require": { - "php": ">=5.3.3" + "illuminate/conditionable": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "php": "^8.0.2" + }, + "suggest": { + "symfony/var-dumper": "Required to use the dump method (^6.0)." }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.x-dev" + } + }, "autoload": { - "psr-0": { - "Hautelook": "src/" + "files": [ + "helpers.php" + ], + "psr-4": { + "Illuminate\\Support\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Public Domain" + "MIT" ], "authors": [ { - "name": "Solar Designer", - "email": "solar@openwall.com", - "homepage": "http://openwall.com/phpass/" + "name": "Taylor Otwell", + "email": "taylor@laravel.com" } ], - "description": "Portable PHP password hashing framework", - "homepage": "http://github.com/hautelook/phpass/", - "keywords": [ - "blowfish", - "crypt", - "password", - "security" - ], - "time": "2012-08-31T00:00:00+00:00" + "description": "The Illuminate Collections package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-22T15:05:08+00:00" }, { - "name": "illuminate/collections", - "version": "v8.10.0", + "name": "illuminate/conditionable", + "version": "v9.2.0", "source": { "type": "git", - "url": "https://github.com/illuminate/collections.git", - "reference": "4189cfde0b935b488e7f9b87f36bbef996da42a1" + "url": "https://github.com/illuminate/conditionable.git", + "reference": "238b6e16190bffcc168770ffda96c238037739b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/4189cfde0b935b488e7f9b87f36bbef996da42a1", - "reference": "4189cfde0b935b488e7f9b87f36bbef996da42a1", + "url": "https://api.github.com/repos/illuminate/conditionable/zipball/238b6e16190bffcc168770ffda96c238037739b6", + "reference": "238b6e16190bffcc168770ffda96c238037739b6", "shasum": "" }, "require": { - "illuminate/contracts": "^8.0", - "illuminate/macroable": "^8.0", - "php": "^7.3" - }, - "suggest": { - "symfony/var-dumper": "Required to use the dump method (^5.1)." + "php": "^8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { "Illuminate\\Support\\": "" - }, - "files": [ - "helpers.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -237,36 +313,40 @@ "email": "taylor@laravel.com" } ], - "description": "The Illuminate Collections package.", + "description": "The Illuminate Conditionable package.", "homepage": "https://laravel.com", - "time": "2020-10-12T14:24:15+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-18T16:33:16+00:00" }, { "name": "illuminate/container", - "version": "v8.10.0", + "version": "v9.2.0", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", - "reference": "e89a1572cd5dd193f4d6a4a1c8baeeb1e0bfac5f" + "reference": "b249d566e8f93b9255d84f4c06a8cc7db24c900c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/e89a1572cd5dd193f4d6a4a1c8baeeb1e0bfac5f", - "reference": "e89a1572cd5dd193f4d6a4a1c8baeeb1e0bfac5f", + "url": "https://api.github.com/repos/illuminate/container/zipball/b249d566e8f93b9255d84f4c06a8cc7db24c900c", + "reference": "b249d566e8f93b9255d84f4c06a8cc7db24c900c", "shasum": "" }, "require": { - "illuminate/contracts": "^8.0", - "php": "^7.3", - "psr/container": "^1.0" + "illuminate/contracts": "^9.0", + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1" }, "provide": { - "psr/container-implementation": "1.0" + "psr/container-implementation": "1.1|2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { @@ -286,31 +366,35 @@ ], "description": "The Illuminate Container package.", "homepage": "https://laravel.com", - "time": "2020-08-13T14:34:00+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-05T18:02:43+00:00" }, { "name": "illuminate/contracts", - "version": "v8.10.0", + "version": "v9.2.0", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "6e04ca4122ee72ef272875bf3f32d83bd68d4827" + "reference": "bf4b3c254c49d28157645d01e4883b5951b1e1d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/6e04ca4122ee72ef272875bf3f32d83bd68d4827", - "reference": "6e04ca4122ee72ef272875bf3f32d83bd68d4827", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/bf4b3c254c49d28157645d01e4883b5951b1e1d0", + "reference": "bf4b3c254c49d28157645d01e4883b5951b1e1d0", "shasum": "" }, "require": { - "php": "^7.3", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0" + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/simple-cache": "^1.0|^2.0|^3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { @@ -330,45 +414,49 @@ ], "description": "The Illuminate Contracts package.", "homepage": "https://laravel.com", - "time": "2020-10-13T11:07:30+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-22T14:45:39+00:00" }, { "name": "illuminate/database", - "version": "v8.10.0", + "version": "v9.2.0", "source": { "type": "git", "url": "https://github.com/illuminate/database.git", - "reference": "bdcf69e2604bfed8aa44b47041271997451d7d5c" + "reference": "5e283cf9fea4f00f9fc945dd5b22aae174dcf100" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/bdcf69e2604bfed8aa44b47041271997451d7d5c", - "reference": "bdcf69e2604bfed8aa44b47041271997451d7d5c", + "url": "https://api.github.com/repos/illuminate/database/zipball/5e283cf9fea4f00f9fc945dd5b22aae174dcf100", + "reference": "5e283cf9fea4f00f9fc945dd5b22aae174dcf100", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/collections": "^8.0", - "illuminate/container": "^8.0", - "illuminate/contracts": "^8.0", - "illuminate/macroable": "^8.0", - "illuminate/support": "^8.0", - "php": "^7.3", - "symfony/console": "^5.1" + "illuminate/collections": "^9.0", + "illuminate/container": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2", + "symfony/console": "^6.0" }, "suggest": { - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).", - "illuminate/console": "Required to use the database commands (^8.0).", - "illuminate/events": "Required to use the observers with Eloquent (^8.0).", - "illuminate/filesystem": "Required to use the migrations (^8.0).", - "illuminate/pagination": "Required to paginate the result set (^8.0).", - "symfony/finder": "Required to use Eloquent model factories (^5.1)." + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "illuminate/console": "Required to use the database commands (^9.0).", + "illuminate/events": "Required to use the observers with Eloquent (^9.0).", + "illuminate/filesystem": "Required to use the migrations (^9.0).", + "illuminate/pagination": "Required to paginate the result set (^9.0).", + "symfony/finder": "Required to use Eloquent model factories (^6.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { @@ -394,45 +482,49 @@ "orm", "sql" ], - "time": "2020-10-12T19:28:15+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-22T15:30:23+00:00" }, { "name": "illuminate/filesystem", - "version": "v8.10.0", + "version": "v9.2.0", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "a3b11b08a12abbedf2bd8904c211e17a6dd6b3ee" + "reference": "0af478fbb817c60a9f89d48a93b9f739de2410b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/a3b11b08a12abbedf2bd8904c211e17a6dd6b3ee", - "reference": "a3b11b08a12abbedf2bd8904c211e17a6dd6b3ee", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/0af478fbb817c60a9f89d48a93b9f739de2410b7", + "reference": "0af478fbb817c60a9f89d48a93b9f739de2410b7", "shasum": "" }, "require": { - "illuminate/collections": "^8.0", - "illuminate/contracts": "^8.0", - "illuminate/macroable": "^8.0", - "illuminate/support": "^8.0", - "php": "^7.3", - "symfony/finder": "^5.1" + "illuminate/collections": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2", + "symfony/finder": "^6.0" }, "suggest": { "ext-ftp": "Required to use the Flysystem FTP driver.", "illuminate/http": "Required for handling uploaded files (^7.0).", - "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.0.34).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "league/flysystem": "Required to use the Flysystem local driver (^3.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1).", - "symfony/mime": "Required to enable support for guessing extensions (^5.1)." + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", + "symfony/mime": "Required to enable support for guessing extensions (^6.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { @@ -452,29 +544,33 @@ ], "description": "The Illuminate Filesystem package.", "homepage": "https://laravel.com", - "time": "2020-10-08T18:08:58+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-22T14:57:54+00:00" }, { "name": "illuminate/macroable", - "version": "v8.10.0", + "version": "v9.2.0", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", - "reference": "561442f134eaf4d3f710bf523ecfe1537fa53f64" + "reference": "25a2c6dac2b7541ecbadef952702e84ae15f5354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/macroable/zipball/561442f134eaf4d3f710bf523ecfe1537fa53f64", - "reference": "561442f134eaf4d3f710bf523ecfe1537fa53f64", + "url": "https://api.github.com/repos/illuminate/macroable/zipball/25a2c6dac2b7541ecbadef952702e84ae15f5354", + "reference": "25a2c6dac2b7541ecbadef952702e84ae15f5354", "shasum": "" }, "require": { - "php": "^7.3" + "php": "^8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { @@ -494,56 +590,62 @@ ], "description": "The Illuminate Macroable package.", "homepage": "https://laravel.com", - "time": "2020-06-08T14:13:16+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-01T14:44:21+00:00" }, { "name": "illuminate/support", - "version": "v8.10.0", + "version": "v9.2.0", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "ebdebedc68722938f23fa46f329fb6840ab9d2ea" + "reference": "ba4eda84d39039fffef3ae4d7ad9398b2330cf86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/ebdebedc68722938f23fa46f329fb6840ab9d2ea", - "reference": "ebdebedc68722938f23fa46f329fb6840ab9d2ea", + "url": "https://api.github.com/repos/illuminate/support/zipball/ba4eda84d39039fffef3ae4d7ad9398b2330cf86", + "reference": "ba4eda84d39039fffef3ae4d7ad9398b2330cf86", "shasum": "" }, "require": { - "doctrine/inflector": "^1.4|^2.0", + "doctrine/inflector": "^2.0", "ext-json": "*", "ext-mbstring": "*", - "illuminate/collections": "^8.0", - "illuminate/contracts": "^8.0", - "illuminate/macroable": "^8.0", - "nesbot/carbon": "^2.17", - "php": "^7.3", - "voku/portable-ascii": "^1.4.8" + "illuminate/collections": "^9.0", + "illuminate/conditionable": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "nesbot/carbon": "^2.53.1", + "php": "^8.0.2", + "voku/portable-ascii": "^2.0" }, "conflict": { "tightenco/collect": "<5.5.33" }, "suggest": { - "illuminate/filesystem": "Required to use the composer class (^8.0).", - "ramsey/uuid": "Required to use Str::uuid() (^4.0).", - "symfony/process": "Required to use the composer class (^5.1).", - "symfony/var-dumper": "Required to use the dd function (^5.1).", - "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)." + "illuminate/filesystem": "Required to use the composer class (^9.0).", + "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).", + "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).", + "symfony/process": "Required to use the composer class (^6.0).", + "symfony/var-dumper": "Required to use the dd function (^6.0).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - }, "files": [ "helpers.php" - ] + ], + "psr-4": { + "Illuminate\\Support\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -557,39 +659,43 @@ ], "description": "The Illuminate Support package.", "homepage": "https://laravel.com", - "time": "2020-10-12T17:58:15+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-22T14:46:48+00:00" }, { "name": "jgrossi/corcel", - "version": "v5.0.0", + "version": "v6.0.0", "source": { "type": "git", "url": "https://github.com/corcel/corcel.git", - "reference": "9b2fdf15dda9e959d8819e1b6c45077ce2a981f7" + "reference": "dbdb3e2fc8fd1950b9da5180e46c67a43b8aba96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/corcel/corcel/zipball/9b2fdf15dda9e959d8819e1b6c45077ce2a981f7", - "reference": "9b2fdf15dda9e959d8819e1b6c45077ce2a981f7", + "url": "https://api.github.com/repos/corcel/corcel/zipball/dbdb3e2fc8fd1950b9da5180e46c67a43b8aba96", + "reference": "dbdb3e2fc8fd1950b9da5180e46c67a43b8aba96", "shasum": "" }, "require": { - "fzaninotto/faker": "^1.9", - "hautelook/phpass": "0.3.*", - "illuminate/database": "^8.0", - "illuminate/filesystem": "^8.0", - "illuminate/support": "^8.0", - "php": ">=7.3", + "bordoni/phpass": "0.3.*", + "fakerphp/faker": "^1.19", + "illuminate/database": "^9.0", + "illuminate/filesystem": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2", "thunderer/shortcode": "^0.7.3" }, "replace": { "juniorgrossi/corcel": "self.version" }, "require-dev": { - "dms/phpunit-arraysubset-asserts": "^0.1.0", + "dms/phpunit-arraysubset-asserts": "^0.3", "laravel/legacy-factories": "^1.0", - "mockery/mockery": "^1.0", - "orchestra/testbench": "^6.0", + "mockery/mockery": "^1.4.4", + "orchestra/testbench": "^7.0", "symfony/thanks": "^1.0" }, "type": "library", @@ -619,36 +725,42 @@ ], "description": "Use WordPress backend with Laravel or any PHP framework", "homepage": "http://github.com/corcel/corcel", - "time": "2020-10-09T20:42:19+00:00" + "support": { + "issues": "https://github.com/corcel/corcel/issues", + "source": "https://github.com/corcel/corcel/tree/v6.0.0" + }, + "time": "2022-02-13T21:33:57+00:00" }, { "name": "nesbot/carbon", - "version": "2.41.3", + "version": "2.57.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "e148788eeae9b9b7b87996520358b86faad37b52" + "reference": "4a54375c21eea4811dbd1149fe6b246517554e78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e148788eeae9b9b7b87996520358b86faad37b52", - "reference": "e148788eeae9b9b7b87996520358b86faad37b52", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4a54375c21eea4811dbd1149fe6b246517554e78", + "reference": "4a54375c21eea4811dbd1149fe6b246517554e78", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/translation": "^3.4 || ^4.0 || ^5.0" + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { + "doctrine/dbal": "^2.0 || ^3.0", "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.35", - "phpunit/phpunit": "^7.5 || ^8.0", + "phpstan/phpstan": "^0.12.54 || ^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.14", "squizlabs/php_codesniffer": "^3.4" }, "bin": [ @@ -657,8 +769,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev", - "dev-3.x": "3.x-dev" + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" }, "laravel": { "providers": [ @@ -684,20 +796,25 @@ { "name": "Brian Nesbitt", "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" + "homepage": "https://markido.com" }, { "name": "kylekatarnls", - "homepage": "http://github.com/kylekatarnls" + "homepage": "https://github.com/kylekatarnls" } ], "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "http://carbon.nesbot.com", + "homepage": "https://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, "funding": [ { "url": "https://opencollective.com/Carbon", @@ -708,29 +825,29 @@ "type": "tidelift" } ], - "time": "2020-10-12T20:36:09+00:00" + "time": "2022-02-13T18:13:33+00:00" }, { "name": "psr/container", - "version": "1.0.0", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -745,7 +862,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", @@ -757,29 +874,33 @@ "container-interop", "psr" ], - "time": "2017-02-14T16:28:37+00:00" + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/simple-cache", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -794,7 +915,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", @@ -805,48 +926,49 @@ "psr-16", "simple-cache" ], - "time": "2017-10-23T01:57:42+00:00" + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" }, { "name": "symfony/console", - "version": "v5.1.7", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8" + "reference": "22e8efd019c3270c4f79376234a3f8752cd25490" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", - "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", + "url": "https://api.github.com/repos/symfony/console/zipball/22e8efd019c3270c4f79376234a3f8752cd25490", + "reference": "22e8efd019c3270c4f79376234a3f8752cd25490", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.4|^6.0" }, "conflict": { - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" }, "suggest": { "psr/log": "For using the console logger", @@ -855,11 +977,6 @@ "symfony/process": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Console\\": "" @@ -882,8 +999,17 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.0.3" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -898,37 +1024,38 @@ "type": "tidelift" } ], - "time": "2020-10-07T15:23:00+00:00" + "time": "2022-01-26T17:23:29+00:00" }, { - "name": "symfony/finder", - "version": "v5.1.7", + "name": "symfony/deprecation-contracts", + "version": "v3.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8", - "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", + "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -937,16 +1064,19 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -961,44 +1091,32 @@ "type": "tidelift" } ], - "time": "2020-09-02T16:23:27+00:00" + "time": "2021-11-01T23:48:49+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.18.1", + "name": "symfony/finder", + "version": "v6.0.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "1c302646f6efc070cd46856e600e5e0684d6b454" + "url": "https://github.com/symfony/finder.git", + "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454", - "reference": "1c302646f6efc070cd46856e600e5e0684d6b454", + "url": "https://api.github.com/repos/symfony/finder/zipball/8661b74dbabc23223f38c9b99d3f8ade71170430", + "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" + "php": ">=8.0.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.18-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "Symfony\\Component\\Finder\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1007,22 +1125,19 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], + "support": { + "source": "https://github.com/symfony/finder/tree/v6.0.3" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1037,32 +1152,35 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2022-01-26T17:23:29+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.18.1", + "name": "symfony/polyfill-ctype", + "version": "v1.24.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "30885182c981ab175d4d034db0f6f469898070ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b740103edbdcc39602239ee8860f0f45a8eb9aa5", - "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", + "reference": "30885182c981ab175d4d034db0f6f469898070ab", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" }, "suggest": { - "ext-intl": "For best performance" + "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1070,12 +1188,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1083,24 +1201,25 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "grapheme", - "intl", + "ctype", "polyfill", - "portable", - "shim" + "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1115,24 +1234,24 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2021-10-20T20:35:02+00:00" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.18.1", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.24.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", - "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance" @@ -1140,7 +1259,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1148,15 +1267,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, "files": [ "bootstrap.php" ], - "classmap": [ - "Resources/stubs" - ] + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1172,16 +1288,19 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "grapheme", "intl", - "normalizer", "polyfill", "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1196,32 +1315,32 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2021-11-23T21:10:46+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.18.1", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.24.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a", - "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1229,11 +1348,14 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1250,15 +1372,19 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "intl", + "normalizer", "polyfill", "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1273,29 +1399,35 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { - "name": "symfony/polyfill-php73", - "version": "v1.18.1", + "name": "symfony/polyfill-mbstring", + "version": "v1.24.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca", - "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1303,15 +1435,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, "files": [ "bootstrap.php" ], - "classmap": [ - "Resources/stubs" - ] + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1327,14 +1456,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "mbstring", "polyfill", "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1349,29 +1482,29 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2021-11-30T18:21:41+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.18.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981" + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981", - "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9", + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9", "shasum": "" }, "require": { - "php": ">=7.0.8" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1379,12 +1512,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -1415,6 +1548,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1429,25 +1565,28 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2021-09-13T13:58:33+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.2.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/36715ebf9fb9db73db0cb24263c79077c6fe8603", + "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.0" + "php": ">=8.0.2", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" }, "suggest": { "symfony/service-implementation": "" @@ -1455,7 +1594,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -1491,6 +1630,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.0.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1505,49 +1647,46 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-11-04T17:53:12+00:00" }, { "name": "symfony/string", - "version": "v5.1.7", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e" + "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", - "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", + "url": "https://api.github.com/repos/symfony/string/zipball/522144f0c4c004c80d56fa47e40e17028e2eefc2", + "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.0" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, "files": [ "Resources/functions.php" ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, "exclude-from-classmap": [ "/Tests/" ] @@ -1566,7 +1705,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony String component", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", "homepage": "https://symfony.com", "keywords": [ "grapheme", @@ -1576,6 +1715,9 @@ "utf-8", "utf8" ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.0.3" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1590,48 +1732,50 @@ "type": "tidelift" } ], - "time": "2020-09-15T12:23:47+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/translation", - "version": "v5.1.7", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b" + "reference": "71bb15335798f8c4da110911bcf2d2fead7a430d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b", - "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b", + "url": "https://api.github.com/repos/symfony/translation/zipball/71bb15335798f8c4da110911bcf2d2fead7a430d", + "reference": "71bb15335798f8c4da110911bcf2d2fead7a430d", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/translation-contracts": "^2" + "symfony/translation-contracts": "^2.3|^3.0" }, "conflict": { - "symfony/config": "<4.4", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" }, "provide": { - "symfony/translation-implementation": "2.0" + "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", + "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/intl": "^5.4|^6.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/yaml": "^5.4|^6.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -1639,12 +1783,10 @@ "symfony/yaml": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { "Symfony\\Component\\Translation\\": "" }, @@ -1666,8 +1808,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", + "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v6.0.3" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1682,24 +1827,24 @@ "type": "tidelift" } ], - "time": "2020-09-27T03:44:28+00:00" + "time": "2022-01-07T00:29:03+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.3.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + "reference": "1b6ea5a7442af5a12dba3dbd6d71034b5b234e77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/1b6ea5a7442af5a12dba3dbd6d71034b5b234e77", + "reference": "1b6ea5a7442af5a12dba3dbd6d71034b5b234e77", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=8.0.2" }, "suggest": { "symfony/translation-implementation": "" @@ -1707,7 +1852,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -1743,6 +1888,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.0.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1757,20 +1905,20 @@ "type": "tidelift" } ], - "time": "2020-09-28T13:05:58+00:00" + "time": "2021-09-07T12:43:40+00:00" }, { "name": "thunderer/shortcode", - "version": "v0.7.4", + "version": "v0.7.5", "source": { "type": "git", "url": "https://github.com/thunderer/Shortcode.git", - "reference": "79a219febd774ba1ee66a2992fee1145b4367561" + "reference": "a4fee30613bd46efb421f8305aff0466a3268a99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/79a219febd774ba1ee66a2992fee1145b4367561", - "reference": "79a219febd774ba1ee66a2992fee1145b4367561", + "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/a4fee30613bd46efb421f8305aff0466a3268a99", + "reference": "a4fee30613bd46efb421f8305aff0466a3268a99", "shasum": "" }, "require": { @@ -1809,27 +1957,31 @@ "parser", "shortcode" ], - "time": "2020-03-08T11:25:13+00:00" + "support": { + "issues": "https://github.com/thunderer/Shortcode/issues", + "source": "https://github.com/thunderer/Shortcode/tree/v0.7.5" + }, + "time": "2022-01-13T18:53:33+00:00" }, { "name": "voku/portable-ascii", - "version": "1.5.3", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "25bcbf01678930251fd572891447d9e318a6e2b8" + "reference": "9bd89e83cecdf8c37b64909454249eaed98b2c89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/25bcbf01678930251fd572891447d9e318a6e2b8", - "reference": "25bcbf01678930251fd572891447d9e318a6e2b8", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/9bd89e83cecdf8c37b64909454249eaed98b2c89", + "reference": "9bd89e83cecdf8c37b64909454249eaed98b2c89", "shasum": "" }, "require": { "php": ">=7.0.0" }, "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0" + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" }, "suggest": { "ext-intl": "Use Intl for transliterator_transliterate() support" @@ -1857,6 +2009,10 @@ "clean", "php" ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.0" + }, "funding": [ { "url": "https://www.paypal.me/moelleken", @@ -1879,42 +2035,37 @@ "type": "tidelift" } ], - "time": "2020-07-22T23:32:04+00:00" + "time": "2022-01-24T18:59:03+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "f350df0268e904597e3bd9c4685c53e0e333feea" + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea", - "reference": "f350df0268e904597e3bd9c4685c53e0e333feea", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", + "doctrine/coding-standard": "^8.0", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" @@ -1928,7 +2079,7 @@ { "name": "Marco Pivetta", "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "homepage": "https://ocramius.github.io/" } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", @@ -1937,6 +2088,10 @@ "constructor", "instantiate" ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1951,20 +2106,20 @@ "type": "tidelift" } ], - "time": "2020-05-29T17:27:14+00:00" + "time": "2020-11-10T18:47:58+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.10.1", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", "shasum": "" }, "require": { @@ -1980,12 +2135,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, "files": [ "src/DeepCopy/deep_copy.php" - ] + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1999,26 +2154,30 @@ "object", "object graph" ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", "type": "tidelift" } ], - "time": "2020-06-29T13:22:24+00:00" + "time": "2020-11-13T09:40:50+00:00" }, { "name": "nikic/php-parser", - "version": "v4.10.2", + "version": "v4.13.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "658f1be311a230e0907f5dfe0213742aff0596de" + "reference": "210577fe3cf7badcc5814d99455df46564f3c077" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de", - "reference": "658f1be311a230e0907f5dfe0213742aff0596de", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", + "reference": "210577fe3cf7badcc5814d99455df46564f3c077", "shasum": "" }, "require": { @@ -2057,20 +2216,24 @@ "parser", "php" ], - "time": "2020-09-26T10:30:38+00:00" + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2" + }, + "time": "2021-11-30T19:35:32+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { @@ -2113,20 +2276,24 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2020-06-27T14:33:11+00:00" + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", - "version": "3.0.2", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0" + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/c6bb6825def89e0a32220f88337f8ceaf1975fa0", - "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "shasum": "" }, "require": { @@ -2160,7 +2327,11 @@ } ], "description": "Library for handling version information and constraints", - "time": "2020-06-27T14:39:04+00:00" + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -2209,20 +2380,24 @@ "reflection", "static analysis" ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -2233,7 +2408,8 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -2261,20 +2437,24 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-09-03T19:13:55+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + }, + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.4.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/93ebd0014cab80c4ea9f5e297ea48672f1b87706", + "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706", "shasum": "" }, "require": { @@ -2282,7 +2462,8 @@ "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "*" + "ext-tokenizer": "*", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -2306,37 +2487,41 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-09-17T18:55:26+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.0" + }, + "time": "2022-01-04T19:58:01+00:00" }, { "name": "phpspec/prophecy", - "version": "1.12.1", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", - "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.1", + "php": "^7.2 || ~8.0, <8.2", "phpdocumentor/reflection-docblock": "^5.2", "sebastian/comparator": "^3.0 || ^4.0", "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^6.0", - "phpunit/phpunit": "^8.0 || ^9.0 <9.3" + "phpspec/phpspec": "^6.0 || ^7.0", + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -2369,34 +2554,38 @@ "spy", "stub" ], - "time": "2020-09-29T09:10:42+00:00" + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" + }, + "time": "2021-12-08T12:19:24+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.0", + "version": "9.2.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972" + "reference": "deac8540cb7bd40b2b8cfa679b76202834fd04e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/53a4b737e83be724efd2bc4e7b929b9a30c48972", - "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/deac8540cb7bd40b2b8cfa679b76202834fd04e8", + "reference": "deac8540cb7bd40b2b8cfa679b76202834fd04e8", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.8", + "nikic/php-parser": "^4.13.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", "sebastian/code-unit-reverse-lookup": "^2.0.2", "sebastian/complexity": "^2.0", "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0", + "sebastian/lines-of-code": "^1.0.3", "sebastian/version": "^3.0.1", "theseer/tokenizer": "^1.2.0" }, @@ -2436,26 +2625,30 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.13" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-10-02T03:37:32+00:00" + "time": "2022-02-23T17:02:38+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "3.0.5", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", - "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "shasum": "" }, "require": { @@ -2492,13 +2685,17 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:57:25+00:00" + "time": "2021-12-02T12:48:52+00:00" }, { "name": "phpunit/php-invoker", @@ -2551,6 +2748,10 @@ "keywords": [ "process" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2561,16 +2762,16 @@ }, { "name": "phpunit/php-text-template", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "18c887016e60e52477e54534956d7b47bc52cd84" + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/18c887016e60e52477e54534956d7b47bc52cd84", - "reference": "18c887016e60e52477e54534956d7b47bc52cd84", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "shasum": "" }, "require": { @@ -2606,26 +2807,30 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T06:03:05+00:00" + "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7" + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/c9ff14f493699e2f6adee9fd06a0245b276643b7", - "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { @@ -2661,26 +2866,30 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T06:00:25+00:00" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "9.4.1", + "version": "9.5.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1f09a12726593737e8a228ebb1c8647305d07c41" + "reference": "5ff8c545a50226c569310a35f4fa89d79f1ddfdc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1f09a12726593737e8a228ebb1c8647305d07c41", - "reference": "1f09a12726593737e8a228ebb1c8647305d07c41", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5ff8c545a50226c569310a35f4fa89d79f1ddfdc", + "reference": "5ff8c545a50226c569310a35f4fa89d79f1ddfdc", "shasum": "" }, "require": { @@ -2692,11 +2901,11 @@ "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.1", + "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", - "phpunit/php-code-coverage": "^9.2", + "phpunit/php-code-coverage": "^9.2.13", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.3", @@ -2710,7 +2919,7 @@ "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^2.3", + "sebastian/type": "^2.3.4", "sebastian/version": "^3.0.2" }, "require-dev": { @@ -2727,15 +2936,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.4-dev" + "dev-master": "9.5-dev" } }, "autoload": { - "classmap": [ - "src/" - ], "files": [ "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2756,9 +2965,13 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.16" + }, "funding": [ { - "url": "https://phpunit.de/donate.html", + "url": "https://phpunit.de/sponsors.html", "type": "custom" }, { @@ -2766,7 +2979,7 @@ "type": "github" } ], - "time": "2020-10-11T07:41:19+00:00" + "time": "2022-02-23T17:10:58+00:00" }, { "name": "sebastian/cli-parser", @@ -2812,6 +3025,10 @@ ], "description": "Library for parsing CLI options", "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2822,16 +3039,16 @@ }, { "name": "sebastian/code-unit", - "version": "1.0.7", + "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab" + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/59236be62b1bb9919e6d7f60b0b832dc05cef9ab", - "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", "shasum": "" }, "require": { @@ -2864,13 +3081,17 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-10-02T14:47:54+00:00" + "time": "2020-10-26T13:08:54+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -2915,6 +3136,10 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2925,16 +3150,16 @@ }, { "name": "sebastian/comparator", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "7a8ff306445707539c1a6397372a982a1ec55120" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7a8ff306445707539c1a6397372a982a1ec55120", - "reference": "7a8ff306445707539c1a6397372a982a1ec55120", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { @@ -2985,26 +3210,30 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-30T06:47:25+00:00" + "time": "2020-10-26T15:49:45+00:00" }, { "name": "sebastian/complexity", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff" + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ba8cc2da0c0bfbc813d03b56406734030c7f1eff", - "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { @@ -3038,26 +3267,30 @@ ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T06:05:03+00:00" + "time": "2020-10-26T15:52:27+00:00" }, { "name": "sebastian/diff", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092" + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ffc949a1a2aae270ea064453d7535b82e4c32092", - "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", "shasum": "" }, "require": { @@ -3100,13 +3333,17 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:32:55+00:00" + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", @@ -3159,6 +3396,10 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3169,16 +3410,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", "shasum": "" }, "require": { @@ -3227,31 +3468,35 @@ } ], "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:24:23+00:00" + "time": "2021-11-11T14:18:36+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.1", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7" + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ea779cb749a478b22a2564ac41cd7bda79c78dc7", - "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", "shasum": "" }, "require": { @@ -3292,26 +3537,30 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:54:06+00:00" + "time": "2022-02-14T08:28:10+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.1", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54" + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/6514b8f21906b8b46f520d1fbd17a4523fa59a54", - "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { @@ -3345,26 +3594,30 @@ ], "description": "Library for counting the lines of code in PHP source code", "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T06:07:27+00:00" + "time": "2020-11-28T06:42:11+00:00" }, { "name": "sebastian/object-enumerator", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "f6f5957013d84725427d361507e13513702888a4" + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f6f5957013d84725427d361507e13513702888a4", - "reference": "f6f5957013d84725427d361507e13513702888a4", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", "shasum": "" }, "require": { @@ -3398,26 +3651,30 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:55:06+00:00" + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", - "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { @@ -3449,26 +3706,30 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:56:16+00:00" + "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", - "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { @@ -3508,13 +3769,17 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:17:32+00:00" + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", @@ -3559,6 +3824,10 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3569,16 +3838,16 @@ }, { "name": "sebastian/type", - "version": "2.3.0", + "version": "2.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909" + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fa592377f3923946cb90bf1f6a71ba2e5f229909", - "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", "shasum": "" }, "require": { @@ -3611,13 +3880,17 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-10-06T08:41:03+00:00" + "time": "2021-06-15T12:49:02+00:00" }, { "name": "sebastian/version", @@ -3660,6 +3933,10 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3670,16 +3947,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { @@ -3706,40 +3983,49 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, "funding": [ { "url": "https://github.com/theseer", "type": "github" } ], - "time": "2020-07-12T23:59:07+00:00" + "time": "2021-07-28T10:34:58+00:00" }, { "name": "webmozart/assert", - "version": "1.9.1", + "version": "1.10.0", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", + "php": "^7.2 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -3761,7 +4047,11 @@ "check", "validate" ], - "time": "2020-07-08T17:02:28+00:00" + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, + "time": "2021-03-09T10:59:23+00:00" } ], "aliases": [], @@ -3773,5 +4063,5 @@ "php": ">=7.2" }, "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.1.0" } From a283540ca2ee7fddc7bb837a9703542a37277b27 Mon Sep 17 00:00:00 2001 From: Kan Ishigami Date: Sun, 27 Feb 2022 22:43:56 -0300 Subject: [PATCH 12/15] Bump packages versions to Laravel 9 --- .travis.yml | 2 ++ readme.md | 1 + 2 files changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index b31ec50..0a83fce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,8 @@ matrix: env: CORCEL='^4.0' - php: 7.4 env: CORCEL='^5.0' + - php: 8.0.2 + env: CORCEL='^6.0' dist: trusty diff --git a/readme.md b/readme.md index 1efe74e..e84fa19 100644 --- a/readme.md +++ b/readme.md @@ -25,6 +25,7 @@ For more information about how Corcel works please visit [the repository](http:/ :----------|:---------|:---------- `^4.0` | 7.x | `>=7.2` `^5.0` | 8.x | `>=7.3` + `^6.0` | 8.x | `>=8.0.2` # Installation From 188d5ef7a7bd434b36cd4519cbd2325c56cc1498 Mon Sep 17 00:00:00 2001 From: Kan Ishigami Date: Sun, 27 Feb 2022 22:54:13 -0300 Subject: [PATCH 13/15] Update phpunit.xml to new schema --- .phpunit.result.cache | 2 +- phpunit.xml | 42 +- phpunit.xml.bak | 27 ++ tests/config/database.sql | 896 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 941 insertions(+), 26 deletions(-) create mode 100644 phpunit.xml.bak create mode 100644 tests/config/database.sql diff --git a/.phpunit.result.cache b/.phpunit.result.cache index 66e8e47..1c8133f 100644 --- a/.phpunit.result.cache +++ b/.phpunit.result.cache @@ -1 +1 @@ -{"version":1,"defects":{"BasicFieldsTest::testTextFieldValue":4,"BasicFieldsTest::testTextareaFieldValue":4,"BasicFieldsTest::testNumberFieldValue":4,"BasicFieldsTest::testEmailFieldValue":4,"BasicFieldsTest::testUrlFieldValue":4,"BasicFieldsTest::testPasswordFieldValue":4,"ChoicesFieldsTest::testSelectField":4,"ChoicesFieldsTest::testSelectMultipleField":4,"ChoicesFieldsTest::testCheckboxField":4,"ChoicesFieldsTest::testRadioField":4,"ChoicesFieldsTest::testTrueFalseField":4,"ContentFieldsTest::testEditorFieldValue":4,"ContentFieldsTest::testOembedFieldValue":4,"ContentFieldsTest::testImageFieldValue":4,"ContentFieldsTest::testFileFieldValue":4,"ContentFieldsTest::testGalleryFieldValue":4,"CorcelIntegrationTest::testIfCorcelIntegrationIsWorking":4,"CorcelIntegrationTest::testUsageOfHelperFunctions":4,"CorcelIntegrationTest::testFunctionHelperWithSnakeCaseFieldType":4,"EmptyBasicFieldsTest::testTextFieldValue":4,"EmptyBasicFieldsTest::testTextareaFieldValue":4,"EmptyBasicFieldsTest::testNumberFieldValue":4,"EmptyBasicFieldsTest::testEmailFieldValue":4,"EmptyBasicFieldsTest::testUrlFieldValue":4,"EmptyBasicFieldsTest::testPasswordFieldValue":4,"FieldFactoryTest::testInvalidFieldName":4,"FieldFactoryTest::testTextField":4,"FieldFactoryTest::testTextareaField":4,"FieldFactoryTest::testNumberField":4,"FieldFactoryTest::testEmailField":4,"FieldFactoryTest::testUrlField":4,"FieldFactoryTest::testPasswordField":4,"FieldFactoryTest::testEditorField":4,"FieldFactoryTest::testOembedField":4,"FieldFactoryTest::testImageField":4,"JqueryFieldsTests::testGoogleMapField":4,"JqueryFieldsTests::testDatePickerField":4,"JqueryFieldsTests::testDateTimePickerField":4,"JqueryFieldsTests::testTimePickerField":4,"JqueryFieldsTests::testColorPickerField":4,"LayoutFieldsTest::testRepeaterField":4,"LayoutFieldsTest::testComplexRepeaterField":4,"LayoutFieldsTest::testFlexibleContentField":4,"RelationalFieldsTests::testPostObjectField":4,"RelationalFieldsTests::testPageLinkField":4,"RelationalFieldsTests::testRelationshipField":4,"RelationalFieldsTests::testTaxonomyField":4,"RelationalFieldsTests::testUserField":4},"times":{"BasicFieldsTest::testTextFieldValue":0.241,"BasicFieldsTest::testTextareaFieldValue":0.001,"BasicFieldsTest::testNumberFieldValue":0.001,"BasicFieldsTest::testEmailFieldValue":0.001,"BasicFieldsTest::testUrlFieldValue":0.001,"BasicFieldsTest::testPasswordFieldValue":0.001,"ChoicesFieldsTest::testSelectField":0.001,"ChoicesFieldsTest::testSelectMultipleField":0.001,"ChoicesFieldsTest::testCheckboxField":0.001,"ChoicesFieldsTest::testRadioField":0.001,"ChoicesFieldsTest::testTrueFalseField":0.001,"ContentFieldsTest::testEditorFieldValue":0.001,"ContentFieldsTest::testOembedFieldValue":0.001,"ContentFieldsTest::testImageFieldValue":0.001,"ContentFieldsTest::testFileFieldValue":0.001,"ContentFieldsTest::testGalleryFieldValue":0.001,"CorcelIntegrationTest::testIfCorcelIntegrationIsWorking":0.001,"CorcelIntegrationTest::testUsageOfHelperFunctions":0.001,"CorcelIntegrationTest::testFunctionHelperWithSnakeCaseFieldType":0.001,"EmptyBasicFieldsTest::testTextFieldValue":0.001,"EmptyBasicFieldsTest::testTextareaFieldValue":0.001,"EmptyBasicFieldsTest::testNumberFieldValue":0.001,"EmptyBasicFieldsTest::testEmailFieldValue":0.009,"EmptyBasicFieldsTest::testUrlFieldValue":0.002,"EmptyBasicFieldsTest::testPasswordFieldValue":0.001,"FieldFactoryTest::testInvalidFieldName":0.002,"FieldFactoryTest::testTextField":0.001,"FieldFactoryTest::testTextareaField":0.001,"FieldFactoryTest::testNumberField":0.001,"FieldFactoryTest::testEmailField":0.001,"FieldFactoryTest::testUrlField":0.001,"FieldFactoryTest::testPasswordField":0.001,"FieldFactoryTest::testEditorField":0.001,"FieldFactoryTest::testOembedField":0,"FieldFactoryTest::testImageField":0,"JqueryFieldsTests::testGoogleMapField":0.001,"JqueryFieldsTests::testDatePickerField":0,"JqueryFieldsTests::testDateTimePickerField":0,"JqueryFieldsTests::testTimePickerField":0,"JqueryFieldsTests::testColorPickerField":0.001,"LayoutFieldsTest::testRepeaterField":0.001,"LayoutFieldsTest::testComplexRepeaterField":0.001,"LayoutFieldsTest::testFlexibleContentField":0.001,"RelationalFieldsTests::testPostObjectField":0.001,"RelationalFieldsTests::testPageLinkField":0.001,"RelationalFieldsTests::testRelationshipField":0.001,"RelationalFieldsTests::testTaxonomyField":0,"RelationalFieldsTests::testUserField":0}} \ No newline at end of file +{"version":1,"defects":{"BasicFieldsTest::testTextFieldValue":4,"BasicFieldsTest::testTextareaFieldValue":4,"BasicFieldsTest::testNumberFieldValue":4,"BasicFieldsTest::testEmailFieldValue":4,"BasicFieldsTest::testUrlFieldValue":4,"BasicFieldsTest::testPasswordFieldValue":4,"ChoicesFieldsTest::testSelectField":4,"ChoicesFieldsTest::testSelectMultipleField":4,"ChoicesFieldsTest::testCheckboxField":4,"ChoicesFieldsTest::testRadioField":4,"ChoicesFieldsTest::testTrueFalseField":4,"ContentFieldsTest::testEditorFieldValue":4,"ContentFieldsTest::testOembedFieldValue":4,"ContentFieldsTest::testImageFieldValue":4,"ContentFieldsTest::testFileFieldValue":4,"ContentFieldsTest::testGalleryFieldValue":4,"CorcelIntegrationTest::testIfCorcelIntegrationIsWorking":4,"CorcelIntegrationTest::testUsageOfHelperFunctions":4,"CorcelIntegrationTest::testFunctionHelperWithSnakeCaseFieldType":4,"EmptyBasicFieldsTest::testTextFieldValue":4,"EmptyBasicFieldsTest::testTextareaFieldValue":4,"EmptyBasicFieldsTest::testNumberFieldValue":4,"EmptyBasicFieldsTest::testEmailFieldValue":4,"EmptyBasicFieldsTest::testUrlFieldValue":4,"EmptyBasicFieldsTest::testPasswordFieldValue":4,"FieldFactoryTest::testInvalidFieldName":4,"FieldFactoryTest::testTextField":4,"FieldFactoryTest::testTextareaField":4,"FieldFactoryTest::testNumberField":4,"FieldFactoryTest::testEmailField":4,"FieldFactoryTest::testUrlField":4,"FieldFactoryTest::testPasswordField":4,"FieldFactoryTest::testEditorField":4,"FieldFactoryTest::testOembedField":4,"FieldFactoryTest::testImageField":4,"JqueryFieldsTests::testGoogleMapField":1,"JqueryFieldsTests::testDatePickerField":4,"JqueryFieldsTests::testDateTimePickerField":4,"JqueryFieldsTests::testTimePickerField":4,"JqueryFieldsTests::testColorPickerField":4,"LayoutFieldsTest::testRepeaterField":4,"LayoutFieldsTest::testComplexRepeaterField":4,"LayoutFieldsTest::testFlexibleContentField":4,"RelationalFieldsTests::testPostObjectField":4,"RelationalFieldsTests::testPageLinkField":4,"RelationalFieldsTests::testRelationshipField":4,"RelationalFieldsTests::testTaxonomyField":4,"RelationalFieldsTests::testUserField":4},"times":{"BasicFieldsTest::testTextFieldValue":0.08,"BasicFieldsTest::testTextareaFieldValue":0.002,"BasicFieldsTest::testNumberFieldValue":0.001,"BasicFieldsTest::testEmailFieldValue":0.001,"BasicFieldsTest::testUrlFieldValue":0.001,"BasicFieldsTest::testPasswordFieldValue":0.001,"ChoicesFieldsTest::testSelectField":0.001,"ChoicesFieldsTest::testSelectMultipleField":0.001,"ChoicesFieldsTest::testCheckboxField":0.001,"ChoicesFieldsTest::testRadioField":0.001,"ChoicesFieldsTest::testTrueFalseField":0.002,"ContentFieldsTest::testEditorFieldValue":0.001,"ContentFieldsTest::testOembedFieldValue":0.001,"ContentFieldsTest::testImageFieldValue":0.004,"ContentFieldsTest::testFileFieldValue":0.003,"ContentFieldsTest::testGalleryFieldValue":0.004,"CorcelIntegrationTest::testIfCorcelIntegrationIsWorking":0.011,"CorcelIntegrationTest::testUsageOfHelperFunctions":0.002,"CorcelIntegrationTest::testFunctionHelperWithSnakeCaseFieldType":0.019,"EmptyBasicFieldsTest::testTextFieldValue":0.002,"EmptyBasicFieldsTest::testTextareaFieldValue":0.001,"EmptyBasicFieldsTest::testNumberFieldValue":0.001,"EmptyBasicFieldsTest::testEmailFieldValue":0.001,"EmptyBasicFieldsTest::testUrlFieldValue":0.001,"EmptyBasicFieldsTest::testPasswordFieldValue":0.001,"FieldFactoryTest::testInvalidFieldName":0.002,"FieldFactoryTest::testTextField":0.003,"FieldFactoryTest::testTextareaField":0.003,"FieldFactoryTest::testNumberField":0.003,"FieldFactoryTest::testEmailField":0.003,"FieldFactoryTest::testUrlField":0.002,"FieldFactoryTest::testPasswordField":0.002,"FieldFactoryTest::testEditorField":0.002,"FieldFactoryTest::testOembedField":0.002,"FieldFactoryTest::testImageField":0.003,"JqueryFieldsTests::testGoogleMapField":0.002,"JqueryFieldsTests::testDatePickerField":0.001,"JqueryFieldsTests::testDateTimePickerField":0.001,"JqueryFieldsTests::testTimePickerField":0.001,"JqueryFieldsTests::testColorPickerField":0.001,"LayoutFieldsTest::testRepeaterField":0.005,"LayoutFieldsTest::testComplexRepeaterField":0.011,"LayoutFieldsTest::testFlexibleContentField":0.005,"RelationalFieldsTests::testPostObjectField":0.001,"RelationalFieldsTests::testPageLinkField":0.002,"RelationalFieldsTests::testRelationshipField":0.001,"RelationalFieldsTests::testTaxonomyField":0.002,"RelationalFieldsTests::testUserField":0.001}} \ No newline at end of file diff --git a/phpunit.xml b/phpunit.xml index d72d558..9da4317 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,27 +1,19 @@ - - - - ./tests/ - - - - - app/ - - - - - - - - + + + + app/ + + + + + ./tests/ + + + + + + + + diff --git a/phpunit.xml.bak b/phpunit.xml.bak new file mode 100644 index 0000000..d72d558 --- /dev/null +++ b/phpunit.xml.bak @@ -0,0 +1,27 @@ + + + + + ./tests/ + + + + + app/ + + + + + + + + + diff --git a/tests/config/database.sql b/tests/config/database.sql new file mode 100644 index 0000000..3616119 --- /dev/null +++ b/tests/config/database.sql @@ -0,0 +1,896 @@ +# ************************************************************ +# Sequel Pro SQL dump +# Version 4499 +# +# http://www.sequelpro.com/ +# https://github.com/sequelpro/sequelpro +# +# Host: 127.0.0.1 (MySQL 5.7.17-0ubuntu0.16.04.1) +# Database: corcel_acf +# Generation Time: 2017-02-10 06:27:20 +0000 +# ************************************************************ + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + + +# Dump of table wp_commentmeta +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_commentmeta`; + +CREATE TABLE `wp_commentmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (`meta_id`), + KEY `comment_id` (`comment_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + + + +# Dump of table wp_comments +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_comments`; + +CREATE TABLE `wp_comments` ( + `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', + `comment_author` tinytext COLLATE utf8mb4_unicode_ci NOT NULL, + `comment_author_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_author_url` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_author_IP` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_content` text COLLATE utf8mb4_unicode_ci NOT NULL, + `comment_karma` int(11) NOT NULL DEFAULT '0', + `comment_approved` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1', + `comment_agent` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`comment_ID`), + KEY `comment_post_ID` (`comment_post_ID`), + KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), + KEY `comment_date_gmt` (`comment_date_gmt`), + KEY `comment_parent` (`comment_parent`), + KEY `comment_author_email` (`comment_author_email`(10)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_comments` WRITE; +/*!40000 ALTER TABLE `wp_comments` DISABLE KEYS */; + +INSERT INTO `wp_comments` (`comment_ID`, `comment_post_ID`, `comment_author`, `comment_author_email`, `comment_author_url`, `comment_author_IP`, `comment_date`, `comment_date_gmt`, `comment_content`, `comment_karma`, `comment_approved`, `comment_agent`, `comment_type`, `comment_parent`, `user_id`) +VALUES + (1,1,'A WordPress Commenter','wapuu@wordpress.example','https://wordpress.org/','','2016-10-04 21:37:39','2016-10-04 21:37:39','Hi, this is a comment.\nTo get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.\nCommenter avatars come from Gravatar.',0,'1','','',0,0); + +/*!40000 ALTER TABLE `wp_comments` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_links +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_links`; + +CREATE TABLE `wp_links` ( + `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `link_url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_target` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_visible` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Y', + `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', + `link_rating` int(11) NOT NULL DEFAULT '0', + `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `link_rel` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_notes` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `link_rss` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + PRIMARY KEY (`link_id`), + KEY `link_visible` (`link_visible`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + + + +# Dump of table wp_options +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_options`; + +CREATE TABLE `wp_options` ( + `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `option_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `option_value` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `autoload` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'yes', + PRIMARY KEY (`option_id`), + UNIQUE KEY `option_name` (`option_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_options` WRITE; +/*!40000 ALTER TABLE `wp_options` DISABLE KEYS */; + +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) +VALUES + (1,'siteurl','http://wordpress.corcel.dev','yes'), + (2,'home','http://wordpress.corcel.dev','yes'), + (3,'blogname','Corcel WordPress Install','yes'), + (4,'blogdescription','Just another WordPress site','yes'), + (5,'users_can_register','0','yes'), + (6,'admin_email','juniorgro@gmail.com','yes'), + (7,'start_of_week','1','yes'), + (8,'use_balanceTags','0','yes'), + (9,'use_smilies','1','yes'), + (10,'require_name_email','1','yes'), + (11,'comments_notify','1','yes'), + (12,'posts_per_rss','10','yes'), + (13,'rss_use_excerpt','0','yes'), + (14,'mailserver_url','mail.example.com','yes'), + (15,'mailserver_login','login@example.com','yes'), + (16,'mailserver_pass','password','yes'), + (17,'mailserver_port','110','yes'), + (18,'default_category','1','yes'), + (19,'default_comment_status','open','yes'), + (20,'default_ping_status','open','yes'), + (21,'default_pingback_flag','0','yes'), + (22,'posts_per_page','10','yes'), + (23,'date_format','F j, Y','yes'), + (24,'time_format','g:i a','yes'), + (25,'links_updated_date_format','F j, Y g:i a','yes'), + (26,'comment_moderation','0','yes'), + (27,'moderation_notify','1','yes'), + (28,'permalink_structure','/%year%/%monthnum%/%day%/%postname%/','yes'), + (29,'rewrite_rules','a:90:{s:11:\"^wp-json/?$\";s:22:\"index.php?rest_route=/\";s:14:\"^wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:21:\"^index.php/wp-json/?$\";s:22:\"index.php?rest_route=/\";s:24:\"^index.php/wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:47:\"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:42:\"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:23:\"category/(.+?)/embed/?$\";s:46:\"index.php?category_name=$matches[1]&embed=true\";s:35:\"category/(.+?)/page/?([0-9]{1,})/?$\";s:53:\"index.php?category_name=$matches[1]&paged=$matches[2]\";s:17:\"category/(.+?)/?$\";s:35:\"index.php?category_name=$matches[1]\";s:44:\"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:39:\"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:20:\"tag/([^/]+)/embed/?$\";s:36:\"index.php?tag=$matches[1]&embed=true\";s:32:\"tag/([^/]+)/page/?([0-9]{1,})/?$\";s:43:\"index.php?tag=$matches[1]&paged=$matches[2]\";s:14:\"tag/([^/]+)/?$\";s:25:\"index.php?tag=$matches[1]\";s:45:\"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:40:\"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:21:\"type/([^/]+)/embed/?$\";s:44:\"index.php?post_format=$matches[1]&embed=true\";s:33:\"type/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?post_format=$matches[1]&paged=$matches[2]\";s:15:\"type/([^/]+)/?$\";s:33:\"index.php?post_format=$matches[1]\";s:12:\"robots\\.txt$\";s:18:\"index.php?robots=1\";s:48:\".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$\";s:18:\"index.php?feed=old\";s:20:\".*wp-app\\.php(/.*)?$\";s:19:\"index.php?error=403\";s:18:\".*wp-register.php$\";s:23:\"index.php?register=true\";s:32:\"feed/(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:27:\"(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:8:\"embed/?$\";s:21:\"index.php?&embed=true\";s:20:\"page/?([0-9]{1,})/?$\";s:28:\"index.php?&paged=$matches[1]\";s:41:\"comments/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:36:\"comments/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:17:\"comments/embed/?$\";s:21:\"index.php?&embed=true\";s:44:\"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:39:\"search/(.+)/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:20:\"search/(.+)/embed/?$\";s:34:\"index.php?s=$matches[1]&embed=true\";s:32:\"search/(.+)/page/?([0-9]{1,})/?$\";s:41:\"index.php?s=$matches[1]&paged=$matches[2]\";s:14:\"search/(.+)/?$\";s:23:\"index.php?s=$matches[1]\";s:47:\"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:42:\"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:23:\"author/([^/]+)/embed/?$\";s:44:\"index.php?author_name=$matches[1]&embed=true\";s:35:\"author/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?author_name=$matches[1]&paged=$matches[2]\";s:17:\"author/([^/]+)/?$\";s:33:\"index.php?author_name=$matches[1]\";s:69:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:45:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/embed/?$\";s:74:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]\";s:39:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$\";s:63:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]\";s:56:\"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:51:\"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:32:\"([0-9]{4})/([0-9]{1,2})/embed/?$\";s:58:\"index.php?year=$matches[1]&monthnum=$matches[2]&embed=true\";s:44:\"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]\";s:26:\"([0-9]{4})/([0-9]{1,2})/?$\";s:47:\"index.php?year=$matches[1]&monthnum=$matches[2]\";s:43:\"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:38:\"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:19:\"([0-9]{4})/embed/?$\";s:37:\"index.php?year=$matches[1]&embed=true\";s:31:\"([0-9]{4})/page/?([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&paged=$matches[2]\";s:13:\"([0-9]{4})/?$\";s:26:\"index.php?year=$matches[1]\";s:58:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:68:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:88:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:64:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:53:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/embed/?$\";s:91:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$\";s:85:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1\";s:77:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:65:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]\";s:61:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(?:/([0-9]+))?/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]\";s:47:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:57:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:77:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:53:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]\";s:51:\"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]\";s:38:\"([0-9]{4})/comment-page-([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&cpage=$matches[2]\";s:27:\".?.+?/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:37:\".?.+?/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:57:\".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:33:\".?.+?/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:16:\"(.?.+?)/embed/?$\";s:41:\"index.php?pagename=$matches[1]&embed=true\";s:20:\"(.?.+?)/trackback/?$\";s:35:\"index.php?pagename=$matches[1]&tb=1\";s:40:\"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:35:\"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:28:\"(.?.+?)/page/?([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&paged=$matches[2]\";s:35:\"(.?.+?)/comment-page-([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&cpage=$matches[2]\";s:24:\"(.?.+?)(?:/([0-9]+))?/?$\";s:47:\"index.php?pagename=$matches[1]&page=$matches[2]\";}','yes'), + (30,'hack_file','0','yes'), + (31,'blog_charset','UTF-8','yes'), + (32,'moderation_keys','','no'), + (33,'active_plugins','a:1:{i:0;s:34:\"advanced-custom-fields-pro/acf.php\";}','yes'), + (34,'category_base','','yes'), + (35,'ping_sites','http://rpc.pingomatic.com/','yes'), + (36,'comment_max_links','2','yes'), + (37,'gmt_offset','0','yes'), + (38,'default_email_category','1','yes'), + (39,'recently_edited','','no'), + (40,'template','twentysixteen','yes'), + (41,'stylesheet','twentysixteen','yes'), + (42,'comment_whitelist','1','yes'), + (43,'blacklist_keys','','no'), + (44,'comment_registration','0','yes'), + (45,'html_type','text/html','yes'), + (46,'use_trackback','0','yes'), + (47,'default_role','subscriber','yes'), + (48,'db_version','38590','yes'), + (49,'uploads_use_yearmonth_folders','1','yes'), + (50,'upload_path','','yes'), + (51,'blog_public','0','yes'), + (52,'default_link_category','2','yes'), + (53,'show_on_front','posts','yes'), + (54,'tag_base','','yes'), + (55,'show_avatars','1','yes'), + (56,'avatar_rating','G','yes'), + (57,'upload_url_path','','yes'), + (58,'thumbnail_size_w','150','yes'), + (59,'thumbnail_size_h','150','yes'), + (60,'thumbnail_crop','1','yes'), + (61,'medium_size_w','300','yes'), + (62,'medium_size_h','300','yes'), + (63,'avatar_default','mystery','yes'), + (64,'large_size_w','1024','yes'), + (65,'large_size_h','1024','yes'), + (66,'image_default_link_type','none','yes'), + (67,'image_default_size','','yes'), + (68,'image_default_align','','yes'), + (69,'close_comments_for_old_posts','0','yes'), + (70,'close_comments_days_old','14','yes'), + (71,'thread_comments','1','yes'), + (72,'thread_comments_depth','5','yes'), + (73,'page_comments','0','yes'), + (74,'comments_per_page','50','yes'), + (75,'default_comments_page','newest','yes'), + (76,'comment_order','asc','yes'), + (77,'sticky_posts','a:0:{}','yes'), + (78,'widget_categories','a:2:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:12:\"hierarchical\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'), + (79,'widget_text','a:0:{}','yes'), + (80,'widget_rss','a:0:{}','yes'), + (81,'uninstall_plugins','a:0:{}','no'), + (82,'timezone_string','','yes'), + (83,'page_for_posts','0','yes'), + (84,'page_on_front','0','yes'), + (85,'default_post_format','0','yes'), + (86,'link_manager_enabled','0','yes'), + (87,'finished_splitting_shared_terms','1','yes'), + (88,'site_icon','0','yes'), + (89,'medium_large_size_w','768','yes'), + (90,'medium_large_size_h','0','yes'), + (91,'initial_db_version','37965','yes'), + (92,'wp_user_roles','a:5:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:61:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}}','yes'), + (93,'widget_search','a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}','yes'), + (94,'widget_recent-posts','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'), + (95,'widget_recent-comments','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'), + (96,'widget_archives','a:2:{i:2;a:3:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'), + (97,'widget_meta','a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}','yes'), + (98,'sidebars_widgets','a:3:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:13:\"array_version\";i:3;}','yes'), + (99,'widget_pages','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), + (100,'widget_calendar','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), + (101,'widget_tag_cloud','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), + (102,'widget_nav_menu','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), + (103,'cron','a:4:{i:1486719460;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1486762675;a:1:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1486762728;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}s:7:\"version\";i:2;}','yes'), + (106,'nonce_key','1(z~A~&GX,$lptZdQ;*m8)]#,`g|v],Vb]rz:>/{9;g^f+$1A.w=k[pFQV!.KgYs','no'), + (107,'nonce_salt','2eAhWwr]{[>sTvo^8_Ju@=KqD^a2?tXo)tL7234#o*(8Asb]ySDdQu90psdwFbnw].','no'), + (116,'auth_salt','Eklq$cX4r!K6OW,;yxDgyKs&qMXSsqJD}s)p[eUE*47=I','no'), + (117,'logged_in_key','N/^);0tnOa%y|_D:ITAVPh]rFm7!U,#+s*DMws8%3','no'), + (118,'logged_in_salt','wmaJaVJ7qTz7v@%(h^Z@53`vD=e:_;3<|kck><4Q.cuzNa+-jVn(~wvX$|BO4 vp','no'), + (139,'recently_activated','a:0:{}','yes'), + (140,'acf_version','5.5.6','yes'), + (162,'category_children','a:0:{}','yes'), + (177,'acf_pro_license','','yes'), + (208,'db_upgraded','','yes'), + (209,'_site_transient_update_core','O:8:\"stdClass\":4:{s:7:\"updates\";a:1:{i:0;O:8:\"stdClass\":10:{s:8:\"response\";s:6:\"latest\";s:8:\"download\";s:59:\"https://downloads.wordpress.org/release/wordpress-4.7.2.zip\";s:6:\"locale\";s:5:\"en_US\";s:8:\"packages\";O:8:\"stdClass\":5:{s:4:\"full\";s:59:\"https://downloads.wordpress.org/release/wordpress-4.7.2.zip\";s:10:\"no_content\";s:70:\"https://downloads.wordpress.org/release/wordpress-4.7.2-no-content.zip\";s:11:\"new_bundled\";s:71:\"https://downloads.wordpress.org/release/wordpress-4.7.2-new-bundled.zip\";s:7:\"partial\";b:0;s:8:\"rollback\";b:0;}s:7:\"current\";s:5:\"4.7.2\";s:7:\"version\";s:5:\"4.7.2\";s:11:\"php_version\";s:5:\"5.2.4\";s:13:\"mysql_version\";s:3:\"5.0\";s:11:\"new_bundled\";s:3:\"4.7\";s:15:\"partial_version\";s:0:\"\";}}s:12:\"last_checked\";i:1486706608;s:15:\"version_checked\";s:5:\"4.7.2\";s:12:\"translations\";a:0:{}}','no'), + (210,'_site_transient_timeout_browser_dff177876e22ddc43470e135e8edbe87','1487229570','no'), + (211,'_site_transient_browser_dff177876e22ddc43470e135e8edbe87','a:9:{s:8:\"platform\";s:9:\"Macintosh\";s:4:\"name\";s:6:\"Chrome\";s:7:\"version\";s:12:\"55.0.2883.95\";s:10:\"update_url\";s:28:\"http://www.google.com/chrome\";s:7:\"img_src\";s:49:\"http://s.wordpress.org/images/browsers/chrome.png\";s:11:\"img_src_ssl\";s:48:\"https://wordpress.org/images/browsers/chrome.png\";s:15:\"current_version\";s:2:\"18\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','no'), + (212,'can_compress_scripts','1','no'), + (213,'_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca','1486667973','no'), + (214,'_transient_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:49:\"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"https://wordpress.org/news\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:13:\"lastBuildDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 01 Feb 2017 15:58:56 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"https://wordpress.org/?v=4.8-alpha-40051\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:10:{i:0;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"WordPress 4.7.2 Security Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 26 Jan 2017 19:34:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4676\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:357:\"WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately. WordPress versions 4.7.1 and earlier are affected by three security issues: The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2142:\"

WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7.1 and earlier are affected by three security issues:

\n
    \n
  1. The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. Reported by David Herrera of Alley Interactive.
  2. \n
  3. WP_Query is vulnerable to a SQL injection (SQLi) when passing unsafe data. WordPress core is not directly vulnerable to this issue, but we’ve added hardening to prevent plugins and themes from accidentally causing a vulnerability. Reported by Mo Jangda (batmoo).
  4. \n
  5. A cross-site scripting (XSS) vulnerability was discovered in the posts list table. Reported by Ian Dunn of the WordPress Security Team.
  6. \n
  7. An unauthenticated privilege escalation vulnerability was discovered in a REST API endpoint. Reported by Marc-Alexandre Montpas of Sucuri Security. *
  8. \n
\n

Thank you to the reporters of these issues for practicing responsible disclosure.

\n

Download WordPress 4.7.2 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.2.

\n

Thanks to everyone who contributed to 4.7.2.

\n

* Update: An additional serious vulnerability was fixed in this release and public disclosure was delayed. For more information on this vulnerability, additional mitigation steps taken, and an explanation for why disclosure was delayed, please read Disclosure of Additional Security Fix in WordPress 4.7.2.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4676\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"WordPress 4.7.1 Security and Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"https://wordpress.org/news/2017/01/wordpress-4-7-1-security-and-maintenance-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 03:53:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4650\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:375:\"WordPress 4.7 has been downloaded over 10 million times since its release on December 6, 2016 and we are pleased to announce the immediate availability of WordPress 4.7.1. This is a security release for all previous versions and we strongly encourage you to update your sites immediately. WordPress versions 4.7 and earlier are affected by eight security issues: […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:6520:\"

WordPress 4.7 has been downloaded over 10 million times since its release on December 6, 2016 and we are pleased to announce the immediate availability of WordPress 4.7.1. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7 and earlier are affected by eight security issues:

\n
    \n
  1. Remote code execution (RCE) in PHPMailer – No specific issue appears to affect WordPress or any of the major plugins we investigated but, out of an abundance of caution, we updated PHPMailer in this release. This issue was fixed in PHPMailer thanks to Dawid Golunski and Paul Buonopane.
  2. \n
  3. The REST API exposed user data for all users who had authored a post of a public post type. WordPress 4.7.1 limits this to only post types which have specified that they should be shown within the REST API. Reported by Krogsgard and Chris Jean.
  4. \n
  5. Cross-site scripting (XSS) via the plugin name or version header on update-core.php. Reported by Dominik Schilling of the WordPress Security Team.
  6. \n
  7. Cross-site request forgery (CSRF) bypass via uploading a Flash file. Reported by Abdullah Hussam.
  8. \n
  9. Cross-site scripting (XSS) via theme name fallback. Reported by Mehmet Ince.
  10. \n
  11. Post via email checks mail.example.com if default settings aren’t changed. Reported by John Blackbourn of the WordPress Security Team.
  12. \n
  13. A cross-site request forgery (CSRF) was discovered in the accessibility mode of widget editing. Reported by Ronnie Skansing.
  14. \n
  15. Weak cryptographic security for multisite activation key. Reported by Jack.
  16. \n
\n

Thank you to the reporters for practicing responsible disclosure.

\n

In addition to the security issues above, WordPress 4.7.1 fixes 62 bugs from 4.7. For more information, see the release notes or consult the list of changes.

\n

Download WordPress 4.7.1 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.1.

\n

Thanks to everyone who contributed to 4.7.1: Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, Andrea Fercia, Andrew Ozz, bonger, Boone Gorges, Chandra Patel, Christian Chung, David Herrera, David Shanske, Dion Hulse, Dominik Schilling (ocean90), DreamOn11, Edwin Cromley, Ella van Dorpe, Gary Pendergast, Hristo Pandjarov, James Nylen, Jeff Bowen, Jeremy Felt, Jeremy Pry, Joe Hoyle, Joe McGill, John Blackbourn, Keanan Koppenhaver, Konstantin Obenland, laurelfulford, Marin Atanasov, mattyrob, monikarao, Nate Reist, Nick Halsey, Nikhil Chavan, nullvariable, Payton Swick, Peter Wilson, Presskopp, Rachel Baker, Ryan McCue, Sanket Parmar, Sebastian Pisula, sfpt, shazahm1, Stanimir Stoyanov, Steven Word, szaqal21, timph, voldemortensen, vortfu, and Weston Ruter.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4650\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:36:\"\n \n \n \n \n \n\n \n \n \n \n\n\n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"WordPress 4.7 “Vaughan”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://wordpress.org/news/2016/12/vaughan/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 06 Dec 2016 19:27:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4596\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:240:\"Version 4.7 of WordPress, named “Vaughan” in honor of legendary jazz vocalist Sarah \"Sassy\" Vaughan, is available for download or update in your WordPress dashboard. New features in 4.7 help you get your site set up the way you want it.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"enclosure\";a:3:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:3:\"url\";s:60:\"https://wordpress.org/news/files/2016/12/starter-content.mp4\";s:6:\"length\";s:7:\"3736020\";s:4:\"type\";s:9:\"video/mp4\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:3:\"url\";s:59:\"https://wordpress.org/news/files/2016/12/edit-shortcuts.mp4\";s:6:\"length\";s:7:\"1127483\";s:4:\"type\";s:9:\"video/mp4\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:3:\"url\";s:58:\"https://wordpress.org/news/files/2016/12/video-headers.mp4\";s:6:\"length\";s:7:\"1549803\";s:4:\"type\";s:9:\"video/mp4\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:45498:\"

Version 4.7 of WordPress, named “Vaughan” in honor of legendary jazz vocalist Sarah “Sassy” Vaughan, is available for download or update in your WordPress dashboard. New features in 4.7 help you get your site set up the way you want it.

\n
\n
\n

Presenting Twenty Seventeen

\n

A brand new default theme brings your site to life with immersive featured images and video headers.

\n

\n

Twenty Seventeen focuses on business sites and features a customizable front page with multiple sections. Personalize it with widgets, navigation, social menus, a logo, custom colors, and more. Our default theme for 2017 works great in many languages, on any device, and for a wide range of users.

\n
\n

Your Site, Your Way

\n

WordPress 4.7 adds new features to the customizer to help take you through the initial setup of a theme, with non-destructive live previews of all your changes in one uninterrupted workflow.

\n

Theme Starter Content

\n\n

To help give you a solid base to build from, individual themes can provide starter content that appears when you go to customize your brand new site. This can range from placing a business information widget in the best location to providing a sample menu with social icon links to a static front page complete with beautiful images. Don’t worry – nothing new will appear on the live site until you’re ready to save and publish your initial theme setup.

\n
\n

Edit Shortcuts

\n\n

Visible icons appear to show you which parts of your site can be customized while live previewing. Click on a shortcut and get straight to editing. Paired with starter content, getting started with customizing your site is faster than ever.

\n
\n
\n

Video Headers

\n\n

Sometimes a big atmospheric video as a moving header image is just what you need to showcase your wares; go ahead and try it out with Twenty Seventeen. Need some video inspiration? Try searching for sites with video headers available for download and use.

\n
\n
\n
\n

Smoother Menu Building

\n

\n

Many menus for sites contain links to the pages of your site, but what happens when you don’t have any pages yet? Now you can add new pages while building menus instead of leaving the customizer and abandoning your changes. Once you’ve published your customizations, you’ll have new pages ready for you to fill with content.

\n
\n
\n

Custom CSS

\n

\n

Sometimes you just need a few visual tweaks to make your site perfect. WordPress 4.7 allows you to add custom CSS and instantly see how your changes affect your site. The live preview allows you to work quickly without page refreshes slowing you down.

\n
\n
\n
\n
\n

PDF Thumbnail Previews

\n

\n

Managing your document collection is easier with WordPress 4.7. Uploading PDFs will generate thumbnail images so you can more easily distinguish between all your documents.

\n
\n
\n

Dashboard in your language

\n

\n

Just because your site is in one language doesn’t mean that everybody helping manage it prefers that language for their admin. Add more languages to your site and a user language option will show up in your user’s profiles.

\n
\n
\n
\n

Introducing REST API Content Endpoints

\n

WordPress 4.7 comes with REST API endpoints for posts, comments, terms, users, meta, and settings.

\n

\"\"

\n

Content endpoints provide machine-readable external access to your WordPress site with a clear, standards-driven interface, paving the way for new and innovative methods of interacting with sites through plugins, themes, apps, and beyond. Ready to get started with development? Check out the REST API reference.

\n
\n

Even More Developer Happiness \"?\"

\n

Post Type Templates

\n

By opening up the page template functionality to all post types, theme developers have even more flexibility with the WordPress template hierarchy.

\n

More Theme API Goodies

\n

WordPress 4.7 includes new functions, hooks, and behavior for theme developers.

\n

Custom Bulk Actions

\n

List tables, now with more than bulk edit and delete.

\n

WP_Hook

\n

The code that lies beneath actions and filters has been overhauled and modernized, fixing bugs along the way.

\n

Settings Registration API

\n

register_setting() has been enhanced to include type, description, and REST API visibility.

\n

Customize Changesets

\n

Customize changesets make changes in the customizer persistent, like autosave drafts. They also make exciting new features like starter content possible.

\n
\n

The Squad

\n

This release was led by Helen Hou-Sandí, backed up by Jeff Paul and Aaron Jorbin as Release Deputies, and with the help of these fine individuals. There are 482 contributors with props in this release—the most ever—with 205 of them contributing for the first time. Pull up some sassy Sarah Vaughan on your music service of choice, and check out some of their profiles:

\nAaron D. Campbell, abrightclearweb, Achal Jain, achbed, Acme Themes, Adam Silverstein, adammacias, Ahmad Awais, ahmadawais, airesvsg, ajoah, Aki Björklund, akshayvinchurkar, Alain Schlesser, Alex Concha, Alex Dimitrov, Alex Hon, alex27, allancole, Amanda Rush, Andrea Fercia, Andreas Panag, Andrew Nacin, Andrew Ozz, Andrey \"Rarst\" Savchenko, Andy Meerwaldt, Andy Mercer, Andy Skelton, Aniket Pant, Anil Basnet, Ankit K Gupta, Anthony Hortin, antisilent, Anton Timmermans, Antti Kuosmanen, apokalyptik, artoliukkonen, Arunas Liuiza, attitude, backermann, Bappi, Ben Cole, Bernhard Kau, BinaryMoon, Birgir Erlendsson (birgire), BjornW, bobbingwide, boblinthorst, boboudreau, bonger, Boone B. Gorges, Brady Vercher, Brainstorm Force, Brandon Kraft, Brian Hogg, Brian Krogsgard, Bronson Quick, Caroline Moore, Casey Driscoll, Caspie, Chandra Patel, Chaos Engine, cheeserolls, chesio, chetansatasiya, choong, Chouby, chredd, Chris Jean, Chris Marslender, Chris Smith, Chris Van Patten, Chris Wiegman, chriscct7, chriseverson, Christian Chung, Christian Nolen, Christian Wach, Christoph Herr, Clarion Technologies, Claudio Sanches, Claudio Sanches, ClaudioLaBarbera, codemovement.pk, coderkevin, codfish, coreymcollins, Curdin Krummenacher, Curtiss Grymala, Cătălin Dogaru, danhgilmore, Daniel Bachhuber , Daniel Kanchev, Daniel Pietrasik, Daniele Scasciafratte, Daryl L. L. Houston (dllh), Dave Pullig, Dave Romsey (goto10), David A. Kennedy, David Chandra Purnama, David Herrera, David Lingren, David Mosterd, David Shanske, davidbhayes, Davide \'Folletto\' Casali, deeptiboddapati, delphinus, deltafactory, Denis de Bernardy, Derek Herman, Derrick Hammer, Derrick Koo, dimchik, Dinesh Chouhan, Dion Hulse, dipeshkakadiya, dmsnell, Dominik Schilling, Dotan Cohen, Doug Wollison, doughamlin, DreamOn11, Drew Jaynes, duncanjbrown, dungengronovius, DylanAuty, Eddie Hurtig, Eduardo Reveles, Edwin Cromley, ElectricFeet, Elio Rivero, Ella Iseulde Van Dorpe, elyobo, enodekciw, enshrined, Eric Andrew Lewis, Eric Lanehart, Evan Herman, Felix Arntz, Fencer04, Florian Brinkmann, Florian TIAR, FolioVision, fomenkoandrey, Frank Klein, Frankie Jarrett, frankiet, Fred, Fredrik Forsmo, fuscata, Gabriel Maldonado, Gary Jones, Gary Pendergast, Geeky Software, George Stephanis, Goran Šerić, Graham Armfield, Grant Derepas, Gregory Karpinsky (@tivnet), Hardeep Asrani, Henry Wright, hiddenpearls, Hinaloe, Hristo Pandjarov, Hugo Baeta, Iain Poulson, iamjolly, Ian Dunn, Ian Edington, idealien, Ignacio Cruz Moreno, imath, Imnok, implenton, Ionut Stanciu, Ipstenu (Mika Epstein), Ivan, ivdimova, J.D. Grimes, Jacob Peattie, Jake Spurlock, James Nylen, jamesacero, Japh, Jared Cobb, jayarjo, jdolan, jdoubleu, Jeff Bowen, Jeffrey de Wit, Jeremy Felt, Jeremy Pry, jimt, Jip Moors, jmusal, Joe Dolson, Joe Hoyle, Joe McGill, Joel James, johanmynhardt, John Blackbourn, John Dittmar, John James Jacoby, John P. Bloch, John Regan, johnpgreen, Jon (Kenshino), Jonathan Bardo, Jonathan Brinley, Jonathan Daggerhart, Jonathan Desrosiers, Jonny Harris, jonnyauk, jordesign, JorritSchippers, Joseph Fusco, Josh Eaton, Josh Pollock, joshcummingsdesign, joshkadis, Joy, jrf, JRGould, Juanfra Aldasoro, Juhi Saxena, Junko Nukaga, Justin Busa, Justin Sainton, Justin Shreve, Justin Sternberg, K.Adam White, kacperszurek, Kailey (trepmal), KalenJohnson, Kat Hagan, Keanan Koppenhaver, keesiemeijer, kellbot, Kelly Dwan, Kevin Hagerty, Kirk Wight, kitchin, Kite, kjbenk, Knut Sparhell, koenschipper, kokarn, Konstantin Kovshenin, Konstantin Obenland, Konstantinos Kouratoras, kuchenundkakao, kuldipem, Laurel Fulford, Lee Willis, Leo Baiano, LittleBigThings (Csaba), Lucas Stark, Luke Cavanagh, Luke Gedeon, lukepettway, lyubomir_popov, mageshp, Mahesh Waghmare, Mangesh Parte, Manish Songirkar, mantismamita, Marcel Bootsman, Marin Atanasov, Mario Valney, Marius L. J., Mark Jaquith, Mark Root-Wiley, Mark Uraine, Marko Heijnen, markshep, matrixik, Matt Banks, Matt Jaworski, Matt King, Matt Mullenweg, Matt van Andel, Matt Wiebe, Matthew Haines-Young, mattyrob, Max Cutler, Maxime Culea, Mayo Moriyama, mbelchev, mckernanin, Mel Choyce, mhowell, Michael Arestad, Michael Arestad, michalzuber, Mike Auteri, Mike Crantea, Mike Glendinning, Mike Hansen, Mike Little, Mike Schroder, Mike Viele, Milan Dinić, modemlooper, Mohammad Jangda, Mohan Dere, monikarao, morettigeorgiev, Morgan Estes, Morten Rand-Hendriksen, moto hachi ( mt8.biz ), mrbobbybryant, Naim Naimov, Nate Reist, NateWr, nathanrice, Nazgul, Ned Zimmerman, Nick Halsey , Nicolas GUILLAUME, Nikhil Chavan, Nikhil Vimal, Nikolay Bachiyski, Nilambar Sharma, noplanman, nullvariable, odie2, odyssey, Okamoto Hidetaka, orvils, oskosk, Otto Kekäläinen, ovann86, Pascal Birchler, patilvikasj, Paul Bearne, Paul Wilde, Payton Swick, pdufour, Perdaan, Peter Wilson, phh, php, Piotr Delawski, pippinsplugins, pjgalbraith, pkevan, Pratik, Pressionate, Presskopp, procodewp, quasel, Rachel Baker, Rahul Prajapati, Ramanan, Rami Yushuvaev, ramiabraham, ranh, Red Sand Media Group, Riad Benguella, Rian Rietveld, Richard Tape, Robert D Payne, Robert Noakes, Rocco Aliberti, Rodrigo Primo, Rommel Castro, Ronald Araújo, Ross Wintle, Roy Sivan, Ryan Kienstra, Ryan McCue, Ryan Plas, Ryan Welcher, Sal Ferrarello, Sami Keijonen, Samir Shah, Samuel Sidler, Sandesh, Sang-Min Yoon, Sanket Parmar, Sarah Gooding, Sayed Taqui, schrapel, Scott Reilly, Scott Taylor, scrappy@hub.org, scribu, seancjones, Sebastian Pisula, Sergey Biryukov, Sergio De Falco, sfpt, shayanys, shazahm1, shprink, simonlampen, skippy, smerriman, snacking, Soeren Wrede, solal, Stanimir Stoyanov, Stanko Metodiev, Steph, Steph Wells, Stephanie Leary, Stephen Edgar, Stephen Harris, Steven Word, stevenlinx, stubgo, Sudar Muthu, Swapnil V. Patil, swapnild, szaqal21, Takahashi Fumiki, Takayuki Miyauchi, Tammie Lister, tapsboy, Taylor Lovett, team, tg29359, tharsheblows, the, themeshaper, thenbrent, thomaswm, Thorsten Frommen, tierra, Tim Nash, Timmy Crawford, Timothy Jacobs, timph, Tkama, tnegri, Tom Auger, Tom J Nowell, tomdxw, Toro_Unit (Hiroshi Urabe), Torsten Landsiedel, transl8or, traversal, Travis Smith, Triet Minh, Trisha Salas, tristangemus, Truong Giang, tsl143, Ty Carlson, Ulrich, Utkarsh, Valeriu Tihai, Vishal Kakadiya, voldemortensen, vortfu, Vrunda Kansara, webbgaraget, WebMan Design | Oliver Juhas, websupporter, Weston Ruter, William Earnhardt, williampatton, Wolly aka Paolo Valenti, WraithKenny, yale01, Yoav Farhi, Yoga Sukma, Zach Wills, Zack Tollman, Ze Fontainhas, zhildzik, and zsusag.\n

 
\nSpecial thanks go to Rami Abraham for producing the release video and the many fine haiku we saw in the beta and RC announcement posts.

\n

Finally, thanks to all the community translators who worked on WordPress 4.7. Their efforts bring WordPress 4.7 fully translated to 52 languages at release time with more on the way. Additionally, the WordPress 4.7 release video has been captioned into 44 languages.

\n

If you want to follow along or help out, check out Make WordPress and our core development blog. Thanks for choosing WordPress – we hope you enjoy!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4596\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Moving Toward SSL\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/news/2016/12/moving-toward-ssl/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 Dec 2016 17:20:29 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4588\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:327:\"We’re at a turning point: 2017 is going to be the year that we’re going to see features in WordPress which require hosts to have HTTPS available. Just as JavaScript is a near necessity for smoother user experiences and more modern PHP versions are critical for performance, SSL just makes sense as the next hurdle […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1627:\"

We’re at a turning point: 2017 is going to be the year that we’re going to see features in WordPress which require hosts to have HTTPS available. Just as JavaScript is a near necessity for smoother user experiences and more modern PHP versions are critical for performance, SSL just makes sense as the next hurdle our users are going to face.

\n

SSL basically means the link between your browser and the server is encrypted. SSL used to be difficult to implement, and often expensive or slow. Modern browsers, and the incredible success of projects like Let’s Encrypt have made getting a certificate to secure your site fast, free, and something we think every host should support by default, especially in a post-Snowden era. Google also weighs SSL as a search engine ranking factor and will begin flagging unencrypted sites in Chrome.

\n

First, early in 2017, we will only promote hosting partners that provide a SSL certificate by default in their accounts. Later we will begin to assess which features, such as API authentication, would benefit the most from SSL and make them only enabled when SSL is there.

\n

Separately, I also think the performance improvements in PHP7 are particularly impressive, and major kudos to everyone who worked on that. We will consider whether hosts use PHP7 by default for new accounts next year as well.

\n

 

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4588\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"WordPress 4.7 Release Candidate\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"https://wordpress.org/news/2016/11/wordpress-4-7-release-candidate/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 24 Nov 2016 04:26:23 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4579\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:328:\"The release candidate for WordPress 4.7 is now available. RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.7 on Tuesday, December 6, but we need your help to get there. If you haven’t tested 4.7 yet, […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:4331:\"

The release candidate for WordPress 4.7 is now available.

\n

RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.7 on Tuesday, December 6, but we need your help to get there. If you haven’t tested 4.7 yet, now is the time! To test WordPress 4.7, you can use the WordPress Beta Tester plugin or you can download the release candidate here (zip).

\n

WordPress 4.7 is a jam-packed release, with a number of features focused on getting a theme set up for the first time. Highlights include a new default theme, video headers, custom CSS, customizer edit shortcuts, PDF thumbnail previews, user admin languages, REST API content endpoints, post type templates, and more.

\n

We’ve made quite a few refinements since releasing Beta 4 a week ago, including usability and accessibility enhancements for video headers, media and page template support in starter content, and polishing of how custom CSS can be migrated to and extended by plugins and themes. The REST API endpoints saw a number of bugfixes and notably now have anonymous comment off by default.

\n

Not sure where to start with testing? Try setting up a fresh site on a new installation with Twenty Seventeen (hint: head into customizing your site before touching any pages or widgets) and taking notes on what you enjoyed and what got you stuck. For more details about what’s new in version 4.7, check out the Beta 1Beta 2, Beta 3, and Beta 4 blog posts.

\n

Think you’ve found a bug? Please post to the Alpha/Beta support forum. If any known issues come up, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 4.7 and update your plugin’s Tested up to version in the readme to 4.7. If you find compatibility problems please be sure to post to the support forums so we can figure those out before the final release – we work hard to avoid breaking things. An in-depth field guide to developer-focused changes is coming soon on the core development blog.

\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages! And if you haven’t yet done so, now is a great time to take the Annual WordPress Survey and send it on to your friends.

\n

Happy testing! And now for another Rami Abraham haiku break.

\n

Select your language
\nThen let your users choose theirs
\nget_user_locale()

\n

Theme authors rejoice
\nAny option may employ
\nSelective refresh

\n

Custom header video
\nMake sure to add_theme_support
\nBling above the fold

\n

A new template dawns
\nA hierarchy member
\nPost-type templates live

\n

PDF updates
\nPack a parade of polish
\nPrettier previews

\n

Template Post Type: New
\nTemplate Post Type: And Useful
\nTemplate Post Type: Thing

\n

Let lists live lively
\nLaud wp_list_sort()
\nLess laconic lists

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4579\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 4\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/11/wordpress-4-7-beta-4/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 16 Nov 2016 01:51:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4576\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 4 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2019:\"

WordPress 4.7 Beta 4 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

For more information on what’s new in 4.7, check out the Beta 1, Beta 2, and Beta 3 blog posts, along with in-depth developer guides on make/core. We’ve made about 60 changes in the last few days for beta 4, including tweaks to Twenty Seventeen, custom CSS, and the REST API content endpoints.

\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

We are almost there
\nPlease test your plugins and themes
\nRC coming soon
\n

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4576\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"WordCamp US 2017-2018 in Nashville\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"https://wordpress.org/news/2016/11/wordcamp-us-2017-2018-in-nashville/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 15 Nov 2016 23:24:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"WordCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4571\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:330:\"The title says it all. We had some great applications for cities to host WordCamp US after we finish up in Philadelphia this year, and the city chosen for 2017-2018 is Nashville, Tennessee. Based on the other great applications we got I’m also excited about the pipeline of communities that could host it in future […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1022:\"

\n

The title says it all. We had some great applications for cities to host WordCamp US after we finish up in Philadelphia this year, and the city chosen for 2017-2018 is Nashville, Tennessee.

\n

Based on the other great applications we got I’m also excited about the pipeline of communities that could host it in future years as WordCamp US travels across the United States and gives us an opportunity to learn and love a new city, as we have with Philadelphia.

\n

By the way, if you haven’t yet, now is a great time to take the Annual WordPress Survey and ask your friends to as well.

\n

Photo Credit.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4571\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 3\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/11/wordpress-4-7-beta-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 11 Nov 2016 03:30:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4566\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 3 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:3120:\"

WordPress 4.7 Beta 3 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

For more information on what’s new in 4.7, check out the Beta 1 and Beta 2 blog posts, along with in-depth field guides on make/core. Some of the changes in Beta 3 include:

\n
    \n
  • REST API: The unfiltered_html capability is now respected and rest_base has been added to response objects of wp/v2/taxonomies and wp/v2/types, while get_allowed_query_vars() and the rest_get_post filter have been removed.
  • \n
  • Roles/Capabilities: Added meta-caps for comment, term, and user meta, which are currently only used in the REST API.
  • \n
  • I18N: Added the ability to change user’s locale back to site’s locale. (#38632)
  • \n
  • Custom CSS: Renamed the unfiltered_css meta capability to edit_css and added revisions support to the custom_css post type.
  • \n
  • Edit shortcuts: Theme authors should take a look at the developer guide to the customizer preview’s visible edit shortcuts and update their themes to take advantage of them if not already implementing selective refresh.
  • \n
  • Various bug fixes: We’ve made over 50 changes in the last week.
  • \n
\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

Building the future
\nA global community
\nStronger together

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4566\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/11/wordpress-4-7-beta-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 04 Nov 2016 17:39:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4552\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 2 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:4240:\"

WordPress 4.7 Beta 2 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

Notable changes since WordPress 4.7 Beta 1:

\n\n

For more of what’s new in version 4.7, check out the Beta 1 blog post.

\n

If you want a more in-depth view of what major changes have made it into 4.7, check out posts tagged with 4.7 on the main development blog, or look at a list of everything that’s changed. There will be more developer notes to come, so keep an eye out for those as well.

\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

Happy testing!

\n

Ya es la hora
\n Time for another beta
\n请您帮下忙!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4552\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/10/wordpress-4-7-beta-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 28 Oct 2016 04:30:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4535\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 1 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:6895:\"

WordPress 4.7 Beta 1 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

WordPress 4.7 is slated for release on December 6, but we need your help to get there. We’ve been working on a lot of things, many of them to make getting your site set up the way you want it much easier. Here are some of the bigger items to test and help us find as many bugs as possible in the coming weeks:

\n
    \n
  • Twenty Seventeen – A brand new default theme brings your site to life with immersive featured images, video headers, and subtle animations. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
  • \n
  • Video Headers – Sometimes a big atmospheric video as a moving header image is just what you need to showcase your wares; go ahead and try it out with Twenty Seventeen. Need some video inspiration? Try searching for sites with video headers available for download and use.
  • \n
  • Set up your site in one flow – From finding and installing themes right inside the customizer, to automatically staged theme-specific starter content, to clickable shortcuts that jump directly to editing an item from the preview pane, to adding pages while you’re building a nav menu or setting a static front page: getting a new site spun up and ready to share with a friend or a coworker is faster and easier than it’s ever been. Note: starter content appears when live previewing brand new sites and is currently only available in Twenty Seventeen. We’ll be expanding this to other bundled themes very soon, and perhaps to sites with existing content in future releases of WordPress.
  • \n
  • Custom CSS with live previews – Ever needed to hide or tweak the look of something in your theme or from a plugin? Now you can do it with CSS and live preview the results while customizing your site. CSS can be a powerful tool; you may find that you won’t need the theme editor or child themes anymore.
  • \n
  • User admin languages – Just because your site is in one language doesn’t mean that everybody helping manage it prefers that language for their admin. To try this out, you’ll need to have more than one language installed, which will make a user language option available in your profile.
  • \n
  • PDF thumbnail previews – Uploading PDFs will now generate thumbnail images so you can more easily distinguish between all your documents.
  • \n
\n

As always, there have been exciting changes for developers to explore as well, such as:

\n
    \n
  • REST API content endpoints – If you only test one thing as a developer, please test these. This phase is particularly helpful for people building plugins, themes, and in-admin interfaces. Can you build the things you need? Are these ready for release, and is the world ready for them? (#38373)
  • \n
  • WP_Hook – The code that lies beneath actions and filters has been overhauled. You likely aren’t affected, but if you’ve done things to the $wp_filter global or experienced funky recursion bugs in the past, please take a moment to read the dev note and test your code.
  • \n
  • Custom bulk actions – List tables, now with more than bulk edit and delete.
  • \n
  • Expanded Settings Registration API via register_setting().
  • \n
  • For theme developers: Post type templates (#18375)
  • \n
  • More goodies for theme developers!
  • \n
  • Locale switching (#26511)
  • \n
  • Comment allowed checks have the potential for a back-compat break.
  • \n
\n

If you want a more in-depth view of what major changes have made it into 4.7, check out posts tagged with 4.7 on the main development blog, or look at a list of everything that’s changed. There will be more developer notes to come, so keep an eye out for those as well.

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

Happy testing, and please enjoy this extended haiku break, courtesy of Rami Abraham.

\n

Exquisite endpoints
\nExtol epic exabytes
\nEnabling earthlings

\n

Careful interfaces
\nConsiderately conjured
\nCustomizer chic

\n

Ring in the new year
\nWith elegance and balance
\nTwenty Seventeen

\n

Hooks hook healthily
\n17817
\nSane iterations

\n

Admin in your tongue
\nOne site, many languages
\nWe all speak WordPress

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4535\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:32:\"https://wordpress.org/news/feed/\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:44:\"http://purl.org/rss/1.0/modules/syndication/\";a:2:{s:12:\"updatePeriod\";a:1:{i:0;a:5:{s:4:\"data\";s:6:\"hourly\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:15:\"updateFrequency\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:4:\"site\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"14607090\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:42:\"Requests_Utility_CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:9:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Thu, 09 Feb 2017 07:19:32 GMT\";s:12:\"content-type\";s:34:\"application/rss+xml; charset=UTF-8\";s:25:\"strict-transport-security\";s:11:\"max-age=360\";s:6:\"x-olaf\";s:3:\"⛄\";s:13:\"last-modified\";s:29:\"Wed, 01 Feb 2017 15:58:56 GMT\";s:4:\"link\";s:63:\"; rel=\"https://api.w.org/\"\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";}}s:5:\"build\";s:14:\"20170126183219\";}','no'), + (215,'_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca','1486667973','no'), + (216,'_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca','1486624773','no'), + (217,'_transient_timeout_feed_d117b5738fbd35bd8c0391cda1f2b5d9','1486667974','no'), + (218,'_transient_feed_d117b5738fbd35bd8c0391cda1f2b5d9','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:61:\"\n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"WordPress Planet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"en\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"WordPress Planet - http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:50:{i:0;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"WPTavern: OSTraining Partners with GoDaddy to Launch Free WordPress Beginner Course on YouTube\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65805\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"https://wptavern.com/ostraining-partners-with-godaddy-to-launch-free-wordpress-beginner-course-on-youtube\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4409:\"

\n

OSTraining has launched a free 40-video WordPress Beginner course on YouTube, thanks to a sponsorship from GoDaddy. The open source software education site has created more than 3,000 videos for PHP platforms like WordPress, Joomla, Magento, and Drupal. This particular course, which has all new information for WordPress 4.7, was inspired by the company’s success in launching a free Drupal 8 course in 2016.

\n

“The original idea was a happy accident,” CEO Steve Burge said. “We did a Kickstarter project based around the launch of Drupal 8. That involved about 200 free videos, spread over several classes. The main class was ‘The Drupal 8 Beginner class’ and it went viral, getting over 1 million views in a year.”

\n

The Kickstarter campaign raised more than $12K towards its $10K funding goal. It was the first time OSTraining produced a free course. Once the videos were released, Burge and his team were amazed by how popular the course became.

\n

“It led us to re-think our business approach,” Burge said. “Rather than putting everything behind a paywall, we realized the power of giving away our best beginner material. From a business perspective, that made sense so long as we could find a sponsor.”

\n

OSTraining worked with Topher DeRosia to film the WordPress Beginner course after securing a sponsorship from GoDaddy. Although the company has done multiple versions of its beginner class over the years, with updates for changes in each release, WordPress 4.7 presents a new opportunity for content longevity.

\n

“We hope that by targeting 4.7 this class will last longer than most, because the new release cycle means a new version won’t be here in a couple of months,” Burge said.

\n

In addition to beginner topics like how to install WordPress, write posts, and use the media library, the course also includes information on getting started with WordPress plugins like NinjaForms and Jetpack. The last few videos cover more advanced topics like security, spam, staging, and performance.

\n

Although the official WordPress YouTube channel doesn’t have much educational content for beginners, the WordPress community in general is gaining a stronger presence on YouTube. Searching for “WordPress” turns up more than five million videos in many different languages. Educational topics like “How to make a WordPress website” and other tutorials are the most popular.

\n

WordPress businesses are also starting to see the value of having a solid presence on YouTube. Last year Automattic started beefing up its channel with a steady stream of new videos, including ads and tutorials for WordPress.com. Other large WordPress companies like iThemes, WPBeginner, and Yoast are publishing hundreds of free videos to YouTube, generating millions of views and thousands of subscribers.

\n

After finding success on YouTube with the free Drupal 8 videos, OSTraining has also launched a free Magento 2 course and has a free Joomla course on the way.

\n

“Getting more than 1 million views of the Drupal class really opened our eyes,” Burge said. “It’s almost like the difference between free, open source software and expensive, closed source software. You can reach so many more people by giving it away free.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 05:48:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"Dougal Campbell: Good Breakdown of Recent WordPress Vulnerability\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"http://dougal.gunters.org/?p=81297\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:91:\"http://dougal.gunters.org/blog/2017/02/08/good-breakdown-of-recent-wordpress-vulnerability/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2977:\"
\"\"

The Sucuri Blog has a good dissection of the recent critical WordPress REST API vulnerability. I won’t rehash the details here, but I did want to point out that this is why developers should remember to follow these two rules of defensive programming:

\n
    \n
  1. Sanitize inputs as early as possible
  2. \n
  3. Sanitize outputs as late as possible
  4. \n
\n

In this case, there was a failure to follow the first rule. There are a couple of different places where this could have been handled better.

\n

For one, unless there is a good reason to allow GET or POST variables to override a URL placeholder parameter, then that should be handled appropriately. If there is a reason for it, then those values should be forced to comply with the regular expression or data type that is expected.

\n

The other failure, beyond simple sanitizing, is that the logic of the update_item_permission_check() method simply didn’t properly account for the failure to retrieve a valid result from get_post(). This function will return post data either as an object or an array (depending on parameters), or null upon failure. The logic of the first conditional was looking for a valid post and invalid permissions on the post as an error condition:

\n
if ( $post && ! $this->check_update_permission( $post ) ) {\n    return new WP_Error( \'rest_cannot_edit\', \n        __( \'Sorry, you are not allowed to edit this post.\' ), \n        array( \'status\' => rest_authorization_required_code() ) );\n}
\n

Instead, it should have reversed the valid post logic, and looked for not a valid post, or invalid permissions:

\n
if ( ! $post || ! $this->check_update_permission( $post ) ) {\n    return new WP_Error( \'rest_cannot_edit\', \n        __( \'Sorry, you are not allowed to edit this post.\' ), \n        array( \'status\' => rest_authorization_required_code() ) );\n}
\n

And for good measure, it should probably check whether the return value was an instance of WP_Error, for future-proofing. This small change would have detected an invalid post ID, and still performed a valid permissions check for existing posts.

\n

Okay boys and girls, let’s say it all together now… “Security is hard.”

\n

 

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 01:46:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Dougal Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"WPTavern: WPWeekly Episode 262 – Interview With Morten Rand-Hendriksen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65818&preview=true&preview_id=65818\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/wpweekly-episode-262-interview-with-morten-rand-hendriksen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2668:\"

On this episode, Marcus Couch and I are joined by Morten Rand-Hendriksen to discuss his WordPress Telemetry proposal. We discuss the potential benefits of having an opt-in usage data collection system that could help core developers and others make informed decisions. Rand-Hendriksen also shares what he’s learned from teaching WordPress at Lynda.com, on how difficult it is for new users to grasp WordPress.

\n

Stories Discussed:

\n

BlogVault Security Breach Infects Customers’ Sites With Malware
\nWordPress REST API Vulnerability is Being Actively Exploited, Hundreds of Thousands of Sites Defaced
\nWP Super Cache 1.4.9 Patches Multiple XSS Vulnerabilities

\n

Plugins Picked By Marcus:

\n

Content Locker is a tool that allows you to configure content to be behind a paywall. Visitors can pay for content by liking, sharing, or registering an account.

\n

WP Jump allows you to bookmark your site in the admin bar. This plugin is useful if you have several, local or online, WordPress installations.

\n

Sidebar Content Clone is a handy solution for easily duplicating or cloning all widgets from one sidebar to another sidebar. It can also clear all widgets from a sidebar with a single click.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, February 15th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #262:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 01:03:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: WP Super Cache 1.4.9 Patches Multiple XSS Vulnerabilities\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65664\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://wptavern.com/wp-super-cache-1-4-9-patches-multiple-xss-vulnerabilities\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2318:\"

WP Super Cache is a nearly 10-year-old plugin that is maintained by Donncha Ó Caoimh and is actively installed on more than a million sites. Releases have been far and few between, but Ó Caoimh has released WP Super Cache 1.4.9 that patches cross-site-scripting vulnerabilities on the settings page.

\n

“Those pages are only accessible by admin users so an anonymous visitor to your site can’t come along and enable it to steal your login cookies but along with those fixes come many bug fixes so it’s worth upgrading if you’re using an old version,” Ó Caoimh said.

\n

In addition to patching security vulnerabilities, this release also contains a number of bug fixes. There’s also a fix in this version for those who host a lot of sites that use WP Super Cache and are running into issues with semaphores due to the possibility of users using file locking.

\n

If you’re running into this issue and need to disable file locking completely, Ó Caoimh suggests setting the WPSC_DISABLE_LOCKING constant in a global config file. “The file locking simply slowed down how fast cache files were created and is a hold-over from WP Cache when that plugin used to write directly to the cache files,” Ó Caoimh said.

\n

“This plugin writes to temporary files before moving to the final cache files so that locking isn’t really needed, but some sites still use it which is why it’s still around.”

\n

Ó Caoimh is already hard at work on the next version of WP Super Cache with an effort towards moving legacy cache files into supercache directories. This will improve performance and make the files easier to maintain.

\n

Users are encouraged to update to 1.4.9 as soon as possible. To see a detailed list of changes and bug fixes, visit the plugin’s changelog.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 08 Feb 2017 04:26:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"WPTavern: WordPress for Android Closes Google+ Community for Beta Testers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65699\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"https://wptavern.com/wordpress-for-android-closes-google-community-for-beta-testers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2616:\"

The WordPress mobile app for Android is shutting down its beta testing community that was hosted on Google+ for the past three years. The mobile team switched to a completely open beta last year, enabling them to recruit 1,500 new testers.

\n

The Google+ community, which currently has 1,152 members, has been the main channel for communication to and from the app’s developers. It was previously used to announce new beta versions and users posted regularly to confirm bugs, leave feedback on their experiences, and ask questions about upcoming features.

\n

“We kept this Google+ Community opened since then but it became a place for spammers,” Automattic mobile engineer Maxime Biais said. “We decided to close it.”

\n

Beta testers who want to continue participating are encouraged to use the open source project’s issue tracker on GitHub. Testers can also join the #mobile channel on WordPress Slack. Any testers who want to lave the beta can visit the app’s testing page and tap “Leave the Test,” followed by uninstalling and then re-installing the app from the Play Store to get the official stable version.

\n

Despite having a healthy troop of beta testers, the open source app rarely receives any contributions from developers outside of Automattic. Recent releases have included an expansion of Automattic’s monetization path with a link for users to manage and upgrade their WordPress.com plans. This has added fuel to the friction between the needs of self-hosted sites and the presence of WordPress.com features.

\n

Community members who have voiced complaints about the current features and goals of the app are welcome to participate in its development on GitHub. Beta testing is still open to all and new testers can opt in on the Google Play Store testing page. The Google+ Community will close on March 6, 2017, but questions and feedback are welcome in the #mobile Slack channel where the app’s developers are frequently available.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 08 Feb 2017 03:22:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"WPTavern: Google Updates AMP to Allow Sharing of Canonical URL\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65660\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"https://wptavern.com/google-updates-amp-to-allow-sharing-of-canonical-url\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4925:\"RC Cipriano\n

One of the main drawbacks of Google AMP has been brand confusion when viewing and sharing articles. Google launched the AMP project to speed up the mobile web, but in exchange publishers have had to give up control of how their AMP’d content appears. One of the most irksome aspects of interacting with AMP pages is the convoluted URL structure, which causes users to be hesitant to share the content.

\n

AMP appends google.com/amp/ to the beginning of the URL when copying the link, opening it in a browser, or sharing an article. Visitors who want to find the canonical URL have to return to Google to search for it. To the casual observer, it appears the visitor has landed on and is attempting to share a Google story.

\n

After nearly a year, Google is finally looking to remedy this sharing problem with an update to the AMP Viewer header. In a post on the Google Developers blog, the company officially recognized this problem and announced a change that will allow visitors to share the canonical URL:

\n

Many users have requested a way to access, copy, and share the canonical URL of a document. Today, we’re adding support for this functionality in form of an anchor button in the AMP Viewer header on Google Search. This feature allows users to use their browser’s native share functionality by long-tapping on the link that is displayed.\n

\nphoto credit: Google\n

The updated header with the anchor button is already available on the iOS Google app and will be coming to the Android app within a few weeks. Google is also working on using the Web Share API to let visitors use the platform’s native sharing flow with the original URL instead of the AMP viewer URL.

\n

“A thriving ecosystem is very important to us and attribution, user trust, and ownership are important pieces of this ecosystem,” Alex Fischer, Google software engineer, said.

\n

The ability to share the canonical URL is good news for existing AMP users but is probably not enough to convince skeptical publishers to start AMPing up their pages. Burying the publisher’s canonical link is just one of many reasons there has been such strong push back against the AMP project.

\n

Kyle Schreiber, whose post on the problems with AMP inspired discussions on Hacker News and Reddit, believes that “AMP is bad for the open web and should be changed or eliminated.”

\n

Schreiber contends that Google has designed AMP to keep the visitor within its own ecosystem. Publishers get locked in when access to Google’s news carousel is reserved for AMP’d sites only.

\n

“Clicking on an AMP link feels like you never even leave the search page, and links to AMP content are displayed prominently in Google’s news carousel,” Schreiber said.

\n

Last year the Wall Street Journal spoke with publishers who were critical with AMP but reluctant to speak publicly for fear of Google’s retaliation. Their AMP pages were generating around half as much revenue as pageviews on their full mobile sites due to Google’s limitations on the type of ad units available for AMP pages. Google’s response was that the company aims to drive more revenue to non-AMP pages but isn’t quite there yet.

\n

At the end of February the AMP project experiment will have been publicly launched for a year but many smaller publishers are still hesitant to get on board. They are concerned that AMP oversteps its reach without delivering enough value in return. The strategy of taking an absurd amount of control over publishers’ content and then slowly doling it back out (as with the new button for sharing the canonical URL) demonstrates how easily Google has established itself as the de facto arbiter of the mobile web. If publishers continue to yield control of their mobile content, Google will have every incentive to make AMP support the next official ranking signal.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 07 Feb 2017 18:58:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"HeroPress: Hitting Rock Bottom\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1592\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://heropress.com/essays/hitting-rock-bottom/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5441:\"\"Pull

I’d never been to The Capital Grille. I’d been to nice steak houses before, but this felt like a big deal. At least it should have. I was too busy freaking out because my wife wasn’t responding to one of my texts. That’s when I knew I hit rock bottom. That mental illness had taken full control. Ruining a $50 steak will make you realize that.

\n

I hit my rock bottom in the middle of WordCamp Orlando 2016. Sitting across from the wonderful Mike Hansen, sharing the best mashed potatoes I’d ever had, I was miserable. Not because Mike was bad company, but because I was so inside my head that I couldn’t control my thoughts. Dark thoughts. Suicidal thoughts. I was a mess, but Mike and the rest of the crew from BlueHost tried to keep me calm and engaged in conversation. I kept apologizing, but they stuck with me. It was pretty obvious I wasn’t okay, and they did their best. That’s what WordPress is. When you hear about “the community,” that’s what we’re really talking about.

\n

The next day, I was originally scheduled to speak, but had already backed out. As an organizer of the event, I felt awful. I know how much of a pain it is to rearrange the schedule last-minute because I’m the one, at least for the past 3 years, has made Orlando’s schedule. But the team rallied around me.

\n

They knew I wasn’t okay, and supported me without me needing to ask.

\n

But then something amazing happened.

\n

In the confusion of rescheduling speakers – caused by Hurricane Matthew, not Hurricane Mental Illness – a replacement speaker for one of our workshops had never actually been notified that he was speaking and didn’t show. Whoops. Even though I’d planned to just lay low in the developer workshop all day, as soon as I got word that a replacement was needed, I grabbed my laptop and headed to the next room. I don’t remember much of what I said, but I gave a talk on themes completely off the top of my head. And then it hit me. I know what I’m doing. I can do this. I’m going to be okay.

\n

Road To Recovery

\n

The next day, I went to see my doctor. I was diagnosed as bipolar. The dragon I’d been fighting for 15 years finally had a name. Two prescriptions later and I was on the road to recovery. I’m still on it, but WordPress is helping drive the engine.

\n

Since WordCamp Orlando, my business has taken off. I’ve started and completed more projects in the past 3 months than I did the entire rest of 2016. And all of that was possible because of the support I received that weekend. When we talk about how wonderful the WordPress community really is, we mean it. It saves lives.

\n

There’s a lot more to my story – coming out as non-binary, a shuttering business partnership to salvage a great friendship – but I don’t want to ramble.

\n

It’s time to pay the support I received forward.

\n

We all need someone to listen. Someone to remind us that it gets better. That we will make it to tomorrow.

\n

If you’re struggling, drop me a line on Twitter or send an email. I’ll be waiting on the other end to lend an ear and a helping hand.

\n

The post Hitting Rock Bottom appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 07 Feb 2017 12:00:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Adam Soucie\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"WPTavern: WordPress REST API Vulnerability is Being Actively Exploited, Hundreds of Thousands of Sites Defaced\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65651\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:120:\"https://wptavern.com/wordpress-rest-api-vulnerability-is-being-actively-exploited-hundreds-of-thousands-of-sites-defaced\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5617:\"photo credit: stevendepolo hypodermic needle IMG_7418(license)\n

At the end of January, WordPress 4.7.2 was released to fix four security issues, three of which were disclosed at the time of the release. These included a SQL injection vulnerability in WP_Query, a cross-site scripting (XSS) vulnerability in the posts list table, and the Press This feature allowing users without permission to assign taxonomy terms. The fourth and most critical issue, an unauthenticated privilege escalation vulnerability in a REST API endpoint, was fixed silently and disclosed a week after the release.

\n

Contributors on the release opted to delay disclosure in order to mitigate the potential for mass exploitation, given that any site running 4.7 or 4.7.1 is at risk. This allowed time for users to update manually and for automatic updates to roll out.

\n

“We believe transparency is in the public’s best interest,” WordPress Core Security Team Lead Aaron Campbell said. “It is our stance that security issues should always be disclosed. In this case, we intentionally delayed disclosing this issue by one week to ensure the safety of millions of additional WordPress sites.”

\n

WordPress worked with Sucuri, the company that discovered the issue, along with other WAF vendors and hosting companies to add protections before the vulnerability was publicly disclosed.

\n

The vulnerability has been public for less than a week and is now being actively exploited. Thousands of WordPress sites have been defaced with messages like “Hacked by NG689Skw” or “Hacked by w4l3XzY3” or similar. Googling for information about these particular hacks returns thousands of other hacked sites in the results.

\n

Sucuri founder and CTO Daniel Cid said his team saw exploits in the wild less than 24 hours after the disclosure. The attacks are primarily simple defacements so far.

\n

“There are some good bad guys updating the post excerpt with the message: ‘Update WordPress or you will be hacked,’ which is kind weird,” Cid said. “But overall we’re seeing just simple defacement attempts, using modified versions of the exploit that was shared publicly.”

\n

Multiple Campaigns Have Defaced Hundreds of Thousands of WordPress Sites

\n

Sucuri is monitoring multiple defacement campaigns, each with varying degrees of success. The company published an update on the active attacks as well as the IP addresses they are originating from.

\n

“We are currently tracking four different hacking (defacement) groups doing mass scans and exploits attempts across the internet,” Cid said. “We see the same IP addresses and defacers hitting almost every one of our honeypots and network.”

\n

One defacement campaign Sucuri is tracking already has more than 68,000 pages indexed on Google. After perusing the WordPress.org forums, the problem seems to have a much larger reach than Sucuri’s network has initially detected. For example, “Hacked by NG689Skw” returns approximately 200K indexed results. “Hacked By SA3D HaCk3D” returns more than 100K results. There are multiple permutations of this defacement in play on WordPress websites across the web. Not all results that share this same campaign structure are guaranteed to be associated with this vulnerability, but the few listed above were recent posts on the WordPress.org forum from users who failed to update to 4.7.2 in time.

\n

\n

“On our end, we are seeing a big growth on exploit attempts, specially for defacement,” Cid said. “But SPAM SEO is slowly growing too.”

\n

Cid said the vulnerability allows attackers to inject content into a post or page by default, but defacement is the easy first step, along with SEO spam. If a site has a plugin like Insert PHP or PHP Code Widget installed, the vulnerability can lead to remote code execution. These two plugins have more than 300K combined active installs and there are others that perform similar functions.

\n

“The core of the issue is people not updating,” Cid said. “Even with auto and simple updates, people still do not update their sites.”

\n

Needless to say, if you haven’t updated to 4.7.2 and your site is running 4.7.0 or 4.7.1, you are at risk for content injection. For most sites that have been defaced, the simplest solution is to update to the latest version of WordPress and rollback the defaced post(s) to a revision.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 07 Feb 2017 00:36:20 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: BlogVault Security Breach Infects Customers’ Sites With Malware\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65658\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"https://wptavern.com/blogvault-security-breach-infects-customers-sites-with-malware\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2120:\"photo credit: Anonymous Account Code(license)\n

BlogVault, a real-time backup and migration service with a WordPress plugin that’s active on more than 20K sites, announced over the weekend that it suffered a security breach that exposed data. Akshat Choudhary, founder of BlogVault, explains that some customer sites were accessed without authorization and were infected with malware.

\n

BlogVault is contacting customers whose sites are affected and removing malware to secure the data. According to Choudhary, all backups generated by BlogVault are safe. FTP, login credentials, and payment related data is safe. The service doesn’t store credit card information as payments are processed through Stripe.

\n

The service has carried out a series of security precautions including, updating the plugin to 1.45, resetting passwords for all customer accounts, and is meticulously analyzing its systems. Customer passwords were encrypted, making them difficult to retrieve.

\n

BlogVault is sharing information about the breach as it becomes available. “We understand that it can be frustrating for you; as it is for us, to not have all the information,” Choudhary said. “We aim to be comprehensive in our response to the issue. Once we have safeguarded our customers’ data, and our investigation is complete we will be able to share more details.”

\n

Customers are encouraged to update the BlogVault plugin to 1.45 as soon as possible and to keep an eye on the service’s security updates page for new information.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 06 Feb 2017 22:04:48 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WPTavern: Content Creation Is About More Than an Editor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65626\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://wptavern.com/content-creation-is-about-more-than-an-editor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:16655:\"Reid Peifer\n

This is a guest post written by Reid Peifer, Partner and Art Director at Modern Tribe. In this post, Peifer shares his experience, opinions, and things to consider as the content creation experience in WordPress is revamped.
\n

\n
\n

Let’s imagine a world where the tools that we have don’t limit us, but instead enable us to create unique, contextual, and thoughtful content. We don’t fight with them, we don’t quibble over line breaks and margins.

\n

We don’t argue about whether or not two images should line up. We’re not limited to bold, italic, underline, and bullet points to express our ideas. We’re not limited to taxonomies for our organization and obtuse relational algorithms to determine complementary content.

\n

This is the reality that we should have. Content management should be more than TinyMCE and meta boxes. While WordPress has continued to grow into a mature platform, the focus on what should be its core mission has taken a second seat.

\n

We (the WordPress community at large) have gotten so excited about making WordPress awesome, we lost sight of our charge – to enable WordPress to make awesome things. To democratize publishing. To get the stories out of people’s heads and hearts and out to the world.

\n

We forgot about content. Without content, WordPress and all its bits and bobs amount to much ado about nothing. While it’s true that WordPress has grown to an almost unimaginable scale, the content it creates today isn’t going to support the needs of tomorrow’s web.

\n

I couldn’t make it to WordCamp US, but I’ll admit that I sat slack-jawed with joy listening to the video calling for a focus on the editor in 2017.

\n

The initial discussions happening on make.wordpress.org and within slack are incredibly encouraging. The community has taken this charge and is moving forward with a passion that reflects the importance of the task at hand.

\n

While I absolutely applaud their effort, and think the conversation thus far has been valuable – it immediately went to the editor itself. What makes a good editor? The discussion is focused on the UI, what format the data should be stored in, should shortcodes be used etc. All good questions, but if we answer them first – we limit the scope of our inquiry.

\n

The first question should be ‘what makes good content’? What is ‘content’? Does content only live on the post or the page? What are its essential elements? How do those elements interact and relate to each other? What’s the life cycle of content? Where and how does it surface throughout the site? Does content behave differently in different scenarios or positions?

\n

If we start with these questions, their answers become our objectives for the UI. The question ‘what makes a good editor’ has a clear answer – one that makes achieving these goals delightful and effortless.

\n

The Need for a More Robust Content Creation Tool Is Not New

\n

Years ago, when ‘magazine layout’ was the new hot thing, we had the privilege of working with some large publications. In our design discovery, we learned how they thought about the presentation of their content, how layouts would change based on the content they were presenting that day.

\n

The rigid templates of the web that we were used to building couldn’t possibly meet the strategy that they had employed for ages in print. The sports, business, and lifestyle sections all needed to be able to leverage different layouts and presentation depending on their immediate needs.

\n

They needed to change day after day. We were going to toss out what we knew about building sites in WordPress. We were going to have to ditch the template hierarchy and start from scratch. The taxonomy term page in the admin wasn’t going to cut it.

\n

Meanwhile, ‘art directed’ or ‘editorial posts’ became a thing. Folks like Jason Santa Maria and Trent Walton were pumping out beautiful, bespoke articles rich in editorial design. I’ve never been more excited about the web’s potential than when I saw those first Jason Santa Maria articles – I’m a sucker for good content design.

\n

At some point shortly thereafter the NY Times published Snowfall, and everyone we talked to needed ‘long form’ (even if they had no idea why or what that could mean). I ran my own experiments trying to recreate that functionality in WordPress – at the time that meant full markup and a reams of custom CSS all cooked into the WYSIWYG. Beautiful output, crappy experience.

\n

These are two really common (and old) examples of how the content needs more than the tool can offer.

\n

We toiled away at these challenges over the years and have solved them for our particular use cases. Every project pushes our own solutions forward. Here’s some of what we learned.

\n

(So we’re all talking in the same terms, below when I reference Content Creation I mean the act of creating a new piece of content. When I reference content management, I mean both the content model, and the organization and presentation of content throughout the site.)

\n

We Should Learn From Modular Development & Atomic Design

\n

We should be applying modular development and atomic design principles to both content creation and content management.

\nAtomic Design Principle as Explained by Brad Frost\n

We’ve adopted a modular and systematic thinking to our coding practices, breaking once monolithic templates into smaller reusable parts. We’ve applied design systems thinking and atomic approaches to our UI/UX and visual design work.

\n

Small pieces come together to create components, which come together to create pages which come together to create full experiences. It’s the LEGO blocks school of design and build. This is a refrain that many of us know well.

\n

Extending That Philosophy to Content Creation and Management

\n

While we’ve embraced this idea of systemic thinking in how we design and the infrastructure of what we build – we haven’t gotten to thinking about how to approach content creation and content management (content strategy) in a similarly modular fashion.

\n

This is primarily because our tools won’t let us apply modular thinking to content creation and management. CMSs, including WordPress, are generally limited to predefined structures and organizational models.

\n

The role of templating in the overall CMS architecture limits the flexibility of our content creators. Today, content strategy occurs before, and then is at the mercy of development. In a better world, our content strategy could use design and development to grow, adapt, and change over time gracefully. Our publishing tools could become the method by which our ongoing content strategy evolves.

\n

Modular Content Creation

\n

Let’s think about the idea of content on the web. Much of what we see on the web today is a logical baby step forward from print. Titles and headlines, paragraphs of copy, images, pull quotes. Those pieces are a 1:1 analog. Because it’s a digital medium, and we’re oh so clever, we’ve included videos, image galleries, those dang carousels, and whatnots as well.

\n

For most of you, those elements are plopped onto a webpage using a WYSIWYG editor. You fight with TinyMCE for supremacy. Perhaps your theme or plugin has dedicated meta boxes for special elements. There may be a slide show or gallery at the top of the page.

\n

When we look at most executions of content on the web, they are in fact less interesting, less engaging, and less beautiful than what our print counterparts have been doing for ages (and I mean literal ages).

\n

We have all of the advantages but fail at creating anything more interesting than a preformatted spew of content. Our insistence that content and presentation need to be separate is an overstep – they are related at their very core. Was there an earth shattering news story yesterday? Too bad, you get the same 400px featured image slot that every other story gets.

\n

I refuse to believe this is the best we can do.

\n

TinyMCE is not the pinnacle of content creation tools.

\n

The platform that can figure out how to make content creation engaging and powerful is the platform that is going to continue to grow. While Calypso is an interesting engineering feat and is a helpful model for future development, it did little to push forward what it actually means to create content within the WordPress framework.

\n

Trying to fight this out in a single WYSIWYG sucks

\n

Our content creation tools should allow us to approach content creation the same way that we think about design. What are the atomic elements of my content strategy? How can I remix, reassemble, and work with those elements to create interesting content?

\n

It must be systemic. All of the elements and components must work as part of an overall structure and strategy to form a coherent whole. Just like our design work, and our development work. Our strategy, design, and development process is focused on identifying and creating patterns.

\n

Throughout the content strategy and design portion of the project, we’re focused on identifying what those patterns are at their very core; how do we break them down into their smallest parts? Then, through design and development, we start putting those pieces together in a way that supports internal objectives and end-user objectives.

\n
    \n
  • Elements – the simplest unit. Strings of text, single images, videos, a form input field or button
  • \n
  • Components or blocks – groupings of elements that form a cohesive unit
  • \n
  • Modules – groupings of complementary components to for a larger whole
  • \n
  • Pages (or posts, or CPTS or whatever) – groupings of modules to form a complete piece of content
  • \n
\n

To push WordPress’ content creation tools forward, we must look at what those elements, components, and modules could be, how they relate to each other. Are they created on the fly, are they opinionated or flexible. Then how do we create them. How do they relate to themes and data sanctity. And on and on.

\n

Modular Content Management (modular content strategy)

\n

While there are enough visual references to start to imagine what a modular content creation tool looks like, modular content management is a bit tougher to visualize so hang with me.

\n

Within modern CMSs we’ve got a couple of tools at our disposal. Tags and categories, coupled with parent / child relationships, are the primary organization structures cooked into WordPress. Of course those can be extended to include any number of taxonomical structures imaginable.

\n

Tools like Post to Posts (P2P) provide and create an interesting peer-to-peer layer allowing you to create 1:1, 1:many, or many:many relationships.

\n

That’s pretty much it. The mechanics of relationships are defined and subject to code. I can assign content into those defined buckets. I have fixed templates that display those buckets in predetermined ways. If I want to vary from that, if I want to create relationships and remix content as a content manager or a content creator, I’m outta luck.

\n

Think about the category term screen within WordPress. What sort of content management tools do you have at your disposal there? What can you do? What can you manage? Not much at all. Look back over the history of WordPress releases – when has that screen changed?

\n

We are not living up to our potential if we stop at a taxonomical organization as the be-all-end-all of content management.

\n

The Loop is one of the central concepts of WordPress content management. While it is incredibly powerful and key to understanding how to think about your content, it’s the beginning, not the end, of content management. We cannot stop at the ‘list’ as the pinnacle of our content strategy.

\n

Needs Change Over Time

\n

We do a lot of work for universities and schools. Each and every one has a category landing page dedicated to current students. Throughout the year, they want to gather and surface all kinds of different elements, pieces of content, and tools for those students.

\n

In WordPress terms, we’ve got pages, blog posts, events, tools, resources, key dates, applications and files, on top of video galleries and who knows what other CPTs your content strategy has formed.

\n

The needs of those students change through the year – welcome materials in the fall, midterm information in the winter, job support and internship programs in the spring. If our university friends were tied to templates where those needs were articulated in code, they’d need to go back under the hood to update their content strategy and approach it at least quarterly.

\n

Relationships Should Be Richer Than Taxonomy Terms

\n

Real content management would enable content creators to package and present the things they’ve made in thoughtful and unique ways–where the relationships and connections have value beyond each individual piece. Together they become a cohesive whole. That’s a content strategy that’s worth a damn. If you can’t do that, your content strategy is really just a thoughtful list of categories and tags.

\n

Our content management tools should enable and empower you to gather your content and present it how you need to. You shouldn’t be limited solely by lists and algorithms. We want our clients to be able to create unique cross-sections of content where they need, not where they happen to have pre-baked templates that allow them do so.

\n

An example to help visualize: Sticking with our college student, imagine the registrar publishes a deadline for financial aid application. The residential life department has updated forms for getting a spot in the dorms.

\n

The student life department publishes a list of events for new students to meet each other. Each piece of content lives in its own silo in disparate places on the university website. Now imagine you’re in the communications department, and you’ve been charged with ensuring that new students get the information they need.

\n

Do you A: manually type excerpts to those pieces of content in a sidebar widget, hardcode some links trying to apply a specific class that makes the links look like buttons but you can’t remember if it’s .btn_round or .btnround or .round_btn_blue_large, and pray it stays in the same place OR B: create a ‘Key Info for New Students’ module by referencing each piece of content dynamically and dragging it at the top of the homepage displacing the out of date commencement gallery that you forgot to take down last spring?

\n

Old school is option A. New School option B (and it’s not the cool old school, it’s the lame frustrating old school).

\n

The Way Forward Is Modular

\n

If you’re new the concept of atomic design, read this piece by Brad Frost first. If you want to see how we solved some of these problems specifically – there’s a couple of WordPress.TV talks where I harp on this stuff here and here.

\n

We’ve got to strive for more than just an updated WYSIWYG editor. We’ve got to aspire to a bigger and broader understanding of what content is and could be. When we’ve got that vision, we’ll be able to build tools to help realize it.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 04 Feb 2017 05:32:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WPTavern: More Than 50% of Web Traffic is Now Encrypted\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65505\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"https://wptavern.com/more-than-50-of-web-traffic-is-now-encrypted\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6155:\"photo credit: Chris Anderson\n

In October 2016 Mozilla Telemetry showed more than 50% of page loads were encrypted with HTTPS. This week Let’s Encrypt is reporting that more than 50% HTTPS page loads is now the norm, a major milestone for HTTPS adoption across the web.

\n
\n

Per @Firefox Telemetry, more than 50% HTTPS page loads is now the norm! pic.twitter.com/7mo8VPrpbq

\n

— Let\'s Encrypt (@letsencrypt) January 30, 2017

\n

\n

Google’s Transparency Report shows similar numbers for HTTPS usage, confirming that secure browsing has become the norm. Google found that HTTPS is less prevalent on mobile devices than desktop but the percentage of pages loaded over HTTPS is steadily on the rise across the board.

\n

\n

The launch of Let’s Encrypt, the new free and open certificate authority, is one of the main factors causing the rapid rise in secure traffic. Thanks to sponsorships and partnerships with hosting companies and services, Let’s Encrypt closed out 2016 with more than 20 million active certificates.

\n

Google’s influence has also been one of the driving factors in HTTPS adoption after the search engine announced in 2014 that it was starting to use HTTPS as a ranking signal. As of 2017, Google Chrome is adding a prominent security warning for HTTP sites.

\n

Throughout 2016 many major publications moved to HTTPS, including the Guardian, Washington Post, Wired, Engadget, Ars Technica, and New York Times, to name a few. Nearly all of them publicly documented the challenges and triumphs of their HTTPS transitions.

\n

In July 2016, security researcher Scott Helme crawled the Alexa Top 1 million sites to measure how security is progressing on the web. In his previous scans, which included August 2015 and February 2016, the top million sites saw a 42% increase in HTTPS adoption. Helme’s July 2016 crawl showed a 46% increase from February 2016.

\n

\n

Despite the overall growth, the number of HTTPS-enabled sites is just 13.75% of Alexa’s top million. However, these are the sites that serve the most traffic: Google, YouTube, Facebook, Amazon, and others. These results are consistent with Electronic Frontier Foundation’s (EFF) reports that HTTPS adoption is growing the fastest with smaller, previously-unencrypted sites.

\n

Let’s Encrypt’s launch has also had a ripple effect on commercial certificate authorities who are now moving to offer domain validated SSL certificates for free in order to promote their other security products. Symantec is now partnering with hosting companies to issue free certificates as part of its Encryption Everywhere program. Comodo also announced a partnership with cPanel in December 2016 to automatically issue SSL certificates at no additional costs to consumers via cPanel’s AutoSSL feature.

\n

Securing half the web’s traffic is a major landmark on the road to a fully encrypted web, but encryption advocates will need to continue educating website owners on the benefits of making the switch to HTTPS. With the necessary infrastructure now in place for anyone to get an auto-renewing SSL certificate for free, Let’s Encrypt director Josh Aas is optimistic about progress on the remaining 50% of the web.

\n

“As exciting as 2016 was for encryption on the Web, 2017 seems set to be an even more incredible year,” Aas said “Much of the infrastructure and many of the plans necessary for a 100 percent encrypted Web really solidified in 2016, and the Web will reap the rewards in 2017. Let’s Encrypt is proud to have been a key part of that.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 03 Feb 2017 23:36:12 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"Donncha: WP Super Cache 1.4.9\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://odd.blog/?p=89500145\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://odd.blog/2017/02/03/wp-super-cache-1-4-9/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5137:\"

There’s a new release of WP Super Cache out and it’s a security release to fix XSS problems in the settings pages. Those pages are only accessible by admin users so an anonymous visitor to your site can’t come along and enable it to steal your login cookies but along with those fixes come many bug fixes so it’s worth upgrading if you’re using an old version.

\n

From the Changelog:

\n
\n
    \n
  • Fixed bug when not running sem_remove after sem_release. See https://github.com/Automattic/wp-super-cache/issues/85
  • \n
  • Fixed a PHP error impacting PHP 7.1.
  • \n
  • Fixed a bug where we cached PUT and DELETE requests. We’re treating them like POST requests now.
  • \n
  • Delete supercache cache files, even when supercache is disabled, because mod_rewrite rules might still be active.
  • \n
  • Updated the settings page, moving things around. #173
  • \n
  • Make file locking less attractive on the settings page and fixed the WPSC_DISABLE_LOCKING constant so it really disables file locking even if the user has enabled it already.
  • \n
  • Added a WPSC_REMOVE_SEMAPHORE constant that must be defined if sem_remove() is to be used as it may cause problems. #174
  • \n
  • Added a “wpsc_delete_related_pages_on_edit” filter that on returning 0 will disable deletion of pages outside of page being edited. #175
  • \n
  • Fixed plugin deleting all cached pages when a site had a static homepage. #175
  • \n
  • Make sure $cache_path has a trailing slash #177
  • \n
  • Remove flush() #127 but also check if headers are empty and flush and get headers again. #179
  • \n
  • Add fix for customizer #161 and don’t cache PUT AND DELETE requests #178
  • \n
  • Check for superglobals before using them. #131
  • \n
\n
\n

You can click through to each of the Github pull requests above to see discussion around each bug fix.

\n

If you’re hosting many sites that use WP Super Cache and you’re seeing issues with semaphores it may mean that your users are using file locking. It’s really not needed and in #174 there’s a fix that went into this release. You can disable file locking completely by setting the constant “WPSC_DISABLE_LOCKING” in a global configuration file. The file locking simply slowed down how fast cache files were created and is a hold-over from WP Cache when that plugin used to write directly to the cache files. This plugin writes to temporary files before moving to the final cache files so that locking isn’t really needed, but some sites still use it which is why it’s still around.

\n

I’ve already been working on the next release with efforts to move the legacy cache files into the supercache directories. This will make it easier to maintain them and improve performance. We really need to find a better name for this caching method however. It caches everything – page contents and http headers so it’s quite useful!
\nIf you’re going to test that PR, try #176 too. The plugin only deletes index.html type files right now but this chunk of code cleans up various for loops in the plugin and also deletes any file in the named directory. There are some restrictions on it so it won’t delete anything outside the cache directory.

\n

Thanks to everyone who contributed to this release!

\n\n

Related Posts

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 03 Feb 2017 17:46:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Donncha\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"WPTavern: WP-CLI 1.1.0 Released, Project Shifts to Expand Package Index\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65553\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:81:\"https://wptavern.com/wp-cli-1-1-0-released-project-shifts-to-expand-package-index\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2920:\"

\n

WP-CLI 1.1.0 is now available, two months after 1.0.0 was released. The project shifted after 1.0.0 to focus on its package ecosystem, encouraging new features to be built as standalone packages instead of rolling them all into WP-CLI core. Daniel Bachhuber, the project’s maintainer, moved WP-CLI in this new direction to better distribute the maintenance burden among package maintainers.

\n

Version 1.1.0 includes 23 command improvements, 8 framework enhancements, and dozens of bug fixes. The release had a 16% increase in the number of contributors from 1.0.0. It is the first major release since the project was brought under the umbrella of WordPress.org at the beginning of 2017.

\n

\n

The process of migrating the wp-cli.org website to wordpress.org will take a couple of months, but the website documentation has already found a new home at make.wordpress.org/cli/handbook/. Contributors can edit documentation by clicking on the button at the top of any page, which links to the handbook’s GitHub repository.

\n

WP-CLI to Expand Package Index

\n

As part of the new focus on the WP-CLI package ecosystem, Bachhuber has created a GitHub repository for logging ideas for new packages. The best ideas will be maintained as canonical community packages.

\n

“The end goal for the WP-CLI package index is to be a directory of well-maintained, canonical features,” Bachhuber said. “Packages will be considered community projects shepherded by one or more maintainers, instead of the domain of a specific author.”

\n

Bachhuber is looking to hire someone to assist in maintaining the project in a part-time capacity for 5-10 hours per week. This person will work on supporting package maintainers and vetting ideas for new packages.

\n

The next release cycle will focus on splitting internal commands into separate packages with the goal of having official maintainers for them in the future. Contributors are also planning to create new pages on WordPress.org for the WP-CLI commands directory and internal API docs.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Feb 2017 18:16:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"Post Status: Editing and customization core focus areas — Draft Podcast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=33385\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"https://poststatus.com/editing-customization-core-focus-areas-draft-podcast/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2164:\"

Welcome to the Post Status Draft podcast, which you can find on iTunes, Google Play, Stitcher, and via RSS for your favorite podcatcher. Post Status Draft is hosted by Joe Hoyle — the CTO of Human Made — and Brian Krogsgard.

\n

In this episode, Joe and Brian talk about two of the three WordPress core focus areas — the customizer and the editor. There has been some news lately with initial ideas and mockups for each project, and we discuss the importance of these features, as well as what’s happening with these projects so far.

\n\nhttps://audio.simplecast.com/59336.mp3\n

Direct Download

\n

Links

\n\n

Sponsor: Pippin’s Plugins

\n

This episode is sponsored by Pippin’s Plugins. Pippin’s Plugins creates a suite of plugins that work great alone, or together. Whether you need to restrict content, sell downloads, or start an affiliate program, they’ve got you covered. For more information, check out their website and thank you to Pippin’s Plugins for being a Post Status partner.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Feb 2017 17:49:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Katie Richards\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"WPTavern: WPWeekly Episode 261 – WordPress for Schools With Cameron Barrett\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65559&preview=true&preview_id=65559\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"https://wptavern.com/wpweekly-episode-261-wordpress-for-schools-with-cameron-barrett\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2598:\"

In this episode, Marcus Couch and I are joined by Cameron Barrett, founder of SchoolPresser, LLC. Barrett explains how he negotiated and helped migrate Newark New Jersey’s public school system from a proprietary CMS to WordPress. He shares the pitfalls he experienced and the amount of money the district is saving since making the switch. Barrett also provides tips and suggestions on how to sell WordPress as a solution to school districts.

\n

We didn’t dive as deep as we wanted to on the topic but if you’d like to learn more, please watch the presentation he did at WordCamp US. In it, he provides more details of the migration, financials, and there’s a great question and answer session at the end.

\n

Stories Discussed:

\n

WordPress 4.7.2 Security Release

\n

Plugins Picked By Marcus:

\n

Birthday Mail BP is an automated function for BuddyPress that sends birthday emails to members on their birthday. It’s a great way to express birthday wishes or to present a coupon or discount code to members.

\n

WC Document Preview adds a document preview feature to WooCommerce similar to how Amazon allows you to preview books. This is handy for ebooks and digital products that lend themselves to previews.

\n

TM Style Switcher allows you to save a theme’s settings as skins, switch between them, and move skins from one WordPress site to another.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, February 8th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #261:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Feb 2017 00:30:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"HeroPress: The Joy of Being with WordPress Community\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1586\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://heropress.com/essays/joy-wordpress-community/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:11955:\"\"Pull

When my friend Mahangu first recommended me to Topher to write an essay for HeroPress, I could not believe his words. Quite confused I asked Topher, he repeated the same ‘Share your story on HeroPress’. It was unbelievable yet a beautiful sentence that left me stunned with pride.

\n

HeroPress has been a place where I occasionally read the stories of the WordPress heroes. Reading the inspiring stories, I have always found new energy for Work every day. Never thought my story would be worth this platform, I was overwhelmed to receive that message from Topher.

\n

I am NO Hero but just another full stack WordPress developer. More than that, I am a 24 years young web dude from Nepal. Nepal is a small country that lies in the foothills of the immense and sensational Himalayas. Moreover, it is the land of incredible natural beauty, adventure, and ancient wisdom and enlightenment. And this land has always inspired me to take tiny steps of truth towards the mountain-high peak.

\n

I could not agree much with Mahangu and Topher but I decided to share my story on this amazing platform. After all, I am not any exceptional but someone who wants to be a hero like (almost) everyone.

\n

How I started?

\n

Even though I was highly interested to computer from early childhood, I got one of my own only when I was in the 4th grade. As a curious child, I learned about technical aspects of computer from my senior brother and within a year or so on I started fixing the neighbors and friends computer. Since then I had a will to get things “right” as opposed to just getting things “working”. I vividly recall those days when I used to spend hours of my holiday playing Mario. Honestly, that’s still one of my favourite game. \"?\"

\n

Back in those days, computer and internet were limited to few cyber cafes in town. I barely had any idea what they actually meant for except gaming.

\n

I thought they were established for the foreigners as they were mostly visited by the international tourists.

\n

After SLC examination (10th grade in Nepal), we have 3 months long vacation when students take extra classes such as bridge courses to prepare themselves for college. Since I was from the best school and was quite good at study I didn’t go for classes required for joining college. That was the time when I enrolled in a computer institute for hardware classes as I was quite interested to know how machine work. Thereafter, I joined college with Science faculty. The only motive behind joining the hardware class and choosing ‘Science’ was to prepare myself for mechanical engineering.

\n

But I could not do it. Physics, Chemistry barely made any sense to me and therefore started questioning its applicability in my day to day life. As a result, I failed formal education system.

\n

This is how I faced the first and last (till now) “failure” in my life, I dropped down engineering dream right there.

\n

Yet I no more worry, destiny had something other stored for me.

\n

Despite all, I had kept myself engaged with particular computer science, technology and web. I had somehow managed to learn basic HTML, CSS and designing stuff. I had made contacts with a number of people mostly senior to me who worked with programming, blogging. And one of them has a great role in shaping me as a ‘programmer’. Simultaneously, I read a lot of articles, followed people who mastered in programming which all supported my ‘new dream’ to become a ‘Programmer’.

\n

As suggested by a friend of mine, I created my first blog in 2010 using Blogger platform. Later, I came to know that WordPress was a better platform with more possibilities and finally switched to WordPress 3.2 after a recommendation from one of my seniors. To my surprise, it was more wonderful than what I actually heard. I loved WordPress. Thereafter, I started tweaking designs and other aspects. Since then, I haven’t looked back.

\n

My Contributions / Together with WordPress

\n

Above all, the global community of WordPress has been a major inspiration for me. I am always grateful to the community and millions of WordPress lovers for the generous resources. I have also been actively contributing to the WordPress translation.

\n

Greatly benefited by the works of others, I always wanted to give back to the community. The same instinct led me to the person I am today. Literally, volunteering for making WordPress platform for everyone has given me all the honors including this (feature on HeroPress).

\n

In 2014, among various WordPress possibilities, WooCommerce is the one which intrigued me from the very beginning. With the growing eCommerce market, I knew that it was going to be a excellent piece of software in the future because of its incredible features. Using the plugin and analyzing it from the user’s perspective, I made numerous enhancements on WooCommerce.

\n

I introduced Nepali currency symbol in WooCommerce version 2.2.3 which proved to be a milestone in developing eCommerce in my country Nepal. Additionally, I developed a Nepali payment gateway WooCommerce eSewa plugin without any incentive. The best thing about this whole thing is that, I got great help to deal with product platform from amazing folks like Mike Jolley, Claudio Sanches and James Koster. During the period, I learned so much about WooCommerce and coding in general. Since then, I have been reporting several bugs/issues and enhanced the plugin with 200+ pull requests on WooCommerce Github repository. Moreover I have also contributed to Storefront theme.

\n

Since I was already technical bent, I learned about Vagrant for development environment. My first instinct was to use Varying Vagrant vagrants (VVV). But as a developer, I wanted more flexibility over the stack I used. So I started looking for alternative and found PuPHPet. For those who don’t know, PuPHPet is – “a simple Vagrant/Puppet GUI”. In order to make it more robust, I started contributing to this project and have also introduced WP-CLI support.

\n

Afterward, I started automating my development approach. Since there was no good grunt package available to compile PO to MO files, I developed grunt-potomo.

\n

Earning my Living with WordPress

\n

Desperate as I had dropped from college, I was quite doubtful if I would ever get any job. Web development was at its beginning stage (not established as a job), there was little hope but it proved to be an advantage for me. I got an opportunity to work as a web developer in RealTech Computer Institute which is the same institute where I had learnt hardware and programming. I worked on new and innovative eCommerce sites, finished numerous time sensitive projects, trained new developers in utilizing front-end frameworks like BootStrap, Foundation, jQuery etc.

\n

Later in 2015, I joined a growing team of ThemeGrill as Lead Plugin Developer. Together with ThemeGrill team, I have developed several WordPress plugins. To name a few, Social Icons, RestaurantPress, ThemeGrill Demo Importer are free WordPress plugins I have developed which are available in official WP plugin repository. Additionally, I have built several internal automated tools to improve overall customer support. I am also responsible for troubleshooting production issues, assisting WooCommerce, sales and performance monitoring.

\n

WordPress has made my life much easier!

\n

WordPress Community in Pokhara

\n

My hometown Pokhara is 6 to 8 hours of drive from the capital city Kathmandu. I along with few WordPress enthusiast friends used to travel all the way to Kathmandu just to attend WordCamp Kathmandu (formerly WordCamp Nepal). I was fascinated by the awesome presentations by developers and networking opportunities provided there. Within a year or so the number of WordPress lovers grew in Pokhara but we didn’t have any such event there yet.

\n

In love with WordPress, I thought of organizing WordPress people in Pokhara under common umbrella – WordPress Pokhara.

\n

By then, I created a Facebook group with some friends, who were involved in WordPress projects. We organized several WordPress meetups and talk about WordPress. The group has grown from 3-4 members to 1000 members in Facebook right now. Mostly I have seen students and professionals coming together and helping each other in projects. Since I am away from Pokhara, Yam B. chetri and team are involved to organize regular WordPress Pokhara meetups. Thanks to his helpful behaviour, we are rapidly growing.

\n

Wrapping Up

\n

Since I switched to WordPress, I have been working with a motive to program a better solution for users which is surely a challenging task. So I am taking every small step to climb the cliff and still doing homework to reach the right destination.

\n

To be frank, I don’t want to explore how business work and I am not made for it. But I am quite confident on the fact that I am good at understanding public-facing issues to tackle with a right solution.

\n

This is just an ordinary story like yours as I said in the beginning. And I repeat that I am no hero yet my journey may be somehow different from yours.

\n

Just write to me if you have anything to say. ☺

\n

And thanks to HeroPress and WordPress. Let’s keep rising high as Everest! Together!!

\n

The post The Joy of Being with WordPress Community appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 01 Feb 2017 12:00:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Shiva Poudel\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"WPTavern: WordPress Telemetry Proposal Addresses Long-Standing Privacy Concerns as GDPR Compliance Deadline Looms\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64798\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:124:\"https://wptavern.com/wordpress-telemetry-proposal-addresses-long-standing-privacy-concerns-as-gdpr-compliance-deadline-looms\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14494:\"

\n

At the end of October 2016, Morten Rand-Hendriksen created a proposal on WordPress trac for adding telemetry to core, an opt-in feature that would collect anonymized data on how people are using the software. He proposed that the new feature be displayed on first install or update, disabled by default in the admin with a control available under Settings->General. One option he suggests is shipping it as a plugin that auto-installs on opt-in and auto-uninstalls on opt-out. He also identified a few examples of core data that could be tracked, including number of themes and plugins installed, frequency of use of specific views (Settings, Customizer, etc), current version, update status, locale, and language.

\n

“WordPress prides itself on being an application built by the user for the user,” Rand-Hendriksen said. “The problem is with the popularity and reach of WordPress today, the distance between the WordPress 1% (or even .1%) and the average user is becoming so vast we (the people who contribute to WordPress core) know almost nothing about the actual people who use WordPress or how they use the application.”

\n

During the WordPress 4.7 development cycle, Rand-Hendriksen said he was involved in several conversations where participants assumed the use of features without any data to back up their opinions. He contends that WordPress contributors do not have the necessary data to know how users are interacting with the application and its features.

\n

“The general argument was that based on the 80/20 rule, certain features should be added while others should be removed,” Rand-Hendriksen said. “I kept brining up the well known fact we don’t have a clue what features 80%, or even 20%, of WordPress users actually use so any claim of validity in the 80/20 rule is guesswork at best.”

\n

His proposal states that all the data collected should be public for transparency and also made available to end-users in the admin and on WordPress.org.

\n

The idea has had a few months to marinate and has generated some discussion about what a prototype would entail. Core committer Ella Van Dorpe created an experimental wp-data standalone plugin for tracking a few simple interactions with the editor. Participants in the discussion recommended creating an Elasticsearch/Logstash setup for storing the data, technologies that the WordPress.org systems team have deployed before.

\n

“I think a good summary is that there are a lot of hurdles in the way and currently no one has time to work on it,” Greg Brown, a Data Wrangler at Automattic, said in a followup discussion on the ticket three weeks ago. “Ultimately, I think the biggest blocker is getting someone with the time, inclination, and persistence to work on this. Getting it deployed onto .org is the right thing to do eventually, but I suspect it will take quite a while.”

\n

WordPress lead developer Dion Hulse confirmed that WordPress is already tracking many of these stats and that creating a prototype on WordPress.org infrastructure would be the best option forward.

\n

“It would also be valuable to see how our existing stats system can compliment or be replaced by the proposal here though,” Hulse said. “I mention this as most of the stats from the original description are already tracked, just not exposed in any form. The only new thing mentioned here is the Frequency of use of specific views (Settings, Customizer, etc) and transparency part (which would still probably only be anonymized summaries, not exact data).”

\n

WordPress Telemetry Project Provides a Solution to Long-Standing Privacy Concerns

\n

Moving WordPress’ current data tracking into a more transparent opt-in feature would also provide a solution to some long-standing privacy concerns raised by contributors in a six-year-old trac ticket. WordPress tracks the number of blogs and users in a given installation, along with the installation URL in the headers, in order to facilitate update requests that may become problematic, particularly in the case of large multisite installations.

\n

“Even if a user knows that some data needs to be passed for a version check of core, plugins, or themes, the amount of data passed to remote is obviously more than needed to do the version check,” one contributor commented on the ticket. “But users should be made aware upfront so they can freely decide on their own if they want to instead of being forced to support the project with their usage-data. They could be offered an opt-in to do so.”

\n

“The number of registered users I have on my site tied to the URL that is sent with tracking request gives out vital information on how well my business could be doing – information that is mine and mine only,” WordPress plugin developer Danny van Kooten said. “At the very least we could make it very clear that WordPress is tracking this information and what exactly it is doing with it. I really do not think there is any excuse for that.”

\n

Developers can filter the data to satisfy their privacy concerns but it is somewhat inextricable from the update process for larger multisite installations. It’s also too big of a technical hurdle for most regular users who would be better served by a simple UI allowing them to opt out of data collection.

\n

Rand-Hendriksen’s WordPress telemetry proposal gives the project an opportunity to formalize what data is being collected, state the purpose behind it, and allow users to choose if they want to be included.

\n

Europe’s General Data Protection Regulation (GDPR) May Push WordPress Towards More Transparent Data Collection

\n

Progress on both the Telemetry project and the ticket regarding privacy concerns has been slow. Neither seem to be a priority among contributors, but Europe’s General Data Protection Regulation (GDPR) may provide the impetus needed to push WordPress towards more transparent and responsible data collection.

\n

The GDPR is an overhaul of data protection law in Europe with far more stringent requirements than the previous laws. It requires full disclosure for any data collection and standardized privacy notices to help users understand where and how the data is being used. Consent to have data collected must be confirmed and users have the right to access their own data. It also includes the right of erasure or “the right to be forgotten,” which allows users to remove their data from the web. The GDPR goes into effect in May 2018.

\n

Heather Burns, a digital law specialist who consults and speaks extensively on internet laws and policies, encouraged WordPress contributors to frame the discussion regarding privacy concerns in terms of working towards compliance with a specific framework.

\n

“For the purposes of this discussion, core should work to the GDPR standard for two reasons,” Burns said. “The first reason lies in cultural differences. The US does not have a single overarching data protection and privacy regulation, unlike Europe, where we have this data protection regime which applies to all personal data regardless of use, format, or sector. So GDPR gives developers – even those outside the EU – a robust, healthy, and very tough set of standards to follow. Given what we have seen coming out of the White House in the past week, GDPR also provides as good a starting point as any for defensive user protection.

\n

“The second is that GDPR is extraterritorial. It applies to the personal data of anyone in Europe regardless of where the online service is located. If your business is in the US or Australia or Israel but you have European users, you have to protect their data to European GDPR standards.”

\n

Pricewaterhouse Coopers recently surveyed 200 US-based multinational companies with more than 500 employees and found that 77% plan to spend $1 million or more on GDPR compliance. More than half of those surveyed cited GDPR readiness as the highest priority on their data-privacy and security agendas.

\n

The hefty penalties of noncompliance are one of the driving factors behind American companies spending millions of dollars on satisfying the requirements of this new European regulation.

\n

“GDPR is a complete overhaul of its dialup-era (1995) predecessor and one of the areas that has been beefed up is its teeth,” Burns said. “Businesses which are found to be in noncompliance by a European member state’s data protection regulator, whether that is your small app studio all the way up to Automattic, could face penalties of up to 4% of the business’s global annual turnover. Now there’s some solid context for the philosophical discussion.”

\n

However, not everyone is convinced that the GDPR will be beneficial to consumers. Kitty Kolding, CEO and president of Infocore Inc, an international company that specializes in sourcing market data, told ExchangeWire that she believes the GDPR will undermine “the sanctity of consumers’ data privacy and security” and hobble marketing and advertising worldwide.

\n

She contends that provisions like the “right to be forgotten,” which require customer data to be retained beyond the time that it’s in active use, will make that data more susceptible to hacking. Additionally, the enforcement body for the new legislation claims authority over companies, with the right to search and seize records, without any oversight or appeals.

\n

“Every company everywhere that handles data on EU citizens is also automatically subject to this group’s absolute power – though it’s anybody’s guess how the EU believes they can enforce such a broad mandate outside its own borders,” Kolding said.

\n

Currently, only two trac tickets mention the GDPR so it’s not yet clear how WordPress core will respond to the requirements of the new legislation. Burns recommends that WordPress core contributors go through the process of conducting a privacy impact assessment to determine the right way forward.

\n

Regardless of WordPress’ response, companies and organizations that depend on the software will need to assume the responsibility of their own compliance, as these requirements extend far beyond core. The GDPR applies to anything added into a website or app that collects users’ data. For example, many contact form plugins store submissions inside the WordPress database and site owners will want to re-examine how users are notified of this.

\n

“One of the main changes with GDPR is called the accountability principle,” Burns said. “Businesses collecting personal data must be completely transparent and accountable over what data they are collecting, how they are storing it and where, who it is being passed to (such as third parties), who has access to it, and how long it is retained. Users also have the right to request that any data collected about them must be deleted.”

\n

There’s no WordPress plugin that will instantly make a site GDPR compatible. Drupal has a GDPR module that aims to make sure the site follows the guidelines and legislation set by the EU, but it doesn’t cover all requirements. Automating an assessment of privacy impact for a site using a CMS and potentially dozens of third-party extensions is a complex endeavor. This is one regulation that will require business owners to educate themselves and implement privacy practices that put users’ interests first.

\n

With the deadline for compliance closing in, WordPress has an opportunity to re-evaluate how the project handles user privacy and make steps towards greater transparency. If contributors are looking into collecting more data to assist decision-making on features, as outlined in Rand-Hendriksen’s telemetry proposal, this project provides an avenue for working towards GDPR compliance. These privacy concerns are especially important to address when considering WordPress for government, healthcare, educational institutes, and other data sensitive websites.

\n

Burns views the GDPR’s compliance deadline as a fresh opportunity for WordPress to build better privacy structures and legal certainty using the regulation as a healthy baseline for all users.

\n

“Everyone needs to be working in implementations for their own businesses and sites in any case ahead of deadline day, in addition to any changes that need to be made in the WP code,” Burns said. “It’s important to remember that GDPR compliance is not a tick box you can squeeze in next April. This is about your processes, your workflows, and your systems of accountability. Start now.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 01 Feb 2017 00:10:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: Logging Into WooCommerce.com Now Requires a WordPress.com Account\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65488\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:86:\"https://wptavern.com/logging-into-woocommerce-com-now-requires-a-wordpress-com-account\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5935:\"

If you logged into WooCommerce.com over the weekend, you may have noticed a distinct change. In order to sign into the site, users are now required to have a WordPress.com account. The change occurred without warning and surprised those who manage multiple WooCommerce stores for clients.

\nWooCommerce Login Screen Requiring a WP.com Account\n

Brad Griffin, who maintains a number of client sites that run WooCommerce, raised concerns over the change in a post on the Advanced WordPress Facebook group.

\n

“When dealing with businesses, asking someone at a corporate level to take their email address and make a WordPress.com account is a bit problematic,” Griffin said. “They’re confused as to why they need to do this. They don’t have immediate access to that email address on a Saturday or Sunday.”

\n

“So, without warning, without notice, without a heads up or anything else, no one can now access anything in the back-end of the WooCommerce account unless there is a WP.com single sign on account using oAuth.”

\n

For those not interested in signing in with their WordPress.com account, WooCommerce.com attempts to alleviate concerns in an article that outlines the benefits. The benefits include an option to enable 2-Factor Authentication, access to eCommerce services, and viewing purchase history.

\n

After speaking to Todd Wilkens, Head of WooCommerce at Automattic, Griffin published video, explaining the change and offers suggestions for those who manage multiple WooCommerce stores for clients. The suggestions are:

\n
    \n
  • Make 100% sure that you, your client, your store, your account, or anything else has a WordPress.COM account ~ not just WordPress.org!
  • \n
  • Once you’ve used an email and login and you are setup for WordPress.COM (not .org), make absolutely certain that you are using an incognito browser window when logging into WooCommerce.com.
  • \n
\n

Using a private or incognito browser window won’t remember the login as the cookie is not saved. If you don’t use incognito mode and like, comment, or subscribe to items on WordPress.com or any site that uses WordPress.com’s oAuth protocol, those actions will occur under the client’s account. “Many users might not fully realize how far-reaching that one little oAuth endpoint actually is and the vastly significant number of touch-points it can affect,” Griffin said.

\n

Wilkens published a post on the official WooCommerce blog explaining why the login system was switched, “We found that a lot of customers were using two accounts to access services from one company,” he said.

\n

“To simplify that, we are centralizing on the WordPress.com login. Automattic has done this with previous acquisitions, like Polldaddy, for the same reasons. Now you can use only one login to access all Automattic services, including WooCommerce, Jetpack, VaultPress and more.”

\n

So far, the WooCommerce team has tracked more than 10K successful logins to the new system and are monitoring feedback on social media. Only a small subset of users have reported issues due to confusion, “Over half of the 1% of users who opened tickets were confused between having a WordPress.com login vs. the login they use for their self-hosted WordPress install,” Wilkens said.

\n

A Better Way to Manage Multiple Client Accounts Is in the Works

\n

WooCommerce.com joins a growing collection of Automattic services, sites, and products that require a WordPress.com user account. As the number of reasons to have an account increases, perhaps it’s time for Automattic to create a client management system. A system that allows users to assign people who can act on their behalf, similar to a power of attorney.

\n

An example that comes to mind is GoDaddy Pro. GoDaddy Pro allows consultants to access all of their client’s products in one place. They can also manage aspects of their hosting and purchase products on their behalf.

\n

The change to WooCommerce.com has emphasized the unfriendliness of the site’s current system for those who manage multiple client accounts. “We had already re-prioritized a number of features on our roadmap to make life for developers managing dozens of client accounts much smoother, and hope to have something to be able to announce there soon,” Wilkens said.

\n

If you manage multiple client accounts and are affected by this change, Wilkens suggests opening a ticket for advice. You can also provide feedback by voting on a poll at the bottom of the post that asks how your experience was switching to a WordPress.com login.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 31 Jan 2017 20:02:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"WPTavern: Micro.blog Project Surges Past $65K on Kickstarter, Gains Backing from DreamHost\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65437\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:99:\"https://wptavern.com/micro-blog-project-surges-past-65k-on-kickstarter-gains-backing-from-dreamhost\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:9480:\"

\n

With one week remaining on its Kickstarter campaign, the Micro.blog indie microblogging project has surged past its original $10K funding goal with $66,710 pledged by 2,381 backers. This puts project creator Manton Reece closer to his stretch goal of $80K, which would enable him to develop a Safe Replies feature to preemptively combat abuse on the platform and hire a part-time community manager.

\n

Micro.blog also picked up support from DreamHost this week, pushing the project past the $50K mark. The hosting company pledged $5,000 towards the campaign.

\n

“What ever happened to the vision of the open web as a distributed network of websites that were owned by their creators?” said Jonathan LaCour, SVP of Product and Technology at DreamHost. “We’d like to make it as easy as possible to launch a WordPress-powered microblog on DreamHost that integrates well with Manton’s upcoming Micro.blog service.”

\n

DreamHost (and all other hosting companies) obviously have a vested interest in getting people to see the need to have their own digital presence. However, the biggest obstacle for WordPress customers is making it convenient to join the IndieWeb. DreamHost is planning to take its support of Micro.blog one step further and create an easy way for customers to get started with independent microblogs.

\n

“As a followup to our contribution to Manton’s Kickstarter campaign, we’re planning on working on making a streamlined, pre-configured Indie microblog with WordPress at DreamHost,” LaCour said in the #indieweb channel on IRC yesterday. “I tend to agree that a simplified, pre-packaged WordPress setup would go a long way to driving Indieweb adoption.”

\n

When asked whether the company would be utilizing Micro.blog or some other service, LaCour said it has not been decided yet. He said the idea is that people could create an independent microblog hosted at DreamHost that is compatible with Micro.blog and other indie microblogs.

\n

“Our major focus at the moment is getting people excited about owning their own website (and entire digital identity),” LaCour said.

\n

Micro.blog is Aiming for Incremental Webmention Support

\n

Webmention is a protocol similar to pingback for notifying a URL when a website links to it and also for requesting notifications when another site mentions one of your URLs. It is an important part of facilitating decentralized communication across the web. On January 12, 2017, the Social Web Working Group published a W3C Recommendation of Webmention with the specification contributed by the IndieWeb community.

\n

WordPress doesn’t natively offer Webmention support and the core trac ticket for adding the feature has had little discussion.

\n

During a preliminary discussion on Slack last year, WordPress lead developer Dion Hulse said he thought Webmentions would be a great feature plugin and that there are a few people interested in it. There hasn’t been much movement on this front in core, but a Webmention plugin is available in the directory.

\n

Reece is working on incorporating IndieWeb protocols into Micro.blog but said it will likely launch with incremental support for Webmention.

\n

“It might take a little while to get everything IndieWeb in there, but that’s the eventual goal,” Reece said. “I’m committed to Micropub and microformats and still exploring how best to support Webmention. (It might be partial support with more later.)”

\n

Micro.blog doesn’t currently handle mentions and replies using Webmention but Reece said his eventual goal is to include it.

\n

“The first step to me is getting more people their own microblog so that the infrastructure for cross-site replies is even possible,” Reece said.

\n

Micro.blog Puts the Focus on Indie Microblogging, Instead of Replacing Twitter

\n

Reece also launched a Slack community where the project’s backers can discuss Micro.blog and other microblogging topics. He said he initially had reservations with starting something on Slack but was surprised to see the community has already grown to more than 300 members.

\n

“I didn’t want to distract from any posts that should happen in the open on blogs,” Reece said. “Some discussion just fits better in chat, though. There’s an emerging community of indie microbloggers. Having a place to share tips, tools, and ask questions about Micro.blog just makes sense.”

\n

Many of the project’s backers are eager to create a community of their own and are interested in using Micro.blog as a Twitter replacement. Other services have attempted to provide alternatives to posting directly on Twitter but none have caught on enough to significantly push IndieWeb adoption forward. App.net, one of the most promising ad-free, microblogging networks, went into maintenance mode in 2014 and will be shutting down March 15, 2017.

\n

Reece, who was an early fan of App.net, published a thank you note to the service’s creators for trying something risky and creating a community around their ideas. He believes it’s the right time for another open platform to emerge.

\n

“We don’t need just another Twitter or Facebook clone,” Reece said. “We need a new platform that encourages blogging on the open web.”

\n

Nevertheless, Reece is preparing Micro.blog from the outset to be capable of replacing Twitter’s functionality, which is one of the reasons he is focusing so heavily on ensuring the platform doesn’t get overrun with abuse. Reece wants to avoid the pitfalls that have contributed to some of the more negative aspects of Twitter, but his focus is on encouraging people to blog from their own space.

\n

“Micro.blog is a success if more people blog,” Reece said. “To provide value it doesn’t need to replace Twitter, but it can.”

\n

The project’s mobile app is key to making it convenient for users to read other people’s posts and post directly to their own websites from the same interface. Reece shared another preview of the iPhone and iPad app that will be ready at launch and said he hopes there will be other apps developed by the community.

\n

“Most RSS traditional readers can’t post,” Reece said. “I think this makes for a more complete experience, and because it’s just a blog I can still use other apps and platforms to post.” He plans to give Micro.blog a 280 character limit before truncating the post.

\n

Keeping the timeline fast and making posting convenient will be critical to the platform’s success as an alternative to the dominant social media silos. Polling blogs for new content is not very aggressive in the current prototype but Reece is tuning this to provide a better experience. The platform uses rssCloud and WebSub (formerly PubSubHubbub) to provide a more Twitter-like, real-time experience.

\n

Micro.blog seems to be landing at the right time, as the idea has already resonated with more than 2,300 people willing to back the project. The service hasn’t even launched but the concept behind it is already attracting a supportive community eager to explore better ways of powering microblogging on the web.

\n

“You don’t replace Twitter overnight, or even try to,” Reece said. “But step by step, we’re going to end up with a better web, and I think independent microblogging is part of that.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 26 Jan 2017 22:56:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"Dev Blog: WordPress 4.7.2 Security Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4676\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2141:\"

WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7.1 and earlier are affected by three security issues:

\n
    \n
  1. The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. Reported by David Herrera of Alley Interactive.
  2. \n
  3. WP_Query is vulnerable to a SQL injection (SQLi) when passing unsafe data. WordPress core is not directly vulnerable to this issue, but we’ve added hardening to prevent plugins and themes from accidentally causing a vulnerability. Reported by Mo Jangda (batmoo).
  4. \n
  5. A cross-site scripting (XSS) vulnerability was discovered in the posts list table. Reported by Ian Dunn of the WordPress Security Team.
  6. \n
  7. An unauthenticated privilege escalation vulnerability was discovered in a REST API endpoint. Reported by Marc-Alexandre Montpas of Sucuri Security. *
  8. \n
\n

Thank you to the reporters of these issues for practicing responsible disclosure.

\n

Download WordPress 4.7.2 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.2.

\n

Thanks to everyone who contributed to 4.7.2.

\n

* Update: An additional serious vulnerability was fixed in this release and public disclosure was delayed. For more information on this vulnerability, additional mitigation steps taken, and an explanation for why disclosure was delayed, please read Disclosure of Additional Security Fix in WordPress 4.7.2.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 26 Jan 2017 19:34:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"HeroPress: Screw the Blueprint. Design Your Own Path to Fulfillment.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1579\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"https://heropress.com/essays/screw-blueprint-live-life-terms/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:9274:\"\"Pull

Growing up, I bought into society’s notion of what made for a successful and rewarding life. For me, the blueprint for finding fulfillment looked something like this:

\n

Step 1. Get good grades in school.

\n

Step 2. Attend a nice college.

\n

Step 3. Land a secure job with an attractive salary and benefits.

\n

Step 4. Find a nice man that would make a good husband and father…and marry him.

\n

Step 5. Have children.

\n

Step 6. Die peacefully at an old age. (ha!)

\n

I was convinced that if I simply followed this blueprint, I’d find security and acceptance. And with the exception of Step #6 (a step I’m hoping to postpone for some time), I was able to accomplish everything I’d set out to do. My grades in school were outstanding, which set me up to pursue a degree in mechanical engineering at the University of Illinois. After graduating in 2000, I was presented with several job opportunities. Ultimately, I accepted a position at Procter & Gamble as an engineer for Charmin. Within a year of starting that job, I met my future husband. We married in 2004 and had our first child in 2007. Another child followed in 2008. I was right on track with my blueprint!

\n

And then everything fell apart.

\n

A breakdown wasn’t in the plan

\n

In 2008, I suffered my first real breakdown. I spent several weeks doing my best to get through each day, doing what I needed to as an employee, wife, and mom and trying hard not to let other people down. I fought back tears when I needed to, only letting them flow in private. While the kids were sleeping, I’d escape into the world of TV sitcoms. I knew that something wasn’t right.

\n

While I had followed the blueprint for security, success, and happiness, I didn’t feel like I had achieved any of these things. I felt isolated at work. At home, I felt valued only if I were functioning as the perfect wife and mom. At the time, the solution seemed clear—quit my corporate job and focus 100% on my family. This, I was certain, would lead to ultimate happiness. So I took two extended maternity leaves, eventually leaving the corporate world to focus on being a stay-at-home mom.

\n

Who the hell am I?

\n

Being home with kids full-time, no matter how wonderful your kids may be, is by far the most challenging job. While I was grateful that I had the choice to be a stay-at-home-mom, being at home left me feeling alienated. I didn’t really know who I was anymore or how to get back to “myself.”

\n

So I started experimenting with things I simply felt like doing. These things weren’t part of any blueprint, and there was no guarantee of success or happiness. I just followed my heart.

\n

I needed something challenging to occupy my mind, so I dug out my sports card collection with the intent of finally organizing it. Looking through my old cards felt both nostalgic and therapeutic, and my head started spinning with other ideas. Business ideas. My dad had a successful e-bay business that seemed like a bit of fun, so I thought: why not try selling sports cards on e-bay? I didn’t want to sacrifice my personal collection, so over the course of a few months, I purchased nearly a million sports cards on Craigslist. After repackaging them into 1000-count boxes, I sold them for $10/box, doubling my money in a short period of time. I learned a lot about buying and selling on the Internet but more importantly, I felt like I had discovered something that was really “me.” It was challenging in a new and exciting way, and it fit in with my hectic mom schedule.

\n

This venture into the world of online business opened my eyes in a significant way. I started following entrepreneurs such as Gary Vaynerchuk and Chris Brogan, and flew to Houston for a Mom 2.0 Summit. I loved every blog post I read and all the people I was meeting. It was a whole new world filled with risk and uncertainty but grounded in the values of helping people and living a good life. THIS WAS PERFECT FOR ME.

\n

And then came WordPress

\n

In my newfound fascination with all things Internet-related, it wasn’t surprising that I stumbled upon this thing called WordPress. I had always wanted to build a website, and with the popularity of mom bloggers exploding, I naturally gravitated toward this “easy” platform for my blog. I started the ChicagoActons blog as a way to share our family adventures with others. Building the site was something I enjoyed more than I anticipated. It fed my love of problem solving and I felt great satisfaction in seeing something that I built on the Internet. And I could do it in between changing dirty diapers and cuddling with my kids.

\n

After building ChicagoActons and sharing it via social channels, I started to get requests to build sites for others. Some were paid assignments and some were not, but I was falling in love with using this tool and my brain to help others further efforts they were passionate about. I was finding myself again, and I felt happy.

\n

Where were WordCamps all my life?

\n

By 2010, two years into freelance WordPress development, I was ready to expand my horizons and see what others were doing with the platform. I heard about WordCamp Chicago, and bought a ticket to the event that would confirm that the path I was paving was the right one for me.

\n

At WordCamp Chicago 2010, I learned a great deal about developing with WordPress, but even more life changing were the people I met. They were such a diverse group and so different than I was, yet we all shared the same passion: to support one another in our pursuits to help others. And we all used WordPress as the tool to get the job done.

\n

The feeling of acceptance and growth that I experienced at my first WordCamp was the impetus I needed to continue down the path as a WordPress-based business entrepreneur. I wasn’t following a blueprint anymore, but I was finding success and security in ways that mattered to me.

\n

I was happy.

\n

Living my own blueprint

\n

Fast-forward to today. I couldn’t be more thankful for the life journey I’m on. My kids survived having me as a stay-at-home parent, and as a WordPress-based business entrepreneur, I feel challenged every day to be better at helping others build their passion-driven interests. I would not have gotten here had it not been for WordPress and the WordPress community, which emboldened me to abandon a blueprint for happiness that simply wasn’t working for me and instead embrace life on my own terms.

\n

The post Screw the Blueprint. Design Your Own Path to Fulfillment. appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 25 Jan 2017 12:00:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Heather Acton\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: WordCamp Europe 2017 to Experiment with Sponsors Workshops\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65117\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/wordcamp-europe-2017-to-experiment-with-sponsors-workshops\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:12145:\"

\n

WordCamp Europe 2017 opened its call for sponsors at the end of 2016. The organizing team is embracing the challenge of delivering value to sponsors with workshops for those purchasing the two highest sponsorship levels:

\n

This year, for the first time, we are introducing a third track during both conference days. The third track will be solely dedicated to sponsors, giving you the possibility to either hold a talk or a workshop. Like the other two tracks, the sponsor track will have a dedicated space (capacity for approx. 200 people), where the audience would have the opportunity to hear more about your business and product. You can decide whether you would like to use your time to talk more about your business, or to showcase.

\n

The sponsors track has since been renamed to sponsors workshops, but the concept of a dedicated track remains the same. According to WCEU Sponsors Team coordinator Noel Tock, WordCamp Central’s transition into a public benefet corporation affords WordCamps more flexibility than previously allowed.

\n

“This means we’d like to experiment with different concepts — seeking a higher return on investment for sponsors whilst at the same time protecting the core experience of the WordCamp itself,” Tock said.

\n

The new sponsors workshops target large companies, but WCEU organizers have also created a new concept for small businesses. Those that made less than one million Euro in 2016 will qualify for an affordable booth in the middle of the event.

\n

“Similar to TechCrunch’s Startup Alley, we want to help highlight smaller companies or ones that have just started out,” Tock said. “Simply seeking out sponsorship funds the fastest way possible would not be fair to attendees. This helps makes the conversations and experiences a lot more diverse and balanced.”

\n

The sponsors workshops will not need to go through an approval process. They are perks belonging to the Super Admin and Admin sponsorship tiers and these top-level sponsors will have different options for how they want to use their slots.

\n

“They can run user workshops, pass on their slot to smaller players (plugin and theme authors) or find other creative session ideas,” Tock said. “The workshops will be clearly labeled and we’ll seek to provide an agenda/schedule on the same timeline as regular speakers.”

\n

The Challenge of Delivering Value to Sponsors Without Stifling the Spirit of WordCamps

\n

WordCamps are traditionally locally-organized, informal events that bring together attendees from all walks of life. Affordability is one of the hallmarks of a WordCamp, and ticket prices normally range from $20-50. The low cost of entry makes the events more inclusive, keeping the camps from becoming relegated only to elites and those who work for large companies. At a WordCamp, one can meet anyone – core developers, educators, CEOs of multi-million dollar companies, new users, developers, bloggers, and e-commerce store owners.

\n

To give you an idea of how uncommonly low WordCamp ticket prices are in comparison to other tech conferences, DrupalCon ranges from $450-600 per person. PHP UK tickets for the conference days are in the neighborhood of $500 and PHP[World] is nearly double that at $900. CSSconf EU tickets are $430. ReactEurope, which is also being held in Paris, released its first round of tickets in the range of $680. WordCamp Europe tickets are €40.00 (approximately $43) because the vast majority of the cost of attendance is subsidized by sponsors.

\n

Now that WordCamp Europe has been running successfully for five years, Tock said it is easier to get sponsors on board. Sponsorship cost per attendee is one of the contributing factors. In 2016 WordCamp Europe sold 2,199 tickets and organizers expect to sell more than 3,000 this year.

\n

“If you compare the perks and size of the audience, you’ll find that WordCamp Europe can be anywhere from 20% to 50% cheaper then comparable WordCamps,” Tock said. “The bang for buck has meant we have a lot of returning sponsors.”

\n

However, as WCEU attendance and the event’s financial requirements have grown, so has the challenge to deliver value to sponsors who are contributing greater sums of money.

\n

“Asking potential sponsors for a few thousand a couple years back was easy enough,” Tock said. “Now that we’re looking for 50k+ Euros from certain sponsors, we need to up our game with it. This means early communication, well-defined packages, and more creative perks.” This year those perks include 360° booths, 30-second ads between talks, after-party branding, and the new sponsor workshops.

\n

I spoke to several other organizers of comparably large WordCamps and all of them were intrigued by the idea of sponsor workshops and interested to see how the experiment turns out.

\n

“I think on the surface it could be considered a controversial idea, but in reality it’s just giving sponsors a different kind of voice,” WordCamp Miami organizer David Bisset said. “If it’s done in a way that treats all sponsors fairly and is a voluntary track, then in some ways it doesn’t differ from a sponsor area, outside of narrowing the spotlight.”

\n

Bisset said he’s interested to see how successful this approach is but notes that it probably would only work for the largest WordCamps.

\n

“I honestly don’t know which side of the fence this lies on in regards the spirit of WordCamps,” Bisset said. “There have been controversial issues and challenges regarding sponsors and WordCamps in the past. It’s a challenge to give sponsors the most bang for their buck, treat everyone fairly, and be a model WordCamp. The jury is still out.”

\n

WordPress Orlando organizer Lisa Melegari thinks the idea of sponsor workshops may bring some legitimacy to what is known as the “hallway track,” where attendees congregate when not attending a session.

\n

“I think it’s a really interesting concept,” Melegari said. “There’s already the joke out there that there’s a phantom extra track at most WordCamps – the Hallway Track. I think this would take that and actually give some legitimacy to the myth.”

\n

Melegari said WordCamp Orlando organizers have seen a significant shift in sponsor availability and enthusiasm in the past few years, especially after WordCamp US launched. She said their local camp lost several past sponsors to the larger WordCamp US. Other sponsors have decided to just focus on local camps and some have dropped sponsorship altogether.

\n

“I really think we need to give our sponsors more opportunity to benefit their businesses, since their success allows them to continue to support our camps,” Melegari said. “Is it worth an entire extra track? Maybe not. That would put an unfair burden on camps that already have difficulty getting space and could deter sponsors from supporting a camp that cannot offer that accommodation.”

\n

Melegari said she likes the idea of allowing sponsors to have a more prominent demo opportunity as long as it doesn’t overshadow the speakers, who volunteer their time.

\n

“Having been a speaker with a very low attendance at a few talks, it’s disheartening, but understandable that another speaker’s talk is more popular,” she said. “I would be afraid the sponsor track would take away the spotlight on speakers.” From an organizer’s perspective, she is interested to see how sponsor workshops can deliver a better value for sponsorship.

\n

“We really do need to provide a better case for WordCamp sponsorship besides exposure, because many of our recurring sponsors have a smaller and smaller pool of new eyes every camp,” Melegari said. “If we are going to keep growing in camp numbers, we’re going to have to figure out something to keep all the camps financially afloat.”

\n

Alx Block, WordCamp US 2015-16 Organizer, understands the importance of sponsors and volunteers, who covered the bulk of the $516 actual cost per person for the most recent event.

\n

“I think that we’re at an impasse when it comes to adding value for sponsors, especially at the larger camps,” Block said. “On the one hand, each sponsorship is really a scholarship for attendees, allowing each camp to greatly reduce the ticket price so that more people can attend and get value from the camp. On the other hand, there’s limited value for the sponsors in terms of ROI. We’ve never thought of it as a business investment, but it’s certainly time to think about that more.”

\n

Keeping ticket prices low, putting on a quality event, and offering an array of perks for sponsorship is a tremendous balancing act for organizers. WordCamp Europe is one of fastest-growing camps that has experimented with doing this at a larger scale every year.

\n

“When you get into the larger dollar amounts that larger camps ask, it’s a different kind of ballgame, and I think that we need to revisit the value that a business receives as part of their sponsorship,” Block said.

\n

“I think something like sponsor workshops is a really neat idea. I can imagine that it doesn’t come with much overhead in terms of actual planning, and will give the sponsors something solid that they can plan for in terms of being able to pitch their product or service.”

\n

Historically, workshops have been events that are ancillary to the main tracks. WordCamp Europe’s plan to run them alongside speaker sessions is a bold experiment. Sponsors will have a great deal of flexibility with how they can utilize their workshop slots, so it will be interesting to see if they choose to incentivize attendance in some way or opt to pass them along to other speakers as a sponsored talk.

\n

“I think there’s a line between a sponsor ‘track’ and sponsor ‘workshops,’ which WCEU hasn’t clearly defined yet,” Block said. “I’m sure that their intention isn’t to have 1/3 of the talks be by people who paid to be there. From what I understand, the intention is to have the top-tier sponsors (maybe 4-6 of them) present on a smaller stage in a kind of rolling fashion, to supplement the full tracks – meaning, it would be a great place for an attendee to go during a time when neither of the other sessions appeals to them, or they’re interested in learning more about a specific product.”

\n

Block said he has seen this type of sponsor perk at other non-WordPress conferences and has sat in on sessions that piqued his interest.

\n

“But this is the real question in my mind: Can we offer something like this without turning WordCamps into a trade show?” Block said.

\n

“I think now that we’re growing so much with these large camps, it’s the perfect time to ask these questions and figure out exactly what type of event WordCamp is. We grow as the community grows, and WordCamp should always reflect the community’s interest. If there’s interest in giving sponsors a place to talk about their wares, I’m all about it, but I’d always want the community to come first.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 24 Jan 2017 20:38:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"WPTavern: Wix Removes GPL-Licensed WordPress Code from Mobile App, Forks Original MIT Library\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65143\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"https://wptavern.com/wix-removes-gpl-licensed-wordpress-code-from-mobile-app-forks-original-mit-library\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14743:\"photo credit: winterofdiscontentcc\n

In October 2016, Matt Mullenweg called out Wix for using GPL-licensed code from the WordPress mobile app and distributing it in its proprietary app. After identifying a path for Wix to comply with the license, Mullenweg confirmed he would be willing to go to court to protect the GPL.

\n

Wix CEO Avishai Abrahami’s response to the allegations failed to address the issue of licensing, dodging the question with references to other open source contributions. Abrahami seemed to indicate that Wix would open source its mobile app but was not clear whether it would be GPL licensed:

\n

“We always shared and admired your commitment to give back, which is exactly why we have those 224 open source projects, and thousands more bugs/improvements available to the open source community and we will release the app you saw as well,” Abrahami said.

\n

The Wix Twitter account also gave the impression that the entire app would be released under the GPL:

\n
\n

@yairwein We\'ll release the code on Github, where we also shared our previous projects: https://t.co/FBhp2Kd5wn

\n

— Wix.com (@Wix) October 30, 2016

\n

\n

Publicly communicating these intentions bought the company time to educate its developers on the implications of the GPL and find another path forward for the app.

\n

The app has not been released under the GPL and Wix has discontinued development on the GPL-licensed repositories. On November 1, 2016, Wix changed the license on the react-native-wordpress-editor, the repository that was forked from the WordPress mobile app, to GPLv2. The next day, they began work on react-native-zss-rich-text-editor, a new repository forked from the original MIT-licensed library that the WordPress mobile app code built upon.

\n

It appears that Wix never planned on complying with the GPL, since the company immediately began working on an alternative approach. Wix has since released updates to its mobile apps and presumably has incorporated its own editor component that is based on the original MIT-licensed library.

\n

It is not clear whether Wix completely started over with its fork or if the company’s developers incorporated some of the commits previously made in the WordPress mobile app’s GPL-licensed fork. Wix has not responded to numerous attempts to contact them for an official statement.

\n

Wix Invents Its Own “Enhanced” MIT License for the Forked Library

\n

Here’s where the story takes an odd turn. Instead of distributing the new editor code under a standard open source library, Wix has written its own license, which it is calling the “Enhanced” MIT license (EMIT). It explicitly prohibits relicensing under the GPL and requires the developer to license modifications under the EMIT:

\n

This license is exactly like the MIT License, with one exception – Any distribution of this source code or any modification thereof in source code format, must be done under the Enhanced MIT license and not under any other licenses, such as GPL.

\n

Furthermore, the license prohibits the code being redistributed under any copyleft license:

\n

when the Software is distributed as source code, the licensee is prohibited to change the license of the Software to any “viral” copyleft-type license, such as, inter alia: GPL, LGPL, EPL, MPL, etc.

\n

Wix explained the reason behind the creation of the new license in its introduction, citing what it calls a “bug” in the MIT license. The MIT permits developers to re-license their modifications as GPL. The text of the “Enhanced” MIT license characterizes this practice as bullying:

\n

We believe MIT license has a bug since it allows others to use it against its nature. Our belief is that the MIT license is intended to make source code available to anyone who wants to use it without additional obligations, but we have found cases where someone takes a project licensed under MIT license, adds a few lines of source code to it, and then changes the licensing to a different, more restrictive license which is against the nature and the intent of the MIT license. By doing so, the source code released under the original MIT is no longer a true “free/open” source code, thus undermining the intention of the original creator of the source code.

\n

The concept of this Enhanced MIT license is simple and more robust – you can do what you want with this source code, exactly like any other MIT license, but if you release it again as open source (even if modified), you must release it under this Enhanced MIT license – to be clear, this is not a “viral” license, it only refers to the actual source code released under this license and not to other components interacting with it. If GPL is a viral license, this license can be described as a “robust” one as it prevents licensing changes that are against its nature and it defends its own licensing principles. The essence of the Enhanced MIT license is to prevent bullies from using open source code that is truly free and open under the MIT License and turning it into other viral and more restrictive licenses – such as GPL.

\n

The license has only ever been used in this particular instance and does not appear to have been written by a lawyer or someone who has studied copyright and licensing issues professionally. I contacted the Free Software Foundation’s licensing and compliance team regarding the legitimacy of Wix’s “Enhanced” MIT license. FSF copyright and licensing associate Donald Robertson III said the team is currently reviewing it and may require legal counsel before making a definitive comment. When they have completed the review, they will publish a statement and list the license in the FSF directory of free and non-free software licenses. These are also broken down into copyleft and GPL-compatible classifications.

\n

“As you can see from the GPL-incompatible licenses, there are plenty of free software licenses that are incompatible with the GPL, and many of those licenses would be incompatible with other copyleft licenses on the same basis,” Robertson said. “So it is possible for a license to be free even if it doesn’t work well with the GPL. We’ll have to do some review on this particular license before we can make any comment specific to it.”

\n

Wix has not submitted its EMIT license to the Open Source Initiative, a community-recognized organization that acts as stewards of the Open Source Definition (OSD) and also reviews and approves licenses as OSD-conformant. OSI has not yet responded to my inquiry about the legitimacy of the license, but I spoke with Karl Fogel, an open source specialist who consults with organizations on open source licensing and the implications of using it in business.

\n

“This so-called ‘Enhanced MIT’ license is poorly drafted and internally inconsistent,” Fogel said. “I feel on safe ground in saying that were it ever submitted to the OSI for approval, it would be rejected quickly.”

\n

Fogel also commented on the inherent contradictions in the license’s introduction and permissions.

\n

“An obvious internal inconsistency is that in the Introduction, it says that redistribution in source code format ‘must be done under the Enhanced MIT license and not under any other licenses, such as GPL,\'” Fogel said. “But then later, in point (2) of the conditional permissions grant, it says ‘when the Software is distributed as source code, the licensee is prohibited to change the license of the Software to any ‘viral’ copyleft-type license, such as, inter alia: GPL, LGPL, EPL, MPL, etc.’

\n

“So the Introduction is saying that redistribution is not permitted under any other open source license, but then the permissions grant section only bars redistribution under copyleft licenses, leaving open the possibility to distribute under other non-copyleft licenses. Which is it?”

\n

According to OSI, copyleft “refers to licenses that allow derivative works but require them to use the same license as the original work.” In requiring the EMIT to be used for derivative works, the license adopts the viral nature Wix ostensibly wanted to avoid with the GPL. This emasculates the MIT, robbing it of its essential freedoms. For this reason and many others, the EMIT appears to be an illegitimate variant of the MIT.

\n

“A larger issue is that the reasoning in the Introduction about how the standard MIT license supposedly has a ‘bug’ makes no sense,” Fogel said. ” It asserts that redistribution under an open source copyleft license would somehow be more restrictive than not doing source redistribution at all (e.g., as with a standard proprietary license). There is no sensible definition of the word ‘restrictive; in which releasing code under a copyleft license would restrict someone’s use of that code more than not having the code in the first place would restrict them.”

\n

Fogel does not think the EMIT is a valid derivative of the MIT license and is not convinced that it can be considered a license at all.

\n

“It is very clear that a lawyer did not write this license,” Fogel said. “I think Abrahami must have written it himself. I hesitate to even call it a license; it’s not clear what a judge would do with it, except perhaps sell tickets.”

\n

Wix’s EMIT License is a Hostile Reaction to the Call for GPL Compliance

\n

The EMIT license not only takes shots at the GPL but also injects a moral pronouncement against all those who subscribe to the tenets of copyleft licensing. The restrictions in the EMIT effectively “weaponize the license” against other open source projects, as one Reddit user said in acomment on the situation. This encompasses a large portion of the open source community.

\n

Wix may not be able to publicly admit its violation of the GPL, as it has not yet answered for the past infringement of distributing the code in its mobile app. In looking back over the timeline of events, Wix’s public communication that implied it would comply with the GPL was disingenuous, as the team was scrambling behind the scenes to fork the original library and slap a new “anti-copyleft” license on it. The company has no respect for the GPL and, in fact, has communicated its disdain for the license in the language of its new EMIT license.

\n

“I remember reading this exchange when it happened,” Fogel said. “This is not a case of gray areas or ‘the truth lies somewhere in the middle.’ Matt Mullenweg of WordPress is 100% right, and Wix CEO Avishai Abrahami is, quite simply, wrong. Mullenweg was extremely direct about what the problem was and how to fix it. Abrahami’s response was an evasive mishmash of brazen non sequiturs and willful refusal to acknowledge Mullenweg’s point, which was simply that if Wix is going to use WordPress code that is distributed under the GNU General Public License, then Wix has to follow the terms of the GPL like anyone else.

\n

“Abrahami’s poor behavior could only have been intentional,” Fogel said. “I just don’t see any other way to interpret it, given how easy to understand Mullenweg’s letter is, and how clear the issues are here.”

\n

Wix’s illegal use of GPL code in a proprietary app could easily be chalked up to ignorance or an oversight if the company had simply attempted to comply. Instead, they wrote a license that swipes back at copyleft proponents everywhere. The EMIT actually manages to trivialize both the GPL and the MIT in one fell swoop.

\n

“The GPL is not a disease,” said Lawrence Rosen in a document titled The Unreasonable Fear of Infection. “It is designed to satisfy certain philosophical and economic objectives that are widely shared by many members of the open source community.”

\n

In writing its own “Enhanced” MIT license Wix has demonstrated a careless disregard for open source licensing and hostility towards those who use copyleft licenses to guarantee user freedoms.

\n

Although some onlookers in the open source community disapproved of the two CEO’s handling the disagreement in open letters, there are plenty more who appreciate that the issue is being hammered out in public. Fogel said he hopes the situation “will draw some attention to the fact that the GPL actually means something and can be enforced.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 21 Jan 2017 00:04:49 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Obama Foundation Launches New Website Powered by WordPress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65363\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/obama-foundation-launches-new-website-powered-by-wordpress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1987:\"

The Obama Foundation launched its new WordPress-powered website today. The future presidential center, which will be located in Chicago, will manage projects both in the city and other places around the world.

\n

“More than a library or a museum, it will be a living, working center for citizenship,” President Obama said. “That’s why we want to hear from you. Tell us what you want this project to be and tell us what’s on your mind.”

\n

\n

The website integrates the Typeform service for collecting feedback from citizens on their hopes and dreams, as well as the people and organizations that inspire them.

\n

WordPress developers were excited to see that the former President is using the WP REST API introduced in WordPress 4.7.

\n
\n

Oh hai WP REST API pic.twitter.com/EBGDexNwRA

\n

— Daniel Bachhuber (@danielbachhuber) January 20, 2017

\n

\n

The custom theme for the Obama Foundation is built using ZURB’s Foundation as its front-end framework. It integrates the jQuery Cycle Plugin for galleries.

\n

The website was created by Blue State Digital, an agency that got its start on the campaign trail and now focuses on serving causes and brands.

\n

President Obama is the first president to select WordPress for his presidential center website.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 20 Jan 2017 17:39:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"BuddyPress: BuddyPress 2.8.0 Beta 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://buddypress.org/?p=263023\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://buddypress.org/2017/01/buddypress-2-8-0-beta-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2965:\"

BuddyPress 2.8.0 Beta 1 is packed with new features and enhancements and is now available for testing. You can download the BP 2.8.0-beta1 zip or get a copy via our Subversion repository. We’d love to have your feedback and testing help.

\n

BuddyPress 2.8.0 requires PHP 5.3+, and will not be activated on a server with a lower version of PHP. We also remind you that BuddyPress 2.8.0 will require at least WordPress 4.3.

\n

A detailed changelog will be part of our official release notes, but, until then, here’s a list of some of our favorite changes. (Check out this report on Trac for the full list.)

\n
    \n
  • BP Email: Allow end user to specify which PHPMailer should be used #7286
  • \n
  • Companion Stylesheet – Twentyseventeen #7338
  • \n
  • Minimum PHP version is 5.3 #7325#7299
  • \n
  • Support List-Unsubscribe header in emails #7390
  • \n
  • Make group search more flexible #7418 and other groups improvements, like #7419#7399#7388#7386#7375
  • \n
  • Lots of new filters in various parts of the code, like #6667#5193
  • \n
  • Lots of inline documentation tweaks and other fixes and improvements
  • \n
\n

BP 2.8.0 is almost ready, but please do not run it in a production environment just yet. Let us know of any issues you find in the support forums and/or development tracker.

\n

Thanks everyone for all your help to date. We are excited to release BuddyPress 2.8.0 in February!

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jan 2017 23:03:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Slava Abakumov\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"Post Status: Shaping a vision of success\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=32469\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://poststatus.com/shaping-success-wordcamps/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14728:\"

Editor’s note: This guest post is written by Jenny Beaumont, a co-organizer of WordCamp Paris and WordCamp Europe. She’s spent the last two decades building things in and around the web, writes a terrific newsletter, and lives in France.

\n

One of the highlights of my year, and a fitting end to 2016 as my sabbatical drew to a close, was attending the 2nd annual WordCamp US, held December 2-4 in Philadelphia, Pennsylvania.

\n

The trip met my expectations in every way, from the warm-hearted nature of the locals to the super-sized portions at every delicious meal, and from the diversity of attendees to all of the extraordinary conversations I had during that short week I was in town.

\n

“You might have noticed that this year’s programming at WordCamp US had some more of a human side, in addition to just the technical that we’ve had before,” said Matt Mullenweg, co-founder of WordPress and CEO of Automattic, during his much-anticipated State of the Word.

\n

“I think that a lot of our opportunities to grow over the coming year are on the human side, and understanding the humanity of an open source project and working together and creating the code that’s going to touch humanity as well.”

\n

Moving into 2017, ready for new opportunities and with the next edition of WordCamp Europe on the horizon, I find myself thinking about growth past and present, and about what success might look like for all of us in this new year.

\n

Growth and competition for WordPress

\n

“It’s really all about pie,” replied Mullenweg when asked about the future of a WordPress entrepreneur, stating that as long as the pie continues to grow, everyone can get a piece.

\n

He talked about how the new focuses of the WordPress project—the REST API, the Editor and the Customizer—along with an inclusive design-lead approach, should allow WordPress to reach new audiences.

\n

WordPress has seen incredible growth in recent years, now representing over 27% of websites, a full 20% ahead of competing platforms. This translates to 58.5% market share of all monitored content management systems, when looking at the top 10 million sites.

\n

This doesn’t mean that the competition isn’t trying to close the gap. Mullenweg reported that the top proprietary platforms, such as Squarespace and Wix, spent upwards of 320 million in advertising dollars in 2016, often directly targeting search engine queries for WordPress.

\n

“I think that in the past WordPress got by on a lot of sort marketing by happenstance,” he said, admitting the need to look at the marketing of WordPress in new ways, and hopefully pooling the resources of the community to do so.

\n

“I think we have a real opportunity especially as the businesses around WordPress grow larger and larger, to actually coordinate a bit […] there’s no one company in the WordPress ecosystem that’s large enough to match 300 million dollars, and spend on telling people the WordPress story. But no one company needs to be large enough, because we’re a community.”

\n

All in all, he painted a bright picture for the future for the WordPress ecosystem, the community of people who come together around a common purpose and ideal—the WordPress project and its mission to democratize publishing—and in so doing create a new paradigm for work and the web, the byproduct of which is a flourishing economy.

\n

I can’t help but wonder, how big can the pie get? And while we concentrate on growth and competition, how do we measure the success of our mission? How will we know when we’ve democratized publishing? Can or should WordPress achieve this goal alone?

\n

The numbers game for WordCamps

\n

“We must tilt our hat and bow down to Europe, which beat us this year,” Mullenweg capitulated as he wrapped up his report on community growth, expressed in the number of events and event attendance worldwide.

\n

Growth is an indication that we’re doing something right. An increase in the numbers tells us that more people are interested and getting involved. This is what an open source project needs to reach a wider audience, stay competitive and accomplish its mission: people to make it happen.

\n

But should success be measured solely in numbers? Is it healthy to think that there can be winners and losers when it comes to the success of our community as a whole?

\n

In its first three years, WordCamp Europe grew at a slow and predictable rate. Then last year, for some reason, it exploded. We sold our initial batch of 1500 tickets practically overnight, and ended up selling nearly 2200 tickets in total.

\n

What happened? Did WordCamp Europe’s reputation catch up with itself, creating this burgeoning interest? Was Vienna simply an incredibly attractive destination for a lot of people? Or was it the organizing team that did an outstanding job at marketing and outreach?

\n

WordCamp US was in its second year, and we can ask similar questions about why they didn’t see the growth they were expecting. Is the event, with its transition from the long-standing WordCamp San Francisco, still in its infancy, so that slow growth is to be expected? Was going to the same destination two years in a row not as appealing to attendees? Did the team do an adequate job of communicating around the event?

\n

In my mind, both WordCamp Europe and WordCamp US were successful events. Each did a lot of things well, and some other things less well. Attendees I encountered, whether speakers, sponsors, volunteers or the general public, seemed to have a rewarding experience and their expectations met.

\n

Because that’s why we put these events on, right? Not to “get the numbers” or “win”, but to create an enriching experience.

\n

Bigger is not necessarily better

\n

So, how big do we let ourselves get? This has been an ongoing question for us on the WordCamp Europe team since things took on a new dimension in Vienna.

\n

When I asked Paolo Belcastro, WordCamp Europe local team lead in 2016 and global team lead for 2017, what he thought about growth he said, “For me a successful event is when we have one ticket left over. It should be our goal to make sure that everyone who wants to attend, can.”

\n

This is a philosophy that I stand beside. It reflects our focus on attendees and on inclusiveness, so that it doesn’t matter whether we have 1000, 2000 or 3000 people, it only matters that we do our best to accommodate everyone and put on a great event for however many show up.

\n

It does not, however, answer the question.

\n

It’s exciting to run a popular event, and it’s easy to get carried away with that excitement and sense of accomplishment knowing that so many people want to attend, that so many people are being impacted in positive ways. When we focus solely on the numbers, and adopt a “bigger is better” mentality, it’s also easy to lose sight of some important consequences of growth.

\n

Professional level of production

\n

Keep in mind that we didn’t originally plan an event for 2200 people last year, and so we had to improvise, which meant a significant budget increase and a lot of extra work for the organizing team.

\n

It also catapulted us into a new level of production. Putting on a large event is not the same as putting on a smaller one, and once you get up above 2000 attendees, it has a trickle down effect. It means organizing a speakers dinner for upwards of 300 volunteers, and an after party for 1500. These are events in and of themselves. We’re brought to collaborate with professionals in the events world—caterers, vendors, venues—while we’re still volunteers working in our “spare time”, some of us with more experience than others at making this all happen.

\n

Increased cost of WordCamps

\n

While the average ticket price per day has gone down, from $20 to $15.79, the cost of putting on a WordCamp has increased. Mullenweg reported that the cost of WordCamp US was $516 per person, while attendees continue to pay a mere $40 for entry to the two-day event, including lunch both days, free-flowing coffee, access to the contributor day and after party, not to mention the great swag, which included both a t-shirt and an adorable Wapuu plushy this year.

\n

The additional 90% of this cost falls to sponsors. Sponsors are not volunteers running a non-profit, they are businesses. As we ask more and more of them, they understandably are starting to question what they get in return. Our response has typically been, “you’re supporting the community and gaining exposure,” but is that enough and for how long? How much is too much to ask?

\n

Setting expectations for sponsors and attendees

\n

How much is too much to ask of anyone? As we ask more of sponsors they expect more in return. As we grow, try to predict growth and to outdo ourselves every year, the task for organizers becomes more demanding. As we create bigger and better events, attendees expect to find the same elsewhere.

\n

An event with 10,000 attendees would be amazing. We probably couldn’t call it a WordCamp, though. It would be a WordPalooza, and would require a full-time staff and a new approach to programming, sponsorship and organization on the whole. Does an event have to grow into order to be successful? Can maintaining a certain level of participation and quality also be considered a success?

\n

Because it’s also possible that WordCamp US and WordCamp Europe will simply plateau at a certain capacity. The world may not be ready for a WordPalooza.

\n

Competition and success

\n

“One of the reasons why I think WordPress has such a collaborative community, when you see competitors hanging out with each other and getting drinks […] is that it’s a growing pie. So everyone’s slice of that pie can grow alongside. If it were shrinking or a static pie, the only way to grow would be taking some pie from someone else.”

\n

Competition is widely considered good for business. It pushes companies to innovate and guard against complacency. It encourages a focus on customer service and helps protect consumers through competitive pricing. Competition in the marketplace confirms there is a market to be had, that demand is strong for the products or services being offered. It seeks to establish a basis for fairness, while letting companies vie for market share, sales and profit margins.

\n

The friendly, collaborative nature of the WordPress community is born out of the open source philosophy of contribution and sharing. It is, in my mind, our greatest strength. Support within the community is unparalleled. We consistently root for one another, learn from one another, share our triumphs and our difficulties, through mergers, acquisitions, hirings, firings, career changes and even the occasional drama.

\n

How big can WordPress get? Arriving at 100% market share is neither a likely nor a desirable scenario, if you believe in the benefits of competition and fair trade. The pie is not likely to grow exponentially, but rather will turn into something else entirely as the technology, the world and the web evolve, and the project along with them.

\n

Success and expectations

\n

“When we are candid about our shortcoming, it allows us to be better towards going to the future,” Mullenweg said in talking about the WordPress Editor.

\n

This is a sentiment we can apply across the board, to ensure that our philosophy and our mission are reflected in our words and actions as we bring new users to our platform and welcome newcomers to our community.

\n

Healthy competition, whether inside or outside of the community, helps us strive to be the best we can be. Raising the bar can produce some extraordinary results, allowing us to be inspired by one another, taking on ideas that we might find valuable for our audiences, customers, clients. Healthy competition allows us to learn, have fun, grow and share that wealth of knowledge around us.

\n

Unhealthy competition causes us to lose sight of our goals, focusing on numbers instead of the people affected by them. In a community such as ours that prides itself on inclusiveness, we can only succeed or fail together.

\n

In this coming year I’d like to see success shaped through managing expectations and staying true to our purpose. I’d like to see it shaped by people, not numbers, by the humanity of this open source project that brings us together, allows us to create, to innovate, to provide for ourselves and our families.

\n

I’d like to think that a future vision of success could be when growth is neither the goal, nor our limitation, when we’re no longer looking to a growing pie, but rather to a renewable spring or self-sustaining garden. I’d like to think that one day we will be able to say that we’ve succeeded in democratizing publishing, and if and when we do, I doubt that we will have done it alone. And that’s a good thing.

\n

See you in Paris

\n

I have no idea how many people will show up to WordCamp Europe in June, but I do know that it will be another fantastic event. I also know that you can help make it a success by participating. You can apply to speak, to volunteer, to sponsor, and/or buy a ticket. So many ways to be a part of making it happen. So, see you there? Wait, let me rephrase: see you there!

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jan 2017 06:02:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Jenny Beaumont\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: Jetpack 4.5 Expands Monetization with WordAds Integration\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65273\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://wptavern.com/jetpack-4-5-expands-monetization-with-wordads-integration\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:16477:\"

\n

Jetpack is starting 2017 with a major release that is heavy on enhancements and improvements. Version 4.5 includes more than a dozen new shortcodes and widgets, along with revamped support for VideoPress. One of the most intriguing new features announced in this release, however, is the integration with WordAds, WordPress.com’s advertising program.

\n

Jetpack users are required to be on the Premium plan ($9.00/month or $99/year) in order to sign on with WordAds. The feature is then available within the Engagement tab along with settings for adjusting ad placement.

\n

Eligibility for WordAds was previously limited to sites that had thousands of page views per month, but this requirement is lifted for those who have purchased a Premium or Professional Jetpack plan. Unlike Adsense, which pays for clicks, WordAds pays based on the number of impressions combined with many other factors. According to Derek Springer, an Automattic employee who has worked on WordAds for several years, the traffic requirement was given to set earnings expectations and to ensure support resources were adequately available.

\n

How Much Can Publishers Earn through WordAds?

\n

It’s difficult to to gauge how much a publisher can earn using WordAds, and Automattic doesn’t publish any sample earnings. The WordAds network has more than 60 partners bidding for advertising space in realtime, including Google’s AdSense, Google, AdX, Facebook Ads, AOL, Yahoo, and Amazon. WordPress.com’s Daily Post blog likened the network to a stock market with prices rising and falling as available space changes.

\n

When asked about the average return for every 1,000 impressions, Derek Springer said it’s challenging to estimate due to the complex set of factors influencing the revenue publishers can earn. These include location and number of ads, geography of viewer, percentage of viewers with ad blockers, and other factors.

\n

“Generally speaking, a site with majority US views with high-quality content can expect to earn the most, while non-English language, low-quality (copied content, nsfw, spam, purchased traffic) sites can expect to earn very little (if anything),” Springer said. “Our network over the past year or so has gotten pretty good at appropriately rewarding high-quality sites with high-quality traffic (and penalizing the inverse).”

\n

For years, bloggers have traded stats and earning records, speculating on what influences WordAds’ unpredictable payouts. In 2014, the Human Breed Blog published a collection of data from blogs that made their WordAds earnings publicly available. The data demonstrated inconsistency in earnings for many publishers, including the author’s own blog, where earnings varied wildly from 2014-2015:

\n

My earnings have dropped down to half (From $22.55 in October 2014 to $11.77 in May 2015) despite my page views being higher than 20,000 views per month. The return per 1,000 Ad Impression (CPM) has dropped from $2.25 in October 2014 to $1.17 in May 2015 and the return per 1,000 Page views (CPV) has dropped from $1.39 in October 2014 to $0.51 in May 2015.

\nThe Human Breed Blog 2014-2015 WordAds Earnings\n

This example is representative of the experience of many WordAds publishers in 2014-2016.

\n

“On my blog SQLwithManoj.com, for the months May, June, and July, the ‘Ad Impressions’ were around ~10k and earnings were in the range of $25 to $48 respectively each month,” said Manoj Pandey, blogger at SQLwithManoj.com. “But in the month of August the ‘Ad Impressions’ were showing ~100k, i.e. ~10 times the previous months, but earnings are still in the same range.”

\n

For many publishers participating in WordAds, there seems to be little correlation between impressions and payouts from month to month. Numerous publishers have reported progressively lower earnings despite having higher traffic numbers than previous months. Clarissa’s Blog, included in the collection of public earnings above, published stats from June 2014 to December 2015 that show a dramatic decrease in the amount paid for impressions.

\n

“You have no way of knowing where the ‘ad impressions’ figure comes from and why it varies from one month to another,” Clarissa said. “You will have to trust WordPress on that. I experimented with placing the maximum amount of ads as opposed to a moderate amount of ads and that had absolutely no impact on the number of ad impressions.”

\n

Things started changing in 2016 for Clarissa who now reports that earnings are increasing. “I have no idea why but the payments seem to have returned to the higher rates,” Clarissa said. “Right now is a good time to do WordAds.”

\n

Others continue to report declines on the WordPress.com forums as recently as this week.

\n

“I used to get $800 for 800K impressions,” said the owner of rebirthonlineworld.com. “A few months ago I got $100 for more than 2 million impressions. Last month, only $90 for 500K impressions. This is a big problem for me.”

\n

WordAds Vastly Overpaid for Low-Quality Traffic During Its First Years

\n

In 2013 WordAds paid out $1 million to publishers on its network. According to Derek Springer, earnings since then have been “pretty flat the past year” due to industry-wide declining ad rates.

\n

“We’ve been slowly clawing our way back from the trough of early 2015, which was a historical low for us,” Springer said. “So more folks were paid out, but rates as a whole were at their lowest point in 2015. We’ve been steadily increasing our rates and paying out less to low-quality content/traffic, so if you’re a high quality site it’s likely your rates haven’t fallen too much.”

\n

Behind the scenes, WordAds was quietly evolving its network to better distinguish sites that would deliver more value to its advertising partners, which accounts for many of the dramatic declines in earnings.

\n

“Pre-WordAds 2.0 our network didn’t have the precision to distinguish between high-quality and low-quality (spam, nsfw, bot views, etc) traffic and we had to make some coarse estimations on how to chop the earnings value up,” Springer said. “The net effect was that we vastly overpaid low-quality traffic for the first handful of years.”

\n

Since WordAds 2.0 the program is gotten better at paying users for high-quality content and traffic. The team has more information on the traffic the network is getting and buyers have more information about the content they are bidding on.

\n

“The net effect is that advertisers refuse to bid on low-quality content and traffic and those sites that were previously earning lots are now getting pennies on the dollar,” Springer said. “I would estimate that after investigation 95% of the time the folks complaining about low payout have something kinda scammy going on, usually copied content or paid traffic (and frequently both).”

\n

“Paid traffic” in this instance refers to users who have paid a service to send bots to a page to refresh constantly in order to artificially inflate pageviews. One recent highly publicized incident of this kind of fraud is a case where Russian hackers stole more than $3 million per day from video advertisers using nonhuman bot traffic. Similar tactics have been used on WordAds, motivated by a misconception that pageviews are equal to ad views.

\n

The Decline of the Advertising Industry

\n

Another factor contributing to lower earnings over the past few years is the general decline of the advertising industry. A 2015 Reuters Institute Digital News survey indicates that nearly half of US internet users have some form of ad blocking software installed. Reuters Institute’s latest predictions forecast a 24% increase in US users with ad blocking in 2017. Advertisers have to fight harder to get the attention of the remaining half of consumers and many companies have decided to allocate those funds elsewhere.

\n

According to the Interactive Advertising Bureau’s latest Internet Advertising Revenue report, search advertising on desktop declined for the first time in 2016, falling 12% to $8.9 billion. However, mobile advertising grew 105% from $3.6 billion to $7.4 billion. Mobile search is having an increasingly strong impact in shaping a site’s traffic.

\n

These factors are outside of WordAds’ control but they weigh heavily on how many impressions publishers will receive. If the vast majority of a site’s visitors are using ad-blockers and the site isn’t easily found via mobile search, it is likely to suffer earning declines on any ad network.

\n

“Ad rates industry wide have fallen over the past few years,” Springer said. “Ad buyers just aren’t paying what they used to and more users are using ad blockers. They heyday of the late aughts/early twenty-teens may never return as ad buyers realized they just aren’t getting the return they were expecting.”

\n

WordAds Needs More Transparency Around Partners and Reporting

\n

It is difficult for publishers to improve their strategies for generating ad revenue when earnings fluctuate wildly without any explanation beyond changes in advertising rates. After reviewing the product’s forums, many are requesting more transparency around why their earnings have dropped despite higher numbers of impressions. They want to know if advertising rates have dropped for the month, if partners have dropped out of the network, or if their content failed to connect with visitors on certain days.

\n

WordAds users have experienced problems with incorrect reporting, record low payouts, and blank banner displays. In the past there have also been considerable delays in publishers receiving their monthly earnings. Springer said improving the reporting process is a top priority for the team this year.

\n

“The flip-side/challenge of working with dozens of networks is that none of them pay us very consistently,” Springer said. “In the past there was no unified collection process on our end, so we would have to wait to collect from each partner and then split it up and send folks earnings out in one batch. However, for the past year and a half or so we’ve been working with a company called IPONWEB to unify our earnings, reporting, and ad buying process (this is what powers WordAds 2.0). We’re at the point where we can begin to provide closer to real-time earnings reporting.”

\n

Automattic is Optimistic about Expanding the
WordAds Program with Jetpack

\n

The number of WordAds sites are up 111% year over year. WordAds currently has a few thousand self-hosted sites running AdControl/Jetpack Ads and Springer said the team is expecting that number to grow considerably now that integration has been added to Jetpack. The AdControl plugin is still available for non-Premium Jetpack users but the standard application and traffic requirements apply. Springer said they plan to phase out the plugin at some point in the future but there are no definite plans yet.

\n

“Tens of thousands of WP.com sites are approved WordAds (meaning they applied and were approved) out of many tens of thousands more total applications,” Springer said. “Additionally, every freemium WordPress.com site is running our ad network, though we naturally keep all the revenue from those sites.”

\n

With a gaggle of new publishers joining WordAds through Jetpack, one might imagine that rates and payouts for existing users would decrease as more advertising space becomes available. However, this isn’t how advertising networks work.

\n

“Generally speaking, advertisers want to display more ads than most publishers are able to provide (known as inventory), so adding more publishers/inventory to a network is a net benefit to advertisers and is what attracts the bigger, higher paying ad buyers,” Springer said. “If we can tell our ad partners ‘We have 10,000,000,000 pageviews available this month across our network,” then that attracts much more lucrative buyers than if a user has to try to attract them on their own. Advertisers also like that they can cut one deal for a million sites as opposed to having to cut them piecemeal and are generally willing to give us better deals. The whole ‘powers 27% of the web’ is a pretty tasty morsel for ad networks.”

\n

Advice for Publishers New to WordAds: Keep Expectations Realistic

\n

Seamless advertising is a major incentive for Jetpack users to sign up for the Premium plan, which also includes backups, one-click restores, security scanning, and 13GB video storage. The prospect of being able to flip the switch to turn on ads and potentially start earning money is very compelling, especially for users who have struggled with other forms of advertising that were not WordPress-compatible.

\n

The general outlook for WordAds is improving, as the product has evolved to reward higher quality content. As advertisers receive a better return on their investments, their confidence in bidding should increase. However, most publishers should expect to see fluctuations on earnings.

\n

WordPress.com’s Daily Post Blog advises new publishers to temper their expectations with the knowledge that they would need “hundreds of thousands of pageviews to generate meaningful earnings.” For most average bloggers, the ad revenue may not buy more than a decent cup of coffee.

\n

Mortiz Linder, an owner of traveluxblog.com, published his earnings and described his experience as “rather average.”

\n

“It’s a nice idea to gain something without effort, to get at least something back for all the work we put into traveluxblog each day,” Moritz said.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jan 2017 01:40:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"WPTavern: WPWeekly Episode 260 – SiteGround, Affiliate Summit Recap, and New Security Czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65327&preview=true&preview_id=65327\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"https://wptavern.com/wpweekly-episode-260-siteground-affiliate-summit-recap-and-new-security-czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2802:\"

In this episode of WordPress Weekly, Marcus Couch recaps his trip to Affiliate Summit 2017 held in Las Vegas, Nevada last weekend. Based on the vendors that were on the expo floor, mobile is the e-commerce platform of the future. We discuss the news of the week and share how you can get involved in the WordPress Marketing Group. We end the show with Marcus’ plugin picks of the week.

\n

Stories Discussed:

\n

Aaron D. Campbell Replaces Nikolay Bachiyski as WordPress’ Security Czar
\nPostmatic Basic Rebrands as Replyable, Moves Two-Way Email Commenting to SaaS Product
\nSiteGround Auto-Issues Let’s Encrypt Certificates for New Domains

\n

Plugins Picked By Marcus:

\n

Background Image Cropper adds cropping to background images for parity with header images. This feature is starting out as a plugin to gauge user interest and to determine if it improves the user experience of background images.

\n

Woo Product Remover allows you to remove all WooCommerce products from your site. It removes products, their metadata, relationships, as well as product variations and their related meta data from the database.

\n

WP Tasks After Install completes a series of tasks most commonly performed after WordPress is installed. These tasks include, removing the default Hello World post, setting permalinks to %postname%, activating Akismet, and more. The plugin will automatically deactivate itself when the tasks are completed.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, January 25th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #260:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jan 2017 22:59:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"HeroPress: Living A Better Life Thanks To WordPress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1571\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"https://heropress.com/essays/living-better-life-thanks-wordpress/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:12009:\"\"My

To me, as well as many others, WordPress is more than a technical choice, it’s a lifestyle choice. I didn’t see it as such right away. Looking at the last 4 years of my life, I can fully appreciate its impact.

\n

Aspiring to a life full of adventures and whimsy; I never really fit the mold. American TV series and movies that taught me my dreams could be achieved if I worked hard enough. Armed with that knowledge (and without a fancy diploma to my name), I worked bank, police, IT, supply chain jobs until I discovered the joy of making websites.

\n

My newfound passion (and many sleepless nights of work) helped me become a webdesigner. At the time, Joomla!, Spip and Typo 3 were the big names out there (in France). After achieving the role of Artistic Director as a freelancer; it took me a few years to open my own web agency. That moment changed my thinking: it was no longer ME but WE. And when a client asked us to use WordPress, we got to experience the CMS and its community.

\n

Focusing on WordPress

\n

Our team quickly realized that WordPress could do much more than “just blogs”. In France, the CMS kept having a reputation as a blog only platform. Complex websites were not made in WordPress. Our agency decided to convince clients otherwise. To achieve our mission and hone our skills, we decided to get closer to the WordPress community. I naively offered my help in evangelization efforts to the Paris WordCamp organizers. Except that there was one clear hurdle in our path: we had never contributed anything to the community before! This meant that we were relatively unknown. Needless to say that the feedback we received wasn’t what we expected.

\n

Contributions: It’s About Helping Others

\n

Contributing meant one thing: bring something to the WordPress ecosystem to help improve it. The WordCamp association’s president asked us to answer questions on the French forum as a token of our goodwill, to show our commitment.

\n

I started to answer questions right away but felt like an imposter. All the questions on the forum seemed so technical. I didn’t know how to contribute since I wasn’t a developer. It wasn’t like I was going to create a theme or plugin anytime soon. I kept obsessing over ways I could provide value to the community. I thought about my skills but couldn’t come up with something that would make a real difference.

\n

Sure I could speak English, but translating documents was not something I felt comfortable doing.

\n

So I turned to the previous WordCamp Paris conference and took a closer look at the participants. There, I found my first clue: a marketing expert! I reached out to him to see if I could interview him. As Marketing Director of a press group, he had lead a big WordPress project for his company. Interviewing him brought me two things: an article for our blog discussing what could be done with WordPress and a solid understanding of how the inner workings of the French WordPress community. He gave me an idea of the path one would take to end up giving a conference at the WordCamp. I didn’t realize it at the time, but by picking a name on a conference program, I would meet one of the key players in my WordPress story: Benjamin.

\n

Meanwhile, I continued to write articles about projects made with WordPress, sometimes ours, sometimes the competition’s. Good WordPress knows no bounds so it was necessary for me to showcase all the amazing websites made with this CMS. It’s also how I discovered my main competitors (before meeting them in the flesh later at various events).

\n

A white paper detailing the success of WordPress as a CMS got my name out. This allowed me to gain the courage to pitch my first conference. Providing feedback on projects allowed me to find my place in the WordPress community. Focusing on my experience and helping others didn’t require developer skills. My contribution was in writing and not in coding.

\n

My First WordPress Conference As A Speaker

\n

My first conference topic was on how to create a multilingual, multi-site project with WordPress in 3 months. Needless to say that I was nervous. I mean, speaking in front of 300 people is not something I had done while working at a bank, or in the police force or in any other job really. Adventure: here I come!

\n

The WordPress community was very kind to me and my first conference experience was a memorable one.

\n

During this conference, I wanted to highlight the plugins we used for this project. I mentioned a French startup that had launched a premium plugin as its first product. I found their approach interesting, so I thought I would give them a little visibility. Showcasing good WordPress websites, themes and plugins was already a habit of mine by then. The French team were happy to be mentioned and happened to be present at the event. They came to talk to me after my conference. Turns out, we had a lot to talk about. The company’s name: WP Media. They would open a new chapter of my WordPress story.

\n

During the closing night, I also met a lot of people. Some of them, just like Benjamin were going to have a big impact on my life. Many became great friends as well as mentors like Jenny Beaumont.

\n

Once I got started, there was no stopping me! I continued to speak at events (WordCamp Lyon, WP Tech Nantes), attended meetups, continued writing articles to highlight WordPress projects.

\n

The following year, I joined the organizing team of WordCamp Paris.

\n

Meanwhile, I go to my first WordCamp Europe which was a major new turn.

\n

WordCamp Europe 2014 Changed My Life

\n

Going to the WordCamp Europe changed my life. It’s an experience I highly recommend. If you can, go to the next WordCamp Europe!

\n

The organizers managed to pack so many international speakers that my head was spinning. Speakers were coming from all over the world. The quality of the talks (and speakers) along with the breadth of subjects covered open so many possibilities. You could end up changing your approach to WordPress or finding a new method of working with your peers.

\n

I attended a conference by Noel Tock named Beyond the code where he explained how he managed his life working in remote while traveling at the same time. He also gave insights as to how to monitor your time and how to optimize it.

\n

Realizing that such a life was possible; that you could achieve this time of freedom by reclaiming your time was a massive discovery.

\n

The second eye-opening conference for me was Simon’s lecture on Running an open source. He explained that that undertaking Open Source also meant contributing and collaborating with a community, including your competitors. Simon showed us for 30 minutes that working with competitors was not only beneficial for us agencies, but also for the customer, and for the WordPress community as a whole.

\n

Professional WordPress

\n

Becoming a strong voice in the professionalisation of WordPress in France and encouraging web agencies to contribute and to exchange more had become priority subjects.

\n

I have launched a WP Next association for professionals

\n
    \n
  • To ensure the promotion of WordPress, mainly with professionals, managers of information system, internet director, new media, … and more generally all IT decision makers.
  • \n
  • To enhance the skills of WordPress professionals with decision-makers,
  • \n
  • Promote French know-how around the WordPress CMS, associated technologies and services
  • \n
\n

I also launched with Deborah Donnier a documentary project Think WP to make known WordPress and its community.

\n

A new turn

\n

With these activities I gradually moved away from the creation of websites. Having so many opportunities tied to WordPress available to me, I decided to take a new turn. During the Wordcamps across Europe, I took great pleasure in exchanging with WP Media. We had kept contact since our first meeting. My profile and experience seemed to like a great fit for a new role in the WP Media adventure. I took a leap and became COO of the startup about a year ago. I manage my agency in parallel.

\n

I now work 100% remotely and so does a great portion of my agency. As for WP Media, everyone works remotely. Being a remote worker frees me from constraints that are inherent when you live in the Paris region (it’s a city and province in France). Time spent on commuting is used for other activities.

\n

My experience as a remote worker lets me have greater foresight which in turn allows me to carry out so many activities.

\n

Today, I can proudly say that I attended the US WordCamp last year and am helping organize this year’s WordCamp Europe with Jenny and Benjamin.I feel like I belong in a global community that thrives thanks to its members and their desire to improve WordPress.

\n

WordPress helped me along the path to a life full of adventures and long lasting friendships. It offers so many opportunities to forge beautiful projects, stories and more.

\n

I hope that my story will inspire someone else to get started and find the courage to persevere on the way to a life full of adventures (with or without WordPress). Give yourself time and open yourself to other points of view to help build the life you aspire to.

\n

Thank you for reading my story and see you at WordCamp Europe 2017!

\n

The post Living A Better Life Thanks To WordPress appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jan 2017 12:00:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Emilie Lebrun\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WPTavern: How to Add Users to BuddyPress Groups in Bulk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65283\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://wptavern.com/how-to-add-users-to-buddypress-groups-in-bulk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3220:\"

On a site I’m working on that runs BuddyPress, I created a new group and wanted to add nearly 400 registered users to it. Unfortunately, adding users to BuddyPress groups in bulk is not a core feature. I searched Google for a solution and while the BuddyPress Members Import plugin is recommended in many of the support threads, the feature alone is not worth spending $49.

\n

Continuing my search, I discovered a code snippet published by Alexander on the WPMU DEV forums that works perfectly. To use it, copy the code and add it to a custom WordPress plugin or paste it to your theme’s functions.php file. I added the code to the top of my theme’s functions.php file.

\nCode Snippet at the Top of my Theme’s Functions.php File\n

The JavaScript portion of the snippet adds a new item to the Bulk Actions drown-down menu named Add to BP Group.

\nAdd to BP Group Bulk Action Menu Item\n

Select the users you want to add to a group and select Add to BP Group. A prompt appears asking for the Buddy Group ID you want to assign the users to.

\nBuddyPress Group ID Prompt\n

To locate the Group ID, click on the Groups admin menu and click on the group’s name. The URL will look something like this admin.php?page=bp-groups&gid=357&action=edit and the ID is the number that appears after gid=. After entering the ID number, click the Ok button. All of the users you selected will be assigned to that group.

\n

In the comments of the code snippet on GitHub, Strand-C said he wasn’t able to move 165 users at a time and had to move 50 instead. I tested this theory by moving nearly 400 registered users at the same time to a new BuddyPress group and didn’t encounter any issues. Keep in mind that the site I’m working on is relatively new, is running WordPress 4.7, and has very little traffic which could explain why I didn’t have a problem.

\n

Being able to manage BuddyPress groups in bulk should be a core feature. There is at least one open ticket on BuddyPress trac to add Bulk Edit options to Groups. Until these features make their way into BuddyPress, the code snippet above is a free work-around that makes adding users to groups in bulk a lot more convenient.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 17 Jan 2017 22:23:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"WPTavern: SiteGround Auto-Issues Let’s Encrypt Certificates for New Domains\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65204\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"https://wptavern.com/siteground-auto-issues-lets-encrypt-certificates-for-new-domains\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3373:\"

SiteGround is now auto-issuing Let’s Encrypt certificates for every domain hosted on its shared servers. The company has also begun issuing and installing certificates on new accounts automatically after customers register domains or direct new domains to SiteGround’s servers. This also includes add-on domains added in cPanel. The certificates are also auto-renewed as long as the domains are pointed to the host’s servers.

\n

“Since the launch of Let’s Encrypt our customers have installed nearly 40,000 such certificates,” said Hristo Pandjarov, WordPress specialist at SiteGround. “This is less than 10% of the 500,000 domains we host. Together with the paid certificates we may say that 15% of the domains we host were using the HTTPS protocol before we started the auto-issuing procedure.”

\n

SiteGround is a sponsor of Let’s Encrypt and one of the first to auto-issue certificates to self-hosted WordPress customers. Let’s Encrypt passed 20 million active certificates in 2016 and the pressure is on for more sites to adopt SSL in 2017 with Google marking insecure sites in Chrome and using HTTPS as a ranking signal.

\n

“What prompted this decision is that we truly believe HTTPS is the future standard for web protocol and we also believe it is the better protocol,” Pandjarov said. “This is a good enough motivation for us to take the step of installing it automatically. We have decided to automate the SSL issuance and setup almost right after the appearance of the Let’s Encrypt initiative. Matt Mullenweg’s statement at WordCamp US that issuing SSL certificates will be a very important factor in evaluating a web host, was one more validation that this planned automation was a decision in the right direction.”

\n

According to Pandjarov, the vast majority of SiteGround’s customers are running WordPress. Respondents to the company’s 2016 client survey indicated that more than two thirds of them use WordPress, which Pandjarov said is a 10% increase in the popularity of WordPress among SiteGround users.

\n

Next Step for SiteGround: Pre-Configuring WordPress Installs to Use SSL with One Click

\n

Auto-issuing certificates does not guarantee that SiteGround customers will jump through the hoops to configure their sites to use the certificates. Installing a certificate on an existing WordPress site is not as straightforward as a simple click in most cases. SiteGround is working on fully automating this process for its WordPress customers.

\n

“If we really want to get closer to 100% HTTPS usage, we need to do more than just automatically issue the certificate,” Pandjarov said. “Our next step is to provide a way to pre-configure an active WordPress site, hosted on our servers, to work with the already issued SSL with one click. Additionally, our auto-installer is being updated to install all new WordPress sites as https-ready.”

\n

SiteGround doesn’t yet have an ETA for one-click SSL configuration but Pandjarov said the announcement will be coming soon.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 17 Jan 2017 21:52:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"WPTavern: Postmatic Basic Rebrands as Replyable, Moves Two-Way Email Commenting to SaaS Product\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65245\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"https://wptavern.com/postmatic-basic-rebrands-as-replyable-moves-two-way-email-commenting-to-saas-product\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5935:\"

\n

Postmatic is rebranding its WordPress.org Postmatic Basic plugin as Replyable and pushing the two-way email commenting feature into a new SaaS product. After discovering that many users simply want email commenting, without additional post delivery and newsletter features, Postmatic launched Replyable to offer this starting at $3/month.

\n

“Replyable was born out of user feedback,” founder Jason Lemieux said. “Postmatic does more than most sites need and the price is squarely mid-market. From the beginning we’ve heard from users that they already use another newsletter service and just want Postmatic to handle comment subscriptions – but that alone isn’t worth $20 to too many people. With Replyable we can offer it for $3.”

\n

Lemieux and his team have now transitioned Postmatic to be purely a Saas product without a presence in the WordPress.org directory.

\n

“Postmatic will continue to grow as a complete engagement system and, if anything, become even more complex and go further up market,” Lemieux said. “Sites which use Postmatic tend to dive in deeply. It is meant to function as a package. Grow a list, deliver to it, get them talking about your ideas, monetize the results.”

\n

The Replyable plugin on WordPress.org now simply covers comment subscriptions with all other features available in the commercial products.

\n

Ripping an existing feature out of a free plugin and making it paid is fairly unusual and can have a negative impact on how users perceive the plugin. However, Postmatic has a plan to allow legacy users to continue using the features they had before by switching to Postmatic Labs. It’s an inconvenient change but is required for those who don’t want to upgrade to a commercial plan.

\n

Although WordPress.org says Postmatic has approximately 1,000 active installs, Lemieux estimates there are 8,000 users including those using the commercial plugin or the Labs plugin. He would not share any specific revenue figures but said he learned some important pricing lessons in leading the bootstrapped startup for the past two years.

\n

“We aren’t a runaway WordPress success story but we’re alive and loving our jobs,” Lemieux said. “About six months ago it became apparent that we needed to get out of the mid market. We had a huge group of people saying, ‘I just want email commenting and will totally pay you 5 bucks a month for it,’ and another group saying, ‘We pay $6,000 a month sending Mailchimp RSS campaigns but yours are better for only $1500. Why so cheap?’ That’s been a frustrating reality and a big lesson in knowing your audience and pricing appropriately.”

\n

Next on Postmatic’s Roadmap: Epoch 2

\n

In July 2015, Postmatic introduced Epoch as a Disqus alternative, offering 100% realtime commenting for WordPress. The plugin submits comments via AJAX so that they appear instantly without refreshing the page. Lemieux and the team have been working on the second version for nearly a year.

\n

“Epoch 2 is a huge step forward,” Lemieux said. “We built it on top of the REST API and Angular. It’s fast and incredibly light. Commenting isn’t sexy – I don’t think it will ever be, but comments are great for SEO, community, and for building brands and authority. Comments aren’t going away. In fact, they are vitally important to keeping the web as a place for discourse, conversation, and the sharing of ideas. We need to continue to make them a better experience. Epoch isn’t groundbreaking in its functionality but it does the job of making sure sites of any size can still run native WordPress comments.”

\n

Postmatic continues to innovate with native comments, an aspect of WordPress that doesn’t have as many commercial players as something like forms or e-commerce. Lemieux attributes this underserved area to the poor reputation of previous non-native solutions.

\n

“I think it is because of the rise and fall of third party commenting system,” Lemieux said. “Early in WordPress history services like Disqus and Livefyre grabbed huge parts of the comment traffic on WordPress sites by offering more features, better speed, and improved moderation tools (with the hidden cost of selling your users down the river). It was certainly a siren song. But most all of them stagnated, violated user trust, or just plain didn’t work well. And commenting got a bad name. Naturally came the trend in disabling comments and, well, now here we are and people are trying to have conversations 140 characters at a time.”

\n

Lemieux said the innovation he sees happening outside WordPress makes him believe that comments can overcome their past reputation.

\n

“Things are getting better – and hopefully more folks will begin to innovate,” Lemieux said. “Lucky for us other blogging and publishing platforms are innovating and coming up with interesting ideas all the time. Some of them, like inline commenting from Medium, do make their way back over to WordPress. That makes me optimistic.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 16 Jan 2017 15:49:25 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"WPTavern: Aaron D. Campbell Replaces Nikolay Bachiyski as WordPress’ Security Czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65102\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:91:\"https://wptavern.com/aaron-d-campbell-replaces-nikolay-bachiyski-as-wordpress-security-czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2535:\"

Aaron D. Campbell, WordPress Core Contributor at GoDaddy, is replacing Nikolay Bachiyski as WordPress’ Security Czar or WordPress Core Security Team Lead. The role was created in 2015 to provide more structure and focus around incident responses.

\n

“The responsibilities of the position include, organizing the security team and making sure all security concerns and reports get triaged and ultimately fixed, coordinating the security side of releases, and being a point of contact for any security related things that need one,” Campbell said.

\n

Matt Mullenweg, co-creator of the WordPress project, thanked Bachiyski for being the first to accept the role and putting the foundation in place for future team leads, “This is also a good time to thank the dozens of volunteers who participate in the security group, and the researchers and reporters who bring issues to our attention,” he said.

\n

Campbell says he plans to finish what Bachiyski started by getting WordPress.org onto HackerOne. “Nikolay did a lot of work around expanding our team as well as getting the foundation laid for moving over to HackerOne,” he said.

\n

“We aren’t quite ready to make the move completely, but I hope to phase out the security@ E-Mail address in favor of HackerOne in the near future.”

\n

In late 2016, GoDaddy hired Campbell to contribute to WordPress core full-time. The company continues to back his involvement in WordPress, “The role is completely voluntary,” Campbell said. “GoDaddy has truly been extremely hands off while funding me to do all this, and I’m grateful to have that continue.”

\n

If you think you’ve discovered a security vulnerability with the self-hosted version of WordPress, you’re encouraged to responsibly disclose it to the security team by emailing security @ wordpress.org and include as much detail as possible.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 14 Jan 2017 23:53:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"WPTavern: Automattic Releases Free Plugin for Exporting Photos from Lightroom to WordPress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65177\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"https://wptavern.com/automattic-releases-free-plugin-for-exporting-photos-from-lightroom-to-wordpress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2493:\"

Yesterday Automattic released a new free plugin the makes it easy for Lightroom users to export their photos to WordPress. Lightroom is an Adobe product for managing and editing photos, and the plugin works with the software on MacOS and Windows. It is compatible with both WordPress.com and Jetpack-powered sites.

\n

The Lightroom plugin requires a WordPress.com account to install. Users can then select photos in Lightroom and export them to a WordPress site with all the standard settings available, such as image resizing, watermarking, output sharpening, and more. The plugin automatically exports titles and captions. A large number of photos can take awhile to export, but once the upload is finished users can find their images in the WordPress media library.

\n

\n

When asked for tips on suggested upload size and compression, Automattic representative John Godley said, “WordPress.com can handle pretty much anything you throw at it! I personally go for a high quality and large size so it looks good on a HiDPI screen, and then let WordPress resize as necessary to fit the viewers device.”

\n

It’s not yet clear how the release of Automattic’s free plugin will affect the commercial products that exist for a similar purpose. FloLight, WPLR Sync, and other solutions will need to offer more features with a quicker setup if they want to compete with the new free Lightroom plugin.

\n

Those who want to use the plugin must already have a Lightroom license (standalone or subscription). Although this is a relatively small subset of overall WordPress users, it saves a great deal of time for photobloggers and those who process a large number of photos with Lightroom before posting online. For most, this plugin simplifies what was previously a tedious, multi-step process of manually uploading the photos after working with them in Lightroom.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 14 Jan 2017 00:13:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"WPTavern: Wes Bos Launches JavaScript30, a Free 30-Day Vanilla JS Coding Course\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65209\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://wptavern.com/wes-bos-launches-javascript30-a-free-30-day-vanilla-js-coding-course\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2601:\"

\n

For those who failed to “learn JavaScript deeply” last year, 2017 offers a clean slate for restarting your JavaScript learning goals. Wes Bos, a developer and educator known for his high quality video tutorials, recently launched a free 30-day vanilla JS coding challenge course that provides structure for developing a new habit of daily learning.

\n

JavaScript30 walks users through building 30 things in 30 days with no frameworks, no compilers, no libraries, and no boilerplate. The course is suitable for beginner to intermediate developers and designers who want to get a solid grasp of JavaScript fundamentals. It purposely steers clear of abstractions like frameworks to help students gain a better understanding of browser APIs while working in the DOM without a library.

\n

Bos designed the course to help students gain competence through building things, the advice he gives to anyone wanting to improve their JavaScript skills.

\n

“So, you’ve done a few courses and read a few books but still don’t feel great about your relationship with JavaScript,” Bos said. “How do you get better? Build things. Lots of things. Build 1,000 things. Keep it up and don’t stop.” The course is packed full of quick, interesting, and practical projects.

\n

\n

JavaScript30 includes access to 30 videos, 30 days of starter files, and completed HTML, CSS, and JS Solutions for each day. The videos are accessible and ESL-friendly with closed captions provided.

\n

Bos said he spent more than 300 hours creating the videos as a thank-you to those who have supported his paid courses.

\n

“I see a huge need for these videos and I really think it will help many…become comfortable creating with JavaScript,” he said.

\n

Bos is also the author of the free Learn Redux course, which includes 2.5 hours of videos that help students get started with React.js, Redux, and React Router. Some of his other popular courses include React for Beginners, Learn Redux, and ES6 for Everyone.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 13 Jan 2017 22:05:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"WPTavern: WPWeekly Episode 259 – 2016 Year in Review Part 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65198&preview=true&preview_id=65198\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://wptavern.com/wpweekly-episode-259-2016-year-in-review-part-2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1040:\"

In this episode, Marcus Couch and I recap the news that made headlines during the second half of 2016. I explain why there wasn’t a show last week and we close out the episode with our predictions for 2017. We’ll be back to our regular show format on Wednesday, January 18th.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, January 18th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #259:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 13 Jan 2017 09:37:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"WPTavern: 2nd Edition of Producing Open Source Software Now Available for Free\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65181\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://wptavern.com/2nd-edition-of-producing-open-source-software-now-available-for-free\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3579:\"

\n

The second edition of Karl Fogel‘s “Producing Open Source Software: How to Run a Successful Free Software Project” is now available for download. Fogel, a partner at Open Tech Strategies and OSS contributor since 1997, was a founding developer in the Subversion project. He has worked for more than a decade as an open source specialist, helping businesses and organizations evaluate, launch, and manage open source projects.

\n

Producing Open Source Software version 2 was released for free this week under the Attribution-ShareAlike 4.0 International license. The first edition was published in 2005 but the landscape of OSS has changed drastically over the past 12 years. In 2013, Fogel successfully raised $15,376 towards his $10,000 Kickstarter goal to fund the revision.

\n

The book includes topics like ‘Free’ Versus ‘Open Source,’ choosing a license, version control, social and political infrastructure, the economics of open source, culture, and communication. It was written for managers and software developers but can also be informative for newcomers to open source projects.

\n

Fogel originally planned on finishing the second edition by the end of 2013 but experienced delays due to starting his company. Some chapters also took longer to revise than he anticipated.

\n

“In retrospect, if I had understood what the pressures of a young and growing company would be, I would not have started the 2nd edition when I did,” Fogel said. “It has been a lesson.” Fortunately, for the 314 Kickstarter backers who might have been waiting on his work for four years, progress was immediately available in the public repository for the book. Fogel didn’t keep any private version of the book elsewhere.

\n

“While there are substantial changes throughout the book, the most expanded chapter is probably Chapter 5, ‘Participating as a Business, Non-Profit, or Government Agency,\'” Fogel said. “That chapter’s title used to be just ‘Money,’ so that gives you some idea of what the new material is.”

\n

He also found the third chapter on technical infrastructure to be more time consuming than the others due to all of the changes in the past decade. It took roughly four and a half months to revise it to include modern development tools.

\n

One of the central focuses of the book is the value of collaboration and the direct benefits it provides to an open source software project.

\n

“Competence at cooperation itself is one of the most highly valued skills in free software,” Fogel wrote in the preface. “Good free software is a worthy goal in itself… But beyond that I also hope to convey something of the sheer pleasure to be had from working with a motivated team of open source developers, and from interacting with users in the wonderfully direct way that open source encourages. Participating in a successful free software project is a deep pleasure, and ultimately that’s what keeps the whole system going.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 23:13:23 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"Post Status: New Year’s resolutions for WordPress developers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=32188\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://poststatus.com/new-years-resolutions-wordpress-developers/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:15739:\"

Editor’s Note: This is a guest post by Jack Lenox. Jack is a developer at Automattic and hails from the United Kingdom.

\n

For just over a year now, I have been working on the WordPress.com VIP team at Automattic. I had been working at Automattic for the two years prior to this – and had been developing sites with PHP and WordPress for almost ten years prior to that. So you might imagine that I had a pretty good handle on developing stuff with WordPress.

\n

And you would be wrong. Getting started with the VIP team was an eye-opening and occasionally terrifying learning experience, occasionally resulting in me thinking: “please excuse me for a moment while I go and fix some horrible vulnerability in all of my WordPress sites.”

\n

Recently, I have cautiously found myself feeling slightly more comfortable with my position on the team. For some time, I have been wanting to document the most interesting and impactful things that I have learned in the past year.

\n

As some readers may know, a significant part of a developer’s job on the VIP team is reviewing code. Thus, with us being at the start a new year, I have hereby compiled some of the most interesting best practices I have discovered as a list of New Year’s Resolutions:

\n

1. Use strict comparison operators

\n

One of the many quirks of PHP is that it enjoys juggling. In particular, it enjoys juggling types. This means that without explicit instruction, PHP doesn’t see a difference between a string of “string”, an integer of 0, and a boolean value of true.

\n

So for example this:

\n
$var = 0;\nif ( $var == \'safe_string\' ) {\n    return true;\n}\n
\n

Will return true. I know, what?! The easy solution here is to simply use strict comparison operators.

\n

So that’s === instead of ==, and !== instead of !=. This pops up in a few other places too. By default the in_array() function has its strict parameter set to false.

\n

So:

\n
in_array( 0, [\'safe_value\', \'another string\'] );\n
\n

Will return true. To fix this, simply pass a third parameter of true.

\n

While we’re here, there’s one other form of comparison we should be aware of, and that’s hash_equals(). This provides a string comparison that prevents timing attacks.

\n

While a relatively uncommon form of attack on the web, it’s worth being aware of a timing attack. What is it? Well, when PHP compares two strings, it compares them one character at a time.

\n

So in the case of something like this:

\n
$submitted_password = $_POST[\'password\']; // For argument\'s sake, let\'s say it\'s \"pa45word\"\n$password = \"pa55word\";\n\nif ( $submitted password === $password ) {\n    go_forth();\n}\n
\n

PHP’s thought process in human terms is: Is the first character of each string p? Yes it is. Is the second character of each string a? Yes it is. And so on.

\n

It will do this until it realizes that the third characters differ and at that point it will bail. Thus, with sophisticated timing software, a password can gradually be worked out by calculating how long the process is taking. If the process takes slightly longer with one character than it does with every other character, an attacker will know that they have worked out the first character.

\n

Automated processes can keep doing this until the entire password is worked out. hash_equals() will compare two values, but will not bail early if it detects a difference.

\n

In conclusion, if you’re comparing sensitive values, use hash_equals()!

\n

2. Use Yoda condition checks, you must

\n

The WordPress PHP Coding Standards suggest that you should: “always put the variable on the right side and put constants, literals or function calls on the left side.” Initially, this might just sound like a bit of pedantry, but it actually has a very practical application.

\n

Consider how catastrophic the following typo could be:

\n
if ( $session_authorized = true ) {\n    unleash_the_secrets();\n}\n
\n

Oh dear, instead of checking that $session_authorized is true, I am instead assigning the value of true to that variable.

\n

Now the secrets are being unleashed to whoever wants them. This could easily be missed when checking the code for bugs, even by a reviewer.

\n

Now imagine if the first line was expressed as:

\n
if ( true = $session_authorized ) {\n
\n

Well, it doesn’t. We can’t assign a variable to the static boolean value of true.

\n

Hopefully it won’t take us too long to work out why our code is still broken, but the secrets remain safe. So we’re good! \"?\"

\n

3. ABE. A Always, B Be, E Escaping. Always Be Escaping. ALWAYS Be Escaping.

\n

Not having a firm grasp of the concepts of validation, sanitization and escaping can make you a very dangerous developer indeed.

\n

To the extent that libraries like React escape all output by default and to bypass this functionality, you have to use the attribute: dangerouslySetInnerHTML

\n

Validation is checking that what your code is being passed is even vaguely what it’s expecting. So for instance, if we’re expecting an integer, we can use something like: $zipcode = intval( $_POST[\'my-zipcode\'] )

\n

The intval() function returns its input as an integer and defaults to zero if the input was a non-numeric value. So while this won’t prevent our code from being passed zipcodes that aren’t valid, it does protect our code from being passed anything that isn’t a number.

\n

Naturally, we could go a step further to see if the zipcode actually appears to be valid. For example, 1111111111111 is not a valid zip code, but intval() doesn’t know that.

\n

Fortunately, beyond integers, WordPress has a bunch of handy helper functions for almost every data type including my favourite: is_email().

\n

Sanitization is cleaning input to make sure that it’s safe in the context where we want to use it. This prevents one of the most common forms of security vulnerability, an SQL injection attack.

\n

We also sanitize to fix practical things, like checking for invalid UTF-8 characters. WordPress has a class of sanitize_*() helper functions; here’s an example of how one looks in the wild:

\n
$title = sanitize_text_field( $_POST[\'title\'] );\nupdate_post_meta( $post->ID, \'title\', $title );\n
\n

Therefore no matter what garbage we might have been passed in $_POST[\'title\'], it won’t cause any real problems.

\n

Escaping is similar to sanitization, but instead it is cleaning what we’re sending out, rather than what we’re taking in. A major reason for doing this is to prevent another of the most common forms of security vulnerability, a Cross-site Scripting (or XSS) attack.

\n

We want to clean our output to ensure we aren’t accidentally echoing out something very dangerous that we didn’t realize we were inadvertently storing in our database (or perhaps fetched from an API).

\n

WordPress has a bunch of very useful helper functions here. Some common examples of these in the wild are:

\n
<h4><?php echo esc_html( $title ); ?></h4>\n
\n
<img alt=\"\" src=\"<?php echo esc_url( $great_user_picture_url ); ?>\" />\n
\n
<ul class=\"<?php echo esc_attr( $stored_class ); ?>\">\n
\n

There is also wp_kses() which can be used on everything that is expected to contain HTML, and will filter out elements that are not explicitly allowed.

\n

As a general rule, the the_*() and get_the_*() theme functions are already escaped. However, the get_bloginfo() function, for example, is not escaped.

\n

For further information here, I highly recommend checking out the VIP team’s documentation on Validating, Sanitizing, and Escaping.

\n

4. Stop trusting everything

\n

Don’t trust user input. Don’t trust what’s in your database. Don’t trust any variables.

\n

Treat every variable with contempt.

\n

This way, even if, for example, someone sneaks some dodgy XSS code into your database, it’ll still get escaped on output and your site will be better protected.

\n

5. Avoid inserting HTML directly into the document (when using JavaScript)

\n

Doing something like this is dangerous because the data that we’re using could include many more DOM elements that dramatically alter the anticipated behavior of this code, and make it vulnerable to XSS attacks:

\n
jQuery.ajax({\n    url: \'http://any-site.com/endpoint.json\'\n}).done( function( data ) {\n    var link = \'<a href=\"\' + data.url + \'\">\' + data.title + \'</a>\';\n\njQuery( \'#my-div\' ).html( link );\n});\n
\n

Instead, we should programmatically create DOM nodes and append them to the DOM. So the above instead becomes this:

\n
jQuery.ajax({\n    url: \'http://any-site.com/endpoint.json\'\n}).done( function( data ) {\n    var a = jQuery( \'<a />\' );\n    a.attr( \'href\', data.url );\n    a.text( data.title );\n\njQuery( \'#my-div\' ).append( a );\n});\n
\n

This is how a library like React does things behind the scenes. You can read more about this in a wonderful post about preventing XSS attacks in JavaScript by my colleague, Nick Daugherty.

\n

6. Review code

\n

Have you ever reviewed a plugin before using it? I know, who’s got time for that right? I’ll tell you who: you.

\n

I have come to realize that reviewing code is possibly one of the best exercises for improving as a developer. Even if you’re quite new to programming or development, and you still feel pretty green, you really should give it a go.

\n

A great way to start is to review the next plugin you decide to use on your website. Before activating it, pop it open in your text editor of choice, and just spend some time scanning through it to understand what it does.

\n

A method I like to use here is to interpret each line of the code in simple English. You can even say it loud if you like – assuming you’re not sitting in a café or co-working space where people might become worried about you.

\n

You might be surprised at how often you find bugs and quirks in the code, or that the code isn’t conforming to the best practices outlined above. And if you discover issues, why not create a patch? Or if the plugin is on GitHub, create a pull request.

\n

You can also review your own code. A great method for doing this is to never deploy code straight into production. Instead, leave it on the day you finish it, and review it line by line in the morning. This method is easiest to adopt if you’re using something like GitHub where you can create a pull request with the changes, then review the pull request yourself the next day before merging it.

\n

In this vein, I highly recommend watching my colleague, Ryan Markel’s, fantastic talk on this topic from WordCamp US 2016.

\n

7. Upgrade your tools (or at least use PHP_CodeSniffer)

\n

There are lots of tools that help make web development easier, but if you’re doing a lot of WordPress development, the most valuable is probably PHPCodeSniffer. It reads your code and automatically reviews it for bugs and coding standards inconsistencies while you type.

\n

It’s kind of like a spell checker, but for code. No matter how good your English is, you still use spell check right? So why wouldn’t you spell check your code?

\n

Here’s a bonus for you: the WordPress VIP Coding Standards are available by default with the WordPress Coding Standards for PHPCodeSniffer. So with that, it’ll check if you’re following most of the above resolutions.

\n

As you might imagine, using PHP_CodeSniffer also really helps highlight potential problems when you’re reviewing plugins and other people’s code.

\n

8. Be curious

\n

Far too often, I’m guilty of searching to try to find out what a particular WordPress function does, or scanning Stack Overflow to see if someone’s having the same problem as me.

\n

I have historically had a bad habit of seeing much of what WordPress does as magic, and avoiding getting too deep in the inner workings. But actually, it can be very beneficial to find out answers for yourself, instead of trying to find others who have already done the work.

\n

In essence, WordPress is quite simple. The code largely consists of functions taking arguments, and doing things with those arguments, and passing the results onto other functions taking arguments, and so on.

\n

It doesn’t take much to start unpicking something, and working out exactly what’s happening behind the scenes. So next time you’re struggling with a function, try going straight to looking at what the function actually does.

\n

Personally I find the WordPress GitHub repo that mirrors the core SVN repo to be a very useful way of doing this.

\n

The WordPress strapline is that “code is poetry”, and for its flaws I find that on the most part, the WordPress codebase is very readable, if nothing else! \"?\"

\n

I’ll conclude by taking this opportunity to wish you a very happy and prosperous new year!

\n

Note: Some of the above has been gleefully plagiarized from WordPress.com VIP’s Code Review documentation. It’s an Aladdin’s cave of useful advice, and I highly recommend working your way through it as and when you can.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 21:26:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Jack Lenox\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"WPTavern: Tom McFarlin to Launch Marketplace for Blogging Plugins, Finds New Maintainer for WordPress.org Plugins\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64899\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:123:\"https://wptavern.com/tom-mcfarlin-to-launch-marketplace-for-blogging-plugins-finds-new-maintainer-for-wordpress-org-plugins\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5189:\"

Daily blogger and plugin author Tom McFarlin has found a new maintainer for five of his WordPress.org plugins. Within two days of putting the plugins up for adoption, McFarlin announced that Philip Arthur Moore will be taking over Category Sticky Post, Comment Tweets, Single Post Message, Tag Sticky Post, and Tipsy Social Icons. Moore, who is currently working as CTO at Professional Themes, has inherited roughly 10,000 users overnight in the transfer of maintainership.

\n

WordPress.org plugin adoption stories are few and far between. The most common scenario for an orphaned plugin is to languish in the directory until it disappears from search results (with the exception of exact matches) after two years of no updates. In McFarlin’s case, he was looking to tie up some loose ends before shifting Pressware’s focus to launching Blogging Plugins, a marketplace for extensions that streamline WordPress for regular bloggers.

\n

“Last year, I had a few false starts when trying to launch what was originally called Pressware Plugins,” McFarlin said. “Fast-forward a few months and we’re going to focus on something called Blogging Plugins. We already have two free plugins available, though there’s an entire set of plugins, marketplace, and more coming.”

\n

Moore’s adoption of the plugins, which includes the first plugin McFarlin ever wrote, allows Pressware to move forward with its 2017 objectives. McFarlin said he selected Moore based on the quality of his open source projects and reputation in the WordPress community.

\n

“For those of you who aren’t familiar with Philip’s side projects, you may be familiar with Subtitles,” McFarlin said. “It’s a plugin that falls right in line with my personal ethos of how things should work with WordPress: You activate it, it’s ready to go, and it feels native within the application.”

\n
\n

Why would I adopt @tommcfarlin\'s work? Because I owe him. He\'s ethical, an amazing man, and a stellar coder: https://t.co/WM66Xu1vm1

\n

— Philip Arthur Moore (@philip_arthur) January 6, 2017

\n

\n

The adopt-me tag is used on WordPress.org to indicate plugins where the author is looking for a new maintainer. With just two pages of listings, it’s not yet widely used. Most developers find it easier to fork an open source plugin and WordPress.org has recently made it easier than ever for authors to close a plugin by simply emailing the plugin team.

\n

However, not all orphaned plugins are ready for end of life measures. Circumstances change in plugin authors’ lives, but the strength of the user base is one of the primary indicators of a project that could thrive in new hands. The built-in user base is also one of the main advantages of adopting a plugin as opposed to forking it.

\n

Developer and ZDNet columnist David Gewirtz discovered the full weight of adopting a plugin’s users when he took on 10 plugins from the adopt-me section of the directory. Gewirtz, who inherited approximately 50,000 users, said the experience helped him reconnect with real users.

\n

“The value I’ve gained as a columnist, advisor, and educator that has come from interacting with users from so many nations with so many different skill sets and missions has been off the charts,” Gewirtz said. “I thought I’d keep my programming chops up, and I’ve certainly done that. But I never expected I’d gain a much broader perspective that I’d be able to apply to all of the areas of my professional life and meet so many cool people.”

\n

Adoption is arguably the healthiest outcome for any orphaned project – not just for the sake of reducing plugin abandonment but also for continuing support for users. Many of them blindly depend on plugins with no understanding of how they work.

\n

Once a plugin is downloaded and installed on users’ sites, it gains a life of its own. Adoption strengthens a project’s history by proving it can weather storms that might otherwise cause the plugin to become obsolete and wipe out the user base.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 07:59:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Matt: Thirty-Three\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"https://ma.tt/?p=47034\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://ma.tt/2017/01/thirty-three/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4279:\"

I’m taking it easy this week, nothing too crazy — just sharing good meals and wine with friends. Which is probably a good example of my goals for the year: putting family and loved ones first, slowing down (to go further), and deliciousness. (Single Thread Farms blew me away.)

\n

2016 was a year of incredible contrasts: it was the saddest and most challenged I’ve ever been with the passing of my father, and while that overshadowed everything there were also bright moments of coming closer to family, deepening friendships, and growing professionally with incredible progress from both WordPress and Automattic. That momentum on the professional side is carrying through and right now I’m the most optimistic I can recall, and thrilled to wake up and get to work every day with the people I do.

\n

I talked about trying to spend longer stretches of time in fewer places, and that definitely happened. I flew 162k fewer miles than the year before, and visited 35 fewer cities. My blogging decreased a lot too — from 252 posts in 2015 to 76 posts in 2016, but the posts I did write were at least 50% longer. I made it to 9 more of the Top 50 restaurants and stand currently at 50% of the list. I finished 22 books, including a lot more fiction including my first few graphic novels like Ex Machina, Y: The Last Man, and Watchmen. I watched 35 movies, 9 of which were from the Marvel universe on a single flight from Cape Town to Dubai.

\n

Last year I said, “it’s exciting to make the most of the opportunity that the volatility, love, loss, glory, failure, inspirations, and setbacks that 2016 will bring.” I didn’t know how right I would be, and wish I hadn’t been.

\n

This year doesn’t start with new plans, but rather three intentions continued from a few months ago. I revealed one yesterday, and promised I would expand today on the others, so here they are:

\n
    \n
  1. Symmetry — Balance in all things, including my body which is stronger on my right side and much tighter on my left side. We also need symmetry in WordPress between the .org and .com products which differ too much.
  2. \n
  3. Stillness — In echoes of Pico Iyer, so much of my life in my 20s was about movement, and “going places to be moved.” In my 30s I’m looking inward. As Saint Augustine said in Book X, chapter 8 of Confessions: “Men go forth to wonder at the heights of mountains, the huge waves of the sea, the broad flow of the rivers, the vast compass of the ocean, the courses of the stars, and they pass by themselves without wondering.”
  4. \n
  5. Yellow Arrows — The idea that there are clear indications of where to go next at every fork in the road, and if not you should paint them. I wrote more on this  yesterday.
  6. \n
\n

Previously: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, and 32.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 07:59:25 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"WPTavern: WordPress 4.7.1 Fixes Eight Security Issues\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65100\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://wptavern.com/wordpress-4-7-1-fixes-eight-security-issues\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2146:\"

WordPress 4.7.1 is available for download and fixes eight security issues that affect WordPress 4.7 and below. The PHPMailer library was updated to patch a remote code execution (RCE) vulnerability. WordFence reported the vulnerability last month as critical and that it affects WordPress core.

\n

However, in the announcement post for 4.7.1, Aaron Campbell, WordPress’ new Security Czar says that, “No specific issue appears to affect WordPress or any of the major plugins we investigated but, out of an abundance of caution, we updated PHPMailer in this release.” Dawid Golunski and Paul Buonopane are credited with responsibly disclosing the vulnerability.

\n

WordPress 4.7.1 also fixes an issue where the REST API exposed user data for all users who authored a post of a public post type. This release limits this ability to only post types which have specified that they should be shown within the API. Brian Krogsgard and Chris Jean are credited with responsibly disclosing the vulnerability.

\n

In addition to patching eight security issues, this release fixes 62 bugs. To see a full list of changes, visit the release notes page or you can view them on Trac. Sites should update automatically but if you’d like to update sooner, visit your site’s Dashboard, select Updates, and click the Update Now button.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 23:19:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"WPTavern: Facebook Launches Journalism Project, Plans to Expand Monetization of Instant Articles\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65121\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:106:\"https://wptavern.com/facebook-launches-journalism-project-plans-to-expand-monetization-of-instant-articles\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3423:\"

After taking heat for the proliferation of “fake news” and misinformation on its platform during the US presidential election, Facebook is aiming to strengthen its ties with the news industry.

\n

“We care a great deal about making sure that a healthy news ecosystem and journalism can thrive,” Facebook director of product Fidji Simo said in the announcement today.

\n

The new Facebook Journalism Project will focus on creating news products with feedback from publishers, providing training and tools for journalists, and promoting news literacy for the public.

\n

In 2015 Facebook launched Instant Articles to deliver publishers’ content instantly in exchange for advertising revenue. The platform will be expanding the feature to combine multiple Instant Articles in one post, starting January 12, 2017.

\nimage credit: Facebook\n

“We’ve heard from editors that they want to be able to present packages of stories to their most engaged readers on Facebook,” Simo said. “We’re starting to work with several partners on how best to do this. We’re going to start testing this using Instant Articles, so that readers can start to see multiple stories at a time from their favorite news organizations.” Facebook is currently testing this feature with BILD, BuzzFeed, El Pais, Fox News, Hindustan Times, The Sun, The Washington Post, and other publishers.

\n

In April 2016, Automattic partnered with Facebook and VIP-Featured-Partner agency Dekode to develop Instant Articles for WP, a plugin that outputs a compliant feed of posts wrapped in the required markup for Facebook. The plugin passed 10K active installs at the end of 2016, but its star rating continues to plummet due to numerous errors with updates and a lack of support. Only 1 of 42 support threads has been marked resolved in the last two months. Publishers who depend on the plugin may need to have a developer on staff to handle issues with the plugin or select another solution.

\n

Facebook is also planning to collaborate with publishers on subscription business models for their content. Participation in this feature will require the publisher to make its content available through Instant Articles.

\n

“Many of our partners have placed a renewed emphasis on growing their subscription funnel, and we’ve already begun exploring ways we can support these efforts,” Simo said. “This month our engineering team in collaboration with the engineering team of the German news organization BILD will launch a test to explore offering free trials to engaged readers, right from within Instant Articles.” Simo also said they are working on other monetization options for publishing partners, including advertising breaks in regular videos.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 21:49:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"HeroPress: Blogging, Solopreneurship, & Terrorism\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1563\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://heropress.com/essays/blogging-solopreneurship-terrorism/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:13067:\"\"Pull

This story involves me as a blogger, the Prime Minister, me again as a web developer, an Islamic cult attempting a coup d’état, and me again as a solopreneur. Oh, and WordPress. And ISIS.

\n

WordPress: My First Encounter

\n

In the beginning of 2006, everyone in Turkey was talking about blogs. It was the hot new thing on the web. Forums were “out” and blogs were “in”. Anyways, I was getting ready for the ÖSS and studying to get into a university but I was psyched enough to register a blog on WordPress.com, on January 2006. (I moved the blog into a free hosting space the next month, and opened up beyn.org in July 2006.) I was in Kocaeli, the city right next to İstanbul.

\n

After the registration, I realized that I had nothing to write about. So I wrote about the day I had. The next day, I did the same thing. And the next day. And the next seven and a half years. Of course, I skipped four or five days. But that kind of dedication earned me a reputation and an award for “Best Personal Blogger of 2008”.

\n

But I didn’t just write about my days. After getting accepted into Ankara University in September 2006, I began to read and think about politics, as nearly all young Turks do in university. Eventually, I started writing about politics as well. Because you know what they say: If you want to learn something, write about it.

\n

Oh, I learned it pretty well, and I learned it the (somewhat) hard way.

\n

Facing Jail Time with a Blog Post

\n

2010 was probably my darkest year in my entire life. (2016 is the next candidate.) I was 22 years old, blogging daily, learning about web design and WordPress (more on that later), and keeping up with what’s going on with the country. Things were crazy back then: A very big prosecution was going on called the Ergenekon Case about military people allegedly planning a coup (Hint: This is not the coup I mentioned in the intro! These guys were all acquitted later.) and a big campaign for a constitutional referandum was more than enough to keep the whole country busy.

\n

In December 2010, Recep Tayyip Erdoğan, the Prime Minister of the time (and the President since 2014) sued me for one of my blog posts. It was about one of the slogans he used in his referandum rallies (“The terrorists and the opposition parties are soul mates!”) and me using the same sentence against him. Like, the exact same sentence. He didn’t like the way that the slogan was used against him, so he reported me and the state brought charges against me. I was 22 and I was being sued by the most powerful man in the country, because I used his words against him.

\n

When the Prime Minister sues you, you go to jail. There were little to no instances of winning a case against the government, especially when they were the one suing you. Thankfully, I was one of the few instances: I won the case in my third trial, February 14, 2012. (“Lovely” day, isn’t it?)

\n

There were one downside though: With the fear of the government suing me, I stopped writing about politics in 2011 and 2012, and even a few months after I won. And to this day, even though that fear is long gone, and even though I’m writing about politics again on Beyn, I still can’t write regularly like I did back then.

\n

Anyways. Moving on with the “web development” phase of my life.

\n

Learning to Develop WordPress, and Teaching It at the Same Time

\n

When I started Beyn, I immediately loved WordPress. I had some experience on HTML and CSS on Dreamweaver (never was a FrontPage guy), and I happily retired DW because I won’t be able to work on it while I was learning WordPress.

\n

I don’t remember trying to learn something with such passion. I loved the idea of plugins and themes extending the core. Beyn became my playground for new tricks, my laboratory for new experiments about WordPress. I installed plugins, edited themes, learned what’s right and what’s wrong with what I did… I probably crashed the website more than a hundred times!

\n

By 2012, I’d already started making websites for other people and getting paid. I had developed a few plugins, made a couple of themes from scratch. While still learning what awesome things I’m able to do with WordPress, I applied for a small writing gig at Wptuts+, which was later renamed Tuts+ Code. Because you know what they say: If you want to learn something, write about it.

\n

That “small writing gig” was in fact my biggest source of education. I wasn’t a WordPress expert, but that gig was the ultimate reason to learn more and more about WordPress. I remember constantly feeling that “I’ve finished telling about everything I know about WordPress, so now I have to learn more!” and doing research on things to write about.

\n

I was aware that I don’t have any chance to write a sloppy tutorial, so I nagged my editors (first Japh Thomson, then Tom McFarlin) about my writing style, my choice of topics and of course, my English. They said my English was very good, and my topics are relevant and suitable for publishing on Tuts+. In almost exactly four years (from April 2012 to March 2016), I wrote 134 posts and I’m very proud of (almost) all my work there.

\n

While it was sad to leave Tuts+, I had a project in my mind that I put off so long: Optimocha.

\n

WordPress Speed Optimization with Terrorists, Bombs and Death

\n

That title came out grimmer than I expected. Heh. Anyways.

\n

2015 was the year when I first thought about a speed optimization service for WordPress-based websites. Then I thought that I would better use my energy on the upcoming general elections in June. I worked for an NGO called “Vote and Beyond” to ensure transparency in observering of ballot count in the elections.

\n

2015 was also the year with a whole lot of terrorist attacks. PKK, a terrorist organization pretending to defend Kurds’ rights (while giving a bad name for all Kurds countrywide) and ISIS (you know them) were the most active terrorist organizations in 2015. They killed more than 250 people and injured more than 1000 in a series of shootings and bombings throughout the year.

\n

Worst year ever, right? Not even close. Let me quickly summarize the hell we’ve been through:

\n
    \n
  1. ISIS killed 116 people in 5 different attacks.
  2. \n
  3. PKK killed 176 people in 15 different attacks.
  4. \n
  5. TAK, PKK’s even uglier cousin, killed 43 people in 4 different attacks.
  6. \n
  7. FETO killed 248 people across the country in their coup d’état attempt on July 15.
  8. \n
\n

583 people killed in terrorist attacks in 2016. So, just a few more than all those lovely celebrities.

\n

What’s that FETO sticking out among the others, attempting a coup? That’s FEthullahist Terrorist Organization: The organization of Fethullah Gülen, an Islamic cult leader comfortably residing in Pennsylvania, plotting to take over the government for (I kid you not) over 40 years. Even I had made peace with the President because of the much needed “purges” to scrape his crypto-disciples in the government organizations. FETO is one of the enemies that can let you make peace with the ones against your values.

\n

(By the way: While celebrating that we got rid off that horror show of 2016, ISIS killed 39 more people with an AK-47 in a New Year party on January 1, in the middle of the night.)

\n

Still waiting for the part where I founded Optimocha, right? Sorry it took a bit long.

\n

April 2016 was the month I registered my company by paying for the usual fees to register a sole proprietorship, accountant fees, rent for an office (because by law, you can’t register a company without an office), some paperwork. All my funds vanished, leaving me with nothing to spend on marketing.

\n

PayPal halted operations in Turkey on June, because of conflicts with the government. 2CheckOut followed. I was going to use 2CO, so I was left with no payment gateway provider. Along with the terrorist attacks, I decided to spend Ramadan (the holy month for Muslims, passed on June 2016) sleeping, lying and moping around with depression.

\n

At the beginning of July, I was ready to work again, amped up for success! Except the coup attempt happened. Bombs and sonic booms in my city. Back to depression.

\n

By October, I was almost ready to go live with the website. I didn’t. I forced myself to finish it in November, before Black Friday. I did! People responded to my emails, said they’ll publish my deal on their blogs. People who saw the deal also responded and purchased my services. Yay.

\n

Conclusion

\n

Blogging is hard. Blogging with the most powerful man in your country trying to lock you up is the hardest.

\n

Solopreneurship is hard. Solopreneurship with several, highly active terrorist organizations killing people next to you is the hardest.

\n

Yet, and I’m sure this is going to sound cheesy, I have hope. This is the price we have to pay in order to get rid of the scum in the world. Turkey isn’t the worst country in the world suffering from terror–we’re just a country stuck between Europe, Russia, the Middle East and Africa. (Talk about a rock and a hard place…) We will survive this, and this too will pass.

\n

Turkey may be viewed as “yet another Middle Eastern country”, but it was founded almost a hundred years ago with the heritage of the Ottoman Empire, but also with a Western, secular mindset. Even today, you can’t find a sensible person talking trash about Mustafa Kemal Atatürk, who declined the Ottoman monarchy to set the foundation of a democratic republic in a time of dictatorships across Europe and Asia. Emphasis on the words “even today”, because the principles of his vision of the Republic of Turkey is in danger, a very large portion of the country has the confidence and equipment to defend those principles.

\n

Again: We will survive this, and this too will pass. You have my word.

\n

The post Blogging, Solopreneurship, & Terrorism appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 12:00:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Barış Ünver\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"Dev Blog: WordPress 4.7.1 Security and Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4650\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"https://wordpress.org/news/2017/01/wordpress-4-7-1-security-and-maintenance-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6519:\"

WordPress 4.7 has been downloaded over 10 million times since its release on December 6, 2016 and we are pleased to announce the immediate availability of WordPress 4.7.1. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7 and earlier are affected by eight security issues:

\n
    \n
  1. Remote code execution (RCE) in PHPMailer – No specific issue appears to affect WordPress or any of the major plugins we investigated but, out of an abundance of caution, we updated PHPMailer in this release. This issue was fixed in PHPMailer thanks to Dawid Golunski and Paul Buonopane.
  2. \n
  3. The REST API exposed user data for all users who had authored a post of a public post type. WordPress 4.7.1 limits this to only post types which have specified that they should be shown within the REST API. Reported by Krogsgard and Chris Jean.
  4. \n
  5. Cross-site scripting (XSS) via the plugin name or version header on update-core.php. Reported by Dominik Schilling of the WordPress Security Team.
  6. \n
  7. Cross-site request forgery (CSRF) bypass via uploading a Flash file. Reported by Abdullah Hussam.
  8. \n
  9. Cross-site scripting (XSS) via theme name fallback. Reported by Mehmet Ince.
  10. \n
  11. Post via email checks mail.example.com if default settings aren’t changed. Reported by John Blackbourn of the WordPress Security Team.
  12. \n
  13. A cross-site request forgery (CSRF) was discovered in the accessibility mode of widget editing. Reported by Ronnie Skansing.
  14. \n
  15. Weak cryptographic security for multisite activation key. Reported by Jack.
  16. \n
\n

Thank you to the reporters for practicing responsible disclosure.

\n

In addition to the security issues above, WordPress 4.7.1 fixes 62 bugs from 4.7. For more information, see the release notes or consult the list of changes.

\n

Download WordPress 4.7.1 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.1.

\n

Thanks to everyone who contributed to 4.7.1: Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, Andrea Fercia, Andrew Ozz, bonger, Boone Gorges, Chandra Patel, Christian Chung, David Herrera, David Shanske, Dion Hulse, Dominik Schilling (ocean90), DreamOn11, Edwin Cromley, Ella van Dorpe, Gary Pendergast, Hristo Pandjarov, James Nylen, Jeff Bowen, Jeremy Felt, Jeremy Pry, Joe Hoyle, Joe McGill, John Blackbourn, Keanan Koppenhaver, Konstantin Obenland, laurelfulford, Marin Atanasov, mattyrob, monikarao, Nate Reist, Nick Halsey, Nikhil Chavan, nullvariable, Payton Swick, Peter Wilson, Presskopp, Rachel Baker, Ryan McCue, Sanket Parmar, Sebastian Pisula, sfpt, shazahm1, Stanimir Stoyanov, Steven Word, szaqal21, timph, voldemortensen, vortfu, and Weston Ruter.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 03:53:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Matt: Rebirth and Yellow Arrows\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"https://ma.tt/?p=47020\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://ma.tt/2017/01/rebirth-and-yellow-arrows/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2464:\"

My friend Kamal Ravikant has a new book out, Rebirth, which I highly recommend. I had the good fortune to read it a few months ago and the story of the Camino de Santiago touched and inspired me.

\n

Because of the impact of the book, I ended up adopting a few New Year’s intentions long before January 1st — things to ruminate on and keep in mind as the year wound down. The outlook of the world seemed uncertain, and I’m learning to navigate the world without my father.

\n

\n

Yellow Arrows

\n

The Camino de Santiago is a pilgrimage path in Spain that people have walked since the 9th century AD. The 500 mile path winds through mountains, fields, and sometimes cities, and many pilgrims take a month or more on it. In some ways it is similar to the Kumano Kodo walk I did with Dan and Craig last year.

\n

There are places where the path isn’t exactly clear, either because the trail isn’t strong, there’s been growth, or you might be in a crowded urban area like a city. Over the years pilgrims and people who live on the trail have marked it with yellow arrows pointing the way. If someone gets lost or confused, it’s an opportunity for an additional sign to bring them back on track.

\n

When you know the path, is it clear where someone else walking it should go next? It’s an interesting concept that applies across life. In your relationships, does your friend, loved one, or partner know what to expect, and where you’re headed together? Even in WordPress I feel like there are too many places where we bring someone to a fork in the road and there is no clear indication which way they should take.

\n

Give some thought to the yellow arrows in your life, and I’ll write more about the other two things I’ve been thinking about tomorrow. Also don’t forget to pick up a copy of Kamal’s book. I loved it and I think it will be one I’m recommending to many friends.

\n

\n

(Image from Camino Travel Center.)

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 03:48:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"WPTavern: Year in WP Creates a Personalized Review of WordPress Contributions in 2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64884\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"https://wptavern.com/year-in-wp-creates-a-personalized-review-of-wordpress-contributions-in-2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4911:\"

Year In WP is a new site by Jesper van Engelen that creates a personalized review of a user’s contributions to WordPress in 2016. Entering the WordPress.org username of a plugin or theme author or a WordPress core contributor into the field generates a list of statistics that includes:

\n
    \n
  • Profile information
  • \n
  • Number of times their plugins and themes were downloaded
  • \n
  • Most downloaded plugins and themes
  • \n
  • Average number of downloads per week
  • \n
  • Plugin and theme review rating average
  • \n
  • Percentage of five-star ratings
  • \n
  • A selection of five-star reviews
  • \n
  • Number of commits, changes, and comments to WordPress core
  • \n
  • Number of WordPress releases contributed to
  • \n
\n

Engelen got the idea to create the site in 2014 after Spotify launched its ‘Year in Music‘ that highlighted trends based on what 50 million users listened too.

\n

“I’d been active in the WordPress plugin market for about four years at that point, and I figured it would be really cool to get some year-over-year insight into your WordPress plugins,” Engelen said.

\n

“Having become a partner at Admin Columns (a freemium WordPress plugin) in 2014, I found out that I really liked analyzing statistics of downloads, sales and other data, and that, properly grouped and reported, they could have a pretty big influence on decision-making from a business perspective.”

\n

Engelen started the site by experimenting with fetching data from WordPress.org through its API that would show the change in the number of downloads to a user’s plugins.

\n

“That is basically what lead to the ‘Your most popular plugins’ overview page,” Engelen said. “Spending some free hours each week on working on the project, more and more ideas of data to include popped up.”

\n

\n

The site displays a lot of data, but it doesn’t include everything. Engelen would like to eventually display sections for contributions to WordPress translations, plugins, themes, core, design, etc.

\n

The Technical Details

\n

The data displayed on Year in WordPress is gathered using the WordPress.org API, subversion, and web scraping. Engelen would have used the WordPress REST API but it was not available at the time, “Fetching the reviews and support topics yielded quite a bit of annoyance, as they’re done by scraping,” he said.

\n

He uses a Python framework to fetch relevant data in parallel. The data is stored in an SQL database, which is accessed by a front-end tool. The front-end of the site features a design that was reused from AdminColumns.com.

\n

“jQuery, combined with Chart.js and Fullpage.js power the interactive portion of Year in WordPress. I’ve also written some simple sentiment analysis code for filtering out the most popular reviews to show for each plugin/theme developer,” Engelen said.

\n

Fun Facts about Year in WordPress

\n

Engelen provided the Tavern with these fun facts related to Year in WordPress:

\n
    \n
  • There’s a Year in Review for about 100,000 users on WordPress.org — or all users who have contributed to a plugin or theme, created a review or a support ticket, or contributed to WordPress core.
  • \n
  • The full database takes about 500MB of space.
  • \n
  • There were 364,763,308 plugin/theme downloads in 2015, and 434,865,745 in 2016. That’s 19.2% growth!
  • \n
  • 2016 was the first year where the number of new core Trac tickets shrunk (4,044 in 2014; 4,392 in 2015; 4,028 in 2016)
  • \n
  • 73% of all plugins received zero reviews in 2016
  • \n
\n

Year in WordPress 2017 Is Not Guaranteed

\n

Engelen is not making any promises for continued development in 2017 as it’s contingent on his free time. However, the main thing he would like to change is to include a wider spectrum of data.

\n

“When I pitched the idea of Year in WordPress to a core committer and showed the beta version, he said ‘there’s so much more than core itself’ and that stuck with me,” he said.

\n

“The perfect ‘Year in WordPress’ would feature cool statistics about all types of contributions people make to WordPress — whether it’s creating plugins and themes, writing code for core, translating or testing. Furthermore, I’m really looking forward to making use of all of the REST API’s that I can use this time around.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 10 Jan 2017 22:11:43 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"WPTavern: Say What Plugin Passes 10K Active Installs\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64778\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"https://wptavern.com/say-what-plugin-passes-10k-active-installs\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5220:\"

WordPress core doesn’t make it easy to edit text strings, but a little plugin called Say What? has been quietly gaining a solid user base by providing this functionality. It allows users to edit text strings without editing WordPress core or plugin code. Lee Willis released Say What in 2013, but the plugin had a significant jump in users in 2016, doubling the number of active installs from 5,000 to 10,000 sites.

\n

Willis, who is the author of 22 plugins hosted on WordPress.org and many more commercial extensions, created Say What while working as a Drupal developer.

\n

“One of our must-install Drupal modules was called String Overrides, which inspired Say What?” he said. “At the agency I was working at we used it regularly on virtually every site build to override plugin, theme, and core strings in a ‘non-hacky’ way. Given that, I knew that the problem was there to be solved on WordPress, and that something that worked well would be useful to people.”

\n

Say What adds a new screen for editing text under Tools > Text changes for configuring string replacements. Users enter the current string, text domain, and replacement text.

\n

\n

This plugin is a good option for those who are not comfortable sifting through PHP files and adding a filter to change the text. If you just have a handful of strings to replace, it’s more convenient than using a translation tool like POEDIT to edit the language files. All of the text changes are listed together in the Say What admin panel, so they can be easily changed at any time without editing any files.

\n

Willis said users don’t often experience conflicts with themes and plugins, as there is so little frontend functionality included in the plugin.

\n

“The main areas of support tend to be around locating particular strings, or issues where broken custom code is breaking the filters that Say What uses,” Willis said. After speaking with friends at a WordCamp in March 2015, he decided to create a commercial version to address this issue and a number of other feature requests.

\n

“The free version was out for about two years before I launched the Pro version,” Willis said. “The only issue people tended to have with the free version was around finding the information they needed for the ‘original string,’ so I decided to build out the String Discovery feature as the first feature of the Pro version. This lets users search for the string using autocomplete functionality, making it much easier to set up replacements without delving through theme or plugin code.”

\n

Say What increased in popularity in 2016 and has maintained a 4.6-star rating on WordPress.org. It is becoming more frequently recommended by support teams of other plugins when customers ask about how to change text strings.

\n

“It’s great to know that it’s being used to help people build more future-proof sites without resorting to hacking plugin or core code just to change strings,” Willis said. “Even for people familiar with plugin and theme code, the String Discovery feature makes it a lot easier and quicker to set up replacements. It’s had a few new features over the last year, including support for multi-line, and single/plural style replacements.”

\n

Willis said his Pro version proved to be fairly popular during 2016 and became one of his highest selling plugins. He recently added support for multilingual sites, the most often requested feature, allowing users to set up different replacements for different languages.

\n

Willis does not have an extensive roadmap for the plugin, as he prefers to keep it uncomplicated and free of clutter. “I’m a big believer in plugins that do one thing, and do it well,” he said.

\n

Say What is another successful instance of a developer solving one of his own problems and striking upon a successful commercial product. Willis said he didn’t fully anticipate how popular the plugin would become.

\n

“As with most of my plugins it was also built to solve a problem that I personally was having at the time,” he said. “That said, I’m always (pleasantly) surprised when something does get popular.”

\n

After testing Say What I found that Willis’ implementation is the simplest way for non-technical users to make a few simple string changes without the risk of breaking their websites. He is also very responsive on the support forums. The success of the Pro version is a good indication that Willis will be able to continue support and maintenance on the free plugin for the foreseeable future.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 10 Jan 2017 21:26:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: How Laravel Forge Can Help You Run WordPress in the Cloud\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64940\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://wptavern.com/how-laravel-forge-can-help-you-run-wordpress-in-the-cloud\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:7837:\"

\"petersuhm\"This opinion piece was contributed by guest author Peter Suhm. Peter is a web developer from the Land of the Danes. He is the creator of WP Pusher and a huge travel addict, bringing his work along with him as he goes.
\n 

\n
\n

Laravel Forge is a server and application provisioning tool that was originally built to serve the Laravel PHP crowd. Recently, it has been made available to WordPress developers too, with the introduction of 1-click installs of WordPress on Digital Ocean, Linode and AWS cloud servers. In this post, I’ll give you a brief introduction to Laravel Forge and show you how you can use it to manage all of your WordPress installations in the cloud.

\n

Laravel Forge is good news for WordPress developers

\n

Because so many WordPress developers are used to managed hosting, the thought of running their own servers seem quite intimidating. That’s a shame with so many great cloud server companies offering virtual servers for very low costs. Unless your traffic is very heavy, a small ($5 to $10 per month) server can run quite a few WordPress websites. Laravel Forge takes care of provisioning your servers and can even setup your database and install WordPress for you. This makes cloud hosting much more available to WordPress developers at a low cost (Laravel Forge is $15 per month for unlimited servers), compared to many of the existing options.

\n

Here are a few reasons why I think Laravel Forge is great for WordPress hosting:

\n
    \n
  • Your servers are configured in a secure way by default, with SSH authentication, firewalls, automatic security updates and free SSL certificates from Let’s Encrypt
  • \n
  • Your servers are going to be really fast with PHP 7
  • \n
  • You can run a lot of WordPress installs on 1 single server *
  • \n
  • You can scale your servers if you need more horse power *
  • \n
\n

* Goes for the cloud in general

\n

Creating a new server

\n

Here is how the “Create Server” screen looks in Forge:

\n

\"\"

\n

If you use Digital Ocean, Forge can also create your servers. If you use another provider like Linode or AWS, Forge can only do the provisioning part.

\n

For Digital Ocean servers, here are the options you can configure:

\n
    \n
  • Which credentials to use, if you are managing multiple Digital Ocean accounts
  • \n
  • The server name
  • \n
  • The server size
  • \n
  • The server region
  • \n
  • The PHP version
  • \n
  • The default database name
  • \n
\n

You can then choose to:

\n
    \n
  • Configure the server as a load balancer (if you have really heavy traffic and is running WordPress across multiple servers)
  • \n
  • Install MariaDB instead of MySQL, which is a drop-in, faster replacement
  • \n
  • Enable weekly backups on Digital Ocean
  • \n
\n

When Laravel Forge is done with the provisioning, your server is ready to go.

\n

Setting up a database

\n

\"\"

\n

Once your server has been created, setting up a database for your WordPress installation is very easy. You can create the user at the same time you’re creating the database, or you can create the user afterwards.

\n

Installing WordPress

\n

Before you install WordPress, you need to create a new “site” on your server. You can just stick with the defaults:

\n

\"\"

\n

For the “Root Domain”, you need to add the domain name of the site you are setting up. Remember that you need to add a DNS record for your domain that points to the IP address of your newly created server. If you are just testing, you can always add a record in your computer’s hosts file with a test domain that points to your server. Something like this:

\n

# /etc/hosts

\n

# Replace xx.xx.xx.xx with your server\'s IP address
\nxx.xx.xx.xx wordpress-forge.test

\n

Once you click the “Add Site” button, you will see a spinning wheel while Forge is setting up your site’s nginx configuration.

\n

When the installation is done, you need to click the “Manage” icon next to your site in order to install WordPress. The first screen you will be presented with gives you the option to install an “App” on your site. Click the “WordPress” button, select your database and user from the previous step and relax while Laravel Forge completes the installation. Fun fact: Laravel Forge is actually using WP-CLI to install WordPress on your server.

\n

When the installation has completed, visit your site in a browser and you’ll be met with something familiar:

\n

\"\"

\n

Setting up a free SSL certificate

\n

Finally, you should set up SSL for your WordPress site. It’s more secure and Google likes it!

\n

\"\"

\n

Head over on the “SSL” tab and click the “LetsEncrypt (Beta)” button. Click the “Obtain Certificate” button and wait while Forge creates and installs the certificate. Once the certificate is installed, click the “Activate” icon and voila! Your site is now all set up and secured with SSL.

\n

That’s how easy it is to setup WordPress on a cloud server with Laravel Forge. I hope to see a lot of more products and tools like this that can help us building better, faster, and more secure WordPress websites. In fact, Laravel Forge was the original inspiration for my own product WP Pusher. I wanted to create a similar experience, but for WordPress plugins and themes instead.

\n

Note on backups and security

\n

Please note that even though Laravel Forge makes for a great starting point, ultimately you are the one in charge of the security of your servers. You should always try to educate yourself about security and have a backup strategy for your data.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 09 Jan 2017 18:44:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"Post Status: Contributing to Twenty Seventeen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=31886\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://poststatus.com/contributing-to-twenty-seventeen-theme/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:11882:\"

Editor’s Note: This is a guest post by Sami Keijonen. Sami is a developer, the owner of the Foxland theme and plugin shop, and hails from Finland.

\n

Every year since 2010, WordPress has shipped with a new default theme, breaking the cycle of Kubrick being the primary default theme for years before that.

\n

In 2010, the default theme was called Twenty Ten. In 2011, the default theme was called Twenty Eleven. You get the idea.

\n

While every default theme has been unique in its own way, Twenty Seventeen was particularly compelling in a way we haven’t seen in a default theme since Twenty Fourteen.

\n

Twenty Fourteen was the first theme that really made people think WordPress could be used for more than “just a blog” on a mass scale. It is a magazine theme.

\n

Twenty Seventeen — released with WordPress 4.7 — is the first theme that really made people think WordPress could be used for more than “just publishing content” on a mass scale. It is a business theme.

\n

\n

Prior to WordPress 4.7, I contributed by helping out in the support forums and building accessible themes. But I had never contributed to core before.

\n

When I saw the previews, I knew I wanted to contribute, and began to follow development on GitHub to see if there was anything that I could lend my talents to and eventually make my first core contributions.

\n

When I saw Morten Rand-Hendriksen open an issue about replacing icon fonts with SVG icons, I knew I had found the perfect “in” to start contributing to core.

\n

Contributing SVG icons system to Twenty Seventeen

\n

\n

I had already switched from icon fonts to SVG icons in my public themes, so this was something I immediately felt confident in contributing to core.

\n

Development started in GitHub, where fellow contributors would create issues and submit pull requests.

\n

Then, everything moved to WordPress SVN, where new patches were submitted.

\n

I’ll summarize what I learned in the process.

\n

What I learned about contributing

\n

I regret not keeping a diary. Not necessarily to keep track of what I contributed, since that’s all documented in the open.

\n

But rather things like my emotional state. My feelings ranged from despair to overwhelming joy throughout my contribution experience.

\n

I learned new things about code and collaborating with others in GitHub and SVN. Again, something not necessarily documented in patches and the like.

\n

Git workflow

\n

I’m not good with Git, and still don’t fully understand how rebasing works. I messed up my commits a couple of times. Not a big deal, but I got different error messages no matter which workflow I tried. I realized that I need to know more about Git, and be more patient.

\n

Eventually I understood enough to get my contributions through the door, but I’m still confused about how to rebase a pull request.

\n

Follow the development through to the end, and beyond

\n

I started out by replacing only the social link icon fonts to SVG icons. Soon, I realized that a step-by-step process was not going to work because of new related commits coming in all the time that potentially conflicted with my code.

\n

It was better to replace all icon fonts, not just the social ones, with SVGs, and then work from there. I was also keeping track of style changes in RTL languages and IE8.

\n

At this point, the work was just getting started.

\n

Once you start contributing, you shouldn’t just disappear with no explanation. If you’re running low on time or have other obligations, it’s totally understandable, but be sure to politely inform others you can’t continue anymore, so they can pick up where you left off.

\n

As the o2 slogan states: “Communication is oxygen.”

\n

Coding standards and automated tests

\n

After several commits and iterations, my first pull request was accepted.

\n

As you can see in my first commits, I didn’t pass the WordPress coding standards. I needed to be more precise and follow the coding standards to the tee. With enough practice, I’m sure it’s possible to write standards-compliant code “naturally” but I was looking for a way to automate the code checks.

\n

I tried to get Atom to evaluate my code on the fly, but I just couldn’t get it to work. Like my Git experience, I got different error messages no matter what I tried.

\n

Eventually, I was able to use PHPCS via the command line, and fixed any issues discovered manually. But it would’ve been nice to have those checks automated.

\n

Working with batches in SVN

\n

Once the development moved to SVN, I began to get a little worried. As I described earlier, not too long ago, I was struggling just to use Git. However, thanks to the following tutorials I quickly got up to speed.

\n\n

Turns out, it wasn’t much to be worried about. Although I didn’t quite understand the concept of branches and tags in my local environments, and jumping between them like I know how to do with Git.

\n

Anyway, I eventually got my first props with the help of others.

\n

Technical overview of the SVG icons system

\n

I adapted this contribution from the code and concepts first presented by others.

\n
    \n
  1. WebDevStudios has their own starter theme called wd_s. I really like how they set up SVG icons and we fine-tuned them in Twenty Seventeen. Perhaps they will integrate those improvements back into their own project. Again, open source rocks.
  2. \n
  3. Justin Tadlock invented the social links menu concept. I just took that concept and applied it to SVG icons rather than icon fonts.
  4. \n
\n

All the main SVG-related functions can be found in the inc/icon-functions.php file. It’s well-documented in the code, but here’s a summary:

\n
    \n
  • Include the SVG sprite file via the wp_footer hook.
  • \n
  • twentyseventeen_get_svg() function returns the SVG icon markup. In most cases, the SVG icon is injected in template files or via hooks and filters. In some cases, the SVG icon is injected via JavaScript.
  • \n
  • Default markup looks like this: <svg class=\"icon icon-name\" aria-hidden=\"true\" role=\"img\"> <use href=\"#icon-name\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"#icon-name\"></use> </svg>.
  • \n
  • Note that we could use the absolute path to the SVG file in the href attribute of the use element. In that case:\n
      \n
    • there is no need to inject icons via the wp_footer hook.
    • \n
    • The svgxuse JS polyfill must be used, because Internet Explorer doesn’t support external files referenced in the <use> element.
    • \n
    • This method helps caching the SVG sprite file.
    • \n
    \n
  • \n
  • By default, all icons are decorative, but I insisted we show how to use non-decorative icons in an accessible way. Check the examples in the aforementioned twentyseventeen_get_svg() function.
  • \n
  • We replace the default icon for supported social media links by using the walker_nav_menu_start_el filter.
  • \n
\n

Open source rocks

\n

WordPress default themes are one of the best themes out there and they set an example how to use new WordPress features. The reason for this is simple.

\n
    \n
  • Default themes gets lots of love and attention.
  • \n
  • Many talented people contribute to default themes. Twenty Seventeen had over 100 contributors and we thank you all!
  • \n
  • Default themes are tested before release in many platforms and browsers. And default themes are used on so many sites that any remaining bugs will be found after the release.
  • \n
\n

Building default themes really is a community driven project. I’d like to say extra thanks for couple of people.

\n

Special thank you

\n

Any web project needs good leadership, design, and code. Those were all covered in Twenty Seventeen.

\n
    \n
  • David A. Kennedy was leading the project and kept everything rolling. He had a really friendly touch and he was open to ideas. At the same time he wasn’t afraid to make decisions; for example, a flexbox layout was rejected for this theme.
  • \n
  • Mel Choyce created the modern, business looking design. She wrote a great article with her behind the scenes take.
  • \n
  • Laurel Fulford was the primary coding lead. She seem to have a solution for every new feature and brought Mel’s design to life with detailed code.
  • \n
\n

Last but not least, remember Morten Rand-Hendriksen, the one that opened the SVG icon issue that caught my eye?

\n

He was pretty happy with the end result.

\n
\n

@brad_frost the SVG icon system solution by @samikeijonen embedded in the new Twenty Seventeen theme in #WordPress is pure genius

\n

— MortenRandHendriksen (@mor10) December 5, 2016

\n

\n

Who knows if I would’ve contributed if it wasn’t for him posting that. Remember, reporting issues and bugs is contributing too, and can inspire first-time contributors like me to stop sitting on the sidelines and finally get started with core contributions.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 07 Jan 2017 22:42:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sami Keijonen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"WPTavern: Let’s Encrypt Passes 20 Million Active Certificates in 2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64815\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/lets-encrypt-passes-20-million-active-certificates-in-2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5050:\"

Let’s Encrypt has just closed out its first full year as a certificate authority with more than 20 million active certificates. The free and open certificate authority focuses on lowering the complexity of setting up TLS encryption by making the process more automated. It came out of beta in April 2016 and the number of certificates issued per day has grown steadily since then.

\n

“At the start of 2016, Let’s Encrypt certificates had been available to the public for less than a month and we were supporting approximately 240,000 active (unexpired) certificates,” said Josh Aas, Executive Director of the non-profit Internet Security Research Group (ISRG). “Now we’re frequently issuing that many new certificates in a single day while supporting more than 20,000,000 active certificates in total. We’ve issued more than a million certificates in a single day a few times recently.”

\n

\"\"

\n

Let’s Encrypt operates as a 501(c)(3) nonprofit and has received more than three dozen corporate sponsorships and grants, but funds for the coming year have fallen short. In November, Let’s Encrypt launched a crowdfunding campaign to cover the cost of one month of operating expenses. So far, the campaign has raised more than $100K towards its $200K fundraising goal.

\n

Let’s Encrypt is Growing Fastest with Smaller, Previously-Unencrypted Sites

\n

Let’s Encrypt is used with some larger organizations, such as WordPress.com, OVH, Shopify, Akamai, and Dreamhost, but the vast majority of users are smaller entities that were not previously encrypted. According to the Electronic Frontier Foundation (EFF), a founding sponsor of the certificate authority, most of Let’s Encrypt’s growth has not come from taking customers away from competitors:

\n

\nOne of the ways Let’s Encrypt has been helping to secure the web is by making it easy and affordable for sites that have never had certs before to turn on secure HTTPS connections, and for software systems to start enabling HTTPS automatically and by default. Our free certificates may be more likely to be left unused than expensive certificates, and less expert webmasters may accidentally duplicate certificates—but that’s part of making HTTPS integration available to more webmasters across a range of resource and skill levels. Statistics suggest that most of our growth has come not at the expense of other CAs, but from giving previously unencrypted sites their first-ever certificates.

\n

EFF analyzed various sources of usage statistics and estimates that Let’s Encrypt is now the largest certificate authority on the web. Its rapid adoption has spurred impressive progress towards getting the entire web encrypted. Let’s Encrypt tracks progress by measuring the percentage of page loads using HTTPS, as seen by browsers.

\n

“According to Firefox Telemetry, the Web has gone from approximately 39% of page loads using HTTPS each day to just about 49% during the past year,” Aas said in Let’s Encrypt’s 2016 in Review report. “We’re incredibly close to a Web that is more encrypted than not.”

\n

The proliferation of Let’s Encrypt client options in 2016 puts the certificate authority in an even better position to continue driving web encryption in 2017. Aas attributes last year’s progress to many organizations advocating for HTTPS and working to get their sites encrypted. His team has grown from four full-time employees to nine, and he anticipates that 2017 will be a year of even greater growth.

\n

“Much of the infrastructure and many of the plans necessary for a 100% encrypted Web came into being or solidified in 2016,” Aas said. “More and more hosting providers and CDNs are supporting HTTPS with one click or by default, often without additional fees. It has never been easier for people and organizations running their own sites to find the tools, services, and information they need to move to HTTPS.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 07 Jan 2017 21:42:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:42:\"Requests_Utility_CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:8:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Thu, 09 Feb 2017 07:19:33 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:13:\"last-modified\";s:29:\"Thu, 09 Feb 2017 07:00:10 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";s:16:\"content-encoding\";s:4:\"gzip\";}}s:5:\"build\";s:14:\"20170126183219\";}','no'); + +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) +VALUES + (219,'_transient_timeout_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1486667974','no'), + (220,'_transient_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1486624774','no'), + (221,'_transient_timeout_feed_b9388c83948825c1edaef0d856b7b109','1486667975','no'), + (222,'_transient_feed_b9388c83948825c1edaef0d856b7b109','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n \n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:117:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"WordPress Plugins » View: Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"https://wordpress.org/plugins/browse/popular/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"WordPress Plugins » View: Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 07:19:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://bbpress.org/?v=1.1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:30:{i:0;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"Clef Two-Factor Authentication\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wordpress.org/plugins/wpclef/#post-47509\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 27 Dec 2012 01:25:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"47509@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:139:\"Modern two-factor that people love to use: strong authentication without passwords or tokens; single sign on/off; magical login experience.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Dave Ross\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Duplicate Post\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://wordpress.org/plugins/duplicate-post/#post-2646\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 05 Dec 2007 17:40:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2646@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"Clone posts and pages.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Lopo\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"WooCommerce\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/plugins/woocommerce/#post-29860\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Sep 2011 08:13:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29860@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"WooThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:24:\"Jetpack by WordPress.com\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://wordpress.org/plugins/jetpack/#post-23862\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 Jan 2011 02:21:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"23862@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:148:\"The one plugin you need for stats, related posts, search engine optimization, social sharing, protection, backups, speed, and email list management.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Automattic\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"All in One SEO Pack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://wordpress.org/plugins/all-in-one-seo-pack/#post-753\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 30 Mar 2007 20:08:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"753@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"The original SEO plugin for WordPress, downloaded over 30,000,000 times since 2007.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"uberdose\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"NextGEN Gallery - WordPress Gallery Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/plugins/nextgen-gallery/#post-1169\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 23 Apr 2007 20:08:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"1169@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:121:\"The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 16 million downloads.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Alex Rabe\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"W3 Total Cache\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/plugins/w3-total-cache/#post-12073\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 29 Jul 2009 18:46:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"12073@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:144:\"Search Engine (SEO) & Performance Optimization (WPO) via caching. Integrated caching: CDN, Minify, Page, Object, Fragment, Database support.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Frederick Townes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"UpdraftPlus WordPress Backup Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/plugins/updraftplus/#post-38058\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 21 May 2012 15:14:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"38058@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:148:\"Backup and restoration made easy. Complete backups; manual or scheduled (backup to S3, Dropbox, Google Drive, Rackspace, FTP, SFTP, email + others).\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"David Anderson\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Yoast SEO\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"https://wordpress.org/plugins/wordpress-seo/#post-8321\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 Jan 2009 20:34:44 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"8321@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:118:\"Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Joost de Valk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Hello Dolly\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"https://wordpress.org/plugins/hello-dolly/#post-5790\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 29 May 2008 22:11:34 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"5790@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:150:\"This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"Advanced Custom Fields\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://wordpress.org/plugins/advanced-custom-fields/#post-25254\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 17 Mar 2011 04:07:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"25254@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"Customise WordPress with powerful, professional and intuitive fields\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"elliotcondon\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Google XML Sitemaps\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://wordpress.org/plugins/google-sitemap-generator/#post-132\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:31:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"132@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"This plugin will generate a special XML sitemap which will help search engines to better index your blog.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Arne Brachhold\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"Regenerate Thumbnails\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://wordpress.org/plugins/regenerate-thumbnails/#post-6743\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 23 Aug 2008 14:38:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"6743@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"Allows you to regenerate your thumbnails after changing the thumbnail sizes.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"Alex Mills (Viper007Bond)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"Google Analytics by MonsterInsights\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://wordpress.org/plugins/google-analytics-for-wordpress/#post-2316\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 14 Sep 2007 12:15:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2316@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"Connect Google Analytics with WordPress by adding your Google Analytics tracking code. Get the stats that matter.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Syed Balkhi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"WordPress Importer\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"https://wordpress.org/plugins/wordpress-importer/#post-18101\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 May 2010 17:42:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"18101@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Brian Colinger\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WP Super Cache\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://wordpress.org/plugins/wp-super-cache/#post-2572\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Nov 2007 11:40:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2572@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"A very fast caching engine for WordPress that produces static html files.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Donncha O Caoimh\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"Really Simple CAPTCHA\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://wordpress.org/plugins/really-simple-captcha/#post-9542\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 09 Mar 2009 02:17:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"9542@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:138:\"Really Simple CAPTCHA is a CAPTCHA module intended to be called from other plugins. It is originally created for my Contact Form 7 plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Takayuki Miyoshi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Wordfence Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"https://wordpress.org/plugins/wordfence/#post-29832\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 04 Sep 2011 03:13:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29832@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:149:\"Secure your website with the most comprehensive WordPress security plugin. Firewall, malware scan, blocking, live traffic, login security & more.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Wordfence\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Contact Form 7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://wordpress.org/plugins/contact-form-7/#post-2141\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Aug 2007 12:45:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2141@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"Just another contact form plugin. Simple but flexible.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Takayuki Miyoshi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"WP-PageNavi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"https://wordpress.org/plugins/wp-pagenavi/#post-363\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 23:17:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"363@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"Adds a more advanced paging navigation interface.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Lester Chan\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"Page Builder by SiteOrigin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://wordpress.org/plugins/siteorigin-panels/#post-51888\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 11 Apr 2013 10:36:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"51888@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:111:\"Build responsive page layouts using the widgets you know and love using this simple drag and drop page builder.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Greg Priday\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Akismet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"https://wordpress.org/plugins/akismet/#post-15\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:11:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"15@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:98:\"Akismet checks your comments against the Akismet Web service to see if they look like spam or not.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"TinyMCE Advanced\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"https://wordpress.org/plugins/tinymce-advanced/#post-2082\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Jun 2007 15:00:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2082@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"Extends and enhances TinyMCE, the WordPress Visual Editor.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Andrew Ozz\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"Google Analytics Dashboard for WP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"https://wordpress.org/plugins/google-analytics-dashboard-for-wp/#post-50539\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 10 Mar 2013 17:07:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"50539@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:125:\"Displays Google Analytics stats in your WordPress Dashboard. Inserts the latest Google Analytics tracking code in your pages.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Alin Marcu\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Disable Comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wordpress.org/plugins/disable-comments/#post-26907\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 27 May 2011 04:42:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"26907@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:150:\"Allows administrators to globally disable comments on their site. Comments can be disabled according to post type. Multisite friendly. Provides tool t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Samir Shah\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Duplicator\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"https://wordpress.org/plugins/duplicator/#post-26607\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 16 May 2011 12:15:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"26607@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"Duplicate, clone, backup, move and transfer an entire site from one location to another.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Cory Lamle\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"WP Multibyte Patch\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"https://wordpress.org/plugins/wp-multibyte-patch/#post-28395\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 14 Jul 2011 12:22:53 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"28395@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"Multibyte functionality enhancement for the WordPress Japanese package.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"plugin-master\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"Black Studio TinyMCE Widget\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://wordpress.org/plugins/black-studio-tinymce-widget/#post-31973\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 10 Nov 2011 15:06:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"31973@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:39:\"The visual editor widget for Wordpress.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Marco Chiesi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"SiteOrigin Widgets Bundle\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://wordpress.org/plugins/so-widgets-bundle/#post-67824\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 24 May 2014 14:27:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"67824@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:128:\"A collection of all widgets, neatly bundled into a single plugin. It's also a framework to code your own widgets on top of.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Greg Priday\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"iThemes Security (formerly Better WP Security)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"https://wordpress.org/plugins/better-wp-security/#post-21738\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 22 Oct 2010 22:06:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"21738@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:146:\"Take the guesswork out of WordPress security. iThemes Security offers 30+ ways to lock down WordPress in an easy-to-use WordPress security plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"iThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:46:\"https://wordpress.org/plugins/rss/view/popular\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:42:\"Requests_Utility_CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:9:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Thu, 09 Feb 2017 07:19:35 GMT\";s:12:\"content-type\";s:23:\"text/xml; charset=UTF-8\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:25:\"strict-transport-security\";s:11:\"max-age=360\";s:13:\"last-modified\";s:29:\"Thu, 27 Dec 2012 01:25:57 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";s:16:\"content-encoding\";s:4:\"gzip\";}}s:5:\"build\";s:14:\"20170126183219\";}','no'), + (223,'_transient_timeout_feed_mod_b9388c83948825c1edaef0d856b7b109','1486667975','no'), + (224,'_transient_feed_mod_b9388c83948825c1edaef0d856b7b109','1486624775','no'), + (225,'_transient_timeout_plugin_slugs','1486793147','no'), + (226,'_transient_plugin_slugs','a:1:{i:0;s:34:\"advanced-custom-fields-pro/acf.php\";}','no'), + (227,'_transient_timeout_dash_88ae138922fe95674369b1cb3d215a2b','1486667976','no'), + (228,'_transient_dash_88ae138922fe95674369b1cb3d215a2b','
  • WordPress 4.7.2 Security Release January 26, 2017
    WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately. WordPress versions 4.7.1 and earlier are affected by three security issues: The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. […]
  • Popular Plugin: Google Analytics Dashboard for WP (Install)
','no'), + (229,'fresh_site','0','yes'), + (232,'_site_transient_timeout_theme_roots','1486708408','no'), + (233,'_site_transient_theme_roots','a:2:{s:15:\"twentyseventeen\";s:7:\"/themes\";s:13:\"twentysixteen\";s:7:\"/themes\";}','no'); + +/*!40000 ALTER TABLE `wp_options` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_postmeta +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_postmeta`; + +CREATE TABLE `wp_postmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (`meta_id`), + KEY `post_id` (`post_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_postmeta` WRITE; +/*!40000 ALTER TABLE `wp_postmeta` DISABLE KEYS */; + +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) +VALUES + (1,2,'_wp_page_template','default'), + (2,4,'_edit_last','1'), + (3,4,'_edit_lock','1486706838:1'), + (4,11,'_edit_last','1'), + (5,11,'_edit_lock','1475627263:1'), + (6,13,'fake_text','Proin eget tortor risus'), + (7,13,'_fake_text','field_57f42174b81b8'), + (8,13,'fake_textarea','Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Vivamus suscipit tortor eget felis porttitor volutpat. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Cras ultricies ligula sed magna dictum porta. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Sed porttitor lectus nibh.'), + (9,13,'_fake_textarea','field_57f4217cb81b9'), + (10,13,'fake_number','1984'), + (11,13,'_fake_number','field_57f42187b81ba'), + (12,13,'fake_email','junior@corcel.org'), + (13,13,'_fake_email','field_57f42194b81bb'), + (14,13,'fake_url','https://corcel.org'), + (15,13,'_fake_url','field_57f4219bb81bc'), + (16,13,'fake_password','123change'), + (17,13,'_fake_password','field_57f421a2b81bd'), + (18,11,'fake_text','Proin eget tortor risus'), + (19,11,'_fake_text','field_57f42174b81b8'), + (20,11,'fake_textarea','Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.'), + (21,11,'_fake_textarea','field_57f4217cb81b9'), + (22,11,'fake_number','1984'), + (23,11,'_fake_number','field_57f42187b81ba'), + (24,11,'fake_email','junior@corcel.org'), + (25,11,'_fake_email','field_57f42194b81bb'), + (26,11,'fake_url','https://corcel.org'), + (27,11,'_fake_url','field_57f4219bb81bc'), + (28,11,'fake_password','123change'), + (29,11,'_fake_password','field_57f421a2b81bd'), + (30,14,'fake_text','Proin eget tortor risus'), + (31,14,'_fake_text','field_57f42174b81b8'), + (32,14,'fake_textarea','Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.'), + (33,14,'_fake_textarea','field_57f4217cb81b9'), + (34,14,'fake_number','1984'), + (35,14,'_fake_number','field_57f42187b81ba'), + (36,14,'fake_email','junior@corcel.org'), + (37,14,'_fake_email','field_57f42194b81bb'), + (38,14,'fake_url','https://corcel.org'), + (39,14,'_fake_url','field_57f4219bb81bc'), + (40,14,'fake_password','123change'), + (41,14,'_fake_password','field_57f421a2b81bd'), + (42,15,'_edit_last','1'), + (43,15,'_edit_lock','1476587357:1'), + (44,21,'_edit_last','1'), + (45,21,'_edit_lock','1475701511:1'), + (46,23,'_wp_attached_file','2016/10/beautiful-places-free-images-gallery.jpg'), + (47,23,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1920;s:6:\"height\";i:1200;s:4:\"file\";s:48:\"2016/10/beautiful-places-free-images-gallery.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"beautiful-places-free-images-gallery-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:48:\"beautiful-places-free-images-gallery-300x188.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:188;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"beautiful-places-free-images-gallery-768x480.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:480;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"beautiful-places-free-images-gallery-1024x640.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:640;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"beautiful-places-free-images-gallery-1200x750.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:750;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), + (48,24,'_wp_attached_file','2016/10/d1sgOF0.jpg'), + (49,24,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:2560;s:6:\"height\";i:1600;s:4:\"file\";s:19:\"2016/10/d1sgOF0.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:19:\"d1sgOF0-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:19:\"d1sgOF0-300x188.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:188;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:19:\"d1sgOF0-768x480.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:480;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:20:\"d1sgOF0-1024x640.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:640;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:20:\"d1sgOF0-1200x750.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:750;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), + (50,25,'_wp_attached_file','2016/10/free-beautiful-place-155.jpg'), + (51,25,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:2048;s:6:\"height\";i:1285;s:4:\"file\";s:36:\"2016/10/free-beautiful-place-155.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:36:\"free-beautiful-place-155-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:36:\"free-beautiful-place-155-300x188.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:188;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:36:\"free-beautiful-place-155-768x482.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:482;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:37:\"free-beautiful-place-155-1024x643.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:643;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:37:\"free-beautiful-place-155-1200x753.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:753;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), + (52,26,'_wp_attached_file','2016/10/f53bad65f21de95e4765011732e922e7_large.jpeg'), + (53,26,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1366;s:6:\"height\";i:768;s:4:\"file\";s:51:\"2016/10/f53bad65f21de95e4765011732e922e7_large.jpeg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:51:\"f53bad65f21de95e4765011732e922e7_large-150x150.jpeg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:51:\"f53bad65f21de95e4765011732e922e7_large-300x169.jpeg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:51:\"f53bad65f21de95e4765011732e922e7_large-768x432.jpeg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:52:\"f53bad65f21de95e4765011732e922e7_large-1024x576.jpeg\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:52:\"f53bad65f21de95e4765011732e922e7_large-1200x675.jpeg\";s:5:\"width\";i:1200;s:6:\"height\";i:675;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), + (54,27,'_wp_attached_file','2016/10/maxresdefault.jpg'), + (55,27,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1950;s:6:\"height\";i:1098;s:4:\"file\";s:25:\"2016/10/maxresdefault.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:25:\"maxresdefault-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:25:\"maxresdefault-300x169.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:25:\"maxresdefault-768x432.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:26:\"maxresdefault-1024x577.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:577;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:26:\"maxresdefault-1200x676.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:676;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), + (56,28,'_wp_attached_file','2016/10/beautiful-place-132960-high-definition.jpg'), + (57,28,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1366;s:6:\"height\";i:768;s:4:\"file\";s:50:\"2016/10/beautiful-place-132960-high-definition.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:50:\"beautiful-place-132960-high-definition-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:50:\"beautiful-place-132960-high-definition-300x169.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:50:\"beautiful-place-132960-high-definition-768x432.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:51:\"beautiful-place-132960-high-definition-1024x576.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:51:\"beautiful-place-132960-high-definition-1200x675.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:675;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), + (58,29,'_wp_attached_file','2016/10/maxresdefault-1.jpg'), + (59,29,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1920;s:6:\"height\";i:1080;s:4:\"file\";s:27:\"2016/10/maxresdefault-1.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:27:\"maxresdefault-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:27:\"maxresdefault-1-300x169.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:27:\"maxresdefault-1-768x432.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:28:\"maxresdefault-1-1024x576.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:28:\"maxresdefault-1-1200x675.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:675;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), + (60,30,'_wp_attached_file','2016/10/PorPlano-MULTI-INSTITUIDO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf'), + (61,31,'_wp_attached_file','2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf'), + (62,32,'_wp_attached_file','2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-do-Ativo-Líquido.pdf'), + (63,33,'_wp_attached_file','2016/10/PorPlano-MULTI-PATROCINADO-DemonstracaodoPlanodeGestaoAdministrativaporplano-MP.pdf'), + (64,34,'_wp_attached_file','2016/10/Por-Plano-MULTIPATROCINADO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf'), + (65,35,'_wp_attached_file','2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf'), + (66,36,'_wp_attached_file','2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-do-Ativo-Líquido.pdf'), + (67,37,'_wp_attached_file','2016/10/Consolidado-Manifestacao-do-Conselho-Deliberativo.pdf'), + (68,38,'fake_editor','Nulla porttitor accumsan tincidunt. Sed porttitor lectus nibh.'), + (69,38,'_fake_editor','field_57f4492a59836'), + (70,38,'fake_oembed','https://www.youtube.com/watch?v=LiyQ8bvLzIE'), + (71,38,'_fake_oembed','field_57f4493b59837'), + (72,38,'fake_image','29'), + (73,38,'_fake_image','field_57f4495c59838'), + (74,38,'fake_file','37'), + (75,38,'_fake_file','field_57f4496c59839'), + (76,38,'fake_gallery','a:7:{i:0;s:2:\"29\";i:1;s:2:\"28\";i:2;s:2:\"27\";i:3;s:2:\"26\";i:4;s:2:\"25\";i:5;s:2:\"24\";i:6;s:2:\"23\";}'), + (77,38,'_fake_gallery','field_57f449785983a'), + (78,21,'fake_editor','Nulla porttitor accumsan tincidunt. Sed porttitor lectus nibh.'), + (79,21,'_fake_editor','field_57f4492a59836'), + (80,21,'fake_oembed','https://www.youtube.com/watch?v=LiyQ8bvLzIE'), + (81,21,'_fake_oembed','field_57f4493b59837'), + (82,21,'fake_image','29'), + (83,21,'_fake_image','field_57f4495c59838'), + (84,21,'fake_file','37'), + (85,21,'_fake_file','field_57f4496c59839'), + (86,21,'fake_gallery','a:7:{i:0;s:2:\"29\";i:1;s:2:\"28\";i:2;s:2:\"27\";i:3;s:2:\"26\";i:4;s:2:\"25\";i:5;s:2:\"24\";i:6;s:2:\"23\";}'), + (87,21,'_fake_gallery','field_57f449785983a'), + (88,29,'_wp_attachment_image_alt','This is an alt text'), + (89,39,'_edit_last','1'), + (90,39,'_edit_lock','1475769274:1'), + (91,44,'_edit_last','1'), + (92,44,'_edit_lock','1475808047:1'), + (93,46,'fake_select','red'), + (94,46,'_fake_select','field_57f56b166ce5f'), + (95,46,'fake_checkbox','a:2:{i:0;s:4:\"blue\";i:1;s:6:\"yellow\";}'), + (96,46,'_fake_checkbox','field_57f56b556ce60'), + (97,46,'fake_radio_button','green'), + (98,46,'_fake_radio_button','field_57f56b656ce61'), + (99,46,'fake_true_false','1'), + (100,46,'_fake_true_false','field_57f56b786ce62'), + (101,44,'fake_select','red'), + (102,44,'_fake_select','field_57f56b166ce5f'), + (103,44,'fake_checkbox','a:2:{i:0;s:4:\"blue\";i:1;s:6:\"yellow\";}'), + (104,44,'_fake_checkbox','field_57f56b556ce60'), + (105,44,'fake_radio_button','green'), + (106,44,'_fake_radio_button','field_57f56b656ce61'), + (107,44,'fake_true_false','1'), + (108,44,'_fake_true_false','field_57f56b786ce62'), + (109,48,'fake_select','red'), + (110,48,'_fake_select','field_57f56b166ce5f'), + (111,48,'fake_select_multiple','a:2:{i:0;s:6:\"yellow\";i:1;s:5:\"green\";}'), + (112,48,'_fake_select_multiple','field_57f56c73f440a'), + (113,48,'fake_checkbox','a:2:{i:0;s:4:\"blue\";i:1;s:6:\"yellow\";}'), + (114,48,'_fake_checkbox','field_57f56b556ce60'), + (115,48,'fake_radio_button','green'), + (116,48,'_fake_radio_button','field_57f56b656ce61'), + (117,48,'fake_true_false','1'), + (118,48,'_fake_true_false','field_57f56b786ce62'), + (119,44,'fake_select_multiple','a:2:{i:0;s:6:\"yellow\";i:1;s:5:\"green\";}'), + (120,44,'_fake_select_multiple','field_57f56c73f440a'), + (121,49,'_edit_last','1'), + (122,49,'_edit_lock','1475889692:1'), + (123,56,'_edit_last','1'), + (124,56,'_edit_lock','1475889845:1'), + (125,58,'fake_post_object','11'), + (126,58,'_fake_post_object','field_57f70b063a715'), + (127,58,'fake_page_link','21'), + (128,58,'_fake_page_link','field_57f70b1d3a716'), + (129,58,'fake_relationship','a:2:{i:0;s:2:\"44\";i:1;s:2:\"56\";}'), + (130,58,'_fake_relationship','field_57f70b3f3a717'), + (131,58,'fake_taxonomy','a:1:{i:0;s:1:\"1\";}'), + (132,58,'_fake_taxonomy','field_57f70b593a718'), + (133,58,'fake_taxonomy_single','1'), + (134,58,'_fake_taxonomy_single','field_57f70b7e3a719'), + (135,58,'fake_user','1'), + (136,58,'_fake_user','field_57f70ba23a71a'), + (137,56,'fake_post_object','11'), + (138,56,'_fake_post_object','field_57f70b063a715'), + (139,56,'fake_page_link','21'), + (140,56,'_fake_page_link','field_57f70b1d3a716'), + (141,56,'fake_relationship','a:2:{i:0;s:2:\"44\";i:1;s:2:\"56\";}'), + (142,56,'_fake_relationship','field_57f70b3f3a717'), + (143,56,'fake_taxonomy','a:1:{i:0;s:1:\"1\";}'), + (144,56,'_fake_taxonomy','field_57f70b593a718'), + (145,56,'fake_taxonomy_single','1'), + (146,56,'_fake_taxonomy_single','field_57f70b7e3a719'), + (147,56,'fake_user','1'), + (148,56,'_fake_user','field_57f70ba23a71a'), + (149,59,'_edit_last','1'), + (150,59,'_edit_lock','1475890062:1'), + (151,65,'_edit_last','1'), + (152,65,'_edit_lock','1477080240:1'), + (153,67,'fake_google_map',''), + (154,67,'_fake_google_map','field_57f84ab1ae3b0'), + (155,67,'fake_date_picker','20161013'), + (156,67,'_fake_date_picker','field_57f84aedae3b1'), + (157,67,'fake_date_time_picker','2016-10-19 08:06:05'), + (158,67,'_fake_date_time_picker','field_57f84b02ae3b2'), + (159,67,'fake_time_picker','17:30:00'), + (160,67,'_fake_time_picker','field_57f84b19ae3b3'), + (161,67,'fake_color_picker','#7263a8'), + (162,67,'_fake_color_picker','field_57f84b29ae3b4'), + (163,65,'fake_google_map',''), + (164,65,'_fake_google_map','field_57f84ab1ae3b0'), + (165,65,'fake_date_picker','20161013'), + (166,65,'_fake_date_picker','field_57f84aedae3b1'), + (167,65,'fake_date_time_picker','2016-10-19 08:06:05'), + (168,65,'_fake_date_time_picker','field_57f84b02ae3b2'), + (169,65,'fake_time_picker','17:30:00'), + (170,65,'_fake_time_picker','field_57f84b19ae3b3'), + (171,65,'fake_color_picker','#7263a8'), + (172,65,'_fake_color_picker','field_57f84b29ae3b4'), + (173,68,'_edit_last','1'), + (174,68,'_edit_lock','1486624787:1'), + (175,73,'_edit_last','1'), + (176,73,'_edit_lock','1486624652:1'), + (177,75,'fake_repeater_0_repeater_text','First text'), + (178,75,'_fake_repeater_0_repeater_text','field_5802f02b3a7fb'), + (179,75,'fake_repeater_0_repeater_radio','blue'), + (180,75,'_fake_repeater_0_repeater_radio','field_5802f0363a7fc'), + (181,75,'fake_repeater_1_repeater_text','Second text'), + (182,75,'_fake_repeater_1_repeater_text','field_5802f02b3a7fb'), + (183,75,'fake_repeater_1_repeater_radio','red'), + (184,75,'_fake_repeater_1_repeater_radio','field_5802f0363a7fc'), + (185,75,'fake_repeater','2'), + (186,75,'_fake_repeater','field_5802f0133a7fa'), + (187,73,'fake_repeater_0_repeater_text','First text'), + (188,73,'_fake_repeater_0_repeater_text','field_5802f02b3a7fb'), + (189,73,'fake_repeater_0_repeater_radio','blue'), + (190,73,'_fake_repeater_0_repeater_radio','field_5802f0363a7fc'), + (191,73,'fake_repeater_1_repeater_text','Second text'), + (192,73,'_fake_repeater_1_repeater_text','field_5802f02b3a7fb'), + (193,73,'fake_repeater_1_repeater_radio','red'), + (194,73,'_fake_repeater_1_repeater_radio','field_5802f0363a7fc'), + (195,73,'fake_repeater','2'), + (196,73,'_fake_repeater','field_5802f0133a7fa'), + (197,80,'fake_repeater_0_repeater_text','First text'), + (198,80,'_fake_repeater_0_repeater_text','field_5802f02b3a7fb'), + (199,80,'fake_repeater_0_repeater_radio','blue'), + (200,80,'_fake_repeater_0_repeater_radio','field_5802f0363a7fc'), + (201,80,'fake_repeater_1_repeater_text','Second text'), + (202,80,'_fake_repeater_1_repeater_text','field_5802f02b3a7fb'), + (203,80,'fake_repeater_1_repeater_radio','red'), + (204,80,'_fake_repeater_1_repeater_radio','field_5802f0363a7fc'), + (205,80,'fake_repeater','2'), + (206,80,'_fake_repeater','field_5802f0133a7fa'), + (207,80,'fake_repeater_2_0_fake_user','1'), + (208,80,'_fake_repeater_2_0_fake_user','field_580a75d7dd71b'), + (209,80,'fake_repeater_2_0_fake_file','29'), + (210,80,'_fake_repeater_2_0_fake_file','field_580a75fddd71c'), + (211,80,'fake_repeater_2_0_fake_relationship','a:2:{i:0;s:2:\"73\";i:1;s:2:\"21\";}'), + (212,80,'_fake_repeater_2_0_fake_relationship','field_580a760ddd71d'), + (213,80,'fake_repeater_2_1_fake_user','1'), + (214,80,'_fake_repeater_2_1_fake_user','field_580a75d7dd71b'), + (215,80,'fake_repeater_2_1_fake_file','26'), + (216,80,'_fake_repeater_2_1_fake_file','field_580a75fddd71c'), + (217,80,'fake_repeater_2_1_fake_relationship','a:1:{i:0;s:1:\"2\";}'), + (218,80,'_fake_repeater_2_1_fake_relationship','field_580a760ddd71d'), + (219,80,'fake_repeater_2','2'), + (220,80,'_fake_repeater_2','field_580a75c3dd71a'), + (221,73,'fake_repeater_2_0_fake_user','1'), + (222,73,'_fake_repeater_2_0_fake_user','field_580a75d7dd71b'), + (223,73,'fake_repeater_2_0_fake_file','29'), + (224,73,'_fake_repeater_2_0_fake_file','field_580a75fddd71c'), + (225,73,'fake_repeater_2_0_fake_relationship','a:2:{i:0;s:2:\"73\";i:1;s:2:\"21\";}'), + (226,73,'_fake_repeater_2_0_fake_relationship','field_580a760ddd71d'), + (227,73,'fake_repeater_2_1_fake_user','1'), + (228,73,'_fake_repeater_2_1_fake_user','field_580a75d7dd71b'), + (229,73,'fake_repeater_2_1_fake_file','26'), + (230,73,'_fake_repeater_2_1_fake_file','field_580a75fddd71c'), + (231,73,'fake_repeater_2_1_fake_relationship','a:1:{i:0;s:1:\"2\";}'), + (232,73,'_fake_repeater_2_1_fake_relationship','field_580a760ddd71d'), + (233,73,'fake_repeater_2','2'), + (234,73,'_fake_repeater_2','field_580a75c3dd71a'), + (235,1,'_edit_lock','1486624636:1'), + (236,82,'_edit_last','1'), + (237,82,'_edit_lock','1486626619:1'), + (238,86,'_edit_last','1'), + (239,86,'_edit_lock','1486626457:1'), + (240,86,'fake_flexible_content_0_text','Lorem ipsum'), + (241,86,'_fake_flexible_content_0_text','field_589c18d0c9b27'), + (242,86,'fake_flexible_content_1_post','1'), + (243,86,'_fake_flexible_content_1_post','field_589c18eac9b29'), + (244,86,'fake_flexible_content','a:3:{i:0;s:11:\"normal_text\";i:1;s:12:\"related_post\";i:2;s:14:\"multiple_posts\";}'), + (245,86,'_fake_flexible_content','field_589c18adc9b26'), + (246,88,'fake_flexible_content_0_text','Lorem ipsum'), + (247,88,'_fake_flexible_content_0_text','field_589c18d0c9b27'), + (248,88,'fake_flexible_content_1_post','1'), + (249,88,'_fake_flexible_content_1_post','field_589c18eac9b29'), + (250,88,'fake_flexible_content','a:2:{i:0;s:11:\"normal_text\";i:1;s:12:\"related_post\";}'), + (251,88,'_fake_flexible_content','field_589c18adc9b26'), + (252,86,'fake_flexible_content_2_post','a:2:{i:0;s:2:\"44\";i:1;s:2:\"65\";}'), + (253,86,'_fake_flexible_content_2_post','field_589c1ee35ec28'), + (254,90,'fake_flexible_content_0_text','Lorem ipsum'), + (255,90,'_fake_flexible_content_0_text','field_589c18d0c9b27'), + (256,90,'fake_flexible_content_1_post','1'), + (257,90,'_fake_flexible_content_1_post','field_589c18eac9b29'), + (258,90,'fake_flexible_content','a:3:{i:0;s:11:\"normal_text\";i:1;s:12:\"related_post\";i:2;s:14:\"multiple_posts\";}'), + (259,90,'_fake_flexible_content','field_589c18adc9b26'), + (260,90,'fake_flexible_content_2_post','a:2:{i:0;s:2:\"44\";i:1;s:2:\"65\";}'), + (261,90,'_fake_flexible_content_2_post','field_589c1ee35ec28'), + (262,91,'_edit_last','1'), + (263,91,'_edit_lock','1486707478:1'), + (264,91,'fake_text',''), + (265,91,'_fake_text','field_57f42174b81b8'), + (266,91,'fake_textarea',''), + (267,91,'_fake_textarea','field_57f4217cb81b9'), + (268,91,'fake_number',''), + (269,91,'_fake_number','field_57f42187b81ba'), + (270,91,'fake_email',''), + (271,91,'_fake_email','field_57f42194b81bb'), + (272,91,'fake_url',''), + (273,91,'_fake_url','field_57f4219bb81bc'), + (274,91,'fake_password',''), + (275,91,'_fake_password','field_57f421a2b81bd'), + (276,92,'fake_text',''), + (277,92,'_fake_text','field_57f42174b81b8'), + (278,92,'fake_textarea',''), + (279,92,'_fake_textarea','field_57f4217cb81b9'), + (280,92,'fake_number',''), + (281,92,'_fake_number','field_57f42187b81ba'), + (282,92,'fake_email',''), + (283,92,'_fake_email','field_57f42194b81bb'), + (284,92,'fake_url',''), + (285,92,'_fake_url','field_57f4219bb81bc'), + (286,92,'fake_password',''), + (287,92,'_fake_password','field_57f421a2b81bd'); + +/*!40000 ALTER TABLE `wp_postmeta` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_posts +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_posts`; + +CREATE TABLE `wp_posts` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', + `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `post_title` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_excerpt` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'publish', + `comment_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', + `ping_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', + `post_password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `post_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `to_ping` text COLLATE utf8mb4_unicode_ci NOT NULL, + `pinged` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content_filtered` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `guid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `menu_order` int(11) NOT NULL DEFAULT '0', + `post_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'post', + `post_mime_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_count` bigint(20) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`), + KEY `post_name` (`post_name`(191)), + KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), + KEY `post_parent` (`post_parent`), + KEY `post_author` (`post_author`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_posts` WRITE; +/*!40000 ALTER TABLE `wp_posts` DISABLE KEYS */; + +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) +VALUES + (1,1,'2016-10-04 21:37:39','2016-10-04 21:37:39','Welcome to WordPress. This is your first post. Edit or delete it, then start writing!','Hello world!','','publish','open','open','','hello-world','','','2016-10-04 21:37:39','2016-10-04 21:37:39','',0,'http://wordpress.corcel.dev/?p=1',0,'post','',1), + (2,1,'2016-10-04 21:37:39','2016-10-04 21:37:39','This is an example page. It\'s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:\n\n
Hi there! I\'m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin\' caught in the rain.)
\n\n...or something like this:\n\n
The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.
\n\nAs a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!','Sample Page','','publish','closed','open','','sample-page','','','2016-10-04 21:37:39','2016-10-04 21:37:39','',0,'http://wordpress.corcel.dev/?page_id=2',0,'page','',0), + (4,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:7:{s:8:\"location\";a:2:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"11\";}}i:1;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"91\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Basic Fields','acf-basic-fields','publish','closed','closed','','group_57f4216833e7d','','','2017-02-10 06:09:40','2017-02-10 06:09:40','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=4',0,'acf-field-group','',0), + (5,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Text','fake_text','publish','closed','closed','','field_57f42174b81b8','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=5',0,'acf-field','',0), + (6,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:12:{s:4:\"type\";s:8:\"textarea\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:4:\"rows\";s:0:\"\";s:9:\"new_lines\";s:7:\"wpautop\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Textarea','fake_textarea','publish','closed','closed','','field_57f4217cb81b9','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=6',1,'acf-field','',0), + (7,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:14:{s:4:\"type\";s:6:\"number\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:4:\"step\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Number','fake_number','publish','closed','closed','','field_57f42187b81ba','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=7',2,'acf-field','',0), + (8,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:9:{s:4:\"type\";s:5:\"email\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";}','Fake Email','fake_email','publish','closed','closed','','field_57f42194b81bb','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=8',3,'acf-field','',0), + (9,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:7:{s:4:\"type\";s:3:\"url\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";}','Fake URL','fake_url','publish','closed','closed','','field_57f4219bb81bc','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=9',4,'acf-field','',0), + (10,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Password','fake_password','publish','closed','closed','','field_57f421a2b81bd','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=10',5,'acf-field','',0), + (11,1,'2016-10-04 21:40:17','2016-10-04 21:40:17','','ACF Basic Fields','','publish','closed','closed','','acf-basic-fields','','','2016-10-04 22:02:15','2016-10-04 22:02:15','',0,'http://wordpress.corcel.dev/?page_id=11',0,'page','',0), + (12,1,'2016-10-04 21:40:17','2016-10-04 21:40:17','','ACF Basic Fields','','inherit','closed','closed','','11-revision-v1','','','2016-10-04 21:40:17','2016-10-04 21:40:17','',11,'http://wordpress.corcel.dev/2016/10/04/11-revision-v1/',0,'revision','',0), + (13,1,'2016-10-04 21:41:11','2016-10-04 21:41:11','','ACF Basic Fields','','inherit','closed','closed','','11-revision-v1','','','2016-10-04 21:41:11','2016-10-04 21:41:11','',11,'http://wordpress.corcel.dev/2016/10/04/11-revision-v1/',0,'revision','',0), + (14,1,'2016-10-04 22:02:15','2016-10-04 22:02:15','','ACF Basic Fields','','inherit','closed','closed','','11-revision-v1','','','2016-10-04 22:02:15','2016-10-04 22:02:15','',11,'http://wordpress.corcel.dev/2016/10/04/11-revision-v1/',0,'revision','',0), + (15,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"21\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Content Fields','acf-content-fields','publish','closed','closed','','group_57f4492227988','','','2016-10-05 00:49:19','2016-10-05 00:49:19','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=15',0,'acf-field-group','',0), + (16,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:9:{s:4:\"type\";s:7:\"wysiwyg\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:4:\"tabs\";s:3:\"all\";s:7:\"toolbar\";s:4:\"full\";s:12:\"media_upload\";i:1;}','Fake Editor','fake_editor','publish','closed','closed','','field_57f4492a59836','','','2016-10-05 00:30:05','2016-10-05 00:30:05','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=16',0,'acf-field','',0), + (17,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:7:{s:4:\"type\";s:6:\"oembed\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:5:\"width\";i:640;s:6:\"height\";i:390;}','Fake oEmbed','fake_oembed','publish','closed','closed','','field_57f4493b59837','','','2016-10-05 00:49:19','2016-10-05 00:49:19','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=17',1,'acf-field','',0), + (18,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:15:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:9:\"thumbnail\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake Image','fake_image','publish','closed','closed','','field_57f4495c59838','','','2016-10-05 00:30:05','2016-10-05 00:30:05','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=18',2,'acf-field','',0), + (19,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:10:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake File','fake_file','publish','closed','closed','','field_57f4496c59839','','','2016-10-05 00:30:05','2016-10-05 00:30:05','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=19',3,'acf-field','',0), + (20,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:17:{s:4:\"type\";s:7:\"gallery\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:12:\"preview_size\";s:9:\"thumbnail\";s:6:\"insert\";s:6:\"append\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake Gallery','fake_gallery','publish','closed','closed','','field_57f449785983a','','','2016-10-05 00:49:19','2016-10-05 00:49:19','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=20',4,'acf-field','',0), + (21,1,'2016-10-05 00:30:13','2016-10-05 00:30:13','','ACF Content Fields','','publish','closed','closed','','acf-content-fields','','','2016-10-05 00:38:18','2016-10-05 00:38:18','',0,'http://wordpress.corcel.dev/?page_id=21',0,'page','',0), + (22,1,'2016-10-05 00:30:13','2016-10-05 00:30:13','','ACF Content Fields','','inherit','closed','closed','','21-revision-v1','','','2016-10-05 00:30:13','2016-10-05 00:30:13','',21,'http://wordpress.corcel.dev/2016/10/05/21-revision-v1/',0,'revision','',0), + (23,1,'2016-10-05 00:34:53','2016-10-05 00:34:53','','beautiful-places-free-images-gallery','','inherit','open','closed','','beautiful-places-free-images-gallery','','','2016-10-05 00:36:11','2016-10-05 00:36:11','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/beautiful-places-free-images-gallery.jpg',0,'attachment','image/jpeg',0), + (24,1,'2016-10-05 00:34:54','2016-10-05 00:34:54','','d1sgof0','','inherit','open','closed','','d1sgof0','','','2016-10-05 00:34:54','2016-10-05 00:34:54','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/d1sgOF0.jpg',0,'attachment','image/jpeg',0), + (25,1,'2016-10-05 00:34:56','2016-10-05 00:34:56','','free-beautiful-place-155','','inherit','open','closed','','free-beautiful-place-155','','','2016-10-05 00:34:56','2016-10-05 00:34:56','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/free-beautiful-place-155.jpg',0,'attachment','image/jpeg',0), + (26,1,'2016-10-05 00:34:57','2016-10-05 00:34:57','','f53bad65f21de95e4765011732e922e7_large','','inherit','open','closed','','f53bad65f21de95e4765011732e922e7_large','','','2016-10-05 00:34:57','2016-10-05 00:34:57','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/f53bad65f21de95e4765011732e922e7_large.jpeg',0,'attachment','image/jpeg',0), + (27,1,'2016-10-05 00:34:58','2016-10-05 00:34:58','','maxresdefault','','inherit','open','closed','','maxresdefault','','','2016-10-05 00:34:58','2016-10-05 00:34:58','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/maxresdefault.jpg',0,'attachment','image/jpeg',0), + (28,1,'2016-10-05 00:34:59','2016-10-05 00:34:59','','beautiful-place-132960-high-definition','','inherit','open','closed','','beautiful-place-132960-high-definition','','','2016-10-05 00:34:59','2016-10-05 00:34:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/beautiful-place-132960-high-definition.jpg',0,'attachment','image/jpeg',0), + (29,1,'2016-10-05 00:35:00','2016-10-05 00:35:00','','maxresdefault-1','This is a caption','inherit','open','closed','','maxresdefault-1','','','2016-10-05 02:01:35','2016-10-05 02:01:35','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/maxresdefault-1.jpg',0,'attachment','image/jpeg',0), + (30,1,'2016-10-05 00:35:57','2016-10-05 00:35:57','','porplano-multi-instituido-demonstracaodasprovisoestecnicasdoplanodebeneficios','','inherit','open','closed','','porplano-multi-instituido-demonstracaodasprovisoestecnicasdoplanodebeneficios','','','2016-10-05 00:35:57','2016-10-05 00:35:57','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/PorPlano-MULTI-INSTITUIDO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf',0,'attachment','application/pdf',0), + (31,1,'2016-10-05 00:35:58','2016-10-05 00:35:58','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:35:58','2016-10-05 00:35:58','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), + (32,1,'2016-10-05 00:35:58','2016-10-05 00:35:58','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:35:58','2016-10-05 00:35:58','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), + (33,1,'2016-10-05 00:35:59','2016-10-05 00:35:59','','porplano-multi-patrocinado-demonstracaodoplanodegestaoadministrativaporplano-mp','','inherit','open','closed','','porplano-multi-patrocinado-demonstracaodoplanodegestaoadministrativaporplano-mp','','','2016-10-05 00:35:59','2016-10-05 00:35:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/PorPlano-MULTI-PATROCINADO-DemonstracaodoPlanodeGestaoAdministrativaporplano-MP.pdf',0,'attachment','application/pdf',0), + (34,1,'2016-10-05 00:35:59','2016-10-05 00:35:59','','por-plano-multipatrocinado-demonstracaodasprovisoestecnicasdoplanodebeneficios','','inherit','open','closed','','por-plano-multipatrocinado-demonstracaodasprovisoestecnicasdoplanodebeneficios','','','2016-10-05 00:35:59','2016-10-05 00:35:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTIPATROCINADO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf',0,'attachment','application/pdf',0), + (35,1,'2016-10-05 00:35:59','2016-10-05 00:35:59','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:35:59','2016-10-05 00:35:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), + (36,1,'2016-10-05 00:36:00','2016-10-05 00:36:00','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:36:00','2016-10-05 00:36:00','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), + (37,1,'2016-10-05 00:36:00','2016-10-05 00:36:00','Description here','Title here','Caption here','inherit','open','closed','','consolidado-manifestac%cc%a7a%cc%83o-do-conselho-deliberativo','','','2016-10-05 12:41:50','2016-10-05 12:41:50','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Consolidado-Manifestacao-do-Conselho-Deliberativo.pdf',0,'attachment','application/pdf',0), + (38,1,'2016-10-05 00:38:18','2016-10-05 00:38:18','','ACF Content Fields','','inherit','closed','closed','','21-revision-v1','','','2016-10-05 00:38:18','2016-10-05 00:38:18','',21,'http://wordpress.corcel.dev/2016/10/05/21-revision-v1/',0,'revision','',0), + (39,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"44\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Choice Fields','acf-choice-fields','publish','closed','closed','','group_57f56b0fa185f','','','2016-10-05 21:12:03','2016-10-05 21:12:03','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=39',0,'acf-field-group','',0), + (40,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:14:{s:4:\"type\";s:6:\"select\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:13:\"default_value\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:2:\"ui\";i:0;s:4:\"ajax\";i:0;s:11:\"placeholder\";s:0:\"\";s:8:\"disabled\";i:0;s:8:\"readonly\";i:0;}','Fake Select','fake_select','publish','closed','closed','','field_57f56b166ce5f','','','2016-10-05 21:12:03','2016-10-05 21:12:03','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=40',0,'acf-field','',0), + (41,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:9:{s:4:\"type\";s:8:\"checkbox\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:1;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:13:\"default_value\";a:0:{}s:6:\"layout\";s:8:\"vertical\";s:6:\"toggle\";i:0;}','Fake Checkbox','fake_checkbox','publish','closed','closed','','field_57f56b556ce60','','','2016-10-05 21:11:34','2016-10-05 21:11:34','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=41',2,'acf-field','',0), + (42,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:11:{s:4:\"type\";s:5:\"radio\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:1;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:10:\"allow_null\";i:0;s:12:\"other_choice\";i:0;s:17:\"save_other_choice\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:8:\"vertical\";}','Fake Radio Button','fake_radio_button','publish','closed','closed','','field_57f56b656ce61','','','2016-10-05 21:11:34','2016-10-05 21:11:34','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=42',3,'acf-field','',0), + (43,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:7:{s:4:\"type\";s:10:\"true_false\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";s:0:\"\";s:17:\"conditional_logic\";s:0:\"\";s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"message\";s:0:\"\";s:13:\"default_value\";i:0;}','Fake True False','fake_true_false','publish','closed','closed','','field_57f56b786ce62','','','2016-10-05 21:11:34','2016-10-05 21:11:34','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=43',4,'acf-field','',0), + (44,1,'2016-10-05 21:07:44','2016-10-05 21:07:44','','ACF Choices Field','','publish','closed','closed','','acf-choices-field','','','2016-10-05 21:12:14','2016-10-05 21:12:14','',0,'http://wordpress.corcel.dev/?page_id=44',0,'page','',0), + (45,1,'2016-10-05 21:07:44','2016-10-05 21:07:44','','ACF Choices Field','','inherit','closed','closed','','44-revision-v1','','','2016-10-05 21:07:44','2016-10-05 21:07:44','',44,'http://wordpress.corcel.dev/2016/10/05/44-revision-v1/',0,'revision','',0), + (46,1,'2016-10-05 21:10:52','2016-10-05 21:10:52','','ACF Choices Field','','inherit','closed','closed','','44-revision-v1','','','2016-10-05 21:10:52','2016-10-05 21:10:52','',44,'http://wordpress.corcel.dev/2016/10/05/44-revision-v1/',0,'revision','',0), + (47,1,'2016-10-05 21:11:34','2016-10-05 21:11:34','a:14:{s:4:\"type\";s:6:\"select\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:13:\"default_value\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:1;s:2:\"ui\";i:0;s:4:\"ajax\";i:0;s:11:\"placeholder\";s:0:\"\";s:8:\"disabled\";i:0;s:8:\"readonly\";i:0;}','Fake Select Multiple','fake_select_multiple','publish','closed','closed','','field_57f56c73f440a','','','2016-10-05 21:12:03','2016-10-05 21:12:03','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=47',1,'acf-field','',0), + (48,1,'2016-10-05 21:12:14','2016-10-05 21:12:14','','ACF Choices Field','','inherit','closed','closed','','44-revision-v1','','','2016-10-05 21:12:14','2016-10-05 21:12:14','',44,'http://wordpress.corcel.dev/2016/10/05/44-revision-v1/',0,'revision','',0), + (49,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"56\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Relational Fields','acf-relational-fields','publish','closed','closed','','group_57f70afa096c3','','','2016-10-07 02:43:33','2016-10-07 02:43:33','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=49',0,'acf-field-group','',0), + (50,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:11:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}','Fake Post Object','fake_post_object','publish','closed','closed','','field_57f70b063a715','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=50',0,'acf-field','',0), + (51,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:9:{s:4:\"type\";s:9:\"page_link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:1:{i:0;s:4:\"page\";}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;}','Fake Page Link','fake_page_link','publish','closed','closed','','field_57f70b1d3a716','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=51',1,'acf-field','',0), + (52,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:12:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:1:{i:0;s:4:\"page\";}s:8:\"taxonomy\";a:0:{}s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}','Fake Relationship','fake_relationship','publish','closed','closed','','field_57f70b3f3a717','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=52',2,'acf-field','',0), + (53,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:13:{s:4:\"type\";s:8:\"taxonomy\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:8:\"taxonomy\";s:8:\"category\";s:10:\"field_type\";s:8:\"checkbox\";s:10:\"allow_null\";i:0;s:8:\"add_term\";i:1;s:10:\"save_terms\";i:0;s:10:\"load_terms\";i:0;s:13:\"return_format\";s:2:\"id\";s:8:\"multiple\";i:0;}','Fake Taxonomy','fake_taxonomy','publish','closed','closed','','field_57f70b593a718','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=53',3,'acf-field','',0), + (54,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:13:{s:4:\"type\";s:8:\"taxonomy\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:8:\"taxonomy\";s:8:\"category\";s:10:\"field_type\";s:5:\"radio\";s:10:\"allow_null\";i:0;s:8:\"add_term\";i:1;s:10:\"save_terms\";i:0;s:10:\"load_terms\";i:0;s:13:\"return_format\";s:6:\"object\";s:8:\"multiple\";i:0;}','Fake Taxonomy Single','fake_taxonomy_single','publish','closed','closed','','field_57f70b7e3a719','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=54',4,'acf-field','',0), + (55,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:8:{s:4:\"type\";s:4:\"user\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:4:\"role\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;}','Fake User','fake_user','publish','closed','closed','','field_57f70ba23a71a','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=55',5,'acf-field','',0), + (56,1,'2016-10-07 02:43:18','2016-10-07 02:43:18','','ACF Relational Fields','','publish','closed','closed','','acf-relational-fields','','','2016-10-07 02:44:27','2016-10-07 02:44:27','',0,'http://wordpress.corcel.dev/?page_id=56',0,'page','',0), + (57,1,'2016-10-07 02:43:18','2016-10-07 02:43:18','','ACF Relational Fields','','inherit','closed','closed','','56-revision-v1','','','2016-10-07 02:43:18','2016-10-07 02:43:18','',56,'http://wordpress.corcel.dev/2016/10/07/56-revision-v1/',0,'revision','',0), + (58,1,'2016-10-07 02:44:27','2016-10-07 02:44:27','','ACF Relational Fields','','inherit','closed','closed','','56-revision-v1','','','2016-10-07 02:44:27','2016-10-07 02:44:27','',56,'http://wordpress.corcel.dev/2016/10/07/56-revision-v1/',0,'revision','',0), + (59,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"65\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF jQuery Fields','acf-jquery-fields','publish','closed','closed','','group_57f84aad732a9','','','2016-10-08 01:27:00','2016-10-08 01:27:00','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=59',0,'acf-field-group','',0), + (60,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:9:{s:4:\"type\";s:10:\"google_map\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:10:\"center_lat\";s:8:\"-37.8172\";s:10:\"center_lng\";s:8:\"144.9652\";s:4:\"zoom\";i:14;s:6:\"height\";i:400;}','Fake Google Map','fake_google_map','publish','closed','closed','','field_57f84ab1ae3b0','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=60',0,'acf-field','',0), + (61,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:8:{s:4:\"type\";s:11:\"date_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:14:\"display_format\";s:5:\"d/m/Y\";s:13:\"return_format\";s:5:\"d/m/Y\";s:9:\"first_day\";i:1;}','Fake Date Picker','fake_date_picker','publish','closed','closed','','field_57f84aedae3b1','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=61',1,'acf-field','',0), + (62,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:8:{s:4:\"type\";s:16:\"date_time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:14:\"display_format\";s:11:\"d/m/Y g:i a\";s:13:\"return_format\";s:11:\"d/m/Y g:i a\";s:9:\"first_day\";i:1;}','Fake Date Time Picker','fake_date_time_picker','publish','closed','closed','','field_57f84b02ae3b2','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=62',2,'acf-field','',0), + (63,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:7:{s:4:\"type\";s:11:\"time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:14:\"display_format\";s:5:\"g:i a\";s:13:\"return_format\";s:5:\"g:i a\";}','Fake Time Picker','fake_time_picker','publish','closed','closed','','field_57f84b19ae3b3','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=63',3,'acf-field','',0), + (64,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:6:{s:4:\"type\";s:12:\"color_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:7:\"#ffcc99\";}','Fake Color Picker','fake_color_picker','publish','closed','closed','','field_57f84b29ae3b4','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=64',4,'acf-field','',0), + (65,1,'2016-10-08 01:26:48','2016-10-08 01:26:48','','ACF jQuery Fields','','publish','closed','closed','','acf-jquery-fields','','','2016-10-08 01:36:15','2016-10-08 01:36:15','',0,'http://wordpress.corcel.dev/?page_id=65',0,'page','',0), + (66,1,'2016-10-08 01:26:48','2016-10-08 01:26:48','','ACF jQuery Fields','','inherit','closed','closed','','65-revision-v1','','','2016-10-08 01:26:48','2016-10-08 01:26:48','',65,'http://wordpress.corcel.dev/2016/10/08/65-revision-v1/',0,'revision','',0), + (67,1,'2016-10-08 01:36:15','2016-10-08 01:36:15','','ACF jQuery Fields','','inherit','closed','closed','','65-revision-v1','','','2016-10-08 01:36:15','2016-10-08 01:36:15','',65,'http://wordpress.corcel.dev/2016/10/08/65-revision-v1/',0,'revision','',0), + (68,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"73\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Layout Fields','acf-layout-fields','publish','closed','closed','','group_5802efee5ab76','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=68',0,'acf-field-group','',0), + (69,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:8:{s:4:\"type\";s:7:\"message\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"message\";s:23:\"This is a test message!\";s:9:\"new_lines\";s:7:\"wpautop\";s:8:\"esc_html\";i:0;}','Fake Message','','publish','closed','closed','','field_5802eff73a7f9','','','2016-10-16 03:14:48','2016-10-16 03:14:48','',68,'http://wordpress.corcel.dev/?post_type=acf-field&p=69',0,'acf-field','',0), + (70,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:10:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:7:\"Add Row\";}','Fake Repeater','fake_repeater','publish','closed','closed','','field_5802f0133a7fa','','','2016-10-16 03:20:09','2016-10-16 03:20:09','',68,'http://wordpress.corcel.dev/?post_type=acf-field&p=70',1,'acf-field','',0), + (71,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Repeater Text','repeater_text','publish','closed','closed','','field_5802f02b3a7fb','','','2016-10-16 03:13:29','2016-10-16 03:13:29','',70,'http://wordpress.corcel.dev/?post_type=acf-field&p=71',0,'acf-field','',0), + (72,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:11:{s:4:\"type\";s:5:\"radio\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:2:{s:3:\"red\";s:3:\"red\";s:4:\"blue\";s:4:\"blue\";}s:10:\"allow_null\";i:0;s:12:\"other_choice\";i:0;s:17:\"save_other_choice\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:8:\"vertical\";}','Repeater Radio','repeater_radio','publish','closed','closed','','field_5802f0363a7fc','','','2016-10-16 03:20:10','2016-10-16 03:20:10','',70,'http://wordpress.corcel.dev/?post_type=acf-field&p=72',1,'acf-field','',0), + (73,1,'2016-10-16 03:14:00','2016-10-16 03:14:00','','ACF Layout Fields','','publish','closed','closed','','acf-layout-fields','','','2016-10-21 20:40:42','2016-10-21 20:40:42','',0,'http://wordpress.corcel.dev/?page_id=73',0,'page','',0), + (74,1,'2016-10-16 03:14:00','2016-10-16 03:14:00','','ACF Layout Fields','','inherit','closed','closed','','73-revision-v1','','','2016-10-16 03:14:00','2016-10-16 03:14:00','',73,'http://wordpress.corcel.dev/2016/10/16/73-revision-v1/',0,'revision','',0), + (75,1,'2016-10-16 03:20:43','2016-10-16 03:20:43','','ACF Layout Fields','','inherit','closed','closed','','73-revision-v1','','','2016-10-16 03:20:43','2016-10-16 03:20:43','',73,'http://wordpress.corcel.dev/2016/10/16/73-revision-v1/',0,'revision','',0), + (76,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:10:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:7:\"Add Row\";}','Fake Repeater 2','fake_repeater_2','publish','closed','closed','','field_580a75c3dd71a','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',68,'http://wordpress.corcel.dev/?post_type=acf-field&p=76',2,'acf-field','',0), + (77,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:8:{s:4:\"type\";s:4:\"user\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:4:\"role\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;}','Fake User','fake_user','publish','closed','closed','','field_580a75d7dd71b','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',76,'http://wordpress.corcel.dev/?post_type=acf-field&p=77',0,'acf-field','',0), + (78,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:10:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake FIle','fake_file','publish','closed','closed','','field_580a75fddd71c','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',76,'http://wordpress.corcel.dev/?post_type=acf-field&p=78',1,'acf-field','',0), + (79,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:12:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}','Fake Relationship','fake_relationship','publish','closed','closed','','field_580a760ddd71d','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',76,'http://wordpress.corcel.dev/?post_type=acf-field&p=79',2,'acf-field','',0), + (80,1,'2016-10-21 20:12:09','2016-10-21 20:12:09','','ACF Layout Fields','','inherit','closed','closed','','73-revision-v1','','','2016-10-21 20:12:09','2016-10-21 20:12:09','',73,'http://wordpress.corcel.dev/2016/10/21/73-revision-v1/',0,'revision','',0), + (81,1,'2017-02-09 07:19:30','0000-00-00 00:00:00','','Auto Draft','','auto-draft','open','open','','','','','2017-02-09 07:19:30','0000-00-00 00:00:00','',0,'http://wdka.lcl/?p=81',0,'post','',0), + (82,1,'2017-02-09 07:21:44','2017-02-09 07:21:44','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"86\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Flexible content','acf-flexible-content','publish','closed','closed','','group_589c18653a943','','','2017-02-09 07:50:19','2017-02-09 07:50:19','',0,'http://wdka.lcl/?post_type=acf-field-group&p=82',0,'acf-field-group','',0), + (83,1,'2017-02-09 07:23:44','2017-02-09 07:23:44','a:9:{s:4:\"type\";s:16:\"flexible_content\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:12:\"button_label\";s:7:\"Add Row\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:7:\"layouts\";a:3:{i:0;a:6:{s:3:\"key\";s:13:\"589c18bcf10da\";s:5:\"label\";s:11:\"Normal text\";s:4:\"name\";s:11:\"normal_text\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}i:1;a:6:{s:3:\"key\";s:13:\"589c18dfc9b28\";s:5:\"label\";s:12:\"Related post\";s:4:\"name\";s:12:\"related_post\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}i:2;a:6:{s:3:\"key\";s:13:\"589c1ee35ec27\";s:5:\"label\";s:14:\"Multiple posts\";s:4:\"name\";s:14:\"multiple_posts\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}}}','Fake Flexible Content','fake_flexible_content','publish','closed','closed','','field_589c18adc9b26','','','2017-02-09 07:50:19','2017-02-09 07:50:19','',82,'http://wdka.lcl/?post_type=acf-field&p=83',0,'acf-field','',0), + (84,1,'2017-02-09 07:23:44','2017-02-09 07:23:44','a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:13:\"589c18bcf10da\";s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}','text','text','publish','closed','closed','','field_589c18d0c9b27','','','2017-02-09 07:23:44','2017-02-09 07:23:44','',83,'http://wdka.lcl/?post_type=acf-field&p=84',0,'acf-field','',0), + (85,1,'2017-02-09 07:23:44','2017-02-09 07:23:44','a:12:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:13:\"589c18dfc9b28\";s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}','post','post','publish','closed','closed','','field_589c18eac9b29','','','2017-02-09 07:23:44','2017-02-09 07:23:44','',83,'http://wdka.lcl/?post_type=acf-field&p=85',0,'acf-field','',0), + (86,1,'2017-02-09 07:24:04','2017-02-09 07:24:04','','ACF Flexible Content Fields','','publish','closed','closed','','acf-flexible-content','','','2017-02-09 07:49:59','2017-02-09 07:49:59','',0,'http://wdka.lcl/?page_id=86',0,'page','',0), + (88,1,'2017-02-09 07:25:15','2017-02-09 07:25:15','','ACF Flexible Content','','inherit','closed','closed','','86-revision-v1','','','2017-02-09 07:25:15','2017-02-09 07:25:15','',86,'http://wdka.lcl/2017/02/09/86-revision-v1/',0,'revision','',0), + (89,1,'2017-02-09 07:49:22','2017-02-09 07:49:22','a:12:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:13:\"589c1ee35ec27\";s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:1;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}','post','post','publish','closed','closed','','field_589c1ee35ec28','','','2017-02-09 07:49:22','2017-02-09 07:49:22','',83,'http://wdka.lcl/?post_type=acf-field&p=89',0,'acf-field','',0), + (90,1,'2017-02-09 07:49:59','2017-02-09 07:49:59','','ACF Flexible Content Fields','','inherit','closed','closed','','86-revision-v1','','','2017-02-09 07:49:59','2017-02-09 07:49:59','',86,'http://wdka.lcl/2017/02/09/86-revision-v1/',0,'revision','',0), + (91,1,'2017-02-10 06:07:14','2017-02-10 06:07:14','','ACF Basic Fields - Empty','','publish','closed','closed','','acf-basic-fields-empty','','','2017-02-10 06:17:57','2017-02-10 06:17:57','',0,'http://wordpress.corcel.dev/?page_id=91',0,'page','',0), + (92,1,'2017-02-10 06:07:14','2017-02-10 06:07:14','','ACF Basic Fields - Empty','','inherit','closed','closed','','91-revision-v1','','','2017-02-10 06:07:14','2017-02-10 06:07:14','',91,'http://wordpress.corcel.dev/2017/02/10/91-revision-v1/',0,'revision','',0); + +/*!40000 ALTER TABLE `wp_posts` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_term_relationships +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_term_relationships`; + +CREATE TABLE `wp_term_relationships` ( + `object_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `term_order` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`object_id`,`term_taxonomy_id`), + KEY `term_taxonomy_id` (`term_taxonomy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_term_relationships` WRITE; +/*!40000 ALTER TABLE `wp_term_relationships` DISABLE KEYS */; + +INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) +VALUES + (1,1,0); + +/*!40000 ALTER TABLE `wp_term_relationships` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_term_taxonomy +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_term_taxonomy`; + +CREATE TABLE `wp_term_taxonomy` ( + `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `taxonomy` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `description` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `count` bigint(20) NOT NULL DEFAULT '0', + PRIMARY KEY (`term_taxonomy_id`), + UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), + KEY `taxonomy` (`taxonomy`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_term_taxonomy` WRITE; +/*!40000 ALTER TABLE `wp_term_taxonomy` DISABLE KEYS */; + +INSERT INTO `wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) +VALUES + (1,1,'category','',0,1); + +/*!40000 ALTER TABLE `wp_term_taxonomy` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_termmeta +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_termmeta`; + +CREATE TABLE `wp_termmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (`meta_id`), + KEY `term_id` (`term_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + + + +# Dump of table wp_terms +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_terms`; + +CREATE TABLE `wp_terms` ( + `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `slug` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `term_group` bigint(10) NOT NULL DEFAULT '0', + PRIMARY KEY (`term_id`), + KEY `slug` (`slug`(191)), + KEY `name` (`name`(191)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_terms` WRITE; +/*!40000 ALTER TABLE `wp_terms` DISABLE KEYS */; + +INSERT INTO `wp_terms` (`term_id`, `name`, `slug`, `term_group`) +VALUES + (1,'Uncategorized','uncategorized',0); + +/*!40000 ALTER TABLE `wp_terms` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_usermeta +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_usermeta`; + +CREATE TABLE `wp_usermeta` ( + `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (`umeta_id`), + KEY `user_id` (`user_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_usermeta` WRITE; +/*!40000 ALTER TABLE `wp_usermeta` DISABLE KEYS */; + +INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) +VALUES + (1,1,'nickname','admin'), + (2,1,'first_name',''), + (3,1,'last_name',''), + (4,1,'description',''), + (5,1,'rich_editing','true'), + (6,1,'comment_shortcuts','false'), + (7,1,'admin_color','fresh'), + (8,1,'use_ssl','0'), + (9,1,'show_admin_bar_front','true'), + (10,1,'wp_capabilities','a:1:{s:13:\"administrator\";b:1;}'), + (11,1,'wp_user_level','10'), + (12,1,'dismissed_wp_pointers',''), + (13,1,'show_welcome_panel','1'), + (14,1,'session_tokens','a:2:{s:64:\"a5c283600980fbc0d1784460d810557f2fabf9f208feee0cd3dcf1c4b067b147\";a:4:{s:10:\"expiration\";i:1486797569;s:2:\"ip\";s:3:\"::1\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36\";s:5:\"login\";i:1486624769;}s:64:\"d566ac4a3e1b23f149afa6eda67a1ed0bd5a5d853c9765a810ddde2b17f961f3\";a:4:{s:10:\"expiration\";i:1486879412;s:2:\"ip\";s:12:\"192.168.33.1\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36\";s:5:\"login\";i:1486706612;}}'), + (15,1,'wp_dashboard_quick_press_last_post_id','81'), + (16,1,'wp_user-settings','editor=tinymce&libraryContent=browse'), + (17,1,'wp_user-settings-time','1486624765'), + (18,1,'acf_user_settings','a:0:{}'); + +/*!40000 ALTER TABLE `wp_usermeta` ENABLE KEYS */; +UNLOCK TABLES; + + +# Dump of table wp_users +# ------------------------------------------------------------ + +DROP TABLE IF EXISTS `wp_users`; + +CREATE TABLE `wp_users` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_pass` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_nicename` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_url` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_activation_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_status` int(11) NOT NULL DEFAULT '0', + `display_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + PRIMARY KEY (`ID`), + KEY `user_login_key` (`user_login`), + KEY `user_nicename` (`user_nicename`), + KEY `user_email` (`user_email`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +LOCK TABLES `wp_users` WRITE; +/*!40000 ALTER TABLE `wp_users` DISABLE KEYS */; + +INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) +VALUES + (1,'admin','$P$BZ05iH.zRtLuGO5Px.Kc0IKWo.QrJv1','admin','juniorgro@gmail.com','','2016-10-04 21:37:39','',0,'admin'); + +/*!40000 ALTER TABLE `wp_users` ENABLE KEYS */; +UNLOCK TABLES; + + + +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; From 01e3dfcb6c65219a2af2d5d535a0bc34614c8273 Mon Sep 17 00:00:00 2001 From: Kan Ishigami Date: Sun, 27 Feb 2022 22:54:56 -0300 Subject: [PATCH 14/15] Remove phpunit.xml.bak --- phpunit.xml.bak | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 phpunit.xml.bak diff --git a/phpunit.xml.bak b/phpunit.xml.bak deleted file mode 100644 index d72d558..0000000 --- a/phpunit.xml.bak +++ /dev/null @@ -1,27 +0,0 @@ - - - - - ./tests/ - - - - - app/ - - - - - - - - - From 97b46786b1e056cd749cde242f563d469c6978ba Mon Sep 17 00:00:00 2001 From: Kan Ishigami Date: Sun, 27 Feb 2022 22:56:50 -0300 Subject: [PATCH 15/15] Remove database.sql --- tests/config/database.sql | 896 -------------------------------------- 1 file changed, 896 deletions(-) delete mode 100644 tests/config/database.sql diff --git a/tests/config/database.sql b/tests/config/database.sql deleted file mode 100644 index 3616119..0000000 --- a/tests/config/database.sql +++ /dev/null @@ -1,896 +0,0 @@ -# ************************************************************ -# Sequel Pro SQL dump -# Version 4499 -# -# http://www.sequelpro.com/ -# https://github.com/sequelpro/sequelpro -# -# Host: 127.0.0.1 (MySQL 5.7.17-0ubuntu0.16.04.1) -# Database: corcel_acf -# Generation Time: 2017-02-10 06:27:20 +0000 -# ************************************************************ - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - - -# Dump of table wp_commentmeta -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_commentmeta`; - -CREATE TABLE `wp_commentmeta` ( - `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0', - `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `meta_value` longtext COLLATE utf8mb4_unicode_ci, - PRIMARY KEY (`meta_id`), - KEY `comment_id` (`comment_id`), - KEY `meta_key` (`meta_key`(191)) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - - - -# Dump of table wp_comments -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_comments`; - -CREATE TABLE `wp_comments` ( - `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', - `comment_author` tinytext COLLATE utf8mb4_unicode_ci NOT NULL, - `comment_author_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `comment_author_url` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `comment_author_IP` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `comment_content` text COLLATE utf8mb4_unicode_ci NOT NULL, - `comment_karma` int(11) NOT NULL DEFAULT '0', - `comment_approved` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1', - `comment_agent` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `comment_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', - `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`comment_ID`), - KEY `comment_post_ID` (`comment_post_ID`), - KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), - KEY `comment_date_gmt` (`comment_date_gmt`), - KEY `comment_parent` (`comment_parent`), - KEY `comment_author_email` (`comment_author_email`(10)) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_comments` WRITE; -/*!40000 ALTER TABLE `wp_comments` DISABLE KEYS */; - -INSERT INTO `wp_comments` (`comment_ID`, `comment_post_ID`, `comment_author`, `comment_author_email`, `comment_author_url`, `comment_author_IP`, `comment_date`, `comment_date_gmt`, `comment_content`, `comment_karma`, `comment_approved`, `comment_agent`, `comment_type`, `comment_parent`, `user_id`) -VALUES - (1,1,'A WordPress Commenter','wapuu@wordpress.example','https://wordpress.org/','','2016-10-04 21:37:39','2016-10-04 21:37:39','Hi, this is a comment.\nTo get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.\nCommenter avatars come from Gravatar.',0,'1','','',0,0); - -/*!40000 ALTER TABLE `wp_comments` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_links -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_links`; - -CREATE TABLE `wp_links` ( - `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `link_url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `link_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `link_image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `link_target` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `link_description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `link_visible` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Y', - `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', - `link_rating` int(11) NOT NULL DEFAULT '0', - `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `link_rel` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `link_notes` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, - `link_rss` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - PRIMARY KEY (`link_id`), - KEY `link_visible` (`link_visible`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - - - -# Dump of table wp_options -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_options`; - -CREATE TABLE `wp_options` ( - `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `option_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `option_value` longtext COLLATE utf8mb4_unicode_ci NOT NULL, - `autoload` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'yes', - PRIMARY KEY (`option_id`), - UNIQUE KEY `option_name` (`option_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_options` WRITE; -/*!40000 ALTER TABLE `wp_options` DISABLE KEYS */; - -INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) -VALUES - (1,'siteurl','http://wordpress.corcel.dev','yes'), - (2,'home','http://wordpress.corcel.dev','yes'), - (3,'blogname','Corcel WordPress Install','yes'), - (4,'blogdescription','Just another WordPress site','yes'), - (5,'users_can_register','0','yes'), - (6,'admin_email','juniorgro@gmail.com','yes'), - (7,'start_of_week','1','yes'), - (8,'use_balanceTags','0','yes'), - (9,'use_smilies','1','yes'), - (10,'require_name_email','1','yes'), - (11,'comments_notify','1','yes'), - (12,'posts_per_rss','10','yes'), - (13,'rss_use_excerpt','0','yes'), - (14,'mailserver_url','mail.example.com','yes'), - (15,'mailserver_login','login@example.com','yes'), - (16,'mailserver_pass','password','yes'), - (17,'mailserver_port','110','yes'), - (18,'default_category','1','yes'), - (19,'default_comment_status','open','yes'), - (20,'default_ping_status','open','yes'), - (21,'default_pingback_flag','0','yes'), - (22,'posts_per_page','10','yes'), - (23,'date_format','F j, Y','yes'), - (24,'time_format','g:i a','yes'), - (25,'links_updated_date_format','F j, Y g:i a','yes'), - (26,'comment_moderation','0','yes'), - (27,'moderation_notify','1','yes'), - (28,'permalink_structure','/%year%/%monthnum%/%day%/%postname%/','yes'), - (29,'rewrite_rules','a:90:{s:11:\"^wp-json/?$\";s:22:\"index.php?rest_route=/\";s:14:\"^wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:21:\"^index.php/wp-json/?$\";s:22:\"index.php?rest_route=/\";s:24:\"^index.php/wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:47:\"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:42:\"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:23:\"category/(.+?)/embed/?$\";s:46:\"index.php?category_name=$matches[1]&embed=true\";s:35:\"category/(.+?)/page/?([0-9]{1,})/?$\";s:53:\"index.php?category_name=$matches[1]&paged=$matches[2]\";s:17:\"category/(.+?)/?$\";s:35:\"index.php?category_name=$matches[1]\";s:44:\"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:39:\"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:20:\"tag/([^/]+)/embed/?$\";s:36:\"index.php?tag=$matches[1]&embed=true\";s:32:\"tag/([^/]+)/page/?([0-9]{1,})/?$\";s:43:\"index.php?tag=$matches[1]&paged=$matches[2]\";s:14:\"tag/([^/]+)/?$\";s:25:\"index.php?tag=$matches[1]\";s:45:\"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:40:\"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:21:\"type/([^/]+)/embed/?$\";s:44:\"index.php?post_format=$matches[1]&embed=true\";s:33:\"type/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?post_format=$matches[1]&paged=$matches[2]\";s:15:\"type/([^/]+)/?$\";s:33:\"index.php?post_format=$matches[1]\";s:12:\"robots\\.txt$\";s:18:\"index.php?robots=1\";s:48:\".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$\";s:18:\"index.php?feed=old\";s:20:\".*wp-app\\.php(/.*)?$\";s:19:\"index.php?error=403\";s:18:\".*wp-register.php$\";s:23:\"index.php?register=true\";s:32:\"feed/(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:27:\"(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:8:\"embed/?$\";s:21:\"index.php?&embed=true\";s:20:\"page/?([0-9]{1,})/?$\";s:28:\"index.php?&paged=$matches[1]\";s:41:\"comments/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:36:\"comments/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:17:\"comments/embed/?$\";s:21:\"index.php?&embed=true\";s:44:\"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:39:\"search/(.+)/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:20:\"search/(.+)/embed/?$\";s:34:\"index.php?s=$matches[1]&embed=true\";s:32:\"search/(.+)/page/?([0-9]{1,})/?$\";s:41:\"index.php?s=$matches[1]&paged=$matches[2]\";s:14:\"search/(.+)/?$\";s:23:\"index.php?s=$matches[1]\";s:47:\"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:42:\"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:23:\"author/([^/]+)/embed/?$\";s:44:\"index.php?author_name=$matches[1]&embed=true\";s:35:\"author/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?author_name=$matches[1]&paged=$matches[2]\";s:17:\"author/([^/]+)/?$\";s:33:\"index.php?author_name=$matches[1]\";s:69:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:45:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/embed/?$\";s:74:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]\";s:39:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$\";s:63:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]\";s:56:\"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:51:\"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:32:\"([0-9]{4})/([0-9]{1,2})/embed/?$\";s:58:\"index.php?year=$matches[1]&monthnum=$matches[2]&embed=true\";s:44:\"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]\";s:26:\"([0-9]{4})/([0-9]{1,2})/?$\";s:47:\"index.php?year=$matches[1]&monthnum=$matches[2]\";s:43:\"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:38:\"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:19:\"([0-9]{4})/embed/?$\";s:37:\"index.php?year=$matches[1]&embed=true\";s:31:\"([0-9]{4})/page/?([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&paged=$matches[2]\";s:13:\"([0-9]{4})/?$\";s:26:\"index.php?year=$matches[1]\";s:58:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:68:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:88:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:64:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:53:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/embed/?$\";s:91:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$\";s:85:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1\";s:77:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:65:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]\";s:61:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(?:/([0-9]+))?/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]\";s:47:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:57:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:77:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:53:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]\";s:51:\"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]\";s:38:\"([0-9]{4})/comment-page-([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&cpage=$matches[2]\";s:27:\".?.+?/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:37:\".?.+?/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:57:\".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:33:\".?.+?/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:16:\"(.?.+?)/embed/?$\";s:41:\"index.php?pagename=$matches[1]&embed=true\";s:20:\"(.?.+?)/trackback/?$\";s:35:\"index.php?pagename=$matches[1]&tb=1\";s:40:\"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:35:\"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:28:\"(.?.+?)/page/?([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&paged=$matches[2]\";s:35:\"(.?.+?)/comment-page-([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&cpage=$matches[2]\";s:24:\"(.?.+?)(?:/([0-9]+))?/?$\";s:47:\"index.php?pagename=$matches[1]&page=$matches[2]\";}','yes'), - (30,'hack_file','0','yes'), - (31,'blog_charset','UTF-8','yes'), - (32,'moderation_keys','','no'), - (33,'active_plugins','a:1:{i:0;s:34:\"advanced-custom-fields-pro/acf.php\";}','yes'), - (34,'category_base','','yes'), - (35,'ping_sites','http://rpc.pingomatic.com/','yes'), - (36,'comment_max_links','2','yes'), - (37,'gmt_offset','0','yes'), - (38,'default_email_category','1','yes'), - (39,'recently_edited','','no'), - (40,'template','twentysixteen','yes'), - (41,'stylesheet','twentysixteen','yes'), - (42,'comment_whitelist','1','yes'), - (43,'blacklist_keys','','no'), - (44,'comment_registration','0','yes'), - (45,'html_type','text/html','yes'), - (46,'use_trackback','0','yes'), - (47,'default_role','subscriber','yes'), - (48,'db_version','38590','yes'), - (49,'uploads_use_yearmonth_folders','1','yes'), - (50,'upload_path','','yes'), - (51,'blog_public','0','yes'), - (52,'default_link_category','2','yes'), - (53,'show_on_front','posts','yes'), - (54,'tag_base','','yes'), - (55,'show_avatars','1','yes'), - (56,'avatar_rating','G','yes'), - (57,'upload_url_path','','yes'), - (58,'thumbnail_size_w','150','yes'), - (59,'thumbnail_size_h','150','yes'), - (60,'thumbnail_crop','1','yes'), - (61,'medium_size_w','300','yes'), - (62,'medium_size_h','300','yes'), - (63,'avatar_default','mystery','yes'), - (64,'large_size_w','1024','yes'), - (65,'large_size_h','1024','yes'), - (66,'image_default_link_type','none','yes'), - (67,'image_default_size','','yes'), - (68,'image_default_align','','yes'), - (69,'close_comments_for_old_posts','0','yes'), - (70,'close_comments_days_old','14','yes'), - (71,'thread_comments','1','yes'), - (72,'thread_comments_depth','5','yes'), - (73,'page_comments','0','yes'), - (74,'comments_per_page','50','yes'), - (75,'default_comments_page','newest','yes'), - (76,'comment_order','asc','yes'), - (77,'sticky_posts','a:0:{}','yes'), - (78,'widget_categories','a:2:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:12:\"hierarchical\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'), - (79,'widget_text','a:0:{}','yes'), - (80,'widget_rss','a:0:{}','yes'), - (81,'uninstall_plugins','a:0:{}','no'), - (82,'timezone_string','','yes'), - (83,'page_for_posts','0','yes'), - (84,'page_on_front','0','yes'), - (85,'default_post_format','0','yes'), - (86,'link_manager_enabled','0','yes'), - (87,'finished_splitting_shared_terms','1','yes'), - (88,'site_icon','0','yes'), - (89,'medium_large_size_w','768','yes'), - (90,'medium_large_size_h','0','yes'), - (91,'initial_db_version','37965','yes'), - (92,'wp_user_roles','a:5:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:61:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}}','yes'), - (93,'widget_search','a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}','yes'), - (94,'widget_recent-posts','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'), - (95,'widget_recent-comments','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'), - (96,'widget_archives','a:2:{i:2;a:3:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'), - (97,'widget_meta','a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}','yes'), - (98,'sidebars_widgets','a:3:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:13:\"array_version\";i:3;}','yes'), - (99,'widget_pages','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), - (100,'widget_calendar','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), - (101,'widget_tag_cloud','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), - (102,'widget_nav_menu','a:1:{s:12:\"_multiwidget\";i:1;}','yes'), - (103,'cron','a:4:{i:1486719460;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1486762675;a:1:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1486762728;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}s:7:\"version\";i:2;}','yes'), - (106,'nonce_key','1(z~A~&GX,$lptZdQ;*m8)]#,`g|v],Vb]rz:>/{9;g^f+$1A.w=k[pFQV!.KgYs','no'), - (107,'nonce_salt','2eAhWwr]{[>sTvo^8_Ju@=KqD^a2?tXo)tL7234#o*(8Asb]ySDdQu90psdwFbnw].','no'), - (116,'auth_salt','Eklq$cX4r!K6OW,;yxDgyKs&qMXSsqJD}s)p[eUE*47=I','no'), - (117,'logged_in_key','N/^);0tnOa%y|_D:ITAVPh]rFm7!U,#+s*DMws8%3','no'), - (118,'logged_in_salt','wmaJaVJ7qTz7v@%(h^Z@53`vD=e:_;3<|kck><4Q.cuzNa+-jVn(~wvX$|BO4 vp','no'), - (139,'recently_activated','a:0:{}','yes'), - (140,'acf_version','5.5.6','yes'), - (162,'category_children','a:0:{}','yes'), - (177,'acf_pro_license','','yes'), - (208,'db_upgraded','','yes'), - (209,'_site_transient_update_core','O:8:\"stdClass\":4:{s:7:\"updates\";a:1:{i:0;O:8:\"stdClass\":10:{s:8:\"response\";s:6:\"latest\";s:8:\"download\";s:59:\"https://downloads.wordpress.org/release/wordpress-4.7.2.zip\";s:6:\"locale\";s:5:\"en_US\";s:8:\"packages\";O:8:\"stdClass\":5:{s:4:\"full\";s:59:\"https://downloads.wordpress.org/release/wordpress-4.7.2.zip\";s:10:\"no_content\";s:70:\"https://downloads.wordpress.org/release/wordpress-4.7.2-no-content.zip\";s:11:\"new_bundled\";s:71:\"https://downloads.wordpress.org/release/wordpress-4.7.2-new-bundled.zip\";s:7:\"partial\";b:0;s:8:\"rollback\";b:0;}s:7:\"current\";s:5:\"4.7.2\";s:7:\"version\";s:5:\"4.7.2\";s:11:\"php_version\";s:5:\"5.2.4\";s:13:\"mysql_version\";s:3:\"5.0\";s:11:\"new_bundled\";s:3:\"4.7\";s:15:\"partial_version\";s:0:\"\";}}s:12:\"last_checked\";i:1486706608;s:15:\"version_checked\";s:5:\"4.7.2\";s:12:\"translations\";a:0:{}}','no'), - (210,'_site_transient_timeout_browser_dff177876e22ddc43470e135e8edbe87','1487229570','no'), - (211,'_site_transient_browser_dff177876e22ddc43470e135e8edbe87','a:9:{s:8:\"platform\";s:9:\"Macintosh\";s:4:\"name\";s:6:\"Chrome\";s:7:\"version\";s:12:\"55.0.2883.95\";s:10:\"update_url\";s:28:\"http://www.google.com/chrome\";s:7:\"img_src\";s:49:\"http://s.wordpress.org/images/browsers/chrome.png\";s:11:\"img_src_ssl\";s:48:\"https://wordpress.org/images/browsers/chrome.png\";s:15:\"current_version\";s:2:\"18\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','no'), - (212,'can_compress_scripts','1','no'), - (213,'_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca','1486667973','no'), - (214,'_transient_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:49:\"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"https://wordpress.org/news\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:13:\"lastBuildDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 01 Feb 2017 15:58:56 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"https://wordpress.org/?v=4.8-alpha-40051\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:10:{i:0;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"WordPress 4.7.2 Security Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 26 Jan 2017 19:34:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4676\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:357:\"WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately. WordPress versions 4.7.1 and earlier are affected by three security issues: The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2142:\"

WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7.1 and earlier are affected by three security issues:

\n
    \n
  1. The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. Reported by David Herrera of Alley Interactive.
  2. \n
  3. WP_Query is vulnerable to a SQL injection (SQLi) when passing unsafe data. WordPress core is not directly vulnerable to this issue, but we’ve added hardening to prevent plugins and themes from accidentally causing a vulnerability. Reported by Mo Jangda (batmoo).
  4. \n
  5. A cross-site scripting (XSS) vulnerability was discovered in the posts list table. Reported by Ian Dunn of the WordPress Security Team.
  6. \n
  7. An unauthenticated privilege escalation vulnerability was discovered in a REST API endpoint. Reported by Marc-Alexandre Montpas of Sucuri Security. *
  8. \n
\n

Thank you to the reporters of these issues for practicing responsible disclosure.

\n

Download WordPress 4.7.2 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.2.

\n

Thanks to everyone who contributed to 4.7.2.

\n

* Update: An additional serious vulnerability was fixed in this release and public disclosure was delayed. For more information on this vulnerability, additional mitigation steps taken, and an explanation for why disclosure was delayed, please read Disclosure of Additional Security Fix in WordPress 4.7.2.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4676\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"WordPress 4.7.1 Security and Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"https://wordpress.org/news/2017/01/wordpress-4-7-1-security-and-maintenance-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 03:53:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4650\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:375:\"WordPress 4.7 has been downloaded over 10 million times since its release on December 6, 2016 and we are pleased to announce the immediate availability of WordPress 4.7.1. This is a security release for all previous versions and we strongly encourage you to update your sites immediately. WordPress versions 4.7 and earlier are affected by eight security issues: […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:6520:\"

WordPress 4.7 has been downloaded over 10 million times since its release on December 6, 2016 and we are pleased to announce the immediate availability of WordPress 4.7.1. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7 and earlier are affected by eight security issues:

\n
    \n
  1. Remote code execution (RCE) in PHPMailer – No specific issue appears to affect WordPress or any of the major plugins we investigated but, out of an abundance of caution, we updated PHPMailer in this release. This issue was fixed in PHPMailer thanks to Dawid Golunski and Paul Buonopane.
  2. \n
  3. The REST API exposed user data for all users who had authored a post of a public post type. WordPress 4.7.1 limits this to only post types which have specified that they should be shown within the REST API. Reported by Krogsgard and Chris Jean.
  4. \n
  5. Cross-site scripting (XSS) via the plugin name or version header on update-core.php. Reported by Dominik Schilling of the WordPress Security Team.
  6. \n
  7. Cross-site request forgery (CSRF) bypass via uploading a Flash file. Reported by Abdullah Hussam.
  8. \n
  9. Cross-site scripting (XSS) via theme name fallback. Reported by Mehmet Ince.
  10. \n
  11. Post via email checks mail.example.com if default settings aren’t changed. Reported by John Blackbourn of the WordPress Security Team.
  12. \n
  13. A cross-site request forgery (CSRF) was discovered in the accessibility mode of widget editing. Reported by Ronnie Skansing.
  14. \n
  15. Weak cryptographic security for multisite activation key. Reported by Jack.
  16. \n
\n

Thank you to the reporters for practicing responsible disclosure.

\n

In addition to the security issues above, WordPress 4.7.1 fixes 62 bugs from 4.7. For more information, see the release notes or consult the list of changes.

\n

Download WordPress 4.7.1 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.1.

\n

Thanks to everyone who contributed to 4.7.1: Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, Andrea Fercia, Andrew Ozz, bonger, Boone Gorges, Chandra Patel, Christian Chung, David Herrera, David Shanske, Dion Hulse, Dominik Schilling (ocean90), DreamOn11, Edwin Cromley, Ella van Dorpe, Gary Pendergast, Hristo Pandjarov, James Nylen, Jeff Bowen, Jeremy Felt, Jeremy Pry, Joe Hoyle, Joe McGill, John Blackbourn, Keanan Koppenhaver, Konstantin Obenland, laurelfulford, Marin Atanasov, mattyrob, monikarao, Nate Reist, Nick Halsey, Nikhil Chavan, nullvariable, Payton Swick, Peter Wilson, Presskopp, Rachel Baker, Ryan McCue, Sanket Parmar, Sebastian Pisula, sfpt, shazahm1, Stanimir Stoyanov, Steven Word, szaqal21, timph, voldemortensen, vortfu, and Weston Ruter.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4650\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:36:\"\n \n \n \n \n \n\n \n \n \n \n\n\n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"WordPress 4.7 “Vaughan”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://wordpress.org/news/2016/12/vaughan/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 06 Dec 2016 19:27:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4596\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:240:\"Version 4.7 of WordPress, named “Vaughan” in honor of legendary jazz vocalist Sarah \"Sassy\" Vaughan, is available for download or update in your WordPress dashboard. New features in 4.7 help you get your site set up the way you want it.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"enclosure\";a:3:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:3:\"url\";s:60:\"https://wordpress.org/news/files/2016/12/starter-content.mp4\";s:6:\"length\";s:7:\"3736020\";s:4:\"type\";s:9:\"video/mp4\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:3:\"url\";s:59:\"https://wordpress.org/news/files/2016/12/edit-shortcuts.mp4\";s:6:\"length\";s:7:\"1127483\";s:4:\"type\";s:9:\"video/mp4\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:3:\"url\";s:58:\"https://wordpress.org/news/files/2016/12/video-headers.mp4\";s:6:\"length\";s:7:\"1549803\";s:4:\"type\";s:9:\"video/mp4\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:45498:\"

Version 4.7 of WordPress, named “Vaughan” in honor of legendary jazz vocalist Sarah “Sassy” Vaughan, is available for download or update in your WordPress dashboard. New features in 4.7 help you get your site set up the way you want it.

\n
\n
\n

Presenting Twenty Seventeen

\n

A brand new default theme brings your site to life with immersive featured images and video headers.

\n

\n

Twenty Seventeen focuses on business sites and features a customizable front page with multiple sections. Personalize it with widgets, navigation, social menus, a logo, custom colors, and more. Our default theme for 2017 works great in many languages, on any device, and for a wide range of users.

\n
\n

Your Site, Your Way

\n

WordPress 4.7 adds new features to the customizer to help take you through the initial setup of a theme, with non-destructive live previews of all your changes in one uninterrupted workflow.

\n

Theme Starter Content

\n\n

To help give you a solid base to build from, individual themes can provide starter content that appears when you go to customize your brand new site. This can range from placing a business information widget in the best location to providing a sample menu with social icon links to a static front page complete with beautiful images. Don’t worry – nothing new will appear on the live site until you’re ready to save and publish your initial theme setup.

\n
\n

Edit Shortcuts

\n\n

Visible icons appear to show you which parts of your site can be customized while live previewing. Click on a shortcut and get straight to editing. Paired with starter content, getting started with customizing your site is faster than ever.

\n
\n
\n

Video Headers

\n\n

Sometimes a big atmospheric video as a moving header image is just what you need to showcase your wares; go ahead and try it out with Twenty Seventeen. Need some video inspiration? Try searching for sites with video headers available for download and use.

\n
\n
\n
\n

Smoother Menu Building

\n

\n

Many menus for sites contain links to the pages of your site, but what happens when you don’t have any pages yet? Now you can add new pages while building menus instead of leaving the customizer and abandoning your changes. Once you’ve published your customizations, you’ll have new pages ready for you to fill with content.

\n
\n
\n

Custom CSS

\n

\n

Sometimes you just need a few visual tweaks to make your site perfect. WordPress 4.7 allows you to add custom CSS and instantly see how your changes affect your site. The live preview allows you to work quickly without page refreshes slowing you down.

\n
\n
\n
\n
\n

PDF Thumbnail Previews

\n

\n

Managing your document collection is easier with WordPress 4.7. Uploading PDFs will generate thumbnail images so you can more easily distinguish between all your documents.

\n
\n
\n

Dashboard in your language

\n

\n

Just because your site is in one language doesn’t mean that everybody helping manage it prefers that language for their admin. Add more languages to your site and a user language option will show up in your user’s profiles.

\n
\n
\n
\n

Introducing REST API Content Endpoints

\n

WordPress 4.7 comes with REST API endpoints for posts, comments, terms, users, meta, and settings.

\n

\"\"

\n

Content endpoints provide machine-readable external access to your WordPress site with a clear, standards-driven interface, paving the way for new and innovative methods of interacting with sites through plugins, themes, apps, and beyond. Ready to get started with development? Check out the REST API reference.

\n
\n

Even More Developer Happiness \"?\"

\n

Post Type Templates

\n

By opening up the page template functionality to all post types, theme developers have even more flexibility with the WordPress template hierarchy.

\n

More Theme API Goodies

\n

WordPress 4.7 includes new functions, hooks, and behavior for theme developers.

\n

Custom Bulk Actions

\n

List tables, now with more than bulk edit and delete.

\n

WP_Hook

\n

The code that lies beneath actions and filters has been overhauled and modernized, fixing bugs along the way.

\n

Settings Registration API

\n

register_setting() has been enhanced to include type, description, and REST API visibility.

\n

Customize Changesets

\n

Customize changesets make changes in the customizer persistent, like autosave drafts. They also make exciting new features like starter content possible.

\n
\n

The Squad

\n

This release was led by Helen Hou-Sandí, backed up by Jeff Paul and Aaron Jorbin as Release Deputies, and with the help of these fine individuals. There are 482 contributors with props in this release—the most ever—with 205 of them contributing for the first time. Pull up some sassy Sarah Vaughan on your music service of choice, and check out some of their profiles:

\nAaron D. Campbell, abrightclearweb, Achal Jain, achbed, Acme Themes, Adam Silverstein, adammacias, Ahmad Awais, ahmadawais, airesvsg, ajoah, Aki Björklund, akshayvinchurkar, Alain Schlesser, Alex Concha, Alex Dimitrov, Alex Hon, alex27, allancole, Amanda Rush, Andrea Fercia, Andreas Panag, Andrew Nacin, Andrew Ozz, Andrey \"Rarst\" Savchenko, Andy Meerwaldt, Andy Mercer, Andy Skelton, Aniket Pant, Anil Basnet, Ankit K Gupta, Anthony Hortin, antisilent, Anton Timmermans, Antti Kuosmanen, apokalyptik, artoliukkonen, Arunas Liuiza, attitude, backermann, Bappi, Ben Cole, Bernhard Kau, BinaryMoon, Birgir Erlendsson (birgire), BjornW, bobbingwide, boblinthorst, boboudreau, bonger, Boone B. Gorges, Brady Vercher, Brainstorm Force, Brandon Kraft, Brian Hogg, Brian Krogsgard, Bronson Quick, Caroline Moore, Casey Driscoll, Caspie, Chandra Patel, Chaos Engine, cheeserolls, chesio, chetansatasiya, choong, Chouby, chredd, Chris Jean, Chris Marslender, Chris Smith, Chris Van Patten, Chris Wiegman, chriscct7, chriseverson, Christian Chung, Christian Nolen, Christian Wach, Christoph Herr, Clarion Technologies, Claudio Sanches, Claudio Sanches, ClaudioLaBarbera, codemovement.pk, coderkevin, codfish, coreymcollins, Curdin Krummenacher, Curtiss Grymala, Cătălin Dogaru, danhgilmore, Daniel Bachhuber , Daniel Kanchev, Daniel Pietrasik, Daniele Scasciafratte, Daryl L. L. Houston (dllh), Dave Pullig, Dave Romsey (goto10), David A. Kennedy, David Chandra Purnama, David Herrera, David Lingren, David Mosterd, David Shanske, davidbhayes, Davide \'Folletto\' Casali, deeptiboddapati, delphinus, deltafactory, Denis de Bernardy, Derek Herman, Derrick Hammer, Derrick Koo, dimchik, Dinesh Chouhan, Dion Hulse, dipeshkakadiya, dmsnell, Dominik Schilling, Dotan Cohen, Doug Wollison, doughamlin, DreamOn11, Drew Jaynes, duncanjbrown, dungengronovius, DylanAuty, Eddie Hurtig, Eduardo Reveles, Edwin Cromley, ElectricFeet, Elio Rivero, Ella Iseulde Van Dorpe, elyobo, enodekciw, enshrined, Eric Andrew Lewis, Eric Lanehart, Evan Herman, Felix Arntz, Fencer04, Florian Brinkmann, Florian TIAR, FolioVision, fomenkoandrey, Frank Klein, Frankie Jarrett, frankiet, Fred, Fredrik Forsmo, fuscata, Gabriel Maldonado, Gary Jones, Gary Pendergast, Geeky Software, George Stephanis, Goran Šerić, Graham Armfield, Grant Derepas, Gregory Karpinsky (@tivnet), Hardeep Asrani, Henry Wright, hiddenpearls, Hinaloe, Hristo Pandjarov, Hugo Baeta, Iain Poulson, iamjolly, Ian Dunn, Ian Edington, idealien, Ignacio Cruz Moreno, imath, Imnok, implenton, Ionut Stanciu, Ipstenu (Mika Epstein), Ivan, ivdimova, J.D. Grimes, Jacob Peattie, Jake Spurlock, James Nylen, jamesacero, Japh, Jared Cobb, jayarjo, jdolan, jdoubleu, Jeff Bowen, Jeffrey de Wit, Jeremy Felt, Jeremy Pry, jimt, Jip Moors, jmusal, Joe Dolson, Joe Hoyle, Joe McGill, Joel James, johanmynhardt, John Blackbourn, John Dittmar, John James Jacoby, John P. Bloch, John Regan, johnpgreen, Jon (Kenshino), Jonathan Bardo, Jonathan Brinley, Jonathan Daggerhart, Jonathan Desrosiers, Jonny Harris, jonnyauk, jordesign, JorritSchippers, Joseph Fusco, Josh Eaton, Josh Pollock, joshcummingsdesign, joshkadis, Joy, jrf, JRGould, Juanfra Aldasoro, Juhi Saxena, Junko Nukaga, Justin Busa, Justin Sainton, Justin Shreve, Justin Sternberg, K.Adam White, kacperszurek, Kailey (trepmal), KalenJohnson, Kat Hagan, Keanan Koppenhaver, keesiemeijer, kellbot, Kelly Dwan, Kevin Hagerty, Kirk Wight, kitchin, Kite, kjbenk, Knut Sparhell, koenschipper, kokarn, Konstantin Kovshenin, Konstantin Obenland, Konstantinos Kouratoras, kuchenundkakao, kuldipem, Laurel Fulford, Lee Willis, Leo Baiano, LittleBigThings (Csaba), Lucas Stark, Luke Cavanagh, Luke Gedeon, lukepettway, lyubomir_popov, mageshp, Mahesh Waghmare, Mangesh Parte, Manish Songirkar, mantismamita, Marcel Bootsman, Marin Atanasov, Mario Valney, Marius L. J., Mark Jaquith, Mark Root-Wiley, Mark Uraine, Marko Heijnen, markshep, matrixik, Matt Banks, Matt Jaworski, Matt King, Matt Mullenweg, Matt van Andel, Matt Wiebe, Matthew Haines-Young, mattyrob, Max Cutler, Maxime Culea, Mayo Moriyama, mbelchev, mckernanin, Mel Choyce, mhowell, Michael Arestad, Michael Arestad, michalzuber, Mike Auteri, Mike Crantea, Mike Glendinning, Mike Hansen, Mike Little, Mike Schroder, Mike Viele, Milan Dinić, modemlooper, Mohammad Jangda, Mohan Dere, monikarao, morettigeorgiev, Morgan Estes, Morten Rand-Hendriksen, moto hachi ( mt8.biz ), mrbobbybryant, Naim Naimov, Nate Reist, NateWr, nathanrice, Nazgul, Ned Zimmerman, Nick Halsey , Nicolas GUILLAUME, Nikhil Chavan, Nikhil Vimal, Nikolay Bachiyski, Nilambar Sharma, noplanman, nullvariable, odie2, odyssey, Okamoto Hidetaka, orvils, oskosk, Otto Kekäläinen, ovann86, Pascal Birchler, patilvikasj, Paul Bearne, Paul Wilde, Payton Swick, pdufour, Perdaan, Peter Wilson, phh, php, Piotr Delawski, pippinsplugins, pjgalbraith, pkevan, Pratik, Pressionate, Presskopp, procodewp, quasel, Rachel Baker, Rahul Prajapati, Ramanan, Rami Yushuvaev, ramiabraham, ranh, Red Sand Media Group, Riad Benguella, Rian Rietveld, Richard Tape, Robert D Payne, Robert Noakes, Rocco Aliberti, Rodrigo Primo, Rommel Castro, Ronald Araújo, Ross Wintle, Roy Sivan, Ryan Kienstra, Ryan McCue, Ryan Plas, Ryan Welcher, Sal Ferrarello, Sami Keijonen, Samir Shah, Samuel Sidler, Sandesh, Sang-Min Yoon, Sanket Parmar, Sarah Gooding, Sayed Taqui, schrapel, Scott Reilly, Scott Taylor, scrappy@hub.org, scribu, seancjones, Sebastian Pisula, Sergey Biryukov, Sergio De Falco, sfpt, shayanys, shazahm1, shprink, simonlampen, skippy, smerriman, snacking, Soeren Wrede, solal, Stanimir Stoyanov, Stanko Metodiev, Steph, Steph Wells, Stephanie Leary, Stephen Edgar, Stephen Harris, Steven Word, stevenlinx, stubgo, Sudar Muthu, Swapnil V. Patil, swapnild, szaqal21, Takahashi Fumiki, Takayuki Miyauchi, Tammie Lister, tapsboy, Taylor Lovett, team, tg29359, tharsheblows, the, themeshaper, thenbrent, thomaswm, Thorsten Frommen, tierra, Tim Nash, Timmy Crawford, Timothy Jacobs, timph, Tkama, tnegri, Tom Auger, Tom J Nowell, tomdxw, Toro_Unit (Hiroshi Urabe), Torsten Landsiedel, transl8or, traversal, Travis Smith, Triet Minh, Trisha Salas, tristangemus, Truong Giang, tsl143, Ty Carlson, Ulrich, Utkarsh, Valeriu Tihai, Vishal Kakadiya, voldemortensen, vortfu, Vrunda Kansara, webbgaraget, WebMan Design | Oliver Juhas, websupporter, Weston Ruter, William Earnhardt, williampatton, Wolly aka Paolo Valenti, WraithKenny, yale01, Yoav Farhi, Yoga Sukma, Zach Wills, Zack Tollman, Ze Fontainhas, zhildzik, and zsusag.\n

 
\nSpecial thanks go to Rami Abraham for producing the release video and the many fine haiku we saw in the beta and RC announcement posts.

\n

Finally, thanks to all the community translators who worked on WordPress 4.7. Their efforts bring WordPress 4.7 fully translated to 52 languages at release time with more on the way. Additionally, the WordPress 4.7 release video has been captioned into 44 languages.

\n

If you want to follow along or help out, check out Make WordPress and our core development blog. Thanks for choosing WordPress – we hope you enjoy!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4596\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Moving Toward SSL\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/news/2016/12/moving-toward-ssl/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 Dec 2016 17:20:29 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4588\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:327:\"We’re at a turning point: 2017 is going to be the year that we’re going to see features in WordPress which require hosts to have HTTPS available. Just as JavaScript is a near necessity for smoother user experiences and more modern PHP versions are critical for performance, SSL just makes sense as the next hurdle […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1627:\"

We’re at a turning point: 2017 is going to be the year that we’re going to see features in WordPress which require hosts to have HTTPS available. Just as JavaScript is a near necessity for smoother user experiences and more modern PHP versions are critical for performance, SSL just makes sense as the next hurdle our users are going to face.

\n

SSL basically means the link between your browser and the server is encrypted. SSL used to be difficult to implement, and often expensive or slow. Modern browsers, and the incredible success of projects like Let’s Encrypt have made getting a certificate to secure your site fast, free, and something we think every host should support by default, especially in a post-Snowden era. Google also weighs SSL as a search engine ranking factor and will begin flagging unencrypted sites in Chrome.

\n

First, early in 2017, we will only promote hosting partners that provide a SSL certificate by default in their accounts. Later we will begin to assess which features, such as API authentication, would benefit the most from SSL and make them only enabled when SSL is there.

\n

Separately, I also think the performance improvements in PHP7 are particularly impressive, and major kudos to everyone who worked on that. We will consider whether hosts use PHP7 by default for new accounts next year as well.

\n

 

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4588\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"WordPress 4.7 Release Candidate\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"https://wordpress.org/news/2016/11/wordpress-4-7-release-candidate/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 24 Nov 2016 04:26:23 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4579\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:328:\"The release candidate for WordPress 4.7 is now available. RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.7 on Tuesday, December 6, but we need your help to get there. If you haven’t tested 4.7 yet, […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:4331:\"

The release candidate for WordPress 4.7 is now available.

\n

RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.7 on Tuesday, December 6, but we need your help to get there. If you haven’t tested 4.7 yet, now is the time! To test WordPress 4.7, you can use the WordPress Beta Tester plugin or you can download the release candidate here (zip).

\n

WordPress 4.7 is a jam-packed release, with a number of features focused on getting a theme set up for the first time. Highlights include a new default theme, video headers, custom CSS, customizer edit shortcuts, PDF thumbnail previews, user admin languages, REST API content endpoints, post type templates, and more.

\n

We’ve made quite a few refinements since releasing Beta 4 a week ago, including usability and accessibility enhancements for video headers, media and page template support in starter content, and polishing of how custom CSS can be migrated to and extended by plugins and themes. The REST API endpoints saw a number of bugfixes and notably now have anonymous comment off by default.

\n

Not sure where to start with testing? Try setting up a fresh site on a new installation with Twenty Seventeen (hint: head into customizing your site before touching any pages or widgets) and taking notes on what you enjoyed and what got you stuck. For more details about what’s new in version 4.7, check out the Beta 1Beta 2, Beta 3, and Beta 4 blog posts.

\n

Think you’ve found a bug? Please post to the Alpha/Beta support forum. If any known issues come up, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 4.7 and update your plugin’s Tested up to version in the readme to 4.7. If you find compatibility problems please be sure to post to the support forums so we can figure those out before the final release – we work hard to avoid breaking things. An in-depth field guide to developer-focused changes is coming soon on the core development blog.

\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages! And if you haven’t yet done so, now is a great time to take the Annual WordPress Survey and send it on to your friends.

\n

Happy testing! And now for another Rami Abraham haiku break.

\n

Select your language
\nThen let your users choose theirs
\nget_user_locale()

\n

Theme authors rejoice
\nAny option may employ
\nSelective refresh

\n

Custom header video
\nMake sure to add_theme_support
\nBling above the fold

\n

A new template dawns
\nA hierarchy member
\nPost-type templates live

\n

PDF updates
\nPack a parade of polish
\nPrettier previews

\n

Template Post Type: New
\nTemplate Post Type: And Useful
\nTemplate Post Type: Thing

\n

Let lists live lively
\nLaud wp_list_sort()
\nLess laconic lists

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4579\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 4\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/11/wordpress-4-7-beta-4/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 16 Nov 2016 01:51:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4576\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 4 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2019:\"

WordPress 4.7 Beta 4 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

For more information on what’s new in 4.7, check out the Beta 1, Beta 2, and Beta 3 blog posts, along with in-depth developer guides on make/core. We’ve made about 60 changes in the last few days for beta 4, including tweaks to Twenty Seventeen, custom CSS, and the REST API content endpoints.

\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

We are almost there
\nPlease test your plugins and themes
\nRC coming soon
\n

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4576\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:33:\"\n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"WordCamp US 2017-2018 in Nashville\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"https://wordpress.org/news/2016/11/wordcamp-us-2017-2018-in-nashville/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 15 Nov 2016 23:24:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"WordCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4571\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:330:\"The title says it all. We had some great applications for cities to host WordCamp US after we finish up in Philadelphia this year, and the city chosen for 2017-2018 is Nashville, Tennessee. Based on the other great applications we got I’m also excited about the pipeline of communities that could host it in future […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1022:\"

\n

The title says it all. We had some great applications for cities to host WordCamp US after we finish up in Philadelphia this year, and the city chosen for 2017-2018 is Nashville, Tennessee.

\n

Based on the other great applications we got I’m also excited about the pipeline of communities that could host it in future years as WordCamp US travels across the United States and gives us an opportunity to learn and love a new city, as we have with Philadelphia.

\n

By the way, if you haven’t yet, now is a great time to take the Annual WordPress Survey and ask your friends to as well.

\n

Photo Credit.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4571\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 3\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/11/wordpress-4-7-beta-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 11 Nov 2016 03:30:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4566\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 3 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:3120:\"

WordPress 4.7 Beta 3 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

For more information on what’s new in 4.7, check out the Beta 1 and Beta 2 blog posts, along with in-depth field guides on make/core. Some of the changes in Beta 3 include:

\n
    \n
  • REST API: The unfiltered_html capability is now respected and rest_base has been added to response objects of wp/v2/taxonomies and wp/v2/types, while get_allowed_query_vars() and the rest_get_post filter have been removed.
  • \n
  • Roles/Capabilities: Added meta-caps for comment, term, and user meta, which are currently only used in the REST API.
  • \n
  • I18N: Added the ability to change user’s locale back to site’s locale. (#38632)
  • \n
  • Custom CSS: Renamed the unfiltered_css meta capability to edit_css and added revisions support to the custom_css post type.
  • \n
  • Edit shortcuts: Theme authors should take a look at the developer guide to the customizer preview’s visible edit shortcuts and update their themes to take advantage of them if not already implementing selective refresh.
  • \n
  • Various bug fixes: We’ve made over 50 changes in the last week.
  • \n
\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

Building the future
\nA global community
\nStronger together

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4566\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/11/wordpress-4-7-beta-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 04 Nov 2016 17:39:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4552\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 2 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:4240:\"

WordPress 4.7 Beta 2 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

Notable changes since WordPress 4.7 Beta 1:

\n\n

For more of what’s new in version 4.7, check out the Beta 1 blog post.

\n

If you want a more in-depth view of what major changes have made it into 4.7, check out posts tagged with 4.7 on the main development blog, or look at a list of everything that’s changed. There will be more developer notes to come, so keep an eye out for those as well.

\n

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

Happy testing!

\n

Ya es la hora
\n Time for another beta
\n请您帮下忙!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4552\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:39:\"\n \n \n \n \n \n \n \n\n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.7 Beta 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2016/10/wordpress-4-7-beta-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 28 Oct 2016 04:30:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:3:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"4.7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4535\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.7 Beta 1 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:6895:\"

WordPress 4.7 Beta 1 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

WordPress 4.7 is slated for release on December 6, but we need your help to get there. We’ve been working on a lot of things, many of them to make getting your site set up the way you want it much easier. Here are some of the bigger items to test and help us find as many bugs as possible in the coming weeks:

\n
    \n
  • Twenty Seventeen – A brand new default theme brings your site to life with immersive featured images, video headers, and subtle animations. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
  • \n
  • Video Headers – Sometimes a big atmospheric video as a moving header image is just what you need to showcase your wares; go ahead and try it out with Twenty Seventeen. Need some video inspiration? Try searching for sites with video headers available for download and use.
  • \n
  • Set up your site in one flow – From finding and installing themes right inside the customizer, to automatically staged theme-specific starter content, to clickable shortcuts that jump directly to editing an item from the preview pane, to adding pages while you’re building a nav menu or setting a static front page: getting a new site spun up and ready to share with a friend or a coworker is faster and easier than it’s ever been. Note: starter content appears when live previewing brand new sites and is currently only available in Twenty Seventeen. We’ll be expanding this to other bundled themes very soon, and perhaps to sites with existing content in future releases of WordPress.
  • \n
  • Custom CSS with live previews – Ever needed to hide or tweak the look of something in your theme or from a plugin? Now you can do it with CSS and live preview the results while customizing your site. CSS can be a powerful tool; you may find that you won’t need the theme editor or child themes anymore.
  • \n
  • User admin languages – Just because your site is in one language doesn’t mean that everybody helping manage it prefers that language for their admin. To try this out, you’ll need to have more than one language installed, which will make a user language option available in your profile.
  • \n
  • PDF thumbnail previews – Uploading PDFs will now generate thumbnail images so you can more easily distinguish between all your documents.
  • \n
\n

As always, there have been exciting changes for developers to explore as well, such as:

\n
    \n
  • REST API content endpoints – If you only test one thing as a developer, please test these. This phase is particularly helpful for people building plugins, themes, and in-admin interfaces. Can you build the things you need? Are these ready for release, and is the world ready for them? (#38373)
  • \n
  • WP_Hook – The code that lies beneath actions and filters has been overhauled. You likely aren’t affected, but if you’ve done things to the $wp_filter global or experienced funky recursion bugs in the past, please take a moment to read the dev note and test your code.
  • \n
  • Custom bulk actions – List tables, now with more than bulk edit and delete.
  • \n
  • Expanded Settings Registration API via register_setting().
  • \n
  • For theme developers: Post type templates (#18375)
  • \n
  • More goodies for theme developers!
  • \n
  • Locale switching (#26511)
  • \n
  • Comment allowed checks have the potential for a back-compat break.
  • \n
\n

If you want a more in-depth view of what major changes have made it into 4.7, check out posts tagged with 4.7 on the main development blog, or look at a list of everything that’s changed. There will be more developer notes to come, so keep an eye out for those as well.

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

\n

Happy testing, and please enjoy this extended haiku break, courtesy of Rami Abraham.

\n

Exquisite endpoints
\nExtol epic exabytes
\nEnabling earthlings

\n

Careful interfaces
\nConsiderately conjured
\nCustomizer chic

\n

Ring in the new year
\nWith elegance and balance
\nTwenty Seventeen

\n

Hooks hook healthily
\n17817
\nSane iterations

\n

Admin in your tongue
\nOne site, many languages
\nWe all speak WordPress

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"4535\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:32:\"https://wordpress.org/news/feed/\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:44:\"http://purl.org/rss/1.0/modules/syndication/\";a:2:{s:12:\"updatePeriod\";a:1:{i:0;a:5:{s:4:\"data\";s:6:\"hourly\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:15:\"updateFrequency\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:4:\"site\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"14607090\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:42:\"Requests_Utility_CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:9:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Thu, 09 Feb 2017 07:19:32 GMT\";s:12:\"content-type\";s:34:\"application/rss+xml; charset=UTF-8\";s:25:\"strict-transport-security\";s:11:\"max-age=360\";s:6:\"x-olaf\";s:3:\"⛄\";s:13:\"last-modified\";s:29:\"Wed, 01 Feb 2017 15:58:56 GMT\";s:4:\"link\";s:63:\"; rel=\"https://api.w.org/\"\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";}}s:5:\"build\";s:14:\"20170126183219\";}','no'), - (215,'_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca','1486667973','no'), - (216,'_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca','1486624773','no'), - (217,'_transient_timeout_feed_d117b5738fbd35bd8c0391cda1f2b5d9','1486667974','no'), - (218,'_transient_feed_d117b5738fbd35bd8c0391cda1f2b5d9','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:61:\"\n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"WordPress Planet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"en\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"WordPress Planet - http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:50:{i:0;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"WPTavern: OSTraining Partners with GoDaddy to Launch Free WordPress Beginner Course on YouTube\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65805\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"https://wptavern.com/ostraining-partners-with-godaddy-to-launch-free-wordpress-beginner-course-on-youtube\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4409:\"

\n

OSTraining has launched a free 40-video WordPress Beginner course on YouTube, thanks to a sponsorship from GoDaddy. The open source software education site has created more than 3,000 videos for PHP platforms like WordPress, Joomla, Magento, and Drupal. This particular course, which has all new information for WordPress 4.7, was inspired by the company’s success in launching a free Drupal 8 course in 2016.

\n

“The original idea was a happy accident,” CEO Steve Burge said. “We did a Kickstarter project based around the launch of Drupal 8. That involved about 200 free videos, spread over several classes. The main class was ‘The Drupal 8 Beginner class’ and it went viral, getting over 1 million views in a year.”

\n

The Kickstarter campaign raised more than $12K towards its $10K funding goal. It was the first time OSTraining produced a free course. Once the videos were released, Burge and his team were amazed by how popular the course became.

\n

“It led us to re-think our business approach,” Burge said. “Rather than putting everything behind a paywall, we realized the power of giving away our best beginner material. From a business perspective, that made sense so long as we could find a sponsor.”

\n

OSTraining worked with Topher DeRosia to film the WordPress Beginner course after securing a sponsorship from GoDaddy. Although the company has done multiple versions of its beginner class over the years, with updates for changes in each release, WordPress 4.7 presents a new opportunity for content longevity.

\n

“We hope that by targeting 4.7 this class will last longer than most, because the new release cycle means a new version won’t be here in a couple of months,” Burge said.

\n

In addition to beginner topics like how to install WordPress, write posts, and use the media library, the course also includes information on getting started with WordPress plugins like NinjaForms and Jetpack. The last few videos cover more advanced topics like security, spam, staging, and performance.

\n

Although the official WordPress YouTube channel doesn’t have much educational content for beginners, the WordPress community in general is gaining a stronger presence on YouTube. Searching for “WordPress” turns up more than five million videos in many different languages. Educational topics like “How to make a WordPress website” and other tutorials are the most popular.

\n

WordPress businesses are also starting to see the value of having a solid presence on YouTube. Last year Automattic started beefing up its channel with a steady stream of new videos, including ads and tutorials for WordPress.com. Other large WordPress companies like iThemes, WPBeginner, and Yoast are publishing hundreds of free videos to YouTube, generating millions of views and thousands of subscribers.

\n

After finding success on YouTube with the free Drupal 8 videos, OSTraining has also launched a free Magento 2 course and has a free Joomla course on the way.

\n

“Getting more than 1 million views of the Drupal class really opened our eyes,” Burge said. “It’s almost like the difference between free, open source software and expensive, closed source software. You can reach so many more people by giving it away free.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 05:48:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"Dougal Campbell: Good Breakdown of Recent WordPress Vulnerability\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"http://dougal.gunters.org/?p=81297\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:91:\"http://dougal.gunters.org/blog/2017/02/08/good-breakdown-of-recent-wordpress-vulnerability/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2977:\"
\"\"

The Sucuri Blog has a good dissection of the recent critical WordPress REST API vulnerability. I won’t rehash the details here, but I did want to point out that this is why developers should remember to follow these two rules of defensive programming:

\n
    \n
  1. Sanitize inputs as early as possible
  2. \n
  3. Sanitize outputs as late as possible
  4. \n
\n

In this case, there was a failure to follow the first rule. There are a couple of different places where this could have been handled better.

\n

For one, unless there is a good reason to allow GET or POST variables to override a URL placeholder parameter, then that should be handled appropriately. If there is a reason for it, then those values should be forced to comply with the regular expression or data type that is expected.

\n

The other failure, beyond simple sanitizing, is that the logic of the update_item_permission_check() method simply didn’t properly account for the failure to retrieve a valid result from get_post(). This function will return post data either as an object or an array (depending on parameters), or null upon failure. The logic of the first conditional was looking for a valid post and invalid permissions on the post as an error condition:

\n
if ( $post && ! $this->check_update_permission( $post ) ) {\n    return new WP_Error( \'rest_cannot_edit\', \n        __( \'Sorry, you are not allowed to edit this post.\' ), \n        array( \'status\' => rest_authorization_required_code() ) );\n}
\n

Instead, it should have reversed the valid post logic, and looked for not a valid post, or invalid permissions:

\n
if ( ! $post || ! $this->check_update_permission( $post ) ) {\n    return new WP_Error( \'rest_cannot_edit\', \n        __( \'Sorry, you are not allowed to edit this post.\' ), \n        array( \'status\' => rest_authorization_required_code() ) );\n}
\n

And for good measure, it should probably check whether the return value was an instance of WP_Error, for future-proofing. This small change would have detected an invalid post ID, and still performed a valid permissions check for existing posts.

\n

Okay boys and girls, let’s say it all together now… “Security is hard.”

\n

 

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 01:46:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Dougal Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"WPTavern: WPWeekly Episode 262 – Interview With Morten Rand-Hendriksen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65818&preview=true&preview_id=65818\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/wpweekly-episode-262-interview-with-morten-rand-hendriksen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2668:\"

On this episode, Marcus Couch and I are joined by Morten Rand-Hendriksen to discuss his WordPress Telemetry proposal. We discuss the potential benefits of having an opt-in usage data collection system that could help core developers and others make informed decisions. Rand-Hendriksen also shares what he’s learned from teaching WordPress at Lynda.com, on how difficult it is for new users to grasp WordPress.

\n

Stories Discussed:

\n

BlogVault Security Breach Infects Customers’ Sites With Malware
\nWordPress REST API Vulnerability is Being Actively Exploited, Hundreds of Thousands of Sites Defaced
\nWP Super Cache 1.4.9 Patches Multiple XSS Vulnerabilities

\n

Plugins Picked By Marcus:

\n

Content Locker is a tool that allows you to configure content to be behind a paywall. Visitors can pay for content by liking, sharing, or registering an account.

\n

WP Jump allows you to bookmark your site in the admin bar. This plugin is useful if you have several, local or online, WordPress installations.

\n

Sidebar Content Clone is a handy solution for easily duplicating or cloning all widgets from one sidebar to another sidebar. It can also clear all widgets from a sidebar with a single click.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, February 15th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #262:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 01:03:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: WP Super Cache 1.4.9 Patches Multiple XSS Vulnerabilities\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65664\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://wptavern.com/wp-super-cache-1-4-9-patches-multiple-xss-vulnerabilities\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2318:\"

WP Super Cache is a nearly 10-year-old plugin that is maintained by Donncha Ó Caoimh and is actively installed on more than a million sites. Releases have been far and few between, but Ó Caoimh has released WP Super Cache 1.4.9 that patches cross-site-scripting vulnerabilities on the settings page.

\n

“Those pages are only accessible by admin users so an anonymous visitor to your site can’t come along and enable it to steal your login cookies but along with those fixes come many bug fixes so it’s worth upgrading if you’re using an old version,” Ó Caoimh said.

\n

In addition to patching security vulnerabilities, this release also contains a number of bug fixes. There’s also a fix in this version for those who host a lot of sites that use WP Super Cache and are running into issues with semaphores due to the possibility of users using file locking.

\n

If you’re running into this issue and need to disable file locking completely, Ó Caoimh suggests setting the WPSC_DISABLE_LOCKING constant in a global config file. “The file locking simply slowed down how fast cache files were created and is a hold-over from WP Cache when that plugin used to write directly to the cache files,” Ó Caoimh said.

\n

“This plugin writes to temporary files before moving to the final cache files so that locking isn’t really needed, but some sites still use it which is why it’s still around.”

\n

Ó Caoimh is already hard at work on the next version of WP Super Cache with an effort towards moving legacy cache files into supercache directories. This will improve performance and make the files easier to maintain.

\n

Users are encouraged to update to 1.4.9 as soon as possible. To see a detailed list of changes and bug fixes, visit the plugin’s changelog.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 08 Feb 2017 04:26:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"WPTavern: WordPress for Android Closes Google+ Community for Beta Testers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65699\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"https://wptavern.com/wordpress-for-android-closes-google-community-for-beta-testers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2616:\"

The WordPress mobile app for Android is shutting down its beta testing community that was hosted on Google+ for the past three years. The mobile team switched to a completely open beta last year, enabling them to recruit 1,500 new testers.

\n

The Google+ community, which currently has 1,152 members, has been the main channel for communication to and from the app’s developers. It was previously used to announce new beta versions and users posted regularly to confirm bugs, leave feedback on their experiences, and ask questions about upcoming features.

\n

“We kept this Google+ Community opened since then but it became a place for spammers,” Automattic mobile engineer Maxime Biais said. “We decided to close it.”

\n

Beta testers who want to continue participating are encouraged to use the open source project’s issue tracker on GitHub. Testers can also join the #mobile channel on WordPress Slack. Any testers who want to lave the beta can visit the app’s testing page and tap “Leave the Test,” followed by uninstalling and then re-installing the app from the Play Store to get the official stable version.

\n

Despite having a healthy troop of beta testers, the open source app rarely receives any contributions from developers outside of Automattic. Recent releases have included an expansion of Automattic’s monetization path with a link for users to manage and upgrade their WordPress.com plans. This has added fuel to the friction between the needs of self-hosted sites and the presence of WordPress.com features.

\n

Community members who have voiced complaints about the current features and goals of the app are welcome to participate in its development on GitHub. Beta testing is still open to all and new testers can opt in on the Google Play Store testing page. The Google+ Community will close on March 6, 2017, but questions and feedback are welcome in the #mobile Slack channel where the app’s developers are frequently available.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 08 Feb 2017 03:22:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"WPTavern: Google Updates AMP to Allow Sharing of Canonical URL\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65660\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"https://wptavern.com/google-updates-amp-to-allow-sharing-of-canonical-url\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4925:\"RC Cipriano\n

One of the main drawbacks of Google AMP has been brand confusion when viewing and sharing articles. Google launched the AMP project to speed up the mobile web, but in exchange publishers have had to give up control of how their AMP’d content appears. One of the most irksome aspects of interacting with AMP pages is the convoluted URL structure, which causes users to be hesitant to share the content.

\n

AMP appends google.com/amp/ to the beginning of the URL when copying the link, opening it in a browser, or sharing an article. Visitors who want to find the canonical URL have to return to Google to search for it. To the casual observer, it appears the visitor has landed on and is attempting to share a Google story.

\n

After nearly a year, Google is finally looking to remedy this sharing problem with an update to the AMP Viewer header. In a post on the Google Developers blog, the company officially recognized this problem and announced a change that will allow visitors to share the canonical URL:

\n

Many users have requested a way to access, copy, and share the canonical URL of a document. Today, we’re adding support for this functionality in form of an anchor button in the AMP Viewer header on Google Search. This feature allows users to use their browser’s native share functionality by long-tapping on the link that is displayed.\n

\nphoto credit: Google\n

The updated header with the anchor button is already available on the iOS Google app and will be coming to the Android app within a few weeks. Google is also working on using the Web Share API to let visitors use the platform’s native sharing flow with the original URL instead of the AMP viewer URL.

\n

“A thriving ecosystem is very important to us and attribution, user trust, and ownership are important pieces of this ecosystem,” Alex Fischer, Google software engineer, said.

\n

The ability to share the canonical URL is good news for existing AMP users but is probably not enough to convince skeptical publishers to start AMPing up their pages. Burying the publisher’s canonical link is just one of many reasons there has been such strong push back against the AMP project.

\n

Kyle Schreiber, whose post on the problems with AMP inspired discussions on Hacker News and Reddit, believes that “AMP is bad for the open web and should be changed or eliminated.”

\n

Schreiber contends that Google has designed AMP to keep the visitor within its own ecosystem. Publishers get locked in when access to Google’s news carousel is reserved for AMP’d sites only.

\n

“Clicking on an AMP link feels like you never even leave the search page, and links to AMP content are displayed prominently in Google’s news carousel,” Schreiber said.

\n

Last year the Wall Street Journal spoke with publishers who were critical with AMP but reluctant to speak publicly for fear of Google’s retaliation. Their AMP pages were generating around half as much revenue as pageviews on their full mobile sites due to Google’s limitations on the type of ad units available for AMP pages. Google’s response was that the company aims to drive more revenue to non-AMP pages but isn’t quite there yet.

\n

At the end of February the AMP project experiment will have been publicly launched for a year but many smaller publishers are still hesitant to get on board. They are concerned that AMP oversteps its reach without delivering enough value in return. The strategy of taking an absurd amount of control over publishers’ content and then slowly doling it back out (as with the new button for sharing the canonical URL) demonstrates how easily Google has established itself as the de facto arbiter of the mobile web. If publishers continue to yield control of their mobile content, Google will have every incentive to make AMP support the next official ranking signal.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 07 Feb 2017 18:58:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"HeroPress: Hitting Rock Bottom\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1592\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://heropress.com/essays/hitting-rock-bottom/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5441:\"\"Pull

I’d never been to The Capital Grille. I’d been to nice steak houses before, but this felt like a big deal. At least it should have. I was too busy freaking out because my wife wasn’t responding to one of my texts. That’s when I knew I hit rock bottom. That mental illness had taken full control. Ruining a $50 steak will make you realize that.

\n

I hit my rock bottom in the middle of WordCamp Orlando 2016. Sitting across from the wonderful Mike Hansen, sharing the best mashed potatoes I’d ever had, I was miserable. Not because Mike was bad company, but because I was so inside my head that I couldn’t control my thoughts. Dark thoughts. Suicidal thoughts. I was a mess, but Mike and the rest of the crew from BlueHost tried to keep me calm and engaged in conversation. I kept apologizing, but they stuck with me. It was pretty obvious I wasn’t okay, and they did their best. That’s what WordPress is. When you hear about “the community,” that’s what we’re really talking about.

\n

The next day, I was originally scheduled to speak, but had already backed out. As an organizer of the event, I felt awful. I know how much of a pain it is to rearrange the schedule last-minute because I’m the one, at least for the past 3 years, has made Orlando’s schedule. But the team rallied around me.

\n

They knew I wasn’t okay, and supported me without me needing to ask.

\n

But then something amazing happened.

\n

In the confusion of rescheduling speakers – caused by Hurricane Matthew, not Hurricane Mental Illness – a replacement speaker for one of our workshops had never actually been notified that he was speaking and didn’t show. Whoops. Even though I’d planned to just lay low in the developer workshop all day, as soon as I got word that a replacement was needed, I grabbed my laptop and headed to the next room. I don’t remember much of what I said, but I gave a talk on themes completely off the top of my head. And then it hit me. I know what I’m doing. I can do this. I’m going to be okay.

\n

Road To Recovery

\n

The next day, I went to see my doctor. I was diagnosed as bipolar. The dragon I’d been fighting for 15 years finally had a name. Two prescriptions later and I was on the road to recovery. I’m still on it, but WordPress is helping drive the engine.

\n

Since WordCamp Orlando, my business has taken off. I’ve started and completed more projects in the past 3 months than I did the entire rest of 2016. And all of that was possible because of the support I received that weekend. When we talk about how wonderful the WordPress community really is, we mean it. It saves lives.

\n

There’s a lot more to my story – coming out as non-binary, a shuttering business partnership to salvage a great friendship – but I don’t want to ramble.

\n

It’s time to pay the support I received forward.

\n

We all need someone to listen. Someone to remind us that it gets better. That we will make it to tomorrow.

\n

If you’re struggling, drop me a line on Twitter or send an email. I’ll be waiting on the other end to lend an ear and a helping hand.

\n

The post Hitting Rock Bottom appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 07 Feb 2017 12:00:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Adam Soucie\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"WPTavern: WordPress REST API Vulnerability is Being Actively Exploited, Hundreds of Thousands of Sites Defaced\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65651\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:120:\"https://wptavern.com/wordpress-rest-api-vulnerability-is-being-actively-exploited-hundreds-of-thousands-of-sites-defaced\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5617:\"photo credit: stevendepolo hypodermic needle IMG_7418(license)\n

At the end of January, WordPress 4.7.2 was released to fix four security issues, three of which were disclosed at the time of the release. These included a SQL injection vulnerability in WP_Query, a cross-site scripting (XSS) vulnerability in the posts list table, and the Press This feature allowing users without permission to assign taxonomy terms. The fourth and most critical issue, an unauthenticated privilege escalation vulnerability in a REST API endpoint, was fixed silently and disclosed a week after the release.

\n

Contributors on the release opted to delay disclosure in order to mitigate the potential for mass exploitation, given that any site running 4.7 or 4.7.1 is at risk. This allowed time for users to update manually and for automatic updates to roll out.

\n

“We believe transparency is in the public’s best interest,” WordPress Core Security Team Lead Aaron Campbell said. “It is our stance that security issues should always be disclosed. In this case, we intentionally delayed disclosing this issue by one week to ensure the safety of millions of additional WordPress sites.”

\n

WordPress worked with Sucuri, the company that discovered the issue, along with other WAF vendors and hosting companies to add protections before the vulnerability was publicly disclosed.

\n

The vulnerability has been public for less than a week and is now being actively exploited. Thousands of WordPress sites have been defaced with messages like “Hacked by NG689Skw” or “Hacked by w4l3XzY3” or similar. Googling for information about these particular hacks returns thousands of other hacked sites in the results.

\n

Sucuri founder and CTO Daniel Cid said his team saw exploits in the wild less than 24 hours after the disclosure. The attacks are primarily simple defacements so far.

\n

“There are some good bad guys updating the post excerpt with the message: ‘Update WordPress or you will be hacked,’ which is kind weird,” Cid said. “But overall we’re seeing just simple defacement attempts, using modified versions of the exploit that was shared publicly.”

\n

Multiple Campaigns Have Defaced Hundreds of Thousands of WordPress Sites

\n

Sucuri is monitoring multiple defacement campaigns, each with varying degrees of success. The company published an update on the active attacks as well as the IP addresses they are originating from.

\n

“We are currently tracking four different hacking (defacement) groups doing mass scans and exploits attempts across the internet,” Cid said. “We see the same IP addresses and defacers hitting almost every one of our honeypots and network.”

\n

One defacement campaign Sucuri is tracking already has more than 68,000 pages indexed on Google. After perusing the WordPress.org forums, the problem seems to have a much larger reach than Sucuri’s network has initially detected. For example, “Hacked by NG689Skw” returns approximately 200K indexed results. “Hacked By SA3D HaCk3D” returns more than 100K results. There are multiple permutations of this defacement in play on WordPress websites across the web. Not all results that share this same campaign structure are guaranteed to be associated with this vulnerability, but the few listed above were recent posts on the WordPress.org forum from users who failed to update to 4.7.2 in time.

\n

\n

“On our end, we are seeing a big growth on exploit attempts, specially for defacement,” Cid said. “But SPAM SEO is slowly growing too.”

\n

Cid said the vulnerability allows attackers to inject content into a post or page by default, but defacement is the easy first step, along with SEO spam. If a site has a plugin like Insert PHP or PHP Code Widget installed, the vulnerability can lead to remote code execution. These two plugins have more than 300K combined active installs and there are others that perform similar functions.

\n

“The core of the issue is people not updating,” Cid said. “Even with auto and simple updates, people still do not update their sites.”

\n

Needless to say, if you haven’t updated to 4.7.2 and your site is running 4.7.0 or 4.7.1, you are at risk for content injection. For most sites that have been defaced, the simplest solution is to update to the latest version of WordPress and rollback the defaced post(s) to a revision.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 07 Feb 2017 00:36:20 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: BlogVault Security Breach Infects Customers’ Sites With Malware\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65658\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"https://wptavern.com/blogvault-security-breach-infects-customers-sites-with-malware\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2120:\"photo credit: Anonymous Account Code(license)\n

BlogVault, a real-time backup and migration service with a WordPress plugin that’s active on more than 20K sites, announced over the weekend that it suffered a security breach that exposed data. Akshat Choudhary, founder of BlogVault, explains that some customer sites were accessed without authorization and were infected with malware.

\n

BlogVault is contacting customers whose sites are affected and removing malware to secure the data. According to Choudhary, all backups generated by BlogVault are safe. FTP, login credentials, and payment related data is safe. The service doesn’t store credit card information as payments are processed through Stripe.

\n

The service has carried out a series of security precautions including, updating the plugin to 1.45, resetting passwords for all customer accounts, and is meticulously analyzing its systems. Customer passwords were encrypted, making them difficult to retrieve.

\n

BlogVault is sharing information about the breach as it becomes available. “We understand that it can be frustrating for you; as it is for us, to not have all the information,” Choudhary said. “We aim to be comprehensive in our response to the issue. Once we have safeguarded our customers’ data, and our investigation is complete we will be able to share more details.”

\n

Customers are encouraged to update the BlogVault plugin to 1.45 as soon as possible and to keep an eye on the service’s security updates page for new information.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 06 Feb 2017 22:04:48 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WPTavern: Content Creation Is About More Than an Editor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65626\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://wptavern.com/content-creation-is-about-more-than-an-editor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:16655:\"Reid Peifer\n

This is a guest post written by Reid Peifer, Partner and Art Director at Modern Tribe. In this post, Peifer shares his experience, opinions, and things to consider as the content creation experience in WordPress is revamped.
\n

\n
\n

Let’s imagine a world where the tools that we have don’t limit us, but instead enable us to create unique, contextual, and thoughtful content. We don’t fight with them, we don’t quibble over line breaks and margins.

\n

We don’t argue about whether or not two images should line up. We’re not limited to bold, italic, underline, and bullet points to express our ideas. We’re not limited to taxonomies for our organization and obtuse relational algorithms to determine complementary content.

\n

This is the reality that we should have. Content management should be more than TinyMCE and meta boxes. While WordPress has continued to grow into a mature platform, the focus on what should be its core mission has taken a second seat.

\n

We (the WordPress community at large) have gotten so excited about making WordPress awesome, we lost sight of our charge – to enable WordPress to make awesome things. To democratize publishing. To get the stories out of people’s heads and hearts and out to the world.

\n

We forgot about content. Without content, WordPress and all its bits and bobs amount to much ado about nothing. While it’s true that WordPress has grown to an almost unimaginable scale, the content it creates today isn’t going to support the needs of tomorrow’s web.

\n

I couldn’t make it to WordCamp US, but I’ll admit that I sat slack-jawed with joy listening to the video calling for a focus on the editor in 2017.

\n

The initial discussions happening on make.wordpress.org and within slack are incredibly encouraging. The community has taken this charge and is moving forward with a passion that reflects the importance of the task at hand.

\n

While I absolutely applaud their effort, and think the conversation thus far has been valuable – it immediately went to the editor itself. What makes a good editor? The discussion is focused on the UI, what format the data should be stored in, should shortcodes be used etc. All good questions, but if we answer them first – we limit the scope of our inquiry.

\n

The first question should be ‘what makes good content’? What is ‘content’? Does content only live on the post or the page? What are its essential elements? How do those elements interact and relate to each other? What’s the life cycle of content? Where and how does it surface throughout the site? Does content behave differently in different scenarios or positions?

\n

If we start with these questions, their answers become our objectives for the UI. The question ‘what makes a good editor’ has a clear answer – one that makes achieving these goals delightful and effortless.

\n

The Need for a More Robust Content Creation Tool Is Not New

\n

Years ago, when ‘magazine layout’ was the new hot thing, we had the privilege of working with some large publications. In our design discovery, we learned how they thought about the presentation of their content, how layouts would change based on the content they were presenting that day.

\n

The rigid templates of the web that we were used to building couldn’t possibly meet the strategy that they had employed for ages in print. The sports, business, and lifestyle sections all needed to be able to leverage different layouts and presentation depending on their immediate needs.

\n

They needed to change day after day. We were going to toss out what we knew about building sites in WordPress. We were going to have to ditch the template hierarchy and start from scratch. The taxonomy term page in the admin wasn’t going to cut it.

\n

Meanwhile, ‘art directed’ or ‘editorial posts’ became a thing. Folks like Jason Santa Maria and Trent Walton were pumping out beautiful, bespoke articles rich in editorial design. I’ve never been more excited about the web’s potential than when I saw those first Jason Santa Maria articles – I’m a sucker for good content design.

\n

At some point shortly thereafter the NY Times published Snowfall, and everyone we talked to needed ‘long form’ (even if they had no idea why or what that could mean). I ran my own experiments trying to recreate that functionality in WordPress – at the time that meant full markup and a reams of custom CSS all cooked into the WYSIWYG. Beautiful output, crappy experience.

\n

These are two really common (and old) examples of how the content needs more than the tool can offer.

\n

We toiled away at these challenges over the years and have solved them for our particular use cases. Every project pushes our own solutions forward. Here’s some of what we learned.

\n

(So we’re all talking in the same terms, below when I reference Content Creation I mean the act of creating a new piece of content. When I reference content management, I mean both the content model, and the organization and presentation of content throughout the site.)

\n

We Should Learn From Modular Development & Atomic Design

\n

We should be applying modular development and atomic design principles to both content creation and content management.

\nAtomic Design Principle as Explained by Brad Frost\n

We’ve adopted a modular and systematic thinking to our coding practices, breaking once monolithic templates into smaller reusable parts. We’ve applied design systems thinking and atomic approaches to our UI/UX and visual design work.

\n

Small pieces come together to create components, which come together to create pages which come together to create full experiences. It’s the LEGO blocks school of design and build. This is a refrain that many of us know well.

\n

Extending That Philosophy to Content Creation and Management

\n

While we’ve embraced this idea of systemic thinking in how we design and the infrastructure of what we build – we haven’t gotten to thinking about how to approach content creation and content management (content strategy) in a similarly modular fashion.

\n

This is primarily because our tools won’t let us apply modular thinking to content creation and management. CMSs, including WordPress, are generally limited to predefined structures and organizational models.

\n

The role of templating in the overall CMS architecture limits the flexibility of our content creators. Today, content strategy occurs before, and then is at the mercy of development. In a better world, our content strategy could use design and development to grow, adapt, and change over time gracefully. Our publishing tools could become the method by which our ongoing content strategy evolves.

\n

Modular Content Creation

\n

Let’s think about the idea of content on the web. Much of what we see on the web today is a logical baby step forward from print. Titles and headlines, paragraphs of copy, images, pull quotes. Those pieces are a 1:1 analog. Because it’s a digital medium, and we’re oh so clever, we’ve included videos, image galleries, those dang carousels, and whatnots as well.

\n

For most of you, those elements are plopped onto a webpage using a WYSIWYG editor. You fight with TinyMCE for supremacy. Perhaps your theme or plugin has dedicated meta boxes for special elements. There may be a slide show or gallery at the top of the page.

\n

When we look at most executions of content on the web, they are in fact less interesting, less engaging, and less beautiful than what our print counterparts have been doing for ages (and I mean literal ages).

\n

We have all of the advantages but fail at creating anything more interesting than a preformatted spew of content. Our insistence that content and presentation need to be separate is an overstep – they are related at their very core. Was there an earth shattering news story yesterday? Too bad, you get the same 400px featured image slot that every other story gets.

\n

I refuse to believe this is the best we can do.

\n

TinyMCE is not the pinnacle of content creation tools.

\n

The platform that can figure out how to make content creation engaging and powerful is the platform that is going to continue to grow. While Calypso is an interesting engineering feat and is a helpful model for future development, it did little to push forward what it actually means to create content within the WordPress framework.

\n

Trying to fight this out in a single WYSIWYG sucks

\n

Our content creation tools should allow us to approach content creation the same way that we think about design. What are the atomic elements of my content strategy? How can I remix, reassemble, and work with those elements to create interesting content?

\n

It must be systemic. All of the elements and components must work as part of an overall structure and strategy to form a coherent whole. Just like our design work, and our development work. Our strategy, design, and development process is focused on identifying and creating patterns.

\n

Throughout the content strategy and design portion of the project, we’re focused on identifying what those patterns are at their very core; how do we break them down into their smallest parts? Then, through design and development, we start putting those pieces together in a way that supports internal objectives and end-user objectives.

\n
    \n
  • Elements – the simplest unit. Strings of text, single images, videos, a form input field or button
  • \n
  • Components or blocks – groupings of elements that form a cohesive unit
  • \n
  • Modules – groupings of complementary components to for a larger whole
  • \n
  • Pages (or posts, or CPTS or whatever) – groupings of modules to form a complete piece of content
  • \n
\n

To push WordPress’ content creation tools forward, we must look at what those elements, components, and modules could be, how they relate to each other. Are they created on the fly, are they opinionated or flexible. Then how do we create them. How do they relate to themes and data sanctity. And on and on.

\n

Modular Content Management (modular content strategy)

\n

While there are enough visual references to start to imagine what a modular content creation tool looks like, modular content management is a bit tougher to visualize so hang with me.

\n

Within modern CMSs we’ve got a couple of tools at our disposal. Tags and categories, coupled with parent / child relationships, are the primary organization structures cooked into WordPress. Of course those can be extended to include any number of taxonomical structures imaginable.

\n

Tools like Post to Posts (P2P) provide and create an interesting peer-to-peer layer allowing you to create 1:1, 1:many, or many:many relationships.

\n

That’s pretty much it. The mechanics of relationships are defined and subject to code. I can assign content into those defined buckets. I have fixed templates that display those buckets in predetermined ways. If I want to vary from that, if I want to create relationships and remix content as a content manager or a content creator, I’m outta luck.

\n

Think about the category term screen within WordPress. What sort of content management tools do you have at your disposal there? What can you do? What can you manage? Not much at all. Look back over the history of WordPress releases – when has that screen changed?

\n

We are not living up to our potential if we stop at a taxonomical organization as the be-all-end-all of content management.

\n

The Loop is one of the central concepts of WordPress content management. While it is incredibly powerful and key to understanding how to think about your content, it’s the beginning, not the end, of content management. We cannot stop at the ‘list’ as the pinnacle of our content strategy.

\n

Needs Change Over Time

\n

We do a lot of work for universities and schools. Each and every one has a category landing page dedicated to current students. Throughout the year, they want to gather and surface all kinds of different elements, pieces of content, and tools for those students.

\n

In WordPress terms, we’ve got pages, blog posts, events, tools, resources, key dates, applications and files, on top of video galleries and who knows what other CPTs your content strategy has formed.

\n

The needs of those students change through the year – welcome materials in the fall, midterm information in the winter, job support and internship programs in the spring. If our university friends were tied to templates where those needs were articulated in code, they’d need to go back under the hood to update their content strategy and approach it at least quarterly.

\n

Relationships Should Be Richer Than Taxonomy Terms

\n

Real content management would enable content creators to package and present the things they’ve made in thoughtful and unique ways–where the relationships and connections have value beyond each individual piece. Together they become a cohesive whole. That’s a content strategy that’s worth a damn. If you can’t do that, your content strategy is really just a thoughtful list of categories and tags.

\n

Our content management tools should enable and empower you to gather your content and present it how you need to. You shouldn’t be limited solely by lists and algorithms. We want our clients to be able to create unique cross-sections of content where they need, not where they happen to have pre-baked templates that allow them do so.

\n

An example to help visualize: Sticking with our college student, imagine the registrar publishes a deadline for financial aid application. The residential life department has updated forms for getting a spot in the dorms.

\n

The student life department publishes a list of events for new students to meet each other. Each piece of content lives in its own silo in disparate places on the university website. Now imagine you’re in the communications department, and you’ve been charged with ensuring that new students get the information they need.

\n

Do you A: manually type excerpts to those pieces of content in a sidebar widget, hardcode some links trying to apply a specific class that makes the links look like buttons but you can’t remember if it’s .btn_round or .btnround or .round_btn_blue_large, and pray it stays in the same place OR B: create a ‘Key Info for New Students’ module by referencing each piece of content dynamically and dragging it at the top of the homepage displacing the out of date commencement gallery that you forgot to take down last spring?

\n

Old school is option A. New School option B (and it’s not the cool old school, it’s the lame frustrating old school).

\n

The Way Forward Is Modular

\n

If you’re new the concept of atomic design, read this piece by Brad Frost first. If you want to see how we solved some of these problems specifically – there’s a couple of WordPress.TV talks where I harp on this stuff here and here.

\n

We’ve got to strive for more than just an updated WYSIWYG editor. We’ve got to aspire to a bigger and broader understanding of what content is and could be. When we’ve got that vision, we’ll be able to build tools to help realize it.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 04 Feb 2017 05:32:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WPTavern: More Than 50% of Web Traffic is Now Encrypted\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65505\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"https://wptavern.com/more-than-50-of-web-traffic-is-now-encrypted\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6155:\"photo credit: Chris Anderson\n

In October 2016 Mozilla Telemetry showed more than 50% of page loads were encrypted with HTTPS. This week Let’s Encrypt is reporting that more than 50% HTTPS page loads is now the norm, a major milestone for HTTPS adoption across the web.

\n
\n

Per @Firefox Telemetry, more than 50% HTTPS page loads is now the norm! pic.twitter.com/7mo8VPrpbq

\n

— Let\'s Encrypt (@letsencrypt) January 30, 2017

\n

\n

Google’s Transparency Report shows similar numbers for HTTPS usage, confirming that secure browsing has become the norm. Google found that HTTPS is less prevalent on mobile devices than desktop but the percentage of pages loaded over HTTPS is steadily on the rise across the board.

\n

\n

The launch of Let’s Encrypt, the new free and open certificate authority, is one of the main factors causing the rapid rise in secure traffic. Thanks to sponsorships and partnerships with hosting companies and services, Let’s Encrypt closed out 2016 with more than 20 million active certificates.

\n

Google’s influence has also been one of the driving factors in HTTPS adoption after the search engine announced in 2014 that it was starting to use HTTPS as a ranking signal. As of 2017, Google Chrome is adding a prominent security warning for HTTP sites.

\n

Throughout 2016 many major publications moved to HTTPS, including the Guardian, Washington Post, Wired, Engadget, Ars Technica, and New York Times, to name a few. Nearly all of them publicly documented the challenges and triumphs of their HTTPS transitions.

\n

In July 2016, security researcher Scott Helme crawled the Alexa Top 1 million sites to measure how security is progressing on the web. In his previous scans, which included August 2015 and February 2016, the top million sites saw a 42% increase in HTTPS adoption. Helme’s July 2016 crawl showed a 46% increase from February 2016.

\n

\n

Despite the overall growth, the number of HTTPS-enabled sites is just 13.75% of Alexa’s top million. However, these are the sites that serve the most traffic: Google, YouTube, Facebook, Amazon, and others. These results are consistent with Electronic Frontier Foundation’s (EFF) reports that HTTPS adoption is growing the fastest with smaller, previously-unencrypted sites.

\n

Let’s Encrypt’s launch has also had a ripple effect on commercial certificate authorities who are now moving to offer domain validated SSL certificates for free in order to promote their other security products. Symantec is now partnering with hosting companies to issue free certificates as part of its Encryption Everywhere program. Comodo also announced a partnership with cPanel in December 2016 to automatically issue SSL certificates at no additional costs to consumers via cPanel’s AutoSSL feature.

\n

Securing half the web’s traffic is a major landmark on the road to a fully encrypted web, but encryption advocates will need to continue educating website owners on the benefits of making the switch to HTTPS. With the necessary infrastructure now in place for anyone to get an auto-renewing SSL certificate for free, Let’s Encrypt director Josh Aas is optimistic about progress on the remaining 50% of the web.

\n

“As exciting as 2016 was for encryption on the Web, 2017 seems set to be an even more incredible year,” Aas said “Much of the infrastructure and many of the plans necessary for a 100 percent encrypted Web really solidified in 2016, and the Web will reap the rewards in 2017. Let’s Encrypt is proud to have been a key part of that.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 03 Feb 2017 23:36:12 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"Donncha: WP Super Cache 1.4.9\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://odd.blog/?p=89500145\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://odd.blog/2017/02/03/wp-super-cache-1-4-9/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5137:\"

There’s a new release of WP Super Cache out and it’s a security release to fix XSS problems in the settings pages. Those pages are only accessible by admin users so an anonymous visitor to your site can’t come along and enable it to steal your login cookies but along with those fixes come many bug fixes so it’s worth upgrading if you’re using an old version.

\n

From the Changelog:

\n
\n
    \n
  • Fixed bug when not running sem_remove after sem_release. See https://github.com/Automattic/wp-super-cache/issues/85
  • \n
  • Fixed a PHP error impacting PHP 7.1.
  • \n
  • Fixed a bug where we cached PUT and DELETE requests. We’re treating them like POST requests now.
  • \n
  • Delete supercache cache files, even when supercache is disabled, because mod_rewrite rules might still be active.
  • \n
  • Updated the settings page, moving things around. #173
  • \n
  • Make file locking less attractive on the settings page and fixed the WPSC_DISABLE_LOCKING constant so it really disables file locking even if the user has enabled it already.
  • \n
  • Added a WPSC_REMOVE_SEMAPHORE constant that must be defined if sem_remove() is to be used as it may cause problems. #174
  • \n
  • Added a “wpsc_delete_related_pages_on_edit” filter that on returning 0 will disable deletion of pages outside of page being edited. #175
  • \n
  • Fixed plugin deleting all cached pages when a site had a static homepage. #175
  • \n
  • Make sure $cache_path has a trailing slash #177
  • \n
  • Remove flush() #127 but also check if headers are empty and flush and get headers again. #179
  • \n
  • Add fix for customizer #161 and don’t cache PUT AND DELETE requests #178
  • \n
  • Check for superglobals before using them. #131
  • \n
\n
\n

You can click through to each of the Github pull requests above to see discussion around each bug fix.

\n

If you’re hosting many sites that use WP Super Cache and you’re seeing issues with semaphores it may mean that your users are using file locking. It’s really not needed and in #174 there’s a fix that went into this release. You can disable file locking completely by setting the constant “WPSC_DISABLE_LOCKING” in a global configuration file. The file locking simply slowed down how fast cache files were created and is a hold-over from WP Cache when that plugin used to write directly to the cache files. This plugin writes to temporary files before moving to the final cache files so that locking isn’t really needed, but some sites still use it which is why it’s still around.

\n

I’ve already been working on the next release with efforts to move the legacy cache files into the supercache directories. This will make it easier to maintain them and improve performance. We really need to find a better name for this caching method however. It caches everything – page contents and http headers so it’s quite useful!
\nIf you’re going to test that PR, try #176 too. The plugin only deletes index.html type files right now but this chunk of code cleans up various for loops in the plugin and also deletes any file in the named directory. There are some restrictions on it so it won’t delete anything outside the cache directory.

\n

Thanks to everyone who contributed to this release!

\n\n

Related Posts

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 03 Feb 2017 17:46:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Donncha\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"WPTavern: WP-CLI 1.1.0 Released, Project Shifts to Expand Package Index\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65553\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:81:\"https://wptavern.com/wp-cli-1-1-0-released-project-shifts-to-expand-package-index\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2920:\"

\n

WP-CLI 1.1.0 is now available, two months after 1.0.0 was released. The project shifted after 1.0.0 to focus on its package ecosystem, encouraging new features to be built as standalone packages instead of rolling them all into WP-CLI core. Daniel Bachhuber, the project’s maintainer, moved WP-CLI in this new direction to better distribute the maintenance burden among package maintainers.

\n

Version 1.1.0 includes 23 command improvements, 8 framework enhancements, and dozens of bug fixes. The release had a 16% increase in the number of contributors from 1.0.0. It is the first major release since the project was brought under the umbrella of WordPress.org at the beginning of 2017.

\n

\n

The process of migrating the wp-cli.org website to wordpress.org will take a couple of months, but the website documentation has already found a new home at make.wordpress.org/cli/handbook/. Contributors can edit documentation by clicking on the button at the top of any page, which links to the handbook’s GitHub repository.

\n

WP-CLI to Expand Package Index

\n

As part of the new focus on the WP-CLI package ecosystem, Bachhuber has created a GitHub repository for logging ideas for new packages. The best ideas will be maintained as canonical community packages.

\n

“The end goal for the WP-CLI package index is to be a directory of well-maintained, canonical features,” Bachhuber said. “Packages will be considered community projects shepherded by one or more maintainers, instead of the domain of a specific author.”

\n

Bachhuber is looking to hire someone to assist in maintaining the project in a part-time capacity for 5-10 hours per week. This person will work on supporting package maintainers and vetting ideas for new packages.

\n

The next release cycle will focus on splitting internal commands into separate packages with the goal of having official maintainers for them in the future. Contributors are also planning to create new pages on WordPress.org for the WP-CLI commands directory and internal API docs.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Feb 2017 18:16:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"Post Status: Editing and customization core focus areas — Draft Podcast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=33385\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"https://poststatus.com/editing-customization-core-focus-areas-draft-podcast/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2164:\"

Welcome to the Post Status Draft podcast, which you can find on iTunes, Google Play, Stitcher, and via RSS for your favorite podcatcher. Post Status Draft is hosted by Joe Hoyle — the CTO of Human Made — and Brian Krogsgard.

\n

In this episode, Joe and Brian talk about two of the three WordPress core focus areas — the customizer and the editor. There has been some news lately with initial ideas and mockups for each project, and we discuss the importance of these features, as well as what’s happening with these projects so far.

\n\nhttps://audio.simplecast.com/59336.mp3\n

Direct Download

\n

Links

\n\n

Sponsor: Pippin’s Plugins

\n

This episode is sponsored by Pippin’s Plugins. Pippin’s Plugins creates a suite of plugins that work great alone, or together. Whether you need to restrict content, sell downloads, or start an affiliate program, they’ve got you covered. For more information, check out their website and thank you to Pippin’s Plugins for being a Post Status partner.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Feb 2017 17:49:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Katie Richards\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"WPTavern: WPWeekly Episode 261 – WordPress for Schools With Cameron Barrett\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65559&preview=true&preview_id=65559\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"https://wptavern.com/wpweekly-episode-261-wordpress-for-schools-with-cameron-barrett\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2598:\"

In this episode, Marcus Couch and I are joined by Cameron Barrett, founder of SchoolPresser, LLC. Barrett explains how he negotiated and helped migrate Newark New Jersey’s public school system from a proprietary CMS to WordPress. He shares the pitfalls he experienced and the amount of money the district is saving since making the switch. Barrett also provides tips and suggestions on how to sell WordPress as a solution to school districts.

\n

We didn’t dive as deep as we wanted to on the topic but if you’d like to learn more, please watch the presentation he did at WordCamp US. In it, he provides more details of the migration, financials, and there’s a great question and answer session at the end.

\n

Stories Discussed:

\n

WordPress 4.7.2 Security Release

\n

Plugins Picked By Marcus:

\n

Birthday Mail BP is an automated function for BuddyPress that sends birthday emails to members on their birthday. It’s a great way to express birthday wishes or to present a coupon or discount code to members.

\n

WC Document Preview adds a document preview feature to WooCommerce similar to how Amazon allows you to preview books. This is handy for ebooks and digital products that lend themselves to previews.

\n

TM Style Switcher allows you to save a theme’s settings as skins, switch between them, and move skins from one WordPress site to another.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, February 8th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #261:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Feb 2017 00:30:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"HeroPress: The Joy of Being with WordPress Community\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1586\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://heropress.com/essays/joy-wordpress-community/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:11955:\"\"Pull

When my friend Mahangu first recommended me to Topher to write an essay for HeroPress, I could not believe his words. Quite confused I asked Topher, he repeated the same ‘Share your story on HeroPress’. It was unbelievable yet a beautiful sentence that left me stunned with pride.

\n

HeroPress has been a place where I occasionally read the stories of the WordPress heroes. Reading the inspiring stories, I have always found new energy for Work every day. Never thought my story would be worth this platform, I was overwhelmed to receive that message from Topher.

\n

I am NO Hero but just another full stack WordPress developer. More than that, I am a 24 years young web dude from Nepal. Nepal is a small country that lies in the foothills of the immense and sensational Himalayas. Moreover, it is the land of incredible natural beauty, adventure, and ancient wisdom and enlightenment. And this land has always inspired me to take tiny steps of truth towards the mountain-high peak.

\n

I could not agree much with Mahangu and Topher but I decided to share my story on this amazing platform. After all, I am not any exceptional but someone who wants to be a hero like (almost) everyone.

\n

How I started?

\n

Even though I was highly interested to computer from early childhood, I got one of my own only when I was in the 4th grade. As a curious child, I learned about technical aspects of computer from my senior brother and within a year or so on I started fixing the neighbors and friends computer. Since then I had a will to get things “right” as opposed to just getting things “working”. I vividly recall those days when I used to spend hours of my holiday playing Mario. Honestly, that’s still one of my favourite game. \"?\"

\n

Back in those days, computer and internet were limited to few cyber cafes in town. I barely had any idea what they actually meant for except gaming.

\n

I thought they were established for the foreigners as they were mostly visited by the international tourists.

\n

After SLC examination (10th grade in Nepal), we have 3 months long vacation when students take extra classes such as bridge courses to prepare themselves for college. Since I was from the best school and was quite good at study I didn’t go for classes required for joining college. That was the time when I enrolled in a computer institute for hardware classes as I was quite interested to know how machine work. Thereafter, I joined college with Science faculty. The only motive behind joining the hardware class and choosing ‘Science’ was to prepare myself for mechanical engineering.

\n

But I could not do it. Physics, Chemistry barely made any sense to me and therefore started questioning its applicability in my day to day life. As a result, I failed formal education system.

\n

This is how I faced the first and last (till now) “failure” in my life, I dropped down engineering dream right there.

\n

Yet I no more worry, destiny had something other stored for me.

\n

Despite all, I had kept myself engaged with particular computer science, technology and web. I had somehow managed to learn basic HTML, CSS and designing stuff. I had made contacts with a number of people mostly senior to me who worked with programming, blogging. And one of them has a great role in shaping me as a ‘programmer’. Simultaneously, I read a lot of articles, followed people who mastered in programming which all supported my ‘new dream’ to become a ‘Programmer’.

\n

As suggested by a friend of mine, I created my first blog in 2010 using Blogger platform. Later, I came to know that WordPress was a better platform with more possibilities and finally switched to WordPress 3.2 after a recommendation from one of my seniors. To my surprise, it was more wonderful than what I actually heard. I loved WordPress. Thereafter, I started tweaking designs and other aspects. Since then, I haven’t looked back.

\n

My Contributions / Together with WordPress

\n

Above all, the global community of WordPress has been a major inspiration for me. I am always grateful to the community and millions of WordPress lovers for the generous resources. I have also been actively contributing to the WordPress translation.

\n

Greatly benefited by the works of others, I always wanted to give back to the community. The same instinct led me to the person I am today. Literally, volunteering for making WordPress platform for everyone has given me all the honors including this (feature on HeroPress).

\n

In 2014, among various WordPress possibilities, WooCommerce is the one which intrigued me from the very beginning. With the growing eCommerce market, I knew that it was going to be a excellent piece of software in the future because of its incredible features. Using the plugin and analyzing it from the user’s perspective, I made numerous enhancements on WooCommerce.

\n

I introduced Nepali currency symbol in WooCommerce version 2.2.3 which proved to be a milestone in developing eCommerce in my country Nepal. Additionally, I developed a Nepali payment gateway WooCommerce eSewa plugin without any incentive. The best thing about this whole thing is that, I got great help to deal with product platform from amazing folks like Mike Jolley, Claudio Sanches and James Koster. During the period, I learned so much about WooCommerce and coding in general. Since then, I have been reporting several bugs/issues and enhanced the plugin with 200+ pull requests on WooCommerce Github repository. Moreover I have also contributed to Storefront theme.

\n

Since I was already technical bent, I learned about Vagrant for development environment. My first instinct was to use Varying Vagrant vagrants (VVV). But as a developer, I wanted more flexibility over the stack I used. So I started looking for alternative and found PuPHPet. For those who don’t know, PuPHPet is – “a simple Vagrant/Puppet GUI”. In order to make it more robust, I started contributing to this project and have also introduced WP-CLI support.

\n

Afterward, I started automating my development approach. Since there was no good grunt package available to compile PO to MO files, I developed grunt-potomo.

\n

Earning my Living with WordPress

\n

Desperate as I had dropped from college, I was quite doubtful if I would ever get any job. Web development was at its beginning stage (not established as a job), there was little hope but it proved to be an advantage for me. I got an opportunity to work as a web developer in RealTech Computer Institute which is the same institute where I had learnt hardware and programming. I worked on new and innovative eCommerce sites, finished numerous time sensitive projects, trained new developers in utilizing front-end frameworks like BootStrap, Foundation, jQuery etc.

\n

Later in 2015, I joined a growing team of ThemeGrill as Lead Plugin Developer. Together with ThemeGrill team, I have developed several WordPress plugins. To name a few, Social Icons, RestaurantPress, ThemeGrill Demo Importer are free WordPress plugins I have developed which are available in official WP plugin repository. Additionally, I have built several internal automated tools to improve overall customer support. I am also responsible for troubleshooting production issues, assisting WooCommerce, sales and performance monitoring.

\n

WordPress has made my life much easier!

\n

WordPress Community in Pokhara

\n

My hometown Pokhara is 6 to 8 hours of drive from the capital city Kathmandu. I along with few WordPress enthusiast friends used to travel all the way to Kathmandu just to attend WordCamp Kathmandu (formerly WordCamp Nepal). I was fascinated by the awesome presentations by developers and networking opportunities provided there. Within a year or so the number of WordPress lovers grew in Pokhara but we didn’t have any such event there yet.

\n

In love with WordPress, I thought of organizing WordPress people in Pokhara under common umbrella – WordPress Pokhara.

\n

By then, I created a Facebook group with some friends, who were involved in WordPress projects. We organized several WordPress meetups and talk about WordPress. The group has grown from 3-4 members to 1000 members in Facebook right now. Mostly I have seen students and professionals coming together and helping each other in projects. Since I am away from Pokhara, Yam B. chetri and team are involved to organize regular WordPress Pokhara meetups. Thanks to his helpful behaviour, we are rapidly growing.

\n

Wrapping Up

\n

Since I switched to WordPress, I have been working with a motive to program a better solution for users which is surely a challenging task. So I am taking every small step to climb the cliff and still doing homework to reach the right destination.

\n

To be frank, I don’t want to explore how business work and I am not made for it. But I am quite confident on the fact that I am good at understanding public-facing issues to tackle with a right solution.

\n

This is just an ordinary story like yours as I said in the beginning. And I repeat that I am no hero yet my journey may be somehow different from yours.

\n

Just write to me if you have anything to say. ☺

\n

And thanks to HeroPress and WordPress. Let’s keep rising high as Everest! Together!!

\n

The post The Joy of Being with WordPress Community appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 01 Feb 2017 12:00:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Shiva Poudel\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"WPTavern: WordPress Telemetry Proposal Addresses Long-Standing Privacy Concerns as GDPR Compliance Deadline Looms\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64798\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:124:\"https://wptavern.com/wordpress-telemetry-proposal-addresses-long-standing-privacy-concerns-as-gdpr-compliance-deadline-looms\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14494:\"

\n

At the end of October 2016, Morten Rand-Hendriksen created a proposal on WordPress trac for adding telemetry to core, an opt-in feature that would collect anonymized data on how people are using the software. He proposed that the new feature be displayed on first install or update, disabled by default in the admin with a control available under Settings->General. One option he suggests is shipping it as a plugin that auto-installs on opt-in and auto-uninstalls on opt-out. He also identified a few examples of core data that could be tracked, including number of themes and plugins installed, frequency of use of specific views (Settings, Customizer, etc), current version, update status, locale, and language.

\n

“WordPress prides itself on being an application built by the user for the user,” Rand-Hendriksen said. “The problem is with the popularity and reach of WordPress today, the distance between the WordPress 1% (or even .1%) and the average user is becoming so vast we (the people who contribute to WordPress core) know almost nothing about the actual people who use WordPress or how they use the application.”

\n

During the WordPress 4.7 development cycle, Rand-Hendriksen said he was involved in several conversations where participants assumed the use of features without any data to back up their opinions. He contends that WordPress contributors do not have the necessary data to know how users are interacting with the application and its features.

\n

“The general argument was that based on the 80/20 rule, certain features should be added while others should be removed,” Rand-Hendriksen said. “I kept brining up the well known fact we don’t have a clue what features 80%, or even 20%, of WordPress users actually use so any claim of validity in the 80/20 rule is guesswork at best.”

\n

His proposal states that all the data collected should be public for transparency and also made available to end-users in the admin and on WordPress.org.

\n

The idea has had a few months to marinate and has generated some discussion about what a prototype would entail. Core committer Ella Van Dorpe created an experimental wp-data standalone plugin for tracking a few simple interactions with the editor. Participants in the discussion recommended creating an Elasticsearch/Logstash setup for storing the data, technologies that the WordPress.org systems team have deployed before.

\n

“I think a good summary is that there are a lot of hurdles in the way and currently no one has time to work on it,” Greg Brown, a Data Wrangler at Automattic, said in a followup discussion on the ticket three weeks ago. “Ultimately, I think the biggest blocker is getting someone with the time, inclination, and persistence to work on this. Getting it deployed onto .org is the right thing to do eventually, but I suspect it will take quite a while.”

\n

WordPress lead developer Dion Hulse confirmed that WordPress is already tracking many of these stats and that creating a prototype on WordPress.org infrastructure would be the best option forward.

\n

“It would also be valuable to see how our existing stats system can compliment or be replaced by the proposal here though,” Hulse said. “I mention this as most of the stats from the original description are already tracked, just not exposed in any form. The only new thing mentioned here is the Frequency of use of specific views (Settings, Customizer, etc) and transparency part (which would still probably only be anonymized summaries, not exact data).”

\n

WordPress Telemetry Project Provides a Solution to Long-Standing Privacy Concerns

\n

Moving WordPress’ current data tracking into a more transparent opt-in feature would also provide a solution to some long-standing privacy concerns raised by contributors in a six-year-old trac ticket. WordPress tracks the number of blogs and users in a given installation, along with the installation URL in the headers, in order to facilitate update requests that may become problematic, particularly in the case of large multisite installations.

\n

“Even if a user knows that some data needs to be passed for a version check of core, plugins, or themes, the amount of data passed to remote is obviously more than needed to do the version check,” one contributor commented on the ticket. “But users should be made aware upfront so they can freely decide on their own if they want to instead of being forced to support the project with their usage-data. They could be offered an opt-in to do so.”

\n

“The number of registered users I have on my site tied to the URL that is sent with tracking request gives out vital information on how well my business could be doing – information that is mine and mine only,” WordPress plugin developer Danny van Kooten said. “At the very least we could make it very clear that WordPress is tracking this information and what exactly it is doing with it. I really do not think there is any excuse for that.”

\n

Developers can filter the data to satisfy their privacy concerns but it is somewhat inextricable from the update process for larger multisite installations. It’s also too big of a technical hurdle for most regular users who would be better served by a simple UI allowing them to opt out of data collection.

\n

Rand-Hendriksen’s WordPress telemetry proposal gives the project an opportunity to formalize what data is being collected, state the purpose behind it, and allow users to choose if they want to be included.

\n

Europe’s General Data Protection Regulation (GDPR) May Push WordPress Towards More Transparent Data Collection

\n

Progress on both the Telemetry project and the ticket regarding privacy concerns has been slow. Neither seem to be a priority among contributors, but Europe’s General Data Protection Regulation (GDPR) may provide the impetus needed to push WordPress towards more transparent and responsible data collection.

\n

The GDPR is an overhaul of data protection law in Europe with far more stringent requirements than the previous laws. It requires full disclosure for any data collection and standardized privacy notices to help users understand where and how the data is being used. Consent to have data collected must be confirmed and users have the right to access their own data. It also includes the right of erasure or “the right to be forgotten,” which allows users to remove their data from the web. The GDPR goes into effect in May 2018.

\n

Heather Burns, a digital law specialist who consults and speaks extensively on internet laws and policies, encouraged WordPress contributors to frame the discussion regarding privacy concerns in terms of working towards compliance with a specific framework.

\n

“For the purposes of this discussion, core should work to the GDPR standard for two reasons,” Burns said. “The first reason lies in cultural differences. The US does not have a single overarching data protection and privacy regulation, unlike Europe, where we have this data protection regime which applies to all personal data regardless of use, format, or sector. So GDPR gives developers – even those outside the EU – a robust, healthy, and very tough set of standards to follow. Given what we have seen coming out of the White House in the past week, GDPR also provides as good a starting point as any for defensive user protection.

\n

“The second is that GDPR is extraterritorial. It applies to the personal data of anyone in Europe regardless of where the online service is located. If your business is in the US or Australia or Israel but you have European users, you have to protect their data to European GDPR standards.”

\n

Pricewaterhouse Coopers recently surveyed 200 US-based multinational companies with more than 500 employees and found that 77% plan to spend $1 million or more on GDPR compliance. More than half of those surveyed cited GDPR readiness as the highest priority on their data-privacy and security agendas.

\n

The hefty penalties of noncompliance are one of the driving factors behind American companies spending millions of dollars on satisfying the requirements of this new European regulation.

\n

“GDPR is a complete overhaul of its dialup-era (1995) predecessor and one of the areas that has been beefed up is its teeth,” Burns said. “Businesses which are found to be in noncompliance by a European member state’s data protection regulator, whether that is your small app studio all the way up to Automattic, could face penalties of up to 4% of the business’s global annual turnover. Now there’s some solid context for the philosophical discussion.”

\n

However, not everyone is convinced that the GDPR will be beneficial to consumers. Kitty Kolding, CEO and president of Infocore Inc, an international company that specializes in sourcing market data, told ExchangeWire that she believes the GDPR will undermine “the sanctity of consumers’ data privacy and security” and hobble marketing and advertising worldwide.

\n

She contends that provisions like the “right to be forgotten,” which require customer data to be retained beyond the time that it’s in active use, will make that data more susceptible to hacking. Additionally, the enforcement body for the new legislation claims authority over companies, with the right to search and seize records, without any oversight or appeals.

\n

“Every company everywhere that handles data on EU citizens is also automatically subject to this group’s absolute power – though it’s anybody’s guess how the EU believes they can enforce such a broad mandate outside its own borders,” Kolding said.

\n

Currently, only two trac tickets mention the GDPR so it’s not yet clear how WordPress core will respond to the requirements of the new legislation. Burns recommends that WordPress core contributors go through the process of conducting a privacy impact assessment to determine the right way forward.

\n

Regardless of WordPress’ response, companies and organizations that depend on the software will need to assume the responsibility of their own compliance, as these requirements extend far beyond core. The GDPR applies to anything added into a website or app that collects users’ data. For example, many contact form plugins store submissions inside the WordPress database and site owners will want to re-examine how users are notified of this.

\n

“One of the main changes with GDPR is called the accountability principle,” Burns said. “Businesses collecting personal data must be completely transparent and accountable over what data they are collecting, how they are storing it and where, who it is being passed to (such as third parties), who has access to it, and how long it is retained. Users also have the right to request that any data collected about them must be deleted.”

\n

There’s no WordPress plugin that will instantly make a site GDPR compatible. Drupal has a GDPR module that aims to make sure the site follows the guidelines and legislation set by the EU, but it doesn’t cover all requirements. Automating an assessment of privacy impact for a site using a CMS and potentially dozens of third-party extensions is a complex endeavor. This is one regulation that will require business owners to educate themselves and implement privacy practices that put users’ interests first.

\n

With the deadline for compliance closing in, WordPress has an opportunity to re-evaluate how the project handles user privacy and make steps towards greater transparency. If contributors are looking into collecting more data to assist decision-making on features, as outlined in Rand-Hendriksen’s telemetry proposal, this project provides an avenue for working towards GDPR compliance. These privacy concerns are especially important to address when considering WordPress for government, healthcare, educational institutes, and other data sensitive websites.

\n

Burns views the GDPR’s compliance deadline as a fresh opportunity for WordPress to build better privacy structures and legal certainty using the regulation as a healthy baseline for all users.

\n

“Everyone needs to be working in implementations for their own businesses and sites in any case ahead of deadline day, in addition to any changes that need to be made in the WP code,” Burns said. “It’s important to remember that GDPR compliance is not a tick box you can squeeze in next April. This is about your processes, your workflows, and your systems of accountability. Start now.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 01 Feb 2017 00:10:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: Logging Into WooCommerce.com Now Requires a WordPress.com Account\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65488\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:86:\"https://wptavern.com/logging-into-woocommerce-com-now-requires-a-wordpress-com-account\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5935:\"

If you logged into WooCommerce.com over the weekend, you may have noticed a distinct change. In order to sign into the site, users are now required to have a WordPress.com account. The change occurred without warning and surprised those who manage multiple WooCommerce stores for clients.

\nWooCommerce Login Screen Requiring a WP.com Account\n

Brad Griffin, who maintains a number of client sites that run WooCommerce, raised concerns over the change in a post on the Advanced WordPress Facebook group.

\n

“When dealing with businesses, asking someone at a corporate level to take their email address and make a WordPress.com account is a bit problematic,” Griffin said. “They’re confused as to why they need to do this. They don’t have immediate access to that email address on a Saturday or Sunday.”

\n

“So, without warning, without notice, without a heads up or anything else, no one can now access anything in the back-end of the WooCommerce account unless there is a WP.com single sign on account using oAuth.”

\n

For those not interested in signing in with their WordPress.com account, WooCommerce.com attempts to alleviate concerns in an article that outlines the benefits. The benefits include an option to enable 2-Factor Authentication, access to eCommerce services, and viewing purchase history.

\n

After speaking to Todd Wilkens, Head of WooCommerce at Automattic, Griffin published video, explaining the change and offers suggestions for those who manage multiple WooCommerce stores for clients. The suggestions are:

\n
    \n
  • Make 100% sure that you, your client, your store, your account, or anything else has a WordPress.COM account ~ not just WordPress.org!
  • \n
  • Once you’ve used an email and login and you are setup for WordPress.COM (not .org), make absolutely certain that you are using an incognito browser window when logging into WooCommerce.com.
  • \n
\n

Using a private or incognito browser window won’t remember the login as the cookie is not saved. If you don’t use incognito mode and like, comment, or subscribe to items on WordPress.com or any site that uses WordPress.com’s oAuth protocol, those actions will occur under the client’s account. “Many users might not fully realize how far-reaching that one little oAuth endpoint actually is and the vastly significant number of touch-points it can affect,” Griffin said.

\n

Wilkens published a post on the official WooCommerce blog explaining why the login system was switched, “We found that a lot of customers were using two accounts to access services from one company,” he said.

\n

“To simplify that, we are centralizing on the WordPress.com login. Automattic has done this with previous acquisitions, like Polldaddy, for the same reasons. Now you can use only one login to access all Automattic services, including WooCommerce, Jetpack, VaultPress and more.”

\n

So far, the WooCommerce team has tracked more than 10K successful logins to the new system and are monitoring feedback on social media. Only a small subset of users have reported issues due to confusion, “Over half of the 1% of users who opened tickets were confused between having a WordPress.com login vs. the login they use for their self-hosted WordPress install,” Wilkens said.

\n

A Better Way to Manage Multiple Client Accounts Is in the Works

\n

WooCommerce.com joins a growing collection of Automattic services, sites, and products that require a WordPress.com user account. As the number of reasons to have an account increases, perhaps it’s time for Automattic to create a client management system. A system that allows users to assign people who can act on their behalf, similar to a power of attorney.

\n

An example that comes to mind is GoDaddy Pro. GoDaddy Pro allows consultants to access all of their client’s products in one place. They can also manage aspects of their hosting and purchase products on their behalf.

\n

The change to WooCommerce.com has emphasized the unfriendliness of the site’s current system for those who manage multiple client accounts. “We had already re-prioritized a number of features on our roadmap to make life for developers managing dozens of client accounts much smoother, and hope to have something to be able to announce there soon,” Wilkens said.

\n

If you manage multiple client accounts and are affected by this change, Wilkens suggests opening a ticket for advice. You can also provide feedback by voting on a poll at the bottom of the post that asks how your experience was switching to a WordPress.com login.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 31 Jan 2017 20:02:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"WPTavern: Micro.blog Project Surges Past $65K on Kickstarter, Gains Backing from DreamHost\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65437\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:99:\"https://wptavern.com/micro-blog-project-surges-past-65k-on-kickstarter-gains-backing-from-dreamhost\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:9480:\"

\n

With one week remaining on its Kickstarter campaign, the Micro.blog indie microblogging project has surged past its original $10K funding goal with $66,710 pledged by 2,381 backers. This puts project creator Manton Reece closer to his stretch goal of $80K, which would enable him to develop a Safe Replies feature to preemptively combat abuse on the platform and hire a part-time community manager.

\n

Micro.blog also picked up support from DreamHost this week, pushing the project past the $50K mark. The hosting company pledged $5,000 towards the campaign.

\n

“What ever happened to the vision of the open web as a distributed network of websites that were owned by their creators?” said Jonathan LaCour, SVP of Product and Technology at DreamHost. “We’d like to make it as easy as possible to launch a WordPress-powered microblog on DreamHost that integrates well with Manton’s upcoming Micro.blog service.”

\n

DreamHost (and all other hosting companies) obviously have a vested interest in getting people to see the need to have their own digital presence. However, the biggest obstacle for WordPress customers is making it convenient to join the IndieWeb. DreamHost is planning to take its support of Micro.blog one step further and create an easy way for customers to get started with independent microblogs.

\n

“As a followup to our contribution to Manton’s Kickstarter campaign, we’re planning on working on making a streamlined, pre-configured Indie microblog with WordPress at DreamHost,” LaCour said in the #indieweb channel on IRC yesterday. “I tend to agree that a simplified, pre-packaged WordPress setup would go a long way to driving Indieweb adoption.”

\n

When asked whether the company would be utilizing Micro.blog or some other service, LaCour said it has not been decided yet. He said the idea is that people could create an independent microblog hosted at DreamHost that is compatible with Micro.blog and other indie microblogs.

\n

“Our major focus at the moment is getting people excited about owning their own website (and entire digital identity),” LaCour said.

\n

Micro.blog is Aiming for Incremental Webmention Support

\n

Webmention is a protocol similar to pingback for notifying a URL when a website links to it and also for requesting notifications when another site mentions one of your URLs. It is an important part of facilitating decentralized communication across the web. On January 12, 2017, the Social Web Working Group published a W3C Recommendation of Webmention with the specification contributed by the IndieWeb community.

\n

WordPress doesn’t natively offer Webmention support and the core trac ticket for adding the feature has had little discussion.

\n

During a preliminary discussion on Slack last year, WordPress lead developer Dion Hulse said he thought Webmentions would be a great feature plugin and that there are a few people interested in it. There hasn’t been much movement on this front in core, but a Webmention plugin is available in the directory.

\n

Reece is working on incorporating IndieWeb protocols into Micro.blog but said it will likely launch with incremental support for Webmention.

\n

“It might take a little while to get everything IndieWeb in there, but that’s the eventual goal,” Reece said. “I’m committed to Micropub and microformats and still exploring how best to support Webmention. (It might be partial support with more later.)”

\n

Micro.blog doesn’t currently handle mentions and replies using Webmention but Reece said his eventual goal is to include it.

\n

“The first step to me is getting more people their own microblog so that the infrastructure for cross-site replies is even possible,” Reece said.

\n

Micro.blog Puts the Focus on Indie Microblogging, Instead of Replacing Twitter

\n

Reece also launched a Slack community where the project’s backers can discuss Micro.blog and other microblogging topics. He said he initially had reservations with starting something on Slack but was surprised to see the community has already grown to more than 300 members.

\n

“I didn’t want to distract from any posts that should happen in the open on blogs,” Reece said. “Some discussion just fits better in chat, though. There’s an emerging community of indie microbloggers. Having a place to share tips, tools, and ask questions about Micro.blog just makes sense.”

\n

Many of the project’s backers are eager to create a community of their own and are interested in using Micro.blog as a Twitter replacement. Other services have attempted to provide alternatives to posting directly on Twitter but none have caught on enough to significantly push IndieWeb adoption forward. App.net, one of the most promising ad-free, microblogging networks, went into maintenance mode in 2014 and will be shutting down March 15, 2017.

\n

Reece, who was an early fan of App.net, published a thank you note to the service’s creators for trying something risky and creating a community around their ideas. He believes it’s the right time for another open platform to emerge.

\n

“We don’t need just another Twitter or Facebook clone,” Reece said. “We need a new platform that encourages blogging on the open web.”

\n

Nevertheless, Reece is preparing Micro.blog from the outset to be capable of replacing Twitter’s functionality, which is one of the reasons he is focusing so heavily on ensuring the platform doesn’t get overrun with abuse. Reece wants to avoid the pitfalls that have contributed to some of the more negative aspects of Twitter, but his focus is on encouraging people to blog from their own space.

\n

“Micro.blog is a success if more people blog,” Reece said. “To provide value it doesn’t need to replace Twitter, but it can.”

\n

The project’s mobile app is key to making it convenient for users to read other people’s posts and post directly to their own websites from the same interface. Reece shared another preview of the iPhone and iPad app that will be ready at launch and said he hopes there will be other apps developed by the community.

\n

“Most RSS traditional readers can’t post,” Reece said. “I think this makes for a more complete experience, and because it’s just a blog I can still use other apps and platforms to post.” He plans to give Micro.blog a 280 character limit before truncating the post.

\n

Keeping the timeline fast and making posting convenient will be critical to the platform’s success as an alternative to the dominant social media silos. Polling blogs for new content is not very aggressive in the current prototype but Reece is tuning this to provide a better experience. The platform uses rssCloud and WebSub (formerly PubSubHubbub) to provide a more Twitter-like, real-time experience.

\n

Micro.blog seems to be landing at the right time, as the idea has already resonated with more than 2,300 people willing to back the project. The service hasn’t even launched but the concept behind it is already attracting a supportive community eager to explore better ways of powering microblogging on the web.

\n

“You don’t replace Twitter overnight, or even try to,” Reece said. “But step by step, we’re going to end up with a better web, and I think independent microblogging is part of that.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 26 Jan 2017 22:56:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"Dev Blog: WordPress 4.7.2 Security Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4676\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2141:\"

WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7.1 and earlier are affected by three security issues:

\n
    \n
  1. The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. Reported by David Herrera of Alley Interactive.
  2. \n
  3. WP_Query is vulnerable to a SQL injection (SQLi) when passing unsafe data. WordPress core is not directly vulnerable to this issue, but we’ve added hardening to prevent plugins and themes from accidentally causing a vulnerability. Reported by Mo Jangda (batmoo).
  4. \n
  5. A cross-site scripting (XSS) vulnerability was discovered in the posts list table. Reported by Ian Dunn of the WordPress Security Team.
  6. \n
  7. An unauthenticated privilege escalation vulnerability was discovered in a REST API endpoint. Reported by Marc-Alexandre Montpas of Sucuri Security. *
  8. \n
\n

Thank you to the reporters of these issues for practicing responsible disclosure.

\n

Download WordPress 4.7.2 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.2.

\n

Thanks to everyone who contributed to 4.7.2.

\n

* Update: An additional serious vulnerability was fixed in this release and public disclosure was delayed. For more information on this vulnerability, additional mitigation steps taken, and an explanation for why disclosure was delayed, please read Disclosure of Additional Security Fix in WordPress 4.7.2.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 26 Jan 2017 19:34:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"HeroPress: Screw the Blueprint. Design Your Own Path to Fulfillment.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1579\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"https://heropress.com/essays/screw-blueprint-live-life-terms/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:9274:\"\"Pull

Growing up, I bought into society’s notion of what made for a successful and rewarding life. For me, the blueprint for finding fulfillment looked something like this:

\n

Step 1. Get good grades in school.

\n

Step 2. Attend a nice college.

\n

Step 3. Land a secure job with an attractive salary and benefits.

\n

Step 4. Find a nice man that would make a good husband and father…and marry him.

\n

Step 5. Have children.

\n

Step 6. Die peacefully at an old age. (ha!)

\n

I was convinced that if I simply followed this blueprint, I’d find security and acceptance. And with the exception of Step #6 (a step I’m hoping to postpone for some time), I was able to accomplish everything I’d set out to do. My grades in school were outstanding, which set me up to pursue a degree in mechanical engineering at the University of Illinois. After graduating in 2000, I was presented with several job opportunities. Ultimately, I accepted a position at Procter & Gamble as an engineer for Charmin. Within a year of starting that job, I met my future husband. We married in 2004 and had our first child in 2007. Another child followed in 2008. I was right on track with my blueprint!

\n

And then everything fell apart.

\n

A breakdown wasn’t in the plan

\n

In 2008, I suffered my first real breakdown. I spent several weeks doing my best to get through each day, doing what I needed to as an employee, wife, and mom and trying hard not to let other people down. I fought back tears when I needed to, only letting them flow in private. While the kids were sleeping, I’d escape into the world of TV sitcoms. I knew that something wasn’t right.

\n

While I had followed the blueprint for security, success, and happiness, I didn’t feel like I had achieved any of these things. I felt isolated at work. At home, I felt valued only if I were functioning as the perfect wife and mom. At the time, the solution seemed clear—quit my corporate job and focus 100% on my family. This, I was certain, would lead to ultimate happiness. So I took two extended maternity leaves, eventually leaving the corporate world to focus on being a stay-at-home mom.

\n

Who the hell am I?

\n

Being home with kids full-time, no matter how wonderful your kids may be, is by far the most challenging job. While I was grateful that I had the choice to be a stay-at-home-mom, being at home left me feeling alienated. I didn’t really know who I was anymore or how to get back to “myself.”

\n

So I started experimenting with things I simply felt like doing. These things weren’t part of any blueprint, and there was no guarantee of success or happiness. I just followed my heart.

\n

I needed something challenging to occupy my mind, so I dug out my sports card collection with the intent of finally organizing it. Looking through my old cards felt both nostalgic and therapeutic, and my head started spinning with other ideas. Business ideas. My dad had a successful e-bay business that seemed like a bit of fun, so I thought: why not try selling sports cards on e-bay? I didn’t want to sacrifice my personal collection, so over the course of a few months, I purchased nearly a million sports cards on Craigslist. After repackaging them into 1000-count boxes, I sold them for $10/box, doubling my money in a short period of time. I learned a lot about buying and selling on the Internet but more importantly, I felt like I had discovered something that was really “me.” It was challenging in a new and exciting way, and it fit in with my hectic mom schedule.

\n

This venture into the world of online business opened my eyes in a significant way. I started following entrepreneurs such as Gary Vaynerchuk and Chris Brogan, and flew to Houston for a Mom 2.0 Summit. I loved every blog post I read and all the people I was meeting. It was a whole new world filled with risk and uncertainty but grounded in the values of helping people and living a good life. THIS WAS PERFECT FOR ME.

\n

And then came WordPress

\n

In my newfound fascination with all things Internet-related, it wasn’t surprising that I stumbled upon this thing called WordPress. I had always wanted to build a website, and with the popularity of mom bloggers exploding, I naturally gravitated toward this “easy” platform for my blog. I started the ChicagoActons blog as a way to share our family adventures with others. Building the site was something I enjoyed more than I anticipated. It fed my love of problem solving and I felt great satisfaction in seeing something that I built on the Internet. And I could do it in between changing dirty diapers and cuddling with my kids.

\n

After building ChicagoActons and sharing it via social channels, I started to get requests to build sites for others. Some were paid assignments and some were not, but I was falling in love with using this tool and my brain to help others further efforts they were passionate about. I was finding myself again, and I felt happy.

\n

Where were WordCamps all my life?

\n

By 2010, two years into freelance WordPress development, I was ready to expand my horizons and see what others were doing with the platform. I heard about WordCamp Chicago, and bought a ticket to the event that would confirm that the path I was paving was the right one for me.

\n

At WordCamp Chicago 2010, I learned a great deal about developing with WordPress, but even more life changing were the people I met. They were such a diverse group and so different than I was, yet we all shared the same passion: to support one another in our pursuits to help others. And we all used WordPress as the tool to get the job done.

\n

The feeling of acceptance and growth that I experienced at my first WordCamp was the impetus I needed to continue down the path as a WordPress-based business entrepreneur. I wasn’t following a blueprint anymore, but I was finding success and security in ways that mattered to me.

\n

I was happy.

\n

Living my own blueprint

\n

Fast-forward to today. I couldn’t be more thankful for the life journey I’m on. My kids survived having me as a stay-at-home parent, and as a WordPress-based business entrepreneur, I feel challenged every day to be better at helping others build their passion-driven interests. I would not have gotten here had it not been for WordPress and the WordPress community, which emboldened me to abandon a blueprint for happiness that simply wasn’t working for me and instead embrace life on my own terms.

\n

The post Screw the Blueprint. Design Your Own Path to Fulfillment. appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 25 Jan 2017 12:00:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Heather Acton\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: WordCamp Europe 2017 to Experiment with Sponsors Workshops\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65117\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/wordcamp-europe-2017-to-experiment-with-sponsors-workshops\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:12145:\"

\n

WordCamp Europe 2017 opened its call for sponsors at the end of 2016. The organizing team is embracing the challenge of delivering value to sponsors with workshops for those purchasing the two highest sponsorship levels:

\n

This year, for the first time, we are introducing a third track during both conference days. The third track will be solely dedicated to sponsors, giving you the possibility to either hold a talk or a workshop. Like the other two tracks, the sponsor track will have a dedicated space (capacity for approx. 200 people), where the audience would have the opportunity to hear more about your business and product. You can decide whether you would like to use your time to talk more about your business, or to showcase.

\n

The sponsors track has since been renamed to sponsors workshops, but the concept of a dedicated track remains the same. According to WCEU Sponsors Team coordinator Noel Tock, WordCamp Central’s transition into a public benefet corporation affords WordCamps more flexibility than previously allowed.

\n

“This means we’d like to experiment with different concepts — seeking a higher return on investment for sponsors whilst at the same time protecting the core experience of the WordCamp itself,” Tock said.

\n

The new sponsors workshops target large companies, but WCEU organizers have also created a new concept for small businesses. Those that made less than one million Euro in 2016 will qualify for an affordable booth in the middle of the event.

\n

“Similar to TechCrunch’s Startup Alley, we want to help highlight smaller companies or ones that have just started out,” Tock said. “Simply seeking out sponsorship funds the fastest way possible would not be fair to attendees. This helps makes the conversations and experiences a lot more diverse and balanced.”

\n

The sponsors workshops will not need to go through an approval process. They are perks belonging to the Super Admin and Admin sponsorship tiers and these top-level sponsors will have different options for how they want to use their slots.

\n

“They can run user workshops, pass on their slot to smaller players (plugin and theme authors) or find other creative session ideas,” Tock said. “The workshops will be clearly labeled and we’ll seek to provide an agenda/schedule on the same timeline as regular speakers.”

\n

The Challenge of Delivering Value to Sponsors Without Stifling the Spirit of WordCamps

\n

WordCamps are traditionally locally-organized, informal events that bring together attendees from all walks of life. Affordability is one of the hallmarks of a WordCamp, and ticket prices normally range from $20-50. The low cost of entry makes the events more inclusive, keeping the camps from becoming relegated only to elites and those who work for large companies. At a WordCamp, one can meet anyone – core developers, educators, CEOs of multi-million dollar companies, new users, developers, bloggers, and e-commerce store owners.

\n

To give you an idea of how uncommonly low WordCamp ticket prices are in comparison to other tech conferences, DrupalCon ranges from $450-600 per person. PHP UK tickets for the conference days are in the neighborhood of $500 and PHP[World] is nearly double that at $900. CSSconf EU tickets are $430. ReactEurope, which is also being held in Paris, released its first round of tickets in the range of $680. WordCamp Europe tickets are €40.00 (approximately $43) because the vast majority of the cost of attendance is subsidized by sponsors.

\n

Now that WordCamp Europe has been running successfully for five years, Tock said it is easier to get sponsors on board. Sponsorship cost per attendee is one of the contributing factors. In 2016 WordCamp Europe sold 2,199 tickets and organizers expect to sell more than 3,000 this year.

\n

“If you compare the perks and size of the audience, you’ll find that WordCamp Europe can be anywhere from 20% to 50% cheaper then comparable WordCamps,” Tock said. “The bang for buck has meant we have a lot of returning sponsors.”

\n

However, as WCEU attendance and the event’s financial requirements have grown, so has the challenge to deliver value to sponsors who are contributing greater sums of money.

\n

“Asking potential sponsors for a few thousand a couple years back was easy enough,” Tock said. “Now that we’re looking for 50k+ Euros from certain sponsors, we need to up our game with it. This means early communication, well-defined packages, and more creative perks.” This year those perks include 360° booths, 30-second ads between talks, after-party branding, and the new sponsor workshops.

\n

I spoke to several other organizers of comparably large WordCamps and all of them were intrigued by the idea of sponsor workshops and interested to see how the experiment turns out.

\n

“I think on the surface it could be considered a controversial idea, but in reality it’s just giving sponsors a different kind of voice,” WordCamp Miami organizer David Bisset said. “If it’s done in a way that treats all sponsors fairly and is a voluntary track, then in some ways it doesn’t differ from a sponsor area, outside of narrowing the spotlight.”

\n

Bisset said he’s interested to see how successful this approach is but notes that it probably would only work for the largest WordCamps.

\n

“I honestly don’t know which side of the fence this lies on in regards the spirit of WordCamps,” Bisset said. “There have been controversial issues and challenges regarding sponsors and WordCamps in the past. It’s a challenge to give sponsors the most bang for their buck, treat everyone fairly, and be a model WordCamp. The jury is still out.”

\n

WordPress Orlando organizer Lisa Melegari thinks the idea of sponsor workshops may bring some legitimacy to what is known as the “hallway track,” where attendees congregate when not attending a session.

\n

“I think it’s a really interesting concept,” Melegari said. “There’s already the joke out there that there’s a phantom extra track at most WordCamps – the Hallway Track. I think this would take that and actually give some legitimacy to the myth.”

\n

Melegari said WordCamp Orlando organizers have seen a significant shift in sponsor availability and enthusiasm in the past few years, especially after WordCamp US launched. She said their local camp lost several past sponsors to the larger WordCamp US. Other sponsors have decided to just focus on local camps and some have dropped sponsorship altogether.

\n

“I really think we need to give our sponsors more opportunity to benefit their businesses, since their success allows them to continue to support our camps,” Melegari said. “Is it worth an entire extra track? Maybe not. That would put an unfair burden on camps that already have difficulty getting space and could deter sponsors from supporting a camp that cannot offer that accommodation.”

\n

Melegari said she likes the idea of allowing sponsors to have a more prominent demo opportunity as long as it doesn’t overshadow the speakers, who volunteer their time.

\n

“Having been a speaker with a very low attendance at a few talks, it’s disheartening, but understandable that another speaker’s talk is more popular,” she said. “I would be afraid the sponsor track would take away the spotlight on speakers.” From an organizer’s perspective, she is interested to see how sponsor workshops can deliver a better value for sponsorship.

\n

“We really do need to provide a better case for WordCamp sponsorship besides exposure, because many of our recurring sponsors have a smaller and smaller pool of new eyes every camp,” Melegari said. “If we are going to keep growing in camp numbers, we’re going to have to figure out something to keep all the camps financially afloat.”

\n

Alx Block, WordCamp US 2015-16 Organizer, understands the importance of sponsors and volunteers, who covered the bulk of the $516 actual cost per person for the most recent event.

\n

“I think that we’re at an impasse when it comes to adding value for sponsors, especially at the larger camps,” Block said. “On the one hand, each sponsorship is really a scholarship for attendees, allowing each camp to greatly reduce the ticket price so that more people can attend and get value from the camp. On the other hand, there’s limited value for the sponsors in terms of ROI. We’ve never thought of it as a business investment, but it’s certainly time to think about that more.”

\n

Keeping ticket prices low, putting on a quality event, and offering an array of perks for sponsorship is a tremendous balancing act for organizers. WordCamp Europe is one of fastest-growing camps that has experimented with doing this at a larger scale every year.

\n

“When you get into the larger dollar amounts that larger camps ask, it’s a different kind of ballgame, and I think that we need to revisit the value that a business receives as part of their sponsorship,” Block said.

\n

“I think something like sponsor workshops is a really neat idea. I can imagine that it doesn’t come with much overhead in terms of actual planning, and will give the sponsors something solid that they can plan for in terms of being able to pitch their product or service.”

\n

Historically, workshops have been events that are ancillary to the main tracks. WordCamp Europe’s plan to run them alongside speaker sessions is a bold experiment. Sponsors will have a great deal of flexibility with how they can utilize their workshop slots, so it will be interesting to see if they choose to incentivize attendance in some way or opt to pass them along to other speakers as a sponsored talk.

\n

“I think there’s a line between a sponsor ‘track’ and sponsor ‘workshops,’ which WCEU hasn’t clearly defined yet,” Block said. “I’m sure that their intention isn’t to have 1/3 of the talks be by people who paid to be there. From what I understand, the intention is to have the top-tier sponsors (maybe 4-6 of them) present on a smaller stage in a kind of rolling fashion, to supplement the full tracks – meaning, it would be a great place for an attendee to go during a time when neither of the other sessions appeals to them, or they’re interested in learning more about a specific product.”

\n

Block said he has seen this type of sponsor perk at other non-WordPress conferences and has sat in on sessions that piqued his interest.

\n

“But this is the real question in my mind: Can we offer something like this without turning WordCamps into a trade show?” Block said.

\n

“I think now that we’re growing so much with these large camps, it’s the perfect time to ask these questions and figure out exactly what type of event WordCamp is. We grow as the community grows, and WordCamp should always reflect the community’s interest. If there’s interest in giving sponsors a place to talk about their wares, I’m all about it, but I’d always want the community to come first.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 24 Jan 2017 20:38:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"WPTavern: Wix Removes GPL-Licensed WordPress Code from Mobile App, Forks Original MIT Library\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65143\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"https://wptavern.com/wix-removes-gpl-licensed-wordpress-code-from-mobile-app-forks-original-mit-library\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14743:\"photo credit: winterofdiscontentcc\n

In October 2016, Matt Mullenweg called out Wix for using GPL-licensed code from the WordPress mobile app and distributing it in its proprietary app. After identifying a path for Wix to comply with the license, Mullenweg confirmed he would be willing to go to court to protect the GPL.

\n

Wix CEO Avishai Abrahami’s response to the allegations failed to address the issue of licensing, dodging the question with references to other open source contributions. Abrahami seemed to indicate that Wix would open source its mobile app but was not clear whether it would be GPL licensed:

\n

“We always shared and admired your commitment to give back, which is exactly why we have those 224 open source projects, and thousands more bugs/improvements available to the open source community and we will release the app you saw as well,” Abrahami said.

\n

The Wix Twitter account also gave the impression that the entire app would be released under the GPL:

\n
\n

@yairwein We\'ll release the code on Github, where we also shared our previous projects: https://t.co/FBhp2Kd5wn

\n

— Wix.com (@Wix) October 30, 2016

\n

\n

Publicly communicating these intentions bought the company time to educate its developers on the implications of the GPL and find another path forward for the app.

\n

The app has not been released under the GPL and Wix has discontinued development on the GPL-licensed repositories. On November 1, 2016, Wix changed the license on the react-native-wordpress-editor, the repository that was forked from the WordPress mobile app, to GPLv2. The next day, they began work on react-native-zss-rich-text-editor, a new repository forked from the original MIT-licensed library that the WordPress mobile app code built upon.

\n

It appears that Wix never planned on complying with the GPL, since the company immediately began working on an alternative approach. Wix has since released updates to its mobile apps and presumably has incorporated its own editor component that is based on the original MIT-licensed library.

\n

It is not clear whether Wix completely started over with its fork or if the company’s developers incorporated some of the commits previously made in the WordPress mobile app’s GPL-licensed fork. Wix has not responded to numerous attempts to contact them for an official statement.

\n

Wix Invents Its Own “Enhanced” MIT License for the Forked Library

\n

Here’s where the story takes an odd turn. Instead of distributing the new editor code under a standard open source library, Wix has written its own license, which it is calling the “Enhanced” MIT license (EMIT). It explicitly prohibits relicensing under the GPL and requires the developer to license modifications under the EMIT:

\n

This license is exactly like the MIT License, with one exception – Any distribution of this source code or any modification thereof in source code format, must be done under the Enhanced MIT license and not under any other licenses, such as GPL.

\n

Furthermore, the license prohibits the code being redistributed under any copyleft license:

\n

when the Software is distributed as source code, the licensee is prohibited to change the license of the Software to any “viral” copyleft-type license, such as, inter alia: GPL, LGPL, EPL, MPL, etc.

\n

Wix explained the reason behind the creation of the new license in its introduction, citing what it calls a “bug” in the MIT license. The MIT permits developers to re-license their modifications as GPL. The text of the “Enhanced” MIT license characterizes this practice as bullying:

\n

We believe MIT license has a bug since it allows others to use it against its nature. Our belief is that the MIT license is intended to make source code available to anyone who wants to use it without additional obligations, but we have found cases where someone takes a project licensed under MIT license, adds a few lines of source code to it, and then changes the licensing to a different, more restrictive license which is against the nature and the intent of the MIT license. By doing so, the source code released under the original MIT is no longer a true “free/open” source code, thus undermining the intention of the original creator of the source code.

\n

The concept of this Enhanced MIT license is simple and more robust – you can do what you want with this source code, exactly like any other MIT license, but if you release it again as open source (even if modified), you must release it under this Enhanced MIT license – to be clear, this is not a “viral” license, it only refers to the actual source code released under this license and not to other components interacting with it. If GPL is a viral license, this license can be described as a “robust” one as it prevents licensing changes that are against its nature and it defends its own licensing principles. The essence of the Enhanced MIT license is to prevent bullies from using open source code that is truly free and open under the MIT License and turning it into other viral and more restrictive licenses – such as GPL.

\n

The license has only ever been used in this particular instance and does not appear to have been written by a lawyer or someone who has studied copyright and licensing issues professionally. I contacted the Free Software Foundation’s licensing and compliance team regarding the legitimacy of Wix’s “Enhanced” MIT license. FSF copyright and licensing associate Donald Robertson III said the team is currently reviewing it and may require legal counsel before making a definitive comment. When they have completed the review, they will publish a statement and list the license in the FSF directory of free and non-free software licenses. These are also broken down into copyleft and GPL-compatible classifications.

\n

“As you can see from the GPL-incompatible licenses, there are plenty of free software licenses that are incompatible with the GPL, and many of those licenses would be incompatible with other copyleft licenses on the same basis,” Robertson said. “So it is possible for a license to be free even if it doesn’t work well with the GPL. We’ll have to do some review on this particular license before we can make any comment specific to it.”

\n

Wix has not submitted its EMIT license to the Open Source Initiative, a community-recognized organization that acts as stewards of the Open Source Definition (OSD) and also reviews and approves licenses as OSD-conformant. OSI has not yet responded to my inquiry about the legitimacy of the license, but I spoke with Karl Fogel, an open source specialist who consults with organizations on open source licensing and the implications of using it in business.

\n

“This so-called ‘Enhanced MIT’ license is poorly drafted and internally inconsistent,” Fogel said. “I feel on safe ground in saying that were it ever submitted to the OSI for approval, it would be rejected quickly.”

\n

Fogel also commented on the inherent contradictions in the license’s introduction and permissions.

\n

“An obvious internal inconsistency is that in the Introduction, it says that redistribution in source code format ‘must be done under the Enhanced MIT license and not under any other licenses, such as GPL,\'” Fogel said. “But then later, in point (2) of the conditional permissions grant, it says ‘when the Software is distributed as source code, the licensee is prohibited to change the license of the Software to any ‘viral’ copyleft-type license, such as, inter alia: GPL, LGPL, EPL, MPL, etc.’

\n

“So the Introduction is saying that redistribution is not permitted under any other open source license, but then the permissions grant section only bars redistribution under copyleft licenses, leaving open the possibility to distribute under other non-copyleft licenses. Which is it?”

\n

According to OSI, copyleft “refers to licenses that allow derivative works but require them to use the same license as the original work.” In requiring the EMIT to be used for derivative works, the license adopts the viral nature Wix ostensibly wanted to avoid with the GPL. This emasculates the MIT, robbing it of its essential freedoms. For this reason and many others, the EMIT appears to be an illegitimate variant of the MIT.

\n

“A larger issue is that the reasoning in the Introduction about how the standard MIT license supposedly has a ‘bug’ makes no sense,” Fogel said. ” It asserts that redistribution under an open source copyleft license would somehow be more restrictive than not doing source redistribution at all (e.g., as with a standard proprietary license). There is no sensible definition of the word ‘restrictive; in which releasing code under a copyleft license would restrict someone’s use of that code more than not having the code in the first place would restrict them.”

\n

Fogel does not think the EMIT is a valid derivative of the MIT license and is not convinced that it can be considered a license at all.

\n

“It is very clear that a lawyer did not write this license,” Fogel said. “I think Abrahami must have written it himself. I hesitate to even call it a license; it’s not clear what a judge would do with it, except perhaps sell tickets.”

\n

Wix’s EMIT License is a Hostile Reaction to the Call for GPL Compliance

\n

The EMIT license not only takes shots at the GPL but also injects a moral pronouncement against all those who subscribe to the tenets of copyleft licensing. The restrictions in the EMIT effectively “weaponize the license” against other open source projects, as one Reddit user said in acomment on the situation. This encompasses a large portion of the open source community.

\n

Wix may not be able to publicly admit its violation of the GPL, as it has not yet answered for the past infringement of distributing the code in its mobile app. In looking back over the timeline of events, Wix’s public communication that implied it would comply with the GPL was disingenuous, as the team was scrambling behind the scenes to fork the original library and slap a new “anti-copyleft” license on it. The company has no respect for the GPL and, in fact, has communicated its disdain for the license in the language of its new EMIT license.

\n

“I remember reading this exchange when it happened,” Fogel said. “This is not a case of gray areas or ‘the truth lies somewhere in the middle.’ Matt Mullenweg of WordPress is 100% right, and Wix CEO Avishai Abrahami is, quite simply, wrong. Mullenweg was extremely direct about what the problem was and how to fix it. Abrahami’s response was an evasive mishmash of brazen non sequiturs and willful refusal to acknowledge Mullenweg’s point, which was simply that if Wix is going to use WordPress code that is distributed under the GNU General Public License, then Wix has to follow the terms of the GPL like anyone else.

\n

“Abrahami’s poor behavior could only have been intentional,” Fogel said. “I just don’t see any other way to interpret it, given how easy to understand Mullenweg’s letter is, and how clear the issues are here.”

\n

Wix’s illegal use of GPL code in a proprietary app could easily be chalked up to ignorance or an oversight if the company had simply attempted to comply. Instead, they wrote a license that swipes back at copyleft proponents everywhere. The EMIT actually manages to trivialize both the GPL and the MIT in one fell swoop.

\n

“The GPL is not a disease,” said Lawrence Rosen in a document titled The Unreasonable Fear of Infection. “It is designed to satisfy certain philosophical and economic objectives that are widely shared by many members of the open source community.”

\n

In writing its own “Enhanced” MIT license Wix has demonstrated a careless disregard for open source licensing and hostility towards those who use copyleft licenses to guarantee user freedoms.

\n

Although some onlookers in the open source community disapproved of the two CEO’s handling the disagreement in open letters, there are plenty more who appreciate that the issue is being hammered out in public. Fogel said he hopes the situation “will draw some attention to the fact that the GPL actually means something and can be enforced.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 21 Jan 2017 00:04:49 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Obama Foundation Launches New Website Powered by WordPress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65363\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/obama-foundation-launches-new-website-powered-by-wordpress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1987:\"

The Obama Foundation launched its new WordPress-powered website today. The future presidential center, which will be located in Chicago, will manage projects both in the city and other places around the world.

\n

“More than a library or a museum, it will be a living, working center for citizenship,” President Obama said. “That’s why we want to hear from you. Tell us what you want this project to be and tell us what’s on your mind.”

\n

\n

The website integrates the Typeform service for collecting feedback from citizens on their hopes and dreams, as well as the people and organizations that inspire them.

\n

WordPress developers were excited to see that the former President is using the WP REST API introduced in WordPress 4.7.

\n
\n

Oh hai WP REST API pic.twitter.com/EBGDexNwRA

\n

— Daniel Bachhuber (@danielbachhuber) January 20, 2017

\n

\n

The custom theme for the Obama Foundation is built using ZURB’s Foundation as its front-end framework. It integrates the jQuery Cycle Plugin for galleries.

\n

The website was created by Blue State Digital, an agency that got its start on the campaign trail and now focuses on serving causes and brands.

\n

President Obama is the first president to select WordPress for his presidential center website.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 20 Jan 2017 17:39:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"BuddyPress: BuddyPress 2.8.0 Beta 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://buddypress.org/?p=263023\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://buddypress.org/2017/01/buddypress-2-8-0-beta-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2965:\"

BuddyPress 2.8.0 Beta 1 is packed with new features and enhancements and is now available for testing. You can download the BP 2.8.0-beta1 zip or get a copy via our Subversion repository. We’d love to have your feedback and testing help.

\n

BuddyPress 2.8.0 requires PHP 5.3+, and will not be activated on a server with a lower version of PHP. We also remind you that BuddyPress 2.8.0 will require at least WordPress 4.3.

\n

A detailed changelog will be part of our official release notes, but, until then, here’s a list of some of our favorite changes. (Check out this report on Trac for the full list.)

\n
    \n
  • BP Email: Allow end user to specify which PHPMailer should be used #7286
  • \n
  • Companion Stylesheet – Twentyseventeen #7338
  • \n
  • Minimum PHP version is 5.3 #7325#7299
  • \n
  • Support List-Unsubscribe header in emails #7390
  • \n
  • Make group search more flexible #7418 and other groups improvements, like #7419#7399#7388#7386#7375
  • \n
  • Lots of new filters in various parts of the code, like #6667#5193
  • \n
  • Lots of inline documentation tweaks and other fixes and improvements
  • \n
\n

BP 2.8.0 is almost ready, but please do not run it in a production environment just yet. Let us know of any issues you find in the support forums and/or development tracker.

\n

Thanks everyone for all your help to date. We are excited to release BuddyPress 2.8.0 in February!

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jan 2017 23:03:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Slava Abakumov\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"Post Status: Shaping a vision of success\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=32469\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://poststatus.com/shaping-success-wordcamps/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14728:\"

Editor’s note: This guest post is written by Jenny Beaumont, a co-organizer of WordCamp Paris and WordCamp Europe. She’s spent the last two decades building things in and around the web, writes a terrific newsletter, and lives in France.

\n

One of the highlights of my year, and a fitting end to 2016 as my sabbatical drew to a close, was attending the 2nd annual WordCamp US, held December 2-4 in Philadelphia, Pennsylvania.

\n

The trip met my expectations in every way, from the warm-hearted nature of the locals to the super-sized portions at every delicious meal, and from the diversity of attendees to all of the extraordinary conversations I had during that short week I was in town.

\n

“You might have noticed that this year’s programming at WordCamp US had some more of a human side, in addition to just the technical that we’ve had before,” said Matt Mullenweg, co-founder of WordPress and CEO of Automattic, during his much-anticipated State of the Word.

\n

“I think that a lot of our opportunities to grow over the coming year are on the human side, and understanding the humanity of an open source project and working together and creating the code that’s going to touch humanity as well.”

\n

Moving into 2017, ready for new opportunities and with the next edition of WordCamp Europe on the horizon, I find myself thinking about growth past and present, and about what success might look like for all of us in this new year.

\n

Growth and competition for WordPress

\n

“It’s really all about pie,” replied Mullenweg when asked about the future of a WordPress entrepreneur, stating that as long as the pie continues to grow, everyone can get a piece.

\n

He talked about how the new focuses of the WordPress project—the REST API, the Editor and the Customizer—along with an inclusive design-lead approach, should allow WordPress to reach new audiences.

\n

WordPress has seen incredible growth in recent years, now representing over 27% of websites, a full 20% ahead of competing platforms. This translates to 58.5% market share of all monitored content management systems, when looking at the top 10 million sites.

\n

This doesn’t mean that the competition isn’t trying to close the gap. Mullenweg reported that the top proprietary platforms, such as Squarespace and Wix, spent upwards of 320 million in advertising dollars in 2016, often directly targeting search engine queries for WordPress.

\n

“I think that in the past WordPress got by on a lot of sort marketing by happenstance,” he said, admitting the need to look at the marketing of WordPress in new ways, and hopefully pooling the resources of the community to do so.

\n

“I think we have a real opportunity especially as the businesses around WordPress grow larger and larger, to actually coordinate a bit […] there’s no one company in the WordPress ecosystem that’s large enough to match 300 million dollars, and spend on telling people the WordPress story. But no one company needs to be large enough, because we’re a community.”

\n

All in all, he painted a bright picture for the future for the WordPress ecosystem, the community of people who come together around a common purpose and ideal—the WordPress project and its mission to democratize publishing—and in so doing create a new paradigm for work and the web, the byproduct of which is a flourishing economy.

\n

I can’t help but wonder, how big can the pie get? And while we concentrate on growth and competition, how do we measure the success of our mission? How will we know when we’ve democratized publishing? Can or should WordPress achieve this goal alone?

\n

The numbers game for WordCamps

\n

“We must tilt our hat and bow down to Europe, which beat us this year,” Mullenweg capitulated as he wrapped up his report on community growth, expressed in the number of events and event attendance worldwide.

\n

Growth is an indication that we’re doing something right. An increase in the numbers tells us that more people are interested and getting involved. This is what an open source project needs to reach a wider audience, stay competitive and accomplish its mission: people to make it happen.

\n

But should success be measured solely in numbers? Is it healthy to think that there can be winners and losers when it comes to the success of our community as a whole?

\n

In its first three years, WordCamp Europe grew at a slow and predictable rate. Then last year, for some reason, it exploded. We sold our initial batch of 1500 tickets practically overnight, and ended up selling nearly 2200 tickets in total.

\n

What happened? Did WordCamp Europe’s reputation catch up with itself, creating this burgeoning interest? Was Vienna simply an incredibly attractive destination for a lot of people? Or was it the organizing team that did an outstanding job at marketing and outreach?

\n

WordCamp US was in its second year, and we can ask similar questions about why they didn’t see the growth they were expecting. Is the event, with its transition from the long-standing WordCamp San Francisco, still in its infancy, so that slow growth is to be expected? Was going to the same destination two years in a row not as appealing to attendees? Did the team do an adequate job of communicating around the event?

\n

In my mind, both WordCamp Europe and WordCamp US were successful events. Each did a lot of things well, and some other things less well. Attendees I encountered, whether speakers, sponsors, volunteers or the general public, seemed to have a rewarding experience and their expectations met.

\n

Because that’s why we put these events on, right? Not to “get the numbers” or “win”, but to create an enriching experience.

\n

Bigger is not necessarily better

\n

So, how big do we let ourselves get? This has been an ongoing question for us on the WordCamp Europe team since things took on a new dimension in Vienna.

\n

When I asked Paolo Belcastro, WordCamp Europe local team lead in 2016 and global team lead for 2017, what he thought about growth he said, “For me a successful event is when we have one ticket left over. It should be our goal to make sure that everyone who wants to attend, can.”

\n

This is a philosophy that I stand beside. It reflects our focus on attendees and on inclusiveness, so that it doesn’t matter whether we have 1000, 2000 or 3000 people, it only matters that we do our best to accommodate everyone and put on a great event for however many show up.

\n

It does not, however, answer the question.

\n

It’s exciting to run a popular event, and it’s easy to get carried away with that excitement and sense of accomplishment knowing that so many people want to attend, that so many people are being impacted in positive ways. When we focus solely on the numbers, and adopt a “bigger is better” mentality, it’s also easy to lose sight of some important consequences of growth.

\n

Professional level of production

\n

Keep in mind that we didn’t originally plan an event for 2200 people last year, and so we had to improvise, which meant a significant budget increase and a lot of extra work for the organizing team.

\n

It also catapulted us into a new level of production. Putting on a large event is not the same as putting on a smaller one, and once you get up above 2000 attendees, it has a trickle down effect. It means organizing a speakers dinner for upwards of 300 volunteers, and an after party for 1500. These are events in and of themselves. We’re brought to collaborate with professionals in the events world—caterers, vendors, venues—while we’re still volunteers working in our “spare time”, some of us with more experience than others at making this all happen.

\n

Increased cost of WordCamps

\n

While the average ticket price per day has gone down, from $20 to $15.79, the cost of putting on a WordCamp has increased. Mullenweg reported that the cost of WordCamp US was $516 per person, while attendees continue to pay a mere $40 for entry to the two-day event, including lunch both days, free-flowing coffee, access to the contributor day and after party, not to mention the great swag, which included both a t-shirt and an adorable Wapuu plushy this year.

\n

The additional 90% of this cost falls to sponsors. Sponsors are not volunteers running a non-profit, they are businesses. As we ask more and more of them, they understandably are starting to question what they get in return. Our response has typically been, “you’re supporting the community and gaining exposure,” but is that enough and for how long? How much is too much to ask?

\n

Setting expectations for sponsors and attendees

\n

How much is too much to ask of anyone? As we ask more of sponsors they expect more in return. As we grow, try to predict growth and to outdo ourselves every year, the task for organizers becomes more demanding. As we create bigger and better events, attendees expect to find the same elsewhere.

\n

An event with 10,000 attendees would be amazing. We probably couldn’t call it a WordCamp, though. It would be a WordPalooza, and would require a full-time staff and a new approach to programming, sponsorship and organization on the whole. Does an event have to grow into order to be successful? Can maintaining a certain level of participation and quality also be considered a success?

\n

Because it’s also possible that WordCamp US and WordCamp Europe will simply plateau at a certain capacity. The world may not be ready for a WordPalooza.

\n

Competition and success

\n

“One of the reasons why I think WordPress has such a collaborative community, when you see competitors hanging out with each other and getting drinks […] is that it’s a growing pie. So everyone’s slice of that pie can grow alongside. If it were shrinking or a static pie, the only way to grow would be taking some pie from someone else.”

\n

Competition is widely considered good for business. It pushes companies to innovate and guard against complacency. It encourages a focus on customer service and helps protect consumers through competitive pricing. Competition in the marketplace confirms there is a market to be had, that demand is strong for the products or services being offered. It seeks to establish a basis for fairness, while letting companies vie for market share, sales and profit margins.

\n

The friendly, collaborative nature of the WordPress community is born out of the open source philosophy of contribution and sharing. It is, in my mind, our greatest strength. Support within the community is unparalleled. We consistently root for one another, learn from one another, share our triumphs and our difficulties, through mergers, acquisitions, hirings, firings, career changes and even the occasional drama.

\n

How big can WordPress get? Arriving at 100% market share is neither a likely nor a desirable scenario, if you believe in the benefits of competition and fair trade. The pie is not likely to grow exponentially, but rather will turn into something else entirely as the technology, the world and the web evolve, and the project along with them.

\n

Success and expectations

\n

“When we are candid about our shortcoming, it allows us to be better towards going to the future,” Mullenweg said in talking about the WordPress Editor.

\n

This is a sentiment we can apply across the board, to ensure that our philosophy and our mission are reflected in our words and actions as we bring new users to our platform and welcome newcomers to our community.

\n

Healthy competition, whether inside or outside of the community, helps us strive to be the best we can be. Raising the bar can produce some extraordinary results, allowing us to be inspired by one another, taking on ideas that we might find valuable for our audiences, customers, clients. Healthy competition allows us to learn, have fun, grow and share that wealth of knowledge around us.

\n

Unhealthy competition causes us to lose sight of our goals, focusing on numbers instead of the people affected by them. In a community such as ours that prides itself on inclusiveness, we can only succeed or fail together.

\n

In this coming year I’d like to see success shaped through managing expectations and staying true to our purpose. I’d like to see it shaped by people, not numbers, by the humanity of this open source project that brings us together, allows us to create, to innovate, to provide for ourselves and our families.

\n

I’d like to think that a future vision of success could be when growth is neither the goal, nor our limitation, when we’re no longer looking to a growing pie, but rather to a renewable spring or self-sustaining garden. I’d like to think that one day we will be able to say that we’ve succeeded in democratizing publishing, and if and when we do, I doubt that we will have done it alone. And that’s a good thing.

\n

See you in Paris

\n

I have no idea how many people will show up to WordCamp Europe in June, but I do know that it will be another fantastic event. I also know that you can help make it a success by participating. You can apply to speak, to volunteer, to sponsor, and/or buy a ticket. So many ways to be a part of making it happen. So, see you there? Wait, let me rephrase: see you there!

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jan 2017 06:02:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Jenny Beaumont\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: Jetpack 4.5 Expands Monetization with WordAds Integration\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65273\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://wptavern.com/jetpack-4-5-expands-monetization-with-wordads-integration\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:16477:\"

\n

Jetpack is starting 2017 with a major release that is heavy on enhancements and improvements. Version 4.5 includes more than a dozen new shortcodes and widgets, along with revamped support for VideoPress. One of the most intriguing new features announced in this release, however, is the integration with WordAds, WordPress.com’s advertising program.

\n

Jetpack users are required to be on the Premium plan ($9.00/month or $99/year) in order to sign on with WordAds. The feature is then available within the Engagement tab along with settings for adjusting ad placement.

\n

Eligibility for WordAds was previously limited to sites that had thousands of page views per month, but this requirement is lifted for those who have purchased a Premium or Professional Jetpack plan. Unlike Adsense, which pays for clicks, WordAds pays based on the number of impressions combined with many other factors. According to Derek Springer, an Automattic employee who has worked on WordAds for several years, the traffic requirement was given to set earnings expectations and to ensure support resources were adequately available.

\n

How Much Can Publishers Earn through WordAds?

\n

It’s difficult to to gauge how much a publisher can earn using WordAds, and Automattic doesn’t publish any sample earnings. The WordAds network has more than 60 partners bidding for advertising space in realtime, including Google’s AdSense, Google, AdX, Facebook Ads, AOL, Yahoo, and Amazon. WordPress.com’s Daily Post blog likened the network to a stock market with prices rising and falling as available space changes.

\n

When asked about the average return for every 1,000 impressions, Derek Springer said it’s challenging to estimate due to the complex set of factors influencing the revenue publishers can earn. These include location and number of ads, geography of viewer, percentage of viewers with ad blockers, and other factors.

\n

“Generally speaking, a site with majority US views with high-quality content can expect to earn the most, while non-English language, low-quality (copied content, nsfw, spam, purchased traffic) sites can expect to earn very little (if anything),” Springer said. “Our network over the past year or so has gotten pretty good at appropriately rewarding high-quality sites with high-quality traffic (and penalizing the inverse).”

\n

For years, bloggers have traded stats and earning records, speculating on what influences WordAds’ unpredictable payouts. In 2014, the Human Breed Blog published a collection of data from blogs that made their WordAds earnings publicly available. The data demonstrated inconsistency in earnings for many publishers, including the author’s own blog, where earnings varied wildly from 2014-2015:

\n

My earnings have dropped down to half (From $22.55 in October 2014 to $11.77 in May 2015) despite my page views being higher than 20,000 views per month. The return per 1,000 Ad Impression (CPM) has dropped from $2.25 in October 2014 to $1.17 in May 2015 and the return per 1,000 Page views (CPV) has dropped from $1.39 in October 2014 to $0.51 in May 2015.

\nThe Human Breed Blog 2014-2015 WordAds Earnings\n

This example is representative of the experience of many WordAds publishers in 2014-2016.

\n

“On my blog SQLwithManoj.com, for the months May, June, and July, the ‘Ad Impressions’ were around ~10k and earnings were in the range of $25 to $48 respectively each month,” said Manoj Pandey, blogger at SQLwithManoj.com. “But in the month of August the ‘Ad Impressions’ were showing ~100k, i.e. ~10 times the previous months, but earnings are still in the same range.”

\n

For many publishers participating in WordAds, there seems to be little correlation between impressions and payouts from month to month. Numerous publishers have reported progressively lower earnings despite having higher traffic numbers than previous months. Clarissa’s Blog, included in the collection of public earnings above, published stats from June 2014 to December 2015 that show a dramatic decrease in the amount paid for impressions.

\n

“You have no way of knowing where the ‘ad impressions’ figure comes from and why it varies from one month to another,” Clarissa said. “You will have to trust WordPress on that. I experimented with placing the maximum amount of ads as opposed to a moderate amount of ads and that had absolutely no impact on the number of ad impressions.”

\n

Things started changing in 2016 for Clarissa who now reports that earnings are increasing. “I have no idea why but the payments seem to have returned to the higher rates,” Clarissa said. “Right now is a good time to do WordAds.”

\n

Others continue to report declines on the WordPress.com forums as recently as this week.

\n

“I used to get $800 for 800K impressions,” said the owner of rebirthonlineworld.com. “A few months ago I got $100 for more than 2 million impressions. Last month, only $90 for 500K impressions. This is a big problem for me.”

\n

WordAds Vastly Overpaid for Low-Quality Traffic During Its First Years

\n

In 2013 WordAds paid out $1 million to publishers on its network. According to Derek Springer, earnings since then have been “pretty flat the past year” due to industry-wide declining ad rates.

\n

“We’ve been slowly clawing our way back from the trough of early 2015, which was a historical low for us,” Springer said. “So more folks were paid out, but rates as a whole were at their lowest point in 2015. We’ve been steadily increasing our rates and paying out less to low-quality content/traffic, so if you’re a high quality site it’s likely your rates haven’t fallen too much.”

\n

Behind the scenes, WordAds was quietly evolving its network to better distinguish sites that would deliver more value to its advertising partners, which accounts for many of the dramatic declines in earnings.

\n

“Pre-WordAds 2.0 our network didn’t have the precision to distinguish between high-quality and low-quality (spam, nsfw, bot views, etc) traffic and we had to make some coarse estimations on how to chop the earnings value up,” Springer said. “The net effect was that we vastly overpaid low-quality traffic for the first handful of years.”

\n

Since WordAds 2.0 the program is gotten better at paying users for high-quality content and traffic. The team has more information on the traffic the network is getting and buyers have more information about the content they are bidding on.

\n

“The net effect is that advertisers refuse to bid on low-quality content and traffic and those sites that were previously earning lots are now getting pennies on the dollar,” Springer said. “I would estimate that after investigation 95% of the time the folks complaining about low payout have something kinda scammy going on, usually copied content or paid traffic (and frequently both).”

\n

“Paid traffic” in this instance refers to users who have paid a service to send bots to a page to refresh constantly in order to artificially inflate pageviews. One recent highly publicized incident of this kind of fraud is a case where Russian hackers stole more than $3 million per day from video advertisers using nonhuman bot traffic. Similar tactics have been used on WordAds, motivated by a misconception that pageviews are equal to ad views.

\n

The Decline of the Advertising Industry

\n

Another factor contributing to lower earnings over the past few years is the general decline of the advertising industry. A 2015 Reuters Institute Digital News survey indicates that nearly half of US internet users have some form of ad blocking software installed. Reuters Institute’s latest predictions forecast a 24% increase in US users with ad blocking in 2017. Advertisers have to fight harder to get the attention of the remaining half of consumers and many companies have decided to allocate those funds elsewhere.

\n

According to the Interactive Advertising Bureau’s latest Internet Advertising Revenue report, search advertising on desktop declined for the first time in 2016, falling 12% to $8.9 billion. However, mobile advertising grew 105% from $3.6 billion to $7.4 billion. Mobile search is having an increasingly strong impact in shaping a site’s traffic.

\n

These factors are outside of WordAds’ control but they weigh heavily on how many impressions publishers will receive. If the vast majority of a site’s visitors are using ad-blockers and the site isn’t easily found via mobile search, it is likely to suffer earning declines on any ad network.

\n

“Ad rates industry wide have fallen over the past few years,” Springer said. “Ad buyers just aren’t paying what they used to and more users are using ad blockers. They heyday of the late aughts/early twenty-teens may never return as ad buyers realized they just aren’t getting the return they were expecting.”

\n

WordAds Needs More Transparency Around Partners and Reporting

\n

It is difficult for publishers to improve their strategies for generating ad revenue when earnings fluctuate wildly without any explanation beyond changes in advertising rates. After reviewing the product’s forums, many are requesting more transparency around why their earnings have dropped despite higher numbers of impressions. They want to know if advertising rates have dropped for the month, if partners have dropped out of the network, or if their content failed to connect with visitors on certain days.

\n

WordAds users have experienced problems with incorrect reporting, record low payouts, and blank banner displays. In the past there have also been considerable delays in publishers receiving their monthly earnings. Springer said improving the reporting process is a top priority for the team this year.

\n

“The flip-side/challenge of working with dozens of networks is that none of them pay us very consistently,” Springer said. “In the past there was no unified collection process on our end, so we would have to wait to collect from each partner and then split it up and send folks earnings out in one batch. However, for the past year and a half or so we’ve been working with a company called IPONWEB to unify our earnings, reporting, and ad buying process (this is what powers WordAds 2.0). We’re at the point where we can begin to provide closer to real-time earnings reporting.”

\n

Automattic is Optimistic about Expanding the
WordAds Program with Jetpack

\n

The number of WordAds sites are up 111% year over year. WordAds currently has a few thousand self-hosted sites running AdControl/Jetpack Ads and Springer said the team is expecting that number to grow considerably now that integration has been added to Jetpack. The AdControl plugin is still available for non-Premium Jetpack users but the standard application and traffic requirements apply. Springer said they plan to phase out the plugin at some point in the future but there are no definite plans yet.

\n

“Tens of thousands of WP.com sites are approved WordAds (meaning they applied and were approved) out of many tens of thousands more total applications,” Springer said. “Additionally, every freemium WordPress.com site is running our ad network, though we naturally keep all the revenue from those sites.”

\n

With a gaggle of new publishers joining WordAds through Jetpack, one might imagine that rates and payouts for existing users would decrease as more advertising space becomes available. However, this isn’t how advertising networks work.

\n

“Generally speaking, advertisers want to display more ads than most publishers are able to provide (known as inventory), so adding more publishers/inventory to a network is a net benefit to advertisers and is what attracts the bigger, higher paying ad buyers,” Springer said. “If we can tell our ad partners ‘We have 10,000,000,000 pageviews available this month across our network,” then that attracts much more lucrative buyers than if a user has to try to attract them on their own. Advertisers also like that they can cut one deal for a million sites as opposed to having to cut them piecemeal and are generally willing to give us better deals. The whole ‘powers 27% of the web’ is a pretty tasty morsel for ad networks.”

\n

Advice for Publishers New to WordAds: Keep Expectations Realistic

\n

Seamless advertising is a major incentive for Jetpack users to sign up for the Premium plan, which also includes backups, one-click restores, security scanning, and 13GB video storage. The prospect of being able to flip the switch to turn on ads and potentially start earning money is very compelling, especially for users who have struggled with other forms of advertising that were not WordPress-compatible.

\n

The general outlook for WordAds is improving, as the product has evolved to reward higher quality content. As advertisers receive a better return on their investments, their confidence in bidding should increase. However, most publishers should expect to see fluctuations on earnings.

\n

WordPress.com’s Daily Post Blog advises new publishers to temper their expectations with the knowledge that they would need “hundreds of thousands of pageviews to generate meaningful earnings.” For most average bloggers, the ad revenue may not buy more than a decent cup of coffee.

\n

Mortiz Linder, an owner of traveluxblog.com, published his earnings and described his experience as “rather average.”

\n

“It’s a nice idea to gain something without effort, to get at least something back for all the work we put into traveluxblog each day,” Moritz said.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 19 Jan 2017 01:40:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"WPTavern: WPWeekly Episode 260 – SiteGround, Affiliate Summit Recap, and New Security Czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65327&preview=true&preview_id=65327\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"https://wptavern.com/wpweekly-episode-260-siteground-affiliate-summit-recap-and-new-security-czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2802:\"

In this episode of WordPress Weekly, Marcus Couch recaps his trip to Affiliate Summit 2017 held in Las Vegas, Nevada last weekend. Based on the vendors that were on the expo floor, mobile is the e-commerce platform of the future. We discuss the news of the week and share how you can get involved in the WordPress Marketing Group. We end the show with Marcus’ plugin picks of the week.

\n

Stories Discussed:

\n

Aaron D. Campbell Replaces Nikolay Bachiyski as WordPress’ Security Czar
\nPostmatic Basic Rebrands as Replyable, Moves Two-Way Email Commenting to SaaS Product
\nSiteGround Auto-Issues Let’s Encrypt Certificates for New Domains

\n

Plugins Picked By Marcus:

\n

Background Image Cropper adds cropping to background images for parity with header images. This feature is starting out as a plugin to gauge user interest and to determine if it improves the user experience of background images.

\n

Woo Product Remover allows you to remove all WooCommerce products from your site. It removes products, their metadata, relationships, as well as product variations and their related meta data from the database.

\n

WP Tasks After Install completes a series of tasks most commonly performed after WordPress is installed. These tasks include, removing the default Hello World post, setting permalinks to %postname%, activating Akismet, and more. The plugin will automatically deactivate itself when the tasks are completed.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, January 25th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #260:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jan 2017 22:59:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"HeroPress: Living A Better Life Thanks To WordPress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1571\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"https://heropress.com/essays/living-better-life-thanks-wordpress/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:12009:\"\"My

To me, as well as many others, WordPress is more than a technical choice, it’s a lifestyle choice. I didn’t see it as such right away. Looking at the last 4 years of my life, I can fully appreciate its impact.

\n

Aspiring to a life full of adventures and whimsy; I never really fit the mold. American TV series and movies that taught me my dreams could be achieved if I worked hard enough. Armed with that knowledge (and without a fancy diploma to my name), I worked bank, police, IT, supply chain jobs until I discovered the joy of making websites.

\n

My newfound passion (and many sleepless nights of work) helped me become a webdesigner. At the time, Joomla!, Spip and Typo 3 were the big names out there (in France). After achieving the role of Artistic Director as a freelancer; it took me a few years to open my own web agency. That moment changed my thinking: it was no longer ME but WE. And when a client asked us to use WordPress, we got to experience the CMS and its community.

\n

Focusing on WordPress

\n

Our team quickly realized that WordPress could do much more than “just blogs”. In France, the CMS kept having a reputation as a blog only platform. Complex websites were not made in WordPress. Our agency decided to convince clients otherwise. To achieve our mission and hone our skills, we decided to get closer to the WordPress community. I naively offered my help in evangelization efforts to the Paris WordCamp organizers. Except that there was one clear hurdle in our path: we had never contributed anything to the community before! This meant that we were relatively unknown. Needless to say that the feedback we received wasn’t what we expected.

\n

Contributions: It’s About Helping Others

\n

Contributing meant one thing: bring something to the WordPress ecosystem to help improve it. The WordCamp association’s president asked us to answer questions on the French forum as a token of our goodwill, to show our commitment.

\n

I started to answer questions right away but felt like an imposter. All the questions on the forum seemed so technical. I didn’t know how to contribute since I wasn’t a developer. It wasn’t like I was going to create a theme or plugin anytime soon. I kept obsessing over ways I could provide value to the community. I thought about my skills but couldn’t come up with something that would make a real difference.

\n

Sure I could speak English, but translating documents was not something I felt comfortable doing.

\n

So I turned to the previous WordCamp Paris conference and took a closer look at the participants. There, I found my first clue: a marketing expert! I reached out to him to see if I could interview him. As Marketing Director of a press group, he had lead a big WordPress project for his company. Interviewing him brought me two things: an article for our blog discussing what could be done with WordPress and a solid understanding of how the inner workings of the French WordPress community. He gave me an idea of the path one would take to end up giving a conference at the WordCamp. I didn’t realize it at the time, but by picking a name on a conference program, I would meet one of the key players in my WordPress story: Benjamin.

\n

Meanwhile, I continued to write articles about projects made with WordPress, sometimes ours, sometimes the competition’s. Good WordPress knows no bounds so it was necessary for me to showcase all the amazing websites made with this CMS. It’s also how I discovered my main competitors (before meeting them in the flesh later at various events).

\n

A white paper detailing the success of WordPress as a CMS got my name out. This allowed me to gain the courage to pitch my first conference. Providing feedback on projects allowed me to find my place in the WordPress community. Focusing on my experience and helping others didn’t require developer skills. My contribution was in writing and not in coding.

\n

My First WordPress Conference As A Speaker

\n

My first conference topic was on how to create a multilingual, multi-site project with WordPress in 3 months. Needless to say that I was nervous. I mean, speaking in front of 300 people is not something I had done while working at a bank, or in the police force or in any other job really. Adventure: here I come!

\n

The WordPress community was very kind to me and my first conference experience was a memorable one.

\n

During this conference, I wanted to highlight the plugins we used for this project. I mentioned a French startup that had launched a premium plugin as its first product. I found their approach interesting, so I thought I would give them a little visibility. Showcasing good WordPress websites, themes and plugins was already a habit of mine by then. The French team were happy to be mentioned and happened to be present at the event. They came to talk to me after my conference. Turns out, we had a lot to talk about. The company’s name: WP Media. They would open a new chapter of my WordPress story.

\n

During the closing night, I also met a lot of people. Some of them, just like Benjamin were going to have a big impact on my life. Many became great friends as well as mentors like Jenny Beaumont.

\n

Once I got started, there was no stopping me! I continued to speak at events (WordCamp Lyon, WP Tech Nantes), attended meetups, continued writing articles to highlight WordPress projects.

\n

The following year, I joined the organizing team of WordCamp Paris.

\n

Meanwhile, I go to my first WordCamp Europe which was a major new turn.

\n

WordCamp Europe 2014 Changed My Life

\n

Going to the WordCamp Europe changed my life. It’s an experience I highly recommend. If you can, go to the next WordCamp Europe!

\n

The organizers managed to pack so many international speakers that my head was spinning. Speakers were coming from all over the world. The quality of the talks (and speakers) along with the breadth of subjects covered open so many possibilities. You could end up changing your approach to WordPress or finding a new method of working with your peers.

\n

I attended a conference by Noel Tock named Beyond the code where he explained how he managed his life working in remote while traveling at the same time. He also gave insights as to how to monitor your time and how to optimize it.

\n

Realizing that such a life was possible; that you could achieve this time of freedom by reclaiming your time was a massive discovery.

\n

The second eye-opening conference for me was Simon’s lecture on Running an open source. He explained that that undertaking Open Source also meant contributing and collaborating with a community, including your competitors. Simon showed us for 30 minutes that working with competitors was not only beneficial for us agencies, but also for the customer, and for the WordPress community as a whole.

\n

Professional WordPress

\n

Becoming a strong voice in the professionalisation of WordPress in France and encouraging web agencies to contribute and to exchange more had become priority subjects.

\n

I have launched a WP Next association for professionals

\n
    \n
  • To ensure the promotion of WordPress, mainly with professionals, managers of information system, internet director, new media, … and more generally all IT decision makers.
  • \n
  • To enhance the skills of WordPress professionals with decision-makers,
  • \n
  • Promote French know-how around the WordPress CMS, associated technologies and services
  • \n
\n

I also launched with Deborah Donnier a documentary project Think WP to make known WordPress and its community.

\n

A new turn

\n

With these activities I gradually moved away from the creation of websites. Having so many opportunities tied to WordPress available to me, I decided to take a new turn. During the Wordcamps across Europe, I took great pleasure in exchanging with WP Media. We had kept contact since our first meeting. My profile and experience seemed to like a great fit for a new role in the WP Media adventure. I took a leap and became COO of the startup about a year ago. I manage my agency in parallel.

\n

I now work 100% remotely and so does a great portion of my agency. As for WP Media, everyone works remotely. Being a remote worker frees me from constraints that are inherent when you live in the Paris region (it’s a city and province in France). Time spent on commuting is used for other activities.

\n

My experience as a remote worker lets me have greater foresight which in turn allows me to carry out so many activities.

\n

Today, I can proudly say that I attended the US WordCamp last year and am helping organize this year’s WordCamp Europe with Jenny and Benjamin.I feel like I belong in a global community that thrives thanks to its members and their desire to improve WordPress.

\n

WordPress helped me along the path to a life full of adventures and long lasting friendships. It offers so many opportunities to forge beautiful projects, stories and more.

\n

I hope that my story will inspire someone else to get started and find the courage to persevere on the way to a life full of adventures (with or without WordPress). Give yourself time and open yourself to other points of view to help build the life you aspire to.

\n

Thank you for reading my story and see you at WordCamp Europe 2017!

\n

The post Living A Better Life Thanks To WordPress appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 18 Jan 2017 12:00:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Emilie Lebrun\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WPTavern: How to Add Users to BuddyPress Groups in Bulk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65283\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://wptavern.com/how-to-add-users-to-buddypress-groups-in-bulk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3220:\"

On a site I’m working on that runs BuddyPress, I created a new group and wanted to add nearly 400 registered users to it. Unfortunately, adding users to BuddyPress groups in bulk is not a core feature. I searched Google for a solution and while the BuddyPress Members Import plugin is recommended in many of the support threads, the feature alone is not worth spending $49.

\n

Continuing my search, I discovered a code snippet published by Alexander on the WPMU DEV forums that works perfectly. To use it, copy the code and add it to a custom WordPress plugin or paste it to your theme’s functions.php file. I added the code to the top of my theme’s functions.php file.

\nCode Snippet at the Top of my Theme’s Functions.php File\n

The JavaScript portion of the snippet adds a new item to the Bulk Actions drown-down menu named Add to BP Group.

\nAdd to BP Group Bulk Action Menu Item\n

Select the users you want to add to a group and select Add to BP Group. A prompt appears asking for the Buddy Group ID you want to assign the users to.

\nBuddyPress Group ID Prompt\n

To locate the Group ID, click on the Groups admin menu and click on the group’s name. The URL will look something like this admin.php?page=bp-groups&gid=357&action=edit and the ID is the number that appears after gid=. After entering the ID number, click the Ok button. All of the users you selected will be assigned to that group.

\n

In the comments of the code snippet on GitHub, Strand-C said he wasn’t able to move 165 users at a time and had to move 50 instead. I tested this theory by moving nearly 400 registered users at the same time to a new BuddyPress group and didn’t encounter any issues. Keep in mind that the site I’m working on is relatively new, is running WordPress 4.7, and has very little traffic which could explain why I didn’t have a problem.

\n

Being able to manage BuddyPress groups in bulk should be a core feature. There is at least one open ticket on BuddyPress trac to add Bulk Edit options to Groups. Until these features make their way into BuddyPress, the code snippet above is a free work-around that makes adding users to groups in bulk a lot more convenient.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 17 Jan 2017 22:23:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"WPTavern: SiteGround Auto-Issues Let’s Encrypt Certificates for New Domains\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65204\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"https://wptavern.com/siteground-auto-issues-lets-encrypt-certificates-for-new-domains\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3373:\"

SiteGround is now auto-issuing Let’s Encrypt certificates for every domain hosted on its shared servers. The company has also begun issuing and installing certificates on new accounts automatically after customers register domains or direct new domains to SiteGround’s servers. This also includes add-on domains added in cPanel. The certificates are also auto-renewed as long as the domains are pointed to the host’s servers.

\n

“Since the launch of Let’s Encrypt our customers have installed nearly 40,000 such certificates,” said Hristo Pandjarov, WordPress specialist at SiteGround. “This is less than 10% of the 500,000 domains we host. Together with the paid certificates we may say that 15% of the domains we host were using the HTTPS protocol before we started the auto-issuing procedure.”

\n

SiteGround is a sponsor of Let’s Encrypt and one of the first to auto-issue certificates to self-hosted WordPress customers. Let’s Encrypt passed 20 million active certificates in 2016 and the pressure is on for more sites to adopt SSL in 2017 with Google marking insecure sites in Chrome and using HTTPS as a ranking signal.

\n

“What prompted this decision is that we truly believe HTTPS is the future standard for web protocol and we also believe it is the better protocol,” Pandjarov said. “This is a good enough motivation for us to take the step of installing it automatically. We have decided to automate the SSL issuance and setup almost right after the appearance of the Let’s Encrypt initiative. Matt Mullenweg’s statement at WordCamp US that issuing SSL certificates will be a very important factor in evaluating a web host, was one more validation that this planned automation was a decision in the right direction.”

\n

According to Pandjarov, the vast majority of SiteGround’s customers are running WordPress. Respondents to the company’s 2016 client survey indicated that more than two thirds of them use WordPress, which Pandjarov said is a 10% increase in the popularity of WordPress among SiteGround users.

\n

Next Step for SiteGround: Pre-Configuring WordPress Installs to Use SSL with One Click

\n

Auto-issuing certificates does not guarantee that SiteGround customers will jump through the hoops to configure their sites to use the certificates. Installing a certificate on an existing WordPress site is not as straightforward as a simple click in most cases. SiteGround is working on fully automating this process for its WordPress customers.

\n

“If we really want to get closer to 100% HTTPS usage, we need to do more than just automatically issue the certificate,” Pandjarov said. “Our next step is to provide a way to pre-configure an active WordPress site, hosted on our servers, to work with the already issued SSL with one click. Additionally, our auto-installer is being updated to install all new WordPress sites as https-ready.”

\n

SiteGround doesn’t yet have an ETA for one-click SSL configuration but Pandjarov said the announcement will be coming soon.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 17 Jan 2017 21:52:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"WPTavern: Postmatic Basic Rebrands as Replyable, Moves Two-Way Email Commenting to SaaS Product\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65245\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"https://wptavern.com/postmatic-basic-rebrands-as-replyable-moves-two-way-email-commenting-to-saas-product\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5935:\"

\n

Postmatic is rebranding its WordPress.org Postmatic Basic plugin as Replyable and pushing the two-way email commenting feature into a new SaaS product. After discovering that many users simply want email commenting, without additional post delivery and newsletter features, Postmatic launched Replyable to offer this starting at $3/month.

\n

“Replyable was born out of user feedback,” founder Jason Lemieux said. “Postmatic does more than most sites need and the price is squarely mid-market. From the beginning we’ve heard from users that they already use another newsletter service and just want Postmatic to handle comment subscriptions – but that alone isn’t worth $20 to too many people. With Replyable we can offer it for $3.”

\n

Lemieux and his team have now transitioned Postmatic to be purely a Saas product without a presence in the WordPress.org directory.

\n

“Postmatic will continue to grow as a complete engagement system and, if anything, become even more complex and go further up market,” Lemieux said. “Sites which use Postmatic tend to dive in deeply. It is meant to function as a package. Grow a list, deliver to it, get them talking about your ideas, monetize the results.”

\n

The Replyable plugin on WordPress.org now simply covers comment subscriptions with all other features available in the commercial products.

\n

Ripping an existing feature out of a free plugin and making it paid is fairly unusual and can have a negative impact on how users perceive the plugin. However, Postmatic has a plan to allow legacy users to continue using the features they had before by switching to Postmatic Labs. It’s an inconvenient change but is required for those who don’t want to upgrade to a commercial plan.

\n

Although WordPress.org says Postmatic has approximately 1,000 active installs, Lemieux estimates there are 8,000 users including those using the commercial plugin or the Labs plugin. He would not share any specific revenue figures but said he learned some important pricing lessons in leading the bootstrapped startup for the past two years.

\n

“We aren’t a runaway WordPress success story but we’re alive and loving our jobs,” Lemieux said. “About six months ago it became apparent that we needed to get out of the mid market. We had a huge group of people saying, ‘I just want email commenting and will totally pay you 5 bucks a month for it,’ and another group saying, ‘We pay $6,000 a month sending Mailchimp RSS campaigns but yours are better for only $1500. Why so cheap?’ That’s been a frustrating reality and a big lesson in knowing your audience and pricing appropriately.”

\n

Next on Postmatic’s Roadmap: Epoch 2

\n

In July 2015, Postmatic introduced Epoch as a Disqus alternative, offering 100% realtime commenting for WordPress. The plugin submits comments via AJAX so that they appear instantly without refreshing the page. Lemieux and the team have been working on the second version for nearly a year.

\n

“Epoch 2 is a huge step forward,” Lemieux said. “We built it on top of the REST API and Angular. It’s fast and incredibly light. Commenting isn’t sexy – I don’t think it will ever be, but comments are great for SEO, community, and for building brands and authority. Comments aren’t going away. In fact, they are vitally important to keeping the web as a place for discourse, conversation, and the sharing of ideas. We need to continue to make them a better experience. Epoch isn’t groundbreaking in its functionality but it does the job of making sure sites of any size can still run native WordPress comments.”

\n

Postmatic continues to innovate with native comments, an aspect of WordPress that doesn’t have as many commercial players as something like forms or e-commerce. Lemieux attributes this underserved area to the poor reputation of previous non-native solutions.

\n

“I think it is because of the rise and fall of third party commenting system,” Lemieux said. “Early in WordPress history services like Disqus and Livefyre grabbed huge parts of the comment traffic on WordPress sites by offering more features, better speed, and improved moderation tools (with the hidden cost of selling your users down the river). It was certainly a siren song. But most all of them stagnated, violated user trust, or just plain didn’t work well. And commenting got a bad name. Naturally came the trend in disabling comments and, well, now here we are and people are trying to have conversations 140 characters at a time.”

\n

Lemieux said the innovation he sees happening outside WordPress makes him believe that comments can overcome their past reputation.

\n

“Things are getting better – and hopefully more folks will begin to innovate,” Lemieux said. “Lucky for us other blogging and publishing platforms are innovating and coming up with interesting ideas all the time. Some of them, like inline commenting from Medium, do make their way back over to WordPress. That makes me optimistic.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 16 Jan 2017 15:49:25 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"WPTavern: Aaron D. Campbell Replaces Nikolay Bachiyski as WordPress’ Security Czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65102\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:91:\"https://wptavern.com/aaron-d-campbell-replaces-nikolay-bachiyski-as-wordpress-security-czar\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2535:\"

Aaron D. Campbell, WordPress Core Contributor at GoDaddy, is replacing Nikolay Bachiyski as WordPress’ Security Czar or WordPress Core Security Team Lead. The role was created in 2015 to provide more structure and focus around incident responses.

\n

“The responsibilities of the position include, organizing the security team and making sure all security concerns and reports get triaged and ultimately fixed, coordinating the security side of releases, and being a point of contact for any security related things that need one,” Campbell said.

\n

Matt Mullenweg, co-creator of the WordPress project, thanked Bachiyski for being the first to accept the role and putting the foundation in place for future team leads, “This is also a good time to thank the dozens of volunteers who participate in the security group, and the researchers and reporters who bring issues to our attention,” he said.

\n

Campbell says he plans to finish what Bachiyski started by getting WordPress.org onto HackerOne. “Nikolay did a lot of work around expanding our team as well as getting the foundation laid for moving over to HackerOne,” he said.

\n

“We aren’t quite ready to make the move completely, but I hope to phase out the security@ E-Mail address in favor of HackerOne in the near future.”

\n

In late 2016, GoDaddy hired Campbell to contribute to WordPress core full-time. The company continues to back his involvement in WordPress, “The role is completely voluntary,” Campbell said. “GoDaddy has truly been extremely hands off while funding me to do all this, and I’m grateful to have that continue.”

\n

If you think you’ve discovered a security vulnerability with the self-hosted version of WordPress, you’re encouraged to responsibly disclose it to the security team by emailing security @ wordpress.org and include as much detail as possible.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 14 Jan 2017 23:53:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"WPTavern: Automattic Releases Free Plugin for Exporting Photos from Lightroom to WordPress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65177\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"https://wptavern.com/automattic-releases-free-plugin-for-exporting-photos-from-lightroom-to-wordpress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2493:\"

Yesterday Automattic released a new free plugin the makes it easy for Lightroom users to export their photos to WordPress. Lightroom is an Adobe product for managing and editing photos, and the plugin works with the software on MacOS and Windows. It is compatible with both WordPress.com and Jetpack-powered sites.

\n

The Lightroom plugin requires a WordPress.com account to install. Users can then select photos in Lightroom and export them to a WordPress site with all the standard settings available, such as image resizing, watermarking, output sharpening, and more. The plugin automatically exports titles and captions. A large number of photos can take awhile to export, but once the upload is finished users can find their images in the WordPress media library.

\n

\n

When asked for tips on suggested upload size and compression, Automattic representative John Godley said, “WordPress.com can handle pretty much anything you throw at it! I personally go for a high quality and large size so it looks good on a HiDPI screen, and then let WordPress resize as necessary to fit the viewers device.”

\n

It’s not yet clear how the release of Automattic’s free plugin will affect the commercial products that exist for a similar purpose. FloLight, WPLR Sync, and other solutions will need to offer more features with a quicker setup if they want to compete with the new free Lightroom plugin.

\n

Those who want to use the plugin must already have a Lightroom license (standalone or subscription). Although this is a relatively small subset of overall WordPress users, it saves a great deal of time for photobloggers and those who process a large number of photos with Lightroom before posting online. For most, this plugin simplifies what was previously a tedious, multi-step process of manually uploading the photos after working with them in Lightroom.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 14 Jan 2017 00:13:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"WPTavern: Wes Bos Launches JavaScript30, a Free 30-Day Vanilla JS Coding Course\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65209\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://wptavern.com/wes-bos-launches-javascript30-a-free-30-day-vanilla-js-coding-course\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2601:\"

\n

For those who failed to “learn JavaScript deeply” last year, 2017 offers a clean slate for restarting your JavaScript learning goals. Wes Bos, a developer and educator known for his high quality video tutorials, recently launched a free 30-day vanilla JS coding challenge course that provides structure for developing a new habit of daily learning.

\n

JavaScript30 walks users through building 30 things in 30 days with no frameworks, no compilers, no libraries, and no boilerplate. The course is suitable for beginner to intermediate developers and designers who want to get a solid grasp of JavaScript fundamentals. It purposely steers clear of abstractions like frameworks to help students gain a better understanding of browser APIs while working in the DOM without a library.

\n

Bos designed the course to help students gain competence through building things, the advice he gives to anyone wanting to improve their JavaScript skills.

\n

“So, you’ve done a few courses and read a few books but still don’t feel great about your relationship with JavaScript,” Bos said. “How do you get better? Build things. Lots of things. Build 1,000 things. Keep it up and don’t stop.” The course is packed full of quick, interesting, and practical projects.

\n

\n

JavaScript30 includes access to 30 videos, 30 days of starter files, and completed HTML, CSS, and JS Solutions for each day. The videos are accessible and ESL-friendly with closed captions provided.

\n

Bos said he spent more than 300 hours creating the videos as a thank-you to those who have supported his paid courses.

\n

“I see a huge need for these videos and I really think it will help many…become comfortable creating with JavaScript,” he said.

\n

Bos is also the author of the free Learn Redux course, which includes 2.5 hours of videos that help students get started with React.js, Redux, and React Router. Some of his other popular courses include React for Beginners, Learn Redux, and ES6 for Everyone.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 13 Jan 2017 22:05:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"WPTavern: WPWeekly Episode 259 – 2016 Year in Review Part 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wptavern.com?p=65198&preview=true&preview_id=65198\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://wptavern.com/wpweekly-episode-259-2016-year-in-review-part-2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1040:\"

In this episode, Marcus Couch and I recap the news that made headlines during the second half of 2016. I explain why there wasn’t a show last week and we close out the episode with our predictions for 2017. We’ll be back to our regular show format on Wednesday, January 18th.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, January 18th 3:00 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #259:
\n

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 13 Jan 2017 09:37:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"WPTavern: 2nd Edition of Producing Open Source Software Now Available for Free\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65181\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://wptavern.com/2nd-edition-of-producing-open-source-software-now-available-for-free\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3579:\"

\n

The second edition of Karl Fogel‘s “Producing Open Source Software: How to Run a Successful Free Software Project” is now available for download. Fogel, a partner at Open Tech Strategies and OSS contributor since 1997, was a founding developer in the Subversion project. He has worked for more than a decade as an open source specialist, helping businesses and organizations evaluate, launch, and manage open source projects.

\n

Producing Open Source Software version 2 was released for free this week under the Attribution-ShareAlike 4.0 International license. The first edition was published in 2005 but the landscape of OSS has changed drastically over the past 12 years. In 2013, Fogel successfully raised $15,376 towards his $10,000 Kickstarter goal to fund the revision.

\n

The book includes topics like ‘Free’ Versus ‘Open Source,’ choosing a license, version control, social and political infrastructure, the economics of open source, culture, and communication. It was written for managers and software developers but can also be informative for newcomers to open source projects.

\n

Fogel originally planned on finishing the second edition by the end of 2013 but experienced delays due to starting his company. Some chapters also took longer to revise than he anticipated.

\n

“In retrospect, if I had understood what the pressures of a young and growing company would be, I would not have started the 2nd edition when I did,” Fogel said. “It has been a lesson.” Fortunately, for the 314 Kickstarter backers who might have been waiting on his work for four years, progress was immediately available in the public repository for the book. Fogel didn’t keep any private version of the book elsewhere.

\n

“While there are substantial changes throughout the book, the most expanded chapter is probably Chapter 5, ‘Participating as a Business, Non-Profit, or Government Agency,\'” Fogel said. “That chapter’s title used to be just ‘Money,’ so that gives you some idea of what the new material is.”

\n

He also found the third chapter on technical infrastructure to be more time consuming than the others due to all of the changes in the past decade. It took roughly four and a half months to revise it to include modern development tools.

\n

One of the central focuses of the book is the value of collaboration and the direct benefits it provides to an open source software project.

\n

“Competence at cooperation itself is one of the most highly valued skills in free software,” Fogel wrote in the preface. “Good free software is a worthy goal in itself… But beyond that I also hope to convey something of the sheer pleasure to be had from working with a motivated team of open source developers, and from interacting with users in the wonderfully direct way that open source encourages. Participating in a successful free software project is a deep pleasure, and ultimately that’s what keeps the whole system going.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 23:13:23 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"Post Status: New Year’s resolutions for WordPress developers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=32188\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://poststatus.com/new-years-resolutions-wordpress-developers/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:15739:\"

Editor’s Note: This is a guest post by Jack Lenox. Jack is a developer at Automattic and hails from the United Kingdom.

\n

For just over a year now, I have been working on the WordPress.com VIP team at Automattic. I had been working at Automattic for the two years prior to this – and had been developing sites with PHP and WordPress for almost ten years prior to that. So you might imagine that I had a pretty good handle on developing stuff with WordPress.

\n

And you would be wrong. Getting started with the VIP team was an eye-opening and occasionally terrifying learning experience, occasionally resulting in me thinking: “please excuse me for a moment while I go and fix some horrible vulnerability in all of my WordPress sites.”

\n

Recently, I have cautiously found myself feeling slightly more comfortable with my position on the team. For some time, I have been wanting to document the most interesting and impactful things that I have learned in the past year.

\n

As some readers may know, a significant part of a developer’s job on the VIP team is reviewing code. Thus, with us being at the start a new year, I have hereby compiled some of the most interesting best practices I have discovered as a list of New Year’s Resolutions:

\n

1. Use strict comparison operators

\n

One of the many quirks of PHP is that it enjoys juggling. In particular, it enjoys juggling types. This means that without explicit instruction, PHP doesn’t see a difference between a string of “string”, an integer of 0, and a boolean value of true.

\n

So for example this:

\n
$var = 0;\nif ( $var == \'safe_string\' ) {\n    return true;\n}\n
\n

Will return true. I know, what?! The easy solution here is to simply use strict comparison operators.

\n

So that’s === instead of ==, and !== instead of !=. This pops up in a few other places too. By default the in_array() function has its strict parameter set to false.

\n

So:

\n
in_array( 0, [\'safe_value\', \'another string\'] );\n
\n

Will return true. To fix this, simply pass a third parameter of true.

\n

While we’re here, there’s one other form of comparison we should be aware of, and that’s hash_equals(). This provides a string comparison that prevents timing attacks.

\n

While a relatively uncommon form of attack on the web, it’s worth being aware of a timing attack. What is it? Well, when PHP compares two strings, it compares them one character at a time.

\n

So in the case of something like this:

\n
$submitted_password = $_POST[\'password\']; // For argument\'s sake, let\'s say it\'s \"pa45word\"\n$password = \"pa55word\";\n\nif ( $submitted password === $password ) {\n    go_forth();\n}\n
\n

PHP’s thought process in human terms is: Is the first character of each string p? Yes it is. Is the second character of each string a? Yes it is. And so on.

\n

It will do this until it realizes that the third characters differ and at that point it will bail. Thus, with sophisticated timing software, a password can gradually be worked out by calculating how long the process is taking. If the process takes slightly longer with one character than it does with every other character, an attacker will know that they have worked out the first character.

\n

Automated processes can keep doing this until the entire password is worked out. hash_equals() will compare two values, but will not bail early if it detects a difference.

\n

In conclusion, if you’re comparing sensitive values, use hash_equals()!

\n

2. Use Yoda condition checks, you must

\n

The WordPress PHP Coding Standards suggest that you should: “always put the variable on the right side and put constants, literals or function calls on the left side.” Initially, this might just sound like a bit of pedantry, but it actually has a very practical application.

\n

Consider how catastrophic the following typo could be:

\n
if ( $session_authorized = true ) {\n    unleash_the_secrets();\n}\n
\n

Oh dear, instead of checking that $session_authorized is true, I am instead assigning the value of true to that variable.

\n

Now the secrets are being unleashed to whoever wants them. This could easily be missed when checking the code for bugs, even by a reviewer.

\n

Now imagine if the first line was expressed as:

\n
if ( true = $session_authorized ) {\n
\n

Well, it doesn’t. We can’t assign a variable to the static boolean value of true.

\n

Hopefully it won’t take us too long to work out why our code is still broken, but the secrets remain safe. So we’re good! \"?\"

\n

3. ABE. A Always, B Be, E Escaping. Always Be Escaping. ALWAYS Be Escaping.

\n

Not having a firm grasp of the concepts of validation, sanitization and escaping can make you a very dangerous developer indeed.

\n

To the extent that libraries like React escape all output by default and to bypass this functionality, you have to use the attribute: dangerouslySetInnerHTML

\n

Validation is checking that what your code is being passed is even vaguely what it’s expecting. So for instance, if we’re expecting an integer, we can use something like: $zipcode = intval( $_POST[\'my-zipcode\'] )

\n

The intval() function returns its input as an integer and defaults to zero if the input was a non-numeric value. So while this won’t prevent our code from being passed zipcodes that aren’t valid, it does protect our code from being passed anything that isn’t a number.

\n

Naturally, we could go a step further to see if the zipcode actually appears to be valid. For example, 1111111111111 is not a valid zip code, but intval() doesn’t know that.

\n

Fortunately, beyond integers, WordPress has a bunch of handy helper functions for almost every data type including my favourite: is_email().

\n

Sanitization is cleaning input to make sure that it’s safe in the context where we want to use it. This prevents one of the most common forms of security vulnerability, an SQL injection attack.

\n

We also sanitize to fix practical things, like checking for invalid UTF-8 characters. WordPress has a class of sanitize_*() helper functions; here’s an example of how one looks in the wild:

\n
$title = sanitize_text_field( $_POST[\'title\'] );\nupdate_post_meta( $post->ID, \'title\', $title );\n
\n

Therefore no matter what garbage we might have been passed in $_POST[\'title\'], it won’t cause any real problems.

\n

Escaping is similar to sanitization, but instead it is cleaning what we’re sending out, rather than what we’re taking in. A major reason for doing this is to prevent another of the most common forms of security vulnerability, a Cross-site Scripting (or XSS) attack.

\n

We want to clean our output to ensure we aren’t accidentally echoing out something very dangerous that we didn’t realize we were inadvertently storing in our database (or perhaps fetched from an API).

\n

WordPress has a bunch of very useful helper functions here. Some common examples of these in the wild are:

\n
<h4><?php echo esc_html( $title ); ?></h4>\n
\n
<img alt=\"\" src=\"<?php echo esc_url( $great_user_picture_url ); ?>\" />\n
\n
<ul class=\"<?php echo esc_attr( $stored_class ); ?>\">\n
\n

There is also wp_kses() which can be used on everything that is expected to contain HTML, and will filter out elements that are not explicitly allowed.

\n

As a general rule, the the_*() and get_the_*() theme functions are already escaped. However, the get_bloginfo() function, for example, is not escaped.

\n

For further information here, I highly recommend checking out the VIP team’s documentation on Validating, Sanitizing, and Escaping.

\n

4. Stop trusting everything

\n

Don’t trust user input. Don’t trust what’s in your database. Don’t trust any variables.

\n

Treat every variable with contempt.

\n

This way, even if, for example, someone sneaks some dodgy XSS code into your database, it’ll still get escaped on output and your site will be better protected.

\n

5. Avoid inserting HTML directly into the document (when using JavaScript)

\n

Doing something like this is dangerous because the data that we’re using could include many more DOM elements that dramatically alter the anticipated behavior of this code, and make it vulnerable to XSS attacks:

\n
jQuery.ajax({\n    url: \'http://any-site.com/endpoint.json\'\n}).done( function( data ) {\n    var link = \'<a href=\"\' + data.url + \'\">\' + data.title + \'</a>\';\n\njQuery( \'#my-div\' ).html( link );\n});\n
\n

Instead, we should programmatically create DOM nodes and append them to the DOM. So the above instead becomes this:

\n
jQuery.ajax({\n    url: \'http://any-site.com/endpoint.json\'\n}).done( function( data ) {\n    var a = jQuery( \'<a />\' );\n    a.attr( \'href\', data.url );\n    a.text( data.title );\n\njQuery( \'#my-div\' ).append( a );\n});\n
\n

This is how a library like React does things behind the scenes. You can read more about this in a wonderful post about preventing XSS attacks in JavaScript by my colleague, Nick Daugherty.

\n

6. Review code

\n

Have you ever reviewed a plugin before using it? I know, who’s got time for that right? I’ll tell you who: you.

\n

I have come to realize that reviewing code is possibly one of the best exercises for improving as a developer. Even if you’re quite new to programming or development, and you still feel pretty green, you really should give it a go.

\n

A great way to start is to review the next plugin you decide to use on your website. Before activating it, pop it open in your text editor of choice, and just spend some time scanning through it to understand what it does.

\n

A method I like to use here is to interpret each line of the code in simple English. You can even say it loud if you like – assuming you’re not sitting in a café or co-working space where people might become worried about you.

\n

You might be surprised at how often you find bugs and quirks in the code, or that the code isn’t conforming to the best practices outlined above. And if you discover issues, why not create a patch? Or if the plugin is on GitHub, create a pull request.

\n

You can also review your own code. A great method for doing this is to never deploy code straight into production. Instead, leave it on the day you finish it, and review it line by line in the morning. This method is easiest to adopt if you’re using something like GitHub where you can create a pull request with the changes, then review the pull request yourself the next day before merging it.

\n

In this vein, I highly recommend watching my colleague, Ryan Markel’s, fantastic talk on this topic from WordCamp US 2016.

\n

7. Upgrade your tools (or at least use PHP_CodeSniffer)

\n

There are lots of tools that help make web development easier, but if you’re doing a lot of WordPress development, the most valuable is probably PHPCodeSniffer. It reads your code and automatically reviews it for bugs and coding standards inconsistencies while you type.

\n

It’s kind of like a spell checker, but for code. No matter how good your English is, you still use spell check right? So why wouldn’t you spell check your code?

\n

Here’s a bonus for you: the WordPress VIP Coding Standards are available by default with the WordPress Coding Standards for PHPCodeSniffer. So with that, it’ll check if you’re following most of the above resolutions.

\n

As you might imagine, using PHP_CodeSniffer also really helps highlight potential problems when you’re reviewing plugins and other people’s code.

\n

8. Be curious

\n

Far too often, I’m guilty of searching to try to find out what a particular WordPress function does, or scanning Stack Overflow to see if someone’s having the same problem as me.

\n

I have historically had a bad habit of seeing much of what WordPress does as magic, and avoiding getting too deep in the inner workings. But actually, it can be very beneficial to find out answers for yourself, instead of trying to find others who have already done the work.

\n

In essence, WordPress is quite simple. The code largely consists of functions taking arguments, and doing things with those arguments, and passing the results onto other functions taking arguments, and so on.

\n

It doesn’t take much to start unpicking something, and working out exactly what’s happening behind the scenes. So next time you’re struggling with a function, try going straight to looking at what the function actually does.

\n

Personally I find the WordPress GitHub repo that mirrors the core SVN repo to be a very useful way of doing this.

\n

The WordPress strapline is that “code is poetry”, and for its flaws I find that on the most part, the WordPress codebase is very readable, if nothing else! \"?\"

\n

I’ll conclude by taking this opportunity to wish you a very happy and prosperous new year!

\n

Note: Some of the above has been gleefully plagiarized from WordPress.com VIP’s Code Review documentation. It’s an Aladdin’s cave of useful advice, and I highly recommend working your way through it as and when you can.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 21:26:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Jack Lenox\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"WPTavern: Tom McFarlin to Launch Marketplace for Blogging Plugins, Finds New Maintainer for WordPress.org Plugins\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64899\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:123:\"https://wptavern.com/tom-mcfarlin-to-launch-marketplace-for-blogging-plugins-finds-new-maintainer-for-wordpress-org-plugins\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5189:\"

Daily blogger and plugin author Tom McFarlin has found a new maintainer for five of his WordPress.org plugins. Within two days of putting the plugins up for adoption, McFarlin announced that Philip Arthur Moore will be taking over Category Sticky Post, Comment Tweets, Single Post Message, Tag Sticky Post, and Tipsy Social Icons. Moore, who is currently working as CTO at Professional Themes, has inherited roughly 10,000 users overnight in the transfer of maintainership.

\n

WordPress.org plugin adoption stories are few and far between. The most common scenario for an orphaned plugin is to languish in the directory until it disappears from search results (with the exception of exact matches) after two years of no updates. In McFarlin’s case, he was looking to tie up some loose ends before shifting Pressware’s focus to launching Blogging Plugins, a marketplace for extensions that streamline WordPress for regular bloggers.

\n

“Last year, I had a few false starts when trying to launch what was originally called Pressware Plugins,” McFarlin said. “Fast-forward a few months and we’re going to focus on something called Blogging Plugins. We already have two free plugins available, though there’s an entire set of plugins, marketplace, and more coming.”

\n

Moore’s adoption of the plugins, which includes the first plugin McFarlin ever wrote, allows Pressware to move forward with its 2017 objectives. McFarlin said he selected Moore based on the quality of his open source projects and reputation in the WordPress community.

\n

“For those of you who aren’t familiar with Philip’s side projects, you may be familiar with Subtitles,” McFarlin said. “It’s a plugin that falls right in line with my personal ethos of how things should work with WordPress: You activate it, it’s ready to go, and it feels native within the application.”

\n
\n

Why would I adopt @tommcfarlin\'s work? Because I owe him. He\'s ethical, an amazing man, and a stellar coder: https://t.co/WM66Xu1vm1

\n

— Philip Arthur Moore (@philip_arthur) January 6, 2017

\n

\n

The adopt-me tag is used on WordPress.org to indicate plugins where the author is looking for a new maintainer. With just two pages of listings, it’s not yet widely used. Most developers find it easier to fork an open source plugin and WordPress.org has recently made it easier than ever for authors to close a plugin by simply emailing the plugin team.

\n

However, not all orphaned plugins are ready for end of life measures. Circumstances change in plugin authors’ lives, but the strength of the user base is one of the primary indicators of a project that could thrive in new hands. The built-in user base is also one of the main advantages of adopting a plugin as opposed to forking it.

\n

Developer and ZDNet columnist David Gewirtz discovered the full weight of adopting a plugin’s users when he took on 10 plugins from the adopt-me section of the directory. Gewirtz, who inherited approximately 50,000 users, said the experience helped him reconnect with real users.

\n

“The value I’ve gained as a columnist, advisor, and educator that has come from interacting with users from so many nations with so many different skill sets and missions has been off the charts,” Gewirtz said. “I thought I’d keep my programming chops up, and I’ve certainly done that. But I never expected I’d gain a much broader perspective that I’d be able to apply to all of the areas of my professional life and meet so many cool people.”

\n

Adoption is arguably the healthiest outcome for any orphaned project – not just for the sake of reducing plugin abandonment but also for continuing support for users. Many of them blindly depend on plugins with no understanding of how they work.

\n

Once a plugin is downloaded and installed on users’ sites, it gains a life of its own. Adoption strengthens a project’s history by proving it can weather storms that might otherwise cause the plugin to become obsolete and wipe out the user base.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 07:59:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Matt: Thirty-Three\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"https://ma.tt/?p=47034\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://ma.tt/2017/01/thirty-three/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4279:\"

I’m taking it easy this week, nothing too crazy — just sharing good meals and wine with friends. Which is probably a good example of my goals for the year: putting family and loved ones first, slowing down (to go further), and deliciousness. (Single Thread Farms blew me away.)

\n

2016 was a year of incredible contrasts: it was the saddest and most challenged I’ve ever been with the passing of my father, and while that overshadowed everything there were also bright moments of coming closer to family, deepening friendships, and growing professionally with incredible progress from both WordPress and Automattic. That momentum on the professional side is carrying through and right now I’m the most optimistic I can recall, and thrilled to wake up and get to work every day with the people I do.

\n

I talked about trying to spend longer stretches of time in fewer places, and that definitely happened. I flew 162k fewer miles than the year before, and visited 35 fewer cities. My blogging decreased a lot too — from 252 posts in 2015 to 76 posts in 2016, but the posts I did write were at least 50% longer. I made it to 9 more of the Top 50 restaurants and stand currently at 50% of the list. I finished 22 books, including a lot more fiction including my first few graphic novels like Ex Machina, Y: The Last Man, and Watchmen. I watched 35 movies, 9 of which were from the Marvel universe on a single flight from Cape Town to Dubai.

\n

Last year I said, “it’s exciting to make the most of the opportunity that the volatility, love, loss, glory, failure, inspirations, and setbacks that 2016 will bring.” I didn’t know how right I would be, and wish I hadn’t been.

\n

This year doesn’t start with new plans, but rather three intentions continued from a few months ago. I revealed one yesterday, and promised I would expand today on the others, so here they are:

\n
    \n
  1. Symmetry — Balance in all things, including my body which is stronger on my right side and much tighter on my left side. We also need symmetry in WordPress between the .org and .com products which differ too much.
  2. \n
  3. Stillness — In echoes of Pico Iyer, so much of my life in my 20s was about movement, and “going places to be moved.” In my 30s I’m looking inward. As Saint Augustine said in Book X, chapter 8 of Confessions: “Men go forth to wonder at the heights of mountains, the huge waves of the sea, the broad flow of the rivers, the vast compass of the ocean, the courses of the stars, and they pass by themselves without wondering.”
  4. \n
  5. Yellow Arrows — The idea that there are clear indications of where to go next at every fork in the road, and if not you should paint them. I wrote more on this  yesterday.
  6. \n
\n

Previously: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, and 32.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 12 Jan 2017 07:59:25 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"WPTavern: WordPress 4.7.1 Fixes Eight Security Issues\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65100\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://wptavern.com/wordpress-4-7-1-fixes-eight-security-issues\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2146:\"

WordPress 4.7.1 is available for download and fixes eight security issues that affect WordPress 4.7 and below. The PHPMailer library was updated to patch a remote code execution (RCE) vulnerability. WordFence reported the vulnerability last month as critical and that it affects WordPress core.

\n

However, in the announcement post for 4.7.1, Aaron Campbell, WordPress’ new Security Czar says that, “No specific issue appears to affect WordPress or any of the major plugins we investigated but, out of an abundance of caution, we updated PHPMailer in this release.” Dawid Golunski and Paul Buonopane are credited with responsibly disclosing the vulnerability.

\n

WordPress 4.7.1 also fixes an issue where the REST API exposed user data for all users who authored a post of a public post type. This release limits this ability to only post types which have specified that they should be shown within the API. Brian Krogsgard and Chris Jean are credited with responsibly disclosing the vulnerability.

\n

In addition to patching eight security issues, this release fixes 62 bugs. To see a full list of changes, visit the release notes page or you can view them on Trac. Sites should update automatically but if you’d like to update sooner, visit your site’s Dashboard, select Updates, and click the Update Now button.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 23:19:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"WPTavern: Facebook Launches Journalism Project, Plans to Expand Monetization of Instant Articles\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=65121\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:106:\"https://wptavern.com/facebook-launches-journalism-project-plans-to-expand-monetization-of-instant-articles\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3423:\"

After taking heat for the proliferation of “fake news” and misinformation on its platform during the US presidential election, Facebook is aiming to strengthen its ties with the news industry.

\n

“We care a great deal about making sure that a healthy news ecosystem and journalism can thrive,” Facebook director of product Fidji Simo said in the announcement today.

\n

The new Facebook Journalism Project will focus on creating news products with feedback from publishers, providing training and tools for journalists, and promoting news literacy for the public.

\n

In 2015 Facebook launched Instant Articles to deliver publishers’ content instantly in exchange for advertising revenue. The platform will be expanding the feature to combine multiple Instant Articles in one post, starting January 12, 2017.

\nimage credit: Facebook\n

“We’ve heard from editors that they want to be able to present packages of stories to their most engaged readers on Facebook,” Simo said. “We’re starting to work with several partners on how best to do this. We’re going to start testing this using Instant Articles, so that readers can start to see multiple stories at a time from their favorite news organizations.” Facebook is currently testing this feature with BILD, BuzzFeed, El Pais, Fox News, Hindustan Times, The Sun, The Washington Post, and other publishers.

\n

In April 2016, Automattic partnered with Facebook and VIP-Featured-Partner agency Dekode to develop Instant Articles for WP, a plugin that outputs a compliant feed of posts wrapped in the required markup for Facebook. The plugin passed 10K active installs at the end of 2016, but its star rating continues to plummet due to numerous errors with updates and a lack of support. Only 1 of 42 support threads has been marked resolved in the last two months. Publishers who depend on the plugin may need to have a developer on staff to handle issues with the plugin or select another solution.

\n

Facebook is also planning to collaborate with publishers on subscription business models for their content. Participation in this feature will require the publisher to make its content available through Instant Articles.

\n

“Many of our partners have placed a renewed emphasis on growing their subscription funnel, and we’ve already begun exploring ways we can support these efforts,” Simo said. “This month our engineering team in collaboration with the engineering team of the German news organization BILD will launch a test to explore offering free trials to engaged readers, right from within Instant Articles.” Simo also said they are working on other monetization options for publishing partners, including advertising breaks in regular videos.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 21:49:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"HeroPress: Blogging, Solopreneurship, & Terrorism\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=1563\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://heropress.com/essays/blogging-solopreneurship-terrorism/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:13067:\"\"Pull

This story involves me as a blogger, the Prime Minister, me again as a web developer, an Islamic cult attempting a coup d’état, and me again as a solopreneur. Oh, and WordPress. And ISIS.

\n

WordPress: My First Encounter

\n

In the beginning of 2006, everyone in Turkey was talking about blogs. It was the hot new thing on the web. Forums were “out” and blogs were “in”. Anyways, I was getting ready for the ÖSS and studying to get into a university but I was psyched enough to register a blog on WordPress.com, on January 2006. (I moved the blog into a free hosting space the next month, and opened up beyn.org in July 2006.) I was in Kocaeli, the city right next to İstanbul.

\n

After the registration, I realized that I had nothing to write about. So I wrote about the day I had. The next day, I did the same thing. And the next day. And the next seven and a half years. Of course, I skipped four or five days. But that kind of dedication earned me a reputation and an award for “Best Personal Blogger of 2008”.

\n

But I didn’t just write about my days. After getting accepted into Ankara University in September 2006, I began to read and think about politics, as nearly all young Turks do in university. Eventually, I started writing about politics as well. Because you know what they say: If you want to learn something, write about it.

\n

Oh, I learned it pretty well, and I learned it the (somewhat) hard way.

\n

Facing Jail Time with a Blog Post

\n

2010 was probably my darkest year in my entire life. (2016 is the next candidate.) I was 22 years old, blogging daily, learning about web design and WordPress (more on that later), and keeping up with what’s going on with the country. Things were crazy back then: A very big prosecution was going on called the Ergenekon Case about military people allegedly planning a coup (Hint: This is not the coup I mentioned in the intro! These guys were all acquitted later.) and a big campaign for a constitutional referandum was more than enough to keep the whole country busy.

\n

In December 2010, Recep Tayyip Erdoğan, the Prime Minister of the time (and the President since 2014) sued me for one of my blog posts. It was about one of the slogans he used in his referandum rallies (“The terrorists and the opposition parties are soul mates!”) and me using the same sentence against him. Like, the exact same sentence. He didn’t like the way that the slogan was used against him, so he reported me and the state brought charges against me. I was 22 and I was being sued by the most powerful man in the country, because I used his words against him.

\n

When the Prime Minister sues you, you go to jail. There were little to no instances of winning a case against the government, especially when they were the one suing you. Thankfully, I was one of the few instances: I won the case in my third trial, February 14, 2012. (“Lovely” day, isn’t it?)

\n

There were one downside though: With the fear of the government suing me, I stopped writing about politics in 2011 and 2012, and even a few months after I won. And to this day, even though that fear is long gone, and even though I’m writing about politics again on Beyn, I still can’t write regularly like I did back then.

\n

Anyways. Moving on with the “web development” phase of my life.

\n

Learning to Develop WordPress, and Teaching It at the Same Time

\n

When I started Beyn, I immediately loved WordPress. I had some experience on HTML and CSS on Dreamweaver (never was a FrontPage guy), and I happily retired DW because I won’t be able to work on it while I was learning WordPress.

\n

I don’t remember trying to learn something with such passion. I loved the idea of plugins and themes extending the core. Beyn became my playground for new tricks, my laboratory for new experiments about WordPress. I installed plugins, edited themes, learned what’s right and what’s wrong with what I did… I probably crashed the website more than a hundred times!

\n

By 2012, I’d already started making websites for other people and getting paid. I had developed a few plugins, made a couple of themes from scratch. While still learning what awesome things I’m able to do with WordPress, I applied for a small writing gig at Wptuts+, which was later renamed Tuts+ Code. Because you know what they say: If you want to learn something, write about it.

\n

That “small writing gig” was in fact my biggest source of education. I wasn’t a WordPress expert, but that gig was the ultimate reason to learn more and more about WordPress. I remember constantly feeling that “I’ve finished telling about everything I know about WordPress, so now I have to learn more!” and doing research on things to write about.

\n

I was aware that I don’t have any chance to write a sloppy tutorial, so I nagged my editors (first Japh Thomson, then Tom McFarlin) about my writing style, my choice of topics and of course, my English. They said my English was very good, and my topics are relevant and suitable for publishing on Tuts+. In almost exactly four years (from April 2012 to March 2016), I wrote 134 posts and I’m very proud of (almost) all my work there.

\n

While it was sad to leave Tuts+, I had a project in my mind that I put off so long: Optimocha.

\n

WordPress Speed Optimization with Terrorists, Bombs and Death

\n

That title came out grimmer than I expected. Heh. Anyways.

\n

2015 was the year when I first thought about a speed optimization service for WordPress-based websites. Then I thought that I would better use my energy on the upcoming general elections in June. I worked for an NGO called “Vote and Beyond” to ensure transparency in observering of ballot count in the elections.

\n

2015 was also the year with a whole lot of terrorist attacks. PKK, a terrorist organization pretending to defend Kurds’ rights (while giving a bad name for all Kurds countrywide) and ISIS (you know them) were the most active terrorist organizations in 2015. They killed more than 250 people and injured more than 1000 in a series of shootings and bombings throughout the year.

\n

Worst year ever, right? Not even close. Let me quickly summarize the hell we’ve been through:

\n
    \n
  1. ISIS killed 116 people in 5 different attacks.
  2. \n
  3. PKK killed 176 people in 15 different attacks.
  4. \n
  5. TAK, PKK’s even uglier cousin, killed 43 people in 4 different attacks.
  6. \n
  7. FETO killed 248 people across the country in their coup d’état attempt on July 15.
  8. \n
\n

583 people killed in terrorist attacks in 2016. So, just a few more than all those lovely celebrities.

\n

What’s that FETO sticking out among the others, attempting a coup? That’s FEthullahist Terrorist Organization: The organization of Fethullah Gülen, an Islamic cult leader comfortably residing in Pennsylvania, plotting to take over the government for (I kid you not) over 40 years. Even I had made peace with the President because of the much needed “purges” to scrape his crypto-disciples in the government organizations. FETO is one of the enemies that can let you make peace with the ones against your values.

\n

(By the way: While celebrating that we got rid off that horror show of 2016, ISIS killed 39 more people with an AK-47 in a New Year party on January 1, in the middle of the night.)

\n

Still waiting for the part where I founded Optimocha, right? Sorry it took a bit long.

\n

April 2016 was the month I registered my company by paying for the usual fees to register a sole proprietorship, accountant fees, rent for an office (because by law, you can’t register a company without an office), some paperwork. All my funds vanished, leaving me with nothing to spend on marketing.

\n

PayPal halted operations in Turkey on June, because of conflicts with the government. 2CheckOut followed. I was going to use 2CO, so I was left with no payment gateway provider. Along with the terrorist attacks, I decided to spend Ramadan (the holy month for Muslims, passed on June 2016) sleeping, lying and moping around with depression.

\n

At the beginning of July, I was ready to work again, amped up for success! Except the coup attempt happened. Bombs and sonic booms in my city. Back to depression.

\n

By October, I was almost ready to go live with the website. I didn’t. I forced myself to finish it in November, before Black Friday. I did! People responded to my emails, said they’ll publish my deal on their blogs. People who saw the deal also responded and purchased my services. Yay.

\n

Conclusion

\n

Blogging is hard. Blogging with the most powerful man in your country trying to lock you up is the hardest.

\n

Solopreneurship is hard. Solopreneurship with several, highly active terrorist organizations killing people next to you is the hardest.

\n

Yet, and I’m sure this is going to sound cheesy, I have hope. This is the price we have to pay in order to get rid of the scum in the world. Turkey isn’t the worst country in the world suffering from terror–we’re just a country stuck between Europe, Russia, the Middle East and Africa. (Talk about a rock and a hard place…) We will survive this, and this too will pass.

\n

Turkey may be viewed as “yet another Middle Eastern country”, but it was founded almost a hundred years ago with the heritage of the Ottoman Empire, but also with a Western, secular mindset. Even today, you can’t find a sensible person talking trash about Mustafa Kemal Atatürk, who declined the Ottoman monarchy to set the foundation of a democratic republic in a time of dictatorships across Europe and Asia. Emphasis on the words “even today”, because the principles of his vision of the Republic of Turkey is in danger, a very large portion of the country has the confidence and equipment to defend those principles.

\n

Again: We will survive this, and this too will pass. You have my word.

\n

The post Blogging, Solopreneurship, & Terrorism appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 12:00:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Barış Ünver\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"Dev Blog: WordPress 4.7.1 Security and Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"https://wordpress.org/news/?p=4650\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"https://wordpress.org/news/2017/01/wordpress-4-7-1-security-and-maintenance-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6519:\"

WordPress 4.7 has been downloaded over 10 million times since its release on December 6, 2016 and we are pleased to announce the immediate availability of WordPress 4.7.1. This is a security release for all previous versions and we strongly encourage you to update your sites immediately.

\n

WordPress versions 4.7 and earlier are affected by eight security issues:

\n
    \n
  1. Remote code execution (RCE) in PHPMailer – No specific issue appears to affect WordPress or any of the major plugins we investigated but, out of an abundance of caution, we updated PHPMailer in this release. This issue was fixed in PHPMailer thanks to Dawid Golunski and Paul Buonopane.
  2. \n
  3. The REST API exposed user data for all users who had authored a post of a public post type. WordPress 4.7.1 limits this to only post types which have specified that they should be shown within the REST API. Reported by Krogsgard and Chris Jean.
  4. \n
  5. Cross-site scripting (XSS) via the plugin name or version header on update-core.php. Reported by Dominik Schilling of the WordPress Security Team.
  6. \n
  7. Cross-site request forgery (CSRF) bypass via uploading a Flash file. Reported by Abdullah Hussam.
  8. \n
  9. Cross-site scripting (XSS) via theme name fallback. Reported by Mehmet Ince.
  10. \n
  11. Post via email checks mail.example.com if default settings aren’t changed. Reported by John Blackbourn of the WordPress Security Team.
  12. \n
  13. A cross-site request forgery (CSRF) was discovered in the accessibility mode of widget editing. Reported by Ronnie Skansing.
  14. \n
  15. Weak cryptographic security for multisite activation key. Reported by Jack.
  16. \n
\n

Thank you to the reporters for practicing responsible disclosure.

\n

In addition to the security issues above, WordPress 4.7.1 fixes 62 bugs from 4.7. For more information, see the release notes or consult the list of changes.

\n

Download WordPress 4.7.1 or venture over to Dashboard → Updates and simply click “Update Now.” Sites that support automatic background updates are already beginning to update to WordPress 4.7.1.

\n

Thanks to everyone who contributed to 4.7.1: Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, Andrea Fercia, Andrew Ozz, bonger, Boone Gorges, Chandra Patel, Christian Chung, David Herrera, David Shanske, Dion Hulse, Dominik Schilling (ocean90), DreamOn11, Edwin Cromley, Ella van Dorpe, Gary Pendergast, Hristo Pandjarov, James Nylen, Jeff Bowen, Jeremy Felt, Jeremy Pry, Joe Hoyle, Joe McGill, John Blackbourn, Keanan Koppenhaver, Konstantin Obenland, laurelfulford, Marin Atanasov, mattyrob, monikarao, Nate Reist, Nick Halsey, Nikhil Chavan, nullvariable, Payton Swick, Peter Wilson, Presskopp, Rachel Baker, Ryan McCue, Sanket Parmar, Sebastian Pisula, sfpt, shazahm1, Stanimir Stoyanov, Steven Word, szaqal21, timph, voldemortensen, vortfu, and Weston Ruter.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 03:53:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Aaron D. Campbell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Matt: Rebirth and Yellow Arrows\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"https://ma.tt/?p=47020\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://ma.tt/2017/01/rebirth-and-yellow-arrows/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2464:\"

My friend Kamal Ravikant has a new book out, Rebirth, which I highly recommend. I had the good fortune to read it a few months ago and the story of the Camino de Santiago touched and inspired me.

\n

Because of the impact of the book, I ended up adopting a few New Year’s intentions long before January 1st — things to ruminate on and keep in mind as the year wound down. The outlook of the world seemed uncertain, and I’m learning to navigate the world without my father.

\n

\n

Yellow Arrows

\n

The Camino de Santiago is a pilgrimage path in Spain that people have walked since the 9th century AD. The 500 mile path winds through mountains, fields, and sometimes cities, and many pilgrims take a month or more on it. In some ways it is similar to the Kumano Kodo walk I did with Dan and Craig last year.

\n

There are places where the path isn’t exactly clear, either because the trail isn’t strong, there’s been growth, or you might be in a crowded urban area like a city. Over the years pilgrims and people who live on the trail have marked it with yellow arrows pointing the way. If someone gets lost or confused, it’s an opportunity for an additional sign to bring them back on track.

\n

When you know the path, is it clear where someone else walking it should go next? It’s an interesting concept that applies across life. In your relationships, does your friend, loved one, or partner know what to expect, and where you’re headed together? Even in WordPress I feel like there are too many places where we bring someone to a fork in the road and there is no clear indication which way they should take.

\n

Give some thought to the yellow arrows in your life, and I’ll write more about the other two things I’ve been thinking about tomorrow. Also don’t forget to pick up a copy of Kamal’s book. I loved it and I think it will be one I’m recommending to many friends.

\n

\n

(Image from Camino Travel Center.)

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 11 Jan 2017 03:48:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"WPTavern: Year in WP Creates a Personalized Review of WordPress Contributions in 2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64884\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"https://wptavern.com/year-in-wp-creates-a-personalized-review-of-wordpress-contributions-in-2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4911:\"

Year In WP is a new site by Jesper van Engelen that creates a personalized review of a user’s contributions to WordPress in 2016. Entering the WordPress.org username of a plugin or theme author or a WordPress core contributor into the field generates a list of statistics that includes:

\n
    \n
  • Profile information
  • \n
  • Number of times their plugins and themes were downloaded
  • \n
  • Most downloaded plugins and themes
  • \n
  • Average number of downloads per week
  • \n
  • Plugin and theme review rating average
  • \n
  • Percentage of five-star ratings
  • \n
  • A selection of five-star reviews
  • \n
  • Number of commits, changes, and comments to WordPress core
  • \n
  • Number of WordPress releases contributed to
  • \n
\n

Engelen got the idea to create the site in 2014 after Spotify launched its ‘Year in Music‘ that highlighted trends based on what 50 million users listened too.

\n

“I’d been active in the WordPress plugin market for about four years at that point, and I figured it would be really cool to get some year-over-year insight into your WordPress plugins,” Engelen said.

\n

“Having become a partner at Admin Columns (a freemium WordPress plugin) in 2014, I found out that I really liked analyzing statistics of downloads, sales and other data, and that, properly grouped and reported, they could have a pretty big influence on decision-making from a business perspective.”

\n

Engelen started the site by experimenting with fetching data from WordPress.org through its API that would show the change in the number of downloads to a user’s plugins.

\n

“That is basically what lead to the ‘Your most popular plugins’ overview page,” Engelen said. “Spending some free hours each week on working on the project, more and more ideas of data to include popped up.”

\n

\n

The site displays a lot of data, but it doesn’t include everything. Engelen would like to eventually display sections for contributions to WordPress translations, plugins, themes, core, design, etc.

\n

The Technical Details

\n

The data displayed on Year in WordPress is gathered using the WordPress.org API, subversion, and web scraping. Engelen would have used the WordPress REST API but it was not available at the time, “Fetching the reviews and support topics yielded quite a bit of annoyance, as they’re done by scraping,” he said.

\n

He uses a Python framework to fetch relevant data in parallel. The data is stored in an SQL database, which is accessed by a front-end tool. The front-end of the site features a design that was reused from AdminColumns.com.

\n

“jQuery, combined with Chart.js and Fullpage.js power the interactive portion of Year in WordPress. I’ve also written some simple sentiment analysis code for filtering out the most popular reviews to show for each plugin/theme developer,” Engelen said.

\n

Fun Facts about Year in WordPress

\n

Engelen provided the Tavern with these fun facts related to Year in WordPress:

\n
    \n
  • There’s a Year in Review for about 100,000 users on WordPress.org — or all users who have contributed to a plugin or theme, created a review or a support ticket, or contributed to WordPress core.
  • \n
  • The full database takes about 500MB of space.
  • \n
  • There were 364,763,308 plugin/theme downloads in 2015, and 434,865,745 in 2016. That’s 19.2% growth!
  • \n
  • 2016 was the first year where the number of new core Trac tickets shrunk (4,044 in 2014; 4,392 in 2015; 4,028 in 2016)
  • \n
  • 73% of all plugins received zero reviews in 2016
  • \n
\n

Year in WordPress 2017 Is Not Guaranteed

\n

Engelen is not making any promises for continued development in 2017 as it’s contingent on his free time. However, the main thing he would like to change is to include a wider spectrum of data.

\n

“When I pitched the idea of Year in WordPress to a core committer and showed the beta version, he said ‘there’s so much more than core itself’ and that stuck with me,” he said.

\n

“The perfect ‘Year in WordPress’ would feature cool statistics about all types of contributions people make to WordPress — whether it’s creating plugins and themes, writing code for core, translating or testing. Furthermore, I’m really looking forward to making use of all of the REST API’s that I can use this time around.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 10 Jan 2017 22:11:43 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"WPTavern: Say What Plugin Passes 10K Active Installs\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64778\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"https://wptavern.com/say-what-plugin-passes-10k-active-installs\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5220:\"

WordPress core doesn’t make it easy to edit text strings, but a little plugin called Say What? has been quietly gaining a solid user base by providing this functionality. It allows users to edit text strings without editing WordPress core or plugin code. Lee Willis released Say What in 2013, but the plugin had a significant jump in users in 2016, doubling the number of active installs from 5,000 to 10,000 sites.

\n

Willis, who is the author of 22 plugins hosted on WordPress.org and many more commercial extensions, created Say What while working as a Drupal developer.

\n

“One of our must-install Drupal modules was called String Overrides, which inspired Say What?” he said. “At the agency I was working at we used it regularly on virtually every site build to override plugin, theme, and core strings in a ‘non-hacky’ way. Given that, I knew that the problem was there to be solved on WordPress, and that something that worked well would be useful to people.”

\n

Say What adds a new screen for editing text under Tools > Text changes for configuring string replacements. Users enter the current string, text domain, and replacement text.

\n

\n

This plugin is a good option for those who are not comfortable sifting through PHP files and adding a filter to change the text. If you just have a handful of strings to replace, it’s more convenient than using a translation tool like POEDIT to edit the language files. All of the text changes are listed together in the Say What admin panel, so they can be easily changed at any time without editing any files.

\n

Willis said users don’t often experience conflicts with themes and plugins, as there is so little frontend functionality included in the plugin.

\n

“The main areas of support tend to be around locating particular strings, or issues where broken custom code is breaking the filters that Say What uses,” Willis said. After speaking with friends at a WordCamp in March 2015, he decided to create a commercial version to address this issue and a number of other feature requests.

\n

“The free version was out for about two years before I launched the Pro version,” Willis said. “The only issue people tended to have with the free version was around finding the information they needed for the ‘original string,’ so I decided to build out the String Discovery feature as the first feature of the Pro version. This lets users search for the string using autocomplete functionality, making it much easier to set up replacements without delving through theme or plugin code.”

\n

Say What increased in popularity in 2016 and has maintained a 4.6-star rating on WordPress.org. It is becoming more frequently recommended by support teams of other plugins when customers ask about how to change text strings.

\n

“It’s great to know that it’s being used to help people build more future-proof sites without resorting to hacking plugin or core code just to change strings,” Willis said. “Even for people familiar with plugin and theme code, the String Discovery feature makes it a lot easier and quicker to set up replacements. It’s had a few new features over the last year, including support for multi-line, and single/plural style replacements.”

\n

Willis said his Pro version proved to be fairly popular during 2016 and became one of his highest selling plugins. He recently added support for multilingual sites, the most often requested feature, allowing users to set up different replacements for different languages.

\n

Willis does not have an extensive roadmap for the plugin, as he prefers to keep it uncomplicated and free of clutter. “I’m a big believer in plugins that do one thing, and do it well,” he said.

\n

Say What is another successful instance of a developer solving one of his own problems and striking upon a successful commercial product. Willis said he didn’t fully anticipate how popular the plugin would become.

\n

“As with most of my plugins it was also built to solve a problem that I personally was having at the time,” he said. “That said, I’m always (pleasantly) surprised when something does get popular.”

\n

After testing Say What I found that Willis’ implementation is the simplest way for non-technical users to make a few simple string changes without the risk of breaking their websites. He is also very responsive on the support forums. The success of the Pro version is a good indication that Willis will be able to continue support and maintenance on the free plugin for the foreseeable future.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 10 Jan 2017 21:26:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: How Laravel Forge Can Help You Run WordPress in the Cloud\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64940\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"https://wptavern.com/how-laravel-forge-can-help-you-run-wordpress-in-the-cloud\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:7837:\"

\"petersuhm\"This opinion piece was contributed by guest author Peter Suhm. Peter is a web developer from the Land of the Danes. He is the creator of WP Pusher and a huge travel addict, bringing his work along with him as he goes.
\n 

\n
\n

Laravel Forge is a server and application provisioning tool that was originally built to serve the Laravel PHP crowd. Recently, it has been made available to WordPress developers too, with the introduction of 1-click installs of WordPress on Digital Ocean, Linode and AWS cloud servers. In this post, I’ll give you a brief introduction to Laravel Forge and show you how you can use it to manage all of your WordPress installations in the cloud.

\n

Laravel Forge is good news for WordPress developers

\n

Because so many WordPress developers are used to managed hosting, the thought of running their own servers seem quite intimidating. That’s a shame with so many great cloud server companies offering virtual servers for very low costs. Unless your traffic is very heavy, a small ($5 to $10 per month) server can run quite a few WordPress websites. Laravel Forge takes care of provisioning your servers and can even setup your database and install WordPress for you. This makes cloud hosting much more available to WordPress developers at a low cost (Laravel Forge is $15 per month for unlimited servers), compared to many of the existing options.

\n

Here are a few reasons why I think Laravel Forge is great for WordPress hosting:

\n
    \n
  • Your servers are configured in a secure way by default, with SSH authentication, firewalls, automatic security updates and free SSL certificates from Let’s Encrypt
  • \n
  • Your servers are going to be really fast with PHP 7
  • \n
  • You can run a lot of WordPress installs on 1 single server *
  • \n
  • You can scale your servers if you need more horse power *
  • \n
\n

* Goes for the cloud in general

\n

Creating a new server

\n

Here is how the “Create Server” screen looks in Forge:

\n

\"\"

\n

If you use Digital Ocean, Forge can also create your servers. If you use another provider like Linode or AWS, Forge can only do the provisioning part.

\n

For Digital Ocean servers, here are the options you can configure:

\n
    \n
  • Which credentials to use, if you are managing multiple Digital Ocean accounts
  • \n
  • The server name
  • \n
  • The server size
  • \n
  • The server region
  • \n
  • The PHP version
  • \n
  • The default database name
  • \n
\n

You can then choose to:

\n
    \n
  • Configure the server as a load balancer (if you have really heavy traffic and is running WordPress across multiple servers)
  • \n
  • Install MariaDB instead of MySQL, which is a drop-in, faster replacement
  • \n
  • Enable weekly backups on Digital Ocean
  • \n
\n

When Laravel Forge is done with the provisioning, your server is ready to go.

\n

Setting up a database

\n

\"\"

\n

Once your server has been created, setting up a database for your WordPress installation is very easy. You can create the user at the same time you’re creating the database, or you can create the user afterwards.

\n

Installing WordPress

\n

Before you install WordPress, you need to create a new “site” on your server. You can just stick with the defaults:

\n

\"\"

\n

For the “Root Domain”, you need to add the domain name of the site you are setting up. Remember that you need to add a DNS record for your domain that points to the IP address of your newly created server. If you are just testing, you can always add a record in your computer’s hosts file with a test domain that points to your server. Something like this:

\n

# /etc/hosts

\n

# Replace xx.xx.xx.xx with your server\'s IP address
\nxx.xx.xx.xx wordpress-forge.test

\n

Once you click the “Add Site” button, you will see a spinning wheel while Forge is setting up your site’s nginx configuration.

\n

When the installation is done, you need to click the “Manage” icon next to your site in order to install WordPress. The first screen you will be presented with gives you the option to install an “App” on your site. Click the “WordPress” button, select your database and user from the previous step and relax while Laravel Forge completes the installation. Fun fact: Laravel Forge is actually using WP-CLI to install WordPress on your server.

\n

When the installation has completed, visit your site in a browser and you’ll be met with something familiar:

\n

\"\"

\n

Setting up a free SSL certificate

\n

Finally, you should set up SSL for your WordPress site. It’s more secure and Google likes it!

\n

\"\"

\n

Head over on the “SSL” tab and click the “LetsEncrypt (Beta)” button. Click the “Obtain Certificate” button and wait while Forge creates and installs the certificate. Once the certificate is installed, click the “Activate” icon and voila! Your site is now all set up and secured with SSL.

\n

That’s how easy it is to setup WordPress on a cloud server with Laravel Forge. I hope to see a lot of more products and tools like this that can help us building better, faster, and more secure WordPress websites. In fact, Laravel Forge was the original inspiration for my own product WP Pusher. I wanted to create a similar experience, but for WordPress plugins and themes instead.

\n

Note on backups and security

\n

Please note that even though Laravel Forge makes for a great starting point, ultimately you are the one in charge of the security of your servers. You should always try to educate yourself about security and have a backup strategy for your data.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 09 Jan 2017 18:44:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"Post Status: Contributing to Twenty Seventeen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=31886\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://poststatus.com/contributing-to-twenty-seventeen-theme/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:11882:\"

Editor’s Note: This is a guest post by Sami Keijonen. Sami is a developer, the owner of the Foxland theme and plugin shop, and hails from Finland.

\n

Every year since 2010, WordPress has shipped with a new default theme, breaking the cycle of Kubrick being the primary default theme for years before that.

\n

In 2010, the default theme was called Twenty Ten. In 2011, the default theme was called Twenty Eleven. You get the idea.

\n

While every default theme has been unique in its own way, Twenty Seventeen was particularly compelling in a way we haven’t seen in a default theme since Twenty Fourteen.

\n

Twenty Fourteen was the first theme that really made people think WordPress could be used for more than “just a blog” on a mass scale. It is a magazine theme.

\n

Twenty Seventeen — released with WordPress 4.7 — is the first theme that really made people think WordPress could be used for more than “just publishing content” on a mass scale. It is a business theme.

\n

\n

Prior to WordPress 4.7, I contributed by helping out in the support forums and building accessible themes. But I had never contributed to core before.

\n

When I saw the previews, I knew I wanted to contribute, and began to follow development on GitHub to see if there was anything that I could lend my talents to and eventually make my first core contributions.

\n

When I saw Morten Rand-Hendriksen open an issue about replacing icon fonts with SVG icons, I knew I had found the perfect “in” to start contributing to core.

\n

Contributing SVG icons system to Twenty Seventeen

\n

\n

I had already switched from icon fonts to SVG icons in my public themes, so this was something I immediately felt confident in contributing to core.

\n

Development started in GitHub, where fellow contributors would create issues and submit pull requests.

\n

Then, everything moved to WordPress SVN, where new patches were submitted.

\n

I’ll summarize what I learned in the process.

\n

What I learned about contributing

\n

I regret not keeping a diary. Not necessarily to keep track of what I contributed, since that’s all documented in the open.

\n

But rather things like my emotional state. My feelings ranged from despair to overwhelming joy throughout my contribution experience.

\n

I learned new things about code and collaborating with others in GitHub and SVN. Again, something not necessarily documented in patches and the like.

\n

Git workflow

\n

I’m not good with Git, and still don’t fully understand how rebasing works. I messed up my commits a couple of times. Not a big deal, but I got different error messages no matter which workflow I tried. I realized that I need to know more about Git, and be more patient.

\n

Eventually I understood enough to get my contributions through the door, but I’m still confused about how to rebase a pull request.

\n

Follow the development through to the end, and beyond

\n

I started out by replacing only the social link icon fonts to SVG icons. Soon, I realized that a step-by-step process was not going to work because of new related commits coming in all the time that potentially conflicted with my code.

\n

It was better to replace all icon fonts, not just the social ones, with SVGs, and then work from there. I was also keeping track of style changes in RTL languages and IE8.

\n

At this point, the work was just getting started.

\n

Once you start contributing, you shouldn’t just disappear with no explanation. If you’re running low on time or have other obligations, it’s totally understandable, but be sure to politely inform others you can’t continue anymore, so they can pick up where you left off.

\n

As the o2 slogan states: “Communication is oxygen.”

\n

Coding standards and automated tests

\n

After several commits and iterations, my first pull request was accepted.

\n

As you can see in my first commits, I didn’t pass the WordPress coding standards. I needed to be more precise and follow the coding standards to the tee. With enough practice, I’m sure it’s possible to write standards-compliant code “naturally” but I was looking for a way to automate the code checks.

\n

I tried to get Atom to evaluate my code on the fly, but I just couldn’t get it to work. Like my Git experience, I got different error messages no matter what I tried.

\n

Eventually, I was able to use PHPCS via the command line, and fixed any issues discovered manually. But it would’ve been nice to have those checks automated.

\n

Working with batches in SVN

\n

Once the development moved to SVN, I began to get a little worried. As I described earlier, not too long ago, I was struggling just to use Git. However, thanks to the following tutorials I quickly got up to speed.

\n\n

Turns out, it wasn’t much to be worried about. Although I didn’t quite understand the concept of branches and tags in my local environments, and jumping between them like I know how to do with Git.

\n

Anyway, I eventually got my first props with the help of others.

\n

Technical overview of the SVG icons system

\n

I adapted this contribution from the code and concepts first presented by others.

\n
    \n
  1. WebDevStudios has their own starter theme called wd_s. I really like how they set up SVG icons and we fine-tuned them in Twenty Seventeen. Perhaps they will integrate those improvements back into their own project. Again, open source rocks.
  2. \n
  3. Justin Tadlock invented the social links menu concept. I just took that concept and applied it to SVG icons rather than icon fonts.
  4. \n
\n

All the main SVG-related functions can be found in the inc/icon-functions.php file. It’s well-documented in the code, but here’s a summary:

\n
    \n
  • Include the SVG sprite file via the wp_footer hook.
  • \n
  • twentyseventeen_get_svg() function returns the SVG icon markup. In most cases, the SVG icon is injected in template files or via hooks and filters. In some cases, the SVG icon is injected via JavaScript.
  • \n
  • Default markup looks like this: <svg class=\"icon icon-name\" aria-hidden=\"true\" role=\"img\"> <use href=\"#icon-name\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"#icon-name\"></use> </svg>.
  • \n
  • Note that we could use the absolute path to the SVG file in the href attribute of the use element. In that case:\n
      \n
    • there is no need to inject icons via the wp_footer hook.
    • \n
    • The svgxuse JS polyfill must be used, because Internet Explorer doesn’t support external files referenced in the <use> element.
    • \n
    • This method helps caching the SVG sprite file.
    • \n
    \n
  • \n
  • By default, all icons are decorative, but I insisted we show how to use non-decorative icons in an accessible way. Check the examples in the aforementioned twentyseventeen_get_svg() function.
  • \n
  • We replace the default icon for supported social media links by using the walker_nav_menu_start_el filter.
  • \n
\n

Open source rocks

\n

WordPress default themes are one of the best themes out there and they set an example how to use new WordPress features. The reason for this is simple.

\n
    \n
  • Default themes gets lots of love and attention.
  • \n
  • Many talented people contribute to default themes. Twenty Seventeen had over 100 contributors and we thank you all!
  • \n
  • Default themes are tested before release in many platforms and browsers. And default themes are used on so many sites that any remaining bugs will be found after the release.
  • \n
\n

Building default themes really is a community driven project. I’d like to say extra thanks for couple of people.

\n

Special thank you

\n

Any web project needs good leadership, design, and code. Those were all covered in Twenty Seventeen.

\n
    \n
  • David A. Kennedy was leading the project and kept everything rolling. He had a really friendly touch and he was open to ideas. At the same time he wasn’t afraid to make decisions; for example, a flexbox layout was rejected for this theme.
  • \n
  • Mel Choyce created the modern, business looking design. She wrote a great article with her behind the scenes take.
  • \n
  • Laurel Fulford was the primary coding lead. She seem to have a solution for every new feature and brought Mel’s design to life with detailed code.
  • \n
\n

Last but not least, remember Morten Rand-Hendriksen, the one that opened the SVG icon issue that caught my eye?

\n

He was pretty happy with the end result.

\n
\n

@brad_frost the SVG icon system solution by @samikeijonen embedded in the new Twenty Seventeen theme in #WordPress is pure genius

\n

— MortenRandHendriksen (@mor10) December 5, 2016

\n

\n

Who knows if I would’ve contributed if it wasn’t for him posting that. Remember, reporting issues and bugs is contributing too, and can inspire first-time contributors like me to stop sitting on the sidelines and finally get started with core contributions.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 07 Jan 2017 22:42:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sami Keijonen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"WPTavern: Let’s Encrypt Passes 20 Million Active Certificates in 2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://wptavern.com/?p=64815\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"https://wptavern.com/lets-encrypt-passes-20-million-active-certificates-in-2016\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5050:\"

Let’s Encrypt has just closed out its first full year as a certificate authority with more than 20 million active certificates. The free and open certificate authority focuses on lowering the complexity of setting up TLS encryption by making the process more automated. It came out of beta in April 2016 and the number of certificates issued per day has grown steadily since then.

\n

“At the start of 2016, Let’s Encrypt certificates had been available to the public for less than a month and we were supporting approximately 240,000 active (unexpired) certificates,” said Josh Aas, Executive Director of the non-profit Internet Security Research Group (ISRG). “Now we’re frequently issuing that many new certificates in a single day while supporting more than 20,000,000 active certificates in total. We’ve issued more than a million certificates in a single day a few times recently.”

\n

\"\"

\n

Let’s Encrypt operates as a 501(c)(3) nonprofit and has received more than three dozen corporate sponsorships and grants, but funds for the coming year have fallen short. In November, Let’s Encrypt launched a crowdfunding campaign to cover the cost of one month of operating expenses. So far, the campaign has raised more than $100K towards its $200K fundraising goal.

\n

Let’s Encrypt is Growing Fastest with Smaller, Previously-Unencrypted Sites

\n

Let’s Encrypt is used with some larger organizations, such as WordPress.com, OVH, Shopify, Akamai, and Dreamhost, but the vast majority of users are smaller entities that were not previously encrypted. According to the Electronic Frontier Foundation (EFF), a founding sponsor of the certificate authority, most of Let’s Encrypt’s growth has not come from taking customers away from competitors:

\n

\nOne of the ways Let’s Encrypt has been helping to secure the web is by making it easy and affordable for sites that have never had certs before to turn on secure HTTPS connections, and for software systems to start enabling HTTPS automatically and by default. Our free certificates may be more likely to be left unused than expensive certificates, and less expert webmasters may accidentally duplicate certificates—but that’s part of making HTTPS integration available to more webmasters across a range of resource and skill levels. Statistics suggest that most of our growth has come not at the expense of other CAs, but from giving previously unencrypted sites their first-ever certificates.

\n

EFF analyzed various sources of usage statistics and estimates that Let’s Encrypt is now the largest certificate authority on the web. Its rapid adoption has spurred impressive progress towards getting the entire web encrypted. Let’s Encrypt tracks progress by measuring the percentage of page loads using HTTPS, as seen by browsers.

\n

“According to Firefox Telemetry, the Web has gone from approximately 39% of page loads using HTTPS each day to just about 49% during the past year,” Aas said in Let’s Encrypt’s 2016 in Review report. “We’re incredibly close to a Web that is more encrypted than not.”

\n

The proliferation of Let’s Encrypt client options in 2016 puts the certificate authority in an even better position to continue driving web encryption in 2017. Aas attributes last year’s progress to many organizations advocating for HTTPS and working to get their sites encrypted. His team has grown from four full-time employees to nine, and he anticipates that 2017 will be a year of even greater growth.

\n

“Much of the infrastructure and many of the plans necessary for a 100% encrypted Web came into being or solidified in 2016,” Aas said. “More and more hosting providers and CDNs are supporting HTTPS with one click or by default, often without additional fees. It has never been easier for people and organizations running their own sites to find the tools, services, and information they need to move to HTTPS.”

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 07 Jan 2017 21:42:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:42:\"Requests_Utility_CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:8:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Thu, 09 Feb 2017 07:19:33 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:13:\"last-modified\";s:29:\"Thu, 09 Feb 2017 07:00:10 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";s:16:\"content-encoding\";s:4:\"gzip\";}}s:5:\"build\";s:14:\"20170126183219\";}','no'); - -INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) -VALUES - (219,'_transient_timeout_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1486667974','no'), - (220,'_transient_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1486624774','no'), - (221,'_transient_timeout_feed_b9388c83948825c1edaef0d856b7b109','1486667975','no'), - (222,'_transient_feed_b9388c83948825c1edaef0d856b7b109','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n \n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:117:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"WordPress Plugins » View: Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"https://wordpress.org/plugins/browse/popular/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"WordPress Plugins » View: Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 09 Feb 2017 07:19:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://bbpress.org/?v=1.1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:30:{i:0;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"Clef Two-Factor Authentication\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wordpress.org/plugins/wpclef/#post-47509\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 27 Dec 2012 01:25:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"47509@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:139:\"Modern two-factor that people love to use: strong authentication without passwords or tokens; single sign on/off; magical login experience.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Dave Ross\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Duplicate Post\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://wordpress.org/plugins/duplicate-post/#post-2646\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 05 Dec 2007 17:40:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2646@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"Clone posts and pages.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Lopo\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"WooCommerce\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/plugins/woocommerce/#post-29860\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Sep 2011 08:13:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29860@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"WooThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:24:\"Jetpack by WordPress.com\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://wordpress.org/plugins/jetpack/#post-23862\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 Jan 2011 02:21:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"23862@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:148:\"The one plugin you need for stats, related posts, search engine optimization, social sharing, protection, backups, speed, and email list management.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Automattic\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"All in One SEO Pack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://wordpress.org/plugins/all-in-one-seo-pack/#post-753\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 30 Mar 2007 20:08:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"753@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"The original SEO plugin for WordPress, downloaded over 30,000,000 times since 2007.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"uberdose\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"NextGEN Gallery - WordPress Gallery Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/plugins/nextgen-gallery/#post-1169\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 23 Apr 2007 20:08:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"1169@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:121:\"The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 16 million downloads.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Alex Rabe\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"W3 Total Cache\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/plugins/w3-total-cache/#post-12073\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 29 Jul 2009 18:46:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"12073@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:144:\"Search Engine (SEO) & Performance Optimization (WPO) via caching. Integrated caching: CDN, Minify, Page, Object, Fragment, Database support.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Frederick Townes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"UpdraftPlus WordPress Backup Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/plugins/updraftplus/#post-38058\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 21 May 2012 15:14:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"38058@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:148:\"Backup and restoration made easy. Complete backups; manual or scheduled (backup to S3, Dropbox, Google Drive, Rackspace, FTP, SFTP, email + others).\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"David Anderson\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Yoast SEO\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"https://wordpress.org/plugins/wordpress-seo/#post-8321\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 Jan 2009 20:34:44 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"8321@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:118:\"Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Joost de Valk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Hello Dolly\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"https://wordpress.org/plugins/hello-dolly/#post-5790\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 29 May 2008 22:11:34 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"5790@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:150:\"This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"Advanced Custom Fields\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://wordpress.org/plugins/advanced-custom-fields/#post-25254\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 17 Mar 2011 04:07:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"25254@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"Customise WordPress with powerful, professional and intuitive fields\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"elliotcondon\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Google XML Sitemaps\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://wordpress.org/plugins/google-sitemap-generator/#post-132\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:31:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"132@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"This plugin will generate a special XML sitemap which will help search engines to better index your blog.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Arne Brachhold\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"Regenerate Thumbnails\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://wordpress.org/plugins/regenerate-thumbnails/#post-6743\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 23 Aug 2008 14:38:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"6743@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"Allows you to regenerate your thumbnails after changing the thumbnail sizes.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"Alex Mills (Viper007Bond)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"Google Analytics by MonsterInsights\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://wordpress.org/plugins/google-analytics-for-wordpress/#post-2316\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 14 Sep 2007 12:15:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2316@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"Connect Google Analytics with WordPress by adding your Google Analytics tracking code. Get the stats that matter.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Syed Balkhi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"WordPress Importer\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"https://wordpress.org/plugins/wordpress-importer/#post-18101\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 May 2010 17:42:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"18101@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Brian Colinger\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WP Super Cache\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://wordpress.org/plugins/wp-super-cache/#post-2572\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Nov 2007 11:40:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2572@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"A very fast caching engine for WordPress that produces static html files.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Donncha O Caoimh\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"Really Simple CAPTCHA\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://wordpress.org/plugins/really-simple-captcha/#post-9542\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 09 Mar 2009 02:17:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"9542@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:138:\"Really Simple CAPTCHA is a CAPTCHA module intended to be called from other plugins. It is originally created for my Contact Form 7 plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Takayuki Miyoshi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Wordfence Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"https://wordpress.org/plugins/wordfence/#post-29832\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 04 Sep 2011 03:13:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29832@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:149:\"Secure your website with the most comprehensive WordPress security plugin. Firewall, malware scan, blocking, live traffic, login security & more.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Wordfence\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Contact Form 7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://wordpress.org/plugins/contact-form-7/#post-2141\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Aug 2007 12:45:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2141@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"Just another contact form plugin. Simple but flexible.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Takayuki Miyoshi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"WP-PageNavi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"https://wordpress.org/plugins/wp-pagenavi/#post-363\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 23:17:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"363@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"Adds a more advanced paging navigation interface.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Lester Chan\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"Page Builder by SiteOrigin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://wordpress.org/plugins/siteorigin-panels/#post-51888\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 11 Apr 2013 10:36:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"51888@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:111:\"Build responsive page layouts using the widgets you know and love using this simple drag and drop page builder.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Greg Priday\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Akismet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"https://wordpress.org/plugins/akismet/#post-15\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:11:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"15@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:98:\"Akismet checks your comments against the Akismet Web service to see if they look like spam or not.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"TinyMCE Advanced\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"https://wordpress.org/plugins/tinymce-advanced/#post-2082\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Jun 2007 15:00:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2082@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"Extends and enhances TinyMCE, the WordPress Visual Editor.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Andrew Ozz\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"Google Analytics Dashboard for WP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"https://wordpress.org/plugins/google-analytics-dashboard-for-wp/#post-50539\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 10 Mar 2013 17:07:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"50539@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:125:\"Displays Google Analytics stats in your WordPress Dashboard. Inserts the latest Google Analytics tracking code in your pages.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Alin Marcu\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Disable Comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://wordpress.org/plugins/disable-comments/#post-26907\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 27 May 2011 04:42:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"26907@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:150:\"Allows administrators to globally disable comments on their site. Comments can be disabled according to post type. Multisite friendly. Provides tool t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Samir Shah\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Duplicator\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"https://wordpress.org/plugins/duplicator/#post-26607\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 16 May 2011 12:15:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"26607@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"Duplicate, clone, backup, move and transfer an entire site from one location to another.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Cory Lamle\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"WP Multibyte Patch\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"https://wordpress.org/plugins/wp-multibyte-patch/#post-28395\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 14 Jul 2011 12:22:53 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"28395@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"Multibyte functionality enhancement for the WordPress Japanese package.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"plugin-master\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"Black Studio TinyMCE Widget\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://wordpress.org/plugins/black-studio-tinymce-widget/#post-31973\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 10 Nov 2011 15:06:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"31973@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:39:\"The visual editor widget for Wordpress.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Marco Chiesi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"SiteOrigin Widgets Bundle\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"https://wordpress.org/plugins/so-widgets-bundle/#post-67824\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 24 May 2014 14:27:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"67824@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:128:\"A collection of all widgets, neatly bundled into a single plugin. It's also a framework to code your own widgets on top of.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Greg Priday\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"iThemes Security (formerly Better WP Security)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"https://wordpress.org/plugins/better-wp-security/#post-21738\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 22 Oct 2010 22:06:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"21738@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:146:\"Take the guesswork out of WordPress security. iThemes Security offers 30+ ways to lock down WordPress in an easy-to-use WordPress security plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"iThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:46:\"https://wordpress.org/plugins/rss/view/popular\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:42:\"Requests_Utility_CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:9:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Thu, 09 Feb 2017 07:19:35 GMT\";s:12:\"content-type\";s:23:\"text/xml; charset=UTF-8\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:25:\"strict-transport-security\";s:11:\"max-age=360\";s:13:\"last-modified\";s:29:\"Thu, 27 Dec 2012 01:25:57 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";s:16:\"content-encoding\";s:4:\"gzip\";}}s:5:\"build\";s:14:\"20170126183219\";}','no'), - (223,'_transient_timeout_feed_mod_b9388c83948825c1edaef0d856b7b109','1486667975','no'), - (224,'_transient_feed_mod_b9388c83948825c1edaef0d856b7b109','1486624775','no'), - (225,'_transient_timeout_plugin_slugs','1486793147','no'), - (226,'_transient_plugin_slugs','a:1:{i:0;s:34:\"advanced-custom-fields-pro/acf.php\";}','no'), - (227,'_transient_timeout_dash_88ae138922fe95674369b1cb3d215a2b','1486667976','no'), - (228,'_transient_dash_88ae138922fe95674369b1cb3d215a2b','
  • WordPress 4.7.2 Security Release January 26, 2017
    WordPress 4.7.2 is now available. This is a security release for all previous versions and we strongly encourage you to update your sites immediately. WordPress versions 4.7.1 and earlier are affected by three security issues: The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it. […]
  • Popular Plugin: Google Analytics Dashboard for WP (Install)
','no'), - (229,'fresh_site','0','yes'), - (232,'_site_transient_timeout_theme_roots','1486708408','no'), - (233,'_site_transient_theme_roots','a:2:{s:15:\"twentyseventeen\";s:7:\"/themes\";s:13:\"twentysixteen\";s:7:\"/themes\";}','no'); - -/*!40000 ALTER TABLE `wp_options` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_postmeta -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_postmeta`; - -CREATE TABLE `wp_postmeta` ( - `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `post_id` bigint(20) unsigned NOT NULL DEFAULT '0', - `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `meta_value` longtext COLLATE utf8mb4_unicode_ci, - PRIMARY KEY (`meta_id`), - KEY `post_id` (`post_id`), - KEY `meta_key` (`meta_key`(191)) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_postmeta` WRITE; -/*!40000 ALTER TABLE `wp_postmeta` DISABLE KEYS */; - -INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) -VALUES - (1,2,'_wp_page_template','default'), - (2,4,'_edit_last','1'), - (3,4,'_edit_lock','1486706838:1'), - (4,11,'_edit_last','1'), - (5,11,'_edit_lock','1475627263:1'), - (6,13,'fake_text','Proin eget tortor risus'), - (7,13,'_fake_text','field_57f42174b81b8'), - (8,13,'fake_textarea','Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Vivamus suscipit tortor eget felis porttitor volutpat. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Cras ultricies ligula sed magna dictum porta. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Sed porttitor lectus nibh.'), - (9,13,'_fake_textarea','field_57f4217cb81b9'), - (10,13,'fake_number','1984'), - (11,13,'_fake_number','field_57f42187b81ba'), - (12,13,'fake_email','junior@corcel.org'), - (13,13,'_fake_email','field_57f42194b81bb'), - (14,13,'fake_url','https://corcel.org'), - (15,13,'_fake_url','field_57f4219bb81bc'), - (16,13,'fake_password','123change'), - (17,13,'_fake_password','field_57f421a2b81bd'), - (18,11,'fake_text','Proin eget tortor risus'), - (19,11,'_fake_text','field_57f42174b81b8'), - (20,11,'fake_textarea','Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.'), - (21,11,'_fake_textarea','field_57f4217cb81b9'), - (22,11,'fake_number','1984'), - (23,11,'_fake_number','field_57f42187b81ba'), - (24,11,'fake_email','junior@corcel.org'), - (25,11,'_fake_email','field_57f42194b81bb'), - (26,11,'fake_url','https://corcel.org'), - (27,11,'_fake_url','field_57f4219bb81bc'), - (28,11,'fake_password','123change'), - (29,11,'_fake_password','field_57f421a2b81bd'), - (30,14,'fake_text','Proin eget tortor risus'), - (31,14,'_fake_text','field_57f42174b81b8'), - (32,14,'fake_textarea','Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.'), - (33,14,'_fake_textarea','field_57f4217cb81b9'), - (34,14,'fake_number','1984'), - (35,14,'_fake_number','field_57f42187b81ba'), - (36,14,'fake_email','junior@corcel.org'), - (37,14,'_fake_email','field_57f42194b81bb'), - (38,14,'fake_url','https://corcel.org'), - (39,14,'_fake_url','field_57f4219bb81bc'), - (40,14,'fake_password','123change'), - (41,14,'_fake_password','field_57f421a2b81bd'), - (42,15,'_edit_last','1'), - (43,15,'_edit_lock','1476587357:1'), - (44,21,'_edit_last','1'), - (45,21,'_edit_lock','1475701511:1'), - (46,23,'_wp_attached_file','2016/10/beautiful-places-free-images-gallery.jpg'), - (47,23,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1920;s:6:\"height\";i:1200;s:4:\"file\";s:48:\"2016/10/beautiful-places-free-images-gallery.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"beautiful-places-free-images-gallery-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:48:\"beautiful-places-free-images-gallery-300x188.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:188;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"beautiful-places-free-images-gallery-768x480.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:480;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"beautiful-places-free-images-gallery-1024x640.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:640;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"beautiful-places-free-images-gallery-1200x750.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:750;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), - (48,24,'_wp_attached_file','2016/10/d1sgOF0.jpg'), - (49,24,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:2560;s:6:\"height\";i:1600;s:4:\"file\";s:19:\"2016/10/d1sgOF0.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:19:\"d1sgOF0-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:19:\"d1sgOF0-300x188.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:188;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:19:\"d1sgOF0-768x480.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:480;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:20:\"d1sgOF0-1024x640.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:640;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:20:\"d1sgOF0-1200x750.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:750;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), - (50,25,'_wp_attached_file','2016/10/free-beautiful-place-155.jpg'), - (51,25,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:2048;s:6:\"height\";i:1285;s:4:\"file\";s:36:\"2016/10/free-beautiful-place-155.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:36:\"free-beautiful-place-155-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:36:\"free-beautiful-place-155-300x188.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:188;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:36:\"free-beautiful-place-155-768x482.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:482;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:37:\"free-beautiful-place-155-1024x643.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:643;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:37:\"free-beautiful-place-155-1200x753.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:753;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), - (52,26,'_wp_attached_file','2016/10/f53bad65f21de95e4765011732e922e7_large.jpeg'), - (53,26,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1366;s:6:\"height\";i:768;s:4:\"file\";s:51:\"2016/10/f53bad65f21de95e4765011732e922e7_large.jpeg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:51:\"f53bad65f21de95e4765011732e922e7_large-150x150.jpeg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:51:\"f53bad65f21de95e4765011732e922e7_large-300x169.jpeg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:51:\"f53bad65f21de95e4765011732e922e7_large-768x432.jpeg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:52:\"f53bad65f21de95e4765011732e922e7_large-1024x576.jpeg\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:52:\"f53bad65f21de95e4765011732e922e7_large-1200x675.jpeg\";s:5:\"width\";i:1200;s:6:\"height\";i:675;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), - (54,27,'_wp_attached_file','2016/10/maxresdefault.jpg'), - (55,27,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1950;s:6:\"height\";i:1098;s:4:\"file\";s:25:\"2016/10/maxresdefault.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:25:\"maxresdefault-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:25:\"maxresdefault-300x169.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:25:\"maxresdefault-768x432.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:26:\"maxresdefault-1024x577.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:577;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:26:\"maxresdefault-1200x676.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:676;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), - (56,28,'_wp_attached_file','2016/10/beautiful-place-132960-high-definition.jpg'), - (57,28,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1366;s:6:\"height\";i:768;s:4:\"file\";s:50:\"2016/10/beautiful-place-132960-high-definition.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:50:\"beautiful-place-132960-high-definition-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:50:\"beautiful-place-132960-high-definition-300x169.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:50:\"beautiful-place-132960-high-definition-768x432.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:51:\"beautiful-place-132960-high-definition-1024x576.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:51:\"beautiful-place-132960-high-definition-1200x675.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:675;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), - (58,29,'_wp_attached_file','2016/10/maxresdefault-1.jpg'), - (59,29,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:1920;s:6:\"height\";i:1080;s:4:\"file\";s:27:\"2016/10/maxresdefault-1.jpg\";s:5:\"sizes\";a:5:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:27:\"maxresdefault-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:27:\"maxresdefault-1-300x169.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:27:\"maxresdefault-1-768x432.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:28:\"maxresdefault-1-1024x576.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:28:\"maxresdefault-1-1200x675.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:675;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), - (60,30,'_wp_attached_file','2016/10/PorPlano-MULTI-INSTITUIDO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf'), - (61,31,'_wp_attached_file','2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf'), - (62,32,'_wp_attached_file','2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-do-Ativo-Líquido.pdf'), - (63,33,'_wp_attached_file','2016/10/PorPlano-MULTI-PATROCINADO-DemonstracaodoPlanodeGestaoAdministrativaporplano-MP.pdf'), - (64,34,'_wp_attached_file','2016/10/Por-Plano-MULTIPATROCINADO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf'), - (65,35,'_wp_attached_file','2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf'), - (66,36,'_wp_attached_file','2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-do-Ativo-Líquido.pdf'), - (67,37,'_wp_attached_file','2016/10/Consolidado-Manifestacao-do-Conselho-Deliberativo.pdf'), - (68,38,'fake_editor','Nulla porttitor accumsan tincidunt. Sed porttitor lectus nibh.'), - (69,38,'_fake_editor','field_57f4492a59836'), - (70,38,'fake_oembed','https://www.youtube.com/watch?v=LiyQ8bvLzIE'), - (71,38,'_fake_oembed','field_57f4493b59837'), - (72,38,'fake_image','29'), - (73,38,'_fake_image','field_57f4495c59838'), - (74,38,'fake_file','37'), - (75,38,'_fake_file','field_57f4496c59839'), - (76,38,'fake_gallery','a:7:{i:0;s:2:\"29\";i:1;s:2:\"28\";i:2;s:2:\"27\";i:3;s:2:\"26\";i:4;s:2:\"25\";i:5;s:2:\"24\";i:6;s:2:\"23\";}'), - (77,38,'_fake_gallery','field_57f449785983a'), - (78,21,'fake_editor','Nulla porttitor accumsan tincidunt. Sed porttitor lectus nibh.'), - (79,21,'_fake_editor','field_57f4492a59836'), - (80,21,'fake_oembed','https://www.youtube.com/watch?v=LiyQ8bvLzIE'), - (81,21,'_fake_oembed','field_57f4493b59837'), - (82,21,'fake_image','29'), - (83,21,'_fake_image','field_57f4495c59838'), - (84,21,'fake_file','37'), - (85,21,'_fake_file','field_57f4496c59839'), - (86,21,'fake_gallery','a:7:{i:0;s:2:\"29\";i:1;s:2:\"28\";i:2;s:2:\"27\";i:3;s:2:\"26\";i:4;s:2:\"25\";i:5;s:2:\"24\";i:6;s:2:\"23\";}'), - (87,21,'_fake_gallery','field_57f449785983a'), - (88,29,'_wp_attachment_image_alt','This is an alt text'), - (89,39,'_edit_last','1'), - (90,39,'_edit_lock','1475769274:1'), - (91,44,'_edit_last','1'), - (92,44,'_edit_lock','1475808047:1'), - (93,46,'fake_select','red'), - (94,46,'_fake_select','field_57f56b166ce5f'), - (95,46,'fake_checkbox','a:2:{i:0;s:4:\"blue\";i:1;s:6:\"yellow\";}'), - (96,46,'_fake_checkbox','field_57f56b556ce60'), - (97,46,'fake_radio_button','green'), - (98,46,'_fake_radio_button','field_57f56b656ce61'), - (99,46,'fake_true_false','1'), - (100,46,'_fake_true_false','field_57f56b786ce62'), - (101,44,'fake_select','red'), - (102,44,'_fake_select','field_57f56b166ce5f'), - (103,44,'fake_checkbox','a:2:{i:0;s:4:\"blue\";i:1;s:6:\"yellow\";}'), - (104,44,'_fake_checkbox','field_57f56b556ce60'), - (105,44,'fake_radio_button','green'), - (106,44,'_fake_radio_button','field_57f56b656ce61'), - (107,44,'fake_true_false','1'), - (108,44,'_fake_true_false','field_57f56b786ce62'), - (109,48,'fake_select','red'), - (110,48,'_fake_select','field_57f56b166ce5f'), - (111,48,'fake_select_multiple','a:2:{i:0;s:6:\"yellow\";i:1;s:5:\"green\";}'), - (112,48,'_fake_select_multiple','field_57f56c73f440a'), - (113,48,'fake_checkbox','a:2:{i:0;s:4:\"blue\";i:1;s:6:\"yellow\";}'), - (114,48,'_fake_checkbox','field_57f56b556ce60'), - (115,48,'fake_radio_button','green'), - (116,48,'_fake_radio_button','field_57f56b656ce61'), - (117,48,'fake_true_false','1'), - (118,48,'_fake_true_false','field_57f56b786ce62'), - (119,44,'fake_select_multiple','a:2:{i:0;s:6:\"yellow\";i:1;s:5:\"green\";}'), - (120,44,'_fake_select_multiple','field_57f56c73f440a'), - (121,49,'_edit_last','1'), - (122,49,'_edit_lock','1475889692:1'), - (123,56,'_edit_last','1'), - (124,56,'_edit_lock','1475889845:1'), - (125,58,'fake_post_object','11'), - (126,58,'_fake_post_object','field_57f70b063a715'), - (127,58,'fake_page_link','21'), - (128,58,'_fake_page_link','field_57f70b1d3a716'), - (129,58,'fake_relationship','a:2:{i:0;s:2:\"44\";i:1;s:2:\"56\";}'), - (130,58,'_fake_relationship','field_57f70b3f3a717'), - (131,58,'fake_taxonomy','a:1:{i:0;s:1:\"1\";}'), - (132,58,'_fake_taxonomy','field_57f70b593a718'), - (133,58,'fake_taxonomy_single','1'), - (134,58,'_fake_taxonomy_single','field_57f70b7e3a719'), - (135,58,'fake_user','1'), - (136,58,'_fake_user','field_57f70ba23a71a'), - (137,56,'fake_post_object','11'), - (138,56,'_fake_post_object','field_57f70b063a715'), - (139,56,'fake_page_link','21'), - (140,56,'_fake_page_link','field_57f70b1d3a716'), - (141,56,'fake_relationship','a:2:{i:0;s:2:\"44\";i:1;s:2:\"56\";}'), - (142,56,'_fake_relationship','field_57f70b3f3a717'), - (143,56,'fake_taxonomy','a:1:{i:0;s:1:\"1\";}'), - (144,56,'_fake_taxonomy','field_57f70b593a718'), - (145,56,'fake_taxonomy_single','1'), - (146,56,'_fake_taxonomy_single','field_57f70b7e3a719'), - (147,56,'fake_user','1'), - (148,56,'_fake_user','field_57f70ba23a71a'), - (149,59,'_edit_last','1'), - (150,59,'_edit_lock','1475890062:1'), - (151,65,'_edit_last','1'), - (152,65,'_edit_lock','1477080240:1'), - (153,67,'fake_google_map',''), - (154,67,'_fake_google_map','field_57f84ab1ae3b0'), - (155,67,'fake_date_picker','20161013'), - (156,67,'_fake_date_picker','field_57f84aedae3b1'), - (157,67,'fake_date_time_picker','2016-10-19 08:06:05'), - (158,67,'_fake_date_time_picker','field_57f84b02ae3b2'), - (159,67,'fake_time_picker','17:30:00'), - (160,67,'_fake_time_picker','field_57f84b19ae3b3'), - (161,67,'fake_color_picker','#7263a8'), - (162,67,'_fake_color_picker','field_57f84b29ae3b4'), - (163,65,'fake_google_map',''), - (164,65,'_fake_google_map','field_57f84ab1ae3b0'), - (165,65,'fake_date_picker','20161013'), - (166,65,'_fake_date_picker','field_57f84aedae3b1'), - (167,65,'fake_date_time_picker','2016-10-19 08:06:05'), - (168,65,'_fake_date_time_picker','field_57f84b02ae3b2'), - (169,65,'fake_time_picker','17:30:00'), - (170,65,'_fake_time_picker','field_57f84b19ae3b3'), - (171,65,'fake_color_picker','#7263a8'), - (172,65,'_fake_color_picker','field_57f84b29ae3b4'), - (173,68,'_edit_last','1'), - (174,68,'_edit_lock','1486624787:1'), - (175,73,'_edit_last','1'), - (176,73,'_edit_lock','1486624652:1'), - (177,75,'fake_repeater_0_repeater_text','First text'), - (178,75,'_fake_repeater_0_repeater_text','field_5802f02b3a7fb'), - (179,75,'fake_repeater_0_repeater_radio','blue'), - (180,75,'_fake_repeater_0_repeater_radio','field_5802f0363a7fc'), - (181,75,'fake_repeater_1_repeater_text','Second text'), - (182,75,'_fake_repeater_1_repeater_text','field_5802f02b3a7fb'), - (183,75,'fake_repeater_1_repeater_radio','red'), - (184,75,'_fake_repeater_1_repeater_radio','field_5802f0363a7fc'), - (185,75,'fake_repeater','2'), - (186,75,'_fake_repeater','field_5802f0133a7fa'), - (187,73,'fake_repeater_0_repeater_text','First text'), - (188,73,'_fake_repeater_0_repeater_text','field_5802f02b3a7fb'), - (189,73,'fake_repeater_0_repeater_radio','blue'), - (190,73,'_fake_repeater_0_repeater_radio','field_5802f0363a7fc'), - (191,73,'fake_repeater_1_repeater_text','Second text'), - (192,73,'_fake_repeater_1_repeater_text','field_5802f02b3a7fb'), - (193,73,'fake_repeater_1_repeater_radio','red'), - (194,73,'_fake_repeater_1_repeater_radio','field_5802f0363a7fc'), - (195,73,'fake_repeater','2'), - (196,73,'_fake_repeater','field_5802f0133a7fa'), - (197,80,'fake_repeater_0_repeater_text','First text'), - (198,80,'_fake_repeater_0_repeater_text','field_5802f02b3a7fb'), - (199,80,'fake_repeater_0_repeater_radio','blue'), - (200,80,'_fake_repeater_0_repeater_radio','field_5802f0363a7fc'), - (201,80,'fake_repeater_1_repeater_text','Second text'), - (202,80,'_fake_repeater_1_repeater_text','field_5802f02b3a7fb'), - (203,80,'fake_repeater_1_repeater_radio','red'), - (204,80,'_fake_repeater_1_repeater_radio','field_5802f0363a7fc'), - (205,80,'fake_repeater','2'), - (206,80,'_fake_repeater','field_5802f0133a7fa'), - (207,80,'fake_repeater_2_0_fake_user','1'), - (208,80,'_fake_repeater_2_0_fake_user','field_580a75d7dd71b'), - (209,80,'fake_repeater_2_0_fake_file','29'), - (210,80,'_fake_repeater_2_0_fake_file','field_580a75fddd71c'), - (211,80,'fake_repeater_2_0_fake_relationship','a:2:{i:0;s:2:\"73\";i:1;s:2:\"21\";}'), - (212,80,'_fake_repeater_2_0_fake_relationship','field_580a760ddd71d'), - (213,80,'fake_repeater_2_1_fake_user','1'), - (214,80,'_fake_repeater_2_1_fake_user','field_580a75d7dd71b'), - (215,80,'fake_repeater_2_1_fake_file','26'), - (216,80,'_fake_repeater_2_1_fake_file','field_580a75fddd71c'), - (217,80,'fake_repeater_2_1_fake_relationship','a:1:{i:0;s:1:\"2\";}'), - (218,80,'_fake_repeater_2_1_fake_relationship','field_580a760ddd71d'), - (219,80,'fake_repeater_2','2'), - (220,80,'_fake_repeater_2','field_580a75c3dd71a'), - (221,73,'fake_repeater_2_0_fake_user','1'), - (222,73,'_fake_repeater_2_0_fake_user','field_580a75d7dd71b'), - (223,73,'fake_repeater_2_0_fake_file','29'), - (224,73,'_fake_repeater_2_0_fake_file','field_580a75fddd71c'), - (225,73,'fake_repeater_2_0_fake_relationship','a:2:{i:0;s:2:\"73\";i:1;s:2:\"21\";}'), - (226,73,'_fake_repeater_2_0_fake_relationship','field_580a760ddd71d'), - (227,73,'fake_repeater_2_1_fake_user','1'), - (228,73,'_fake_repeater_2_1_fake_user','field_580a75d7dd71b'), - (229,73,'fake_repeater_2_1_fake_file','26'), - (230,73,'_fake_repeater_2_1_fake_file','field_580a75fddd71c'), - (231,73,'fake_repeater_2_1_fake_relationship','a:1:{i:0;s:1:\"2\";}'), - (232,73,'_fake_repeater_2_1_fake_relationship','field_580a760ddd71d'), - (233,73,'fake_repeater_2','2'), - (234,73,'_fake_repeater_2','field_580a75c3dd71a'), - (235,1,'_edit_lock','1486624636:1'), - (236,82,'_edit_last','1'), - (237,82,'_edit_lock','1486626619:1'), - (238,86,'_edit_last','1'), - (239,86,'_edit_lock','1486626457:1'), - (240,86,'fake_flexible_content_0_text','Lorem ipsum'), - (241,86,'_fake_flexible_content_0_text','field_589c18d0c9b27'), - (242,86,'fake_flexible_content_1_post','1'), - (243,86,'_fake_flexible_content_1_post','field_589c18eac9b29'), - (244,86,'fake_flexible_content','a:3:{i:0;s:11:\"normal_text\";i:1;s:12:\"related_post\";i:2;s:14:\"multiple_posts\";}'), - (245,86,'_fake_flexible_content','field_589c18adc9b26'), - (246,88,'fake_flexible_content_0_text','Lorem ipsum'), - (247,88,'_fake_flexible_content_0_text','field_589c18d0c9b27'), - (248,88,'fake_flexible_content_1_post','1'), - (249,88,'_fake_flexible_content_1_post','field_589c18eac9b29'), - (250,88,'fake_flexible_content','a:2:{i:0;s:11:\"normal_text\";i:1;s:12:\"related_post\";}'), - (251,88,'_fake_flexible_content','field_589c18adc9b26'), - (252,86,'fake_flexible_content_2_post','a:2:{i:0;s:2:\"44\";i:1;s:2:\"65\";}'), - (253,86,'_fake_flexible_content_2_post','field_589c1ee35ec28'), - (254,90,'fake_flexible_content_0_text','Lorem ipsum'), - (255,90,'_fake_flexible_content_0_text','field_589c18d0c9b27'), - (256,90,'fake_flexible_content_1_post','1'), - (257,90,'_fake_flexible_content_1_post','field_589c18eac9b29'), - (258,90,'fake_flexible_content','a:3:{i:0;s:11:\"normal_text\";i:1;s:12:\"related_post\";i:2;s:14:\"multiple_posts\";}'), - (259,90,'_fake_flexible_content','field_589c18adc9b26'), - (260,90,'fake_flexible_content_2_post','a:2:{i:0;s:2:\"44\";i:1;s:2:\"65\";}'), - (261,90,'_fake_flexible_content_2_post','field_589c1ee35ec28'), - (262,91,'_edit_last','1'), - (263,91,'_edit_lock','1486707478:1'), - (264,91,'fake_text',''), - (265,91,'_fake_text','field_57f42174b81b8'), - (266,91,'fake_textarea',''), - (267,91,'_fake_textarea','field_57f4217cb81b9'), - (268,91,'fake_number',''), - (269,91,'_fake_number','field_57f42187b81ba'), - (270,91,'fake_email',''), - (271,91,'_fake_email','field_57f42194b81bb'), - (272,91,'fake_url',''), - (273,91,'_fake_url','field_57f4219bb81bc'), - (274,91,'fake_password',''), - (275,91,'_fake_password','field_57f421a2b81bd'), - (276,92,'fake_text',''), - (277,92,'_fake_text','field_57f42174b81b8'), - (278,92,'fake_textarea',''), - (279,92,'_fake_textarea','field_57f4217cb81b9'), - (280,92,'fake_number',''), - (281,92,'_fake_number','field_57f42187b81ba'), - (282,92,'fake_email',''), - (283,92,'_fake_email','field_57f42194b81bb'), - (284,92,'fake_url',''), - (285,92,'_fake_url','field_57f4219bb81bc'), - (286,92,'fake_password',''), - (287,92,'_fake_password','field_57f421a2b81bd'); - -/*!40000 ALTER TABLE `wp_postmeta` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_posts -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_posts`; - -CREATE TABLE `wp_posts` ( - `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', - `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `post_content` longtext COLLATE utf8mb4_unicode_ci NOT NULL, - `post_title` text COLLATE utf8mb4_unicode_ci NOT NULL, - `post_excerpt` text COLLATE utf8mb4_unicode_ci NOT NULL, - `post_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'publish', - `comment_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', - `ping_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', - `post_password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `post_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `to_ping` text COLLATE utf8mb4_unicode_ci NOT NULL, - `pinged` text COLLATE utf8mb4_unicode_ci NOT NULL, - `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `post_content_filtered` longtext COLLATE utf8mb4_unicode_ci NOT NULL, - `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', - `guid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `menu_order` int(11) NOT NULL DEFAULT '0', - `post_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'post', - `post_mime_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `comment_count` bigint(20) NOT NULL DEFAULT '0', - PRIMARY KEY (`ID`), - KEY `post_name` (`post_name`(191)), - KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), - KEY `post_parent` (`post_parent`), - KEY `post_author` (`post_author`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_posts` WRITE; -/*!40000 ALTER TABLE `wp_posts` DISABLE KEYS */; - -INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) -VALUES - (1,1,'2016-10-04 21:37:39','2016-10-04 21:37:39','Welcome to WordPress. This is your first post. Edit or delete it, then start writing!','Hello world!','','publish','open','open','','hello-world','','','2016-10-04 21:37:39','2016-10-04 21:37:39','',0,'http://wordpress.corcel.dev/?p=1',0,'post','',1), - (2,1,'2016-10-04 21:37:39','2016-10-04 21:37:39','This is an example page. It\'s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:\n\n
Hi there! I\'m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin\' caught in the rain.)
\n\n...or something like this:\n\n
The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.
\n\nAs a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!','Sample Page','','publish','closed','open','','sample-page','','','2016-10-04 21:37:39','2016-10-04 21:37:39','',0,'http://wordpress.corcel.dev/?page_id=2',0,'page','',0), - (4,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:7:{s:8:\"location\";a:2:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"11\";}}i:1;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"91\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Basic Fields','acf-basic-fields','publish','closed','closed','','group_57f4216833e7d','','','2017-02-10 06:09:40','2017-02-10 06:09:40','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=4',0,'acf-field-group','',0), - (5,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Text','fake_text','publish','closed','closed','','field_57f42174b81b8','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=5',0,'acf-field','',0), - (6,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:12:{s:4:\"type\";s:8:\"textarea\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:4:\"rows\";s:0:\"\";s:9:\"new_lines\";s:7:\"wpautop\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Textarea','fake_textarea','publish','closed','closed','','field_57f4217cb81b9','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=6',1,'acf-field','',0), - (7,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:14:{s:4:\"type\";s:6:\"number\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:4:\"step\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Number','fake_number','publish','closed','closed','','field_57f42187b81ba','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=7',2,'acf-field','',0), - (8,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:9:{s:4:\"type\";s:5:\"email\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";}','Fake Email','fake_email','publish','closed','closed','','field_57f42194b81bb','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=8',3,'acf-field','',0), - (9,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:7:{s:4:\"type\";s:3:\"url\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";}','Fake URL','fake_url','publish','closed','closed','','field_57f4219bb81bc','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=9',4,'acf-field','',0), - (10,1,'2016-10-04 21:39:54','2016-10-04 21:39:54','a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Fake Password','fake_password','publish','closed','closed','','field_57f421a2b81bd','','','2016-10-04 21:39:54','2016-10-04 21:39:54','',4,'http://wordpress.corcel.dev/?post_type=acf-field&p=10',5,'acf-field','',0), - (11,1,'2016-10-04 21:40:17','2016-10-04 21:40:17','','ACF Basic Fields','','publish','closed','closed','','acf-basic-fields','','','2016-10-04 22:02:15','2016-10-04 22:02:15','',0,'http://wordpress.corcel.dev/?page_id=11',0,'page','',0), - (12,1,'2016-10-04 21:40:17','2016-10-04 21:40:17','','ACF Basic Fields','','inherit','closed','closed','','11-revision-v1','','','2016-10-04 21:40:17','2016-10-04 21:40:17','',11,'http://wordpress.corcel.dev/2016/10/04/11-revision-v1/',0,'revision','',0), - (13,1,'2016-10-04 21:41:11','2016-10-04 21:41:11','','ACF Basic Fields','','inherit','closed','closed','','11-revision-v1','','','2016-10-04 21:41:11','2016-10-04 21:41:11','',11,'http://wordpress.corcel.dev/2016/10/04/11-revision-v1/',0,'revision','',0), - (14,1,'2016-10-04 22:02:15','2016-10-04 22:02:15','','ACF Basic Fields','','inherit','closed','closed','','11-revision-v1','','','2016-10-04 22:02:15','2016-10-04 22:02:15','',11,'http://wordpress.corcel.dev/2016/10/04/11-revision-v1/',0,'revision','',0), - (15,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"21\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Content Fields','acf-content-fields','publish','closed','closed','','group_57f4492227988','','','2016-10-05 00:49:19','2016-10-05 00:49:19','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=15',0,'acf-field-group','',0), - (16,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:9:{s:4:\"type\";s:7:\"wysiwyg\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:4:\"tabs\";s:3:\"all\";s:7:\"toolbar\";s:4:\"full\";s:12:\"media_upload\";i:1;}','Fake Editor','fake_editor','publish','closed','closed','','field_57f4492a59836','','','2016-10-05 00:30:05','2016-10-05 00:30:05','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=16',0,'acf-field','',0), - (17,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:7:{s:4:\"type\";s:6:\"oembed\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:5:\"width\";i:640;s:6:\"height\";i:390;}','Fake oEmbed','fake_oembed','publish','closed','closed','','field_57f4493b59837','','','2016-10-05 00:49:19','2016-10-05 00:49:19','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=17',1,'acf-field','',0), - (18,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:15:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:9:\"thumbnail\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake Image','fake_image','publish','closed','closed','','field_57f4495c59838','','','2016-10-05 00:30:05','2016-10-05 00:30:05','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=18',2,'acf-field','',0), - (19,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:10:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake File','fake_file','publish','closed','closed','','field_57f4496c59839','','','2016-10-05 00:30:05','2016-10-05 00:30:05','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=19',3,'acf-field','',0), - (20,1,'2016-10-05 00:30:05','2016-10-05 00:30:05','a:17:{s:4:\"type\";s:7:\"gallery\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:12:\"preview_size\";s:9:\"thumbnail\";s:6:\"insert\";s:6:\"append\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake Gallery','fake_gallery','publish','closed','closed','','field_57f449785983a','','','2016-10-05 00:49:19','2016-10-05 00:49:19','',15,'http://wordpress.corcel.dev/?post_type=acf-field&p=20',4,'acf-field','',0), - (21,1,'2016-10-05 00:30:13','2016-10-05 00:30:13','','ACF Content Fields','','publish','closed','closed','','acf-content-fields','','','2016-10-05 00:38:18','2016-10-05 00:38:18','',0,'http://wordpress.corcel.dev/?page_id=21',0,'page','',0), - (22,1,'2016-10-05 00:30:13','2016-10-05 00:30:13','','ACF Content Fields','','inherit','closed','closed','','21-revision-v1','','','2016-10-05 00:30:13','2016-10-05 00:30:13','',21,'http://wordpress.corcel.dev/2016/10/05/21-revision-v1/',0,'revision','',0), - (23,1,'2016-10-05 00:34:53','2016-10-05 00:34:53','','beautiful-places-free-images-gallery','','inherit','open','closed','','beautiful-places-free-images-gallery','','','2016-10-05 00:36:11','2016-10-05 00:36:11','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/beautiful-places-free-images-gallery.jpg',0,'attachment','image/jpeg',0), - (24,1,'2016-10-05 00:34:54','2016-10-05 00:34:54','','d1sgof0','','inherit','open','closed','','d1sgof0','','','2016-10-05 00:34:54','2016-10-05 00:34:54','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/d1sgOF0.jpg',0,'attachment','image/jpeg',0), - (25,1,'2016-10-05 00:34:56','2016-10-05 00:34:56','','free-beautiful-place-155','','inherit','open','closed','','free-beautiful-place-155','','','2016-10-05 00:34:56','2016-10-05 00:34:56','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/free-beautiful-place-155.jpg',0,'attachment','image/jpeg',0), - (26,1,'2016-10-05 00:34:57','2016-10-05 00:34:57','','f53bad65f21de95e4765011732e922e7_large','','inherit','open','closed','','f53bad65f21de95e4765011732e922e7_large','','','2016-10-05 00:34:57','2016-10-05 00:34:57','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/f53bad65f21de95e4765011732e922e7_large.jpeg',0,'attachment','image/jpeg',0), - (27,1,'2016-10-05 00:34:58','2016-10-05 00:34:58','','maxresdefault','','inherit','open','closed','','maxresdefault','','','2016-10-05 00:34:58','2016-10-05 00:34:58','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/maxresdefault.jpg',0,'attachment','image/jpeg',0), - (28,1,'2016-10-05 00:34:59','2016-10-05 00:34:59','','beautiful-place-132960-high-definition','','inherit','open','closed','','beautiful-place-132960-high-definition','','','2016-10-05 00:34:59','2016-10-05 00:34:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/beautiful-place-132960-high-definition.jpg',0,'attachment','image/jpeg',0), - (29,1,'2016-10-05 00:35:00','2016-10-05 00:35:00','','maxresdefault-1','This is a caption','inherit','open','closed','','maxresdefault-1','','','2016-10-05 02:01:35','2016-10-05 02:01:35','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/maxresdefault-1.jpg',0,'attachment','image/jpeg',0), - (30,1,'2016-10-05 00:35:57','2016-10-05 00:35:57','','porplano-multi-instituido-demonstracaodasprovisoestecnicasdoplanodebeneficios','','inherit','open','closed','','porplano-multi-instituido-demonstracaodasprovisoestecnicasdoplanodebeneficios','','','2016-10-05 00:35:57','2016-10-05 00:35:57','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/PorPlano-MULTI-INSTITUIDO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf',0,'attachment','application/pdf',0), - (31,1,'2016-10-05 00:35:58','2016-10-05 00:35:58','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:35:58','2016-10-05 00:35:58','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), - (32,1,'2016-10-05 00:35:58','2016-10-05 00:35:58','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-instituido-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:35:58','2016-10-05 00:35:58','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-INSTITUÍDO-Demonstração-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), - (33,1,'2016-10-05 00:35:59','2016-10-05 00:35:59','','porplano-multi-patrocinado-demonstracaodoplanodegestaoadministrativaporplano-mp','','inherit','open','closed','','porplano-multi-patrocinado-demonstracaodoplanodegestaoadministrativaporplano-mp','','','2016-10-05 00:35:59','2016-10-05 00:35:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/PorPlano-MULTI-PATROCINADO-DemonstracaodoPlanodeGestaoAdministrativaporplano-MP.pdf',0,'attachment','application/pdf',0), - (34,1,'2016-10-05 00:35:59','2016-10-05 00:35:59','','por-plano-multipatrocinado-demonstracaodasprovisoestecnicasdoplanodebeneficios','','inherit','open','closed','','por-plano-multipatrocinado-demonstracaodasprovisoestecnicasdoplanodebeneficios','','','2016-10-05 00:35:59','2016-10-05 00:35:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTIPATROCINADO-DemonstracaodasProvisoesTecnicasdoPlanodeBeneficios.pdf',0,'attachment','application/pdf',0), - (35,1,'2016-10-05 00:35:59','2016-10-05 00:35:59','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-da-mutac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:35:59','2016-10-05 00:35:59','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-da-Mutação-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), - (36,1,'2016-10-05 00:36:00','2016-10-05 00:36:00','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','inherit','open','closed','','por-plano-multi-patrocinado-demonstrac%cc%a7a%cc%83o-do-ativo-liquido','','','2016-10-05 00:36:00','2016-10-05 00:36:00','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Por-Plano-MULTI-PATROCINADO-Demonstração-do-Ativo-Líquido.pdf',0,'attachment','application/pdf',0), - (37,1,'2016-10-05 00:36:00','2016-10-05 00:36:00','Description here','Title here','Caption here','inherit','open','closed','','consolidado-manifestac%cc%a7a%cc%83o-do-conselho-deliberativo','','','2016-10-05 12:41:50','2016-10-05 12:41:50','',21,'http://wordpress.corcel.dev/wp-content/uploads/2016/10/Consolidado-Manifestacao-do-Conselho-Deliberativo.pdf',0,'attachment','application/pdf',0), - (38,1,'2016-10-05 00:38:18','2016-10-05 00:38:18','','ACF Content Fields','','inherit','closed','closed','','21-revision-v1','','','2016-10-05 00:38:18','2016-10-05 00:38:18','',21,'http://wordpress.corcel.dev/2016/10/05/21-revision-v1/',0,'revision','',0), - (39,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"44\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Choice Fields','acf-choice-fields','publish','closed','closed','','group_57f56b0fa185f','','','2016-10-05 21:12:03','2016-10-05 21:12:03','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=39',0,'acf-field-group','',0), - (40,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:14:{s:4:\"type\";s:6:\"select\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:13:\"default_value\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:2:\"ui\";i:0;s:4:\"ajax\";i:0;s:11:\"placeholder\";s:0:\"\";s:8:\"disabled\";i:0;s:8:\"readonly\";i:0;}','Fake Select','fake_select','publish','closed','closed','','field_57f56b166ce5f','','','2016-10-05 21:12:03','2016-10-05 21:12:03','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=40',0,'acf-field','',0), - (41,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:9:{s:4:\"type\";s:8:\"checkbox\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:1;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:13:\"default_value\";a:0:{}s:6:\"layout\";s:8:\"vertical\";s:6:\"toggle\";i:0;}','Fake Checkbox','fake_checkbox','publish','closed','closed','','field_57f56b556ce60','','','2016-10-05 21:11:34','2016-10-05 21:11:34','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=41',2,'acf-field','',0), - (42,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:11:{s:4:\"type\";s:5:\"radio\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:1;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:10:\"allow_null\";i:0;s:12:\"other_choice\";i:0;s:17:\"save_other_choice\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:8:\"vertical\";}','Fake Radio Button','fake_radio_button','publish','closed','closed','','field_57f56b656ce61','','','2016-10-05 21:11:34','2016-10-05 21:11:34','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=42',3,'acf-field','',0), - (43,1,'2016-10-05 21:07:32','2016-10-05 21:07:32','a:7:{s:4:\"type\";s:10:\"true_false\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";s:0:\"\";s:17:\"conditional_logic\";s:0:\"\";s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"message\";s:0:\"\";s:13:\"default_value\";i:0;}','Fake True False','fake_true_false','publish','closed','closed','','field_57f56b786ce62','','','2016-10-05 21:11:34','2016-10-05 21:11:34','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=43',4,'acf-field','',0), - (44,1,'2016-10-05 21:07:44','2016-10-05 21:07:44','','ACF Choices Field','','publish','closed','closed','','acf-choices-field','','','2016-10-05 21:12:14','2016-10-05 21:12:14','',0,'http://wordpress.corcel.dev/?page_id=44',0,'page','',0), - (45,1,'2016-10-05 21:07:44','2016-10-05 21:07:44','','ACF Choices Field','','inherit','closed','closed','','44-revision-v1','','','2016-10-05 21:07:44','2016-10-05 21:07:44','',44,'http://wordpress.corcel.dev/2016/10/05/44-revision-v1/',0,'revision','',0), - (46,1,'2016-10-05 21:10:52','2016-10-05 21:10:52','','ACF Choices Field','','inherit','closed','closed','','44-revision-v1','','','2016-10-05 21:10:52','2016-10-05 21:10:52','',44,'http://wordpress.corcel.dev/2016/10/05/44-revision-v1/',0,'revision','',0), - (47,1,'2016-10-05 21:11:34','2016-10-05 21:11:34','a:14:{s:4:\"type\";s:6:\"select\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:4:{s:3:\"red\";s:3:\"Red\";s:4:\"blue\";s:4:\"Blue\";s:6:\"yellow\";s:6:\"Yellow\";s:5:\"green\";s:5:\"Green\";}s:13:\"default_value\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:1;s:2:\"ui\";i:0;s:4:\"ajax\";i:0;s:11:\"placeholder\";s:0:\"\";s:8:\"disabled\";i:0;s:8:\"readonly\";i:0;}','Fake Select Multiple','fake_select_multiple','publish','closed','closed','','field_57f56c73f440a','','','2016-10-05 21:12:03','2016-10-05 21:12:03','',39,'http://wordpress.corcel.dev/?post_type=acf-field&p=47',1,'acf-field','',0), - (48,1,'2016-10-05 21:12:14','2016-10-05 21:12:14','','ACF Choices Field','','inherit','closed','closed','','44-revision-v1','','','2016-10-05 21:12:14','2016-10-05 21:12:14','',44,'http://wordpress.corcel.dev/2016/10/05/44-revision-v1/',0,'revision','',0), - (49,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"56\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Relational Fields','acf-relational-fields','publish','closed','closed','','group_57f70afa096c3','','','2016-10-07 02:43:33','2016-10-07 02:43:33','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=49',0,'acf-field-group','',0), - (50,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:11:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}','Fake Post Object','fake_post_object','publish','closed','closed','','field_57f70b063a715','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=50',0,'acf-field','',0), - (51,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:9:{s:4:\"type\";s:9:\"page_link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:1:{i:0;s:4:\"page\";}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;}','Fake Page Link','fake_page_link','publish','closed','closed','','field_57f70b1d3a716','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=51',1,'acf-field','',0), - (52,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:12:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:1:{i:0;s:4:\"page\";}s:8:\"taxonomy\";a:0:{}s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}','Fake Relationship','fake_relationship','publish','closed','closed','','field_57f70b3f3a717','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=52',2,'acf-field','',0), - (53,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:13:{s:4:\"type\";s:8:\"taxonomy\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:8:\"taxonomy\";s:8:\"category\";s:10:\"field_type\";s:8:\"checkbox\";s:10:\"allow_null\";i:0;s:8:\"add_term\";i:1;s:10:\"save_terms\";i:0;s:10:\"load_terms\";i:0;s:13:\"return_format\";s:2:\"id\";s:8:\"multiple\";i:0;}','Fake Taxonomy','fake_taxonomy','publish','closed','closed','','field_57f70b593a718','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=53',3,'acf-field','',0), - (54,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:13:{s:4:\"type\";s:8:\"taxonomy\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:8:\"taxonomy\";s:8:\"category\";s:10:\"field_type\";s:5:\"radio\";s:10:\"allow_null\";i:0;s:8:\"add_term\";i:1;s:10:\"save_terms\";i:0;s:10:\"load_terms\";i:0;s:13:\"return_format\";s:6:\"object\";s:8:\"multiple\";i:0;}','Fake Taxonomy Single','fake_taxonomy_single','publish','closed','closed','','field_57f70b7e3a719','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=54',4,'acf-field','',0), - (55,1,'2016-10-07 02:43:04','2016-10-07 02:43:04','a:8:{s:4:\"type\";s:4:\"user\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:4:\"role\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;}','Fake User','fake_user','publish','closed','closed','','field_57f70ba23a71a','','','2016-10-07 02:43:04','2016-10-07 02:43:04','',49,'http://wordpress.corcel.dev/?post_type=acf-field&p=55',5,'acf-field','',0), - (56,1,'2016-10-07 02:43:18','2016-10-07 02:43:18','','ACF Relational Fields','','publish','closed','closed','','acf-relational-fields','','','2016-10-07 02:44:27','2016-10-07 02:44:27','',0,'http://wordpress.corcel.dev/?page_id=56',0,'page','',0), - (57,1,'2016-10-07 02:43:18','2016-10-07 02:43:18','','ACF Relational Fields','','inherit','closed','closed','','56-revision-v1','','','2016-10-07 02:43:18','2016-10-07 02:43:18','',56,'http://wordpress.corcel.dev/2016/10/07/56-revision-v1/',0,'revision','',0), - (58,1,'2016-10-07 02:44:27','2016-10-07 02:44:27','','ACF Relational Fields','','inherit','closed','closed','','56-revision-v1','','','2016-10-07 02:44:27','2016-10-07 02:44:27','',56,'http://wordpress.corcel.dev/2016/10/07/56-revision-v1/',0,'revision','',0), - (59,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"65\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF jQuery Fields','acf-jquery-fields','publish','closed','closed','','group_57f84aad732a9','','','2016-10-08 01:27:00','2016-10-08 01:27:00','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=59',0,'acf-field-group','',0), - (60,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:9:{s:4:\"type\";s:10:\"google_map\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:10:\"center_lat\";s:8:\"-37.8172\";s:10:\"center_lng\";s:8:\"144.9652\";s:4:\"zoom\";i:14;s:6:\"height\";i:400;}','Fake Google Map','fake_google_map','publish','closed','closed','','field_57f84ab1ae3b0','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=60',0,'acf-field','',0), - (61,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:8:{s:4:\"type\";s:11:\"date_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:14:\"display_format\";s:5:\"d/m/Y\";s:13:\"return_format\";s:5:\"d/m/Y\";s:9:\"first_day\";i:1;}','Fake Date Picker','fake_date_picker','publish','closed','closed','','field_57f84aedae3b1','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=61',1,'acf-field','',0), - (62,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:8:{s:4:\"type\";s:16:\"date_time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:14:\"display_format\";s:11:\"d/m/Y g:i a\";s:13:\"return_format\";s:11:\"d/m/Y g:i a\";s:9:\"first_day\";i:1;}','Fake Date Time Picker','fake_date_time_picker','publish','closed','closed','','field_57f84b02ae3b2','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=62',2,'acf-field','',0), - (63,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:7:{s:4:\"type\";s:11:\"time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:14:\"display_format\";s:5:\"g:i a\";s:13:\"return_format\";s:5:\"g:i a\";}','Fake Time Picker','fake_time_picker','publish','closed','closed','','field_57f84b19ae3b3','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=63',3,'acf-field','',0), - (64,1,'2016-10-08 01:26:27','2016-10-08 01:26:27','a:6:{s:4:\"type\";s:12:\"color_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:7:\"#ffcc99\";}','Fake Color Picker','fake_color_picker','publish','closed','closed','','field_57f84b29ae3b4','','','2016-10-08 01:26:27','2016-10-08 01:26:27','',59,'http://wordpress.corcel.dev/?post_type=acf-field&p=64',4,'acf-field','',0), - (65,1,'2016-10-08 01:26:48','2016-10-08 01:26:48','','ACF jQuery Fields','','publish','closed','closed','','acf-jquery-fields','','','2016-10-08 01:36:15','2016-10-08 01:36:15','',0,'http://wordpress.corcel.dev/?page_id=65',0,'page','',0), - (66,1,'2016-10-08 01:26:48','2016-10-08 01:26:48','','ACF jQuery Fields','','inherit','closed','closed','','65-revision-v1','','','2016-10-08 01:26:48','2016-10-08 01:26:48','',65,'http://wordpress.corcel.dev/2016/10/08/65-revision-v1/',0,'revision','',0), - (67,1,'2016-10-08 01:36:15','2016-10-08 01:36:15','','ACF jQuery Fields','','inherit','closed','closed','','65-revision-v1','','','2016-10-08 01:36:15','2016-10-08 01:36:15','',65,'http://wordpress.corcel.dev/2016/10/08/65-revision-v1/',0,'revision','',0), - (68,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"73\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Layout Fields','acf-layout-fields','publish','closed','closed','','group_5802efee5ab76','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',0,'http://wordpress.corcel.dev/?post_type=acf-field-group&p=68',0,'acf-field-group','',0), - (69,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:8:{s:4:\"type\";s:7:\"message\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"message\";s:23:\"This is a test message!\";s:9:\"new_lines\";s:7:\"wpautop\";s:8:\"esc_html\";i:0;}','Fake Message','','publish','closed','closed','','field_5802eff73a7f9','','','2016-10-16 03:14:48','2016-10-16 03:14:48','',68,'http://wordpress.corcel.dev/?post_type=acf-field&p=69',0,'acf-field','',0), - (70,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:10:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:7:\"Add Row\";}','Fake Repeater','fake_repeater','publish','closed','closed','','field_5802f0133a7fa','','','2016-10-16 03:20:09','2016-10-16 03:20:09','',68,'http://wordpress.corcel.dev/?post_type=acf-field&p=70',1,'acf-field','',0), - (71,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:8:\"readonly\";i:0;s:8:\"disabled\";i:0;}','Repeater Text','repeater_text','publish','closed','closed','','field_5802f02b3a7fb','','','2016-10-16 03:13:29','2016-10-16 03:13:29','',70,'http://wordpress.corcel.dev/?post_type=acf-field&p=71',0,'acf-field','',0), - (72,1,'2016-10-16 03:13:29','2016-10-16 03:13:29','a:11:{s:4:\"type\";s:5:\"radio\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:7:\"choices\";a:2:{s:3:\"red\";s:3:\"red\";s:4:\"blue\";s:4:\"blue\";}s:10:\"allow_null\";i:0;s:12:\"other_choice\";i:0;s:17:\"save_other_choice\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:8:\"vertical\";}','Repeater Radio','repeater_radio','publish','closed','closed','','field_5802f0363a7fc','','','2016-10-16 03:20:10','2016-10-16 03:20:10','',70,'http://wordpress.corcel.dev/?post_type=acf-field&p=72',1,'acf-field','',0), - (73,1,'2016-10-16 03:14:00','2016-10-16 03:14:00','','ACF Layout Fields','','publish','closed','closed','','acf-layout-fields','','','2016-10-21 20:40:42','2016-10-21 20:40:42','',0,'http://wordpress.corcel.dev/?page_id=73',0,'page','',0), - (74,1,'2016-10-16 03:14:00','2016-10-16 03:14:00','','ACF Layout Fields','','inherit','closed','closed','','73-revision-v1','','','2016-10-16 03:14:00','2016-10-16 03:14:00','',73,'http://wordpress.corcel.dev/2016/10/16/73-revision-v1/',0,'revision','',0), - (75,1,'2016-10-16 03:20:43','2016-10-16 03:20:43','','ACF Layout Fields','','inherit','closed','closed','','73-revision-v1','','','2016-10-16 03:20:43','2016-10-16 03:20:43','',73,'http://wordpress.corcel.dev/2016/10/16/73-revision-v1/',0,'revision','',0), - (76,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:10:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:7:\"Add Row\";}','Fake Repeater 2','fake_repeater_2','publish','closed','closed','','field_580a75c3dd71a','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',68,'http://wordpress.corcel.dev/?post_type=acf-field&p=76',2,'acf-field','',0), - (77,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:8:{s:4:\"type\";s:4:\"user\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:4:\"role\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;}','Fake User','fake_user','publish','closed','closed','','field_580a75d7dd71b','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',76,'http://wordpress.corcel.dev/?post_type=acf-field&p=77',0,'acf-field','',0), - (78,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:10:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}','Fake FIle','fake_file','publish','closed','closed','','field_580a75fddd71c','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',76,'http://wordpress.corcel.dev/?post_type=acf-field&p=78',1,'acf-field','',0), - (79,1,'2016-10-21 20:10:17','2016-10-21 20:10:17','a:12:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}','Fake Relationship','fake_relationship','publish','closed','closed','','field_580a760ddd71d','','','2016-10-21 20:10:17','2016-10-21 20:10:17','',76,'http://wordpress.corcel.dev/?post_type=acf-field&p=79',2,'acf-field','',0), - (80,1,'2016-10-21 20:12:09','2016-10-21 20:12:09','','ACF Layout Fields','','inherit','closed','closed','','73-revision-v1','','','2016-10-21 20:12:09','2016-10-21 20:12:09','',73,'http://wordpress.corcel.dev/2016/10/21/73-revision-v1/',0,'revision','',0), - (81,1,'2017-02-09 07:19:30','0000-00-00 00:00:00','','Auto Draft','','auto-draft','open','open','','','','','2017-02-09 07:19:30','0000-00-00 00:00:00','',0,'http://wdka.lcl/?p=81',0,'post','',0), - (82,1,'2017-02-09 07:21:44','2017-02-09 07:21:44','a:7:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:4:\"page\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:2:\"86\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";}','ACF Flexible content','acf-flexible-content','publish','closed','closed','','group_589c18653a943','','','2017-02-09 07:50:19','2017-02-09 07:50:19','',0,'http://wdka.lcl/?post_type=acf-field-group&p=82',0,'acf-field-group','',0), - (83,1,'2017-02-09 07:23:44','2017-02-09 07:23:44','a:9:{s:4:\"type\";s:16:\"flexible_content\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:12:\"button_label\";s:7:\"Add Row\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:7:\"layouts\";a:3:{i:0;a:6:{s:3:\"key\";s:13:\"589c18bcf10da\";s:5:\"label\";s:11:\"Normal text\";s:4:\"name\";s:11:\"normal_text\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}i:1;a:6:{s:3:\"key\";s:13:\"589c18dfc9b28\";s:5:\"label\";s:12:\"Related post\";s:4:\"name\";s:12:\"related_post\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}i:2;a:6:{s:3:\"key\";s:13:\"589c1ee35ec27\";s:5:\"label\";s:14:\"Multiple posts\";s:4:\"name\";s:14:\"multiple_posts\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}}}','Fake Flexible Content','fake_flexible_content','publish','closed','closed','','field_589c18adc9b26','','','2017-02-09 07:50:19','2017-02-09 07:50:19','',82,'http://wdka.lcl/?post_type=acf-field&p=83',0,'acf-field','',0), - (84,1,'2017-02-09 07:23:44','2017-02-09 07:23:44','a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:13:\"589c18bcf10da\";s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}','text','text','publish','closed','closed','','field_589c18d0c9b27','','','2017-02-09 07:23:44','2017-02-09 07:23:44','',83,'http://wdka.lcl/?post_type=acf-field&p=84',0,'acf-field','',0), - (85,1,'2017-02-09 07:23:44','2017-02-09 07:23:44','a:12:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:13:\"589c18dfc9b28\";s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}','post','post','publish','closed','closed','','field_589c18eac9b29','','','2017-02-09 07:23:44','2017-02-09 07:23:44','',83,'http://wdka.lcl/?post_type=acf-field&p=85',0,'acf-field','',0), - (86,1,'2017-02-09 07:24:04','2017-02-09 07:24:04','','ACF Flexible Content Fields','','publish','closed','closed','','acf-flexible-content','','','2017-02-09 07:49:59','2017-02-09 07:49:59','',0,'http://wdka.lcl/?page_id=86',0,'page','',0), - (88,1,'2017-02-09 07:25:15','2017-02-09 07:25:15','','ACF Flexible Content','','inherit','closed','closed','','86-revision-v1','','','2017-02-09 07:25:15','2017-02-09 07:25:15','',86,'http://wdka.lcl/2017/02/09/86-revision-v1/',0,'revision','',0), - (89,1,'2017-02-09 07:49:22','2017-02-09 07:49:22','a:12:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:13:\"589c1ee35ec27\";s:9:\"post_type\";a:0:{}s:8:\"taxonomy\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:1;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}','post','post','publish','closed','closed','','field_589c1ee35ec28','','','2017-02-09 07:49:22','2017-02-09 07:49:22','',83,'http://wdka.lcl/?post_type=acf-field&p=89',0,'acf-field','',0), - (90,1,'2017-02-09 07:49:59','2017-02-09 07:49:59','','ACF Flexible Content Fields','','inherit','closed','closed','','86-revision-v1','','','2017-02-09 07:49:59','2017-02-09 07:49:59','',86,'http://wdka.lcl/2017/02/09/86-revision-v1/',0,'revision','',0), - (91,1,'2017-02-10 06:07:14','2017-02-10 06:07:14','','ACF Basic Fields - Empty','','publish','closed','closed','','acf-basic-fields-empty','','','2017-02-10 06:17:57','2017-02-10 06:17:57','',0,'http://wordpress.corcel.dev/?page_id=91',0,'page','',0), - (92,1,'2017-02-10 06:07:14','2017-02-10 06:07:14','','ACF Basic Fields - Empty','','inherit','closed','closed','','91-revision-v1','','','2017-02-10 06:07:14','2017-02-10 06:07:14','',91,'http://wordpress.corcel.dev/2017/02/10/91-revision-v1/',0,'revision','',0); - -/*!40000 ALTER TABLE `wp_posts` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_term_relationships -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_term_relationships`; - -CREATE TABLE `wp_term_relationships` ( - `object_id` bigint(20) unsigned NOT NULL DEFAULT '0', - `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', - `term_order` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`object_id`,`term_taxonomy_id`), - KEY `term_taxonomy_id` (`term_taxonomy_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_term_relationships` WRITE; -/*!40000 ALTER TABLE `wp_term_relationships` DISABLE KEYS */; - -INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) -VALUES - (1,1,0); - -/*!40000 ALTER TABLE `wp_term_relationships` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_term_taxonomy -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_term_taxonomy`; - -CREATE TABLE `wp_term_taxonomy` ( - `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', - `taxonomy` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `description` longtext COLLATE utf8mb4_unicode_ci NOT NULL, - `parent` bigint(20) unsigned NOT NULL DEFAULT '0', - `count` bigint(20) NOT NULL DEFAULT '0', - PRIMARY KEY (`term_taxonomy_id`), - UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), - KEY `taxonomy` (`taxonomy`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_term_taxonomy` WRITE; -/*!40000 ALTER TABLE `wp_term_taxonomy` DISABLE KEYS */; - -INSERT INTO `wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) -VALUES - (1,1,'category','',0,1); - -/*!40000 ALTER TABLE `wp_term_taxonomy` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_termmeta -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_termmeta`; - -CREATE TABLE `wp_termmeta` ( - `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', - `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `meta_value` longtext COLLATE utf8mb4_unicode_ci, - PRIMARY KEY (`meta_id`), - KEY `term_id` (`term_id`), - KEY `meta_key` (`meta_key`(191)) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - - - -# Dump of table wp_terms -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_terms`; - -CREATE TABLE `wp_terms` ( - `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `slug` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `term_group` bigint(10) NOT NULL DEFAULT '0', - PRIMARY KEY (`term_id`), - KEY `slug` (`slug`(191)), - KEY `name` (`name`(191)) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_terms` WRITE; -/*!40000 ALTER TABLE `wp_terms` DISABLE KEYS */; - -INSERT INTO `wp_terms` (`term_id`, `name`, `slug`, `term_group`) -VALUES - (1,'Uncategorized','uncategorized',0); - -/*!40000 ALTER TABLE `wp_terms` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_usermeta -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_usermeta`; - -CREATE TABLE `wp_usermeta` ( - `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', - `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `meta_value` longtext COLLATE utf8mb4_unicode_ci, - PRIMARY KEY (`umeta_id`), - KEY `user_id` (`user_id`), - KEY `meta_key` (`meta_key`(191)) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_usermeta` WRITE; -/*!40000 ALTER TABLE `wp_usermeta` DISABLE KEYS */; - -INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) -VALUES - (1,1,'nickname','admin'), - (2,1,'first_name',''), - (3,1,'last_name',''), - (4,1,'description',''), - (5,1,'rich_editing','true'), - (6,1,'comment_shortcuts','false'), - (7,1,'admin_color','fresh'), - (8,1,'use_ssl','0'), - (9,1,'show_admin_bar_front','true'), - (10,1,'wp_capabilities','a:1:{s:13:\"administrator\";b:1;}'), - (11,1,'wp_user_level','10'), - (12,1,'dismissed_wp_pointers',''), - (13,1,'show_welcome_panel','1'), - (14,1,'session_tokens','a:2:{s:64:\"a5c283600980fbc0d1784460d810557f2fabf9f208feee0cd3dcf1c4b067b147\";a:4:{s:10:\"expiration\";i:1486797569;s:2:\"ip\";s:3:\"::1\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36\";s:5:\"login\";i:1486624769;}s:64:\"d566ac4a3e1b23f149afa6eda67a1ed0bd5a5d853c9765a810ddde2b17f961f3\";a:4:{s:10:\"expiration\";i:1486879412;s:2:\"ip\";s:12:\"192.168.33.1\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36\";s:5:\"login\";i:1486706612;}}'), - (15,1,'wp_dashboard_quick_press_last_post_id','81'), - (16,1,'wp_user-settings','editor=tinymce&libraryContent=browse'), - (17,1,'wp_user-settings-time','1486624765'), - (18,1,'acf_user_settings','a:0:{}'); - -/*!40000 ALTER TABLE `wp_usermeta` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table wp_users -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `wp_users`; - -CREATE TABLE `wp_users` ( - `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `user_pass` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `user_nicename` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `user_url` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `user_activation_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - `user_status` int(11) NOT NULL DEFAULT '0', - `display_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', - PRIMARY KEY (`ID`), - KEY `user_login_key` (`user_login`), - KEY `user_nicename` (`user_nicename`), - KEY `user_email` (`user_email`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `wp_users` WRITE; -/*!40000 ALTER TABLE `wp_users` DISABLE KEYS */; - -INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) -VALUES - (1,'admin','$P$BZ05iH.zRtLuGO5Px.Kc0IKWo.QrJv1','admin','juniorgro@gmail.com','','2016-10-04 21:37:39','',0,'admin'); - -/*!40000 ALTER TABLE `wp_users` ENABLE KEYS */; -UNLOCK TABLES; - - - -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;