/** * Contruct controller and execute specific action * * @access public * @param string $controller_name * @param string $action * @return null */ static function executeAction($controller_name, $action) { $max_users = config_option('max_users'); if ($max_users && Contacts::count() > $max_users) { echo lang("error").": ".lang("maximum number of users exceeded error"); return; } ajx_check_login(); Env::useController($controller_name); $controller_class = Env::getControllerClass($controller_name); if(!class_exists($controller_class, false)) { throw new ControllerDnxError($controller_name); } // if $controller = new $controller_class(); if(!instance_of($controller, 'Controller')) { throw new ControllerDnxError($controller_name); } // if if (is_ajax_request()) { // if request is an ajax request return a json response // execute the action $controller->setAutoRender(false); $controller->execute($action); // fill the response $response = AjaxResponse::instance(); if (!$response->hasCurrent()) { // set the current content $response->setCurrentContent("html", $controller->getContent(), page_actions(), ajx_get_panel()); } $response->setEvents(evt_pop()); $error = flash_pop('error'); $success = flash_pop('success'); if (!is_null($error)) { $response->setError(1, clean($error)); } else if (!is_null($success)) { $response->setError(0, clean($success)); } // display the object as json tpl_assign("object", $response); $content = tpl_fetch(Env::getTemplatePath("json")); tpl_assign("content_for_layout", $content); TimeIt::start("Transfer"); if (is_iframe_request()) { tpl_display(Env::getLayoutPath("iframe")); } else { tpl_display(Env::getLayoutPath("json")); } TimeIt::stop(); } else { return $controller->execute($action); } } // executeAction
?> </div> </div> </div> <!-- content wrapper --> <div id="outerContentWrapper"> <?php if (is_array(page_actions())) { ?> <div id="page_actionsWrapper"> <div id="page_actionsBlock"> <div id="page_actions"> <ul class="lavaLampxxImage"> <?php foreach (page_actions() as $page_action) { ?> <li><a href="<?php echo $page_action->getURL(); ?> "><?php echo clean($page_action->getTitle()); ?> </a></li> <?php } // foreach ?> </ul> </div> </div>
<?php } // if {?> <?php } // foreach ?> </ul> <?php } // if ?> </div> </div> </div> <!-- content wrapper --> <div id="outerContentWrapper"> <?php if (is_array(page_actions())) { ?> <div id="page_actionsWrapper"> <div id="page_actionsBlock"> <div id="page_actions"> <ul> <?php foreach (page_actions() as $page_action) { ?> <li><a href="<?php echo $page_action->getURL() ?>"><?php echo clean($page_action->getTitle()) ?></a></li> <?php } // foreach ?> </ul> </div> </div> </div> <?php } else { // if ?> <div style="height:1px"></div> <?php } // if ?> <div id="innerContentWrapper"> <?php if (!is_null(flash_get('success'))) { ?> <div id="success"><?php echo clean(flash_get('success')) ?></div> <?php } ?> <?php if (!is_null(flash_get('error'))) { ?> <div id="error"><?php echo clean(flash_get('error')) ?></div>
/** * Contruct controller and execute specific action * * @access public * @param string $controller_name * @param string $action * @return null */ static function executeAction($controller_name, $action) { $max_users = config_option('max_users'); if ($max_users && Users::count() > $max_users) { echo lang("error") . ": " . lang("maximum number of users exceeded error"); return; } ajx_check_login(); if (isset($_GET['active_project']) && logged_user() instanceof User) { $dont_update = false; if (GlobalCache::isAvailable()) { $option_value = GlobalCache::get('user_config_option_' . logged_user()->getId() . '_lastAccessedWorkspace', $success); if ($success) { $dont_update = $option_value == $_GET['active_project']; } } if (!$dont_update) { set_user_config_option('lastAccessedWorkspace', $_GET['active_project'], logged_user()->getId()); if (GlobalCache::isAvailable()) { GlobalCache::update('user_config_option_' . logged_user()->getId() . '_lastAccessedWorkspace', $_GET['active_project']); } } } Env::useController($controller_name); $controller_class = Env::getControllerClass($controller_name); if (!class_exists($controller_class, false)) { throw new ControllerDnxError($controller_name); } // if $controller = new $controller_class(); if (!instance_of($controller, 'Controller')) { throw new ControllerDnxError($controller_name); } // if if (is_ajax_request()) { // if request is an ajax request return a json response // execute the action $controller->setAutoRender(false); $controller->execute($action); // fill the response $response = AjaxResponse::instance(); if (!$response->hasCurrent()) { // set the current content $response->setCurrentContent("html", $controller->getContent(), page_actions(), ajx_get_panel()); } $response->setEvents(evt_pop()); $error = flash_pop('error'); $success = flash_pop('success'); if (!is_null($error)) { $response->setError(1, clean($error)); } else { if (!is_null($success)) { $response->setError(0, clean($success)); } } // display the object as json tpl_assign("object", $response); $content = tpl_fetch(Env::getTemplatePath("json")); tpl_assign("content_for_layout", $content); TimeIt::start("Transfer"); if (is_iframe_request()) { tpl_display(Env::getLayoutPath("iframe")); } else { tpl_display(Env::getLayoutPath("json")); } TimeIt::stop(); } else { return $controller->execute($action); } }
<?php $page_actions = page_actions(); if (is_array($page_actions)) { // latest logic: 1 element -> show, 2 elements -> show, 3 elements or more -> show first, rest in dropdown // end effect: max. 2 buttons on page, dropdown has min. 2 elements $page_actions_count = count($page_actions); ?> <ul id="page_menu"> <li><a href="<?php echo $page_actions[0]->getURL(); ?> "><?php echo clean($page_actions[0]->getTitle()); ?> </a></li> <?php if ($page_actions_count == 2) { ?> <li><a href="<?php echo $page_actions[1]->getURL(); ?> "><?php echo clean($page_actions[1]->getTitle()); ?> </a></li> <?php } // if if ($page_actions_count > 2) { ?>