diff options
author | zotlabs <mike@macgirvin.com> | 2018-11-27 11:53:02 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-11-27 11:53:02 -0800 |
commit | 19e4f3c2f082278e524c463cce7ce0858a2258f8 (patch) | |
tree | ce8e79b117175feb754eb88d79f39a4ce2096b36 | |
parent | c5a9b00eaec750e2983e0e46565b7305fe4ae27e (diff) | |
download | volse-hubzilla-19e4f3c2f082278e524c463cce7ce0858a2258f8.tar.gz volse-hubzilla-19e4f3c2f082278e524c463cce7ce0858a2258f8.tar.bz2 volse-hubzilla-19e4f3c2f082278e524c463cce7ce0858a2258f8.zip |
prevent incompatible export files (osada/zap) from being imported. This is to keep your DB from getting trashed. We probably need a similar thing for item import since the object formats aren't compatible
-rw-r--r-- | Zotlabs/Module/Import.php | 9 | ||||
-rw-r--r-- | include/text.php | 23 |
2 files changed, 32 insertions, 0 deletions
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php index 6016328a5..0daf28aa9 100644 --- a/Zotlabs/Module/Import.php +++ b/Zotlabs/Module/Import.php @@ -127,6 +127,15 @@ class Import extends \Zotlabs\Web\Controller { // // } + + // prevent incompatible osada or zap data from horking your database + + if(array_path_exists('compatibility/codebase',$data)) { + notice('Data export format is not compatible with this software'); + return; + } + + if($moving) $seize = 1; diff --git a/include/text.php b/include/text.php index 646bfe749..edd0f7a5a 100644 --- a/include/text.php +++ b/include/text.php @@ -3467,6 +3467,28 @@ function print_val($v) { } +function array_path_exists($str,$arr) { + + $ptr = $arr; + $search = explode('/', $str); + + if($search) { + foreach($search as $s) { + if(array_key_exists($s,$ptr)) { + $ptr = $ptr[$s]; + } + else { + return false; + } + } + return true; + } + + return false; + +} + + /** * @brief Generate a unique ID. * @@ -3482,3 +3504,4 @@ function new_uuid() { return $hash; } + |