Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Effettua il dump di un database, da inviare alle board
- * @param String $db_name può essere MASTER o l'id dell'impianto di cui fare il dump
- * @return void
- */
- public static function dumper( $db_name, $usecreatetable = false, $usetruncatetable = true, $deletedbdefaultcolumn = false ) {
- $version = self::getNextVersion($db_name);
- if (!is_dir(self::$settings['PATH_BASE'] . '/dump')) {
- mkdir(self::$settings['PATH_BASE'] . '/dump');
- }
- $DUMPfilename = self::$settings['PATH_BASE'] . 'dump/config_' . $version . '.sql';
- $BZfilename = self::$settings['PATH_BASE'] . "dump/config_" . $version . ".bz2";
- if ($db_name == 'MASTER') {
- $dump = new MySQLDump(self::$settings['DB_NAME'], self::$settings['DB_USER'], self::$settings['DB_PASS'], self::$settings['DB_HOST'], self::$settings['DB_PORT']);
- $dump->start( $DUMPfilename, self::getTablesToDump( self::$settings['DB_MASTER_TABLES'] ), $usecreatetable, $usetruncatetable, $deletedbdefaultcolumn );
- } else {
- $PlantController = new PlantController();
- $res = $PlantController->getByID($db_name);
- // TODO CONTROLLARE L'ESISTENZA DELL'IMPIANTO
- $db_params = self::checkPlantDBConnectionParams($db_name, $res->DBLocation, $res->DBPort, $res->DBUser, $res->DBPwd);
- $db_name = $db_params['dbname'];
- //echo json_encode($db_params['dbname'] . " " . $db_params['user'] . " " . $db_params['pass'] . " " . $db_params['host'] .":". $db_params['port']);
- $dump = new MySQLDump($db_params['dbname'], $db_params['user'], $db_params['pass'], $db_params['host'], $db_params['port']);
- $dump->start( $DUMPfilename , self::getTablesToDump( self::$settings['DB_PLANT_TABLES'] ), $usecreatetable, $usetruncatetable, $deletedbdefaultcolumn);
- }
- $file_pointer = fopen($DUMPfilename, 'r');
- $file_read = fread($file_pointer, filesize($DUMPfilename));
- fclose($file_pointer);
- $bz = bzopen($BZfilename, 'w');
- bzwrite($bz, $file_read);
- bzclose($bz);
- unlink($DUMPfilename);
- // Da testare una volta messo sul server
- if ($db_name == 'MASTER'){
- $destination = "/var/esapro/update/";
- } else {
- $destination = "/var/esapro/config/" . $db_name . "/";
- }
- rename ($BZfilename, $destination . "config_" . $version . ".bz2");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement