]> Raphaƫl G. Git Repositories - packbundle/blobdiff - Command/RangeCommand.php
Generate an unique rapsys pack range string
[packbundle] / Command / RangeCommand.php
index b5586de0d6c4de8256c7794c6dff842140912e3a..e4f15daf80a9f015f302e8365aeb860657b7be1f 100644 (file)
 
 namespace Rapsys\PackBundle\Command;
 
+use Rapsys\PackBundle\Command;
+use Rapsys\PackBundle\RapsysPackBundle;
+
 use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
 
-use Rapsys\PackBundle\Command;
-
 /**
  * {@inheritdoc}
  *
@@ -77,6 +78,9 @@ class RangeCommand extends Command {
                        $shuffles = array_merge($shuffles, $slices);
                } while (!empty($ranges));
 
+               //Set string
+               $string = 'RAPSYSPACK_RANGE="'.strtr(implode($shuffles), ['\\' => '\\\\', '"' => '\\"', '$' => '\\$']).'"';
+
                //With writeable file
                if (is_file($file = $input->getArgument('file')) && is_writeable($file)) {
                        //Get file content
@@ -88,16 +92,14 @@ class RangeCommand extends Command {
                                return self::FAILURE;
                        }
 
-                       //Set string
-                       $string = 'RAPSYSPACK_RANGE="'.strtr(implode($shuffles), ['\\' => '\\\\', '"' => '\\"', '$' => '\\$']).'"';
-
                        //With match
                        if (preg_match('/^RAPSYSPACK_RANGE=.*$/m', $content, $matches, PREG_OFFSET_CAPTURE)) {
                                //Replace matches
                                $content = preg_replace('/^(RAPSYSPACK_RANGE=.*)$/m', '#$1'."\n".strtr($string, ['\\' => '\\\\', '\\$' => '\\\\$']), $content);
                        //Without match
                        } else {
-                               $content .= "\n".$string;
+                               //Append string
+                               $content .= (strlen($content)?"\n\n":'').'###> '.RapsysPackBundle::getBundleAlias().' ###'."\n".$string."\n".'###< '.RapsysPackBundle::getBundleAlias().' ###';
                        }
 
                        //Write file content
@@ -114,13 +116,13 @@ class RangeCommand extends Command {
                //Without writeable file
                } else {
                        //Print instruction
-                       echo '# Set in '.$file."\n";
+                       echo '# Add to '.$file."\n";
 
                        //Print rapsys pack range variable
-                       echo 'RAPSYSPACK_RANGE=';
+                       echo '###> '.RapsysPackBundle::getBundleAlias().' ###'."\n".$string."\n".'###< '.RapsysPackBundle::getBundleAlias().' ###';
 
-                       //Print shuffled range
-                       var_export(implode($shuffles));
+                       //Add trailing line
+                       echo "\n";
                }
 
                //Return success