From f1f72ff9ddcfdeda9c05251ef410ff1dec238405 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Mon, 07 Jan 2013 10:17:09 -0500
Subject: [PATCH] Fixed: FS#2608 - Certain complex database passwords are not escaped properly (MySQL)  - passwords are now enrypted already in tform (and remoting) and not stored in datalog clear text  - clientdb plugin no longer encrypts password itself but receives crypted password

---
 server/lib/classes/system.inc.php |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index b1f9103..c10e6ff 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -673,7 +673,7 @@
 			$app->log("Action aborted, file is a symlink: $filename",LOGLEVEL_WARN);
 			return false;
 		}
-		return file_put_contents($filename, $data);
+		return file_get_contents($filename, $data);
 	}
 	
 	function rename($filename, $new_filename, $allow_symlink = false) {
@@ -699,14 +699,27 @@
 		}
 	}
 	
-	function unlink($file) {
-		if(file_exists($filename)) {
+	function unlink($filename) {
+		if(file_exists($filename) || is_link($filename)) {
 			return unlink($filename);
 		}
 	}
 	
 	function copy($file1,$file2) {
 		return copy($file1,$file2);
+	}
+	
+	function touch($file, $allow_symlink = false){
+	  global $app;
+	  if($allow_symlink == false && @file_exists($file) && $this->checkpath($file) == false) {
+		$this->unlink($file);
+	  }
+	  if(@touch($file)) {
+			return true;
+	  } else {
+			$app->log("touch failed: $file",LOGLEVEL_DEBUG);
+			return false;
+	  }
 	}
 	
 	function checkpath($path) {
@@ -1152,7 +1165,7 @@
 	function make_trashscan(){
 		global $app;
 	  	//trashscan erstellen
-	  	// Template �ffnen
+	  	// Template Öffnen
 	  	$app->tpl->clear_all();
 	  	$app->tpl->define( array(table    => 'trashscan.master'));
 	
@@ -1514,6 +1527,16 @@
 			unset($shadow_file_array);
 		}
 	}
+	
+	function intval($string, $force_numeric = false) {
+        if(intval($string) == 2147483647) {
+            if($force_numeric == true) return floatval($string);
+            elseif(preg_match('/^([-]?)[0]*([1-9][0-9]*)([^0-9].*)*$/', $string, $match)) return $match[1].$match[2];
+            else return 0;
+        } else {
+            return intval($string);
+        }
+    }
 
 }
 ?>

--
Gitblit v1.9.1