/** * Include Plugins * Include all active plugins that are in the database * */ protected function includePlugins() { if (self::$plugins_active and !empty(self::$plugins_active)) { // Validate and include our found plugins foreach (self::$plugins_active as $handlerClass => $value) { // The plugin information being added to the database $data['Item'] = ["handler_class" => $handlerClass, "name" => trim(self::$plugins_pool[$handlerClass]['plugin_info']['name']), "url" => trim(self::$plugins_pool[$handlerClass]['plugin_info']['url']), "version" => trim(self::$plugins_pool[$handlerClass]['plugin_info']['version']), "text" => trim(self::$plugins_pool[$handlerClass]['plugin_info']['text']), "author" => trim(self::$plugins_pool[$handlerClass]['plugin_info']['author']), "author_url" => trim(self::$plugins_pool[$handlerClass]['plugin_info']['author_url'])]; $model = Item::findOne(['handler_class' => $handlerClass]); if ($model->load($data) && $model->save()) { // here install events to Event $this->includeEvents($model->id, $handlerClass); } } } }