Changeset 5836

Show
Ignore:
Timestamp:
06/27/08 17:44:53 (5 years 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  }