/**
  * 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]);
     }
 }
Пример #3
0
 /**
  * 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);
 }