Registers plugin collection

@return \Krystal\Application\View\PluginBag
172325
public function register(array $collection)
    {
        foreach ($collection as $name => $data) {
            $this->plugins[$name] = $data;
        }

        return $this;
    }
171980
protected function registerBindings()
    {
        $this->app->bind('FluxBB\Models\GroupRepositoryInterface', function ($app) {
            return new GroupRepository($app['cache']);
        });

        $this->app->bind('FluxBB\Models\ConfigRepositoryInterface', function ($app) {
            return new ConfigRepository($app['cache.store'], $app['Illuminate\Database\ConnectionInterface']);
        });

        $this->app->bind('FluxBB\Models\CategoryRepositoryInterface', function ($app) {
            return new CategoryRepository($app['Illuminate\Database\ConnectionInterface']);
        });

        $this->app->bind('FluxBB\Models\ConversationRepositoryInterface', function ($app) {
            return new ConversationRepository($app['Illuminate\Database\ConnectionInterface']);
        });
    }
839261
public function registerTwigEnvironment()
    {
        $this->app->singleton('twig', function ($app) {
            $twig = new \Twig_Environment(
                $app['twig.loader'],
                [
                    'auto_reload' => true,
                    'cache' => $app['config']['view.twig']
                ]
            );

            // Add Twig Debug Extension
            $twig->addExtension(new \Twig_Extension_Debug());

            // Enable debug.
            if ($app['config']['app.debug']) {
                $twig->enableDebug();
            }

            // Add WordPress helpers extension.
            $twig->addExtension(new WordPress());

            return $twig;
        });
    }
1362788
protected function registerPlugin() {
		$js = [];

		$view = $this->getView();

		CKEditorAsset::register($view);

		$id = $this->options['id'];

		$options = $this->clientOptions !== false && !empty($this->clientOptions)
			? Json::encode($this->clientOptions)
			: '{}';

		if ($this->disableAutoInline) {
			$js[] = "CKEDITOR.disableAutoInline = true;";
		}
		$js[] = "CKEDITOR.inline('$id', $options);";

		if (isset($this->clientOptions['filebrowserUploadUrl'])) {
			$js[] = "mranger.ckeditorWidget.registerCsrfImageUploadHandler();";
		}

		$view->registerJs(implode("\n", $js));
	}
313217
public function registerAssets()
    {
        $view = $this->getView();
        JsTreeAsset::register($view);

        $config = [
            'core' => array_merge(['data' => $this->data], $this->core),
            'checkbox' => $this->checkbox,
            'contextmenu' => $this->contextmenu,
            'dnd' => $this->dnd,
            'search' => $this->search,
            'sort' => $this->sort,
            'state' => $this->state,
            'plugins' => $this->plugins,
            'types' => $this->types
        ];
        $defaults = Json::encode($config);

        $inputId = (!$this->hasModel()) ? $this->options['id'] : Html::getInputId($this->model, $this->attribute);

        $js = <<<SCRIPT
;(function($, window, document, undefined) {
    $('#jsTree_{$this->options['id']}')
        .bind("loaded.jstree", function (event, data) {
                $("#{$inputId}").val(JSON.stringify(data.selected));
            })
        .bind("changed.jstree", function(e, data, x){
                $("#{$inputId}").val(JSON.stringify(data.selected));
        })
        .jstree({$defaults});
})(window.jQuery, window, document);
SCRIPT;
        $view->registerJs($js);
    }
121597
public function index()
    {
        $collection = plugin()->filter(function ($plugin) {
            return !$plugin->isTheme;
        });
        $plugins = $collection;
        $enabled = count($collection->filter(function ($plugin) {
            return $plugin->status;
        })->toArray());
        $disabled = count($collection->filter(function ($plugin) {
            return !$plugin->status;
        })->toArray());

        $this->title(__d('system', 'Plugins'));
        $this->set(compact('plugins', 'all', 'enabled', 'disabled'));
        $this->_awaitingPlugins();
        $this->Breadcrumb->push('/admin/system/plugins');
    }
1261370
protected function registerFormBuilder()
    {
        $this->app->singleton('form', function($app)
        {
            $form = new FoundationFiveFormBuilder(
                $app['html'],
                $app['url'],
                $app->make('Illuminate\View\Factory'),
                $app['session.store']->getToken(),
                $app['session.store']->get('errors') ?: new ViewErrorBag
            );

            return $form->setSessionStore($app['session.store']);
        });
    }
