diff --git a/application/modules/default/views/scripts/home/metamenubundlejs.phtml b/application/modules/default/views/scripts/home/metamenubundlejs.phtml index c8411b2e0..c74a35a2a 100755 --- a/application/modules/default/views/scripts/home/metamenubundlejs.phtml +++ b/application/modules/default/views/scripts/home/metamenubundlejs.phtml @@ -1,213 +1,215 @@ . **/ http_response_code(200); if (!empty($_SERVER['HTTP_ORIGIN'])) { header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN'], true); header('Access-Control-Allow-Credentials: true', true); header('Access-Control-Max-Age: 1728000', true); } if (!empty($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) { header('Access-Control-Allow-Methods: ' . implode(', ', array_unique([ 'OPTIONS', 'HEAD', 'GET', 'POST', strtoupper($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']) ])), true); } if (!empty($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) { header('Access-Control-Allow-Headers: ' . $_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'], true); header('Access-Control-Expose-Headers: Authorization, Content-Type, Accept', true); } if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { exit; } header('Content-Type: application/json; charset=UTF-8', true); //Change from opendesktop to pling $baseurl = Zend_Registry::get('config')->settings->client->default->baseurl; $baseurlStore = Zend_Registry::get('config')->settings->client->default->baseurl_store; $searchbaseurl = $this->buildSearchBaseUrl(); $url_forum = Zend_Registry::get('config')->settings->client->default->url_forum; $url_blog = Zend_Registry::get('config')->settings->client->default->url_blog; $url_gitlab = Zend_Registry::get('config')->settings->client->default->url_gitlab; $url_riot = Zend_Registry::get('config')->settings->client->default->url_riot; $url_myopendesktop = Zend_Registry::get('config')->settings->client->default->url_myopendesktop; $url_cloudopendesktop = Zend_Registry::get('config')->settings->client->default->url_cloudopendesktop; $url_musicopendesktop = Zend_Registry::get('config')->settings->client->default->url_musicopendesktop; $url_mastodon = Zend_Registry::get('config')->settings->client->default->url_mastodon; $url_docsopendesktop = Zend_Registry::get('config')->settings->client->default->url_docsopendesktop; $filter = new Local_Filter_Url_Encrypt(); $url_login; $url_logout; $target = 'opendesktop'; if(isset($_GET['target'])) { $target = $_GET['target']; } $thisurl = "/"; if(isset($_GET['url'])) { $thisurl = $_GET['url']; } Zend_Registry::get('logger')->info('metamenubundlejs.phtml - redirect url : ' . $thisurl); $isExternal = 'var isExternal = true;'; $is_external = true; $targetObject = array(); $targetObject['target'] = $target; $targetObject['logo'] = "opendesktop"; $targetObject['logoLabel'] = "OpenDesktop"; $targetObject['link'] = $baseurl; if($target == 'opendesktop') { //20200120 ronald: redirect to /start //$url_login = "/login/redirect/".$filter->filter($thisurl); - if($thisurl == '/') { + $uri = $_SERVER['REQUEST_URI']; + if($uri == '/' || $uri == '') { $url_login = "/login"; } else { $url_login = "/login/redirect/".$filter->filter($thisurl); } $url_logout = "/logout?redirect=".$filter->filter($thisurl); $isExternal = 'var isExternal = false;'; $is_external = false; } else if($target == 'gitlab') { $url_login = $baseurl."/login/redirect/".$filter->filter($url_gitlab); $url_logout = $baseurl."/logout?redirect=".$filter->filter($url_gitlab); $targetObject['logo'] = "opencode"; $targetObject['link'] = $url_gitlab; $targetObject['logoLabel'] = "Opencode"; } else if($target == 'riot') { $url_login = $baseurl."/login/redirect/".$filter->filter($url_riot); $url_logout = $baseurl."/logout?redirect=".$filter->filter($url_riot); $targetObject['link'] = $url_riot; $targetObject['logo'] = "opendesktop"; $targetObject['logoLabel'] = "Chat"; } else if($target == 'forum') { $url_login = $baseurl."/login/redirect/".$filter->filter($url_forum); $url_logout = $baseurl."/logout?redirect=".$filter->filter($url_forum); $targetObject['link'] = $url_forum; $targetObject['logo'] = "opendesktop"; $targetObject['logoLabel'] = "Forum"; } else if($target == 'myopendesktop') { $url_login = $baseurl."/login/redirect/".$filter->filter($url_myopendesktop); $url_logout = $baseurl."/logout?redirect=".$filter->filter($url_myopendesktop); $targetObject['link'] = $url_myopendesktop; $targetObject['logo'] = "opendesktop"; $targetObject['logoLabel'] = "My"; } else if($target == 'cloudopendesktop') { $url_login = $baseurl."/login/redirect/".$filter->filter($url_cloudopendesktop); $url_logout = $baseurl."/logout?redirect=".$filter->filter($url_cloudopendesktop); $targetObject['link'] = $url_cloudopendesktop; $targetObject['logo'] = "cloudopendesktop"; $targetObject['logoLabel'] = "Cloud"; } else if($target == 'musicopendesktop') { $url_login = $baseurl."/login/redirect/".$filter->filter($url_musicopendesktop); $url_logout = $baseurl."/logout?redirect=".$filter->filter($url_musicopendesktop); $targetObject['link'] = $url_musicopendesktop; $targetObject['logo'] = "opendesktop"; $targetObject['logoLabel'] = "Music"; } else if($target == 'mastodon') { $url_login = $baseurl."/login/redirect/".$filter->filter($url_mastodon); $url_logout = $baseurl."/logout?redirect=".$filter->filter($url_mastodon); $targetObject['link'] = $url_mastodon; $targetObject['logo'] = "opendesktop"; $targetObject['logoLabel'] = "Mastodon"; } $helperUserRole = new Backend_View_Helper_UserRole(); $userRoleName = $helperUserRole->userRole(); $isAdmin = false; if (Default_Model_DbTable_MemberRole::ROLE_NAME_ADMIN == $userRoleName) { $isAdmin = true; } $user = null; $metamenuTheme = ''; $contentTheme = ''; if (Zend_Auth::getInstance()->hasIdentity()){ $identity = Zend_Auth::getInstance()->getStorage()->read(); $helperImage = new Default_View_Helper_Image(); $avatar = $helperImage->image($identity->profile_image_url,array('width' => 100, 'height' => 100, 'crop' => 2)); $isSupporter = $this->isSupporter($identity->member_id); $user = array( "username" => $identity->username, "member_id" => $identity->member_id, "mail" => $identity->mail, "avatar" => $avatar, "roleName" =>$identity->roleName, "isSupporter" => $isSupporter ); $settingmodel = new Default_Model_MemberSettingValue(); $result = $settingmodel->fetchMemberSettingItem($identity->member_id,1); if($result && $result['value']==1) { $metamenuTheme = 'metamenu-theme-dark'; } $result = $settingmodel->fetchMemberSettingItem($identity->member_id,2); if($result && $result['value']==1) { $contentTheme = 'content-theme-dark'; } } $sname = Zend_Registry::get('store_host'); //$json_menu = $this->fetchMetaheaderMenuJson(); //"domains" => Zend_Json::decode($json_menu), $response = array( "json_isAdmin" => $isAdmin, "isExternal" => $is_external, "user" => $user, "baseUrl" => $baseurl, "baseUrlStore" => $baseurlStore, "searchbaseurl" => $searchbaseurl, "blogUrl" => $url_blog, "forumUrl" => $url_forum, "mastodonUrl" => $url_mastodon, "gitlabUrl" => $url_gitlab, "myopendesktopUrl" => $url_myopendesktop, "cloudopendesktopUrl" => $url_cloudopendesktop, "musicopendesktopUrl" => $url_musicopendesktop, "docsopendesktopUrl" => $url_docsopendesktop, "riotUrl" => $url_riot, "loginUrl" => $url_login, "logoutUrl" => $url_logout, "sName" => $sname, "metamenuTheme" => $metamenuTheme, "contentTheme" => $contentTheme, "target" => $targetObject, - "store" => null + "store" => null, + "uri" => $uri ); echo Zend_Json::encode($response); ?>