Changeset 5836

Show
Ignore:
Timestamp:
06/27/08 14:44:53 (2 months ago)
Author:
p_lindheimer
Message:

SYMLINK notification should print all file errors it finds, warning banner in auto-generated conf files needs an option to not print it as some conf files do not use the ';' syntax

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • freepbx/trunk/amp_conf/bin/retrieve_conf

    r5723 r5836  
    453453                                foreach(${$classname}->get_filename() as $modconf) { 
    454454                                        freepbx_log('retrieve_conf', 'devel-debug', 'generateConf from '.$classname.'->'.$modconf.''); 
    455                                         write_file($modconf,${$classname}->generateConf($modconf)); 
     455                                        if (isset(${$classname}->use_warning_banner)) { 
     456                                                write_file($modconf,${$classname}->generateConf($modconf),${$classname}->use_warning_banner); 
     457                                        } else { 
     458                                                write_file($modconf,${$classname}->generateConf($modconf)); 
     459                                        } 
    456460                                } 
    457461                        } else { 
    458462                                freepbx_log('retrieve_conf', 'devel-debug', 'generateConf from '.$classname); 
    459                                 write_file(${$classname}->get_filename(),${$classname}->generateConf()); 
     463                                if (isset(${$classname}->use_warning_banner)) { 
     464                                        write_file(${$classname}->get_filename(),${$classname}->generateConf(),${$classname}->use_nowarning_banner); 
     465                                } else { 
     466                                        write_file(${$classname}->get_filename(),${$classname}->generateConf()); 
     467                                } 
    460468                        } 
    461469                } 
     
    464472 
    465473 
    466 function write_file($filename,$contents) { 
     474function write_file($filename,$contents,$use_warning_banner=true) { 
    467475        global $asterisk_conf; 
    468476        freepbx_log('retrieve_conf', 'devel-debug', 'Writing '.$filename); 
    469477        if (isset($filename) && !empty($filename)) { 
    470478                if ($fd = fopen(addslash($asterisk_conf['astetcdir']).$filename, "w")) { 
    471                         fwrite($fd, WARNING_BANNER ); 
     479                        if ($use_warning_banner) { 
     480                                fwrite($fd, WARNING_BANNER ); 
     481                        } 
    472482                        fwrite($fd, $contents); 
    473483                        fclose($fd); 
     
    507517        $nt = notifications::create($db); 
    508518 
     519        $error_modules = ''; 
    509520        foreach ($symlink_dirs as $subdir => $targetdir) { 
    510521                $dir = addslash($moduledir).$subdir; 
     
    518529                                                if (!is_link($dest)) { 
    519530                                                        freepbx_log('retrieve-conf', 'error', $dest.' already exists, and is not a symlink!'); 
    520                                                         $nt->add_error('retrieve_conf', 'SYMLINK', _("symlink from modules failed"), sprintf(_("retrieve_conf failed to sym link the %s file from modules"),$dest))
     531                                                        $error_modules .= "<br />&nbsp;&nbsp;&nbsp;".$dest
    521532                                                        $symlink_errors = true; 
    522533                                                } else if (readlink($dest) != $src) { 
    523534                                                        // TODO : is this the proper handling? should we just overwrite..? 
    524535                                                        freepbx_log('retrieve-conf', 'error', $dest.' already exists, and is linked to something else!'); 
    525                                                         $nt->add_error('retrieve_conf', 'SYMLINK', _("symlink from modules failed"), sprintf(_("retrieve_conf failed to sym link the %s file from modules"),$dest))
     536                                                        $error_modules .= "<br />&nbsp;&nbsp;&nbsp;".$dest
    526537                                                        $symlink_errors = true; 
    527538                                                } else { 
     
    544555                } 
    545556        } 
    546         if (!$symlink_errors) { 
     557        if ($error_modules) { 
     558                $nt->add_error('retrieve_conf', 'SYMLINK', _("Symlink from modules failed"), sprintf(_("retrieve_conf failed to sym link: %s<br \>This can result in FATAL failures to your PBX"),$error_modules)); 
     559        } else { 
    547560                $nt->delete('retrieve_conf', 'SYMLINK'); 
    548561        } 
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads