TYPO3CMS  8
 All Classes Namespaces Files Functions Variables Pages
AbstractPlugin Class Reference
Inheritance diagram for AbstractPlugin:
SearchFormController CssStyledContentController FrontendLoginController AccessibilityLinkController CustomAttributeController ImageRenderingController

Public Member Functions

 pi_setPiVarDefaults ()
 
 pi_getPageLink ($id, $target= '', $urlParameters=[])
 
 pi_linkToPage ($str, $id, $target= '', $urlParameters=[])
 
 pi_linkTP ($str, $urlParameters=[], $cache=false, $altPageId=0)
 
 pi_linkTP_keepPIvars ($str, $overrulePIvars=[], $cache=false, $clearAnyway=false, $altPageId=0)
 
 pi_linkTP_keepPIvars_url ($overrulePIvars=[], $cache=false, $clearAnyway=false, $altPageId=0)
 
 pi_list_linkSingle ($str, $uid, $cache=false, $mergeArr=[], $urlOnly=false, $altPageId=0)
 
 pi_openAtagHrefInJSwindow ($str, $winName= '', $winParams= 'width=670, height=500, status=0, menubar=0, scrollbars=1, resizable=1')
 
 pi_list_browseresults ($showResultCount=1, $tableParams= '', $wrapArr=[], $pointerName= 'pointer', $hscText=true, $forceOutput=false)
 
 pi_list_modeSelector ($items=[], $tableParams= '')
 
 pi_list_makelist ($statement, $tableParams= '')
 
 pi_list_row ($c)
 
 pi_list_header ()
 
 pi_getClassName ($class)
 
 pi_classParam ($class, $addClasses= '')
 
 pi_wrapInBaseClass ($str)
 
 pi_getEditPanel ($row=[], $tablename= '', $label= '', $conf=[])
 
 pi_getEditIcon ($content, $fields, $title= '', $row=[], $tablename= '', $oConf=[])
 
 pi_getLL ($key, $alternativeLabel= '', $hsc=false)
 
 pi_exec_query ($table, $count=false, $addWhere= '', $mm_cat= '', $groupBy= '', $orderBy= '', $query= '')
 
 pi_getRecord ($table, $uid, $checkPage=false)
 
 pi_getPidList ($pid_list, $recursive=0)
 
 pi_prependFieldsWithTable ($table, $fieldList)
 
 pi_getCategoryTableContents ($table, $pid, $whereClause= '', $groupBy= '', $orderBy= '', $limit= '')
 
 pi_isOnlyFields ($fList, $lowerThan=-1)
 
 pi_autoCache ($inArray)
 
 pi_RTEcssText ($str)
 
 pi_initPIflexForm ($field= 'pi_flexform')
 
 pi_getFFvalue ($T3FlexForm_array, $fieldName, $sheet= 'sDEF', $lang= 'lDEF', $value= 'vDEF')
 
 pi_getFFvalueFromSheetArray ($sheetArray, $fieldNameArr, $value)
 

