Пример #1
0
 /**
  * Remove widgets if their is unused.
  *
  * @param array $widgets Widgets list.
  *
  * @return void
  */
 protected function _removeUnusedWidgets($widgets)
 {
     // Get widgets from databases.
     print ConsoleUtil::headLine('Checking unused widgets...');
     foreach (Widget::find() as $widget) {
         if (!in_array($widget->name, $widgets)) {
             $this->_info('Removing unused widget: ' . $widget->name . PHP_EOL);
             $widget->delete();
         }
     }
     print PHP_EOL;
 }
Пример #2
0
 /**
  * Prepare widgets metadata for Engine.
  *
  * @param DI $di Dependency injection.
  *
  * @return void
  */
 protected function _initWidgets(DI $di)
 {
     if ($di->get('app')->isConsole()) {
         return;
     }
     $cache = $di->get('cacheData');
     $widgets = $cache->get(System::CACHE_KEY_WIDGETS_METADATA);
     if ($widgets === null) {
         $widgets = [];
         foreach (Widget::find() as $object) {
             $widgets[] = [$object->id, $object->getKey(), $object];
         }
         $cache->save(System::CACHE_KEY_WIDGETS_METADATA, $widgets, 0);
         // Unlimited.
     }
     $di->get('widgets')->addWidgets($widgets);
 }