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(isset($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->dialog &&
89 !$gofaxAccount->out_blocklist_dialog &&
90 !$gofaxAccount->in_blocklist_dialog &&
91 $gofaxAccount->is_account &&
92 empty($lock_msg)){
94 $display.= "<hr>div class='plugin-actions'>\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.= "<input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
100 $info= "<img alt='' align=\"middle\" src=\"".get_template_path('images/lists/locked.png')."\"> ".$ui->dn." ";
101 } else {
102 $info= "<img alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/unlocked.png')."\"> ".$ui->dn." ";
104 if(preg_match("/r/",$ui->get_permissions($ui->dn,"users/gofaxAccount"))){
105 $info.= "<img alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/on.png')."\">"._("Click the 'Edit' button below to change informations in this dialog");
106 $display.= "<input type=submit name=\"edit\" value=\"".msgPool::editButton()."\">";
107 }
108 $display.= "<input type=\"hidden\" name=\"ignore\">\n";
109 }
110 $display.= "</div>";
111 }
113 /* Page header*/
114 $display= print_header(get_template_path('plugins/gofax/images/plugin.png'), _("FAX settings"), $info).$display;
116 }
117 ?>