/**
  * additionnal cells
  * @param \TYPO3\CMS\Core\Resource\File|\TYPO3\CMS\Core\Resource\Folder $fileOrFolderObject Array with information about the file/directory for which to make the edit control section for the listing.
  */
 protected function addAdditionalCells($fileOrFolderObject)
 {
     $cells = array();
     if (is_a($fileOrFolderObject, 'TYPO3\\CMS\\Core\\Resource\\File') && $fileOrFolderObject->isIndexed() && $fileOrFolderObject->checkActionPermission('write')) {
         $metaData = $fileOrFolderObject->_getMetaData();
         $data = array('sys_file_metadata' => array($metaData['uid'] => 'edit'));
         $editOnClick = BackendUtility::editOnClick(GeneralUtility::implodeArrayForUrl('edit', $data), $GLOBALS['BACK_PATH'], $this->listUrl());
         if (version_compare(TYPO3_version, '7', '>=')) {
             $cells['editmetadata'] = '<a href="#" class="btn btn-default" onclick="' . htmlspecialchars($editOnClick) . '" title="Edit Metadata of this file">' . IconUtility::getSpriteIcon('actions-page-open') . '</a>';
         } else {
             $cells['editmetadata'] = '<a href="#" onclick="' . $editOnClick . '" title="Edit Metadata of this file">' . IconUtility::getSpriteIcon('actions-document-open') . '</a>';
         }
     }
     if (is_a($fileOrFolderObject, 'TYPO3\\CMS\\Core\\Resource\\Folder') && $fileOrFolderObject->checkActionPermission('write')) {
         $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery("uid", "tx_ameosfilemanager_domain_model_folder", "tx_ameosfilemanager_domain_model_folder.title like '" . $fileOrFolderObject->getName() . "'");
         if (($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) !== FALSE) {
             if (Tools::getFolderPathFromUid($row['uid']) . '/' == $fileOrFolderObject->getIdentifier()) {
                 $folder = array('tx_ameosfilemanager_domain_model_folder' => array($row['uid'] => 'edit'));
                 $editOnClick = BackendUtility::editOnClick(GeneralUtility::implodeArrayForUrl('edit', $folder), $GLOBALS['BACK_PATH'], $this->listUrl());
                 if (version_compare(TYPO3_version, '7', '>=')) {
                     $cells['editmetadata'] = '<a href="#" class="btn btn-default" onclick="' . htmlspecialchars($editOnClick) . '" title="Edit Metadata of this folder">' . IconUtility::getSpriteIcon('actions-page-open') . '</a>';
                 } else {
                     $cells['editmetadata'] = '<a href="#" onclick="' . $editOnClick . '" title="Edit Metadata of this folder">' . IconUtility::getSpriteIcon('actions-document-open') . '</a>';
                 }
             }
         }
     }
     return $cells;
 }
 public static function parseFolderForNewElements($storage, $folderIdentifier, $folderName)
 {
     $slot = GeneralUtility::makeInstance('Ameos\\AmeosFilemanager\\Slots\\Slot');
     $falFolder = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\Folder', $storage, $folderIdentifier, $folderName);
     $subfolders = $falFolder->getSubfolders();
     foreach ($subfolders as $folder) {
         $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery("uid", "tx_ameosfilemanager_domain_model_folder", "tx_ameosfilemanager_domain_model_folder.title like '" . $folder->getName() . "'");
         $exist = false;
         while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
             // Si il n'existe on ne fait rien
             if (Tools::getFolderPathFromUid($row['uid']) . '/' == $folder->getIdentifier()) {
                 $exist = true;
                 $uid = $row['uid'];
                 break;
             }
         }
         if (!$exist) {
             $slot->postFolderAdd($folder);
         }
     }
     $files = $falFolder->getFiles();
     foreach ($files as $file) {
         $slot->postFileAdd($file, $falFolder);
     }
 }
 /**
  * Call after file move in filelist
  * Move the file to the correct folder in the database
  * @param File $file 
  * @param Folder $targetFolder
  * @return void
  */
 public function postFileMove($file, $targetFolder)
 {
     $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery("uid", "tx_ameosfilemanager_domain_model_folder", "tx_ameosfilemanager_domain_model_folder.identifier like '" . $targetFolder->getIdentifier() . "'");
     if (($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) !== FALSE) {
         if (Tools::getFolderPathFromUid($row['uid']) . '/' == $targetFolder->getIdentifier()) {
             $res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery('sys_file_metadata', 'sys_file_metadata.file = ' . $file->getUid(), array("folder_uid" => $row['uid']), $no_quote_fields = FALSE);
             break;
         }
     }
 }