[zopeorg-checkins] CVS: Products/ZopeOrg-NV/skins/nzo - addFavorite.gif:1.1 editform.pt:1.1 footer.pt:1.1 frontpage_menu_items.py:1.1 index_html.pt:1.1 latestContentBySubject.py:1.1 linkOpaque.gif:1.1 logo.jpg:1.1 menu_slot.pt:1.1 news.pt:1.1 ploneCustom.css.dtml:1.1 returnPageResults.py:1.3 search.pt:1.1 search_form.pt:1.1 truncate.py:1.3
Sidnei da Silva
sidnei at x3ng.com.br
Tue Apr 1 12:23:04 EST 2003
Update of /cvs-zopeorg/Products/ZopeOrg-NV/skins/nzo
In directory cvs.zope.org:/tmp/cvs-serv17229/nzo
Added Files:
addFavorite.gif editform.pt footer.pt frontpage_menu_items.py
index_html.pt latestContentBySubject.py linkOpaque.gif
logo.jpg menu_slot.pt news.pt ploneCustom.css.dtml
returnPageResults.py search.pt search_form.pt truncate.py
Log Message:
Adding new skins
=== Added File Products/ZopeOrg-NV/skins/nzo/addFavorite.gif ===
<Binary-ish file>
=== Added File Products/ZopeOrg-NV/skins/nzo/editform.pt ===
<tal:block define="
global here python:options['args'][0];
global action options/action; global text options/text; global id options/id;
global page options/page; global oldid options/oldid" />
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
metal:use-macro="here/main_template/macros/master">
yuck... editform is actually a method, and it calls us with
(page, request, action=action,
text=text, id=id, page=page, oldid=oldid)
<body>
<div metal:fill-slot="header" metal:define-macro="header"
tal:define="global wiki_header_present python:1">
<h1>
<span tal:omit-tag="" tal:condition="python:action=='Create'">Creating</span>
<span tal:omit-tag="" tal:condition="python:action!='Create'">Editing</span>
<span tal:omit-tag="" tal:content="id">page</span>
</h1>
</div>
<div metal:fill-slot="main">
<div class="Desktop">
<div tal:condition="not: wiki_header_present|nothing">
<span tal:condition="nothing"> In case master has no "header" macro. </span>
<div metal:use-macro="template/macros/header"> </div>
</div>
<div align="center">
<form method="POST" action="wiki_url/oldid/" enctype="multipart/form-data"
tal:attributes="action string:${here/wiki_url}/${oldid}/edit">
<input name=timeStamp type=hidden value="editTimestamp"
tal:attributes="value here/editTimestamp|nothing" />
<input name=page type=hidden value="id" tal:attributes="value id" />
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr><td colspan=2 align="center" bgcolor="#dddddd">
<textarea wrap="virtual" name="text" rows="25" cols="60"
style="width:100%; background-color:#f0f0f0" tabindex="1"
tal:attributes="rows python:request.get('zwiki_height','') or 25;
cols python:request.get('zwiki_width','') or 60"
tal:content="text">text</textarea>
</td></tr>
<tr>
<td valign="middle" align="left" bgcolor="#dddddd">
</td>
<td valign="top" align="right" bgcolor="#dddddd">
<b><input type="submit" value=" <dtml-var action> <dtml-var id> " tabindex="2"
tal:attributes="value string: $action $id "
style="font-weight:bold" accesskey="s"></b>
</td>
</tr>
<tr>
<td valign="middle" align="left" bgcolor="#dddddd">
Optional note:
<input name="log" size="50" maxlength="100" value="" tabindex="3">
</td>
<td bgcolor="#dddddd">
</td>
</tr>
<tr tal:define="uploaddir nocall:here/uploads|here"
tal:condition="python:user.has_permission('Add Documents, Images, and Files', uploaddir)">
<td valign="middle" align="left" colspan=2 bgcolor="#dddddd">
Upload a file or image:
<INPUT TYPE="file" NAME="file" SIZE="30" VALUE="" tabindex="4">
</td>
</tr>
<tr tal:condition="python:user.has_permission('Zwiki: Change page types', here)"
tal:define="is_issue python:here.page_type == 'issuedtml'">
<td valign="middle" align="left" colspan=2 bgcolor="#dddddd">
Render this page as:
<option value="issuedtml" selected tal:condition="is_issue">tracker issue</option>
<SELECT NAME="type" tabindex="5" tal:condition="not:is_issue">
<option value="stxprelinkdtmlhtml">Structured text + links + DTML + HTML</option>
<option value="stxprelinkhtml">Structured text + links + HTML</option>
<option value="stxprelink">Structured text + links</option>
<option value="wwmlprelink">WikiWikiWeb formatting + links</option>
<option value="prelinkdtmlhtml">links + DTML + HTML</option>
<option value="prelinkhtml">links + HTML</option>
<option value="dtmlhtml">DTML + HTML</option>
<option value="html">HTML</option>
<option value="textlink">text + links</option>
<option value="plaintext">plain text</option>
<option value="dtmlfithtml">DTML + fit tests + HTML</option>
<option value="stxdtmlfithtml">Structured text + DTML + fit tests + HTML</option>
</select>
</td>
</tr>
</table>
</form>
<div tal:condition="not: wiki_footer_present|nothing">
<span tal:condition="nothing"> In case master has no "footer" macro. </span>
<div tal:replace="structure here/wikipage_footer"> </div>
</div>
</div>
</div>
</body>
</html>
=== Added File Products/ZopeOrg-NV/skins/nzo/footer.pt ===
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<div class="footer" metal:define-macro="portal_footer" i18n:domain="plone"
tal:define="portal_url here/portal_url">
2003 Zope Corporation. All rights reserved.
<a href="http://www.zope.com/Legal">Legal</a> | <a href="mailto:webmaster at zope.com">Contact</a>
<hr size="" class="netscape4" />
<strong class="netscape4">
If you can read this text, it means you are not experiencing the Plone design at its best.
Plone makes heavy use of CSS, which means it is accessible to any internet browser,
but the design needs a
<a href="http://www.webstandards.org/upgrade/">standards-compliant browser to look like we intended it</a>.
Just so you know ;)
</strong>
</div>
=== Added File Products/ZopeOrg-NV/skins/nzo/frontpage_menu_items.py ===
## Script (Python) "frontpage_menu_items"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=
##title=
##
menu = []
subitems=[]
menu.append({'label':'About Zope', 'url':'/About', 'subitems':subitems})
subitems.append({'label':'What Is Zope?', 'url':'/WhatIsZope'})
subitems.append({'label':'Roadmap', 'url':'/Roadmap'})
subitems.append({'label':'News', 'url':'/news'})
subitems.append({'label':'Awards', 'url':''})
subitems.append({'label':'Getting Started', 'url':''})
subitems=[]
menu.append({'label':'Docs', 'url':'/Documentation', 'subitems':subitems})
subitems.append({'label':'The Zope Book', 'url':'/Documentation/Books/ZopeBook/current'})
subitems.append({'label':'Developer Guide', 'url':'/Documentation/Books/ZDG/current'})
subitems.append({'label':'API reference', 'url':''})
subitems.append({'label':'ZPT reference', 'url':''})
subitems.append({'label':'DTML reference', 'url':''})
subitems.append({'label':'Administrator Guide', 'url':'/Documentation/Guides/ZAG'})
subitems.append({'label':'Articles', 'url':'/Resources/Articles'})
subitems.append({'label':"How-To's", 'url':''})
subitems.append({'label':'Books in print', 'url':''})
subitems=[]
menu.append({'label':'Download', 'url':'/Products', 'subitems':subitems})
subitems.append({'label':'Zope', 'url':'/Products/Zope'})
subitems.append({'label':'Products by category', 'url':''})
subitems.append({'label':'All products', 'url':''})
subitems=[]
menu.append({'label':'Projects', 'url':'/DevHome/Projects', 'subitems':subitems})
subitems.append({'label':'Zope 3', 'url':'/DevHome/Zope3'})
subitems.append({'label':'New Zope.org', 'url':'/projects/nzo'})
subitems=[]
menu.append({'label':'Community', 'url':'', 'subitems':subitems})
subitems.append({'label':'Report Bugs', 'url':'http://collector.zope.org/ZopeOrg'})
subitems.append({'label':'Mailing lists', 'url':'/Resources/MailLists'})
subitems.append({'label':'IRC', 'url':'/Resources/IRC'})
subitems.append({'label':'User Groups', 'url':'/Resources/UserGroups'})
subitems.append({'label':'Zope Powered Sites', 'url':''})
subitems=[]
menu.append({'label':'Business', 'url':'', 'subitems':subitems})
subitems.append({'label':'Zope Corporation', 'url':'http://www.zope.com'})
subitems.append({'label':'Solution Providers', 'url':'/Resources/ZSP'})
subitems.append({'label':'Hosting', 'url':''})
subitems.append({'label':'Marketing Zope', 'url':''})
subitems=[]
menu.append({'label':'Zope Exits', 'url':'', 'subitems':subitems})
subitems.append({'label':'ZopeZen', 'url':'http://www.zopezen.org'})
subitems.append({'label':'Plone', 'url':'http://www.plone.org'})
subitems.append({'label':'ZopeLabs', 'url':'http://www.zopelabs.com'})
subitems.append({'label':'Zope Europe', 'url':'http://www.zope-europe.org'})
subitems.append({'label':'OzZope', 'url':'http://www.ozzope.org'})
s = lambda x,y: cmp(x['label'], y['label'])
menu.sort(s)
return menu
=== Added File Products/ZopeOrg-NV/skins/nzo/index_html.pt ===
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html metal:use-macro="here/main_template/macros/master">
<body> <div metal:fill-slot="main">
<span tal:condition="python: 'index.html' in here.objectIds()">
<span tal:condition="python: hasattr(getattr(here, 'index.html'), 'CookedBody')"
tal:replace="structure python:getattr(here, 'index.html').CookedBody()">
</span>
</span>
<span metal:use-macro="here/local_html/macros/body|default">Locally defined HTML</span>
<table tal:condition="python: 'local_html' not in here.objectIds()"
tal:define="raw_items python: here.contentValues();
sort_items python: raw_items.sort(lambda a, b: cmp(a.getId(), b.getId()) );
items python: here.ZPT_skip_unauthorized( raw_items )">
<tr tal:repeat="item items">
<td colspan="2"><a href="item_url"
tal:attributes="href item/absolute_url" tal:content="item/title_or_id" class="bTitle">Title</a>
<br><span tal:condition="exists: item/Description"
tal:content="item/Description">Description</span>
</td>
</tr>
</table>
</div>
</body>
</html>
=== Added File Products/ZopeOrg-NV/skins/nzo/latestContentBySubject.py ===
## Script (Python) "latestContentBySubject"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=portal_type, subject=None, max_items=5
##title=
##
ctool = context.portal_catalog
if subject:
results = ctool.searchResults(portal_type=portal_type, Subject=subject, sort_on='Date', sort_order="reverse")
else:
results = ctool.searchResults(portal_type=portal_type, sort_on='Date', sort_order="reverse")
results = results[:max_items]
return [r.getObject() for r in results]
=== Added File Products/ZopeOrg-NV/skins/nzo/linkOpaque.gif ===
<Binary-ish file>
=== Added File Products/ZopeOrg-NV/skins/nzo/logo.jpg ===
PNG
IHDR É 6 â`* gAMA ¯È7é tEXtSoftware Adobe ImageReadyqÉe< (IDATxÚb4NÉ0
FPâ
·æD¼ðàÃü~üúK¼9 Ä,eì;£ ¼ýüëÐõ×ß~þUçaefJp8h>ÿðãåD@t(·äÄùM5dU%ÔeEx o>|¹ùäíùÛ/^yøâíÑ@+É^FMYpïW«=&F;@ Ñ0m®¹¦´¦¨'.e/Þ¿ûôõ±+O^z0È!ð1ò5D¹õüóÔw Ö D´e¦)í¢c#á~þþçÖã×·¼{ðâûOßþùÃÎÂ"&À%#Ư&#¤%/ÂÉÎ
Q¹ïüý%»/]ºûr4F[,ËM.òäí÷îÍ7ñ'/ ¢rÚU9fN$µãäíí§nL+zÊâ®&*Þ*|\ì@îÓw§¬?9Z
* !ÌS᫼¾ÿúÛ±ùh j¦`{í¢Kv6¦go?¯ØwXýüýOAB at MZHABPJ
YË»Ïß½ùzçٻǯ>¹V:2.ƪÀtÙ·êèæc7G#uè&/ ¢ZÚ*´
uÐ2^ytöÖs`f¢&%#ÊG!×¾ùõç°û®%ï»Ú»òèh¤òäÕ¸îÖûOß0uÒVW+¼üýû7rËýç¯_üüøõç_¾ýüýã×ï¿¡4';+;?7;7;°ÀÃ4X?ÖÌÙ;©X¨ ':( àj{ðr²üdfºx÷Ååû¯.ß{ýäõÇW¾}ÿñ`ÅÑH97ÐGéaª$I^ÈÎ {¬>GS~pâÖ[
)^K5a¸°)õUo^{
M%@ Q¶jâìà1züÚÓ-Çoºñk %ÂQ;ÐFëP0y½ÿü`åøéÛO
ýráγѤCXqì± rÍL^aV²hã^ DQÚ6Þ¬5 5×üíçï>}Gª lÌQ.1®:".é¤}åþ˧îàQóû÷`â㾫à¿þúôíÇ׿¾þøóå;(Ù}ÿù¢RrWDÚÂ+âÛOß·,:0nÀ ÜtæY¸,² ³Ø
n=û òÛ[ÀfÝÚ`Ü4.<H^ÎÝL%ÓÏÈö>0eÕzýá+µ¨1ÉÙÛ\nxtëºG/?+àÉt ÷;¢t.ðdQÓÚkð0 òËÊ(`ÂÚ|ì K]N¤(ÔÒXMHõÀúX°FXÍØM ñµR', ¨`ÂVÜ6:²æZ2:
¢Â°ºû÷ß_¾ÿºÿüýÉëO`ɧ,®*#a³³"ú.?Íù l¾ýøKìôåEa3fx °¿ùè
.`)
Üêa^6]ñ-g¡M "3mªIYëÈ£|Â꣤¦÷DO£d/C"ÕCFê¿ý²®)Ø°&JÊXâEXÁ¹Kö\Úþõ¢ÜIF~VêÀ¼ô2ÐIï¼|ùXßþæábWç·Ôf Ê«^-Û{OÝígiEàÀýàÅGv^@+¤S½5åEú®}ÙQ:¤- 8vë-ZÚeZcÉ=_B. "3m%yÇÝW>~ûM¼.3MÒp+EI"SÕÔ
g¾xáã"ò¢«1Á>ËtöÖó «Oà/á¬ý_`/²Á±½gï¢ñee{.Ó_»°]Øìd«ÙºäÖâçûÏ¿pßÕÍÛggaàã±ÐzPJh·
JfÿVäTò
Ö^ÜzòîÎÓ·ô²°±2ñp²ò²Kñ¼þ@§ùä¦2] DNÚæT-éÏßÿ¬Úwøâ*?Ø
2¸JÜþaÚÆ3heÉýWc\ôµõ7%®8w}x],*fãÝ(·F3x@¸|æn<+ =ÙÃv¦»Í_ZT<}÷©ëOp©ÿõç²i@öÇoï ææù°
ÐäÚ°
SïÍG¯]~4Z]À°ÄH[b´@Ldè` :Û{îÎQld,®
&2aÍØ|&¶m-f%õþÓ·ýïk%J±Uj^9b eÞ~<Ã%å¶uñîüÉ;i¶SFߦ¿þËÅi^@êB`í_}ÂðÀ¶¶Ê6HZôo¿`÷6ð-Àu%@ ¶L5d@%ó;Ä(rÑWæOL=Âð¦5s¶ÃÛN*+²»6i.pîÜmçñä~`UÉÀ.dÅ,&µXßãvOÉ5ùáÃ%JC±i¨ n "9mÉKj+ kë^ËgH#â*¹kþ~Ö¥ÛÏ®,-
¬ÉðpI5|¼§o<K%?ka¨½p×ER«àµ¯Þ~
j&
ñq¦øêN`öã7h
ÀÍÁ2Óºh9!@ ¶ìõåM«Þà¯#Ip~EdÆ? FCR×F`qEP%°
¾õä §
ÉE»
¼jfá-Bt!c¹À¤¼öÐ
2wÍAèH°¦ ©å+;4^¾×ê(¶$¹Zú HN[ðµ¯ð¨±Ó_P¨*M¸<öÿ;Ö¿ðÚ÷@ÒD´´%!ÌScç6,8¿(ò±PVO·:G¯<2;+©
D`¶ÏRÜ~òfÐ&,üyF HN[À* H>yý pG¾,w`§¿9@²&löÿIÚ~^æ¥$ÁOÍ,ø Ãò}W]|×BðªóØ'ä
û·_½
vÑ
U%HÒüöó\u N<²Àþ#@ \r³;ß±Êfú3.
ìi7-Øÿ
ôÿͧïàCB{« ÔB[A^ÿóÖEá>CÜãUòb$ä`ÎsmË`Uóçï ¨(!
vå/;@ ÙTüóçÖN;1
Ö\´ó"yöþþCZ°ZéÊŸèAØ?ý«µ q!DÂ}ûü´/ßA¼\X~ÿþYqÇ»Bðó÷?M¿
}]ÐGæjM.vÖ%ðÊT¬
ôýÌ´ÅÂ^ÖÄÙÍx÷é{ͼýxF Vüßäçö9åÇx8ÙàiñûOòKøH&&F,ÍVuI`Vüùç7;«0?¢ dØÏØzâæzøc ´3RhüÄð+xüö@ ¶Þý)ÁÆ)ÌR×[LXgo=¯»Â
"àIâ÷2¤#ÕÞ(ÖÂk^%*M µÿþüûO¶SÙY1
D¤{g#NvPøÿþûïéëÏ«\?uãééë6 ²~jZ3hàÛÏ¿ DrÚºûôµ òÂ(]Èø5þàÀ?mG$·]î½ ¼&ÅÇ>·óâýw`óH+¾þÖeìlLÈKHðòﶶé¾êç¹V
y½ì ÷Óo?ÿ@$°ø5xacC5)££Õs÷Q%aÚ ìræZÕLS&iвi! ýǯS°bd
ÒBƨdE¡Mø{Ï>`*`fb¢ÀBM×°¢ô D²^|lh+@B°9É+©k#þõ¢$,j2ÂÀBèÄ5|i¹µ|ßUZx×!îäÅÈsª¬|}ö[Ãg©4°ÃºÜ+8 ä´l_}ðØQ
sÔÄ9ÈìðÇu¬§âª';+°RÆßhkJvÇëý禮'È|ñöËUØÈ°¹sfÐ~0½ü`x$,`Qê ¶Ö{åvÔg ræÓà*)Ý×8ÈçÃÑ+;ÖQwo´¹*¡ñL`ã~V ¨÷:oËí½aØëÉ:ciêúXªÀº<lÖ=úª£¿õ²ª ÈI[.2¢¡"Ö¥îÀ®ûÜmçq-J¦}dD¼¥ÀÎQ_h8°ÇK
d©4ty+0øõ Àb2Þ]TíÙ&igo?/Ùuqx$¬b¬?õ rz^~¶èqvÿùç·0?çÄ\pJbå2+xô
6÷ä÷çÏïï¿þþúýüúýù;hìï¿>}2~}þöëË÷ßvzrÀ0aáªÑÐ kd<+
VÖ
0*÷»O|Ín¥+©»oxZÀEpÐÐ "³7;cóÙÙÅ>X¥M1c]HuKv_Â%Uã\ÖÌ¥h7öݧïÊgííLõTz2ÜRz6³HOY¼3ÕÞ;ò s,°ñNdÂ+¶(iëügǯ=µÔ¦§?
®Ør6VFÞ·¬
kËÎÂÄÆÆÆÉ,Gù¸9x9Yù$|òúò¥½gïÏbhJpöæø5,:%±»J]¬°pýüýOýü½´{Á5l6ðór«cHK ^± «æçd5|Hd ¹ òGáºWY^
J`ýl¹3
@Cv
üú¬æþkI ø÷û/ÍÊÌ`Oàðp²²±²ps ;30Ò^beefcaâd
?ªËc÷ûÏßÝ+áTä%4@h£ê
©rÂ"'j½[OÞEÛL^w¾+
5ö&åx ³ÓêWÎÝ|<Ztºt¼t>0ô>N°ÃFúü3tXM»+³°@s°ãÆÂl{0A&!Üøö
Â<À$å ¯pëÉ[)a^2Ò0°WH|ÂÖ'n½E òÓ°è[s¼2Êèu¯~¡Í*6 U]+áji»«/Þ}EaÁ6
û1æs^¼ýuÌØ/VvNFÖÚrí)®ÀåÓ×?|-àfäææ`ôú#°°Üuæ.þ¥³¿~¿ÿ4öóò=ÉËÂî¿øÀÅÂâç1þÁ¼ l°~úÃðéëO`ôà%hܶÔd
\| YAÐWHtPà$º³õäí÷U¥çØ@¦¨ÞHîÚDÅMÏð5§4PBÿaI$õ7ñMo3M[=yu) !P=yõáìíg/>:OÜ )°ÚB¤3R¶ßäM/ìõå
0°Ð2·óJü m;5 ÎHv U°±?e'1
êr"½YÀ5zLÙ °Ù¾Ú9ÌÃs ¶ßqï@T8|Ç©;*2BúÊ^êÀvÿ9° Õá*ÈÃ>È°=àk©ÆÎÊÚ°ê¬ûë÷ßçt9J³>ÞXL4o?}¶z¯<%8¨° ¨vn |ýÖ£7¦n8CÞ2sðùüÈ&A~n 'ÛÌbôÞ-ÄT/fm9K¡9 3ª,$ ®õì
'íº§×@T»» Øå~ûùº¢h:33ËüüMRªw7hIvÔö
ÛY°ãü`®qÜL¥ÂA±`CGAB at WIRr
Y¾ýø=ÞÃ
YX¼ óqKK5`±g¥-DÀ+ÊY×Þ@áøUÐP2¨Ø*öC6^¾÷
h)DÜR[(4ª8ÌØ[SÐjâËN`ÎÃ@2ÉANV´©-`ã½}Ã_ðy@Ô\ê±öàÕÈÕÀN8°3åo¼©%¼>ÞØøÅ¿ÿ(k¥+×伡92ÙËhBhãêÁ.°üò
½ÄtÒÜã·QC5zúV¦#ÒY¢\6_ááb¦ `ñÃË b@´@`P%UÞzüXÃÅ® ²ÙÝÇJ
²`¡&\¬l¶sØ:~ë-ÁÀ ¨¼ÊìÑËe3vÃÏ÷µR¢Oß~Þ~òîú£×_}//ÄÇ :ÂYFHMV¾)ªõàù!²(ÒÉGD«¤ ^ðJR¢ÀS$DühRëDëâzв¹gÄ$
mÿ²½{3Ý\xðüÍgbÊ*]q+5aÌ£+=Þwå1*&+O]D{1,µåÔeAkþñÅûïî>;våÉñkI:]mÀ0.Ó|gm>ÜÞºùä-|Å)°@"¾A)˹ØÐøÐÀær¾ö/0I9CF
WÇʲí¹,/!h¡)m¬. ,ðùy õú_î¿xòú³Ó7$
£%Ówkºß Ù@߸ø »ÀjØäÖbøc8xá!°E¬ ²Â@{M.`laíUHóØ©ÈWPÁëA´) Ðû#ü¨Å¡ÕÂço¿àc¤ÀxTâ5TPä¥$IA@ß[7}&U@ ¡[h©
èDNvøïß:<
è}L`/XëºIãX+3ãÏßÿ¼þ¶æäHÂ"f&
:¼ êf$Ùß}ù%ÄÊ@îäFí ¼ 8×ßiÆT4ù÷ßÿξØõõ¯_¿IMU @gΡ®o->È_ß~ÿöóï·¼m¢úôóÿèõO`É$#Ä)ÂÇ.+ÌIyá`IèüÃOëO?{ü4ALö>: ¢~[X»C*x\>'> ãÍgP÷æóOHÉ7Zø!·FäD¸8Ùe
¹DÀA
dpRoV+øÿáâÏ>}üî'Óÿ¬~Ð ì¢'>I¢Ê?PÇþ´ÀðúË_²'Cu&ÊJ+Àv
/hÍ°(âbgæa§¼õMØvþù©;ï¹# Ðà=qhà °þ
XF©ÑÔ@¶eâ,°ÅÉÇ3èu;"`ÉEi
Õ+2Ê0ǸözÍñ'¬ÀÅI
ë§üT9 IEND®B`
=== Added File Products/ZopeOrg-NV/skins/nzo/menu_slot.pt ===
<html>
<head>
<title tal:content="template/title">The title</title>
</head>
<body>
<div class="box" metal:define-macro="menuBox">
<div class="body" tal:define="menu_items here/frontpage_menu_items">
<ul tal:condition="menu_items"
tal:repeat="item menu_items">
<li tal:define="subitems item/subitems">
<a href="#" tal:attributes="href item/url"
tal:content="item/label">About Zope</a>
<ul tal:condition="subitems">
<li tal:repeat="subitem subitems">
<a href="#" tal:attributes="href subitem/url"
tal:content="subitem/label">
What is Zope?
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</body>
</html>
=== Added File Products/ZopeOrg-NV/skins/nzo/news.pt ===
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"
lang="en-US"
metal:use-macro="here/main_template/macros/master"
i18n:domain="plone">
<metal:block fill-slot="base">
<tal:block tal:define="dummy python:request.set('disable_border', 1)"
tal:replace="nothing">
Disable the tabs
</tal:block>
</metal:block>
<div metal:fill-slot="main"
tal:define="results python:container.portal_catalog(meta_type='News Item',sort_on='Date',sort_order='reverse',review_state='published');
Batch python:modules['Products.CMFPlone'].Batch;
DateTime python:modules['DateTime'].DateTime;
b_start python:request.get('b_start',0);">
<h1 i18n:translate="heading_news">News</h1>
<div i18n:translate="description_news" class="description">The latest news, sorted in reverse chronological order.</div>
<form name="searchresults" action="" method="post" tal:condition="results"
tal:define="batch python:Batch(results, 15, int(b_start), orphan=1)">
<metal:block tal:repeat="result batch">
<tal:block
tal:define="resultObject result/getObject">
<div class="box">
<div class="body">
<div class="content">
<h3>
<img src="" alt="Folder"
tal:attributes="src result/getIcon; alt result/Type;" />
<span tal:replace="result/Title">Title</span>
</h3>
<p tal:content="structure python:test(result.Description, result.Description, '(No Description)')">
Description
</p>
<span style="float: right"
tal:condition="python: test( (here.portal_discussion.isDiscussionAllowedFor(resultObject) and here.portal_discussion.getDiscussionFor(resultObject).objectIds() ), 1, 0)">
<img tal:replace="structure here/discussionitem_icon.gif" />
<span tal:define="talkback python: here.portal_discussion.getDiscussionFor(resultObject)">
<a href=""
tal:attributes="href string:${resultObject/absolute_url}#comments">
<span tal:replace="python:talkback.replyCount(resultObject)" /> comments
</a>
</span>
</span>
<a href="/view" tal:attributes="href resultObject/absolute_url" i18n:translate="read_more">
Read More
</a>
</div>
</div>
</div>
</tal:block>
</metal:block>
<div class="spacer">
</div>
<!-- Navigation -->
<div metal:use-macro="here/batch_macros/macros/navigation" />
</form>
<p tal:condition="not: results" i18n:translate="no_new_news">
No news has been posted.
</p>
</div>
</html>
=== Added File Products/ZopeOrg-NV/skins/nzo/ploneCustom.css.dtml ===
/* Plone for Zope.org changes */
div.document,
body {
font-size: 11px;
background-color: white;
color: black;
}
p {
text-align: left;
line-height: 1.4em;
}
h1, h2, h3, h4, h5 {
color: black;
font-weight: bold;
border-bottom: none;
}
h1 {
font-size: 180%;
}
h2 {
font-size: 140%;
font-weight: bold;
}
h3 {
font-size: 130%;
}
h4 {
font-size: 120%;
}
h5 {
font-size: 110%;
}
body>div {
background-color: #FFFFFF;
}
td{
vertical-align: top;
}
a,
a:hover,
div.personalBar a,
div.pathBar a,
#contentTabs a.selected,
#contentTabs a,
.currentNavItem {
text-decoration: underline;
color: #336699;
}
div.boxDetails {
color: #999999;
}
div.box ul{
margin:0ex;
padding:0ex;
}
div.box li {
margin: 0em 0em 1em 0em;
list-style: none;
text-decoration:none;
font-size: 1.1em;
}
div.box li a:link,
div.box li a:visited,
div.box li a:hover {
font-weight: bold;
}
div.box li li {
margin-bottom:0;
margin-left:1.5em;
font-weight:normal;
list-style: circle;
font-size: 0.9em;
}
div.box li li a:link,
div.box li li a:visited,
div.box li li a:hover {
font-weight:normal;
}
table.listing tr.even{
background-color: #CCCCCC;
}
div.documentActions,
#contentBar {
visibility: hidden;
background-color: white;
position: absolute;
top: 5em;
left: 5em;
}
div.tabs {
float: right;
position: absolute;
right: 25em;
top: 2.5em;
border: none;
background-color: transparent;
}
div.tabs a {
margin-right: 0;
padding: 0.2em 0.5em;
text-transform: none;
border: none;
color: white;
background-color: transparent;
}
div.tabs a:hover {
color: white;
background-color: transparent;
}
div.tabs a.selected {
color: white;
background-color: transparent;
border: none;
}
div.top {
background-color: #336699;
}
.logo {
top: 0;
left: 0;
margin: 0;
padding: 0;
border: 0;
}
div.searchBox {
margin-top: 2.5em;
margin-right: 1em;
margin-bottom: 0em;
margin-left: 0.5em;
padding: 0;
}
#searchGadget {
width: 120px;
}
div.personalBar {
position: absolute;
background-color: white;
text-transform: none;
padding-bottom: 0.2em;
padding-top: 0.1em;
padding-right: 1em;
right: 0em;
top: 6.6em;
width: 100%;
border-bottom: #A0A0A0 1px solid;
}
div.pathBar {
text-transform: none;
margin: 0;
padding-left: 1em;
white-space: nowrap;
border-bottom: #A0A0A0 1px solid;
padding-bottom: 0.2em;
padding-top: 0.2em;
background-color: #CCCCCC;
}
#contentTabs {
margin: 0;
padding: 0.2em 0em 0.2em 0em;
border: 0;
text-align: right;
}
#contentTabs a,
#contentTabs a.plain,
#contentTabs a.selected {
text-transform: none;
padding-left: 1em;
padding-right: 0.5em;
padding-bottom: 0em;
border: 0;
background-color: transparent;
}
#contentTabs a:hover {
background-color: transparent;
}
div.editableDocument {
border: 0;
padding: 0;
}
#contentBar{
visibility: hidden;
}
div.editableDocument,
table.listing td,
#contentTabs,
input.context {
font-size: 11px;
}
table.calendar {
margin: 0;
}
table.columns {
padding: 0;
background-color: white;
border: 0;
margin-top: 1.4em;
}
table.columns table.columns{
margin-top: 0.5em;
padding: 0;
border: none;
border-collapse: collapse;
width: 99%;
}
table.columns table.columns td.main{
margin: 0;
padding: 0em 1em 0em 0em;
border: none;
width: 70%;
}
table.columns table.columns td.right {
width: 25%;
padding: 1em 0.5em 0em 0.5em;
}
table.columns td.left {
padding: 1em 0em 0em 1em;
margin: 0;
width: 15%;
border-right: 1px solid #A0A0A0;
border-collapse: collapse;
}
table.columns td.main {
padding: 0em 0em 0em 1em;
margin: 0;
border: 0;
width: 70%;
}
table.columns td.right {
border-left: 1px solid #A0A0A0;
padding: 0;
margin: 0;
width: 15%;
}
td.right div.box div.body,
td.left div.box div.body {
background: transparent;
border-collapse: collapse;
border: none;
font-size:0.9em;
}
td.left div.box h5{
background: transparent;
border: 1px solid #A0A0A0;
border-style: none none solid none;
color: Black;
margin: 0;
padding: 0em 0.5em 0.5em 0.5em;
text-transform: none;
display: block;
font-size: 120%;
font-weight: normal;
color: #999999;
height: 1em;
}
table.columns table.columns td.right div.box h5{
border-style: solid;
color: white;
background-color: #336699;
text-align: left;
padding: 0em 0em 0.3em 0.3em;
display: block;
text-transform: none;
}
table.columns table.columns td.right div.box div.body div.content{
border: 0;
padding: 0.5em;
margin: 0;
}
td.left div.box h6,
td.right div.box h6 {
background: transparent;
border: 1px solid #A0A0A0;
border-style: none none solid none;
color: Black;
padding: 0;
margin: 0em 0.5em 0em 0.5em;
text-transform: none;
display: block;
font-size: 160%;
height: 1em;
}
input.standalone,
input.context {
background: #EAEAEA;
margin-bottom: 1em;
padding: 0;
}
input[type=button],
input[type=submit],
input[type=reset] {
cursor: pointer;
}
input {
background: #EAEAEA;
color: Black;
font-weight: normal;
text-transform: none;
}
ul {
padding-bottom: 0.5em;
}
div.footer {
margin: 0;
padding: 0;
}
div.hilite {
color: #666666;
font-style: italic;
font-size: 110%;
font-weight: bold;
padding: 0.5em 0em 0.5em 0em;
}
div.searchResults {
background: #e0e0e0;
padding: 0.5em;
margin: 0.5em;
display: block;
clear: both;
}
div.searchNav {
padding: 0.5em;
margin: 0.5em;
display: block;
clear: both;
text-align: center;
}
div.searchNav div{
padding: 0.5em;
}
div.searchResults span.right {
text-align: right;
display: inline;
}
span.resultURL {
color: #009900;
}
=== Products/ZopeOrg-NV/skins/nzo/returnPageResults.py 1.2 => 1.3 ===
+## Script (Python) "returnPageResults"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=batch, maxPages=10
+##title=
+##
+# Return page calculation from batch result
+# Input
+# batch : batch of sequence from which we need to return page result
+# maxPages: The maximum amount of page links to be shown
+# Output
+# List with dictionaries as record, containing:
+# batch: the batch to which the page refers
+# active: if the batch is the current batch displayed
+# index: repition number of the page, starting from 0
+# number: index of the page + 1
+
+
+result = []
+rangeLimit = int(maxPages) / 2
+
+# check if we have enough pages to the right
+count=0
+tmpbatch = batch
+highPage = rangeLimit
+while (tmpbatch.next) and (count < highPage):
+ tmpbatch = tmpbatch.next
+ count +=1
+
+# go to first page
+lowPage = rangeLimit
+lowPage += (highPage - count) +1
+
+count=1
+tmpbatch = batch
+while (tmpbatch.previous) and (count < lowPage):
+ tmpbatch = tmpbatch.previous
+ count +=1
+
+# create pages list
+
+batches = []
+
+page = {}
+page['active'] = tmpbatch.start == batch.start
+page['index'] = tmpbatch.start / batch.size
+page['number'] = tmpbatch.start / batch.size +1
+page['batch'] = tmpbatch
+result.append(page)
+
+count=1
+while (tmpbatch.next) and (count < maxPages):
+ tmpbatch=tmpbatch.next
+ count +=1
+ page = {}
+ page['active'] = tmpbatch.start == batch.start
+ page['index'] = tmpbatch.start / batch.size
+ page['number'] = tmpbatch.start / batch.size +1
+ page['batch'] = tmpbatch
+ result.append(page)
+
+return result
=== Added File Products/ZopeOrg-NV/skins/nzo/search.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main"
tal:define="global results python:here.doFormSearch( REQUEST=request );
global pss modules/Products.PythonScripts.standard">
<div class="searchNav">
<form method="get" action="#"
tal:attributes="action string: ${portal_url}/search">
You searched for:
<input type="text" name="SearchableText" size="25"
value="Type your search here ..."
tal:attributes="value request/SearchableText" />
<input type="submit" name="Submit" value="Search Zope.org" />
</form>
<div>
<a href="#">Advanced Search</a>
<a href="#">Search Tips</a>
<a href="#">Top Searches</a>
</div>
</div>
<div class="searchResults">
<span class="right">
Results 1-10 of <span
tal:replace="python:pss.thousands_commas(len(results))">290</span>.
</span>
Searching Zope.org for <strong
tal:content="request/SearchableText">search term</strong>
</div>
<!-- Result Page Batches (Tom) --->
<div>
Result Page:
<span tal:define="b_start request/b_start |python:0;
batch python:modules['ZTUtils'].Batch(results, size=10, start=b_start, orphan=1);
previous python:batch.previous;
next python:batch.next;
mq python:modules['ZTUtils'].make_query;
global pages python:here.returnPageResults(batch,10)">
<span tal:define="p batch/previous" tal:condition="p">
<a href=""
tal:attributes="href python: portal_url + '/search?' + mq( request.form, b_start=p.first )">Previous</a>
</span>
<span tal:repeat="page pages" tal:omit-tag="">
<a tal:condition="not:page/active"
tal:define="x page/batch" tal:content="page/number"
tal:attributes="href python: portal_url + '/search?' + mq( request.form, b_start=x.first )"
href="page_url">X</a>
<span tal:condition="page/active"
tal:content="page/number" tal:omit-tag="">X</span>
</span>
<span tal:define="n batch/next" tal:condition="n">
<a href=""
tal:attributes="href python: portal_url + '/search?' + mq( request.form, b_start=n.first )">Next</a>
</span>
</span>
</div>
<!--- End Result Page Batches --->
<br />
<div tal:define="b_start python:0;b_start request/b_start | b_start;
Batch python:modules['ZTUtils'].Batch;
global batch python:Batch(results, 10, b_start, orphan=1);
">
<div tal:repeat="hit batch">
<div tal:define="objURL python: hit.getURL() + '/view'">
<div>
<span tal:condition="hit/getIcon|nothing">
<a href="" tal:attributes="href objURL"><img
src="" border="0" alt="" title=""
tal:define="alt hit/Type"
tal:attributes="src hit/getIcon; alt alt; title alt" /></a></span>
<a href="" tal:attributes="href objURL"><span
tal:condition="hit/Title"
tal:content="hit/Title">Title</span><span
tal:condition="not:hit/Title"
tal:content="hit/getURL"></span></a>
</div>
<div tal:condition="hit/Description">
Description:
<span tal:content="python: here.truncate(hit.Description,150)">Description</span>
</div>
<div tal:condition="hit/Subject"
tal:define="subjects hit/Subject">
Related subjects:
<span tal:repeat="this_subject python:subjects[:10]">
<a href="#" tal:content="this_subject">somesubject</a>
</span>
</div>
<div>
<span class="resultURL"
tal:content="hit/getURL">http://some.url/</span>
<!-- this may be a bit expensive
<span tal:replace="python: ' - ' + pss.thousands_commas(hit.getObject().get_size()) + ' bytes'"
tal:on-error="python: None"> 7,200 bytes</span> -
-->
<span tal:content="hit/Date">12-Apr-2002</span>
</div>
<br />
</div>
</div>
<div tal:condition="not:results"
tal:replace="string:There are no items matching your specified criteria"></div>
</div>
<!-- Result Page Batches (Tom) --->
<div>
Result Page:
<span tal:define="b_start request/b_start |python:0;
batch python:modules['ZTUtils'].Batch(results, size=10, start=b_start, orphan=1);
previous python:batch.previous;
next python:batch.next;
mq python:modules['ZTUtils'].make_query;
global pages python:here.returnPageResults(batch,10)">
<span tal:define="p batch/previous" tal:condition="p">
<a href=""
tal:attributes="href python: portal_url + '/search?' + mq( request.form, b_start=p.first )">Previous</a>
</span>
<span tal:repeat="page pages" tal:omit-tag="">
<a tal:condition="not:page/active"
tal:define="x page/batch" tal:content="page/number"
tal:attributes="href python: portal_url + '/search?' + mq( request.form, b_start=x.first )"
href="page_url">X</a>
<span tal:condition="page/active"
tal:content="page/number" tal:omit-tag="">X</span>
</span>
<span tal:define="n batch/next" tal:condition="n">
<a href=""
tal:attributes="href python: portal_url + '/search?' + mq( request.form, b_start=n.first )">Next</a>
</span>
</span>
</div>
<!--- End Result Page Batches --->
<div class="searchNav">
<form method="get" action="#"
tal:attributes="action string: ${portal_url}/search">
You searched for:
<input type="text" name="SearchableText" size="25"
value="Type your search here ..."
tal:attributes="value request/SearchableText" />
<input type="submit" name="Submit" value="Search Zope.org" />
</form>
<div>
<a href="#">Advanced Search</a>
<a href="#">Search Tips</a>
<a href="#">Top Searches</a>
</div>
</div>
</div>
</body>
</html>
=== Added File Products/ZopeOrg-NV/skins/nzo/search_form.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">
<div class="Desktop">
<h1>Search <span tal:replace="here/Title" /></h1>
<form action="search"
tal:attributes="action string:${here/portal_url}/search"
>
<table class="FormLayout">
<tr tal:condition="python: here.portal_membership.checkPermission('Review portal content', here)">
<th> Review Status
</th>
<td>
<select name="review_state" size="3" multiple>
<option value="" selected>-- any --</option>
<option>private</option>
<option>pending</option>
<option>published</option>
</select>
<dl class="FieldHelp">
<dd> As a reviewer, you may search for items based on their
review state. If you wish to constrain results to items
in certain states, select them from this list.
</dd>
</dl>
</td>
</tr>
<tr valign="top">
<th> Full Text
</th>
<td>
<input name="SearchableText" size="40">
<dl class="FieldHelp">
<dd> For a simple text search, enter your search term
here. Multiple words may be found by combining
them with <b>AND</b> and <b>OR</b>. This will
find text in items' contents, title and
description.
</dd>
</dl>
</td>
</tr>
<tr>
<th>Title
</th>
<td>
<input name="Title" size="20">
</td>
</tr>
<tr valign="top">
<th>Subject</th>
<td tal:define="items python: here.portal_catalog.uniqueValuesFor('Subject')">
<select name="Subject:list" multiple size="5">
<option value="" selected>-- any --</option>
<option value=""
tal:repeat="item items"
tal:attributes="value item"
tal:content="item">
</option>
</select>
</td>
</tr>
<tr>
<th> Description
</th>
<td>
<input name="Description" size="20">
<dl class="FieldHelp">
<dd> You may also search the items' descriptions and
titles specifically. Multiple words may be found
by combining them with <b>AND</b> and <b>OR</b>.
</dd>
</dl>
</td>
</tr>
<tr>
<th> Find new items since...
</th>
<td tal:define="today python: here.ZopeTime().earliestTime();
mtool here/portal_membership;
member python:mtool.getAuthenticatedMember();
lastLogin member/last_login_time|nothing;
yesterday python:(today-1).Date();
lastWeek python:(today-7).Date();
lastMth python:(today-31).Date();
">
<select name="created:date">
<option value="1970/01/01 00:00:00 GMT">Ever</option>
<option value=""
tal:condition="python:not(here.portal_membership.isAnonymousUser())"
tal:attributes="value lastLogin">Last login</option>
<option value=""
tal:attributes="value yesterday">Yesterday</option>
<option value=""
tal:attributes="value lastWeek">Last week</option>
<option value=""
tal:attributes="value lastMth">Last month</option>
</select>
<input type="hidden" name="created_usage" value="range:min">
<dl class="FieldHelp">
<dd> You may find only recent items by selecting a time-frame.
</dd>
</dl>
</td>
</tr>
<tr>
<th> Item type
</th>
<td tal:define="items python: here.portal_types.listContentTypes()" >
<select name="Type:list" multiple size="5">
<option value="" selected>-- any --</option>
<option value=""
tal:repeat="item items"
tal:attributes="value item"
tal:content="item"></option>
</select>
<dl class="FieldHelp">
<dd> You may limit your results to particular kinds of
items by selecting them above. To find all kinds
of items, do not select anything.
</dd>
</dl>
</td>
</tr>
<tr>
<th> Creator
</th>
<td>
<input name="Creator" size="20">
<dl class="FieldHelp">
<dd> To find items by a particular user only, enter
their username above. Note that you must enter
their username <i>exactly</i>.
</dd>
</dl>
</td>
</tr>
<tr>
<td><br></td>
<td>
<input type="submit" value="Search">
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>
=== Products/ZopeOrg-NV/skins/nzo/truncate.py 1.2 => 1.3 ===
+## Script (Python) "truncate"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=some_string, size
+##title=
+##
+if len(some_string) > size:
+ return some_string[:size] + '...'
+else:
+ return some_string
More information about the zopeorg-checkins
mailing list