aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2018-11-27 11:53:02 -0800
committerzotlabs <mike@macgirvin.com>2018-11-27 11:53:02 -0800
commit19e4f3c2f082278e524c463cce7ce0858a2258f8 (patch)
treece8e79b117175feb754eb88d79f39a4ce2096b36
parentc5a9b00eaec750e2983e0e46565b7305fe4ae27e (diff)
downloadvolse-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.php9
-rw-r--r--include/text.php23
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;
}
+