Version: current

# Class AssetAdmin

AssetAdmin is the 'file store' section of the CMS. It provides an interface for maniupating the File and Folder objects in the system.

  Object
  ViewableData implements IteratorAggregate
  RequestHandler
  Controller
  LeftAndMain
  AssetAdmin

Package: cms\assets
Located at cms/code/AssetAdmin.php

## Methods summary

`public` | # `currentPageID( )` Return fake-ID "root" if no ID is found (needed to upload files into the root-folder) Return fake-ID "root" if no ID is found (needed to upload files into the root-folder) #### Overrides `LeftAndMain::currentPageID`
`public` | # `init( )` Set up the controller, in particular, re-sync the File database with the assets folder./ Set up the controller, in particular, re-sync the File database with the assets folder./ #### Overrides `LeftAndMain::init`
`public` | # `uploadiframe( )` Show the content of the upload iframe. The form is specified by a template. Show the content of the upload iframe. The form is specified by a template.
`public String` | # `UploadMetadataHtml( )` Needs to be enabled through `AssetAdmin::$metadata_upload_enabled` Needs to be enabled through `AssetAdmin::$metadata_upload_enabled` #### Returns `String` String
`public` | # `UploadForm( )` Return the form object shown in the uploadiframe. Return the form object shown in the uploadiframe.
`public` | # `doUpload( mixed $data, mixed $form )` This method processes the results of the UploadForm. !!! NOT USED HERE, BUT USED IN CMSMAIN IN Visual Editor !!! It will save the uploaded files to /assets/ and create new File objects as required. This method processes the results of the UploadForm. !!! NOT USED HERE, BUT USED IN CMSMAIN IN Visual Editor !!! It will save the uploaded files to /assets/ and create new File objects as required.
`public` | # `handleupload( )`
`public` | # `doMultiUpload( mixed $data, mixed $form )` This method processes the results of the UploadForm. It will save the uploaded files to /assets/ and create new File objects as required. This method processes the results of the UploadForm. It will save the uploaded files to /assets/ and create new File objects as required.
`public` | # `currentPage( )` Custom currentPage() method to handle opening the 'root' folder Custom currentPage() method to handle opening the 'root' folder #### Overrides `LeftAndMain::currentPage`
`public` | # `getEditForm( mixed $id )` Return the form that displays the details of a folder, including a file list and fields for editing the folder name. Return the form that displays the details of a folder, including a file list and fields for editing the folder name.
`public` | # `movemarked( mixed $urlParams, mixed $form )` Perform the "move marked" action. Called and returns in same way as 'save' function Perform the "move marked" action. Called and returns in same way as 'save' function
`public` | # `deletemarked( mixed $urlParams, mixed $form )` Perform the "delete marked" action. Called and returns in same way as 'save' function Perform the "delete marked" action. Called and returns in same way as 'save' function
`public` | # `getfile( )` Returns the content to be placed in Form_SubForm when editing a file. Called using ajax. Returns the content to be placed in Form_SubForm when editing a file. Called using ajax.
`public` | # `savefile( mixed $data, mixed $form )` Action handler for the save button on the file subform. Saves the file Action handler for the save button on the file subform. Saves the file
`public` | # `sync( )`
`public string` | # `SiteTreeAsUL( )` Return the entire site tree as a nested UL. Return the entire site tree as a nested UL. #### Returns `string` HTML for site tree
`public` | # `getsubtree( mixed $request )` Returns a subtree of items underneat the given folder. Returns a subtree of items underneat the given folder. #### Overrides `LeftAndMain::getsubtree`
`public` | # `addfolder( )` Add a new folder and return its details suitable for ajax. Add a new folder and return its details suitable for ajax.
`public `Form`` | # `DeleteItemsForm( )` #### Returns ``Form`` Form
`public` | # `deletefolder( )` Delete a folder Delete a folder
`public` | # `removefile( )`
`public` | # `save( mixed $urlParams, mixed $form )` Save and Publish page handler Save and Publish page handler #### Overrides `LeftAndMain::save`
`public` | # `deleteunusedthumbnails( )` Removes all unused thumbnails from the file store and returns the status of the process to the user. Removes all unused thumbnails from the file store and returns the status of the process to the user.

