PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.18.0
GiveWP – Donation Plugin and Fundraising Platform v4.18.0
4.18.0 4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 All 257 releases
← All changes | includes/class-give-readme-parser.php +49 -47 2.3.0 → 4.18.0 View file →
@@ -1,60 +1,62 @@
1 1 <?php
2 +
2 3 /**
3 4 * Give Readme Parser
4 5 *
5 6 * @package Give
7 + * @since 2.1.4
8 + * @copyright Copyright (c) 2018, GiveWP
9 + * @license https://opensource.org/licenses/gpl-license GNU Public License
6 10 * @subpackage Admin/Readme_Parser
7 - * @copyright Copyright (c) 2018, WordImpress
8 - * @license https://opensource.org/licenses/gpl-license GNU Public License
9 - * @since 2.1.4
10 11 */
11 -class Give_Readme_Parser{
12 - /**
13 - * Readme file url
14 - *
15 - * @since 2.1.4
16 - * @access private
17 - * @var
18 - */
19 - private $file_url;
12 +class Give_Readme_Parser
13 +{
14 + /**
15 + * Readme file url
16 + *
17 + * @since 2.1.4
18 + * @access private
19 + * @var
20 + */
21 + private $file_url;
20 22
21 - /**
22 - * Readme file content
23 - *
24 - * @since 2.1.4
25 - * @access private
26 - * @var
27 - */
28 - private $file_content;
23 + /**
24 + * Give_Readme_Parser constructor.
25 + *
26 + * @param string $file_url
27 + */
28 + public function __construct(string $file_url)
29 + {
30 + $this->file_url = $file_url;
31 + }
29 32
30 - /**
31 - * Give_Readme_Parser constructor.
32 - *
33 - * @param string $file_url
34 - */
35 - function __construct( $file_url ) {
36 - $this->file_url = $file_url;
37 - $this->file_content = wp_remote_retrieve_body( wp_remote_get( $this->file_url ) );
38 - }
33 + /**
34 + * Get required Give core minimum version for addon
35 + *
36 + * @since 2.1.4
37 + * @access public
38 + *
39 + * @return string
40 + */
41 + public function requires_at_least()
42 + {
43 + // Regex to extract Give core minimum version from the readme.txt file.
44 + preg_match('/Requires (Give|GiveWP):(.*)/i', $this->get_readme_file_content(), $_requires_at_least);
39 45
40 - /**
41 - * Get required Give core minimum version for addon
42 - *
43 - * @since 2.1.4
44 - * @access public
45 - *
46 - * @return string
47 - */
48 - public function requires_at_least() {
49 - // Regex to extract Give core minimum version from the readme.txt file.
50 - preg_match('|Requires Give:(.*)|i', $this->file_content, $_requires_at_least );
46 + if (is_array($_requires_at_least) && 3 === count($_requires_at_least)) {
47 + $_requires_at_least = trim($_requires_at_least[2]);
48 + } else {
49 + $_requires_at_least = null;
50 + }
51 51
52 - if( is_array( $_requires_at_least ) && 1 < count( $_requires_at_least ) ) {
53 - $_requires_at_least = trim( $_requires_at_least[1] );
54 - }else{
55 - $_requires_at_least = null;
56 - }
52 + return $_requires_at_least;
53 + }
57 54
58 - return $_requires_at_least;
59 - }
55 + /**
56 + * @since 2.21.0
57 + */
58 + protected function get_readme_file_content(): string
59 + {
60 + return wp_remote_retrieve_body(wp_remote_get($this->file_url));
61 + }
60 62 }