install/lib/install.lib.php
@@ -86,6 +86,9 @@ $mainver = array_filter($mainver); $mainver = current($mainver).'.'.next($mainver); switch ($mainver){ case "15.10": $relname = "(Wily Werewolf)"; break; case "15.04": $relname = "(Vivid Vervet)"; break; install/lib/installer_base.lib.php
@@ -68,6 +68,12 @@ } else { $input = $autoinstall[$name]; } } elseif($name != '' && $autoupdate[$name] != '') { if($autoupdate[$name] == 'default') { $input = $default; } else { $input = $autoupdate[$name]; } } else { $answers_str = implode(',', $answers); swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: '); @@ -104,6 +110,12 @@ $input = $default; } else { $input = $autoinstall[$name]; } } elseif($name != '' && $autoupdate[$name] != '') { if($autoupdate[$name] == 'default') { $input = $default; } else { $input = $autoupdate[$name]; } } else { swrite($this->lng($query).' ['.$default.']: '); @@ -1661,6 +1673,11 @@ replaceLine('/etc/apache2/ports.conf', 'NameVirtualHost *:443', '# NameVirtualHost *:443', 1); } if(is_file('/etc/apache2/mods-available/fcgid.conf')) { // add or modify the parameters for fcgid.conf replaceLine('/etc/apache2/mods-available/fcgid.conf','MaxRequestLen','MaxRequestLen 15728640',1); } if(is_file('/etc/apache2/apache.conf')) { if(hasLine('/etc/apache2/apache.conf', 'Include sites-enabled/', 1) == false) { if(hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.conf', 1) == false && hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/', 1) == false) { install/update.php
@@ -177,9 +177,6 @@ if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n"); $inst->is_update = true; //** Detect the installed applications $inst->find_installed_apps(); echo "This application will update ISPConfig 3 on your server.\n\n"; //* Make a backup before we start the update @@ -304,6 +301,18 @@ } //} //** Detect the installed applications $inst->find_installed_apps(); $conf['services']['mail'] = $conf['postfix']['installed']; if ($conf['powerdns']['installed'] || $conf['bind']['installed'] || $conf['mydns']['installed']) $conf['services']['dns'] = true; if ($conf['apache']['installed'] || $conf['nginx']['installed']) $conf['services']['web'] = true; $conf['services']['xmpp'] = $conf['xmpp']['installed'];; if ($conf['ufw']['installed'] || $conf['firewall']['installed']) $conf['services']['firewall'] = true; $conf['services']['vserver'] = $conf['services']['vserver']; $conf['services']['db'] = true; //** Shall the services be reconfigured during update $reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no', 'selected'), 'yes','reconfigure_services'); @@ -321,12 +330,6 @@ if($conf['mailman']['installed'] == true && $inst->reconfigure_app('Mailman', $reconfigure_services_answer)) { swriteln('Configuring Mailman'); $inst->configure_mailman('update'); } //* Configure Jailkit if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) { swriteln('Configuring Jailkit'); $inst->configure_jailkit(); } if($conf['dovecot']['installed'] == true && $inst->reconfigure_app('Dovecot', $reconfigure_services_answer)) { @@ -407,6 +410,13 @@ swriteln('Configuring Apps vhost'); $inst->configure_apps_vhost(); } //* Configure Jailkit if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) { swriteln('Configuring Jailkit'); $inst->configure_jailkit(); } } if($conf['services']['xmpp'] && $inst->reconfigure_app('XMPP', $reconfigure_services_answer)) { interface/lib/config.inc.php
@@ -34,6 +34,7 @@ header("Pragma: no-cache"); header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); header("Content-Type: text/html; charset=utf-8"); header('X-Content-Type-Options: nosniff'); ini_set('register_globals', 0); } interface/lib/plugins/mail_user_filter_plugin.inc.php
@@ -252,6 +252,7 @@ if($page_form->dataRecord["action"] == 'move') { $content .= 'ID' . "$page_form->id" . 'EndFolder = "$DEFAULT/.' . $page_form->dataRecord['target'] . '/"' . "\n"; $content .= "xfilter \"/usr/bin/formail -A \\\"X-User-Mail-Filter-ID"."$page_form->id".": Yes\\\"\"" . "\n"; $content .= "to ". '$ID' . "$page_form->id" . 'EndFolder' . "\n"; } else { $content .= "to /dev/null\n"; interface/web/admin/lib/lang/en_server_config.lng
@@ -266,6 +266,7 @@ $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.'; $wb['php_ini_check_minutes_info_txt'] = '0 = no check'; $wb['enable_spdy_txt'] = 'Makes SPDY available'; $wb['web_settings_txt'] = 'Web Server'; // New for XMPP $wb['xmpp_server_txt'] = 'XMPP Server'; interface/web/admin/templates/server_config_web_edit.htm
@@ -3,13 +3,25 @@ </div> <p><tmpl_var name="list_desc_txt"></p> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingWeb"> <h4 class="panel-title"> <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseWeb" aria-expanded="true" aria-controls="collapseWeb"> {tmpl_var name='web_settings_txt'} </a> </h4> </div> <div id="collapseWeb" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingWeb"> <div class="panel-body"> <!-- Begin content --> <div class="form-group"> <label class="col-sm-3 control-label">{tmpl_var name='server_type_txt'}</label> <div class="col-sm-9"><select name="server_type" id="server_type" class="form-control"> <div class="col-sm-9"> <select name="server_type" id="server_type" class="form-control"> {tmpl_var name='server_type'} </select></div> </select> </div> </div> <div class="form-group"> <label for="website_basedir" class="col-sm-3 control-label">{tmpl_var name='website_basedir_txt'}</label> @@ -136,8 +148,21 @@ {tmpl_var name='overquota_notify_onok'} </div> </div> <div class="col-sm-3"></div><div class="col-sm-9"><button class="btn btn-default formbutton-default" type="button" data-toggle="collapse" data-target="#toggle-ssl-settings" aria-expanded="false" aria-controls="toggle-ssl-settings">{tmpl_var name='ssl_settings_txt'}</button></div> <div id="toggle-ssl-settings" class="collapse"> <!-- End content --> </div> </div> </div> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingSSL"> <h4 class="panel-title"> <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseSSL" aria-expanded="false" aria-controls="collapseSSL"> {tmpl_var name='ssl_settings_txt'} </a> </h4> </div> <div id="collapseSSL" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingSSL"> <div class="panel-body"> <!-- Begin content --> <div class="form-group"> <label class="col-sm-3 control-label">{tmpl_var name='enable_sni_txt'}</label> <div class="col-sm-9"> @@ -158,9 +183,21 @@ <div class="form-group"> <label for="CA_pass" class="col-sm-3 control-label">{tmpl_var name='CA_pass_txt'}</label> <div class="col-sm-9"><input type="password" name="CA_pass" id="CA_pass" value="{tmpl_var name='CA_pass'}" autocomplete="off" class="form-control" /></div></div> <!-- End content --> </div> <div class="col-sm-3"></div><div class="col-sm-9"><button class="btn btn-default formbutton-default" type="button" data-toggle="collapse" data-target="#toggle-permissions" aria-expanded="false" aria-controls="toggle-permissions">{tmpl_var name='permissions_txt'}</button></div> <div id="toggle-permissions" class="collapse"> </div> </div> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingPerms"> <h4 class="panel-title"> <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapsePerms" aria-expanded="false" aria-controls="collapsePerms"> {tmpl_var name='permissions_txt'} </a> </h4> </div> <div id="collapsePerms" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingPerms"> <div class="panel-body"> <!-- Begin content --> <div class="form-group"> <label class="col-sm-3 control-label">{tmpl_var name='set_folder_permissions_on_update_txt'}</label> <div class="col-sm-9"> @@ -188,9 +225,22 @@ <div class="form-group"> <label for="connect_userid_to_webid_start" class="col-sm-3 control-label">{tmpl_var name='connect_userid_to_webid_start_txt'}</label> <div class="col-sm-9"><input type="text" name="connect_userid_to_webid_start" id="connect_userid_to_webid_start" value="{tmpl_var name='connect_userid_to_webid_start'}" class="form-control" /></div></div> <!-- End content --> </div> <div class="col-sm-3"></div><div class="col-sm-9"><button class="btn btn-default formbutton-default" type="button" data-toggle="collapse" data-target="#toggle-php_settings" aria-expanded="false" aria-controls="toggle-php_settings">{tmpl_var name='php_settings_txt'}</button></div> <div id="toggle-php_settings" class="collapse"> </div> </div> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingPHP"> <h4 class="panel-title"> <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapsePHP" aria-expanded="false" aria-controls="collapsePHP"> {tmpl_var name='php_settings_txt'} </a> </h4> </div> <div id="collapsePHP" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingPHP"> <div class="panel-body"> <!-- Begin content --> <div class="form-group apache"> <label for="php_ini_path_apache" class="col-sm-3 control-label">{tmpl_var name='php_ini_path_apache_txt'}</label> <div class="col-sm-9"><input type="text" name="php_ini_path_apache" id="php_ini_path_apache" value="{tmpl_var name='php_ini_path_apache'}" class="form-control" /></div></div> @@ -225,9 +275,21 @@ {tmpl_var name='php_handler'} </select></div> </div> <!-- End content --> </div> <div class="col-sm-3"></div><div class="col-sm-9"><button class="btn btn-default formbutton-default" type="button" data-toggle="collapse" data-target="#toggle-apps_vhost_settings" aria-expanded="false" aria-controls="toggle-apps_vhost_settings">{tmpl_var name='apps_vhost_settings_txt'}</button></div> <div id="toggle-apps_vhost_settings" class="collapse"> </div> </div> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingApps"> <h4 class="panel-title"> <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseApps" aria-expanded="false" aria-controls="collapseApps"> {tmpl_var name='apps_vhost_settings_txt'} </a> </h4> </div> <div id="collapseApps" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingApps"> <div class="panel-body"> <!-- Begin content --> <div class="form-group"> <label for="apps_vhost_enabled" class="col-sm-3 control-label">{tmpl_var name='apps_vhost_enabled_txt'}</label> <div class="col-sm-9">{tmpl_var name='apps_vhost_enabled'}</div></div> @@ -240,9 +302,22 @@ <div class="form-group"> <label for="apps_vhost_servername" class="col-sm-3 control-label">{tmpl_var name='apps_vhost_servername_txt'}</label> <div class="col-sm-9"><input type="text" name="apps_vhost_servername" id="apps_vhost_servername" value="{tmpl_var name='apps_vhost_servername'}" class="form-control" /></div></div> <!-- End content --> </div> <div class="col-sm-3"></div><div class="col-sm-9"><button class="btn btn-default formbutton-default" type="button" data-toggle="collapse" data-target="#toggle-awstats_settings" aria-expanded="false" aria-controls="toggle-awstats_settings">{tmpl_var name='awstats_settings_txt'}</button></div> <div id="toggle-awstats_settings" class="collapse"> </div> </div> <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingAWStats"> <h4 class="panel-title"> <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseAWStats" aria-expanded="false" aria-controls="collapseAWStats"> {tmpl_var name='awstats_settings_txt'} </a> </h4> </div> <div id="collapseAWStats" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingAWStats"> <div class="panel-body"> <!-- Begin content --> <div class="form-group"> <label for="awstats_conf_dir" class="col-sm-3 control-label">{tmpl_var name='awstats_conf_dir_txt'}</label> <div class="col-sm-9"><input type="text" name="awstats_conf_dir" id="awstats_conf_dir" value="{tmpl_var name='awstats_conf_dir'}" class="form-control" /></div></div> @@ -255,8 +330,12 @@ <div class="form-group"> <label for="awstats_buildstaticpages_pl" class="col-sm-3 control-label">{tmpl_var name='awstats_buildstaticpages_pl_txt'}</label> <div class="col-sm-9"><input type="text" name="awstats_buildstaticpages_pl" id="awstats_buildstaticpages_pl" value="{tmpl_var name='awstats_buildstaticpages_pl'}" class="form-control" /></div></div> </div> <!-- End content --> </div> </div> </div> </div> <input type="hidden" name="id" value="{tmpl_var name='id'}"> @@ -266,7 +345,7 @@ </div></div> <script language="JavaScript" type="text/javascript"> var serverType = jQuery('#server_type').val(); jQuery('#server_type').replaceWith('<label for="server_Type" class="col-sm-3 control-label">'+serverType+'</label><input type="hidden" name="server_type" value="'+serverType+'">'); jQuery('#server_type').replaceWith('<p>'+serverType+'</p><input type="hidden" name="server_type" value="'+serverType+'">'); adjustForm(); jQuery('#server_type').change(function(){ serverType = $(this).val(); interface/web/client/templates/client_edit_address.htm
@@ -29,7 +29,14 @@ <div class="col-sm-9"><input type="text" name="username" id="username" value="{tmpl_var name='username'}" class="form-control" /></div></div> <div class="form-group"> <label for="password" class="col-sm-3 control-label">{tmpl_var name='password_txt'}</label> <div class="col-sm-6"><input type="password" name="password" id="password" value="{tmpl_var name='password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /></div><div class="col-sm-3 input-sm"> </div><a href="javascript:void(0);" onclick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a> <div class="col-sm-9"> <div class="input-group"> <input type="password" name="password" id="password" value="{tmpl_var name='password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <span class="input-group-btn"> <button class="btn btn-default" type="button" onclick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</button> </span> </div> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">{tmpl_var name='password_strength_txt'}</label> interface/web/client/templates/client_edit_limits.htm
@@ -174,7 +174,7 @@ </a> </h4> </div> <div id="collapseMail" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingMail> <div id="collapseMail" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingMail"> <div class="panel-body"> <div class="form-group"> <label for="mail_servers" class="col-sm-3 control-label">{tmpl_var name='mail_servers_txt'}</label> interface/web/client/templates/client_message.htm
@@ -25,7 +25,8 @@ <div class="col-sm-9"><input type="text" name="subject" id="subject" value="{tmpl_var name='subject'}" class="form-control" /></div></div> <div class="form-group"> <label for="message" class="col-sm-3 control-label">{tmpl_var name='message_txt'}</label> <div class="col-sm-9"><textarea class="form-control" name="message" id="message">{tmpl_var name='message'}</textarea></div> {tmpl_var name="variables_txt"} {tmpl_var name="message_variables"} <div class="col-sm-9"><textarea class="form-control" name="message" id="message" rows="10">{tmpl_var name='message'}</textarea></div> <div class="col-sm-3 col-text"></div><div class="col-sm-9 col-text">{tmpl_var name='variables_txt'}: {tmpl_var name="message_variables"} <br />{tmpl_var name='variables_description_txt'}</div> </div> <div class="clear"><div class="right"> interface/web/client/templates/reseller_edit_address.htm
@@ -29,7 +29,14 @@ <div class="col-sm-9"><input type="text" name="username" id="username" value="{tmpl_var name='username'}" class="form-control" /></div></div> <div class="form-group"> <label for="password" class="col-sm-3 control-label">{tmpl_var name='password_txt'}</label> <div class="col-sm-6"><input type="password" name="password" id="password" value="{tmpl_var name='password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /></div><div class="col-sm-3 input-sm"> </div><a href="javascript:void(0);" onclick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a> <div class="col-sm-9"> <div class="input-group"> <input type="password" name="password" id="password" value="{tmpl_var name='password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <span class="input-group-btn"> <button class="btn btn-default" type="button" onclick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</button> </span> </div> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">{tmpl_var name='password_strength_txt'}</label> interface/web/client/templates/reseller_edit_limits.htm
@@ -177,7 +177,7 @@ </a> </h4> </div> <div id="collapseMail" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingMail> <div id="collapseMail" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingMail"> <div class="panel-body"> <div class="form-group"> <label for="mail_servers" class="col-sm-3 control-label">{tmpl_var name='mail_servers_txt'}</label> interface/web/dns/templates/dns_dmarc_edit.htm
@@ -41,7 +41,7 @@ <div class="form-group"> <label class="col-sm-2 control-label">{tmpl_var name='dmarc_fo_txt'}</label> <div class="col-sm-3"> <div class="col-sm-1"> <input type="checkbox" value="1" id="dmarc_fo0" name="dmarc_fo0" {tmpl_var name='dmarc_fo0'}/> </div> <div class="col-sm-3 input-sm"> @@ -50,7 +50,7 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-3"> <div class="col-sm-1"> <input type="checkbox" value="1" id="dmarc_fo0" name="dmarc_fo0" {tmpl_var name='dmarc_fo1'}/> </div> <div class="col-sm-3 input-sm"> @@ -59,7 +59,7 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-3"> <div class="col-sm-1"> <input type="checkbox" value="1" id="dmarc_fod" name="dmarc_fod" {tmpl_var name='dmarc_fod'}/> </div> <div class="col-sm-3 input-sm"> @@ -68,7 +68,7 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-3"> <div class="col-sm-1"> <input type="checkbox" value="1" id="dmarc_fos" name="dmarc_fos" {tmpl_var name='dmarc_fos'}/> </div> <div class="col-sm-3 input-sm"> @@ -96,7 +96,7 @@ </div> <div class="form-group"> <label class="col-sm-2 control-label">{tmpl_var name='dmarc_rf_txt'}</label> <div class="col-sm-3"> <div class="col-sm-1"> <input type="checkbox" value="1" id="dmarc_rf_afrf" name="dmarc_fo0" {tmpl_var name='dmarc_rf_afrf'}/> </div> <div class="col-sm-3 input-sm"> @@ -104,8 +104,8 @@ </div> </div> <div class="form-group"> <label class="col-sm-2 control-label"></label> <div class="col-sm-3"> <label class="col-sm-2 control-label">{tmpl_var name='dmarc_rf_iodef'}</label> <div class="col-sm-1"> <input type="checkbox" value="1" id="dmarc_rf_iodef" name="dmarc_rf_iodef" {tmpl_var name='dmarc_rf_iodef'}/> </div> <div class="col-sm-3 input-sm"> interface/web/sites/templates/web_vhost_domain_admin_list.htm
@@ -46,6 +46,7 @@ <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="domain"}</a></td> <td class="text-right"> <a href="http://{tmpl_var name="domain"}" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="icon icon-link"></span></a> <a href="http://{tmpl_var name="domain"}/stats/" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="glyphicon glyphicon-signal"></span></a> <a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('sites/web_vhost_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></a> </td> </tr> interface/web/sites/templates/web_vhost_domain_list.htm
@@ -60,6 +60,7 @@ <td><a href="#" data-load-content="sites/web_vhost_domain_edit.php?id={tmpl_var name='id'}&type={tmpl_var name='vhostdomain_type'}">{tmpl_var name="domain"}</a></td> <td class="text-right"> <a href="http://{tmpl_var name="domain"}" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="icon icon-link"></span></button> <a href="http://{tmpl_var name="domain"}/stats/" target="_blank" class="btn btn-default formbutton-default formbutton-narrow"><span class="glyphicon glyphicon-signal"></span></a> <a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('sites/web_vhost_domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></button> </td> </tr> server/conf/php-fcgi-starter.master
server/conf/vhost.conf.master
@@ -397,11 +397,11 @@ RewriteEngine on <tmpl_if name='seo_redirect_enabled'> RewriteCond %{HTTP_HOST} <tmpl_var name='seo_redirect_operator'>^<tmpl_var name='seo_redirect_origin_domain'>$ [NC] RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='seo_redirect_target_domain'>$1 [R=301,L] RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='seo_redirect_target_domain'>$1 [R=301,NE,L] </tmpl_if> <tmpl_loop name="alias_seo_redirects"> RewriteCond %{HTTP_HOST} <tmpl_var name='alias_seo_redirect_operator'>^<tmpl_var name='alias_seo_redirect_origin_domain'>$ [NC] RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='alias_seo_redirect_target_domain'>$1 [R=301,L] RewriteRule ^(.*)$ http<tmpl_if name='ssl_enabled'>s</tmpl_if>://<tmpl_var name='alias_seo_redirect_target_domain'>$1 [R=301,NE,L] </tmpl_loop> <tmpl_loop name="redirects"> RewriteCond %{HTTP_HOST} <tmpl_var name='rewrite_domain'>$ [NC] server/lib/classes/monitor_tools.inc.php
@@ -62,6 +62,9 @@ $mainver = array_filter($mainver); $mainver = current($mainver).'.'.next($mainver); switch ($mainver){ case "15.10": $relname = "(Wily Werewolf)"; break; case "15.04": $relname = "(Vivid Vervet)"; break; server/scripts/ispconfig_update.php
@@ -88,7 +88,7 @@ echo "\n\n>> Update \n\n"; echo "Please choose the update method. For production systems select 'stable'. \nWARNING: The update from GIT is only for development systems and may break your current setup. Do not use the GIT version on servers that host any live websites!\nNote: Update all slave server, before you update master server.\n\n"; $method = simple_query('Select update method', array('stable', 'git'), 'stable'); $method = simple_query('Select update method', array('stable', 'git-stable', 'git-master'), 'stable'); if($method == 'stable') { $new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.'); @@ -99,6 +99,9 @@ } else { echo "There are no updates available for ISPConfig ".ISPC_APP_VERSION."\n"; } } elseif ($method == 'git-stable') { passthru('/usr/local/ispconfig/server/scripts/update_from_dev_stable.sh'); exit; } else { passthru('/usr/local/ispconfig/server/scripts/update_from_dev.sh'); exit; server/scripts/update_from_dev_stable.sh
New file @@ -0,0 +1,29 @@ #!/bin/bash { umask 0077 \ && tmpdir=`mktemp -dt "$(basename $0).XXXXXXXXXX"` \ && test -d "${tmpdir}" \ && cd "${tmpdir}" } || { echo 'mktemp failed' exit 1 } wget -O ispconfig3-dev.tar.gz "http://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1" tar xzf ispconfig3-dev.tar.gz echo -n "Latest git version: " ls -1d ispconfig3-master* cd ispconfig3-master*/install php -q \ -d disable_classes= \ -d disable_functions= \ -d open_basedir= \ update.php cd /tmp rm -rf "${tmpdir}" exit 0