From 978b2d789c11c34d6842d76c4e4082c7dae5ff5e Mon Sep 17 00:00:00 2001 From: hickert Date: Tue, 16 Aug 2005 06:30:11 +0000 Subject: [PATCH] goFonConference git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@1147 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../.class_phoneConferenceManagment.inc.swp | Bin 0 -> 20480 bytes plugins/gofon/conference/.generic.tpl.swp | Bin 0 -> 16384 bytes .../gofon/conference/.tabs_conference.inc.swp | Bin 0 -> 12288 bytes .../class_phoneConferenceGeneric.inc | 212 ++++++++++++++++++ .../class_phoneConferenceManagment.inc | 163 ++++++++++++++ plugins/gofon/conference/generic.tpl | 163 ++++++++++++++ plugins/gofon/conference/headpage.tpl | 31 +++ plugins/gofon/conference/main.inc | 55 +++++ plugins/gofon/conference/remove.tpl | 19 ++ plugins/gofon/conference/tabs_conference.inc | 34 +++ 10 files changed, 677 insertions(+) create mode 100644 plugins/gofon/conference/.class_phoneConferenceManagment.inc.swp create mode 100644 plugins/gofon/conference/.generic.tpl.swp create mode 100644 plugins/gofon/conference/.tabs_conference.inc.swp create mode 100644 plugins/gofon/conference/class_phoneConferenceGeneric.inc create mode 100644 plugins/gofon/conference/class_phoneConferenceManagment.inc create mode 100644 plugins/gofon/conference/generic.tpl create mode 100644 plugins/gofon/conference/headpage.tpl create mode 100644 plugins/gofon/conference/main.inc create mode 100644 plugins/gofon/conference/remove.tpl create mode 100644 plugins/gofon/conference/tabs_conference.inc diff --git a/plugins/gofon/conference/.class_phoneConferenceManagment.inc.swp b/plugins/gofon/conference/.class_phoneConferenceManagment.inc.swp new file mode 100644 index 0000000000000000000000000000000000000000..601a09c3153d7ed75aa684b854bef1aaef9f9ab9 GIT binary patch literal 20480 zcmeHO?T;Hr8Q(U%)IeHjQKd>%JKbJlU*xmzrJ>|5cI5bc$tlU@bax>MNwCJdV|$wQ z?sjK=7qTFUR4*|mL_ zT*^08w5GqDy)*O7GrxJ}nR%WaTGL-zKE=LJnzQivtYs}eaZ~+`y*F7eU9zmMbS{f1 zrji?eHkF7rMKm=%bHi%Z*Aju{PM~->^!gp?EBt5&e%T59wupr9h_d5xrJ7+k@I`(2 z^c44brziZlBz@<`-DIU10~rImFfcbeGkw2(AG_oBGrQEt9%l?>3}g&s3}g&s3}g&s z3}g&s4E(<`5QlrL4=}i!fi>W!1Ruj+qysF966o0;paxLvO~12G#z4kE#z4kE#z4kE z#z4kE#z4kE#z4kE#z4lvM~4CKTGopQ?(h0IbVk5WIe>R>v#fW3UjyFYTY%r( zYFR%7o(0YUcLJ~NwXB~3KLwfq177`%WxWDC4?G7v27DdxfO+8az#YII;P;=ltfzr_ z;1F;R@cySP>pkFg;OD^ifQNw)I0x(p?gwrK-pyIoUxB{>e+Hfdo&}x(t^y~3B5)`0 z$6GAxyTEq<4>$_sfqQ|wfZKt$KM8q&2ULMC0&~D#;GIuc*6)Cqfv14uz~_KpfWN1K z!@zw2@wo@s3;YYolz#$$1AYuNfVaT;D?kl+0m+y1z&W4}+zI>^NtT~bq9vD`aOI{a zRXkN)7jeUnBPrCXh*o(=6lSL<7j{-z@ArB<8WfrZd!s8Ai+Rfv%#|wi_&_o4d5mvz z>FLL#dlxJUf}SebliMURR$;!_LUXM{!5%f(;4NjNGQ+2QfI&HSTyR%J>_A!T?MeS~ z5DLG-?8BUOBhjwpkI=P`id~v$9&2n|$kVUG4{BUw@YBg z6`qKNJz28zEa&qcnp1Ch+}wAfaeiN(u~^0)9_#9hx;l%APh3KY2D&BbL!+NaGy+%u zl}1LHTy9JsQZ&(qv5`LXI8|s|p9Y>^Pn#Ts4nK#>n6*^L;nU$4?#Yf{$@iq|dZ2B@ zO+6Ak7G~N-$fKC<-5BLYn!zaY)%|`;g@%KnSpDUC^RlDA@o6ISZbBmXPx~_*k!@39 z7lx(T#fX@S2Q)D)?p*FfLEm@h?_Zk6{|+sL+;yejnLij_S;$uzvq+fSwPzA%HcSz+ls~vQuSLsOq1s9qOGUW z;ke=CU9{OI_xhr8(bm>g*H4Mzi+1&*pI8-XH7?qay=(C}<=5%CEq$rFJ9}QzPd}{Z z!(qbtMLQN(;we3o^O5Xy@0Em5w3j2m!_(& zrYj?63`1zQrZm`8#{W!*YXOIqoa79!X6Zddms2Ki@7A3hH-E>GepX`d1J^N^KI8aL55CAec^Mm| z@My+q=1E4f+{ZM~lCiVK11%P6buiINKQT77bEbyQOeK{^?oF8%u(mbrm(YFc`Lr?T z9<_4qzHeq{Xt-7m4I0LbnZ759VYunu&Q#D7SPg#1?7&w^W8?hDz+{K0oG@SYMrz7j zKjnB-zc2N(iM~X|aaDG^mdOfIOuPHIJ$eHmk|N+npG?sO)LbdyI$3tG%$p9*Vp zPYHCWYZ#xQ2Pu@+#;hk=y}AO&&Mx5_bSbvI3L8}bO~YbLuZp#;D84C@NjD4)RWXZ? zy17OUooPZGEJgy&K#UTOC!3f!93Wy5jjL%3TyC|=uI&cCG14IpJkKsN`;jdnP0^R} zO&9rr(`7B8aFv$MR3qW8P);O6TBUj=tYeOu7x*2Vv&b1=^l24zg%{G{$P5TNDRT%+ z24o+Hncz6qVL_XnT&%4!>=1DzgrY_utA27BTT(PWvd~)`@0wQO@DeT?_7!@>4@3)e zrOC5b>E#dM$d-MlRAdJau?^7+aS&ehxFd>ey)SXbnVXv~vZL@%RP$7g zvFX{FnVG4Xx#Jq$4 z3_^ z`VkBC3Ydhu8!!*2(}>~5xxxhN(OyIRm<22_fvFocV6!RZ3BN^D>&YQC&5+?P6mFP*+B zxnj~PAFvJ|3A>?1@&B(7zrK#xmg4^!{=A7e|9RkXpaA57w-M+60r&yX2Nr;XzyrWr zi1(iXP5|#Ao_`VeCa?tD2E2-R{@cJ)zzN_%-~nI`m<8?y?gl8{e*$|E zxQoYai9{%+PjMQUR|CYxSLUO>C!%@lDq?YpAqhFkjCz4{8G&9JHd35|JPIpFge~#d zb42mmg2qVnf=!{D7bdmPRO&>4jD`-&Ogx41^tdN_EfJ+jBiFyA`^%whlr+I` z(tb@`i}2HPc{o)?Y`(ZsFv;w#E(Qt3O-Wl&ih>dnlw8!6mEaNLuYz6JUodf}4p=Mn ze^fk%6k~Y0y@C)=O%{w&l)z3|po}?!Ium=^j-Mvbjbz6i5@r-czR6_0F658a)*E>< zDuiH3iWyn*Bp9WL!YIQi%^4=aSsKz)R>crIOeLJwhh(Ii1}sS#=pX~H1CS)(Z8|k? zi9AIL6roYdY{&qjl0MGUn5A)<2|Z(j&}pTl)wT>9rKTt!Lc?xS=3i?Cj)z%{#0uI` z(4&wU86GkQ$}%BtBuxyXqnJ*a3=4(t=_L0h%*BMRwfaef(mSSWDe!BKgXk~DoNTO} zX}}&@Tp`{|=I4MtS!7fIW5Su=lu~BdbuiodfLz2^S5UmVU3-&0h9A%iA`)>w@(XF6 zNZV%m1H_oL&{WkJ8xa#z_=(5`V~@LqJY}>gtx$?XFQ2FcA;d%47AX^C=nFP7Ix#G4 z{A04!NWKYRkuATjP z967hHevy?JR$#@?6UT@$@AS!e|jvJCS+d~hC{1$5q3IBhzt z%zPyCC@(l!wDjooKi4S3Z1aYQR2ln_M;Y2bUeZ#&4$Iaw*YW=$#OO}~6#wHt>mP{s z-vIs&ybOE`m;osM|0OU5{0Omr16Tygz|8=?>(_EVQfH-1*^GgVfsBESfsBESfsBES zfsBESf&U2uJ0cZ|CbPS)`mRKF*Oe|4=u2VxBC5FwjJ#p`$?m#ZL`9Nf+x4z1p=;MLMV`WDCwahq|g`bAqbO5B8x}}w}_%3`<|J(bMLM@cm0zO(i!;d z%$@no+28rj@BDt}p1Gy2E$fHq%Fg8k+k8USzc8bJ>mP*dTSiF5(s%Gc$SWz<{kF}QcB8UZ3Md7X0!jg;fKosypcGIFCGh)Y|k_!NM|1Z}74$dRw z4e&G=1>Im7SORVZbHFU{+bx8g1Si1f;1lp6cm!+!{h$CI01Lou@XyVJ{0@ErKY@K< z5Uc@3@E}+S?gaC}vAKjC0exV64k15+)8HgH0gi*C;0UOJDqvt6*bMSu1;~N-ZzALn zI0#+``@vrD9M}!oz)bKr7Cy$oIq)+$15SgFzya_IcnRzQ&x2LqA+Q820CU0K+3*Fp zzyu6z1M5H^=mo#tNXS`m27C)nfX~3k;4nA@UIPok`5OrN6O4ni;0N#pI0lY@72xYx zXagJtpMt~S1Mn_*2fPYi277=DOu)c**AsFId(1`EI)U>;}#-(!L3 z8}Jp_0ycqlU^U2trC<@b8yrAv?E^1@XTdW-##=roj3S!Do|SA~jE;hMhYM|OdCT>y zf{GEJ7c{-X^&KT|mquOY;Irwi_1ymSXCs?@VR`O$U86N-SEap1NAJln>R0RW^s2J<_s;;0_{M=3W~*!g-xj zm+z!rKyA)ymTO+M&V*@aaFo@Vuw`e$?9S-IsxiT-!` z3saAXwO-&b5z_c(ZnQL$fgc-E%g7jqaf2ESttT-QyIYRgx~;H;4P!aZDxMc|^u8nl z&Z+RIZ!^TM!F?78Jaj=VSBj=xFih`tOQGM}hDPFMr;s*RAFmkJ6q_`DlU-!N#+vH0@Q4(dO<{Oa060;`j37u*e ze3xi%PN~D|H>Q5$Sh`YAsY!2e7RsmTFV2q*;cvB^lcCQDJc4;!HQ9QMbYMT_>7R7aA)hY2tcxQ+mTa9HtjQDya`J@nnH1Wmh z!e@F{2dy#}mV@Vz%my-?t=nb0Terw?xPBQ4i5hGqdZ=l);=%Wy#?GLpGda4F$by^F&OSDW-~ zYOyKzPY^2+u;IM!)_s;oQ@WZ;rn?iA+K4$m^~%k206pNC^Q9U!PtK?APrZ%FRlT`e zaI8_uvc{{NB~aw%C|6%x$`35FB3KZ3I~#d_IPj3hg~j76Aq$91{YmE5@DqAr>CEnk zD#J)4(BuSRul+deZ4O#Tb^7m57-e;2;X4+HuA zA75R`UpO8I=fElO7LaQJkAtm1+HL}BQwk^rlmbctrGQdEDWDWk3Md7X0!jg;!2eYN zEVM-{KXS3YqeK2RJiRJkS#&zga2 z+2Xb#-wyd$KPLIONoq6Ktl~sL+rVnnb6Zw zQ1cQz0=xpE3KBOV3LYSc2>$UpHbG!qM`z?utJ#?|=bX=-Jzo9xjhkYlx=t8piJrco ztNRND`nE;X5B(h(CuU{l$h3?z8CU9SGq=%`@qx8oq}|$JH|>Q=W73UO&5u-9#!~sR zmbjkoOy|{5`LoaERW`r|<}<~18jf|umLu}22PBD zWKf`==;jo#L17FYJlFsmU;}J`4X^<=zy{a=8(;%$fDN#L6Jo#(h^{OUy#wa|fAbr_ z_cKHX;4OFqUV~TQId}#XXn+lH3E1EQD1gJ$hzAGY3-}0Lg2!M8u7mSn5ga1t5AYRy z2A{wO@E(|Y_5lwzzy{a=8(;%$fDNz#Hoykh02`Rcz-F6hk4T6;vdp#WMnk)qEN$J| zzE*A$S;eFu>PkCMEm2hRK_^g6var`Gdajm{cTf6Br5#H@jdhsG&ix3{lc3e3Ae<$v zuq&oZVrg=sSXmL15cA$fCc8W|>GPZ|;Y4Z6sUAxjrB!G3k9Vdhq!PcEhdg-`-lI-l z@EvD*dEB{c_76cfRelmiN{kGYjTC&)Yb=vAR-%;q@%z%>$px9Nj)&%pqgVtUis_account= TRUE; + $this->ui= get_userinfo(); + $this->dn= $dn; + $this->orig_dn= $dn; + $this->config= $config; + + /* Set base */ + if ($this->dn == "new"){ + $ui= get_userinfo(); + if(isset($_SESSION['depfilter']['depselect'])){ + $this->base = $_SESSION['depfilter']['depselect']; + }else{ + $this->base= dn2base($ui->dn); + } + } else { + $this->base= preg_replace ("/^[^,]+,/", "", $this->dn); + } + } + + function execute() + { + /* Reload departments */ + $this->config->departments= get_departments($this->dn); + $this->config->make_idepartments(); + $smarty= get_smarty(); + + $smarty->assign("goFonConferenceOptions", array("P"=>"Conference ",""=>"Conference without PIN")); + $smarty->assign("goFonConferenceOptionFormats", array("P"=>"Conference ",""=>"Conference without PIN")); + $smarty->assign("goFonConferenceOption" ,$this->goFonConferenceOption_P); + + foreach ($this->attributes as $val){ + $smarty->assign("$val", $this->$val); + $smarty->assign("$val"."ACL", chkacl($this->acl, "$val")); + if($this->$val){ + $smarty->assign($val."CHK", ""); + }else{ + $smarty->assign($val."CHK", " checked "); + } + } + $smarty->assign("bases", $this->config->idepartments); + $smarty->assign("base_select", $this->base); + return($smarty->fetch (get_template_path('generic.tpl', TRUE))); + } + + function clear_fields() + { + $this->dn= ""; + $this->base= ""; + $this->acl= "#none#"; + + foreach ($this->attributes as $val){ + $this->$val= ""; + } + } + + + function remove_from_parent() + { + $ldap= $this->config->get_ldap_link(); + $ldap->cd ($this->dn); + $ldap->recursive_remove(); + + /* Optionally execute a command after we're done */ + $this->handle_post_events('remove'); + } + + + /* Save data to object */ + function save_object() + { + if (isset($_POST['base'])){ + plugin::save_object(); + + /* Save base, since this is no LDAP attribute */ + if (chkacl($this->acl, "create") == ""){ + $this->base= $_POST['base']; + } + } + } + + + /* Check values */ + function check() + { + $message= array(); + + /* Permissions for that base? */ + $this->dn= "ou=$this->ou,".$this->base; + $acl= get_permissions ($this->dn, $this->ui->subtreeACL); + $acl= get_module_permission($acl, "department", $this->dn); + if (chkacl($acl, "create") != ""){ + $message[]= _("You have no permissions to create a department on this 'Base'."); + } + + /* Check for presence of this department */ + $ldap= $this->config->get_ldap_link(); + $attrs= $ldap->cat ($this->dn); + if ($this->orig_dn == "new" && !($attrs === FALSE)){ + $message[]= _("Department with that 'Name' already exists."); + } elseif ($this->orig_dn != $this->dn && !($attrs === FALSE)){ + $message[]= _("Department with that 'Name' already exists."); + } + + /* All required fields are set? */ + if ($this->ou == ""){ + $message[]= _("Required field 'Name' is not set."); + } + if ($this->description == ""){ + $message[]= _("Required field 'Description' is not set."); + } + + /* Validate and modify - or: spaghetti rules! */ + if ($this->ou == "incoming"){ + $message[]= _("The field 'Name' contains the reserved word 'incoming'.". + " Please choose another name."); + } + if (preg_match ('/[,#+:=>\\\\]/', $this->ou)){ + $message[]= _("The field 'Name' contains invalid characters."); + } + if (!is_phone_nr($this->telephoneNumber)){ + $message[]= _("The field 'Phone' contains an invalid phone number."); + } + if (!is_phone_nr($this->facsimileTelephoneNumber)){ + $message[]= _("The field 'Fax' contains an invalid phone number."); + } + + return $message; + } + + + /* Save to LDAP */ + function save() + { + plugin::save(); + + /* Write back to ldap */ + $ldap= $this->config->get_ldap_link(); + $ldap->cat($this->dn); + $a= $ldap->fetch(); + $ldap->cd($this->dn); + if (count($a)){ + $ldap->modify($this->attrs); + $this->handle_post_events('modify'); + } else { + $ldap->add($this->attrs); + $this->handle_post_events('add'); + } + show_ldap_error($ldap->get_error()); + + /* Optionally execute a command after we're done */ + $this->postcreate(); + } + +} + +?> diff --git a/plugins/gofon/conference/class_phoneConferenceManagment.inc b/plugins/gofon/conference/class_phoneConferenceManagment.inc new file mode 100644 index 000000000..f2e0bb69e --- /dev/null +++ b/plugins/gofon/conference/class_phoneConferenceManagment.inc @@ -0,0 +1,163 @@ + "Eins ist toll", "zwei" => "Zwei ist noch besser"); + + /* Headpage attributes */ + var $conferences = array(); + + /* attribute list for save action */ + var $attributes = array(); + var $objectclasses = array(); + var $conftab = false; + + /* Initialise Class */ + function phoneConferenceManagment ($config, $ui) + { + $this->ui = $ui; + $this->dn = ""; + $this->config = $config; + } + + /* Execute class and display something */ + function execute() + { + /* Reload departments */ + $this->config->departments = get_departments(); + $smarty = get_smarty(); + $display = ""; + $s_action = ""; // Will contain an action, like del or edit + $s_entry = ""; // The entry name for edit delete -... + + foreach($_POST as $post => $key){ + if(preg_match("/.*new.*/i",$post)){ + $s_action = "new"; + } + } + + if($s_action == "new"){ + $this->dn= "new"; + $this->conftab= new conferencetabs($this->config,$this->config->data['TABS']['CONFERENCETABS'], $this->dn); + $this->conftab->set_acl(array(':all')); + } + + /* if edit or new, show dialog */ + if($this->conftab){ + $display= $this->conftab->execute(); + + /* Don't show buttons if tab dialog requests this */ + if (!$this->conftab->by_object[$this->conftab->current]->dialog){ + $display.= "

