Exemplo n.º 1
0
function formulaires_assistant_migration_charger_dist(){

	if ($squelette = migration_determiner_dossier_squelette()) {
		$squelette = explode(':',$squelette);
		$squelette = array_map('joli_repertoire',$squelette);
		$squelette = implode(', ',$squelette);
	}

	$valeurs = array(
		'_etapes'=>3,
		'editable' => autoriser('webmestre'),
		'direction' => '',
		'_depuis_status' => '',
		'url_cible' => '',
		'migration_key' => '',
		'quoi' => array('base','fichiers','squelettes'),
		'_auth_depuis' => verifier_auth_depuis()?' ':'',
		'_dir_img' => joli_repertoire(_DIR_IMG),
		'_dir_skel' => $squelette,
	);

	if (_request('direction')=='depuis'){
		$valeurs['_depuis_status'] = lire_migration_depuis_status();
	}
	else {
		initialiser_migration_depuis(true);
	}

	return $valeurs;
}
Exemplo n.º 2
0
/**
 * Initialiser une migration vers
 * @param string $status_file
 * @param array $tables
 * @param array $files
 * @param array $where
 * @param string $action
 * @return bool|string
 */
function migrer_vers_init($status_file, $tables=null, $files = null,$where=array(),$action='migration_vers'){
	$status_file = _DIR_TMP.basename($status_file).".txt";

	if (lire_fichier($status_file, $status)
		AND $status = unserialize($status)
		AND $status['etape']!=='fini'
		AND filemtime($status_file)>=time()-120) // si le fichier status est trop vieux c'est un abandon
		return _T("migration:erreur_{$action}_deja_en_cours");

	if (!$tables)
		list($tables,) = base_liste_table_for_dump(lister_tables_noexport());
	if (!$files){
		$files = preg_files(_DIR_IMG,'.');
	}
	$squelettes = '';
	$dir_squels = explode(':',migration_determiner_dossier_squelette());
	if (count($dir_squels)){
		$squelettes = array();
		foreach($dir_squels as $dir_squel)
			$squelettes[$dir_squel] = preg_files($dir_squel,'.');
	}
	$status = array('tables'=>$tables,'files'=>$files,'squelettes'=>$squelettes,'where'=>$where);

	$status['etape'] = 'init';
	if (!ecrire_fichier($status_file, serialize($status)))
		return _T('migration:avis_probleme_ecriture_fichier',array('fichier'=>$status_file));

	return true;
}