cvs: pearweb /include/package releasehelper.php

[email protected] ("Helgi ?ormar ?orbj?rnsson") Tue, 06 May 2008 19:51:53 -0000
Newsgroups php.pear.cvs,php.pear.core
Message-ID <cvsdufuz1210103513@cvsserver>
dufuz		Tue May  6 19:51:53 2008 UTC

  Modified files:              
    /pearweb/include/package	releasehelper.php 
  Log:
  cosmetics
dufuz-20080506195153.txt (text/plain, 7.9 KB)
http://cvs.php.net/viewvc.cgi/pearweb/include/package/releasehelper.php?r1=1.7&r2=1.8&diff_format=u
Index: pearweb/include/package/releasehelper.php
diff -u pearweb/include/package/releasehelper.php:1.7 pearweb/include/package/releasehelper.php:1.8
--- pearweb/include/package/releasehelper.php:1.7	Sun Apr 22 01:51:35 2007
+++ pearweb/include/package/releasehelper.php	Tue May  6 19:51:53 2008
@@ -8,19 +8,20 @@
     var $_laststate;
     var $_lastid;
     var $_pkgid;
-    function package_releasehelper($package)
+
+    function __construct($package)
     {
         $this->_dbh = &$GLOBALS['dbh'];
 
         include_once 'pear-database-package.php';
-        $this->_info = package::info($package, 'releases');
+        $this->_info  = package::info($package, 'releases');
         $this->_pkgid = package::info($package, 'id');
         if (is_array($this->_info) && $this->_info) {
             foreach ($this->_info as $ver => $release) {
                 if (!isset($this->_lastversion)) {
                     $this->_lastversion = $ver;
-                    $this->_laststate = $release['state'];
-                    $this->_lastid = $release['id'];
+                    $this->_laststate   = $release['state'];
+                    $this->_lastid      = $release['id'];
                 }
                 $this->_states[$release['state']] = 1;
             }
@@ -32,8 +33,9 @@
         if (!isset($this->_lastid)) {
             return false;
         }
-        $info = $this->_dbh->getOne('SELECT packagexml FROM files WHERE `release`="' .
-            $this->_lastid . '" AND `package`="' . $this->_pkgid . '"', array());
+
+        $sql  = 'SELECT packagexml FROM files WHERE `release` = ? AND `package` = ?';
+        $info = $this->_dbh->getOne($sql, array($this->_lastid, $this->_pkgid));
         return !preg_match('/<package[^>]+version\s*=\s*"2.0"/', $info);
     }
 
@@ -44,14 +46,12 @@
 
     function nextCanBeStable()
     {
-        if ($this->_laststate == 'stable') {
+        if ($this->_laststate == 'stable'
+            || ($this->_laststate == 'beta' && strpos($this->_lastversion, 'RC'))
+        ) {
             return true;
         }
-        if ($this->_laststate == 'beta') {
-            if (strpos($this->_lastversion, 'RC')) {
-                return true;
-            }
-        }
+
         return false;
     }
 
@@ -60,6 +60,7 @@
         if ($this->_laststate == 'beta') {
             return false;
         }
+
         return true;
     }
 
@@ -71,28 +72,32 @@
     function getNextBugfixVersion()
     {
         $version = explode('.', $this->_lastversion);
-        $last = array_pop($version);
+        $last    = array_pop($version);
         if (!$version[0]) {
             if (isset($version[1]) && !$version[1]) {
                 return array('0.1.0', $this->_laststate);
             }
         }
+
         if (count($version) == 1) {
             return array($version[0] . '.' . $last . '.1', $this->_laststate);
         }
+
         if (strpos($last, 'RC') !== false) {
             // release candidate
             if (!$version[0]) {
                 return array('1.0.0RC1', 'beta');
             }
+
             if (preg_match('/RC([1-9][0-9]?)/', $last, $numbah)) {
                 $last = str_replace($numbah[0], 'RC' . ($numbah[1] + 1), $last);
                 return array(implode('.', $version) . '.' . $last, 'beta');
-            } else {
-                // crap version number "X.Y.ZRC", convert to good one "X.Y.ZRC1"
-                return array(implode('.', $version) . '.' . $last[0] . 'RC1', 'beta');
             }
+
+            // crap version number "X.Y.ZRC", convert to good one "X.Y.ZRC1"
+            return array(implode('.', $version) . '.' . $last[0] . 'RC1', 'beta');
         }
+
         if (strpos($last, 'a') !== false) {
             // alpha version
             if (preg_match('/a(?:lpha)?([1-9][0-9]?)?/', $last, $numbah)) {
@@ -101,14 +106,16 @@
                     return array(implode('.', $version) . '.' .
                         (str_replace($numbah[0], '', $last) + 1), $this->_laststate);
                 }
+
                 if (strlen($numbah[1])) {
                     $last = str_replace($numbah[0], 'a' . ($numbah[1] + 1), $last);
                     return array(implode('.', $version) . '.' . $last, 'alpha');
-                } else {
-                    return array(implode('.', $version) . '.a2', 'alpha');
                 }
+
+                return array(implode('.', $version) . '.a2', 'alpha');
             }
         }
+
         if (strpos($last, 'b') !== false) {
             // beta version
             if (preg_match('/b(?:eta)?([1-9][0-9]?)/', $last, $numbah)) {
@@ -120,25 +127,28 @@
                 if (strlen($numbah[1])) {
                     $last = str_replace($numbah[0], 'b' . ($numbah[1] + 1), $last);
                     return array(implode('.', $version) . '.' . $last, 'beta');
-                } else {
-                    return array(implode('.', $version) . '.b' . $last, 'beta');
                 }
+
+                return array(implode('.', $version) . '.b' . $last, 'beta');
             }
         }
+
         return array(implode('.', $version) . '.' . ($last + 1), $this->_laststate);
     }
 
     function getNextBetaRelease()
     {
         $version = explode('.', $this->_lastversion);
-        $last = array_pop($version);
+        $last    = array_pop($version);
         if ($this->_laststate != 'alpha' && $this->_laststate != 'beta') {
             return false;
         }
+
         if (!$version[0]) {
             $newfeature = $this->getNewFeatureVersion();
             return array($newfeature[0] . ' or 1.0.0RC1', 'beta');
         }
+
         return array($version[0] . '.' . $version[1] . '.0RC1', 'beta');
     }
 
