@@ -68,23 +68,33 @@ public function setOptionsFromConfiguration($options)
6868 */
6969 private function setArgvOptions ($ options )
7070 {
71+ $ argvInput = new ArgvInput ();
7172 foreach ($ options as $ key => $ option ) {
72- if ($ option == 1 ) {
73- $ _SERVER ['argv ' ][] = sprintf ('--%s ' , $ key );
73+ if (!$ option ) {
7474 continue ;
7575 }
76- if (!empty ($ option )) {
77- if ($ key = 'root ' ) {
78- foreach ($ _SERVER ['argv ' ] as $ argvKey => $ argv ) {
79- if (strpos ($ argv , '-- ' .$ key ) === 0 ) {
80- $ argvValue = str_replace ('-- ' .$ key .'= ' , '' , $ argv );
81- $ _SERVER ['argv ' ][$ argvKey ] = sprintf ('--%s=%s%s ' , $ key , $ argvValue , $ option );
82- } else {
83- $ _SERVER ['argv ' ][] = sprintf ('--%s=%s ' , $ key , $ option );
84- }
76+
77+ if (!$ argvInput ->hasParameterOption ($ key )){
78+ if ($ option == 1 ) {
79+ $ _SERVER ['argv ' ][] = sprintf ('--%s ' , $ key );
80+ }
81+ $ _SERVER ['argv ' ][] = sprintf ('--%s=%s ' , $ key , $ option );
82+ continue ;
83+ }
84+ if ($ key === 'root ' ) {
85+ $ option = sprintf (
86+ '%s%s ' ,
87+ $ argvInput ->getParameterOption (['--root ' ], null ),
88+ $ option
89+ );
90+ }
91+ foreach ($ _SERVER ['argv ' ] as $ argvKey => $ argv ) {
92+ if (strpos ($ argv , '-- ' .$ key ) === 0 ) {
93+ if ($ option == 1 ) {
94+ $ _SERVER ['argv ' ][$ argvKey ] = sprintf ('--%s ' , $ key );
8595 }
86- } else {
87- $ _SERVER [ ' argv ' ][] = sprintf ( ' --%s=%s ' , $ key , $ option ) ;
96+ $ _SERVER [ ' argv ' ][ $ argvKey ] = sprintf ( ' --%s=%s ' , $ key , $ option );
97+ continue ;
8898 }
8999 }
90100 }
0 commit comments