46 'result' => $integrity->getStatusRepresentation()
59 $pageId = $parameter->id > 0 ? $parameter->id : -1;
60 if (!isset($parameter->language) || !\
TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($parameter->language)) {
61 $parameter->language = NULL;
80 'total' => count($history)
97 'total' => count($stages),
109 public function getRowDetails($parameter) {
110 $diffReturnArray = array();
111 $liveReturnArray = array();
116 $liveRecord = BackendUtility::getRecord($parameter->table, $parameter->t3ver_oid);
117 $versionRecord = BackendUtility::getRecord($parameter->table, $parameter->uid);
120 $stagePosition = $this->
getStagesService()->getPositionOfCurrentStage($parameter->stage);
121 $fieldsOfRecords = array_keys($liveRecord);
122 if (
$GLOBALS[
'TCA'][$parameter->table]) {
123 if (
$GLOBALS[
'TCA'][$parameter->table][
'interface'][
'showRecordFieldList']) {
124 $fieldsOfRecords =
$GLOBALS[
'TCA'][$parameter->table][
'interface'][
'showRecordFieldList'];
128 foreach ($fieldsOfRecords as $fieldName) {
130 if (
$GLOBALS[
'BE_USER']->isAdmin() ||
$GLOBALS[
'TCA'][$parameter->table][
'columns'][$fieldName][
'exclude'] == 0 || \
TYPO3\CMS\Core\Utility\
GeneralUtility::inList(
$GLOBALS[
'BE_USER']->groupData[
'non_exclude_fields'], $parameter->table .
':' . $fieldName)) {
132 if ((
string)$liveRecord[$fieldName] !== (
string)$versionRecord[$fieldName]) {
134 $liveRecord[$fieldName] = BackendUtility::getProcessedValue(
137 $liveRecord[$fieldName],
143 $versionRecord[$fieldName] = BackendUtility::getProcessedValue(
146 $versionRecord[$fieldName],
150 $versionRecord[
'uid']
154 if (empty($fieldTitle)) {
155 $fieldTitle = $fieldName;
157 if (
$GLOBALS[
'TCA'][$parameter->table][
'columns'][$fieldName][
'config'][
'type'] ==
'group' &&
$GLOBALS[
'TCA'][$parameter->table][
'columns'][$fieldName][
'config'][
'internal_type'] ==
'file') {
158 $versionThumb = BackendUtility::thumbCode($versionRecord, $parameter->table, $fieldName,
'');
159 $liveThumb = BackendUtility::thumbCode($liveRecord, $parameter->table, $fieldName,
'');
160 $diffReturnArray[] = array(
161 'field' => $fieldName,
162 'label' => $fieldTitle,
163 'content' => $versionThumb
165 $liveReturnArray[] = array(
166 'field' => $fieldName,
167 'label' => $fieldTitle,
168 'content' => $liveThumb
171 $diffReturnArray[] = array(
172 'field' => $fieldName,
173 'label' => $fieldTitle,
174 'content' => $t3lib_diff->makeDiffDisplay($liveRecord[$fieldName], $versionRecord[$fieldName])
176 $liveReturnArray[] = array(
177 'field' => $fieldName,
178 'label' => $fieldTitle,
179 'content' => $parseObj->TS_images_rte($liveRecord[$fieldName])
187 if (is_array(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'workspaces'][
'modifyDifferenceArray'])) {
188 foreach (
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'workspaces'][
'modifyDifferenceArray'] as $className) {
190 $hookObject->modifyDifferenceArray($parameter, $diffReturnArray, $liveReturnArray, $t3lib_diff);
199 'diff' => $diffReturnArray,
200 'live_record' => $liveReturnArray,
201 'icon_Live' => $icon_Live,
202 'icon_Workspace' => $icon_Workspace,
204 'comments' => $commentsForRecord,
206 'path_Live' => htmlspecialchars($parameter->path_Live),
207 'label_Stage' => htmlspecialchars($parameter->label_Stage),
208 'stage_position' => (
int)$stagePosition[
'position'],
209 'stage_count' => (
int)$stagePosition[
'count']
223 $sysLogReturnArray = array();
224 $sysLogRows =
$GLOBALS[
'TYPO3_DB']->exec_SELECTgetRows(
'log_data,tstamp,userid',
'sys_log',
'action=6 and details_nr=30 225 AND tablename=' .
$GLOBALS[
'TYPO3_DB']->fullQuoteStr($table,
'sys_log') .
' 226 AND recuid=' . (
int)
$uid,
'',
'tstamp DESC');
227 foreach ($sysLogRows as $sysLogRow) {
228 $sysLogEntry = array();
229 $data = unserialize($sysLogRow[
'log_data']);
230 $beUserRecord = BackendUtility::getRecord(
'be_users', $sysLogRow[
'userid']);
231 $sysLogEntry[
'stage_title'] = $this->
getStagesService()->getStageTitle($data[
'stage']);
232 $sysLogEntry[
'user_uid'] = $sysLogRow[
'userid'];
233 $sysLogEntry[
'user_username'] = is_array($beUserRecord) ? $beUserRecord[
'username'] :
'';
235 $sysLogEntry[
'user_comment'] = $data[
'comment'];
236 $sysLogReturnArray[] = $sysLogEntry;
238 return $sysLogReturnArray;
247 $systemLanguages = array(
250 'title' => \
TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate(
'language.allLanguages',
'workspaces'),
251 'cls' => \
TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconClasses(
'empty-empty')
258 $systemLanguages[] = array(
260 'title' => htmlspecialchars($systemLanguage[
'title']),
261 'cls' => \
TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconClasses($systemLanguage[
'flagIcon'])
265 'total' => count($systemLanguages),
266 'data' => $systemLanguages
277 if (!isset($this->gridDataService)) {
289 if (!isset($this->stagesService)) {
const SELECT_ALL_WORKSPACES
getCommentsForRecord($uid, $table)
static getItemLabel($table, $col, $printAllWrap='')
getWorkspaceInfos($parameter)
static getUserObj($classRef, $checkPrefix='', $silent=FALSE)
static makeInstance($className)
static trimExplode($delim, $string, $removeEmptyValues=FALSE, $limit=0)
static mapRecordTypeToSpriteIconClass($table, array $row)
getAffectedElements(\stdClass $parameters)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
static inList($list, $item)
getStageActions($parameter)
checkIntegrity(\stdClass $parameters)