/**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $path = app_path('Widgets') . DIRECTORY_SEPARATOR . $this->argument('name') . '.json';
     if ($this->option('path')) {
         $path = base_path($this->argument('name'));
     }
     $this->extensions->registerManifest($path);
     $this->laravel->make('cache.store')->forget('extensions.widgets');
     $this->laravel->make('cache.store')->forget('extensions.all');
     $this->info($this->argument('name') . ' widget extension installed!');
 }
 /**
  * Uninstall an extension.
  *
  * @param string $id
  * @return \Illuminate\Http\RedirectResponse
  */
 public function destroy($id)
 {
     $extension = $this->repository->findOrFail($id);
     if ($extension->protected) {
         return $this->notifyError(trans('cms::extension.protected'));
     }
     if ($this->repository->uninstall($id)) {
         flash()->success(trans('cms::extension.deleted', compact('id')));
     } else {
         flash()->error(trans('cms::extension.error', compact('id')));
     }
     return back();
 }
Beispiel #3
0
 /**
  * @param \Illuminate\Http\Request $request
  * @param \Yajra\CMS\Entities\Menu $menu
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|string
  */
 public function extensions(Request $request, Menu $menu)
 {
     $extension = $this->extensions->findOrFail($request->query('key'));
     $template = $extension->param('template');
     if (view()->exists($template)) {
         return view($template, compact('menu'));
     }
     return '';
 }
Beispiel #4
0
 /**
  * Get widget custom parameter form if any.
  *
  * @param int $id
  * @param int $widget
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|string
  */
 public function parameters($id, $widget)
 {
     $widget = Widget::withoutGlobalScope('menu_assignment')->findOrNew($widget);
     $extension = $this->repository->findOrFail($id);
     $formView = $extension->param('form');
     if (view()->exists($formView)) {
         return view($formView, compact('widget'));
     }
     return view('widgets.partials.none');
 }
Beispiel #5
0
 /**
  * Get all registered widgets.
  *
  * @return \Illuminate\Support\Collection
  */
 public function allWidgets()
 {
     return $this->cache->rememberForever('extensions.widgets', function () {
         return $this->repository->allWidgets();
     });
 }