\n"; + $display.= "\n"; + $display.= " \n"; + $display.= "\n"; + $display.= "

"; + } + return ($display); + } + + $this->reload(); + $listhead = "
+   +
"; + $actions = ""; + $actions.= ""; + $linkopen= "%s"; + + /* Set Header */ + $divlist = new divlist("conferenceTabs"); + $divlist->SetSummary(_("This table displays all available conference rooms.")); + $divlist->SetEntriesPerPage(20); + $divlist->SetHeader(array( + array("string" => " "), + array("string" =>_("Name / nummer")), + array("string" =>_("Actions"), "attach" => "style='text-align: right;border:none'"))); + + foreach($this->conferences as $conference ){ + $field1 = array("string"=>""); + $field2 = array("string"=>$conference['cn'][0]); + $field3 = array("string"=>""); + $divlist->AddEntry(array($field1,$field2,$field3)); + } + + $smarty->assign("search_image", get_template_path('images/search.png')); + $smarty->assign("tree_image", get_template_path('images/tree.png')); + $smarty->assign("infoimage", get_template_path('images/info.png')); + $smarty->assign("launchimage", get_template_path('images/launch.png')); + $smarty->assign("conferences", $divlist->DrawList()); + $smarty->assign("conferencehead", $listhead); + $smarty->assign("deplist", $this->config->idepartments); + $smarty->assign("apply", apply_filter()); + $smarty->assign("alphabet", generate_alphabet()); + $smarty->assign("hint", print_sizelimit_warning()); + + $display= $smarty->fetch(get_template_path('headpage.tpl', TRUE)); + return($display); + } + + + function reload() + { + $base = "dc=gonicus,dc=de"; + $this->conferences= get_list($this->ui->subtreeACL, "(objectClass=goFonAccount)",TRUE, $base, array("*"), TRUE); + + } + + function remove_from_parent() + { + $ldap= $this->config->get_ldap_link(); + $ldap->cd ($this->dn); + $ldap->recursive_remove(); + + /* Optionally execute a command after we're done */ + $this->postremove(); + + /* Delete references to object groups */ + $ldap->cd ($this->config->current['BASE']); + $ldap->search ("(&(objectClass=gosaGroupOfNames)(member=".$this->dn."))", array("cn")); + while ($ldap->fetch()){ + $og= new conftab($this->config, $ldap->getDN()); + unset($og->member[$this->dn]); + $og->save (); + } + + } + + function remove_lock() + { + if (isset($this->dn)){ + del_lock ($this->dn); + } + } + +} +// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: +?> diff --git a/plugins/gofon/conference/generic.tpl b/plugins/gofon/conference/generic.tpl new file mode 100644 index 000000000..3c7e55a2d --- /dev/null +++ b/plugins/gofon/conference/generic.tpl @@ -0,0 +1,163 @@ + + + + + + + + + + + + +
+

