Till Brehm
2016-05-27 27972469e57a2072584470c3dadce83b6ddf8844
Improved letsencrypt onInsert code.
1 files modified
16 ■■■■■ changed files
interface/web/sites/web_vhost_domain_edit.php 16 ●●●●● patch | view | raw | blame | history
interface/web/sites/web_vhost_domain_edit.php
@@ -1342,8 +1342,12 @@
        // Letsencrypt can not be activated before the website has been created
        // So we deactivate it here and add a datalog update in onAfterInsert
        if(isset($this->dataRecord['ssl_letsencrypt']) && $this->dataRecord['ssl_letsencrypt'] == 'y' && isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y') {
            // Disable letsencrypt and ssl temporarily
            $this->dataRecord['ssl_letsencrypt'] = 'n';
            $this->dataRecord['ssl'] = 'n';
            // Prevent that the datalog history gets written
            $app->tform->formDef['db_history'] = 'no';
            // Set variable that we check in onAfterInsert
            $this->_letsencrypt_on_insert = true;
        }
    }
@@ -1419,13 +1423,13 @@
        }
        if(isset($this->dataRecord['folder_directive_snippets'])) $app->db->query("UPDATE web_domain SET folder_directive_snippets = ? WHERE domain_id = ?", $this->dataRecord['folder_directive_snippets'], $this->id);
        
        // Add a datalog update with letsencrypt enabled (see also onBeforeInsert)
        // Add a datalog insert without letsencrypt and then an update with letsencrypt enabled (see also onBeforeInsert)
        if($this->_letsencrypt_on_insert == true) {
            $tmp = $web_rec;
            $tmp['ssl_letsencrypt'] = 'y';
            $tmp['ssl'] = 'y';
            $app->db->datalogUpdate('web_domain', $tmp, 'domain_id', $this->id);
            unset($tmp);
            $new_data_record = $app->tform->getDataRecord($this->id);
            $app->tform->datalogSave('INSERT', $this->id, array(), $new_data_record);
            $new_data_record['ssl_letsencrypt'] = 'y';
            $new_data_record['ssl'] = 'y';
            $app->db->datalogUpdate('web_domain', $new_data_record, 'domain_id', $this->id);
        }
    
    }