@@ -147,44 +157,50 @@
         if (strpos($this->_lastversion, 'RC')) {
             return array(preg_replace('/RC.*\z/', '', $this->_lastversion), 'stable');
         }
+
         $version = explode('.', $this->_lastversion);
-        $last = array_pop($version);
+        $last    = array_pop($version);
         if (strpos($last, 'a') !== false) {
             if (!$version[0]) {
                 // no need for 0.3.4a1 or any of that junk
                 return array(implode('.', $version) . '.' .
                     (str_replace($numbah[0], '', $last) + 1), 'alpha');
             }
+
             // alpha version
             if (preg_match('/a(?:lpha)?([1-9][0-9]?)?/', $last, $numbah)) {
                 if (strlen($numbah[1])) {
                     $last = str_replace($numbah[0], 'a' . ($numbah[1] + 1), $last);
                     return array(implode('.', $version) . '.' . $last, 'alpha');
-                } else {
-                    return array(implode('.', $version) . '.a2', 'alpha');
                 }
+
+                return array(implode('.', $version) . '.a2', 'alpha');
             }
         }
+
         if (strpos($last, 'b') !== false) {
             if (!$version[0]) {
                 // no need for 0.3.4b1 or any of that junk
                 return array(implode('.', $version) . '.' .
                     (str_replace($numbah[0], '', $last) + 1), 'alpha');
             }
+
             // beta version
             if (preg_match('/b(?:eta)?([1-9][0-9]?)/', $last, $numbah)) {
                 if (strlen($numbah[1])) {
                     $last = str_replace($numbah[0], 'b' . ($numbah[1] + 1), $last);
                     return array(implode('.', $version) . '.' . $last, 'beta');
-                } else {
-                    return array(implode('.', $version) . '.b' . $last, 'beta');
                 }
+
+                return array(implode('.', $version) . '.b' . $last, 'beta');
             }
         }
+
         $version = explode('.', $this->_lastversion);
         if ($this->_laststate == 'stable') {
             return array($version[0] . '.' . ($version[1] + 1) . '.0a1', 'alpha');
         }
+
         if (!$version[0]) {
             return array($version[0] . '.' . ($version[1] + 1) . '.0', 'alpha');
         }