[CLEANUP] Comments, usages and phpdoc of InlineElement 91/36591/2
authorStephan Großberndt <stephan@grossberndt.de>
Sat, 31 Jan 2015 21:25:53 +0000 (22:25 +0100)
committerNicole Cordes <typo3@cordes.co>
Mon, 2 Feb 2015 18:51:09 +0000 (19:51 +0100)
Clean up formatting, comments, typos, unused variables, uses and
phpdoc of TYPO3\CMS\Backend\Form\Element\InlineElement.

Resolves: #64705
Releases: master, 6.2
Change-Id: I9d9b2ea61350359c21f1b05a357027b5e6c7aa4b
Reviewed-on: http://review.typo3.org/36591
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
typo3/sysext/backend/Classes/Form/Element/InlineElement.php

index 99b5e8b..032578d 100644 (file)
@@ -16,78 +16,93 @@ namespace TYPO3\CMS\Backend\Form\Element;
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Backend\Utility\IconUtility;
+use TYPO3\CMS\Core\Database\DatabaseConnection;
 use TYPO3\CMS\Core\Database\RelationHandler;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
 use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Versioning\VersionState;
+use TYPO3\CMS\Lang\LanguageService;
 
 /**
- * The Inline-Relational-Record-Editing (IRRE) functions as part of the TCEforms.
+ * The Inline-Relational-Record-Editing (IRRE) functions as part of the FormEngine.
  *
  * @author Oliver Hader <oliver@typo3.org>
  */
 class InlineElement {
 
        const Structure_Separator = '-';
+
        const FlexForm_Separator = '---';
+
        const FlexForm_Substitute = ':';
+
        const Disposal_AttributeName = 'Disposal_AttributeName';
+
        const Disposal_AttributeId = 'Disposal_AttributeId';
+
        /**
-        * Reference to the calling TCEforms instance
+        * Reference to the calling FormEngine instance
         *
         * @var \TYPO3\CMS\Backend\Form\FormEngine
         * @todo Define visibility
         */
        public $fObj;
 
-       // Reference to $fObj->backPath
        /**
-        * @todo Define visibility
+        * Reference to $fObj->backPath
+        *
+        * @var string
         */
        public $backPath;
 
-       // Indicates if a field is rendered upon an AJAX call
        /**
-        * @todo Define visibility
+        * Indicates if a field is rendered upon an AJAX call
+        *
+        * @var bool
         */
        public $isAjaxCall = FALSE;
 
-       // The structure/hierarchy where working in, e.g. cascading inline tables
        /**
-        * @todo Define visibility
+        * The structure/hierarchy where working in, e.g. cascading inline tables
+        *
+        * @var array
         */
        public $inlineStructure = array();
 
-       // The first call of an inline type appeared on this page (pid of record)
        /**
-        * @todo Define visibility
+        * The first call of an inline type appeared on this page (pid of record)
+        *
+        * @var int
         */
        public $inlineFirstPid;
 
-       // Keys: form, object -> hold the name/id for each of them
        /**
-        * @todo Define visibility
+        * Keys: form, object -> hold the name/id for each of them
+        *
+        * @var array
         */
        public $inlineNames = array();
 
-       // Inline data array used for JSON output
        /**
-        * @todo Define visibility
+        * Inline data array used for JSON output
+        *
+        * @var array
         */
        public $inlineData = array();
 
-       // Expanded/collapsed states for the current BE user
        /**
-        * @todo Define visibility
+        * Expanded/collapsed states for the current BE user
+        *
+        * @var array
         */
        public $inlineView = array();
 
-       // Count the number of inline types used
        /**
-        * @todo Define visibility
+        * Count the number of inline types used
+        *
+        * @var int
         */
        public $inlineCount = 0;
 
@@ -96,21 +111,24 @@ class InlineElement {
         */
        public $inlineStyles = array();
 
-       // How the $this->fObj->prependFormFieldNames should be set ('data' is default)
        /**
-        * @todo Define visibility
+        * How the $this->fObj->prependFormFieldNames should be set ('data' is default)
+        *
+        * @var string
         */
        public $prependNaming = 'data';
 
-       // Reference to $this->fObj->prependFormFieldNames
        /**
-        * @todo Define visibility
+        * Reference to $this->fObj->prependFormFieldNames
+        *
+        * @var string
         */
        public $prependFormFieldNames;
 
-       // Reference to $this->fObj->prependCmdFieldNames
        /**
-        * @todo Define visibility
+        * Reference to $this->fObj->prependCmdFieldNames
+        *
+        * @var string
         */
        public $prependCmdFieldNames;
 
@@ -120,13 +138,13 @@ class InlineElement {
        /**
         * Initialize
         *
-        * @param \TYPO3\CMS\Backend\Form\FormEngine $tceForms Reference to an TCEforms instance
+        * @param \TYPO3\CMS\Backend\Form\FormEngine $formEngine Reference to an FormEngine instance
         * @return void
         * @todo Define visibility
         */
-       public function init(&$tceForms) {
-               $this->fObj = $tceForms;
-               $this->backPath = &$tceForms->backPath;
+       public function init(&$formEngine) {
+               $this->fObj = $formEngine;
+               $this->backPath = &$formEngine->backPath;
                $this->prependFormFieldNames = &$this->fObj->prependFormFieldNames;
                $this->prependCmdFieldNames = &$this->fObj->prependCmdFieldNames;
                $this->inlineStyles['margin-right'] = '5';
@@ -158,15 +176,14 @@ class InlineElement {
        }
 
        /**
-        * Generation of TCEform elements of the type "inline"
+        * Generation of FormEngine elements of the type "inline"
         * This will render inline-relational-record sets. Relations.
         *
         * @param string $table The table name of the record
         * @param string $field The field name which this element is supposed to edit
         * @param array $row The record data array where the value(s) for the field can be found
         * @param array $PA An array with additional configuration options.
-        * @return string The HTML code for the TCEform field
-        * @todo Define visibility
+        * @return string The HTML code for the FormEngine field
         */
        public function getSingleField_typeInline($table, $field, $row, &$PA) {
                // Check the TCA configuration - if FALSE is returned, something was wrong
@@ -328,7 +345,7 @@ class InlineElement {
                        }
                        $item .= '</div>';
                }
-               // Add Drag&Drop functions for sorting to TCEforms::$additionalJS_post
+               // Add Drag&Drop functions for sorting to FormEngine::$additionalJS_post
                if (count($relationList) > 1 && $config['appearance']['useSortable']) {
                        $this->addJavaScriptSortable($nameObject . '_records');
                }
@@ -345,23 +362,23 @@ class InlineElement {
                return $item;
        }
 
-       /*******************************************************
+       /*
         *
         * Regular rendering of forms, fields, etc.
         *
-        *******************************************************/
+        */
+
        /**
         * Render the form-fields of a related (foreign) record.
         *
         * @param string $parentUid The uid of the parent (embedding) record (uid or NEW...)
-        * @param array $rec The table record of the child/embedded table (normaly post-processed by \TYPO3\CMS\Backend\Form\DataPreprocessor)
+        * @param array $rec The table record of the child/embedded table (normally post-processed by \TYPO3\CMS\Backend\Form\DataPreprocessor)
         * @param array $config Content of $PA['fieldConf']['config']
         * @return string The HTML code for this "foreign record
         * @todo Define visibility
         */
        public function renderForeignRecord($parentUid, $rec, $config = array()) {
                $foreign_table = $config['foreign_table'];
-               $foreign_field = $config['foreign_field'];
                $foreign_selector = $config['foreign_selector'];
                // Register default localization content:
                $parent = $this->getStructureLevel(-1);
@@ -386,7 +403,7 @@ class InlineElement {
                $nameObject = $this->inlineNames['object'];
                $appendFormFieldNames = '[' . $foreign_table . '][' . $rec['uid'] . ']';
                $objectId = $nameObject . self::Structure_Separator . $foreign_table . self::Structure_Separator . $rec['uid'];
-               // Put the current level also to the dynNestedStack of TCEforms:
+               // Put the current level also to the dynNestedStack of FormEngine:
                $this->fObj->pushToDynNestedStack('inline', $objectId);
                $class = '';
                if (!$isVirtualRecord) {
@@ -459,17 +476,17 @@ class InlineElement {
                        $class .= ' inlineDiv' . $classMSIE . ($isNewRecord ? ' inlineIsNewRecord' : '');
                        $out = '<div id="' . $objectId . '_div" class="t3-form-field-container-inline ' . trim($class) . '">' . $out . '</div>';
                }
-               // Remove the current level also from the dynNestedStack of TCEforms:
+               // Remove the current level also from the dynNestedStack of FormEngine:
                $this->fObj->popFromDynNestedStack();
                return $out;
        }
 
        /**
-        * Wrapper for TCEforms::getMainFields().
+        * Wrapper for FormEngine::getMainFields().
         *
         * @param string $table The table name
         * @param array $row The record to be rendered
-        * @param array $overruleTypesArray Overrule TCA [types] array, e.g to overrride [showitem] configuration of a particular type
+        * @param array $overruleTypesArray Overrule TCA [types] array, e.g to override [showitem] configuration of a particular type
         * @return string The rendered form
         */
        protected function renderMainFields($table, array $row, array $overruleTypesArray = array()) {
@@ -626,6 +643,7 @@ class InlineElement {
         * @param string $foreign_table The table (foreign_table) we create control-icons for
         * @param array $rec The current record of that foreign_table
         * @param array $config (modified) TCA configuration of the field
+        * @param bool $isVirtualRecord TRUE if the current record is virtual, FALSE otherwise
         * @return string The HTML code with the control-icons
         * @todo Define visibility
         */
@@ -743,7 +761,7 @@ class InlineElement {
        }
 
        /**
-        * Render a table with TCEforms, that occurs on a intermediate table but should be editable directly,
+        * Render a table with FormEngine, that occurs on a intermediate table but should be editable directly,
         * so two tables are combined (the intermediate table with attributes and the sub-embedded table).
         * -> This is a direct embedding over two levels!
         *
@@ -758,7 +776,6 @@ class InlineElement {
                $foreign_selector = $config['foreign_selector'];
                if ($foreign_selector && $config['appearance']['useCombination']) {
                        $comboConfig = $GLOBALS['TCA'][$foreign_table]['columns'][$foreign_selector]['config'];
-                       $comboRecord = array();
                        // If record does already exist, load it:
                        if ($rec[$foreign_selector] && MathUtility::canBeInterpretedAsInteger($rec[$foreign_selector])) {
                                $comboRecord = $this->getRecord($this->inlineFirstPid, $comboConfig['foreign_table'], $rec[$foreign_selector]);
@@ -767,9 +784,9 @@ class InlineElement {
                                $comboRecord = $this->getNewRecord($this->inlineFirstPid, $comboConfig['foreign_table']);
                                $isNewRecord = TRUE;
                        }
-                       $flashMessage = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:warning.inline_use_combination'), '', FlashMessage::WARNING);
+                       $flashMessage = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Messaging\\FlashMessage', $this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:warning.inline_use_combination'), '', FlashMessage::WARNING);
                        $out = $flashMessage->render();
-                       // Get the TCEforms interpretation of the TCA of the child table
+                       // Get the FormEngine interpretation of the TCA of the child table
                        $out .= $this->renderMainFields($comboConfig['foreign_table'], $comboRecord);
                        $out = $this->wrapFormsSection($out, array(), array());
                        // If this is a new record, add a pid value to store this record and the pointer value for the intermediate table
@@ -797,10 +814,8 @@ class InlineElement {
         * @todo Define visibility
         */
        public function renderPossibleRecordsSelector($selItems, $conf, $uniqueIds = array()) {
-               $foreign_table = $conf['foreign_table'];
                $foreign_selector = $conf['foreign_selector'];
                $selConfig = $this->getPossibleRecordsSelectorConfig($conf, $foreign_selector);
-               $config = $selConfig['PA']['fieldConf']['config'];
                if ($selConfig['type'] == 'select') {
                        $item = $this->renderPossibleRecordsSelectorTypeSelect($selItems, $conf, $selConfig['PA'], $uniqueIds);
                } elseif ($selConfig['type'] == 'groupdb') {
@@ -1030,11 +1045,11 @@ class InlineElement {
         * General processor for AJAX requests concerning IRRE.
         * (called by typo3/ajax.php)
         *
-        * @param array $params Additional parameters (not used here)
+        * @param array $_ Additional parameters (not used here)
         * @param \TYPO3\CMS\Core\Http\AjaxRequestHandler $ajaxObj The AjaxRequestHandler object of this request
         * @return void
         */
-       public function processAjaxRequest($params, $ajaxObj) {
+       public function processAjaxRequest($_, $ajaxObj) {
                $ajaxArguments = GeneralUtility::_GP('ajax');
                $ajaxIdParts = explode('::', $GLOBALS['ajaxID'], 2);
                if (isset($ajaxArguments) && is_array($ajaxArguments) && count($ajaxArguments)) {
@@ -1093,9 +1108,9 @@ class InlineElement {
 
        /**
         * Construct runtime environment for Inline Relational Record Editing.
-        * - creates an anoymous SC_alt_doc in $GLOBALS['SOBE']
+        * - creates an anonymous \TYPO3\CMS\Backend\Controller\EditDocumentController in $GLOBALS['SOBE']
         * - creates a \TYPO3\CMS\Backend\Form\FormEngine in $GLOBALS['SOBE']->tceforms
-        * - sets ourself as reference to $GLOBALS['SOBE']->tceforms->inline
+        * - sets $this as reference to $GLOBALS['SOBE']->tceforms->inline
         * - sets $GLOBALS['SOBE']->tceforms->RTEcounter to the current situation on client-side
         *
         * @param array &$ajaxArguments The arguments to be processed by the AJAX request
@@ -1117,7 +1132,7 @@ class InlineElement {
                // Create an instance of the document template object
                $GLOBALS['SOBE']->doc = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Template\\DocumentTemplate');
                $GLOBALS['SOBE']->doc->backPath = $GLOBALS['BACK_PATH'];
-               // Initialize TCEforms (rendering the forms)
+               // Initialize FormEngine (rendering the forms)
                $GLOBALS['SOBE']->tceforms = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Form\\FormEngine');
                $GLOBALS['SOBE']->tceforms->inline = $this;
                $GLOBALS['SOBE']->tceforms->RTEcounter = (int)array_shift($ajaxArguments);
@@ -1141,17 +1156,17 @@ class InlineElement {
         * @return void
         */
        protected function getCommonScriptCalls(&$jsonArray, $config) {
-               // Add data that would have been added at the top of a regular TCEforms call:
+               // Add data that would have been added at the top of a regular FormEngine call:
                if ($headTags = $this->getHeadTags()) {
                        $jsonArray['headData'] = $headTags;
                }
-               // Add the JavaScript data that would have been added at the bottom of a regular TCEforms call:
+               // Add the JavaScript data that would have been added at the bottom of a regular FormEngine call:
                $jsonArray['scriptCall'][] = $this->fObj->JSbottom($this->fObj->formName, TRUE);
                // If script.aculo.us Sortable is used, update the Observer to know the record:
                if ($config['appearance']['useSortable']) {
                        $jsonArray['scriptCall'][] = 'inline.createDragAndDropSorting(\'' . $this->inlineNames['object'] . '_records\');';
                }
-               // if TCEforms has some JavaScript code to be executed, just do it
+               // if FormEngine has some JavaScript code to be executed, just do it
                if ($this->fObj->extJSCODE) {
                        $jsonArray['scriptCall'][] = $this->fObj->extJSCODE;
                }
@@ -1180,7 +1195,7 @@ class InlineElement {
         * Normally this method is never called from inside TYPO3. Always from outside by AJAX.
         *
         * @param string $domObjectId The calling object in hierarchy, that requested a new record.
-        * @param string $foreignUid If set, the new record should be inserted after that one.
+        * @param string|int $foreignUid If set, the new record should be inserted after that one.
         * @return array An array to be used for JSON
         * @todo Define visibility
         */
@@ -1196,7 +1211,7 @@ class InlineElement {
                }
                $collapseAll = isset($config['appearance']['collapseAll']) && $config['appearance']['collapseAll'];
                $expandSingle = isset($config['appearance']['expandSingle']) && $config['appearance']['expandSingle'];
-               // Put the current level also to the dynNestedStack of TCEforms:
+               // Put the current level also to the dynNestedStack of FormEngine:
                $this->fObj->pushToDynNestedStack('inline', $this->inlineNames['object']);
                // Dynamically create a new record using \TYPO3\CMS\Backend\Form\DataPreprocessor
                if (!$foreignUid || !MathUtility::canBeInterpretedAsInteger($foreignUid) || $config['foreign_selector']) {
@@ -1279,7 +1294,7 @@ class InlineElement {
                $jsonArray['scriptCall'][] = 'Element.scrollTo(\'' . $objectId . '_div\');';
                // Fade out and fade in the new record in the browser view to catch the user's eye
                $jsonArray['scriptCall'][] = 'inline.fadeOutFadeIn(\'' . $objectId . '_div\');';
-               // Remove the current level also from the dynNestedStack of TCEforms:
+               // Remove the current level also from the dynNestedStack of FormEngine:
                $this->fObj->popFromDynNestedStack();
                // Return the JSON array:
                return $jsonArray;
@@ -1288,15 +1303,13 @@ class InlineElement {
        /**
         * Handle AJAX calls to localize all records of a parent, localize a single record or to synchronize with the original language parent.
         *
-        * @param string $domObjectId The calling object in hierarchy, that requested a new record.
-        * @param mixed $type Defines the type 'localize' or 'synchronize' (string) or a single uid to be localized (integer)
+        * @param string $_ The calling object in hierarchy, that requested a new record.
+        * @param mixed $type Defines the type 'localize' or 'synchronize' (string) or a single uid to be localized (int)
         * @return array An array to be used for JSON
         */
-       protected function synchronizeLocalizeRecords($domObjectId, $type) {
+       protected function synchronizeLocalizeRecords($_, $type) {
                $jsonArray = FALSE;
                if (GeneralUtility::inList('localize,synchronize', $type) || MathUtility::canBeInterpretedAsInteger($type)) {
-                       // The current level:
-                       $current = $this->inlineStructure['unstable'];
                        // The parent level:
                        $parent = $this->getStructureLevel(-1);
                        $parentRecord = $this->getRecord(0, $parent['table'], $parent['uid']);
@@ -1338,7 +1351,7 @@ class InlineElement {
                $config['renderFieldsOnly'] = TRUE;
                $collapseAll = isset($config['appearance']['collapseAll']) && $config['appearance']['collapseAll'];
                $expandSingle = isset($config['appearance']['expandSingle']) && $config['appearance']['expandSingle'];
-               // Put the current level also to the dynNestedStack of TCEforms:
+               // Put the current level also to the dynNestedStack of FormEngine:
                $this->fObj->pushToDynNestedStack('inline', $this->inlineNames['object']);
                $record = $this->getRecord($this->inlineFirstPid, $current['table'], $current['uid']);
                // The HTML-object-id's prefix of the dynamically created record
@@ -1362,7 +1375,7 @@ class InlineElement {
                if (!$collapseAll && $expandSingle) {
                        $jsonArray['scriptCall'][] = 'inline.collapseAllRecords(\'' . $objectId . '\',\'' . $objectPrefix . '\',\'' . $record['uid'] . '\');';
                }
-               // Remove the current level also from the dynNestedStack of TCEforms:
+               // Remove the current level also from the dynNestedStack of FormEngine:
                $this->fObj->popFromDynNestedStack();
                // Return the JSON array:
                return $jsonArray;
@@ -1371,7 +1384,7 @@ class InlineElement {
        /**
         * Generates a JSON array which executes the changes and thus updates the forms view.
         *
-        * @param string $oldItemList List of related child reocrds before changes were made (old)
+        * @param string $oldItemList List of related child records before changes were made (old)
         * @param string $newItemList List of related child records after changes where made (new)
         * @return array An array to be used for JSON
         */
@@ -1454,11 +1467,12 @@ class InlineElement {
                }
        }
 
-       /*******************************************************
+       /*
         *
         * Get data from database and handle relations
         *
-        *******************************************************/
+        */
+
        /**
         * Get the related records of the embedding item, this could be 1:n, m:n.
         * Returns an associative array with the keys records and count. 'count' contains only real existing records on the current parent record.
@@ -1628,7 +1642,7 @@ class InlineElement {
 
        /**
         * Get possible records.
-        * Copied from TCEform and modified.
+        * Copied from FormEngine and modified.
         *
         * @param string $table The table name of the record
         * @param string $field The field name which this element is supposed to edit
@@ -1642,7 +1656,6 @@ class InlineElement {
                // ctrl configuration from TCA:
                $tcaTableCtrl = $GLOBALS['TCA'][$table]['ctrl'];
                // Field configuration from TCA:
-               $foreign_table = $conf['foreign_table'];
                $foreign_check = $conf[$checkForConfField];
                $foreignConfig = $this->getPossibleRecordsSelectorConfig($conf, $foreign_check);
                $PA = $foreignConfig['PA'];
@@ -1745,14 +1758,14 @@ class InlineElement {
         * \TYPO3\CMS\Backend\Form\DataPreprocessor is used for "upgrading" the
         * values, especially the relations.
         *
-        * @param integer $pid The pid of the page the record should be stored (only relevant for NEW records)
+        * @param int $_ The pid of the page the record should be stored (only relevant for NEW records)
         * @param string $table The table to fetch data from (= foreign_table)
         * @param string $uid The uid of the record to fetch, or the pid if a new record should be created
         * @param string $cmd The command to perform, empty or 'new'
         * @return array A record row from the database post-processed by \TYPO3\CMS\Backend\Form\DataPreprocessor
         * @todo Define visibility
         */
-       public function getRecord($pid, $table, $uid, $cmd = '') {
+       public function getRecord($_, $table, $uid, $cmd = '') {
                // Fetch workspace version of a record (if any):
                if ($cmd !== 'new' && $GLOBALS['BE_USER']->workspace !== 0 && BackendUtility::isTableWorkspaceEnabled($table)) {
                        $workspaceVersion = BackendUtility::getWorkspaceVersionOfRecord($GLOBALS['BE_USER']->workspace, $table, $uid, 'uid,t3ver_state');
@@ -1971,23 +1984,23 @@ class InlineElement {
         * The result is written to $this->inlineStructure.
         * There are two keys:
         * - 'stable': Containing full qualified identifiers (table, uid and field)
-        * - 'unstable': Containting partly filled data (e.g. only table and possibly field)
+        * - 'unstable': Containing partly filled data (e.g. only table and possibly field)
         *
         * @param string $domObjectId The DOM object-id
         * @param boolean $loadConfig Load the TCA configuration for that level (default: TRUE)
         * @return void
         * @todo Define visibility
         */
-       public function parseStructureString($string, $loadConfig = TRUE) {
+       public function parseStructureString($domObjectId, $loadConfig = TRUE) {
                $unstable = array();
                $vector = array('table', 'uid', 'field');
 
-               // Substitute FlexForm additon and make parsing a bit easier
-               $string = str_replace(self::FlexForm_Separator, self::FlexForm_Substitute, $string);
-               // The starting pattern of an object identifer (e.g. "data-<firstPidValue>-<anything>)
+               // Substitute FlexForm addition and make parsing a bit easier
+               $domObjectId = str_replace(self::FlexForm_Separator, self::FlexForm_Substitute, $domObjectId);
+               // The starting pattern of an object identifier (e.g. "data-<firstPidValue>-<anything>)
                $pattern = '/^' . $this->prependNaming . self::Structure_Separator . '(.+?)' . self::Structure_Separator . '(.+)$/';
 
-               if (preg_match($pattern, $string, $match)) {
+               if (preg_match($pattern, $domObjectId, $match)) {
                        $this->inlineFirstPid = $match[1];
                        $parts = explode(self::Structure_Separator, $match[2]);
                        $partsCnt = count($parts);
@@ -2027,20 +2040,17 @@ class InlineElement {
                }
        }
 
-       /*******************************************************
+       /*
         *
         * Helper functions
         *
-        *******************************************************/
+        */
+
        /**
         * Does some checks on the TCA configuration of the inline field to render.
         *
         * @param array $config Reference to the TCA field configuration
-        * @param string $table The table name of the record
-        * @param string $field The field name which this element is supposed to edit
-        * @param array $row The record data array of the parent
-        * @return boolean If critical configuration errors were found, FALSE is returned
-        * @todo Define visibility
+        * @return bool If critical configuration errors were found, FALSE is returned
         */
        public function checkConfiguration(&$config) {
                $foreign_table = $config['foreign_table'];
@@ -2080,7 +2090,7 @@ class InlineElement {
         * Checks the page access rights (Code for access check mostly taken from alt_doc.php)
         * as well as the table access rights of the user.
         *
-        * @param string $cmd The command that sould be performed ('new' or 'edit')
+        * @param string $cmd The command that should be performed ('new' or 'edit')
         * @param string $table The table to check access for
         * @param string $theUid The record uid of the table
         * @return boolean Returns TRUE is the user has access, or FALSE if not
@@ -2090,8 +2100,7 @@ class InlineElement {
                // Checking if the user has permissions? (Only working as a precaution, because the final permission check is always down in TCE. But it's good to notify the user on beforehand...)
                // First, resetting flags.
                $hasAccess = 0;
-               $deniedAccessReason = '';
-               // Admin users always have acces:
+               // Admin users always have access:
                if ($GLOBALS['BE_USER']->isAdmin()) {
                        return TRUE;
                }
@@ -2209,7 +2218,7 @@ class InlineElement {
        /**
         * Checks if the $table is the child of a inline type AND the $field is the label field of this table.
         * This function is used to dynamically update the label while editing. This has no effect on labels,
-        * that were processed by a TCEmain-hook on saving.
+        * that were processed by a FormEngine-hook on saving.
         *
         * @param string $table The table to check
         * @param string $field The field on this table to check
@@ -2372,6 +2381,7 @@ class InlineElement {
         * Determine the configuration and the type of a record selector.
         *
         * @param array $conf TCA configuration of the parent(!) field
+        * @param string $field Field name
         * @return array Associative array with the keys 'PA' and 'type', both are FALSE if the selector was not valid.
         * @todo Define visibility
         */
@@ -2386,7 +2396,7 @@ class InlineElement {
                        $PA = array();
                        $PA['fieldConf'] = $GLOBALS['TCA'][$foreign_table]['columns'][$field];
                        if ($PA['fieldConf'] && $conf['foreign_selector_fieldTcaOverride']) {
-                               \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($PA['fieldConf'], $conf['foreign_selector_fieldTcaOverride']);
+                               ArrayUtility::mergeRecursiveWithOverrule($PA['fieldConf'], $conf['foreign_selector_fieldTcaOverride']);
                        }
                        $PA['fieldConf']['config']['form_type'] = $PA['fieldConf']['config']['form_type'] ?: $PA['fieldConf']['config']['type'];
                        // Using "form_type" locally in this script
@@ -2500,7 +2510,7 @@ class InlineElement {
         * Update expanded/collapsed states on new inline records if any.
         *
         * @param array $uc The uc array to be processed and saved (by reference)
-        * @param \TYPO3\CMS\Core\DataHandling\DataHandler $tce Instance of TCEmain that saved data before
+        * @param \TYPO3\CMS\Core\DataHandling\DataHandler $tce Instance of FormEngine that saved data before
         * @return void
         * @todo Define visibility
         */
@@ -2561,7 +2571,7 @@ class InlineElement {
                        $parseObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Html\\HtmlParser');
                        // Removes script wraps:
                        $headDataRaw = str_replace(array('/*<![CDATA[*/', '/*]]>*/'), '', $headDataRaw);
-                       // Removes leading spaces of a multiline string:
+                       // Removes leading spaces of a multi-line string:
                        $headDataRaw = trim(preg_replace('/(^|\\r|\\n)( |\\t)+/', '$1', $headDataRaw));
                        // Get script and link tags:
                        $tags = array_merge($parseObj->getAllParts($parseObj->splitTags('link', $headDataRaw)), $parseObj->getAllParts($parseObj->splitIntoBlock('script', $headDataRaw)));
@@ -2600,7 +2610,7 @@ class InlineElement {
         * @param string $text The text to be wrapped by an anchor
         * @param string $link  The link to be used in the anchor
         * @param array $attributes Array of attributes to be used in the anchor
-        * @return string The wrapped texted as HTML representation
+        * @return string The wrapped text as HTML representation
         */
        protected function wrapWithAnchor($text, $link, $attributes = array()) {
                $link = trim($link);
@@ -2634,4 +2644,19 @@ class InlineElement {
 
                return $flexFormParts;
        }
+
+       /**
+        * @return LanguageService
+        */
+       protected function getLanguageService() {
+               return $GLOBALS['LANG'];
+       }
+
+       /**
+        * @return DatabaseConnection
+        */
+       protected function getDatabaseConnection() {
+               return $GLOBALS['TYPO3_DB'];
+       }
+
 }