Version Description
Download this release
Release Info
| Developer | diegoquinteiro |
| Plugin | |
| Version | 3.2.3 |
| Comparing to | |
| See all releases | |
Code changes from version 3.1.4 to 3.2.3
- class-instant-articles-post.php +4 -36
- class-instant-articles-publisher.php +11 -2
- compat.php +8 -6
- compat/class-instant-articles-playbuzz.php +27 -0
- compat/playbuzz-rules-configuration.json +23 -0
- css/instant-articles-meta-box.css +6 -0
- css/instant-articles-settings-wizard.css +0 -3
- css/instant-articles-wizard.css +15 -6
- facebook-instant-articles.php +2 -2
- feed-template.php +5 -0
- js/instant-articles-meta-box.js +14 -0
- js/instant-articles-wizard.js +5 -6
- meta-box/class-instant-articles-meta-box.php +38 -4
- meta-box/meta-box-template.php +22 -1
- readme.txt +18 -1
- rules-configuration.json +49 -3
- vendor/autoload.php +1 -1
- vendor/composer/autoload_files.php +1 -1
- vendor/composer/autoload_psr4.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +6 -6
- vendor/composer/installed.json +78 -78
- vendor/facebook/facebook-instant-articles-sdk-php/composer.json +0 -47
- vendor/facebook/facebook-instant-articles-sdk-php/composer.lock +0 -1245
- vendor/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles/Transformer/Getters/ElementGetter.php +1 -1
- vendor/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles/Transformer/Rules/InstantArticleRule.php +0 -1
- vendor/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles/Transformer/Rules/TimeRule.php +0 -1
- vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Elements/SocialEmbedTest.php +0 -96
- vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/WPTransformerTest.php +0 -98
- vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/wp-ia.xml +0 -202
- vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/wp-rules.json +0 -606
- vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/wp.html +0 -221
- vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/wp-rules.json +0 -270
- vendor/facebook/{php-sdk-v4 → graph-sdk}/LICENSE +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/composer.json +4 -3
- vendor/facebook/graph-sdk/phpcs.xml.dist +7 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Authentication/AccessToken.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Authentication/AccessTokenMetadata.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Authentication/OAuth2Client.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookAuthenticationException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookAuthorizationException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookClientException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookOtherException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookResponseException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookResumableUploadException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookSDKException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookServerException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookThrottleException.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Facebook.php +2 -2
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookApp.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookBatchRequest.php +0 -2
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookBatchResponse.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookClient.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookRequest.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookResponse.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookFile.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookResumableUploader.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookTransferChunk.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookVideo.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/Mimetypes.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/Birthday.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/Collection.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphAchievement.php +0 -1
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphAlbum.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphApplication.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphCoverPhoto.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphEdge.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphEvent.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphGroup.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphList.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphLocation.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphNode.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphNodeFactory.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphObject.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphObjectFactory.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphPage.php +22 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphPicture.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphSessionInfo.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphUser.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookCanvasHelper.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookJavaScriptHelper.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookPageTabHelper.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookRedirectLoginHelper.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/GraphRawResponse.php +1 -1
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/RequestBodyInterface.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/RequestBodyMultipart.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/RequestBodyUrlEncoded.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookCurl.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookCurlHttpClient.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookGuzzleHttpClient.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookHttpClientInterface.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookStream.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookStreamHttpClient.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/HttpClientsFactory.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/certs/DigiCertHighAssuranceEVRootCA.pem +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/FacebookMemoryPersistentDataHandler.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/FacebookSessionPersistentDataHandler.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/PersistentDataFactory.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/PersistentDataInterface.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/McryptPseudoRandomStringGenerator.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/OpenSslPseudoRandomStringGenerator.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorFactory.php +11 -3
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorInterface.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorTrait.php +0 -0
- vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/RandomBytesPseudoRandomStringGenerator.php +59 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/UrandomPseudoRandomStringGenerator.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/SignedRequest.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Url/FacebookUrlDetectionHandler.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Url/FacebookUrlManipulator.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Url/UrlDetectionInterface.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/autoload.php +0 -0
- vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/polyfills.php +0 -0
- vendor/symfony/css-selector/Parser/Reader.php +0 -2
- wizard/class-instant-articles-option-publishing.php +4 -4
- wizard/class-instant-articles-wizard.php +95 -66
- wizard/templates/app-setup-template.php +5 -5
- wizard/templates/overview-template.php +1 -1
- wizard/templates/page-selection-template.php +3 -5
- wizard/templates/review-submission-template.php +53 -19
- wizard/templates/style-selection-template.php +3 -3
- wizard/templates/wizard-template.php +11 -8
- wpcom-helper.php +50 -0
class-instant-articles-post.php
CHANGED
|
@@ -86,12 +86,13 @@ class Instant_Articles_Post {
|
|
| 86 |
$title = $this->_post->post_title;
|
| 87 |
|
| 88 |
/**
|
| 89 |
-
* Apply the default filter 'the_title' for the post
|
| 90 |
*
|
| 91 |
* @since 3.1
|
| 92 |
* @param string $title The current post title.
|
|
|
|
| 93 |
*/
|
| 94 |
-
$title = apply_filters( 'the_title', $title);
|
| 95 |
|
| 96 |
/**
|
| 97 |
* Filter the post title for use in instant articles.
|
|
@@ -682,40 +683,7 @@ class Instant_Articles_Post {
|
|
| 682 |
$this->instant_article->withStyle( 'default' );
|
| 683 |
}
|
| 684 |
|
| 685 |
-
$
|
| 686 |
-
$document = new DOMDocument( '1.0', get_option( 'blog_charset' ) );
|
| 687 |
-
$content = $this->get_the_content();
|
| 688 |
-
|
| 689 |
-
// DOMDocument isn’t handling encodings too well, so let’s help it a little.
|
| 690 |
-
if ( function_exists( 'mb_convert_encoding' ) ) {
|
| 691 |
-
$content = mb_convert_encoding( $content, 'HTML-ENTITIES', get_option( 'blog_charset' ) );
|
| 692 |
-
} else {
|
| 693 |
-
$content = htmlspecialchars_decode( utf8_decode( htmlentities( $content, ENT_COMPAT, 'utf-8', false ) ) );
|
| 694 |
-
}
|
| 695 |
-
|
| 696 |
-
$result = $document->loadHTML( '<!doctype html><html><body>' . $content . '</body></html>' );
|
| 697 |
-
|
| 698 |
-
// We need to make sure that scripts use absolute URLs and not relative URLs.
|
| 699 |
-
$scripts = $document->getElementsByTagName('script');
|
| 700 |
-
if ( ! empty( $scripts ) ) {
|
| 701 |
-
foreach ( $scripts as $script ){
|
| 702 |
-
$src = $script->getAttribute( 'src' );
|
| 703 |
-
$explode_src = parse_url( $src );
|
| 704 |
-
if ( is_array( $explode_src ) && empty( $explode_src['scheme'] ) && ! empty( $explode_src['host'] ) && ! empty( $explode_src['path'] ) ) {
|
| 705 |
-
$src = 'https://' . $explode_src['host'] . $explode_src['path'];
|
| 706 |
-
}
|
| 707 |
-
$script->setAttribute( 'src' , $src );
|
| 708 |
-
}
|
| 709 |
-
}
|
| 710 |
-
|
| 711 |
-
libxml_clear_errors();
|
| 712 |
-
libxml_use_internal_errors( $libxml_previous_state );
|
| 713 |
-
|
| 714 |
-
$document = apply_filters( 'instant_articles_parsed_document', $document );
|
| 715 |
-
|
| 716 |
-
if ( $result ) {
|
| 717 |
-
$transformer->transform( $this->instant_article, $document );
|
| 718 |
-
}
|
| 719 |
|
| 720 |
$this->add_ads_from_settings();
|
| 721 |
$this->add_analytics_from_settings();
|
| 86 |
$title = $this->_post->post_title;
|
| 87 |
|
| 88 |
/**
|
| 89 |
+
* Apply the default filter 'the_title' for the post title.
|
| 90 |
*
|
| 91 |
* @since 3.1
|
| 92 |
* @param string $title The current post title.
|
| 93 |
+
* @param int $id The current post ID.
|
| 94 |
*/
|
| 95 |
+
$title = apply_filters( 'the_title', $title, $this->_post->ID );
|
| 96 |
|
| 97 |
/**
|
| 98 |
* Filter the post title for use in instant articles.
|
| 683 |
$this->instant_article->withStyle( 'default' );
|
| 684 |
}
|
| 685 |
|
| 686 |
+
$transformer->transformString( $this->instant_article, $this->get_the_content(), get_option( 'blog_charset' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 687 |
|
| 688 |
$this->add_ads_from_settings();
|
| 689 |
$this->add_analytics_from_settings();
|
class-instant-articles-publisher.php
CHANGED
|
@@ -21,6 +21,7 @@ class Instant_Articles_Publisher {
|
|
| 21 |
* Key to store the submission status ID on meta data
|
| 22 |
*/
|
| 23 |
const SUBMISSION_ID_KEY = 'instant_articles_submission_id';
|
|
|
|
| 24 |
|
| 25 |
/**
|
| 26 |
* Inits publisher.
|
|
@@ -56,6 +57,11 @@ class Instant_Articles_Publisher {
|
|
| 56 |
// Transform the post to an Instant Article.
|
| 57 |
$adapter = new Instant_Articles_Post( $post );
|
| 58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
$article = $adapter->to_instant_article();
|
| 60 |
|
| 61 |
// Skip empty articles or articles missing title.
|
|
@@ -71,6 +77,7 @@ class Instant_Articles_Publisher {
|
|
| 71 |
$fb_app_settings = Instant_Articles_Option_FB_App::get_option_decoded();
|
| 72 |
$fb_page_settings = Instant_Articles_Option_FB_Page::get_option_decoded();
|
| 73 |
$publishing_settings = Instant_Articles_Option_Publishing::get_option_decoded();
|
|
|
|
| 74 |
|
| 75 |
$dev_mode = isset( $publishing_settings['dev_mode'] )
|
| 76 |
? ( $publishing_settings['dev_mode'] ? true : false )
|
|
@@ -99,12 +106,14 @@ class Instant_Articles_Publisher {
|
|
| 99 |
|
| 100 |
// Don't process if contains warnings and blocker flag for transformation warnings is turned on.
|
| 101 |
if ( count( $adapter->transformer->getWarnings() ) > 0
|
| 102 |
-
&& isset( $publishing_settings['
|
| 103 |
-
&& $
|
|
|
|
| 104 |
|
| 105 |
// Unpublishes if already published
|
| 106 |
$client->removeArticle( $article->getCanonicalURL() );
|
| 107 |
delete_post_meta( $post_id, self::SUBMISSION_ID_KEY );
|
|
|
|
| 108 |
return;
|
| 109 |
}
|
| 110 |
|
| 21 |
* Key to store the submission status ID on meta data
|
| 22 |
*/
|
| 23 |
const SUBMISSION_ID_KEY = 'instant_articles_submission_id';
|
| 24 |
+
const FORCE_SUBMIT_KEY = 'instant_articles_force_submit';
|
| 25 |
|
| 26 |
/**
|
| 27 |
* Inits publisher.
|
| 57 |
// Transform the post to an Instant Article.
|
| 58 |
$adapter = new Instant_Articles_Post( $post );
|
| 59 |
|
| 60 |
+
// Allow to disable post submit via filter
|
| 61 |
+
if ( false === apply_filters( 'instant_articles_should_submit_post', true, $adapter ) ) {
|
| 62 |
+
return;
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
$article = $adapter->to_instant_article();
|
| 66 |
|
| 67 |
// Skip empty articles or articles missing title.
|
| 77 |
$fb_app_settings = Instant_Articles_Option_FB_App::get_option_decoded();
|
| 78 |
$fb_page_settings = Instant_Articles_Option_FB_Page::get_option_decoded();
|
| 79 |
$publishing_settings = Instant_Articles_Option_Publishing::get_option_decoded();
|
| 80 |
+
$force_submit = get_post_meta( $post_id, self::FORCE_SUBMIT_KEY, true );
|
| 81 |
|
| 82 |
$dev_mode = isset( $publishing_settings['dev_mode'] )
|
| 83 |
? ( $publishing_settings['dev_mode'] ? true : false )
|
| 106 |
|
| 107 |
// Don't process if contains warnings and blocker flag for transformation warnings is turned on.
|
| 108 |
if ( count( $adapter->transformer->getWarnings() ) > 0
|
| 109 |
+
&& ( ! isset( $publishing_settings[ 'publish_with_warnings' ] ) || ! $publishing_settings[ 'publish_with_warnings' ] )
|
| 110 |
+
&& ( ! $force_submit )
|
| 111 |
+
) {
|
| 112 |
|
| 113 |
// Unpublishes if already published
|
| 114 |
$client->removeArticle( $article->getCanonicalURL() );
|
| 115 |
delete_post_meta( $post_id, self::SUBMISSION_ID_KEY );
|
| 116 |
+
|
| 117 |
return;
|
| 118 |
}
|
| 119 |
|
compat.php
CHANGED
|
@@ -7,11 +7,6 @@
|
|
| 7 |
* @package default
|
| 8 |
*/
|
| 9 |
|
| 10 |
-
if ( !function_exists( 'is_plugin_active' ) ) {
|
| 11 |
-
require_once ( ABSPATH . '/wp-admin/includes/plugin.php' );
|
| 12 |
-
}
|
| 13 |
-
|
| 14 |
-
|
| 15 |
// Load compat layer for Co-Authors Plus.
|
| 16 |
if ( function_exists( 'get_coauthors' ) && ! defined( 'CAP_IA_COMPAT' ) ) {
|
| 17 |
include( dirname( __FILE__ ) . '/compat/class-instant-articles-co-authors-plus.php' );
|
|
@@ -41,8 +36,15 @@ if ( defined( 'JETPACK__VERSION' ) ) {
|
|
| 41 |
}
|
| 42 |
|
| 43 |
// Load support for Get The Image plugin
|
| 44 |
-
if (
|
| 45 |
include( dirname( __FILE__ ) . '/compat/class-instant-articles-get-the-image.php' );
|
| 46 |
$gti = new Instant_Articles_Get_The_Image;
|
| 47 |
$gti->init();
|
| 48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
* @package default
|
| 8 |
*/
|
| 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
// Load compat layer for Co-Authors Plus.
|
| 11 |
if ( function_exists( 'get_coauthors' ) && ! defined( 'CAP_IA_COMPAT' ) ) {
|
| 12 |
include( dirname( __FILE__ ) . '/compat/class-instant-articles-co-authors-plus.php' );
|
| 36 |
}
|
| 37 |
|
| 38 |
// Load support for Get The Image plugin
|
| 39 |
+
if ( function_exists( 'get_the_image' ) ) {
|
| 40 |
include( dirname( __FILE__ ) . '/compat/class-instant-articles-get-the-image.php' );
|
| 41 |
$gti = new Instant_Articles_Get_The_Image;
|
| 42 |
$gti->init();
|
| 43 |
}
|
| 44 |
+
|
| 45 |
+
// Load support for Playbuzz plugin
|
| 46 |
+
if ( function_exists( 'playbuzz_settings_link' ) ) {
|
| 47 |
+
include( dirname( __FILE__ ) . '/compat/class-instant-articles-playbuzz.php' );
|
| 48 |
+
$playbuzz = new Instant_Articles_Playbuzz;
|
| 49 |
+
$playbuzz->init();
|
| 50 |
+
}
|
compat/class-instant-articles-playbuzz.php
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Support class for Playbuzz
|
| 5 |
+
*
|
| 6 |
+
* @since 3.1.1
|
| 7 |
+
*
|
| 8 |
+
*/
|
| 9 |
+
class Instant_Articles_Playbuzz {
|
| 10 |
+
|
| 11 |
+
/**
|
| 12 |
+
* Init the compat layer
|
| 13 |
+
*
|
| 14 |
+
*/
|
| 15 |
+
function init() {
|
| 16 |
+
add_filter( 'instant_articles_transformer_rules_loaded', array( 'Instant_Articles_Playbuzz', 'transformer_loaded' ) );
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
public static function transformer_loaded( $transformer ) {
|
| 20 |
+
// Appends more rules to transformer
|
| 21 |
+
$file_path = plugin_dir_path( __FILE__ ) . 'playbuzz-rules-configuration.json';
|
| 22 |
+
$configuration = file_get_contents( $file_path );
|
| 23 |
+
$transformer->loadRules( $configuration );
|
| 24 |
+
|
| 25 |
+
return $transformer;
|
| 26 |
+
}
|
| 27 |
+
}
|
compat/playbuzz-rules-configuration.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"rules": [{
|
| 3 |
+
"class" : "IgnoreRule",
|
| 4 |
+
"selector": "//p/script[contains(@src,'playbuzz')]"
|
| 5 |
+
}, {
|
| 6 |
+
"class": "InteractiveRule",
|
| 7 |
+
"selector" : "div.pb_feed",
|
| 8 |
+
"properties" : {
|
| 9 |
+
"interactive.iframe" : {
|
| 10 |
+
"type" : "multiple",
|
| 11 |
+
"children": [{
|
| 12 |
+
"type": "fragment",
|
| 13 |
+
"fragment": "<script type='text/javascript' src='//cdn.playbuzz.com/widget/feed.js'></script>"
|
| 14 |
+
}, {
|
| 15 |
+
"type": "element",
|
| 16 |
+
"selector": "div.pb_feed"
|
| 17 |
+
}
|
| 18 |
+
]
|
| 19 |
+
}
|
| 20 |
+
}
|
| 21 |
+
}
|
| 22 |
+
]
|
| 23 |
+
}
|
css/instant-articles-meta-box.css
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
.instant-articles-messages {
|
| 2 |
margin-left: 15px;
|
| 3 |
margin-top: 0px;
|
| 1 |
+
.instant-articles-dev-mode-indicator {
|
| 2 |
+
float: right;
|
| 3 |
+
text-decoration: none;
|
| 4 |
+
font-size: smaller;
|
| 5 |
+
}
|
| 6 |
+
|
| 7 |
.instant-articles-messages {
|
| 8 |
margin-left: 15px;
|
| 9 |
margin-top: 0px;
|
css/instant-articles-settings-wizard.css
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
.instant-articles-inline-form input[name='submit'] {
|
| 2 |
-
display: inline;
|
| 3 |
-
}
|
|
|
|
|
|
|
|
|
css/instant-articles-wizard.css
CHANGED
|
@@ -350,18 +350,27 @@ a.instant-articles-button {
|
|
| 350 |
font-weight: bold;
|
| 351 |
}
|
| 352 |
.instant-articles-advanced-settings {
|
| 353 |
-
text-decoration: none;
|
| 354 |
font-weight: bold;
|
| 355 |
margin-top: 20px;
|
| 356 |
-
display: block;
|
| 357 |
}
|
| 358 |
-
.instant-articles-
|
| 359 |
-
.instant-articles-
|
|
|
|
|
|
|
| 360 |
outline: none;
|
| 361 |
box-shadow: none;
|
| 362 |
}
|
| 363 |
-
|
| 364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 365 |
display: none;
|
| 366 |
}
|
| 367 |
|
| 350 |
font-weight: bold;
|
| 351 |
}
|
| 352 |
.instant-articles-advanced-settings {
|
|
|
|
| 353 |
font-weight: bold;
|
| 354 |
margin-top: 20px;
|
|
|
|
| 355 |
}
|
| 356 |
+
.instant-articles-wizard-toggle a,
|
| 357 |
+
.instant-articles-wizard-toggle a:active,
|
| 358 |
+
.instant-articles-wizard-toggle a:focus {
|
| 359 |
+
text-decoration: none;
|
| 360 |
outline: none;
|
| 361 |
box-shadow: none;
|
| 362 |
}
|
| 363 |
+
.instant-articles-wizard-toggle-opened::before {
|
| 364 |
+
content: "▼ ";
|
| 365 |
+
}
|
| 366 |
+
.instant-articles-wizard-toggle-closed::before {
|
| 367 |
+
content: "▶︎ ";
|
| 368 |
+
}
|
| 369 |
+
.instant-articles-advanced-settings[data-state='opened'] .instant-articles-wizard-toggle-closed {
|
| 370 |
+
display: none;
|
| 371 |
+
}
|
| 372 |
+
.instant-articles-advanced-settings[data-state='closed'] .instant-articles-wizard-toggle-opened,
|
| 373 |
+
.instant-articles-advanced-settings[data-state='closed'] + .instant-articles-wizard-advanced-settings-box {
|
| 374 |
display: none;
|
| 375 |
}
|
| 376 |
|
facebook-instant-articles.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
* Description: Add support for Instant Articles for Facebook to your WordPress site.
|
| 5 |
* Author: Automattic, Dekode, Facebook
|
| 6 |
* Author URI: https://vip.wordpress.com/plugins/instant-articles/
|
| 7 |
-
* Version: 3.
|
| 8 |
* Text Domain: instant-articles
|
| 9 |
* License: GPLv2
|
| 10 |
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
@@ -61,7 +61,7 @@ if ( version_compare( PHP_VERSION, '5.4', '<' ) ) {
|
|
| 61 |
|
| 62 |
defined( 'ABSPATH' ) || die( 'Shame on you' );
|
| 63 |
|
| 64 |
-
define( 'IA_PLUGIN_VERSION', '3.
|
| 65 |
define( 'IA_PLUGIN_PATH_FULL', __FILE__ );
|
| 66 |
define( 'IA_PLUGIN_PATH', plugin_basename( __FILE__ ) );
|
| 67 |
define( 'IA_PLUGIN_FILE_BASENAME', pathinfo( __FILE__, PATHINFO_FILENAME ) );
|
| 4 |
* Description: Add support for Instant Articles for Facebook to your WordPress site.
|
| 5 |
* Author: Automattic, Dekode, Facebook
|
| 6 |
* Author URI: https://vip.wordpress.com/plugins/instant-articles/
|
| 7 |
+
* Version: 3.2.2
|
| 8 |
* Text Domain: instant-articles
|
| 9 |
* License: GPLv2
|
| 10 |
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 61 |
|
| 62 |
defined( 'ABSPATH' ) || die( 'Shame on you' );
|
| 63 |
|
| 64 |
+
define( 'IA_PLUGIN_VERSION', '3.2.2' );
|
| 65 |
define( 'IA_PLUGIN_PATH_FULL', __FILE__ );
|
| 66 |
define( 'IA_PLUGIN_PATH', plugin_basename( __FILE__ ) );
|
| 67 |
define( 'IA_PLUGIN_FILE_BASENAME', pathinfo( __FILE__, PATHINFO_FILENAME ) );
|
feed-template.php
CHANGED
|
@@ -21,6 +21,11 @@ $last_modified = null;
|
|
| 21 |
<?php
|
| 22 |
$instant_article_post = new Instant_Articles_Post( get_post( get_the_id() ) );
|
| 23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
// If we’re OK with a limited post set: Do not include posts with empty content -- FB will complain.
|
| 25 |
if ( defined( 'INSTANT_ARTICLES_LIMIT_POSTS' ) && INSTANT_ARTICLES_LIMIT_POSTS && ! strlen( trim( $instant_article_post->get_the_content() ) ) ) {
|
| 26 |
continue;
|
| 21 |
<?php
|
| 22 |
$instant_article_post = new Instant_Articles_Post( get_post( get_the_id() ) );
|
| 23 |
|
| 24 |
+
// Allow to disable post submit via filter
|
| 25 |
+
if ( false === apply_filters( 'instant_articles_should_submit_post', true, $instant_article_post ) ) {
|
| 26 |
+
continue;
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
// If we’re OK with a limited post set: Do not include posts with empty content -- FB will complain.
|
| 30 |
if ( defined( 'INSTANT_ARTICLES_LIMIT_POSTS' ) && INSTANT_ARTICLES_LIMIT_POSTS && ! strlen( trim( $instant_article_post->get_the_content() ) ) ) {
|
| 31 |
continue;
|
js/instant-articles-meta-box.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
function instant_articles_load_meta_box ( post_ID ) {
|
| 2 |
jQuery( document ).ready( function( $ ) {
|
| 3 |
var data = {
|
|
@@ -6,6 +17,9 @@ function instant_articles_load_meta_box ( post_ID ) {
|
|
| 6 |
};
|
| 7 |
jQuery.post( ajaxurl, data, function(response) {
|
| 8 |
jQuery( '#instant_article_meta_box .inside' ).html( response );
|
|
|
|
|
|
|
|
|
|
| 9 |
}, 'html' );
|
| 10 |
jQuery( '#instant_article_meta_box' ).delegate( '.instant-articles-toggle-debug', 'click', function () {
|
| 11 |
jQuery( '#instant_article_meta_box' ).toggleClass( 'instant-articles-show-debug' );
|
| 1 |
+
function instant_articles_force_submit ( post_ID ) {
|
| 2 |
+
var data = {
|
| 3 |
+
'action': 'instant_articles_force_submit',
|
| 4 |
+
'post_ID': post_ID,
|
| 5 |
+
'force': jQuery( '#instant_articles_force_submit' ).is( ':checked' ),
|
| 6 |
+
'security': jQuery( '#instant_articles_force_submit' ).attr( 'data-security' )
|
| 7 |
+
};
|
| 8 |
+
jQuery.post( ajaxurl, data, function(response) {
|
| 9 |
+
instant_articles_load_meta_box( post_ID );
|
| 10 |
+
});
|
| 11 |
+
}
|
| 12 |
function instant_articles_load_meta_box ( post_ID ) {
|
| 13 |
jQuery( document ).ready( function( $ ) {
|
| 14 |
var data = {
|
| 17 |
};
|
| 18 |
jQuery.post( ajaxurl, data, function(response) {
|
| 19 |
jQuery( '#instant_article_meta_box .inside' ).html( response );
|
| 20 |
+
jQuery( '#instant_articles_force_submit').click( function () {
|
| 21 |
+
instant_articles_force_submit( post_ID );
|
| 22 |
+
} );
|
| 23 |
}, 'html' );
|
| 24 |
jQuery( '#instant_article_meta_box' ).delegate( '.instant-articles-toggle-debug', 'click', function () {
|
| 25 |
jQuery( '#instant_article_meta_box' ).toggleClass( 'instant-articles-show-debug' );
|
js/instant-articles-wizard.js
CHANGED
|
@@ -122,15 +122,14 @@ function instant_articles_wizard_bind_events () {
|
|
| 122 |
jQuery( document ).ready( function () {
|
| 123 |
instant_articles_wizard_bind_events();
|
| 124 |
|
| 125 |
-
jQuery( '.instant-articles-wizard-toggle' ).on( 'click', function () {
|
| 126 |
-
|
| 127 |
-
if (
|
| 128 |
-
|
| 129 |
}
|
| 130 |
else {
|
| 131 |
-
|
| 132 |
}
|
| 133 |
-
jQuery( this ).text( text ).next().slideToggle();
|
| 134 |
return false;
|
| 135 |
});
|
| 136 |
});
|
| 122 |
jQuery( document ).ready( function () {
|
| 123 |
instant_articles_wizard_bind_events();
|
| 124 |
|
| 125 |
+
jQuery( '.instant-articles-wizard-toggle a' ).on( 'click', function () {
|
| 126 |
+
$advancedSettingsContainer = jQuery( '.instant-articles-advanced-settings' );
|
| 127 |
+
if ( $advancedSettingsContainer.attr( 'data-state') === 'closed' ) {
|
| 128 |
+
$advancedSettingsContainer.attr( 'data-state', 'opened' );
|
| 129 |
}
|
| 130 |
else {
|
| 131 |
+
$advancedSettingsContainer.attr( 'data-state', 'closed' );
|
| 132 |
}
|
|
|
|
| 133 |
return false;
|
| 134 |
});
|
| 135 |
});
|
meta-box/class-instant-articles-meta-box.php
CHANGED
|
@@ -28,6 +28,10 @@ class Instant_Articles_Meta_Box {
|
|
| 28 |
'wp_ajax_instant_articles_meta_box',
|
| 29 |
array( 'Instant_Articles_Meta_Box', 'render_meta_box' )
|
| 30 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
}
|
| 32 |
|
| 33 |
/**
|
|
@@ -38,7 +42,9 @@ class Instant_Articles_Meta_Box {
|
|
| 38 |
'instant_article_meta_box',
|
| 39 |
'Facebook Instant Articles',
|
| 40 |
array( 'Instant_Articles_Meta_Box', 'render_meta_box_loader' ),
|
| 41 |
-
|
|
|
|
|
|
|
| 42 |
'normal',
|
| 43 |
'default'
|
| 44 |
);
|
|
@@ -60,27 +66,54 @@ class Instant_Articles_Meta_Box {
|
|
| 60 |
/**
|
| 61 |
* Renderer for the Metabox.
|
| 62 |
*/
|
| 63 |
-
public static function
|
| 64 |
-
$post_id = intval(
|
| 65 |
|
| 66 |
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
| 67 |
wp_die( -1, 403 );
|
| 68 |
}
|
| 69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
$post = get_post( $post_id );
|
| 71 |
$adapter = new Instant_Articles_Post( $post );
|
| 72 |
$article = $adapter->to_instant_article();
|
| 73 |
$canonical_url = $adapter->get_canonical_url();
|
| 74 |
$submission_status = null;
|
| 75 |
$published = 'publish' === $post->post_status;
|
|
|
|
|
|
|
|
|
|
| 76 |
|
| 77 |
Instant_Articles_Wizard::menu_items();
|
| 78 |
$settings_page_href = Instant_Articles_Wizard::get_url();
|
| 79 |
|
|
|
|
|
|
|
| 80 |
if ( $published ) {
|
| 81 |
try {
|
| 82 |
$fb_app_settings = Instant_Articles_Option_FB_App::get_option_decoded();
|
| 83 |
$fb_page_settings = Instant_Articles_Option_FB_Page::get_option_decoded();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
|
| 85 |
if ( isset( $fb_app_settings['app_id'] )
|
| 86 |
&& isset( $fb_app_settings['app_secret'] )
|
|
@@ -91,7 +124,8 @@ class Instant_Articles_Meta_Box {
|
|
| 91 |
$fb_app_settings['app_id'],
|
| 92 |
$fb_app_settings['app_secret'],
|
| 93 |
$fb_page_settings['page_access_token'],
|
| 94 |
-
$fb_page_settings['page_id']
|
|
|
|
| 95 |
);
|
| 96 |
|
| 97 |
$submission_status_id = get_post_meta( $post_id, Instant_Articles_Publisher::SUBMISSION_ID_KEY, true );
|
| 28 |
'wp_ajax_instant_articles_meta_box',
|
| 29 |
array( 'Instant_Articles_Meta_Box', 'render_meta_box' )
|
| 30 |
);
|
| 31 |
+
add_action(
|
| 32 |
+
'wp_ajax_instant_articles_force_submit',
|
| 33 |
+
array( 'Instant_Articles_Meta_Box', 'force_submit' )
|
| 34 |
+
);
|
| 35 |
}
|
| 36 |
|
| 37 |
/**
|
| 42 |
'instant_article_meta_box',
|
| 43 |
'Facebook Instant Articles',
|
| 44 |
array( 'Instant_Articles_Meta_Box', 'render_meta_box_loader' ),
|
| 45 |
+
|
| 46 |
+
/** This filter is defined in facebook-instant-articles.php. */
|
| 47 |
+
apply_filters( 'instant_articles_post_types', array( 'post' ) ),
|
| 48 |
'normal',
|
| 49 |
'default'
|
| 50 |
);
|
| 66 |
/**
|
| 67 |
* Renderer for the Metabox.
|
| 68 |
*/
|
| 69 |
+
public static function force_submit() {
|
| 70 |
+
$post_id = intval( $_POST[ 'post_ID' ] );
|
| 71 |
|
| 72 |
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
| 73 |
wp_die( -1, 403 );
|
| 74 |
}
|
| 75 |
|
| 76 |
+
check_ajax_referer( 'instant-articles-force-submit-' . $post_id, 'security' );
|
| 77 |
+
$force = sanitize_text_field( $_POST[ 'force' ] ) === 'true';
|
| 78 |
+
update_post_meta( $post_id, Instant_Articles_Publisher::FORCE_SUBMIT_KEY, $force );
|
| 79 |
+
Instant_Articles_Publisher::submit_article( $post_id, get_post( $post_id ) );
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
/**
|
| 83 |
+
* Renderer for the Metabox.
|
| 84 |
+
*/
|
| 85 |
+
public static function render_meta_box() {
|
| 86 |
+
$post_id = intval( $_POST[ 'post_ID' ] );
|
| 87 |
+
|
| 88 |
+
if ( !current_user_can( 'edit_post', $post_id ) ) {
|
| 89 |
+
wp_die( -1, 403 );
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
$ajax_nonce = wp_create_nonce( "instant-articles-force-submit-" . $post_id );
|
| 93 |
$post = get_post( $post_id );
|
| 94 |
$adapter = new Instant_Articles_Post( $post );
|
| 95 |
$article = $adapter->to_instant_article();
|
| 96 |
$canonical_url = $adapter->get_canonical_url();
|
| 97 |
$submission_status = null;
|
| 98 |
$published = 'publish' === $post->post_status;
|
| 99 |
+
$dev_mode = false;
|
| 100 |
+
$force_submit = get_post_meta( $post_id, Instant_Articles_Publisher::FORCE_SUBMIT_KEY, true );
|
| 101 |
+
$should_submit_post = apply_filters( 'instant_articles_should_submit_post', true, $adapter );
|
| 102 |
|
| 103 |
Instant_Articles_Wizard::menu_items();
|
| 104 |
$settings_page_href = Instant_Articles_Wizard::get_url();
|
| 105 |
|
| 106 |
+
$publishing_settings = Instant_Articles_Option_Publishing::get_option_decoded();
|
| 107 |
+
$publish_with_warnings = $publishing_settings[ 'publish_with_warnings' ];
|
| 108 |
if ( $published ) {
|
| 109 |
try {
|
| 110 |
$fb_app_settings = Instant_Articles_Option_FB_App::get_option_decoded();
|
| 111 |
$fb_page_settings = Instant_Articles_Option_FB_Page::get_option_decoded();
|
| 112 |
+
$publishing_settings = Instant_Articles_Option_Publishing::get_option_decoded();
|
| 113 |
+
|
| 114 |
+
$dev_mode = isset( $publishing_settings['dev_mode'] )
|
| 115 |
+
? ( $publishing_settings['dev_mode'] ? true : false )
|
| 116 |
+
: false;
|
| 117 |
|
| 118 |
if ( isset( $fb_app_settings['app_id'] )
|
| 119 |
&& isset( $fb_app_settings['app_secret'] )
|
| 124 |
$fb_app_settings['app_id'],
|
| 125 |
$fb_app_settings['app_secret'],
|
| 126 |
$fb_page_settings['page_access_token'],
|
| 127 |
+
$fb_page_settings['page_id'],
|
| 128 |
+
$dev_mode
|
| 129 |
);
|
| 130 |
|
| 131 |
$submission_status_id = get_post_meta( $post_id, Instant_Articles_Publisher::SUBMISSION_ID_KEY, true );
|
meta-box/meta-box-template.php
CHANGED
|
@@ -11,7 +11,21 @@ use Facebook\InstantArticles\Client\InstantArticleStatus;
|
|
| 11 |
use Facebook\InstantArticles\Client\ServerMessage;
|
| 12 |
?>
|
| 13 |
|
| 14 |
-
<?php if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
<p>
|
| 16 |
<b>
|
| 17 |
<span class="dashicons dashicons-media-document"></span>
|
|
@@ -163,6 +177,13 @@ use Facebook\InstantArticles\Client\ServerMessage;
|
|
| 163 |
</li>
|
| 164 |
<?php endforeach; ?>
|
| 165 |
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 166 |
|
| 167 |
<?php else : ?>
|
| 168 |
<p>
|
| 11 |
use Facebook\InstantArticles\Client\ServerMessage;
|
| 12 |
?>
|
| 13 |
|
| 14 |
+
<?php if ( $dev_mode ) : ?>
|
| 15 |
+
<a href="<?php echo esc_url( $settings_page_href ); ?>" class="instant-articles-dev-mode-indicator">
|
| 16 |
+
<span class="dashicons dashicons-admin-tools"></span>
|
| 17 |
+
Development Mode
|
| 18 |
+
</a>
|
| 19 |
+
<?php endif; ?>
|
| 20 |
+
|
| 21 |
+
<?php if ( ! $should_submit_post ) : ?>
|
| 22 |
+
<p>
|
| 23 |
+
<b>
|
| 24 |
+
<span class="dashicons dashicons-no-alt"></span>
|
| 25 |
+
This post will not be submitted to Instant Articles due to a rule created in your site.
|
| 26 |
+
</b>
|
| 27 |
+
</p>
|
| 28 |
+
<?php elseif ( ! $published ) : ?>
|
| 29 |
<p>
|
| 30 |
<b>
|
| 31 |
<span class="dashicons dashicons-media-document"></span>
|
| 177 |
</li>
|
| 178 |
<?php endforeach; ?>
|
| 179 |
</ul>
|
| 180 |
+
<?php if ( ! $publish_with_warnings ) : ?>
|
| 181 |
+
<hr />
|
| 182 |
+
<p>
|
| 183 |
+
<input type="checkbox" id="instant_articles_force_submit" data-security="<?php echo $ajax_nonce; ?>" <?php checked( $force_submit , 1 ); ?> />
|
| 184 |
+
Submit this article even with warnings
|
| 185 |
+
</p>
|
| 186 |
+
<?php endif; ?>
|
| 187 |
|
| 188 |
<?php else : ?>
|
| 189 |
<p>
|
readme.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: trrine, olethomas, bjornjohansen, dekode, automattic, facebook
|
|
| 3 |
Tags: instant articles, facebook, mobile
|
| 4 |
Requires at least: 4.3
|
| 5 |
Tested up to: 4.6
|
| 6 |
-
Stable tag: 3.
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
|
@@ -85,6 +85,23 @@ Usually simply visiting the permalinks settings page in the WordPress dashboard
|
|
| 85 |
|
| 86 |
== Changelog ==
|
| 87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
= 3.1.3 =
|
| 89 |
* Fix for expiring token issue
|
| 90 |
* Fix missing icons
|
| 3 |
Tags: instant articles, facebook, mobile
|
| 4 |
Requires at least: 4.3
|
| 5 |
Tested up to: 4.6
|
| 6 |
+
Stable tag: 3.2.2
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
| 85 |
|
| 86 |
== Changelog ==
|
| 87 |
|
| 88 |
+
= 3.2 =
|
| 89 |
+
* Adds development mode support to post meta box (props simonengelhardt)
|
| 90 |
+
* Adds rule configuration for Instagram blockquotes (props everton-rosario)
|
| 91 |
+
* Adds rules for galleries (props everton-rosario)
|
| 92 |
+
* Migrates some unit tests (props everton-rosario)
|
| 93 |
+
* Switches to Facebook Graph SDK (props everton-rosario)
|
| 94 |
+
* Improves token invalidation flow (props everton-rosario)
|
| 95 |
+
* Fixes use of `the_title` filter (props srtfisher)
|
| 96 |
+
* Improves encoding handling (props yssk22)
|
| 97 |
+
* Adds post type filter to the post meta box (props technosailor)
|
| 98 |
+
* Adds Playbuzz support (props everton-rosario)
|
| 99 |
+
* Rename SDK getter to avert apocalypse (props diegoquinteiro)
|
| 100 |
+
* Wizard copy improvements (props demoive)
|
| 101 |
+
* Fixes issue with captions (props everton-rosario)
|
| 102 |
+
* Adds publication block for articles with transformation warnings (props everton-rosario)
|
| 103 |
+
* Fix https src attribute on some scripts (props goldenapples)
|
| 104 |
+
|
| 105 |
= 3.1.3 =
|
| 106 |
* Fix for expiring token issue
|
| 107 |
* Fix missing icons
|
rules-configuration.json
CHANGED
|
@@ -120,6 +120,26 @@
|
|
| 120 |
}, {
|
| 121 |
"class": "H2Rule",
|
| 122 |
"selector" : "h3,h4,h5,h6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
}, {
|
| 124 |
"class": "InteractiveRule",
|
| 125 |
"selector" : "iframe",
|
|
@@ -397,8 +417,10 @@
|
|
| 397 |
}, {
|
| 398 |
"class": "CaptionRule",
|
| 399 |
"selector" : "figcaption"
|
| 400 |
-
},
|
| 401 |
-
|
|
|
|
|
|
|
| 402 |
"class": "ImageRule",
|
| 403 |
"selector" : "figure",
|
| 404 |
"properties" : {
|
|
@@ -424,5 +446,29 @@
|
|
| 424 |
"attribute": "type"
|
| 425 |
}
|
| 426 |
}
|
| 427 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 428 |
}
|
| 120 |
}, {
|
| 121 |
"class": "H2Rule",
|
| 122 |
"selector" : "h3,h4,h5,h6"
|
| 123 |
+
}, {
|
| 124 |
+
"class": "InteractiveRule",
|
| 125 |
+
"selector" : "blockquote.instagram-media",
|
| 126 |
+
"properties" : {
|
| 127 |
+
"interactive.iframe" : {
|
| 128 |
+
"type" : "multiple",
|
| 129 |
+
"children": [
|
| 130 |
+
{
|
| 131 |
+
"type": "element",
|
| 132 |
+
"selector": "blockquote"
|
| 133 |
+
}, {
|
| 134 |
+
"type": "next-sibling-element-of",
|
| 135 |
+
"selector": "blockquote"
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
| 139 |
+
}
|
| 140 |
+
}, {
|
| 141 |
+
"class": "IgnoreRule",
|
| 142 |
+
"selector" : "script"
|
| 143 |
}, {
|
| 144 |
"class": "InteractiveRule",
|
| 145 |
"selector" : "iframe",
|
| 417 |
}, {
|
| 418 |
"class": "CaptionRule",
|
| 419 |
"selector" : "figcaption"
|
| 420 |
+
}, {
|
| 421 |
+
"class": "CaptionRule",
|
| 422 |
+
"selector" : "p.wp-caption-text"
|
| 423 |
+
}, {
|
| 424 |
"class": "ImageRule",
|
| 425 |
"selector" : "figure",
|
| 426 |
"properties" : {
|
| 446 |
"attribute": "type"
|
| 447 |
}
|
| 448 |
}
|
| 449 |
+
}, {
|
| 450 |
+
"class" : "PassThroughRule",
|
| 451 |
+
"selector" : "div.vce-gallery-big"
|
| 452 |
+
}, {
|
| 453 |
+
"class" : "PassThroughRule",
|
| 454 |
+
"selector" : "div.vce-gallery-small"
|
| 455 |
+
}, {
|
| 456 |
+
"class" : "IgnoreRule",
|
| 457 |
+
"selector" : "div.vce-gallery-slider"
|
| 458 |
+
}, {
|
| 459 |
+
"class": "SlideshowImageRule",
|
| 460 |
+
"selector" : "div.big-gallery-item",
|
| 461 |
+
"properties" : {
|
| 462 |
+
"image.url" : {
|
| 463 |
+
"type" : "string",
|
| 464 |
+
"selector" : "img",
|
| 465 |
+
"attribute": "src"
|
| 466 |
+
},
|
| 467 |
+
"caption.title" : {
|
| 468 |
+
"type" : "string",
|
| 469 |
+
"selector" : "figcaption.wp-caption-text"
|
| 470 |
+
}
|
| 471 |
+
}
|
| 472 |
+
}
|
| 473 |
+
]
|
| 474 |
}
|
vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInitfa8bfc5d2717dd9298c7d3347cfeea3b::getLoader();
|
vendor/composer/autoload_files.php
CHANGED
|
@@ -6,5 +6,5 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
| 6 |
$baseDir = dirname($vendorDir);
|
| 7 |
|
| 8 |
return array(
|
| 9 |
-
'
|
| 10 |
);
|
| 6 |
$baseDir = dirname($vendorDir);
|
| 7 |
|
| 8 |
return array(
|
| 9 |
+
'c65d09b6820da036953a371c8c73a9b1' => $vendorDir . '/facebook/graph-sdk/src/Facebook/polyfills.php',
|
| 10 |
);
|
vendor/composer/autoload_psr4.php
CHANGED
|
@@ -8,5 +8,5 @@ $baseDir = dirname($vendorDir);
|
|
| 8 |
return array(
|
| 9 |
'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
|
| 10 |
'Facebook\\InstantArticles\\' => array($vendorDir . '/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles'),
|
| 11 |
-
'Facebook\\' => array($vendorDir . '/facebook/
|
| 12 |
);
|
| 8 |
return array(
|
| 9 |
'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
|
| 10 |
'Facebook\\InstantArticles\\' => array($vendorDir . '/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles'),
|
| 11 |
+
'Facebook\\' => array($vendorDir . '/facebook/graph-sdk/src/Facebook'),
|
| 12 |
);
|
vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit337744729a91b1fdea5f68820e3d1dfe
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
-
call_user_func(\Composer\Autoload\
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
|
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit337744729a91b1fdea5f68820e3d1dfe
|
|
| 48 |
$loader->register(true);
|
| 49 |
|
| 50 |
if ($useStaticLoader) {
|
| 51 |
-
$includeFiles = Composer\Autoload\
|
| 52 |
} else {
|
| 53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 54 |
}
|
| 55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 56 |
-
|
| 57 |
}
|
| 58 |
|
| 59 |
return $loader;
|
| 60 |
}
|
| 61 |
}
|
| 62 |
|
| 63 |
-
function
|
| 64 |
{
|
| 65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 66 |
require $file;
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInitfa8bfc5d2717dd9298c7d3347cfeea3b
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInitfa8bfc5d2717dd9298c7d3347cfeea3b', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitfa8bfc5d2717dd9298c7d3347cfeea3b', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInitfa8bfc5d2717dd9298c7d3347cfeea3b::getInitializer($loader));
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
| 48 |
$loader->register(true);
|
| 49 |
|
| 50 |
if ($useStaticLoader) {
|
| 51 |
+
$includeFiles = Composer\Autoload\ComposerStaticInitfa8bfc5d2717dd9298c7d3347cfeea3b::$files;
|
| 52 |
} else {
|
| 53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 54 |
}
|
| 55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 56 |
+
composerRequirefa8bfc5d2717dd9298c7d3347cfeea3b($fileIdentifier, $file);
|
| 57 |
}
|
| 58 |
|
| 59 |
return $loader;
|
| 60 |
}
|
| 61 |
}
|
| 62 |
|
| 63 |
+
function composerRequirefa8bfc5d2717dd9298c7d3347cfeea3b($fileIdentifier, $file)
|
| 64 |
{
|
| 65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 66 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
|
@@ -4,10 +4,10 @@
|
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
-
class
|
| 8 |
{
|
| 9 |
public static $files = array (
|
| 10 |
-
'
|
| 11 |
);
|
| 12 |
|
| 13 |
public static $prefixLengthsPsr4 = array (
|
|
@@ -33,7 +33,7 @@ class ComposerStaticInit337744729a91b1fdea5f68820e3d1dfe
|
|
| 33 |
),
|
| 34 |
'Facebook\\' =>
|
| 35 |
array (
|
| 36 |
-
0 => __DIR__ . '/..' . '/facebook/
|
| 37 |
),
|
| 38 |
);
|
| 39 |
|
|
@@ -122,9 +122,9 @@ class ComposerStaticInit337744729a91b1fdea5f68820e3d1dfe
|
|
| 122 |
public static function getInitializer(ClassLoader $loader)
|
| 123 |
{
|
| 124 |
return \Closure::bind(function () use ($loader) {
|
| 125 |
-
$loader->prefixLengthsPsr4 =
|
| 126 |
-
$loader->prefixDirsPsr4 =
|
| 127 |
-
$loader->classMap =
|
| 128 |
|
| 129 |
}, null, ClassLoader::class);
|
| 130 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInitfa8bfc5d2717dd9298c7d3347cfeea3b
|
| 8 |
{
|
| 9 |
public static $files = array (
|
| 10 |
+
'c65d09b6820da036953a371c8c73a9b1' => __DIR__ . '/..' . '/facebook/graph-sdk/src/Facebook/polyfills.php',
|
| 11 |
);
|
| 12 |
|
| 13 |
public static $prefixLengthsPsr4 = array (
|
| 33 |
),
|
| 34 |
'Facebook\\' =>
|
| 35 |
array (
|
| 36 |
+
0 => __DIR__ . '/..' . '/facebook/graph-sdk/src/Facebook',
|
| 37 |
),
|
| 38 |
);
|
| 39 |
|
| 122 |
public static function getInitializer(ClassLoader $loader)
|
| 123 |
{
|
| 124 |
return \Closure::bind(function () use ($loader) {
|
| 125 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitfa8bfc5d2717dd9298c7d3347cfeea3b::$prefixLengthsPsr4;
|
| 126 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitfa8bfc5d2717dd9298c7d3347cfeea3b::$prefixDirsPsr4;
|
| 127 |
+
$loader->classMap = ComposerStaticInitfa8bfc5d2717dd9298c7d3347cfeea3b::$classMap;
|
| 128 |
|
| 129 |
}, null, ClassLoader::class);
|
| 130 |
}
|
vendor/composer/installed.json
CHANGED
|
@@ -1,49 +1,72 @@
|
|
| 1 |
[
|
| 2 |
{
|
| 3 |
-
"name": "
|
| 4 |
-
"version": "
|
| 5 |
-
"version_normalized": "2.
|
| 6 |
"source": {
|
| 7 |
"type": "git",
|
| 8 |
-
"url": "https://
|
| 9 |
-
"reference": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
},
|
| 11 |
"require": {
|
| 12 |
-
"php": ">=5.
|
| 13 |
},
|
| 14 |
-
"time": "
|
| 15 |
"type": "library",
|
| 16 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
"autoload": {
|
| 18 |
-
"
|
| 19 |
-
"
|
|
|
|
|
|
|
|
|
|
| 20 |
]
|
| 21 |
},
|
| 22 |
"notification-url": "https://packagist.org/downloads/",
|
| 23 |
"license": [
|
| 24 |
-
"
|
| 25 |
],
|
| 26 |
-
"
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
},
|
| 34 |
{
|
| 35 |
-
"name": "facebook/
|
| 36 |
-
"version": "5.
|
| 37 |
-
"version_normalized": "5.
|
| 38 |
"source": {
|
| 39 |
"type": "git",
|
| 40 |
"url": "https://github.com/facebook/php-graph-sdk.git",
|
| 41 |
-
"reference": "
|
| 42 |
},
|
| 43 |
"dist": {
|
| 44 |
"type": "zip",
|
| 45 |
-
"url": "https://api.github.com/repos/facebook/php-graph-sdk/zipball/
|
| 46 |
-
"reference": "
|
| 47 |
"shasum": ""
|
| 48 |
},
|
| 49 |
"require": {
|
|
@@ -55,9 +78,10 @@
|
|
| 55 |
"phpunit/phpunit": "~4.0"
|
| 56 |
},
|
| 57 |
"suggest": {
|
| 58 |
-
"guzzlehttp/guzzle": "Allows for implementation of the Guzzle HTTP client"
|
|
|
|
| 59 |
},
|
| 60 |
-
"time": "2016-
|
| 61 |
"type": "library",
|
| 62 |
"extra": {
|
| 63 |
"branch-alias": {
|
|
@@ -80,90 +104,66 @@
|
|
| 80 |
"authors": [
|
| 81 |
{
|
| 82 |
"name": "Facebook",
|
| 83 |
-
"homepage": "https://github.com/facebook/
|
| 84 |
}
|
| 85 |
],
|
| 86 |
"description": "Facebook SDK for PHP",
|
| 87 |
-
"homepage": "https://github.com/facebook/
|
| 88 |
"keywords": [
|
| 89 |
"facebook",
|
| 90 |
"sdk"
|
| 91 |
-
]
|
| 92 |
-
"abandoned": "facebook/graph-sdk"
|
| 93 |
},
|
| 94 |
{
|
| 95 |
-
"name": "
|
| 96 |
-
"version": "
|
| 97 |
-
"version_normalized": "2.
|
| 98 |
"source": {
|
| 99 |
"type": "git",
|
| 100 |
-
"url": "https://
|
| 101 |
-
"reference": "
|
| 102 |
-
},
|
| 103 |
-
"dist": {
|
| 104 |
-
"type": "zip",
|
| 105 |
-
"url": "https://api.github.com/repos/symfony/css-selector/zipball/71c8c3a04c126300c37089b1baa7c6322dfb845f",
|
| 106 |
-
"reference": "71c8c3a04c126300c37089b1baa7c6322dfb845f",
|
| 107 |
-
"shasum": ""
|
| 108 |
},
|
| 109 |
"require": {
|
| 110 |
-
"php": ">=5.
|
| 111 |
},
|
| 112 |
-
"time": "
|
| 113 |
"type": "library",
|
| 114 |
-
"
|
| 115 |
-
"branch-alias": {
|
| 116 |
-
"dev-master": "2.8-dev"
|
| 117 |
-
}
|
| 118 |
-
},
|
| 119 |
-
"installation-source": "dist",
|
| 120 |
"autoload": {
|
| 121 |
-
"
|
| 122 |
-
"
|
| 123 |
-
},
|
| 124 |
-
"exclude-from-classmap": [
|
| 125 |
-
"/Tests/"
|
| 126 |
]
|
| 127 |
},
|
| 128 |
"notification-url": "https://packagist.org/downloads/",
|
| 129 |
"license": [
|
| 130 |
-
"
|
| 131 |
-
],
|
| 132 |
-
"authors": [
|
| 133 |
-
{
|
| 134 |
-
"name": "Jean-François Simon",
|
| 135 |
-
"email": "jeanfrancois.simon@sensiolabs.com"
|
| 136 |
-
},
|
| 137 |
-
{
|
| 138 |
-
"name": "Fabien Potencier",
|
| 139 |
-
"email": "fabien@symfony.com"
|
| 140 |
-
},
|
| 141 |
-
{
|
| 142 |
-
"name": "Symfony Community",
|
| 143 |
-
"homepage": "https://symfony.com/contributors"
|
| 144 |
-
}
|
| 145 |
],
|
| 146 |
-
"description": "
|
| 147 |
-
"homepage": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
},
|
| 149 |
{
|
| 150 |
"name": "facebook/facebook-instant-articles-sdk-php",
|
| 151 |
-
"version": "v1.5.
|
| 152 |
-
"version_normalized": "1.5.
|
| 153 |
"source": {
|
| 154 |
"type": "git",
|
| 155 |
"url": "https://github.com/facebook/facebook-instant-articles-sdk-php.git",
|
| 156 |
-
"reference": "
|
| 157 |
},
|
| 158 |
"dist": {
|
| 159 |
"type": "zip",
|
| 160 |
-
"url": "https://api.github.com/repos/facebook/facebook-instant-articles-sdk-php/zipball/
|
| 161 |
-
"reference": "
|
| 162 |
"shasum": ""
|
| 163 |
},
|
| 164 |
"require": {
|
| 165 |
"apache/log4php": "2.3.0",
|
| 166 |
-
"facebook/
|
| 167 |
"php": "^5.4 || ^7.0",
|
| 168 |
"symfony/css-selector": "2.8.*"
|
| 169 |
},
|
|
@@ -172,7 +172,7 @@
|
|
| 172 |
"phpunit/phpunit": "^4.8",
|
| 173 |
"squizlabs/php_codesniffer": "^2.6.0"
|
| 174 |
},
|
| 175 |
-
"time": "2016-
|
| 176 |
"type": "library",
|
| 177 |
"installation-source": "dist",
|
| 178 |
"autoload": {
|
| 1 |
[
|
| 2 |
{
|
| 3 |
+
"name": "symfony/css-selector",
|
| 4 |
+
"version": "v2.8.14",
|
| 5 |
+
"version_normalized": "2.8.14.0",
|
| 6 |
"source": {
|
| 7 |
"type": "git",
|
| 8 |
+
"url": "https://github.com/symfony/css-selector.git",
|
| 9 |
+
"reference": "981abbbd6ba49af338a98490cbe29e7f39ca9fa9"
|
| 10 |
+
},
|
| 11 |
+
"dist": {
|
| 12 |
+
"type": "zip",
|
| 13 |
+
"url": "https://api.github.com/repos/symfony/css-selector/zipball/981abbbd6ba49af338a98490cbe29e7f39ca9fa9",
|
| 14 |
+
"reference": "981abbbd6ba49af338a98490cbe29e7f39ca9fa9",
|
| 15 |
+
"shasum": ""
|
| 16 |
},
|
| 17 |
"require": {
|
| 18 |
+
"php": ">=5.3.9"
|
| 19 |
},
|
| 20 |
+
"time": "2016-11-03 07:52:58",
|
| 21 |
"type": "library",
|
| 22 |
+
"extra": {
|
| 23 |
+
"branch-alias": {
|
| 24 |
+
"dev-master": "2.8-dev"
|
| 25 |
+
}
|
| 26 |
+
},
|
| 27 |
+
"installation-source": "dist",
|
| 28 |
"autoload": {
|
| 29 |
+
"psr-4": {
|
| 30 |
+
"Symfony\\Component\\CssSelector\\": ""
|
| 31 |
+
},
|
| 32 |
+
"exclude-from-classmap": [
|
| 33 |
+
"/Tests/"
|
| 34 |
]
|
| 35 |
},
|
| 36 |
"notification-url": "https://packagist.org/downloads/",
|
| 37 |
"license": [
|
| 38 |
+
"MIT"
|
| 39 |
],
|
| 40 |
+
"authors": [
|
| 41 |
+
{
|
| 42 |
+
"name": "Jean-François Simon",
|
| 43 |
+
"email": "jeanfrancois.simon@sensiolabs.com"
|
| 44 |
+
},
|
| 45 |
+
{
|
| 46 |
+
"name": "Fabien Potencier",
|
| 47 |
+
"email": "fabien@symfony.com"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "Symfony Community",
|
| 51 |
+
"homepage": "https://symfony.com/contributors"
|
| 52 |
+
}
|
| 53 |
+
],
|
| 54 |
+
"description": "Symfony CssSelector Component",
|
| 55 |
+
"homepage": "https://symfony.com"
|
| 56 |
},
|
| 57 |
{
|
| 58 |
+
"name": "facebook/graph-sdk",
|
| 59 |
+
"version": "5.4.2",
|
| 60 |
+
"version_normalized": "5.4.2.0",
|
| 61 |
"source": {
|
| 62 |
"type": "git",
|
| 63 |
"url": "https://github.com/facebook/php-graph-sdk.git",
|
| 64 |
+
"reference": "2839246e971aef150650196acbb46d47e5207370"
|
| 65 |
},
|
| 66 |
"dist": {
|
| 67 |
"type": "zip",
|
| 68 |
+
"url": "https://api.github.com/repos/facebook/php-graph-sdk/zipball/2839246e971aef150650196acbb46d47e5207370",
|
| 69 |
+
"reference": "2839246e971aef150650196acbb46d47e5207370",
|
| 70 |
"shasum": ""
|
| 71 |
},
|
| 72 |
"require": {
|
| 78 |
"phpunit/phpunit": "~4.0"
|
| 79 |
},
|
| 80 |
"suggest": {
|
| 81 |
+
"guzzlehttp/guzzle": "Allows for implementation of the Guzzle HTTP client",
|
| 82 |
+
"paragonie/random_compat": "Provides a better CSPRNG option in PHP 5"
|
| 83 |
},
|
| 84 |
+
"time": "2016-11-15 14:34:16",
|
| 85 |
"type": "library",
|
| 86 |
"extra": {
|
| 87 |
"branch-alias": {
|
| 104 |
"authors": [
|
| 105 |
{
|
| 106 |
"name": "Facebook",
|
| 107 |
+
"homepage": "https://github.com/facebook/php-graph-sdk/contributors"
|
| 108 |
}
|
| 109 |
],
|
| 110 |
"description": "Facebook SDK for PHP",
|
| 111 |
+
"homepage": "https://github.com/facebook/php-graph-sdk",
|
| 112 |
"keywords": [
|
| 113 |
"facebook",
|
| 114 |
"sdk"
|
| 115 |
+
]
|
|
|
|
| 116 |
},
|
| 117 |
{
|
| 118 |
+
"name": "apache/log4php",
|
| 119 |
+
"version": "2.3.0",
|
| 120 |
+
"version_normalized": "2.3.0.0",
|
| 121 |
"source": {
|
| 122 |
"type": "git",
|
| 123 |
+
"url": "https://git-wip-us.apache.org/repos/asf/logging-log4php.git",
|
| 124 |
+
"reference": "8c6df2481cd68d0d211d38f700406c5f0a9de0c2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
},
|
| 126 |
"require": {
|
| 127 |
+
"php": ">=5.2.7"
|
| 128 |
},
|
| 129 |
+
"time": "2012-10-26 09:13:25",
|
| 130 |
"type": "library",
|
| 131 |
+
"installation-source": "source",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
"autoload": {
|
| 133 |
+
"classmap": [
|
| 134 |
+
"src/main/php/"
|
|
|
|
|
|
|
|
|
|
| 135 |
]
|
| 136 |
},
|
| 137 |
"notification-url": "https://packagist.org/downloads/",
|
| 138 |
"license": [
|
| 139 |
+
"Apache-2.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 140 |
],
|
| 141 |
+
"description": "A versatile logging framework for PHP",
|
| 142 |
+
"homepage": "http://logging.apache.org/log4php/",
|
| 143 |
+
"keywords": [
|
| 144 |
+
"log",
|
| 145 |
+
"logging",
|
| 146 |
+
"php"
|
| 147 |
+
]
|
| 148 |
},
|
| 149 |
{
|
| 150 |
"name": "facebook/facebook-instant-articles-sdk-php",
|
| 151 |
+
"version": "v1.5.2",
|
| 152 |
+
"version_normalized": "1.5.2.0",
|
| 153 |
"source": {
|
| 154 |
"type": "git",
|
| 155 |
"url": "https://github.com/facebook/facebook-instant-articles-sdk-php.git",
|
| 156 |
+
"reference": "563726feebd4c3a0132d33bb5b946d4b460a9fa7"
|
| 157 |
},
|
| 158 |
"dist": {
|
| 159 |
"type": "zip",
|
| 160 |
+
"url": "https://api.github.com/repos/facebook/facebook-instant-articles-sdk-php/zipball/563726feebd4c3a0132d33bb5b946d4b460a9fa7",
|
| 161 |
+
"reference": "563726feebd4c3a0132d33bb5b946d4b460a9fa7",
|
| 162 |
"shasum": ""
|
| 163 |
},
|
| 164 |
"require": {
|
| 165 |
"apache/log4php": "2.3.0",
|
| 166 |
+
"facebook/graph-sdk": "~5.0",
|
| 167 |
"php": "^5.4 || ^7.0",
|
| 168 |
"symfony/css-selector": "2.8.*"
|
| 169 |
},
|
| 172 |
"phpunit/phpunit": "^4.8",
|
| 173 |
"squizlabs/php_codesniffer": "^2.6.0"
|
| 174 |
},
|
| 175 |
+
"time": "2016-10-07 18:26:43",
|
| 176 |
"type": "library",
|
| 177 |
"installation-source": "dist",
|
| 178 |
"autoload": {
|
vendor/facebook/facebook-instant-articles-sdk-php/composer.json
DELETED
|
@@ -1,47 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"name": "facebook/facebook-instant-articles-sdk-php",
|
| 3 |
-
"description": "Facebook Instant Articles SDK for PHP",
|
| 4 |
-
"keywords": ["facebook", "sdk", "instant", "articles"],
|
| 5 |
-
"type": "library",
|
| 6 |
-
"homepage": "https://github.com/facebook/facebook-instant-articles-sdk-php",
|
| 7 |
-
"license": "proprietary",
|
| 8 |
-
"authors": [{
|
| 9 |
-
"name": "Facebook",
|
| 10 |
-
"homepage": "https://github.com/facebook/facebook-instant-articles-sdk-php/contributors"
|
| 11 |
-
}],
|
| 12 |
-
"require": {
|
| 13 |
-
"php": "^5.4 || ^7.0",
|
| 14 |
-
"symfony/css-selector": "2.8.*",
|
| 15 |
-
"facebook/php-sdk-v4": "~5.0",
|
| 16 |
-
"apache/log4php": "2.3.0"
|
| 17 |
-
},
|
| 18 |
-
"require-dev": {
|
| 19 |
-
"fzaninotto/faker": "^1.6.0",
|
| 20 |
-
"phpunit/phpunit": "^4.8",
|
| 21 |
-
"squizlabs/php_codesniffer": "^2.6.0"
|
| 22 |
-
},
|
| 23 |
-
"autoload": {
|
| 24 |
-
"psr-4": {
|
| 25 |
-
"Facebook\\InstantArticles\\": "src/Facebook/InstantArticles/"
|
| 26 |
-
}
|
| 27 |
-
},
|
| 28 |
-
"autoload-dev": {
|
| 29 |
-
"psr-4": {
|
| 30 |
-
"Facebook\\InstantArticles\\": "tests/Facebook/InstantArticles/"
|
| 31 |
-
}
|
| 32 |
-
},
|
| 33 |
-
"scripts": {
|
| 34 |
-
"all": [
|
| 35 |
-
"@cs",
|
| 36 |
-
"@test"
|
| 37 |
-
],
|
| 38 |
-
"cs": [
|
| 39 |
-
"composer install",
|
| 40 |
-
"phpcbf --standard=phpcs.xml -p || phpcs --standard=phpcs.xml -p"
|
| 41 |
-
],
|
| 42 |
-
"test": [
|
| 43 |
-
"composer install",
|
| 44 |
-
"phpunit"
|
| 45 |
-
]
|
| 46 |
-
}
|
| 47 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/facebook-instant-articles-sdk-php/composer.lock
DELETED
|
@@ -1,1245 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"_readme": [
|
| 3 |
-
"This file locks the dependencies of your project to a known state",
|
| 4 |
-
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
| 5 |
-
"This file is @generated automatically"
|
| 6 |
-
],
|
| 7 |
-
"hash": "1cb48da59b04851b1ddcce5ac4a16e91",
|
| 8 |
-
"content-hash": "e47809dbb41d3cf5a6049a4db9fe2301",
|
| 9 |
-
"packages": [
|
| 10 |
-
{
|
| 11 |
-
"name": "apache/log4php",
|
| 12 |
-
"version": "2.3.0",
|
| 13 |
-
"source": {
|
| 14 |
-
"type": "git",
|
| 15 |
-
"url": "https://git-wip-us.apache.org/repos/asf/logging-log4php.git",
|
| 16 |
-
"reference": "8c6df2481cd68d0d211d38f700406c5f0a9de0c2"
|
| 17 |
-
},
|
| 18 |
-
"require": {
|
| 19 |
-
"php": ">=5.2.7"
|
| 20 |
-
},
|
| 21 |
-
"type": "library",
|
| 22 |
-
"autoload": {
|
| 23 |
-
"classmap": [
|
| 24 |
-
"src/main/php/"
|
| 25 |
-
]
|
| 26 |
-
},
|
| 27 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 28 |
-
"license": [
|
| 29 |
-
"Apache-2.0"
|
| 30 |
-
],
|
| 31 |
-
"description": "A versatile logging framework for PHP",
|
| 32 |
-
"homepage": "http://logging.apache.org/log4php/",
|
| 33 |
-
"keywords": [
|
| 34 |
-
"log",
|
| 35 |
-
"logging",
|
| 36 |
-
"php"
|
| 37 |
-
],
|
| 38 |
-
"time": "2012-10-26 09:13:25"
|
| 39 |
-
},
|
| 40 |
-
{
|
| 41 |
-
"name": "facebook/php-sdk-v4",
|
| 42 |
-
"version": "5.2.0",
|
| 43 |
-
"source": {
|
| 44 |
-
"type": "git",
|
| 45 |
-
"url": "https://github.com/facebook/facebook-php-sdk-v4.git",
|
| 46 |
-
"reference": "c60fba1fe1de62db1e0776d32fc2fb778189459c"
|
| 47 |
-
},
|
| 48 |
-
"dist": {
|
| 49 |
-
"type": "zip",
|
| 50 |
-
"url": "https://api.github.com/repos/facebook/facebook-php-sdk-v4/zipball/c60fba1fe1de62db1e0776d32fc2fb778189459c",
|
| 51 |
-
"reference": "c60fba1fe1de62db1e0776d32fc2fb778189459c",
|
| 52 |
-
"shasum": ""
|
| 53 |
-
},
|
| 54 |
-
"require": {
|
| 55 |
-
"php": "^5.4|^7.0"
|
| 56 |
-
},
|
| 57 |
-
"require-dev": {
|
| 58 |
-
"guzzlehttp/guzzle": "~5.0",
|
| 59 |
-
"mockery/mockery": "~0.8",
|
| 60 |
-
"phpunit/phpunit": "~4.0"
|
| 61 |
-
},
|
| 62 |
-
"suggest": {
|
| 63 |
-
"guzzlehttp/guzzle": "Allows for implementation of the Guzzle HTTP client"
|
| 64 |
-
},
|
| 65 |
-
"type": "library",
|
| 66 |
-
"extra": {
|
| 67 |
-
"branch-alias": {
|
| 68 |
-
"dev-master": "5.x-dev"
|
| 69 |
-
}
|
| 70 |
-
},
|
| 71 |
-
"autoload": {
|
| 72 |
-
"psr-4": {
|
| 73 |
-
"Facebook\\": "src/Facebook/"
|
| 74 |
-
},
|
| 75 |
-
"files": [
|
| 76 |
-
"src/Facebook/polyfills.php"
|
| 77 |
-
]
|
| 78 |
-
},
|
| 79 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 80 |
-
"license": [
|
| 81 |
-
"Facebook Platform"
|
| 82 |
-
],
|
| 83 |
-
"authors": [
|
| 84 |
-
{
|
| 85 |
-
"name": "Facebook",
|
| 86 |
-
"homepage": "https://github.com/facebook/facebook-php-sdk-v4/contributors"
|
| 87 |
-
}
|
| 88 |
-
],
|
| 89 |
-
"description": "Facebook SDK for PHP",
|
| 90 |
-
"homepage": "https://github.com/facebook/facebook-php-sdk-v4",
|
| 91 |
-
"keywords": [
|
| 92 |
-
"facebook",
|
| 93 |
-
"sdk"
|
| 94 |
-
],
|
| 95 |
-
"time": "2016-05-18 22:04:36"
|
| 96 |
-
},
|
| 97 |
-
{
|
| 98 |
-
"name": "symfony/css-selector",
|
| 99 |
-
"version": "v2.8.7",
|
| 100 |
-
"source": {
|
| 101 |
-
"type": "git",
|
| 102 |
-
"url": "https://github.com/symfony/css-selector.git",
|
| 103 |
-
"reference": "9a0b2649328297fb6acd0c823789d92efcbd36ad"
|
| 104 |
-
},
|
| 105 |
-
"dist": {
|
| 106 |
-
"type": "zip",
|
| 107 |
-
"url": "https://api.github.com/repos/symfony/css-selector/zipball/9a0b2649328297fb6acd0c823789d92efcbd36ad",
|
| 108 |
-
"reference": "9a0b2649328297fb6acd0c823789d92efcbd36ad",
|
| 109 |
-
"shasum": ""
|
| 110 |
-
},
|
| 111 |
-
"require": {
|
| 112 |
-
"php": ">=5.3.9"
|
| 113 |
-
},
|
| 114 |
-
"type": "library",
|
| 115 |
-
"extra": {
|
| 116 |
-
"branch-alias": {
|
| 117 |
-
"dev-master": "2.8-dev"
|
| 118 |
-
}
|
| 119 |
-
},
|
| 120 |
-
"autoload": {
|
| 121 |
-
"psr-4": {
|
| 122 |
-
"Symfony\\Component\\CssSelector\\": ""
|
| 123 |
-
},
|
| 124 |
-
"exclude-from-classmap": [
|
| 125 |
-
"/Tests/"
|
| 126 |
-
]
|
| 127 |
-
},
|
| 128 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 129 |
-
"license": [
|
| 130 |
-
"MIT"
|
| 131 |
-
],
|
| 132 |
-
"authors": [
|
| 133 |
-
{
|
| 134 |
-
"name": "Jean-François Simon",
|
| 135 |
-
"email": "jeanfrancois.simon@sensiolabs.com"
|
| 136 |
-
},
|
| 137 |
-
{
|
| 138 |
-
"name": "Fabien Potencier",
|
| 139 |
-
"email": "fabien@symfony.com"
|
| 140 |
-
},
|
| 141 |
-
{
|
| 142 |
-
"name": "Symfony Community",
|
| 143 |
-
"homepage": "https://symfony.com/contributors"
|
| 144 |
-
}
|
| 145 |
-
],
|
| 146 |
-
"description": "Symfony CssSelector Component",
|
| 147 |
-
"homepage": "https://symfony.com",
|
| 148 |
-
"time": "2016-06-06 11:11:27"
|
| 149 |
-
}
|
| 150 |
-
],
|
| 151 |
-
"packages-dev": [
|
| 152 |
-
{
|
| 153 |
-
"name": "doctrine/instantiator",
|
| 154 |
-
"version": "1.0.5",
|
| 155 |
-
"source": {
|
| 156 |
-
"type": "git",
|
| 157 |
-
"url": "https://github.com/doctrine/instantiator.git",
|
| 158 |
-
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
|
| 159 |
-
},
|
| 160 |
-
"dist": {
|
| 161 |
-
"type": "zip",
|
| 162 |
-
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
|
| 163 |
-
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
|
| 164 |
-
"shasum": ""
|
| 165 |
-
},
|
| 166 |
-
"require": {
|
| 167 |
-
"php": ">=5.3,<8.0-DEV"
|
| 168 |
-
},
|
| 169 |
-
"require-dev": {
|
| 170 |
-
"athletic/athletic": "~0.1.8",
|
| 171 |
-
"ext-pdo": "*",
|
| 172 |
-
"ext-phar": "*",
|
| 173 |
-
"phpunit/phpunit": "~4.0",
|
| 174 |
-
"squizlabs/php_codesniffer": "~2.0"
|
| 175 |
-
},
|
| 176 |
-
"type": "library",
|
| 177 |
-
"extra": {
|
| 178 |
-
"branch-alias": {
|
| 179 |
-
"dev-master": "1.0.x-dev"
|
| 180 |
-
}
|
| 181 |
-
},
|
| 182 |
-
"autoload": {
|
| 183 |
-
"psr-4": {
|
| 184 |
-
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
| 185 |
-
}
|
| 186 |
-
},
|
| 187 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 188 |
-
"license": [
|
| 189 |
-
"MIT"
|
| 190 |
-
],
|
| 191 |
-
"authors": [
|
| 192 |
-
{
|
| 193 |
-
"name": "Marco Pivetta",
|
| 194 |
-
"email": "ocramius@gmail.com",
|
| 195 |
-
"homepage": "http://ocramius.github.com/"
|
| 196 |
-
}
|
| 197 |
-
],
|
| 198 |
-
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
| 199 |
-
"homepage": "https://github.com/doctrine/instantiator",
|
| 200 |
-
"keywords": [
|
| 201 |
-
"constructor",
|
| 202 |
-
"instantiate"
|
| 203 |
-
],
|
| 204 |
-
"time": "2015-06-14 21:17:01"
|
| 205 |
-
},
|
| 206 |
-
{
|
| 207 |
-
"name": "fzaninotto/faker",
|
| 208 |
-
"version": "v1.6.0",
|
| 209 |
-
"source": {
|
| 210 |
-
"type": "git",
|
| 211 |
-
"url": "https://github.com/fzaninotto/Faker.git",
|
| 212 |
-
"reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123"
|
| 213 |
-
},
|
| 214 |
-
"dist": {
|
| 215 |
-
"type": "zip",
|
| 216 |
-
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123",
|
| 217 |
-
"reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123",
|
| 218 |
-
"shasum": ""
|
| 219 |
-
},
|
| 220 |
-
"require": {
|
| 221 |
-
"php": "^5.3.3|^7.0"
|
| 222 |
-
},
|
| 223 |
-
"require-dev": {
|
| 224 |
-
"ext-intl": "*",
|
| 225 |
-
"phpunit/phpunit": "~4.0",
|
| 226 |
-
"squizlabs/php_codesniffer": "~1.5"
|
| 227 |
-
},
|
| 228 |
-
"type": "library",
|
| 229 |
-
"extra": {
|
| 230 |
-
"branch-alias": []
|
| 231 |
-
},
|
| 232 |
-
"autoload": {
|
| 233 |
-
"psr-4": {
|
| 234 |
-
"Faker\\": "src/Faker/"
|
| 235 |
-
}
|
| 236 |
-
},
|
| 237 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 238 |
-
"license": [
|
| 239 |
-
"MIT"
|
| 240 |
-
],
|
| 241 |
-
"authors": [
|
| 242 |
-
{
|
| 243 |
-
"name": "François Zaninotto"
|
| 244 |
-
}
|
| 245 |
-
],
|
| 246 |
-
"description": "Faker is a PHP library that generates fake data for you.",
|
| 247 |
-
"keywords": [
|
| 248 |
-
"data",
|
| 249 |
-
"faker",
|
| 250 |
-
"fixtures"
|
| 251 |
-
],
|
| 252 |
-
"time": "2016-04-29 12:21:54"
|
| 253 |
-
},
|
| 254 |
-
{
|
| 255 |
-
"name": "phpdocumentor/reflection-docblock",
|
| 256 |
-
"version": "2.0.4",
|
| 257 |
-
"source": {
|
| 258 |
-
"type": "git",
|
| 259 |
-
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
| 260 |
-
"reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
|
| 261 |
-
},
|
| 262 |
-
"dist": {
|
| 263 |
-
"type": "zip",
|
| 264 |
-
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
|
| 265 |
-
"reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
|
| 266 |
-
"shasum": ""
|
| 267 |
-
},
|
| 268 |
-
"require": {
|
| 269 |
-
"php": ">=5.3.3"
|
| 270 |
-
},
|
| 271 |
-
"require-dev": {
|
| 272 |
-
"phpunit/phpunit": "~4.0"
|
| 273 |
-
},
|
| 274 |
-
"suggest": {
|
| 275 |
-
"dflydev/markdown": "~1.0",
|
| 276 |
-
"erusev/parsedown": "~1.0"
|
| 277 |
-
},
|
| 278 |
-
"type": "library",
|
| 279 |
-
"extra": {
|
| 280 |
-
"branch-alias": {
|
| 281 |
-
"dev-master": "2.0.x-dev"
|
| 282 |
-
}
|
| 283 |
-
},
|
| 284 |
-
"autoload": {
|
| 285 |
-
"psr-0": {
|
| 286 |
-
"phpDocumentor": [
|
| 287 |
-
"src/"
|
| 288 |
-
]
|
| 289 |
-
}
|
| 290 |
-
},
|
| 291 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 292 |
-
"license": [
|
| 293 |
-
"MIT"
|
| 294 |
-
],
|
| 295 |
-
"authors": [
|
| 296 |
-
{
|
| 297 |
-
"name": "Mike van Riel",
|
| 298 |
-
"email": "mike.vanriel@naenius.com"
|
| 299 |
-
}
|
| 300 |
-
],
|
| 301 |
-
"time": "2015-02-03 12:10:50"
|
| 302 |
-
},
|
| 303 |
-
{
|
| 304 |
-
"name": "phpspec/prophecy",
|
| 305 |
-
"version": "v1.6.1",
|
| 306 |
-
"source": {
|
| 307 |
-
"type": "git",
|
| 308 |
-
"url": "https://github.com/phpspec/prophecy.git",
|
| 309 |
-
"reference": "58a8137754bc24b25740d4281399a4a3596058e0"
|
| 310 |
-
},
|
| 311 |
-
"dist": {
|
| 312 |
-
"type": "zip",
|
| 313 |
-
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0",
|
| 314 |
-
"reference": "58a8137754bc24b25740d4281399a4a3596058e0",
|
| 315 |
-
"shasum": ""
|
| 316 |
-
},
|
| 317 |
-
"require": {
|
| 318 |
-
"doctrine/instantiator": "^1.0.2",
|
| 319 |
-
"php": "^5.3|^7.0",
|
| 320 |
-
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
|
| 321 |
-
"sebastian/comparator": "^1.1",
|
| 322 |
-
"sebastian/recursion-context": "^1.0"
|
| 323 |
-
},
|
| 324 |
-
"require-dev": {
|
| 325 |
-
"phpspec/phpspec": "^2.0"
|
| 326 |
-
},
|
| 327 |
-
"type": "library",
|
| 328 |
-
"extra": {
|
| 329 |
-
"branch-alias": {
|
| 330 |
-
"dev-master": "1.6.x-dev"
|
| 331 |
-
}
|
| 332 |
-
},
|
| 333 |
-
"autoload": {
|
| 334 |
-
"psr-0": {
|
| 335 |
-
"Prophecy\\": "src/"
|
| 336 |
-
}
|
| 337 |
-
},
|
| 338 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 339 |
-
"license": [
|
| 340 |
-
"MIT"
|
| 341 |
-
],
|
| 342 |
-
"authors": [
|
| 343 |
-
{
|
| 344 |
-
"name": "Konstantin Kudryashov",
|
| 345 |
-
"email": "ever.zet@gmail.com",
|
| 346 |
-
"homepage": "http://everzet.com"
|
| 347 |
-
},
|
| 348 |
-
{
|
| 349 |
-
"name": "Marcello Duarte",
|
| 350 |
-
"email": "marcello.duarte@gmail.com"
|
| 351 |
-
}
|
| 352 |
-
],
|
| 353 |
-
"description": "Highly opinionated mocking framework for PHP 5.3+",
|
| 354 |
-
"homepage": "https://github.com/phpspec/prophecy",
|
| 355 |
-
"keywords": [
|
| 356 |
-
"Double",
|
| 357 |
-
"Dummy",
|
| 358 |
-
"fake",
|
| 359 |
-
"mock",
|
| 360 |
-
"spy",
|
| 361 |
-
"stub"
|
| 362 |
-
],
|
| 363 |
-
"time": "2016-06-07 08:13:47"
|
| 364 |
-
},
|
| 365 |
-
{
|
| 366 |
-
"name": "phpunit/php-code-coverage",
|
| 367 |
-
"version": "2.2.4",
|
| 368 |
-
"source": {
|
| 369 |
-
"type": "git",
|
| 370 |
-
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
| 371 |
-
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
|
| 372 |
-
},
|
| 373 |
-
"dist": {
|
| 374 |
-
"type": "zip",
|
| 375 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
|
| 376 |
-
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
|
| 377 |
-
"shasum": ""
|
| 378 |
-
},
|
| 379 |
-
"require": {
|
| 380 |
-
"php": ">=5.3.3",
|
| 381 |
-
"phpunit/php-file-iterator": "~1.3",
|
| 382 |
-
"phpunit/php-text-template": "~1.2",
|
| 383 |
-
"phpunit/php-token-stream": "~1.3",
|
| 384 |
-
"sebastian/environment": "^1.3.2",
|
| 385 |
-
"sebastian/version": "~1.0"
|
| 386 |
-
},
|
| 387 |
-
"require-dev": {
|
| 388 |
-
"ext-xdebug": ">=2.1.4",
|
| 389 |
-
"phpunit/phpunit": "~4"
|
| 390 |
-
},
|
| 391 |
-
"suggest": {
|
| 392 |
-
"ext-dom": "*",
|
| 393 |
-
"ext-xdebug": ">=2.2.1",
|
| 394 |
-
"ext-xmlwriter": "*"
|
| 395 |
-
},
|
| 396 |
-
"type": "library",
|
| 397 |
-
"extra": {
|
| 398 |
-
"branch-alias": {
|
| 399 |
-
"dev-master": "2.2.x-dev"
|
| 400 |
-
}
|
| 401 |
-
},
|
| 402 |
-
"autoload": {
|
| 403 |
-
"classmap": [
|
| 404 |
-
"src/"
|
| 405 |
-
]
|
| 406 |
-
},
|
| 407 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 408 |
-
"license": [
|
| 409 |
-
"BSD-3-Clause"
|
| 410 |
-
],
|
| 411 |
-
"authors": [
|
| 412 |
-
{
|
| 413 |
-
"name": "Sebastian Bergmann",
|
| 414 |
-
"email": "sb@sebastian-bergmann.de",
|
| 415 |
-
"role": "lead"
|
| 416 |
-
}
|
| 417 |
-
],
|
| 418 |
-
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
|
| 419 |
-
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
|
| 420 |
-
"keywords": [
|
| 421 |
-
"coverage",
|
| 422 |
-
"testing",
|
| 423 |
-
"xunit"
|
| 424 |
-
],
|
| 425 |
-
"time": "2015-10-06 15:47:00"
|
| 426 |
-
},
|
| 427 |
-
{
|
| 428 |
-
"name": "phpunit/php-file-iterator",
|
| 429 |
-
"version": "1.4.1",
|
| 430 |
-
"source": {
|
| 431 |
-
"type": "git",
|
| 432 |
-
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
|
| 433 |
-
"reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
|
| 434 |
-
},
|
| 435 |
-
"dist": {
|
| 436 |
-
"type": "zip",
|
| 437 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
|
| 438 |
-
"reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
|
| 439 |
-
"shasum": ""
|
| 440 |
-
},
|
| 441 |
-
"require": {
|
| 442 |
-
"php": ">=5.3.3"
|
| 443 |
-
},
|
| 444 |
-
"type": "library",
|
| 445 |
-
"extra": {
|
| 446 |
-
"branch-alias": {
|
| 447 |
-
"dev-master": "1.4.x-dev"
|
| 448 |
-
}
|
| 449 |
-
},
|
| 450 |
-
"autoload": {
|
| 451 |
-
"classmap": [
|
| 452 |
-
"src/"
|
| 453 |
-
]
|
| 454 |
-
},
|
| 455 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 456 |
-
"license": [
|
| 457 |
-
"BSD-3-Clause"
|
| 458 |
-
],
|
| 459 |
-
"authors": [
|
| 460 |
-
{
|
| 461 |
-
"name": "Sebastian Bergmann",
|
| 462 |
-
"email": "sb@sebastian-bergmann.de",
|
| 463 |
-
"role": "lead"
|
| 464 |
-
}
|
| 465 |
-
],
|
| 466 |
-
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
|
| 467 |
-
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
|
| 468 |
-
"keywords": [
|
| 469 |
-
"filesystem",
|
| 470 |
-
"iterator"
|
| 471 |
-
],
|
| 472 |
-
"time": "2015-06-21 13:08:43"
|
| 473 |
-
},
|
| 474 |
-
{
|
| 475 |
-
"name": "phpunit/php-text-template",
|
| 476 |
-
"version": "1.2.1",
|
| 477 |
-
"source": {
|
| 478 |
-
"type": "git",
|
| 479 |
-
"url": "https://github.com/sebastianbergmann/php-text-template.git",
|
| 480 |
-
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
|
| 481 |
-
},
|
| 482 |
-
"dist": {
|
| 483 |
-
"type": "zip",
|
| 484 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
| 485 |
-
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
| 486 |
-
"shasum": ""
|
| 487 |
-
},
|
| 488 |
-
"require": {
|
| 489 |
-
"php": ">=5.3.3"
|
| 490 |
-
},
|
| 491 |
-
"type": "library",
|
| 492 |
-
"autoload": {
|
| 493 |
-
"classmap": [
|
| 494 |
-
"src/"
|
| 495 |
-
]
|
| 496 |
-
},
|
| 497 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 498 |
-
"license": [
|
| 499 |
-
"BSD-3-Clause"
|
| 500 |
-
],
|
| 501 |
-
"authors": [
|
| 502 |
-
{
|
| 503 |
-
"name": "Sebastian Bergmann",
|
| 504 |
-
"email": "sebastian@phpunit.de",
|
| 505 |
-
"role": "lead"
|
| 506 |
-
}
|
| 507 |
-
],
|
| 508 |
-
"description": "Simple template engine.",
|
| 509 |
-
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
|
| 510 |
-
"keywords": [
|
| 511 |
-
"template"
|
| 512 |
-
],
|
| 513 |
-
"time": "2015-06-21 13:50:34"
|
| 514 |
-
},
|
| 515 |
-
{
|
| 516 |
-
"name": "phpunit/php-timer",
|
| 517 |
-
"version": "1.0.8",
|
| 518 |
-
"source": {
|
| 519 |
-
"type": "git",
|
| 520 |
-
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
| 521 |
-
"reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
|
| 522 |
-
},
|
| 523 |
-
"dist": {
|
| 524 |
-
"type": "zip",
|
| 525 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
|
| 526 |
-
"reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
|
| 527 |
-
"shasum": ""
|
| 528 |
-
},
|
| 529 |
-
"require": {
|
| 530 |
-
"php": ">=5.3.3"
|
| 531 |
-
},
|
| 532 |
-
"require-dev": {
|
| 533 |
-
"phpunit/phpunit": "~4|~5"
|
| 534 |
-
},
|
| 535 |
-
"type": "library",
|
| 536 |
-
"autoload": {
|
| 537 |
-
"classmap": [
|
| 538 |
-
"src/"
|
| 539 |
-
]
|
| 540 |
-
},
|
| 541 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 542 |
-
"license": [
|
| 543 |
-
"BSD-3-Clause"
|
| 544 |
-
],
|
| 545 |
-
"authors": [
|
| 546 |
-
{
|
| 547 |
-
"name": "Sebastian Bergmann",
|
| 548 |
-
"email": "sb@sebastian-bergmann.de",
|
| 549 |
-
"role": "lead"
|
| 550 |
-
}
|
| 551 |
-
],
|
| 552 |
-
"description": "Utility class for timing",
|
| 553 |
-
"homepage": "https://github.com/sebastianbergmann/php-timer/",
|
| 554 |
-
"keywords": [
|
| 555 |
-
"timer"
|
| 556 |
-
],
|
| 557 |
-
"time": "2016-05-12 18:03:57"
|
| 558 |
-
},
|
| 559 |
-
{
|
| 560 |
-
"name": "phpunit/php-token-stream",
|
| 561 |
-
"version": "1.4.8",
|
| 562 |
-
"source": {
|
| 563 |
-
"type": "git",
|
| 564 |
-
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
| 565 |
-
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
|
| 566 |
-
},
|
| 567 |
-
"dist": {
|
| 568 |
-
"type": "zip",
|
| 569 |
-
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
|
| 570 |
-
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
|
| 571 |
-
"shasum": ""
|
| 572 |
-
},
|
| 573 |
-
"require": {
|
| 574 |
-
"ext-tokenizer": "*",
|
| 575 |
-
"php": ">=5.3.3"
|
| 576 |
-
},
|
| 577 |
-
"require-dev": {
|
| 578 |
-
"phpunit/phpunit": "~4.2"
|
| 579 |
-
},
|
| 580 |
-
"type": "library",
|
| 581 |
-
"extra": {
|
| 582 |
-
"branch-alias": {
|
| 583 |
-
"dev-master": "1.4-dev"
|
| 584 |
-
}
|
| 585 |
-
},
|
| 586 |
-
"autoload": {
|
| 587 |
-
"classmap": [
|
| 588 |
-
"src/"
|
| 589 |
-
]
|
| 590 |
-
},
|
| 591 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 592 |
-
"license": [
|
| 593 |
-
"BSD-3-Clause"
|
| 594 |
-
],
|
| 595 |
-
"authors": [
|
| 596 |
-
{
|
| 597 |
-
"name": "Sebastian Bergmann",
|
| 598 |
-
"email": "sebastian@phpunit.de"
|
| 599 |
-
}
|
| 600 |
-
],
|
| 601 |
-
"description": "Wrapper around PHP's tokenizer extension.",
|
| 602 |
-
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
| 603 |
-
"keywords": [
|
| 604 |
-
"tokenizer"
|
| 605 |
-
],
|
| 606 |
-
"time": "2015-09-15 10:49:45"
|
| 607 |
-
},
|
| 608 |
-
{
|
| 609 |
-
"name": "phpunit/phpunit",
|
| 610 |
-
"version": "4.8.26",
|
| 611 |
-
"source": {
|
| 612 |
-
"type": "git",
|
| 613 |
-
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
| 614 |
-
"reference": "fc1d8cd5b5de11625979125c5639347896ac2c74"
|
| 615 |
-
},
|
| 616 |
-
"dist": {
|
| 617 |
-
"type": "zip",
|
| 618 |
-
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc1d8cd5b5de11625979125c5639347896ac2c74",
|
| 619 |
-
"reference": "fc1d8cd5b5de11625979125c5639347896ac2c74",
|
| 620 |
-
"shasum": ""
|
| 621 |
-
},
|
| 622 |
-
"require": {
|
| 623 |
-
"ext-dom": "*",
|
| 624 |
-
"ext-json": "*",
|
| 625 |
-
"ext-pcre": "*",
|
| 626 |
-
"ext-reflection": "*",
|
| 627 |
-
"ext-spl": "*",
|
| 628 |
-
"php": ">=5.3.3",
|
| 629 |
-
"phpspec/prophecy": "^1.3.1",
|
| 630 |
-
"phpunit/php-code-coverage": "~2.1",
|
| 631 |
-
"phpunit/php-file-iterator": "~1.4",
|
| 632 |
-
"phpunit/php-text-template": "~1.2",
|
| 633 |
-
"phpunit/php-timer": "^1.0.6",
|
| 634 |
-
"phpunit/phpunit-mock-objects": "~2.3",
|
| 635 |
-
"sebastian/comparator": "~1.1",
|
| 636 |
-
"sebastian/diff": "~1.2",
|
| 637 |
-
"sebastian/environment": "~1.3",
|
| 638 |
-
"sebastian/exporter": "~1.2",
|
| 639 |
-
"sebastian/global-state": "~1.0",
|
| 640 |
-
"sebastian/version": "~1.0",
|
| 641 |
-
"symfony/yaml": "~2.1|~3.0"
|
| 642 |
-
},
|
| 643 |
-
"suggest": {
|
| 644 |
-
"phpunit/php-invoker": "~1.1"
|
| 645 |
-
},
|
| 646 |
-
"bin": [
|
| 647 |
-
"phpunit"
|
| 648 |
-
],
|
| 649 |
-
"type": "library",
|
| 650 |
-
"extra": {
|
| 651 |
-
"branch-alias": {
|
| 652 |
-
"dev-master": "4.8.x-dev"
|
| 653 |
-
}
|
| 654 |
-
},
|
| 655 |
-
"autoload": {
|
| 656 |
-
"classmap": [
|
| 657 |
-
"src/"
|
| 658 |
-
]
|
| 659 |
-
},
|
| 660 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 661 |
-
"license": [
|
| 662 |
-
"BSD-3-Clause"
|
| 663 |
-
],
|
| 664 |
-
"authors": [
|
| 665 |
-
{
|
| 666 |
-
"name": "Sebastian Bergmann",
|
| 667 |
-
"email": "sebastian@phpunit.de",
|
| 668 |
-
"role": "lead"
|
| 669 |
-
}
|
| 670 |
-
],
|
| 671 |
-
"description": "The PHP Unit Testing framework.",
|
| 672 |
-
"homepage": "https://phpunit.de/",
|
| 673 |
-
"keywords": [
|
| 674 |
-
"phpunit",
|
| 675 |
-
"testing",
|
| 676 |
-
"xunit"
|
| 677 |
-
],
|
| 678 |
-
"time": "2016-05-17 03:09:28"
|
| 679 |
-
},
|
| 680 |
-
{
|
| 681 |
-
"name": "phpunit/phpunit-mock-objects",
|
| 682 |
-
"version": "2.3.8",
|
| 683 |
-
"source": {
|
| 684 |
-
"type": "git",
|
| 685 |
-
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
| 686 |
-
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
|
| 687 |
-
},
|
| 688 |
-
"dist": {
|
| 689 |
-
"type": "zip",
|
| 690 |
-
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
|
| 691 |
-
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
|
| 692 |
-
"shasum": ""
|
| 693 |
-
},
|
| 694 |
-
"require": {
|
| 695 |
-
"doctrine/instantiator": "^1.0.2",
|
| 696 |
-
"php": ">=5.3.3",
|
| 697 |
-
"phpunit/php-text-template": "~1.2",
|
| 698 |
-
"sebastian/exporter": "~1.2"
|
| 699 |
-
},
|
| 700 |
-
"require-dev": {
|
| 701 |
-
"phpunit/phpunit": "~4.4"
|
| 702 |
-
},
|
| 703 |
-
"suggest": {
|
| 704 |
-
"ext-soap": "*"
|
| 705 |
-
},
|
| 706 |
-
"type": "library",
|
| 707 |
-
"extra": {
|
| 708 |
-
"branch-alias": {
|
| 709 |
-
"dev-master": "2.3.x-dev"
|
| 710 |
-
}
|
| 711 |
-
},
|
| 712 |
-
"autoload": {
|
| 713 |
-
"classmap": [
|
| 714 |
-
"src/"
|
| 715 |
-
]
|
| 716 |
-
},
|
| 717 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 718 |
-
"license": [
|
| 719 |
-
"BSD-3-Clause"
|
| 720 |
-
],
|
| 721 |
-
"authors": [
|
| 722 |
-
{
|
| 723 |
-
"name": "Sebastian Bergmann",
|
| 724 |
-
"email": "sb@sebastian-bergmann.de",
|
| 725 |
-
"role": "lead"
|
| 726 |
-
}
|
| 727 |
-
],
|
| 728 |
-
"description": "Mock Object library for PHPUnit",
|
| 729 |
-
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
|
| 730 |
-
"keywords": [
|
| 731 |
-
"mock",
|
| 732 |
-
"xunit"
|
| 733 |
-
],
|
| 734 |
-
"time": "2015-10-02 06:51:40"
|
| 735 |
-
},
|
| 736 |
-
{
|
| 737 |
-
"name": "sebastian/comparator",
|
| 738 |
-
"version": "1.2.0",
|
| 739 |
-
"source": {
|
| 740 |
-
"type": "git",
|
| 741 |
-
"url": "https://github.com/sebastianbergmann/comparator.git",
|
| 742 |
-
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
|
| 743 |
-
},
|
| 744 |
-
"dist": {
|
| 745 |
-
"type": "zip",
|
| 746 |
-
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
|
| 747 |
-
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
|
| 748 |
-
"shasum": ""
|
| 749 |
-
},
|
| 750 |
-
"require": {
|
| 751 |
-
"php": ">=5.3.3",
|
| 752 |
-
"sebastian/diff": "~1.2",
|
| 753 |
-
"sebastian/exporter": "~1.2"
|
| 754 |
-
},
|
| 755 |
-
"require-dev": {
|
| 756 |
-
"phpunit/phpunit": "~4.4"
|
| 757 |
-
},
|
| 758 |
-
"type": "library",
|
| 759 |
-
"extra": {
|
| 760 |
-
"branch-alias": {
|
| 761 |
-
"dev-master": "1.2.x-dev"
|
| 762 |
-
}
|
| 763 |
-
},
|
| 764 |
-
"autoload": {
|
| 765 |
-
"classmap": [
|
| 766 |
-
"src/"
|
| 767 |
-
]
|
| 768 |
-
},
|
| 769 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 770 |
-
"license": [
|
| 771 |
-
"BSD-3-Clause"
|
| 772 |
-
],
|
| 773 |
-
"authors": [
|
| 774 |
-
{
|
| 775 |
-
"name": "Jeff Welch",
|
| 776 |
-
"email": "whatthejeff@gmail.com"
|
| 777 |
-
},
|
| 778 |
-
{
|
| 779 |
-
"name": "Volker Dusch",
|
| 780 |
-
"email": "github@wallbash.com"
|
| 781 |
-
},
|
| 782 |
-
{
|
| 783 |
-
"name": "Bernhard Schussek",
|
| 784 |
-
"email": "bschussek@2bepublished.at"
|
| 785 |
-
},
|
| 786 |
-
{
|
| 787 |
-
"name": "Sebastian Bergmann",
|
| 788 |
-
"email": "sebastian@phpunit.de"
|
| 789 |
-
}
|
| 790 |
-
],
|
| 791 |
-
"description": "Provides the functionality to compare PHP values for equality",
|
| 792 |
-
"homepage": "http://www.github.com/sebastianbergmann/comparator",
|
| 793 |
-
"keywords": [
|
| 794 |
-
"comparator",
|
| 795 |
-
"compare",
|
| 796 |
-
"equality"
|
| 797 |
-
],
|
| 798 |
-
"time": "2015-07-26 15:48:44"
|
| 799 |
-
},
|
| 800 |
-
{
|
| 801 |
-
"name": "sebastian/diff",
|
| 802 |
-
"version": "1.4.1",
|
| 803 |
-
"source": {
|
| 804 |
-
"type": "git",
|
| 805 |
-
"url": "https://github.com/sebastianbergmann/diff.git",
|
| 806 |
-
"reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
|
| 807 |
-
},
|
| 808 |
-
"dist": {
|
| 809 |
-
"type": "zip",
|
| 810 |
-
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
|
| 811 |
-
"reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
|
| 812 |
-
"shasum": ""
|
| 813 |
-
},
|
| 814 |
-
"require": {
|
| 815 |
-
"php": ">=5.3.3"
|
| 816 |
-
},
|
| 817 |
-
"require-dev": {
|
| 818 |
-
"phpunit/phpunit": "~4.8"
|
| 819 |
-
},
|
| 820 |
-
"type": "library",
|
| 821 |
-
"extra": {
|
| 822 |
-
"branch-alias": {
|
| 823 |
-
"dev-master": "1.4-dev"
|
| 824 |
-
}
|
| 825 |
-
},
|
| 826 |
-
"autoload": {
|
| 827 |
-
"classmap": [
|
| 828 |
-
"src/"
|
| 829 |
-
]
|
| 830 |
-
},
|
| 831 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 832 |
-
"license": [
|
| 833 |
-
"BSD-3-Clause"
|
| 834 |
-
],
|
| 835 |
-
"authors": [
|
| 836 |
-
{
|
| 837 |
-
"name": "Kore Nordmann",
|
| 838 |
-
"email": "mail@kore-nordmann.de"
|
| 839 |
-
},
|
| 840 |
-
{
|
| 841 |
-
"name": "Sebastian Bergmann",
|
| 842 |
-
"email": "sebastian@phpunit.de"
|
| 843 |
-
}
|
| 844 |
-
],
|
| 845 |
-
"description": "Diff implementation",
|
| 846 |
-
"homepage": "https://github.com/sebastianbergmann/diff",
|
| 847 |
-
"keywords": [
|
| 848 |
-
"diff"
|
| 849 |
-
],
|
| 850 |
-
"time": "2015-12-08 07:14:41"
|
| 851 |
-
},
|
| 852 |
-
{
|
| 853 |
-
"name": "sebastian/environment",
|
| 854 |
-
"version": "1.3.7",
|
| 855 |
-
"source": {
|
| 856 |
-
"type": "git",
|
| 857 |
-
"url": "https://github.com/sebastianbergmann/environment.git",
|
| 858 |
-
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
|
| 859 |
-
},
|
| 860 |
-
"dist": {
|
| 861 |
-
"type": "zip",
|
| 862 |
-
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
|
| 863 |
-
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
|
| 864 |
-
"shasum": ""
|
| 865 |
-
},
|
| 866 |
-
"require": {
|
| 867 |
-
"php": ">=5.3.3"
|
| 868 |
-
},
|
| 869 |
-
"require-dev": {
|
| 870 |
-
"phpunit/phpunit": "~4.4"
|
| 871 |
-
},
|
| 872 |
-
"type": "library",
|
| 873 |
-
"extra": {
|
| 874 |
-
"branch-alias": {
|
| 875 |
-
"dev-master": "1.3.x-dev"
|
| 876 |
-
}
|
| 877 |
-
},
|
| 878 |
-
"autoload": {
|
| 879 |
-
"classmap": [
|
| 880 |
-
"src/"
|
| 881 |
-
]
|
| 882 |
-
},
|
| 883 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 884 |
-
"license": [
|
| 885 |
-
"BSD-3-Clause"
|
| 886 |
-
],
|
| 887 |
-
"authors": [
|
| 888 |
-
{
|
| 889 |
-
"name": "Sebastian Bergmann",
|
| 890 |
-
"email": "sebastian@phpunit.de"
|
| 891 |
-
}
|
| 892 |
-
],
|
| 893 |
-
"description": "Provides functionality to handle HHVM/PHP environments",
|
| 894 |
-
"homepage": "http://www.github.com/sebastianbergmann/environment",
|
| 895 |
-
"keywords": [
|
| 896 |
-
"Xdebug",
|
| 897 |
-
"environment",
|
| 898 |
-
"hhvm"
|
| 899 |
-
],
|
| 900 |
-
"time": "2016-05-17 03:18:57"
|
| 901 |
-
},
|
| 902 |
-
{
|
| 903 |
-
"name": "sebastian/exporter",
|
| 904 |
-
"version": "1.2.2",
|
| 905 |
-
"source": {
|
| 906 |
-
"type": "git",
|
| 907 |
-
"url": "https://github.com/sebastianbergmann/exporter.git",
|
| 908 |
-
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
|
| 909 |
-
},
|
| 910 |
-
"dist": {
|
| 911 |
-
"type": "zip",
|
| 912 |
-
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
|
| 913 |
-
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
|
| 914 |
-
"shasum": ""
|
| 915 |
-
},
|
| 916 |
-
"require": {
|
| 917 |
-
"php": ">=5.3.3",
|
| 918 |
-
"sebastian/recursion-context": "~1.0"
|
| 919 |
-
},
|
| 920 |
-
"require-dev": {
|
| 921 |
-
"ext-mbstring": "*",
|
| 922 |
-
"phpunit/phpunit": "~4.4"
|
| 923 |
-
},
|
| 924 |
-
"type": "library",
|
| 925 |
-
"extra": {
|
| 926 |
-
"branch-alias": {
|
| 927 |
-
"dev-master": "1.3.x-dev"
|
| 928 |
-
}
|
| 929 |
-
},
|
| 930 |
-
"autoload": {
|
| 931 |
-
"classmap": [
|
| 932 |
-
"src/"
|
| 933 |
-
]
|
| 934 |
-
},
|
| 935 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 936 |
-
"license": [
|
| 937 |
-
"BSD-3-Clause"
|
| 938 |
-
],
|
| 939 |
-
"authors": [
|
| 940 |
-
{
|
| 941 |
-
"name": "Jeff Welch",
|
| 942 |
-
"email": "whatthejeff@gmail.com"
|
| 943 |
-
},
|
| 944 |
-
{
|
| 945 |
-
"name": "Volker Dusch",
|
| 946 |
-
"email": "github@wallbash.com"
|
| 947 |
-
},
|
| 948 |
-
{
|
| 949 |
-
"name": "Bernhard Schussek",
|
| 950 |
-
"email": "bschussek@2bepublished.at"
|
| 951 |
-
},
|
| 952 |
-
{
|
| 953 |
-
"name": "Sebastian Bergmann",
|
| 954 |
-
"email": "sebastian@phpunit.de"
|
| 955 |
-
},
|
| 956 |
-
{
|
| 957 |
-
"name": "Adam Harvey",
|
| 958 |
-
"email": "aharvey@php.net"
|
| 959 |
-
}
|
| 960 |
-
],
|
| 961 |
-
"description": "Provides the functionality to export PHP variables for visualization",
|
| 962 |
-
"homepage": "http://www.github.com/sebastianbergmann/exporter",
|
| 963 |
-
"keywords": [
|
| 964 |
-
"export",
|
| 965 |
-
"exporter"
|
| 966 |
-
],
|
| 967 |
-
"time": "2016-06-17 09:04:28"
|
| 968 |
-
},
|
| 969 |
-
{
|
| 970 |
-
"name": "sebastian/global-state",
|
| 971 |
-
"version": "1.1.1",
|
| 972 |
-
"source": {
|
| 973 |
-
"type": "git",
|
| 974 |
-
"url": "https://github.com/sebastianbergmann/global-state.git",
|
| 975 |
-
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
|
| 976 |
-
},
|
| 977 |
-
"dist": {
|
| 978 |
-
"type": "zip",
|
| 979 |
-
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
| 980 |
-
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
| 981 |
-
"shasum": ""
|
| 982 |
-
},
|
| 983 |
-
"require": {
|
| 984 |
-
"php": ">=5.3.3"
|
| 985 |
-
},
|
| 986 |
-
"require-dev": {
|
| 987 |
-
"phpunit/phpunit": "~4.2"
|
| 988 |
-
},
|
| 989 |
-
"suggest": {
|
| 990 |
-
"ext-uopz": "*"
|
| 991 |
-
},
|
| 992 |
-
"type": "library",
|
| 993 |
-
"extra": {
|
| 994 |
-
"branch-alias": {
|
| 995 |
-
"dev-master": "1.0-dev"
|
| 996 |
-
}
|
| 997 |
-
},
|
| 998 |
-
"autoload": {
|
| 999 |
-
"classmap": [
|
| 1000 |
-
"src/"
|
| 1001 |
-
]
|
| 1002 |
-
},
|
| 1003 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 1004 |
-
"license": [
|
| 1005 |
-
"BSD-3-Clause"
|
| 1006 |
-
],
|
| 1007 |
-
"authors": [
|
| 1008 |
-
{
|
| 1009 |
-
"name": "Sebastian Bergmann",
|
| 1010 |
-
"email": "sebastian@phpunit.de"
|
| 1011 |
-
}
|
| 1012 |
-
],
|
| 1013 |
-
"description": "Snapshotting of global state",
|
| 1014 |
-
"homepage": "http://www.github.com/sebastianbergmann/global-state",
|
| 1015 |
-
"keywords": [
|
| 1016 |
-
"global state"
|
| 1017 |
-
],
|
| 1018 |
-
"time": "2015-10-12 03:26:01"
|
| 1019 |
-
},
|
| 1020 |
-
{
|
| 1021 |
-
"name": "sebastian/recursion-context",
|
| 1022 |
-
"version": "1.0.2",
|
| 1023 |
-
"source": {
|
| 1024 |
-
"type": "git",
|
| 1025 |
-
"url": "https://github.com/sebastianbergmann/recursion-context.git",
|
| 1026 |
-
"reference": "913401df809e99e4f47b27cdd781f4a258d58791"
|
| 1027 |
-
},
|
| 1028 |
-
"dist": {
|
| 1029 |
-
"type": "zip",
|
| 1030 |
-
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
|
| 1031 |
-
"reference": "913401df809e99e4f47b27cdd781f4a258d58791",
|
| 1032 |
-
"shasum": ""
|
| 1033 |
-
},
|
| 1034 |
-
"require": {
|
| 1035 |
-
"php": ">=5.3.3"
|
| 1036 |
-
},
|
| 1037 |
-
"require-dev": {
|
| 1038 |
-
"phpunit/phpunit": "~4.4"
|
| 1039 |
-
},
|
| 1040 |
-
"type": "library",
|
| 1041 |
-
"extra": {
|
| 1042 |
-
"branch-alias": {
|
| 1043 |
-
"dev-master": "1.0.x-dev"
|
| 1044 |
-
}
|
| 1045 |
-
},
|
| 1046 |
-
"autoload": {
|
| 1047 |
-
"classmap": [
|
| 1048 |
-
"src/"
|
| 1049 |
-
]
|
| 1050 |
-
},
|
| 1051 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 1052 |
-
"license": [
|
| 1053 |
-
"BSD-3-Clause"
|
| 1054 |
-
],
|
| 1055 |
-
"authors": [
|
| 1056 |
-
{
|
| 1057 |
-
"name": "Jeff Welch",
|
| 1058 |
-
"email": "whatthejeff@gmail.com"
|
| 1059 |
-
},
|
| 1060 |
-
{
|
| 1061 |
-
"name": "Sebastian Bergmann",
|
| 1062 |
-
"email": "sebastian@phpunit.de"
|
| 1063 |
-
},
|
| 1064 |
-
{
|
| 1065 |
-
"name": "Adam Harvey",
|
| 1066 |
-
"email": "aharvey@php.net"
|
| 1067 |
-
}
|
| 1068 |
-
],
|
| 1069 |
-
"description": "Provides functionality to recursively process PHP variables",
|
| 1070 |
-
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
| 1071 |
-
"time": "2015-11-11 19:50:13"
|
| 1072 |
-
},
|
| 1073 |
-
{
|
| 1074 |
-
"name": "sebastian/version",
|
| 1075 |
-
"version": "1.0.6",
|
| 1076 |
-
"source": {
|
| 1077 |
-
"type": "git",
|
| 1078 |
-
"url": "https://github.com/sebastianbergmann/version.git",
|
| 1079 |
-
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
|
| 1080 |
-
},
|
| 1081 |
-
"dist": {
|
| 1082 |
-
"type": "zip",
|
| 1083 |
-
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
|
| 1084 |
-
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
|
| 1085 |
-
"shasum": ""
|
| 1086 |
-
},
|
| 1087 |
-
"type": "library",
|
| 1088 |
-
"autoload": {
|
| 1089 |
-
"classmap": [
|
| 1090 |
-
"src/"
|
| 1091 |
-
]
|
| 1092 |
-
},
|
| 1093 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 1094 |
-
"license": [
|
| 1095 |
-
"BSD-3-Clause"
|
| 1096 |
-
],
|
| 1097 |
-
"authors": [
|
| 1098 |
-
{
|
| 1099 |
-
"name": "Sebastian Bergmann",
|
| 1100 |
-
"email": "sebastian@phpunit.de",
|
| 1101 |
-
"role": "lead"
|
| 1102 |
-
}
|
| 1103 |
-
],
|
| 1104 |
-
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
| 1105 |
-
"homepage": "https://github.com/sebastianbergmann/version",
|
| 1106 |
-
"time": "2015-06-21 13:59:46"
|
| 1107 |
-
},
|
| 1108 |
-
{
|
| 1109 |
-
"name": "squizlabs/php_codesniffer",
|
| 1110 |
-
"version": "2.6.1",
|
| 1111 |
-
"source": {
|
| 1112 |
-
"type": "git",
|
| 1113 |
-
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
|
| 1114 |
-
"reference": "fb72ed32f8418db5e7770be1653e62e0d6f5dd3d"
|
| 1115 |
-
},
|
| 1116 |
-
"dist": {
|
| 1117 |
-
"type": "zip",
|
| 1118 |
-
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/fb72ed32f8418db5e7770be1653e62e0d6f5dd3d",
|
| 1119 |
-
"reference": "fb72ed32f8418db5e7770be1653e62e0d6f5dd3d",
|
| 1120 |
-
"shasum": ""
|
| 1121 |
-
},
|
| 1122 |
-
"require": {
|
| 1123 |
-
"ext-simplexml": "*",
|
| 1124 |
-
"ext-tokenizer": "*",
|
| 1125 |
-
"ext-xmlwriter": "*",
|
| 1126 |
-
"php": ">=5.1.2"
|
| 1127 |
-
},
|
| 1128 |
-
"require-dev": {
|
| 1129 |
-
"phpunit/phpunit": "~4.0"
|
| 1130 |
-
},
|
| 1131 |
-
"bin": [
|
| 1132 |
-
"scripts/phpcs",
|
| 1133 |
-
"scripts/phpcbf"
|
| 1134 |
-
],
|
| 1135 |
-
"type": "library",
|
| 1136 |
-
"extra": {
|
| 1137 |
-
"branch-alias": {
|
| 1138 |
-
"dev-master": "2.x-dev"
|
| 1139 |
-
}
|
| 1140 |
-
},
|
| 1141 |
-
"autoload": {
|
| 1142 |
-
"classmap": [
|
| 1143 |
-
"CodeSniffer.php",
|
| 1144 |
-
"CodeSniffer/CLI.php",
|
| 1145 |
-
"CodeSniffer/Exception.php",
|
| 1146 |
-
"CodeSniffer/File.php",
|
| 1147 |
-
"CodeSniffer/Fixer.php",
|
| 1148 |
-
"CodeSniffer/Report.php",
|
| 1149 |
-
"CodeSniffer/Reporting.php",
|
| 1150 |
-
"CodeSniffer/Sniff.php",
|
| 1151 |
-
"CodeSniffer/Tokens.php",
|
| 1152 |
-
"CodeSniffer/Reports/",
|
| 1153 |
-
"CodeSniffer/Tokenizers/",
|
| 1154 |
-
"CodeSniffer/DocGenerators/",
|
| 1155 |
-
"CodeSniffer/Standards/AbstractPatternSniff.php",
|
| 1156 |
-
"CodeSniffer/Standards/AbstractScopeSniff.php",
|
| 1157 |
-
"CodeSniffer/Standards/AbstractVariableSniff.php",
|
| 1158 |
-
"CodeSniffer/Standards/IncorrectPatternException.php",
|
| 1159 |
-
"CodeSniffer/Standards/Generic/Sniffs/",
|
| 1160 |
-
"CodeSniffer/Standards/MySource/Sniffs/",
|
| 1161 |
-
"CodeSniffer/Standards/PEAR/Sniffs/",
|
| 1162 |
-
"CodeSniffer/Standards/PSR1/Sniffs/",
|
| 1163 |
-
"CodeSniffer/Standards/PSR2/Sniffs/",
|
| 1164 |
-
"CodeSniffer/Standards/Squiz/Sniffs/",
|
| 1165 |
-
"CodeSniffer/Standards/Zend/Sniffs/"
|
| 1166 |
-
]
|
| 1167 |
-
},
|
| 1168 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 1169 |
-
"license": [
|
| 1170 |
-
"BSD-3-Clause"
|
| 1171 |
-
],
|
| 1172 |
-
"authors": [
|
| 1173 |
-
{
|
| 1174 |
-
"name": "Greg Sherwood",
|
| 1175 |
-
"role": "lead"
|
| 1176 |
-
}
|
| 1177 |
-
],
|
| 1178 |
-
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
| 1179 |
-
"homepage": "http://www.squizlabs.com/php-codesniffer",
|
| 1180 |
-
"keywords": [
|
| 1181 |
-
"phpcs",
|
| 1182 |
-
"standards"
|
| 1183 |
-
],
|
| 1184 |
-
"time": "2016-05-30 22:24:32"
|
| 1185 |
-
},
|
| 1186 |
-
{
|
| 1187 |
-
"name": "symfony/yaml",
|
| 1188 |
-
"version": "v2.8.7",
|
| 1189 |
-
"source": {
|
| 1190 |
-
"type": "git",
|
| 1191 |
-
"url": "https://github.com/symfony/yaml.git",
|
| 1192 |
-
"reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34"
|
| 1193 |
-
},
|
| 1194 |
-
"dist": {
|
| 1195 |
-
"type": "zip",
|
| 1196 |
-
"url": "https://api.github.com/repos/symfony/yaml/zipball/815fabf3f48c7d1df345a69d1ad1a88f59757b34",
|
| 1197 |
-
"reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34",
|
| 1198 |
-
"shasum": ""
|
| 1199 |
-
},
|
| 1200 |
-
"require": {
|
| 1201 |
-
"php": ">=5.3.9"
|
| 1202 |
-
},
|
| 1203 |
-
"type": "library",
|
| 1204 |
-
"extra": {
|
| 1205 |
-
"branch-alias": {
|
| 1206 |
-
"dev-master": "2.8-dev"
|
| 1207 |
-
}
|
| 1208 |
-
},
|
| 1209 |
-
"autoload": {
|
| 1210 |
-
"psr-4": {
|
| 1211 |
-
"Symfony\\Component\\Yaml\\": ""
|
| 1212 |
-
},
|
| 1213 |
-
"exclude-from-classmap": [
|
| 1214 |
-
"/Tests/"
|
| 1215 |
-
]
|
| 1216 |
-
},
|
| 1217 |
-
"notification-url": "https://packagist.org/downloads/",
|
| 1218 |
-
"license": [
|
| 1219 |
-
"MIT"
|
| 1220 |
-
],
|
| 1221 |
-
"authors": [
|
| 1222 |
-
{
|
| 1223 |
-
"name": "Fabien Potencier",
|
| 1224 |
-
"email": "fabien@symfony.com"
|
| 1225 |
-
},
|
| 1226 |
-
{
|
| 1227 |
-
"name": "Symfony Community",
|
| 1228 |
-
"homepage": "https://symfony.com/contributors"
|
| 1229 |
-
}
|
| 1230 |
-
],
|
| 1231 |
-
"description": "Symfony Yaml Component",
|
| 1232 |
-
"homepage": "https://symfony.com",
|
| 1233 |
-
"time": "2016-06-06 11:11:27"
|
| 1234 |
-
}
|
| 1235 |
-
],
|
| 1236 |
-
"aliases": [],
|
| 1237 |
-
"minimum-stability": "stable",
|
| 1238 |
-
"stability-flags": [],
|
| 1239 |
-
"prefer-stable": false,
|
| 1240 |
-
"prefer-lowest": false,
|
| 1241 |
-
"platform": {
|
| 1242 |
-
"php": "^5.4 || ^7.0"
|
| 1243 |
-
},
|
| 1244 |
-
"platform-dev": []
|
| 1245 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles/Transformer/Getters/ElementGetter.php
CHANGED
|
@@ -53,7 +53,7 @@ class ElementGetter extends AbstractGetter
|
|
| 53 |
public function get($node)
|
| 54 |
{
|
| 55 |
$elements = self::findAll($node, $this->selector);
|
| 56 |
-
if (!empty($elements)) {
|
| 57 |
Transformer::markAsProcessed($elements->item(0));
|
| 58 |
return Transformer::cloneNode($elements->item(0));
|
| 59 |
}
|
| 53 |
public function get($node)
|
| 54 |
{
|
| 55 |
$elements = self::findAll($node, $this->selector);
|
| 56 |
+
if (!empty($elements) && property_exists($elements, 'length') && $elements->length !== 0) {
|
| 57 |
Transformer::markAsProcessed($elements->item(0));
|
| 58 |
return Transformer::cloneNode($elements->item(0));
|
| 59 |
}
|
vendor/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles/Transformer/Rules/InstantArticleRule.php
CHANGED
|
@@ -44,7 +44,6 @@ class InstantArticleRule extends ConfigurationSelectorRule
|
|
| 44 |
);
|
| 45 |
|
| 46 |
return $canonical_rule;
|
| 47 |
-
|
| 48 |
}
|
| 49 |
|
| 50 |
public function apply($transformer, $instant_article, $node)
|
| 44 |
);
|
| 45 |
|
| 46 |
return $canonical_rule;
|
|
|
|
| 47 |
}
|
| 48 |
|
| 49 |
public function apply($transformer, $instant_article, $node)
|
vendor/facebook/facebook-instant-articles-sdk-php/src/Facebook/InstantArticles/Transformer/Rules/TimeRule.php
CHANGED
|
@@ -44,7 +44,6 @@ class TimeRule extends ConfigurationSelectorRule
|
|
| 44 |
}
|
| 45 |
|
| 46 |
return $time_rule;
|
| 47 |
-
|
| 48 |
}
|
| 49 |
|
| 50 |
public function apply($transformer, $header, $node)
|
| 44 |
}
|
| 45 |
|
| 46 |
return $time_rule;
|
|
|
|
| 47 |
}
|
| 48 |
|
| 49 |
public function apply($transformer, $header, $node)
|
vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Elements/SocialEmbedTest.php
DELETED
|
@@ -1,96 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Copyright (c) 2016-present, Facebook, Inc.
|
| 4 |
-
* All rights reserved.
|
| 5 |
-
*
|
| 6 |
-
* This source code is licensed under the license found in the
|
| 7 |
-
* LICENSE file in the root directory of this source tree.
|
| 8 |
-
*/
|
| 9 |
-
namespace Facebook\InstantArticles\Elements;
|
| 10 |
-
|
| 11 |
-
class SocialEmbedTest extends \PHPUnit_Framework_TestCase
|
| 12 |
-
{
|
| 13 |
-
public function testRenderEmpty()
|
| 14 |
-
{
|
| 15 |
-
$social_embed = SocialEmbed::create();
|
| 16 |
-
|
| 17 |
-
$expected = '';
|
| 18 |
-
|
| 19 |
-
$rendered = $social_embed->render();
|
| 20 |
-
$this->assertEquals($expected, $rendered);
|
| 21 |
-
}
|
| 22 |
-
|
| 23 |
-
public function testRenderBasic()
|
| 24 |
-
{
|
| 25 |
-
$social_embed =
|
| 26 |
-
SocialEmbed::create()
|
| 27 |
-
->withSource('http://foo.com');
|
| 28 |
-
|
| 29 |
-
$expected =
|
| 30 |
-
'<figure class="op-interactive">'.
|
| 31 |
-
'<iframe src="http://foo.com"></iframe>'.
|
| 32 |
-
'</figure>';
|
| 33 |
-
|
| 34 |
-
$rendered = $social_embed->render();
|
| 35 |
-
$this->assertEquals($expected, $rendered);
|
| 36 |
-
}
|
| 37 |
-
|
| 38 |
-
public function testRenderBasicWithCaption()
|
| 39 |
-
{
|
| 40 |
-
$social_embed =
|
| 41 |
-
SocialEmbed::create()
|
| 42 |
-
->withSource('http://foo.com')
|
| 43 |
-
->withCaption(
|
| 44 |
-
Caption::create()
|
| 45 |
-
->appendText('Some caption to the embed')
|
| 46 |
-
);
|
| 47 |
-
|
| 48 |
-
$expected =
|
| 49 |
-
'<figure class="op-interactive">'.
|
| 50 |
-
'<iframe src="http://foo.com"></iframe>'.
|
| 51 |
-
'<figcaption>Some caption to the embed</figcaption>'.
|
| 52 |
-
'</figure>';
|
| 53 |
-
|
| 54 |
-
$rendered = $social_embed->render();
|
| 55 |
-
$this->assertEquals($expected, $rendered);
|
| 56 |
-
}
|
| 57 |
-
|
| 58 |
-
public function testRenderInline()
|
| 59 |
-
{
|
| 60 |
-
$inline =
|
| 61 |
-
'<h1>Some custom code</h1>'.
|
| 62 |
-
'<script>alert("test & more test");</script>';
|
| 63 |
-
|
| 64 |
-
$social_embed =
|
| 65 |
-
SocialEmbed::create()
|
| 66 |
-
->withHTML($inline);
|
| 67 |
-
|
| 68 |
-
$expected =
|
| 69 |
-
'<figure class="op-interactive">'.
|
| 70 |
-
'<iframe>'.
|
| 71 |
-
'<h1>Some custom code</h1>'.
|
| 72 |
-
'<script>alert("test & more test");</script>'.
|
| 73 |
-
'</iframe>'.
|
| 74 |
-
'</figure>';
|
| 75 |
-
|
| 76 |
-
$rendered = $social_embed->render();
|
| 77 |
-
$this->assertEquals($expected, $rendered);
|
| 78 |
-
}
|
| 79 |
-
|
| 80 |
-
public function testRenderWithWidthAndHeight()
|
| 81 |
-
{
|
| 82 |
-
$social_embed =
|
| 83 |
-
SocialEmbed::create()
|
| 84 |
-
->withSource('http://foo.com')
|
| 85 |
-
->withWidth(640)
|
| 86 |
-
->withHeight(480);
|
| 87 |
-
|
| 88 |
-
$expected =
|
| 89 |
-
'<figure class="op-interactive">'.
|
| 90 |
-
'<iframe src="http://foo.com" width="640" height="480"></iframe>'.
|
| 91 |
-
'</figure>';
|
| 92 |
-
|
| 93 |
-
$rendered = $social_embed->render();
|
| 94 |
-
$this->assertEquals($expected, $rendered);
|
| 95 |
-
}
|
| 96 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/WPTransformerTest.php
DELETED
|
@@ -1,98 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Copyright (c) 2016-present, Facebook, Inc.
|
| 4 |
-
* All rights reserved.
|
| 5 |
-
*
|
| 6 |
-
* This source code is licensed under the license found in the
|
| 7 |
-
* LICENSE file in the root directory of this source tree.
|
| 8 |
-
*/
|
| 9 |
-
namespace Facebook\InstantArticles\Transformer\CMS;
|
| 10 |
-
|
| 11 |
-
use Facebook\InstantArticles\Transformer\Transformer;
|
| 12 |
-
use Facebook\InstantArticles\Elements\InstantArticle;
|
| 13 |
-
use Facebook\InstantArticles\Elements\Header;
|
| 14 |
-
use Facebook\InstantArticles\Elements\Time;
|
| 15 |
-
use Facebook\InstantArticles\Elements\Author;
|
| 16 |
-
|
| 17 |
-
class WPTransformerTest extends \PHPUnit_Framework_TestCase
|
| 18 |
-
{
|
| 19 |
-
protected function setUp()
|
| 20 |
-
{
|
| 21 |
-
\Logger::configure(
|
| 22 |
-
[
|
| 23 |
-
'rootLogger' => [
|
| 24 |
-
'appenders' => ['facebook-instantarticles-transformer']
|
| 25 |
-
],
|
| 26 |
-
'appenders' => [
|
| 27 |
-
'facebook-instantarticles-transformer' => [
|
| 28 |
-
'class' => 'LoggerAppenderConsole',
|
| 29 |
-
'threshold' => 'INFO',
|
| 30 |
-
'layout' => [
|
| 31 |
-
'class' => 'LoggerLayoutSimple'
|
| 32 |
-
]
|
| 33 |
-
]
|
| 34 |
-
]
|
| 35 |
-
]
|
| 36 |
-
);
|
| 37 |
-
}
|
| 38 |
-
|
| 39 |
-
public function testTransformerLikeWPContent()
|
| 40 |
-
{
|
| 41 |
-
$json_file = file_get_contents(__DIR__ . '/wp-rules.json');
|
| 42 |
-
|
| 43 |
-
$instant_article = InstantArticle::create();
|
| 44 |
-
$transformer = new Transformer();
|
| 45 |
-
$transformer->loadRules($json_file);
|
| 46 |
-
|
| 47 |
-
$html_file = file_get_contents(__DIR__ . '/wp.html');
|
| 48 |
-
|
| 49 |
-
libxml_use_internal_errors(true);
|
| 50 |
-
$document = new \DOMDocument();
|
| 51 |
-
$document->loadHTML($html_file);
|
| 52 |
-
libxml_use_internal_errors(false);
|
| 53 |
-
|
| 54 |
-
$instant_article
|
| 55 |
-
->withCanonicalURL('http://localhost/article')
|
| 56 |
-
->withHeader(
|
| 57 |
-
Header::create()
|
| 58 |
-
->withTitle('Peace on <b>earth</b>')
|
| 59 |
-
->addAuthor(Author::create()->withName('bill'))
|
| 60 |
-
->withPublishTime(Time::create(Time::PUBLISHED)->withDatetime(
|
| 61 |
-
\DateTime::createFromFormat(
|
| 62 |
-
'j-M-Y G:i:s',
|
| 63 |
-
'12-Apr-2016 19:46:51'
|
| 64 |
-
)
|
| 65 |
-
))
|
| 66 |
-
);
|
| 67 |
-
|
| 68 |
-
$transformer->transform($instant_article, $document);
|
| 69 |
-
$instant_article->addMetaProperty('op:generator:version', '1.0.0');
|
| 70 |
-
$instant_article->addMetaProperty('op:generator:transformer:version', '1.0.0');
|
| 71 |
-
$result = $instant_article->render('', true)."\n";
|
| 72 |
-
$expected = file_get_contents(__DIR__ . '/wp-ia.xml');
|
| 73 |
-
|
| 74 |
-
$this->assertEquals($expected, $result);
|
| 75 |
-
// there must be 3 warnings related to <img> inside <li> that is not supported by IA
|
| 76 |
-
// And 1 warning related to the getter
|
| 77 |
-
$this->assertEquals(4, count($transformer->getWarnings()));
|
| 78 |
-
}
|
| 79 |
-
|
| 80 |
-
public function testTitleTransformedWithBold()
|
| 81 |
-
{
|
| 82 |
-
$transformer = new Transformer();
|
| 83 |
-
$json_file = file_get_contents(__DIR__ . '/wp-rules.json');
|
| 84 |
-
$transformer->loadRules($json_file);
|
| 85 |
-
|
| 86 |
-
$title_html_string = '<?xml encoding="utf-8" ?><h1>Title <b>in bold</b></h1>';
|
| 87 |
-
|
| 88 |
-
libxml_use_internal_errors(true);
|
| 89 |
-
$document = new \DOMDocument();
|
| 90 |
-
$document->loadHtml($title_html_string);
|
| 91 |
-
libxml_use_internal_errors(false);
|
| 92 |
-
|
| 93 |
-
$header = Header::create();
|
| 94 |
-
$transformer->transform($header, $document);
|
| 95 |
-
|
| 96 |
-
$this->assertEquals('<h1>Title <b>in bold</b></h1>', $header->getTitle()->render());
|
| 97 |
-
}
|
| 98 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/wp-ia.xml
DELETED
|
@@ -1,202 +0,0 @@
|
|
| 1 |
-
<html>
|
| 2 |
-
<head>
|
| 3 |
-
<link rel="canonical" href="http://localhost/article"/>
|
| 4 |
-
<meta charset="utf-8"/>
|
| 5 |
-
<meta property="op:generator" content="facebook-instant-articles-sdk-php"/>
|
| 6 |
-
<meta property="op:generator:version" content="1.0.0"/>
|
| 7 |
-
<meta property="op:generator:transformer" content="facebook-instant-articles-sdk-php"/>
|
| 8 |
-
<meta property="op:generator:transformer:version" content="1.0.0"/>
|
| 9 |
-
<meta property="op:markup_version" content="v1.0"/>
|
| 10 |
-
</head>
|
| 11 |
-
<body>
|
| 12 |
-
<article>
|
| 13 |
-
<header>
|
| 14 |
-
<h1>Peace on <b>earth</b></h1>
|
| 15 |
-
<time class="op-published" datetime="2016-04-12T19:46:51+00:00">April 12th, 7:46pm</time>
|
| 16 |
-
<address><a>bill</a></address>
|
| 17 |
-
</header>
|
| 18 |
-
<p>Yes, peace is good for everybody!<br/>
|
| 19 |
-
Man kind.</p>
|
| 20 |
-
<figure>
|
| 21 |
-
<img src="http://example.com/image0.jpg"/>
|
| 22 |
-
</figure>
|
| 23 |
-
<p>Some text after img.</p>
|
| 24 |
-
<p>Some text before img</p>
|
| 25 |
-
<figure>
|
| 26 |
-
<img src="http://example.com/image1.jpg"/>
|
| 27 |
-
</figure>
|
| 28 |
-
<p>Some text before img</p>
|
| 29 |
-
<figure>
|
| 30 |
-
<img src="http://example.com/image2.jpg"/>
|
| 31 |
-
</figure>
|
| 32 |
-
<p> and some after img.</p>
|
| 33 |
-
<figure class="op-interactive">
|
| 34 |
-
<iframe src="http://example.com/0/" class="no-margin" width="300" height="200"></iframe>
|
| 35 |
-
</figure>
|
| 36 |
-
<p>Some text before iframe</p>
|
| 37 |
-
<figure class="op-interactive">
|
| 38 |
-
<iframe src="http://example.com/1/" class="no-margin" width="300" height="200"></iframe>
|
| 39 |
-
</figure>
|
| 40 |
-
<figure class="op-interactive">
|
| 41 |
-
<iframe src="http://example.com/2/" class="no-margin" width="300" height="200"></iframe>
|
| 42 |
-
</figure>
|
| 43 |
-
<p> some after iframe.</p>
|
| 44 |
-
<p>Some text before iframe</p>
|
| 45 |
-
<figure class="op-interactive">
|
| 46 |
-
<iframe src="http://example.com/3/" class="no-margin" width="300" height="200"></iframe>
|
| 47 |
-
</figure>
|
| 48 |
-
<p> and some after iframe.</p>
|
| 49 |
-
<figure class="op-interactive">
|
| 50 |
-
<iframe src="http://example.com/loose/with_url" class="no-margin" width="300" height="200"></iframe>
|
| 51 |
-
</figure>
|
| 52 |
-
<figure class="op-interactive">
|
| 53 |
-
<iframe class="no-margin">
|
| 54 |
-
<div>
|
| 55 |
-
<h1>Iframe loose without url</h1>
|
| 56 |
-
</div>
|
| 57 |
-
</iframe>
|
| 58 |
-
</figure>
|
| 59 |
-
<figure class="op-interactive">
|
| 60 |
-
<iframe class="no-margin">
|
| 61 |
-
<div>
|
| 62 |
-
<h1>some embed here</h1>
|
| 63 |
-
</div>
|
| 64 |
-
</iframe>
|
| 65 |
-
</figure>
|
| 66 |
-
<figure class="op-interactive">
|
| 67 |
-
<iframe class="no-margin">
|
| 68 |
-
<div>
|
| 69 |
-
<h1>some embed here</h1>
|
| 70 |
-
</div>
|
| 71 |
-
</iframe>
|
| 72 |
-
</figure>
|
| 73 |
-
<figure class="op-interactive">
|
| 74 |
-
<iframe class="no-margin">
|
| 75 |
-
<div>some content</div>
|
| 76 |
-
<script>alert('hi & hello to you @ testing!');</script></iframe>
|
| 77 |
-
</figure>
|
| 78 |
-
<figure class="op-interactive">
|
| 79 |
-
<iframe src="http://example.com/4/" class="no-margin" width="300" height="200"></iframe>
|
| 80 |
-
</figure>
|
| 81 |
-
<figure class="op-interactive">
|
| 82 |
-
<iframe class="no-margin">
|
| 83 |
-
<div>some content</div>
|
| 84 |
-
<script>alert('hi & hello to you @ testing!');</script></iframe>
|
| 85 |
-
</figure>
|
| 86 |
-
<figure class="op-interactive">
|
| 87 |
-
<iframe src="http://example.com/4/" class="no-margin" width="300" height="200"></iframe>
|
| 88 |
-
</figure>
|
| 89 |
-
<figure class="op-interactive">
|
| 90 |
-
<iframe class="no-margin">
|
| 91 |
-
<div>some content</div>
|
| 92 |
-
<script>alert('hi & hello to you @ testing!');</script></iframe>
|
| 93 |
-
</figure>
|
| 94 |
-
<figure class="op-interactive">
|
| 95 |
-
<iframe class="no-margin" height="200">
|
| 96 |
-
<table width="200" height="200">
|
| 97 |
-
<thead><td>header 1</td>
|
| 98 |
-
<td>header 2</td>
|
| 99 |
-
</thead>
|
| 100 |
-
<tbody>
|
| 101 |
-
<tr><td>Line 1 column 1</td>
|
| 102 |
-
<td>Line 1 column 2</td>
|
| 103 |
-
</tr>
|
| 104 |
-
<tr><td>Line 2 column 1</td>
|
| 105 |
-
<td>Line 2 column 2</td>
|
| 106 |
-
</tr>
|
| 107 |
-
</tbody>
|
| 108 |
-
</table>
|
| 109 |
-
</iframe>
|
| 110 |
-
</figure>
|
| 111 |
-
<ul>
|
| 112 |
-
<li>Some text on li before img</li>
|
| 113 |
-
<li>Some text on li before imgand after img</li>
|
| 114 |
-
<li>Some text after img</li>
|
| 115 |
-
</ul>
|
| 116 |
-
<figure class="op-slideshow">
|
| 117 |
-
<figure>
|
| 118 |
-
<img src="http://example.com/img0.jpg"/>
|
| 119 |
-
</figure>
|
| 120 |
-
<figure>
|
| 121 |
-
<img src="http://example.com/img1.jpg"/>
|
| 122 |
-
</figure>
|
| 123 |
-
<figure>
|
| 124 |
-
<img src="http://example.com/img2.jpg"/>
|
| 125 |
-
<figcaption>Image 2</figcaption>
|
| 126 |
-
</figure>
|
| 127 |
-
<figure>
|
| 128 |
-
<img src="http://example.com/img3.jpg"/>
|
| 129 |
-
<figcaption>Image 3</figcaption>
|
| 130 |
-
</figure>
|
| 131 |
-
<figure>
|
| 132 |
-
<img src="http://example.com/img4.jpg"/>
|
| 133 |
-
</figure>
|
| 134 |
-
</figure>
|
| 135 |
-
<figure class="op-slideshow">
|
| 136 |
-
<figure>
|
| 137 |
-
<img src="http://example.com/img1.jpg"/>
|
| 138 |
-
<figcaption> Image 1 </figcaption>
|
| 139 |
-
</figure>
|
| 140 |
-
<figure>
|
| 141 |
-
<img src="http://example.com/img2.jpg"/>
|
| 142 |
-
<figcaption> Image 2 </figcaption>
|
| 143 |
-
</figure>
|
| 144 |
-
<figure>
|
| 145 |
-
<img src="http://example.com/img3.jpg"/>
|
| 146 |
-
<figcaption> Image 3 </figcaption>
|
| 147 |
-
</figure>
|
| 148 |
-
</figure>
|
| 149 |
-
<figure class="op-interactive">
|
| 150 |
-
<iframe class="no-margin">
|
| 151 |
-
<blockquote class="instagram-media" data-instgrm-captioned="" data-instgrm-version="6" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);">
|
| 152 |
-
<div style="padding:8px;">
|
| 153 |
-
<div style=" background:#F8F8F8; line-height:0; margin-top:40px; padding:62.5% 0; text-align:center; width:100%;">
|
| 154 |
-
<div style=" background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAAGFBMVEUiIiI9PT0eHh4gIB4hIBkcHBwcHBwcHBydr+JQAAAACHRSTlMABA4YHyQsM5jtaMwAAADfSURBVDjL7ZVBEgMhCAQBAf//42xcNbpAqakcM0ftUmFAAIBE81IqBJdS3lS6zs3bIpB9WED3YYXFPmHRfT8sgyrCP1x8uEUxLMzNWElFOYCV6mHWWwMzdPEKHlhLw7NWJqkHc4uIZphavDzA2JPzUDsBZziNae2S6owH8xPmX8G7zzgKEOPUoYHvGz1TBCxMkd3kwNVbU0gKHkx+iZILf77IofhrY1nYFnB/lQPb79drWOyJVa/DAvg9B/rLB4cC+Nqgdz/TvBbBnr6GBReqn/nRmDgaQEej7WhonozjF+Y2I/fZou/qAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;"></div>
|
| 155 |
-
</div>
|
| 156 |
-
<p style=" margin:8px 0 0 0; padding:0 4px;">
|
| 157 |
-
<a href="https://www.instagram.com/p/BAXbKP1POQe/" style=" color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;" target="_blank">ð¸ @natthaponwuttipetch</a>
|
| 158 |
-
</p>
|
| 159 |
-
<p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;">
|
| 160 |
-
A photo posted by Ann Hathairat Vidhyaphum (@annvidh) on <time style=" font-family:Arial,sans-serif; font-size:14px; line-height:17px;" datetime="2016-01-10T16:56:06+00:00">Jan 10, 2016 at 8:56am PST</time></p>
|
| 161 |
-
</div>
|
| 162 |
-
</blockquote>
|
| 163 |
-
<script async="" defer="defer" src="//platform.instagram.com/en_US/embeds.js"></script>
|
| 164 |
-
</iframe>
|
| 165 |
-
</figure>
|
| 166 |
-
<figure>
|
| 167 |
-
<img src="http://example.com/img.jpg"/>
|
| 168 |
-
<figcaption>blue eyes</figcaption>
|
| 169 |
-
</figure>
|
| 170 |
-
<figure class="op-interactive">
|
| 171 |
-
<iframe class="no-margin">
|
| 172 |
-
<h1>Sibling content</h1>
|
| 173 |
-
<div>sibling body</div></iframe>
|
| 174 |
-
</figure>
|
| 175 |
-
<p>Standard paragraph that <b>shouldn't</b> lie within the interactive block.</p>
|
| 176 |
-
<figure class="op-interactive">
|
| 177 |
-
<iframe class="no-margin">
|
| 178 |
-
<p>Extra markup</p>
|
| 179 |
-
<div class="fb-post" data-href="https://www.facebook.com/some-page/posts/some-post"></div>
|
| 180 |
-
</iframe>
|
| 181 |
-
</figure>
|
| 182 |
-
<figure class="op-slideshow">
|
| 183 |
-
<figure>
|
| 184 |
-
<img src="http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy-810x471.jpg"/>
|
| 185 |
-
<figcaption>Caption Img 1</figcaption>
|
| 186 |
-
</figure>
|
| 187 |
-
<figure>
|
| 188 |
-
<img src="http://example.com/a-vot-chto-vnutri.jpg"/>
|
| 189 |
-
<figcaption>Alternative text </figcaption>
|
| 190 |
-
</figure>
|
| 191 |
-
<figure>
|
| 192 |
-
<img src="http://example.com/brelok-s-bezopasnostyu-vsegda-s-soboj.jpg"/>
|
| 193 |
-
<figcaption>Caption img 3</figcaption>
|
| 194 |
-
</figure>
|
| 195 |
-
</figure>
|
| 196 |
-
<figure>
|
| 197 |
-
<img src="http://example.com/image.jpg"/>
|
| 198 |
-
<figcaption>caption</figcaption>
|
| 199 |
-
</figure>
|
| 200 |
-
</article>
|
| 201 |
-
</body>
|
| 202 |
-
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/wp-rules.json
DELETED
|
@@ -1,606 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"rules":
|
| 3 |
-
[{
|
| 4 |
-
"class": "TextNodeRule"
|
| 5 |
-
}, {
|
| 6 |
-
"class": "PassThroughRule",
|
| 7 |
-
"selector": "html"
|
| 8 |
-
}, {
|
| 9 |
-
"class": "PassThroughRule",
|
| 10 |
-
"selector": "head"
|
| 11 |
-
}, {
|
| 12 |
-
"class": "PassThroughRule",
|
| 13 |
-
"selector": "body"
|
| 14 |
-
}, {
|
| 15 |
-
"class": "PassThroughRule",
|
| 16 |
-
"selector" : "code"
|
| 17 |
-
},{
|
| 18 |
-
"class": "PassThroughRule",
|
| 19 |
-
"selector" : "del"
|
| 20 |
-
},{
|
| 21 |
-
"class": "PassThroughRule",
|
| 22 |
-
"selector" : "mark"
|
| 23 |
-
}, {
|
| 24 |
-
"class": "PassThroughRule",
|
| 25 |
-
"selector" : "span"
|
| 26 |
-
}, {
|
| 27 |
-
"class": "ParagraphRule",
|
| 28 |
-
"selector": "p"
|
| 29 |
-
}, {
|
| 30 |
-
"class": "LineBreakRule",
|
| 31 |
-
"selector": "br"
|
| 32 |
-
}, {
|
| 33 |
-
"class": "AnchorRule",
|
| 34 |
-
"selector": "a",
|
| 35 |
-
"properties": {
|
| 36 |
-
"anchor.href": {
|
| 37 |
-
"type": "string",
|
| 38 |
-
"selector": "a",
|
| 39 |
-
"attribute": "href"
|
| 40 |
-
},
|
| 41 |
-
"anchor.rel": {
|
| 42 |
-
"type": "string",
|
| 43 |
-
"selector": "a",
|
| 44 |
-
"attribute": "rel"
|
| 45 |
-
}
|
| 46 |
-
}
|
| 47 |
-
}, {
|
| 48 |
-
"class": "BoldRule",
|
| 49 |
-
"selector": "b"
|
| 50 |
-
}, {
|
| 51 |
-
"class": "BoldRule",
|
| 52 |
-
"selector": "strong"
|
| 53 |
-
}, {
|
| 54 |
-
"class": "ItalicRule",
|
| 55 |
-
"selector": "i"
|
| 56 |
-
}, {
|
| 57 |
-
"class": "ItalicRule",
|
| 58 |
-
"selector": "em"
|
| 59 |
-
}, {
|
| 60 |
-
"class": "BlockquoteRule",
|
| 61 |
-
"selector": "blockquote"
|
| 62 |
-
}, {
|
| 63 |
-
"class": "PassThroughRule",
|
| 64 |
-
"selector": "blockquote p"
|
| 65 |
-
}, {
|
| 66 |
-
"class": "ImageInsideParagraphRule",
|
| 67 |
-
"selector": "img",
|
| 68 |
-
"properties": {
|
| 69 |
-
"image.url": {
|
| 70 |
-
"type": "string",
|
| 71 |
-
"selector": "img",
|
| 72 |
-
"attribute": "src"
|
| 73 |
-
}
|
| 74 |
-
}
|
| 75 |
-
},{
|
| 76 |
-
"class": "ImageRule",
|
| 77 |
-
"selector": "img",
|
| 78 |
-
"properties": {
|
| 79 |
-
"image.url": {
|
| 80 |
-
"type": "string",
|
| 81 |
-
"selector": "img",
|
| 82 |
-
"attribute": "src"
|
| 83 |
-
}
|
| 84 |
-
}
|
| 85 |
-
}, {
|
| 86 |
-
"class": "ListItemRule",
|
| 87 |
-
"selector" : "li"
|
| 88 |
-
}, {
|
| 89 |
-
"class": "ListElementRule",
|
| 90 |
-
"selector" : "ul"
|
| 91 |
-
}, {
|
| 92 |
-
"class": "ListElementRule",
|
| 93 |
-
"selector" : "ol"
|
| 94 |
-
}, {
|
| 95 |
-
"class": "BlockquoteRule",
|
| 96 |
-
"selector" : "blockquote"
|
| 97 |
-
}, {
|
| 98 |
-
"class": "H1Rule",
|
| 99 |
-
"selector" : "h1",
|
| 100 |
-
"properties" : {
|
| 101 |
-
"h1.class" : {
|
| 102 |
-
"type" : "string",
|
| 103 |
-
"selector" : "link",
|
| 104 |
-
"attribute": "class"
|
| 105 |
-
}
|
| 106 |
-
}
|
| 107 |
-
}, {
|
| 108 |
-
"class": "H1Rule",
|
| 109 |
-
"selector" : "title"
|
| 110 |
-
}, {
|
| 111 |
-
"class": "H2Rule",
|
| 112 |
-
"selector" : "h2",
|
| 113 |
-
"properties" : {
|
| 114 |
-
"h2.class" : {
|
| 115 |
-
"type" : "string",
|
| 116 |
-
"selector" : "link",
|
| 117 |
-
"attribute": "class"
|
| 118 |
-
}
|
| 119 |
-
}
|
| 120 |
-
}, {
|
| 121 |
-
"class": "H2Rule",
|
| 122 |
-
"selector" : "h3,h4,h5,h6"
|
| 123 |
-
}, {
|
| 124 |
-
"class": "InteractiveRule",
|
| 125 |
-
"selector" : "blockquote.instagram-media",
|
| 126 |
-
"properties" : {
|
| 127 |
-
"interactive.iframe" : {
|
| 128 |
-
"type" : "multiple",
|
| 129 |
-
"children": [
|
| 130 |
-
{
|
| 131 |
-
"type": "element",
|
| 132 |
-
"selector": "blockquote"
|
| 133 |
-
}, {
|
| 134 |
-
"type": "next-sibling-element-of",
|
| 135 |
-
"selector": "blockquote"
|
| 136 |
-
}
|
| 137 |
-
]
|
| 138 |
-
}
|
| 139 |
-
}
|
| 140 |
-
}, {
|
| 141 |
-
"class": "InteractiveRule",
|
| 142 |
-
"selector" : "iframe",
|
| 143 |
-
"properties" : {
|
| 144 |
-
"interactive.url" : {
|
| 145 |
-
"type" : "string",
|
| 146 |
-
"selector" : "iframe",
|
| 147 |
-
"attribute": "src"
|
| 148 |
-
},
|
| 149 |
-
"interactive.width" : {
|
| 150 |
-
"type" : "int",
|
| 151 |
-
"selector" : "iframe",
|
| 152 |
-
"attribute": "width"
|
| 153 |
-
},
|
| 154 |
-
"interactive.height" : {
|
| 155 |
-
"type" : "int",
|
| 156 |
-
"selector" : "iframe",
|
| 157 |
-
"attribute": "height"
|
| 158 |
-
},
|
| 159 |
-
"interactive.iframe" : {
|
| 160 |
-
"type" : "children",
|
| 161 |
-
"selector" : "iframe"
|
| 162 |
-
}
|
| 163 |
-
}
|
| 164 |
-
}, {
|
| 165 |
-
"class": "InteractiveRule",
|
| 166 |
-
"selector" : "div.embed",
|
| 167 |
-
"properties" : {
|
| 168 |
-
"interactive.iframe" : {
|
| 169 |
-
"type" : "children",
|
| 170 |
-
"selector" : "div.embed"
|
| 171 |
-
},
|
| 172 |
-
"interactive.height" : {
|
| 173 |
-
"type" : "int",
|
| 174 |
-
"selector" : "iframe",
|
| 175 |
-
"attribute": "height"
|
| 176 |
-
},
|
| 177 |
-
"interactive.width" : {
|
| 178 |
-
"type" : "int",
|
| 179 |
-
"selector" : "iframe",
|
| 180 |
-
"attribute": "width"
|
| 181 |
-
}
|
| 182 |
-
}
|
| 183 |
-
}, {
|
| 184 |
-
"class": "InteractiveRule",
|
| 185 |
-
"selector" : "div.interactive",
|
| 186 |
-
"properties" : {
|
| 187 |
-
"interactive.iframe" : {
|
| 188 |
-
"type" : "children",
|
| 189 |
-
"selector" : "div.interactive"
|
| 190 |
-
},
|
| 191 |
-
"interactive.height" : {
|
| 192 |
-
"type" : "int",
|
| 193 |
-
"selector" : "iframe",
|
| 194 |
-
"attribute": "height"
|
| 195 |
-
},
|
| 196 |
-
"interactive.width" : {
|
| 197 |
-
"type" : "int",
|
| 198 |
-
"selector" : "iframe",
|
| 199 |
-
"attribute": "width"
|
| 200 |
-
}
|
| 201 |
-
}
|
| 202 |
-
}, {
|
| 203 |
-
"class": "InteractiveRule",
|
| 204 |
-
"selector" : "//div[@class='embed' and iframe]",
|
| 205 |
-
"properties" : {
|
| 206 |
-
"interactive.url" : {
|
| 207 |
-
"type" : "string",
|
| 208 |
-
"selector" : "iframe",
|
| 209 |
-
"attribute": "src"
|
| 210 |
-
},
|
| 211 |
-
"interactive.iframe" : {
|
| 212 |
-
"type" : "children",
|
| 213 |
-
"selector" : "iframe",
|
| 214 |
-
"attribute": "src"
|
| 215 |
-
},
|
| 216 |
-
"interactive.width" : {
|
| 217 |
-
"type" : "int",
|
| 218 |
-
"selector" : "iframe",
|
| 219 |
-
"attribute": "width"
|
| 220 |
-
},
|
| 221 |
-
"interactive.height" : {
|
| 222 |
-
"type" : "int",
|
| 223 |
-
"selector" : "iframe",
|
| 224 |
-
"attribute": "height"
|
| 225 |
-
}
|
| 226 |
-
}
|
| 227 |
-
}, {
|
| 228 |
-
"class": "InteractiveRule",
|
| 229 |
-
"selector" : "//div[@class='interactive' and iframe]",
|
| 230 |
-
"properties" : {
|
| 231 |
-
"interactive.url" : {
|
| 232 |
-
"type" : "string",
|
| 233 |
-
"selector" : "iframe",
|
| 234 |
-
"attribute": "src"
|
| 235 |
-
},
|
| 236 |
-
"interactive.iframe" : {
|
| 237 |
-
"type" : "children",
|
| 238 |
-
"selector" : "iframe"
|
| 239 |
-
},
|
| 240 |
-
"interactive.height" : {
|
| 241 |
-
"type" : "int",
|
| 242 |
-
"selector" : "iframe",
|
| 243 |
-
"attribute": "height"
|
| 244 |
-
},
|
| 245 |
-
"interactive.width" : {
|
| 246 |
-
"type" : "int",
|
| 247 |
-
"selector" : "iframe",
|
| 248 |
-
"attribute": "width"
|
| 249 |
-
}
|
| 250 |
-
}
|
| 251 |
-
}, {
|
| 252 |
-
"class": "InteractiveRule",
|
| 253 |
-
"selector" : "table",
|
| 254 |
-
"properties" : {
|
| 255 |
-
"interactive.iframe" : {
|
| 256 |
-
"type" : "element",
|
| 257 |
-
"selector" : "table"
|
| 258 |
-
},
|
| 259 |
-
"interactive.height" : {
|
| 260 |
-
"type" : "int",
|
| 261 |
-
"selector" : "table",
|
| 262 |
-
"attribute": "height"
|
| 263 |
-
},
|
| 264 |
-
"interactive.width" : {
|
| 265 |
-
"type" : "int",
|
| 266 |
-
"selector" : "iframe",
|
| 267 |
-
"attribute": "width"
|
| 268 |
-
}
|
| 269 |
-
}
|
| 270 |
-
}, {
|
| 271 |
-
"class": "InteractiveRule",
|
| 272 |
-
"selector" : "div.fb-post",
|
| 273 |
-
"properties" : {
|
| 274 |
-
"interactive.iframe" : {
|
| 275 |
-
"type": "multiple",
|
| 276 |
-
"children": [
|
| 277 |
-
{
|
| 278 |
-
"type": "fragment",
|
| 279 |
-
"fragment": "<p>Extra markup</p>"
|
| 280 |
-
},
|
| 281 |
-
{
|
| 282 |
-
"type" : "element",
|
| 283 |
-
"selector" : "div.fb-post"
|
| 284 |
-
}
|
| 285 |
-
]
|
| 286 |
-
}
|
| 287 |
-
}
|
| 288 |
-
}, {
|
| 289 |
-
"class": "InteractiveInsideParagraphRule",
|
| 290 |
-
"selector" : "iframe",
|
| 291 |
-
"properties" : {
|
| 292 |
-
"interactive.url" : {
|
| 293 |
-
"type" : "string",
|
| 294 |
-
"selector" : "iframe",
|
| 295 |
-
"attribute": "src"
|
| 296 |
-
},
|
| 297 |
-
"interactive.height" : {
|
| 298 |
-
"type" : "int",
|
| 299 |
-
"selector" : "iframe",
|
| 300 |
-
"attribute": "height"
|
| 301 |
-
},
|
| 302 |
-
"interactive.width" : {
|
| 303 |
-
"type" : "int",
|
| 304 |
-
"selector" : "iframe",
|
| 305 |
-
"attribute": "width"
|
| 306 |
-
}
|
| 307 |
-
}
|
| 308 |
-
},{
|
| 309 |
-
"class": "InteractiveInsideParagraphRule",
|
| 310 |
-
"selector" : "div.embed",
|
| 311 |
-
"properties" : {
|
| 312 |
-
"interactive.iframe" : {
|
| 313 |
-
"type" : "children",
|
| 314 |
-
"selector" : "div.embed"
|
| 315 |
-
},
|
| 316 |
-
"interactive.height" : {
|
| 317 |
-
"type" : "int",
|
| 318 |
-
"selector" : "iframe",
|
| 319 |
-
"attribute": "height"
|
| 320 |
-
},
|
| 321 |
-
"interactive.width" : {
|
| 322 |
-
"type" : "int",
|
| 323 |
-
"selector" : "iframe",
|
| 324 |
-
"attribute": "width"
|
| 325 |
-
}
|
| 326 |
-
}
|
| 327 |
-
}, {
|
| 328 |
-
"class": "InteractiveInsideParagraphRule",
|
| 329 |
-
"selector" : "div.interactive",
|
| 330 |
-
"properties" : {
|
| 331 |
-
"interactive.iframe" : {
|
| 332 |
-
"type" : "children",
|
| 333 |
-
"selector" : "div.interactive"
|
| 334 |
-
},
|
| 335 |
-
"interactive.height" : {
|
| 336 |
-
"type" : "int",
|
| 337 |
-
"selector" : "iframe",
|
| 338 |
-
"attribute": "height"
|
| 339 |
-
},
|
| 340 |
-
"interactive.width" : {
|
| 341 |
-
"type" : "int",
|
| 342 |
-
"selector" : "iframe",
|
| 343 |
-
"attribute": "width"
|
| 344 |
-
}
|
| 345 |
-
}
|
| 346 |
-
}, {
|
| 347 |
-
"class": "InteractiveInsideParagraphRule",
|
| 348 |
-
"selector" : "//div[@class='embed' and iframe]",
|
| 349 |
-
"properties" : {
|
| 350 |
-
"interactive.url" : {
|
| 351 |
-
"type" : "string",
|
| 352 |
-
"selector" : "iframe",
|
| 353 |
-
"attribute": "src"
|
| 354 |
-
},
|
| 355 |
-
"interactive.iframe" : {
|
| 356 |
-
"type" : "children",
|
| 357 |
-
"selector" : "iframe",
|
| 358 |
-
"attribute": "src"
|
| 359 |
-
},
|
| 360 |
-
"interactive.width" : {
|
| 361 |
-
"type" : "int",
|
| 362 |
-
"selector" : "iframe",
|
| 363 |
-
"attribute": "width"
|
| 364 |
-
},
|
| 365 |
-
"interactive.height" : {
|
| 366 |
-
"type" : "int",
|
| 367 |
-
"selector" : "iframe",
|
| 368 |
-
"attribute": "height"
|
| 369 |
-
}
|
| 370 |
-
}
|
| 371 |
-
}, {
|
| 372 |
-
"class": "InteractiveInsideParagraphRule",
|
| 373 |
-
"selector" : "//div[@class='interactive' and iframe]",
|
| 374 |
-
"properties" : {
|
| 375 |
-
"interactive.url" : {
|
| 376 |
-
"type" : "string",
|
| 377 |
-
"selector" : "iframe",
|
| 378 |
-
"attribute": "src"
|
| 379 |
-
},
|
| 380 |
-
"interactive.iframe" : {
|
| 381 |
-
"type" : "children",
|
| 382 |
-
"selector" : "iframe",
|
| 383 |
-
"attribute": "src"
|
| 384 |
-
},
|
| 385 |
-
"interactive.height" : {
|
| 386 |
-
"type" : "int",
|
| 387 |
-
"selector" : "iframe",
|
| 388 |
-
"attribute": "height"
|
| 389 |
-
},
|
| 390 |
-
"interactive.width" : {
|
| 391 |
-
"type" : "int",
|
| 392 |
-
"selector" : "iframe",
|
| 393 |
-
"attribute": "width"
|
| 394 |
-
}
|
| 395 |
-
}
|
| 396 |
-
}, {
|
| 397 |
-
"class": "InteractiveInsideParagraphRule",
|
| 398 |
-
"selector" : "table",
|
| 399 |
-
"properties" : {
|
| 400 |
-
"interactive.iframe" : {
|
| 401 |
-
"type" : "element",
|
| 402 |
-
"selector" : "table"
|
| 403 |
-
},
|
| 404 |
-
"interactive.height" : {
|
| 405 |
-
"type" : "int",
|
| 406 |
-
"selector" : "table",
|
| 407 |
-
"attribute": "height"
|
| 408 |
-
},
|
| 409 |
-
"interactive.width" : {
|
| 410 |
-
"type" : "int",
|
| 411 |
-
"selector" : "table",
|
| 412 |
-
"attribute": "width"
|
| 413 |
-
}
|
| 414 |
-
}
|
| 415 |
-
}, {
|
| 416 |
-
"class": "SlideshowImageRule",
|
| 417 |
-
"selector" : "figure",
|
| 418 |
-
"properties" : {
|
| 419 |
-
"image.url" : {
|
| 420 |
-
"type" : "string",
|
| 421 |
-
"selector" : "img",
|
| 422 |
-
"attribute": "src"
|
| 423 |
-
},
|
| 424 |
-
"caption.title" : {
|
| 425 |
-
"type" : "string",
|
| 426 |
-
"selector" : "figcaption"
|
| 427 |
-
}
|
| 428 |
-
}
|
| 429 |
-
}, {
|
| 430 |
-
"class": "SlideshowRule",
|
| 431 |
-
"selector" : "div.gallery"
|
| 432 |
-
}, {
|
| 433 |
-
"class": "CaptionRule",
|
| 434 |
-
"selector" : "figcaption"
|
| 435 |
-
}, {
|
| 436 |
-
"class": "CaptionRule",
|
| 437 |
-
"selector" : "p.wp-caption-text"
|
| 438 |
-
}, {
|
| 439 |
-
"class": "ImageRule",
|
| 440 |
-
"selector" : "figure",
|
| 441 |
-
"properties" : {
|
| 442 |
-
"image.url" : {
|
| 443 |
-
"type" : "string",
|
| 444 |
-
"selector" : "img",
|
| 445 |
-
"attribute": "src"
|
| 446 |
-
}
|
| 447 |
-
}
|
| 448 |
-
}, {
|
| 449 |
-
"class": "VideoRule",
|
| 450 |
-
"selector" : "div.wp-video",
|
| 451 |
-
"containsChild": "video",
|
| 452 |
-
"properties" : {
|
| 453 |
-
"video.url" : {
|
| 454 |
-
"type" : "string",
|
| 455 |
-
"selector" : "source",
|
| 456 |
-
"attribute": "src"
|
| 457 |
-
},
|
| 458 |
-
"video.type" : {
|
| 459 |
-
"type" : "string",
|
| 460 |
-
"selector" : "source",
|
| 461 |
-
"attribute": "type"
|
| 462 |
-
}
|
| 463 |
-
}
|
| 464 |
-
},
|
| 465 |
-
|
| 466 |
-
|
| 467 |
-
|
| 468 |
-
{
|
| 469 |
-
"class" : "IgnoreRule",
|
| 470 |
-
"selector" : "p.jetpack-slideshow-noscript"
|
| 471 |
-
},
|
| 472 |
-
{
|
| 473 |
-
"class": "CaptionRule",
|
| 474 |
-
"selector" : "div.wp-caption-text"
|
| 475 |
-
},
|
| 476 |
-
{
|
| 477 |
-
"class" : "PassThroughRule",
|
| 478 |
-
"selector" : "div.gallery-row"
|
| 479 |
-
},
|
| 480 |
-
{
|
| 481 |
-
"class" : "PassThroughRule",
|
| 482 |
-
"selector" : "div.tiled-gallery p"
|
| 483 |
-
},
|
| 484 |
-
{
|
| 485 |
-
"class" : "PassThroughRule",
|
| 486 |
-
"selector" : "div.gallery-row p"
|
| 487 |
-
},
|
| 488 |
-
{
|
| 489 |
-
"class" : "PassThroughRule",
|
| 490 |
-
"selector" : "div.gallery-group p"
|
| 491 |
-
},
|
| 492 |
-
{
|
| 493 |
-
"class" : "PassThroughRule",
|
| 494 |
-
"selector" : "div.gallery-group"
|
| 495 |
-
},
|
| 496 |
-
{
|
| 497 |
-
"class": "ImageRule",
|
| 498 |
-
"selector" : "div.wp-caption",
|
| 499 |
-
"properties" : {
|
| 500 |
-
"image.url" : {
|
| 501 |
-
"type" : "string",
|
| 502 |
-
"selector" : "img",
|
| 503 |
-
"attribute": "src"
|
| 504 |
-
}
|
| 505 |
-
}
|
| 506 |
-
},
|
| 507 |
-
{
|
| 508 |
-
"class": "SlideshowImageRule",
|
| 509 |
-
"selector" : "div.tiled-gallery-item",
|
| 510 |
-
"properties" : {
|
| 511 |
-
"image.url" : {
|
| 512 |
-
"type" : "string",
|
| 513 |
-
"selector" : "img",
|
| 514 |
-
"attribute": "data-orig-file"
|
| 515 |
-
},
|
| 516 |
-
"caption.title" : {
|
| 517 |
-
"type" : "string",
|
| 518 |
-
"selector" : "div.tiled-gallery-caption"
|
| 519 |
-
}
|
| 520 |
-
}
|
| 521 |
-
},
|
| 522 |
-
{
|
| 523 |
-
"class": "SlideshowRule",
|
| 524 |
-
"selector" : "div.tiled-gallery"
|
| 525 |
-
},
|
| 526 |
-
{
|
| 527 |
-
"class": "SlideshowRule",
|
| 528 |
-
"selector" : "div.tiled-gallery"
|
| 529 |
-
},
|
| 530 |
-
{
|
| 531 |
-
"class": "Compat\\JetpackSlideshowRule",
|
| 532 |
-
"selector" : "div.jetpack-slideshow",
|
| 533 |
-
"properties": {
|
| 534 |
-
"jetpack.data-gallery": {
|
| 535 |
-
"type": "json",
|
| 536 |
-
"selector": "div.jetpack-slideshow",
|
| 537 |
-
"attribute": "data-gallery"
|
| 538 |
-
}
|
| 539 |
-
}
|
| 540 |
-
},
|
| 541 |
-
{
|
| 542 |
-
"class": "CaptionRule",
|
| 543 |
-
"selector" : "div.tiled-gallery-caption"
|
| 544 |
-
},
|
| 545 |
-
{
|
| 546 |
-
"class" : "PassThroughRule",
|
| 547 |
-
"selector" : "div.vce-gallery-big"
|
| 548 |
-
},
|
| 549 |
-
{
|
| 550 |
-
"class" : "PassThroughRule",
|
| 551 |
-
"selector" : "div.vce-gallery-small"
|
| 552 |
-
},
|
| 553 |
-
{
|
| 554 |
-
"class" : "IgnoreRule",
|
| 555 |
-
"selector" : "div.vce-gallery-slider"
|
| 556 |
-
},
|
| 557 |
-
{
|
| 558 |
-
"class": "SlideshowImageRule",
|
| 559 |
-
"selector" : "div.big-gallery-item",
|
| 560 |
-
"properties" : {
|
| 561 |
-
"image.url" : {
|
| 562 |
-
"type" : "string",
|
| 563 |
-
"selector" : "img",
|
| 564 |
-
"attribute": "src"
|
| 565 |
-
},
|
| 566 |
-
"caption.title" : {
|
| 567 |
-
"type" : "string",
|
| 568 |
-
"selector" : "figcaption.wp-caption-text"
|
| 569 |
-
}
|
| 570 |
-
}
|
| 571 |
-
},
|
| 572 |
-
|
| 573 |
-
|
| 574 |
-
{
|
| 575 |
-
"class": "ImageInsideParagraphRule",
|
| 576 |
-
"selector": "figure.wp-caption",
|
| 577 |
-
"properties": {
|
| 578 |
-
"image.url": {
|
| 579 |
-
"type": "string",
|
| 580 |
-
"selector": "img",
|
| 581 |
-
"attribute": "src"
|
| 582 |
-
}
|
| 583 |
-
}
|
| 584 |
-
},
|
| 585 |
-
|
| 586 |
-
{
|
| 587 |
-
"class": "InteractiveRule",
|
| 588 |
-
"selector" : "iframe.sibling",
|
| 589 |
-
"properties" : {
|
| 590 |
-
"interactive.iframe" : {
|
| 591 |
-
"type" : "multiple",
|
| 592 |
-
"children": [
|
| 593 |
-
{
|
| 594 |
-
"type": "children",
|
| 595 |
-
"selector": "iframe"
|
| 596 |
-
}, {
|
| 597 |
-
"type": "next-sibling-element-of",
|
| 598 |
-
"selector": "iframe",
|
| 599 |
-
"sibling.selector": "script"
|
| 600 |
-
}
|
| 601 |
-
]
|
| 602 |
-
}
|
| 603 |
-
}
|
| 604 |
-
}
|
| 605 |
-
]
|
| 606 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/CMS/wp.html
DELETED
|
@@ -1,221 +0,0 @@
|
|
| 1 |
-
<!DOCTYPE html>
|
| 2 |
-
<html>
|
| 3 |
-
<body>
|
| 4 |
-
<p>Yes, peace is good for everybody!<br>
|
| 5 |
-
Man kind.</p>
|
| 6 |
-
<p><img src="http://example.com/image0.jpg" />Some text after img.</p>
|
| 7 |
-
<p>Some text before img<img src="http://example.com/image1.jpg" /></p>
|
| 8 |
-
<p>Some text before img<img src="http://example.com/image2.jpg" /> and some after img.</p>
|
| 9 |
-
<p><iframe width="300" height="200" src="http://example.com/0/"/></p>
|
| 10 |
-
<p>Some text before iframe<iframe width="300" height="200" src="http://example.com/1/"/></p>
|
| 11 |
-
<p><iframe width="300" height="200" src="http://example.com/2/"></iframe> some after iframe.</p>
|
| 12 |
-
<p>Some text before iframe<iframe width="300" height="200" src="http://example.com/3/"/> and some after iframe.</p>
|
| 13 |
-
<iframe width="300" height="200" src="http://example.com/loose/with_url"></iframe>
|
| 14 |
-
<iframe>
|
| 15 |
-
<div>
|
| 16 |
-
<h1>Iframe loose without url</h1>
|
| 17 |
-
</div>
|
| 18 |
-
</iframe>
|
| 19 |
-
<div class="embed">
|
| 20 |
-
<div>
|
| 21 |
-
<h1>some embed here</h1>
|
| 22 |
-
</div>
|
| 23 |
-
</div>
|
| 24 |
-
<div class="interactive">
|
| 25 |
-
<div>
|
| 26 |
-
<h1>some embed here</h1>
|
| 27 |
-
</div>
|
| 28 |
-
</div>
|
| 29 |
-
<div class="interactive">
|
| 30 |
-
<iframe>
|
| 31 |
-
<div>some content</div>
|
| 32 |
-
<script>alert('hi & hello to you @ testing!');</script>
|
| 33 |
-
</iframe>
|
| 34 |
-
</div>
|
| 35 |
-
<div class="interactive">
|
| 36 |
-
<iframe width="300" height="200" src="http://example.com/4/"></iframe>
|
| 37 |
-
</div>
|
| 38 |
-
<div class="interactive">
|
| 39 |
-
<iframe>
|
| 40 |
-
<div>some content</div>
|
| 41 |
-
<script>alert('hi & hello to you @ testing!');</script>
|
| 42 |
-
</iframe>
|
| 43 |
-
</div>
|
| 44 |
-
<div class="embed">
|
| 45 |
-
<iframe width="300" height="200" src="http://example.com/4/"></iframe>
|
| 46 |
-
</div>
|
| 47 |
-
<div class="embed">
|
| 48 |
-
<iframe>
|
| 49 |
-
<div>some content</div>
|
| 50 |
-
<script>alert('hi & hello to you @ testing!');</script>
|
| 51 |
-
</iframe>
|
| 52 |
-
</div>
|
| 53 |
-
<table width="200" height="200">
|
| 54 |
-
<thead>
|
| 55 |
-
<td>header 1</td>
|
| 56 |
-
<td>header 2</td>
|
| 57 |
-
</thead>
|
| 58 |
-
<tbody>
|
| 59 |
-
<tr>
|
| 60 |
-
<td>Line 1 column 1</td>
|
| 61 |
-
<td>Line 1 column 2</td>
|
| 62 |
-
</tr>
|
| 63 |
-
<tr>
|
| 64 |
-
<td>Line 2 column 1</td>
|
| 65 |
-
<td>Line 2 column 2</td>
|
| 66 |
-
</tr>
|
| 67 |
-
</tbody>
|
| 68 |
-
</table>
|
| 69 |
-
<ul>
|
| 70 |
-
<li>Some text on li before img<img src="http://example.com/image.jpg" width="600" height="360"/></li>
|
| 71 |
-
<li>Some text on li before img<img src="http://example.com/image.jpg" width="600" height="360"/>and after img</li>
|
| 72 |
-
<li><img src="http://example.com/image.jpg" width="600" height="360"/>Some text after img</li>
|
| 73 |
-
</ul>
|
| 74 |
-
<p class="jetpack-slideshow-noscript robots-nocontent">This slideshow requires JavaScript.</p>
|
| 75 |
-
<div
|
| 76 |
-
class="slideshow-window jetpack-slideshow slideshow-black"
|
| 77 |
-
data-trans="fade" data-autostart="1"
|
| 78 |
-
data-gallery="[{"src":"http:\/\/example.com/img0.jpg","id":"434","title":"img0","alt":"","caption":"","itemprop":"image"},{"src":"http:\/\/example.com\/img1.jpg","id":"474","title":"img1","alt":"","caption":"","itemprop":"image"},{"src":"http:\/\/example.com\/img2.jpg","id":"470","title":"img2","alt":"","caption":"Image 2","itemprop":"image"},{"src":"http:\/\/example.com\/img3.jpg","id":"466","title":"Image 3","alt":"","caption":"Image 3","itemprop":"image"},{"src":"http:\/\/example.com\/img4.jpg","id":"462","title":"img4","alt":"","caption":"","itemprop":"image"}]"
|
| 79 |
-
itemscope itemtype="http://schema.org/ImageGallery">
|
| 80 |
-
</div>
|
| 81 |
-
|
| 82 |
-
<div class="tiled-gallery type-rectangular tiled-gallery-unresized" >
|
| 83 |
-
<div class="gallery-row">
|
| 84 |
-
<div class="gallery-group images-1">
|
| 85 |
-
<div class="tiled-gallery-item tiled-gallery-item-large">
|
| 86 |
-
<a href="http://www.diegoquinteiro.com/15-razoes-para-ser-contra-o-impeachment/forum/">
|
| 87 |
-
<meta itemprop="width" content="318">
|
| 88 |
-
<meta itemprop="height" content="211">
|
| 89 |
-
<img data-orig-file="http://example.com/img1.jpg"
|
| 90 |
-
data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Forum" data-image-description="" data-medium-file="http://http://example.com/img1.jpg" data-large-file="http://example.com/img1.jpg" src="http://example.com/img1.jpg?resize=318%2C211"
|
| 91 |
-
width="318" height="211" data-original-width="318" data-original-height="211" title="Forum" alt="riots" style="width: 318px; height: 211px;" />
|
| 92 |
-
</a>
|
| 93 |
-
<div class="tiled-gallery-caption" itemprop="caption description"> Image 1 </div>
|
| 94 |
-
</p>
|
| 95 |
-
</div>
|
| 96 |
-
</p>
|
| 97 |
-
</div>
|
| 98 |
-
<p> <!-- close group -->
|
| 99 |
-
<div class="gallery-group images-2">
|
| 100 |
-
<div class="tiled-gallery-item tiled-gallery-item-small" itemprop="associatedMedia">
|
| 101 |
-
<a href="http://example.com/link" border="0" itemprop="url">
|
| 102 |
-
<meta itemprop="width" content="174">
|
| 103 |
-
<meta itemprop="height" content="109">
|
| 104 |
-
<img data-attachment-id="519" data-orig-file="http://example.com/img2.jpg" data-orig-size="2078,1310" data-comments-opened="" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Chaplin – Fábrica" data-image-description="" data-medium-file="http://example.com/img2.jpg" data-large-file="http://example.com/img2.jpg" src="http://example.com/img2.jpg?resize=174%2C109" width="174" height="109" data-original-width="174" data-original-height="109" itemprop="http://schema.org/image" title="Image Title" alt="chaplin" style="width: 174px; height: 109px;" />
|
| 105 |
-
</a>
|
| 106 |
-
<div class="tiled-gallery-caption" itemprop="caption description"> Image 2 </div>
|
| 107 |
-
</p>
|
| 108 |
-
</div>
|
| 109 |
-
<div class="tiled-gallery-item tiled-gallery-item-small" itemprop="associatedMedia">
|
| 110 |
-
<a href="http://example.com/link" border="0" itemprop="url">
|
| 111 |
-
<meta itemprop="width" content="174">
|
| 112 |
-
<meta itemprop="height" content="98">
|
| 113 |
-
<img data-attachment-id="532" data-orig-file="http://example.com/img3.jpg" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="highlight image" data-image-description="" data-medium-file="http://www.diegoquinteiro.com/wp-content/uploads/2016/06/highlight-image-300x169.jpg" data-large-file="http://www.diegoquinteiro.com/wp-content/uploads/2016/06/highlight-image-1024x576.jpg" src="http://i1.wp.com/www.diegoquinteiro.com/wp-content/uploads/2016/06/highlight-image.jpg?resize=174%2C98" width="174" height="98" data-original-width="174" data-original-height="98" itemprop="http://schema.org/image" title="highlight image" alt="Dog cat" style="width: 174px; height: 98px;" />
|
| 114 |
-
</a>
|
| 115 |
-
<div class="tiled-gallery-caption" itemprop="caption description"> Image 3 </div>
|
| 116 |
-
</p>
|
| 117 |
-
</div>
|
| 118 |
-
</p>
|
| 119 |
-
</div>
|
| 120 |
-
<p> <!-- close group -->
|
| 121 |
-
</div>
|
| 122 |
-
<p> <!-- close row -->
|
| 123 |
-
</div>
|
| 124 |
-
<blockquote class="instagram-media" data-instgrm-captioned data-instgrm-version="6" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);">
|
| 125 |
-
<div style="padding:8px;">
|
| 126 |
-
<div style=" background:#F8F8F8; line-height:0; margin-top:40px; padding:62.5% 0; text-align:center; width:100%;">
|
| 127 |
-
<div style=" background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAAGFBMVEUiIiI9PT0eHh4gIB4hIBkcHBwcHBwcHBydr+JQAAAACHRSTlMABA4YHyQsM5jtaMwAAADfSURBVDjL7ZVBEgMhCAQBAf//42xcNbpAqakcM0ftUmFAAIBE81IqBJdS3lS6zs3bIpB9WED3YYXFPmHRfT8sgyrCP1x8uEUxLMzNWElFOYCV6mHWWwMzdPEKHlhLw7NWJqkHc4uIZphavDzA2JPzUDsBZziNae2S6owH8xPmX8G7zzgKEOPUoYHvGz1TBCxMkd3kwNVbU0gKHkx+iZILf77IofhrY1nYFnB/lQPb79drWOyJVa/DAvg9B/rLB4cC+Nqgdz/TvBbBnr6GBReqn/nRmDgaQEej7WhonozjF+Y2I/fZou/qAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;"></div>
|
| 128 |
-
</div>
|
| 129 |
-
<p style=" margin:8px 0 0 0; padding:0 4px;">
|
| 130 |
-
<a href="https://www.instagram.com/p/BAXbKP1POQe/" style=" color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;" target="_blank">📸 @natthaponwuttipetch</a>
|
| 131 |
-
</p>
|
| 132 |
-
<p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;">
|
| 133 |
-
A photo posted by Ann Hathairat Vidhyaphum (@annvidh) on <time style=" font-family:Arial,sans-serif; font-size:14px; line-height:17px;" datetime="2016-01-10T16:56:06+00:00">Jan 10, 2016 at 8:56am PST</time>
|
| 134 |
-
</p>
|
| 135 |
-
</div>
|
| 136 |
-
</blockquote>
|
| 137 |
-
<script async defer src="//platform.instagram.com/en_US/embeds.js"></script>
|
| 138 |
-
<p>
|
| 139 |
-
<figure style="width: 1280px" class="wp-caption alignnone">
|
| 140 |
-
<img src="http://example.com/img.jpg" width="1280" height="740" class />
|
| 141 |
-
<br />
|
| 142 |
-
<figcaption class="wp-caption-text">blue eyes</figcaption>
|
| 143 |
-
</figure>
|
| 144 |
-
</p>
|
| 145 |
-
<iframe class="sibling">
|
| 146 |
-
<h1>Sibling content</h1>
|
| 147 |
-
<div>sibling body</div></iframe>
|
| 148 |
-
<script src="//sibling.com/brother.js"></script>
|
| 149 |
-
<p>Standard paragraph that <b>shouldn't</b> lie within the interactive block.</p>
|
| 150 |
-
<div class="fb-post" data-href="https://www.facebook.com/some-page/posts/some-post"></div>
|
| 151 |
-
|
| 152 |
-
<div id="gallery-3" class="vce-gallery gallery galleryid-15219 gallery-columns-3 gallery-size-vce-lay-b">
|
| 153 |
-
<div class="vce-gallery-big">
|
| 154 |
-
<div class="big-gallery-item item-0">
|
| 155 |
-
<div class="gallery-icon">
|
| 156 |
-
<a href="http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy.jpg"><img width="810" height="471" src="http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy-810x471.jpg" class="attachment-vce-lay-a size-vce-lay-a" alt="Caption Img 1" srcset="http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy-810x471.jpg 810w, http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy-300x174.jpg 300w, http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy-768x447.jpg 768w, http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy.jpg 860w" sizes="(max-width: 810px) 100vw, 810px"></a>
|
| 157 |
-
</div>
|
| 158 |
-
<figcaption class="wp-caption-text gallery-caption">Caption Img 1</figcaption>
|
| 159 |
-
</div>
|
| 160 |
-
<div class="big-gallery-item item-1" style="display:none;">
|
| 161 |
-
<div class="gallery-icon">
|
| 162 |
-
<a href="http://example.com/a-vot-chto-vnutri.jpg">
|
| 163 |
-
<img width="699" height="443" src="http://example.com/a-vot-chto-vnutri.jpg" class="attachment-vce-lay-a size-vce-lay-a" alt="Alternative text" srcset="http://example.com/a-vot-chto-vnutri.jpg 699w, http://example.com/a-vot-chto-vnutri-300x190.jpg 300w" sizes="(max-width: 699px) 100vw, 699px">
|
| 164 |
-
</a>
|
| 165 |
-
</div>
|
| 166 |
-
<figcaption class="wp-caption-text gallery-caption">Alternative text </figcaption>
|
| 167 |
-
</div>
|
| 168 |
-
<div class="big-gallery-item item-2" style="display:none;">
|
| 169 |
-
<div class="gallery-icon">
|
| 170 |
-
<a href="http://example.com/brelok-s-bezopasnostyu-vsegda-s-soboj.jpg">
|
| 171 |
-
<img width="700" height="467" src="http://example.com/brelok-s-bezopasnostyu-vsegda-s-soboj.jpg" class="attachment-vce-lay-a size-vce-lay-a" alt="Caption img 3" srcset="http://example.com/brelok-s-bezopasnostyu-vsegda-s-soboj.jpg 700w, http://example.com/brelok-s-bezopasnostyu-vsegda-s-soboj-300x200.jpg 300w" sizes="(max-width: 700px) 100vw, 700px">
|
| 172 |
-
</a>
|
| 173 |
-
</div>
|
| 174 |
-
<figcaption class="wp-caption-text gallery-caption">Caption img 3</figcaption>
|
| 175 |
-
</div>
|
| 176 |
-
</div>
|
| 177 |
-
<div class="vce-gallery-slider owl-carousel owl-theme owl-loaded owl-text-select-on" data-columns="3">
|
| 178 |
-
<div class="owl-stage-outer">
|
| 179 |
-
<div class="owl-stage" style="transform: translate3d(-761px, 0px, 0px); transition: 0s; width: 3551.34px;">
|
| 180 |
-
<div class="owl-item active" style="width: 252.667px; margin-right: 1px;">
|
| 181 |
-
<figure class="gallery-item" data-item="0">
|
| 182 |
-
<div class="gallery-icon landscape">
|
| 183 |
-
<a href="http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy.jpg"><img width="375" height="195" src="http://example.com/konservnye-banki-osobenno-lyubyat-yaponcy-375x195.jpg" class="attachment-vce-lay-b size-vce-lay-b" alt="Caption Img 1"></a>
|
| 184 |
-
</div>
|
| 185 |
-
</figure>
|
| 186 |
-
</div>
|
| 187 |
-
<div class="owl-item active" style="width: 252.667px; margin-right: 1px;">
|
| 188 |
-
<figure class="gallery-item" data-item="1">
|
| 189 |
-
<div class="gallery-icon landscape">
|
| 190 |
-
<a href="http://example.com/a-vot-chto-vnutri.jpg"><img width="375" height="195" src="http://example.com/a-vot-chto-vnutri-375x195.jpg" class="attachment-vce-lay-b size-vce-lay-b" alt="Alternative text"></a>
|
| 191 |
-
</div>
|
| 192 |
-
</figure>
|
| 193 |
-
</div>
|
| 194 |
-
<div class="owl-item active" style="width: 252.667px; margin-right: 1px;">
|
| 195 |
-
<figure class="gallery-item" data-item="2">
|
| 196 |
-
<div class="gallery-icon landscape">
|
| 197 |
-
<a href="http://example.com/brelok-s-bezopasnostyu-vsegda-s-soboj.jpg"><img width="375" height="195" src="http://example.com/brelok-s-bezopasnostyu-vsegda-s-soboj-375x195.jpg" class="attachment-vce-lay-b size-vce-lay-b" alt="Caption img 3"></a>
|
| 198 |
-
</div>
|
| 199 |
-
</figure>
|
| 200 |
-
</div>
|
| 201 |
-
</div>
|
| 202 |
-
</div>
|
| 203 |
-
<div class="owl-controls">
|
| 204 |
-
<div class="owl-nav">
|
| 205 |
-
<div class="owl-prev" style=""><i class="fa fa-angle-left"></i></div>
|
| 206 |
-
<div class="owl-next" style=""><i class="fa fa-angle-right"></i></div>
|
| 207 |
-
</div>
|
| 208 |
-
<div class="owl-dots" style="">
|
| 209 |
-
<div class="owl-dot active"><span></span></div>
|
| 210 |
-
<div class="owl-dot"><span></span></div>
|
| 211 |
-
<div class="owl-dot"><span></span></div>
|
| 212 |
-
</div>
|
| 213 |
-
</div>
|
| 214 |
-
</div>
|
| 215 |
-
</div>
|
| 216 |
-
<div id="attachment_22553" style="width: 800px" class="wp-caption alignnone">
|
| 217 |
-
<img class="wp-image-22553 size-large" src="http://example.com/image.jpg" alt="alt text" width="800" height="552" srcset="http://example.com/image-800.jpg 800w, http://example.com/image-400.jpg 400w, http://example.com/image-768.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" />
|
| 218 |
-
<p class="wp-caption-text">caption</p>
|
| 219 |
-
</div>
|
| 220 |
-
</body>
|
| 221 |
-
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/facebook-instant-articles-sdk-php/tests/Facebook/InstantArticles/Transformer/wp-rules.json
DELETED
|
@@ -1,270 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"rules":
|
| 3 |
-
[{
|
| 4 |
-
"class": "TextNodeRule"
|
| 5 |
-
}, {
|
| 6 |
-
"class": "PassThroughRule",
|
| 7 |
-
"selector": "html"
|
| 8 |
-
}, {
|
| 9 |
-
"class": "PassThroughRule",
|
| 10 |
-
"selector": "head"
|
| 11 |
-
}, {
|
| 12 |
-
"class": "PassThroughRule",
|
| 13 |
-
"selector": "body"
|
| 14 |
-
}, {
|
| 15 |
-
"class": "PassThroughRule",
|
| 16 |
-
"selector" : "code"
|
| 17 |
-
},{
|
| 18 |
-
"class": "PassThroughRule",
|
| 19 |
-
"selector" : "del"
|
| 20 |
-
}, {
|
| 21 |
-
"class": "PassThroughRule",
|
| 22 |
-
"selector" : "span"
|
| 23 |
-
}, {
|
| 24 |
-
"class": "ParagraphRule",
|
| 25 |
-
"selector": "p"
|
| 26 |
-
}, {
|
| 27 |
-
"class": "LineBreakRule",
|
| 28 |
-
"selector": "br"
|
| 29 |
-
}, {
|
| 30 |
-
"class": "AnchorRule",
|
| 31 |
-
"selector": "a",
|
| 32 |
-
"properties": {
|
| 33 |
-
"anchor.href": {
|
| 34 |
-
"type": "string",
|
| 35 |
-
"selector": "a",
|
| 36 |
-
"attribute": "href"
|
| 37 |
-
},
|
| 38 |
-
"anchor.rel": {
|
| 39 |
-
"type": "string",
|
| 40 |
-
"selector": "a",
|
| 41 |
-
"attribute": "rel"
|
| 42 |
-
}
|
| 43 |
-
}
|
| 44 |
-
}, {
|
| 45 |
-
"class": "BoldRule",
|
| 46 |
-
"selector": "b"
|
| 47 |
-
}, {
|
| 48 |
-
"class": "BoldRule",
|
| 49 |
-
"selector": "strong"
|
| 50 |
-
}, {
|
| 51 |
-
"class": "ItalicRule",
|
| 52 |
-
"selector": "i"
|
| 53 |
-
}, {
|
| 54 |
-
"class": "ItalicRule",
|
| 55 |
-
"selector": "em"
|
| 56 |
-
}, {
|
| 57 |
-
"class": "BlockquoteRule",
|
| 58 |
-
"selector": "blockquote"
|
| 59 |
-
}, {
|
| 60 |
-
"class": "PassThroughRule",
|
| 61 |
-
"selector": "blockquote p"
|
| 62 |
-
}, {
|
| 63 |
-
"class": "ImageRule",
|
| 64 |
-
"selector": "//p[img]",
|
| 65 |
-
"properties": {
|
| 66 |
-
"image.url": {
|
| 67 |
-
"type": "string",
|
| 68 |
-
"selector": "img",
|
| 69 |
-
"attribute": "src"
|
| 70 |
-
}
|
| 71 |
-
}
|
| 72 |
-
},{
|
| 73 |
-
"class": "ImageRule",
|
| 74 |
-
"selector": "img",
|
| 75 |
-
"properties": {
|
| 76 |
-
"image.url": {
|
| 77 |
-
"type": "string",
|
| 78 |
-
"selector": "img",
|
| 79 |
-
"attribute": "src"
|
| 80 |
-
}
|
| 81 |
-
}
|
| 82 |
-
}, {
|
| 83 |
-
"class": "ListItemRule",
|
| 84 |
-
"selector" : "li"
|
| 85 |
-
}, {
|
| 86 |
-
"class": "ListElementRule",
|
| 87 |
-
"selector" : "ul"
|
| 88 |
-
}, {
|
| 89 |
-
"class": "ListElementRule",
|
| 90 |
-
"selector" : "ol"
|
| 91 |
-
}, {
|
| 92 |
-
"class": "BlockquoteRule",
|
| 93 |
-
"selector" : "blockquote"
|
| 94 |
-
}, {
|
| 95 |
-
"class": "H1Rule",
|
| 96 |
-
"selector" : "h1",
|
| 97 |
-
"properties" : {
|
| 98 |
-
"h1.class" : {
|
| 99 |
-
"type" : "string",
|
| 100 |
-
"selector" : "link",
|
| 101 |
-
"attribute": "class"
|
| 102 |
-
}
|
| 103 |
-
}
|
| 104 |
-
}, {
|
| 105 |
-
"class": "H1Rule",
|
| 106 |
-
"selector" : "title"
|
| 107 |
-
}, {
|
| 108 |
-
"class": "H2Rule",
|
| 109 |
-
"selector" : "h2",
|
| 110 |
-
"properties" : {
|
| 111 |
-
"h2.class" : {
|
| 112 |
-
"type" : "string",
|
| 113 |
-
"selector" : "link",
|
| 114 |
-
"attribute": "class"
|
| 115 |
-
}
|
| 116 |
-
}
|
| 117 |
-
}, {
|
| 118 |
-
"class": "H2Rule",
|
| 119 |
-
"selector" : "h3,h4,h5,h6"
|
| 120 |
-
}, {
|
| 121 |
-
"class": "SocialEmbedRule",
|
| 122 |
-
"selector" : "iframe",
|
| 123 |
-
"properties" : {
|
| 124 |
-
"socialembed.url" : {
|
| 125 |
-
"type" : "string",
|
| 126 |
-
"selector" : "iframe",
|
| 127 |
-
"attribute": "src"
|
| 128 |
-
},
|
| 129 |
-
"socialembed.iframe" : {
|
| 130 |
-
"type" : "children",
|
| 131 |
-
"selector" : "iframe"
|
| 132 |
-
},
|
| 133 |
-
"socialembed.caption" : {
|
| 134 |
-
"type" : "element",
|
| 135 |
-
"selector" : "figcaption"
|
| 136 |
-
}
|
| 137 |
-
}
|
| 138 |
-
}, {
|
| 139 |
-
"class": "SocialEmbedRule",
|
| 140 |
-
"selector" : "//p[iframe]",
|
| 141 |
-
"properties" : {
|
| 142 |
-
"socialembed.url" : {
|
| 143 |
-
"type" : "string",
|
| 144 |
-
"selector" : "iframe",
|
| 145 |
-
"attribute": "src"
|
| 146 |
-
},
|
| 147 |
-
"socialembed.iframe" : {
|
| 148 |
-
"type" : "children",
|
| 149 |
-
"selector" : "iframe"
|
| 150 |
-
},
|
| 151 |
-
"socialembed.caption" : {
|
| 152 |
-
"type" : "element",
|
| 153 |
-
"selector" : "figcaption"
|
| 154 |
-
}
|
| 155 |
-
}
|
| 156 |
-
}, {
|
| 157 |
-
"class": "SocialEmbedRule",
|
| 158 |
-
"selector" : "div.embed",
|
| 159 |
-
"properties" : {
|
| 160 |
-
"socialembed.iframe" : {
|
| 161 |
-
"type" : "children",
|
| 162 |
-
"selector" : "div.embed"
|
| 163 |
-
}
|
| 164 |
-
}
|
| 165 |
-
}, {
|
| 166 |
-
"class": "InteractiveRule",
|
| 167 |
-
"selector" : "div.interactive",
|
| 168 |
-
"properties" : {
|
| 169 |
-
"interactive.iframe" : {
|
| 170 |
-
"type" : "children",
|
| 171 |
-
"selector" : "div.interactive"
|
| 172 |
-
},
|
| 173 |
-
"interactive.height" : {
|
| 174 |
-
"type" : "int",
|
| 175 |
-
"selector" : "iframe",
|
| 176 |
-
"attribute": "height"
|
| 177 |
-
},
|
| 178 |
-
"interactive.iframe" : {
|
| 179 |
-
"type" : "children",
|
| 180 |
-
"selector" : "iframe"
|
| 181 |
-
}
|
| 182 |
-
}
|
| 183 |
-
}, {
|
| 184 |
-
"class": "SocialEmbedRule",
|
| 185 |
-
"selector" : "//div[@class='embed' and iframe]",
|
| 186 |
-
"properties" : {
|
| 187 |
-
"socialembed.url" : {
|
| 188 |
-
"type" : "string",
|
| 189 |
-
"selector" : "iframe",
|
| 190 |
-
"attribute": "src"
|
| 191 |
-
}
|
| 192 |
-
}
|
| 193 |
-
}, {
|
| 194 |
-
"class": "InteractiveRule",
|
| 195 |
-
"selector" : "//div[@class='interactive' and iframe]",
|
| 196 |
-
"properties" : {
|
| 197 |
-
"interactive.url" : {
|
| 198 |
-
"type" : "string",
|
| 199 |
-
"selector" : "iframe",
|
| 200 |
-
"attribute": "src"
|
| 201 |
-
}
|
| 202 |
-
}
|
| 203 |
-
}, {
|
| 204 |
-
"class": "ImageRule",
|
| 205 |
-
"selector": "//p[a[img]]|//a[img]",
|
| 206 |
-
"properties": {
|
| 207 |
-
"image.url": {
|
| 208 |
-
"type": "string",
|
| 209 |
-
"selector": "img",
|
| 210 |
-
"attribute": "src"
|
| 211 |
-
}
|
| 212 |
-
}
|
| 213 |
-
}, {
|
| 214 |
-
"class": "SlideshowImageRule",
|
| 215 |
-
"selector" : "figure",
|
| 216 |
-
"properties" : {
|
| 217 |
-
"image.url" : {
|
| 218 |
-
"type" : "string",
|
| 219 |
-
"selector" : "img",
|
| 220 |
-
"attribute": "src"
|
| 221 |
-
},
|
| 222 |
-
"caption.title" : {
|
| 223 |
-
"type" : "string",
|
| 224 |
-
"selector" : "figcaption"
|
| 225 |
-
}
|
| 226 |
-
}
|
| 227 |
-
}, {
|
| 228 |
-
"class": "SlideshowRule",
|
| 229 |
-
"selector" : "div.gallery"
|
| 230 |
-
}, {
|
| 231 |
-
"class": "CaptionRule",
|
| 232 |
-
"selector" : "figcaption"
|
| 233 |
-
},
|
| 234 |
-
{
|
| 235 |
-
"class": "ImageRule",
|
| 236 |
-
"selector" : "figure",
|
| 237 |
-
"properties" : {
|
| 238 |
-
"image.url" : {
|
| 239 |
-
"type" : "string",
|
| 240 |
-
"selector" : "img",
|
| 241 |
-
"attribute": "src"
|
| 242 |
-
}
|
| 243 |
-
}
|
| 244 |
-
}, {
|
| 245 |
-
"class": "VideoRule",
|
| 246 |
-
"selector" : "div.wp-video",
|
| 247 |
-
"containsChild": "video",
|
| 248 |
-
"properties" : {
|
| 249 |
-
"video.url" : {
|
| 250 |
-
"type" : "string",
|
| 251 |
-
"selector" : "source",
|
| 252 |
-
"attribute": "src"
|
| 253 |
-
},
|
| 254 |
-
"video.type" : {
|
| 255 |
-
"type" : "string",
|
| 256 |
-
"selector" : "source",
|
| 257 |
-
"attribute": "type"
|
| 258 |
-
}
|
| 259 |
-
}
|
| 260 |
-
}, {
|
| 261 |
-
"class": "InteractiveRule",
|
| 262 |
-
"selector" : "table",
|
| 263 |
-
"properties" : {
|
| 264 |
-
"interactive.iframe" : {
|
| 265 |
-
"type" : "element",
|
| 266 |
-
"selector" : "table"
|
| 267 |
-
}
|
| 268 |
-
}
|
| 269 |
-
}]
|
| 270 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/LICENSE
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/composer.json
RENAMED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
{
|
| 2 |
-
"name": "facebook/
|
| 3 |
"description": "Facebook SDK for PHP",
|
| 4 |
"keywords": ["facebook", "sdk"],
|
| 5 |
"type": "library",
|
| 6 |
-
"homepage": "https://github.com/facebook/
|
| 7 |
"license": "Facebook Platform",
|
| 8 |
"authors": [
|
| 9 |
{
|
| 10 |
"name": "Facebook",
|
| 11 |
-
"homepage": "https://github.com/facebook/
|
| 12 |
}
|
| 13 |
],
|
| 14 |
"require": {
|
|
@@ -20,6 +20,7 @@
|
|
| 20 |
"guzzlehttp/guzzle": "~5.0"
|
| 21 |
},
|
| 22 |
"suggest": {
|
|
|
|
| 23 |
"guzzlehttp/guzzle": "Allows for implementation of the Guzzle HTTP client"
|
| 24 |
},
|
| 25 |
"autoload": {
|
| 1 |
{
|
| 2 |
+
"name": "facebook/graph-sdk",
|
| 3 |
"description": "Facebook SDK for PHP",
|
| 4 |
"keywords": ["facebook", "sdk"],
|
| 5 |
"type": "library",
|
| 6 |
+
"homepage": "https://github.com/facebook/php-graph-sdk",
|
| 7 |
"license": "Facebook Platform",
|
| 8 |
"authors": [
|
| 9 |
{
|
| 10 |
"name": "Facebook",
|
| 11 |
+
"homepage": "https://github.com/facebook/php-graph-sdk/contributors"
|
| 12 |
}
|
| 13 |
],
|
| 14 |
"require": {
|
| 20 |
"guzzlehttp/guzzle": "~5.0"
|
| 21 |
},
|
| 22 |
"suggest": {
|
| 23 |
+
"paragonie/random_compat": "Provides a better CSPRNG option in PHP 5",
|
| 24 |
"guzzlehttp/guzzle": "Allows for implementation of the Guzzle HTTP client"
|
| 25 |
},
|
| 26 |
"autoload": {
|
vendor/facebook/graph-sdk/phpcs.xml.dist
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<ruleset>
|
| 3 |
+
<file>src/</file>
|
| 4 |
+
<file>tests/</file>
|
| 5 |
+
<arg value="spn" />
|
| 6 |
+
<rule ref="PSR2" />
|
| 7 |
+
</ruleset>
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Authentication/AccessToken.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Authentication/AccessTokenMetadata.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Authentication/OAuth2Client.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookAuthenticationException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookAuthorizationException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookClientException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookOtherException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookResponseException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookResumableUploadException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookSDKException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookServerException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Exceptions/FacebookThrottleException.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Facebook.php
RENAMED
|
@@ -53,12 +53,12 @@ class Facebook
|
|
| 53 |
/**
|
| 54 |
* @const string Version number of the Facebook PHP SDK.
|
| 55 |
*/
|
| 56 |
-
const VERSION = '5.
|
| 57 |
|
| 58 |
/**
|
| 59 |
* @const string Default Graph API version for requests.
|
| 60 |
*/
|
| 61 |
-
const DEFAULT_GRAPH_VERSION = 'v2.
|
| 62 |
|
| 63 |
/**
|
| 64 |
* @const string The name of the environment variable that contains the app ID.
|
| 53 |
/**
|
| 54 |
* @const string Version number of the Facebook PHP SDK.
|
| 55 |
*/
|
| 56 |
+
const VERSION = '5.4.2';
|
| 57 |
|
| 58 |
/**
|
| 59 |
* @const string Default Graph API version for requests.
|
| 60 |
*/
|
| 61 |
+
const DEFAULT_GRAPH_VERSION = 'v2.8';
|
| 62 |
|
| 63 |
/**
|
| 64 |
* @const string The name of the environment variable that contains the app ID.
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookApp.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookBatchRequest.php
RENAMED
|
@@ -168,8 +168,6 @@ class FacebookBatchRequest extends FacebookRequest implements IteratorAggregate,
|
|
| 168 |
|
| 169 |
/**
|
| 170 |
* Prepares the requests to be sent as a batch request.
|
| 171 |
-
*
|
| 172 |
-
* @return string
|
| 173 |
*/
|
| 174 |
public function prepareRequestsForBatch()
|
| 175 |
{
|
| 168 |
|
| 169 |
/**
|
| 170 |
* Prepares the requests to be sent as a batch request.
|
|
|
|
|
|
|
| 171 |
*/
|
| 172 |
public function prepareRequestsForBatch()
|
| 173 |
{
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookBatchResponse.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookClient.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookRequest.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FacebookResponse.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookFile.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookResumableUploader.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookTransferChunk.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/FacebookVideo.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/FileUpload/Mimetypes.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/Birthday.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/Collection.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphAchievement.php
RENAMED
|
@@ -28,7 +28,6 @@ namespace Facebook\GraphNodes;
|
|
| 28 |
*
|
| 29 |
* @package Facebook
|
| 30 |
*/
|
| 31 |
-
|
| 32 |
class GraphAchievement extends GraphNode
|
| 33 |
{
|
| 34 |
/**
|
| 28 |
*
|
| 29 |
* @package Facebook
|
| 30 |
*/
|
|
|
|
| 31 |
class GraphAchievement extends GraphNode
|
| 32 |
{
|
| 33 |
/**
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphAlbum.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphApplication.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphCoverPhoto.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphEdge.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphEvent.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphGroup.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphList.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphLocation.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphNode.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphNodeFactory.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphObject.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphObjectFactory.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphPage.php
RENAMED
|
@@ -37,6 +37,8 @@ class GraphPage extends GraphNode
|
|
| 37 |
'best_page' => '\Facebook\GraphNodes\GraphPage',
|
| 38 |
'global_brand_parent_page' => '\Facebook\GraphNodes\GraphPage',
|
| 39 |
'location' => '\Facebook\GraphNodes\GraphLocation',
|
|
|
|
|
|
|
| 40 |
];
|
| 41 |
|
| 42 |
/**
|
|
@@ -99,6 +101,26 @@ class GraphPage extends GraphNode
|
|
| 99 |
return $this->getField('location');
|
| 100 |
}
|
| 101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
/**
|
| 103 |
* Returns the page access token for the admin user.
|
| 104 |
*
|
| 37 |
'best_page' => '\Facebook\GraphNodes\GraphPage',
|
| 38 |
'global_brand_parent_page' => '\Facebook\GraphNodes\GraphPage',
|
| 39 |
'location' => '\Facebook\GraphNodes\GraphLocation',
|
| 40 |
+
'cover' => '\Facebook\GraphNodes\GraphCoverPhoto',
|
| 41 |
+
'picture' => '\Facebook\GraphNodes\GraphPicture',
|
| 42 |
];
|
| 43 |
|
| 44 |
/**
|
| 101 |
return $this->getField('location');
|
| 102 |
}
|
| 103 |
|
| 104 |
+
/**
|
| 105 |
+
* Returns CoverPhoto of the Page.
|
| 106 |
+
*
|
| 107 |
+
* @return GraphCoverPhoto|null
|
| 108 |
+
*/
|
| 109 |
+
public function getCover()
|
| 110 |
+
{
|
| 111 |
+
return $this->getField('cover');
|
| 112 |
+
}
|
| 113 |
+
|
| 114 |
+
/**
|
| 115 |
+
* Returns Picture of the Page.
|
| 116 |
+
*
|
| 117 |
+
* @return GraphPicture|null
|
| 118 |
+
*/
|
| 119 |
+
public function getPicture()
|
| 120 |
+
{
|
| 121 |
+
return $this->getField('picture');
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
/**
|
| 125 |
* Returns the page access token for the admin user.
|
| 126 |
*
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphPicture.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphSessionInfo.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/GraphNodes/GraphUser.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookCanvasHelper.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookJavaScriptHelper.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookPageTabHelper.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookRedirectLoginHelper.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/GraphRawResponse.php
RENAMED
|
@@ -129,7 +129,7 @@ class GraphRawResponse
|
|
| 129 |
if (strpos($line, ': ') === false) {
|
| 130 |
$this->setHttpResponseCodeFromHeader($line);
|
| 131 |
} else {
|
| 132 |
-
list($key, $value) = explode(': ', $line);
|
| 133 |
$this->headers[$key] = $value;
|
| 134 |
}
|
| 135 |
}
|
| 129 |
if (strpos($line, ': ') === false) {
|
| 130 |
$this->setHttpResponseCodeFromHeader($line);
|
| 131 |
} else {
|
| 132 |
+
list($key, $value) = explode(': ', $line, 2);
|
| 133 |
$this->headers[$key] = $value;
|
| 134 |
}
|
| 135 |
}
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/RequestBodyInterface.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/RequestBodyMultipart.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Http/RequestBodyUrlEncoded.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookCurl.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookCurlHttpClient.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookGuzzleHttpClient.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookHttpClientInterface.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookStream.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/FacebookStreamHttpClient.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/HttpClientsFactory.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/HttpClients/certs/DigiCertHighAssuranceEVRootCA.pem
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/FacebookMemoryPersistentDataHandler.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/FacebookSessionPersistentDataHandler.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/PersistentDataFactory.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PersistentData/PersistentDataInterface.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/McryptPseudoRandomStringGenerator.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/OpenSslPseudoRandomStringGenerator.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorFactory.php
RENAMED
|
@@ -38,7 +38,7 @@ class PseudoRandomStringGeneratorFactory
|
|
| 38 |
*
|
| 39 |
* @param PseudoRandomStringGeneratorInterface|string|null $generator
|
| 40 |
*
|
| 41 |
-
* @throws InvalidArgumentException If the pseudo random string generator must be set to "mcrypt", "openssl", or "urandom", or be an instance of Facebook\PseudoRandomString\PseudoRandomStringGeneratorInterface.
|
| 42 |
*
|
| 43 |
* @return PseudoRandomStringGeneratorInterface
|
| 44 |
*/
|
|
@@ -52,6 +52,9 @@ class PseudoRandomStringGeneratorFactory
|
|
| 52 |
return $generator;
|
| 53 |
}
|
| 54 |
|
|
|
|
|
|
|
|
|
|
| 55 |
if ('mcrypt' === $generator) {
|
| 56 |
return new McryptPseudoRandomStringGenerator();
|
| 57 |
}
|
|
@@ -62,7 +65,7 @@ class PseudoRandomStringGeneratorFactory
|
|
| 62 |
return new UrandomPseudoRandomStringGenerator();
|
| 63 |
}
|
| 64 |
|
| 65 |
-
throw new InvalidArgumentException('The pseudo random string generator must be set to "mcrypt", "openssl", or "urandom", or be an instance of Facebook\PseudoRandomString\PseudoRandomStringGeneratorInterface');
|
| 66 |
}
|
| 67 |
|
| 68 |
/**
|
|
@@ -74,8 +77,13 @@ class PseudoRandomStringGeneratorFactory
|
|
| 74 |
*/
|
| 75 |
private static function detectDefaultPseudoRandomStringGenerator()
|
| 76 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
// Since openssl_random_pseudo_bytes() can sometimes return non-cryptographically
|
| 78 |
-
// secure pseudo-random strings (in rare cases), we check for mcrypt_create_iv()
|
| 79 |
if (function_exists('mcrypt_create_iv')) {
|
| 80 |
return new McryptPseudoRandomStringGenerator();
|
| 81 |
}
|
| 38 |
*
|
| 39 |
* @param PseudoRandomStringGeneratorInterface|string|null $generator
|
| 40 |
*
|
| 41 |
+
* @throws InvalidArgumentException If the pseudo random string generator must be set to "random_bytes", "mcrypt", "openssl", or "urandom", or be an instance of Facebook\PseudoRandomString\PseudoRandomStringGeneratorInterface.
|
| 42 |
*
|
| 43 |
* @return PseudoRandomStringGeneratorInterface
|
| 44 |
*/
|
| 52 |
return $generator;
|
| 53 |
}
|
| 54 |
|
| 55 |
+
if ('random_bytes' === $generator) {
|
| 56 |
+
return new RandomBytesPseudoRandomStringGenerator();
|
| 57 |
+
}
|
| 58 |
if ('mcrypt' === $generator) {
|
| 59 |
return new McryptPseudoRandomStringGenerator();
|
| 60 |
}
|
| 65 |
return new UrandomPseudoRandomStringGenerator();
|
| 66 |
}
|
| 67 |
|
| 68 |
+
throw new InvalidArgumentException('The pseudo random string generator must be set to "random_bytes", "mcrypt", "openssl", or "urandom", or be an instance of Facebook\PseudoRandomString\PseudoRandomStringGeneratorInterface');
|
| 69 |
}
|
| 70 |
|
| 71 |
/**
|
| 77 |
*/
|
| 78 |
private static function detectDefaultPseudoRandomStringGenerator()
|
| 79 |
{
|
| 80 |
+
// Check for PHP 7's CSPRNG first to keep mcrypt deprecation messages from appearing in PHP 7.1.
|
| 81 |
+
if (function_exists('random_bytes')) {
|
| 82 |
+
return new RandomBytesPseudoRandomStringGenerator();
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
// Since openssl_random_pseudo_bytes() can sometimes return non-cryptographically
|
| 86 |
+
// secure pseudo-random strings (in rare cases), we check for mcrypt_create_iv() next.
|
| 87 |
if (function_exists('mcrypt_create_iv')) {
|
| 88 |
return new McryptPseudoRandomStringGenerator();
|
| 89 |
}
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorInterface.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/PseudoRandomStringGeneratorTrait.php
RENAMED
|
File without changes
|
vendor/facebook/graph-sdk/src/Facebook/PseudoRandomString/RandomBytesPseudoRandomStringGenerator.php
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Copyright 2016 Facebook, Inc.
|
| 4 |
+
*
|
| 5 |
+
* You are hereby granted a non-exclusive, worldwide, royalty-free license to
|
| 6 |
+
* use, copy, modify, and distribute this software in source code or binary
|
| 7 |
+
* form for use in connection with the web services and APIs provided by
|
| 8 |
+
* Facebook.
|
| 9 |
+
*
|
| 10 |
+
* As with any software that integrates with the Facebook platform, your use
|
| 11 |
+
* of this software is subject to the Facebook Developer Principles and
|
| 12 |
+
* Policies [http://developers.facebook.com/policy/]. This copyright notice
|
| 13 |
+
* shall be included in all copies or substantial portions of the software.
|
| 14 |
+
*
|
| 15 |
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
| 18 |
+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
| 20 |
+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
| 21 |
+
* DEALINGS IN THE SOFTWARE.
|
| 22 |
+
*
|
| 23 |
+
*/
|
| 24 |
+
namespace Facebook\PseudoRandomString;
|
| 25 |
+
|
| 26 |
+
use Facebook\Exceptions\FacebookSDKException;
|
| 27 |
+
|
| 28 |
+
class RandomBytesPseudoRandomStringGenerator implements PseudoRandomStringGeneratorInterface
|
| 29 |
+
{
|
| 30 |
+
use PseudoRandomStringGeneratorTrait;
|
| 31 |
+
|
| 32 |
+
/**
|
| 33 |
+
* @const string The error message when generating the string fails.
|
| 34 |
+
*/
|
| 35 |
+
const ERROR_MESSAGE = 'Unable to generate a cryptographically secure pseudo-random string from random_bytes(). ';
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* @throws FacebookSDKException
|
| 39 |
+
*/
|
| 40 |
+
public function __construct()
|
| 41 |
+
{
|
| 42 |
+
if (!function_exists('random_bytes')) {
|
| 43 |
+
throw new FacebookSDKException(
|
| 44 |
+
static::ERROR_MESSAGE .
|
| 45 |
+
'The function random_bytes() does not exist.'
|
| 46 |
+
);
|
| 47 |
+
}
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
/**
|
| 51 |
+
* @inheritdoc
|
| 52 |
+
*/
|
| 53 |
+
public function getPseudoRandomString($length)
|
| 54 |
+
{
|
| 55 |
+
$this->validateLength($length);
|
| 56 |
+
|
| 57 |
+
return $this->binToHex(random_bytes($length), $length);
|
| 58 |
+
}
|
| 59 |
+
}
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/PseudoRandomString/UrandomPseudoRandomStringGenerator.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/SignedRequest.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Url/FacebookUrlDetectionHandler.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Url/FacebookUrlManipulator.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/Url/UrlDetectionInterface.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/autoload.php
RENAMED
|
File without changes
|
vendor/facebook/{php-sdk-v4 → graph-sdk}/src/Facebook/polyfills.php
RENAMED
|
File without changes
|
vendor/symfony/css-selector/Parser/Reader.php
CHANGED
|
@@ -118,8 +118,6 @@ class Reader
|
|
| 118 |
$this->position += $length;
|
| 119 |
}
|
| 120 |
|
| 121 |
-
/**
|
| 122 |
-
*/
|
| 123 |
public function moveToEnd()
|
| 124 |
{
|
| 125 |
$this->position = $this->length;
|
| 118 |
$this->position += $length;
|
| 119 |
}
|
| 120 |
|
|
|
|
|
|
|
| 121 |
public function moveToEnd()
|
| 122 |
{
|
| 123 |
$this->position = $this->length;
|
wizard/class-instant-articles-option-publishing.php
CHANGED
|
@@ -43,16 +43,16 @@ class Instant_Articles_Option_Publishing extends Instant_Articles_Option {
|
|
| 43 |
'label' => '',
|
| 44 |
'render' => 'textarea',
|
| 45 |
'placeholder' => '{ "rules": [{ "class": "BoldRule", "selector": "span.bold" }, ... ] }',
|
| 46 |
-
'description' => 'Read more about <a href="https://
|
| 47 |
'default' => '',
|
| 48 |
),
|
| 49 |
|
| 50 |
-
'
|
| 51 |
'label' => 'Transformation warnings',
|
| 52 |
-
'description' => '
|
| 53 |
'render' => 'checkbox',
|
| 54 |
'default' => false,
|
| 55 |
-
'checkbox_label' => '
|
| 56 |
),
|
| 57 |
);
|
| 58 |
|
| 43 |
'label' => '',
|
| 44 |
'render' => 'textarea',
|
| 45 |
'placeholder' => '{ "rules": [{ "class": "BoldRule", "selector": "span.bold" }, ... ] }',
|
| 46 |
+
'description' => 'Read more about <a href="https://developers.facebook.com/docs/instant-articles/sdk/transformer-rules" target="_blank">defining your own custom rules</a> to extend/override the <a href="https://github.com/Automattic/facebook-instant-articles-wp/blob/master/rules-configuration.json" target="_blank">built-in ruleset</a>. If you\'ve defined a common rule which you think this plugin should include by default, <a href="https://github.com/Automattic/facebook-instant-articles-wp/issues/new" target="_blank">tell us about it</a>!',
|
| 47 |
'default' => '',
|
| 48 |
),
|
| 49 |
|
| 50 |
+
'publish_with_warnings' => array(
|
| 51 |
'label' => 'Transformation warnings',
|
| 52 |
+
'description' => 'With this option disabled, articles which contain warnings in their transformation process won\'t be available as Instant Articles by default — this can be overridden on individual articles. Note: It is recommended that all transformation warnings be fixed.',
|
| 53 |
'render' => 'checkbox',
|
| 54 |
'default' => false,
|
| 55 |
+
'checkbox_label' => 'Publish articles containing warnings',
|
| 56 |
),
|
| 57 |
);
|
| 58 |
|
wizard/class-instant-articles-wizard.php
CHANGED
|
@@ -173,14 +173,14 @@ class Instant_Articles_Wizard {
|
|
| 173 |
$fb_app_settings = Instant_Articles_Option_FB_App::get_option_decoded();
|
| 174 |
$fb_page_settings = Instant_Articles_Option_FB_Page::get_option_decoded();
|
| 175 |
|
| 176 |
-
$client = Client::create(
|
| 177 |
-
$fb_app_settings[ 'app_id' ],
|
| 178 |
-
$fb_app_settings[ 'app_secret' ],
|
| 179 |
-
$fb_page_settings[ 'page_access_token' ],
|
| 180 |
-
$fb_page_settings[ 'page_id' ]
|
| 181 |
-
);
|
| 182 |
-
|
| 183 |
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
// Bulk upload articles for review
|
| 185 |
$articles_for_review = Instant_Articles_Wizard_Review_Submission::getArticlesForReview();
|
| 186 |
foreach ( $articles_for_review as $post ) {
|
|
@@ -236,72 +236,101 @@ class Instant_Articles_Wizard {
|
|
| 236 |
wp_die( esc_html( 'You do not have sufficient permissions to access this page.' ) );
|
| 237 |
}
|
| 238 |
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
$settings_url = self::get_url();
|
| 245 |
-
|
| 246 |
-
// Handle redirection from Login flow
|
| 247 |
-
// ----------------------------------
|
| 248 |
-
// Only during STATE_APP_SETUP
|
| 249 |
-
if ( $current_state === Instant_Articles_Wizard_State::STATE_APP_SETUP ) {
|
| 250 |
-
$user_access_token = $fb_helper->get_fb_access_token();
|
| 251 |
-
$permissions = $fb_helper->get_fb_permissions( $user_access_token );
|
| 252 |
-
|
| 253 |
-
// Trigger transition if all needed permissions are granted
|
| 254 |
-
if ( $user_access_token && isset( $permissions[ 'pages_manage_instant_articles' ] ) && isset( $permissions[ 'pages_show_list' ] ) ) {
|
| 255 |
-
Instant_Articles_Wizard_State::do_transition( Instant_Articles_Wizard_State::STATE_PAGE_SELECTION, array(
|
| 256 |
-
'app_id' => $fb_app_settings[ 'app_id' ],
|
| 257 |
-
'app_secret' => $fb_app_settings[ 'app_secret' ],
|
| 258 |
-
'user_access_token' => $user_access_token->getValue()
|
| 259 |
-
) );
|
| 260 |
-
// Override step
|
| 261 |
-
$current_state = Instant_Articles_Wizard_State::get_current_state();
|
| 262 |
-
}
|
| 263 |
-
}
|
| 264 |
-
// ----------------------------------
|
| 265 |
-
|
| 266 |
-
// Handle redirection from Login flow
|
| 267 |
-
// ----------------------------------
|
| 268 |
-
// Only during STATE_PAGE_SELECTION
|
| 269 |
-
if ( $current_state === Instant_Articles_Wizard_State::STATE_PAGE_SELECTION ) {
|
| 270 |
$fb_helper = new Instant_Articles_Wizard_FB_Helper();
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
}
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
|
|
|
|
|
|
| 288 |
}
|
| 289 |
-
}
|
| 290 |
-
// ----------------------------------
|
| 291 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 292 |
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 300 |
}
|
| 301 |
}
|
| 302 |
-
// ----------------------------------
|
| 303 |
-
|
| 304 |
-
include( dirname( __FILE__ ) . '/templates/wizard-template.php' );
|
| 305 |
}
|
| 306 |
|
| 307 |
}
|
| 173 |
$fb_app_settings = Instant_Articles_Option_FB_App::get_option_decoded();
|
| 174 |
$fb_page_settings = Instant_Articles_Option_FB_Page::get_option_decoded();
|
| 175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
try {
|
| 177 |
+
$client = Client::create(
|
| 178 |
+
$fb_app_settings[ 'app_id' ],
|
| 179 |
+
$fb_app_settings[ 'app_secret' ],
|
| 180 |
+
$fb_page_settings[ 'page_access_token' ],
|
| 181 |
+
$fb_page_settings[ 'page_id' ]
|
| 182 |
+
);
|
| 183 |
+
|
| 184 |
// Bulk upload articles for review
|
| 185 |
$articles_for_review = Instant_Articles_Wizard_Review_Submission::getArticlesForReview();
|
| 186 |
foreach ( $articles_for_review as $post ) {
|
| 236 |
wp_die( esc_html( 'You do not have sufficient permissions to access this page.' ) );
|
| 237 |
}
|
| 238 |
|
| 239 |
+
try {
|
| 240 |
+
// Read options (they are used on the templates)
|
| 241 |
+
$current_state = Instant_Articles_Wizard_State::get_current_state();
|
| 242 |
+
$fb_page_settings = Instant_Articles_Option_FB_Page::get_option_decoded();
|
| 243 |
+
$fb_app_settings = Instant_Articles_Option_FB_App::get_option_decoded();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 244 |
$fb_helper = new Instant_Articles_Wizard_FB_Helper();
|
| 245 |
+
$settings_url = self::get_url();
|
| 246 |
+
|
| 247 |
+
// Handle redirection from Login flow
|
| 248 |
+
// ----------------------------------
|
| 249 |
+
// Only during STATE_APP_SETUP
|
| 250 |
+
if ( $current_state === Instant_Articles_Wizard_State::STATE_APP_SETUP ) {
|
| 251 |
+
$user_access_token = $fb_helper->get_fb_access_token();
|
| 252 |
+
$permissions = $fb_helper->get_fb_permissions( $user_access_token );
|
| 253 |
+
|
| 254 |
+
// Trigger transition if all needed permissions are granted
|
| 255 |
+
if ( $user_access_token && isset( $permissions[ 'pages_manage_instant_articles' ] ) && isset( $permissions[ 'pages_show_list' ] ) ) {
|
| 256 |
+
Instant_Articles_Wizard_State::do_transition( Instant_Articles_Wizard_State::STATE_PAGE_SELECTION, array(
|
| 257 |
+
'app_id' => $fb_app_settings[ 'app_id' ],
|
| 258 |
+
'app_secret' => $fb_app_settings[ 'app_secret' ],
|
| 259 |
+
'user_access_token' => $user_access_token->getValue()
|
| 260 |
+
) );
|
| 261 |
+
// Override step
|
| 262 |
+
$current_state = Instant_Articles_Wizard_State::get_current_state();
|
| 263 |
+
}
|
| 264 |
}
|
| 265 |
+
// ----------------------------------
|
| 266 |
+
|
| 267 |
+
// Handle redirection from Login flow
|
| 268 |
+
// ----------------------------------
|
| 269 |
+
// Only during STATE_PAGE_SELECTION
|
| 270 |
+
if ( $current_state === Instant_Articles_Wizard_State::STATE_PAGE_SELECTION ) {
|
| 271 |
+
$fb_helper = new Instant_Articles_Wizard_FB_Helper();
|
| 272 |
+
try {
|
| 273 |
+
$pages = $fb_helper->get_pages();
|
| 274 |
+
} catch ( Exception $e ) {
|
| 275 |
+
// If we couldn't fetch the pages, revert to the App setup
|
| 276 |
+
Instant_Articles_Wizard_State::do_transition( Instant_Articles_Wizard_State::STATE_APP_SETUP );
|
| 277 |
+
}
|
| 278 |
}
|
|
|
|
|
|
|
| 279 |
|
| 280 |
+
// Grabs the current configured style
|
| 281 |
+
// ----------------------------------
|
| 282 |
+
// Only during STATE_STYLE_SELECTION
|
| 283 |
+
if ( $current_state === Instant_Articles_Wizard_State::STATE_STYLE_SELECTION ) {
|
| 284 |
+
$settings_style = Instant_Articles_Option_Styles::get_option_decoded();
|
| 285 |
+
if ( isset( $settings_style['article_style'] ) && ! empty( $settings_style['article_style'] ) ) {
|
| 286 |
+
$article_style = $settings_style['article_style'];
|
| 287 |
+
} else {
|
| 288 |
+
$article_style = 'default';
|
| 289 |
+
}
|
| 290 |
+
}
|
| 291 |
+
// ----------------------------------
|
| 292 |
+
|
| 293 |
+
|
| 294 |
+
// Check submission status
|
| 295 |
+
// ----------------------------------
|
| 296 |
+
// Only during STATE_REVIEW_SUBMISSION
|
| 297 |
+
if ( $current_state === Instant_Articles_Wizard_State::STATE_REVIEW_SUBMISSION ) {
|
| 298 |
+
$review_submission_status = Instant_Articles_Wizard_Review_Submission::getReviewSubmissionStatus();
|
| 299 |
+
|
| 300 |
+
if ( $review_submission_status === Instant_Articles_Wizard_Review_Submission::STATUS_NOT_SUBMITTED ) {
|
| 301 |
+
$articles_for_review = Instant_Articles_Wizard_Review_Submission::getArticlesForReview();
|
| 302 |
+
|
| 303 |
+
// Map to Instant_Articles_Post instances
|
| 304 |
+
$instant_articles_for_review = array_map( function ( $article ) {
|
| 305 |
+
$instant_articles_post = new Instant_Articles_Post( $article );
|
| 306 |
+
// Call transformation to load warnings
|
| 307 |
+
$instant_articles_post->to_instant_article();
|
| 308 |
+
return $instant_articles_post;
|
| 309 |
+
}, $articles_for_review );
|
| 310 |
+
|
| 311 |
+
// Filter articles with warnings and not forced
|
| 312 |
+
$instant_articles_with_warnings = array_filter( $instant_articles_for_review, function ( $article ) {
|
| 313 |
+
$has_warnings = ( count( $article->transformer->getWarnings() ) > 0 );
|
| 314 |
+
$force_submit = get_post_meta( $article->get_the_id(), Instant_Articles_Publisher::FORCE_SUBMIT_KEY, true );
|
| 315 |
+
return $has_warnings && ! $force_submit;
|
| 316 |
+
} );
|
| 317 |
+
}
|
| 318 |
+
}
|
| 319 |
+
// ----------------------------------
|
| 320 |
|
| 321 |
+
include( dirname( __FILE__ ) . '/templates/wizard-template.php' );
|
| 322 |
+
} catch (Exception $e) {
|
| 323 |
+
if ( Instant_Articles_Wizard_State::get_current_state() !== Instant_Articles_Wizard_State::STATE_APP_SETUP ) {
|
| 324 |
+
// Restarts the wizard
|
| 325 |
+
Instant_Articles_Wizard_State::do_transition( Instant_Articles_Wizard_State::STATE_APP_SETUP );
|
| 326 |
+
echo '<div class="error settings-error notice is-dismissible"><p><strong>'.
|
| 327 |
+
esc_html(
|
| 328 |
+
'Error processing your request. Check server log for more details. Setup and login again to renew Application credentials. Error message: ' .
|
| 329 |
+
$e->getMessage()
|
| 330 |
+
) . '</strong></p></div>';
|
| 331 |
+
Instant_Articles_Wizard::render( $ajax, true );
|
| 332 |
}
|
| 333 |
}
|
|
|
|
|
|
|
|
|
|
| 334 |
}
|
| 335 |
|
| 336 |
}
|
wizard/templates/app-setup-template.php
CHANGED
|
@@ -12,7 +12,7 @@
|
|
| 12 |
<!-- Step 1: grab your App ID and App Secret -->
|
| 13 |
<div class="instant-articles-card">
|
| 14 |
<div class="instant-articles-card-title">
|
| 15 |
-
<h3>Log In
|
| 16 |
<div class="instant-articles-card-title-right">
|
| 17 |
<span class="instant-articles-card-title-step">Step 1 of 2</span>
|
| 18 |
</div>
|
|
@@ -23,11 +23,11 @@
|
|
| 23 |
|
| 24 |
<p>You'll need to log in with your Facebook Developers App ID to connect your plugin to the Facebook Page you'll use to publish your Instant Articles.</p>
|
| 25 |
|
| 26 |
-
<p><strong>Already have an App ID and Secret?</strong> Just enter them to the right.</p>
|
| 27 |
|
| 28 |
<p><strong>Need to create one?</strong></p>
|
| 29 |
|
| 30 |
-
<p>Click on the 'Get App ID' button below to begin the process of getting your App ID and Secret.
|
| 31 |
|
| 32 |
<ol>
|
| 33 |
<li>Click on the green '+ Add a New App' button in the upper right corner of the page.</li>
|
|
@@ -37,10 +37,10 @@
|
|
| 37 |
<li>Click '+Add Platform' at the bottom of the page and select 'Website.'</li>
|
| 38 |
<li>Under both the 'App Domains' in the main section and 'Site URL' in the 'Website' section, enter this domain: <b><?php echo esc_url( self::get_admin_url() ); ?></b></li>
|
| 39 |
<li>Click 'Save Changes' in the lower right corner.</li>
|
| 40 |
-
<li>Select 'Show' to see your App Secret. Copy your App ID and Secret and enter them to the right.</li>
|
| 41 |
</ol>
|
| 42 |
|
| 43 |
-
<p
|
| 44 |
|
| 45 |
<a class="instant-articles-button" href="https://developers.facebook.com/apps" target="_blank">
|
| 46 |
Get App ID
|
| 12 |
<!-- Step 1: grab your App ID and App Secret -->
|
| 13 |
<div class="instant-articles-card">
|
| 14 |
<div class="instant-articles-card-title">
|
| 15 |
+
<h3>Log In With Your Developers App and Facebook Account</h3>
|
| 16 |
<div class="instant-articles-card-title-right">
|
| 17 |
<span class="instant-articles-card-title-step">Step 1 of 2</span>
|
| 18 |
</div>
|
| 23 |
|
| 24 |
<p>You'll need to log in with your Facebook Developers App ID to connect your plugin to the Facebook Page you'll use to publish your Instant Articles.</p>
|
| 25 |
|
| 26 |
+
<p><strong>Already have an App ID and App Secret?</strong> Just enter them to the right.</p>
|
| 27 |
|
| 28 |
<p><strong>Need to create one?</strong></p>
|
| 29 |
|
| 30 |
+
<p>Click on the 'Get App ID' button below to begin the process of getting your App ID and App Secret. This will open the app set up page in a new tab. Then, follow these steps:</p>
|
| 31 |
|
| 32 |
<ol>
|
| 33 |
<li>Click on the green '+ Add a New App' button in the upper right corner of the page.</li>
|
| 37 |
<li>Click '+Add Platform' at the bottom of the page and select 'Website.'</li>
|
| 38 |
<li>Under both the 'App Domains' in the main section and 'Site URL' in the 'Website' section, enter this domain: <b><?php echo esc_url( self::get_admin_url() ); ?></b></li>
|
| 39 |
<li>Click 'Save Changes' in the lower right corner.</li>
|
| 40 |
+
<li>Select 'Show' to see your App Secret. Copy your App ID and App Secret and enter them to the right.</li>
|
| 41 |
</ol>
|
| 42 |
|
| 43 |
+
<p>For more detailed instructions on setting up your App ID, <a href="https://developers.facebook.com/docs/instant-articles/wordpress-quickstart#appid" target="_blank">check out the docs</a>.</p>
|
| 44 |
|
| 45 |
<a class="instant-articles-button" href="https://developers.facebook.com/apps" target="_blank">
|
| 46 |
Get App ID
|
wizard/templates/overview-template.php
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
<div class="instant-articles-card-step">
|
| 16 |
<img src="<?php echo esc_url( plugin_dir_url( __FILE__ ) ); ?>../../assets/key@2x.png">
|
| 17 |
<h4>Set Up and Log In</h4>
|
| 18 |
-
<p>If you don't have one already, set up your Facebook Developers App.
|
| 19 |
</div>
|
| 20 |
<div class="instant-articles-card-step">
|
| 21 |
<img src="<?php echo esc_url( plugin_dir_url( __FILE__ ) ); ?>../../assets/connect@2x.png">
|
| 15 |
<div class="instant-articles-card-step">
|
| 16 |
<img src="<?php echo esc_url( plugin_dir_url( __FILE__ ) ); ?>../../assets/key@2x.png">
|
| 17 |
<h4>Set Up and Log In</h4>
|
| 18 |
+
<p>If you don't have one already, set up your Facebook Developers App. This will allow you to log in and connect your plugin.</p>
|
| 19 |
</div>
|
| 20 |
<div class="instant-articles-card-step">
|
| 21 |
<img src="<?php echo esc_url( plugin_dir_url( __FILE__ ) ); ?>../../assets/connect@2x.png">
|
wizard/templates/page-selection-template.php
CHANGED
|
@@ -43,12 +43,10 @@
|
|
| 43 |
<img class="instant-articles-page-img" src="<?php echo esc_attr( $page[ 'page_picture' ] ) ?>"/>
|
| 44 |
<label>
|
| 45 |
<?php echo esc_html( $page[ 'page_name' ] ) ?>
|
| 46 |
-
<?php if ( $page[ 'supports_instant_articles' ] ) : ?>
|
| 47 |
-
<span class="page-enabled">✔ Enabled</span>
|
| 48 |
-
<?php else : ?>
|
| 49 |
<span class="page-not-enabled">
|
| 50 |
-
|
| 51 |
-
|
| 52 |
</span>
|
| 53 |
<?php endif; ?>
|
| 54 |
</label>
|
| 43 |
<img class="instant-articles-page-img" src="<?php echo esc_attr( $page[ 'page_picture' ] ) ?>"/>
|
| 44 |
<label>
|
| 45 |
<?php echo esc_html( $page[ 'page_name' ] ) ?>
|
| 46 |
+
<?php if ( ! $page[ 'supports_instant_articles' ] ) : ?>
|
|
|
|
|
|
|
| 47 |
<span class="page-not-enabled">
|
| 48 |
+
First, <a href="https://www.facebook.com/instant_articles/signup?redirect_uri=<?php echo rawurlencode( $settings_url ) ?>&page_id=<?php echo rawurlencode( $page[ 'page_id' ] ) ?>">sign up</a>
|
| 49 |
+
this Page to access the Instant Articles tools through Facebook. Then select it here.
|
| 50 |
</span>
|
| 51 |
<?php endif; ?>
|
| 52 |
</label>
|
wizard/templates/review-submission-template.php
CHANGED
|
@@ -46,28 +46,62 @@ switch ( $review_submission_status ) :
|
|
| 46 |
|
| 47 |
case Instant_Articles_Wizard_Review_Submission::STATUS_NOT_SUBMITTED : ?>
|
| 48 |
|
| 49 |
-
<?php if ( count($articles_for_review) >= Instant_Articles_Wizard_Review_Submission::MIN_ARTICLES ) : ?>
|
| 50 |
-
|
| 51 |
-
<div class="instant-articles-card
|
| 52 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
</div>
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
<
|
| 67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
</div>
|
| 69 |
</div>
|
| 70 |
-
|
| 71 |
<?php else: ?>
|
| 72 |
<div class="instant-articles-card">
|
| 73 |
<div class="instant-articles-card-title">
|
| 46 |
|
| 47 |
case Instant_Articles_Wizard_Review_Submission::STATUS_NOT_SUBMITTED : ?>
|
| 48 |
|
| 49 |
+
<?php if ( count( $articles_for_review ) >= Instant_Articles_Wizard_Review_Submission::MIN_ARTICLES ) : ?>
|
| 50 |
+
<?php if ( count( $instant_articles_with_warnings ) > 0 ) : ?>
|
| 51 |
+
<div class="instant-articles-card">
|
| 52 |
+
<div class="instant-articles-card-title">
|
| 53 |
+
<h3>Submit for Review</h3>
|
| 54 |
+
</div>
|
| 55 |
+
<div class="instant-articles-card-content">
|
| 56 |
+
<div class="instant-articles-card-content-box instant-articles-card-content-full">
|
| 57 |
+
<p>
|
| 58 |
+
In order to begin publishing Instant Articles, our team needs to review a sample
|
| 59 |
+
batch of <?php echo esc_html( Instant_Articles_Wizard_Review_Submission::MIN_ARTICLES ); ?> of your Instant Articles.
|
| 60 |
+
</p>
|
| 61 |
+
<p>
|
| 62 |
+
The plugin tried to automatically transform your last <?php echo esc_html( Instant_Articles_Wizard_Review_Submission::MIN_ARTICLES ); ?>
|
| 63 |
+
posts into Instant Articles as a sample to submit for review, but some of these posts contained elements the plugin didn't know how to convert.
|
| 64 |
+
</p>
|
| 65 |
+
<p>
|
| 66 |
+
Before submitting for review, you'll need to handle the warnings on these articles by looking at the "Instant Articles" box on the post edit screen:
|
| 67 |
+
</p>
|
| 68 |
+
<ul>
|
| 69 |
+
<?php foreach ($instant_articles_with_warnings as $article): ?>
|
| 70 |
+
<li><?php edit_post_link( $article->get_the_title(), '- ', '', $article->get_the_id() ); ?> </li>
|
| 71 |
+
<?php endforeach; ?>
|
| 72 |
+
</ul>
|
| 73 |
+
<p>
|
| 74 |
+
Once you've handled these warnings, please return to this page and click the 'Submit for Review" button below.
|
| 75 |
+
</p>
|
| 76 |
+
<button id="instant-articles-wizard-submit-for-review" class="instant-articles-button-disabled instant-articles-button instant-articles-button-highlight">
|
| 77 |
+
<label>Submit for Review</label>
|
| 78 |
+
</button>
|
| 79 |
+
</div>
|
| 80 |
+
</div>
|
| 81 |
</div>
|
| 82 |
+
<?php else: ?>
|
| 83 |
+
<div class="instant-articles-card">
|
| 84 |
+
<div class="instant-articles-card-title">
|
| 85 |
+
<h3>Submit for Review</h3>
|
| 86 |
+
</div>
|
| 87 |
+
<div class="instant-articles-card-content">
|
| 88 |
+
<div class="instant-articles-card-content-box instant-articles-card-content-full">
|
| 89 |
+
<p>
|
| 90 |
+
The Instant Articles team will review a sample batch of your Instant Articles before you can begin to publish.
|
| 91 |
+
Click the 'Submit for Review" button below to send the last <?php echo esc_html( Instant_Articles_Wizard_Review_Submission::MIN_ARTICLES ); ?>
|
| 92 |
+
articles you've published to the team for review.
|
| 93 |
+
</p>
|
| 94 |
+
<p>
|
| 95 |
+
It will take us 2 business days to complete the review.
|
| 96 |
+
Once we've had a chance to take a look, we'll let you know if you're ready to start publishing or if you need to make some updates.
|
| 97 |
+
</p>
|
| 98 |
+
<button id="instant-articles-wizard-submit-for-review" class="instant-articles-button instant-articles-button-highlight">
|
| 99 |
+
<label>Submit for Review</label>
|
| 100 |
+
</button>
|
| 101 |
+
</div>
|
| 102 |
</div>
|
| 103 |
</div>
|
| 104 |
+
<?php endif; ?>
|
| 105 |
<?php else: ?>
|
| 106 |
<div class="instant-articles-card">
|
| 107 |
<div class="instant-articles-card-title">
|
wizard/templates/style-selection-template.php
CHANGED
|
@@ -40,12 +40,12 @@
|
|
| 40 |
<div class="instant-articles-card-content-box instant-articles-card-content-full">
|
| 41 |
<p>
|
| 42 |
Customize the look and feel of your articles with one or more unique styles.
|
| 43 |
-
Try to
|
| 44 |
-
and
|
| 45 |
<a href="https://developers.facebook.com/docs/instant-articles/guides/design" target="_blank">Learn more in our design guidelines</a>.
|
| 46 |
</p>
|
| 47 |
<p>
|
| 48 |
-
Want to preview your
|
| 49 |
<a href="https://itunes.apple.com/us/app/facebook-pages-manager/id514643583?mt=8" target="_blank">iPhone</a>
|
| 50 |
or
|
| 51 |
<a href="https://play.google.com/store/apps/details?id=com.facebook.pages.app" target="_blank">Android</a>
|
| 40 |
<div class="instant-articles-card-content-box instant-articles-card-content-full">
|
| 41 |
<p>
|
| 42 |
Customize the look and feel of your articles with one or more unique styles.
|
| 43 |
+
Try to have design consistency between your Instant Articles and mobile
|
| 44 |
+
web articles and also ensure you upload your publication or blog's logo.
|
| 45 |
<a href="https://developers.facebook.com/docs/instant-articles/guides/design" target="_blank">Learn more in our design guidelines</a>.
|
| 46 |
</p>
|
| 47 |
<p>
|
| 48 |
+
Want to preview how your articles will look? Download Facebook Pages Manager on your
|
| 49 |
<a href="https://itunes.apple.com/us/app/facebook-pages-manager/id514643583?mt=8" target="_blank">iPhone</a>
|
| 50 |
or
|
| 51 |
<a href="https://play.google.com/store/apps/details?id=com.facebook.pages.app" target="_blank">Android</a>
|
wizard/templates/wizard-template.php
CHANGED
|
@@ -98,15 +98,18 @@
|
|
| 98 |
|
| 99 |
<?php if ( ! $ajax ) : ?>
|
| 100 |
</div>
|
|
|
|
| 101 |
<?php if ( count( get_settings_errors() ) !== 0 ) : ?>
|
| 102 |
-
<
|
| 103 |
-
<div class="instant-articles-wizard-advanced-settings-box" style="display: block;">
|
| 104 |
-
<?php include( dirname( __FILE__ ) . '/advanced-template.php' ); ?>
|
| 105 |
-
</div>
|
| 106 |
<?php else: ?>
|
| 107 |
-
<
|
| 108 |
-
<div class="instant-articles-wizard-advanced-settings-box" style="display: none;">
|
| 109 |
-
<?php include( dirname( __FILE__ ) . '/advanced-template.php' ); ?>
|
| 110 |
-
</div>
|
| 111 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
<?php endif; ?>
|
| 98 |
|
| 99 |
<?php if ( ! $ajax ) : ?>
|
| 100 |
</div>
|
| 101 |
+
|
| 102 |
<?php if ( count( get_settings_errors() ) !== 0 ) : ?>
|
| 103 |
+
<p class="instant-articles-advanced-settings" data-state="opened">
|
|
|
|
|
|
|
|
|
|
| 104 |
<?php else: ?>
|
| 105 |
+
<p class="instant-articles-advanced-settings" data-state="closed">
|
|
|
|
|
|
|
|
|
|
| 106 |
<?php endif; ?>
|
| 107 |
+
|
| 108 |
+
<span class="instant-articles-wizard-toggle instant-articles-wizard-toggle-closed">Already set up? <a href="#">Open Advanced Settings now</a></span>
|
| 109 |
+
<span class="instant-articles-wizard-toggle instant-articles-wizard-toggle-opened"><a href="#">Close Advanced Settings</a></span>
|
| 110 |
+
</p>
|
| 111 |
+
|
| 112 |
+
<div class="instant-articles-wizard-advanced-settings-box">
|
| 113 |
+
<?php include( dirname( __FILE__ ) . '/advanced-template.php' ); ?>
|
| 114 |
+
</div>
|
| 115 |
<?php endif; ?>
|
wpcom-helper.php
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
// Wrap the wpcom tracking pixel to comply with the FBIA spec
|
| 4 |
+
// https://developers.facebook.com/docs/instant-articles/reference/analytics
|
| 5 |
+
function wpcom_fbia_stats_pixel() {
|
| 6 |
+
global $post;
|
| 7 |
+
|
| 8 |
+
if ( ! defined( 'INSTANT_ARTICLES_SLUG' ) ) {
|
| 9 |
+
return;
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
if ( ! is_feed( INSTANT_ARTICLES_SLUG ) ) {
|
| 13 |
+
return;
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
// Stop wpcom adding the tracking pixel
|
| 17 |
+
remove_filter( 'the_content', 'add_bug_to_feed', 100 );
|
| 18 |
+
|
| 19 |
+
add_filter( 'the_content', '_wpcom_fbia_stats_pixel', 100 );
|
| 20 |
+
|
| 21 |
+
}
|
| 22 |
+
add_action( 'template_redirect', 'wpcom_fbia_stats_pixel' );
|
| 23 |
+
|
| 24 |
+
function _wpcom_fbia_stats_pixel( $content ) {
|
| 25 |
+
global $post, $current_blog;
|
| 26 |
+
|
| 27 |
+
if ( ! is_feed() ) {
|
| 28 |
+
return $content;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
$hostname = isset( $_SERVER['HTTP_HOST'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_HOST'] ) ) : ''; // input var okay
|
| 32 |
+
|
| 33 |
+
$url = 'https://pixel.wp.com/b.gif?host=' . $hostname . '&blog=' . $current_blog->blog_id . '&post=' . $post->ID . '&subd=' . str_replace( '.wordpress.com', '', $current_blog->domain ) . '&ref=&feed=1';
|
| 34 |
+
|
| 35 |
+
$fbia_pixel = '
|
| 36 |
+
<figure class="op-tracker">
|
| 37 |
+
<iframe>
|
| 38 |
+
<script>
|
| 39 |
+
var x = new Image(); x.src = "' . esc_js( $url ) . '&rand=" +Math.random();
|
| 40 |
+
</script>
|
| 41 |
+
</iframe>
|
| 42 |
+
</figure>';
|
| 43 |
+
|
| 44 |
+
return $content . $fbia_pixel;
|
| 45 |
+
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
// make sure these function run in wp.com environment where `plugins_loaded` is already fired when loading the plugin
|
| 49 |
+
add_action( 'after_setup_theme', 'instant_articles_load_textdomain' );
|
| 50 |
+
add_action( 'after_setup_theme', 'instant_articles_load_compat' );
|
