array( 'noheader' => True, 'nonavbar' => True, 'currentapp' => $app ) ); include('./header.inc.php'); // check if users are supposed to change their password every x sdays, then check if password is of old age or the devil-admin reset the users password // and forced the user to change his password on next login. auth::check_password_age($app,$class,$method); // user changed timezone if (isset($_GET['tz'])) { egw_time::setUserPrefs($_GET['tz']); // throws exception, if tz is invalid $GLOBALS['egw']->preferences->add('common','tz',$_GET['tz']); $GLOBALS['egw']->preferences->save_repository(); if (($referer = common::get_referer())) { egw::redirect_link($referer); } } // Check if we are using windows or normal webpage $windowed = false; $tpl_info = EGW_SERVER_ROOT . '/phpgwapi/templates/' . basename($GLOBALS['egw_info']['user']['preferences']['common']['template_set']) . '/setup/setup.inc.php'; if (!file_exists($tpl_info)) { $tpl_info = EGW_SERVER_ROOT.'/'.basename($GLOBALS['egw_info']['user']['preferences']['common']['template_set']) . '/setup/setup.inc.php'; } if(@file_exists($tpl_info)) { include_once($tpl_info); if($GLOBALS['egw_info']['template'][$GLOBALS['egw_info']['user']['preferences']['common']['template_set']]['windowed']) { $windowed = true; } } // try to switch to mail on startup, if felamimail was called if ($GLOBALS['egw_info']['user']['preferences']['common']['default_app']=='felamimail' && !isset($GLOBALS['egw_info']['user']['apps']['felamimail']) && isset($GLOBALS['egw_info']['user']['apps']['mail'])) { $GLOBALS['egw_info']['user']['preferences']['common']['default_app'] ='mail'; if (isset($GLOBALS['egw']->preferences)) { $GLOBALS['egw']->preferences->add('common','default_app','mail','user'); // save prefs $GLOBALS['egw']->preferences->save_repository(true); } } // until home works again, we redirect to default_app from prefs (if set and not home) or calendar, if allowed, or first app found if ($app == 'home' && !$api_requested && !($GLOBALS['egw']->framework instanceof jdots_framework)) { $app = $GLOBALS['egw_info']['user']['preferences']['common']['default_app']; if (!$app || $app == 'home') $app = isset($GLOBALS['egw_info']['user']['apps']['calendar']) ? 'calendar' : key($GLOBALS['egw_info']['user']['apps']); egw::redirect(egw_framework::index($app), $app); } // until home works again, we build new frameset for jdots template if ($app == 'home' && !$api_requested && $GLOBALS['egw']->framework instanceof jdots_framework) $_GET['cd'] = 'yes'; if($app == 'home' && !$api_requested && !($windowed && $_GET['cd'] == 'yes' && !html::$ua_mobile)) { if ($GLOBALS['egw_info']['server']['force_default_app'] && $GLOBALS['egw_info']['server']['force_default_app'] != 'user_choice') { $GLOBALS['egw_info']['user']['preferences']['common']['default_app'] = $GLOBALS['egw_info']['server']['force_default_app']; } if($GLOBALS['egw_info']['user']['preferences']['common']['default_app'] && !$hasupdates) { egw::redirect(egw_framework::index($GLOBALS['egw_info']['user']['preferences']['common']['default_app']),$GLOBALS['egw_info']['user']['preferences']['common']['default_app']); } else { egw::redirect_link('/home/index.php'); } } if($windowed && $_GET['cd'] == 'yes') { $GLOBALS['egw_info']['flags'] = array( 'noheader' => False, 'nonavbar' => False, 'currentapp' => 'eGroupWare' ); common::egw_header(); common::egw_footer(); } else { if($api_requested) { $app = 'phpgwapi'; } $obj = CreateObject($app.'.'.$class); if((is_array($obj->public_functions) && $obj->public_functions[$method]) && !$invalid_data) { $obj->$method(); unset($app); unset($class); unset($method); unset($invalid_data); unset($api_requested); } else { if(!$app || !$class || !$method || $invalid_data) { if(@is_object($GLOBALS['egw']->log)) { $GLOBALS['egw']->log->message(array( 'text' => 'W-BadmenuactionVariable, menuaction missing or corrupt: %1', 'p1' => $menuaction, 'line' => __LINE__, 'file' => __FILE__ )); } } if(!is_array($GLOBALS[$class]->public_functions) || !$GLOBALS[$class]->public_functions[$method] && $method) { if(@is_object($GLOBALS['egw']->log)) { $GLOBALS['egw']->log->message(array( 'text' => 'W-BadmenuactionVariable, attempted to access private method: %1', 'p1' => $method, 'line' => __LINE__, 'file' => __FILE__ )); } } if(@is_object($GLOBALS['egw']->log)) { $GLOBALS['egw']->log->commit(); } $GLOBALS['egw']->redirect_link('/home/index.php'); } if(!isset($GLOBALS['egw_info']['nofooter'])) { common::egw_footer(); } }