PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/allintravelguide.kerihosting.com/wp-content/plugins/mailpoet/lib/WP/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/allintravelguide.kerihosting.com/wp-content/plugins/mailpoet/lib/WP/Readme.php |
<?php 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; } }