function canon_register_required_plugins()
{
    // Get TGM plugins array
    $plugins = canon_get_tgm_plugins_array();
    // Change this to your theme text domain, used for internationalising strings
    $theme_text_domain = 'loc_canon';
    /**
     * Array of configuration settings. Amend each line as needed.
     * If you want the default strings to be available under your own theme domain,
     * leave the strings uncommented.
     * Some of the strings are added into a sprintf, so see the comments at the
     * end of each line for what each argument will be.
     */
    $config = array('domain' => $theme_text_domain, 'default_path' => '', 'parent_menu_slug' => 'themes.php', 'parent_url_slug' => 'themes.php', 'has_notices' => true, 'is_automatic' => false, 'message' => '', 'strings' => array('page_title' => __('Install Required Plugins', $theme_text_domain), 'menu_title' => __('Install Plugins', $theme_text_domain), 'installing' => __('Installing Plugin: %s', $theme_text_domain), 'oops' => __('Something went wrong with the plugin API.', $theme_text_domain), 'notice_can_install_required' => _n_noop('This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.'), 'notice_can_install_recommended' => _n_noop('This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.'), 'notice_cannot_install' => _n_noop('Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.'), 'notice_can_activate_required' => _n_noop('The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.'), 'notice_can_activate_recommended' => _n_noop('The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.'), 'notice_cannot_activate' => _n_noop('Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.'), 'notice_ask_to_update' => _n_noop('The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.'), 'notice_cannot_update' => _n_noop('Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.'), 'install_link' => _n_noop('Begin installing plugin', 'Begin installing plugins'), 'activate_link' => _n_noop('Activate installed plugin', 'Activate installed plugins'), 'return' => __('Return to Required Plugins Installer', $theme_text_domain), 'plugin_activated' => __('Plugin activated successfully.', $theme_text_domain), 'complete' => __('All plugins installed and activated successfully. %s', $theme_text_domain), 'nag_type' => 'updated'));
    tgmpa($plugins, $config);
}
 public function check_info($false, $action, $arg)
 {
     $tgm_plugins = canon_get_tgm_plugins_array();
     $all_plugins = get_plugins();
     foreach ($tgm_plugins as $key => $tgm_plugin) {
         if (isset($tgm_plugin['canon_auc'])) {
             if ($tgm_plugin['canon_auc']) {
                 // skip if tgm plugin is not currently installed
                 $tgm_plugin_file = $tgm_plugin['canon_auc_plugin_file'];
                 if (!isset($all_plugins[$tgm_plugin_file])) {
                     continue;
                 }
                 // if match then edit info
                 $tgm_plugin_slug = $tgm_plugin['slug'];
                 if ($arg->slug === $tgm_plugin_slug) {
                     // build new info
                     $obj = new stdClass();
                     $obj->name = isset($tgm_plugin['canon_auc_info']['name']) ? $tgm_plugin['canon_auc_info']['name'] : $tgm_plugin['name'];
                     $obj->slug = isset($tgm_plugin['canon_auc_info']['slug']) ? $tgm_plugin['canon_auc_info']['slug'] : $tgm_plugin['slug'];
                     $obj->requires = isset($tgm_plugin['canon_auc_info']['requires']) ? $tgm_plugin['canon_auc_info']['requires'] : "3.0";
                     $obj->tested = isset($tgm_plugin['canon_auc_info']['tested']) ? $tgm_plugin['canon_auc_info']['tested'] : "4.2";
                     $obj->last_updated = isset($tgm_plugin['canon_auc_info']['last_updated']) ? $tgm_plugin['canon_auc_info']['last_updated'] : "";
                     $obj->sections = isset($tgm_plugin['canon_auc_info']['sections']) ? $tgm_plugin['canon_auc_info']['sections'] : array('description' => 'Bundled plugin.');
                     $obj->download_link = 'http://localhost/update.php';
                     $obj->version = isset($tgm_plugin['canon_auc_info']['version']) ? $tgm_plugin['canon_auc_info']['version'] : $tgm_plugin['version'];
                     $obj->author = isset($tgm_plugin['canon_auc_info']['author']) ? $tgm_plugin['canon_auc_info']['author'] : "";
                     // $obj->plugin_name = $tgm_plugin['name'];
                     // $obj->downloaded = 12540;
                     $information = $obj;
                     return $information;
                 }
             }
         }
     }
     return false;
 }