actionmigration.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. require_once(__DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'common.php');
  3. global $myUser,$lastQuery,$db,$steps;
  4. ini_set('max_execution_time', 36000);
  5. ob_implicit_flush(true);
  6. ini_set('memory_limit', '2048M');
  7. setlocale( LC_ALL, "fr_FR.utf8" );
  8. if(php_sapi_name() != 'cli')throw new Exception("Permission denied");
  9. // Utilisation du script : lancer sous windows ou linux avec la commande :
  10. //php actionmigration.php ../plugin/document/action.php
  11. // le premier parametre est le chemin relatif vers le fichier action a convertir
  12. if(!isset($argv[1])) exit('Veuillez spécifier un chemin relatif du fichier a convertir ex : php actionmigration.php ../plugin/document/action.php');
  13. if(!file_exists($argv[1])) exit('Le fichier action "'.$argv[1].'" n\'existe pas');
  14. $file = $argv[1];
  15. $stream = file_get_contents($file);
  16. $regex = '/case \'([^\']*)\':[\s|\t|\r|\n]*Action::write\(function\(&\$response\)\{(.*)\}\);[\s|\t|\r|\n]*break;/iUs';
  17. $stream = preg_replace($regex, 'Action::register(\'$1\',function(&$response){
  18. $2
  19. });', $stream);
  20. $stream = file_put_contents($file.'.converted',$stream);
  21. echo 'Fichier convertis `sur le chemin '.$file.'.converted';
  22. ?>