Public Attributes

 $cObj
 
 $prefixId
 
 $scriptRelPath
 
 $extKey
 
 $piVars
 
 $internal = ['res_count' => 0
 
 $LOCAL_LANG = []
 
 $LOCAL_LANG_loaded = false
 
 $LLkey = 'default'
 
 $altLLkey = ''
 
 $LLtestPrefix = ''
 
 $LLtestPrefixAlt = ''
 
 $pi_isOnlyFields = 'mode,pointer'
 
 $pi_alwaysPrev = 0
 
 $pi_lowerThan = 5
 
 $pi_moreParams = ''
 
 $pi_listFields = '*'
 
 $pi_autoCacheFields = []
 
 $pi_autoCacheEn = false
 
 $pi_USER_INT_obj = false
 
 $pi_checkCHash = false
 
 $conf = []
 
 $pi_EPtemp_cObj
 
 $pi_tmpPageId = 0
 

Protected Member Functions

 applyStdWrapRecursive (array $conf, $level=0)
 

Protected Attributes

 $LOCAL_LANG_UNSET = []
 
 $frontendController
 
 $databaseConnection
 

Detailed Description

Base class for frontend plugins Most modern frontend plugins are extension classes of this one. This class contains functions which assists these plugins in creating lists, searching, displaying menus, page-browsing (next/previous/1/2/3) and handling links. Functions are all prefixed "pi_" which is reserved for this class. Those functions can of course be overridden in the extension classes (that is the point...)

Definition at line 37 of file AbstractPlugin.php.

Member Function Documentation

applyStdWrapRecursive ( array  $conf,
  $level = 0 
)
protected

Recursively looks for stdWrap and executes it

Parameters
array$confCurrent section of configuration to work on
int$levelCurrent level being processed (currently just for tracking; no limit enforced)
Returns
array Current section of configuration after stdWrap applied

Definition at line 290 of file AbstractPlugin.php.

References AbstractPlugin\$conf.

Referenced by AbstractPlugin\pi_setPiVarDefaults().

pi_autoCache (   $inArray)

Returns TRUE if the array $inArray contains only values allowed to be cached based on the configuration in $this->pi_autoCacheFields Used by ->pi_linkTP_keepPIvars This is an advanced form of evaluation of whether a URL should be cached or not.

Parameters
array$inArrayAn array with piVars values to evaluate
Returns
bool|NULL Returns TRUE (1) if conditions are met.
See also
pi_linkTP_keepPIvars()

Definition at line 1315 of file AbstractPlugin.php.

Referenced by AbstractPlugin\pi_linkTP_keepPIvars().

pi_classParam (   $class,
  $addClasses = '' 
)

Returns the class-attribute with the correctly prefixed classname Using pi_getClassName()

Parameters
string$classThe class name(s) (suffix) - separate multiple classes with commas
string$addClassesAdditional class names which should not be prefixed - separate multiple classes with commas
Returns
string A "class" attribute with value and a single space char before it.
See also
pi_getClassName()

Definition at line 810 of file AbstractPlugin.php.

References AbstractPlugin\pi_getClassName(), and GeneralUtility\trimExplode().

Referenced by SearchFormController\compileResult(), SearchFormController\getDisplayResults(), AbstractPlugin\pi_list_browseresults(), AbstractPlugin\pi_list_header(), AbstractPlugin\pi_list_makelist(), AbstractPlugin\pi_list_modeSelector(), AbstractPlugin\pi_list_row(), SearchFormController\printResultSectionLinks(), SearchFormController\renderPagination(), and SearchFormController\wrapSW().

pi_exec_query (   $table,
  $count = false,
  $addWhere = '',
  $mm_cat = '',
  $groupBy = '',
  $orderBy = '',
  $query = '' 
)

Executes a standard SELECT query for listing of records based on standard input vars from the 'browser' ($this->internal['results_at_a_time'] and $this->piVars['pointer']) and 'searchbox' ($this->piVars['sword'] and $this->internal['searchFieldList']) Set $count to 1 if you wish to get a count(*) query for selecting the number of results. Notice that the query will use $this->conf['pidList'] and $this->conf['recursive'] to generate a PID list within which to search for records.

Parameters
string$tableThe table name to make the query for.
bool$countIf set, you will get a "count(*)" query back instead of field selecting
string$addWhereAdditional WHERE clauses (should be starting with " AND ....")
mixed$mm_catIf an array, then it must contain the keys "table", "mmtable" and (optionally) "catUidList" defining a table to make a MM-relation to in the query (based on fields uid_local and uid_foreign). If not array, the query will be a plain query looking up data in only one table.
string$groupByIf set, this is added as a " GROUP BY ...." part of the query.
string$orderByIf set, this is added as a " ORDER BY ...." part of the query. The default is that an ORDER BY clause is made based on $this->internal['orderBy'] and $this->internal['descFlag'] where the orderBy field must be found in $this->internal['orderByList']
string$queryIf set, this is taken as the first part of the query instead of what is created internally. Basically this should be a query starting with "FROM [table] WHERE ... AND ...". The $addWhere clauses and all the other stuff is still added. Only the tables and PID selecting clauses are bypassed. May be deprecated in the future!
Returns
Statement

Definition at line 1058 of file AbstractPlugin.php.

References $fields, MathUtility\forceIntegerInRange(), GeneralUtility\inList(), GeneralUtility\intExplode(), GeneralUtility\makeInstance(), QueryHelper\parseGroupBy(), QueryHelper\parseOrderBy(), QueryHelper\parseTableList(), AbstractPlugin\pi_getPidList(), AbstractPlugin\pi_prependFieldsWithTable(), QueryHelper\stripLogicalOperatorPrefix(), and GeneralUtility\trimExplode().

pi_getCategoryTableContents (   $table,
  $pid,
  $whereClause = '',
  $groupBy = '',
  $orderBy = '',
  $limit = '' 
)

Will select all records from the "category table", $table, and return them in an array.

Parameters
string$tableThe name of the category table to select from.
int$pidThe page from where to select the category records.
string$whereClauseOptional additional WHERE clauses put in the end of the query. DO NOT PUT IN GROUP BY, ORDER BY or LIMIT!
string$groupByOptional GROUP BY field(s), if none, supply blank string.
string$orderByOptional ORDER BY field(s), if none, supply blank string.
string$limitOptional LIMIT value ([begin,]max), if none, supply blank string.
Returns
array The array with the category records in.

Definition at line 1233 of file AbstractPlugin.php.

References GeneralUtility\intExplode(), GeneralUtility\makeInstance(), QueryHelper\parseGroupBy(), QueryHelper\parseOrderBy(), and QueryHelper\stripLogicalOperatorPrefix().

pi_getClassName (   $class)

Returns a class-name prefixed with $this->prefixId and with all underscores substituted to dashes (-)

Parameters
string$classThe class name (or the END of it since it will be prefixed by $this->prefixId.'-')
Returns
string The combined class name (with the correct prefix)

Definition at line 796 of file AbstractPlugin.php.

Referenced by AbstractPlugin\pi_classParam().

pi_getEditIcon (   $content,
  $fields,
  $title = '',
  $row = [],
  $tablename = '',
  $oConf = [] 
)

Adds edit-icons to the input content. ContentObjectRenderer::editIcons used for rendering

Parameters
string$contentHTML content to add icons to. The icons will be put right after the last content part in the string (that means before the ending series of HTML tags)
string$fieldsThe list of fields to edit when the icon is clicked.
string$titleTitle for the edit icon.
array$rowTable record row
string$tablenameTable name
array$oConfConf array
Returns
string The processed content
See also
ContentObjectRenderer::editIcons()

Definition at line 912 of file AbstractPlugin.php.

References AbstractPlugin\$conf, $fields, and GeneralUtility\getIndpEnv().

pi_getEditPanel (   $row = [],
  $tablename = '',
  $label = '',
  $conf = [] 
)

Returns the Backend User edit panel for the $row from $tablename

Parameters
array$rowRecord array.
string$tablenameTable name
string$labelA label to show with the panel.
array$confTypoScript parameters to pass along to the EDITPANEL content Object that gets rendered. The property "allow" WILL get overridden/set though.
Returns
string Returns FALSE/blank if no BE User login and of course if the panel is not shown for other reasons. Otherwise the HTML for the panel (a table).
See also
ContentObjectRenderer::EDITPANEL()

Definition at line 869 of file AbstractPlugin.php.

References AbstractPlugin\$conf, and GeneralUtility\makeInstance().

pi_getFFvalue (   $T3FlexForm_array,
  $fieldName,
  $sheet = 'sDEF',
  $lang = 'lDEF',
  $value = 'vDEF' 
)

Return value from somewhere inside a FlexForm structure

Parameters
array$T3FlexForm_arrayFlexForm data
string$fieldNameField name to extract. Can be given like "test/el/2/test/el/field_templateObject" where each part will dig a level deeper in the FlexForm data.
string$sheetSheet pointer, eg. "sDEF @param string $lang Language pointer, eg. "lDEF
string$valueValue pointer, eg. "vDEF
Returns
string|NULL The content.

Definition at line 1388 of file AbstractPlugin.php.

References AbstractPlugin\pi_getFFvalueFromSheetArray().

Referenced by FrontendLoginController\flexFormValue(), CssStyledContentController\getTableAttributes(), and CssStyledContentController\render_table().

pi_getFFvalueFromSheetArray (   $sheetArray,
  $fieldNameArr,
  $value 
)

Returns part of $sheetArray pointed to by the keys in $fieldNameArray

Parameters
array$sheetArrayMultidimensiona array, typically FlexForm contents
array$fieldNameArrArray where each value points to a key in the FlexForms content - the input array will have the value returned pointed to by these keys. All integer keys will not take their integer counterparts, but rather traverse the current position in the array an return element number X (whether this is right behavior is not settled yet...)
string$valueValue for outermost key, typ. "vDEF" depending on language.
Returns
mixed The value, typ. string. private
See also
pi_getFFvalue()

Definition at line 1407 of file AbstractPlugin.php.

References MathUtility\canBeInterpretedAsInteger().

Referenced by AbstractPlugin\pi_getFFvalue().

pi_getLL (   $key,
  $alternativeLabel = '',
  $hsc = false 
)

Returns the localized label of the LOCAL_LANG key, $key Notice that for debugging purposes prefixes for the output values can be set with the internal vars ->LLtestPrefixAlt and ->LLtestPrefix

Parameters
string$keyThe key from the LOCAL_LANG array for which to return the value.
string$alternativeLabelAlternative string to return IF no value is found set for the key, neither for the local language nor the default.
bool$hscIf TRUE, the output label is passed through htmlspecialchars()
Returns
string The value from LOCAL_LANG.

Definition at line 942 of file AbstractPlugin.php.

References AbstractPlugin\$LLkey, GeneralUtility\deprecationLog(), and GeneralUtility\trimExplode().

Referenced by FrontendLoginController\changePassword(), SearchFormController\compileResult(), SearchFormController\doSearch(), FrontendLoginController\generateAndSendHash(), SearchFormController\getDisplayResults(), FrontendLoginController\getDisplayText(), SearchFormController\initialize(), FrontendLoginController\main(), SearchFormController\makeAccessIndication(), SearchFormController\makeDescription(), SearchFormController\makeRating(), SearchFormController\makeSearchForm(), SearchFormController\makeSectionHeader(), SearchFormController\makeTitle(), AbstractPlugin\pi_list_browseresults(), SearchFormController\printResultRow(), SearchFormController\printResultSectionLinks(), SearchFormController\printRules(), SearchFormController\renderPagination(), FrontendLoginController\showForgot(), FrontendLoginController\showLogin(), FrontendLoginController\showLogout(), SearchFormController\tellUsWhatIsSeachedFor(), and FrontendLoginController\validateRedirectUrl().

pi_getPageLink (   $id,
  $target = '',
  $urlParameters = [] 
)

Get URL to some page. Returns the URL to page $id with $target and an array of additional url-parameters, $urlParameters Simple example: $this->pi_getPageLink(123) to get the URL for page-id 123.

The function basically calls $this->cObj->getTypoLink_URL()

Parameters
int$idPage id
string$targetTarget value to use. Affects the &type-value of the URL, defaults to current.
array | string$urlParametersAs an array key/value pairs represent URL parameters to set. Values NOT URL-encoded yet, keys should be URL-encoded if needed. As a string the parameter is expected to be URL-encoded already.
Returns
string The resulting URL
See also
pi_linkToPage()
ContentObjectRenderer->getTypoLink()

Definition at line 352 of file AbstractPlugin.php.

Referenced by FrontendLoginController\generateAndSendHash(), SearchFormController\getSearchFormActionURL(), SearchFormController\makeSearchForm(), and FrontendLoginController\processRedirect().

pi_getPidList (   $pid_list,
  $recursive = 0 
)

Returns a commalist of page ids for a query (eg. 'WHERE pid IN (...)')

Parameters
string$pid_listA comma list of page ids (if empty current page is used)
int$recursiveAn integer >=0 telling how deep to dig for pids under each entry in $pid_list
Returns
string List of PID values (comma separated)

Definition at line 1185 of file AbstractPlugin.php.

References MathUtility\forceIntegerInRange(), and GeneralUtility\trimExplode().

Referenced by FrontendLoginController\main(), FrontendLoginController\mergeflexFormValuesIntoConf(), and AbstractPlugin\pi_exec_query().

pi_getRecord (   $table,
  $uid,
  $checkPage = false 
)

Returns the row $uid from $table (Simply calling $this->frontendEngine->sys_page->checkRecord())

Parameters
string$tableThe table name
int$uidThe uid of the record from the table
bool$checkPageIf $checkPage is set, it's required that the page on which the record resides is accessible
Returns
array If record is found, an array. Otherwise FALSE.

Definition at line 1173 of file AbstractPlugin.php.

Referenced by FrontendLoginController\changePassword().

pi_initPIflexForm (   $field = 'pi_flexform')

Converts $this->cObj->data['pi_flexform'] from XML string to flexForm array.

Parameters
string$fieldField name to convert
Returns
void

Definition at line 1367 of file AbstractPlugin.php.

References GeneralUtility\xml2array().

Referenced by FrontendLoginController\main(), and CssStyledContentController\render_table().

pi_isOnlyFields (   $fList,
  $lowerThan = -1 
)

Returns TRUE if the piVars array has ONLY those fields entered that is set in the $fList (commalist) AND if none of those fields value is greater than $lowerThan field if they are integers. Notice that this function will only work as long as values are integers.

Parameters
string$fListList of fields (keys from piVars) to evaluate on
int$lowerThanLimit for the values.
Returns
bool|NULL Returns TRUE (1) if conditions are met.

Definition at line 1289 of file AbstractPlugin.php.

References AbstractPlugin\$piVars, MathUtility\canBeInterpretedAsInteger(), and GeneralUtility\trimExplode().

Referenced by AbstractPlugin\pi_list_browseresults(), and AbstractPlugin\pi_list_modeSelector().

pi_linkToPage (   $str,
  $id,
  $target = '',
  $urlParameters = [] 
)

Link a string to some page. Like pi_getPageLink() but takes a string as first parameter which will in turn be wrapped with the URL including target attribute Simple example: $this->pi_linkToPage('My link', 123) to get something like My link

Parameters
string$strThe content string to wrap in tags
int$idPage id
string$targetTarget value to use. Affects the &type-value of the URL, defaults to current.
array | string$urlParametersAs an array key/value pairs represent URL parameters to set. Values NOT URL-encoded yet, keys should be URL-encoded if needed. As a string the parameter is expected to be URL-encoded already.
Returns
string The input string wrapped in tags with the URL and target set.
See also
pi_getPageLink(), ContentObjectRenderer::getTypoLink()

Definition at line 369 of file AbstractPlugin.php.

Referenced by SearchFormController\linkPage().

pi_linkTP (   $str,
  $urlParameters = [],
  $cache = false,
  $altPageId = 0 
)

Link string to the current page. Returns the $str wrapped in -tags with a link to the CURRENT page, but with $urlParameters set as extra parameters for the page.

Parameters
string$strThe content string to wrap in tags
array$urlParametersArray with URL parameters as key/value pairs. They will be "imploded" and added to the list of parameters defined in the plugins TypoScript property "parent.addParams" plus $this->pi_moreParams.
bool$cacheIf $cache is set (0/1), the page is asked to be cached by a &cHash value (unless the current plugin using this class is a USER_INT). Otherwise the no_cache-parameter will be a part of the link.
int$altPageIdAlternative page ID for the link. (By default this function links to the SAME page!)
Returns
string The input string wrapped in tags
See also
pi_linkTP_keepPIvars(), ContentObjectRenderer::typoLink()

Definition at line 385 of file AbstractPlugin.php.

References AbstractPlugin\$conf, AbstractPlugin\$pi_moreParams, and GeneralUtility\implodeArrayForUrl().

Referenced by AbstractPlugin\pi_linkTP_keepPIvars(), and AbstractPlugin\pi_list_linkSingle().

pi_linkTP_keepPIvars (   $str,
  $overrulePIvars = [],
  $cache = false,
  $clearAnyway = false,
  $altPageId = 0 
)

Link a string to the current page while keeping currently set values in piVars. Like pi_linkTP, but $urlParameters is by default set to $this->piVars with $overrulePIvars overlaid. This means any current entries from this->piVars are passed on (except the key "DATA" which will be unset before!) and entries in $overrulePIvars will OVERRULE the current in the link.

Parameters
string$strThe content string to wrap in tags
array$overrulePIvarsArray of values to override in the current piVars. Contrary to pi_linkTP the keys in this array must correspond to the real piVars array and therefore NOT be prefixed with the $this->prefixId string. Further, if a value is a blank string it means the piVar key will not be a part of the link (unset)
bool$cacheIf $cache is set, the page is asked to be cached by a &cHash value (unless the current plugin using this class is a USER_INT). Otherwise the no_cache-parameter will be a part of the link.
bool$clearAnywayIf set, then the current values of piVars will NOT be preserved anyways... Practical if you want an easy way to set piVars without having to worry about the prefix, "tx_xxxxx[]
int$altPageIdAlternative page ID for the link. (By default this function links to the SAME page!)
Returns
string The input string wrapped in tags
See also
pi_linkTP()

Definition at line 408 of file AbstractPlugin.php.

References AbstractPlugin\$piVars, ArrayUtility\mergeRecursiveWithOverrule(), AbstractPlugin\pi_autoCache(), and AbstractPlugin\pi_linkTP().

Referenced by AbstractPlugin\pi_linkTP_keepPIvars_url(), AbstractPlugin\pi_list_browseresults(), AbstractPlugin\pi_list_linkSingle(), and AbstractPlugin\pi_list_modeSelector().

pi_linkTP_keepPIvars_url (   $overrulePIvars = [],
  $cache = false,
  $clearAnyway = false,
  $altPageId = 0 
)

Get URL to the current page while keeping currently set values in piVars. Same as pi_linkTP_keepPIvars but returns only the URL from the link.

Parameters
array$overrulePIvarsSee pi_linkTP_keepPIvars
bool$cacheSee pi_linkTP_keepPIvars
bool$clearAnywaySee pi_linkTP_keepPIvars
int$altPageIdSee pi_linkTP_keepPIvars
Returns
string The URL ($this->cObj->lastTypoLinkUrl)
See also
pi_linkTP_keepPIvars()

Definition at line 433 of file AbstractPlugin.php.

References AbstractPlugin\pi_linkTP_keepPIvars().

pi_list_browseresults (   $showResultCount = 1,
  $tableParams = '',
  $wrapArr = [],
  $pointerName = 'pointer',
  $hscText = true,
  $forceOutput = false 
)

Returns a results browser. This means a bar of page numbers plus a "previous" and "next" link. For each entry in the bar the piVars "pointer" will be pointing to the "result page" to show. Using $this->piVars['pointer'] as pointer to the page to display. Can be overwritten with another string ($pointerName) to make it possible to have more than one pagebrowser on a page) Using $this->internal['res_count'], $this->internal['results_at_a_time'] and $this->internal['maxPages'] for count number, how many results to show and the max number of pages to include in the browse bar. Using $this->internal['dontLinkActivePage'] as switch if the active (current) page should be displayed as pure text or as a link to itself Using $this->internal['showFirstLast'] as switch if the two links named "<< First" and "LAST >>" will be shown and point to the first or last page. Using $this->internal['pagefloat']: this defines were the current page is shown in the list of pages in the Pagebrowser. If this var is an integer it will be interpreted as position in the list of pages. If its value is the keyword "center" the current page will be shown in the middle of the pagelist. Using $this->internal['showRange']: this var switches the display of the pagelinks from pagenumbers to ranges f.e.: 1-5 6-10 11-15... instead of 1 2 3... Using $this->pi_isOnlyFields: this holds a comma-separated list of fieldnames which - if they are among the GETvars - will not disable caching for the page with pagebrowser.

