├── CHANGELOG.md ├── css ├── admin-3.8.css ├── admin-editor.css ├── admin-general-styles.css ├── admin-notifications.css ├── admin-styles.css ├── admin-tracking-styles.css ├── beacon.css ├── bf23.css ├── colorbox.css ├── font-awesome.min.css ├── jquery-ui-smoothness.css ├── legacy-styles.css └── templates │ └── list │ └── styles.css ├── fonts ├── FontAwesome.otf ├── fontawesome-webfont.eot ├── fontawesome-webfont.svg ├── fontawesome-webfont.ttf └── fontawesome-webfont.woff ├── images ├── colorbox │ ├── border.png │ ├── controls.png │ ├── ie6 │ │ ├── borderBottomCenter.png │ │ ├── borderBottomLeft.png │ │ ├── borderBottomRight.png │ │ ├── borderMiddleLeft.png │ │ ├── borderMiddleRight.png │ │ ├── borderTopCenter.png │ │ ├── borderTopLeft.png │ │ └── borderTopRight.png │ ├── loading.gif │ ├── loading_background.png │ └── overlay.png ├── facebook.png ├── icon-adminmenu16-sprite.png ├── icon-adminpage32.png ├── light-line-logo.png ├── twitter.png ├── welcome-page │ └── demo.jpg ├── wpra-icon-32.png ├── wpra-icon-small.png ├── wpra-icon-transparent-new.png └── wpra-icon-transparent.png ├── includes ├── Aventura │ └── Wprss │ │ └── Core │ │ ├── Block │ │ ├── AbstractBlock.php │ │ ├── BlockInterface.php │ │ ├── CallbackBlock.php │ │ └── Html │ │ │ ├── AbstractHtml.php │ │ │ ├── AbstractRegularTag.php │ │ │ ├── AbstractSelfClosingTag.php │ │ │ ├── AbstractTag.php │ │ │ ├── Anchor.php │ │ │ ├── Span.php │ │ │ └── TagInterface.php │ │ ├── Caching │ │ ├── ImageCache.php │ │ └── ImageCache │ │ │ └── Image.php │ │ ├── Component │ │ ├── AdminAjaxNotices.php │ │ ├── AdminHelper.php │ │ ├── BulkSourceImport.php │ │ ├── LeaveReviewNotification.php │ │ └── Logger.php │ │ ├── ComponentFactory.php │ │ ├── CompositeContainer.php │ │ ├── Container.php │ │ ├── DataObject.php │ │ ├── DataObjectInterface.php │ │ ├── EventManager.php │ │ ├── Exception.php │ │ ├── Factory.php │ │ ├── Http │ │ └── Message │ │ │ ├── AbstractResponse.php │ │ │ ├── Ajax │ │ │ ├── AbstractResponse.php │ │ │ ├── AjaxInterface.php │ │ │ └── Response.php │ │ │ ├── MessageInterface.php │ │ │ └── ResponseInterface.php │ │ ├── Licensing │ │ ├── AjaxController.php │ │ ├── Api │ │ │ ├── Exception.php │ │ │ ├── RequestException.php │ │ │ └── ResponseException.php │ │ ├── Exception.php │ │ ├── License.php │ │ ├── License │ │ │ └── Status.php │ │ ├── Manager.php │ │ ├── Plugin │ │ │ ├── Exception.php │ │ │ ├── Updater.php │ │ │ ├── UpdaterException.php │ │ │ └── UpdaterInterface.php │ │ └── Settings.php │ │ ├── Loader.php │ │ ├── Model │ │ ├── AbstractTranslatingModel.php │ │ ├── AdminAjaxNotice │ │ │ ├── AdminAjaxNotice.php │ │ │ ├── AdminAjaxNoticeInterface.php │ │ │ ├── NoticeAbstract.php │ │ │ ├── NoticeInterface.php │ │ │ └── ServiceProvider.php │ │ ├── AjaxResponse.php │ │ ├── AssetsAbstract.php │ │ ├── AssetsInterface.php │ │ ├── BulkSourceImport │ │ │ ├── AbstractImporter.php │ │ │ ├── AbstractWpImporter.php │ │ │ ├── ArrayImporter.php │ │ │ ├── Exception │ │ │ │ ├── AbstractImportException.php │ │ │ │ ├── AbstractSourceValidationFailureException.php │ │ │ │ ├── ImportException.php │ │ │ │ ├── ImportExceptionInterface.php │ │ │ │ ├── SourceValidationFailureException.php │ │ │ │ └── SourceValidationFailureExceptionInterface.php │ │ │ ├── ImporterInterface.php │ │ │ ├── PlainTextImporter.php │ │ │ └── ServiceProvider.php │ │ ├── Collection │ │ │ └── AbstractCollection.php │ │ ├── Command.php │ │ ├── CommandAbstract.php │ │ ├── CommandException.php │ │ ├── CommandInterface.php │ │ ├── Event │ │ │ ├── Event.php │ │ │ ├── EventAbstract.php │ │ │ ├── EventInterface.php │ │ │ ├── EventManagerAbstract.php │ │ │ └── EventManagerInterface.php │ │ ├── GenericServiceProvider.php │ │ ├── LoggerInterface.php │ │ ├── ModelAbstract.php │ │ ├── ModelInterface.php │ │ ├── Regex │ │ │ ├── AbstractRegex.php │ │ │ └── HtmlEncoder.php │ │ ├── Set │ │ │ ├── AbstractCompositeSet.php │ │ │ ├── AbstractGenericSet.php │ │ │ ├── AbstractGenericSetSet.php │ │ │ ├── AbstractSet.php │ │ │ ├── AbstractSetSet.php │ │ │ ├── Set.php │ │ │ ├── SetInterface.php │ │ │ ├── SetSet.php │ │ │ ├── SetSetInterface.php │ │ │ └── Synonym │ │ │ │ ├── AbstractGenericSynonymSet.php │ │ │ │ ├── AbstractSynonymSet.php │ │ │ │ ├── Set.php │ │ │ │ ├── Simple.php │ │ │ │ ├── SynonymSetInterface.php │ │ │ │ └── SynonymSetSetInterface.php │ │ ├── SettingsAbstract.php │ │ ├── SettingsInterface.php │ │ ├── SpinnerAbstract.php │ │ ├── SpinnerApiAbstract.php │ │ ├── SpinnerApiInterface.php │ │ └── SpinnerInterface.php │ │ ├── Plugin.php │ │ ├── Plugin │ │ ├── AddonAbstract.php │ │ ├── AddonFactoryAbstract.php │ │ ├── AddonFactoryInterface.php │ │ ├── AddonInterface.php │ │ ├── ComponentAbstract.php │ │ ├── ComponentFactoryAbstract.php │ │ ├── ComponentFactoryInterface.php │ │ ├── ComponentInterface.php │ │ ├── Di │ │ │ ├── AbstractComponentServiceProvider.php │ │ │ ├── AbstractContainer.php │ │ │ ├── AbstractServiceProvider.php │ │ │ ├── AbstractWritableCompositeContainer.php │ │ │ ├── ContainerInterface.php │ │ │ ├── ServiceProviderInterface.php │ │ │ └── WritableCompositeContainerInterface.php │ │ ├── Exception.php │ │ ├── FactoryAbstract.php │ │ ├── FactoryInterface.php │ │ ├── PluginAbstract.php │ │ └── PluginInterface.php │ │ └── ServiceProvider.php ├── OPML.php ├── admin-activate.php ├── admin-ajax-notice.php ├── admin-display.php ├── admin-editor.php ├── admin-guide-dl.php ├── admin-heartbeat.php ├── admin-help-metaboxes.php ├── admin-help-settings.php ├── admin-help.php ├── admin-intro-page.php ├── admin-log.php ├── admin-metaboxes.php ├── admin-options-legacy.php ├── admin-options.php ├── admin-plugins.php ├── admin-update-page.php ├── admin.php ├── autoload.php ├── black-friday-2021.php ├── cpt-feeds.php ├── cron-jobs.php ├── deprecated.php ├── di.php ├── fallback-mbstring.php ├── feed-access.php ├── feed-blacklist.php ├── feed-importing-images.php ├── feed-importing-sites.php ├── feed-importing.php ├── feed-processing.php ├── feed-states.php ├── functions.php ├── image-caching.php ├── leave-review-notification.php ├── legacy-feed-display.php ├── libraries │ ├── EDD_licensing │ │ └── EDD_SL_Plugin_Updater.php │ ├── WordPress-Readme-Parser │ │ └── ReadmeParser.php │ ├── browser.php │ └── php-markdown │ │ └── markdown.php ├── licensing.php ├── misc-functions.php ├── multimedia.php ├── opml-importer.php ├── polyfills.php ├── readme.php ├── roles-capabilities.php ├── scripts.php ├── system-info.php ├── templates-update.php ├── twig.php ├── update.php ├── v5-notices.php └── youtube.php ├── js ├── admin-addon-ajax.js ├── admin-custom-bulk-actions.js ├── admin-custom.js ├── admin-help.js ├── admin-license-manager.js ├── admin-licensing.js ├── admin-notifications.js ├── admin-notifications.min.js ├── admin │ └── tools │ │ ├── blacklist.js │ │ ├── crons.js │ │ ├── logs.js │ │ ├── main.js │ │ └── reset.js ├── aventura.js ├── aventura.min.js ├── beacon.min.js ├── bf23.js ├── class.js ├── class.min.js ├── custom.js ├── editor.js ├── gallery.js ├── heartbeat.js ├── jquery-ui-timepicker-addon.js ├── jquery.colorbox-min.js ├── xdn.js └── xdn.min.js ├── languages ├── wprss-en.mo ├── wprss-en.po ├── wprss-es.mo ├── wprss-es.po ├── wprss-it.mo ├── wprss-it.po ├── wprss-nl_NL.mo ├── wprss-nl_NL.po ├── wprss-pt_BR.mo ├── wprss-pt_BR.po ├── wprss-ru_RU.mo └── wprss-ru_RU.po ├── lib └── Entities │ ├── Api │ ├── EntityInterface.php │ ├── PropertyInterface.php │ ├── SchemaInterface.php │ └── StoreInterface.php │ ├── Entity.php │ ├── Properties │ ├── AbstractDecoratorProperty.php │ ├── AliasProperty.php │ ├── CallbackDecoratorProperty.php │ ├── CallbackProperty.php │ ├── DefaultingProperty.php │ └── Property.php │ ├── Schemas │ └── Schema.php │ └── Stores │ ├── ArrayStore.php │ └── EntityStore.php ├── src ├── Container │ ├── ModuleContainer.php │ ├── WpFilterContainer.php │ └── WpraContainer.php ├── Data │ ├── AbstractDataSet.php │ ├── AbstractDelegateDataSet.php │ ├── AliasingDataSet.php │ ├── ArrayDataSet.php │ ├── ChangelogDataSet.php │ ├── Collections │ │ ├── CollectionInterface.php │ │ ├── NullCollection.php │ │ ├── TwigTemplateCollection.php │ │ └── WpPostCollection.php │ ├── CompositeDataSet.php │ ├── DataSetInterface.php │ ├── DelegatorDataSet.php │ ├── DeprefixingDataSet.php │ ├── EntityDataSet.php │ ├── MaskingDataSet.php │ ├── MergedDataSet.php │ ├── PrefixingDataSet.php │ └── Wp │ │ ├── WpArrayOptionDataSet.php │ │ ├── WpCptDataSet.php │ │ ├── WpOptionsDataSet.php │ │ ├── WpPluginInfoDataSet.php │ │ ├── WpPostArrayMetaDataSet.php │ │ ├── WpPostDataDataSet.php │ │ ├── WpPostDataSet.php │ │ └── WpPostMetaDataSet.php ├── Database │ ├── NullTable.php │ ├── TableInterface.php │ └── WpdbTable.php ├── Entities │ ├── Collections │ │ ├── FeedBlacklistCollection.php │ │ ├── FeedItemCollection.php │ │ ├── FeedSourceCollection.php │ │ ├── FeedTemplateCollection.php │ │ ├── ImportedItemsCollection.php │ │ └── WpEntityCollection.php │ ├── Properties │ │ ├── SanitizedProperty.php │ │ ├── TimestampProperty.php │ │ ├── WpFtImageUrlProperty.php │ │ ├── WpPostEntityProperty.php │ │ ├── WpPostPermalinkProperty.php │ │ ├── WpraItemSourceProperty.php │ │ ├── WpraPostTypeDependentProperty.php │ │ └── WpraSourceDefaultProperty.php │ └── Stores │ │ ├── BuiltInTemplateStore.php │ │ ├── WpOptionsArrayStore.php │ │ └── WpPostStore.php ├── ErrorHandler.php ├── Handlers │ ├── AbstractSavePostHandler.php │ ├── AddCapabilitiesHandler.php │ ├── AddCptMetaCapsHandler.php │ ├── CustomFeed │ │ ├── RegisterCustomFeedHandler.php │ │ └── RenderCustomFeedHandler.php │ ├── EchoHandler.php │ ├── FeedShortcode │ │ └── FeedsShortcodeHandler.php │ ├── FeedSources │ │ ├── FeedSourceSaveMetaHandler.php │ │ └── RenderFeedSourceContentHandler.php │ ├── FeedTemplates │ │ ├── AjaxRenderFeedsTemplateHandler.php │ │ ├── CreateDefaultFeedTemplateHandler.php │ │ ├── HidePublicTemplateContentHandler.php │ │ ├── PreviewTemplateRedirectHandler.php │ │ ├── ReSaveTemplateHandler.php │ │ ├── RenderAdminTemplatesPageHandler.php │ │ └── RenderTemplateContentHandler.php │ ├── GutenbergBlock │ │ ├── FetchFeedSourcesHandler.php │ │ └── GutenbergBlockAssetsHandler.php │ ├── Images │ │ ├── AddItemsImageColumnHandler.php │ │ ├── DeleteImagesHandler.php │ │ ├── RemoveFtImageMetaBoxHandler.php │ │ └── RenderItemsImageColumnHandler.php │ ├── LoadTextDomainHandler.php │ ├── Logger │ │ ├── ClearLogHandler.php │ │ ├── DownloadLogHandler.php │ │ ├── RenderLogHandler.php │ │ ├── SaveLogOptionsHandler.php │ │ └── TruncateLogsCronHandler.php │ ├── MultiHandler.php │ ├── NullHandler.php │ ├── RegisterCptHandler.php │ ├── RegisterGutenbergBlockHandler.php │ ├── RegisterMenuPageHandler.php │ ├── RegisterMetaBoxHandler.php │ ├── RegisterShortcodeHandler.php │ ├── RegisterSubMenuPageHandler.php │ ├── RenderMetaBoxTemplateHandler.php │ ├── RenderTemplateHandler.php │ └── ScheduleCronJobHandler.php ├── Importer │ └── Images │ │ ├── FbImageContainer.php │ │ └── ImageContainer.php ├── Licensing │ ├── Addon.php │ └── LicenseStatus.php ├── Logger │ ├── ClearableLoggerInterface.php │ ├── FeedLoggerDataSet.php │ ├── FeedLoggerInterface.php │ ├── LogReaderInterface.php │ ├── LoggerUtilsTrait.php │ ├── ProblemLogger.php │ ├── WpdbLogger.php │ └── WpraLogger.php ├── ModularModule.php ├── Modules │ ├── AddonsModule.php │ ├── AssetsModule.php │ ├── BlackFriday23Module.php │ ├── BlacklistToolModule.php │ ├── BulkAddToolModule.php │ ├── CoreModule.php │ ├── CronsToolModule.php │ ├── CustomFeedModule.php │ ├── FeedBlacklistModule.php │ ├── FeedDisplayModule.php │ ├── FeedItemsModule.php │ ├── FeedShortcodeModule.php │ ├── FeedSourcesModule.php │ ├── FeedTemplatesModule.php │ ├── GutenbergBlockModule.php │ ├── I18nModule.php │ ├── ImagesModule.php │ ├── ImportExportToolsModule.php │ ├── ImporterModule.php │ ├── LicensingModule.php │ ├── LoggerModule.php │ ├── LogsToolModule.php │ ├── LoremModule.php │ ├── ModuleInterface.php │ ├── ParsedownModule.php │ ├── PolyLangCompatModule.php │ ├── ResetToolModule.php │ ├── RestApiModule.php │ ├── SettingsModule.php │ ├── SysInfoToolModule.php │ ├── ToolsModule.php │ ├── TwigModule.php │ ├── UpsellModule.php │ └── WpModule.php ├── Plugin.php ├── Query │ ├── AbstractWpQueryIterator.php │ └── WpQueryIterator.php ├── RestApi │ ├── Auth │ │ ├── AbstractAuthValidator.php │ │ ├── AuthUserIsAdmin.php │ │ └── AuthVerifyNonce.php │ ├── EndPointManager.php │ ├── EndPoints │ │ ├── AbstractRestApiEndPoint.php │ │ ├── EndPoint.php │ │ ├── EndPointInterface.php │ │ ├── FeedTemplates │ │ │ ├── CreateUpdateTemplateEndPoint.php │ │ │ ├── DeleteTemplateEndPoint.php │ │ │ ├── GetTemplatesEndPoint.php │ │ │ ├── PatchTemplateEndPoint.php │ │ │ └── RenderTemplateEndPoint.php │ │ └── Handlers │ │ │ └── GetEntityHandler.php │ └── Transformers │ │ └── RecursiveToArrayTransformer.php ├── Templates │ ├── Feeds │ │ ├── FeedTemplateType.php │ │ ├── LegacyDisplayTemplate.php │ │ ├── MasterFeedsTemplate.php │ │ ├── TemplateTypeTemplate.php │ │ └── Types │ │ │ ├── AbstractFeedTemplateType.php │ │ │ ├── AbstractWpraFeedTemplateType.php │ │ │ ├── FeedTemplateTypeInterface.php │ │ │ └── ListTemplateType.php │ ├── NullTemplate.php │ └── TwigTemplate.php ├── Twig │ └── Extensions │ │ ├── Date │ │ └── TwigDateTranslator.php │ │ ├── I18n │ │ ├── I18nTransNode.php │ │ ├── I18nTransTokenParser.php │ │ └── WpI18nExtension.php │ │ └── WpraExtension.php ├── Ui │ └── BlacklistTable.php ├── Util │ ├── CallbackIterator.php │ ├── IteratorDelegateTrait.php │ ├── MergedIterator.php │ ├── Normalize.php │ ├── NormalizeWpPostCapableTrait.php │ ├── NullFunction.php │ ├── PaginatedIterator.php │ ├── ParseArgsWithSchemaCapableTrait.php │ ├── SanitizeCommaListCapableTrait.php │ ├── SanitizerInterface.php │ └── Sanitizers │ │ ├── BoolSanitizer.php │ │ ├── CallbackSanitizer.php │ │ ├── EquivalenceSanitizer.php │ │ ├── IntSanitizer.php │ │ └── PhpFilterSanitizer.php └── Wp │ ├── Asset │ ├── AbstractAsset.php │ ├── AssetInterface.php │ ├── ScriptAsset.php │ ├── ScriptInterface.php │ └── StyleAsset.php │ ├── PluginInfo.php │ ├── WpExtensionInterface.php │ └── WpRolesProxy.php ├── templates ├── admin │ ├── blacklist-metabox.twig │ ├── feedback-survey-2022.twig │ ├── feeds │ │ ├── images-meta-box.twig │ │ ├── save-meta-box.twig │ │ └── shortcode.twig │ ├── intro-page.twig │ ├── items │ │ └── images-meta-box.twig │ ├── partials │ │ └── app-footer-scripts.twig │ ├── templates-page.twig │ ├── tools │ │ ├── blacklist.twig │ │ ├── bulk_add.twig │ │ ├── crons.twig │ │ ├── export.twig │ │ ├── import.twig │ │ ├── logs.twig │ │ ├── main.twig │ │ ├── reset.twig │ │ └── sys_info.twig │ ├── update-page.twig │ └── upsell │ │ ├── add-on-list.twig │ │ └── more-features-page │ │ ├── add-on.twig │ │ ├── lorem.twig │ │ └── main.twig ├── custom-feed │ ├── entry.twig │ └── main.twig ├── feeds │ ├── _parts │ │ └── audio-player.twig │ ├── container.twig │ └── list │ │ ├── default-pagination.twig │ │ ├── feed-item.twig │ │ ├── feed-list.twig │ │ ├── main.twig │ │ └── numbered-pagination.twig ├── help-footer-js.php ├── help-tooltip-content.php ├── help-tooltip-handle.php └── wprss.css ├── uninstall.php └── wp-rss-aggregator.php /css/admin-3.8.css: -------------------------------------------------------------------------------- 1 | #menu-posts-wprss_feed .menu-icon-post div.wp-menu-image:before { 2 | content: "\f303" !important; 3 | } 4 | .welcome-page-tile { 5 | display: inline-block; 6 | padding: 15px 0; 7 | margin: 15px 0; 8 | width: 30%; 9 | text-align: left; 10 | vertical-align: top; 11 | box-sizing: border-box; 12 | -moz-box-sizing: border-box; 13 | } 14 | .welcome-page-tile:first-child { 15 | margin-left: 0; 16 | } 17 | .welcome-page-tile:last-child { 18 | margin-right: 0; 19 | } 20 | .welcome-page-tile > h4 { 21 | margin: 1.4em 0 .6em; 22 | font-size: 1.2em; 23 | } 24 | .welcome-page-tile > p { 25 | margin: 0; 26 | } 27 | .wprss-about-text { 28 | color: #777; 29 | line-height: 1.6em; 30 | margin: 15px 0; 31 | font-size: 1.2em; 32 | } 33 | 34 | #check-out-addons { 35 | margin-top: 15px; 36 | } 37 | 38 | /* WP 3.8+ Settings Page */ 39 | 40 | body.wprss_feed_page_wprss-aggregator-settings .wrap h3 { 41 | font-size: 1.5em; 42 | margin-top: 1.8em; 43 | margin-bottom: 0.6em; 44 | } 45 | body.wprss_feed_page_wprss-aggregator-settings .wrap h3 + p { 46 | margin-top: 0.4em; 47 | } -------------------------------------------------------------------------------- /css/admin-notifications.css: -------------------------------------------------------------------------------- 1 | /* Admin Notifications ====================================================== */ 2 | .wprss_admin-notice { 3 | position: relative; 4 | } 5 | 6 | .wprss_admin-notice .notice-content { 7 | margin-right: 200px; 8 | } 9 | 10 | .wprss_admin-notice .notice-inside { 11 | margin-right: 200px; 12 | } 13 | 14 | .wprss_admin-notice .btn-close { 15 | position: absolute; 16 | right: 15px; 17 | top: 10px; 18 | text-decoration: none; 19 | } 20 | -------------------------------------------------------------------------------- /css/admin-tracking-styles.css: -------------------------------------------------------------------------------- 1 | #wprss_tracking_notice { 2 | position: fixed; 3 | display: inline-block; 4 | 5 | top: 45px; 6 | left: 50%; 7 | 8 | width: 300px; 9 | height: auto; 10 | padding: 40px 10px 10px; 11 | margin-left: -150px; 12 | 13 | background: white; 14 | border: 1px solid #ccc; 15 | border-radius: 3px; 16 | box-shadow: 0px 0px 6px rgba(0,0,0,0.2); 17 | z-index: 20000; 18 | 19 | box-sizing: border-box; 20 | -moz-box-sizing: border-box; 21 | -o-box-sizing: border-box; 22 | } 23 | 24 | #wprss_tracking_notice > p { 25 | margin: 0; 26 | } 27 | #wprss_tracking_notice > p:first-child { 28 | position: absolute; 29 | top: 0; 30 | left: 0; 31 | right: 0; 32 | padding: 6px 10px; 33 | font-weight: bold; 34 | background: #008BC2; 35 | color: white; 36 | } 37 | 38 | #wprss_tracking_notice > p:nth-child(2) { 39 | padding-bottom: 5px; 40 | margin-bottom: 12px; 41 | border-bottom: 1px solid #ccc; 42 | } -------------------------------------------------------------------------------- /css/beacon.css: -------------------------------------------------------------------------------- 1 | #HSBeaconFabButton { 2 | bottom: 16px !important; 3 | right: 20px !important; 4 | } 5 | 6 | #HSBeaconContainerFrame { 7 | bottom: 86px !important; 8 | right: 20px !important; 9 | } 10 | 11 | #beacon-container iframe { 12 | z-index: 1000000 !important; 13 | } 14 | -------------------------------------------------------------------------------- /css/legacy-styles.css: -------------------------------------------------------------------------------- 1 | li.feed-item { margin-bottom: 10px; } 2 | 3 | .thumbnail-excerpt { 4 | overflow:hidden; 5 | margin-bottom: 5px; 6 | } 7 | 8 | .thumbnail-excerpt img { 9 | max-width:100%; float:left; margin-top: 0.5em; margin-right:10px; 10 | } 11 | 12 | .green { 13 | color: #0BD600; 14 | } 15 | 16 | .nav-links { 17 | overflow: hidden; 18 | margin-bottom: 20px; 19 | } 20 | 21 | div.wprss-feed-meta > span { 22 | font-size: 90%; 23 | clear: both; 24 | } 25 | div.wprss-feed-meta > span:not(:last-child):after { 26 | content: ' | '; 27 | } 28 | -------------------------------------------------------------------------------- /css/templates/list/styles.css: -------------------------------------------------------------------------------- 1 | /* An item in the list */ 2 | div.wpra-list-template .wpra-item-list > li.wpra-item { 3 | margin-top: 0px; 4 | margin-bottom: 10px; 5 | } 6 | 7 | /* Separators between source, date and author */ 8 | div.wpra-list-template .wpra-item-list > li.wpra-item > div.wprss-feed-meta > span { 9 | font-size: 90%; 10 | clear: both; 11 | } 12 | div.wpra-list-template .wpra-item-list > li.wpra-item > div.wprss-feed-meta > span:not(:last-child):after { 13 | content: ' | '; 14 | } 15 | 16 | /* Bullet types */ 17 | .wpra-item-list { 18 | list-style: none; 19 | } 20 | .wpra-item-list:not(.wpra-item-list--bullets) li { 21 | margin-left: 0; 22 | } 23 | .wpra-item-list--bullets.wpra-item-list--default { 24 | list-style-type: disc; 25 | } 26 | .wpra-item-list--bullets.wpra-item-list--numbers { 27 | list-style: decimal; 28 | } 29 | 30 | /* Audio player */ 31 | .wpra-feed-audio { 32 | display: block; 33 | margin: 0 5px; 34 | } 35 | 36 | .wpra-feed-audio audio { 37 | width: 100%; 38 | } 39 | 40 | /** 41 | * Old styles 42 | */ 43 | 44 | .thumbnail-excerpt { 45 | overflow:hidden; 46 | margin-bottom: 5px; 47 | } 48 | 49 | .thumbnail-excerpt img { 50 | max-width:100%; float:left; margin-top: 0.5em; margin-right:10px; 51 | } 52 | 53 | .green { 54 | color: #0BD600; 55 | } 56 | 57 | .nav-links { 58 | overflow: hidden; 59 | margin-bottom: 20px; 60 | } 61 | 62 | .nav-links::after { 63 | display: block; 64 | content: ''; 65 | clear: both; 66 | } 67 | -------------------------------------------------------------------------------- /fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /images/colorbox/border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/border.png -------------------------------------------------------------------------------- /images/colorbox/controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/controls.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderBottomCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderBottomCenter.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderBottomLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderBottomLeft.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderBottomRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderBottomRight.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderMiddleLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderMiddleLeft.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderMiddleRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderMiddleRight.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderTopCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderTopCenter.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderTopLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderTopLeft.png -------------------------------------------------------------------------------- /images/colorbox/ie6/borderTopRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/ie6/borderTopRight.png -------------------------------------------------------------------------------- /images/colorbox/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/loading.gif -------------------------------------------------------------------------------- /images/colorbox/loading_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/loading_background.png -------------------------------------------------------------------------------- /images/colorbox/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/colorbox/overlay.png -------------------------------------------------------------------------------- /images/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/facebook.png -------------------------------------------------------------------------------- /images/icon-adminmenu16-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/icon-adminmenu16-sprite.png -------------------------------------------------------------------------------- /images/icon-adminpage32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/icon-adminpage32.png -------------------------------------------------------------------------------- /images/light-line-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/light-line-logo.png -------------------------------------------------------------------------------- /images/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/twitter.png -------------------------------------------------------------------------------- /images/welcome-page/demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/welcome-page/demo.jpg -------------------------------------------------------------------------------- /images/wpra-icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/wpra-icon-32.png -------------------------------------------------------------------------------- /images/wpra-icon-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/wpra-icon-small.png -------------------------------------------------------------------------------- /images/wpra-icon-transparent-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/wpra-icon-transparent-new.png -------------------------------------------------------------------------------- /images/wpra-icon-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RebelCode/wp-rss-aggregator/259f8918454e9701b68d4383586fb4247378bdfe/images/wpra-icon-transparent.png -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Block/AbstractBlock.php: -------------------------------------------------------------------------------- 1 | getOutput(); 23 | } catch (\Exception $ex) { 24 | $output = __(sprintf('Casting of block to string resulted in exception "%1$s" with message:' . "\n" . '%2$s', get_class($ex), $ex->getMessage())); 25 | if (WPRSS_DEBUG) { 26 | $output .= "\n" . $ex->getTraceAsString(); 27 | } 28 | } 29 | 30 | return $output; 31 | } 32 | 33 | /** 34 | * A more structured way of retrieving this block's output. 35 | * 36 | * @since 4.9 37 | * 38 | * @return string Output generated by this block. 39 | */ 40 | abstract public function getOutput(); 41 | } 42 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Block/BlockInterface.php: -------------------------------------------------------------------------------- 1 | setCallback($callback); 25 | } 26 | 27 | /** 28 | * {@inheritdoc} 29 | * 30 | * @since 4.11 31 | */ 32 | public function getOutput() 33 | { 34 | $callback = $this->getCallback(); 35 | 36 | return is_callable($callback) 37 | ? call_user_func($callback) 38 | : ''; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Block/Html/AbstractRegularTag.php: -------------------------------------------------------------------------------- 1 | getAttributes(); 20 | $attributes = count($attributes) 21 | ? ' '.static::getAttributesStringFromArray($attributes) 22 | : ''; 23 | $content = $this->getContent(); 24 | $tagName = $this->getTagName(); 25 | 26 | return sprintf('<%1$s%2$s>%3$s', $tagName, $attributes, $content); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Block/Html/AbstractSelfClosingTag.php: -------------------------------------------------------------------------------- 1 | getAttributes(); 20 | $attributes = count($attributes) 21 | ? ' '.static::getAttributesStringFromArray($attributes) 22 | : ''; 23 | $tagName = $this->getTagName(); 24 | 25 | return sprintf('<%1$s%2$s>', $tagName, $attributes); 26 | } 27 | 28 | /** 29 | * {@inheritdoc} 30 | * 31 | * A self-closing tag has no content, and therefore content is now allowed 32 | * to be an attribute. 33 | * 34 | * @since 4.10 35 | */ 36 | protected function _getNonAttributeKeys() 37 | { 38 | $keys = parent::_getNonAttributeKeys(); 39 | if (isset($keys[static::K_CONTENT])) { 40 | unset($keys[static::K_CONTENT]); 41 | } 42 | 43 | return $keys; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Block/Html/Anchor.php: -------------------------------------------------------------------------------- 1 | getAttributes(); 28 | $attributes = count($attributes) 29 | ? ' '.static::getAttributesStringFromArray($attributes) 30 | : ''; 31 | $content = $this->getContent(); 32 | $tagName = $this->getTagName(); 33 | 34 | return sprintf('<%1$s%2$s>%3$s', $tagName, $attributes, $content); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Block/Html/TagInterface.php: -------------------------------------------------------------------------------- 1 | set_image_class_name( __NAMESPACE__ . '\\ImageCache\\Image' ); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Caching/ImageCache/Image.php: -------------------------------------------------------------------------------- 1 | _setParentContainer($parent); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Container.php: -------------------------------------------------------------------------------- 1 | _register($serviceProvider); 24 | if (!is_null($parent)) { 25 | $this->_setParentContainer($parent); 26 | } 27 | 28 | $this->_construct(); 29 | } 30 | 31 | /** 32 | * {@inheritdoc} 33 | * 34 | * @since 4.11 35 | */ 36 | public function make($id, array $config = array()) 37 | { 38 | return $this->_make($id, $config); 39 | } 40 | 41 | /** 42 | * {@inheritdoc} 43 | * 44 | * @since 4.11 45 | */ 46 | public function register(\Interop\Container\ServiceProvider $serviceProvieder) 47 | { 48 | $this->_register($serviceProvieder); 49 | 50 | return $this; 51 | } 52 | 53 | /** 54 | * {@inheritdoc} 55 | * 56 | * @since 4.11 57 | */ 58 | public function set($id, $definition) 59 | { 60 | $this->_set($id, $definition); 61 | 62 | return $this; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/DataObjectInterface.php: -------------------------------------------------------------------------------- 1 | _getFactory()->make($this->_p('plugin'), $data); 23 | 24 | return $plugin; 25 | } 26 | 27 | /** 28 | * Prefixes a service name with the WPRA service ID prefix. 29 | * 30 | * @since 4.11 31 | * 32 | * @param string $name A service name. 33 | * @return string The prefixed name. 34 | */ 35 | protected function _p($name) 36 | { 37 | return \WPRSS_SERVICE_ID_PREFIX . $name; 38 | } 39 | 40 | /** 41 | * Gets service the factory. 42 | * 43 | * @since 4.11 44 | * 45 | * @return FactoryInterface The factory. 46 | */ 47 | protected function _getFactory() 48 | { 49 | return $this->_getContainer()->get($this->_p('factory')); 50 | } 51 | 52 | /** 53 | * Retrieve the DI container. 54 | * 55 | * @since 4.11 56 | * @return ContainerInterface The container instance. 57 | */ 58 | protected function _getContainer() 59 | { 60 | return wprss_wp_container(); 61 | } 62 | } -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Http/Message/AbstractResponse.php: -------------------------------------------------------------------------------- 1 | getData(static::K_BODY); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Http/Message/Ajax/AjaxInterface.php: -------------------------------------------------------------------------------- 1 | _setValidationErrors($validationErrors); 27 | } 28 | 29 | /** 30 | * {@inheritdoc} 31 | * 32 | * @since 4.11 33 | */ 34 | public function getValidationErrors() 35 | { 36 | return $this->_getValidationErrors(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/BulkSourceImport/Exception/SourceValidationFailureExceptionInterface.php: -------------------------------------------------------------------------------- 1 | _clearItems(); 22 | $this->_clearItemCache(); 23 | } 24 | 25 | /** 26 | * Returns the item set of this instance to its initial state. 27 | * 28 | * @since 4.10 29 | */ 30 | protected function _clearItems() 31 | { 32 | $this->items = array(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/Command.php: -------------------------------------------------------------------------------- 1 | _setServices($services); 27 | } 28 | 29 | /** 30 | * {@inheritdoc} 31 | * 32 | * @since 4.11 33 | */ 34 | public function getServices() 35 | { 36 | return $this->_getServices(); 37 | } 38 | 39 | /** 40 | * {@inheritdoc} 41 | * 42 | * @since 4.11 43 | */ 44 | public function getServiceIdPrefix($id = null) 45 | { 46 | return $this->_p($id); 47 | } 48 | } -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/LoggerInterface.php: -------------------------------------------------------------------------------- 1 | addMany($items); 21 | 22 | return $set; 23 | } 24 | 25 | /** 26 | * @inheritdoc 27 | * 28 | * @since 4.10 29 | */ 30 | public function getAllItems() 31 | { 32 | return $this->_getAllItems(); 33 | } 34 | 35 | /** 36 | * @inheritdoc 37 | * 38 | * @since 4.10 39 | */ 40 | public function getContaining($item) 41 | { 42 | return $this->_getContaining($item); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/Set/AbstractSet.php: -------------------------------------------------------------------------------- 1 | _hasItem($_item)) { 26 | return true; 27 | } 28 | } 29 | 30 | return false; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/Set/Set.php: -------------------------------------------------------------------------------- 1 | _getSynonyms($term); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/Set/Synonym/AbstractSynonymSet.php: -------------------------------------------------------------------------------- 1 | _hasItem($term)) { 26 | return array(); 27 | } 28 | 29 | $items = $this->_getItems(); 30 | $items = $this->_arrayConvert($items); 31 | return array_values(array_diff($items, array($term))); 32 | } 33 | 34 | /** 35 | * @inheritdoc 36 | * 37 | * @since 4.10 38 | */ 39 | protected function _validateItem($item) 40 | { 41 | if (!is_string($item)) { 42 | throw new \RuntimeException('The items in this set must be strings'); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/Set/Synonym/Simple.php: -------------------------------------------------------------------------------- 1 | getApi()->spin($content, $options); 17 | } 18 | 19 | /** 20 | * @since 4.8.1 21 | * @return SpinnerApiInterface 22 | */ 23 | abstract public function getApi(); 24 | } -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Model/SpinnerApiInterface.php: -------------------------------------------------------------------------------- 1 | _create($data); 38 | do_action('wprss_plugin_factory_create_plugin_after', $addon, $me); 39 | 40 | return $addon; 41 | } 42 | 43 | /** 44 | * Does the actual creation. 45 | * 46 | * @since 4.8.1 47 | * @return PluginInterface 48 | */ 49 | abstract protected function _create($data); 50 | } -------------------------------------------------------------------------------- /includes/Aventura/Wprss/Core/Plugin/FactoryInterface.php: -------------------------------------------------------------------------------- 1 | register(); 40 | } 41 | 42 | return $loader; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /includes/black-friday-2021.php: -------------------------------------------------------------------------------- 1 | 0) { 5 | return; 6 | } 7 | 8 | $year = (int) date('Y'); 9 | $month = (int) date('n'); 10 | $day = (int) date('j'); 11 | 12 | if ($year !== 2021 || $month !== 11 || $day < 22 || $day > 29) { 13 | return; 14 | } 15 | 16 | printf( 17 | '
18 |

