diff --git a/interface/web/tools/lib/lang/en_resync.lng b/interface/web/tools/lib/lang/en_resync.lng index f4cbf0d7fc7ce9f3faeab69ba3bfbd6cbeae1776..b01afa2c3fae1fd9aa07c833e3ca2af1074922b3 100644 --- a/interface/web/tools/lib/lang/en_resync.lng +++ b/interface/web/tools/lib/lang/en_resync.lng @@ -8,6 +8,7 @@ $wb['resync_cron_txt'] = 'Resync cronjobs'; $wb['resync_db_txt'] = 'Resync clientdb config'; $wb['resync_mailbox_txt'] = 'Resync Mailboxes'; $wb['resync_dns_txt'] = 'Resync DNS records'; +$wb['resync_client_txt'] = 'Resync Client records'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Cancel'; ?> \ No newline at end of file diff --git a/interface/web/tools/resync.php b/interface/web/tools/resync.php index a02ac9f11621c2894e8fa85bfe6f980e27d73181..1191585ff553e6d02c45d035e9e5d6f3231b2b2a 100644 --- a/interface/web/tools/resync.php +++ b/interface/web/tools/resync.php @@ -106,6 +106,16 @@ if(isset($_POST['resync_cron']) && $_POST['resync_cron'] == 1) { //* Resyncing Databases if(isset($_POST['resync_db']) && $_POST['resync_db'] == 1) { + $db_table = 'web_database_user'; + $index_field = 'database_user_id'; + $sql = "SELECT * FROM ".$db_table." WHERE 1"; + $records = $app->db->queryAllRecords($sql); + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= "Resynced Database user: ".$rec['database_user'].'<br />'; + } + } $db_table = 'web_database'; $index_field = 'database_id'; $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'"; @@ -144,6 +154,16 @@ if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) { $msg .= "Resynced Mailbox: ".$rec['email'].'<br />'; } } + $db_table = 'mail_forwarding'; + $index_field = 'forwarding_id'; + $sql = "SELECT * FROM ".$db_table; + $records = $app->db->queryAllRecords($sql); + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $msg .= "Resynced Alias: ".$rec['source'].'<br />'; + } + } } //* Resyncing dns zones @@ -169,6 +189,31 @@ if(isset($_POST['resync_dns']) && $_POST['resync_dns'] == 1) { } +//* Resyncing Clients +if(isset($_POST['resync_client']) && $_POST['resync_client'] == 1) { + $tform_def_file = "form/client.tform.php"; + $app->uses('tpl,tform,tform_actions'); + $app->load('tform_actions'); + + $db_table = 'client'; + $index_field = 'client_id'; + $sql = "SELECT * FROM ".$db_table; + $records = $app->db->queryAllRecords($sql); + if(is_array($records)) { + foreach($records as $rec) { + $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true); + $tmp = new tform_actions; + $tmp->id = $rec[$index_field]; + $tmp->dataRecord = $rec; + $tmp->oldDataRecord = $rec; + $app->plugin->raiseEvent('client:client:on_after_update', $tmp); + $msg .= "Resynced Client: ".$rec['contact_name'].'<br />'; + unset($tmp); + } + } +} + + $app->tpl->setVar('msg', $msg); $app->tpl->setVar('error', $error); diff --git a/interface/web/tools/templates/resync.htm b/interface/web/tools/templates/resync.htm index f16466053c39203afa696a40eb4b099e55a2f297..57eadb706129df7e885d264eee6cf54968bd200c 100644 --- a/interface/web/tools/templates/resync.htm +++ b/interface/web/tools/templates/resync.htm @@ -46,6 +46,12 @@ <div class="multiField"> <input id="resync_dns" type="checkbox" value="1" name="resync_dns" /> </div> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name="resync_client_txt"}</p> + <div class="multiField"> + <input id="resync_client" type="checkbox" value="1" name="resync_client" /> + </div> </div> </fieldset>