vogelor
2010-05-26 24f38b424a3d12c7f4fac1829c83725b200b1e97
interface/lib/classes/tform.inc.php
@@ -362,7 +362,7 @@
                                        // If Datasource is set, get the data from there
                                        if(isset($field['datasource']) && is_array($field['datasource'])) {
                                    if(is_array($field["value"])) {
                                       $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);
                                    }
@@ -1125,15 +1125,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;