Code

Updatd index.php
[gosa.git] / html / getFAIscript.php
index a4c242e7dfb815ada0b718b5d29f453ad91b040b..ddd120fc48b1afbaa292de513b6612c804063213 100644 (file)
@@ -24,26 +24,35 @@ restore_error_handler();
   $ldap = $_SESSION['config']->get_ldap_link();
   $ldap->cd($_SESSION['config']->current['BASE']);
 
-  $sr= $ldap->cat($id);
+  $sr= $ldap->cat($id, array("FAItemplateFile", "FAIscript", "cn", "objectClass"));
   $ei= ldap_first_entry($ldap->cid, $sr);
-  $tmp = ldap_get_values_len($ldap->cid, $ei,"FAIscript");
+  if(isset($_GET['is_template'])){
+    $tmp = ldap_get_values_len($ldap->cid, $ei,"FAItemplateFile");
+  }else{
+    $tmp = ldap_get_values_len($ldap->cid, $ei,"FAIscript");
+  }
   $tmp2 = $ldap->fetch();
 
+  $name= $tmp2['cn'][0];
   if(in_array("FAIhookEntry",$tmp2['objectClass'])){
-    $suff = ".FAIhook";
-  }else{
-    $suff = ".FAIscript";
+    $name.= ".FAIhook";
+  }elseif(in_array("FAIscriptEntry",$tmp2['objectClass'])){
+    $name .= ".FAIscript";
+  }elseif(isset($_GET['is_template'])){
+    if(preg_match("/\//",$name)){
+      $name = preg_replace("/^.*\//","",$name); 
+    }
   }
-  $name= $tmp2['cn'][0];
 
   if(isset($tmp[0])){
     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
     header("Cache-Control: no-cache");
     header("Pragma: no-cache");
+    header("Content-transfer-encoding: binary\n");
     header("Cache-Control: post-check=0, pre-check=0");
     header("Content-type: application/octet-stream");
-    header("Content-Disposition: attachment; filename=".$name.$suff);
+    header("Content-Disposition: attachment; filename=".$name);
     echo $tmp[0];
   }else{
     echo sprintf("Can't query for this item '%s'",$id);
@@ -59,7 +68,7 @@ session_start ();
 /* Logged in? Simple security check */
 if (!isset($_SESSION['ui'])){
   gosa_log ("Error: getFAIScript.php called without session");
-  header ("Location: ../index.php");
+  header ("Location: index.php");
   exit;
 }
 $ui= $_SESSION["ui"];
@@ -69,7 +78,7 @@ $config= $_SESSION['config'];
 $acl= get_permissions ($config->current['BASE'], $ui->subtreeACL);
 $acl= get_module_permission($acl, "all", $config->current['BASE']);
 if (chkacl($acl, "all") != ""){
-  header ("Location: ../index.php");
+  header ("Location: index.php");
   exit;
 }
 $dir = search_config($config->data,"environment", "KIOSKPATH");