diff --git a/plugins/personal/connectivity/class_oxchangeAccount.inc b/plugins/personal/connectivity/class_oxchangeAccount.inc
index bd36844e578fd7d72c81e0b3441ca8db9e8c16ea..7e26867f00022f5f1bbbf9dd8cda0ee5accb729a 100644 (file)
var $plHeadline= "Open-Xchange";
var $plDescription= "This does something";
- /* CLI vars */
- var $cli_summary= "Management of Open-Xchange accounts";
- var $cli_description= "Some longer text\nfor help";
- var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
-
/* GW attributes */
var $OXAppointmentDays="500";
var $OXTaskDays="5";
function execute()
{
/* Call parent execute */
- plugin::execute();
+ //plugin::execute();
- /* Show tab dialog headers */
+ $display="";
+ /* Show tab dialog headers * /
$display="";
if ($this->parent != NULL){
if ($this->is_account){
}
}
}
-
+*/
/* Show main page */
$smarty= get_smarty();
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);
/* 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!"));
return;
}
}else{
- print_red(_("Needed parameters to openexchange connectivity plugin are missing!"));
+ print_red(_("Needed parameters for openexchange connectivity plugin are missing!"));
return;
}
}else{
if($ldap->dn_exists("ou=addr,".$this->dn)){
$ldap->rmdir_recursive("ou=addr,".$this->dn);
- show_ldap_error($ldap->get_error());
+ 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());
+ $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();
}
}
- $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!"));
return;
/* 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')";
pg_close($pgcon);
}
}
-}
+
+ /* Return plugin informations for acl handling
+ #FIXME ACL attributes aren't translated yet. */
+ function plInfo()
+ {
+ return (
+ array("plDescription" => _("Open xchange account settings"),
+ "plSelfModify" => TRUE,
+ "plDepends" => array("objectClass" => _("gosaAccount")),
+ "OXAppointmentDays" => "!!! FIXME "._("OXAppointmentDays"),
+ "OXTaskDays" => _("OXTaskDays"),
+ "mailEnabled" => _("mailEnabled"),
+ "OXTimeZone" => _("OXTimeZone")));
+ }
+}
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>