You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.7 KiB
PHP
146 lines
3.7 KiB
PHP
<?php
|
|
|
|
namespace brain\utility;
|
|
|
|
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" .
|
|
"files: " .
|
|
$object["files"] .
|
|
"\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;
|
|
}
|
|
}
|