Code

Updated share list acls.
[gosa.git] / gosa-core / include / functions.inc
index e9444fbf396d664e89ea15d44cd3ee65a04ed68c..2cf169292471d632d676dd4ee9ef418c91c679a3 100644 (file)
@@ -40,7 +40,7 @@ if(!isset($_SERVER['CONFIG_FILE'])){
   define ("CONFIG_FILE",$_SERVER['CONFIG_FILE']);
 }
 
-define ("CONFIG_TEMPLATE_DIR", "../contrib/");
+define ("CONFIG_TEMPLATE_DIR", "../contrib");
 define ("TEMP_DIR","/var/cache/gosa/tmp");
 
 /* Define get_list flags */
@@ -905,16 +905,14 @@ function get_sub_list($filter, $category,$sub_deps, $base= "", $attributes= arra
       }else{
 
         /* Sort in every value that fits the permissions */
-        if (is_array($category)){
-          foreach ($category as $o){
-            if ($ui->get_category_permissions($dn, $o) != ""){
-              $result[]= $attrs;
-              break;
-            }
-          }
-        } else {
-          if ( $ui->get_category_permissions($dn, $category) != ""){
+        if (!is_array($category)){
+          $category = array($category);
+        }
+        foreach ($category as $o){
+          if((preg_match("/\//",$o) && preg_match("/r/",$ui->get_permissions($dn,$o))) ||
+              (!preg_match("/\//",$o) && preg_match("/r/",$ui->get_category_permissions($dn, $o)))){
             $result[]= $attrs;
+            break;
           }
         }
       }
@@ -975,19 +973,14 @@ function get_list($filter, $category, $base= "", $attributes= array(), $flags= G
     }else{
 
       /* Sort in every value that fits the permissions */
-      if (is_array($category)){
-        foreach ($category as $o){
-          if ($ui->get_category_permissions($dn, $o) != ""){
-
-            /* We found what we were looking for, break speeds things up */
-            $result[]= $attrs;
-          }
-        }
-      } else {
-        if ($ui->get_category_permissions($dn, $category) != ""){
-
-          /* We found what we were looking for, break speeds things up */
+      if (!is_array($category)){
+        $category = array($category);
+      }
+      foreach ($category as $o){
+        if((preg_match("/\//",$o) && preg_match("/r/",$ui->get_permissions($dn,$o))) || 
+            (!preg_match("/\//",$o) && preg_match("/r/",$ui->get_category_permissions($dn, $o)))){
           $result[]= $attrs;
+          break;
         }
       }
     }
@@ -1151,6 +1144,8 @@ function get_ou($name)
                 "printerou"     => "ou=printers,ou=systems,",
                 "phoneou"       => "ou=phones,ou=systems,",
                 "componentou"   => "ou=netdevices,ou=systems,",
+                "winstations"   => "ou=winstation,",
+
                 "blocklistou"   => "ou=gofax,ou=systems,",
                 "incomingou"    => "ou=incoming,",
                 "aclroleou"     => "ou=aclroles,",
@@ -2361,6 +2356,7 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
         "pl_PL" => "Polish",
         "sv_SE" => "Swedish",
         "zh_CN" => "Chinese",
+        "vi_VN" => "Vietnamese",
         "ru_RU" => "Russian");
   
   $tmp2= array(
@@ -2373,6 +2369,7 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
         "pl_PL" => _("Polish"),
         "sv_SE" => _("Swedish"),
         "zh_CN" => _("Chinese"),
+        "vi_VN" => _("Vietnamese"),
         "ru_RU" => _("Russian"));
 
   $ret = array();
@@ -2686,6 +2683,11 @@ function send_binary_content($data,$name,$type = "application/octet-stream")
   header("Content-type: ".$type."");
 
   $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
+
+  /* Strip name if it is a complete path */
+  if (preg_match ("/\//", $name)) {
+       $name= basename($name);
+  }
   
   /* force download dialog */
   if (preg_match('/MSIE 5.5/', $HTTP_USER_AGENT) || preg_match('/MSIE 6.0/', $HTTP_USER_AGENT)) {