50 if ($recursionLevel > 99) {
54 if (!is_array($displayCondition)) {
59 $conditionEvaluations = array(
63 foreach ($displayCondition as $logicalOperator => $groupedDisplayConditions) {
64 $logicalOperator = strtoupper($logicalOperator);
65 if (($logicalOperator !==
'AND' && $logicalOperator !==
'OR') || !is_array($groupedDisplayConditions)) {
69 foreach ($groupedDisplayConditions as $key => $singleDisplayCondition) {
70 $key = strtoupper($key);
71 if (($key ===
'AND' || $key ===
'OR') && is_array($singleDisplayCondition)) {
73 $conditionEvaluations[$logicalOperator][] = $this->
match(
74 array($key => $singleDisplayCondition),
81 $conditionEvaluations[$logicalOperator][] = $this->
matchSingle(
82 $singleDisplayCondition,
90 if (count($conditionEvaluations[
'OR']) > 0 && in_array(TRUE, $conditionEvaluations[
'OR'], TRUE)) {
93 } elseif (count($conditionEvaluations[
'AND']) > 0 && !in_array(FALSE, $conditionEvaluations[
'AND'], TRUE)) {
96 } elseif (count($conditionEvaluations[
'OR']) > 0 || count($conditionEvaluations[
'AND']) > 0) {
124 list($matchType, $condition) = explode(
':', $displayCondition, 2);
125 switch ($matchType) {
132 case 'HIDE_FOR_NON_ADMINS':
135 case 'HIDE_L10N_SIBLINGS':
159 list($extensionKey, $operator, $operand) = explode(
':', $condition, 3);
160 if ($operator ===
'LOADED') {
161 if (strtoupper($operand) ===
'TRUE') {
163 } elseif (strtoupper($operand) ===
'FALSE') {
181 list($fieldName, $operator, $operand) = explode(
':', $condition, 3);
182 if ($this->flexformValueKey) {
183 if (strpos($fieldName,
'parentRec.') !== FALSE) {
184 $fieldNameParts = explode(
'.', $fieldName, 2);
185 $fieldValue = $this->record[
'parentRec'][$fieldNameParts[1]];
190 $fieldValue = $this->record[$fieldName];
196 if (strtoupper($operand) ===
'TRUE') {
203 $result = $fieldValue > $operand;
206 $result = $fieldValue < $operand;
209 $result = $fieldValue >= $operand;
212 $result = $fieldValue <= $operand;
216 list($minimum, $maximum) = explode(
'-', $operand);
217 $result = $fieldValue >= $minimum && $fieldValue <= $maximum;
218 if ($operator[0] ===
'!') {
227 if ($operator[0] ===
'!') {
233 $result = ((int)$fieldValue & $operand) ? TRUE : FALSE;
234 if ($operator[0] ===
'!') {
260 if ($this->flexformValueKey ===
'vDEF') {
262 } elseif ($condition ===
'except_admin' && $this->
getBackendUser()->isAdmin()) {
280 list($operator, $operand) = explode(
':', $condition, 2);
281 if ($operator ===
'NEW') {
282 if (strtoupper($operand) ===
'TRUE') {
283 $result = !((int)$this->record[
'uid'] > 0);
284 } elseif (strtoupper($operand) ===
'FALSE') {
285 $result = ((int)$this->record[
'uid'] > 0);
300 list($operator, $operand) = explode(
':', $condition, 2);
301 if ($operator ===
'IS') {
302 $isNewRecord = !((int)$this->record[
'uid'] > 0);
305 if ((
int)$this->record[
'pid'] === -1 || (
int)$this->record[
'_ORIG_pid'] === -1) {
306 $isRecordDetectedAsVersion = TRUE;
308 $isRecordDetectedAsVersion = FALSE;
314 $isVersion = ($isUserInWorkspace || $isRecordDetectedAsVersion) && !$isNewRecord;
315 if (strtoupper($operand) ===
'TRUE') {
317 } elseif (strtoupper($operand) ===
'FALSE') {
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.
static isLoaded($key, $exitOnError=FALSE)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
static inList($list, $item)