Advertisement
Cusy

Untitled

Jan 30th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.25 KB | None | 0 0
  1.     /**
  2.      * Effettua il dump di un database, da inviare alle board
  3.      * @param String $db_name può essere MASTER o l'id dell'impianto di cui fare il dump
  4.      * @return void
  5.      */
  6.     public static function dumper( $db_name, $usecreatetable = false, $usetruncatetable = true, $deletedbdefaultcolumn = false ) {
  7.  
  8.         $version = self::getNextVersion($db_name);
  9.  
  10.         if (!is_dir(self::$settings['PATH_BASE'] . '/dump')) {
  11.             mkdir(self::$settings['PATH_BASE'] . '/dump');
  12.         }
  13.  
  14.         $DUMPfilename = self::$settings['PATH_BASE'] . 'dump/config_' . $version . '.sql';
  15.         $BZfilename = self::$settings['PATH_BASE'] . "dump/config_" . $version . ".bz2";
  16.  
  17.  
  18.         if ($db_name == 'MASTER') {
  19.  
  20.             $dump = new MySQLDump(self::$settings['DB_NAME'], self::$settings['DB_USER'], self::$settings['DB_PASS'], self::$settings['DB_HOST'], self::$settings['DB_PORT']);
  21.             $dump->start( $DUMPfilename, self::getTablesToDump( self::$settings['DB_MASTER_TABLES'] ), $usecreatetable, $usetruncatetable, $deletedbdefaultcolumn );
  22.            
  23.         } else {
  24.  
  25.             $PlantController = new PlantController();
  26.             $res = $PlantController->getByID($db_name);
  27.            
  28.             // TODO CONTROLLARE L'ESISTENZA DELL'IMPIANTO
  29.            
  30.             $db_params = self::checkPlantDBConnectionParams($db_name, $res->DBLocation, $res->DBPort, $res->DBUser, $res->DBPwd);
  31.             $db_name = $db_params['dbname'];
  32.  
  33.             //echo json_encode($db_params['dbname'] . " " . $db_params['user'] . " " . $db_params['pass'] . " " . $db_params['host'] .":". $db_params['port']);
  34.  
  35.             $dump = new MySQLDump($db_params['dbname'], $db_params['user'], $db_params['pass'], $db_params['host'], $db_params['port']);
  36.             $dump->start( $DUMPfilename , self::getTablesToDump( self::$settings['DB_PLANT_TABLES'] ), $usecreatetable, $usetruncatetable, $deletedbdefaultcolumn);
  37.         }
  38.  
  39.         $file_pointer = fopen($DUMPfilename, 'r');
  40.         $file_read = fread($file_pointer, filesize($DUMPfilename));
  41.         fclose($file_pointer);
  42.  
  43.         $bz = bzopen($BZfilename, 'w');
  44.         bzwrite($bz, $file_read);
  45.         bzclose($bz);
  46.  
  47.         unlink($DUMPfilename);
  48.  
  49.        
  50.         // Da testare una volta messo sul server
  51.         if ($db_name == 'MASTER'){
  52.             $destination = "/var/esapro/update/";
  53.         } else {
  54.             $destination = "/var/esapro/config/" . $db_name . "/";
  55.         }
  56.         rename ($BZfilename, $destination . "config_" . $version . ".bz2");
  57.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement