Version: current

# Class MediawebPagePhoto_Manager

Provides a tabuar list in your form with view, edit and add links to edit records with a "has-one"-relationship. Detail-views are shown in a greybox-iframe. Features pagination in the overview as well as the detail-views.

CAUTION: You need to make sure that the original form-call to the main controller (e.g. EditForm()) returns a form which includes this field even if no data is loaded, to provide a "starting point" for action_callfieldmethod and ReferencedField.

All URL data sent to and from ComplexTableField is encapsulated in $_REQUEST['ctf'] to avoid side-effects with the main controller.

Example-URL for a "DetailForm"-call explained: "/admin/family/?executeForm=EditForm&action_callfieldmethod&fieldName=Individual&childID=7&methodName=edit" - executeForm Name of the form on the main rendering page (e.g. "FamilyAdmin") - action_callfieldmethod Trigger to call a method of a single field in "EditForm" instead of rendering the whole thing - fieldName Name of the targeted formField - methodName Method on the formfield (e.g. "ComplexTableField") - childID Identifier of the database-record (the targeted table is determined by the $sourceClass parameter)

  Object
  ViewableData implements IteratorAggregate
  RequestHandler
  FormField
  TableListField
  ComplexTableField
  DataObjectManager
  FileDataObjectManager
  ImageDataObjectManager
  MediawebPagePhoto_Manager

Package: forms\fields-relational
Located at webylon/code/MediawebPage.php

## Methods summary

`public` | # `__construct( `ContentController` $controller, string $name, string $sourceClass, array $fileFieldName, `FieldSet` $fieldList = null, string $detailFormFields = null, string $sourceFilter = "", string $sourceSort = "SortOrder", mixed $sourceJoin = "", mixed $parentClass = 'MediawebPage' )` See class comments See class comments #### Parameters $controller ContentController $controller $name string $name $sourceClass string $sourceClass $fileFieldName array $fieldList $fieldList FieldSet $detailFormFields $detailFormFields string $sourceFilter $sourceFilter string $sourceSort $sourceSort string $sourceJoin $sourceJoin $parentClass #### Overrides `ImageDataObjectManager::__construct`
`public` | # `EditUploadedForm( )` #### Overrides `FileDataObjectManager::EditUploadedForm`
`public` | # `getPreviewFieldFor( mixed $fileObject, mixed $size = 150 )` #### Overrides `FileDataObjectManager::getPreviewFieldFor`
`public` | # `RotateLink( mixed $imgObj, mixed $dir )`

### Methods inherited from ImageDataObjectManager

`SliderPercentage()`, `SliderPosition()`, `getQueryString()`, `handleItem()`

### Methods inherited from FileDataObjectManager

`ButtonAddTitle()`, `GridLink()`, `GridView()`, `ImportDropdown()`, `ImportForm()`, `ListLink()`, `ListStyle()`, `ListView()`, `UploadForm()`, `UploadLink()`, `allowUploadFolderSelection()`, `closePopup()`, `enableUploadDebugging()`, `getAllowedFileTypes()`, `getBrowseButtonText()`, `getChildDataObj()`, `getCleanUploadFolder()`, `getImportFields()`, `getImportFolderHierarchy()`, `getUploadFields()`, `getUploadFolder()`, `getUploadFolderHierarchy()`, `getUploadLimit()`, `handleImport()`, `importLinkFor()`, `saveEditUploadedForm()`, `saveImportForm()`, `saveUploadForm()`, `setAllowedFileTypes()`, `setBrowseButtonText()`, `setDefaultView()`, `setGridLabelField()`, `setPreviewFieldFor()`, `setUploadFolder()`, `setUploadLimit()`, `upload()`

### Methods inherited from DataObjectManager

`AddForm()`, `AddLink()`, `AddTitle()`, `BaseLink()`, `ConfirmDelete()`, `CurrentLink()`, `FieldHolder()`, `FilterDropdown()`, `FirstLink()`, `HasFilter()`, `Headings()`, `LastLink()`, `Link()`, `NestedType()`, `NextLink()`, `Paginated()`, `PaginatedLink()`, `PerPageDropdown()`, `PluralTitle()`, `PopupWidth()`, `PrevLink()`, `RelativeLink()`, `SearchValue()`, `ShowAll()`, `ShowAllLink()`, `SingleTitle()`, `Sortable()`, `addPermission()`, `allow_assets_override()`, `allow_css_override()`, `getColumnWidths()`, `getCustomFieldsFor()`, `getRawDetailFields()`, `getSetting()`, `handleDuplicate()`, `loadSort()`, `loadSourceFilter()`, `removePermission()`, `saveComplexTableField()`, `setAddTitle()`, `setColumnWidths()`, `setConfirmDelete()`, `setFilter()`, `setFilterEmptyString()`, `setPerPageMap()`, `setPluralTitle()`, `setPopupWidth()`, `setSingleTitle()`, `setSourceFilter()`, `setUseViewAll()`, `setWideMode()`, `set_confirm_delete()`, `set_popup_width()`, `sourceID()`

