Skip to content

Commit

Permalink
Fix changes view in workspace module
Browse files Browse the repository at this point in the history
The workspace module shows changes in Typo3 v11 again.
Due to a methode change in Typo3 the XCLASS broke the view for all
records ("no records found").
  • Loading branch information
okmiim committed Feb 5, 2022
1 parent 40d9dc5 commit de8dfc4
Showing 1 changed file with 60 additions and 14 deletions.
74 changes: 60 additions & 14 deletions Classes/Xclass/WorkspaceRemoteServer.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,73 @@
namespace HDNET\Calendarize\Xclass;

use HDNET\Calendarize\Service\IndexerService;
use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Core\Utility\MathUtility;
use TYPO3\CMS\Workspaces\Controller\Remote\RemoteServer;

class WorkspaceRemoteServer extends RemoteServer
{
public function getWorkspaceInfos($parameter)
if (GeneralUtility::makeInstance(Typo3Version::class)->getMajorVersion() > 10) {
// TYPO3 v11 and after
class WorkspaceRemoteServer extends RemoteServer
{
// To avoid too much work we use -1 to indicate that every page is relevant
$pageId = $parameter->id > 0 ? $parameter->id : -1;
if (!isset($parameter->language) || !MathUtility::canBeInterpretedAsInteger($parameter->language)) {
$parameter->language = null;
}
$versions = $this->workspaceService->selectVersionsInWorkspace($this->getCurrentWorkspace(), 0, -99, $pageId, $parameter->depth, 'tables_select', $parameter->language);
/**
* Get List of workspace changes.
*
* @param \stdClass $parameter
*
* @return array $data
*/
public function getWorkspaceInfos($parameter)
{
// To avoid too much work we use -1 to indicate that every page is relevant
$pageId = $parameter->id > 0 ? $parameter->id : -1;
if (!isset($parameter->language) || !MathUtility::canBeInterpretedAsInteger($parameter->language)) {
$parameter->language = null;
}
if (!isset($parameter->stage) || !MathUtility::canBeInterpretedAsInteger($parameter->stage)) {
// -99 disables stage filtering
$parameter->stage = -99;
}
$versions = $this->workspaceService->selectVersionsInWorkspace(
$this->getCurrentWorkspace(),
$parameter->stage,
$pageId,
$parameter->depth,
'tables_select',
$parameter->language
);

// Drop Index Table from View
if (isset($versions[IndexerService::TABLE_NAME])) {
unset($versions[IndexerService::TABLE_NAME]);
}

// Drop Index Table from View
if (isset($versions[IndexerService::TABLE_NAME])) {
unset($versions[IndexerService::TABLE_NAME]);
$data = $this->gridDataService->generateGridListFromVersions($versions, $parameter, $this->getCurrentWorkspace());

return $data;
}
}
} else {
// TYPO3 v10
class WorkspaceRemoteServer extends RemoteServer
{
public function getWorkspaceInfos($parameter)
{
// To avoid too much work we use -1 to indicate that every page is relevant
$pageId = $parameter->id > 0 ? $parameter->id : -1;
if (!isset($parameter->language) || !MathUtility::canBeInterpretedAsInteger($parameter->language)) {
$parameter->language = null;
}
$versions = $this->workspaceService->selectVersionsInWorkspace($this->getCurrentWorkspace(), 0, -99, $pageId, $parameter->depth, 'tables_select', $parameter->language);

// Drop Index Table from View
if (isset($versions[IndexerService::TABLE_NAME])) {
unset($versions[IndexerService::TABLE_NAME]);
}

$data = $this->gridDataService->generateGridListFromVersions($versions, $parameter, $this->getCurrentWorkspace());
$data = $this->gridDataService->generateGridListFromVersions($versions, $parameter, $this->getCurrentWorkspace());

return $data;
return $data;
}
}
}

0 comments on commit de8dfc4

Please sign in to comment.