diff --git a/gosa-plugins/ldapmanager/addons/ldapmanager/class_exportxls.inc b/gosa-plugins/ldapmanager/addons/ldapmanager/class_exportxls.inc
index c0c4e8a0b4abdd84346be52c314f7964e7541767..b184c99b280b09910183ecab13e711481007cc50 100644 (file)
class xlsexport extends plugin
{
- /* Definitions */
- var $plHeadline= "XLS import";
- var $plDescription= "This does something";
- var $access= "";
-
- /* attribute list for save action */
- var $attributes= array();
- var $objectclasses= array();
- var $ui;
- var $view_logged = FALSE;
-
- function xlsexport (&$config, $dn= NULL)
- {
- /* Include config object */
- $this->config= &$config;
-
- $this->ui = get_userinfo();
- }
-
- function execute()
- {
- /* Call parent execute */
- plugin::execute();
-
- /* Log view */
- if(!$this->view_logged){
- $this->view_logged = TRUE;
- new log("view","all/".get_class($this),$this->dn);
- }
+ /* Definitions */
+ var $plHeadline= "XLS import";
+ var $plDescription= "This does something";
+ var $access= "";
- $dn = $this->config->current['BASE'];
+ /* attribute list for save action */
+ var $attributes= array();
+ var $objectclasses= array();
+ var $ui;
+ var $view_logged = FALSE;
- /* Set government mode */
- $smarty= get_smarty();
- $smarty->assign("type",FALSE);
- $smarty->assign("depselectivbb","");
-
- if(!isset($_POST['selfull'])) $_POST['selfull'] = "Somehow not posted";
+ var $base ="";
+ var $baseSelector ="";
- /* Check permissions for export */
- // fill in old vars in the Export form
- if((isset($_POST['single']))&&(isset($_POST['sfrmgetsingle']))){
- $smarty->assign("single",$_POST['single']);
- $smarty->assign("type","single");
- $a=$_POST['single'];
- $b=$_POST['selfull'];
+ function xlsexport (&$config, $dn= NULL)
+ {
+ /* Include config object */
+ $this->initTime = microtime(TRUE);
+ $this->config= &$config;
- }
- if((isset($_POST['selfull']))&&(isset($_POST['sfrmgetfull']))){
- $smarty->assign("depselectfull",$_POST['selfull']);
- $smarty->assign("type","full");
- $dn = $_POST['selfull'];
- } else {
- $smarty->assign("depselectfull", "");
- }
- if((isset($_POST['selivbb']))&&(isset($_POST['sfrmgetivbb']))){
- $smarty->assign("depselectivbb",$_POST['selivbb']);
- $smarty->assign("type","ivbb");
- $dn = $_POST['selivbb'];
- } else {
- $smarty->assign("depselectivbb", "");
- }
+ $this->ui = get_userinfo();
- // Set values for optionlist in form
- $bases = array();
- $acl_bases = $this->ui->get_module_departments("all");
- foreach($this->config->idepartments as $base_dn => $name){
- if(in_array_ics($base_dn,$acl_bases)){
- $bases[$base_dn] = $name;
- }
- }
- $smarty->assign("deplist", $bases);
- $smarty->assign("choicelist",array( get_people_ou() =>"users" ,
- get_groups_ou() =>"groups" ,
- get_ou('systemsou') =>"computers",
- get_ou('serverRDN') =>"servers",
- "dc=addressbook," =>"addressbook"));
+ $this->base = $this->config->current['BASE'];
+ $this->baseSelector= new baseSelector($this->config->idepartments, $this->base);
+ $this->baseSelector->setSubmitButton(false);
+ $this->baseSelector->setHeight(300);
+ $this->baseSelector->update(true);
+ stats::log('plugin', $class = get_class($this), $category = array($this->acl_category), $action = 'open',
+ $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
- // Get the LDAP link, to generate the Export
- $ldap = $this->config->get_ldap_link();
-
- $smarty->assign ("govmode", $this->config->get_cfg_value("honourIvbbAttributes"));
- $smarty->assign("LDIFError",FALSE);
+ }
- if(isset($dn))
+ function execute()
{
- if(!($ldap->dn_exists($dn) && $dn != "")){
- $smarty->assign("LDIFError",TRUE);
- msg_dialog::display(_("Error"), _("Cannot export selected entries!"), ERROR_DIALOG);
- }
- }
-
- /* check alcs for given dn */
- $acls ="";
- if(isset($dn)){
- $acls = $this->ui->get_permissions($dn,"all/all");
+ /* Call parent execute */
+ plugin::execute();
+
+ /* Log view */
+ if(!$this->view_logged){
+ $this->view_logged = TRUE;
+ new log("view","all/".get_class($this),$this->dn);
+ }
+
+ $dn = $this->config->current['BASE'];
+
+ /* Set government mode */
+ $smarty= get_smarty();
+ $smarty->assign("type",FALSE);
+ $smarty->assign("depselectivbb","");
+
+ if (!$this->baseSelector->update()) {
+ msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
+ }
+ if ($this->base != $this->baseSelector->getBase()) {
+ $this->base= $this->baseSelector->getBase();
+ $this->is_modified= TRUE;
+ }
+
+ /* Check permissions for export */
+ // fill in old vars in the Export form
+ if((isset($_POST['single']))&&(isset($_POST['sfrmgetsingle']))){
+ $smarty->assign("single",set_post(get_post('single')));
+ $smarty->assign("type",set_post("single"));
+ $a=get_post('single');
+ $b=$this->base;
+
+ }
+ if(isset($_POST['sfrmgetfull'])){
+ $smarty->assign("type","full");
+ $dn = $this->base;
+ } else {
+ $smarty->assign("depselectfull", "");
+ }
+ if((isset($_POST['selivbb']))&&(isset($_POST['sfrmgetivbb']))){
+ $smarty->assign("depselectivbb",set_post(get_post('selivbb')));
+ $smarty->assign("type","ivbb");
+ $dn = get_post('selivbb');
+ } else {
+ $smarty->assign("depselectivbb", "");
+ }
+
+ // Set values for optionlist in form
+ $bases = array();
+ $acl_bases = $this->ui->get_module_departments("ldapmanager");
+ foreach($this->config->idepartments as $base_dn => $name){
+ if(in_array_ics($base_dn,$acl_bases)){
+ $bases[$base_dn] = $name;
+ }
+ }
+ $smarty->assign("deplist", $bases);
+ $smarty->assign("choicelist",set_post(array( get_people_ou() =>"users" ,
+ get_groups_ou() =>"groups" ,
+ get_ou("systemManagement", "systemRDN") =>"computers",
+ get_ou("servgeneric", "serverRDN") =>"servers",
+ "dc=addressbook," =>"addressbook")));
+
+ // Get the LDAP link, to generate the Export
+ $ldap = $this->config->get_ldap_link();
+
+ $smarty->assign ("govmode", $this->config->get_cfg_value("core","honourIvbbAttributes"));
+ $smarty->assign("LDIFError",FALSE);
+
+ if(isset($dn))
+ {
+ if(!($ldap->dn_exists($dn) && $dn != "")){
+ $smarty->assign("LDIFError",TRUE);
+ msg_dialog::display(_("Error"), _("Cannot export selected entries!"), ERROR_DIALOG);
+ }
+ }
+
+ /* check alcs for given dn */
+ $acls ="";
+ if(isset($dn)){
+ $acls = $this->ui->get_permissions($dn,"ldapmanager/ldif");
+ }
+
+ if(!preg_match("/r/",$acls) && (isset($_POST['sfrmgetsingle']) || isset($_POST['sfrmgetfull']) || isset($_POST['sfrmgetivbb']))){
+
+ /* Show error msg */
+ msg_dialog::display(_("Permission error"), sprintf(_("You have no permission to export %s!"), bold(LDAP::fix($dn))), ERROR_DIALOG);
+
+ /* Show main page */
+ $smarty->assign("LDIFError",TRUE);
+ $smarty->assign("para","");
+ }else{
+
+ // Export a single LDAP entry
+ if(isset($_POST['sfrmgetsingle']))
+ {
+ $smarty->assign("para","?ivbb=2&d=".base64_encode(get_post('single'))."&n=".base64_encode($this->base));
+ }
+ elseif(isset($_POST['sfrmgetfull']))
+ {
+ $smarty->assign("para","?ivbb=3&dn=".base64_encode($this->base));
+ }
+ elseif(isset($_POST['sfrmgetivbb']))
+ {
+ $smarty->assign("para","?ivbb=4&dn=".base64_encode(get_post('selivbb')));
+ }
+ }
+
+ $smarty->assign("base", $this->baseSelector->render());
+ return ($smarty->fetch (get_template_path('contentexportxls.tpl', TRUE)));
}
-
- if(!preg_match("/r/",$acls) && (isset($_POST['sfrmgetsingle']) || isset($_POST['sfrmgetfull']) || isset($_POST['sfrmgetivbb']))){
-
- /* Show error msg */
- msg_dialog::display(_("Permission error"), sprintf(_("You have no permission to export '%s'!"),@LDAP::fix($dn)), ERROR_DIALOG);
-
- /* Show main page */
- $smarty->assign("LDIFError",TRUE);
- $smarty->assign("para","");
- }else{
-
- // Export a single LDAP entry
- if(isset($_POST['sfrmgetsingle']))
- {
- $smarty->assign("para","?ivbb=2&d=".base64_encode($_POST['single'])."&n=".base64_encode($_POST['selfull']));
- }
- elseif(isset($_POST['sfrmgetfull']))
- {
- $smarty->assign("para","?ivbb=3&dn=".base64_encode($_POST['selfull']));
- }
- elseif(isset($_POST['sfrmgetivbb']))
- {
- $smarty->assign("para","?ivbb=4&dn=".base64_encode($_POST['selivbb']));
- }
- }
-
- /* Show main page */
- return ($smarty->fetch (get_template_path('contentexportxls.tpl', TRUE)));
- }
}