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; }
/** * 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; }