1 <?php
3 class multi_plug
4 {
5 /* Tab handler for each given dn entry */
6 public $a_handles = array();
8 /* Dummy handler which collects the data */
9 private $o_tab = NULL;
11 public $dn = array();
12 public $config = NULL;
13 private $s_class = "";
14 public $current = "";
16 public function __construct($config,$class,$tab,$dns)
17 {
18 $this->dn = $dns;
19 $this->config = $config;
20 $this->s_class = $class;
21 $this->o_tab = new $class($config,$tab,"new");
23 if($this->o_tab->multiple_support_available()){
24 $this->o_tab->enable_multiple_support();
26 foreach($dns as $dn){
27 $this->a_handles[] = new $class($config,$tab,$dn);
28 }
29 }
30 }
32 public function execute()
33 {
34 return($this->o_tab->execute());
35 }
37 public function entries_locked()
38 {
39 return(FALSE);
40 }
42 public function display_lock_message()
43 {
44 return("sdf");
45 }
47 public function lock_entries($uid)
48 {
49 return(TRUE);
50 }
52 public function multiple_available()
53 {
54 return($this->o_tab->multiple_support_available());
55 }
57 public function set_active_tab($str)
58 {
59 $this->current = $str;
60 }
62 public function get_object_info()
63 {
64 return("Oi -----");
65 }
67 public function save_object()
68 {
69 $this->o_tab->save_object();
70 }
72 public function check()
73 {
74 $this->populate_values();
75 $messages = $this->o_tab->check();
76 foreach($this->a_handles as $key => $obj){
77 $msgs = $obj->check();
78 foreach($msgs as $msg){
79 $messages[] = $msg;
80 }
81 }
82 return($messages);
83 }
85 public function password_change_needed()
86 {
87 return(FALSE);
88 }
90 public function populate_values()
91 {
93 if($this->multiple_available() && is_array($this->a_handles)){
94 foreach($this->o_tab->by_object as $name => $obj){
95 $values = $this->o_tab->by_object[$name]->get_multi_edit_values();
96 foreach($values as $a_name => $a_value){
97 foreach($this->a_handles as $i_id => $o_handle){
98 $o_handle->by_object[$name]->$a_name = $a_value;
99 }
100 }
101 }
102 }
103 }
105 public function save()
106 {
107 if($this->multiple_available() && is_array($this->a_handles)){
108 $this->populate_values();
109 foreach($this->a_handles as $i_id => $o_handle){
110 $o_handle->save();
111 }
112 }
113 }
114 }
116 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
117 ?>