Example #1
0
 // Get all domains of the user
 $domains = file_get_contents($usersPath . DIRECTORY_SEPARATOR . $account->getUsername() . DIRECTORY_SEPARATOR . 'domains.list');
 // Loop through all domains of the user
 foreach (explode("\n", $domains) as $domain) {
     if (empty($domain)) {
         continue;
     }
     // Replace the $domain with our Domain object,
     $domain = new Domain($domain, $account);
     if (!$domain->existsInStorage('config.json')) {
         $log->log('Skipped domain ' . $domain->getDomain());
         continue;
     }
     $log->log('Processing domain ' . $domain->getDomain());
     // Check if a renew is required, if everything needs to be checked within 10 days or in the past
     if (strtotime($domain->config('expire')) - time() >= 10 * 86400) {
         $log->log('Domain ' . $domain->getDomain() . ' doesn\'t need a reissue');
         continue;
     }
     try {
         $challenges = new Challenges($domain);
         $challenges->solveChallenge();
         $log->log('Successfully completed challenge for ' . $domain->getDomain());
         $domain->createKeys();
         $domain->requestCertificate(null, $domain->config('subdomains'));
         $log->log('Successfully received certificate from Let\'s Encrypt');
         $domain->applyCertificates();
         $log->log('Successfully applied certificate and CA certificates to DirectAdmin');
         $domain->config('domain', $domain->getDomain());
         $domain->config('subdomains', $domain->getSubdomains());
         $domain->config('status', 'applied to DirectAdmin (renewed)');