665869
private function registerGeneratorStubs()
    {
        $this->app->singleton( StubRegistry::class, function( Application $app )
        {
            $stubRegistry = new StubRegistry();

            $stubRegistry->registerStubs(
                $app[ Filesystem::class ],
                base_path( 'vendor/arbory/arbory/stubs' )
            );

            return $stubRegistry;
        } );
    }
1245601
public function registerMover()
    {
        $this->app->bind('mediable.mover', function (Container $app) {
            return new MediaMover($this->app['filesystem']);
        });
        $this->app->alias('mediable.mover', MediaMover::class);
    }
89872
private function registerPluginAssets()
    {
        NestableAsset::register($this->getView());

        $view = $this->getView();

        $pluginOptions = $this->getPluginOptions();
        $pluginOptions = Json::encode($pluginOptions);
        $view->registerJs("$('#{$this->id}').nestable({$pluginOptions});");
        $view->registerJs("
			$('#{$this->id}-new-node-form').on('beforeSubmit', function(e){
                $.ajax({
                    url: '{$this->getPluginOptions('createUrl')}',
                    method: 'POST',
                    data: $(this).serialize()
                }).success(function (data, textStatus, jqXHR) {
                    $('#{$this->id}-new-node-modal').modal('hide')
                    $.pjax.reload({container: '#{$this->id}-pjax'});
                    window.scrollTo(0, document.body.scrollHeight);
                }).fail(function (jqXHR) {
                    alert(jqXHR.responseText);
                });

                return false;
			});
		");
    }
601070
protected function registerCollections(array $collections)
    {
        $debugger = $this->app->make(Debugger::class);

        foreach ($collections as $collection) {
            $debugger->populateWith($this->app->make($collection));
        }
    }
383943
protected function registerAssets()
    {
        $view = $this->getView();
        IonSliderAsset::register($view);
        $view->registerJs('$("#' . $this->options['id'] . '").ionRangeSlider(' . $this->getPluginOptions() . ');');
    }
619442
public function register()
    {
        foreach ($this->modules as $module) {
            if ($aggregator = $module->getAttribute('aggregator')) {
                $this->container->register($aggregator);
            }
        }

        return $this;
    }
836323
public function register()
	{
        $this->app->bind('vextSchema', function() {
            return new VextBuilder(Schema::getConnection());
        });

        $this->app->bind('vextValidate', function() {
            return new VextValidate();
        });

        $this->app->booting(function(){
            $loader = \Illuminate\Foundation\AliasLoader::getInstance();
            $loader->alias('VextSchema', 'Qlcorp\VextFramework\Facades\VextSchema');
            $loader->alias('VextValidate', 'Qlcorp\VextFramework\Facades\VextValidate');
        });

        $this->app->bindShared('command.migrate.generate', function($app) {
            $packagePath = $app['path.base'].'/vendor';
            $repository = $app['migration.repository'];
            $migrator = new VextMigrator($repository, $app['db'], $app['files']);
            return new GenerateModelsCommand($migrator, $packagePath);
        });

        $this->commands('command.migrate.generate');
	}
480843
protected function registerSettings()
    {
        $this->app->singleton('jlourenco.settings', function ($app) {
            $config = $app['config']->get('jlourenco.base');

            $model = array_get($config, 'models.Settings');

            return new SettingsRepository($model);
        });
    }
1259093
protected function addPluginsRoutesCollection()
    {
        $routes = new RouteCollection();

        foreach ($this->plugins as $plugin) {
            if (!$plugin->exists()) {
                throw PluginNotFoundException::createPluginRouteNotFound($plugin);
            }

            $routes->addCollection(
                $this->addPluginRoutesCollection($plugin)
            );
        }

        return $routes;
    }
206673
protected function registerPlugin()
    {
        if (!isset($this->options['id'])) {
            $this->options['id'] = $this->hasModel() ? Html::getInputId($this->model, $this->attribute) : $this->getId();
        } else {
            $this->setId($this->options['id']);
        }
        
        $clientOptions = [];
        $this->clientOptions = ArrayHelper::merge($clientOptions, $this->clientOptions);
        
        if ($this->hasModel()) {
            $this->querySelector = '#' . $this->options['id'];
        } elseif (empty($this->querySelector)) {
            $this->querySelector = ArrayHelper::remove($this->clientOptions, 'querySelector', '#' . $this->options['id']);
        }
    }