Code

Removed multi-objectclass dependency. There's a more easy way to do this.
[gosa.git] / plugins / personal / connectivity / class_oxchangeAccount.inc
index 40119ac487f4284e5bb51987f3b9a0913145e0dd..7e26867f00022f5f1bbbf9dd8cda0ee5accb729a 100644 (file)
@@ -24,11 +24,6 @@ class oxchangeAccount extends plugin
   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";
@@ -601,7 +596,8 @@ class oxchangeAccount extends plugin
        //plugin::execute();
 
 
-    /* Show tab dialog headers */
+       $display="";
+    /* Show tab dialog headers  * /
     $display="";
     if ($this->parent != NULL){
       if ($this->is_account){
@@ -620,7 +616,7 @@ class oxchangeAccount extends plugin
         }
       }
     }
-
+*/
     /* Show main page */
     $smarty= get_smarty();
 
@@ -653,6 +649,20 @@ class oxchangeAccount extends plugin
       $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);
   }
@@ -695,8 +705,11 @@ 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!"));
           return;
@@ -715,7 +728,7 @@ class oxchangeAccount extends plugin
 
     if($ldap->dn_exists("ou=addr,".$this->dn)){
        $ldap->rmdir_recursive("ou=addr,".$this->dn);
-       show_ldap_error($ldap->get_error(), _("Removing of oxchange addressbook failed"));
+                       show_ldap_error($ldap->get_error(), sprintf(_("Removing of user/oxchange addressbook account with dn '%s' failed."),$this->dn));
     }
 
     $ldap->cd($this->dn);
@@ -723,7 +736,7 @@ class oxchangeAccount extends plugin
         $this->attributes, "Save");
     $this->cleanup();
     $ldap->modify ($this->attrs); 
-    show_ldap_error($ldap->get_error(), _("Removing oxchange account failed"));
+               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();
@@ -793,7 +806,7 @@ 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"]);
+          $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;
@@ -816,14 +829,14 @@ class oxchangeAccount extends plugin
     $this->cleanup();
     $ldap->modify ($this->attrs); 
 
-    show_ldap_error($ldap->get_error(), _("Saving of oxchange account failed"));
+               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(), _("Creating oxchange addressbook tree failed"));
+                       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')";
@@ -857,6 +870,21 @@ class oxchangeAccount extends plugin
       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:
 ?>