⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 versionsfeedentry.class.php

📁 ProjectPier 源码 很好的项目管理程序
💻 PHP
字号:
<?php  /**  * Single (version) entry of www.ProjectPier version feed  *  * @version 1.0  * @http://www.projectpier.org/  */  final class VersionsFeedEntry {        /**    * Is this version loaded from the SimpleXMLNode    *    * @var boolean    */    private $is_loaded = false;      /**    * Version number    *    * @var string    */    private $version_number;        /**    * Is this version stable    *    * @var boolean    */    private $is_stable;        /**    * Details page URL    *    * @var string    */    private $details_url;        /**    * Product signaturre, usualy product name + version number    *    * @var string    */    private $signature;        /**    * Release notes - short info about this version    *    * @var string    */    private $release_notes;        /**    * Release date - time when this version become available    *    * @var DateTimeValue    */    private $release_date;        /**    * URL to change log    *    * @var string    */    private $change_log_url;        /**    * Array of download links    *    * @var array    */    private $download_links;        /**    * Construct the VersionsFeedEntry    *    * @param SimpleXMLElement $node    * @return VersionsFeedEntry    */    function __construct(SimpleXMLElement $node) {      $this->setIsLoaded($this->read($node));    } // __construct        // ---------------------------------------------------    //  Utils    // ---------------------------------------------------        /**    * Returns true if this version is newer than input version    *    * @param string $version Input version    * @return boolean    */    function isNewerThan($version) {      return version_compare($this->getVersionNumber(), $version) > 0;    } // isNewerThan        /**    * Read the values from XML node    *    * @param SimpleXMLElement $node    * @return boolean    */    function read(SimpleXMLElement $node) {      $this->setVersionNumber($node['number']);      $this->setIsStable(isset($node['stable']) && ($node['stable'] == 'stable'));      $this->setDetailsUrl($node->details_url);      $this->setSignature($node->signature);      $this->setReleaseNotes($node->release_notes);      $this->setReleaseDate(DateTimeValueLib::makeFromString((string) $node->release_date));      $this->setChangeLogUrl($node->change_log);            if ($node->download_links->children() instanceof SimpleXMLElement) {        $download_links = array();        foreach ($node->download_links->children() as $link_node) {          $download_link = new VersionsFeedDownloadLink($link_node);          if ($download_link->isLoaded()) {            $download_links[] = $download_link;          }        } // foreach        $this->download_links = count($download_links) ? $download_links : null;      } // if            return true;    } // read        // ---------------------------------------------------    //  Getters and setters    // ---------------------------------------------------        /**    * Get is_loaded    *    * @param null    * @return boolean    */    function isLoaded() {      return $this->is_loaded;    } // isLoaded        /**    * Set is_loaded value    *    * @param boolean $value    * @return null    */    private function setIsLoaded($value) {      $this->is_loaded = $value;    } // setIsLoaded        /**    * Get version_number    *    * @param null    * @return string    */    function getVersionNumber() {      return $this->version_number;    } // getVersionNumber        /**    * Set version_number value    *    * @param string $value    * @return null    */    private function setVersionNumber($value) {      $this->version_number = (string) $value;    } // setVersionNumber        /**    * Get is_stable    *    * @param null    * @return boolean    */    function getIsStable() {      return $this->is_stable;    } // getIsStable        /**    * Set is_stable value    *    * @param boolean $value    * @return null    */    private function setIsStable($value) {      $this->is_stable = (boolean) $value;    } // setIsStable        /**    * Get details_url    *    * @param null    * @return string    */    function getDetailsUrl() {      return $this->details_url;    } // getDetailsUrl        /**    * Set details_url value    *    * @param string $value    * @return null    */    private function setDetailsUrl($value) {      $this->details_url = (string) $value;    } // setDetailsUrl        /**    * Get signature    *    * @param null    * @return string    */    function getSignature() {      return $this->signature;    } // getSignature        /**    * Set signature value    *    * @param string $value    * @return null    */    private function setSignature($value) {      $this->signature = (string) $value;    } // setSignature        /**    * Get release_notes    *    * @param null    * @return string    */    function getReleaseNotes() {      return $this->release_notes;    } // getReleaseNotes        /**    * Set release_notes value    *    * @param string $value    * @return null    */    private function setReleaseNotes($value) {      $this->release_notes = (string) $value;    } // setReleaseNotes        /**    * Get release_date    *    * @param null    * @return DateTimeValue    */    function getReleaseDate() {      return $this->release_date;    } // getReleaseDate        /**    * Set release_date value    *    * @param DateTimeValue $value    * @return null    */    private function setReleaseDate($value) {      if ($value instanceof DateTimeValue) {        $this->release_date = $value;      }    } // setReleaseDate        /**    * Get change_log_url    *    * @param null    * @return string    */    function getChangeLogUrl() {      return $this->change_log_url;    } // getChangeLogUrl        /**    * Set change_log_url value    *    * @param string $value    * @return null    */    private function setChangeLogUrl($value) {      $this->change_log_url = (string) $value;    } // setChangeLogUrl        /**    * Return array of download links extracted from this version    *    * @param void    * @return array    */    function getDownloadLinks() {      return $this->download_links;    } // getDownloadLinks        /**    * Return specific download link by format    *    * @param string $format    * @return VersionsFeedDownloadLink    */    function getDownloadLinkByFormat($format) {      $search_for = trim(strtolower($format));      $download_links = $this->getDownloadLinks();      if (is_array($download_links)) {        foreach ($download_links as $download_link) {          if ($download_link->getFormat() == $search_for) {            return $download_link;          }        } // if      } // if      return null;    } // getDownloadLinkByFormat    } // VersionsFeedEntry?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -