Changeset 5872

Show
Ignore:
Timestamp:
07/01/08 21:46:18 (3 months ago)
Author:
p_lindheimer
Message:

added support to featurescodes class to use freepbx_featurecodes.conf in place of hardcoded module settings for default values when supplied

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • freepbx/trunk/amp_conf/htdocs/admin/featurecodes.class.php

    r4993 r5872  
    99        var $_enabled;          // Enabled/Disabled (0=disabled; 1=enabled; -1=unknown) 
    1010        var $_loaded;           // If this feature code was succesfully loaded from the DB 
     11        var $_overridecodes;            // Overide defaults from featurecodes.conf 
    1112 
    1213        // CONSTRUCTOR 
    1314        function featurecode($modulename, $featurename) { 
     15                global $amp_conf; 
     16 
    1417                if ($modulename == '' || $featurename == '') 
    1518                        die_freepbx('feature code class must be called with ModuleName and FeatureName'); 
     19 
     20                $fd = $amp_conf['ASTETCDIR'].'/freepbx_featurecodes.conf'; 
     21                $this->_overridecodes = array(); 
     22                if (file_exists($fd)) { 
     23                        $this->_overridecodes = parse_ini_file($fd,true); 
     24                } 
    1625 
    1726                $this->_modulename = $modulename; 
     
    4352                if (is_array($res)) { // found something, read it 
    4453                        $this->_description = $res[0]; 
    45                         $this->_defaultcode = $res[1]; 
     54                        if (isset($this->_overridecodes[$this->_modulename][$this->_featurename]) && trim($this->_overridecodes[$this->_modulename][$this->_featurename]) != '') { 
     55                                $this->_defaultcode = $this->_overridecodes[$this->_modulename][$this->_featurename]; 
     56                                if ($this->_defaultcode != $res[1]) { 
     57                                        $sql = 'UPDATE featurecodes SET defaultcode = '.sql_formattext($this->_defaultcode).  
     58                                                'WHERE modulename = '.sql_formattext($this->_modulename). ' AND featurename = '.sql_formattext($this->_featurename); 
     59                                        sql($sql, 'query'); 
     60                                } 
     61                        } else { 
     62                                $this->_defaultcode = $res[1]; 
     63                        } 
    4664                        $this->_customcode = $res[2]; 
    4765                        $this->_enabled = $res[3]; 
     
    109127         
    110128        // SET DEFAULT CODE 
    111         function setDefault($deafultcode, $defaultenabled = true) { 
     129        function setDefault($defaultcode, $defaultenabled = true) { 
    112130                if (!$this->isReady()) 
    113131                        $this->init(1); 
    114132                         
    115                 if ($deafultcode == '') { 
     133                if (isset($this->_overridecodes[$this->_modulename][$this->_featurename])) { 
     134                        $defaultcode = $this->_overridecodes[$this->_modulename][$this->_featurename]; 
     135                } 
     136 
     137                if (trim($defaultcode) == '') { 
    116138                        unset($this->_defaultcode); 
    117139                } else { 
    118                         $this->_defaultcode = $deafultcode;                    
     140                        $this->_defaultcode = $defaultcode;                    
    119141                } 
    120142 
     
    122144                        $this->_enabled = ($defaultenabled) ? 1 : 0; 
    123145                } 
    124  
    125146 
    126147        } 
     
    217238 
    218239function featurecodes_getAllFeaturesDetailed() { 
     240        global $amp_conf; 
     241 
     242        $fd = $amp_conf['ASTETCDIR'].'/freepbx_featurecodes.conf'; 
     243        $overridecodes = array(); 
     244        if (file_exists($fd)) { 
     245                $overridecodes = parse_ini_file($fd,true); 
     246        } 
    219247        $s = "SELECT featurecodes.modulename, featurecodes.featurename, featurecodes.description AS featuredescription, featurecodes.enabled AS featureenabled, featurecodes.defaultcode, featurecodes.customcode, "; 
    220248        $s .= "modules.enabled AS moduleenabled "; 
     
    227255                $modules = module_getinfo(false, MODULE_STATUS_ENABLED); 
    228256                foreach ($results as $key => $item) { 
     257 
    229258                        // get the module display name 
    230259                        $results[$key]['moduledescription'] = (!empty($modules[ $item['modulename'] ]['name']) ? $modules[ $item['modulename'] ]['name'] : ucfirst($item['modulename'])); 
     260                        if (isset($overridecodes[$item['modulename']][$item['featurename']]) && trim($overridecodes[$item['modulename']][$item['featurename']]) != '') { 
     261                                $results[$key]['defaultcode'] = $overridecodes[$item['modulename']][$item['featurename']]; 
     262                        } 
    231263                } 
    232264                 
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads