From ef09dd0f6060dc426aefdb4d6c86f5701181c2b7 Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 7 Feb 2021 11:53:57 +0000 Subject: [PATCH] Add file utility functions --- includes/functions.php | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/includes/functions.php b/includes/functions.php index 923ff007..7593df18 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -250,6 +250,47 @@ function file_prepend_data($filename, $dataToSave) } } +/** + * Fetches a meta value from a file + * + * @param string $filename + * @param string $pattern + * @return string + */ +function file_get_meta($filename, $pattern) +{ + if(file_exists($filename)) { + $context = stream_context_create(); + $file_data = file_get_contents($filename, false, $context); + preg_match('/^'.$pattern.'/', $file_data, $matched); + return $matched[1]; + } else { + return false; + } +} + +/** + * Renames an openvpn client config with the 'filename' header comment + * + * @param string file + * @return boolean + */ +function file_move_config($file) +{ + if(file_exists($file)) { + $file_data = file_get_contents($file); + preg_match('/^#\sfilename\s(.*)/i', $file_data, $matched); + $renamed = pathinfo($file, PATHINFO_DIRNAME).'/'. + $matched[1] .'_'.pathinfo($file, PATHINFO_FILENAME).'.'. + pathinfo($file, PATHINFO_EXTENSION); + if (!file_exists($renamed)) { + $return = system("sudo mv $file $renamed", $return); + } else { + return false; + } + } +} + /** * Callback function for array_filter *