original_string: protected function _install()
      {
          $message = __d('installer', "Please provide a theme source, it can be either an URL or a filesystem path to a ZIP/directory within your server?\n[Q]uit");
          while (true) {
              $source = $this->in($message);
              if (strtoupper($source) === 'Q') {
                  $this->err(__d('installer', 'Installation aborted'));
                  break;
              } else {
                  $this->out(__d('installer', 'Starting installation...'), 0);
                  $task = $this->dispatchShell("Installer.plugins install -s \"{$source}\" --theme -a");
  
                  if ($task === 0) {
                      $this->_io->overwrite(__d('installer', 'Starting installation... successfully installed!'), 2);
                      $this->out();
                      break;
                  } else {
                      $this->_io->overwrite(__d('installer', 'Starting installation... failed!'), 2);
                      $this->out();
                  }
              }
          }
  
          $this->out();
      }
code: protected function _install()
      {
          $message = __d('installer', "Please provide a theme source, it can be either an URL or a filesystem path to a ZIP/directory within your server?\n[Q]uit");
          while (true) {
              $source = $this->in($message);
              if (strtoupper($source) === 'Q') {
                  $this->err(__d('installer', 'Installation aborted'));
                  break;
              } else {
                  $this->out(__d('installer', 'Starting installation...'), 0);
                  $task = $this->dispatchShell("Installer.plugins install -s \"{$source}\" --theme -a");
  
                  if ($task === 0) {
                      $this->_io->overwrite(__d('installer', 'Starting installation... successfully installed!'), 2);
                      $this->out();
                      break;
                  } else {
                      $this->_io->overwrite(__d('installer', 'Starting installation... failed!'), 2);
                      $this->out();
                  }
              }
          }
  
          $this->out();
      }
code_tokens: protected function _install ( ) { $ message = __d ( 'installer' , "Please provide a theme source, it can be either an URL or a filesystem path to a ZIP/directory within your server?\n[Q]uit" ) ; while ( true ) { $ source = $ this -> in ( $ message ) ; if ( strtoupper ( $ source ) === 'Q' ) { $ this -> err ( __d ( 'installer' , 'Installation aborted' ) ) ; break ; } else { $ this -> out ( __d ( 'installer' , 'Starting installation...' ) , 0 ) ; $ task = $ this -> dispatchShell ( "Installer.plugins install -s \"{$source}\" --theme -a" ) ; if ( $ task === 0 ) { $ this -> _io -> overwrite ( __d ( 'installer' , 'Starting installation... successfully installed!' ) , 2 ) ; $ this -> out ( ) ; break ; } else { $ this -> _io -> overwrite ( __d ( 'installer' , 'Starting installation... failed!' ) , 2 ) ; $ this -> out ( ) ; } } } $ this -> out ( ) ; }
docstring: Installs a new theme.
  
  @return void
docstring_tokens: Installs a new theme .