+ {t}Properties{/t} +

+ + + + + + + + + + + + + + + + + +
+ + {$must} + + +
+ + {$must} + + +

{$must} + +
+ +
+

{t}Location{/t}

+ + + + + + + + + + +
+ {t}Lifetime in days{/t} + + +
+ {t}Number{/t} + + +
+ +
+

 

+
+

{t}Options{/t}

+ + + + + + + + + + + + + + + + + + + +
+ + {t}PIN vorgeben{/t} +
+   {t}PIN{/t} + + +
+

+
+ + {t}Record Conference{/t} +
+   {t}Format{/t} + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ {t}Play music on hold{/t} + + +
+ {t}Activate menu{/t} + + +
+ {t}Announce new or leaving user{/t} + + +
+ {t}Count user{/t} + + +
+ +
+ + + diff --git a/plugins/gofon/conference/headpage.tpl b/plugins/gofon/conference/headpage.tpl new file mode 100644 index 000000000..065e3ab5c --- /dev/null +++ b/plugins/gofon/conference/headpage.tpl @@ -0,0 +1,31 @@ + + + + + +
+
+

+ {t}List of conference rooms{/t} {$hint} +

+
+
+ {$conferencehead} +
+
+
+ {$conferences} + +
+
+
+

[i]{t}Information{/t}

