Server IP : 104.21.14.103 / Your IP : 18.217.132.15 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/proc/thread-self/root/home/giankuin/thietke365.net/wp-content/plugins/mailpoet/lib/WP/ |
Upload File : |
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\WP; if (!defined('ABSPATH')) exit; class Readme { public static function parseChangelog($readmeTxt, $limit = null) { // Extract changelog section of the readme.txt preg_match('/== Changelog ==(.*?)(\n==|$)/is', $readmeTxt, $changelog); if (empty($changelog[1])) { return false; } // Get changelog entries $entries = preg_split('/\n(?=\=)/', trim($changelog[1]), -1, PREG_SPLIT_NO_EMPTY); if (empty($entries)) { return false; } $c = 0; $changelog = []; foreach ($entries as $entry) { // Locate version header and changes list preg_match('/=(.*?)=(.*)/s', $entry, $parts); if (empty($parts[1]) || empty($parts[2])) { return false; } $header = trim($parts[1]); $list = trim($parts[2]); // Get individual items from the list $list = preg_split('/(^|\n)[\* ]*/', $list, -1, PREG_SPLIT_NO_EMPTY); $changelog[] = [ 'version' => $header, 'changes' => $list, ]; if (++$c == $limit) { break; } } return $changelog; } }