31 trigger_error(
'AutoPublishService will be removed in TYPO3 v10.0. Use the symfony command "workspaces:autopublish" instead.', E_USER_DEPRECATED);
45 $currentAdminStatus =
$GLOBALS[
'BE_USER']->user[
'admin'];
49 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'sys_workspace');
50 $queryBuilder->getRestrictions()
52 ->add(GeneralUtility::makeInstance(DeletedRestriction::class));
54 $result = $queryBuilder
55 ->select(
'uid',
'swap_modes',
'publish_time',
'unpublish_time')
56 ->from(
'sys_workspace')
58 $queryBuilder->expr()->eq(
60 $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)
62 $queryBuilder->expr()->orX(
63 $queryBuilder->expr()->andX(
64 $queryBuilder->expr()->neq(
66 $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)
68 $queryBuilder->expr()->lte(
70 $queryBuilder->createNamedParameter(
$GLOBALS[
'EXEC_TIME'], \PDO::PARAM_INT)
73 $queryBuilder->expr()->andX(
74 $queryBuilder->expr()->eq(
76 $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)
78 $queryBuilder->expr()->neq(
80 $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)
82 $queryBuilder->expr()->lte(
84 $queryBuilder->createNamedParameter(
$GLOBALS[
'EXEC_TIME'], \PDO::PARAM_INT)
91 $workspaceService = GeneralUtility::makeInstance(WorkspaceService::class);
92 while ($rec = $result->fetch()) {
94 $fieldArray = $rec[
'publish_time'] != 0
95 ? [
'publish_time' => 0]
96 : [
'unpublish_time' => 0];
98 GeneralUtility::makeInstance(ConnectionPool::class)
99 ->getConnectionForTable(
'sys_workspace')
103 [
'uid' => (
int)$rec[
'uid']]
107 $cmd = $workspaceService->getCmdArrayForPublishWS($rec[
'uid'], $rec[
'swap_modes'] == 1);
110 $tce = GeneralUtility::makeInstance(DataHandler::class);
111 $tce->start([], $cmd);
112 $tce->process_cmdmap();
115 $GLOBALS[
'BE_USER']->user[
'admin'] = $currentAdminStatus;