+
+
+

+ {t}This menu allows you to create, delete and edit selected departments. Having a large size of departments, you might prefer the range selectors on top of the department list.{/t} +

+
+
+ + diff --git a/plugins/gofon/conference/main.inc b/plugins/gofon/conference/main.inc new file mode 100644 index 000000000..98b665dff --- /dev/null +++ b/plugins/gofon/conference/main.inc @@ -0,0 +1,55 @@ +remove_lock(); + del_lock ($ui->dn); + sess_del ('conference'); + } +} else { + /* Create usermanagement object on demand */ + if (!isset($_SESSION['conference']) || (isset($_GET['reset']) && $_GET['reset'] == 1)){ + $_SESSION['conference']= new phoneConferenceManagment($config, $ui); + } + $conference= $_SESSION['conference']; + $output= $conference->execute(); + + /* Page header*/ + if (isset($_SESSION['objectinfo'])){ + $display= print_header(get_template_path('images/conference.png'), _("conference management"), "\"\" ".$_SESSION['objectinfo']); + } else { + $display= print_header(get_template_path('images/conference.png'), _("conference management")); + } + + /* Reset requested? */ + if (isset($_GET['reset']) && $_GET['reset'] == 1){ + del_lock ($ui->dn); + sess_del ('conference'); + } + + /* Show and save dialog */ + $conference->save_object(); + $display.= $output; + $_SESSION['conference']= $conference; +} + +?> diff --git a/plugins/gofon/conference/remove.tpl b/plugins/gofon/conference/remove.tpl new file mode 100644 index 000000000..543d1da34 --- /dev/null +++ b/plugins/gofon/conference/remove.tpl @@ -0,0 +1,19 @@ +
+  {t}Warning{/t} +
+ +

+ {$info} + {t}This includes all accounts, systems, etc. in this subtree. Please double check if your really want to do this since there is no way for GOsa to get your data back.{/t} +

+ +

+ {t}Best thing to do before performing this action would be to save the current contents of your LDAP tree in a file. So - if you've done so - press Delete to continue or Cancel to abort.{/t} +

+ +

+ +   + +

+ diff --git a/plugins/gofon/conference/tabs_conference.inc b/plugins/gofon/conference/tabs_conference.inc new file mode 100644 index 000000000..a3497db29 --- /dev/null +++ b/plugins/gofon/conference/tabs_conference.inc @@ -0,0 +1,34 @@ +base= $this->by_object['conference']->base; + } + + function check() + { + return (tabs::check(TRUE)); + } + + + function save() + { + $baseobject= $this->by_object['conference']; + $new_dn= 'ou='.$baseobject->ou.','.$baseobject->base; + + if ($this->dn != $new_dn && $this->dn != "new"){ + $baseobject->recursive_move($this->dn, $new_dn); + } + $this->dn= $new_dn; + + tabs::save(TRUE); + } + +} + +?> -- 2.30.2