diff --git a/admin/doc/adminconfig.dvi b/admin/doc/adminconfig.dvi index 53c4225c7e..37a2b113da 100644 Binary files a/admin/doc/adminconfig.dvi and b/admin/doc/adminconfig.dvi differ diff --git a/admin/doc/adminconfig.pdf b/admin/doc/adminconfig.pdf index 34dd19a17f..0fe48eaa24 100644 Binary files a/admin/doc/adminconfig.pdf and b/admin/doc/adminconfig.pdf differ diff --git a/admin/doc/adminconfig.ps b/admin/doc/adminconfig.ps index 3ff9c89b06..5d575171d0 100644 --- a/admin/doc/adminconfig.ps +++ b/admin/doc/adminconfig.ps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: adminconfig.dvi -%%Pages: 6 +%%Pages: 4 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: Helvetica-Bold Times-Roman Courier Times-Italic @@ -9,7 +9,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -t letter -o adminconfig.ps adminconfig.dvi %DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2001.12.22:1805 +%DVIPSSource: TeX output 2004.01.25:2344 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -315,18 +315,18 @@ setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end %%EndProcSet TeXDict begin 40258431 52099146 1000 600 600 (adminconfig.dvi) @start /Fa 138[42 2[32 1[42 42 42 60 3[23 42 42 1[37 -42 37 1[42 9[69 15[60 16[42 42 42 42 42 42 1[23 21 43[42 -2[{TeXBase1Encoding ReEncodeFont}24 83.022 /Times-Italic +42 37 1[42 9[69 15[60 18[42 42 42 42 1[23 21 43[42 2[{ +TeXBase1Encoding ReEncodeFont}22 83.022 /Times-Italic rf /Fb 107[45 22[45 1[45 1[45 45 45 45 45 45 45 45 1[45 45 45 45 45 45 1[45 45 45 45 45 45 45 45 45 1[45 1[45 45 45 5[45 45 45 2[45 45 45 1[45 2[45 1[45 45 45 45 45 45 45 2[45 45 45 45 45 7[45 1[45 45 45 45 45 1[45 45 45 45 45 1[45 1[45 45 33[{TeXBase1Encoding ReEncodeFont}64 -74.7198 /Courier rf /Fc 137[66 73 40 1[47 73 73 73 73 -1[33 66 1[33 73 73 1[66 73 66 1[66 1[66 43[66 66 66 2[33 -4[40 40 37[73 2[{TeXBase1Encoding ReEncodeFont}25 119.552 -/Helvetica-Bold rf /Fd 140[80 6[40 2[40 3[80 30[88 20[80 -2[40 46[{TeXBase1Encoding ReEncodeFont}7 143.462 /Helvetica-Bold +74.7198 /Courier rf /Fc 137[55 61 33 1[39 61 61 61 61 +1[28 55 1[28 61 61 1[55 61 55 1[55 1[55 43[55 55 55 2[28 +4[33 33 37[61 2[{TeXBase1Encoding ReEncodeFont}25 99.6264 +/Helvetica-Bold rf /Fd 140[66 6[33 2[33 3[66 30[73 20[66 +2[33 46[{TeXBase1Encoding ReEncodeFont}7 119.552 /Helvetica-Bold rf /Fe 107[37 22[40 1[40 1[42 42 60 42 42 23 32 28 1[42 42 42 65 23 42 1[23 42 42 28 37 42 37 42 37 1[42 1[28 1[28 2[60 78 2[51 46 55 1[46 60 60 74 51 2[28 60 60 46 @@ -346,188 +346,180 @@ letter %%EndSetup %%Page: 1 1 -1 0 bop Black 0 TeXcolorgray Black Black 505 647 a Ff(phpGr)l(oupW)-8 -b(are)58 b(admin/con\002g.php)695 879 y Fe(A)21 b(brief)e(introduction) -f(to)i(writing)g(hooks)f(and)h(templates)g(for)f(an)o(y)h(application)e -(to)j(use)f(this)695 987 y(admin)f(interf)o(ace,)h(by)695 -1136 y(Miles)h(Lott)f()15 -b(Dec)20 b(22,)g(2001.)-2 1854 y Fd(1.)39 b(Files)-2 -2182 y Fc(1.1.)34 b(con\002g.tpl)h(\(required\))396 2350 +1 0 bop Black 0 TeXcolorgray Black Black 637 140 a Ff(eGr)l(oupW)-8 +b(are)57 b(admin/con\002g.php)542 373 y Fe(A)20 b(brief)g(introduction) +d(to)k(writing)e(hooks)g(and)h(templates)g(for)g(an)o(y)f(application)g +(to)h(use)g(this)h(admin)542 481 y(interf)o(ace,)e(by)542 +630 y(Miles)h(Lott)h()15 +b(Dec)20 b(22,)g(2001.)-2 1298 y Fd(1.)34 b(Files)396 +1586 y Fc(1.1.)28 b(con\002g.tpl)f(\(required\))396 1743 y Fe(In)20 b(your)f(application/templates/def)o(ault)e(directory)-5 b(,)18 b(create)i(a)g(ne)n(w)g(template)g(\002le)h(named)e -('con\002g.tpl'.)f(This)i(will)396 2458 y(be)g(included)f(by)h +('con\002g.tpl'.)f(This)i(will)396 1851 y(be)g(included)f(by)h (con\002g.php)d(and)j(used)g(to)g(dra)o(w)g(the)g(page.)f(This)i (template)e(should)h(include)f(a)h(POST)h(method)396 -2566 y(form.)e(The)h(follo)n(wing)f(template)g(tags)i(may)e(be)i(used:) -p Black 463 2798 a(1.)p Black 40 w({action_url})e(-)h(A)h(phpgw->link)c -(to)j(con\002g.php)e(will)j(be)f(inserted.)p Black 463 -2947 a(2.)p Black 40 w({title})h(-)f(This)h(will)g(be)f(parsed)f(to)i -(display)e('Site)i(Con\002guration'.)p Black 463 3097 +1959 y(form.)e(The)h(follo)n(wing)f(template)g(tags)i(may)e(be)i(used:) +p Black 463 2192 a(1.)p Black 40 w({action_url})e(-)h(A)h(e)o(gw->link) +d(to)i(con\002g.php)e(will)j(be)f(inserted.)p Black 463 +2341 a(2.)p Black 40 w({title})h(-)f(This)h(will)g(be)f(parsed)f(to)i +(display)e('Site)i(Con\002guration'.)p Black 463 2491 a(3.)p Black 40 w({th_bg},{th_te)o(xt},{ro)n(w_on)o(},{r)o(o)n(w_)o(of) m(f})15 b(-)20 b(Replaced)g(with)g(the)g(current)f(theme)h(colors.)396 -3246 y(and)g(the)g(follo)n(wing)f(special)h(types:)p -Black 463 3479 a(1.)p Black 40 w({lang_XXX})f(-)i(Filled)f(with)h -(lang\('XXX'\).)p Black 463 3628 a(2.)p Black 40 w({v)n(alue_XXX})e(-)h +2640 y(and)g(the)g(follo)n(wing)f(special)h(types:)p +Black 463 2873 a(1.)p Black 40 w({lang_XXX})f(-)i(Filled)f(with)h +(lang\('XXX'\).)p Black 463 3022 a(2.)p Black 40 w({v)n(alue_XXX})e(-)h (Filled)h(with)f(the)g(current)f(v)n(alue)h(of)g(con\002g)f(item)h -('XXX'.)p Black 463 3778 a(3.)p Black 40 w({selected_XXX})g(-)g(set)h +('XXX'.)p Black 463 3171 a(3.)p Black 40 w({selected_XXX})g(-)g(set)h (to)f(\224,)h(or)f(')g(selected')g(if)g(an)h(option)d(v)n(alue)i(is)h -(current.)p Black 463 3927 a(4.)p Black 40 w({hook_XXX})d(-)j(Calls)g +(current.)p Black 463 3321 a(4.)p Black 40 w({hook_XXX})d(-)j(Calls)g (a)g(function)d(named)h(XXX)i(\(will)f(be)h(discussed)f(later\).)396 -4077 y(F)o(ollo)n(wing)f(is)i(an)f(e)o(xample)f(from)g(the)h -(addressbook)e(application:)396 4257 y Fb()396 4354 y()441 4451 y()486 -4548 y()396 3748 y()441 3845 y()486 +3942 y( {title}<)o(/td>)441 -4645 y()i()486 4742 y()i()486 4136 y( {error})441 -4840 y()p Black 3842 5278 a Fa(1)p Black eop -%%Page: 2 2 -2 1 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8 -b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 396 579 a -Fb()396 676 y()441 -773 y()486 870 y( )441 967 y()441 1065 y()486 1162 y()396 4330 y()396 +4428 y()441 4525 y() +486 4622 y( )441 4719 y()441 +4816 y()486 4913 y( {lang_Addressbook}/{)o(lang_C)o(ontact)o(_Setti)o -(ngs}<)o(/b>)396 1259 y()441 1356 y()441 -1453 y()486 1550 y -({lang_Contact_application}:)486 1647 y()396 5010 y()441 5108 y()p +Black 3842 5569 a Fa(1)p Black eop +%%Page: 2 2 +2 1 bop Black 0 TeXcolorgray Black 2866 -132 a Fa(eGr)l(oupW)-8 +b(ar)m(e)20 b(admin/con\002g)o(.php)p Black 441 72 a +Fb()486 170 y +({lang_Contact_application}:)486 267 y()441 1745 y()396 -1842 y(...)396 2130 y Fe(Note)20 b(the)h(\002eldname,)e(ne)n +(value="{value_contact_application}">)441 364 y()396 +461 y(...)396 749 y Fe(Note)20 b(the)h(\002eldname,)e(ne)n (wsettings[contact_application].)c(This)20 b(array)f(name)h(must)g(be)g -(used)g(for)g(the)g(form)f(v)n(alues.)396 2238 y(Ne)o(xt,)h(note)g(the) -g(v)n(alue)f(setting)i(for)e(this)i(form)e(element,)g({v)n +(used)g(for)g(the)g(form)f(v)n(alues.)396 857 y(Ne)o(xt,)h(note)g(the)g +(v)n(alue)f(setting)i(for)e(this)i(form)e(element,)g({v)n (alue_contact_application}.)c(This)20 b(indicates)g(that)h(we)396 -2346 y(w)o(ant)g(the)f(current)f(v)n(alue)g(of)h(the)g(con\002g)g +965 y(w)o(ant)g(the)f(current)f(v)n(alue)g(of)h(the)g(con\002g)g (setting,)g('contact_application',)c(to)k(be)g(set)h(and)f(displayed)f -(on)g(the)i(form.)396 2454 y(Lastly)-5 b(,)20 b(look)f(at)i(the)f +(on)g(the)i(form.)396 1073 y(Lastly)-5 b(,)20 b(look)f(at)i(the)f (template)g(element,)f({lang_Contact_application}.)d(Here,)j(the)i(v)n -(alue)e(from)g(the)i(lang)e(db)h(table)396 2561 y(will)h(be)f(inserted) -g(if)g(a)n(v)n(ailable.)396 2711 y(Let')-5 b(s)21 b(tak)o(e)f(a)h(look) +(alue)e(from)g(the)i(lang)e(db)h(table)396 1181 y(will)h(be)f(inserted) +g(if)g(a)n(v)n(ailable.)396 1330 y(Let')-5 b(s)21 b(tak)o(e)f(a)h(look) e(at)i(part)f(of)g(the)g(preferences/def)o(ault/con\002g.tpl:)441 -2891 y Fb()486 2988 y +1510 y Fb()486 1608 y ({lang_Country_Selection})c (\({lang_Text_Entry}/{lang_SelectBox}\):)486 -3085 y()531 3182 y()396 -3280 y({hook_country_set})531 3377 y()486 3474 -y()441 3571 y()396 3859 y Fe(Here,)20 b(we)h(are)f(adding)f +1705 y()531 1802 y()396 +1899 y({hook_country_set})531 1996 y()486 2093 +y()441 2190 y()396 2478 y Fe(Here,)20 b(we)h(are)f(adding)f (a)h(ne)n(w)g(element,)f({hook_country_set}.)d(This)k(brings)f(up)h -(the)g(ne)o(xt)g(\002le)h(we)f(will)h(need)f(to)396 3967 -y(parse)g(this)h(v)n(alue...)-2 4337 y Fc(1.2.)34 b -(hook_con\002g.inc.php)j(\(optional\))396 4504 y Fe(At)21 +(the)g(ne)o(xt)g(\002le)h(we)f(will)h(need)f(to)396 2586 +y(parse)g(this)h(v)n(alue...)396 2923 y Fc(1.2.)28 b +(hook_con\002g.inc.php)f(\(optional\))396 3081 y Fe(At)21 b(each)f(in)m(v)n(ocation)e(of)i(con\002g.php,)d(a)k(call)g(to)f(the)g (common)f(class)i(function)d(hook_single\(\))f(is)k(made.)f(It)g -(attempts)396 4612 y(to)h(include)e(a)h(\002le,)h +(attempts)396 3189 y(to)h(include)e(a)h(\002le,)h (hook_con\002g.inc.php)14 b(as)21 b(a)g(set)g(of)f(code)f(for)h (con\002g.php)d(to)k(use.)f(In)g(the)g(case)h(of)f(the)g(preferences) -396 4720 y(e)o(xample)f(abo)o(v)o(e,)f(using)i(hook_country_set,)15 +396 3297 y(e)o(xample)f(abo)o(v)o(e,)f(using)i(hook_country_set,)15 b(here)20 b(is)h(the)f(corresponding)d(function)i(in)396 -4828 y(preferences/inc/hook_con\002g.)o(inc.p)o(hp)o(:)p -Black 3842 5278 a Fa(2)p Black eop -%%Page: 3 3 -3 2 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8 -b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 396 579 a -Fb(function)44 b(country_set\($config\))396 676 y({)576 -773 y($country)f(=)i(array\()f('user_choice')e(=>)j('Users)f(Choice',)f -('force_select')f(=>)j('Force)f(Se-)396 870 y(lectbox')g(\);)576 -967 y(while)g(\(list)g(\($key,)f($value\))h(=)h(each)f(\($country\)\)) -576 1065 y({)755 1162 y(if)g(\($config['countrylist'])d(==)k($key\))755 -1259 y({)934 1356 y($selected)f(=)g(')h(selected';)755 -1453 y(})755 1550 y(else)755 1647 y({)934 1745 y($selected)f(=)g(\224;) -755 1842 y(})755 1939 y($descr)g(=)g(lang\($value\);)755 -2036 y($out)g(.=)h(')j('Users)f +(Choice',)f('force_select')f(=>)j('Force)f(Selectbox')f(\);)576 +3877 y(while)h(\(list)g(\($key,)f($value\))h(=)h(each)f(\($country\)\)) +576 3974 y({)755 4071 y(if)g(\($config['countrylist'])d(==)k($key\))755 +4168 y({)934 4265 y($selected)f(=)g(')h(selected';)755 +4362 y(})755 4459 y(else)755 4556 y({)934 4654 y($selected)f(=)g(\224;) +755 4751 y(})755 4848 y($descr)g(=)g(lang\($value\);)755 +4945 y($out)g(.=)h('')f(.)h($descr)f(.)g('')f(.)i("\\n";)576 -2133 y(})576 2230 y(return)e($out;)396 2327 y(})396 2615 -y Fe(Note)20 b(again)g(the)g(template)f(v)n(alue)h(we)h(used)e(earlier) -m(,)h({hook_country_set}.)15 b(This)20 b(causes)h(con\002g.php)c(to)k -(look)e(for)h(a)396 2723 y(function)f(named)g(country_set\(\).)e(Since) -j(we)h(included)d(the)j(\002le)g(with)f(this)h(function)d(via)i(the)g -(hook_single\(\))d(call,)396 2831 y(this)k(function)d(is)k(e)o(x)o -(ecuted.)c(It')-5 b(s)21 b(return)e(is)i(a)f(string,)g(and)g(the)g -(function)e(prints)i(nothing)f(itself.)-2 3201 y Fc(1.3.)34 -b(hook_con\002g_v)n(alidate)r(.inc.php)39 b(\(optional\))396 -3369 y Fe(Once)20 b(the)g(admin)g(clicks)g(the)g(submit)g(b)n(utton)f -(to)i(post)f(the)g(form,)f(we)i(can)f(optionally)e(v)n(alidate)i(their) -g(input)f(using)396 3477 y(one)h(or)g(man)o(y)f(dif)n(ferent)f -(functions.)h(This)h(is)h(done)e(by)h(\002rst)h(making)e(another)g -(call)h(to)h(hook_single\(\))c(in)j(the)g(API)396 3584 -y(common)f(class.)h(This)h(time,)f(the)g(name)g(con\002g_v)n(alidate)d -(is)k(used,)f(so)h(common)d(tries)j(to)f(include)396 -3692 y('application/inc/hook_con\002g_)o(v)n(a)o(lidate.in)o(c.p)o(hp)o -('.)396 3842 y(If)g(this)h(\002le)g(e)o(xists,)f(it)h(sets)g(a)g(v)n -(ar)f(to)g(tell)h(con\002g.php)d(it)i(w)o(as)i(found.)c(F)o(ollo)n -(wing)h(then)g(are)h(functions)f(named)g(after)396 3950 -y(each)h(con\002g)f(we)i(w)o(ant)f(to)h(v)n(alidate.)e(The)h(follo)n -(wing)e(e)o(xample)h(is)i(for)f(addressbook:)576 4130 -y Fb($GLOBALS['phpgw_info']['server']['fou)o(nd_val)o(idatio)o(n_hook)o -('])39 b(=)45 b(True;)576 4227 y(/*)f(Check)g(a)h(specific)e(setting.)h -(Name)g(must)g(match)g(the)g(setting.)g(*/)576 4324 y(function)f -(ldap_contact_context\($value=\224\))576 4421 y({)755 -4518 y(if\($value)g(==)i($GLOBALS['phpgw_info']['server']['ldap)o -(_conte)o(xt']\))755 4616 y({)934 4713 y($GLOBALS['config_error'])c(=)k -('Contact)e(context)h(for)g(ldap)g(must)g(be)h(differ-)396 -4810 y(ent)g(from)f(the)g(context)g(used)g(for)g(accounts';)p -Black 3842 5278 a Fa(3)p Black eop -%%Page: 4 4 -4 3 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8 -b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 755 579 a -Fb(})755 676 y(elseif\($value)43 b(==)h +5042 y(})576 5139 y(return)e($out;)p Black 3842 5569 +a Fa(2)p Black eop +%%Page: 3 3 +3 2 bop Black 0 TeXcolorgray Black 2866 -132 a Fa(eGr)l(oupW)-8 +b(ar)m(e)20 b(admin/con\002g)o(.php)p Black 396 72 a +Fb(})396 361 y Fe(Note)g(again)g(the)g(template)f(v)n(alue)h(we)h(used) +e(earlier)m(,)h({hook_country_set}.)15 b(This)20 b(causes)h +(con\002g.php)c(to)k(look)e(for)h(a)396 468 y(function)f(named)g +(country_set\(\).)e(Since)j(we)h(included)d(the)j(\002le)g(with)f(this) +h(function)d(via)i(the)g(hook_single\(\))d(call,)396 +576 y(this)k(function)d(is)k(e)o(x)o(ecuted.)c(It')-5 +b(s)21 b(return)e(is)i(a)f(string,)g(and)g(the)g(function)e(prints)i +(nothing)f(itself.)396 913 y Fc(1.3.)28 b(hook_con\002g_v)n(alidate)r +(.inc.php)g(\(optional\))396 1071 y Fe(Once)20 b(the)g(admin)g(clicks)g +(the)g(submit)g(b)n(utton)f(to)i(post)f(the)g(form,)f(we)i(can)f +(optionally)e(v)n(alidate)i(their)g(input)f(using)396 +1179 y(one)h(or)g(man)o(y)f(dif)n(ferent)f(functions.)h(This)h(is)h +(done)e(by)h(\002rst)h(making)e(another)g(call)h(to)h(hook_single\(\))c +(in)j(the)g(API)396 1287 y(common)f(class.)h(This)h(time,)f(the)g(name) +g(con\002g_v)n(alidate)d(is)k(used,)f(so)h(common)d(tries)j(to)f +(include)396 1395 y('application/inc/hook_con\002g_)o(v)n(a)o +(lidate.in)o(c.p)o(hp)o('.)396 1544 y(If)g(this)h(\002le)g(e)o(xists,)f +(it)h(sets)g(a)g(v)n(ar)f(to)g(tell)h(con\002g.php)d(it)i(w)o(as)i +(found.)c(F)o(ollo)n(wing)h(then)g(are)h(functions)f(named)g(after)396 +1652 y(each)h(con\002g)f(we)i(w)o(ant)f(to)h(v)n(alidate.)e(The)h +(follo)n(wing)e(e)o(xample)h(is)i(for)f(addressbook:)576 +1833 y Fb($GLOBALS['phpgw_info']['server']['fou)o(nd_val)o(idatio)o +(n_hook)o('])39 b(=)45 b(True;)576 1930 y(/*)f(Check)g(a)h(specific)e +(setting.)h(Name)g(must)g(match)g(the)g(setting.)g(*/)576 +2027 y(function)f(ldap_contact_context\($value=\224\))576 +2124 y({)755 2221 y(if\($value)g(==)i +($GLOBALS['phpgw_info']['server']['ldap)o(_conte)o(xt']\))755 +2318 y({)934 2415 y($GLOBALS['config_error'])c(=)k('Contact)e(context)h +(for)g(ldap)g(must)g(be)h(different)e(from)h(the)h(context)e(used)i +(for)f(accounts';)755 2512 y(})755 2610 y(elseif\($value)f(==)h ($GLOBALS['phpgw_info']['server']['ldap_g)o(roup_)o(contex)o(t']\))755 -773 y({)934 870 y($GLOBALS['config_error'])d(=)k('Contact)e(context)h -(for)g(ldap)g(must)g(be)h(differ-)396 967 y(ent)g(from)f(the)g(context) -g(used)g(for)g(groups';)755 1065 y(})755 1162 y(else)755 -1259 y({)934 1356 y($GLOBALS['config_error'])d(=)k(\224;)755 -1453 y(})576 1550 y(})396 1838 y Fe(Here)20 b(we)f(created)g(a)h +2707 y({)934 2804 y($GLOBALS['config_error'])d(=)k('Contact)e(context)h +(for)g(ldap)g(must)g(be)h(different)e(from)h(the)h(context)e(used)i +(for)f(groups';)755 2901 y(})755 2998 y(else)755 3095 +y({)934 3192 y($GLOBALS['config_error'])d(=)k(\224;)755 +3290 y(})576 3387 y(})396 3675 y Fe(Here)20 b(we)f(created)g(a)h (function)e(to)i(check)e(the)i(entered)e(v)n(alue)h(for)g(the)g (con\002g)g(item,)g(ldap_contact_conte)o(xt.)c(W)-7 b(e)21 -b(w)o(ant)396 1946 y(to)g(mak)o(e)e(sure)h(the)h(admin)e(did)h(not)g +b(w)o(ant)396 3783 y(to)g(mak)o(e)e(sure)h(the)h(admin)e(did)h(not)g (set)h(this)f(v)n(alue)g(to)g(one)g(which)g(w)o(ould)f(con\003ict)h -(with)g(another)f(con\002g)g(item,)h(used)396 2054 y(for)g(accounts)f -(or)h(groups)f(in)h(phpGroupW)-7 b(are.)396 2204 y(con\002g.php)18 +(with)g(another)f(con\002g)g(item,)h(used)396 3891 y(for)g(accounts)f +(or)h(groups)f(in)h(eGroupW)-7 b(are.)396 4040 y(con\002g.php)18 b(calls)j(this)g(function,)d(sending)h(it)i(the)f(POST)-6 b(ed)20 b(v)n(alue.)f(con\002g.php)f(continues,)h(adding)g(all)h(other) -g(con\002g)396 2312 y(items)h(from)e(the)h(POST)-6 b(ed)21 -b(v)n(alues.)396 2461 y(The)f(v)n(ariable)f($GLOB)m +g(con\002g)396 4148 y(items)h(from)e(the)h(POST)-6 b(ed)21 +b(v)n(alues.)396 4297 y(The)f(v)n(ariable)f($GLOB)m (ALS['con\002g_error'])c(is)21 b(parsed)f(through)e(lang\(\),)h(then)g -(appended)f(to)j(the)f(local)g(v)n(ariable,)396 2569 +(appended)f(to)j(the)f(local)g(v)n(ariable,)396 4405 y($error)-5 b(.)19 b(If)h(this)h(has)f(an)o(y)g(v)n(alue)f(after)h(the) g(POST)-6 b(ed)20 b(v)n(ariables)g(are)g(check)o(ed,)f(the)h(form)f -(then)h(has)g(its)h({error})e(tag)396 2677 y(\002lled)i(with)f(this)h +(then)h(has)g(its)h({error})e(tag)396 4513 y(\002lled)i(with)f(this)h (result.)f(The)g(form)f(is)i(displayed)e(again,)g(with)h(the)g(error)-5 b(.)20 b(If)g($error)e(has)j(no)e(v)n(alue,)h(con\002g.php)396 -2785 y(redirects)g(to)g(admin/inde)o(x.php.)396 2934 +4621 y(redirects)g(to)g(admin/inde)o(x.php.)396 4771 y(Ho)n(we)n(v)o(er)m(,)e(there)i(is)h(one)f(more)f(function)g(that)h (may)g(be)g(included)e(in)j(hook_con\002g_v)n(alidate.inc)o(.ph)o(p:) -576 3114 y Fb(/*)44 b(Check)g(all)g(settings)g(to)g(validate)g(input.)g -(Name)g(must)g(be)h('final_validation')c(*/)576 3212 -y(function)i(final_validation\($value=\224\))576 3309 -y({)755 3406 y(if\($value['contact_repository'])d(==)k('ldap')g(&&)g -(!$value['ldap_contact_dn']\))755 3503 y({)934 3600 y +576 4951 y Fb(/*)44 b(Check)g(all)g(settings)g(to)g(validate)g(input.)g +(Name)g(must)g(be)h('final_validation')c(*/)576 5048 +y(function)i(final_validation\($value=\224\))576 5145 +y({)p Black 3842 5569 a Fa(3)p Black eop +%%Page: 4 4 +4 3 bop Black 0 TeXcolorgray Black 2866 -132 a Fa(eGr)l(oupW)-8 +b(ar)m(e)20 b(admin/con\002g)o(.php)p Black 755 72 a +Fb(if\($value['contact_repository'])40 b(==)k('ldap')g(&&)g +(!$value['ldap_contact_dn']\))755 170 y({)934 267 y ($GLOBALS['config_error'])d(=)k('Contact)e(dn)i(must)f(be)g(set';)755 -3697 y(})755 3794 y(elseif\($value['contact_repository'])39 +364 y(})755 461 y(elseif\($value['contact_repository'])39 b(==)44 b('ldap')g(&&)h(!$value['ldap_contact_context']\))755 -3891 y({)934 3989 y($GLOBALS['config_error'])c(=)k('Contact)e(context)h -(must)g(be)h(set';)755 4086 y(})755 4183 y(else)755 4280 -y({)934 4377 y($GLOBALS['config_error'])c(=)k(\224;)755 -4474 y(})576 4571 y(})p Black 3842 5278 a Fa(4)p Black -eop -%%Page: 5 5 -5 4 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8 -b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 396 579 a -Fe(con\002g.php)f(checks)i(for)f(the)h(e)o(xistence)g(of)g(the)g -(function)e('\002nal_v)n(alidation\(\)'.)f(This)j(function)e(can)i(be)g -(used)g(to)396 687 y(check)g(all)g(form)g(v)n(alues)f(at)i(once.)e(It)i -(gets)f(sent)h(the)f(entire)g($ne)n(wsettings)f(array)g(POST)-6 -b(ed)21 b(from)e(the)h(form.)f(As)i(with)396 795 y(the)f(other)g -(functions)f(in)h(this)h(\002le,)f(\002nal_v)n(alidation\(\))d(should)j -(set)h($GLOB)m(ALS['con\002g_error'])15 b(if)20 b(there)g(is)h(a)396 -903 y(problem.)p Black 3842 5278 a Fa(5)p Black eop -%%Page: 6 6 -6 5 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8 -b(ar)m(e)19 b(admin/con\002g)o(.php)p Black Black 3840 -5278 a(6)p Black eop +558 y({)934 655 y($GLOBALS['config_error'])c(=)k('Contact)e(context)h +(must)g(be)h(set';)755 752 y(})755 850 y(else)755 947 +y({)934 1044 y($GLOBALS['config_error'])c(=)k(\224;)755 +1141 y(})576 1238 y(})396 1526 y Fe(con\002g.php)18 b(checks)i(for)f +(the)h(e)o(xistence)g(of)g(the)g(function)e('\002nal_v)n +(alidation\(\)'.)f(This)j(function)e(can)i(be)g(used)g(to)396 +1634 y(check)g(all)g(form)g(v)n(alues)f(at)i(once.)e(It)i(gets)f(sent)h +(the)f(entire)g($ne)n(wsettings)f(array)g(POST)-6 b(ed)21 +b(from)e(the)h(form.)f(As)i(with)396 1742 y(the)f(other)g(functions)f +(in)h(this)h(\002le,)f(\002nal_v)n(alidation\(\))d(should)j(set)h +($GLOB)m(ALS['con\002g_error'])15 b(if)20 b(there)g(is)h(a)396 +1850 y(problem.)p Black 3842 5569 a Fa(4)p Black eop %%Trailer end userdict /end-hook known{end-hook}if