Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * @package API
- * @subpackage System.sittetokenlogin
- *
- */
- defined('_JEXEC') or die('Unauthorized Access');
- jimport('joomla.filesystem.file');
- class PlgSystemSittetokenlogin extends JPlugin
- {
- public function __construct(&$subject, $config)
- {
- parent::__construct($subject, $config);
- }
- public function onUserAuthenticate()
- {
- //die('onUserAuthenticate');
- }
- public function onUserLogin()
- {//wykonuje się
- //die('onUserLogin');
- }
- public function onUserLogout()
- {//wykonuje się
- //die('onUserLogout');
- }
- public function onAfterInitialise()
- {
- //wstępne ustawienie obiektów
- $app = JFactory::getApplication();
- if ($app->isClient('administrator')) return;
- $input = JFactory::getApplication()->input;
- $headers = getallheaders ();
- $db = JFactory::getDbo();
- //pobranie danych z rządania
- $loginToken = $headers['logintoken']; if(!$loginToken) $loginToken = $input->get->get('logintoken', '', 'STRING');
- $suser = $headers['suser']; if(!$suser) $suser = $input->get->get('suser', '', 'STRING');
- $spass = $headers['spass']; if(!$spass) $spass = $input->get->get('spass', '', 'STRING');
- if ($loginToken) // logowanie na bazie tokenu
- {
- JPluginHelper::importPlugin('user');
- $sesja = $db->setQuery('SELECT * FROM `#__session` WHERE `session_id`='.$db->quote($loginToken).' LIMIT 1')->loadObject();
- $user = $db->setQuery('SELECT * FROM `#__users` WHERE `id`='.$db->quote($sesja->userid).' LIMIT 1')->loadObject();
- $response = new JAuthenticationResponse();
- $response->type = 'Joomla';
- $response->email = $user->email;
- $response->fullname = $user->name;
- $response->username = $user->username;
- $response->password = '';
- $response->status = JAuthentication::STATUS_SUCCESS;
- $response->error_message = null;
- //print_r($response);
- $app->triggerEvent('onUserLogin', array((array) $response, array('action' => 'core.login.site')));
- //$testuser = JFactory::getUser(); die(print_r($testuser,true));
- }
- elseif ($suser && $spass) //logowanie na bazie loginu i hasła
- {
- $error = $app->login([
- 'username' => $suser,
- 'password' => $spass,
- ]);
- $user = JFactory::getUser();
- if ($user->id>0) die(JFactory::getSession()->getId());
- else die('login_error');
- }
- //przekazywanie parametrów
- $option = $headers['option']; $input->set('option',$option);
- $view = $headers['view']; $input->set('view',$view);
- $id = $headers['id']; $input->set('id',$id);
- $catid = $headers['catid']; $input->set('catid',$catid);
- $Itemid = $headers['Itemid']; $input->set('Itemid',$Itemid);
- $tmpl = $headers['tmpl']; $input->set('tmpl',$tmpl);
- //$input->set('option','com_guru');
- //$input->set('view','gurupcategs');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement