X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fpersonal%2Fconnectivity%2Fclass_oxchangeAccount.inc;h=36db420f9e3004dedc631ea62fb78fed4638b019;hb=26dbc488fc745965586ec6ce8854c29fa69a38d3;hp=ff48e3f6b9f663250f104495866d99650614c5f2;hpb=c83cab60fd3c06106975b385715f2da97fbe5d14;p=gosa.git diff --git a/plugins/personal/connectivity/class_oxchangeAccount.inc b/plugins/personal/connectivity/class_oxchangeAccount.inc index ff48e3f6b..36db420f9 100644 --- a/plugins/personal/connectivity/class_oxchangeAccount.inc +++ b/plugins/personal/connectivity/class_oxchangeAccount.inc @@ -597,8 +597,12 @@ class oxchangeAccount extends plugin function execute() { + /* Call parent execute */ + //plugin::execute(); - /* Show tab dialog headers */ + + $display=""; + /* Show tab dialog headers * / $display=""; if ($this->parent != NULL){ if ($this->is_account){ @@ -607,17 +611,17 @@ class oxchangeAccount extends plugin $obj= $this->parent->by_object['posixAccount']; $obj2= $this->parent->by_object['mailAccount']; if (! $obj->is_account){ - $display= "

"._("This account has OpenXchange features disabled. Posix features are needed for openXchange accounts, enable them first.")."


"; + $display= "

".sprintf(_("This account has %s features disabled. Posix features are needed for openXchange accounts, enable them first."), ""._("OpenXchange")."")."


"; } else { if (! $obj2->is_account){ - $display= "

"._("This account has OpenXchange features disabled. Mail features are needed for openXchange accounts, enable them first.")."


"; + $display= "

".sprintf(_("This account has %s features disabled. Mail features are needed for openXchange accounts, enable them first."), ""._("OpenXchange")."")."


"; return ($display); } } } } - +*/ /* Show main page */ $smarty= get_smarty(); @@ -646,7 +650,23 @@ class oxchangeAccount extends plugin if ($this->parent != NULL){ $smarty->assign("tabbed", 1); - } + }else{ + $smarty->assign("tabbed", 0); + } + + /* Trying to open a Postgresql Database Server */ + if (function_exists("pg_connect")){ + if(isset($this->oxconf["PGUSER"]) and isset($this->oxconf["PGHOST"]) and isset($this->oxconf["PGDBNAME"]) and isset($this->oxconf["PGPASSWD"])){ + $pgcon = @pg_connect("host=".$this->oxconf["PGHOST"]." user=".$this->oxconf["PGUSER"]." password=".$this->oxconf["PGPASSWD"]." dbname=".$this->oxconf["PGDBNAME"]); + if (! $pgcon){ + $smarty->assign("pg", false); + } + }else{ + $smarty->assign("pg", false); + } + }else{ + $smarty->assign("pg", false); + } $display.= $smarty->fetch (get_template_path('oxchange.tpl', TRUE, dirname(__FILE__))); return ($display); @@ -690,33 +710,39 @@ class oxchangeAccount extends plugin /* Trying to open a Postgresql Database Server */ if (function_exists("pg_connect")){ - if(isset($this->oxconf["PGUSER"]) and isset($this->oxconf["PGHOST"]) and isset($this->oxconf["PGDBNAME"]) and isset($this->oxconf["PGPASSWD"])){ - $pgcon = pg_connect("host=".$this->oxconf["PGHOST"]." user=".$this->oxconf["PGUSER"]." password=".$this->oxconf["PGPASSWD"]." dbname=".$this->oxconf["PGDBNAME"]); + if(isset($this->oxconf["PGUSER"]) and + isset($this->oxconf["PGHOST"]) and + isset($this->oxconf["PGDBNAME"]) and + isset($this->oxconf["PGPASSWD"])){ + $pgcon = @pg_connect("host=".$this->oxconf["PGHOST"]." user=".$this->oxconf["PGUSER"]." password=".$this->oxconf["PGPASSWD"]." dbname=".$this->oxconf["PGDBNAME"]); if (! $pgcon){ - print_red(_("Couldn't Connect To Postgresql Database")); + print_red(_("Couldn't connect to postgresql database!")); return; } }else{ - print_red(_("Needed Parameters to openexchange connectivity plugin failed!")); + print_red(_("Needed parameters for openexchange connectivity plugin are missing!")); return; } }else{ - print_red(_("PHP4 module for Postgresql Database Failed!")); + print_red(_("PHP4 module for postgresql database is missing!")); return; } plugin::remove_from_parent(); $ldap= $this->config->get_ldap_link(); + if($ldap->dn_exists("ou=addr,".$this->dn)){ + $ldap->rmdir_recursive("ou=addr,".$this->dn); + show_ldap_error($ldap->get_error(), sprintf(_("Removing of user/oxchange addressbook account with dn '%s' failed."),$this->dn)); + } + $ldap->cd($this->dn); @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $this->attributes, "Save"); - $ldap->modify($this->attrs); - show_ldap_error($ldap->get_error()); - if($ldap->dn_exists("ou=addr,".$this->dn)){ - $ldap->rmdir("ou=addr,".$this->dn); - show_ldap_error($ldap->get_error()); - } + $this->cleanup(); + $ldap->modify ($this->attrs); + show_ldap_error($ldap->get_error(), sprintf(_("Removing of user/oxchange addressbook account with dn '%s' failed."),$this->dn)); + /* Optionally execute a command after we're done */ $this->postremove(); @@ -770,27 +796,32 @@ class oxchangeAccount extends plugin } } - $uidarray=array(); - preg_match("/^(\w+(?=\=))=((\w|\s)+(?=\,)),.*/",$this->dn,$uidarray); - $uid=$uidarray[2]; - + $uidarray=array(); + preg_match("/^(\w+(?=\=))=((\w|\s|\.)+(?=\,)),.*/",$this->dn,$uidarray); + $uid=$uidarray[2]; + if (trim($uid) == "") { + print_red(_("The Open-Xchange accountname is empty and thus invalid! Check to make sure that ". + "you are not using any strange characters in the loginname.")); + return; + } + if ($istemplate) $needupdate=TRUE; if($needupdate){ /* Trying to open a Postgresql Database Server */ if (function_exists("pg_connect")){ if(isset($this->oxconf["PGUSER"]) and isset($this->oxconf["PGHOST"]) and isset($this->oxconf["PGDBNAME"]) and isset($this->oxconf["PGPASSWD"])){ - $pgcon = pg_connect("host=".$this->oxconf["PGHOST"]." user=".$this->oxconf["PGUSER"]." password=".$this->oxconf["PGPASSWD"]." dbname=".$this->oxconf["PGDBNAME"]); + $pgcon = @pg_connect("host=".$this->oxconf["PGHOST"]." user=".$this->oxconf["PGUSER"]." password=".$this->oxconf["PGPASSWD"]." dbname=".$this->oxconf["PGDBNAME"]); if (! $pgcon){ - print_red(_("Couldn't Connect To Postgresql Database")); + print_red(_("Couldn't connect to postgresql database!")); return; } }else{ - print_red(_("Needed Parameters to openexchange connectivity plugin failed!")); + print_red(_("Needed parameters for openexchange connectivity plugin are missing!")); return; } }else{ - print_red(_("PHP4 module for Postgresql Database Failed!")); + print_red(_("PHP4 module for postgresql database is missing!")); return; } } @@ -800,15 +831,17 @@ class oxchangeAccount extends plugin /* Write back to ldap */ $ldap= $this->config->get_ldap_link(); $ldap->cd($this->dn); - $ldap->modify($this->attrs); - show_ldap_error($ldap->get_error()); + $this->cleanup(); + $ldap->modify ($this->attrs); + + show_ldap_error($ldap->get_error(), sprintf(_("Saving of user/oxchange account with dn '%s' failed."),$this->dn)); /* Optionally execute a command after we're done */ $this->postcreate(); if($needupdate){ $ldap->create_missing_trees("ou=addr,".$this->dn); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), sprintf(_("Creating of user/oxchange account with dn '%s' failed."),$this->dn)); /* Finally save data to postgresql server */ pg_set_client_encoding ("UNICODE"); $nv = "SELECT nextval ('serial_id')";