original_string: public final function getCurrentUser()
      {
          if (! self::$currentUser) {
              if ($this->session->__isset('__user_definition')) {
                  $defName = $this->session->__get('__user_definition');
  
                  // Check for during upgrade. Remove for version 1.6
                  if (substr($defName, -10, 10) != 'Definition') {
                      $defName .= 'Definition';
                  }
  
                  self::$currentUser = $this->_loadClass('User', true, array($this->session, $this->_getClass($defName)));
  
              } else {
                  if (\MUtil_Console::isConsole()) {
                      if (! $this->project->isConsoleAllowed()) {
                          echo "Accessing " . GEMS_PROJECT_NAME . " from the command line is not allowed.\n";
                          exit;
                      }
  
  
                      $request = \Zend_Controller_Front::getInstance()->getRequest();
  
                      if (($request instanceof \MUtil_Controller_Request_Cli) && $request->hasUserLogin()) {
                          $user = $this->getUser($request->getUserName(), $request->getUserOrganization());
  
                          $authResult = $user->authenticate($request->getUserPassword());
                          if (! $authResult->isValid()) {
                              echo "Invalid user login data.\n";
                              echo implode("\n", $authResult->getMessages());
                              exit;
                          }
                          self::$currentUser = $user;
  
                      } elseif ($this->project->getConsoleRole()) {
                          // \MUtil_Echo::track($this->request->getUserName(), $this->request->getUserOrganization());
                          self::$currentUser = $this->loadUser(self::USER_CONSOLE, 0, '(system)');
                      }
  
                  }
                  if (! self::$currentUser) {
                      self::$currentUser = $this->getUser(null, self::SYSTEM_NO_ORG);
                  }
                  self::$currentUser->setAsCurrentUser();
             }
          }
  
          return self::$currentUser;
      }
code: public final function getCurrentUser()
      {
          if (! self::$currentUser) {
              if ($this->session->__isset('__user_definition')) {
                  $defName = $this->session->__get('__user_definition');
  
                  // Check for during upgrade. Remove for version 1.6
                  if (substr($defName, -10, 10) != 'Definition') {
                      $defName .= 'Definition';
                  }
  
                  self::$currentUser = $this->_loadClass('User', true, array($this->session, $this->_getClass($defName)));
  
              } else {
                  if (\MUtil_Console::isConsole()) {
                      if (! $this->project->isConsoleAllowed()) {
                          echo "Accessing " . GEMS_PROJECT_NAME . " from the command line is not allowed.\n";
                          exit;
                      }
  
  
                      $request = \Zend_Controller_Front::getInstance()->getRequest();
  
                      if (($request instanceof \MUtil_Controller_Request_Cli) && $request->hasUserLogin()) {
                          $user = $this->getUser($request->getUserName(), $request->getUserOrganization());
  
                          $authResult = $user->authenticate($request->getUserPassword());
                          if (! $authResult->isValid()) {
                              echo "Invalid user login data.\n";
                              echo implode("\n", $authResult->getMessages());
                              exit;
                          }
                          self::$currentUser = $user;
  
                      } elseif ($this->project->getConsoleRole()) {
                          // \MUtil_Echo::track($this->request->getUserName(), $this->request->getUserOrganization());
                          self::$currentUser = $this->loadUser(self::USER_CONSOLE, 0, '(system)');
                      }
  
                  }
                  if (! self::$currentUser) {
                      self::$currentUser = $this->getUser(null, self::SYSTEM_NO_ORG);
                  }
                  self::$currentUser->setAsCurrentUser();
             }
          }
  
          return self::$currentUser;
      }
code_tokens: public final function getCurrentUser ( ) { if ( ! self :: $ currentUser ) { if ( $ this -> session -> __isset ( '__user_definition' ) ) { $ defName = $ this -> session -> __get ( '__user_definition' ) ; // Check for during upgrade. Remove for version 1.6 if ( substr ( $ defName , - 10 , 10 ) != 'Definition' ) { $ defName .= 'Definition' ; } self :: $ currentUser = $ this -> _loadClass ( 'User' , true , array ( $ this -> session , $ this -> _getClass ( $ defName ) ) ) ; } else { if ( \ MUtil_Console :: isConsole ( ) ) { if ( ! $ this -> project -> isConsoleAllowed ( ) ) { echo "Accessing " . GEMS_PROJECT_NAME . " from the command line is not allowed.\n" ; exit ; } $ request = \ Zend_Controller_Front :: getInstance ( ) -> getRequest ( ) ; if ( ( $ request instanceof \ MUtil_Controller_Request_Cli ) && $ request -> hasUserLogin ( ) ) { $ user = $ this -> getUser ( $ request -> getUserName ( ) , $ request -> getUserOrganization ( ) ) ; $ authResult = $ user -> authenticate ( $ request -> getUserPassword ( ) ) ; if ( ! $ authResult -> isValid ( ) ) { echo "Invalid user login data.\n" ; echo implode ( "\n" , $ authResult -> getMessages ( ) ) ; exit ; } self :: $ currentUser = $ user ; } elseif ( $ this -> project -> getConsoleRole ( ) ) { // \MUtil_Echo::track($this->request->getUserName(), $this->request->getUserOrganization()); self :: $ currentUser = $ this -> loadUser ( self :: USER_CONSOLE , 0 , '(system)' ) ; } } if ( ! self :: $ currentUser ) { self :: $ currentUser = $ this -> getUser ( null , self :: SYSTEM_NO_ORG ) ; } self :: $ currentUser -> setAsCurrentUser ( ) ; } } return self :: $ currentUser ; }
docstring: Get the currently loggin in user
  
  @return \Gems_User_User
docstring_tokens: Get the currently loggin in user