From 07405653f111c4eb8fd1c83d45e66287807036d7 Mon Sep 17 00:00:00 2001
From: horfic <horfic@ispconfig3>
Date: Thu, 06 Jan 2011 04:26:51 -0500
Subject: [PATCH] *) Added Mailman integration
---
interface/lib/classes/tform.inc.php | 33 ++++++++++++++++++++-------------
1 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index d296943..3a5e189 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -40,7 +40,7 @@
* - DOUBLE
* - CURRENCY (Formats digits in currency notation)
* - VARCHAR (No format check)
-* - DATE (Date format, converts from and to linux timestamps automatically)
+* - DATE (Date format, converts from and to UNIX timestamps automatically)
*
* Formtype:
* - TEXT (Normal text field)
@@ -143,9 +143,9 @@
if(!file_exists($lng_file)) $lng_file = "../$module/lib/lang/en_".$this->formDef["name"].".lng";
include($lng_file);
}
-
+
if(is_array($wb_global)) {
- $wb = array_merge($wb_global,$wb);
+ $wb = $wb_global + $wb;
}
if(isset($wb_global)) unset($wb_global);
@@ -362,7 +362,8 @@
// If Datasource is set, get the data from there
if(isset($field['datasource']) && is_array($field['datasource'])) {
if(is_array($field["value"])) {
- $field["value"] = $field["value"] + $this->getDatasourceData($field, $record);
+ //$field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record));
+ $field["value"] = $field["value"]+$this->getDatasourceData($field, $record);
} else {
$field["value"] = $this->getDatasourceData($field, $record);
}
@@ -379,6 +380,8 @@
if(is_array($field['value'])) {
foreach($field['value'] as $k => $v) {
$selected = ($k == $val)?' SELECTED':'';
+ if(!empty($this->wordbook[$v]))
+ $v = $this->wordbook[$v];
$out .= "<option value='$k'$selected>$v</option>\r\n";
}
}
@@ -492,7 +495,7 @@
$out = '';
foreach($field['value'] as $k => $v) {
$selected = ($k == $field["default"])?' SELECTED':'';
- $out .= "<option value='$k'$selected>$v</option>\r\n";
+ $out .= "<option value='$k'$selected>".$this->lng($v)."</option>\r\n";
}
}
if(isset($out)) $new_record[$key] = $out;
@@ -620,8 +623,9 @@
break;
case 'DATE':
if($record[$key] != '' && $record[$key] != '0000-00-00') {
- list($tag,$monat,$jahr) = explode('.',$record[$key]);
- $new_record[$key] = $jahr.'-'.$monat.'-'.$tag;
+ $date_parts = date_parse_from_format($this->dateformat,$record[$key]);
+ //list($tag,$monat,$jahr) = explode('.',$record[$key]);
+ $new_record[$key] = $date_parts['year'].'-'.$date_parts['month'].'-'.$date_parts['day'];
//$tmp = strptime($record[$key],$this->dateformat);
//$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday'];
} else {
@@ -733,7 +737,7 @@
}
break;
case 'ISEMAIL':
- if(!preg_match("/^\w+[\w.-]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) {
+ if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i", $field_value)) {
$errmsg = $validator['errmsg'];
if(isset($this->wordbook[$errmsg])) {
$this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
@@ -1125,15 +1129,18 @@
}
- function getAuthSQL($perm) {
+ function getAuthSQL($perm, $table = '') {
if($_SESSION["s"]["user"]["typ"] == 'admin') {
return '1';
} else {
+ if ($table != ''){
+ $table = ' ' . $table . '.';
+ }
$groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0;
$sql = '(';
- $sql .= "(sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND sys_perm_user like '%$perm%') OR ";
- $sql .= "(sys_groupid IN (".$groups.") AND sys_perm_group like '%$perm%') OR ";
- $sql .= "sys_perm_other like '%$perm%'";
+ $sql .= "(" . $table . "sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND " . $table . "sys_perm_user like '%$perm%') OR ";
+ $sql .= "(" . $table . "sys_groupid IN (".$groups.") AND " . $table ."sys_perm_group like '%$perm%') OR ";
+ $sql .= $table . "sys_perm_other like '%$perm%'";
$sql .= ')';
return $sql;
@@ -1418,4 +1425,4 @@
}
}
-?>
\ No newline at end of file
+?>
--
Gitblit v1.9.1