1 <?php
2 /*
3 * This code is part of GOsa (http://www.gosa-project.org)
4 * Copyright (C) 2003-2008 GONICUS GmbH
5 *
6 * ID: $$Id$$
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
23 class componenttabs extends tabs
24 {
26 function componenttabs($config, $data, $dn,$category)
27 {
28 tabs::tabs($config, $data, $dn,$category);
30 /* Add references/acls/snapshots */
31 $this->addSpecialTabs();
32 }
34 function save_object($save_current= FALSE)
35 {
36 tabs::save_object($save_current);
38 $baseobject = $this->by_object['componentGeneric'];
39 $baseobject->netConfigDNS->cn= $baseobject->cn;
40 }
43 function save($ignore_account= FALSE)
44 {
45 /* Check for new 'dn', in order to propagate the
46 'dn' to all plugins */
47 $baseobject= $this->by_object['componentGeneric'];
48 $this->dn= "cn=$baseobject->cn,".get_ou('componentou').$baseobject->base;
50 if($this->dn != $baseobject->orig_dn && $baseobject->orig_dn != "new"){
52 /* Udpate acls */
53 $baseobject->update_acls($baseobject->orig_dn,$this->dn);
54 $baseobject->move($baseobject->orig_dn,$this->dn);
55 }
57 $baseobject->dn= $this->dn;
59 foreach ($this->by_object as $key => $obj){
60 $this->by_object[$key]->dn= $this->dn;
61 }
63 tabs::save(TRUE);
64 }
66 }
68 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
69 ?>