KickAssets::createFolderJSON PHP Method

createFolderJSON() public method

Given a Folder object, create an array of its properties and values ready to be transformed to JSON
public createFolderJSON ( Folder $folder ) : array
$folder Folder
return array
    public function createFolderJSON(Folder $folder)
    {
        $size = self::ICON_SIZE;
        $file = Injector::inst()->get('File');
        return array('id' => $folder->ID, 'parentID' => $folder->ParentID, 'title' => $folder->Title, 'filename' => $folder->Filename, 'type' => 'folder', 'extension' => self::FOLDER_EXTENSION, 'created' => $folder->Created, 'iconURL' => $folder->getPreviewThumbnail($size, $size)->URL, 'canEdit' => $folder->canEdit(), 'canCreate' => $folder->canCreate(), 'canDelete' => $folder->canDelete(), 'canUpload' => $folder->canEdit() && $file->canCreate());
    }

Usage Example

 /**
  * Helper method for generating an HTTPResponse based on given JSON
  * 
  * @param array $json
  */
 protected function JSONResponse($json = null)
 {
     if (!$json) {
         $json = $this->file instanceof Folder ? $this->parent->createFolderJSON($this->file) : $this->parent->createFileJSON($this->file);
     }
     return (new SS_HTTPResponse(Convert::array2json($json)))->addHeader('Content-Type', 'application/json');
 }