### Methods inherited from LeftAndMain

`ApplicationLink()`, `CMSTopMenu()`, `CMSVersion()`, `CanOrganiseSitetree()`, `EditForm()`, `EditorToolbar()`, `EmptyForm()`, `ForceReload()`, `Left()`, `Link()`, `LoadingImage()`, `LogoStyle()`, `MainMenu()`, `MceRoot()`, `Member_ProfileForm()`, `Right()`, `SectionTitle()`, `ShowSwitchView()`, `SwitchView()`, `addTreeNodeJS()`, `ajaxupdateparent()`, `ajaxupdatesort()`, `callPageMethod()`, `canView()`, `deleteTreeNodeJS()`, `deleteitems()`, `getActionUpdateJS()`, `getApplicationLogoText()`, `getApplicationName()`, `getLastFormIn()`, `getRecord()`, `getSiteTreeFor()`, `getTemplatesWithSuffix()`, `getitem()`, `isCurrentPage()`, `menu_title_for_class()`, `myprofile()`, `printable()`, `require_css()`, `require_javascript()`, `require_themed_css()`, `returnItemToUser()`, `setApplicationName()`, `setCurrentPageID()`, `setLogo()`, `set_loading_image()`, `show()`, `versionFromVersionFile()`

### Methods inherited from Controller

`CurrentMember()`, `Now()`, `PastMember()`, `PastVisitor()`, `can()`, `curr()`, `defaultAction()`, `disableBasicAuth()`, `getAction()`, `getFormOwner()`, `getRequest()`, `getResponse()`, `getSession()`, `getURLParams()`, `getViewer()`, `handleAction()`, `handleRequest()`, `hasAction()`, `hasActionTemplate()`, `has_curr()`, `isAjax()`, `join_links()`, `popCurrent()`, `pushCurrent()`, `redirect()`, `redirectBack()`, `redirectedTo()`, `render()`, `setSession()`, `setURLParams()`

### Methods inherited from RequestHandler

`__construct()`, `allowedActions()`, `checkAccessAction()`, `httpError()`

### Methods inherited from ViewableData

`ATT_val()`, `BaseHref()`, `CSSClasses()`, `ColumnBreak()`, `ColumnCalc()`, `ColumnNumber()`, `ColumnPad()`, `ColumnPos()`, `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 static string` | $url_segment | #
`public static string` | $url_rule | #
`public static string` | $menu_title | #
`public static string` | $tree_class | #
`public static integer` | $allowed_max_file_size | # #### See Upload->allowedMaxFileSize
`public static array` | $allowed_actions | # Define a list of action handling methods that are allowed to be called directly by URLs. The variable should be an array of action names. This sample shows the different values that it can contain: Define a list of action handling methods that are allowed to be called directly by URLs. The variable should be an array of action names. This sample shows the different values that it can contain:
    array(
            'someaction', // someaction can be accessed by anyone, any time
            'otheraction' => true, // So can otheraction
            'restrictedaction' => 'ADMIN', // restrictedaction can only be people with ADMIN privilege
            'complexaction' '->canComplexAction' // complexaction can only be accessed if $this->canComplexAction() returns true
    );
`public static boolean` | $metadata_upload_enabled | # Enables upload of additional textual information alongside each file (through multifile.js), which makes batch changes easier. CAUTION: This is an unstable API which might change. Enables upload of additional textual information alongside each file (through multifile.js), which makes batch changes easier. CAUTION: This is an unstable API which might change.

### Properties inherited from LeftAndMain

`$ForceReload`, `$application_link`, `$application_logo`, `$application_logo_style`, `$application_logo_text`, `$application_name`, `$extra_requirements`, `$loading_image`, `$menu_priority`, `$url_base`, `$url_priority`

### Properties inherited from Controller

`$action`, `$baseInitCalled`, `$basicAuthEnabled`, `$controller_stack`, `$request`, `$requestParams`, `$response`, `$session`, `$urlParams`, `$url_handlers`

### Properties inherited from RequestHandler

`$brokenOnConstruct`

### 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. -