Ejemplo n.º 1
0
 public static function getToken($forceNew = false)
 {
     // Deprecation warning.
     MLog::add('MUtility::getToken() is deprecated. Use MSession::getFormToken() instead.', MLog::WARNING, 'deprecated');
     $session = MFactory::getSession();
     return $session->getFormToken($forceNew);
 }
Ejemplo n.º 2
0
 protected function getConnection()
 {
     if ((extension_loaded('memcached') && class_exists('Memcached')) != true) {
         return false;
     }
     $config = MFactory::getConfig();
     $this->_persistent = $config->get('memcache_persist', true);
     $this->_compress = $config->get('memcache_compress', false) == false ? 0 : Memcached::OPT_COMPRESSION;
     $server = array();
     $server['host'] = $config->get('memcache_server_host', 'localhost');
     $server['port'] = $config->get('memcache_server_port', 11211);
     if ($this->_persistent) {
         $session = MFactory::getSession();
         self::$_db = new Memcached($session->getId());
     } else {
         self::$_db = new Memcached();
     }
     $memcachedtest = self::$_db->addServer($server['host'], $server['port']);
     if ($memcachedtest == false) {
         return MError::raiseError(404, "Could not connect to memcached server");
     }
     self::$_db->setOption(Memcached::OPT_COMPRESSION, $this->_compress);
     if (self::$_db->get($this->_hash . '-index') === false) {
         $empty = array();
         self::$_db->set($this->_hash . '-index', $empty, 0);
     }
     return;
 }
Ejemplo n.º 3
0
 public static function checkToken($method = 'post')
 {
     $token = MSession::getFormToken();
     if (!self::getVar($token, '', $method, 'alnum')) {
         $session = MFactory::getSession();
         if ($session->isNew()) {
             // Redirect to login screen.
             $app = MFactory::getApplication();
             $return = MRoute::_('index.php');
             $app->redirect($return, MText::_('MLIB_ENVIRONMENT_SESSION_EXPIRED'));
             $app->close();
         } else {
             return false;
         }
     } else {
         return true;
     }
 }
Ejemplo n.º 4
0
 protected function _createSession($name)
 {
     $options = array();
     $options['name'] = $name;
     $session = MFactory::getSession($options);
     if ($session->isNew()) {
         $session->set('registry', new MRegistry('session'));
     }
     return $session;
 }
Ejemplo n.º 5
0
 public static function checkToken($method = 'post')
 {
     if ($method == 'default') {
         trigger_error("MSession::checkToken() doesn't support 'default' for the method parameter.", E_USER_ERROR);
         return false;
     }
     $token = self::getFormToken();
     $app = MFactory::getApplication();
     if (!MRequest::getVar($token, '', $method, 'alnum')) {
         $session = MFactory::getSession();
         if ($session->isNew()) {
             // Redirect to login screen.
             $app->redirect(MRoute::_('index.php'), MText::_('MLIB_ENVIRONMENT_SESSION_EXPIRED'));
             $app->close();
         } else {
             return false;
         }
     } else {
         return true;
     }
 }
Ejemplo n.º 6
0
 public static function hasCredentials($client)
 {
     $return = false;
     $client = strtolower($client);
     // Get (unmodified) credentials for this client
     switch ($client) {
         case 'ftp':
             $config = MFactory::getConfig();
             $options = array('enabled' => $config->get('ftp_enable'), 'user' => $config->get('ftp_user'), 'pass' => $config->get('ftp_pass'));
             break;
         default:
             $options = array('enabled' => false, 'user' => '', 'pass' => '');
             break;
     }
     if ($options['enabled'] == false) {
         // The client is disabled in global config, so let's pretend we are OK
         $return = true;
     } elseif ($options['user'] != '' && $options['pass'] != '') {
         // Login credentials are available in global config
         $return = true;
     } else {
         // Check if login credentials are available in the session
         $session = MFactory::getSession();
         $user = $session->get($client . '.user', null, 'MClientHelper');
         $pass = $session->get($client . '.pass', null, 'MClientHelper');
         if ($user != '' && $pass != '') {
             $return = true;
         }
     }
     return $return;
 }