### Methods inherited from ComplexTableField

`IsAddMode()`, `ItemCount()`, `Items()`, `PopupHeight()`, `Title()`, `add()`, `createFieldSet()`, `getFieldsFor()`, `getParentClass()`, `getParentIdName()`, `getParentIdNameRelation()`, `getParentRecord()`, `getValidatorFor()`, `getViewer()`, `isComposite()`, `setController()`, `setDetailFormValidator()`, `setParentClass()`, `setParentIdName()`, `setPopupCaption()`, `setPopupSize()`, `setRelationAutoSetting()`, `setTemplatePopup()`, `sourceClass()`, `sourceFilter()`

### Methods inherited from TableListField

`Actions()`, `Can()`, `ExportLink()`, `FieldList()`, `FirstItem()`, `GroupedItems()`, `HasGroupedItems()`, `HasSummary()`, `LastItem()`, `ListStart()`, `Name()`, `NamePlural()`, `NameSingular()`, `PageSize()`, `PrintLink()`, `ShowPagination()`, `SummaryFields()`, `SummaryTitle()`, `TotalCount()`, `Utility()`, `addSummary()`, `ajax_refresh()`, `colFunction_avg()`, `colFunction_sum()`, `delete()`, `disableSorting()`, `export()`, `filterString()`, `generateExportFileData()`, `getCastedValue()`, `getCsvQuery()`, `getCsvSeparator()`, `getExtraLinkParams()`, `getPermissions()`, `getQuery()`, `index()`, `isFieldSortable()`, `performReadonlyTransformation()`, `permissions_for_object()`, `printall()`, `removeCsvHeader()`, `removeSummary()`, `setCSVFieldFormatting()`, `setClick_AjaxLoad()`, `setClick_PopupLoad()`, `setCsvSeparator()`, `setCustomCsvQuery()`, `setCustomQuery()`, `setCustomSourceItems()`, `setExtraLinkParams()`, `setFieldCasting()`, `setFieldFormatting()`, `setFieldList()`, `setFieldListCsv()`, `setHighlightConditions()`, `setPageSize()`, `setPermissions()`, `setShowPagination()`, `setTemplate()`, `sourceItems()`

### Methods inherited from FormField

`Field()`, `LeftTitle()`, `Message()`, `MessageType()`, `Required()`, `RightTitle()`, `SmallFieldHolder()`, `Type()`, `Value()`, `addExtraAttribute()`, `addExtraClass()`, `allowHTML5()`, `allow_html5()`, `attrName()`, `attrTitle()`, `attrValue()`, `createTag()`, `dataValue()`, `debug()`, `describe()`, `extraClass()`, `fieldHolderTemplates()`, `fieldTemplates()`, `forTemplate()`, `getCustomValidationMessage()`, `getExtraClasses()`, `getForm()`, `getHTML5Attribute()`, `getTabIndex()`, `getTabIndexHTML()`, `hasClass()`, `hasData()`, `id()`, `isDisabled()`, `isReadonly()`, `jsValidation()`, `name_to_label()`, `performDisabledTransformation()`, `removeExtraAttribute()`, `removeExtraClass()`, `rootFieldSet()`, `saveInto()`, `securityTokenEnabled()`, `setAutocomplete()`, `setContainerFieldSet()`, `setCustomValidationMessage()`, `setDisabled()`, `setError()`, `setFieldHolderTemplate()`, `setForm()`, `setHTML5Attribute()`, `setLeftTitle()`, `setName()`, `setReadonly()`, `setRightTitle()`, `setSmallFieldHolderTemplate()`, `setTabIndex()`, `setTitle()`, `setValue()`, `smallFieldHolderTemplates()`, `transform()`, `useHTML5()`, `use_html5()`, `validate()`

### Methods inherited from RequestHandler

`allowedActions()`, `checkAccessAction()`, `getRequest()`, `handleRequest()`, `hasAction()`, `httpError()`

### Methods inherited from ViewableData

`ATT_val()`, `BaseHref()`, `CSSClasses()`, `ColumnBreak()`, `ColumnCalc()`, `ColumnNumber()`, `ColumnPad()`, `ColumnPos()`, `CurrentMember()`, `CurrentPage()`, `Debug()`, `Even()`, `EvenOdd()`, `First()`, `FirstLast()`, `HasPerm()`, `IsAjax()`, `JS_val()`, `Last()`, `Me()`, `Middle()`, `MiddleString()`, `Modulus()`, `MultipleOf()`, `Odd()`, `Pos()`, `RAW_val()`, `SQL_val()`, `ThemeDir()`, `ThemeName()`, `Top()`, `TotalItems()`, `XML_val()`, `__get()`, `__isset()`, `__set()`, `buildCastingCache()`, `cachedCall()`, `castingClass()`, `castingHelper()`, `castingHelperPair()`, `castingObjectCreator()`, `castingObjectCreatorPair()`, `customise()`, `defineMethods()`, `escapeTypeForField()`, `getField()`, `getIterator()`, `getSecurityID()`, `getXMLValues()`, `hasField()`, `hasValue()`, `i18nLocale()`, `iteratorProperties()`, `obj()`, `renderWith()`, `setCustomisedObj()`, `setField()`

