/**
  * Parses the raw INI data into an array of update information
  * @param string $rawData The raw INI data
  * @return array The parsed data
  */
 private function parseINI($rawData)
 {
     $ret = array('version' => '', 'date' => '', 'stability' => '', 'downloadURL' => '', 'infoURL' => '', 'releasenotes' => '');
     // Get the magic string
     $magicPos = strpos($rawData, '; Live Update provision file');
     if ($magicPos === false) {
         // That's not an INI file :(
         return $ret;
     }
     if ($magicPos !== 0) {
         $rawData = substr($rawData, $magicPos);
     }
     require_once dirname(__FILE__) . '/inihelper.php';
     $iniData = LiveUpdateINIHelper::parse_ini_file($rawData, false, true);
     // Get the supported platforms
     $supportedPlatform = false;
     $versionParts = explode('.', JVERSION);
     $currentPlatform = $versionParts[0] . '.' . $versionParts[1];
     if (array_key_exists('platforms', $iniData)) {
         $rawPlatforms = explode(',', $iniData['platforms']);
         foreach ($rawPlatforms as $platform) {
             $platform = trim($platform);
             if (substr($platform, 0, 7) != 'joomla/') {
                 echo 'continue';
                 continue;
             }
             $platform = substr($platform, 7);
             if ($currentPlatform == $platform) {
                 $supportedPlatform = true;
             }
         }
     } else {
         // Lies, damn lies
         $supportedPlatform = true;
     }
     if (!$supportedPlatform) {
         return $ret;
     }
     $ret['version'] = array_key_exists('version', $iniData) ? $iniData['version'] : '';
     $ret['date'] = array_key_exists('date', $iniData) ? $iniData['date'] : '';
     $config = LiveUpdateConfig::getInstance();
     $auth = $config->getAuthorization();
     if (!array_key_exists('link', $iniData)) {
         $iniData['link'] = '';
     }
     $glue = strpos($iniData['link'], '?') === false ? '?' : '&';
     $ret['downloadURL'] = $iniData['link'] . (empty($auth) ? '' : $glue . $auth);
     if (array_key_exists('stability', $iniData)) {
         $stability = $iniData['stability'];
     } else {
         // Stability not defined; guesswork mode enabled
         $version = $ret['version'];
         if (preg_match('#^[0-9\\.]*a[0-9\\.]*#', $version) == 1) {
             $stability = 'alpha';
         } elseif (preg_match('#^[0-9\\.]*b[0-9\\.]*#', $version) == 1) {
             $stability = 'beta';
         } elseif (preg_match('#^[0-9\\.]*rc[0-9\\.]*#', $version) == 1) {
             $stability = 'rc';
         } elseif (preg_match('#^[0-9\\.]*$#', $version) == 1) {
             $stability = 'stable';
         } else {
             $stability = 'svn';
         }
     }
     $ret['stability'] = $stability;
     if (array_key_exists('releasenotes', $iniData)) {
         $ret['releasenotes'] = $iniData['releasenotes'];
     }
     if (array_key_exists('infourl', $iniData)) {
         $ret['infoURL'] = $iniData['infourl'];
     }
     return $ret;
 }
 /**
  * Parses the raw INI data into an array of update information
  * @param string $rawData The raw INI data
  * @return array The parsed data
  */
 private function parseINI($rawData)
 {
     $ret = array('version' => '', 'date' => '', 'stability' => '', 'downloadURL' => '', 'infoURL' => '', 'releasenotes' => '');
     // Get the magic string
     $magicPos = strpos($rawData, '; Live Update provision file');
     if ($magicPos === false) {
         // That's not an INI file :(
         return $ret;
     }
     if ($magicPos !== 0) {
         $rawData = substr($rawData, $magicPos);
     }
     require_once dirname(__FILE__) . '/inihelper.php';
     $iniData = LiveUpdateINIHelper::parse_ini_file($rawData, false, true);
     $ret['version'] = $iniData['version'];
     $ret['date'] = $iniData['date'];
     $config = LiveUpdateConfig::getInstance();
     $auth = $config->getAuthorization();
     $glue = strpos($iniData['link'], '?') === false ? '?' : '&';
     $ret['downloadURL'] = $iniData['link'] . (empty($auth) ? '' : $glue . $auth);
     if (array_key_exists('stability', $iniData)) {
         $stability = $iniData['stability'];
     } else {
         // Stability not defined; guesswork mode enabled
         $version = $ret['version'];
         if (preg_match('#^[0-9\\.]*a[0-9\\.]*#', $version) == 1) {
             $stability = 'alpha';
         } elseif (preg_match('#^[0-9\\.]*b[0-9\\.]*#', $version) == 1) {
             $stability = 'beta';
         } elseif (preg_match('#^[0-9\\.]*rc[0-9\\.]*#', $version) == 1) {
             $stability = 'rc';
         } elseif (preg_match('#^[0-9\\.]*$#', $version) == 1) {
             $stability = 'stable';
         } else {
             $stability = 'svn';
         }
     }
     $ret['stability'] = $stability;
     if (array_key_exists('releasenotes', $iniData)) {
         $ret['releasenotes'] = $iniData['releasenotes'];
     }
     if (array_key_exists('infourl', $iniData)) {
         $ret['infoURL'] = $iniData['infourl'];
     }
     return $ret;
 }