Permalink
Browse files

MINOR Moved Folder->getUnusedFilesListFilter() to new SiteTreeFolderD…

…ecorator class in 'cms' module

MINOR Moved Folder_UnusedAssetsField to 'cms' module
  • Loading branch information...
1 parent 463b23b commit 50e8467535d7507421d4adff925046d8a60bcde9 @chillu chillu committed Mar 22, 2011
Showing with 1 addition and 112 deletions.
  1. +1 −112 filesystem/Folder.php
View
@@ -408,10 +408,6 @@ function getCMSFields() {
$this->getUploadIframe()
)
)
- /* // commenting out unused files tab till bugs are fixed
- new Tab("UnusedFiles", _t('Folder.UNUSEDFILESTAB', "Unused files"),
- new Folder_UnusedAssetsField($this)
- ) */
),
new HiddenField("ID")
);
@@ -424,51 +420,6 @@ function getCMSFields() {
return $fields;
}
-
- /**
- * Looks for files used in system and create where clause which contains all ID's of files.
- *
- * @returns String where clause which will work as filter.
- */
- public function getUnusedFilesListFilter() {
- $result = DB::query("SELECT DISTINCT \"FileID\" FROM \"SiteTree_ImageTracking\"");
- $usedFiles = array();
- $where = '';
- $classes = ClassInfo::subclassesFor('SiteTree');
-
- if($result->numRecords() > 0) {
- while($nextResult = $result->next()) {
- $where .= $nextResult['FileID'] . ',';
- }
- }
-
- foreach($classes as $className) {
- $query = singleton($className)->extendedSQL();
- $ids = $query->execute()->column();
- if(!count($ids)) continue;
-
- foreach(singleton($className)->has_one() as $relName => $joinClass) {
- if($joinClass == 'Image' || $joinClass == 'File') {
- $fieldName = $relName .'ID';
- $query = singleton($className)->extendedSQL("$fieldName > 0");
- $query->distinct = true;
- $query->select = array($fieldName);
- $usedFiles = array_merge($usedFiles, $query->execute()->column());
-
- } elseif($joinClass == 'Folder') {
- // @todo
- }
- }
- }
-
- if($usedFiles) {
- return "\"File\".\"ID\" NOT IN (" . implode(', ', $usedFiles) . ") AND (\"ClassName\" = 'File' OR \"ClassName\" = 'Image')";
-
- } else {
- return "(\"ClassName\" = 'File' OR \"ClassName\" = 'Image')";
- }
- return $where;
- }
/**
* Display the upload form. Returns an iframe tag that will show admin/assets/uploadiframe.
@@ -506,66 +457,4 @@ function CMSTreeClasses($controller) {
return $classes;
}
-}
-
-/**
- * @package sapphire
- * @subpackage filesystem
- */
-class Folder_UnusedAssetsField extends CompositeField {
- protected $folder;
-
- public function __construct($folder) {
- $this->folder = $folder;
- parent::__construct(new FieldSet());
- }
-
- public function getChildren() {
- if($this->children->Count() == 0) {
- $inlineFormAction = new InlineFormAction("delete_unused_thumbnails", _t('Folder.DELETEUNUSEDTHUMBNAILS', 'Delete unused thumbnails'));
- $inlineFormAction->includeDefaultJS(false) ;
-
- $this->children = new FieldSet(
- new LiteralField( "UnusedAssets", "<h2>"._t('Folder.UNUSEDFILESTITLE', 'Unused files')."</h2>" ),
- $this->getAssetList(),
- new FieldGroup(
- new LiteralField( "UnusedThumbnails", "<h2>"._t('Folder.UNUSEDTHUMBNAILSTITLE', 'Unused thumbnails')."</h2>"),
- $inlineFormAction
- )
- );
- $this->children->setForm($this->form);
- }
- return $this->children;
- }
-
- public function FieldHolder() {
- $output = "";
- foreach($this->getChildren() as $child) {
- $output .= $child->FieldHolder();
- }
- return $output;
- }
-
-
- /**
- * Creates table for displaying unused files.
- *
- * @returns AssetTableField
- */
- protected function getAssetList() {
- $where = $this->folder->getUnusedFilesListFilter();
- $assetList = new AssetTableField(
- $this->folder,
- "AssetList",
- "File",
- array("Title" => _t('Folder.TITLE', "Title"), "LinkedURL" => _t('Folder.FILENAME', "Filename")),
- "",
- $where
- );
- $assetList->setPopupCaption(_t('Folder.VIEWASSET', "View Asset"));
- $assetList->setPermissions(array("show","delete"));
- $assetList->Markable = false;
- return $assetList;
- }
-}
-?>
+}

0 comments on commit 50e8467

Please sign in to comment.