/** * Downloads a file and cleans up old temporary assets */ public function actionDownloadFile() { // Clean up temp assets files that are more than a day old $fileResults = array(); $files = IOHelper::getFiles(craft()->path->getTempPath(), true); foreach ($files as $file) { $lastModifiedTime = IOHelper::getLastTimeModified($file, true); if (substr(IOHelper::getFileName($file, false, true), 0, 6) === "assets" && DateTimeHelper::currentTimeStamp() - $lastModifiedTime->getTimestamp() >= 86400) { IOHelper::deleteFile($file); } } // Sort out the file we want to download $id = craft()->request->getParam('id'); $criteria = craft()->elements->getCriteria(ElementType::Asset); $criteria->id = $id; $asset = $criteria->first(); if ($asset) { // Get a local copy of the file $sourceType = craft()->assetSources->getSourceTypeById($asset->sourceId); $localCopy = $sourceType->getLocalCopy($asset); // Send it to the browser craft()->request->sendFile($asset->filename, IOHelper::getFileContents($localCopy), array('forceDownload' => true)); craft()->end(); } }
/** * Based on the cache's hashed base, attempts to delete any older versions of same name. */ public function deleteExpiredCache() { MinimeePlugin::log(Craft::t('Minimee is attempting to delete expired caches.')); $files = IOHelper::getFiles($this->settings->cachePath); foreach ($files as $file) { // skip self if ($file === $this->makePathToCacheFilename()) { continue; } if (strpos($file, $this->makePathToHashOfCacheBase()) === 0) { MinimeePlugin::log(Craft::t('Minimee is attempting to delete file: ') . $file); // suppress errors by passing true as second parameter IOHelper::deleteFile($file, true); } } }
/** * Load Configs From Directory * * @param string $directory Directory * * @return array Configs */ private function loadConfigsFromDirectory($directory) { $configs = []; if (!($files = IOHelper::getFiles($directory))) { return $configs; } foreach ($files as $file) { $fileName = IOHelper::getFileName($file, false); $configs[$fileName] = (require $file); } return $configs; }
/** * Delete export files for a form. * * @param AmForms_FormModel $form * * @return bool */ public function deleteExportFilesForForm(AmForms_FormModel $form) { $files = IOHelper::getFiles($this->_getExportPath()); if (!$files || !count($files)) { return false; } foreach ($files as $file) { if (strpos($file, $form->handle) !== false) { IOHelper::deleteFile($file); } } }