/** * Get template file by its name * * @param string $templateName Template file name * @return array Returns template file information */ public function getTemplateByName($templateName) { $template = []; $path = craft()->path->getPluginsPath() . 'formbuilder2/templates/email/templates/' . $templateName; $file = IOHelper::getFile($path); $template = ['fileName' => $file->getFileName(false), 'fileOriginalName' => $file->getFileName(), 'fileNameCleaned' => IOHelper::cleanFilename(IOHelper::getFileName($file->getRealPath(), false)), 'fileExtension' => $file->getExtension(), 'filePath' => $file->getRealPath(), 'fileContents' => $file->getContents()]; return $template; }
public function actionSetTemplate() { $this->requirePostRequest(); $this->requireAjaxRequest(); $templatePath = craft()->request->getRequiredPost('templatePath'); $folderContents = IOHelper::getFolderContents(craft()->path->getPluginsPath() . 'formbuilder2/templates/layouts/templates/'); $theFile = ''; if ($folderContents && $templatePath) { foreach ($folderContents as $key => $file) { $fileName = IOHelper::getFileName($file, false); if ($fileName == $templatePath) { $theFile = IOHelper::getFile($file); } } } if ($theFile == '') { $this->returnErrorJson('No template with that name.'); } else { $template = ['fileName' => $theFile->getFileName(false), 'fileOriginalName' => $theFile->getFileName(), 'fileNameCleaned' => IOHelper::cleanFilename(IOHelper::getFileName($theFile->getRealPath(), false)), 'fileExtension' => $theFile->getExtension(), 'filePath' => $theFile->getRealPath(), 'fileContents' => $theFile->getContents()]; $this->returnJson(['success' => true, 'message' => Craft::t('Template is set.'), 'layout' => $template]); } }
/** * Remove any temp files and/or folders that might have been created. */ private function _cleanTempFiles($unzipFolder) { // Get rid of all the .bak files/folders. $baks = IOHelper::getFolderContents(craft()->path->getAppPath(), true, ".*\\.bak\$"); foreach ($baks as $bak) { if (IOHelper::fileExists($bak)) { if (IOHelper::isWritable($bak)) { Craft::log('Deleting .bak file: ' . $bak, LogLevel::Info, true); IOHelper::deleteFile($bak, true); } } else { if (IOHelper::folderExists($bak)) { if (IOHelper::isWritable($bak)) { Craft::log('Deleting .bak folder:' . $bak, LogLevel::Info, true); IOHelper::clearFolder($bak, true); IOHelper::deleteFolder($bak, true); } } } } // Now delete any files/folders that were marked for deletion in the manifest file. $manifestData = UpdateHelper::getManifestData($unzipFolder); if ($manifestData) { foreach ($manifestData as $row) { if (UpdateHelper::isManifestVersionInfoLine($row)) { continue; } $rowData = explode(';', $row); $folder = false; if (UpdateHelper::isManifestLineAFolder($rowData[0])) { $folder = true; $tempFilePath = UpdateHelper::cleanManifestFolderLine($rowData[0]); } else { $tempFilePath = $rowData[0]; } $fullPath = ''; switch (trim($rowData[1])) { // If the file/folder was set to be deleted, there is no backup and we go ahead and remove it now. case PatchManifestFileAction::Remove: if ($tempFilePath == '') { $fullPath = IOHelper::normalizePathSeparators(craft()->path->getAppPath()); } else { $fullPath = IOHelper::normalizePathSeparators(craft()->path->getAppPath() . $tempFilePath); } break; } // Delete any files/folders we backed up. if ($folder) { if (($folder = IOHelper::getFolder($fullPath)) !== false) { Craft::log('Deleting folder: ' . $folder->getRealPath(), LogLevel::Info, true); $folder->delete(); } } else { if (($file = IOHelper::getFile($fullPath)) !== false) { Craft::log('Deleting file: ' . $file->getRealPath(), LogLevel::Info, true); $file->delete(); } } } } // Clear the temp folder. IOHelper::clearFolder(craft()->path->getTempPath(), true); }