/** * Creates a folder * * @param string $path Folder path * @param boolean $getFullErrorLogEntry If set the full error log entry will be returned as array * @return mixed error message or error array * @see tx_dam_tce_file::getLastError() */ function process_createFolder($path, $getFullErrorLogEntry = FALSE) { global $TYPO3_CONF_VARS; $error = false; $path = tx_dam::path_makeAbsolute($path); $folderName = tx_dam::path_basename($path); $pathDest = preg_replace('#/$#', '', dirname($path)); // Init TCE-file-functions object: require_once PATH_txdam . 'lib/class.tx_dam_tce_file.php'; $TCEfile = t3lib_div::makeInstance('tx_dam_tce_file'); $TCEfile->init(); // Processing delete folder $cmd = array(); $cmd['newfolder']['NONE']['target'] = $pathDest; $cmd['newfolder']['NONE']['data'] = $folderName; $TCEfile->setCmdmap($cmd); $log = $TCEfile->process(); if ($TCEfile->errors()) { $error = $TCEfile->getLastError($getFullErrorLogEntry); } if (!$error) { $info = array('target_path' => $path); tx_dam::_callProcessPostTrigger('createFolder', $info); } return $error; }
/** * tx_dam::path_basename() */ public function test_path_basename() { $path = 'hjfds fhsdjka/ fhjkasdhf das/djjghfgh/צהצ�צה/hjfds/XXX/'; $foldername = 'abcdefghijklmnopqrstuvwxyz.abc'; $resultname = tx_dam::path_basename($path . $foldername); self::assertEquals($resultname, $foldername, 'Folder name not equal: ' . $resultname . ' - ' . $foldername); $foldername = 'abcdef ghijklmno pqrstuvwxyz.abc'; $resultname = tx_dam::path_basename($path . $foldername . '/'); self::assertEquals($resultname, $foldername, 'Folder name not equal: ' . $resultname . ' - ' . $foldername); $foldername = 'צה�'; $resultname = tx_dam::path_basename($path . $foldername . '/'); self::assertEquals($resultname, $foldername, 'Folder name not equal: ' . $resultname . ' - ' . $foldername); $foldername = 'צה� '; $resultname = tx_dam::path_basename($path . $foldername . '/'); self::assertEquals($resultname, $foldername, 'Folder name not equal: ' . $resultname . ' - ' . $foldername); $foldername = '-+#.123צה� xxx'; $resultname = tx_dam::path_basename($path . $foldername); self::assertEquals($resultname, $foldername, 'Folder name not equal: ' . $resultname . ' - ' . $foldername); }