|
|
@@ -132,6 +132,7 @@ SQL;
|
|
|
} else if ($affected == 0) {
|
|
|
echo '<div class="alert alert-info">' . "Nic nie zmieniono" . '</div>';
|
|
|
}
|
|
|
+ if ($affected) $this->updateDatabaseAndPaths($currentLogin, $newLogin);
|
|
|
} catch (Exception $e) { ?>
|
|
|
<div class="alert alert-danger">
|
|
|
<?php echo $e->getMessage(); ?>
|
|
|
@@ -178,4 +179,69 @@ SQL;
|
|
|
return $affected;
|
|
|
}
|
|
|
|
|
|
+ public function updateDatabaseAndPaths($currentLogin, $newLogin) {
|
|
|
+ $db = DB::getDB();
|
|
|
+ $columns = Array("L_APPOITMENT_USER","A_RECORD_CREATE_AUTHOR","A_RECORD_UPDATE_AUTHOR");
|
|
|
+ $dbName = $db->getDatabaseName();
|
|
|
+
|
|
|
+ echo '<div class="alert alert-info" role="alert">';
|
|
|
+ foreach ($columns as $column) {
|
|
|
+ $sql = <<<SQL
|
|
|
+ select cols.`TABLE_NAME`
|
|
|
+ from `INFORMATION_SCHEMA`.`COLUMNS` cols
|
|
|
+ join `INFORMATION_SCHEMA`.`TABLES` tabs
|
|
|
+ on cols.TABLE_SCHEMA=tabs.TABLE_SCHEMA
|
|
|
+ and cols.TABLE_NAME=tabs.TABLE_NAME
|
|
|
+ and tabs.TABLE_TYPE!='VIEW'
|
|
|
+ where cols.`TABLE_SCHEMA`='{$dbName}'
|
|
|
+ and cols.`COLUMN_NAME`='{$column}'
|
|
|
+SQL;
|
|
|
+ $res = $db->query($sql);
|
|
|
+
|
|
|
+ while ($r = $db->fetch($res)) {
|
|
|
+ $tableName = $r->TABLE_NAME;
|
|
|
+ $sql = <<<SQL
|
|
|
+ update `{$dbName}`.`{$tableName}` tab
|
|
|
+ set tab.`{$column}`='{$newLogin}'
|
|
|
+ where tab.`{$column}`='{$currentLogin}'
|
|
|
+SQL;
|
|
|
+ echo 'Aktualizowanie kolumny `'.$column.'`. w tabeli `'.$tableName.'`... <span style="color:';
|
|
|
+ try {
|
|
|
+ $db->query($sql);
|
|
|
+ $affected=$db->affected_rows();
|
|
|
+ $affected_all+=$affected;
|
|
|
+ if ($affected) {
|
|
|
+ echo 'green">Zaktualizowano '.$affected.' rekordów.';
|
|
|
+ } else {
|
|
|
+ echo 'red">Nie zaktualizowano żadnego rekordu.';
|
|
|
+ }
|
|
|
+ echo "</span><br>";
|
|
|
+ } catch (Exception $e) { ?>
|
|
|
+ <div class="alert alert-danger">
|
|
|
+ <?php echo $e->getMessage(); ?>
|
|
|
+ </div>
|
|
|
+ <?php }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ echo "<br>Łącznie zaktualizowano {$affected_all} rekordów.<br>";
|
|
|
+
|
|
|
+ $homes="/Users/";
|
|
|
+ $currentHomeDir=$homes.$currentLogin;
|
|
|
+ $newHomeDir=$homes.$newLogin;
|
|
|
+
|
|
|
+ $mails="/Library/Server/Mail/Data/mail/users/";
|
|
|
+ $currentMailDir=$mails.$currentLogin;
|
|
|
+ $newMailDir=$mails.$newLogin;
|
|
|
+
|
|
|
+ $cmd = "sudo mv '{$currentHomeDir}' '{$newHomeDir}'";
|
|
|
+ #exec($cmd, null, null);
|
|
|
+ echo "Zmieniono nazwę katalogu domowego z {$currentHomeDir} na {$newHomeDir}<br>";
|
|
|
+
|
|
|
+ $cmd = "sudo mv '{$currentMailDir }' '{$newMailDir}'";
|
|
|
+ #exec($cmd, null, null);
|
|
|
+ echo "Zmieniono nazwę katalogu pocztowego z {$currentMailDir} na {$newMailDir}";
|
|
|
+
|
|
|
+ echo "</div>";
|
|
|
+ }
|
|
|
+
|
|
|
}
|