index 6e5c754cc535d7080eca5b15c099e49616625cce..b7e122058979700046a0fcd98573d80916ba0316 100644 (file)
/* Attributes to initialise for each subObject */
var $subAttributes = array("cn","description","FAIpriority","FAIscript");
/* Attributes to initialise for each subObject */
var $subAttributes = array("cn","description","FAIpriority","FAIscript");
- var $sub64coded = array("FAIscript");
+ var $sub64coded = array();
/* Specific attributes */
var $cn = ""; // The class name for this object
/* Specific attributes */
var $cn = ""; // The class name for this object
foreach($this->subAttributes as $attrs){
$this->SubObjects[$object['cn'][0]][$attrs]=addslashes($this->SubObjects[$object['cn'][0]][$attrs]);
}
foreach($this->subAttributes as $attrs){
$this->SubObjects[$object['cn'][0]][$attrs]=addslashes($this->SubObjects[$object['cn'][0]][$attrs]);
}
+
+ $this->SubObjects[$object['cn'][0]]['FAIscript'] = addslashes ($this->readBinary("FAIscript",$object['dn']));
$this->SubObjects[$object['cn'][0]]['status'] = "edited";
$this->SubObjects[$object['cn'][0]]['dn'] = $object['dn'];
$this->SubObjects[$object['cn'][0]]['status'] = "edited";
$this->SubObjects[$object['cn'][0]]['dn'] = $object['dn'];
function execute()
{
function execute()
{
+ /* Call parent execute */
+ plugin::execute();
+
/* Fill templating stuff */
$smarty= get_smarty();
$display= "";
/* Fill templating stuff */
$smarty= get_smarty();
$display= "";
$this->is_dialog=true;
}
$this->is_dialog=true;
}
- $_SESSION['objectinfo'] = $this->dn;
+ if($this->dn != "new"){
+ $_SESSION['objectinfo']= $this->dn;
+ }
+
+
/* Edit selected Sub Object */
if((isset($_POST['EditSubObject']))&&(isset($_POST['SubObject']))){
/* Edit selected Sub Object */
if((isset($_POST['EditSubObject']))&&(isset($_POST['SubObject']))){
- $this->dialog= new $this->subClassName($this->config,$this->dn,$this->SubObjects[$_POST['SubObject']]);
- $_SESSION['objectinfo'] = $this->SubObjects[$_POST['SubObject']]['dn'];
+ $script = $_POST['SubObject'][0];
+
+ $this->dialog= new $this->subClassName($this->config,$this->dn,$this->SubObjects[$script]);
+ $_SESSION['objectinfo'] = $this->SubObjects[$script]['dn'];
$this->is_dialog=true;
}
/* Remove Sub object */
if((isset($_POST['DelSubObject']))&&(isset($_POST['SubObject']))){
$this->is_dialog=true;
}
/* Remove Sub object */
if((isset($_POST['DelSubObject']))&&(isset($_POST['SubObject']))){
- if($this->SubObjects[$_POST['SubObject']]['status'] == "edited"){
- $this->SubObjects[$_POST['SubObject']]['status']= "delete";
- }else{
- unset($this->SubObjects[$_POST['SubObject']]);
+
+ foreach($_POST['SubObject'] as $script){
+ if($this->SubObjects[$script]['status'] == "edited"){
+ $this->SubObjects[$script]['status']= "delete";
+ }else{
+ unset($this->SubObjects[$script]);
+ }
}
}
}
}
}
}
}
}
+ /* Sort entries */
+ $tmp = $keys = array();
+ foreach($this->SubObjects as $key => $entry){
+ $keys[$key]=$key;
+ }
+ natcasesort($keys);
+ foreach($keys as $key){
+ $tmp[$key]=$this->SubObjects[$key];
+ }
+ $this->SubObjects = $tmp;
+
/* Cancel Dialog */
if(isset($_POST['CancelSubObject'])){
$this->is_dialog=false;
/* Cancel Dialog */
if(isset($_POST['CancelSubObject'])){
$this->is_dialog=false;
show_ldap_error($ldap->get_error());
}
}
show_ldap_error($ldap->get_error());
}
}
+
+
+ function readBinary($attr,$dn){
+ $Data ="";
+ $ds= ldap_connect($this->config->current['SERVER']);
+ ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
+ if (function_exists("ldap_set_rebind_proc") && isset($this->config->current['RECURSIVE']) && $this->config->current['RECURSIVE'] == "true") {
+ ldap_set_option($this->cid, LDAP_OPT_REFERRALS, 1);
+ ldap_set_rebind_proc($ds, array(&$this, "rebind"));
+ }
+
+ if(isset($this->config->current['TLS']) && $this->config->current['TLS'] == "true"){
+ ldap_start_tls($ds);
+ }
+
+ $r = ldap_bind($ds);
+ $sr = @ldap_read($ds, $dn, $attr."=*", array($attr));
+
+ if ($sr) {
+ $ei=ldap_first_entry($ds, $sr);
+ if ($ei) {
+ if ($info = ldap_get_values_len($ds, $ei, $attr)){
+ $Data= $info[0];
+ }
+ }
+ }
+
+ /* close conncetion */
+ ldap_unbind($ds);
+ return($Data);
+ }
+
+
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: