ftimme
2012-03-30 9b16a37984607aaa74ba915a66dcae47bc338821
- nginx: merge function: default action is now to replace older locations in the nginx vhost configuration; a merge  instead of a replacement can be achieved by putting the string "##merge##" (without quotes) at the end of the most recent location line (e.g. "location ~ \.php$ { ##merge##").
2 files modified
10 ■■■■ changed files
server/conf/nginx_vhost.conf.master 2 ●●● patch | view | raw | blame | history
server/plugins-available/nginx_plugin.inc.php 8 ●●●● patch | view | raw | blame | history
server/conf/nginx_vhost.conf.master
@@ -118,7 +118,7 @@
</tmpl_loop>
<tmpl_loop name="basic_auth_locations">
        location <tmpl_var name='htpasswd_location'> {
        location <tmpl_var name='htpasswd_location'> { ##merge##
                auth_basic "Members Only";
                auth_basic_user_file <tmpl_var name='htpasswd_path'>.htpasswd;
        }
server/plugins-available/nginx_plugin.inc.php
@@ -1629,10 +1629,16 @@
                    }
                    unset($loc_parts);
                    
                    if(!isset($locations[$location]['action'])) $locations[$location]['action'] = 'replace';
                    if(substr($l, -9) == '##merge##'){
                        $locations[$location]['action'] = 'merge';
                    }
                    if(!isset($locations[$location]['open_tag'])) $locations[$location]['open_tag'] = '        location '.$location.' {';
                    if(!isset($locations[$location]['location'])) $locations[$location]['location'] = '';
                    if(!isset($locations[$location]['location']) || $locations[$location]['action'] == 'replace') $locations[$location]['location'] = '';
                    if(!isset($locations[$location]['end_tag'])) $locations[$location]['end_tag'] = '        }';
                    if(!isset($locations[$location]['start_line'])) $locations[$location]['start_line'] = $i;
                    unset($lines[$i]);
                    
                } else {