From e28564dbde4f922a6a8263e3dea32d56b60b5b5b Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 16 Jun 2010 11:41:46 -0400
Subject: [PATCH] Implemented: FS#468 - Client name conversion in FTP user too restricted

---
 interface/lib/classes/remoting_lib.inc.php |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/interface/lib/classes/remoting_lib.inc.php b/interface/lib/classes/remoting_lib.inc.php
index 26153c4..da5c228 100644
--- a/interface/lib/classes/remoting_lib.inc.php
+++ b/interface/lib/classes/remoting_lib.inc.php
@@ -166,7 +166,9 @@
 				$this->sys_userid            = $user['userid'];
 				$this->sys_default_group     = $user['default_group'];
 				$this->sys_groups             = $user['groups'];
-				$_SESSION["s"]["user"]["typ"] = $user['typ'];
+				// $_SESSION["s"]["user"]["typ"] = $user['typ'];
+				// we have to force admin priveliges for the remoting API as some function calls might fail otherwise.
+				$_SESSION["s"]["user"]["typ"] = 'admin';
 			}
 
 		return true;
@@ -192,9 +194,16 @@
                                         $new_record[$key] = stripslashes($record[$key]);
                                 break;
 
-                                case 'DATE':
+                                case 'DATETSTAMP':
                                         if($record[$key] > 0) {
                                                 $new_record[$key] = date($this->dateformat,$record[$key]);
+                                        }
+                                break;
+								
+								case 'DATE':
+                                        if($record[$key] != '' && $record[$key] != '0000-00-00') {
+												$tmp = explode('-',$record[$key]);
+                                                $new_record[$key] = date($this->dateformat,mktime(0, 0, 0, $tmp[1]  , $tmp[2], $tmp[0]));
                                         }
                                 break;
 
@@ -306,12 +315,22 @@
                                                 $new_record[$key] = implode($field['separator'],$record[$key]);
                                         }
                                 break;
-                                case 'DATE':
+                                case 'DATETSTAMP':
                                         if($record[$key] > 0) {
                                                 list($tag,$monat,$jahr) = explode('.',$record[$key]);
                                                 $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr);
                                         } else {
 											$new_record[$key] = 0;
+										}
+                                break;
+								case 'DATE':
+                                        if($record[$key] != '' && $record[$key] != '0000-00-00') {
+                                                list($tag,$monat,$jahr) = explode('.',$record[$key]);
+                                                $new_record[$key] = $jahr.'-'.$monat.'-'.$tag;
+												//$tmp = strptime($record[$key],$this->dateformat);
+												//$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday'];
+                                        } else {
+											$new_record[$key] = '0000-00-00';
 										}
                                 break;
                                 case 'INTEGER':
@@ -325,6 +344,18 @@
                                 case 'CURRENCY':
                                         $new_record[$key] = str_replace(",",".",$record[$key]);
                                 break;
+                                
+                                case 'DATETIME':
+                                		if (is_array($record[$key]))
+                                		{
+	                                		$filtered_values = array_map(create_function('$item','return (int)$item;'), $record[$key]);
+                                			extract($filtered_values, EXTR_PREFIX_ALL, '_dt');
+                                			
+                                			if ($_dt_day != 0 && $_dt_month != 0 && $_dt_year != 0) {
+	                                			$new_record[$key] = date( 'Y-m-d H:i:s', mktime($_dt_hour, $_dt_minute, $_dt_second, $_dt_month, $_dt_day, $_dt_year) );
+	                                		}
+                                		}
+                                break;
                                 }
 
                                 // The use of the field value is deprecated, use validators instead

--
Gitblit v1.9.1