### Methods inherited from Object

`__call()`, `__toString()`, `__wakeup()`, `addMethodsFrom()`, `addStaticVars()`, `addWrapperMethod()`, `add_extension()`, `add_static_var()`, `allMethodNames()`, `cacheToFile()`, `cacheToFileWithArgs()`, `clearCache()`, `combined_static()`, `create()`, `createMethod()`, `create_from_string()`, `exists()`, `extInstance()`, `extend()`, `getCustomClass()`, `getExtensionInstance()`, `getExtensionInstances()`, `get_extensions()`, `get_static()`, `hasExtension()`, `hasMethod()`, `has_extension()`, `invokeWithExtensions()`, `is_a()`, `loadCache()`, `parentClass()`, `parse_class_spec()`, `remove_extension()`, `sanitiseCachename()`, `saveCache()`, `set_stat()`, `set_static()`, `set_uninherited()`, `stat()`, `strong_create()`, `uninherited()`, `uninherited_static()`, `useCustomClass()`

### Magic methods summary

## Properties summary

`public string` | $popupClass | # Classname for the popup form Classname for the popup form

### Properties inherited from ImageDataObjectManager

`$imageSize`, `$importClass`, `$itemClass`, `$limitFileTypes`, `$maxImageSize`, `$minImageSize`, `$sliderWidth`, `$template`, `$view`

### Properties inherited from FileDataObjectManager

`$allowUploadFolderSelection`, `$allowedFileTypes`, `$browseButtonText`, `$customPreviewField`, `$default_view`, `$enableUploadDebugging`, `$gridLabelField`, `$hasDataObject`, `$permissions`, `$pluralTitle`, `$templatePopup`, `$upgrade_audio`, `$upgrade_image`, `$upgrade_video`, `$uploadFolder`, `$uploadLimit`, `$uploadMaxSize`, `$url_handlers`

### Properties inherited from DataObjectManager

`$actions`, `$addTitle`, `$allow_assets_override`, `$allow_css_override`, `$column_widths`, `$confirmDelete`, `$confirm_delete`, `$filter`, `$filter_empty_string`, `$filter_label`, `$filter_map`, `$filtered_field`, `$hasNested`, `$isNested`, `$per_page`, `$per_page_map`, `$popupWidth`, `$popup_width`, `$search`, `$showAll`, `$singleTitle`, `$sort`, `$sort_dir`, `$start`, `$use_view_all`

### Properties inherited from ComplexTableField

`$controller`, `$defaultAction`, `$detailFormFields`, `$detailFormValidator`, `$parentClass`, `$parentIdName`, `$popupCaption`, `$popupHeight`, `$relationAutoSetting`, `$requirementsForPopupCallback`, `$showPagination`, `$sourceItems`, `$sourceJoin`, `$viewAction`

### Properties inherited from TableListField

`$IsReadOnly`, `$Markable`, `$MarkableTitle`, `$__cachedQuery`, `$cachedSourceItems`, `$clickAction`, `$csvFieldEscape`, `$csvFieldFormatting`, `$csvHasHeader`, `$csvSeparator`, `$customCsvQuery`, `$customQuery`, `$customSourceItems`, `$disableSorting`, `$exportButtonLabel`, `$extraLinkParams`, `$fieldCasting`, `$fieldFormatting`, `$fieldList`, `$fieldListCsv`, `$groupByField`, `$highlightConditions`, `$methodName`, `$pageSize`, `$paginationBaseLink`, `$readOnly`, `$sourceClass`, `$sourceFilter`, `$sourceSort`, `$summaryFieldList`, `$summaryTitle`, `$totalCount`

### Properties inherited from FormField

`$autocomplete`, `$containerFieldSet`, `$customValidationMessage`, `$description`, `$disabled`, `$dontEscape`, `$extraAttributes`, `$extraClass`, `$extraClasses`, `$fieldHTML5`, `$fieldHolderTemplate`, `$form`, `$html5Attributes`, `$leftTitle`, `$message`, `$messageType`, `$name`, `$possible_autocomplete_values`, `$readonly`, `$rightTitle`, `$smallFieldHolderTemplate`, `$tabIndex`, `$title`, `$use_html5`, `$value`

### Properties inherited from RequestHandler

`$allowed_actions`, `$brokenOnConstruct`, `$request`

### Properties inherited from ViewableData

`$casting`, `$customisedObject`, `$default_cast`, `$failover`, `$iteratorPos`, `$iteratorTotalItems`

### Properties inherited from Object

`$class`, `$extension_instances`, `$extensions`

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -