original_string: protected function getSortColumn()
      {
          if (!$this->isSortable()) {
              return false;
          }
  
          if ($this->sortColumn !== null) {
              return $this->sortColumn;
          }
  
          /*
           * User preference
           */
          if ($this->showSorting && ($sortOptions = $this->getSession('sort'))) {
              $this->sortColumn = $sortOptions['column'];
              $this->sortDirection = $sortOptions['direction'];
          }
  
          /*
           * Supplied default
           */
          else {
              if (is_string($this->defaultSort)) {
                  $this->sortColumn = $this->defaultSort;
                  $this->sortDirection = 'desc';
              }
              elseif (is_array($this->defaultSort) && isset($this->defaultSort['column'])) {
                  $this->sortColumn = $this->defaultSort['column'];
                  $this->sortDirection = $this->defaultSort['direction'] ?? 'desc';
              }
          }
  
          /*
           * First available column
           */
          if ($this->sortColumn === null || !$this->isSortable($this->sortColumn)) {
              $columns = $this->visibleColumns ?: $this->getVisibleColumns();
              $columns = array_filter($columns, function ($column) { return $column->sortable; });
              $this->sortColumn = key($columns);
              $this->sortDirection = 'desc';
          }
  
          return $this->sortColumn;
      }
code: protected function getSortColumn()
      {
          if (!$this->isSortable()) {
              return false;
          }
  
          if ($this->sortColumn !== null) {
              return $this->sortColumn;
          }
  
          /*
           * User preference
           */
          if ($this->showSorting && ($sortOptions = $this->getSession('sort'))) {
              $this->sortColumn = $sortOptions['column'];
              $this->sortDirection = $sortOptions['direction'];
          }
  
          /*
           * Supplied default
           */
          else {
              if (is_string($this->defaultSort)) {
                  $this->sortColumn = $this->defaultSort;
                  $this->sortDirection = 'desc';
              }
              elseif (is_array($this->defaultSort) && isset($this->defaultSort['column'])) {
                  $this->sortColumn = $this->defaultSort['column'];
                  $this->sortDirection = $this->defaultSort['direction'] ?? 'desc';
              }
          }
  
          /*
           * First available column
           */
          if ($this->sortColumn === null || !$this->isSortable($this->sortColumn)) {
              $columns = $this->visibleColumns ?: $this->getVisibleColumns();
              $columns = array_filter($columns, function ($column) { return $column->sortable; });
              $this->sortColumn = key($columns);
              $this->sortDirection = 'desc';
          }
  
          return $this->sortColumn;
      }
code_tokens: protected function getSortColumn ( ) { if ( ! $ this -> isSortable ( ) ) { return false ; } if ( $ this -> sortColumn !== null ) { return $ this -> sortColumn ; } /*
           * User preference
           */ if ( $ this -> showSorting && ( $ sortOptions = $ this -> getSession ( 'sort' ) ) ) { $ this -> sortColumn = $ sortOptions [ 'column' ] ; $ this -> sortDirection = $ sortOptions [ 'direction' ] ; } /*
           * Supplied default
           */ else { if ( is_string ( $ this -> defaultSort ) ) { $ this -> sortColumn = $ this -> defaultSort ; $ this -> sortDirection = 'desc' ; } elseif ( is_array ( $ this -> defaultSort ) && isset ( $ this -> defaultSort [ 'column' ] ) ) { $ this -> sortColumn = $ this -> defaultSort [ 'column' ] ; $ this -> sortDirection = $ this -> defaultSort [ 'direction' ] ?? 'desc' ; } } /*
           * First available column
           */ if ( $ this -> sortColumn === null || ! $ this -> isSortable ( $ this -> sortColumn ) ) { $ columns = $ this -> visibleColumns ? : $ this -> getVisibleColumns ( ) ; $ columns = array_filter ( $ columns , function ( $ column ) { return $ column -> sortable ; } ) ; $ this -> sortColumn = key ( $ columns ) ; $ this -> sortDirection = 'desc' ; } return $ this -> sortColumn ; }
docstring: Returns the current sorting column, saved in a session or cached.
docstring_tokens: Returns the current sorting column saved in a session or cached .