tbrehm
2012-10-25 edaa7c5d66ef52eec1c15f79ae4034fc3e67b9b7
server/scripts/ispconfig_update.php
@@ -28,17 +28,30 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
function sread() {
    $input = fgets(STDIN);
    return rtrim($input);
}
function swrite($text = '') {
   echo $text;
}
function swriteln($text = '') {
   echo $text."\n";
}
function simple_query($query, $answers, $default)
{      
      $finished = false;
      do {
         $answers_str = implode(',', $answers);
         swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
         swrite($query.' ('.$answers_str.') ['.$default.']: ');
         $input = sread();
         
         //* Stop the installation
         if($input == 'quit') {
            swriteln($this->lng("Installation terminated by user.\n"));
            swriteln("Installation terminated by user.\n");
            die();
         }
         
@@ -73,20 +86,22 @@
                                             |___/ ";
echo "\n".str_repeat('-',80)."\n";
echo "\n\n>> Update  \n\n";
echo "Please choose the update method. For production systems select 'stable'. \nThe update from svn is only for development systems and may break your current setup.\n\n";
echo "Please choose the update method. For production systems select 'stable'. \nThe update from svn is only for development systems and may break your current setup.\nNote: Update all slave server, before you update master server.\n\n";
$method = $inst->simple_query('Select update method', array('stable','svn'), 'stable');
$method = simple_query('Select update method', array('stable','svn'), 'stable');
if($method == 'stable') {
   $new_version = file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');
   $new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');
   $new_version = trim($new_version);
   if($new_version != ISPC_APP_VERSION) {
      exec('/usr/local/ispconfig/server/scripts/update_from_tgz.sh')
      passthru('/usr/local/ispconfig/server/scripts/update_from_tgz.sh');
      exit;
   } else {
      echo "There are no updates available.\n";
      echo "There are no updates available for ISPConfig ".ISPC_APP_VERSION."\n";
   }
} else {
   exec('/usr/local/ispconfig/server/scripts/update_from_svn.sh');
   passthru('/usr/local/ispconfig/server/scripts/update_from_svn.sh');
   exit;
}