$body['title'], 'id' => $body['id'], 'uuid' => $body['uuid'], 'slug' => $body['slug'], 'path' => $body['path'], ]; if ($body['menu'] == 'true') { if (!find($settings['menu'], ['uuid' => $item['uuid']])) { array_push($settings['menu'], $item); } } else { if (find($settings['menu'], ['uuid' => $item['uuid']])) { pull($settings['menu'], $item); } } DocTools::writeSettings('../config/settings.json', $settings); } public static function writeSettings($fileContents) { $fileLocation = env('SETTINGS_PATH'); 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; } }