19 | %s 20 | %s 21 | %s 22 |

23 |
', 24 | __('Black Friday/Cyber Monday:', 'wprss'), 25 | __('Get 30% off WP RSS Aggregator plans today!', 'wprss'), 26 | __('Offer ends on the 29th of November.', 'wprss') 27 | ); 28 | }); 29 | -------------------------------------------------------------------------------- /includes/deprecated.php: -------------------------------------------------------------------------------- 1 | getLeaveReviewNotification(); 26 | }); 27 | -------------------------------------------------------------------------------- /includes/multimedia.php: -------------------------------------------------------------------------------- 1 | ='); 23 | } 24 | 25 | /** 26 | * Retrieves the twig instance for WP RSS Aggregator. 27 | * 28 | * @since 4.12 29 | * 30 | * @return Environment The twig instance. 31 | */ 32 | function wprss_twig() 33 | { 34 | return wpra_get('twig'); 35 | } 36 | 37 | /** 38 | * Loads a WPRSS twig template. 39 | * 40 | * @since 4.12 41 | * 42 | * @param string $template The template name. 43 | * 44 | * @return TwigTemplate 45 | */ 46 | function wprss_load_template($template) 47 | { 48 | return wpra_get('twig/collection')[$template]; 49 | } 50 | 51 | /** 52 | * Loads and renders a WPRSS template. 53 | * 54 | * @since 4.12 55 | * 56 | * @param string $template The template name. 57 | * @param array $context The template context. 58 | * 59 | * @return string 60 | */ 61 | function wprss_render_template($template, $context = []) 62 | { 63 | return wprss_load_template($template)->render($context); 64 | } 65 | -------------------------------------------------------------------------------- /js/admin-addon-ajax.js: -------------------------------------------------------------------------------- 1 | jQuery( document ).ready( function($) { 2 | 3 | $('.ajax-close-addon-notice').click( function() { 4 | var addon = $(this).attr( 'data-addon' ), 5 | notice = $(this).attr( 'data-notice' ), 6 | element = $(this).parent().parent(); 7 | if ( addon !== false && addon !== undefined && notice !== false && notice !== undefined ) { 8 | $.ajax({ 9 | url: ajaxurl, 10 | type: 'POST', 11 | data: { 12 | action: 'wprss_dismiss_addon_notice', 13 | addon: addon, 14 | notice: notice, 15 | nonce: wprss_admin_addon_ajax.nonce, 16 | }, 17 | success: function( data, status, jqXHR) { 18 | if ( data === 'true' ) { 19 | element.slideUp( 'fast', function(){ 20 | element.remove(); 21 | }); 22 | } 23 | } 24 | }); 25 | $(this).text( wprss_admin_addon_ajax.please_wait ); 26 | } 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /js/admin-custom-bulk-actions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Adds and manages custom bulk actions for the Feed Sources page. 3 | * 4 | * @since 2.5 5 | */ 6 | (function($, wprss_admin_bulk){ 7 | 8 | $(document).ready( function(){ 9 | var bulk_actions_select = $( 'select#bulk-action-selector-top, select#bulk-action-selector-bottom' ); 10 | var bulk_actions_trash = bulk_actions_select.find( "option[value='trash']" ); 11 | 12 | bulk_actions_select.find( 'option[value="edit"]' ).remove(); 13 | $( '