gen-domains.lua 909 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/lua
  2. function replace_patterns(value, subst)
  3. for k, v in pairs(subst) do
  4. value = value:gsub(k, v)
  5. end
  6. return value
  7. end
  8. local site_dir = os.getenv('GLUON_SITEDIR')
  9. dofile(site_dir .. '/extra/domains.conf')
  10. dofile(site_dir .. '/extra/groups.conf')
  11. local template = io.open(site_dir .. '/domain.tmpl'):read('*a')
  12. os.execute('mkdir -p ' .. site_dir .. '/domains')
  13. os.execute('rm -f ' .. site_dir .. '/domains/*')
  14. for _, domain in pairs(domains) do
  15. local file = site_dir .. '/domains/' .. domain.domain_code .. '.conf'
  16. local subst = {
  17. ['%%DC'] = domain.domain_code,
  18. ['%%DN'] = domain.domain_name,
  19. ['%%MI'] = domain.group,
  20. ['%%HI'] = domain.hide_domain and 'true' or 'false',
  21. }
  22. local config = replace_patterns(template, subst)
  23. config = replace_patterns(config, domain.subst)
  24. config = replace_patterns(config, groups[domain.group].subst)
  25. io.open(file, 'w'):write(config)
  26. end