Code

Created trunk inside of 2.6-lhm
[gosa.git] / trunk / gosa-plugins / gofax / gofax / faxaccount / main.inc
1 <?php
3 /* Remove locks created by this plugin
4 */
5 if ($remove_lock || isset($_POST['edit_cancel'])){
6   if(session::is_set('gofaxAccount') && session::is_set('edit')){
7     del_lock($ui->dn);
8   }
9 }
11 /* Remove this plugin from session
12 */
13 if ( $cleanup ){
14   session::un_set('gofaxAccount');
15   session::un_set('edit');
16 }else{
18         /* Reset requested? */
19         if (isset($_POST['edit_cancel'])){
20                 session::un_set ('edit');
21                 session::un_set ('gofaxAccount');
22         }
24         /* Create gofaxAccount object on demand */
25         if (!session::is_set('gofaxAccount') || (isset($_GET['reset']) && $_GET['reset'] == 1)){
26                 $gofaxAccount= new gofaxAccount ($config, $ui->dn);
27                 $gofaxAccount->set_acl_base($ui->dn);
28                 $gofaxAccount->set_acl_category("users");
29                 session::set('gofaxAccount',$gofaxAccount);
30         }
31         $gofaxAccount = session::get('gofaxAccount');
33         /* save changes back to object */
34         if (session::is_set('edit')){
35                 $gofaxAccount->save_object ();
36         }
38         /* Enter edit mode? */
39         if (isset($_POST['edit'])){
41                 /* Check locking */
42                 if (($username= get_lock($ui->dn)) != ""){
43                         session::set('back_plugin',$plug);
44                         session::set('LOCK_VARS_TO_USE',array("/^edit$/","/^plug$/"));
45                         $lock_msg =  gen_locked_message ($username, $ui->dn);
47                 }else{
49                         /* Lock the current entry */
50                         add_lock ($ui->dn, $ui->dn);
51                         session::set('edit',TRUE);
52                 }
53         }
55         /* save changes to LDAP and disable edit mode */
56         if (isset($_POST['edit_finish'])){
58                 /* Perform checks */
59                 $message= $gofaxAccount->check ();
61                 /* No errors, save object */
62                 if (count ($message) == 0){
63                         $gofaxAccount->save ();
64                         del_lock ($ui->dn);
65                         session::un_set ('edit');
67                 } else {
68                         /* Errors found, show message */
69                         msg_dialog::displayChecks($message);
70                 }
71         }
73         /* Execute formular */
74         if($lock_msg){
75                 $display.= $lock_msg;
76         }else{
77                 $display.= $gofaxAccount->execute ();
78         }
80         $info= "";
82         /* Store changes  in session */
83         if (session::is_set('edit')){
84                 session::set('gofaxAccount',$gofaxAccount);
85         }
87         /* Show page footer depending on the mode */
88         if (!$gofaxAccount->locals_dialog &&
89                 !$gofaxAccount->out_blocklist_dialog &&
90                 !$gofaxAccount->in_blocklist_dialog &&
91                 $gofaxAccount->is_account       && 
92                 empty($lock_msg)){
94                 $display.= "<p class=\"plugbottom\">\n";
96                 /* Are we in edit mode? */
97                 if (session::is_set('edit')){
98                         $display.= "<input type=submit name=\"edit_finish\" style=\"width:80px\" value=\"".msgPool::okButton()."\">\n";
99                         $display.= "&nbsp;\n";
100                         $display.= "<input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
101                         $info= "<img alt='' align=\"middle\" src=\"".get_template_path('images/lists/locked.png')."\"> ".$ui->dn."&nbsp;";
102                 } else {
103                         $info= "<img alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/unlocked.png')."\"> ".$ui->dn."&nbsp;";
105                         if(preg_match("/r/",$ui->get_permissions($ui->dn,"users/gofaxAccount"))){
106                                 $info.= "<img alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/on.png')."\">"._("Click the 'Edit' button below to change informations in this dialog");
107                                 $display.= "<input type=submit name=\"edit\" value=\"".msgPool::editButton()."\">";
108                         }
109                         $display.= "<input type=\"hidden\" name=\"ignore\">\n";
110                 }
111                 $display.= "</p>";
112         }
113         
114         /* Page header*/
115         $display= print_header(get_template_path('plugins/gofax/images/plugin.png'), _("FAX settings"), $info).$display;
118 ?>