Changeset 3417562
- Timestamp:
- 12/11/2025 03:58:10 PM (2 days ago)
- Location:
- pressforward
- Files:
-
- 30 edited
- 1 copied
-
tags/5.9.4 (copied) (copied from pressforward/trunk)
-
tags/5.9.4/Core/Bookmarklet/NominateThisCore.php (modified) (3 diffs)
-
tags/5.9.4/Core/Schema/Feeds.php (modified) (2 diffs)
-
tags/5.9.4/Core/Schema/Nominations.php (modified) (1 diff)
-
tags/5.9.4/Core/Utility/Forward_Tools.php (modified) (1 diff)
-
tags/5.9.4/constants.php (modified) (1 diff)
-
tags/5.9.4/includes/functions.php (modified) (1 diff)
-
tags/5.9.4/includes/module-base.php (modified) (1 diff)
-
tags/5.9.4/languages/pressforward.pot (modified) (27 diffs)
-
tags/5.9.4/modules/rss-import/rss-import.php (modified) (3 diffs)
-
tags/5.9.4/package.json (modified) (1 diff)
-
tags/5.9.4/pressforward.php (modified) (1 diff)
-
tags/5.9.4/readme.md (modified) (2 diffs)
-
tags/5.9.4/readme.txt (modified) (2 diffs)
-
tags/5.9.4/vendor/composer/autoload_static.php (modified) (3 diffs)
-
tags/5.9.4/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/Core/Bookmarklet/NominateThisCore.php (modified) (3 diffs)
-
trunk/Core/Schema/Feeds.php (modified) (2 diffs)
-
trunk/Core/Schema/Nominations.php (modified) (1 diff)
-
trunk/Core/Utility/Forward_Tools.php (modified) (1 diff)
-
trunk/constants.php (modified) (1 diff)
-
trunk/includes/functions.php (modified) (1 diff)
-
trunk/includes/module-base.php (modified) (1 diff)
-
trunk/languages/pressforward.pot (modified) (27 diffs)
-
trunk/modules/rss-import/rss-import.php (modified) (3 diffs)
-
trunk/package.json (modified) (1 diff)
-
trunk/pressforward.php (modified) (1 diff)
-
trunk/readme.md (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pressforward/tags/5.9.4/Core/Bookmarklet/NominateThisCore.php
r3356897 r3417562 48 48 ), 49 49 array( 50 'hook' => 'admin_menu', 51 'method' => 'register_nomination_success_panel', 50 'hook' => 'admin_menu', 51 'method' => 'register_nomination_success_panel', 52 'priority' => 20, 53 ), 54 array( 55 'hook' => 'admin_head', 56 'method' => 'remove_nomination_add_new_menu_item', 52 57 ), 53 58 ); … … 223 228 if ( $internal ) { 224 229 if ( ! current_user_can( get_option( 'pf_menu_nominate_this_access', pressforward( 'controller.users' )->pf_get_defining_capability_by_role( 'contributor' ) ) ) ) { 225 wp_die( esc_html_ e( 'You do not have access to the Nominate This bookmarklet.', 'pressforward' ) );230 wp_die( esc_html__( 'You do not have access to the Nominate This bookmarklet.', 'pressforward' ) ); 226 231 } 227 232 } … … 710 715 [ $this, 'nomination_success_panel' ] 711 716 ); 717 718 /* 719 * We also take this opportunity to add the 'Add New Nomination' panel. 720 * We need to add it because otherwise cap checks will fail when 721 * loading the bookmarklet URL in certain cases. And the 'Add New' panel 722 * doesn't appear natively because we use a different parent when registering 723 * the post type (show_in_menu). The menu item is removed before rendering. 724 */ 725 $pt = get_post_type_object( 'nomination' ); 726 if ( $pt && is_string( $pt->show_in_menu ) ) { 727 add_submenu_page( 728 $pt->show_in_menu, 729 $pt->labels->add_new_item, 730 $pt->labels->add_new_item, 731 $pt->cap->create_posts, 732 "post-new.php?post_type={$pt->name}" 733 ); 734 } 735 } 736 737 /** 738 * Removes the 'Add New Nomination' menu item from the admin menu. 739 * 740 * This is hooked to 'admin_head', which runs after the menu is built but before 741 * the page is rendered. 742 * 743 * @since 5.6.0 744 * 745 * @return void 746 */ 747 public function remove_nomination_add_new_menu_item() { 748 remove_submenu_page( 'pf-menu', 'post-new.php?post_type=nomination' ); 712 749 } 713 750 -
pressforward/tags/5.9.4/Core/Schema/Feeds.php
r3356897 r3417562 70 70 'method' => 'register_feed_post_type', 71 71 'priority' => 10, 72 ), 73 array( 74 'hook' => 'init', 75 'method' => 'check_feed_retrieval_cron_jobs', 76 'priority' => 20, 72 77 ), 73 78 array( … … 423 428 424 429 /** 430 * Incrementally checks and schedules retrieval cron jobs for feeds. 431 * 432 * This method runs on 'init' and checks a batch of feeds to ensure they have 433 * retrieval cron jobs scheduled. It uses a timestamp and counter system to 434 * process feeds incrementally, avoiding overload on sites with many feeds. 435 * 436 * The check runs once per hour and processes up to 100 feeds per run. When 437 * all feeds have been checked, the counter resets and the cycle starts again. 438 * 439 * @since 5.9.4 440 * 441 * @return void 442 */ 443 public function check_feed_retrieval_cron_jobs() { 444 // Get the last check timestamp and counter. 445 $last_check_time = get_option( 'pf_feed_cron_check_timestamp', 0 ); 446 $current_time = time(); 447 448 // Only run the check once per hour. 449 if ( ( $current_time - $last_check_time ) < HOUR_IN_SECONDS ) { 450 return; 451 } 452 453 // Get the current position in the feed list. 454 $offset = (int) get_option( 'pf_feed_cron_check_offset', 0 ); 455 456 // Query for a batch of feeds. 457 $batch_size = apply_filters( 'pf_feed_cron_check_batch_size', 100 ); 458 $args = array( 459 'post_type' => $this->post_type, 460 'post_status' => 'publish', 461 'posts_per_page' => $batch_size, 462 'offset' => $offset, 463 'orderby' => 'ID', 464 'order' => 'ASC', 465 'fields' => 'ids', 466 ); 467 468 $feed_ids = get_posts( $args ); 469 470 // If no feeds found, reset the counter and exit. 471 if ( empty( $feed_ids ) ) { 472 update_option( 'pf_feed_cron_check_offset', 0 ); 473 return; 474 } 475 476 // Check each feed and schedule retrieval if needed. 477 foreach ( $feed_ids as $feed_id ) { 478 $feed = Feed::get_instance_by_id( $feed_id ); 479 if ( ! $feed ) { 480 continue; 481 } 482 483 // Check if the retrieval is already scheduled. 484 $next_scheduled = $feed->get_next_scheduled_retrieval(); 485 if ( ! $next_scheduled ) { 486 // Schedule retrieval for this feed. 487 $feed->schedule_retrieval(); 488 } 489 } 490 491 // Calculate the next offset position. 492 $calculated_offset = $offset + count( $feed_ids ); 493 494 // Check if we've reached the end of the feed list. 495 if ( count( $feed_ids ) < $batch_size ) { 496 // Reset to start from the beginning in the next cycle. 497 update_option( 'pf_feed_cron_check_offset', 0 ); 498 } else { 499 // Continue from where we left off. 500 update_option( 'pf_feed_cron_check_offset', $calculated_offset ); 501 } 502 503 // Update the timestamp after successful completion to prevent multiple checks. 504 update_option( 'pf_feed_cron_check_timestamp', $current_time ); 505 } 506 507 /** 425 508 * Handles submitbox actions on save. 426 509 * -
pressforward/tags/5.9.4/Core/Schema/Nominations.php
r3356899 r3417562 135 135 136 136 // We must 'show_in_menu' but we also want to remove the 'Nominations' item from the admin menu. 137 add_action( 'admin_menu', function() { 138 remove_submenu_page( PF_MENU_SLUG, 'edit.php?post_type=nomination' ); 139 }, 999 ); 137 add_action( 138 'admin_menu', 139 function () { 140 remove_submenu_page( PF_MENU_SLUG, 'edit.php?post_type=nomination' ); 141 }, 142 999 143 ); 140 144 } 141 145 -
pressforward/tags/5.9.4/Core/Utility/Forward_Tools.php
r3207176 r3417562 83 83 public function get_nomination_nominator_array( $nomination_id ) { 84 84 $nominators = $this->metas->get_post_pf_meta( $nomination_id, 'nominator_array' ); 85 86 if ( is_string( $nominators ) ) { 87 $nominators = wp_parse_id_list( $nominators ); 88 } 89 85 90 if ( ! $nominators ) { 86 91 $nominators = []; -
pressforward/tags/5.9.4/constants.php
r3356897 r3417562 14 14 define( 'PF_FILE_PATH', PF_ROOT . '/pressforward.php' ); 15 15 define( 'PF_URL', plugins_url( '/', __FILE__ ) ); 16 define( 'PF_VERSION', '5.9. 3' );16 define( 'PF_VERSION', '5.9.4' ); -
pressforward/tags/5.9.4/includes/functions.php
r3330426 r3417562 966 966 } 967 967 add_filter( 'the_author', 'pf_replace_author_presentation' ); 968 add_filter( 'get_the_author_display_name', 'pf_replace_author_presentation' ); 968 969 969 970 /** -
pressforward/tags/5.9.4/includes/module-base.php
r3330426 r3417562 187 187 188 188 <td> 189 <select id="<?php e sc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>" name="<?php echo esc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>">189 <select id="<?php echo esc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>" name="<?php echo esc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>"> 190 190 <option value="yes" <?php selected( $enabled, 'yes' ); ?>><?php esc_html_e( 'Yes', 'pressforward' ); ?></option> 191 191 <option value="no" <?php selected( $enabled, 'no' ); ?>><?php esc_html_e( 'No', 'pressforward' ); ?></option> -
pressforward/tags/5.9.4/languages/pressforward.pot
r3356897 r3417562 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025- 09-05T15:46:19-05:00\n"12 "POT-Creation-Date: 2025-12-11T09:49:08-06:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 242 242 243 243 #: Controllers/Metas.php:597 244 #: Core/Bookmarklet/NominateThisCore.php:9 2244 #: Core/Bookmarklet/NominateThisCore.php:97 245 245 msgid "Tags" 246 246 msgstr "" … … 297 297 #: Core/Admin/Menu.php:189 298 298 #: Core/Schema/Nominations.php:78 299 #: Core/Schema/Nominations.php:2 02299 #: Core/Schema/Nominations.php:211 300 300 #: parts/welcome/nominations.php:29 301 301 msgid "Nominations" … … 360 360 #: Controllers/Metas.php:687 361 361 #: Core/Admin/AddFeeds.php:136 362 #: modules/rss-import/rss-import.php:4 65362 #: modules/rss-import/rss-import.php:482 363 363 #: assets/src/nominate-this-block-editor/nominate-this-block-editor.js:63 364 364 #: assets/src/nominate-this-block-editor/nominate-this-block-editor.js:69 … … 471 471 #: Controllers/Metas.php:837 472 472 #: Core/Admin/SubscribedFeeds.php:536 473 #: modules/rss-import/rss-import.php:4 55473 #: modules/rss-import/rss-import.php:472 474 474 #: assets/src/block-editor-feeds/block-editor-feeds.js:53 475 475 #: build/block-editor-feeds.js:1 … … 914 914 915 915 #: Core/Admin/AddFeeds.php:141 916 #: modules/rss-import/rss-import.php:4 21916 #: modules/rss-import/rss-import.php:438 917 917 msgid "Import OPML" 918 918 msgstr "" … … 995 995 996 996 #: Core/Admin/Menu.php:198 997 #: Core/Schema/Feeds.php:2 05997 #: Core/Schema/Feeds.php:210 998 998 #: parts/welcome/feeds.php:27 999 999 msgid "Feeds" … … 1015 1015 1016 1016 #: Core/Admin/Menu.php:335 1017 #: Core/Bookmarklet/NominateThisCore.php: 761017 #: Core/Bookmarklet/NominateThisCore.php:81 1018 1018 #: includes/nomthis/nominate-this-core.php:77 1019 1019 #: parts/nominate-this-buttons.tpl.php:17 … … 1099 1099 1100 1100 #: Core/Admin/Nominated.php:742 1101 #: Core/Schema/Nominations.php:2 051101 #: Core/Schema/Nominations.php:214 1102 1102 #: assets/src/blocks/blocks.js:225 1103 1103 #: build/blocks.js:1 … … 1274 1274 #: Core/Admin/PFTemplater.php:435 1275 1275 #: modules/opml-subscribe/opml-subscribe.php:316 1276 #: modules/rss-import/rss-import.php:4 611276 #: modules/rss-import/rss-import.php:478 1277 1277 #: parts/settings/settings-page.tpl.php:80 1278 1278 #: assets/src/add-feeds/add-feeds.js:66 … … 1503 1503 1504 1504 #: Core/Admin/PFTemplater.php:1131 1505 #: Core/Bookmarklet/NominateThisCore.php:12 41505 #: Core/Bookmarklet/NominateThisCore.php:129 1506 1506 #: Core/Schema/Nominations.php:80 1507 1507 #: assets/src/reader/util.js:284 … … 1512 1512 1513 1513 #: Core/Admin/PFTemplater.php:1154 1514 #: Core/Bookmarklet/NominateThisCore.php:13 21514 #: Core/Bookmarklet/NominateThisCore.php:137 1515 1515 msgid "Send to " 1516 1516 msgstr "" … … 1805 1805 msgstr "" 1806 1806 1807 #: Core/Bookmarklet/NominateThisCore.php:8 41807 #: Core/Bookmarklet/NominateThisCore.php:89 1808 1808 msgid "Categories" 1809 1809 msgstr "" 1810 1810 1811 #: Core/Bookmarklet/NominateThisCore.php:1 261811 #: Core/Bookmarklet/NominateThisCore.php:131 1812 1812 msgid "You do not have the ability to create nominations." 1813 1813 msgstr "" 1814 1814 1815 #: Core/Bookmarklet/NominateThisCore.php:14 31815 #: Core/Bookmarklet/NominateThisCore.php:148 1816 1816 msgid "Enter Authors" 1817 1817 msgstr "" 1818 1818 1819 #: Core/Bookmarklet/NominateThisCore.php:1 471819 #: Core/Bookmarklet/NominateThisCore.php:152 1820 1820 msgid "Nominate feed associated with item." 1821 1821 msgstr "" 1822 1822 1823 #: Core/Bookmarklet/NominateThisCore.php:1 691823 #: Core/Bookmarklet/NominateThisCore.php:174 1824 1824 msgid "Enter Tags" 1825 1825 msgstr "" 1826 1826 1827 #: Core/Bookmarklet/NominateThisCore.php:2 251827 #: Core/Bookmarklet/NominateThisCore.php:230 1828 1828 msgid "You do not have access to the Nominate This bookmarklet." 1829 1829 msgstr "" 1830 1830 1831 #: Core/Bookmarklet/NominateThisCore.php:26 41832 #: Core/Bookmarklet/NominateThisCore.php:53 21831 #: Core/Bookmarklet/NominateThisCore.php:269 1832 #: Core/Bookmarklet/NominateThisCore.php:537 1833 1833 msgid "Attempting to nominate a feed with the result of:" 1834 1834 msgstr "" 1835 1835 1836 1836 #. translators: feed ID. 1837 #: Core/Bookmarklet/NominateThisCore.php:2711838 #: Core/Bookmarklet/NominateThisCore.php:5391839 #, php-format1840 msgid "Feed created with ID: %s"1841 msgstr ""1842 1843 #: Core/Bookmarklet/NominateThisCore.php:2721844 #: Core/Bookmarklet/NominateThisCore.php:5401845 msgid "The feed has been nominated successfully."1846 msgstr ""1847 1848 #. translators: Error text.1849 1837 #: Core/Bookmarklet/NominateThisCore.php:276 1850 1838 #: Core/Bookmarklet/NominateThisCore.php:544 1851 1839 #, php-format 1852 msgid " But the following error occured: %s"1840 msgid "Feed created with ID: %s" 1853 1841 msgstr "" 1854 1842 1855 1843 #: Core/Bookmarklet/NominateThisCore.php:277 1856 1844 #: Core/Bookmarklet/NominateThisCore.php:545 1857 msgid "There is a problem with the feed associated with this post. The feed could not be verified." 1845 msgid "The feed has been nominated successfully." 1846 msgstr "" 1847 1848 #. translators: Error text. 1849 #: Core/Bookmarklet/NominateThisCore.php:281 1850 #: Core/Bookmarklet/NominateThisCore.php:549 1851 #, php-format 1852 msgid "But the following error occured: %s" 1858 1853 msgstr "" 1859 1854 1860 1855 #: Core/Bookmarklet/NominateThisCore.php:282 1861 1856 #: Core/Bookmarklet/NominateThisCore.php:550 1857 msgid "There is a problem with the feed associated with this post. The feed could not be verified." 1858 msgstr "" 1859 1860 #: Core/Bookmarklet/NominateThisCore.php:287 1861 #: Core/Bookmarklet/NominateThisCore.php:555 1862 1862 msgid "PressForward was unable to identify a feed associated with this site. Please contact the site administrator or add the feed manually in the 'Add Feeds' panel." 1863 1863 msgstr "" 1864 1864 1865 #: Core/Bookmarklet/NominateThisCore.php:28 31866 #: Core/Bookmarklet/NominateThisCore.php:55 11865 #: Core/Bookmarklet/NominateThisCore.php:288 1866 #: Core/Bookmarklet/NominateThisCore.php:556 1867 1867 msgid "An error occured when adding the feed: " 1868 1868 msgstr "" 1869 1869 1870 #: Core/Bookmarklet/NominateThisCore.php:29 41871 #: Core/Bookmarklet/NominateThisCore.php:56 21870 #: Core/Bookmarklet/NominateThisCore.php:299 1871 #: Core/Bookmarklet/NominateThisCore.php:567 1872 1872 msgid "User doesn't have permission to create feeds." 1873 1873 msgstr "" 1874 1874 1875 #: Core/Bookmarklet/NominateThisCore.php:3 061876 #: Core/Bookmarklet/NominateThisCore.php:57 41875 #: Core/Bookmarklet/NominateThisCore.php:311 1876 #: Core/Bookmarklet/NominateThisCore.php:579 1877 1877 msgid "No feed was nominated." 1878 1878 msgstr "" 1879 1879 1880 #: Core/Bookmarklet/NominateThisCore.php:3 071881 #: Core/Bookmarklet/NominateThisCore.php:5 751880 #: Core/Bookmarklet/NominateThisCore.php:312 1881 #: Core/Bookmarklet/NominateThisCore.php:580 1882 1882 msgid "User hasn't nominated a feed." 1883 1883 msgstr "" 1884 1884 1885 #: Core/Bookmarklet/NominateThisCore.php:32 41885 #: Core/Bookmarklet/NominateThisCore.php:329 1886 1886 msgid "Last Step" 1887 1887 msgstr "" 1888 1888 1889 1889 #. translators: Name of the site. 1890 #: Core/Bookmarklet/NominateThisCore.php:39 11890 #: Core/Bookmarklet/NominateThisCore.php:396 1891 1891 #, php-format 1892 1892 msgid "[%s] You have successfully nominated an item" … … 1894 1894 1895 1895 #. translators: 1. Name of the site; 2. URL of the site. 1896 #: Core/Bookmarklet/NominateThisCore.php: 3971896 #: Core/Bookmarklet/NominateThisCore.php:402 1897 1897 #, php-format 1898 1898 msgid "You have successfully nominated an item on %1$s (%2$s)." … … 1900 1900 1901 1901 #. translators: 1. Title of the source item. 2. URL of the nomination source item. 1902 #: Core/Bookmarklet/NominateThisCore.php:4 061902 #: Core/Bookmarklet/NominateThisCore.php:411 1903 1903 #, php-format 1904 1904 msgid "Source item: %1$s (%2$s)" … … 1906 1906 1907 1907 #. translators: URL of the Nominations panel. 1908 #: Core/Bookmarklet/NominateThisCore.php:4 181908 #: Core/Bookmarklet/NominateThisCore.php:423 1909 1909 #, php-format 1910 1910 msgid "Manage nominations: %s" 1911 1911 msgstr "" 1912 1912 1913 #: Core/Bookmarklet/NominateThisCore.php:7 061914 #: Core/Bookmarklet/NominateThisCore.php:7 071913 #: Core/Bookmarklet/NominateThisCore.php:711 1914 #: Core/Bookmarklet/NominateThisCore.php:712 1915 1915 msgid "Nomination Success" 1916 1916 msgstr "" 1917 1917 1918 #: Core/Bookmarklet/NominateThisCore.php:7 261918 #: Core/Bookmarklet/NominateThisCore.php:763 1919 1919 #: includes/nomthis/nominate-this-core.php:165 1920 1920 msgid "Your nomination has been saved." 1921 1921 msgstr "" 1922 1922 1923 #: Core/Bookmarklet/NominateThisCore.php:7 271923 #: Core/Bookmarklet/NominateThisCore.php:764 1924 1924 #: includes/nomthis/nominate-this-core.php:166 1925 1925 msgid "See all nominations" 1926 1926 msgstr "" 1927 1927 1928 #: Core/Bookmarklet/NominateThisCore.php:7 281928 #: Core/Bookmarklet/NominateThisCore.php:765 1929 1929 #: includes/nomthis/nominate-this-core.php:167 1930 1930 #: includes/nomthis/nominate-this-core.php:177 … … 1939 1939 msgstr "" 1940 1940 1941 #: Core/Schema/Feeds.php:1 871941 #: Core/Schema/Feeds.php:192 1942 1942 #: parts/welcome/feeds.php:78 1943 1943 msgid "Subscribed Feeds" 1944 1944 msgstr "" 1945 1945 1946 #: Core/Schema/Feeds.php:1 881946 #: Core/Schema/Feeds.php:193 1947 1947 msgid "Feed" 1948 1948 msgstr "" 1949 1949 1950 #: Core/Schema/Feeds.php:19 01950 #: Core/Schema/Feeds.php:195 1951 1951 msgid "All Feeds" 1952 1952 msgstr "" 1953 1953 1954 #: Core/Schema/Feeds.php:19 11954 #: Core/Schema/Feeds.php:196 1955 1955 #: parts/welcome/feeds.php:105 1956 1956 msgid "Add New Feed" 1957 1957 msgstr "" 1958 1958 1959 #: Core/Schema/Feeds.php:19 21959 #: Core/Schema/Feeds.php:197 1960 1960 #: includes/nomthis/nominate-this-core.php:204 1961 1961 msgid "Edit Feed" 1962 1962 msgstr "" 1963 1963 1964 #: Core/Schema/Feeds.php:19 31964 #: Core/Schema/Feeds.php:198 1965 1965 msgid "New Feed" 1966 1966 msgstr "" 1967 1967 1968 #: Core/Schema/Feeds.php:19 41968 #: Core/Schema/Feeds.php:199 1969 1969 msgid "View Feed" 1970 1970 msgstr "" 1971 1971 1972 #: Core/Schema/Feeds.php: 1951972 #: Core/Schema/Feeds.php:200 1973 1973 msgid "Search Feeds" 1974 1974 msgstr "" 1975 1975 1976 #: Core/Schema/Feeds.php: 1961976 #: Core/Schema/Feeds.php:201 1977 1977 msgid "No feeds found" 1978 1978 msgstr "" 1979 1979 1980 #: Core/Schema/Feeds.php: 1971980 #: Core/Schema/Feeds.php:202 1981 1981 msgid "No feeds found in trash" 1982 1982 msgstr "" 1983 1983 1984 #: Core/Schema/Feeds.php:2 071984 #: Core/Schema/Feeds.php:212 1985 1985 msgid "Feeds imported by PressForward’s Feed Importer" 1986 1986 msgstr "" 1987 1987 1988 #: Core/Schema/Feeds.php:3 471988 #: Core/Schema/Feeds.php:352 1989 1989 msgctxt "pf" 1990 1990 msgid "Under Review" … … 1992 1992 1993 1993 #. Translators: Under Review feed count. 1994 #: Core/Schema/Feeds.php:35 41994 #: Core/Schema/Feeds.php:359 1995 1995 #, php-format 1996 1996 msgid "Under Review <span class=\"count\">(%s)</span>" … … 1999 1999 msgstr[1] "" 2000 2000 2001 #: Core/Schema/Feeds.php:3 792001 #: Core/Schema/Feeds.php:384 2002 2002 msgid "No alerts, never let feed go inactive." 2003 2003 msgstr "" 2004 2004 2005 #: Core/Schema/Feeds.php: 4552005 #: Core/Schema/Feeds.php:538 2006 2006 msgid "Added by" 2007 2007 msgstr "" 2008 2008 2009 #: Core/Schema/Feeds.php: 4562009 #: Core/Schema/Feeds.php:539 2010 2010 msgid "Items" 2011 2011 msgstr "" 2012 2012 2013 #: Core/Schema/Feeds.php: 4572013 #: Core/Schema/Feeds.php:540 2014 2014 msgid "Date Added" 2015 2015 msgstr "" 2016 2016 2017 #: Core/Schema/Feeds.php:6 082017 #: Core/Schema/Feeds.php:691 2018 2018 msgid "Refresh this feed" 2019 2019 msgstr "" 2020 2020 2021 #: Core/Schema/Feeds.php:6 082021 #: Core/Schema/Feeds.php:691 2022 2022 msgid "Refresh Feed Items" 2023 2023 msgstr "" 2024 2024 2025 #: Core/Schema/Feeds.php: 6602025 #: Core/Schema/Feeds.php:743 2026 2026 msgid "Not a valid feed URL." 2027 2027 msgstr "" 2028 2028 2029 #: Core/Schema/Feeds.php: 6772029 #: Core/Schema/Feeds.php:760 2030 2030 msgid "You are already subscribed to this feed." 2031 2031 msgstr "" 2032 2032 2033 2033 #. translators: 1: URL provided, 2: Validated feed URL. 2034 #: Core/Schema/Feeds.php: 6842034 #: Core/Schema/Feeds.php:767 2035 2035 #, php-format 2036 2036 msgid "You provided the URL %1$s, which is not a valid feed URL. We detected a related feed URL at %2$s." 2037 2037 msgstr "" 2038 2038 2039 #: Core/Schema/Feeds.php: 7282039 #: Core/Schema/Feeds.php:811 2040 2040 msgid "Not a valid URL." 2041 2041 msgstr "" 2042 2042 2043 #: Core/Schema/Feeds.php: 7412043 #: Core/Schema/Feeds.php:824 2044 2044 msgid "The URL returned an error." 2045 2045 msgstr "" 2046 2046 2047 #: Core/Schema/Feeds.php: 7452047 #: Core/Schema/Feeds.php:828 2048 2048 msgid "Google Scholar author feed detected." 2049 2049 msgstr "" 2050 2050 2051 #: Core/Schema/Feeds.php: 7452051 #: Core/Schema/Feeds.php:828 2052 2052 msgid "Google Scholar keyword feed detected." 2053 2053 msgstr "" 2054 2054 2055 #: Core/Schema/Feeds.php: 8842055 #: Core/Schema/Feeds.php:967 2056 2056 msgctxt "pf" 2057 2057 msgid "Removed Feed" 2058 2058 msgstr "" 2059 2059 2060 #: Core/Schema/Feeds.php:1 3672060 #: Core/Schema/Feeds.php:1450 2061 2061 msgid "The feed fails verification." 2062 2062 msgstr "" 2063 2063 2064 #: Core/Schema/Feeds.php:1 5182065 #: Core/Schema/Feeds.php:1 5212064 #: Core/Schema/Feeds.php:1601 2065 #: Core/Schema/Feeds.php:1604 2066 2066 msgid "Feed updated." 2067 2067 msgstr "" 2068 2068 2069 #: Core/Schema/Feeds.php:1 5192069 #: Core/Schema/Feeds.php:1602 2070 2070 msgid "Custom field updated." 2071 2071 msgstr "" 2072 2072 2073 #: Core/Schema/Feeds.php:1 5202073 #: Core/Schema/Feeds.php:1603 2074 2074 msgid "Custom field deleted." 2075 2075 msgstr "" 2076 2076 2077 2077 #. translators: %s: date and time of the revision 2078 #: Core/Schema/Feeds.php:1 5232078 #: Core/Schema/Feeds.php:1606 2079 2079 #, php-format 2080 2080 msgid "Feed restored to revision from %s" 2081 2081 msgstr "" 2082 2082 2083 #: Core/Schema/Feeds.php:1 5242083 #: Core/Schema/Feeds.php:1607 2084 2084 msgid "The feed was made successfully active." 2085 2085 msgstr "" 2086 2086 2087 #: Core/Schema/Feeds.php:1 5252087 #: Core/Schema/Feeds.php:1608 2088 2088 msgid "The feed was saved successfully." 2089 2089 msgstr "" 2090 2090 2091 #: Core/Schema/Feeds.php:1 5262091 #: Core/Schema/Feeds.php:1609 2092 2092 msgid "Feed submitted." 2093 2093 msgstr "" 2094 2094 2095 2095 #. translators: Publish box date format, see http://php.net/date. 2096 #: Core/Schema/Feeds.php:1 5292096 #: Core/Schema/Feeds.php:1612 2097 2097 #, php-format 2098 2098 msgid "Feed scheduled for: <strong>%1$s</strong>." 2099 2099 msgstr "" 2100 2100 2101 #: Core/Schema/Feeds.php:1 5302101 #: Core/Schema/Feeds.php:1613 2102 2102 msgid "M j, Y @ G:i" 2103 2103 msgstr "" 2104 2104 2105 #: Core/Schema/Feeds.php:1 5322105 #: Core/Schema/Feeds.php:1615 2106 2106 msgid "Feed draft updated." 2107 2107 msgstr "" … … 2260 2260 msgstr "" 2261 2261 2262 #: Core/Schema/Nominations.php:1 812262 #: Core/Schema/Nominations.php:190 2263 2263 msgid "Nomination Data" 2264 2264 msgstr "" 2265 2265 2266 #: Core/Schema/Nominations.php:20 02266 #: Core/Schema/Nominations.php:209 2267 2267 msgid "Title" 2268 2268 msgstr "" 2269 2269 2270 #: Core/Schema/Nominations.php:2 012270 #: Core/Schema/Nominations.php:210 2271 2271 msgid "Last Modified" 2272 2272 msgstr "" 2273 2273 2274 #: Core/Schema/Nominations.php:2 032274 #: Core/Schema/Nominations.php:212 2275 2275 msgid "Nominated By" 2276 2276 msgstr "" 2277 2277 2278 #: Core/Schema/Nominations.php:2 042278 #: Core/Schema/Nominations.php:213 2279 2279 msgid "Original Author" 2280 2280 msgstr "" 2281 2281 2282 2282 #. translators: Name of the site. 2283 #: Core/Schema/Nominations.php:2 712283 #: Core/Schema/Nominations.php:280 2284 2284 #, php-format 2285 2285 msgid "An item you nominated on %s has been published" … … 2287 2287 2288 2288 #. translators: Title of the post. 2289 #: Core/Schema/Nominations.php:2 792289 #: Core/Schema/Nominations.php:288 2290 2290 #, php-format 2291 2291 msgid "Title: %s" … … 2293 2293 2294 2294 #. translators: URL of the post. 2295 #: Core/Schema/Nominations.php:2 872295 #: Core/Schema/Nominations.php:296 2296 2296 #, php-format 2297 2297 msgid "URL: %s" 2298 2298 msgstr "" 2299 2299 2300 #: Core/Utility/Forward_Tools.php: 5962300 #: Core/Utility/Forward_Tools.php:601 2301 2301 msgid "External User" 2302 2302 msgstr "" … … 2317 2317 2318 2318 #. translators: Day count. 2319 #: includes/functions.php:134 02319 #: includes/functions.php:1341 2320 2320 #, php-format 2321 2321 msgid "Day: %s" … … 2323 2323 2324 2324 #. translators: Week count. 2325 #: includes/functions.php:134 22325 #: includes/functions.php:1343 2326 2326 #, php-format 2327 2327 msgid "Week: %s" … … 2329 2329 2330 2330 #. translators: Month count. 2331 #: includes/functions.php:134 42331 #: includes/functions.php:1345 2332 2332 #, php-format 2333 2333 msgid "Month: %s" 2334 2334 msgstr "" 2335 2335 2336 #: includes/functions.php:138 42336 #: includes/functions.php:1385 2337 2337 msgid "Post Not Found." 2338 2338 msgstr "" 2339 2339 2340 #: includes/functions.php:139 62340 #: includes/functions.php:1397 2341 2341 msgid "Post Type Not Matched" 2342 2342 msgstr "" 2343 2343 2344 #: includes/functions.php:140 62344 #: includes/functions.php:1407 2345 2345 msgid "Post Type Already Queued" 2346 2346 msgstr "" … … 2669 2669 2670 2670 #: modules/opml-subscribe/opml-subscribe.php:356 2671 #: modules/rss-import/rss-import.php:5 762671 #: modules/rss-import/rss-import.php:593 2672 2672 msgid "Edit." 2673 2673 msgstr "" … … 2691 2691 msgstr "" 2692 2692 2693 #: modules/rss-import/rss-import.php: 872694 #: modules/rss-import/rss-import.php:7 272693 #: modules/rss-import/rss-import.php:104 2694 #: modules/rss-import/rss-import.php:744 2695 2695 msgid "Broken RSS feed." 2696 2696 msgstr "" 2697 2697 2698 #: modules/rss-import/rss-import.php:2 712699 #: modules/rss-import/rss-import.php: 2952700 #: modules/rss-import/rss-import.php: 3972698 #: modules/rss-import/rss-import.php:288 2699 #: modules/rss-import/rss-import.php:312 2700 #: modules/rss-import/rss-import.php:414 2701 2701 msgid "No author." 2702 2702 msgstr "" 2703 2703 2704 #: modules/rss-import/rss-import.php:4 162704 #: modules/rss-import/rss-import.php:433 2705 2705 msgid "Subscribe to Feeds" 2706 2706 msgstr "" 2707 2707 2708 #: modules/rss-import/rss-import.php:4 402708 #: modules/rss-import/rss-import.php:457 2709 2709 msgid "Enter the URL of a feed. PressForward will watch the feed for updates, and will automatically import newly published items into the Feed Items area." 2710 2710 msgstr "" 2711 2711 2712 #: modules/rss-import/rss-import.php:4 442712 #: modules/rss-import/rss-import.php:461 2713 2713 msgid "RSS Feed URLs can be often be found by looking for an orange icon with the letters \"RSS\", \"XML\", or \"Atom\". If you aren't sure how to find the feed URL, enter a content URL (such as an article page) and PressForward will try to identify the feed for you. <a href=\"https://en.wikipedia.org/wiki/RSS\">Learn more about RSS</a>." 2714 2714 msgstr "" 2715 2715 2716 #: modules/rss-import/rss-import.php:4 482716 #: modules/rss-import/rss-import.php:465 2717 2717 msgid "You can also enter the URL of a Google Scholar author profile or search results page to subscribe to new publications by that author or on that topic." 2718 2718 msgstr "" 2719 2719 2720 #: modules/rss-import/rss-import.php: 4982720 #: modules/rss-import/rss-import.php:515 2721 2721 msgid "You have provided an invalid OPML file." 2722 2722 msgstr "" 2723 2723 2724 2724 #. translators: %s is the name of feed that failed to add. 2725 #: modules/rss-import/rss-import.php: 5872725 #: modules/rss-import/rss-import.php:604 2726 2726 #, php-format 2727 2727 msgid "An error occurred while trying to add %s" 2728 2728 msgstr "" 2729 2729 2730 #: modules/rss-import/rss-import.php: 5992730 #: modules/rss-import/rss-import.php:616 2731 2731 msgid "You have submitted " 2732 2732 msgstr "" -
pressforward/tags/5.9.4/modules/rss-import/rss-import.php
r3330426 r3417562 62 62 public function return_cachetime( $seconds ) { 63 63 return 1800; 64 } 65 66 /** 67 * Used to return a timeout value in seconds for HTTP requests when fetching feeds. 68 * 69 * Filters to 'http_request_timeout'. 70 * 71 * @param int $timeout Timeout in seconds. 72 * @return int 73 */ 74 public function return_feed_timeout( $timeout ) { 75 /** 76 * Filter the feed fetch timeout. 77 * 78 * @param int $timeout Timeout in seconds. Default is 60. 79 */ 80 return apply_filters( 'pf_feed_fetch_timeout', 60 ); 64 81 } 65 82 … … 107 124 108 125 add_filter( 'wp_feed_cache_transient_lifetime', array( $this, 'return_cachetime' ) ); 126 add_filter( 'http_request_timeout', array( $this, 'return_feed_timeout' ) ); 109 127 $simplepie_feed = pf_fetch_feed( $url ); 128 remove_filter( 'http_request_timeout', array( $this, 'return_feed_timeout' ) ); 110 129 remove_filter( 'wp_feed_cache_transient_lifetime', array( $this, 'return_cachetime' ) ); 111 130 … … 113 132 return new WP_Error( 'feed_error', 'Could not fetch feed.', $simplepie_feed ); 114 133 } 115 116 $simplepie_feed->set_timeout( 60 );117 134 118 135 return $this->process_feed_items( $simplepie_feed, $feed ); -
pressforward/tags/5.9.4/package.json
r3356897 r3417562 1 1 { 2 2 "name": "pressforward", 3 "version": "5.9. 3",3 "version": "5.9.4", 4 4 "description": "PressForward is a free plugin that provides an editorial workflow for content aggregation and curation within the WordPress dashboard. It is designed for bloggers and editorial teams who wish to collect, discuss, and share content from a variety of sources on the open web. ", 5 5 "main": "assets/js/pf.js", -
pressforward/tags/5.9.4/pressforward.php
r3356897 r3417562 4 4 * Plugin URI: http://pressforward.org/ 5 5 * Description: The PressForward Plugin is a tool by the Roy Rosenzweig Center for History and New Media for aggregating and curating web-based content within the WordPress dashboard. 6 * Version: 5.9. 36 * Version: 5.9.4 7 7 * GitHub Plugin URI: https://github.com/PressForward/pressforward 8 8 * Author: Boone Gorges, Aram Zucker-Scharff, Jeremy Boggs -
pressforward/tags/5.9.4/readme.md
r3207176 r3417562 2 2 - Plugin URI: http://pressforward.org/ 3 3 - Description: PressForward is a WordPress plugin built to process feeds as a feed reader, allow groups to share and discuss the items that come in and then blog about them as an integrated editorial process. 4 - Version: 5. 64 - Version: 5.8 5 5 - Author: Boone B Gorges, Aram Zucker-Scharff, Jeremy Boggs 6 6 - Author URI: http://pressforward.org/ … … 9 9 10 10 11 Funded and Maintained by Digital Scholar. Initially developed for the Roy Rosenzweig Center for History and New Media at George Mason University, with funding from the Alfred P. Sloan Foundation.11 Funded and maintained by Digital Scholar. Initially developed for the Roy Rosenzweig Center for History and New Media at George Mason University, with funding from the Alfred P. Sloan Foundation. 12 12 13 13 ## Building this plugin -
pressforward/tags/5.9.4/readme.txt
r3356900 r3417562 4 4 Tags: aggregate, aggregation, aggregator, atom, attribution, circulate, collect, community, content curation, curate, curation, curation tool, discuss, distribute, editorial, feed, network, news, opml, OPML, read, reader, reblog, reblogging, republish, review, RSS, rss, share, syndicate, syndication, workflow 5 5 Requires at least: 5.7 6 Tested up to: 6. 86 Tested up to: 6.9 7 7 Stable tag: 5.9.3 8 8 License: AGPLv3 … … 82 82 83 83 == Changelog == 84 85 = 5.9.4 = 86 * Added resiliency check to ensure that RSS feeds have corresponding fetch cron jobs set. 87 * Fixed bug that prevented Subscribers from having full access to the Nominate This tools (when the site admin had allowed Subscribers to have access to Nominate This). 88 * Fixed bug that caused fatal errors on certain version of PHP when fetching RSS feeds. 89 * Improved filtering of author names so that PF items on the front end show as being written by the "Author on Source" in widgets and other common contexts. 90 * Some fixes to internationalization and escaping. 84 91 85 92 = 5.9.3 = -
pressforward/tags/5.9.4/vendor/composer/autoload_static.php
r2911375 r3417562 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( 10 'm' => 10 'm' => 11 11 array ( 12 12 'mattwright\\' => 11, 13 13 ), 14 'f' => 14 'f' => 15 15 array ( 16 16 'fivefilters\\Readability\\' => 24, 17 17 ), 18 'P' => 18 'P' => 19 19 array ( 20 20 'Psr\\Log\\' => 8, 21 21 'Psr\\Http\\Message\\' => 17, 22 22 ), 23 'M' => 23 'M' => 24 24 array ( 25 25 'Masterminds\\' => 12, 26 26 ), 27 'L' => 27 'L' => 28 28 array ( 29 29 'League\\Uri\\' => 11, 30 30 ), 31 'F' => 31 'F' => 32 32 array ( 33 33 'Firebase\\JWT\\' => 13, … … 36 36 37 37 public static $prefixDirsPsr4 = array ( 38 'mattwright\\' => 38 'mattwright\\' => 39 39 array ( 40 40 0 => __DIR__ . '/..' . '/mattwright/urlresolver', 41 41 ), 42 'fivefilters\\Readability\\' => 42 'fivefilters\\Readability\\' => 43 43 array ( 44 44 0 => __DIR__ . '/..' . '/fivefilters/readability.php/src', 45 45 ), 46 'Psr\\Log\\' => 46 'Psr\\Log\\' => 47 47 array ( 48 48 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', 49 49 ), 50 'Psr\\Http\\Message\\' => 50 'Psr\\Http\\Message\\' => 51 51 array ( 52 52 0 => __DIR__ . '/..' . '/psr/http-message/src', 53 53 ), 54 'Masterminds\\' => 54 'Masterminds\\' => 55 55 array ( 56 56 0 => __DIR__ . '/..' . '/masterminds/html5/src', 57 57 ), 58 'League\\Uri\\' => 58 'League\\Uri\\' => 59 59 array ( 60 60 0 => __DIR__ . '/..' . '/league/uri/src', 61 61 1 => __DIR__ . '/..' . '/league/uri-interfaces/src', 62 62 ), 63 'Firebase\\JWT\\' => 63 'Firebase\\JWT\\' => 64 64 array ( 65 65 0 => __DIR__ . '/..' . '/firebase/php-jwt/src', … … 68 68 69 69 public static $prefixesPsr0 = array ( 70 'D' => 70 'D' => 71 71 array ( 72 'DaveChild\\TextStatistics' => 72 'DaveChild\\TextStatistics' => 73 73 array ( 74 74 0 => __DIR__ . '/..' . '/davechild/textstatistics/src', -
pressforward/tags/5.9.4/vendor/composer/installed.php
r3356897 r3417562 4 4 'pretty_version' => '5.9.x-dev', 5 5 'version' => '5.9.9999999.9999999-dev', 6 'reference' => ' 3ad16ff9f581a411eb5e17fe52e371b7f69a91e2',6 'reference' => 'de7ebecf3e09a06ef6deae03ce01510990d10e16', 7 7 'type' => 'project', 8 8 'install_path' => __DIR__ . '/../../', … … 86 86 'pretty_version' => '5.9.x-dev', 87 87 'version' => '5.9.9999999.9999999-dev', 88 'reference' => ' 3ad16ff9f581a411eb5e17fe52e371b7f69a91e2',88 'reference' => 'de7ebecf3e09a06ef6deae03ce01510990d10e16', 89 89 'type' => 'project', 90 90 'install_path' => __DIR__ . '/../../', -
pressforward/trunk/Core/Bookmarklet/NominateThisCore.php
r3356897 r3417562 48 48 ), 49 49 array( 50 'hook' => 'admin_menu', 51 'method' => 'register_nomination_success_panel', 50 'hook' => 'admin_menu', 51 'method' => 'register_nomination_success_panel', 52 'priority' => 20, 53 ), 54 array( 55 'hook' => 'admin_head', 56 'method' => 'remove_nomination_add_new_menu_item', 52 57 ), 53 58 ); … … 223 228 if ( $internal ) { 224 229 if ( ! current_user_can( get_option( 'pf_menu_nominate_this_access', pressforward( 'controller.users' )->pf_get_defining_capability_by_role( 'contributor' ) ) ) ) { 225 wp_die( esc_html_ e( 'You do not have access to the Nominate This bookmarklet.', 'pressforward' ) );230 wp_die( esc_html__( 'You do not have access to the Nominate This bookmarklet.', 'pressforward' ) ); 226 231 } 227 232 } … … 710 715 [ $this, 'nomination_success_panel' ] 711 716 ); 717 718 /* 719 * We also take this opportunity to add the 'Add New Nomination' panel. 720 * We need to add it because otherwise cap checks will fail when 721 * loading the bookmarklet URL in certain cases. And the 'Add New' panel 722 * doesn't appear natively because we use a different parent when registering 723 * the post type (show_in_menu). The menu item is removed before rendering. 724 */ 725 $pt = get_post_type_object( 'nomination' ); 726 if ( $pt && is_string( $pt->show_in_menu ) ) { 727 add_submenu_page( 728 $pt->show_in_menu, 729 $pt->labels->add_new_item, 730 $pt->labels->add_new_item, 731 $pt->cap->create_posts, 732 "post-new.php?post_type={$pt->name}" 733 ); 734 } 735 } 736 737 /** 738 * Removes the 'Add New Nomination' menu item from the admin menu. 739 * 740 * This is hooked to 'admin_head', which runs after the menu is built but before 741 * the page is rendered. 742 * 743 * @since 5.6.0 744 * 745 * @return void 746 */ 747 public function remove_nomination_add_new_menu_item() { 748 remove_submenu_page( 'pf-menu', 'post-new.php?post_type=nomination' ); 712 749 } 713 750 -
pressforward/trunk/Core/Schema/Feeds.php
r3356897 r3417562 70 70 'method' => 'register_feed_post_type', 71 71 'priority' => 10, 72 ), 73 array( 74 'hook' => 'init', 75 'method' => 'check_feed_retrieval_cron_jobs', 76 'priority' => 20, 72 77 ), 73 78 array( … … 423 428 424 429 /** 430 * Incrementally checks and schedules retrieval cron jobs for feeds. 431 * 432 * This method runs on 'init' and checks a batch of feeds to ensure they have 433 * retrieval cron jobs scheduled. It uses a timestamp and counter system to 434 * process feeds incrementally, avoiding overload on sites with many feeds. 435 * 436 * The check runs once per hour and processes up to 100 feeds per run. When 437 * all feeds have been checked, the counter resets and the cycle starts again. 438 * 439 * @since 5.9.4 440 * 441 * @return void 442 */ 443 public function check_feed_retrieval_cron_jobs() { 444 // Get the last check timestamp and counter. 445 $last_check_time = get_option( 'pf_feed_cron_check_timestamp', 0 ); 446 $current_time = time(); 447 448 // Only run the check once per hour. 449 if ( ( $current_time - $last_check_time ) < HOUR_IN_SECONDS ) { 450 return; 451 } 452 453 // Get the current position in the feed list. 454 $offset = (int) get_option( 'pf_feed_cron_check_offset', 0 ); 455 456 // Query for a batch of feeds. 457 $batch_size = apply_filters( 'pf_feed_cron_check_batch_size', 100 ); 458 $args = array( 459 'post_type' => $this->post_type, 460 'post_status' => 'publish', 461 'posts_per_page' => $batch_size, 462 'offset' => $offset, 463 'orderby' => 'ID', 464 'order' => 'ASC', 465 'fields' => 'ids', 466 ); 467 468 $feed_ids = get_posts( $args ); 469 470 // If no feeds found, reset the counter and exit. 471 if ( empty( $feed_ids ) ) { 472 update_option( 'pf_feed_cron_check_offset', 0 ); 473 return; 474 } 475 476 // Check each feed and schedule retrieval if needed. 477 foreach ( $feed_ids as $feed_id ) { 478 $feed = Feed::get_instance_by_id( $feed_id ); 479 if ( ! $feed ) { 480 continue; 481 } 482 483 // Check if the retrieval is already scheduled. 484 $next_scheduled = $feed->get_next_scheduled_retrieval(); 485 if ( ! $next_scheduled ) { 486 // Schedule retrieval for this feed. 487 $feed->schedule_retrieval(); 488 } 489 } 490 491 // Calculate the next offset position. 492 $calculated_offset = $offset + count( $feed_ids ); 493 494 // Check if we've reached the end of the feed list. 495 if ( count( $feed_ids ) < $batch_size ) { 496 // Reset to start from the beginning in the next cycle. 497 update_option( 'pf_feed_cron_check_offset', 0 ); 498 } else { 499 // Continue from where we left off. 500 update_option( 'pf_feed_cron_check_offset', $calculated_offset ); 501 } 502 503 // Update the timestamp after successful completion to prevent multiple checks. 504 update_option( 'pf_feed_cron_check_timestamp', $current_time ); 505 } 506 507 /** 425 508 * Handles submitbox actions on save. 426 509 * -
pressforward/trunk/Core/Schema/Nominations.php
r3356899 r3417562 135 135 136 136 // We must 'show_in_menu' but we also want to remove the 'Nominations' item from the admin menu. 137 add_action( 'admin_menu', function() { 138 remove_submenu_page( PF_MENU_SLUG, 'edit.php?post_type=nomination' ); 139 }, 999 ); 137 add_action( 138 'admin_menu', 139 function () { 140 remove_submenu_page( PF_MENU_SLUG, 'edit.php?post_type=nomination' ); 141 }, 142 999 143 ); 140 144 } 141 145 -
pressforward/trunk/Core/Utility/Forward_Tools.php
r3207176 r3417562 83 83 public function get_nomination_nominator_array( $nomination_id ) { 84 84 $nominators = $this->metas->get_post_pf_meta( $nomination_id, 'nominator_array' ); 85 86 if ( is_string( $nominators ) ) { 87 $nominators = wp_parse_id_list( $nominators ); 88 } 89 85 90 if ( ! $nominators ) { 86 91 $nominators = []; -
pressforward/trunk/constants.php
r3356897 r3417562 14 14 define( 'PF_FILE_PATH', PF_ROOT . '/pressforward.php' ); 15 15 define( 'PF_URL', plugins_url( '/', __FILE__ ) ); 16 define( 'PF_VERSION', '5.9. 3' );16 define( 'PF_VERSION', '5.9.4' ); -
pressforward/trunk/includes/functions.php
r3330426 r3417562 966 966 } 967 967 add_filter( 'the_author', 'pf_replace_author_presentation' ); 968 add_filter( 'get_the_author_display_name', 'pf_replace_author_presentation' ); 968 969 969 970 /** -
pressforward/trunk/includes/module-base.php
r3330426 r3417562 187 187 188 188 <td> 189 <select id="<?php e sc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>" name="<?php echo esc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>">189 <select id="<?php echo esc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>" name="<?php echo esc_attr( PF_SLUG . '_' . $module_id . '_enable' ); ?>"> 190 190 <option value="yes" <?php selected( $enabled, 'yes' ); ?>><?php esc_html_e( 'Yes', 'pressforward' ); ?></option> 191 191 <option value="no" <?php selected( $enabled, 'no' ); ?>><?php esc_html_e( 'No', 'pressforward' ); ?></option> -
pressforward/trunk/languages/pressforward.pot
r3356897 r3417562 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025- 09-05T15:46:19-05:00\n"12 "POT-Creation-Date: 2025-12-11T09:49:08-06:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 242 242 243 243 #: Controllers/Metas.php:597 244 #: Core/Bookmarklet/NominateThisCore.php:9 2244 #: Core/Bookmarklet/NominateThisCore.php:97 245 245 msgid "Tags" 246 246 msgstr "" … … 297 297 #: Core/Admin/Menu.php:189 298 298 #: Core/Schema/Nominations.php:78 299 #: Core/Schema/Nominations.php:2 02299 #: Core/Schema/Nominations.php:211 300 300 #: parts/welcome/nominations.php:29 301 301 msgid "Nominations" … … 360 360 #: Controllers/Metas.php:687 361 361 #: Core/Admin/AddFeeds.php:136 362 #: modules/rss-import/rss-import.php:4 65362 #: modules/rss-import/rss-import.php:482 363 363 #: assets/src/nominate-this-block-editor/nominate-this-block-editor.js:63 364 364 #: assets/src/nominate-this-block-editor/nominate-this-block-editor.js:69 … … 471 471 #: Controllers/Metas.php:837 472 472 #: Core/Admin/SubscribedFeeds.php:536 473 #: modules/rss-import/rss-import.php:4 55473 #: modules/rss-import/rss-import.php:472 474 474 #: assets/src/block-editor-feeds/block-editor-feeds.js:53 475 475 #: build/block-editor-feeds.js:1 … … 914 914 915 915 #: Core/Admin/AddFeeds.php:141 916 #: modules/rss-import/rss-import.php:4 21916 #: modules/rss-import/rss-import.php:438 917 917 msgid "Import OPML" 918 918 msgstr "" … … 995 995 996 996 #: Core/Admin/Menu.php:198 997 #: Core/Schema/Feeds.php:2 05997 #: Core/Schema/Feeds.php:210 998 998 #: parts/welcome/feeds.php:27 999 999 msgid "Feeds" … … 1015 1015 1016 1016 #: Core/Admin/Menu.php:335 1017 #: Core/Bookmarklet/NominateThisCore.php: 761017 #: Core/Bookmarklet/NominateThisCore.php:81 1018 1018 #: includes/nomthis/nominate-this-core.php:77 1019 1019 #: parts/nominate-this-buttons.tpl.php:17 … … 1099 1099 1100 1100 #: Core/Admin/Nominated.php:742 1101 #: Core/Schema/Nominations.php:2 051101 #: Core/Schema/Nominations.php:214 1102 1102 #: assets/src/blocks/blocks.js:225 1103 1103 #: build/blocks.js:1 … … 1274 1274 #: Core/Admin/PFTemplater.php:435 1275 1275 #: modules/opml-subscribe/opml-subscribe.php:316 1276 #: modules/rss-import/rss-import.php:4 611276 #: modules/rss-import/rss-import.php:478 1277 1277 #: parts/settings/settings-page.tpl.php:80 1278 1278 #: assets/src/add-feeds/add-feeds.js:66 … … 1503 1503 1504 1504 #: Core/Admin/PFTemplater.php:1131 1505 #: Core/Bookmarklet/NominateThisCore.php:12 41505 #: Core/Bookmarklet/NominateThisCore.php:129 1506 1506 #: Core/Schema/Nominations.php:80 1507 1507 #: assets/src/reader/util.js:284 … … 1512 1512 1513 1513 #: Core/Admin/PFTemplater.php:1154 1514 #: Core/Bookmarklet/NominateThisCore.php:13 21514 #: Core/Bookmarklet/NominateThisCore.php:137 1515 1515 msgid "Send to " 1516 1516 msgstr "" … … 1805 1805 msgstr "" 1806 1806 1807 #: Core/Bookmarklet/NominateThisCore.php:8 41807 #: Core/Bookmarklet/NominateThisCore.php:89 1808 1808 msgid "Categories" 1809 1809 msgstr "" 1810 1810 1811 #: Core/Bookmarklet/NominateThisCore.php:1 261811 #: Core/Bookmarklet/NominateThisCore.php:131 1812 1812 msgid "You do not have the ability to create nominations." 1813 1813 msgstr "" 1814 1814 1815 #: Core/Bookmarklet/NominateThisCore.php:14 31815 #: Core/Bookmarklet/NominateThisCore.php:148 1816 1816 msgid "Enter Authors" 1817 1817 msgstr "" 1818 1818 1819 #: Core/Bookmarklet/NominateThisCore.php:1 471819 #: Core/Bookmarklet/NominateThisCore.php:152 1820 1820 msgid "Nominate feed associated with item." 1821 1821 msgstr "" 1822 1822 1823 #: Core/Bookmarklet/NominateThisCore.php:1 691823 #: Core/Bookmarklet/NominateThisCore.php:174 1824 1824 msgid "Enter Tags" 1825 1825 msgstr "" 1826 1826 1827 #: Core/Bookmarklet/NominateThisCore.php:2 251827 #: Core/Bookmarklet/NominateThisCore.php:230 1828 1828 msgid "You do not have access to the Nominate This bookmarklet." 1829 1829 msgstr "" 1830 1830 1831 #: Core/Bookmarklet/NominateThisCore.php:26 41832 #: Core/Bookmarklet/NominateThisCore.php:53 21831 #: Core/Bookmarklet/NominateThisCore.php:269 1832 #: Core/Bookmarklet/NominateThisCore.php:537 1833 1833 msgid "Attempting to nominate a feed with the result of:" 1834 1834 msgstr "" 1835 1835 1836 1836 #. translators: feed ID. 1837 #: Core/Bookmarklet/NominateThisCore.php:2711838 #: Core/Bookmarklet/NominateThisCore.php:5391839 #, php-format1840 msgid "Feed created with ID: %s"1841 msgstr ""1842 1843 #: Core/Bookmarklet/NominateThisCore.php:2721844 #: Core/Bookmarklet/NominateThisCore.php:5401845 msgid "The feed has been nominated successfully."1846 msgstr ""1847 1848 #. translators: Error text.1849 1837 #: Core/Bookmarklet/NominateThisCore.php:276 1850 1838 #: Core/Bookmarklet/NominateThisCore.php:544 1851 1839 #, php-format 1852 msgid " But the following error occured: %s"1840 msgid "Feed created with ID: %s" 1853 1841 msgstr "" 1854 1842 1855 1843 #: Core/Bookmarklet/NominateThisCore.php:277 1856 1844 #: Core/Bookmarklet/NominateThisCore.php:545 1857 msgid "There is a problem with the feed associated with this post. The feed could not be verified." 1845 msgid "The feed has been nominated successfully." 1846 msgstr "" 1847 1848 #. translators: Error text. 1849 #: Core/Bookmarklet/NominateThisCore.php:281 1850 #: Core/Bookmarklet/NominateThisCore.php:549 1851 #, php-format 1852 msgid "But the following error occured: %s" 1858 1853 msgstr "" 1859 1854 1860 1855 #: Core/Bookmarklet/NominateThisCore.php:282 1861 1856 #: Core/Bookmarklet/NominateThisCore.php:550 1857 msgid "There is a problem with the feed associated with this post. The feed could not be verified." 1858 msgstr "" 1859 1860 #: Core/Bookmarklet/NominateThisCore.php:287 1861 #: Core/Bookmarklet/NominateThisCore.php:555 1862 1862 msgid "PressForward was unable to identify a feed associated with this site. Please contact the site administrator or add the feed manually in the 'Add Feeds' panel." 1863 1863 msgstr "" 1864 1864 1865 #: Core/Bookmarklet/NominateThisCore.php:28 31866 #: Core/Bookmarklet/NominateThisCore.php:55 11865 #: Core/Bookmarklet/NominateThisCore.php:288 1866 #: Core/Bookmarklet/NominateThisCore.php:556 1867 1867 msgid "An error occured when adding the feed: " 1868 1868 msgstr "" 1869 1869 1870 #: Core/Bookmarklet/NominateThisCore.php:29 41871 #: Core/Bookmarklet/NominateThisCore.php:56 21870 #: Core/Bookmarklet/NominateThisCore.php:299 1871 #: Core/Bookmarklet/NominateThisCore.php:567 1872 1872 msgid "User doesn't have permission to create feeds." 1873 1873 msgstr "" 1874 1874 1875 #: Core/Bookmarklet/NominateThisCore.php:3 061876 #: Core/Bookmarklet/NominateThisCore.php:57 41875 #: Core/Bookmarklet/NominateThisCore.php:311 1876 #: Core/Bookmarklet/NominateThisCore.php:579 1877 1877 msgid "No feed was nominated." 1878 1878 msgstr "" 1879 1879 1880 #: Core/Bookmarklet/NominateThisCore.php:3 071881 #: Core/Bookmarklet/NominateThisCore.php:5 751880 #: Core/Bookmarklet/NominateThisCore.php:312 1881 #: Core/Bookmarklet/NominateThisCore.php:580 1882 1882 msgid "User hasn't nominated a feed." 1883 1883 msgstr "" 1884 1884 1885 #: Core/Bookmarklet/NominateThisCore.php:32 41885 #: Core/Bookmarklet/NominateThisCore.php:329 1886 1886 msgid "Last Step" 1887 1887 msgstr "" 1888 1888 1889 1889 #. translators: Name of the site. 1890 #: Core/Bookmarklet/NominateThisCore.php:39 11890 #: Core/Bookmarklet/NominateThisCore.php:396 1891 1891 #, php-format 1892 1892 msgid "[%s] You have successfully nominated an item" … … 1894 1894 1895 1895 #. translators: 1. Name of the site; 2. URL of the site. 1896 #: Core/Bookmarklet/NominateThisCore.php: 3971896 #: Core/Bookmarklet/NominateThisCore.php:402 1897 1897 #, php-format 1898 1898 msgid "You have successfully nominated an item on %1$s (%2$s)." … … 1900 1900 1901 1901 #. translators: 1. Title of the source item. 2. URL of the nomination source item. 1902 #: Core/Bookmarklet/NominateThisCore.php:4 061902 #: Core/Bookmarklet/NominateThisCore.php:411 1903 1903 #, php-format 1904 1904 msgid "Source item: %1$s (%2$s)" … … 1906 1906 1907 1907 #. translators: URL of the Nominations panel. 1908 #: Core/Bookmarklet/NominateThisCore.php:4 181908 #: Core/Bookmarklet/NominateThisCore.php:423 1909 1909 #, php-format 1910 1910 msgid "Manage nominations: %s" 1911 1911 msgstr "" 1912 1912 1913 #: Core/Bookmarklet/NominateThisCore.php:7 061914 #: Core/Bookmarklet/NominateThisCore.php:7 071913 #: Core/Bookmarklet/NominateThisCore.php:711 1914 #: Core/Bookmarklet/NominateThisCore.php:712 1915 1915 msgid "Nomination Success" 1916 1916 msgstr "" 1917 1917 1918 #: Core/Bookmarklet/NominateThisCore.php:7 261918 #: Core/Bookmarklet/NominateThisCore.php:763 1919 1919 #: includes/nomthis/nominate-this-core.php:165 1920 1920 msgid "Your nomination has been saved." 1921 1921 msgstr "" 1922 1922 1923 #: Core/Bookmarklet/NominateThisCore.php:7 271923 #: Core/Bookmarklet/NominateThisCore.php:764 1924 1924 #: includes/nomthis/nominate-this-core.php:166 1925 1925 msgid "See all nominations" 1926 1926 msgstr "" 1927 1927 1928 #: Core/Bookmarklet/NominateThisCore.php:7 281928 #: Core/Bookmarklet/NominateThisCore.php:765 1929 1929 #: includes/nomthis/nominate-this-core.php:167 1930 1930 #: includes/nomthis/nominate-this-core.php:177 … … 1939 1939 msgstr "" 1940 1940 1941 #: Core/Schema/Feeds.php:1 871941 #: Core/Schema/Feeds.php:192 1942 1942 #: parts/welcome/feeds.php:78 1943 1943 msgid "Subscribed Feeds" 1944 1944 msgstr "" 1945 1945 1946 #: Core/Schema/Feeds.php:1 881946 #: Core/Schema/Feeds.php:193 1947 1947 msgid "Feed" 1948 1948 msgstr "" 1949 1949 1950 #: Core/Schema/Feeds.php:19 01950 #: Core/Schema/Feeds.php:195 1951 1951 msgid "All Feeds" 1952 1952 msgstr "" 1953 1953 1954 #: Core/Schema/Feeds.php:19 11954 #: Core/Schema/Feeds.php:196 1955 1955 #: parts/welcome/feeds.php:105 1956 1956 msgid "Add New Feed" 1957 1957 msgstr "" 1958 1958 1959 #: Core/Schema/Feeds.php:19 21959 #: Core/Schema/Feeds.php:197 1960 1960 #: includes/nomthis/nominate-this-core.php:204 1961 1961 msgid "Edit Feed" 1962 1962 msgstr "" 1963 1963 1964 #: Core/Schema/Feeds.php:19 31964 #: Core/Schema/Feeds.php:198 1965 1965 msgid "New Feed" 1966 1966 msgstr "" 1967 1967 1968 #: Core/Schema/Feeds.php:19 41968 #: Core/Schema/Feeds.php:199 1969 1969 msgid "View Feed" 1970 1970 msgstr "" 1971 1971 1972 #: Core/Schema/Feeds.php: 1951972 #: Core/Schema/Feeds.php:200 1973 1973 msgid "Search Feeds" 1974 1974 msgstr "" 1975 1975 1976 #: Core/Schema/Feeds.php: 1961976 #: Core/Schema/Feeds.php:201 1977 1977 msgid "No feeds found" 1978 1978 msgstr "" 1979 1979 1980 #: Core/Schema/Feeds.php: 1971980 #: Core/Schema/Feeds.php:202 1981 1981 msgid "No feeds found in trash" 1982 1982 msgstr "" 1983 1983 1984 #: Core/Schema/Feeds.php:2 071984 #: Core/Schema/Feeds.php:212 1985 1985 msgid "Feeds imported by PressForward’s Feed Importer" 1986 1986 msgstr "" 1987 1987 1988 #: Core/Schema/Feeds.php:3 471988 #: Core/Schema/Feeds.php:352 1989 1989 msgctxt "pf" 1990 1990 msgid "Under Review" … … 1992 1992 1993 1993 #. Translators: Under Review feed count. 1994 #: Core/Schema/Feeds.php:35 41994 #: Core/Schema/Feeds.php:359 1995 1995 #, php-format 1996 1996 msgid "Under Review <span class=\"count\">(%s)</span>" … … 1999 1999 msgstr[1] "" 2000 2000 2001 #: Core/Schema/Feeds.php:3 792001 #: Core/Schema/Feeds.php:384 2002 2002 msgid "No alerts, never let feed go inactive." 2003 2003 msgstr "" 2004 2004 2005 #: Core/Schema/Feeds.php: 4552005 #: Core/Schema/Feeds.php:538 2006 2006 msgid "Added by" 2007 2007 msgstr "" 2008 2008 2009 #: Core/Schema/Feeds.php: 4562009 #: Core/Schema/Feeds.php:539 2010 2010 msgid "Items" 2011 2011 msgstr "" 2012 2012 2013 #: Core/Schema/Feeds.php: 4572013 #: Core/Schema/Feeds.php:540 2014 2014 msgid "Date Added" 2015 2015 msgstr "" 2016 2016 2017 #: Core/Schema/Feeds.php:6 082017 #: Core/Schema/Feeds.php:691 2018 2018 msgid "Refresh this feed" 2019 2019 msgstr "" 2020 2020 2021 #: Core/Schema/Feeds.php:6 082021 #: Core/Schema/Feeds.php:691 2022 2022 msgid "Refresh Feed Items" 2023 2023 msgstr "" 2024 2024 2025 #: Core/Schema/Feeds.php: 6602025 #: Core/Schema/Feeds.php:743 2026 2026 msgid "Not a valid feed URL." 2027 2027 msgstr "" 2028 2028 2029 #: Core/Schema/Feeds.php: 6772029 #: Core/Schema/Feeds.php:760 2030 2030 msgid "You are already subscribed to this feed." 2031 2031 msgstr "" 2032 2032 2033 2033 #. translators: 1: URL provided, 2: Validated feed URL. 2034 #: Core/Schema/Feeds.php: 6842034 #: Core/Schema/Feeds.php:767 2035 2035 #, php-format 2036 2036 msgid "You provided the URL %1$s, which is not a valid feed URL. We detected a related feed URL at %2$s." 2037 2037 msgstr "" 2038 2038 2039 #: Core/Schema/Feeds.php: 7282039 #: Core/Schema/Feeds.php:811 2040 2040 msgid "Not a valid URL." 2041 2041 msgstr "" 2042 2042 2043 #: Core/Schema/Feeds.php: 7412043 #: Core/Schema/Feeds.php:824 2044 2044 msgid "The URL returned an error." 2045 2045 msgstr "" 2046 2046 2047 #: Core/Schema/Feeds.php: 7452047 #: Core/Schema/Feeds.php:828 2048 2048 msgid "Google Scholar author feed detected." 2049 2049 msgstr "" 2050 2050 2051 #: Core/Schema/Feeds.php: 7452051 #: Core/Schema/Feeds.php:828 2052 2052 msgid "Google Scholar keyword feed detected." 2053 2053 msgstr "" 2054 2054 2055 #: Core/Schema/Feeds.php: 8842055 #: Core/Schema/Feeds.php:967 2056 2056 msgctxt "pf" 2057 2057 msgid "Removed Feed" 2058 2058 msgstr "" 2059 2059 2060 #: Core/Schema/Feeds.php:1 3672060 #: Core/Schema/Feeds.php:1450 2061 2061 msgid "The feed fails verification." 2062 2062 msgstr "" 2063 2063 2064 #: Core/Schema/Feeds.php:1 5182065 #: Core/Schema/Feeds.php:1 5212064 #: Core/Schema/Feeds.php:1601 2065 #: Core/Schema/Feeds.php:1604 2066 2066 msgid "Feed updated." 2067 2067 msgstr "" 2068 2068 2069 #: Core/Schema/Feeds.php:1 5192069 #: Core/Schema/Feeds.php:1602 2070 2070 msgid "Custom field updated." 2071 2071 msgstr "" 2072 2072 2073 #: Core/Schema/Feeds.php:1 5202073 #: Core/Schema/Feeds.php:1603 2074 2074 msgid "Custom field deleted." 2075 2075 msgstr "" 2076 2076 2077 2077 #. translators: %s: date and time of the revision 2078 #: Core/Schema/Feeds.php:1 5232078 #: Core/Schema/Feeds.php:1606 2079 2079 #, php-format 2080 2080 msgid "Feed restored to revision from %s" 2081 2081 msgstr "" 2082 2082 2083 #: Core/Schema/Feeds.php:1 5242083 #: Core/Schema/Feeds.php:1607 2084 2084 msgid "The feed was made successfully active." 2085 2085 msgstr "" 2086 2086 2087 #: Core/Schema/Feeds.php:1 5252087 #: Core/Schema/Feeds.php:1608 2088 2088 msgid "The feed was saved successfully." 2089 2089 msgstr "" 2090 2090 2091 #: Core/Schema/Feeds.php:1 5262091 #: Core/Schema/Feeds.php:1609 2092 2092 msgid "Feed submitted." 2093 2093 msgstr "" 2094 2094 2095 2095 #. translators: Publish box date format, see http://php.net/date. 2096 #: Core/Schema/Feeds.php:1 5292096 #: Core/Schema/Feeds.php:1612 2097 2097 #, php-format 2098 2098 msgid "Feed scheduled for: <strong>%1$s</strong>." 2099 2099 msgstr "" 2100 2100 2101 #: Core/Schema/Feeds.php:1 5302101 #: Core/Schema/Feeds.php:1613 2102 2102 msgid "M j, Y @ G:i" 2103 2103 msgstr "" 2104 2104 2105 #: Core/Schema/Feeds.php:1 5322105 #: Core/Schema/Feeds.php:1615 2106 2106 msgid "Feed draft updated." 2107 2107 msgstr "" … … 2260 2260 msgstr "" 2261 2261 2262 #: Core/Schema/Nominations.php:1 812262 #: Core/Schema/Nominations.php:190 2263 2263 msgid "Nomination Data" 2264 2264 msgstr "" 2265 2265 2266 #: Core/Schema/Nominations.php:20 02266 #: Core/Schema/Nominations.php:209 2267 2267 msgid "Title" 2268 2268 msgstr "" 2269 2269 2270 #: Core/Schema/Nominations.php:2 012270 #: Core/Schema/Nominations.php:210 2271 2271 msgid "Last Modified" 2272 2272 msgstr "" 2273 2273 2274 #: Core/Schema/Nominations.php:2 032274 #: Core/Schema/Nominations.php:212 2275 2275 msgid "Nominated By" 2276 2276 msgstr "" 2277 2277 2278 #: Core/Schema/Nominations.php:2 042278 #: Core/Schema/Nominations.php:213 2279 2279 msgid "Original Author" 2280 2280 msgstr "" 2281 2281 2282 2282 #. translators: Name of the site. 2283 #: Core/Schema/Nominations.php:2 712283 #: Core/Schema/Nominations.php:280 2284 2284 #, php-format 2285 2285 msgid "An item you nominated on %s has been published" … … 2287 2287 2288 2288 #. translators: Title of the post. 2289 #: Core/Schema/Nominations.php:2 792289 #: Core/Schema/Nominations.php:288 2290 2290 #, php-format 2291 2291 msgid "Title: %s" … … 2293 2293 2294 2294 #. translators: URL of the post. 2295 #: Core/Schema/Nominations.php:2 872295 #: Core/Schema/Nominations.php:296 2296 2296 #, php-format 2297 2297 msgid "URL: %s" 2298 2298 msgstr "" 2299 2299 2300 #: Core/Utility/Forward_Tools.php: 5962300 #: Core/Utility/Forward_Tools.php:601 2301 2301 msgid "External User" 2302 2302 msgstr "" … … 2317 2317 2318 2318 #. translators: Day count. 2319 #: includes/functions.php:134 02319 #: includes/functions.php:1341 2320 2320 #, php-format 2321 2321 msgid "Day: %s" … … 2323 2323 2324 2324 #. translators: Week count. 2325 #: includes/functions.php:134 22325 #: includes/functions.php:1343 2326 2326 #, php-format 2327 2327 msgid "Week: %s" … … 2329 2329 2330 2330 #. translators: Month count. 2331 #: includes/functions.php:134 42331 #: includes/functions.php:1345 2332 2332 #, php-format 2333 2333 msgid "Month: %s" 2334 2334 msgstr "" 2335 2335 2336 #: includes/functions.php:138 42336 #: includes/functions.php:1385 2337 2337 msgid "Post Not Found." 2338 2338 msgstr "" 2339 2339 2340 #: includes/functions.php:139 62340 #: includes/functions.php:1397 2341 2341 msgid "Post Type Not Matched" 2342 2342 msgstr "" 2343 2343 2344 #: includes/functions.php:140 62344 #: includes/functions.php:1407 2345 2345 msgid "Post Type Already Queued" 2346 2346 msgstr "" … … 2669 2669 2670 2670 #: modules/opml-subscribe/opml-subscribe.php:356 2671 #: modules/rss-import/rss-import.php:5 762671 #: modules/rss-import/rss-import.php:593 2672 2672 msgid "Edit." 2673 2673 msgstr "" … … 2691 2691 msgstr "" 2692 2692 2693 #: modules/rss-import/rss-import.php: 872694 #: modules/rss-import/rss-import.php:7 272693 #: modules/rss-import/rss-import.php:104 2694 #: modules/rss-import/rss-import.php:744 2695 2695 msgid "Broken RSS feed." 2696 2696 msgstr "" 2697 2697 2698 #: modules/rss-import/rss-import.php:2 712699 #: modules/rss-import/rss-import.php: 2952700 #: modules/rss-import/rss-import.php: 3972698 #: modules/rss-import/rss-import.php:288 2699 #: modules/rss-import/rss-import.php:312 2700 #: modules/rss-import/rss-import.php:414 2701 2701 msgid "No author." 2702 2702 msgstr "" 2703 2703 2704 #: modules/rss-import/rss-import.php:4 162704 #: modules/rss-import/rss-import.php:433 2705 2705 msgid "Subscribe to Feeds" 2706 2706 msgstr "" 2707 2707 2708 #: modules/rss-import/rss-import.php:4 402708 #: modules/rss-import/rss-import.php:457 2709 2709 msgid "Enter the URL of a feed. PressForward will watch the feed for updates, and will automatically import newly published items into the Feed Items area." 2710 2710 msgstr "" 2711 2711 2712 #: modules/rss-import/rss-import.php:4 442712 #: modules/rss-import/rss-import.php:461 2713 2713 msgid "RSS Feed URLs can be often be found by looking for an orange icon with the letters \"RSS\", \"XML\", or \"Atom\". If you aren't sure how to find the feed URL, enter a content URL (such as an article page) and PressForward will try to identify the feed for you. <a href=\"https://en.wikipedia.org/wiki/RSS\">Learn more about RSS</a>." 2714 2714 msgstr "" 2715 2715 2716 #: modules/rss-import/rss-import.php:4 482716 #: modules/rss-import/rss-import.php:465 2717 2717 msgid "You can also enter the URL of a Google Scholar author profile or search results page to subscribe to new publications by that author or on that topic." 2718 2718 msgstr "" 2719 2719 2720 #: modules/rss-import/rss-import.php: 4982720 #: modules/rss-import/rss-import.php:515 2721 2721 msgid "You have provided an invalid OPML file." 2722 2722 msgstr "" 2723 2723 2724 2724 #. translators: %s is the name of feed that failed to add. 2725 #: modules/rss-import/rss-import.php: 5872725 #: modules/rss-import/rss-import.php:604 2726 2726 #, php-format 2727 2727 msgid "An error occurred while trying to add %s" 2728 2728 msgstr "" 2729 2729 2730 #: modules/rss-import/rss-import.php: 5992730 #: modules/rss-import/rss-import.php:616 2731 2731 msgid "You have submitted " 2732 2732 msgstr "" -
pressforward/trunk/modules/rss-import/rss-import.php
r3330426 r3417562 62 62 public function return_cachetime( $seconds ) { 63 63 return 1800; 64 } 65 66 /** 67 * Used to return a timeout value in seconds for HTTP requests when fetching feeds. 68 * 69 * Filters to 'http_request_timeout'. 70 * 71 * @param int $timeout Timeout in seconds. 72 * @return int 73 */ 74 public function return_feed_timeout( $timeout ) { 75 /** 76 * Filter the feed fetch timeout. 77 * 78 * @param int $timeout Timeout in seconds. Default is 60. 79 */ 80 return apply_filters( 'pf_feed_fetch_timeout', 60 ); 64 81 } 65 82 … … 107 124 108 125 add_filter( 'wp_feed_cache_transient_lifetime', array( $this, 'return_cachetime' ) ); 126 add_filter( 'http_request_timeout', array( $this, 'return_feed_timeout' ) ); 109 127 $simplepie_feed = pf_fetch_feed( $url ); 128 remove_filter( 'http_request_timeout', array( $this, 'return_feed_timeout' ) ); 110 129 remove_filter( 'wp_feed_cache_transient_lifetime', array( $this, 'return_cachetime' ) ); 111 130 … … 113 132 return new WP_Error( 'feed_error', 'Could not fetch feed.', $simplepie_feed ); 114 133 } 115 116 $simplepie_feed->set_timeout( 60 );117 134 118 135 return $this->process_feed_items( $simplepie_feed, $feed ); -
pressforward/trunk/package.json
r3356897 r3417562 1 1 { 2 2 "name": "pressforward", 3 "version": "5.9. 3",3 "version": "5.9.4", 4 4 "description": "PressForward is a free plugin that provides an editorial workflow for content aggregation and curation within the WordPress dashboard. It is designed for bloggers and editorial teams who wish to collect, discuss, and share content from a variety of sources on the open web. ", 5 5 "main": "assets/js/pf.js", -
pressforward/trunk/pressforward.php
r3356897 r3417562 4 4 * Plugin URI: http://pressforward.org/ 5 5 * Description: The PressForward Plugin is a tool by the Roy Rosenzweig Center for History and New Media for aggregating and curating web-based content within the WordPress dashboard. 6 * Version: 5.9. 36 * Version: 5.9.4 7 7 * GitHub Plugin URI: https://github.com/PressForward/pressforward 8 8 * Author: Boone Gorges, Aram Zucker-Scharff, Jeremy Boggs -
pressforward/trunk/readme.md
r3207176 r3417562 2 2 - Plugin URI: http://pressforward.org/ 3 3 - Description: PressForward is a WordPress plugin built to process feeds as a feed reader, allow groups to share and discuss the items that come in and then blog about them as an integrated editorial process. 4 - Version: 5. 64 - Version: 5.8 5 5 - Author: Boone B Gorges, Aram Zucker-Scharff, Jeremy Boggs 6 6 - Author URI: http://pressforward.org/ … … 9 9 10 10 11 Funded and Maintained by Digital Scholar. Initially developed for the Roy Rosenzweig Center for History and New Media at George Mason University, with funding from the Alfred P. Sloan Foundation.11 Funded and maintained by Digital Scholar. Initially developed for the Roy Rosenzweig Center for History and New Media at George Mason University, with funding from the Alfred P. Sloan Foundation. 12 12 13 13 ## Building this plugin -
pressforward/trunk/readme.txt
r3356900 r3417562 4 4 Tags: aggregate, aggregation, aggregator, atom, attribution, circulate, collect, community, content curation, curate, curation, curation tool, discuss, distribute, editorial, feed, network, news, opml, OPML, read, reader, reblog, reblogging, republish, review, RSS, rss, share, syndicate, syndication, workflow 5 5 Requires at least: 5.7 6 Tested up to: 6. 86 Tested up to: 6.9 7 7 Stable tag: 5.9.3 8 8 License: AGPLv3 … … 82 82 83 83 == Changelog == 84 85 = 5.9.4 = 86 * Added resiliency check to ensure that RSS feeds have corresponding fetch cron jobs set. 87 * Fixed bug that prevented Subscribers from having full access to the Nominate This tools (when the site admin had allowed Subscribers to have access to Nominate This). 88 * Fixed bug that caused fatal errors on certain version of PHP when fetching RSS feeds. 89 * Improved filtering of author names so that PF items on the front end show as being written by the "Author on Source" in widgets and other common contexts. 90 * Some fixes to internationalization and escaping. 84 91 85 92 = 5.9.3 = -
pressforward/trunk/vendor/composer/autoload_static.php
r2911375 r3417562 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( 10 'm' => 10 'm' => 11 11 array ( 12 12 'mattwright\\' => 11, 13 13 ), 14 'f' => 14 'f' => 15 15 array ( 16 16 'fivefilters\\Readability\\' => 24, 17 17 ), 18 'P' => 18 'P' => 19 19 array ( 20 20 'Psr\\Log\\' => 8, 21 21 'Psr\\Http\\Message\\' => 17, 22 22 ), 23 'M' => 23 'M' => 24 24 array ( 25 25 'Masterminds\\' => 12, 26 26 ), 27 'L' => 27 'L' => 28 28 array ( 29 29 'League\\Uri\\' => 11, 30 30 ), 31 'F' => 31 'F' => 32 32 array ( 33 33 'Firebase\\JWT\\' => 13, … … 36 36 37 37 public static $prefixDirsPsr4 = array ( 38 'mattwright\\' => 38 'mattwright\\' => 39 39 array ( 40 40 0 => __DIR__ . '/..' . '/mattwright/urlresolver', 41 41 ), 42 'fivefilters\\Readability\\' => 42 'fivefilters\\Readability\\' => 43 43 array ( 44 44 0 => __DIR__ . '/..' . '/fivefilters/readability.php/src', 45 45 ), 46 'Psr\\Log\\' => 46 'Psr\\Log\\' => 47 47 array ( 48 48 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', 49 49 ), 50 'Psr\\Http\\Message\\' => 50 'Psr\\Http\\Message\\' => 51 51 array ( 52 52 0 => __DIR__ . '/..' . '/psr/http-message/src', 53 53 ), 54 'Masterminds\\' => 54 'Masterminds\\' => 55 55 array ( 56 56 0 => __DIR__ . '/..' . '/masterminds/html5/src', 57 57 ), 58 'League\\Uri\\' => 58 'League\\Uri\\' => 59 59 array ( 60 60 0 => __DIR__ . '/..' . '/league/uri/src', 61 61 1 => __DIR__ . '/..' . '/league/uri-interfaces/src', 62 62 ), 63 'Firebase\\JWT\\' => 63 'Firebase\\JWT\\' => 64 64 array ( 65 65 0 => __DIR__ . '/..' . '/firebase/php-jwt/src', … … 68 68 69 69 public static $prefixesPsr0 = array ( 70 'D' => 70 'D' => 71 71 array ( 72 'DaveChild\\TextStatistics' => 72 'DaveChild\\TextStatistics' => 73 73 array ( 74 74 0 => __DIR__ . '/..' . '/davechild/textstatistics/src', -
pressforward/trunk/vendor/composer/installed.php
r3356897 r3417562 4 4 'pretty_version' => '5.9.x-dev', 5 5 'version' => '5.9.9999999.9999999-dev', 6 'reference' => ' 3ad16ff9f581a411eb5e17fe52e371b7f69a91e2',6 'reference' => 'de7ebecf3e09a06ef6deae03ce01510990d10e16', 7 7 'type' => 'project', 8 8 'install_path' => __DIR__ . '/../../', … … 86 86 'pretty_version' => '5.9.x-dev', 87 87 'version' => '5.9.9999999.9999999-dev', 88 'reference' => ' 3ad16ff9f581a411eb5e17fe52e371b7f69a91e2',88 'reference' => 'de7ebecf3e09a06ef6deae03ce01510990d10e16', 89 89 'type' => 'project', 90 90 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.