function loginRedirect($member_id) { $db= JFactory :: getDBO(); $option= JRequest :: getVar('option'); $controller= JRequest :: getVar('controller'); $task= JRequest :: getVar('task'); if($option == 'com_osemsc' && $controller=="register" && $task=="save") { return; } $query= " SELECT a.menuid, m.link, m.id, m.alias,m.path" ." FROM `#__menu` as m" ." LEFT JOIN `#__osemsc_acl` as a ON a.menuid = m.id" ." LEFT JOIN `#__osemsc_member` as b ON b.msc_id = a.id" ." WHERE b.member_id={$member_id} AND b.status = 1 ORDER BY a.menuid DESC LIMIT 1" ; $db->setQuery($query); $menu= $db->loadObject(); if (!empty($menu)) { $uri= JRoute :: _(JURI::root().$menu->link."&Itemid=".$menu->id); $uri= str_replace("&", "&", $uri); $mainframe= JFactory :: getApplication(); if($option == 'com_osemsc' && empty($controller)) { $mainframe->redirect($uri, ''); } elseif($option == 'com_osemsc' && !empty($controller)) { $session =JFactory::getSession(); $session->set('oseReturnUrl',base64_encode(JURI::root().$menu->link."&Itemid=".$menu->id)); } else { $pluginParams = $this->params; $sefroutemethod= $pluginParams->get('sefroutemethod'); require_once(JPATH_SITE.DS.'components'.DS.'com_osemsc'.DS.'helpers'.DS.'oseMscPublic.php'); $uri = oseMscPublic::pointedRedirection($sefroutemethod,$menu); $mainframe= JFactory :: getApplication(); $mainframe->redirect($uri); } } else { $mainframe= JFactory :: getApplication(); $db= JFactory :: getDBO(); $redmenuid= $this->params->def('redmenuid', '0'); $query = "SELECT count(*) FROM `#__osemsc_member` WHERE `status` = 0 AND `member_id` = ".$member_id; $db->setQuery($query); $result = $db->loadResult(); if(!empty($result)) { $redmenuid= $this->params->def('expmem_redmenuid', $redmenuid); } $sefroutemethod= $this->params->get('sefroutemethod'); $option = JRequest::getVar('option'); if (!empty($redmenuid) && $option != 'com_osemsc') { $query= "SELECT * FROM `#__menu` WHERE `id` = ". (int)$redmenuid; $db->setQuery($query); $menu= $db->loadObject(); require_once(JPATH_SITE.DS.'components'.DS.'com_osemsc'.DS.'helpers'.DS.'oseMscPublic.php'); $uri = oseMscPublic::pointedRedirection($sefroutemethod,$menu); $mainframe->redirect($uri); } if($option == 'com_osemsc' && empty($controller)) { //$mainframe->redirect('index.php?option=com_osemsc&view=member', ''); } elseif($option == 'com_osemsc' && !empty($controller)) { //$session =JFactory::getSession(); //$session->set('oseReturnUrl',base64_encode('index.php?option=com_osemsc&view=member')); } } }
function redirect($type=null, $message=null,$redmenuid=null) { $mainframe= JFactory :: getApplication('SITE'); $plugin = &JPluginHelper::getPlugin('system', 'oserouter'); $pluginParams = $this->params; $sefroutemethod= $pluginParams->get('sefroutemethod'); if (empty($type)) { $redmenuid= empty($redmenuid)?$this->params->def('redmenuid', '0'):$redmenuid; $redmessage= $this->params->def('redmessage', 'Member Only!'); $redmessage=(!empty($message))?$message:$redmessage; if (!empty($redmenuid)) { $db= & JFactory :: getDBO(); $query= "SELECT * FROM `#__menu` WHERE `id` = ". (int)$redmenuid; $db->setQuery($query); $menu= $db->loadObject(); require_once(JPATH_SITE.DS.'components'.DS.'com_osemsc'.DS.'helpers'.DS.'oseMscPublic.php'); $redURL = $uri = oseMscPublic::pointedRedirection($sefroutemethod,$menu); /*switch ($sefroutemethod) { default: case 0: $redURL= $menu->link."&Itemid=".$menu->id; break; case 1: $redURL= JRoute :: _($menu->link."&Itemid=".$menu->id); break; case 2: $redURL= JRoute :: _($menu->alias); break; } if(strpos($redURL,'http') === false && $sefroutemethod != 1) { $redURL = JURI::root().$redURL; }*/ } else { $redURL =JURI::root().'index.php?option=com_osemsc&view=register'; } $redirect= str_replace("&", "&", JRoute::_($redURL)); $mainframe->redirect($redirect, $redmessage); } elseif ($type=="register") { $db= & JFactory :: getDBO(); $redmenuid= $this->params->def('redmenuid', '0'); $Itemid = JRequest :: getCmd('Itemid'); if($redmenuid == $Itemid) { return true; } if (!empty($redmenuid)) { $query= "SELECT * FROM `#__menu` WHERE `id` = ". (int)$redmenuid; $db->setQuery($query); $menu= $db->loadObject(); require_once(JPATH_SITE.DS.'components'.DS.'com_osemsc'.DS.'helpers'.DS.'oseMscPublic.php'); $redURL = $uri = oseMscPublic::pointedRedirection($sefroutemethod,$menu); /*switch ($sefroutemethod) { default: case 0: $redURL= JURI::root().$menu->link."&Itemid=".$menu->id; break; case 1: $redURL= JRoute :: _(JURI::root().$menu->link."&Itemid=".$menu->id); break; case 2: $redURL= JRoute :: _(JURI::root().$menu->alias); break; } if(strpos($redURL,'http') === false && $sefroutemethod != 1) { $redURL = JURI::root().$redURL; }*/ } else { $query= "SELECT id FROM `#__menu` WHERE `link` LIKE 'index.php?option=com_osemsc&view=register%'"; $db->setQuery($query); $result= $db->loadResult(); $Itemid=(!empty($result)) ? "&Itemid=".$result : ""; $redirect= JURI::root().JRoute :: _("index.php?option=com_osemsc&view=register".$Itemid); $redURL= str_replace("&", "&", $redirect); } $mainframe->redirect($redURL); } }
function logout() { $result = array(); $app = JFactory::getApplication('SITE'); //preform the logout action $error = $app->logout(); if (!JError::isError($error)) { $session = JFactory::getSession(); $return = $session->get('oseReturnUrl', base64_encode('index.php')); $session->clear('oseReturnUrl'); // if not enable the plg?? $plugin = JPluginHelper::getPlugin('user', 'oseuser'); if (JOOMLA16) { if (empty($plugin)) { $logoutRedirect = false; $logoutredmenuid = 0; } else { $pluginParams = oseJson::decode($plugin->params); $logoutRedirect = $pluginParams->logoutRedirect; $logoutredmenuid = $pluginParams->logoutredmenuid; $sefroutemethod = $pluginParams->sefroutemethod; } } else { $pluginParams = new JParameter($plugin->params); $logoutRedirect = $pluginParams->get('logoutRedirect'); $logoutredmenuid = $pluginParams->get('logoutredmenuid'); $sefroutemethod = $pluginParams->get('sefroutemethod'); } if ($logoutRedirect && !empty($logoutredmenuid)) { $db = JFactory::getDBO(); $query = "SELECT * FROM `#__menu` WHERE `id` = " . (int) $logoutredmenuid; $db->setQuery($query); $menu = $db->loadObject(); $return = $uri = oseMscPublic::pointedRedirection($sefroutemethod, $menu); $result['success'] = true; $result['returnUrl'] = $return; } else { $result['success'] = true; $result['returnUrl'] = base64_decode($return); } } else { $result['success'] = false; $result['title'] = JText::_('Error'); $result['content'] = JText::_('Failed'); } $result = oseJson::encode($result); oseExit($result); }