<?php namespace App\Services; class DocService { public function __construct() { } public static function writePages($task, $path, $fileLocation, $fileContents) { try { if ($task == 'create') { if (!is_dir('../content/pages/' . $path)) { //Directory does not exist, so lets create it. mkdir('../content/pages/' . $path, 0755, true); } file_put_contents($fileLocation, $fileContents); } else { ($new = fopen($fileLocation, 'w')) or die('Unable to open file!'); fwrite($new, $fileContents); fclose($new); } return true; } catch (Error $error) { return false; } } public static function writeSettings($fileLocation, $fileContents) { if (!is_file($fileLocation)) { file_put_contents($fileLocation, json_encode($fileContents)); } else { ($new = fopen($fileLocation, 'w')) or die('Unable to open file!'); fwrite($new, json_encode($fileContents)); fclose($new); } } public static function writeHTML($location, $html, $path = null) { if ($path != null) { if (!is_dir($path)) { //Directory does not exist, so lets create it. mkdir($path, 0755, true); } } if (!is_file($location)) { file_put_contents($location, $html); } else { ($new = fopen($location, 'w')) or die('Unable to open file!'); fwrite($new, $html); fclose($new); } } public static function deleteFolder($path) { if (!empty($path) && is_dir($path)) { $dir = new \RecursiveDirectoryIterator( $path, \RecursiveDirectoryIterator::SKIP_DOTS ); //upper dirs are not included,otherwise DISASTER HAPPENS :) $files = new \RecursiveIteratorIterator( $dir, \RecursiveIteratorIterator::CHILD_FIRST ); foreach ($files as $f) { if (is_file($f)) { unlink($f); } else { $empty_dirs[] = $f; } } if (!empty($empty_dirs)) { foreach ($empty_dirs as $eachDir) { rmdir($eachDir); } } rmdir($path); } } public static function objectToMD($object) { $markdown = "---\n" . 'id: ' . $object->id . "\n" . 'uuid: ' . $object->uuid . "\n" . 'title: ' . "'" . $object->title . "'" . "\n" . 'feature: ' . $object->imageList . "\n" . 'files: ' . $object->fileList . "\n" . 'path: ' . $object->path . "\n" . 'layout: ' . $object->layout . "\n" . 'tags: ' . $object->tags . "\n" . 'author: ' . $object->author . "\n" . 'created: ' . $object->created . "\n" . 'updated: ' . $object->updated . "\n" . 'deleted: ' . $object->deleted . "\n" . 'slug: ' . $object->slug . "\n" . 'menu: ' . $object->menu . "\n" . 'published: ' . $object->menu . "\n" . 'featured: ' . $object->featured . "\n---\n" . $object->content; return $markdown; } }