/**
  * trigger loading all plugins with an API.php file in the Proxy 
  */
 public function __construct()
 {
     $plugins = Core_PluginsManager::getInstance()->getLoadedPluginsName();
     foreach ($plugins as $plugin) {
         $plugin = Core::unprefixClass($plugin);
         try {
             Core_API_Proxy::getInstance()->registerClass('Core_' . $plugin . '_API');
         } catch (Exception $e) {
         }
     }
 }
/**
 * Smarty {assignTopBar} function plugin.
 * Initialize top nav bar text and links.
 *
 * @param array $params
 * @param Smarty $smarty
 */
function smarty_function_assignTopBar($params, &$smarty)
{
    $topBarElements = array();
    $elements = array(array('CoreHome', Core_Translate('General_Dashboard'), array('module' => 'CoreHome', 'action' => 'index')), array('MultiSites', Core_Translate('General_MultiSitesSummary'), array('module' => 'MultiSites', 'action' => 'index')), array('Widgetize', Core_Translate('General_Widgets'), array('module' => 'Widgetize', 'action' => 'index')), array('API', Core_Translate('General_API'), array('module' => 'API', 'action' => 'listAllAPI')), array('Feedback', Core_Translate('General_GiveUsYourFeedback'), array('module' => 'Feedback', 'action' => 'index'), 'id="topbar-feedback"'));
    foreach ($elements as $element) {
        if (Core_PluginsManager::getInstance()->isPluginActivated($element[0])) {
            $topBarElements[] = $element;
        }
    }
    $smarty->assign("topBarElements", $topBarElements);
}