Ejemplo n.º 1
0
	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'));
			}

        }
	}
Ejemplo n.º 2
0
	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);
		}
	}
Ejemplo n.º 3
0
	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);
	}