Beispiel #1
0
 /**
  * Execute the console command.
  *
  * @return void
  */
 public function fire()
 {
     $packages = array();
     $fieldsets = FieldSetProvider::all();
     foreach ($fieldsets as $fieldset) {
         if (!$fieldset::assets()->isEmpty()) {
             $packages = $this->addPackageClass(get_class($fieldset), $packages);
         }
         $fieldtypes = $fieldset->allFieldTypes();
         foreach ($fieldtypes as $fieldtype) {
             if (!$fieldtype::assets()->isEmpty()) {
                 $packages = $this->addPackageClass($fieldtype, $packages);
             }
         }
     }
     foreach ($packages as $package) {
         try {
             $this->call('asset:publish', array('package' => $package));
         } catch (\Exception $e) {
             // couldn't publish package assets from vendor
             // but lets try the workbench too
             try {
                 $this->call('asset:publish', array('--bench' => $package));
                 $this->comment('Assets published from workbench: ' . $package);
             } catch (\Exception $e) {
                 $this->error($package . ' - ' . $e->getMessage());
             }
         }
     }
 }
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     // Register the Basic FieldSet
     FieldSetProvider::register('Packettide\\Bree\\FieldSets\\BasicFieldSet');
     // Register the Advanced FieldSet
     FieldSetProvider::register('Packettide\\BreeFsAdvanced\\AdvancedFieldSet');
     // Attach first party Basic fields
     FieldSetProvider::attachFields('basic', array('Date' => 'Packettide\\Bree\\FieldTypes\\Date', 'InlineStacked' => 'Packettide\\Bree\\FieldTypes\\Relate', 'Relate' => 'Packettide\\Bree\\FieldTypes\\Relate', 'Text' => 'Packettide\\Bree\\FieldTypes\\Text', 'TextArea' => 'Packettide\\Bree\\FieldTypes\\TextArea', 'Time' => 'Packettide\\Bree\\FieldTypes\\Time', 'None' => 'Packettide\\Bree\\FieldTypes\\None'));
     // Attach first party Advanced fields
     FieldSetProvider::attachFields('advanced', array('File' => 'Packettide\\Bree\\FieldTypes\\File', 'Cell' => 'Packettide\\Bree\\FieldTypes\\Cell', 'Cells' => 'Packettide\\Bree\\FieldTypes\\Cell', 'Matrix' => 'Packettide\\Bree\\FieldTypes\\Cell'));
     $this->app['bree'] = $this->app->share(function ($app) {
         return new Model();
     });
     $this->app->booting(function () {
         $loader = \Illuminate\Foundation\AliasLoader::getInstance();
         $loader->alias('Bree', 'Packettide\\Bree\\Model');
     });
 }
Beispiel #3
0
 /**
  * Generate the model Assets
  * @return Packettide\Bree\Assets\Collection
  */
 public function assets()
 {
     if (!$this->assets) {
         $assets = new Assets\Collection();
         foreach ($this->fieldsets as $fieldset) {
             $fieldset = FieldSetProvider::get($fieldset);
             $assets->put(get_class($fieldset), $fieldset::assets());
             $assets = $assets->merge($fieldset->fieldTypeAssets());
         }
         $this->assets = $assets;
     }
     return $this->assets;
 }
 /**
  * Bootstrap the application events.
  *
  * @return void
  */
 public function boot()
 {
     $this->package('packettide/bree-wysiwyg');
     FieldSetProvider::attachFields('advanced', array('Wysiwyg' => 'Packettide\\BreeWysiwyg\\BreeWysiwygAdvanced'));
 }