workspace
* @param bool $unsetMovePointers If TRUE the function does not return a "pointer" row for moved records in a workspace
* @return void
* @see fixVersioningPid()
*/
abstract public function workspaceOL($table, &$row, $wsid = -99, $unsetMovePointers = FALSE);
/**
* @param string $table Table name present in $GLOBALS['TCA']
* @param int $uid UID of record
* @param string $fields List of fields to select
* @param string $where Additional WHERE clause, eg. " AND blablabla = 0
* @param bool $useDeleteClause Use the deleteClause to check if a record is deleted (default TRUE)
* @return array|NULL Returns the row if found, otherwise NULL
*/
abstract public function getRecord($table, $uid, $fields = '*', $where = '', $useDeleteClause = TRUE);
/**
* @param string $table Table name, present in TCA
* @param array $row Row from table
* @param bool $prep If set, result is prepared for output: The output is cropped to a limited length (depending on BE_USER->uc['titleLen']) and if no value is found for the title, '[No title]' is returned (localized). Further, the output is htmlspecialchars()'ed
* @param bool $forceResult If set, the function always returns an output. If no value is found for the title, '[No title]' is returned (localized).
* @return string
*/
abstract public function getRecordTitle($table, $row, $prep = FALSE, $forceResult = TRUE);
/**
* @param string $theTable Table name present in $GLOBALS['TCA']
* @param string $theField Field to select on
* @param string $theValue Value that $theField must match
* @param string $whereClause Optional additional WHERE clauses put in the end of the query. DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!
* @param string $groupBy Optional GROUP BY field(s), if none, supply blank string.
* @param string $orderBy Optional ORDER BY field(s), if none, supply blank string.
* @param string $limit Optional LIMIT value ([begin,]max), if none, supply blank string.
* @param bool $useDeleteClause Use the deleteClause to check if a record is deleted (default TRUE)
* @return mixed Multidimensional array with selected records (if any is selected)
*/
abstract public function getRecordsByField($theTable, $theField, $theValue, $whereClause = '', $groupBy = '', $orderBy = '', $limit = '', $useDeleteClause = TRUE);
/**
* Returns a JavaScript string (for an onClick handler) which will load the alt_doc.php script that shows the form for editing of the record(s) you have send as params.
* REMEMBER to always htmlspecialchar() content in href-properties to ampersands get converted to entities (XHTML requirement and XSS precaution)
*
* @param string $params Parameters sent along to alt_doc.php. This requires a much more details description which you must seek in Inside TYPO3s documentation of the alt_doc.php API. And example could be '&edit[pages][123] = edit' which will show edit form for page record 123.
* @param string $backPath Must point back to the TYPO3_mainDir directory (where alt_doc.php is)
* @param string $requestUri An optional returnUrl you can set - automatically set to REQUEST_URI.
*
* @return string
* @see \TYPO3\CMS\Backend\Template\DocumentTemplate::issueCommand()
*/
abstract public function editOnClick($params, $backPath = '', $requestUri = '');
/**
* Returns a JavaScript string for viewing the page id, $id
* It will detect the correct domain name if needed and provide the link with the right back path.
* Also it will re-use any window already open.
*
* @param int $pageUid Page UID
* @param string $backPath Must point back to TYPO3_mainDir (where the site is assumed to be one level above)
* @param array|NULL $rootLine If root line is supplied the function will look for the first found domain record and use that URL instead (if found)
* @param string $anchorSection Optional anchor to the URL
* @param string $alternativeUrl An alternative URL that, if set, will ignore other parameters except $switchFocus: It will return the window.open command wrapped around this URL!
* @param string $additionalGetVars Additional GET variables.
* @param bool $switchFocus If TRUE, then the preview window will gain the focus.
* @return string
*/
abstract public function viewOnClick($pageUid, $backPath = '', $rootLine = NULL, $anchorSection = '', $alternativeUrl = '', $additionalGetVars = '', $switchFocus = TRUE);
/**
* @param string $str Full string to check
* @param string $partStr Reference string which must be found as the "first part" of the full string
* @return bool TRUE if $partStr was found to be equal to the first part of $str
*/
abstract public function isFirstPartOfStr($str, $partStr);
/**
* @param int $tstamp Time stamp, seconds
* @param int $prefix 1/-1 depending on polarity of age.
* @param string $date $date=="date" will yield "dd:mm:yy" formatting, otherwise "dd:mm:yy hh:mm
* @return string
*/
abstract public function dateTimeAge($tstamp, $prefix = 1, $date = '');
/**
* Returns the Page TSconfig for page with id, $id
*
* @param int $id Page uid for which to create Page TSconfig
* @param array $rootLine If $rootLine is an array, that is used as rootline, otherwise rootline is just calculated
* @param bool $returnPartArray If $returnPartArray is set, then the array with accumulated Page TSconfig is returned non-parsed. Otherwise the output will be parsed by the TypoScript parser.
* @return array Page TSconfig
* @see \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser
*/
abstract public function getPagesTSconfig($id, $rootLine = NULL, $returnPartArray = FALSE);
/**
* Returns $tstamp formatted as "ddmmyy hhmm" (According to $GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'] AND $GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm'])
*
* @param int $value Time stamp, seconds
* @return string Formatted time
*/
abstract public function datetime($value);
/**
* Returns the "age" in minutes / hours / days / years of the number of $seconds inputted.
*
* @param int $seconds Seconds could be the difference of a certain timestamp and time()
* @param string $labels Labels should be something like ' min| hrs| days| yrs| min| hour| day| year'. This value is typically delivered by this function call: $GLOBALS["LANG"]->sL("LLL:EXT:lang/locallang_core.xlf:labels.minutesHoursDaysYears")
* @return string Formatted time
*/
abstract public function calcAge($seconds, $labels = ' min| hrs| days| yrs| min| hour| day| year');
/**
* @return t3lib_arrayBrowser|\TYPO3\CMS\Lowlevel\Utility\ArrayBrowser
*/
abstract public function getArrayBrowser();
/**
* @param int $id Page uid
* @param string $TSref An object string which determines the path of the TSconfig to return.
* @return array
*/
abstract public function getModTSconfig($id, $TSref);
/**
* @param string $backPath Current backpath to PATH_typo3 folder
* @param string $src Icon file name relative to PATH_typo3 folder
* @param string $wHattribs Default width/height, defined like 'width="12" height="14"'
* @param int $outputMode Mode: 0 (zero) is default and returns src/width/height. 1 returns value of src+backpath, 2 returns value of w/h.
* @return string Returns ' src="[backPath][src]" [wHattribs]'
* @see skinImgFile()
*/
abstract public function skinImg($backPath, $src, $wHattribs = '', $outputMode = 0);
/**
* Converts a one dimensional array to a one line string which can be used for logging or debugging output
* Example: "loginType: FE; refInfo: Array; HTTP_HOST: www.example.org; REMOTE_ADDR: 192.168.1.5; REMOTE_HOST:; security_level:; showHiddenRecords: 0;"
*
* @param array $arr Data array which should be outputted
* @param mixed $valueList List of keys which should be listed in the output string. Pass a comma list or an array. An empty list outputs the whole array.
* @param int $valueLength Long string values are shortened to this length. Default: 20
* @return string Output string with key names and their value as string
*/
abstract public function arrayToLogString(array $arr, $valueList = array(), $valueLength = 20);
/**
* Truncates a string with appended/prepended "..." and takes current character set into consideration.
*
* @param string $string String to truncate
* @param int $chars Must be an integer with an absolute value of at least 4. if negative the string is cropped from the right end.
* @param string $appendString Appendix to the truncated string
* @return string Cropped string
*/
abstract public function fixed_lgd_cs($string, $chars, $appendString = '...');
/**
* @param string The table name
* @param array The table row ("enablefields" are at least needed for correct icon display and for pages records some more fields in addition!)
* @param string The backpath to the main TYPO3 directory (relative path back to PATH_typo3)
* @param string Additional attributes for the image tag
* @param boolean If set, the icon will be grayed/shaded
* @return string
-tag
* @see getIcon()
*/
abstract public function getIconImage($table, $row = array(), $backPath, $params = '', $shaded = FALSE);
/**
* @param int $uid
* @param string $clause
* @param boolean $workspaceOL
* @return array
*/
abstract public function BEgetRootLine($uid, $clause = '', $workspaceOL = FALSE);
/**
* Makes the page tree class instance.
*
* @return t3lib_pageTree|\TYPO3\CMS\Backend\Tree\View\PageTreeView
*/
abstract public function makePageTreeInstance();
/**
* Obtains the lock object with a given name.
*
* @param string $lockObjectName
* @return t3lib_lock|\TYPO3\CMS\Core\Locking\Locker
*/
abstract public function getLockObject($lockObjectName);
/**
* Sets the file system mode and group ownership of a file or a folder.
*
* @param string $path Path of file or folder, must not be escaped. Path can be absolute or relative
* @param bool $recursive If set, also fixes permissions of files and folders in the folder (if $path is a folder)
* @return mixed TRUE on success, FALSE on error, always TRUE on Windows OS
*/
abstract public function fixPermissions($path, $recursive = FALSE);
/**
* Creates a database connection if it is not exist.
*
* @return t3lib_db|\TYPO3\CMS\Core\Database\DatabaseConnection
*/
abstract public function getDatabaseConnection();
}