1 %include /usr/lib/rpm/macros.php
3 %define _subclass Template
5 %define _pearname %{_class}_%{_subclass}_Flexy
7 Summary: %{_pearname} - a flexible caching template engine based on SimpleTemplate
8 Summary(pl): %{_pearname} - elastyczny buforuj±cy silnik szablonów oparty na SimpleTemplate
9 Name: php-pear-%{_pearname}
13 Group: Development/Languages/PHP
14 Source0: http://pear.php.net/get/%{_pearname}-%{version}.tgz
15 # Source0-md5: 325a6993dd88c2fc99badf2170043e53
16 Patch0: %{name}-case_fix.patch
17 Patch1: %{name}-path_fix.patch
18 URL: http://pear.php.net/package/HTML_Template_Flexy/
19 BuildRequires: rpm-php-pearprov >= 4.0.2-98
22 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 HTML_Template_Flexy started it's life as a simplification of HTML_Template_Xipe,
26 however in Version 0.2, It became one of the first template engine to use a real Lexer,
27 rather than regex'es, making it possible to do things like ASP.net or Cold Fusion tags.
28 However, it still has a very simple set of goals.
31 - prevents to much logic going in templates
32 - Easy to write document'able code
33 - By using object vars for a template rather than 'assign', you
34 can use PHPDoc comments to list what variable you use.
35 - Editable in WYSIWYG editors
36 - you can create full featured templates, that doesnt get broken every time you edit with
37 Dreamweaver(tm) or Mozzila editor
38 - Uses namespaced attributes to add looping/conditionals
40 - runtime is at least 4 time smaller than most other template engines (eg. Smarty)
41 - uses compiled templates, as a result it is many times faster on blocks and loops than
42 than Regex templates (eg. IT/phplib)
43 - Safer (for cross site scripting attacks)
44 - All variables default to be output as HTML escaped (overridden with the :h modifier)
45 - Multilanguage support
46 - Parses strings out of template, so you can build translation tools
47 - Compiles language specific templates (so translation is only done once, not on every request)
48 - Full dynamic element support (like ASP.NET), so you can pick elements to replace at runtime
51 - {variable} to echo $object->variable
52 - {method()} to echo $object->method();
53 - {foreach:var,key,value} to PHP foreach loops
54 - tag attributes FLEXY:FOREACH, FLEXY:IF for looping and conditional HTML inclusion
55 - {if:variable} to PHP If statement
56 - {if:method()} to PHP If statement
57 - {else:} and {end:} to close or alternate If statements
58 - FORM to HTML_Template_Flexy_Element's
59 - replacement of INPUT, TEXTAREA and SELECT tags with HTML_Template_Flexy_Element code
60 use FLEXY:IGNORE (inherited) and FLEXY:IGNOREONLY (single) to prevent replacements
61 - FLEXY:START/FLEXY:STARTCHILDREN tags to define where template starts/finishes
62 - support for urlencoded braces {} in HTML attributes.
63 - documentation in the pear manual
65 - examples at http://cvs.php.net/cvs.php/pear/HTML_Template_Flexy/tests/
67 The long term plan for Flexy is to be integrated as a backend for the Future
68 Template Package (A BC wrapper will be made available - as I need to use it
71 In PEAR status of this package is: %{_status}.
74 Flexy Template to silnik szablonów do konwertera kodu PHP, oparty na
75 Simple Template i podobny do Smarty. Powinien byæ bardzo szybki, jest
76 ³atwy w rozszerzaniu, rozwijaniu i u¿ywaniu dowolnej sk³adni
77 szablonów. Domy¶lny filtr (SimpleTags) zawiera: zmienne, pêtle
78 foreach, warunki, wywo³ania metod, w³±czanie kodu, obs³uguje znaczniki
79 zakodowane w URL-ach - wiêc mo¿e modyfikowaæ szablony w Mozilli itp.
81 - RtfSimpletags - do tworzenia dokumentów RTF dla Worda,
82 - BodyOnly - wycinaj±cy nag³ówek i stopkê z szablonu,
83 - Php - wycinaj±cy kod PHP z szablonu,
84 - Email - do przetwarzania szablonów e-mail.
86 Ta klasa ma w PEAR status: %{_status}.
90 cd %{_pearname}-%{version}
95 rm -rf $RPM_BUILD_ROOT
96 install -d $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}/Flexy/{Compiler/{Flexy,Standard,Regex},Token}
98 install %{_pearname}-%{version}/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}
99 install %{_pearname}-%{version}/Flexy/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}/Flexy
100 install %{_pearname}-%{version}/Flexy/Compiler/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}/Flexy/Compiler
101 install %{_pearname}-%{version}/Flexy/Compiler/Flexy/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}/Flexy/Compiler/Flexy
102 install %{_pearname}-%{version}/Flexy/Compiler/Standard/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}/Flexy/Compiler/Standard
103 install %{_pearname}-%{version}/Flexy/Compiler/Regex/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}/Flexy/Compiler/Regex
104 install %{_pearname}-%{version}/Flexy/Token/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{_class}/%{_subclass}/Flexy/Token
107 rm -rf $RPM_BUILD_ROOT
110 %defattr(644,root,root,755)
111 %doc %{_pearname}-%{version}/{Flexy/example.ini,tests}
112 %{php_pear_dir}/%{_class}/%{_subclass}/Flexy
113 %{php_pear_dir}/%{_class}/%{_subclass}/Flexy.php