mcramer
2013-03-25 6352781154e6c7f5395b0527ee1d1780f996166d
- Implemented
New global option to grant reseller users access to the options (advanced) tab in web domains and vhost subdomains

9 files modified
123 ■■■■■ changed files
install/tpl/system.ini.master 1 ●●●● patch | view | raw | blame | history
interface/web/admin/form/system_config.tform.php 6 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/de_system_config.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/en_system_config.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/system_config_sites_edit.htm 6 ●●●●● patch | view | raw | blame | history
interface/web/sites/form/web_domain.tform.php 6 ●●●● patch | view | raw | blame | history
interface/web/sites/form/web_vhost_subdomain.tform.php 6 ●●●● patch | view | raw | blame | history
interface/web/sites/web_domain_edit.php 47 ●●●●● patch | view | raw | blame | history
interface/web/sites/web_vhost_subdomain_edit.php 49 ●●●●● patch | view | raw | blame | history
install/tpl/system.ini.master
@@ -23,6 +23,7 @@
phpmyadmin_url=/phpmyadmin
webftp_url=
client_username_web_check_disabled=n
reseller_can_use_options=n
[tools]
interface/web/admin/form/system_config.tform.php
@@ -160,6 +160,12 @@
            'default'    => 'n',
            'value'        => array(0 => 'n',1 => 'y')
        ),
        'reseller_can_use_options' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
            'default'    => 'n',
            'value'        => array(0 => 'n',1 => 'y')
        ),
    ##################################
    # ENDE Datatable fields
    ##################################
interface/web/admin/lib/lang/de_system_config.lng
@@ -49,4 +49,5 @@
$wb['mailbox_show_autoresponder_tab_txt'] = 'Zeige Autoresponder Reiter in E-Mail Kontodetails';
$wb['mailbox_show_mail_filter_tab_txt'] = 'Zeige E-Mail Filter Reiter in E-Mail Kontodetails';
$wb['mailbox_show_custom_rules_tab_txt'] = 'Zeige Benutzerregel Reiter in E-Mail Kontodetails';
$wb['reseller_can_use_options_txt'] = 'Reseller können den Optionen Reiter bei Webseiten verwenden';
?>
interface/web/admin/lib/lang/en_system_config.lng
@@ -52,4 +52,5 @@
$wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details';
$wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details';
$wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details';
$wb['reseller_can_use_options_txt'] = 'Reseller can use options tab in web sites config';
?>
interface/web/admin/templates/system_config_sites_edit.htm
@@ -51,6 +51,12 @@
                    {tmpl_var name='client_username_web_check_disabled'}
                </div>
            </div>
            <div class="ctrlHolder">
                <p class="label">{tmpl_var name='reseller_can_use_options_txt'}</p>
                <div class="multiField">
                    {tmpl_var name='reseller_can_use_options'}
                </div>
            </div>
        </fieldset>
            
        <input type="hidden" name="id" value="{tmpl_var name='id'}">
interface/web/sites/form/web_domain.tform.php
@@ -72,6 +72,9 @@
    if($client['limit_ssl'] != 'y') $ssl_available = false;
}
$app->uses('getconf');
$web_config = $app->getconf->get_global_config('sites');
$form["tabs"]['domain'] = array (
    'title'     => "Domain",
    'width'     => 100,
@@ -524,7 +527,8 @@
// }
if($_SESSION["s"]["user"]["typ"] == 'admin') {
if($_SESSION["s"]["user"]["typ"] == 'admin'
    || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
$form["tabs"]['advanced'] = array (
    'title'     => "Options",
interface/web/sites/form/web_vhost_subdomain.tform.php
@@ -64,6 +64,9 @@
    if($client['limit_ssl'] != 'y') $ssl_available = false;
}
$app->uses('getconf');
$web_config = $app->getconf->get_global_config('sites');
$form["tabs"]['domain'] = array (
    'title'     => "Domain",
    'width'     => 100,
@@ -523,7 +526,8 @@
// }
if($_SESSION["s"]["user"]["typ"] == 'admin') {
if($_SESSION["s"]["user"]["typ"] == 'admin'
    || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
$form["tabs"]['advanced'] = array (
    'title'     => "Options",
interface/web/sites/web_domain_edit.php
@@ -253,6 +253,53 @@
            // add limits to template to be able to hide settings
            foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
            
            $sites_config = $app->getconf->get_global_config('sites');
            if($sites_config['reseller_can_use_options']) {
                // Directive Snippets
                $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
                $php_directive_snippets_txt = '';
                if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
                        foreach($php_directive_snippets as $php_directive_snippet){
                            $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($php_directive_snippet['snippet']).'</pre></a> ';
                        }
                }
                if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
                $app->tpl->setVar("php_directive_snippets_txt",$php_directive_snippets_txt);
                if($server_type == 'apache'){
                    $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
                    $apache_directive_snippets_txt = '';
                    if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
                            foreach($apache_directive_snippets as $apache_directive_snippet){
                                $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($apache_directive_snippet['snippet']).'</pre></a> ';
                            }
                    }
                    if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
                    $app->tpl->setVar("apache_directive_snippets_txt",$apache_directive_snippets_txt);
                }
                if($server_type == 'nginx'){
                    $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
                    $nginx_directive_snippets_txt = '';
                    if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
                            foreach($nginx_directive_snippets as $nginx_directive_snippet){
                                $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($nginx_directive_snippet['snippet']).'</pre></a> ';
                            }
                    }
                    if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
                    $app->tpl->setVar("nginx_directive_snippets_txt",$nginx_directive_snippets_txt);
                }
                $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
                $proxy_directive_snippets_txt = '';
                if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
                        foreach($proxy_directive_snippets as $proxy_directive_snippet){
                            $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($proxy_directive_snippet['snippet']).'</pre></a> ';
                        }
                }
                if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
                $app->tpl->setVar("proxy_directive_snippets_txt",$proxy_directive_snippets_txt);
            }
            
            //* Admin: If the logged in user is admin
        } else {
interface/web/sites/web_vhost_subdomain_edit.php
@@ -164,7 +164,54 @@
            // add limits to template to be able to hide settings
            foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
            
            $sites_config = $app->getconf->get_global_config('sites');
            if($sites_config['reseller_can_use_options']) {
                // Directive Snippets
                $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
                $php_directive_snippets_txt = '';
                if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
                        foreach($php_directive_snippets as $php_directive_snippet){
                            $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> ';
                        }
                }
                if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
                $app->tpl->setVar("php_directive_snippets_txt",$php_directive_snippets_txt);
                if($server_type == 'apache'){
                    $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
                    $apache_directive_snippets_txt = '';
                    if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
                            foreach($apache_directive_snippets as $apache_directive_snippet){
                                $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> ';
                            }
                    }
                    if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
                    $app->tpl->setVar("apache_directive_snippets_txt",$apache_directive_snippets_txt);
                }
                if($server_type == 'nginx'){
                    $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
                    $nginx_directive_snippets_txt = '';
                    if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
                            foreach($nginx_directive_snippets as $nginx_directive_snippet){
                                $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> ';
                            }
                    }
                    if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
                    $app->tpl->setVar("nginx_directive_snippets_txt",$nginx_directive_snippets_txt);
                }
                $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
                $proxy_directive_snippets_txt = '';
                if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
                        foreach($proxy_directive_snippets as $proxy_directive_snippet){
                            $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> ';
                        }
                }
                if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
                $app->tpl->setVar("proxy_directive_snippets_txt",$proxy_directive_snippets_txt);
            }
            //* Admin: If the logged in user is admin
        } else {