1 %define _hordeapp ulaform
2 %define _snap 2007-03-15
6 Summary: A form generation/processing tool
7 Summary(pl.UTF-8): Narzędzie do generowania/przetwarzania formularzy
8 Name: horde-%{_hordeapp}
10 Release: %{?_rc:0.%{_rc}.}%{?_snap:0.%(echo %{_snap} | tr -d -).}%{_rel}
12 Group: Applications/WWW
13 Source0: ftp://ftp.horde.org/pub/snaps/%{_snap}/%{_hordeapp}-HEAD-%{_snap}.tar.gz
14 # Source0-md5: d73d464356d6345a0922f0b254d0a237
16 URL: http://www.horde.org/ulaform/
17 BuildRequires: migrate-to-webapps
18 BuildRequires: rpm-php-pearprov >= 4.0.2-98
19 BuildRequires: rpmbuild(macros) >= 1.268
20 BuildRequires: tar >= 1:1.15.1
21 Requires: horde >= 3.0
23 Obsoletes: %{_hordeapp}
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 %define _noautoreq 'pear(Horde.*)'
29 %define hordedir /usr/share/horde
30 %define _appdir %{hordedir}/%{_hordeapp}
31 %define _webapps /etc/webapps
32 %define _webapp horde-%{_hordeapp}
33 %define _sysconfdir %{_webapps}/%{_webapp}
36 Ulaform is a PHP-based dynamic HTML form creation and generation
37 system. Ulaform allows users to create sophisticated forms using a web
38 browser, and then render the forms within other web pages by a simple
39 PHP include inside a <?php ... ?> tag, or in other Horde applications
40 through the Horde Block API. Ulaform is intended to replace other
41 dynamic form generation techniques (such as FrontPage forms which
42 require the FrontPage extensions on the server, or CGI scripts which
43 require some programming ability).
45 Ulaform is based on the Horde_Form library of the Horde framework.
46 This gives it some useful capabilities: the ability to automatically
47 validate data, using JavaScript if available (or re-rendering of the
48 form if not); the ability to use GET or POST transparently; and
51 The Horde Project writes web applications in PHP and releases them
52 under the GNU Public License. For more information (including help
53 with Ulaform) please visit <http://www.horde.org/>.
55 %description -l pl.UTF-8
56 Ulaform to oparty na PHP system tworzenia i generowania dynamicznych
57 formularzy HTML. Pozwala użytkownikom tworzyć wymyślne formularze przy
58 użyciu przeglądarki WWW, a następnie wyświetlać formularze na innych
59 stronach WWW poprzez prostą dyrektywę include PHP wewnątrz znacznika
60 <?php ... ?> lub w innych aplikacjach Horde poprzez API Horde Block.
61 Ulaform ma za zadanie zastąpić inne techniki generowania dynamicznych
62 formularzy (takie jak formularze FrontPage, wymagające rozszerzeń
63 FrontPage na serwerze, czy skrypty CGI wymagające umiejętności
66 Ulaform jest oparty na bibliotece Horde_Form ze szkieletu Horde. Daje
67 to trochę przydatnych cech: możliwość automatycznego sprawdzania
68 poprawności danych, używanie JavaScriptu jeśli jest dostępny (lub
69 ponowne odrysowywanie formularza, jeśli nie), możliwość
70 przezroczystego używania GET lub POST itp.
72 Projekt Horde tworzy aplikacje WWW w PHP i wydaje je na licencji GNU
73 General Public License. Więcej informacji (włącznie z pomocą dla
74 Ulaform) można znaleźć na stronie <http://www.horde.org/>.
77 %setup -qcT -n %{?_snap:%{_hordeapp}-%{_snap}}%{!?_snap:%{_hordeapp}-%{version}%{?_rc:-%{_rc}}}
78 tar zxf %{SOURCE0} --strip-components=1
81 for i in config/*.dist; do
82 mv $i config/$(basename $i .dist)
84 # considered harmful (horde/docs/SECURITY)
88 rm -rf $RPM_BUILD_ROOT
89 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}/docs}
91 cp -a *.php $RPM_BUILD_ROOT%{_appdir}
92 cp -a config/* $RPM_BUILD_ROOT%{_sysconfdir}
93 echo '<?php ?>' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.php
94 touch $RPM_BUILD_ROOT%{_sysconfdir}/conf.php.bak
95 cp -a lib locale templates themes $RPM_BUILD_ROOT%{_appdir}
96 cp -a docs/CREDITS $RPM_BUILD_ROOT%{_appdir}/docs
98 ln -s %{_sysconfdir} $RPM_BUILD_ROOT%{_appdir}/config
99 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
100 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
103 rm -rf $RPM_BUILD_ROOT
106 if [ ! -f %{_sysconfdir}/conf.php.bak ]; then
107 install /dev/null -o root -g http -m660 %{_sysconfdir}/conf.php.bak
110 if [ "$1" = 1 ]; then
111 %banner %{name} -e <<-EOF
113 If you are installing Ulaform for the first time, You may need to
114 create the Ulaform database tables. To do so run:
115 zcat %{_docdir}/%{name}-%{version}/scripts/sql/%{_hordeapp}.sql.gz | mysql horde
119 %triggerin -- apache1 < 1.3.37-3, apache1-base
120 %apache_config_install -v 1 -c %{_sysconfdir}/apache-%{_hordeapp}.conf
122 %triggerun -- apache1 < 1.3.37-3, apache1-base
123 %apache_config_uninstall -v 1
125 %triggerin -- apache >= 2.0.0
126 %apache_config_install -v 2 -c %{_sysconfdir}/apache-%{_hordeapp}.conf
128 %triggerun -- apache >= 2.0.0
129 %apache_config_uninstall -v 2
131 %triggerpostun -- horde-%{_hordeapp} < 0.1-0.20050917.0.5, %{_hordeapp}
132 for i in conf.php fields.php menu.php; do
133 if [ -f /etc/horde.org/%{_hordeapp}/$i.rpmsave ]; then
134 mv -f %{_sysconfdir}/$i{,.rpmnew}
135 mv -f /etc/horde.org/%{_hordeapp}/$i.rpmsave %{_sysconfdir}/$i
139 if [ -f /etc/horde.org/apache-%{_hordeapp}.conf.rpmsave ]; then
140 mv -f %{_sysconfdir}/apache.conf{,.rpmnew}
141 mv -f %{_sysconfdir}/httpd.conf{,.rpmnew}
142 cp -f /etc/horde.org/apache-%{_hordeapp}.conf.rpmsave %{_sysconfdir}/apache.conf
143 cp -f /etc/horde.org/apache-%{_hordeapp}.conf.rpmsave %{_sysconfdir}/httpd.conf
146 if [ -L /etc/apache/conf.d/99_horde-%{_hordeapp}.conf ]; then
147 /usr/sbin/webapp register apache %{_webapp}
148 rm -f /etc/apache/conf.d/99_horde-%{_hordeapp}.conf
149 %service -q apache reload
151 if [ -L /etc/httpd/httpd.conf/99_horde-%{_hordeapp}.conf ]; then
152 /usr/sbin/webapp register httpd %{_webapp}
153 rm -f /etc/httpd/httpd.conf/99_horde-%{_hordeapp}.conf
154 %service -q httpd reload
158 %defattr(644,root,root,755)
159 %doc README docs/* scripts
160 %dir %attr(750,root,http) %{_sysconfdir}
161 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
162 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
163 %attr(660,root,http) %config(noreplace) %{_sysconfdir}/conf.php
164 %attr(660,root,http) %config(noreplace) %ghost %{_sysconfdir}/conf.php.bak
165 %attr(640,root,http) %config(noreplace) %{_sysconfdir}/[!c]*.php
166 %attr(640,root,http) %{_sysconfdir}/conf.xml