original_string: public function uninstall()
      {
          /*
           * Rollback plugins
           */
          $plugins = $this->pluginManager->getPlugins();
          foreach ($plugins as $name => $plugin) {
              $this->rollbackPlugin($name);
          }
  
          /*
           * Register module migration files
           */
          $paths = [];
          $modules = Config::get('cms.loadModules', []);
  
          foreach ($modules as $module) {
              $paths[] = $path = base_path() . '/modules/'.strtolower($module).'/database/migrations';
          }
  
          /*
           * Rollback modules
           */
          while (true) {
              $rolledBack = $this->migrator->rollback($paths, ['pretend' => false]);
  
              foreach ($this->migrator->getNotes() as $note) {
                  $this->note($note);
              }
  
              if (count($rolledBack) == 0) {
                  break;
              }
          }
  
          Schema::dropIfExists($this->getMigrationTableName());
  
          return $this;
      }
code: public function uninstall()
      {
          /*
           * Rollback plugins
           */
          $plugins = $this->pluginManager->getPlugins();
          foreach ($plugins as $name => $plugin) {
              $this->rollbackPlugin($name);
          }
  
          /*
           * Register module migration files
           */
          $paths = [];
          $modules = Config::get('cms.loadModules', []);
  
          foreach ($modules as $module) {
              $paths[] = $path = base_path() . '/modules/'.strtolower($module).'/database/migrations';
          }
  
          /*
           * Rollback modules
           */
          while (true) {
              $rolledBack = $this->migrator->rollback($paths, ['pretend' => false]);
  
              foreach ($this->migrator->getNotes() as $note) {
                  $this->note($note);
              }
  
              if (count($rolledBack) == 0) {
                  break;
              }
          }
  
          Schema::dropIfExists($this->getMigrationTableName());
  
          return $this;
      }
code_tokens: public function uninstall ( ) { /*
           * Rollback plugins
           */ $ plugins = $ this -> pluginManager -> getPlugins ( ) ; foreach ( $ plugins as $ name => $ plugin ) { $ this -> rollbackPlugin ( $ name ) ; } /*
           * Register module migration files
           */ $ paths = [ ] ; $ modules = Config :: get ( 'cms.loadModules' , [ ] ) ; foreach ( $ modules as $ module ) { $ paths [ ] = $ path = base_path ( ) . '/modules/' . strtolower ( $ module ) . '/database/migrations' ; } /*
           * Rollback modules
           */ while ( true ) { $ rolledBack = $ this -> migrator -> rollback ( $ paths , [ 'pretend' => false ] ) ; foreach ( $ this -> migrator -> getNotes ( ) as $ note ) { $ this -> note ( $ note ) ; } if ( count ( $ rolledBack ) == 0 ) { break ; } } Schema :: dropIfExists ( $ this -> getMigrationTableName ( ) ) ; return $ this ; }
docstring: Roll back all modules and plugins.
  @return self
docstring_tokens: Roll back all modules and plugins .