/** * Parses the signature. * * @return boolean True if successful. */ public function parseSignature() { $parsed = false; $sig = $this->get('signature'); if ($sig != null) { $parsedSig = xPDOTransport::parseSignature($sig); if (count($parsedSig) === 2 && !empty($parsedSig[0]) && !empty($parsedSig[1])) { $this->identifier = $parsedSig[0]; $parsedVersion = explode('-', $parsedSig[1], 2); if (count($parsedVersion) === 2) { $this->version = $parsedVersion[0]; $releaseChars = array(); parse_str($parsedVersion[1], $releaseChars); $release = ''; $releaseIndex = ''; $char = reset($releaseChars); while ($char !== false && !is_numeric($char)) { $release .= $char; $char = next($releaseChars); } while ($char !== false && is_numeric($char)) { $releaseIndex .= $char; } $this->release = $release; $this->release_index = (int) $releaseIndex; $parsed = true; } elseif (count($parsedVersion) === 1) { $this->version = $parsedVersion[0]; $this->release = ''; $this->release_index = 0; $parsed = true; } list($this->version_major, $this->version_minor, $this->version_patch) = explode('.', $this->version); } } return $parsed; }
/** * Parses the signature. * * @access public * @return boolean True if successful. */ public function parseSignature() { $parsed = false; $sig = $this->get('signature'); if ($sig != NULL) { $parsedSig = xPDOTransport::parseSignature($sig); if (count($parsedSig) === 2 && !empty($parsedSig[0]) && !empty($parsedSig[1])) { $this->identifier = $parsedSig[0]; $parsedVersion = explode('-', $parsedSig[1], 2); if (count($parsedVersion) === 2) { $this->version = $parsedVersion[0]; $this->release = $parsedVersion[1]; $parsed = true; } elseif (count($parsedVersion) === 1) { $this->version = $parsedVersion[0]; $this->release = ''; $parsed = true; } } } return $parsed; }