示例#1
0
 /**
  * Automatically binds extension events to Navigate CMS modules
  * It checks the "bindings" section of every extension definition
  */
 public function extension_backend_bindings($ignore_permissions = true)
 {
     // when running inside Navigate CMS, this binds all extension events
     $extensions = extension::list_installed(null, $ignore_permissions);
     for ($e = 0; $e < count($extensions); $e++) {
         if (!isset($extensions[$e]['enabled']) || $extensions[$e]['enabled'] == '1') {
             if (!empty($extensions[$e]['bindings'])) {
                 foreach ($extensions[$e]['bindings'] as $binding) {
                     extension::include_php($extensions[$e]['code']);
                     $this->bind($binding->module, $binding->event, $extensions[$e]['code'], $binding->function);
                 }
             }
         }
     }
 }
示例#2
0
function extensions_dialog($extension, $function, $params)
{
    global $layout;
    $layout = null;
    $layout = new layout('navigate');
    // load the extension source code, if not already done
    extension::include_php($extension->code);
    if (function_exists($function)) {
        call_user_func($function, $params);
        $out = $layout->generate();
    } else {
        $out = 'ERROR: "' . $function . '" function does not exist!';
    }
    return $out;
}