<?php class DocTools { 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["feature"] . "\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["published"] . "\n" . "featured: " . $object["featured"] . "\n---\n" . $object["content"]; return $markdown; } }