The third parameter is an array with several wraps for the parts of the pagebrowser. The following elements will be recognized: disabledLinkWrap, inactiveLinkWrap, activeLinkWrap, browseLinksWrap, showResultsWrap, showResultsNumbersWrap, browseBoxWrap.

If $wrapArr['showResultsNumbersWrap'] is set, the formatting string is expected to hold template markers (###FROM###, ###TO###, ###OUT_OF###, ###FROM_TO###, ###CURRENT_PAGE###, ###TOTAL_PAGES###) otherwise the formatting string is expected to hold sprintf-markers (s) for from, to, outof (in that sequence)

Parameters
int$showResultCountDetermines how the results of the page browser will be shown. See description below
string$tableParamsAttributes for the table tag which is wrapped around the table cells containing the browse links
array$wrapArrArray with elements to overwrite the default $wrapper-array.
string$pointerNamevarname for the pointer.
bool$hscTextEnable htmlspecialchars() on language labels
bool$forceOutputForces the output of the page browser if you set this option to "TRUE" (otherwise it's only drawn if enough entries are available)
Returns
string Output HTML-Table, wrapped in
-tags with a class attribute (if $wrapArr is not passed,

Definition at line 523 of file AbstractPlugin.php.

References $GLOBALS, AbstractPlugin\$pi_alwaysPrev, AbstractPlugin\$pi_isOnlyFields, MathUtility\forceIntegerInRange(), GeneralUtility\makeInstance(), AbstractPlugin\pi_classParam(), AbstractPlugin\pi_getLL(), AbstractPlugin\pi_isOnlyFields(), and AbstractPlugin\pi_linkTP_keepPIvars().

pi_list_header ( )

Returns a list header row. (Dummy) Notice: This function should ALWAYS be defined in the extension class of the plugin since it is directly concerned with the specific layout of the listing for your plugins purpose.

Returns
string HTML output, a table row with a class attribute set

Definition at line 780 of file AbstractPlugin.php.

References AbstractPlugin\pi_classParam().

Referenced by AbstractPlugin\pi_list_makelist().

pi_list_linkSingle (   $str,
  $uid,
  $cache = false,
  $mergeArr = [],
  $urlOnly = false,
  $altPageId = 0 
)

Wraps the $str in a link to a single display of the record (using piVars[showUid]) Uses pi_linkTP for the linking

Parameters
string$strThe content string to wrap in tags
int$uidUID of the record for which to display details (basically this will become the value of [showUid]
bool$cacheSee pi_linkTP_keepPIvars
array$mergeArrArray of values to override in the current piVars. Same as $overrulePIvars in pi_linkTP_keepPIvars
bool$urlOnlyIf TRUE, only the URL is returned, not a full link
int$altPageIdAlternative page ID for the link. (By default this function links to the SAME page!)
Returns
string The input string wrapped in tags
See also
pi_linkTP(), pi_linkTP_keepPIvars()

Definition at line 452 of file AbstractPlugin.php.

References AbstractPlugin\pi_linkTP(), and AbstractPlugin\pi_linkTP_keepPIvars().

pi_list_makelist (   $statement,
  $tableParams = '' 
)

Returns the list of items based on the input SQL result pointer For each result row the internal var, $this->internal['currentRow'], is set with the row returned. $this->pi_list_header() makes the header row for the list $this->pi_list_row() is used for rendering each row Notice that these two functions are typically ALWAYS defined in the extension class of the plugin since they are directly concerned with the specific layout for that plugins purpose.

Parameters
Statement$statementResult pointer to a SQL result which can be traversed.
string$tableParamsAttributes for the table tag which is wrapped around the table rows containing the list
Returns
string Output HTML, wrapped in
-tags with a class attribute
See also

Definition at line 734 of file AbstractPlugin.php.

References AbstractPlugin\pi_classParam(), AbstractPlugin\pi_list_header(), and AbstractPlugin\pi_list_row().

pi_list_modeSelector (   $items = [],
  $tableParams = '' 
)

Returns a mode selector; a little menu in a table normally put in the top of the page/list.

Parameters
array$itemsKey/Value pairs for the menu; keys are the piVars[mode] values and the "values" are the labels for them.
string$tableParamsAttributes for the table tag which is wrapped around the table cells containing the menu
Returns
string Output HTML, wrapped in
-tags with a class attribute

Definition at line 700 of file AbstractPlugin.php.

References AbstractPlugin\pi_classParam(), AbstractPlugin\pi_isOnlyFields(), and AbstractPlugin\pi_linkTP_keepPIvars().

pi_list_row (   $c)

Returns a list row. Get data from $this->internal['currentRow']; (Dummy) Notice: This function should ALWAYS be defined in the extension class of the plugin since it is directly concerned with the specific layout of the listing for your plugins purpose.

Parameters
int$cRow counting. Starts at 0 (zero). Used for alternating class values in the output rows.
Returns
string HTML output, a table row with a class attribute set (alternative based on odd/even rows)

Definition at line 767 of file AbstractPlugin.php.

References AbstractPlugin\pi_classParam().

Referenced by AbstractPlugin\pi_list_makelist().

pi_openAtagHrefInJSwindow (   $str,
  $winName = '',
  $winParams = 'width=670,
height  = 500,
status  = 0,
menubar  = 0,
scrollbars  = 1,
resizable  = 1' 
)

Will change the href value from in the input string and turn it into an onclick event that will open a new window with the URL

Parameters
string$strThe string to process. This should be a string already wrapped/including a tag which will be modified to contain an onclick handler. Only the attributes "href" and "onclick" will be left.
string$winNameWindow name for the pop-up window
string$winParamsWindow parameters, see the default list for inspiration
Returns
string The processed input string, modified IF a tag was found

Definition at line 480 of file AbstractPlugin.php.

References GeneralUtility\get_tag_attributes(), and GeneralUtility\quoteJSvalue().

pi_prependFieldsWithTable (   $table,
  $fieldList 
)

Having a comma list of fields ($fieldList) this is prepended with the $table.'.' name

Parameters
string$tableTable name to prepend
string$fieldListList of fields where each element will be prepended with the table name given.
Returns
string List of fields processed.

Definition at line 1212 of file AbstractPlugin.php.

References GeneralUtility\trimExplode().

Referenced by AbstractPlugin\pi_exec_query().

pi_RTEcssText (   $str)

Will process the input string with the parseFunc function from ContentObjectRenderer based on configuration set in "lib.parseFunc_RTE" in the current TypoScript template. This is useful for rendering of content in RTE fields where the transformation mode is set to "ts_css" or so. Notice that this requires the use of "css_styled_content" to work right.

Parameters
string$strThe input text string to process
Returns
string The processed string
See also
ContentObjectRenderer::parseFunc()

Definition at line 1347 of file AbstractPlugin.php.

pi_setPiVarDefaults ( )

If internal TypoScript property "_DEFAULT_PI_VARS." is set then it will merge the current $this->piVars array onto these default values.

Returns
void

Definition at line 323 of file AbstractPlugin.php.

References AbstractPlugin\applyStdWrapRecursive(), and ArrayUtility\mergeRecursiveWithOverrule().

Referenced by FrontendLoginController\main(), and SearchFormController\main().

pi_wrapInBaseClass (   $str)

Wraps the input string in a

tag with the class attribute set to the prefixId. All content returned from your plugins should be returned through this function so all content from your plugin is encapsulated in a

-tag nicely identifying the content of your plugin.
Parameters
string$strHTML content to wrap in the div-tags with the "main class" of the plugin
Returns
string HTML content wrapped, ready to return to the parent object.

Definition at line 831 of file AbstractPlugin.php.

Referenced by FrontendLoginController\main(), and SearchFormController\main().

Member Data Documentation

$altLLkey = ''

Definition at line 130 of file AbstractPlugin.php.

$cObj

Definition at line 44 of file AbstractPlugin.php.

$databaseConnection
protected

Definition at line 235 of file AbstractPlugin.php.

$extKey

Definition at line 65 of file AbstractPlugin.php.

$frontendController
protected

Definition at line 227 of file AbstractPlugin.php.

$internal = ['res_count' => 0

Definition at line 91 of file AbstractPlugin.php.

$LLkey = 'default'

Definition at line 123 of file AbstractPlugin.php.

Referenced by AbstractPlugin\pi_getLL().

$LLtestPrefix = ''

Definition at line 138 of file AbstractPlugin.php.

$LLtestPrefixAlt = ''

Definition at line 146 of file AbstractPlugin.php.

$LOCAL_LANG = []

Definition at line 98 of file AbstractPlugin.php.

$LOCAL_LANG_loaded = false

Definition at line 116 of file AbstractPlugin.php.

$LOCAL_LANG_UNSET = []
protected

Definition at line 108 of file AbstractPlugin.php.

$pi_alwaysPrev = 0

Definition at line 156 of file AbstractPlugin.php.

Referenced by AbstractPlugin\pi_list_browseresults().

$pi_autoCacheEn = false

Definition at line 181 of file AbstractPlugin.php.

$pi_autoCacheFields = []

Definition at line 176 of file AbstractPlugin.php.

$pi_checkCHash = false

Definition at line 198 of file AbstractPlugin.php.

$pi_EPtemp_cObj

Definition at line 215 of file AbstractPlugin.php.

$pi_isOnlyFields = 'mode,pointer'

Definition at line 151 of file AbstractPlugin.php.

Referenced by AbstractPlugin\pi_list_browseresults().

$pi_listFields = '*'

Definition at line 171 of file AbstractPlugin.php.

$pi_lowerThan = 5

Definition at line 161 of file AbstractPlugin.php.

$pi_moreParams = ''

Definition at line 166 of file AbstractPlugin.php.

Referenced by AbstractPlugin\pi_linkTP().

$pi_tmpPageId = 0

Definition at line 220 of file AbstractPlugin.php.

$pi_USER_INT_obj = false

Definition at line 190 of file AbstractPlugin.php.

$piVars
Initial value:
= [
'pointer' => ''

Definition at line 74 of file AbstractPlugin.php.

Referenced by FrontendLoginController\getPageLink(), AbstractPlugin\pi_isOnlyFields(), and AbstractPlugin\pi_linkTP_keepPIvars().

$prefixId

Definition at line 51 of file AbstractPlugin.php.

$scriptRelPath

Definition at line 58 of file AbstractPlugin.php.