<?php

/*
 * Disable and Enable an option.
 *
 * Usefull for option reset
 *
 * Usage: php -q deoption.php <service_name>
 *
 * Author: nbk@cyberdude.com
 *
 */

/* General Functions */
function getOptionList()
{
    
$list = array();
    
$vlist = `/usr/local/bin/ListAllVirtDomains`;
    
$vlist explode("\n",$vlist);
    foreach ( 
$vlist as $i ) {
        if ( 
trim($i) != '') {
            
$n explode(' ',$i);
            
$dname $n[0];
            
$dlist = array(
                
'ensim_zero' => $n[1],
                
'ensim_ip' => $n[2],
                
'ensim_one' => $n[3],
                
'ensim_admin_username' => $n[4],
                
'ensim_email' => $n[5]
            );
            
$dops = array();
            foreach ( 
array_slice($n,6) as $ft ) {
                
$fte explode(':',$ft);
                
$dops[$fte[0]] = $fte[1];
            }
            
$dlist['ensim_features'] = $dops;
            
$list[$dname] = $dlist;
        }
    }
    return 
$list;
}

function 
disableEnable($domain,$service)
{
    `
/usr/local/bin/EditVirtDomain -c $service,off -D $domain`;
    
sleep(5);
    `
/usr/local/bin/EditVirtDomain -c $service,on -D $domain`;
    
sleep(5);
}

/* Main */
print "Ensim Disable and Enable v1.0\n\n";
if (
$argv[1]) {
    foreach ( 
getOptionList() as $domain => $domainops ) {
        print 
$domain."...\t";
        if ( (int)
$domainops['ensim_features']['sqmail'] == ) {
            
disableEnable($domain,$argv[1]);            
            print 
"Done!\n";
        } else {
            print 
" does not have the service enabled.\n";
        }
    }
}
?>