Code

add todo section to gosa-si-server
authorrettenbe <rettenbe@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 19 Mar 2008 15:29:59 +0000 (15:29 +0000)
committerrettenbe <rettenbe@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 19 Mar 2008 15:29:59 +0000 (15:29 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@9946 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-si/gosa-si-server

index 0b106ae047c2659bea20d8ab8e0dc97e43a7ad8c..9357685bd0a2bebc64d6597a9d6b2894d8bc0a82 100755 (executable)
 #     REVISION:  ---
 #===============================================================================
 
+# TODO es gibt eine globale funktion get_ldap_handle
+# - ist in einer session dieses ldap handle schon vorhanden, wird es zurückgegeben
+# - ist es nicht vorhanden, wird es erzeugt, im heap für spätere ldap anfragen gespeichert und zurückgegeben
+# - sessions die kein ldap handle brauchen, sollen auch keins haben
+# - wird eine session geschlossen, muss das ldap verbindung vorher beendet werden
+
+
 use strict;
 use warnings;
 use Getopt::Long;
@@ -1258,16 +1265,6 @@ sub watch_for_new_jobs {
                # expect macaddress is unique!!!!!!
                my $target = $res_hash->{1}->{hostname};
 
-#        if (not defined $target) {
-#                      &daemon_log("ERROR: no host found for mac address: $macaddress", 1);
-#                      &daemon_log("$hit->{xmlmessage}", 8);
-#            my $sql_statement = "UPDATE $job_queue_tn ".
-#                "SET status='error', result='no host found for mac address' ".
-#                "WHERE id='$jobdb_id'";
-#                      my $res = $job_db->update_dbentry($sql_statement);
-#                      next;
-#              }
-#
                # change header
         $job_msg =~ s/<header>job_/<header>gosa_/;
 
@@ -1287,6 +1284,31 @@ sub watch_for_new_jobs {
 }
 
 
+sub get_ldap_handle {
+       my ($session_id) = @_;
+       my $heap;
+       my $ldap_handle;
+       
+       if (not defined $session_id) {
+               return $ldap_handle;
+       }
+
+       my $session_reference = $kernel->ID_id_to_session($session_id);
+       if( defined $session_reference ) {
+               $heap = $session_reference->get_heap();
+       }
+
+       if (not exists $heap->{ldap_handle}) {
+               # create new ldap handle
+               # add ldap handle to heap
+       }
+
+       $ldap_handle = $heap->{ldap_handle};
+
+       return \$ldap_handle;
+}
+
+
 sub refresh_ldap_handle {
        my ($session_id) = @_ ;
        if (not defined $session_id) { $session_id = 0; }