ZEXPɾ((U OFS.FolderqUFolderqtqNt.}q(U+_Open_Close_Database_Connections_Permissionq(UManagerqU config_zwookqtqUzwo_libq (UÊq (hUFolderq ttQU_View_History_Permissionq (hhtq U_Add_Page_Templates_Permissionq(hhtqU!_Import_Export_objects_Permissionq(hhtqU#_Manage_ZCatalog_Entries_Permissionq(hhtqU_Add_Zope_Tutorials_Permissionq(hhtqU __ac_roles__q(hUOwnerqU AnonymousqU AuthenticatedqhUadminqU inscriptionqtqU_Add_Vocabularies_Permissionq(hhtqU_Edit_Factories_Permissionq(hhtq Utitleq!UU zwo_modulesq"(UËq#(hUFolderq$ttQU_Manage_Z_Classes_Permissionq%(hhtq&U_Delete_objects_Permissionq'(hhtq(U_Add_Versions_Permissionq)(hhtq*U _Use_Database_Methods_Permissionq+(hhtq,U type_zwookq-Usystemq.U_Copy_or_Move_Permissionq/(hhtq0U!_Add_ZODB_Mount_Points_Permissionq1)U_Change_Versions_Permissionq2(hhtq3U(_Manage_ZCatalogIndex_Entries_Permissionq4(hhtq5U"_Create_class_instances_Permissionq6(hhtq7Uzwo_boq8(UÌq9(hUFolderq:ttQU(_Save_discard_Version_changes_Permissionq;(hhtqU _Add_Temporary_Folder_Permissionq?(hhtq@U_Add_Python_Scripts_PermissionqA(hhtqBU_Define_permissions_PermissionqC(htqDU zwo_upgradeqE(UÍqF(hUFolderqGttQU!_Change_cache_managers_PermissionqH(hhtqIU-_Add_Z_Gadfly_Database_Connections_PermissionqJ(hhtqKU/_Add_Accelerated_HTTP_Cache_Managers_PermissionqL(hhtqMU._Access_arbitrary_user_session_data_PermissionqN(hhtqOU _Log_to_the_Event_Log_PermissionqP(hhtqQU index_htmlqR(UÎqS(U#Products.PythonScripts.PythonScriptqTU PythonScriptqUttQU_Search_ZCatalog_PermissionqV(hhtqWU%_Add_Virtual_Host_Monsters_PermissionqX(hhtqYU _Change_configuration_PermissionqZ(hhtq[U_Add_Folders_Permissionq\(hhtq]U_Manage_Vocabulary_Permissionq^(hhtq_U!_Change_Python_Scripts_Permissionq`(hhtqaU_Use_external_editor_Permissionqb(hhtqcU$_Create_Transient_Objects_Permissionqd(hhtqeU zwo_imagesqf(UÏqg(hUFolderqhttQU_Change_DTML_Methods_Permissionqi(hhtqjU_Access_session_data_Permissionqk(hhhhtqlU _Add_MailHost_objects_Permissionqm(hhtqnU__allow_groups__qo(UÐqp(UAccessControl.UserqqU UserFolderqrttQU,_Add_Z_MySQL_Database_Connections_Permissionqs)U_Query_Vocabulary_Permissionqt(hhtquU_Add_Pluggable_Index_Permissionqv(hhtqwU#_Change_External_Methods_Permissionqx(hhtqyU_Add_User_Folders_Permissionqz(hhtq{U_objectsq|(}q}(U meta_typeq~U DTML DocumentqUidq€Utest_connectionqu}q‚(U meta_typeqƒUScript (Python)q„Uidq…Uacl_objq†u}q‡(U meta_typeqˆUScript (Python)q‰UidqŠhRu}q‹(U meta_typeqŒU DTML DocumentqUidqŽUCOPYINGqu}q(U meta_typeq‘UFolderq’Uidq“Uzwo_libq”u}q•(U meta_typeq–UFolderq—Uidq˜Uzwo_boq™u}qš(h–h—h˜hfu}q›(U meta_typeqœUFolderqUidqžU zwo_modulesqŸu}q (U meta_typeq¡U User Folderq¢Uidq£U acl_usersq¤u}q¥(h¡UFolderq¦h£Uzwo_infoq§u}q¨(h¡h¦h£Uzwookq©u}qª(U meta_typeq«UFolderq¬Uidq­U zwo_upgradeq®u}q¯(U meta_typeq°U Mail Hostq±Uidq²UMailHostq³utq´U*_Add_Transient_Object_Container_Permissionqµ(hhtq¶U_query_Permissionq·]q¸(hhhheU_Change_proxy_roles_Permissionq¹(hhtqºU"_Add_Browser_Id_Manager_Permissionq»(hhtq¼U!_Change_cache_settings_Permissionq½(hhtq¾U'_Change_Session_Data_Manager_Permissionq¿(hhtqÀU!_Edit_ReStructuredText_PermissionqÁ(htqÂU_WebDAV_Lock_items_PermissionqÃ(htqÄU-_Manage_Transient_Object_Container_PermissionqÅ(hhtqÆU_Manage_WebDAV_Locks_PermissionqÇ(hhtqÈU!_Change_Page_Templates_PermissionqÉ(hhtqÊU$_Add_Session_Data_Manager_PermissionqË(hhtqÌU*_Open_Close_Database_Connection_PermissionqÍ(hhtqÎU_Take_ownership_PermissionqÏ(hhtqÐU_WebDAV_access_PermissionqÑ(htqÒU*_Add_ReStructuredText_Documents_PermissionqÓ(htqÔU_Change_bindings_PermissionqÕ(hhtqÖUacl_objq×(UÑqØ(hTU PythonScriptqÙttQU%_Test_Database_Connections_PermissionqÚ(hhtqÛUsystemqÜUracineqÝU$_Access_Transient_Objects_PermissionqÞ(hhhhtqßU_Log_Site_Errors_Permissionqà(hhtqáU_Add_Site_Roots_Permissionqâ(hhtqãU _Add_External_Methods_Permissionqä(hhtqåUtest_connectionqæ(UÒqç(UOFS.DTMLDocumentqèU DTMLDocumentqéttQU_Add_ZCatalogs_Permissionqê(hhtqëU#_View_management_screens_Permissionqì(hhtqíU!_Use_mailhost_services_Permissionqî(hhtqïU#_Change_Database_Methods_Permissionqð(hhtqñU _Add_Database_Methods_Permissionqò(hhtqóU_Manage_properties_Permissionqô(hhtqõU_Add_ChatItems_Permissionqö(hhhtq÷Uzwo_infoqø(UÓqù(hUFolderqúttQh¤(hp(hqU UserFolderqûttQU%_Change_Browser_Id_Manager_Permissionqü(hhtqýU,_Add_Documents__Images__and_Files_Permissionqþ(hhtqÿU_FTP_access_Permissionr(hhtrU_Use_Factories_Permissionr(hhtrU'_Change_Database_Connections_Permissionr(hhtrU!_Change_DTML_Documents_Permissionr(hhtrh³(U›Fr(UProducts.MailHost.MailHostr UMailHostr ttQUCOPYINGr (UÕr (hèU DTMLDocumentr ttQU'_Access_contents_information_Permissionr(hhhhtrU#_Change_Images_and_Files_Permissionr(hhtrUidrUzwook_active_rc6_beta3rU"_Add_RAM_Cache_Managers_Permissionr(hhtrU#_Change_Lock_Information_Permissionr(hhtrU_View_Permissionr(hhhhtrU_WebDAV_Unlock_items_Permissionr(htrUzwookr(UÖr(hUFolderrttQU_Add_ZRTChats_Permissionr(hhhtr U_Join_leave_Versions_Permissionr!(hhtr"U_Undo_changes_Permissionr#(hhtr$U_ownerr%(]r&U acl_usersr'aUadminr(tr)U_Manage_Access_Rules_Permissionr*(hhtr+U _propertiesr,(}r-(Utyper.Ustringr/Uidr0Utitler1Umoder2Uwu}r3(j.Ustringr4j0U type_zwookr5u}r6(j.Ustringr7j0Usystemr8utr9U_Change_permissions_Permissionr:(hhtr;U__ac_local_roles__r<}r=u.Ê ø((U OFS.FolderqUFolderqtqNt.}q(U&standard_html_header_avant_patch_metasq(U×q(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQUzwo_droits_folderq (UØq (hU PythonScriptq ttQUparseq (UÙq (hUFolderqttQUstandard_print_headerq(Uóq(hU PythonScriptqttQUstandard_img_homeq(UÚq(hU PythonScriptqttQUidqUzwo_libqUzwo_user_groupsq(UÛq(hU PythonScriptqttQU tab_to_valq(UÜq(hU PythonScriptqttQUzwo_cpyq(UÝq(hU PythonScriptqttQU mem_mod_dataq (UÞq!(hU PythonScriptq"ttQUmem_dataq#(Ußq$(hU PythonScriptq%ttQUtitleq&Unoyau - bibliothequeq'Uepozq((Uàq)(hUFolderq*ttQUsystemq+Ulibq,U type_zwookq-Usystemq.U_objectsq/(}q0(U meta_typeq1UScript (Python)q2Uidq3U mix_id_zopeq4u}q5(U meta_typeq6UScript (Python)q7Uidq8hu}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UScript (Python)q@UidqAUmem_dataqBu}qC(U meta_typeqDUScript (Python)qEUidqFU secure_skinqGu}qH(U meta_typeqIUScript (Python)qJUidqKUzwo_droits_folderqLu}qM(U meta_typeqNUScript (Python)qOUidqPUzwo_cpyqQu}qR(hNhOhPU zwo_renameqSu}qT(hNhOhPUzwo_user_groupsqUu}qV(hNhOhPUstandard_img_footerqWu}qX(hNhOhPUstandard_img_headerqYu}qZ(hNhOhPhu}q[(hNhOhPUstandard_print_footerq\u}q](hNhOhPhu}q^(hNhOhPUstandard_print_homeq_u}q`(U meta_typeqaUScript (Python)qbUidqcUzwo_initialise_passwordqdu}qe(U meta_typeqfUScript (Python)qgUidqhUcheck_edit_repqiu}qj(U meta_typeqkUScript (Python)qlUidqmUstandard_html_footerqnu}qo(hkhlhmUstandard_html_homeqpu}qq(U meta_typeqrUFolderqsUidqtUinstallquu}qv(hrUScript (Python)qwhtUstandard_minimal_footerqxu}qy(hrhwhtUstandard_minimal_headerqzu}q{(U meta_typeq|UFolderq}Uidq~Uparsequ}q€(U meta_typeqUFolderq‚UidqƒUusersq„u}q…(U meta_typeq†UScript (Python)q‡UidqˆU get_headerq‰u}qŠ(h†h‡hˆU get_footerq‹u}qŒ(h†UFolderqhˆU trackbackqŽu}q(U meta_typeqUFolderq‘Uidq’Uepozq“u}q”(U meta_typeq•UScript (Python)q–Uidq—hu}q˜(h•h–h—Ustandard_html_headerq™utqšU get_headerq›(Uâqœ(hU PythonScriptqttQhd(Uãqž(hU PythonScriptqŸttQUusersq (Uäq¡(hUFolderq¢ttQhY(Uåq£(hU PythonScriptq¤ttQhW(Uæq¥(hU PythonScriptq¦ttQU trackbackq§(Uçq¨(hUFolderq©ttQUstandard_html_footerqª(Uèq«(hU PythonScriptq¬ttQUstandard_html_homeq­(Uéq®(hU PythonScriptq¯ttQUinstallq°(Uðq±(hUFolderq²ttQU secure_skinq³(Uêq´(hU PythonScriptqµttQU zwo_renameq¶(Uëq·(hU PythonScriptq¸ttQh_(Uìq¹(hU PythonScriptqºttQh\(Uíq»(hU PythonScriptq¼ttQU mix_id_zopeq½(Uîq¾(hU PythonScriptq¿ttQh‹(UïqÀ(hU PythonScriptqÁttQUstandard_minimal_headerqÂ(UáqÃ(hU PythonScriptqÄttQU _propertiesqÅ(}qÆ(UtypeqÇUstringqÈhh&UmodeqÉUwu}qÊ(hÇUstringqËhh-u}qÌ(hÇUstringqÍhUsystemqÎutqÏUstandard_minimal_footerqÐ(UñqÑ(hU PythonScriptqÒttQhi(UòqÓ(hU PythonScriptqÔttQU__ac_local_roles__qÕ}qÖUstandard_html_headerq×(UôqØ(hU PythonScriptqÙttQu.ËÛ((U OFS.FolderqUFolderqtqNt.}q(U inscriptionq(Uõq(hUFolderqttQUannuaire_liensq(U‚ q (hUFolderq ttQU rss_readerq (U÷q (hUFolderq ttQUtextq(Uùq(hUFolderqttQUimageq(Uúq(hUFolderqttQU simplepollq(Uûq(hUFolderqttQU text_epozq(Uüq(hUFolderqttQU faqs_historyq(U‚ q(hUFolderqttQU folderbarq(Uýq(hUFolderqttQU mailgroupq (Uþq!(hUFolderq"ttQUvideoq#(Uÿq$(hUFolderq%ttQUproduits_dispatchesq&(U‚q'(hUFolderq(ttQUtotalq)(U‚q*(U#Products.PythonScripts.PythonScriptq+U PythonScriptq,ttQUtodoq-(U‚q.(hUFolderq/ttQUidq0U zwo_modulesq1Uforums_historyq2(U¢“q3(hUFolderq4ttQU documentsq5(U‚q6(hUFolderq7ttQU preferencesq8(U‚q9(hUFolderq:ttQU tell_a_fiendq;(U‚q<(hUFolderq=ttQUscriptq>(U‚q?(hUFolderq@ttQU news_historyqA(UœAqB(hUFolderqCttQU album_photoqD(U‚qE(hUFolderqFttQUflashqG(UöqH(hUFolderqIttQUsystemqJUlibqKU catalogueqL(UøqM(hUFolderqNttQU minicalendarqO(U‚#qP(hUFolderqQttQU type_zwookqRUsystemqSUproduits_dispatches_selectorqT(U‚ qU(hUFolderqVttQUtext_fckqW(U‚ qX(hUFolderqYttQU_objectsqZ(}q[(U meta_typeq\UScript (Python)q]Uidq^Utotalq_u}q`(U meta_typeqaUFolderqbUidqcU folderbarqdu}qe(hahbhcUscriptqfu}qg(U meta_typeqhUFolderqiUidqjU documentsqku}ql(hhhihjUexample_moduleqmu}qn(U meta_typeqoUFolderqpUidqqUbrowsing_modesqru}qs(hohphqU mesevenementsqtu}qu(hohphqU calendrierqvu}qw(hohphqU speedblogqxu}qy(U meta_typeqzUFolderq{Uidq|U locatebarq}u}q~(U meta_typeqUFolderq€UidqUrecherche_googleq‚u}qƒ(U meta_typeq„UFolderq…Uidq†Utitreq‡u}qˆ(U meta_typeq‰UFolderqŠUidq‹hGu}qŒ(U meta_typeqUFolderqŽUidqUhitsqu}q‘(hhŽhUtraitq’u}q“(U meta_typeq”UFolderq•Uidq–U mp3_playlistq—u}q˜(U meta_typeq™UFolderqšUidq›Utodoqœu}q(U meta_typeqžUFolderqŸUidq U members_listq¡u}q¢(hžhŸh h8u}q£(U meta_typeq¤UFolderq¥Uidq¦Utextq§u}q¨(U meta_typeq©UFolderqªUidq«hu}q¬(U meta_typeq­UFolderq®Uidq¯U navigationq°u}q±(U meta_typeq²UFolderq³Uidq´h u}qµ(h²h³h´Urss_aggregatorq¶u}q·(U meta_typeq¸UFolderq¹UidqºU logs_crawlerq»u}q¼(U meta_typeq½UFolderq¾Uidq¿hDu}qÀ(U meta_typeqÁUFolderqÂUidqÃUcontactqÄu}qÅ(U meta_typeqÆUFolderqÇUidqÈhu}qÉ(U meta_typeqÊUFolderqËUidqÌhWu}qÍ(U meta_typeqÎUFolderqÏUidqÐhu}qÑ(hÎhÏhÐUsimplepoll4skinqÒu}qÓ(hÎhÏhÐU directfriendsqÔu}qÕ(U meta_typeqÖUFolderq×UidqØUsubmited_monitorqÙu}qÚ(U meta_typeqÛUFolderqÜUidqÝU login_managerqÞu}qß(hÛhÜhÝhOu}qà(U meta_typeqáUFolderqâUidqãhTu}qä(háhâhãUproduits_dispatchesqåu}qæ(U meta_typeqçUFolderqèUidqéh;u}qê(hçhèhéUfile_v2qëu}qì(hçhèhéUimageqíu}qî(U meta_typeqïUFolderqðUidqñUconges_scolairesqòu}qó(hïhðhñhLu}qô(hïhðhñhu}qõ(hïhðhñU mailgroupqöu}q÷(hïhðhñU newsletterqøu}qù(U meta_typeqúUFolderqûUidqüh#u}qý(U meta_typeqþUFolderqÿUidrUforumru}r(U meta_typerUFolderrUidrUfaqru}r(jjjU faqs_historyru}r (U meta_typer UFolderr Uidr Unewsr u}r(U meta_typerUFolderrUidrU news_historyru}r(U meta_typerUFolderrUidrUforums_historyrutrU login_managerr(U‚r(hUFolderrttQhÔ(U‚r(hUFolderrttQh»(U‚r(hUFolderrttQh’(U‚r (hUFolderr!ttQj(U‚r"(hUFolderr#ttQhr(U‚r$(hUFolderr%ttQhë(U‚r&(hUFolderr'ttQhÒ(U‚r((hUFolderr)ttQUtitrer*(U‚r+(hUFolderr,ttQUnewsr-(U›‘r.(hUFolderr/ttQhÙ(U‚r0(hUFolderr1ttQh—(U‚"r2(hUFolderr3ttQhx(U‚r4(hUFolderr5ttQUhitsr6(U‚r7(hUFolderr8ttQhø(U‚r9(hUFolderr:ttQj(U‚r;(hUFolderr<ttQU calendrierr=(U‚r>(hUFolderr?ttQU locatebarr@(U‚ rA(hUFolderrBttQU__ac_local_roles__rC}rDhm(U‚(rE(hUFolderrFttQUcontactrG(U‚ rH(hUFolderrIttQht(U‚$rJ(hUFolderrKttQh¶(U‚%rL(hUFolderrMttQU _propertiesrN(}rO(UtyperPUstringrQUidrRUtitlerSUmoderTUwu}rU(jPUstringrVjRU type_zwookrWu}rX(jPUstringrYjRUsystemrZutr[h¡(U‚&r\(hUFolderr]ttQUtitler^Umodulesr_h‚(U‚'r`(hUFolderrattQU navigationrb(U‚!rc(hUFolderrdttQhò(U‚re(hUFolderrfttQu.ÌŒ((U OFS.FolderqUFolderqtqNt.}q(Uautourq(U‚)q(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQUtitleq Unoyau : back officeq Uadminq (U‚*q (hUFolderq ttQUmenuq(U‚+q(hU PythonScriptqttQUskinq(U‚/q(hUFolderqttQU presentationq(U‚2q(hU PythonScriptqttQU configboxq(U‚,q(hU PythonScriptqttQUeditq(U‚-q(hUFolderqttQUeditionq(U‚.q(hU PythonScriptqttQU type_zwookq Usystemq!U _propertiesq"(}q#(Utypeq$Ustringq%Uidq&Utitleq'Umodeq(Uwu}q)(h$Ustringq*h&U type_zwookq+utq,Uarboq-(U‚0q.(hUFolderq/ttQU_objectsq0(}q1(U meta_typeq2UFolderq3Uidq4Uadminq5u}q6(U meta_typeq7UScript (Python)q8Uidq9Umenuq:u}q;(U meta_typeqhu}q?(U meta_typeq@UScript (Python)qAUidqBU configboxqCu}qD(U meta_typeqEUScript (Python)qFUidqGU choixcouleurqHu}qI(U meta_typeqJUFolderqKUidqLUskinqMu}qN(U meta_typeqOUScript (Python)qPUidqQU presentationqRu}qS(hOhPhQUautourqTu}qU(U meta_typeqVUFolderqWUidqXUarboqYu}qZ(U meta_typeq[UFolderq\Uidq]Ueditq^utq_hH(U‚1q`(hU PythonScriptqattQU__ac_local_roles__qb}qch4Uzwo_boqdu.ÍÝ((U OFS.FolderqUFolderqtqNt.}q(UtitleqUUmeta_data_and_titleq(U‚3q(hUFolderqttQU_objectsq (}q (U meta_typeq UFolderq Uidq hutqU__ac_local_roles__q}qUsantiagoq]qUOwnerqash U zwo_upgradequ.Î{((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T„#Affiche un dossier ou un objet. #recupération des données utiles (mem). mem=context.zwo_lib.mem_data() #test pour verifier que l'utilisateur n'est pas un user Zope non Zwook. if not mem: return 'Vous utilisez un User Zope qui n\'est pas enregistré dans Zwook !!!
Mettez cette page en bookmark
Delogger vous ICI.
Vous devez ensuite cliquer sur Annuler/Cancel...
Revenez ensuite sur votre page bookmarkée
' #Check de premiere configuration. #pour réactivé cette premiere configuration (changement de password root) # mettre a 0 la propriété checkproperty de zwo_info. if not mem['racine_obj'].zwo_info.hasProperty("checkpasswd") or mem['racine_obj'].zwo_info.checkpasswd<>1: try: return context.zwo_lib.zwo_initialise_password(mem) except: #affichage avant premiere connection d'un message indiquant le login/password temporaire. return '

Se connecter avec l\'utilisateur "admin" et le mot de passe "admin"

Cliquer ici pour se connecter

' #Test si l'utilisateur a le droit de voir la page (ou l'objet) if mem['droit_vue_dossier']==0: print '



Cette page nécessite une identification.



' print ' Pour vous identifier sur le site,
cliquer sur Se connecter
' return printed # selon le mode d'affichage, appelle les fonctions header / home / footer correspondantes. if view=='html': print context.zwo_lib.standard_html_header(mem) print context.zwo_lib.standard_html_home(mem) print context.zwo_lib.standard_html_footer(mem) elif view=='print': print context.zwo_lib.standard_print_header(mem) print context.zwo_lib.standard_print_home(mem) print context.zwo_lib.standard_print_footer(mem) elif view=='img': print context.zwo_lib.standard_img_header(mem) print context.zwo_lib.standard_img_home(mem) print context.zwo_lib.standard_img_footer(mem) else: print 'type view inconnu.' return printed q Utitleq Unoyauq U _filepathqU'Script (Python):/kzexp_zwook/index_htmlqU_codeqTÍc@sdd„ZdS(NshtmlcCsªtƒ}tttdƒdƒƒ}| odSnttt|dƒdƒdƒdƒ p%ttt|dƒdƒdƒdjoTy tttdƒd ƒ|ƒSWqÙd t|d ƒd t|d ƒdSqÙXnt|dƒdjoA|dIJ|dt|d ƒd t|d ƒdIJ|ƒSn|djoj|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJnù|djoj|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJn‚|djoj|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJ|tttdƒdƒ|ƒIJn |d IJ|ƒSdS(!Nszwo_libsmem_datas Vous utilisez un User Zope qui n'est pas enregistré dans Zwook !!!
Mettez cette page en bookmark
Delogger vous ICI.
Vous devez ensuite cliquer sur Annuler/Cancel...
Revenez ensuite sur votre page bookmarkée
s racine_objszwo_infos hasPropertys checkpasswdiszwo_initialise_passwords

Se connecter avec l'utilisateur "admin" et le mot de passe "admin"

Cliquer ici pour se connecter

sdroit_vue_dossieris^



Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
shtmlsstandard_html_headersstandard_html_homesstandard_html_footersprintsstandard_print_headersstandard_print_homesstandard_print_footersimgsstandard_img_headersstandard_img_homesstandard_img_footerstype view inconnu.(s_print_s_prints _getattr_scontextsmems _getitem_sview(sviews_print_s_prints _getattr_scontextsmems _getitem_((sScript (Python)s index_htmls2 H#. ,  ""& ""& ""& (s index_html(s index_html((sScript (Python)ssqU func_defaultsq(UhtmlqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathq U name_m_selfq!Uscriptq"usbU func_codeq#(cShared.DC.Scripts.Signature FuncCode q$oq%}q&(U co_argcountq'KU co_varnamesq((Uviewq)U_print_q*U_printq+U _getattr_q,Ucontextq-Umemq.U _getitem_q/tq0ubU__ac_local_roles__q1}q2Uxavq3]q4UOwnerq5asUidq6U index_htmlq7U_paramsq8U view='html'q9U_dav_writelocksq:(U‚4q;(U PersistenceqsqU func_defaultsq(NtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerq U containerq!usbU_dav_writelocksq"(U‚9q#(U Persistenceq$UPersistentMappingq%ttQU__ac_local_roles__q&}q'Uxavq(]q)UOwnerq*asUidq+Uacl_objq,U_paramsq-Uurl=Noneq.U func_codeq/(cShared.DC.Scripts.Signature FuncCode q0oq1}q2(U co_argcountq3KU co_varnamesq4(Uurlq5U AccessControlq6UgetSecurityManagerq7UaU _getattr_q8U containerq9tq:ubu.ÒÍ((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_FTP_access_Permissionq(UManagerqtqU_WebDAV_access_Permissionq(htq U_View_History_Permissionq (htq U_Take_ownership_Permissionq (htq U!_Change_DTML_Documents_Permissionq(htqUrawqT5 ">




Vous êtes connecté
Redirection automatique.

Pour une redirection manuelle : cliquer ici Pour une redirection manuelle : ">cliquer ici
qUglobalsq}qU#_View_management_screens_Permissionq(htqU'_Access_contents_information_Permissionq(U AnonymousqU AuthenticatedqhtqUtitleqUnoyauqU_Change_DTML_Methods_Permissionq(htqUsystemqUlibqU_Delete_objects_Permissionq (htq!U type_zwookq"Usystemq#U_varsq$}q%U_Change_proxy_roles_Permissionq&(htq'U_Copy_or_Move_Permissionq((htq)U__name__q*Utest_connectionq+U!_Change_cache_settings_Permissionq,(htq-U_View_Permissionq.(hhtq/U_dav_writelocksq0(U‚:q1(U Persistenceq2UPersistentMappingq3ttQU_WebDAV_Unlock_items_Permissionq4(htq5U_Manage_properties_Permissionq6(htq7U_WebDAV_Lock_items_Permissionq8(htq9U_Undo_changes_Permissionq:(htq;U_Manage_WebDAV_Locks_Permissionq<(htq=U _propertiesq>(}q?(Utypeq@UstringqAUidqBUtitleqCUmodeqDUwu}qE(h@UstringqFhBU type_zwookqGu}qH(h@UstringqIhBUsystemqJutqKU_Change_permissions_PermissionqL(htqMU__ac_local_roles__qN}qOu.ÓA((U OFS.FolderqUFolderqtqNt.}q(Uusersq(U‚;q(hUFolderqttQUtitleqUInformation sur le zwookq Upacksq (U‚q:(hUFolderq;ttQU_objectsq<(}q=(U meta_typeq>UFolderq?Uidq@UskinsqAu}qB(U meta_typeqCUFolderqDUidqEUusersqFu}qG(hChDhEUgroupsqHu}qI(U meta_typeqJUFolderqKUidqLUimagesqMu}qN(U meta_typeqOUFolderqPUidqQUcssqRu}qS(U meta_typeqTUFolderqUUidqVh u}qW(hThUhVUstandby_contentqXu}qY(U meta_typeqZUFolderq[Uidq\h utq]Uskinsq^(U‚Aq_(hUFolderq`ttQU__ac_local_roles__qa}qbh#Uzwo_infoqcUcssqd(U‚Bqe(hUFolderqfttQu.›Fü((UProducts.MailHost.MailHostqUMailHostqtqNt.}q(UtitleqUMailHost du siteqU smtp_portqKU smtp_hostqU localhostq U_ownerq (]q (Uzwook_active_rc6_beta3q U acl_usersq eUadminqtqU__ac_local_roles__q}qh]qUOwnerqasUidqUMailHostqu.Õï((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUtitleqUGPLqUrawq T>KZEXP-ZWOOK version beta 1, Copyright (C) 2001-2004 Xavier Manach (xav@1et0.org). This file is part of KZEXP-ZWOOK. KZEXP-ZWOOK is the kernel of ZWOOK. KZEXP-ZWOOK is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA q Uglobalsq }q U__name__q UCOPYINGqU__ac_local_roles__q}qUadminq]qUOwnerqasu.Ö!Ò((U OFS.FolderqUFolderqtqNt.}q(U+_Open_Close_Database_Connections_Permissionq(UManagerqU config_zwookqUblogqtq U_Access_session_data_Permissionq (hU Anonymousq U Authenticatedq U config_zwookq U pages_managerqU skin_editorqU e-cours_zwookqUblogqtqU_View_History_Permissionq(hU AuthenticatedqU AnonymousqhhtqU_Add_Page_Templates_Permissionq(htqU!_Import_Export_objects_Permissionq(hhhtqU#_Manage_ZCatalog_Entries_Permissionq(hhhtqU_Add_Zope_Tutorials_Permissionq(htqU*_Access_inactive_portal_content_Permissionq(UManagerq tq!U _Add_CMFDefault_Tools_Permissionq"(h tq#U_Change_Photo_Permissionq$(h tq%U_Add_Vocabularies_Permissionq&(hhhtq'U_Edit_Factories_Permissionq((hhhtq)Utitleq*UAccueilq+U_Manage_Z_Classes_Permissionq,(hhhtq-U3_Add_Issue_Tracker_Notifyable_Containers_Permissionq.(h tq/U)_Add_Controller_Python_Scripts_Permissionq0(h tq1U_Delete_objects_Permissionq2(hhhhhtq3U_Add_TTWObjects_Permissionq4(h tq5U_Add_Versions_Permissionq6(htq7U_Manage_Groups_Permissionq8(h tq9U _Use_Database_Methods_Permissionq:(hhhtq;U _Add_Formulator_Forms_Permissionq<(h tq=U type_zwookq>Usystemq?U&_Add_PortalTransforms_Tools_Permissionq@(h tqAU_Copy_or_Move_PermissionqB(hhhhhtqCU!_Add_ZODB_Mount_Points_PermissionqD(htqEU _Add_Cookie_Crumblers_PermissionqF(h tqGU_Change_Versions_PermissionqH(htqIU _Add_Archetypes_Tools_PermissionqJ(h tqKU"_Create_class_instances_PermissionqL(hhhtqMU_Add_BTreeFolder2s_PermissionqN(UManagerqOtqPU(_Save_discard_Version_changes_PermissionqQ(htqRU _Change_portal_events_PermissionqS(h tqTU_Manage_users_PermissionqU(htqVU%_Moderate_COREBlog_Entries_PermissionqW(h tqXU _Add_Temporary_Folder_PermissionqY(htqZU_Add_Python_Scripts_Permissionq[(htq\U_Add_Issue_Trackers_Permissionq](h tq^U_Set_own_properties_Permissionq_(h tq`U_Add_Groups_Permissionqa(h tqbU_Zwiki__Add_wikis_Permissionqc(h tqdU_Define_permissions_Permissionqe(htqfU'_Change_Session_Data_Manager_Permissionqg(htqhU_Add_portal_member_Permissionqi(h tqjU!_Change_cache_managers_Permissionqk(htqlU_Add_WebMails_Permissionqm(h tqnU-_Add_Z_Gadfly_Database_Connections_Permissionqo(hhhtqpU_Manage_Site_Permissionqq(h tqrU)_Add_Controller_Page_Templates_Permissionqs(h tqtU._Access_arbitrary_user_session_data_Permissionqu(hh h h hhhhtqvU _Log_to_the_Event_Log_Permissionqw(htqxU_Add_COREBlogs_Permissionqy(h tqzU_Search_ZCatalog_Permissionq{(hhhhhtq|U#_Modify_Cookie_Crumblers_Permissionq}(hOtq~U%_Add_Virtual_Host_Monsters_Permissionq(htq€U&_Add_CMF_Action_Icons_Tools_Permissionq(h tq‚U _Change_configuration_Permissionqƒ(hhhtq„U_Add_Folders_Permissionq…(hhhhhtq†U_Manage_Vocabulary_Permissionq‡(hhhtqˆU!_Change_Python_Scripts_Permissionq‰(htqŠU_Use_external_editor_Permissionq‹(hUblogqŒU config_zwookqtqŽU$_Create_Transient_Objects_Permissionq(hhhtqU_Change_DTML_Methods_Permissionq‘(hhhtq’U_View_Groups_Permissionq“(h tq”U _Add_MailHost_objects_Permissionq•(hhhtq–U,_Add_Z_MySQL_Database_Connections_Permissionq—(h tq˜U_Query_Vocabulary_Permissionq™(hhhhhtqšU_Add_Pluggable_Index_Permissionq›(htqœU#_Change_External_Methods_Permissionq(htqžU_Add_User_Folders_PermissionqŸ(htq U_Zwiki__Edit_pages_Permissionq¡(h tq¢U_objectsq£(}q¤(U meta_typeq¥UFolderq¦Uidq§U zwo_dossierq¨u}q©(U meta_typeqªUFolderq«Uidq¬Umodulesq­u}q®(U meta_typeq¯UFolderq°Uidq±U texte_fckq²u}q³(U meta_typeq´UFolderqµUidq¶Usupportq·utq¸U_Add_GroupUserFolder_Permissionq¹(h tqºU%_Add_Form_Controller_Tools_Permissionq»(h tq¼U*_Add_Transient_Object_Container_Permissionq½(hhhtq¾U/_Add_Accelerated_HTTP_Cache_Managers_Permissionq¿(htqÀU_Change_proxy_roles_PermissionqÁ(htqÂU_Zwiki__Delete_pages_PermissionqÃ(h tqÄU_Add_portal_topics_PermissionqÅ(h tqÆU"_Add_Browser_Id_Manager_PermissionqÇ(htqÈU!_Change_cache_settings_PermissionqÉ(htqÊU!_Edit_ReStructuredText_PermissionqË(htqÌU)_Access_Issue_User_Information_PermissionqÍ(h tqÎU_Zwiki__Add_pages_PermissionqÏ(h tqÐU_Add_portal_folders_PermissionqÑ(h tqÒU_WebDAV_Lock_items_PermissionqÓ(htqÔU-_Manage_Transient_Object_Container_PermissionqÕ(hhhhhtqÖU_Manage_WebDAV_Locks_Permissionq×(hhhtqØU*_Add_Issue_Tracker_User_Folders_PermissionqÙ(h tqÚU!_Change_Page_Templates_PermissionqÛ(hhhtqÜU!_Add_CMFCalendar_Tools_PermissionqÝ(h tqÞU$_Add_Session_Data_Manager_Permissionqß(htqàU_Request_review_Permissionqá(h tqâU*_Open_Close_Database_Connection_Permissionqã(hhhtqäh¨(U‚Eqå(hUFolderqættQU_Take_ownership_Permissionqç(hhhtqèU_WebDAV_access_Permissionqé(htqêU texte_fckqë(U‚Cqì(hUFolderqíttQU*_Add_ReStructuredText_Documents_Permissionqî(htqïU_Change_bindings_Permissionqð(htqñU_Zwiki__Rename_pages_Permissionqò(h tqóU+_Add_CMF_Caching_Policy_Managers_Permissionqô(h tqõU_Zwiki__Add_comments_Permissionqö(h tq÷U%_Test_Database_Connections_Permissionqø(hhhtqùU _Change_portal_topics_Permissionqú(h tqûU._Add_Z_Psycopg_Database_Connections_Permissionqü(h tqýh·(U‚Dqþ(hUFolderqÿttQUsystemrUracinerU$_Access_Transient_Objects_Permissionr(hh h h hhhhtrU&_Add_Content_Type_Registrys_Permissionr(h trU_Log_Site_Errors_Permissionr(htrU_Manage_COREBlog_Permissionr(h tr U_Add_Site_Roots_Permissionr (htr U _Add_External_Methods_Permissionr (htr U&_Add_CMFQuickInstallerTools_Permissionr(h trU#_Change_Database_Methods_Permissionr(hhhtrU_Manage_portal_Permissionr(h trU'_Change_Database_Connections_Permissionr(hhhtrU$_Change_Formulator_Fields_Permissionr(h trU_Add_ZCatalogs_Permissionr(hhhtrU_Zwiki__Rate_pages_Permissionr(h trU!_Zwiki__Reparent_pages_Permissionr(h trU!_Modify_portal_content_Permissionr(h trU#_View_management_screens_Permissionr (hhhtr!U_Add_Photo_Folders_Permissionr"(h tr#U!_List_undoable_changes_Permissionr$(h tr%U(_Manage_ZCatalogIndex_Entries_Permissionr&(hhhtr'U_Add_Plone_Tools_Permissionr((h tr)U _Add_Database_Methods_Permissionr*(hhhtr+U_Manage_properties_Permissionr,(hhhhhtr-U _Add_GroupUserFolders_Permissionr.(h tr/U_Add_portal_events_Permissionr0(h tr1U_Delete_Groups_Permissionr2(h tr3U_Add_CMF_Core_Tools_Permissionr4(h tr5U_Reply_to_item_Permissionr6(h tr7U%_Change_Browser_Id_Manager_Permissionr8(htr9U_Add_Photos_Permissionr:(h tr;U,_Add_Documents__Images__and_Files_Permissionr<(hhhhhtr=U_FTP_access_Permissionr>(hhhhhtr?U_Use_Factories_Permissionr@(hhhtrAU_Set_Group_Ownership_PermissionrB(h trCU!_Change_DTML_Documents_PermissionrD(hhhhhtrEU_List_portal_members_PermissionrF(h trGU*_Add_Filesystem_Directory_Views_PermissionrH(h trIU_Undo_changes_PermissionrJ(hhhhhtrKU'_Access_contents_information_PermissionrL(hh h h hhhhtrMU#_Change_Images_and_Files_PermissionrN(hhhhhtrOU_Set_own_password_PermissionrP(h trQU!_Add_COREBlog_Comments_PermissionrR(h trSU_Add_TTWFolders_PermissionrT(h trUU_Add_portal_content_PermissionrV(h trWh§UzwookrXU_IssueTracker_Access_PermissionrY(h trZU!_Use_mailhost_services_Permissionr[(hhhhhtr\U(_Add_CMF_QuickInstaller_Tools_Permissionr](h tr^U!_Review_portal_content_Permissionr_(h tr`U _Add_CMF_Groups_Tools_Permissionra(h trbU"_Add_RAM_Cache_Managers_Permissionrc(htrdU#_Change_Lock_Information_Permissionre(hhhtrfU(_Access_future_portal_content_Permissionrg(h trhU_Add_CMF_Sites_Permissionri(h trjU_Join_leave_Versions_Permissionrk(htrlU_View_Permissionrm(hhhhhtrnU#_Change_Formulator_Forms_Permissionro(h trpU_WebDAV_Unlock_items_Permissionrq(htrrU__ac_local_roles__rs}rt(Uadminru]rv(Uadminrw(UOwnerrxttryaUsantiagorz]r{(Uadminr|(UOwnerr}ttr~aUmanur]r€(Uadminr(UOwnerr‚ttrƒauUmodulesr„(U‚Fr…(hUFolderr†ttQU-_Add_Cookie_Crumbler__Standalone_s_Permissionr‡(hOtrˆU _List_folder_contents_Permissionr‰(h trŠU _Add_COREBlog_Entries_Permissionr‹(h trŒU_Manage_Access_Rules_Permissionr(hhhtrŽU%_Add_Controller_Validators_Permissionr(h trU _propertiesr‘(}r’(Utyper“Ustringr”h§h*Umoder•Uwdr–u}r—(j“j”h§h>u}r˜(j“Ustringr™h§Usystemršutr›U_Change_permissions_Permissionrœ(hhhtrU$_Zwiki__Change_page_types_Permissionrž(h trŸU#_Mail_forgotten_password_Permissionr (h tr¡u.×_((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqUnoyauq U Script_magicq KU_bodyq Tª+# mode debug : mettre debug=0 pour l'enlever debug_mode=1 #affichage du header ################################################ # controle des droits ################################################ #demande de se connecter si l'utilisateur n'as pas le droit d'acces. if mem['droit_vue_dossier']==0: print '



' print '

' print 'Cette page nécessite une identification.


' print '

Pour vous identifier cliquer sur ' print '[ Se connecter ]

' print '

[ Accueil ]

' return printed ################################################ ses=context.REQUEST.SESSION if ses.has_key('vprint'): if ses['vprint']=='1': aff='' aff=aff+'' aff=aff+''+context.title+'' aff=aff+'' aff=aff+'' aff=aff+'') return 1 #printintcase : affiche l'interieur d'une case def printintcase(aff,idcase,writeok): # recuperation du contenu de la case(cc) cc=val['cc'][idcase] #quelques tests sur contenu de la case #pour detecter les deux cas spéciaux. if len(cc)==1: tabinlist=cc[0].split('T') if len(tabinlist)>1: #1er cas spécial détecté : case contient tableau return printtab(aff,'T'+tabinlist[1],writeok) if cc[0]=='######': #2nd cas spécial détecté : detection de la zone principale return action_zone_principale if writeok==0: return 0 kkch=0 # affichage de case standart. # on affiche les elements (el = id element) ncc=[] for el in cc: if el in obj_in_conteneur: #zelem = element a afficher zelem=conteneur[el] #on essaye d'afficher l'element try: af=context.zwo_modules[zelem.element].view_html(mem,zelem) if af<>'': kkch=1 aff.append(af) except Exception, e_txt: if debug_mode==1: aff.append(str(e_txt)) else: aff.append("BgMd[%s]" % zelem.element) kkch=1 #on affiche l'espacement entre elements, #grace à la propriété disposition des elements. if zelem.hasProperty('disposition'): sp=zelem.disposition else: sp='*' if sp=="+": aff.append("
") kkch=1 if sp=="-": aff.append(" ") kkch=1 if sp=="--": aff.append("  ") kkch=1 if sp=="++": aff.append("

") kkch=1 #affichage point si rien dans la case. if kkch==0: aff.append('') return 1 #affiche un tableau def printtab(aff,tab,writeok): pt=val['pt'][tab] table=val['ct'][tab] ppt=[] if tab=='T1': if pt['hauteur'].strip()<>'': ppt.append(' height="%s"' % pt['hauteur']) else: ppt.append(' height="100%"') if pt['largeur'].strip()<>'': ppt.append(' width="%s"' % pt['largeur']) else: ppt.append(' width="100%"') else: ppt.append(' height="100%"') ppt.append(' width="100%"') ppt.append(' cellspacing="0" cellpadding="0" border="0"') ptcadre=pt['cadre'] if ptcadre<>'0' and ptcadre<>'': aff.append('') ppt.append(' class=Skinbordure%s' % tab) margetab="0" if pt['marge']<>'': margetab=pt['marge'] couleurfondtab="" if pt['couleurfond']<>'': couleurfondtab=pt['couleurfond'] couleurtextetab="" if pt['couleurtexte']<>'': couleurtextetab=pt['couleurtexte'] aligntab="left" if pt['align']<>'': aligntab=pt['align'] valigntab="top" if pt['valign']<>'': valigntab=pt['valign'] if writeok==1: aff.append('\n' % ''.join(ppt)) for ligne in table: if len(ligne)>0: if writeok==1: aff.append(' ') for idcase in ligne: if idcase<>'': writeok=printtdcase(aff,idcase,margetab,couleurfondtab,couleurtextetab,aligntab,valigntab,writeok) if writeok==1: aff.append(' \n') if writeok==1: aff.append('\n
' return aff #aff est la liste de chaine a afficher. aff=[] #mem['inskin'] : variable utile aux elements pour savoir # si ils appartiennet au skin ou à la page. mem['inskin']=1 #indique que la zone principale desactive l'affichage action_zone_principale=0 #position de depart de writeok initwriteok=1 #conteneur est le dossier qui contient les elements à afficher. conteneur=mem['skin_obj'] #liste des object du conteneur obj_in_conteneur=conteneur.objectIds() ################################################ # affichage balises , and cie... ################################################ ################################################ #titre de la page titre_page=mem['rep_toi'] #nom du site titre_site=mem['zwo_obj'].zwo_info.site aff.append('\n') aff.append('%s - %s\n'% (titre_site,titre_page)) ################################################ #meta tags if mem['config_obj'].hasProperty('metas'): for l in mem['config_obj'].metas: dico={} ok=0 for ch in l.split('!!'): dec2=ch.split('=') if len(dec2)>1: dico[dec2[0]]=dec2[1] if dec2[0]=='content' and dec2[1]<>'': ok=1 if ok==1: aff.append('\n') #fin meta tags ################################################ #affichage feuille de style aff.append('\n') aff.append('\n') ################################################ #recuperation des options du body (dans tpp) tpp={} for a in conteneur.page.split('/'): if a<>'': dec=a.split('=') if len(dec)>1: tpp[dec[0]]=dec[1] #fp : fonction acces tpp sans erreur. def fp(key): if tpp.has_key(key): return tpp[key] else: return '' #affichage de la balise body aff.append(''': aff.append(' topmargin="%s" marginheight="%s"' % (fp('decv'),fp('decv'))) else: aff.append(' topmargin="0" marginheight="0"') if fp('dech')<>'': aff.append(' leftmargin="%s" marginwidth="%s"' % (fp('dech'),fp('dech'))) else: aff.append(' leftmargin="0" marginwidth="0"') if fp('couleurpage')<>'': aff.append(' bgcolor="%s"' % (fp('couleurpage'))) if fp('image')<>'': aff.append(' background="%s/zwo_info/images/fonds/%s"' % (mem['zwo_url'],fp('image'))) aff.append('>') ################################################ #affichage du javascript pour rollover js=""" """ aff.append(js) ################################################ # align global if fp('align')=='center': aff.append('
') if fp('align')=='right': aff.append('
') ################################################ ################################################ # affichage du skin ################################################ #recuperation de la structure de positionement (val) #elle indique la structure du tableau a afficher #ainsi que le contenu des cases. val=context.zwo_lib.tab_to_val(conteneur) # la fonction printtab affiche un tableau #en utilisant la fonction printtdcase et printintcase #qui affiche une case (les balises td et l'interieur). #descriptions des parametres des fonctions #englobant la case, et donc la couleur par défaut de la case. #margetab : marge du tableau #couleurfondtab : couleur de fond du tableau #couleurtextetab : couleur de text du tableau #aligntab : alignement horizontale du tableau #valigntab : alignement vertical du tableau #writeok : le flag qui indique si on est avant #la zone principale (c'est a dire ce qui doit être #afficher. La fonction retourne un nouvelle valeur pour writeok #idcase : identifiant de case #printtdcase : affiche la balise tds et appelle printintcase def printtdcase(aff,idcase,margetab,couleurfondtab,couleurtextetab,aligntab,valigntab,writeok): #affichage ouverture balises pc=val['pc'][idcase] margeint=margetab if pc['marge']<>'': margeint=pc['marge'] if writeok==1: pccc=[] if pc['colspan']<>'' and pc['colspan']<>'1': pccc.append(' colspan="%s"' % pc['colspan']) if pc['rowspan']<>'' and pc['rowspan']<>'1': pccc.append(' rowspan="%s"' % pc['rowspan']) ppc=[] if pc['hauteur']<>'': ppc.append(' height="%s"' % pc['hauteur']) if pc['largeur']<>'': ppc.append(' width="%s"' % pc['largeur']) if pc['align']<>'': ppc.append(' align="%s"' % pc['align']) else : ppc.append(' align="%s"' % aligntab) if pc['valign']<>'': ppc.append(' valign="%s"' % pc['valign']) else : ppc.append(' valign="%s"' % valigntab) if pc['couleurfond']<>'': ppc.append(' bgcolor="%s"' % pc['couleurfond']) elif couleurfondtab<>'': ppc.append(' bgcolor="%s"' % couleurfondtab) textcolor=couleurtextetab if pc['couleurtexte']<>'': textcolor=pc['couleurtexte'] ppc.append(' style="color:%s"' % textcolor) ppcc=[] pcase=pc['cadre'] if pcase<>'0' and pcase<>'': aff.append('') ppcc.append(' class="Skinbordure%s"' % idcase) afppc=''.join(ppc) afpccc=''.join(pccc) afppcc=''.join(ppcc) if margeint<>'0': aff.append('') else: aff.append('\n' % (afppc,afppcc,afpccc)) #Affichage cellule writeok=printintcase(aff,idcase,writeok) if writeok==0: return 0 #affichage fermetures balises if margeint<>'0': aff.append('\n \n
') aff.append('
') return writeok printtab(aff,'T1',initwriteok) return ''.join(aff) q Uwarningsq )UidqU&standard_html_header_avant_patch_metasqU_codeqTâ.c@s d„ZdS(Nc$=sïtƒ}d‰tˆdƒdjoi|dIJ|dIJ|dIJ|dIJ|dtˆd ƒd IJ|d tˆd ƒd IJ|ƒSntttdƒdƒ}t|dƒdƒokt|dƒdjoQd}|d}|dttdƒd}|d}|d}|d}|Sq'ng}dt ˆƒdƒdjo-t|d"ƒd?|d>ƒ|d>ƒfƒnt|d"ƒd@ƒ|dAƒdjo-t|d"ƒdB|dAƒ|dAƒfƒnt|d"ƒdCƒ|dDƒdjo!t|d"ƒdE|dDƒƒn|dFƒdjo0t|d"ƒdGtˆd ƒ|dFƒfƒnt|d"ƒdHƒdI}t|d"ƒ|ƒ|dJƒdKjot|d"ƒdLƒn|dJƒdMjot|d"ƒdNƒntttdOƒdPƒˆƒ‰‡‡dQ†‰‡‡‡‡‡‡‡ dR†‰‡‡dS†‰ˆ|dT| ƒtddUƒ|ƒSdS(VNisdroit_vue_dossieris



s†

s2Cette page nécessite une identification.


s3

Pour vous identifier cliquer sur s [ Se connecter ]

s

[ Accueil ]

sREQUESTsSESSIONshas_keysvprints1sss s���titles���sDs>s"(s _getitem_svalsidcasespcsmargetabsmargeintswriteokspcccs _getattr_sppcsaligntabs valigntabscouleurfondtabscouleurtextetabs textcolorsppccspcasesaffsafppcsafpcccsafppccs printintcase(saffsidcasesmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteoks _getitem_svalspcsmargeintspcccs _getattr_sppcs textcolorsppccspcasesafppcsafpcccsafppccs printintcase(s printintcasesval(sScript (Python)s printtdcase¼sb  ,$,!!!$$!)7! csÃttˆdƒ|ƒ}t|ƒdjottt|dƒdƒdƒ}t|ƒdjo!ˆ|dt|dƒ|ƒSnt|dƒdjoˆSqŸn|djodSnd} g} xÔt |ƒD]Æ}|ˆjo³tˆ|ƒ}yattttdƒt|dƒƒd ƒˆ|ƒ}|d jod} t|d ƒ|ƒnWnetj oY}ˆdjot|d ƒt|ƒƒn!t|d ƒd t|dƒƒd} nXt|d ƒdƒot|dƒ}nd}|djot|d ƒdƒd} n|djot|d ƒdƒd} n|djot|d ƒdƒd} n|djot|d ƒdƒd} q“qÍqÍW| djot|d ƒdƒndSdS(NscciissplitsTs######s zwo_modulesselements view_htmlssappendsBgMd[%s]s hasPropertys dispositions*s+s
s-s s--s   s++s

s5(s _getitem_svalsidcasesccslens _getattr_s tabinlistsprinttabsaffswriteoksaction_zone_principaleskkchsnccs _getiter_selsobj_in_conteneurs conteneurszelemscontextsmemsafs Exceptionse_txts debug_modesstrssp(saffsidcaseswriteoks _getitem_svalsccslens _getattr_s tabinlistsprinttabsaction_zone_principaleskkchsnccs _getiter_selsobj_in_conteneurs conteneurszelemscontextsmemsafs Exceptionse_txts debug_modesstrssp(svalsmemsaction_zone_principales conteneursprinttabs debug_modesobj_in_conteneur(sScript (Python)s printintcaseÿsV!    3     c+sÒttˆdƒ|ƒ}ttˆdƒ|ƒ}g}|djo¶tt|dƒdƒƒdjo$t|dƒdt|dƒƒnt|dƒd ƒtt|d ƒdƒƒdjo$t|dƒd t|d ƒƒqt|dƒd ƒn't|dƒd ƒt|dƒd ƒt|dƒd ƒt|dƒ} | djo | djojt|dƒdƒt|dƒd|| t|dƒfƒt|dƒdƒt|dƒd|ƒnd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd}t|dƒdjot|dƒ}n|djo*t|dƒdtddƒ|ƒƒnx¼t|ƒD]®}t|ƒdjo•|djot|dƒd ƒnxFt|ƒD]8}|djo%ˆ||| | | | ||ƒ}q>q>W|djot|dƒd!ƒq¢qôqôW|djot|dƒd"ƒn|SdS(#NsptsctsT1shauteursstripssappends height="%s"s height="100%"slargeurs width="%s"s width="100%"s+ cellspacing="0" cellpadding="0" border="0"scadres0ss class=Skinbordure%ssmarges couleurfonds couleurtextesleftsalignstopsvalignis
sinskinsskin_objs objectIdssrep_toiszwo_objszwo_infossitesappends s%s - %s s config_objs hasPropertysmetasssplits!!s=scontents s s spages/cs/tˆdƒ|ƒotˆ|ƒSndSdS(Nshas_keys(s _getattr_stppskeys _getitem_(skeys _getattr_stpps _getitem_(stpp(sScript (Python)sfpfsssû salignscenters
srights
szwo_libs tab_to_valc,sdttˆdƒ|ƒ} |} t| dƒdjot| dƒ} n|djoªg} t| dƒdjot| dƒdjo$t| dƒdt| dƒƒnt| d ƒdjot| d ƒdjo$t| dƒd t| d ƒƒng}t| d ƒdjo$t|dƒd t| d ƒƒnt| d ƒdjo$t|dƒdt| d ƒƒnt| dƒdjo$t|dƒdt| dƒƒnt|dƒd|ƒt| dƒdjo$t|dƒdt| dƒƒnt|dƒd|ƒt| dƒdjo$t|dƒdt| dƒƒn)|djot|dƒd|ƒn|}t| dƒdjo*t| dƒ}t|dƒd|ƒng}t| dƒ}|djo |djojt|dƒdƒt|dƒd||t| dƒfƒt|dƒdƒt|dƒd|ƒntddƒ|ƒ}tddƒ| ƒ}tddƒ|ƒ}| djo7t|dƒd|||d | d!|d"ƒqþt|dƒd#|||fƒnˆ|||ƒ}|d$jod$Sn| djot|dƒd%ƒnt|dƒd&ƒdSdS('Nspcsmargesiscolspans1sappends colspan="%s"srowspans rowspan="%s"shauteurs height="%s"slargeurs width="%s"saligns align="%s"svaligns valign="%s"s couleurfonds bgcolor="%s"s couleurtextes style="color:%s"scadres0ss class="Skinbordure%s"sjoinss is
s
sjoinis s s
(s _getitem_svalstabsptstablesppts _getattr_sptcadresaffsmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteoks _getiter_sligneslensidcases printtdcase(saffstabswriteoks _getitem_svalsptstablesppts _getattr_sptcadresmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabs _getiter_sligneslensidcases printtdcase(s printtdcasesval(sScript (Python)sprinttab?sd %$%$)'   )sT1sjoin($s_print_s_prints debug_modes _getitem_smems _getattr_scontextssessaffs_write_saction_zone_principales initwriteoks conteneursobj_in_conteneurs titre_pages titre_sites _getiter_slsdicosokschsdec2slensdico2sksstringscrsetstppsasdecsfpsjssvals printtdcases printintcasesprinttab($smems_print_s_prints debug_modes _getitem_s _getattr_scontextssessaffs_write_saction_zone_principales initwriteoks conteneursobj_in_conteneurs titre_pages titre_sites _getiter_slsdicosokschsdec2slensdico2sksstringscrsetstppsasdecsfpsjssvals printintcases printtdcasesprinttab(( smems printintcasesvalsaction_zone_principalesprinttabs conteneurs printtdcases debug_modestppsobj_in_conteneursScript (Python)sstandard_html_headers°           $ %)  $*1% .--0  C@A(sstandard_html_header(sstandard_html_header((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umemq'U_print_q(U_printq)U debug_modeq*U _getitem_q+U _getattr_q,Ucontextq-Usesq.Uaffq/U_write_q0Uaction_zone_principaleq1U initwriteokq2U conteneurq3Uobj_in_conteneurq4U titre_pageq5U titre_siteq6U _getiter_q7UlUdicoq8Uokq9Uchq:Udec2q;UlenqUcrsetq?Utppq@UaUdecqAUfpqBUjsqCUvalqDU printintcaseqEU printtdcaseqFUprinttabqGtqHubU__ac_local_roles__qI}qJUxavqK]qLUOwnerqMasU _filepathqNUVScript (Python):/zwook_active_rc6_beta2/zwo_lib/standard_html_header_avant_patch_metasqOU_paramsqPUmemqQU_dav_writelocksqR(U‚GqS(U PersistenceqTUPersistentMappingqUtqVtqWQu.Ø#‚((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T¸# Ce script gere les droits locaux. Il est donc critique pour la sécurité. # Ce scrit contient les listes de permissions correspondants aux: # non visiteur / visiteur / editeur de page. # le principe est simple, la carte des droits zwook permet de mappers # ces droits selon les groupes zwooks (qui sont les roles zope). # L'exception étant le role Manager, qui a de toute facon tous les droits. # (ceci peu être réglé en modifiant la liste nonvisible) # Le choix des ces parametres de securité sont critique. # Ils n'ont pas encore assez été étudier a mon avis. # Un perfectionnement et des tests seraient souhaitable. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' ############################## # DEBUT LISTE PERMISSIONS #### ############################## chlistePermNonVisiteur="""Access Transient Objects Access arbitrary user session data Access contents information Access session data""" listePermNonVisiteur=chlistePermNonVisiteur.split('\n') chlistePermVisiteur="""Access Transient Objects Access arbitrary user session data Access contents information Access session data Add Documents, Images, and Files Add Folders Add Transient Object Container Change DTML Documents Change Images and Files Copy or Move Delete objects FTP access Import/Export objects Manage Transient Object Container Manage properties Query Vocabulary Search ZCatalog Undo changes Use mailhost services View View History""" listePermVisiteur=chlistePermVisiteur.split('\n') chlistePermEditeur="""Access Transient Objects Access arbitrary user session data Access contents information Access session data Add ChatItems Add Database Methods Add Documents, Images, and Files Add Folders Add MailHost objects Add Vocabularies Add Z Gadfly Database Connections Add ZCatalogs Change DTML Documents Change DTML Methods Change Database Connections Change Database Methods Change Images and Files Change Lock Information Change Page Templates Change configuration Change permissions Copy or Move Create Transient Objects Create class instances Delete objects Edit Factories FTP access Manage Access Rules Manage Transient Object Container Manage Vocabulary Manage WebDAV Locks Manage Z Classes Manage ZCatalog Entries Manage ZCatalogIndex Entries Manage properties Open/Close Database Connection Open/Close Database Connections Query Vocabulary Search ZCatalog Take ownership Test Database Connections Undo changes Use Database Methods Use Factories Use external editor Use mailhost services View View History View management screens""" listePermEditeur=chlistePermEditeur.split('\n') liste_perm=[] b=rep.permission_settings() for c in b: liste_perm.append(c['name']) ############################## # FIN LISTE PERMISSIONS ###### ############################## #liste des roles qui ne sont pas affectés par la map droits nonvisible=['Manager'] #on determine la listes des groupes zwooks affecté par la map droits. (lg) repgr=context.zwo_info.groups lg=[] for a in repgr.objectIds(): if not a in nonvisible: if a<>'' : lg.append(a) #Test si il y a aquisition des droits if rep.zwo_dossier.new_droits=='0': #Donne tous droits au groupe Manager rep.manage_role('Manager', liste_perm) #Configure tous droits en aquisition #Donne aucun droit au autres groupes. rep.manage_acquiredPermissions(liste_perm) for gr in lg: rep.manage_role(gr, []) return # Si il n'y as pas aquisition : # On recupere les listes de groupes editeurs (ge) et visiteurs (gv). chgv=rep.zwo_dossier.groupes_visiteurs chge=rep.zwo_dossier.groupes_editeurs gv=chgv.split('&') ge=chge.split('&') #on donne tous les droits au groupe Manager rep.manage_role('Manager', liste_perm) #Configure aucun droits en aquisition rep.manage_acquiredPermissions([]) #Donne les droits de non visiteurs a tous les groupes. for gr in lg: rep.manage_role(gr, listePermNonVisiteur) #Accorde les droits de visiteurs aux groupes visiteurs. for g in gv: if g<>'': rep.manage_role(g, listePermVisiteur) #Accorde les droits d'edition aux groupes editeurs. for g in ge: if g<>'': rep.manage_role(g, listePermEditeur) return q Utitleq Unoyauq U _filepathqU6Script (Python):/kzexp_zwook/zwo_lib/zwo_droits_folderqU_codeqT‚c@s d„ZdS(NcCsdkl}|ƒ}t|dƒƒdjodSnd}t|dƒdƒ}d}t|dƒdƒ}d } t| dƒdƒ} g} t|d ƒƒ} x0t | ƒD]"}t| d ƒt|d ƒƒq­Wd g}tttdƒdƒ}g}xVt t|dƒƒƒD]<}||j o(|djot|d ƒ|ƒqOqqWtt|dƒdƒdjo^t|dƒd | ƒt|dƒ| ƒx*t |ƒD]}t|dƒ|gƒq¨WdSntt|dƒdƒ}tt|dƒdƒ}t|dƒdƒ}t|dƒdƒ}t|dƒd | ƒt|dƒgƒx*t |ƒD]}t|dƒ||ƒq`Wx;t |ƒD]-}|djot|dƒ||ƒqqWx;t |ƒD]-}|djot|dƒ|| ƒqËqËWdSdS(N(sgetSecurityManagerscalledByExecutableisnonskAccess Transient Objects Access arbitrary user session data Access contents information Access session datassplits s¬Access Transient Objects Access arbitrary user session data Access contents information Access session data Add Documents, Images, and Files Add Folders Add Transient Object Container Change DTML Documents Change Images and Files Copy or Move Delete objects FTP access Import/Export objects Manage Transient Object Container Manage properties Query Vocabulary Search ZCatalog Undo changes Use mailhost services View View HistorysAccess Transient Objects Access arbitrary user session data Access contents information Access session data Add ChatItems Add Database Methods Add Documents, Images, and Files Add Folders Add MailHost objects Add Vocabularies Add Z Gadfly Database Connections Add ZCatalogs Change DTML Documents Change DTML Methods Change Database Connections Change Database Methods Change Images and Files Change Lock Information Change Page Templates Change configuration Change permissions Copy or Move Create Transient Objects Create class instances Delete objects Edit Factories FTP access Manage Access Rules Manage Transient Object Container Manage Vocabulary Manage WebDAV Locks Manage Z Classes Manage ZCatalog Entries Manage ZCatalogIndex Entries Manage properties Open/Close Database Connection Open/Close Database Connections Query Vocabulary Search ZCatalog Take ownership Test Database Connections Undo changes Use Database Methods Use Factories Use external editor Use mailhost services View View History View management screensspermission_settingssappendsnamesManagerszwo_infosgroupss objectIdsss zwo_dossiers new_droitss0s manage_rolesmanage_acquiredPermissionssgroupes_visiteurssgroupes_editeurss&(s AccessControlsgetSecurityManagersas _getattr_schlistePermNonVisiteurslistePermNonVisiteurschlistePermVisiteurslistePermVisiteurschlistePermEditeurslistePermEditeurs liste_permsrepsbs _getiter_scs _getitem_s nonvisiblescontextsrepgrslgsgrschgvschgesgvsgesg(sreps AccessControlsgetSecurityManagersas _getattr_schlistePermNonVisiteurslistePermNonVisiteurschlistePermVisiteurslistePermVisiteurschlistePermEditeurslistePermEditeurs liste_permsbs _getiter_scs _getitem_s nonvisiblescontextsrepgrslgsgrschgvschgesgvsgesg((sScript (Python)szwo_droits_folders`  2  "    (szwo_droits_folder(szwo_droits_folder((sScript (Python)ssqU func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathq Utraverse_subpathq!U name_contextq"Ucontextq#usbU_dav_writelocksq$(U‚Hq%(U Persistenceq&UPersistentMappingq'tq(tq)QU__ac_local_roles__q*}q+Uxavq,]q-UOwnerq.asUidq/Uzwo_droits_folderq0U_paramsq1Urepq2U func_codeq3(cShared.DC.Scripts.Signature FuncCode q4oq5}q6(U co_argcountq7KU co_varnamesq8(Urepq9U AccessControlq:UgetSecurityManagerq;UaU _getattr_qUchlistePermVisiteurq?UlistePermVisiteurq@UchlistePermEditeurqAUlistePermEditeurqBU liste_permqCUbU _getiter_qDUcU _getitem_qEU nonvisibleqFUcontextqGUrepgrqHUlgqIUgrqJUchgvqKUchgeqLUgvqMUgeqNUgtqOubu.ÙÍ((U OFS.FolderqUFolderqtqNt.}q(U_objectsq(}q(U meta_typeqUFolderqUidq Urssq utq Utitleq UU__ac_local_roles__q }qUjamesq]qUOwnerqash UparseqUrssq(U‚Iq(hUFolderqtqtqQu.ó Æ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TEif mem['droit_vue_dossier']==0: print '



Cette page nécessite une identification.



' print ' Pour vous identifier sur le site,
cliquer sur Se connecter
' return printed aff="" aff=aff+'' aff=aff+''+context.title+'' aff=aff+'' aff=aff+'' aff=aff+'' rett=rett+'
' return aff q Utitleq Unoyauq U _filepathqU:Script (Python):/kzexp_zwook/zwo_lib/standard_print_headerqU_codeqTHc@s d„ZdS(Nc Cs tƒ}t|dƒdjo0|dIJ|dt|dƒdIJ|ƒSnd}|d}|d ttd ƒd }|d }|d }|d}|SdS(Nsdroit_vue_dossieris^



Cette page nécessite une identification.



s> Pour vous identifier sur le site,
cliquer sur Se connecter
sss s���titles���sDs>s"
(s_print_s_prints _getitem_smemsaffs _getattr_scontext(smems_print_s_prints _getitem_saffs _getattr_scontext((sScript (Python)sstandard_print_headers      (sstandard_print_header(sstandard_print_header((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umemq'U_print_q(U_printq)U _getitem_q*Uaffq+U _getattr_q,Ucontextq-tq.ubU__ac_local_roles__q/}q0Ugregq1]q2UOwnerq3asUidq4Ustandard_print_headerq5U_paramsq6Umemq7U_dav_writelocksq8(U‚“q9(U Persistenceq:UPersistentMappingq;tq' here_obj=here_obj[elem] """ here_obj=mem['rep_obj'] #~~~~~~~~~ parsing de l'objet courrant ~~~~~~~~~~~~~~~~~~~ parse_obj=here_obj if chemin<>'bui68ddlk44' and chemin<>'': id_list=chemin.split(".") for a in range(len(id_list)): parse_obj=parse_obj[id_list[a]] aff='\n' aff=aff+'' #~~~~~~~~~ cote ~~~~~~~~~~~~~~~~~~~ if cote==1: aff=aff+'' aff=aff+'
' aff=aff+'' aff=aff+'' #aff=aff+'
' aff=aff+' '+parse_obj.getId()+'' aff=aff+'
' for dos in parse_obj.objectIds('Folder'): lieni='' aff=aff+'  '+lieni+' '+lieni+dos+'' aff=aff+'
' aff=aff+'
' aff=aff+'


' aff=aff+'
' #~~~~~~~~~ parsing de l'objet courrant ~~~~~~~~~~~~~~~~~~~ aff=aff+'\n' #~boucle affichage des images last_line=0 n=0 for img in parse_obj.objectValues('Image'): if img.content_type=='image/jpeg' or img.content_type=='image/gif' or img.content_type=='image/png': if n==last_line: aff=aff+'\n' aff=aff+'\n' aff=aff+'\n' n=n+1 if n>last_line+w_line: aff=aff+'\n' aff=aff+'\n' last_line=n aff=aff+'
\n' #aff=aff+'/ n='+str(n)+'/ last_line='+str(last_line)+' / t='+str(last_line+w_line) #if img.width' #else: aff=aff+'
' aff=aff+'' aff=aff+'' aff=aff+'
\n' aff=aff+'' aff=aff+img.getId()[:12]+' '+str(img.width)+'x'+str(img.height) aff=aff+'\n' aff=aff+'
' aff=aff+'
\n' aff=aff+'
' print aff return printed q Utitleq Unoyauq U _filepathqU6Script (Python):/kzexp_zwook/zwo_lib/standard_img_homeqU_codeqT$c@s d„ZdS(NcCsÔtƒ}dkl}|ƒ}t|dƒƒdjodSnd}d}d} d} d } | d} d t |d ƒ}|}|djo |d joTt|d ƒdƒ}x<ttt|ƒƒƒD]}t |t ||ƒƒ}qÉWnd}|d}| djoÄ|d}|d}|d}|dt|dƒƒd}|d}xYtt|dƒdƒƒD]<}d|d}|d|d||d}|d}qnW|d}|d }|d!}n|d"}|d#}d$}d$}x¸tt|d%ƒd&ƒƒD]›}t|d'ƒd(jp)t|d'ƒd)jpt|d'ƒd*joS||jo|d+}|d,}n|d-}|d.}|dt|d/ƒƒd0}|d1t|d/ƒƒd2t|ƒd3t|ƒd4}|d5}|d}|t t|dƒƒdd6…ƒd7tt|d8ƒƒd9tt|d:ƒƒ}|d;}|d<}|d=}|d}||| jo|d>}|d?}|}q§q q W|d@}|d<}||IJ|ƒSdS(AN(sgetSecurityManagerscalledByExecutableisnons bui68ddlk44iKiis#FFFFCCsÔ id_list=context.REQUEST.URL1.split("/") here_obj=context.zwook_obj() #print id_list[4:] #print here_obj.absolute_url() for elem in id_list[4:]: #print here_obj[elem].getId()+'
' here_obj=here_obj[elem] srep_objsssplits.s@ ss<s') return 1 #printintcase : affiche l'interieur d'une case def printintcase(aff,idcase,writeok): # recuperation du contenu de la case(cc) cc=val['cc'][idcase] #quelques tests sur contenu de la case #pour detecter les deux cas spciaux. if len(cc)==1: tabinlist=cc[0].split('T') if len(tabinlist)>1: #1er cas spcial dtect : case contient tableau return printtab(aff,'T'+tabinlist[1],writeok) if cc[0]=='######': #2nd cas spcial dtect : detection de la zone principale return action_zone_principale if writeok==0: return 0 kkch=0 # affichage de case standart. # on affiche les elements (el = id element) ncc=[] for el in cc: if el in obj_in_conteneur: #zelem = element a afficher zelem=conteneur[el] #on essaye d'afficher l'element try: af=context.zwo_modules[zelem.element].view_html(mem,zelem) if af<>'': kkch=1 aff.append(af) except Exception, e_txt: if debug_mode==1: aff.append(str(e_txt)) else: aff.append("BgMd[%s]" % zelem.element) kkch=1 #on affiche l'espacement entre elements, #grace la proprit disposition des elements. if zelem.hasProperty('disposition'): sp=zelem.disposition else: sp='*' if sp=="+": aff.append("
") kkch=1 if sp=="-": aff.append(" ") kkch=1 if sp=="--": aff.append("  ") kkch=1 if sp=="++": aff.append("

") kkch=1 #affichage point si rien dans la case. if kkch==0: aff.append('') return 1 #affiche un tableau def printtab(aff,tab,writeok): pt=val['pt'][tab] table=val['ct'][tab] ppt=[] if tab=='T1': if pt['hauteur'].strip()<>'': ppt.append(' height="%s"' % pt['hauteur']) else: ppt.append(' height="100%"') if pt['largeur'].strip()<>'': ppt.append(' width="%s"' % pt['largeur']) else: ppt.append(' width="100%"') else: ppt.append(' height="100%"') ppt.append(' width="100%"') ppt.append(' cellspacing="0" cellpadding="0" border="0"') ptcadre=pt['cadre'] if ptcadre<>'0' and ptcadre<>'': aff.append('') ppt.append(' class=Skinbordure%s' % tab) margetab="0" if pt['marge']<>'': margetab=pt['marge'] couleurfondtab="" if pt['couleurfond']<>'': couleurfondtab=pt['couleurfond'] couleurtextetab="" if pt['couleurtexte']<>'': couleurtextetab=pt['couleurtexte'] aligntab="left" if pt['align']<>'': aligntab=pt['align'] valigntab="top" if pt['valign']<>'': valigntab=pt['valign'] if writeok==1: aff.append('\n' % ''.join(ppt)) for ligne in table: if len(ligne)>0: if writeok==1: aff.append(' ') for idcase in ligne: if idcase<>'': writeok=printtdcase(aff,idcase,margetab,couleurfondtab,couleurtextetab,aligntab,valigntab,writeok) if writeok==1: aff.append(' \n') if writeok==1: aff.append('\n
ssds; sgetIdss
s objectIdssFolders s   s7 ss
s


s
s3 is objectValuessImages content_types image/jpegs image/gifs image/pngs s6 s$ s s6 s
sv
s absolute_urls">s s2
i s swidthsxsheights s
s
(s_print_s_prints AccessControlsgetSecurityManagersas _getattr_scheminslimgsw_line1scotescouleursw_lines _getitem_smemshere_objs parse_objsid_lists _getiter_srangeslensaffsdosslienis last_linesnsimgsstr(smems_print_s_prints AccessControlsgetSecurityManagersas _getattr_scheminslimgsw_line1scotescouleursw_lines _getitem_shere_objs parse_objsid_lists _getiter_srangeslensaffsdosslienis last_linesnsimgsstr((sScript (Python)sstandard_img_homes~                ?    :  S         (sstandard_img_home(sstandard_img_home((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umemq'U_print_q(U_printq)U AccessControlq*UgetSecurityManagerq+UaU _getattr_q,Ucheminq-Ulimgq.Uw_line1q/Ucoteq0Ucouleurq1Uw_lineq2U _getitem_q3Uhere_objq4U parse_objq5Uid_listq6U _getiter_q7Urangeq8Ulenq9Uaffq:Udosq;UlieniqUstrq?tq@ubU__ac_local_roles__qA}qBUxavqC]qDUOwnerqEasUidqFUstandard_img_homeqGU_paramsqHUmemqIU_dav_writelocksqJ(U‚JqK(U PersistenceqLUPersistentMappingqMtqNtqOQu.Û ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tî# Ce script sert a configurer pour un utilisateur la liste de ces groupes. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' r=context.REQUEST r.form['name']=user r.form['password']='password' r.form['confirm']='pconfirm' r.form['roles']=roles r.form['domains']=[] au=context.acl_users au.manage_users('Change',r) return q Utitleq Unoyauq U _filepathqU4Script (Python):/kzexp_zwook/zwo_lib/zwo_user_groupsqU_codeqT¨c@s d„ZdS(Nc Csðdkl}|ƒ}t|dƒƒdjodSnttdƒ}|tt|dƒƒdsqU func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathq Utraverse_subpathq!Uname_containerq"U containerq#usbU func_codeq$(cShared.DC.Scripts.Signature FuncCode q%oq&}q'(U co_argcountq(KU co_varnamesq)(Uuserq*Urolesq+U AccessControlq,UgetSecurityManagerq-UaU _getattr_q.Ucontextq/UrU_write_q0Uauq1tq2ubU__ac_local_roles__q3}q4Uxavq5]q6UOwnerq7asUidq8Uzwo_user_groupsq9U_paramsq:U user,rolesq;U_dav_writelocksq<(U‚Kq=(U Persistenceq>UPersistentMappingq?tq@tqAQu.Üü((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqUnoyauq U Script_magicq KU_bodyq TV # A partir du parametre tableaux du rep passé en parametre # retourne un tableau de valeurs. #le rep passé en parametre peut être un skin, ou un zwo_dossier. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' ############################################################ #le parametre tableau est un "lines" (une liste de chaine). #chacune des chaines à la syntaxe suivante : #chaine = AB:id:datas # A = "P" signifie propriété # A = "C" signifie contenu # B = "T" signifie tableau # B = "C" signifie case # l'id est T1,T2,T3... pour les tableaux et C1,C2,C3... pour les cases. # datas si A="P": les propriétés sont séparés par le caractere "/" et sont de la forme "nom=valeur" # datas si AB="CT" : contenu de tableau : ids de cases # les lignes d'ids de cases sont séparé par des "/" # les ids des cases dans une même line sont séparé par "-" # exemple C1-C2-C3/C4-C5 # datas si AB="CC" : contenu d'une case : ids d'élément # les ids sont séparé par des "/" # exception : ###### signifie contient la zone d'édition principale # remarque le tableau initial a pour id T1. ############################################################ #la conversion de ce format d'origine en format plus facilement manipulable : des listes et dicos imbriqués. # data, la liste principale contient 4 dictionnaires : ct cc pc pt, qui correspondents aux 4 possibilités de AB. Et à chaque chaine correspond un entrée dans un dictionnaire avec l'id correspondant. #les element des dicos pc et pt, contiennent comme valeur un dictionnaire qui fait correspondre les paramettres au valeurs. #les element des ct, contiennent des listes (d'id de cases) imbriqués dans des listes (correpondant au lignes). exemple [["C1","C2","C3"],["C4","C5"]] #les element des cc, contiennent une liste des id des elements contenus. ############################################################ ############################################################ #initialisation data={} ct={} cc={} pc={} pt={} #parcours du parametre if rep.hasProperty('tableaux'): for l in rep.tableaux: d=l.split(':') if d[0] == 'CT': # chaine ct ct[d[1]] = [i.split('-') for i in d[2].split('/')] elif d[0]=='CC': # chaine cc cc[d[1]]=d[2].split('/') elif d[0]=='PT': # chaine pt e=d[2].split('/') f={} for g in e: h=g.split('=') if len(h)>1: f[h[0]]=h[1] else: f[h[0]]='' pt[d[1]]=f elif d[0]=='PC': # chaine pc e=d[2].split('/') f={} for g in e: h=g.split('=') if len(h)>1: f[h[0]]=h[1] else: f[h[0]]='' pc[d[1]]=f data['ct']=ct data['cc']=cc data['pc']=pc data['pt']=pt return data q Uwarningsq )U _filepathqU/Script (Python):/kzexp_zwook/zwo_lib/tab_to_valqU_codeqTc@s d„ZdS(NcCsbdkl}|ƒ}t|dƒƒdjodSnh}h}h}h}h} t|dƒdƒo¯x¬t t|dƒƒD]‘} t| dƒdƒ} t | d ƒd jokgi}t tt | dƒdƒd ƒƒD]}|t|dƒd ƒƒqÞ~t|ƒt | d ƒsqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptq usbU_dav_writelocksq!(U‚Lq"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asUidq,U tab_to_valq-U_paramsq.Urepq/U func_codeq0(cShared.DC.Scripts.Signature FuncCode q1oq2}q3(U co_argcountq4KU co_varnamesq5(Urepq6U AccessControlq7UgetSecurityManagerq8UaU _getattr_q9Udataq:Uctq;UccqU _getiter_q?UlUdU _getitem_q@UappendqAU$append0qBUiU_write_qCUeUfUgUhUlenqDtqEubu.Ý-((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TO# Ce script sert a effectuer une copie de Folder Zope. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #FIX BUG ZOPE manage_pasteObjects et manage_clone ne prennent pas en compte les Proxy Roles... #Selon les versions de Zope le bug apparait, disparait, reaparait... #Zope Corp disent que c'est pour des questions de sécurités... #nouvelle fonction : clone_ok def listes_roles(rep,user): l=user.get_local_roles() l0=[] l1=[] for a in l: l0.append(a) l1.append(a) l1.append('Owner') return (l0,l1) def new_roles(liste,rep,username): if len(liste)==0: rep.manage_delLocalRoles([username,]) return else: rep.manage_setLocalRoles(username, liste) return def clone_ok(r1,r2,id,id2=None): if id2==None: id2=id user=context.REQUEST.AUTHENTICATED_USER username=str(user) (l1r2,l2r2)=listes_roles(r2,user) (l1r1,l2r1)=listes_roles(r1,user) new_roles(l2r2,r2,username) if r1.absolute_url()<>r2.absolute_url(): new_roles(l2r1,r1,username) r2.manage_clone(r1[id],id2) new_roles(l1r2,r2,username) if r1.absolute_url()<>r2.absolute_url(): new_roles(l1r1,r1,username) return clone_ok(dep,dest,idobj,idfin) return q Utitleq Unoyauq U _filepathqU,Script (Python):/kzexp_zwook/zwo_lib/zwo_cpyqU_codeqTH c@sed„ZdS(Nc svdkl}|ƒ}t|dƒƒdjodSnd„‰d„‰t‡‡d†} | ||||ƒdSdS(N(sgetSecurityManagerscalledByExecutableisnoncCs|t|dƒƒ}g}g}x:t|ƒD],}t|dƒ|ƒt|dƒ|ƒq+Wt|dƒdƒ||fSdS(Nsget_local_rolessappendsOwner(s _getattr_suserslsl0sl1s _getiter_sa(srepsusers _getattr_slsl0sl1s _getiter_sa((sScript (Python)s listes_roless cCsOt|ƒdjot|dƒ|gƒdSnt|dƒ||ƒdSdS(Nismanage_delLocalRolessmanage_setLocalRoles(slenslistes _getattr_srepsusername(slistesrepsusernameslens _getattr_((sScript (Python)s new_roless  c s|tjo |}ntttdƒdƒ}t|ƒ} ˆ||ƒ\} } ˆ||ƒ\} }ˆ| || ƒt|dƒƒt|dƒƒjoˆ||| ƒnt|dƒt||ƒ|ƒˆ| || ƒt|dƒƒt|dƒƒjoˆ| || ƒndSdS(NsREQUESTsAUTHENTICATED_USERs absolute_urls manage_clone(sid2sNonesids _getattr_scontextsusersstrsusernames listes_rolessr2sl1r2sl2r2sr1sl1r1sl2r1s new_roless _getitem_(sr1sr2sidsid2sNones _getattr_scontextsusersstrsusernames listes_rolessl1r2sl2r2sl1r1sl2r1s new_roless _getitem_(s listes_roless new_roles(sScript (Python)sclone_ok#s   %%( s AccessControlsgetSecurityManagersas _getattr_s listes_roless new_rolessNonesclone_oksdepsdestsidobjsidfin( sdepsdestsidobjsidfins AccessControlsgetSecurityManagersas _getattr_s listes_roless new_rolessNonesclone_ok((s listes_roless new_rolessScript (Python)szwo_cpys   (sNoneszwo_cpy(sNoneszwo_cpy((sScript (Python)ssqU func_defaultsq(NtqU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextq U name_subpathq!Utraverse_subpathq"Uname_containerq#U containerq$usbU func_codeq%(cShared.DC.Scripts.Signature FuncCode q&oq'}q((U co_argcountq)KU co_varnamesq*(Udepq+Udestq,Uidobjq-Uidfinq.U AccessControlq/UgetSecurityManagerq0UaU _getattr_q1U listes_rolesq2U new_rolesq3UNoneq4Uclone_okq5tq6ubU__ac_local_roles__q7}q8Uxavq9]q:UOwnerq;asUidqUdep,dest,idobj,idfin=Noneq?U_dav_writelocksq@(U‚MqA(U PersistenceqBUPersistentMappingqCtqDtqEQu.Þ+((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqUnoyauq U Script_magicq KU_bodyq T:# ce module ajoute a mem des parametres utile pour la gestion de module. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #si mem n'existe pas encore, il le crée. if not mem: mem=context.zwo_lib.mem_data() # recuperation du parent, et check pour savoir # si on gere un element dans le skin ou dans edit. url=mem['url'] rep=mem['rep_obj'] dec=url.split('/zwo_info/skins/') rap=string.split(url,'rapidedit.htm') if len(dec)>1 and rap < 1: dec2=dec[1].split('/zwo_bo/skin/') cont=context.zwo_info.skins[dec2[0]] curl1=mem['rep_url']+'/zwo_info/skins/'+dec2[0] curl=curl1+'/zwo_bo/skin/' elif mem.has_key('inskin') and mem['inskin']==1 or (rap > 1 and len(dec)>1): cont=context.zwo_info.skins[rep.zwo_dossier.skin] curl1=mem['rep_url']+'/zwo_info/skins/'+rep.zwo_dossier.skin if rap>1: curl=curl1 else: curl=curl1+'/zwo_bo/skin/' else: cont=rep curl1=rep.absolute_url() curl=curl1+'/zwo_bo/edit/' ### Nouvelle valeur incluse dans mem : # mem['parent'] : conteneur de l'objet (repertoire ou skin) # mem['parent_bo_url'] : url pour atteindre le back office du conteneur mem['parent']=cont mem['parent_bo_url']=curl return mem q Uwarningsq )UidqU mem_mod_dataqU_codeqT[c@sed„ZdS(NcCsVdkl}|ƒ}t|dƒƒdjodSn| otttdƒdƒƒ}nt|dƒ}t|dƒ}t|d ƒd ƒ} tt d ƒ|d ƒ} t | ƒd jo | d jovtt| d ƒd ƒd ƒ} ttttdƒdƒt| dƒƒ}t|dƒd t| dƒ}|d }nðt|dƒdƒot|dƒd jp| d jot | ƒd jottttdƒdƒtt|dƒdƒƒ}t|dƒd tt|dƒdƒ}| d jo |}q.|d }n#|}t|dƒƒ}|d}|t|ƒd<|t|ƒd<|SdS(N(sgetSecurityManagerscalledByExecutableisnonszwo_libsmem_datasurlsrep_objssplits/zwo_info/skins/s rapidedit.htmis /zwo_bo/skin/szwo_infosskinsisrep_urlshas_keysinskins zwo_dossiersskins absolute_urls /zwo_bo/edit/sparents parent_bo_url(s AccessControlsgetSecurityManagersas _getattr_smemscontexts _getitem_surlsrepsdecsstringsrapslensdec2scontscurl1scurls_write_(smems AccessControlsgetSecurityManagersas _getattr_scontexts _getitem_surlsrepsdecsstringsrapslensdec2scontscurl1scurls_write_((sScript (Python)s mem_mod_datas6   * I3)   (sNones mem_mod_data(sNones mem_mod_data((sScript (Python)ssqU func_defaultsq(NtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerq U containerq!usbU func_codeq"(cShared.DC.Scripts.Signature FuncCode q#oq$}q%(U co_argcountq&KU co_varnamesq'(Umemq(U AccessControlq)UgetSecurityManagerq*UaU _getattr_q+Ucontextq,U _getitem_q-Uurlq.Urepq/Udecq0Ustringq1Urapq2Ulenq3Udec2q4Ucontq5Ucurl1q6Ucurlq7U_write_q8tq9ubU__ac_local_roles__q:}q;Uxavq<]q=UOwnerq>asU _filepathq?U1Script (Python):/kzexp_zwook/zwo_lib/mem_mod_dataq@U_paramsqAUmem=NoneqBU_dav_writelocksqC(U‚NqD(U PersistenceqEUPersistentMappingqFtqGtqHQu.ß6((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqUnoyauq U Script_magicq KU_bodyq TÙ#Ce script construit la structure de donnée mem. #mem contient les données dont les modules ont besoin. #Cela evite de faire appel au fonctions plusieurs fois #et augmente ainsi les performances. #les codeurs de modules doivent donc l'utiliser au maximum, #plutot que d'aller chercher leurs données dans la ZODB. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #initialisation mem={} #recuperation de l'url envoyé par le navigateur url=container.REQUEST.URL #recuperation de l'object racine racine=context.acl_obj() #identification repertoire données locales : zwook. zwook=racine.zwook zwo_url=zwook.absolute_url() #analyse de l'url envoye par le navigateur. #list_url : liste des repertoires de l'url. dec=url.split(zwo_url) if len(dec)>1: suite_url=dec[1].split('?')[0] list_url=suite_url.split('/') else: list_url=[] # on determine le repertoire (rep) et l'objet (obj) courrant. rep=zwook obj=zwook b=0 stop=False for a in list_url: if a=="zwo_modules" or a=="zwo_bo": stop=True if not stop: if b==0: b=1 elif b==1: if a in rep.objectIds(): if rep[a].hasProperty("type_zwook"): if rep[a].type_zwook=='dossier': rep=rep[a] obj=rep elif rep[a].type_zwook=='element': obj=rep[a] b=2 #analyse du repertoire courrant. #conf : repertoire de configuration de rep conf=rep.zwo_dossier #zwook_info : repertoire de données délocalisés zwook_info=zwook.zwo_info #on determine le skin (skin) skin_id=conf.skin if skin_id in zwook_info.skins.objectIds('Folder'): skin=zwook_info.skins[skin_id] else: skin_id='default' skin=zwook_info.skins['default'] if context.REQUEST.has_key('impose_skin'): skin_id=context.REQUEST.impose_skin skin=zwook_info.skins[skin_id] #### info utilisateurs #on recupere mes informations utilisateurs #initialisation username='Inconnu' user=None zwuser=None list_roles=[] dr_vue=0 dr_edit=0 dr_skin=0 dr_arbo=0 dr_conf=0 user_avatar='0.gif' avatar=zwo_url+'/zwo_info/images/avatar/0.gif' #donnée liés au repertoire (pour les droits locaux) s_list_v=conf.groupes_visiteurs s_list_a=conf.groupes_editeurs list_v=string.split(s_list_v+'&'+s_list_a,'&') list_a=s_list_a.split('&') #test si l'utilisateur est connecté if str(context.REQUEST.AUTHENTICATED_USER)=='Anonymous User': #si l'utilisateur est annonyme, on regarde si le dossier permete : # - qu'il accede au contenu if 'Anonymous' in list_v: dr_vue=1 # - qu'il puisse edité le contenu if 'Anonymous' in list_a: dr_edit=1 else: ##### si l'utilisateur est connecté : #recup user zope user=context.REQUEST.AUTHENTICATED_USER #recup login de l'utilisateur username=user.getUserName() #Test si l'utilisateur est bien un user zwook, if not username in zwook.zwo_info.users.objectIds('Folder'): #l'utilisateur est connecté donc user zope #mais il n'est pas user zwook #la fonction retourne None pour permettre de detecter le probleme. return #recupertation d'un avatar, si il existe. if zwook.zwo_info.users[username].hasProperty('avatar'): if zwook.zwo_info.users[username].avatar in zwook.zwo_info.images.avatar.objectIds(): user_avatar=zwook.zwo_info.users[username].avatar avatar=zwo_url+'/zwo_info/images/avatar/'+user_avatar #list_roles : recuperation des groupes zwook (c'est a dire les roles zopes) userrolestuple=user.getRolesInContext(racine) for a in userrolestuple: if not a in list_roles: if str(a)==a: list_roles.append(a) #recuperation user zwook zwuser=context.zwo_info.users[username] #on determine les droits de lecture et ecriture sur le repertoire for a in list_v: if a<>'': if a in list_roles: dr_vue=1 for a in list_a: if a<>'': if a in list_roles: dr_edit=1 #check droit de configuration if 'config_zwook' in list_roles: dr_conf=1 dr_skin=1 dr_arbo=1 #check d'edition de skin if 'skin_editor' in list_roles: dr_skin=1 #check manage page. if 'pages_manager' in list_roles: dr_arbo=1 ############################################################## ### RECAPITULATIF DES VALEURS DE MEM #################### ############################################################## ################################### ## Gestion des objects et urls ################################### # url : url demandée par le navigateur. # la racine est le repertoire qui contient tout le zwook. # racine_obj : object racine du zwook. # racine_url : url de la racine du zwook. # zwook_obj : object qui contient les données localisés du zwook. # zwook_url : url qui contient les données localisés du zwook. # c'est a dire l'url du site. #rep_obj : repertoire qui contient l'objet de la requete url. #rep_url : url de ce repertoire. #rep_id : id (nom zope) de ce repertoire. #rep_toi : titre ou id de ce repertoire. #obj_obj : object visé par la requete url. #obj_id : id (nom zope) de cet objet. ####Exemple simple : http://serveur.test:8080/myzwook/zwook/rubrique #mem['url']=http://serveur.test:8080/myzwook//zwook/rubrique/index_html #mem['racine_url']=http://serveur.test:8080/myzwook #mem['zwo_url']=http://serveur.test:8080/myzwook/zwook #mem['rep_url']=http://serveur.test:8080/myzwook/zwook/rubrique ####Exemple back office : http://serveur.test:8080/myzwook/zwook/rubrique/zwo_bo/edit/index_html #mem['url']=http://serveur.test:8080/myzwook/zwo_bo/edit/zwook/rubrique/index_html #mem['racine_url']=http://serveur.test:8080/myzwook #mem['zwo_url']=http://serveur.test:8080/myzwook/zwook #mem['rep_url']=http://serveur.test:8080/myzwook/zwook/rubrique ####Exemple domaine mappé : http://www.domaine.com/rubrique #mem['url']=http://www.domaine.com/rubrique/index_html #mem['racine_url']=http://www.domaine.com #mem['zwo_url']=http://www.domaine.com #mem['rep_url']=http://www.domaine.com/rubrique mem['url']=url mem['racine_obj']=racine mem['racine_url']=racine.absolute_url() mem['zwo_obj']=zwook mem['zwo_url']=zwo_url mem['rep_obj']=rep mem['rep_url']=rep.absolute_url() mem['rep_id']=rep.getId() mem['rep_toi']=rep.title_or_id() mem['obj_obj']=obj mem['obj_id']=obj.getId() ################################### ## gestion des utilisateurs ################################### # mem['user_obj'] : Object user zope (acl_user) # mem['user_zw_obj'] : Object user zwook (zwo_info/users/nom) # mem['user_id'] : login du user # mem['user_roles_id'] : liste des roles zope de l'utilisateur (groupes) # mem['user_avatar_url'] : url pour afficher l'avatar de l'utilisateur mem['user_obj']=user mem['user_zw_obj']=zwuser mem['user_id']=username mem['user_roles_id']=list_roles mem['user_avatar_url']=avatar ################################### ## object utiles ################################### #mem['config_obj'] : objet info du repertoire conteneur (zwo_dossier) #mem['zwo_info'] : donnée délocalisé du zwook (zwo_info) mem['config_obj']=conf mem['zwo_info']=zwook_info ################################### ## skin ################################### #mem['skin_id'] : id (nom zope) du skin #mem['skin_obj'] : objet du skin mem['skin_id']=skin_id mem['skin_obj']=skin ################################### ## droits utilisateur ################################### # 0 : pas le droit # 1 : droit OK #mem['droit_vue_dossier'] : droit de voir le contenu du dossier #mem['droit_edit_dossier'] : droit d'éditer le contenu du dossier #mem['droit_arbo'] : droit d'administrer les dossiers #mem['droit_edit_skin'] : droit edition de skin #mem['droit_config_dossier'] : droit administration zwook. mem['droit_vue_dossier']=dr_vue mem['droit_edit_dossier']=dr_edit mem['droit_arbo']=dr_arbo mem['droit_edit_skin']=dr_skin mem['droit_config_dossier']=dr_conf return mem q Uwarningsq )U _filepathqU-Script (Python):/kzexp_zwook/zwo_lib/mem_dataqU_codeqT„c@s d„ZdS(Nc/9CsRdkl}|ƒ}t|dƒƒdjodSnh}tttdƒdƒ}ttdƒƒ}t|dƒ} t| d ƒƒ} t|d ƒ| ƒ} t | ƒd jo@t tt | d ƒd ƒd ƒd ƒ}t|d ƒdƒ}ng}| }| }d }t}xt|ƒD]}|djp |djo t}n| oÜ|d jo d }q)|d jo´|t|dƒƒjo—tt ||ƒdƒdƒottt ||ƒdƒdjot ||ƒ}|}qtt ||ƒdƒdjot ||ƒ}d}qq!q%q)qqWt|dƒ}t| dƒ}t|dƒ}|tt|dƒdƒdƒjot t|dƒ|ƒ}nd}t t|dƒdƒ}tttdƒdƒdƒo4tttdƒdƒ}t t|dƒ|ƒ}nd}t}t}g}d } d }!d }"d }#d }$d}%| d }&t|d!ƒ}'t|d"ƒ}(tt)d ƒ|'d#|(d#ƒ}*t|(d ƒd#ƒ}+t,tttdƒd$ƒƒd%jo2d&|*jo d } nd&|+jo d }!q-n2tttdƒd$ƒ}t|d'ƒƒ}|ttt| dƒd(ƒdƒdƒj odSntt tt| dƒd(ƒ|ƒdƒd)ƒoŠtt tt| dƒd(ƒ|ƒd)ƒtttt| dƒd*ƒd)ƒdƒƒjo.tt tt| dƒd(ƒ|ƒd)ƒ}%qn| d+|%}&t|d,ƒ|ƒ}-xPt|-ƒD]B}||j o.t,|ƒ|jot|d-ƒ|ƒqŠqHqHWt tttdƒd(ƒ|ƒ}x<t|*ƒD].}|d.jo||jo d } qêq¼q¼Wx<t|+ƒD].}|d.jo||jo d }!q)qûqûWd/|jod }$d }"d }#nd0|jo d }"nd1|jo d }#n|t.|ƒd2<|t.|ƒd3<|t.|ƒd?<|t.|ƒd@<|t.|ƒdA<|t.|ƒdB<|&t.|ƒdC<|t.|ƒdD<|t.|ƒd<|t.|ƒdE<|t.|ƒdF<| t.|ƒdG<|!t.|ƒdH<|#t.|ƒdI<|"t.|ƒdJ<|$t.|ƒdK<|SdS(LN(sgetSecurityManagerscalledByExecutableisnonsREQUESTsURLsacl_objszwooks absolute_urlssplitis?is/s zwo_modulesszwo_bos objectIdss hasPropertys type_zwooksdossierselements zwo_dossierszwo_infosskinsskinssFoldersdefaultshas_keys impose_skinsInconnus0.gifs/zwo_info/images/avatar/0.gifsgroupes_visiteurssgroupes_editeurss&sAUTHENTICATED_USERsAnonymous Users Anonymouss getUserNamesuserssavatarsimagess/zwo_info/images/avatar/sgetRolesInContextsappendss config_zwooks skin_editors pages_managersurls racine_objs racine_urlszwo_objszwo_urlsrep_objsrep_urlsgetIdsrep_ids title_or_idsrep_toisobj_objsobj_idsuser_objs user_zw_objsuser_ids user_roles_idsuser_avatar_urls config_objsskin_idsskin_objsdroit_vue_dossiersdroit_edit_dossiers droit_arbosdroit_edit_skinsdroit_config_dossier(/s AccessControlsgetSecurityManagersas _getattr_smems containersurlscontextsracineszwookszwo_urlsdecslens _getitem_s suite_urlslist_urlsrepsobjsbsFalsesstops _getiter_sTruesconfs zwook_infosskin_idsskinsusernamesNonesuserszwusers list_rolessdr_vuesdr_editsdr_skinsdr_arbosdr_confs user_avatarsavatarss_list_vss_list_asstringslist_vslist_asstrsuserrolestuples_write_(/s AccessControlsgetSecurityManagersas _getattr_smems containersurlscontextsracineszwookszwo_urlsdecslens _getitem_s suite_urlslist_urlsrepsobjsbsFalsesstops _getiter_sTruesconfs zwook_infosskin_idsskinsusernamesNonesuserszwusers list_rolessdr_vuesdr_editsdr_skinsdr_arbosdr_confs user_avatarsavatarss_list_vss_list_asstringslist_vslist_asstrsuserrolestuples_write_((sScript (Python)smem_datasö  '      %  %   /%X2 !            (  (smem_data(smem_data((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextq usbU_dav_writelocksq!(U‚Oq"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asUidq,Umem_dataq-U_paramsq.UU func_codeq/(cShared.DC.Scripts.Signature FuncCode q0oq1}q2(U co_argcountq3KU co_varnamesq4(U AccessControlq5UgetSecurityManagerq6UaU _getattr_q7Umemq8U containerq9Uurlq:Ucontextq;UracineqUdecq?Ulenq@U _getitem_qAU suite_urlqBUlist_urlqCUrepqDUobjqEUbUFalseqFUstopqGU _getiter_qHUTrueqIUconfqJU zwook_infoqKUskin_idqLUskinqMUusernameqNUNoneqOUuserqPUzwuserqQU list_rolesqRUdr_vueqSUdr_editqTUdr_skinqUUdr_arboqVUdr_confqWU user_avatarqXUavatarqYUs_list_vqZUs_list_aq[Ustringq\Ulist_vq]Ulist_aq^Ustrq_Uuserrolestupleq`U_write_qatqbubu.àN((U OFS.FolderqUFolderqtqNt.}q(Uepoz_lang_ru.js.dtmlq(U‚Pq(UOFS.DTMLDocumentqU DTMLDocumentqtq tq QUepoz_script_mainq (U‚Qq (hU DTMLDocumentq tqtqQUepoz_toolbox.ptq(U‚jq(U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqtqQUepoz_button_image.gifq(U‚Sq(U OFS.ImageqUImageqtqtqQUepoz_lang_fi.js.dtmlq(U‚tq(hU DTMLDocumentqtqtq QUepoz_button_hr.gifq!(U‚Tq"(hUImageq#tq$tq%QUepoz_button_table.gifq&(U‚Vq'(hUImageq(tq)tq*QUepoz_script_detectq+(U‚xq,(hU DTMLDocumentq-tq.tq/QUepoz_lang_hu.js.dtmlq0(U‚Xq1(hU DTMLDocumentq2tq3tq4QUidq5Uepozq6Uepoz_lang_es.js.dtmlq7(U‚Zq8(hU DTMLDocumentq9tq:tq;QUepoz_button_anchor.gifq<(U‚[q=(hUImageq>tq?tq@QUepoz_button_hyperlink.gifqA(U‚\qB(hUImageqCtqDtqEQUepoz_button_tools.gifqF(U‚]qG(hUImageqHtqItqJQUtitleqKUUepoz_button_subscript.gifqL(U‚^qM(hUImageqNtqOtqPQUepoz_button_strikethrough.gifqQ(U‚_qR(hUImageqStqTtqUQUepoz_script_color.htmlqV(U‚`qW(hU DTMLDocumentqXtqYtqZQUwysiwyg_support.ptq[(U‚Yq\(hUZopePageTemplateq]tq^tq_QUepoz_lang_zh-cn.js.dtmlq`(U‚aqa(hU DTMLDocumentqbtqctqdQU epoz_lang_frqe(U‚bqf(hU DTMLDocumentqgtqhtqiQUepoz_button_textcolor.gifqj(U‚cqk(hUImageqltqmtqnQUepoz_button_unformat.gifqo(U‚dqp(hUImageqqtqrtqsQU vcXMLRPC.jsqt(U‚equ(hU DTMLDocumentqvtqwtqxQU_objectsqy(}qz(U meta_typeq{UImageq|h5hUOwnerr?ash~(U‚€r@(hUImagerAtrBtrCQu.â1((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq UQmem=context.zwo_lib.mem_data() return context.zwo_lib.standard_html_header(mem) q U_codeq T”c@s d„ZdS(NcCs;tttdƒdƒƒ}tttdƒdƒ|ƒSdS(Nszwo_libsmem_datasstandard_html_header(s _getattr_scontextsmem(s _getattr_scontextsmem((sScript (Python)s get_headers(s get_header(s get_header((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q}qUjamesq]q UOwnerq!asUidq"U get_headerq#U_paramsq$UU func_codeq%(cShared.DC.Scripts.Signature FuncCode q&oq'}q((U co_argcountq)KU co_varnamesq*(U _getattr_q+hUmemq,tq-ubu.ãG((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U_Take_ownership_Permissionq(UManagerqU config_zwookqtqU_bodyq TS#script qui sert a obliger l'administrateur a changer de password #lors de sa premiere connection. # Le module AccessControl permet de rendre le script inaccessible # en utilisant directement le navigateur. from AccessControl import getSecurityManager a=getSecurityManager() if a.calledByExecutable()<2: return 'non' #Check si user admin existe bien. if not 'admin' in mem["racine_obj"].zwo_info.users.objectIds(): #si il existe pas, mise a jour du flag checkpasswd #qui indique que le passwd a déja été modifié. if mem["racine_obj"].zwo_info.hasProperty('checkpasswd'): mem["racine_obj"].zwo_info.manage_delProperties(['checkpasswd']) mem["racine_obj"].zwo_info.manage_addProperty('checkpasswd',1,'int') context.REQUEST.RESPONSE.redirect(mem["zwo_url"]) return #verifie le user est administrateur du zwook. if not 'config_zwook' in mem['user_roles_id']: #Sinon Message indiquant la marche a suivre pour se reconnecter avec le user admin. print '

Bienvenue Zwookien

' print 'Acces non authorisé : vous êtes connecté avec votre utilisateur zope !

' print 'Méthode a suivre :
' print ' 1) Eteignez tous vos navigateurs pour vous déconnecter
' print ' 2) Connectez sur l\'url : '+mem['zwo_url']+'
' print ' 3) Utiliser le login "admin" et le mot de passe "admin".
' print ' 4) Suivre les instructions pour changer le mot de passe.
' print 'Bonne chance.
' print '' return printed #~ check droits rep zwook #~ ############# checkup roles ############ mem['zwo_obj'].manage_role('Anonymous',permissions=[]) mem['zwo_obj'].manage_role('Authenticated',permissions=[]) mem['zwo_obj'].manage_role('Manager',permissions=[]) mem['zwo_obj'].manage_role('config_zwook',permissions=[]) #Affiche le link vers le modificateur de password de admin. print '

Bienvenue Zwookien

' print '

Outil de première configuation :

' print 'Pour pouvoir activer votre zwook, changer votre mot de passe !' print '' return printed q U_WebDAV_access_Permissionq (hhtq U_View_History_Permissionq (hhtqU_Change_bindings_Permissionq(hhtqU'_Access_contents_information_Permissionq(hhtqUidqUzwo_initialise_passwordqU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q(U co_argcountqKU co_varnamesq(UmemqU_print_qU_printqU AccessControlqUgetSecurityManagerqUaU _getattr_q U _getitem_q!Ucontextq"tq#ubU!_Change_Python_Scripts_Permissionq$(hhtq%Uerrorsq&)U_Delete_objects_Permissionq'(hhtq(U Script_magicq)KU_codeq*T¤c@s d„ZdS(Nc )Csƒtƒ}dkl}|ƒ}t|dƒƒdjodSndtttt|dƒdƒdƒd ƒƒj oµttt|dƒdƒd ƒd ƒo,ttt|dƒdƒd ƒd gƒnttt|dƒdƒd ƒd ddƒttttdƒdƒdƒt|dƒƒdSndt|dƒj ov|dIJ|dIJ|dIJ|dIJ|dt|dƒdIJ|dIJ|dIJ|dIJ|dIJ|ƒSntt|d ƒd!ƒd"d#gƒtt|d ƒd!ƒd$d#gƒtt|d ƒd!ƒd%d#gƒtt|d ƒd!ƒdd#gƒ|dIJ|d&IJ|d't|dƒd(IJ|dIJ|ƒSdS()N(sgetSecurityManagerscalledByExecutableisnonsadmins racine_objszwo_infosuserss objectIdss hasPropertys checkpasswdsmanage_delPropertiessmanage_addPropertyisintsREQUESTsRESPONSEsredirectszwo_urls config_zwooks user_roles_ids'

Bienvenue Zwookien

sRAcces non authorisé : vous êtes connecté avec votre utilisateur zope !

sMéthode a suivre :
s= 1) Eteignez tous vos navigateurs pour vous déconnecter
s 2) Connectez sur l'url : s
s? 3) Utiliser le login "admin" et le mot de passe "admin".
s? 4) Suivre les instructions pour changer le mot de passe.
sBonne chance.
sszwo_objs manage_roles Anonymouss permissionss AuthenticatedsManagers)

Outil de première configuation :

s+Pour pouvoir activer votre zwook, changer votre mot de passe !( s_print_s_prints AccessControlsgetSecurityManagersas _getattr_s _getitem_smemscontext( smems_print_s_prints AccessControlsgetSecurityManagersas _getattr_s _getitem_scontext((sScript (Python)szwo_initialise_passwords<   >(,+%        """   (szwo_initialise_password(szwo_initialise_password((sScript (Python)ssq+U_View_Permissionq,(hhtq-U Python_magicq.U;ò q/Uwarningsq0)U_Change_proxy_roles_Permissionq1(hhtq2U_Copy_or_Move_Permissionq3(hhtq4U#_View_management_screens_Permissionq5(hhtq6U!_Change_cache_settings_Permissionq7(hhtq8U _filepathq9U """ aff.append(js) ################################################ # align global if fp('align')=='center': aff.append('
') if fp('align')=='right': aff.append('
') ################################################ ################################################ # affichage du skin ################################################ #recuperation de la structure de positionement (val) #elle indique la structure du tableau a afficher #ainsi que le contenu des cases. val=context.zwo_lib.tab_to_val(conteneur) # la fonction printtab affiche un tableau #en utilisant la fonction printtdcase et printintcase #qui affiche une case (les balises td et l'interieur). #descriptions des parametres des fonctions #englobant la case, et donc la couleur par dfaut de la case. #margetab : marge du tableau #couleurfondtab : couleur de fond du tableau #couleurtextetab : couleur de text du tableau #aligntab : alignement horizontale du tableau #valigntab : alignement vertical du tableau #writeok : le flag qui indique si on est avant #la zone principale (c'est a dire ce qui doit tre #afficher. La fonction retourne un nouvelle valeur pour writeok #idcase : identifiant de case #printtdcase : affiche la balise tds et appelle printintcase def printtdcase(aff,idcase,margetab,couleurfondtab,couleurtextetab,aligntab,valigntab,writeok): #affichage ouverture balises pc=val['pc'][idcase] margeint=margetab if pc['marge']<>'': margeint=pc['marge'] if writeok==1: pccc=[] if pc['colspan']<>'' and pc['colspan']<>'1': pccc.append(' colspan="%s"' % pc['colspan']) if pc['rowspan']<>'' and pc['rowspan']<>'1': pccc.append(' rowspan="%s"' % pc['rowspan']) ppc=[] if pc['hauteur']<>'': ppc.append(' height="%s"' % pc['hauteur']) if pc['largeur']<>'': ppc.append(' width="%s"' % pc['largeur']) if pc['align']<>'': ppc.append(' align="%s"' % pc['align']) else : ppc.append(' align="%s"' % aligntab) if pc['valign']<>'': ppc.append(' valign="%s"' % pc['valign']) else : ppc.append(' valign="%s"' % valigntab) if pc['couleurfond']<>'': ppc.append(' bgcolor="%s"' % pc['couleurfond']) elif couleurfondtab<>'': ppc.append(' bgcolor="%s"' % couleurfondtab) textcolor=couleurtextetab if pc['couleurtexte']<>'': textcolor=pc['couleurtexte'] ppc.append(' style="color:%s"' % textcolor) ppcc=[] pcase=pc['cadre'] if pcase<>'0' and pcase<>'': aff.append('') ppcc.append(' class="Skinbordure%s"' % idcase) afppc=''.join(ppc) afpccc=''.join(pccc) afppcc=''.join(ppcc) if margeint<>'0': aff.append('') else: aff.append('\n' % (afppc,afppcc,afpccc)) #Affichage cellule writeok=printintcase(aff,idcase,writeok) if writeok==0: return 0 #affichage fermetures balises if margeint<>'0': aff.append('\n \n
') aff.append('
') return writeok printtab(aff,'T1',initwriteok) return ''.join(aff) q Utitleq Unoyauq U _filepathqUDScript (Python):/zwook_active_rc6_beta2/zwo_lib/standard_html_headerqU_codeqT&0c@s d„ZdS(Nc$Fs}tƒ}d‰tˆdƒdjoi|dIJ|dIJ|dIJ|dIJ|dtˆd ƒd IJ|d tˆd ƒd IJ|ƒSntttdƒdƒ}t|dƒdƒokt|dƒdjoQd}|d}|dttdƒd}|d}|d}|d}|Sq'ng}dt ˆƒdƒh‰x‹tttˆd?ƒd-ƒd@ƒƒD]e}|djoRt|d-ƒd/ƒ}t|ƒdjo&t|dƒt ˆƒt|dƒ


s†

s1Cette page ncessite une identification.


s3

Pour vous identifier cliquer sur s [ Se connecter ]

s

[ Accueil ]

sREQUESTsSESSIONshas_keysvprints1sss s���titles���sDs>s"(s _getitem_svalsidcasespcsmargetabsmargeintswriteokspcccs _getattr_sppcsaligntabs valigntabscouleurfondtabscouleurtextetabs textcolorsppccspcasesaffsafppcsafpcccsafppccs printintcase(saffsidcasesmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteoks _getitem_svalspcsmargeintspcccs _getattr_sppcs textcolorsppccspcasesafppcsafpcccsafppccs printintcase(s printintcasesval(sScript (Python)s printtdcaseÇsb  ,$,!!!$$!)7! csÃttˆdƒ|ƒ}t|ƒdjottt|dƒdƒdƒ}t|ƒdjo!ˆ|dt|dƒ|ƒSnt|dƒdjoˆSqŸn|djodSnd} g} xÔt |ƒD]Æ}|ˆjo³tˆ|ƒ}yattttdƒt|dƒƒd ƒˆ|ƒ}|d jod} t|d ƒ|ƒnWnetj oY}ˆdjot|d ƒt|ƒƒn!t|d ƒd t|dƒƒd} nXt|d ƒdƒot|dƒ}nd}|djot|d ƒdƒd} n|djot|d ƒdƒd} n|djot|d ƒdƒd} n|djot|d ƒdƒd} q“qÍqÍW| djot|d ƒdƒndSdS(NscciissplitsTs######s zwo_modulesselements view_htmlssappendsBgMd[%s]s hasPropertys dispositions*s+s
s-s s--s   s++s

s5(s _getitem_svalsidcasesccslens _getattr_s tabinlistsprinttabsaffswriteoksaction_zone_principaleskkchsnccs _getiter_selsobj_in_conteneurs conteneurszelemscontextsmemsafs Exceptionse_txts debug_modesstrssp(saffsidcaseswriteoks _getitem_svalsccslens _getattr_s tabinlistsprinttabsaction_zone_principaleskkchsnccs _getiter_selsobj_in_conteneurs conteneurszelemscontextsmemsafs Exceptionse_txts debug_modesstrssp(svalsmemsaction_zone_principales conteneursprinttabs debug_modesobj_in_conteneur(sScript (Python)s printintcase sV!    3     c+sÒttˆdƒ|ƒ}ttˆdƒ|ƒ}g}|djo¶tt|dƒdƒƒdjo$t|dƒdt|dƒƒnt|dƒd ƒtt|d ƒdƒƒdjo$t|dƒd t|d ƒƒqt|dƒd ƒn't|dƒd ƒt|dƒd ƒt|dƒd ƒt|dƒ} | djo | djojt|dƒdƒt|dƒd|| t|dƒfƒt|dƒdƒt|dƒd|ƒnd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd} t|dƒdjot|dƒ} nd}t|dƒdjot|dƒ}n|djo*t|dƒdtddƒ|ƒƒnx¼t|ƒD]®}t|ƒdjo•|djot|dƒd ƒnxFt|ƒD]8}|djo%ˆ||| | | | ||ƒ}q>q>W|djot|dƒd!ƒq¢qôqôW|djot|dƒd"ƒn|SdS(#NsptsctsT1shauteursstripssappends height="%s"s height="100%"slargeurs width="%s"s width="100%"s+ cellspacing="0" cellpadding="0" border="0"scadres0ss class=Skinbordure%ssmarges couleurfonds couleurtextesleftsalignstopsvalignis
sinskinsskin_objs objectIdssappends s s config_objs hasPropertys title_htmls%s srep_toiszwo_objszwo_infossites%s - %s sstripsmetasssplits!!s=scontents s s spages/cs/tˆdƒ|ƒotˆ|ƒSndSdS(Nshas_keys(s _getattr_stppskeys _getitem_(skeys _getattr_stpps _getitem_(stpp(sScript (Python)sfpqssIsø salignscenters
srights
szwo_libs tab_to_valc,sdttˆdƒ|ƒ} |} t| dƒdjot| dƒ} n|djoªg} t| dƒdjot| dƒdjo$t| dƒdt| dƒƒnt| d ƒdjot| d ƒdjo$t| dƒd t| d ƒƒng}t| d ƒdjo$t|dƒd t| d ƒƒnt| d ƒdjo$t|dƒdt| d ƒƒnt| dƒdjo$t|dƒdt| dƒƒnt|dƒd|ƒt| dƒdjo$t|dƒdt| dƒƒnt|dƒd|ƒt| dƒdjo$t|dƒdt| dƒƒn)|djot|dƒd|ƒn|}t| dƒdjo*t| dƒ}t|dƒd|ƒng}t| dƒ}|djo |djojt|dƒdƒt|dƒd||t| dƒfƒt|dƒdƒt|dƒd|ƒntddƒ|ƒ}tddƒ| ƒ}tddƒ|ƒ}| djo7t|dƒd|||d | d!|d"ƒqþt|dƒd#|||fƒnˆ|||ƒ}|d$jod$Sn| djot|dƒd%ƒnt|dƒd&ƒdSdS('Nspcsmargesiscolspans1sappends colspan="%s"srowspans rowspan="%s"shauteurs height="%s"slargeurs width="%s"saligns align="%s"svaligns valign="%s"s couleurfonds bgcolor="%s"s couleurtextes style="color:%s"scadres0ss class="Skinbordure%s"sjoinss is
s
sjoinis s s
(s _getitem_svalstabsptstablesppts _getattr_sptcadresaffsmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabswriteoks _getiter_sligneslensidcases printtdcase(saffstabswriteoks _getitem_svalsptstablesppts _getattr_sptcadresmargetabscouleurfondtabscouleurtextetabsaligntabs valigntabs _getiter_sligneslensidcases printtdcase(s printtdcasesval(sScript (Python)sprinttabJsd %$%$)'   )sT1sjoin($s_print_s_prints debug_modes _getitem_smems _getattr_scontextssessaffs_write_saction_zone_principales initwriteoks conteneursobj_in_conteneurs titre_pages titre_sites _getiter_slsdicosokschsdec2slensdico2sksstringscrsetstppsasdecsfpsjssvals printtdcases printintcasesprinttab($smems_print_s_prints debug_modes _getitem_s _getattr_scontextssessaffs_write_saction_zone_principales initwriteoks conteneursobj_in_conteneurs titre_pages titre_sites _getiter_slsdicosokschsdec2slensdico2sksstringscrsetstppsasdecsfpsjssvals printintcases printtdcasesprinttab(( smems printintcasesvalsaction_zone_principalesprinttabs conteneurs printtdcases debug_modestppsobj_in_conteneursScript (Python)sstandard_html_headers¸           '$8 %)  $*1% .--0  C@A(sstandard_html_header(sstandard_html_header((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptq usbU_dav_writelocksq!(U‚”q"(U Persistenceq#UPersistentMappingq$ttQU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asUidq*Ustandard_html_headerq+U_paramsq,Umemq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Umemq4U_print_q5U_printq6U debug_modeq7U _getitem_q8U _getattr_q9Ucontextq:Usesq;UaffqU initwriteokq?U conteneurq@Uobj_in_conteneurqAU titre_pageqBU titre_siteqCU _getiter_qDUlUdicoqEUokqFUchqGUdec2qHUlenqIUdico2qJUkUstringqKUcrsetqLUtppqMUaUdecqNUfpqOUjsqPUvalqQU printintcaseqRU printtdcaseqSUprinttabqTtqUubu.õ ³((U OFS.FolderqUFolderqtqNt.}q(U inscriptionq(U‚•q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (U‚–q (hU PythonScriptq tqtqQUnew_okq(U‚—q(hU PythonScriptqtqtqQUidqU inscriptionqUinscription_okq(U‚˜q(hU PythonScriptqtqtqQU certifwebqUnonqU non_admis_okq(U‚™q(hU PythonScriptq tq!tq"QUtitleq#U Inscriptionq$U trop_tardq%(U‚šq&(hU PythonScriptq'tq(tq)QUnoteq*KUversionq+U0.2q,U view_htmlq-(U‚›q.(hU PythonScriptq/tq0tq1QUdesinscription_okq2(U‚œq3(hU PythonScriptq4tq5tq6QU_objectsq7(}q8(U meta_typeq9UScript (Python)q:Uidq;Unew_htmlqUScript (Python)q?Uidq@Unew_okqAu}qB(U meta_typeqCUScript (Python)qDUidqEU config_htmlqFu}qG(hChDhEU config_okqHu}qI(U meta_typeqJUImageqKUidqLU icone.pngqMu}qN(U meta_typeqOUScript (Python)qPUidqQU inscriptionqRu}qS(U meta_typeqTUImageqUUidqVUmoi.pngqWu}qX(U meta_typeqYUImageqZUidq[Uexit.pngq\u}q](U meta_typeq^UScript (Python)q_Uidq`h2u}qa(U meta_typeqbUScript (Python)qcUidqdUinscription_okqeu}qf(U meta_typeqgUScript (Python)qhUidqiU view_htmlqju}qk(U meta_typeqlUScript (Python)qmUidqnU trop_tard_okqou}qp(U meta_typeqqUScript (Python)qrUidqsUdesinscriptionqtu}qu(hqhrhsU trop_tardqvu}qw(hqhrhsU non_admisqxu}qy(hqhrhshu}qz(U meta_typeq{UScript (Python)q|Uidq}Ucompletq~u}q(h{h|h}U complet_okq€utqUcompletq‚(U‚qƒ(hU PythonScriptq„tq…tq†QU config_htmlq‡(U‚žqˆ(hU PythonScriptq‰tqŠtq‹QUnew_htmlqŒ(U‚Ÿq(hU PythonScriptqŽtqtqQU descriptionq‘(U*Permet à des utilisateurs de s'inscrire à:q’U - un coursq“U- une manifestationq”U- une réunion de travailq•Uetc.q–tq—hx(U‚ q˜(hU PythonScriptq™tqštq›QU certifdevqœUnonqU__ac_local_roles__qž}qŸUdesinscriptionq (U‚¡q¡(hU PythonScriptq¢tq£tq¤QUdevq¥U5%q¦hW(U‚¢q§(U OFS.Imageq¨UImageq©tqªtq«QUzone_principaleq¬U1ho(U‚£q­(hU PythonScriptq®tq¯tq°QU _propertiesq±(}q²(Utypeq³Ustringq´UidqµUtitleq¶Umodeq·Uwu}q¸(Utypeq¹UstringqºUidq»U experimentalq¼u}q½(Utypeq¾Uintq¿UidqÀUnoteqÁu}qÂ(h¾UstringqÃhÀUversionqÄu}qÅ(h¾hÃhÀUdevqÆu}qÇ(h¾hÃhÀU certifdevqÈu}qÉ(h¾hÃhÀU certifwebqÊu}qË(h¾hÃhÀU moderateurqÌu}qÍ(UtypeqÎUlinesqÏUidqÐU descriptionqÑu}qÒ(UtypeqÓUstringqÔUidqÕh¬utqÖhM(U‚¤q×(h¨UImageqØtqÙtqÚQh€(U‚¥qÛ(hU PythonScriptqÜtqÝtqÞQU moderateurqßUphilog@educanet.ch qàU experimentalqáUh\(U‚¦qâ(h¨UImageqãtqätqåQu.‚ ((U OFS.FolderqUFolderqtqNt.}q(Uadd_link_confirmq(UƒUq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUwwwq (UƒVq (hUFolderq tqtqQU arborescenceq(UƒWq(hU PythonScriptqtqtqQU send_PM_okq(Uƒoq(hU PythonScriptqtqtqQUadd_linkq(UƒXq(hU PythonScriptqtqtqQU choixcheminq(Uƒpq (hU PythonScriptq!tq"tq#QU config_okq$(UƒYq%(hU PythonScriptq&tq'tq(QUskinq)U1Unew_okq*(UƒZq+(hU PythonScriptq,tq-tq.QUmanage_links_okq/(Uƒ[q0(hU PythonScriptq1tq2tq3QUidq4Uannuaire_liensq5Upopup_orphans_htmlq6(Uƒnq7(hU PythonScriptq8tq9tq:QU certifwebq;UnonqUccpdq?(Uƒ]q@(hU PythonScriptqAtqBtqCQU__before_publishing_traverse__qD(cZPublisher.BeforeTraverse MultiHook qEoqF}qG(U_defined_in_classqHI00 U _hooknameqIhDU_priorqJNU_listqK]qLubUnoteqMKVUwaitingqN(Uƒ_qO(hU PythonScriptqPtqQtqRQUversionqSU0.6-rc3qTU view_htmlqU(Uƒ`qV(hU PythonScriptqWtqXtqYQUREADMEqZ(Uƒaq[(hU PythonScriptq\tq]tq^QU__before_traverse__q_}q`U config_htmlqa(Uƒbqb(hU PythonScriptqctqdtqeQUnew_htmlqf(Uƒcqg(hU PythonScriptqhtqitqjQU admin_onlyqkU0U descriptionql(U‡Annuaire de liens à la yahoo, avec catégories et sous-catégories, hits, votes, propositions de rubriques et liens par les utilisateurs.qmUZEn cours de développement, non stable et ne possède pas encore toutes les fonctionnalités.qnUUUUtqoU CONTRIBUTORSqp(Uƒdqq(hU PythonScriptqrtqstqtQU manage_linksqu(Uƒeqv(hU PythonScriptqwtqxtqyQUdel_category_okqz(Uƒfq{(hU PythonScriptq|tq}tq~QU add_link_okq(Uƒgq€(hU PythonScriptqtq‚tqƒQUdel_category_confirmq„(Uƒhq…(hU PythonScriptq†tq‡tqˆQUmanage_corbeilleq‰(UƒiqŠ(hU PythonScriptq‹tqŒtqQU_objectsqŽ(}q(U meta_typeqUScript (Python)q‘Uidq’Unew_htmlq“u}q”(U meta_typeq•UScript (Python)q–Uidq—Unew_okq˜u}q™(U meta_typeqšUScript (Python)q›UidqœU config_htmlqu}qž(hšh›hœU config_okqŸu}q (U meta_typeq¡UScript (Python)q¢Uidq£U view_htmlq¤u}q¥(U meta_typeq¦UImageq§Uidq¨U icone.pngq©u}qª(U meta_typeq«UFolderq¬Uidq­h u}q®(U meta_typeq¯UScript (Python)q°Uidq±U arborescenceq²u}q³(U meta_typeq´UScript (Python)qµUidq¶hu}q·(U meta_typeq¸UScript (Python)q¹UidqºUTODOq»u}q¼(U meta_typeq½UScript (Python)q¾Uidq¿h„u}qÀ(h½h¾h¿hzu}qÁ(U meta_typeqÂUScript (Python)qÃUidqÄhu}qÅ(U meta_typeqÆUScript (Python)qÇUidqÈUREADMEqÉu}qÊ(U meta_typeqËUScript (Python)qÌUidqÍhuu}qÎ(U meta_typeqÏUScript (Python)qÐUidqÑh/u}qÒ(U meta_typeqÓUScript (Python)qÔUidqÕUurlparseqÖu}q×(U meta_typeqØUScript (Python)qÙUidqÚUcopy_of_add_linkqÛu}qÜ(U meta_typeqÝUScript (Python)qÞUidqßUcopy2_of_add_link.MARCHEPASqàu}qá(hÝhÞhßUadd_linkqâu}qã(U meta_typeqäUScript (Python)qåUidqæhpu}qç(hähåhæU read_versionqèu}qé(U meta_typeqêUScript (Python)qëUidqìh?u}qí(U meta_typeqîUScript (Python)qïUidqðh6u}qñ(U meta_typeqòUScript (Python)qóUidqôh‰u}qõ(U meta_typeqöUScript (Python)q÷UidqøUwaitingqùu}qú(U meta_typeqûUScript (Python)qüUidqýhu}qþ(U meta_typeqÿUScript (Python)rUidrU waiting_okru}r(U meta_typerUScript (Python)rUidrhutrh»(Uƒjr(hU PythonScriptr tr tr QU certifdevr Unonr hÛ(Uƒkr(hU PythonScriptrtrtrQhè(Uƒlr(hU PythonScriptrtrtrQU moderateurrU claude.clerc@ac-aix-marseille.frrj(Uƒmr(hU PythonScriptrtrtrQUdevrU55%rUurlparser(Uƒ\r(hU PythonScriptr tr!tr"QUzone_principaler#U1U _propertiesr$(}r%(Utyper&Ustringr'Uidr(Utitler)Umoder*Uwu}r+(Utyper,Ustringr-Uidr.U experimentalr/u}r0(Utyper1Uintr2Uidr3Unoter4u}r5(j1Ustringr6j3Uversionr7u}r8(j1j6j3Udevr9u}r:(j1j6j3U certifdevr;u}r<(j1j6j3U certifwebr=u}r>(j1j6j3U moderateurr?u}r@(UtyperAUlinesrBUidrCU descriptionrDu}rE(UtyperFUstringrGUidrHh)u}rI(jFjGjHj#u}rJ(UtyperKUstringrLh¨hkutrMh©(Uƒ^rN(U OFS.ImagerOUImagerPtrQtrRQhà(UƒqrS(hU PythonScriptrTtrUtrVQU__ac_local_roles__rW}rXU experimentalrYUu.÷((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U‚®q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq Usantiago@emencia.comqU descriptionq(URss feed readerqUtqUtitleqULecteur de fil rssqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okqu}q(U meta_typeq UScript (Python)q!Uidq"U config_htmlq#u}q$(h h!h"U config_okq%u}q&(U meta_typeq'UScript (Python)q(Uidq)U view_htmlq*u}q+(U meta_typeq,UImageq-Uidq.U icone.pngq/utq0Unew_htmlq1(U‚°q2(hU PythonScriptq3tq4tq5QUdevq6U90%q7U certifdevq8Unonq9Unoteq:KKUversionq;U0.6q(hU PythonScriptq?tq@tqAQUzone_principaleqBU1U config_okqC(U‚²qD(hU PythonScriptqEtqFtqGQU _propertiesqH(}qI(UtypeqJUstringqKUidqLUtitleqMUmodeqNUwu}qO(UtypeqPUstringqQUidqRU experimentalqSu}qT(UtypeqUUintqVUidqWUnoteqXu}qY(hUUstringqZhWUversionq[u}q\(hUhZhWUdevq]u}q^(hUhZhWU certifdevq_u}q`(hUhZhWU certifwebqau}qb(hUhZhWU moderateurqcu}qd(UtypeqeUlinesqfUidqgU descriptionqhu}qi(UtypeqjUstringqkUidqlhButqmUnew_okqn(U‚¯qo(hU PythonScriptqptqqtqrQh/(U‚³qs(U OFS.ImageqtUImagequtqvtqwQU__ac_local_roles__qx}qyUidqzU rss_readerq{U experimentalq|Uu.ù&((U OFS.FolderqUFolderqtqNt.}q(Uhelpq(U‚Ãq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (U‚Äq (hU PythonScriptq tqtqQUskinqU1Unew_okq(U‚Åq(hU PythonScriptqtqtqQUidqUtextqU certifwebqUouiqUtitleqU Texte brutqUnoteqKcUversionqU1.0qU view_htmlq(U‚Æq (hU PythonScriptq!tq"tq#QU_objectsq$(}q%(U meta_typeq&UScript (Python)q'hUnew_htmlq(u}q)(h&h'hhu}q*(h&h'hU config_htmlq+u}q,(h&h'hh u}q-(U meta_typeq.UScript (Python)q/Uidq0Urapidedit_htmlq1u}q2(h.h/h0U rapidedit_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7Uhelpq8u}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UImageq@UidqAU icone.pngqButqCh+(U‚ÇqD(hU PythonScriptqEtqFtqGQh((U‚ÈqH(hU PythonScriptqItqJtqKQh3(U‚ÉqL(hU PythonScriptqMtqNtqOQU descriptionqP(UEditer du texte ou de l'HTML.qQU‹Option: vous pouvez decider d'activer le rapid edit. Cette option permet la modification rapide de textes sans rentrer dans le back office qRUUtqSh1(U‚ÊqT(hU PythonScriptqUtqVtqWQU certifdevqXUnonqYU moderateurqZU xav@1et0.orgq[Udevq\U99%q]Uzone_principaleq^U1U _propertiesq_(}q`(UtypeqaUstringqbUidqcUtitleqdUmodeqeUwu}qf(haUstringqghcUskinqhu}qi(UtypeqjUintqkUidqlUnoteqmu}qn(hjUstringqohlUversionqpu}qq(hjhohlUdevqru}qs(hjhohlU certifdevqtu}qu(hjhohlU certifwebqvu}qw(hjhohlU moderateurqxu}qy(UtypeqzUlinesq{Uidq|U descriptionq}u}q~(UtypeqUstringq€Uidqh^utq‚hB(U‚Ëqƒ(U OFS.Imageq„UImageq…tq†tq‡QU__ac_local_roles__qˆ}q‰u.úp((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U‚Ìq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U descriptionq (UInsert une image a votre site.qtqUtitleqUImage : v2 : ajoute des balisesqU__ac_local_roles__q}qUskinqU1Unew_okq(U‚Ðq(hU PythonScriptqtqtqQUnew_htmlq(U‚Íq(hU PythonScriptqtqtqQUdevqU100%q Uidq!Uimageq"Unoteq#K Uversionq$Ubeta 1q%U view_htmlq&(U‚Îq'(hU PythonScriptq(tq)tq*QUzone_principaleq+U1U config_okq,(U‚Ïq-(hU PythonScriptq.tq/tq0QU _propertiesq1(}q2(Utypeq3Ustringq4Uidq5Utitleq6Umodeq7Uwu}q8(h3Ustringq9h5Uskinq:u}q;(UtypeqUzone_principaleq?u}q@(UtypeqAUintqBUidqCh#u}qD(hAUstringqEhCh$u}qF(hAhEhChu}qG(hAhEhCU certifdevqHu}qI(hAhEhCh u}qJ(hAhEhCU moderateurqKu}qL(UtypeqMUlinesqNUidqOh utqPU_objectsqQ(}qR(U meta_typeqSUScript (Python)qTh!hu}qU(hShTh!h,u}qV(U meta_typeqWUImageqXUidqYU icone.pngqZu}q[(U meta_typeq\UScript (Python)q]Uidq^hu}q_(h\h]h^hu}q`(h\h]h^h&utqaU icone.pngqb(U‚Ñqc(U OFS.ImageqdUImageqetqftqgQhKU xav@1et0.orgqhhHUouiqiu.û4((U OFS.FolderqUFolderqtqNt.}q(U view_resultsq(U‚Òq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (U‚Óq (hU PythonScriptq tqtqQUskinqU1Uvoteq(U‚Ôq(hU PythonScriptqtqtqQUnew_okq(U‚Õq(hU PythonScriptqtqtqQUidqU simplepollqU certifwebqUouiqUtitleqU SimplePoll q Unoteq!KbUversionq"U0.4q#U view_htmlq$(U‚Öq%(hU PythonScriptq&tq'tq(QU_objectsq)(}q*(U meta_typeq+UScript (Python)q,Uidq-Uvoteq.u}q/(U meta_typeq0UImageq1Uidq2Ubar.gifq3u}q4(U meta_typeq5UScript (Python)q6Uidq7U view_resultsq8u}q9(U meta_typeq:UScript (Python)q;UidqUScript (Python)q?Uidq@U config_okqAu}qB(U meta_typeqCUImageqDUidqEU icone.pngqFu}qG(U meta_typeqHUScript (Python)qIUidqJU config_htmlqKu}qL(hHhIhJUnew_htmlqMu}qN(hHhIhJU view_htmlqOutqPh3(U‚×qQ(U OFS.ImageqRUImageqStqTtqUQhK(U‚ØqV(hU PythonScriptqWtqXtqYQUnew_htmlqZ(U‚Ùq[(hU PythonScriptq\tq]tq^QU descriptionq_(U,Module de sondage : Ultra simple Poll/surveyq`tqaU certifdevqbUnonqcU__ac_local_roles__qd}qeUdevqfU60%qgUzone_principaleqhU1U _propertiesqi(}qj(UtypeqkUstringqlUidqmUtitleqnUmodeqoUwu}qp(UtypeqqUstringqrUidqsU experimentalqtu}qu(UtypeqvUintqwUidqxUnoteqyu}qz(hvUstringq{hxUversionq|u}q}(hvh{hxUdevq~u}q(hvh{hxU certifdevq€u}q(hvh{hxU certifwebq‚u}qƒ(hvh{hxU moderateurq„u}q…(Utypeq†Ulinesq‡UidqˆU descriptionq‰u}qŠ(Utypeq‹UstringqŒUidqhu}qŽ(h‹hŒhhhutqhF(U‚Úq(hRUImageq‘tq’tq“QU moderateurq”Uvincent_delft@yahoo.comq•U experimentalq–Uu.ü((U OFS.FolderqUFolderqtqNt.}q(Uhelpq(U‚Ûq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUdelfileq (U‚Üq (hU PythonScriptq tqtqQUaddfileq(U‚Ýq(hU PythonScriptqtqtqQU config_okq(U‚Þq(hU PythonScriptqtqtqQUnew_okq(U‚ßq(hU PythonScriptqtqtqQUidqU text_epozq U certifwebq!Uouiq"Utitleq#U Texte Epozq$Unoteq%KbUversionq&U0.6q'U view_htmlq((U‚àq)(hU PythonScriptq*tq+tq,QU_objectsq-(}q.(U meta_typeq/UScript (Python)q0hUnew_htmlq1u}q2(h/h0hhu}q3(h/h0hU config_htmlq4u}q5(h/h0hhu}q6(U meta_typeq7UScript (Python)q8Uidq9Urapidedit_htmlq:u}q;(h7h8h9U rapidedit_okqUScript (Python)q?Uidq@UhelpqAu}qB(U meta_typeqCUScript (Python)qDUidqEU ttesview_htmlqFu}qG(hChDhEU view_htmlqHu}qI(U meta_typeqJUScript (Python)qKUidqLhu}qM(hJhKhLUtoolboxqNu}qO(hJhKhLh u}qP(U meta_typeqQUImageqRUidqSU icone.pngqTutqUh4(U‚áqV(hU PythonScriptqWtqXtqYQh1(U‚âqZ(hU PythonScriptq[tq\tq]Qh<(U‚ãq^(hU PythonScriptq_tq`tqaQU descriptionqb(U$Editeur de texte visuel (a la Word).qcU‹Option: vous pouvez decider d'activer le rapid edit. Cette option permet la modification rapide de textes sans rentrer dans le back office qdUUUUUtqeh:(U‚äqf(hU PythonScriptqgtqhtqiQUtoolboxqj(U‚åqk(hU PythonScriptqltqmtqnQU certifdevqoUnonqpU__ac_local_roles__qq}qrhF(U‚æqs(hU PythonScriptqttqutqvQUdevqwU99%qxUzone_principaleqyU1U _propertiesqz(}q{(Utypeq|Ustringq}Uidq~UtitleqUmodeq€Uwu}q(Utypeq‚UintqƒUidq„h%u}q…(h‚Ustringq†h„h&u}q‡(h‚h†h„hwu}qˆ(h‚h†h„hou}q‰(h‚h†h„h!u}qŠ(h‚h†h„U moderateurq‹u}qŒ(UtypeqUlinesqŽUidqhbu}q(Utypeq‘Ustringq’Uidq“hyutq”hT(U‚çq•(U OFS.Imageq–UImageq—tq˜tq™Qh‹Upatrick@stilagence.chqšu.‚ Þ((U OFS.FolderqUFolderqtqNt.}q(U rss10.xmlq(Uƒrq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uƒsq (hU PythonScriptq tqtqQUskinqU1Uimagesq(Uƒtq(hUFolderqtqtqQUnew_okq(Uƒuq(hU PythonScriptqtqtqQUidqU faqs_historyqU certifwebqUnonqUtitleqU FAQs historyq Unoteq!K%Uversionq"U0.1q#U view_htmlq$(Uƒvq%(hU PythonScriptq&tq'tq(QU_objectsq)(}q*(U meta_typeq+UScript (Python)q,Uidq-Unew_htmlq.u}q/(U meta_typeq0UScript (Python)q1Uidq2Unew_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7U config_htmlq8u}q9(h5h6h7U config_okq:u}q;(U meta_typeqU view_htmlq?u}q@(U meta_typeqAUFolderqBUidqCUimagesqDu}qE(U meta_typeqFUScript (Python)qGUidqHU rss10.xmlqIu}qJ(U meta_typeqKUImageqLUidqMU icone.pngqNutqOU config_htmlqP(UƒwqQ(hU PythonScriptqRtqStqTQUnew_htmlqU(UƒxqV(hU PythonScriptqWtqXtqYQU admin_onlyqZU1U descriptionq[)U certifdevq\Unonq]U__ac_local_roles__q^}q_Udevq`U5%qaU _propertiesqb(}qc(UtypeqdUstringqeUidqfUtitleqgUmodeqhUwu}qi(UtypeqjUstringqkUidqlU experimentalqmu}qn(UtypeqoUintqpUidqqUnoteqru}qs(hoUstringqthqUversionquu}qv(hohthqUdevqwu}qx(hohthqU certifdevqyu}qz(hohthqU certifwebq{u}q|(hohthqU moderateurq}u}q~(UtypeqUlinesq€Uidqh[u}q‚(UtypeqƒUstringq„Uidq…hu}q†(Utypeq‡UstringqˆUidq‰hZutqŠU icone.pngq‹(UƒyqŒ(U OFS.ImageqUImageqŽtqtqQU moderateurq‘Udkuhlman@rexx.comq’U experimentalq“Uu.ýd((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U‚èq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Uouiq U moderateurq Usantiago@emencia.comqU descriptionq(UCIl s'agit d'une sous navigation automatique sous forme de dossiers.qUCIl permet d'afficher clairement les sous rubriques d'une navigationqUUUtqUtitleqU,Liste des dossiers contenus dans ce dossier.qU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(hhhUnew_okqu}q(U meta_typeqUScript (Python)qUidq U view_htmlq!u}q"(U meta_typeq#UScript (Python)q$Uidq%U config_htmlq&u}q'(h#h$h%U config_okq(u}q)(U meta_typeq*UFolderq+Uidq,Uimagesq-u}q.(U meta_typeq/UImageq0Uidq1U icone.pngq2utq3h(U‚êq4(hU PythonScriptq5tq6tq7QUdevq8U90%q9U certifdevq:Unonq;UnoteqU view_htmlq?(U‚ëq@(hU PythonScriptqAtqBtqCQU config_okqD(U‚ìqE(hU PythonScriptqFtqGtqHQU _propertiesqI(}qJ(UtypeqKUstringqLUidqMUtitleqNUmodeqOUwu}qP(UtypeqQUstringqRUidqSU experimentalqTu}qU(UtypeqVUintqWUidqXhU icone.pngq?utq@UversionqAU0.1qBU view_htmlqC(U‚òqD(hU PythonScriptqEtqFtqGQUzone_principaleqHU1U config_okqI(U‚óqJ(hU PythonScriptqKtqLtqMQU _propertiesqN(}qO(UtypeqPUstringqQUidqRUtitleqSUmodeqTUwu}qU(UtypeqVUstringqWUidqXU experimentalqYu}qZ(Utypeq[Uintq\Uidq]Unoteq^u}q_(h[Ustringq`h]Uversionqau}qb(h[h`h]Udevqcu}qd(h[h`h]U certifdevqeu}qf(h[h`h]U certifwebqgu}qh(h[h`h]U moderateurqiu}qj(UtypeqkUlinesqlUidqmU descriptionqnu}qo(UtypeqpUstringqqUidqrhHutqsUnew_okqt(U‚ðqu(hU PythonScriptqvtqwtqxQh?(U‚ôqy(U OFS.ImageqzUImageq{tq|tq}QU__ac_local_roles__q~}qUidq€U mailgroupqh:(U‚õq‚(hzUImageqƒtq„tq…Qu.ÿì((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U‚öq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq Ugratecos.cyril@laposte.netqU descriptionq)UtitleqUvideoqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_okqu}q(U meta_typeqUScript (Python)qUidqU config_okqu}q(U meta_typeqUImageqUidq U icone.pngq!u}q"(U meta_typeq#UScript (Python)q$Uidq%U config_htmlq&u}q'(h#h$h%Unew_htmlq(u}q)(h#h$h%U view_htmlq*utq+U _propertiesq,(}q-(Utypeq.Ustringq/Uidq0Utitleq1Umodeq2Uwu}q3(Utypeq4Ustringq5Uidq6U experimentalq7u}q8(Utypeq9Uintq:Uidq;Unoteqh;Uversionq?u}q@(h9h>h;UdevqAu}qB(h9h>h;U certifdevqCu}qD(h9h>h;U certifwebqEu}qF(h9h>h;U moderateurqGu}qH(UtypeqIUlinesqJUidqKU descriptionqLu}qM(UtypeqNUstringqOUidqPUskinqQu}qR(hNhOhPUzone_principaleqSutqTUnew_htmlqU(U‚øqV(hU PythonScriptqWtqXtqYQUdevqZU50%q[U certifdevq\Unonq]Unoteq^KUversionq_U0.5q`U view_htmlqa(U‚ùqb(hU PythonScriptqctqdtqeQhSU1U config_okqf(U‚úqg(hU PythonScriptqhtqitqjQhQU1Unew_okqk(U‚÷ql(hU PythonScriptqmtqntqoQh!(U‚ûqp(U OFS.ImageqqUImageqrtqstqtQU__ac_local_roles__qu}qvUidqwUvideoqxU experimentalqyUu.‚”((U OFS.FolderqUFolderqtqNt.}q(U config_okq(U‚üq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_okq (U‚ýq (hU PythonScriptq tqtqQUidqUproduits_dispatchesqU certifwebqUnonqUtitleqUproduits dispatches sur le siteqUnoteqK UversionqUbeta 1qU view_htmlq(U‚þq(hU PythonScriptqtqtqQU_objectsq(}q(U meta_typeq UImageq!Uidq"U icone.pngq#u}q$(U meta_typeq%UScript (Python)q&Uidq'Unew_okq(u}q)(h%h&h'U config_okq*u}q+(U meta_typeq,UScript (Python)q-Uidq.U config_htmlq/u}q0(h,h-h.Unew_htmlq1u}q2(h,h-h.U view_htmlq3u}q4(U meta_typeq5UScript (Python)q6Uidq7Udel_brochure_okq8u}q9(h5h6h7U del_image_okq:utq;U config_htmlq<(U‚ÿq=(hU PythonScriptq>tq?tq@QUnew_htmlqA(UƒqB(hU PythonScriptqCtqDtqEQU admin_onlyqFU1U descriptionqG(Upermet de creer des fiches qHU#produits,n'importe ou dans le site,qIUmais qui seront toujours qJUconsiderees comme un ensembleqKU>(et accesibles via un selecteur pour le skin : voir 'produits qLUdispatches selector' )qMUUUa l'origine pour banctec.frqNtqOh8(UƒqP(hU PythonScriptqQtqRtqSQU certifdevqTUouiqUh:(UƒqV(hU PythonScriptqWtqXtqYQU__ac_local_roles__qZ}q[Udevq\U100%q]Uzone_principaleq^U1U _propertiesq_(}q`(UtypeqaUstringqbUidqcUtitleqdUmodeqeUwu}qf(UtypeqgUstringqhUidqiUzone_principaleqju}qk(UtypeqlUintqmUidqnUnoteqou}qp(hlUstringqqhnUversionqru}qs(hlhqhnUdevqtu}qu(hlhqhnU certifdevqvu}qw(hlhqhnU certifwebqxu}qy(hlhqhnU moderateurqzu}q{(Utypeq|Ulinesq}Uidq~U descriptionqu}q€(UtypeqUstringq‚h.hFutqƒU icone.pngq„(Uƒq…(U OFS.Imageq†UImageq‡tqˆtq‰QU moderateurqŠUsantiago@emencia.comq‹u.‚‡((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T·pr=context.zwo_bo.presentation() # AFFICHAGE DU BANDEAU HAUT (head,spm,mid,spe,foot)=context.zwo_bo.autour(mem,pr,'module','Edition d\'element') print head titre='RETOUR' print context.zwo_bo.menu(mem['zwo_url'],pr,'nav',titre) print spm print mid print context.zwo_bo.edition(mem['zwo_url'],pr,'module','EDITION ELEMENT',prnt) print foot return printed q U_codeq T c@s d„ZdS(NcCstƒ}tttdƒdƒƒ}tttdƒdƒ||ddƒtƒ\}} } } } ||IJdt |dƒd}|tttdƒd ƒt |d ƒ|d |ƒIJ|| IJ|| IJ|tttdƒd ƒt |d ƒ|dd |ƒIJ|| IJ|ƒSdS(Nszwo_bos presentationsautoursmodulesEdition d'elementsRETOURsmenuszwo_urlsnavseditionsEDITION ELEMENT(s_print_s_prints _getattr_scontextsprsmems _getiter_sheadsspmsmidsspesfoots _getitem_stitresprnt(smemsprnts_print_s_prints _getattr_scontextsprs _getiter_sheadsspmsmidsspesfoots _getitem_stitre((sScript (Python)stotals$= 4  7 (stotal(stotal((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU__ac_local_roles__q}qUxavq]q UOwnerq!asUidq"Utotalq#U_paramsq$Umem,prntq%U func_codeq&(cShared.DC.Scripts.Signature FuncCode q'oq(}q)(U co_argcountq*KU co_varnamesq+(Umemq,Uprntq-U_print_q.U_printq/U _getattr_q0Ucontextq1Uprq2U _getiter_q3Uheadq4Uspmq5Umidq6Uspeq7Ufootq8U _getitem_q9Utitreq:tq;ubu.‚¸((U OFS.FolderqUFolderqtqNt.}q(U config_okq(Uƒq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUimagesq (Uƒq (hUFolderq tqtqQUnew_okq(Uƒq(hU PythonScriptqtqtqQUidqUtodoqU realisationq(Uƒq(hU PythonScriptqtqtqQU certifwebqUnonqUtitleqU Todo listqUnoteq KUterminerq!(Uƒq"(hU PythonScriptq#tq$tq%QUversionq&U0.8q'U view_htmlq((Uƒ q)(hU PythonScriptq*tq+tq,QU_objectsq-(}q.(U meta_typeq/UScript (Python)q0Uidq1Unew_htmlq2u}q3(U meta_typeq4UScript (Python)q5Uidq6Unew_okq7u}q8(U meta_typeq9UScript (Python)q:Uidq;U config_htmlqu}q?(U meta_typeq@UScript (Python)qAUidqBU view_htmlqCu}qD(U meta_typeqEUScript (Python)qFUidqGU realisationqHu}qI(hEhFhGU edit_noteqJu}qK(U meta_typeqLUScript (Python)qMUidqNU edit_note_okqOu}qP(U meta_typeqQUScript (Python)qRUidqSU add_todo_itemqTu}qU(hQhRhSUadd_todo_item_okqVu}qW(U meta_typeqXUScript (Python)qYUidqZUoptionsq[u}q\(U meta_typeq]UScript (Python)q^Uidq_U options_okq`u}qa(U meta_typeqbUFolderqcUidqdUimagesqeu}qf(hbUScript (Python)qghdh!u}qh(U meta_typeqiUScript (Python)qjUidqkUview_html_appendqlu}qm(U meta_typeqnUImageqoUidqpU icone.pngqqutqrhO(Uƒ qs(hU PythonScriptqttqutqvQU config_htmlqw(Uƒ qx(hU PythonScriptqytqztq{QUnew_htmlq|(Uƒ q}(hU PythonScriptq~tqtq€QU descriptionq(UListe des choses à faireq‚UtqƒhV(Uƒ q„(hU PythonScriptq…tq†tq‡Qh`(Uƒqˆ(hU PythonScriptq‰tqŠtq‹QhT(UƒqŒ(hU PythonScriptqtqŽtqQU certifdevqUnonq‘hl(Uƒq’(hU PythonScriptq“tq”tq•QU__ac_local_roles__q–}q—hJ(Uƒq˜(hU PythonScriptq™tqštq›QUdevqœU5%qUzone_principaleqžU1U _propertiesqŸ(}q (Utypeq¡Ustringq¢Uidq£Utitleq¤Umodeq¥Uwu}q¦(Utypeq§Ustringq¨Uidq©U experimentalqªu}q«(Utypeq¬Uintq­Uidq®Unoteq¯u}q°(h¬Ustringq±h®Uversionq²u}q³(h¬h±h®Udevq´u}qµ(h¬h±h®U certifdevq¶u}q·(h¬h±h®U certifwebq¸u}q¹(h¬h±h®U moderateurqºu}q»(Utypeq¼Ulinesq½Uidq¾U descriptionq¿u}qÀ(UtypeqÁUstringqÂUidqÃhžutqÄU icone.pngqÅ(UƒqÆ(U OFS.ImageqÇUImageqÈtqÉtqÊQU moderateurqËUsantiago@emencia.comqÌUoptionsqÍ(UƒqÎ(hU PythonScriptqÏtqÐtqÑQU experimentalqÒUu.¢“Ç((U OFS.FolderqUFolderqtqNt.}q(U rss10.xmlq(U¢”q(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQU config_okq (U¢•q (hU PythonScriptq ttQUskinq U1Uimagesq (U¢–q(hUFolderqttQUnew_okq(U¢—q(hU PythonScriptqttQUidqUforums_historyqU certifwebqUnonqUtitleqUHistorique de forumqUnoteqK%UversionqU0.61qU view_htmlq(U¢˜q(hU PythonScriptqttQU_objectsq(}q (U meta_typeq!UScript (Python)q"Uidq#Unew_htmlq$u}q%(U meta_typeq&UScript (Python)q'Uidq(Unew_okq)u}q*(U meta_typeq+UScript (Python)q,Uidq-U config_htmlq.u}q/(h+h,h-U config_okq0u}q1(U meta_typeq2UScript (Python)q3Uidq4U view_htmlq5u}q6(U meta_typeq7UFolderq8Uidq9Uimagesq:u}q;(U meta_typeqU rss10.xmlq?u}q@(U meta_typeqAUImageqBUidqCU icone.pngqDutqEU config_htmlqF(U¢™qG(hU PythonScriptqHttQUnew_htmlqI(U¢šqJ(hU PythonScriptqKttQU admin_onlyqLU1U descriptionqM(UªHistorique d'un (ou plusieurs) forum(s) avec possibilité de liens RSS. Cet historique peut être réservé à un public précis ou concerner une certaine catégorie de forums. qNtqOU certifdevqPUnonqQU__ac_local_roles__qR}qSUdevqTU60%qUU_ownerqV(]qW(Uzwook_active_rc6_beta3qXU acl_usersqYeUadminqZtq[U _propertiesq\(}q](Utypeq^Ustringq_Uidq`UtitleqaUmodeqbUwu}qc(UtypeqdUstringqeUidqfU experimentalqgu}qh(UtypeqiUintqjUidqkUnoteqlu}qm(hiUstringqnhkUversionqou}qp(hihnhkUdevqqu}qr(hihnhkU certifdevqsu}qt(hihnhkU certifwebquu}qv(hihnhkU moderateurqwu}qx(UtypeqyUstringqzUidq{h u}q|(Utypeq}Ulinesq~UidqhMu}q€(UtypeqUstringq‚UidqƒhLutq„U icone.pngq…(U¢›q†(U OFS.Imageq‡UImageqˆttQU moderateurq‰Uclaude.clerc@lenautilux.netqŠU experimentalq‹Uu.‚ Ó((U OFS.FolderqUFolderqtqNt.}q(Uediter_commentq(Uƒq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU editer_postq (Uƒ&q (hU PythonScriptq tqtqQUedit_okq(Uƒq(hU PythonScriptqtqtqQUimagesq(Uƒ q(hUFolderqtqtqQUnew_okq(Uƒ!q(hU PythonScriptqtqtqQUidqU documentsq Uediter_comment_okq!(Uƒ"q"(hU PythonScriptq#tq$tq%QU certifwebq&Unonq'Utitleq(UListe de documentsq)Ueffacer_post_okq*(Uƒq+(hU PythonScriptq,tq-tq.QUpost_comment_okq/(Uƒ$q0(hU PythonScriptq1tq2tq3QUnoteq4KPUversionq5U1.1q6U view_htmlq7(Uƒ%q8(hU PythonScriptq9tq:tq;QU_objectsq<(}q=(U meta_typeq>UScript (Python)q?Uidq@Unew_htmlqAu}qB(U meta_typeqCUScript (Python)qDUidqEUnew_okqFu}qG(U meta_typeqHUScript (Python)qIUidqJU config_htmlqKu}qL(hHhIhJU config_okqMu}qN(U meta_typeqOUScript (Python)qPUidqQU view_htmlqRu}qS(U meta_typeqTUScript (Python)qUUidqVUpostqWu}qX(U meta_typeqYUScript (Python)qZUidq[Upost_okq\u}q](U meta_typeq^UScript (Python)q_Uidq`U effacer_postqau}qb(h^h_h`h u}qc(U meta_typeqdUScript (Python)qeUidqfhu}qg(U meta_typeqhUScript (Python)qiUidqjU post_commentqku}ql(U meta_typeqmUScript (Python)qnUidqoh/u}qp(hmhnhohu}qq(hmhnhoUeffacer_commentqru}qs(hmhnhoh!u}qt(U meta_typequUScript (Python)qvUidqwUrepondreqxu}qy(U meta_typeqzUScript (Python)q{Uidq|U repondre_okq}u}q~(U meta_typeqUScript (Python)q€UidqUread_docq‚u}qƒ(hh€hUview_logq„u}q…(U meta_typeq†UImageq‡UidqˆU icone.pngq‰u}qŠ(h†UFolderq‹hˆUimagesqŒu}q(U meta_typeqŽUScript (Python)qUidqh*utq‘U config_htmlq’(Uƒq“(hU PythonScriptq”tq•tq–QUnew_htmlq—(Uƒ'q˜(hU PythonScriptq™tqštq›QU descriptionqœ(Uu}q?(h;h(Uƒ9qd(hU PythonScriptqetqftqgQU moderateurqhUzwook@matisson.comqih@(Uƒ:qj(hU PythonScriptqktqltqmQUdevqnU75%qoUzone_principaleqpU1U _propertiesqq(}qr(UtypeqsUstringqtUidquUtitleqvUmodeqwUwu}qx(UtypeqyUstringqzUidq{U experimentalq|u}q}(Utypeq~UintqUidq€hu}q(h~Ustringq‚h€hu}qƒ(h~h‚h€hnu}q„(h~h‚h€hbu}q…(h~h‚h€hu}q†(h~h‚h€hhu}q‡(UtypeqˆUlinesq‰UidqŠh[u}q‹(UtypeqŒUstringqUidqŽhZu}q(UtypeqUstringq‘Uidq’hputq“U icone.pngq”(Uƒ;q•(U OFS.Imageq–UImageq—tq˜tq™QU__ac_local_roles__qš}q›U experimentalqœUu.‚((U OFS.FolderqUFolderqtqNt.}q(U moderateurqUsantiago@emencia.comqUskinqU1Unew_okq(Uƒq7(h U PythonScriptq8tq9tq:QUnew_htmlq;(Uƒ?q<(h U PythonScriptq=tq>tq?Qh4(Uƒ@q@(h U PythonScriptqAtqBtqCQU admin_onlyqDU1U descriptionqE)U certifdevqFUnonqGUmail_okqH(UƒAqI(h U PythonScriptqJtqKtqLQUdevqMU100%qNUzone_principaleqOU1U _propertiesqP(}qQ(UtypeqRUstringqShhUmodeqTUwu}qU(hRUstringqVhU experimentalqWu}qX(hRUstringqYhUzone_principaleqZu}q[(hRUintq\hUnoteq]u}q^(hRUstringq_hUversionq`u}qa(hRUstringqbhUdevqcu}qd(hRUstringqehU certifdevqfu}qg(hRUstringqhhU certifwebqiu}qj(hRUstringqkhU moderateurqlu}qm(hRUlinesqnhU descriptionqou}qp(UtypeqqUstringqrh3hu}qs(hqhrh3hDutqth/(UƒBqu(U OFS.ImageqvUImageqwtqxtqyQU__ac_local_roles__qz}q{U send_mailq|(UƒCq}(h U PythonScriptq~tqtq€QU experimentalqUu.‚t((U OFS.FolderqUFolderqtqNt.}q(U css_mod_okq(UƒDq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (UƒEq (hU PythonScriptq tqtqQUskinqU1Unew_okq(UƒFq(hU PythonScriptqtqtqQUidqUscriptqU certifwebqUnonqUtitleqU Script pythonqUnoteqK)UversionqU0.6qU view_htmlq(UƒGq (hU PythonScriptq!tq"tq#QU_objectsq$(}q%(U meta_typeq&UScript (Python)q'hUnew_htmlq(u}q)(h&h'hhu}q*(h&h'hU config_htmlq+u}q,(h&h'hh u}q-(U meta_typeq.UScript (Python)q/Uidq0Urapidedit_htmlq1u}q2(h.h/h0U rapidedit_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7U view_htmlq8u}q9(U meta_typeq:U DTML Documentq;Uidq(h:UScript (Python)q?h(U meta_typeq?UImageq@UidqAU icone.pngqBu}qC(U meta_typeqDUScript (Python)qEUidqFhu}qG(U meta_typeqHUScript (Python)qIUidqJU rss10.xmlqKutqLU config_htmlqM(UœHqN(hU PythonScriptqOttQUnew_htmlqP(UœIqQ(hU PythonScriptqRttQU admin_onlyqSU1U descriptionqT(UÚListe des dernières nouvelles postées. On peut décider de n'afficher que la liste de nouvelles issues d'une page particulière. Affiche aussi un lien RSS, pour les marque-pages dynamiques et la syndication de nouvelles.qUtqVU certifdevqWUnonqXU moderateurqYU claude.clerc@ac-aix-marseille.frqZUdevq[U95%q\U_ownerq](]q^(Uzwook_active_rc6_beta3q_U acl_usersq`eUadminqatqbU _propertiesqc(}qd(UtypeqeUstringqfUidqgUtitleqhUmodeqiUwu}qj(UtypeqkUstringqlUidqmU experimentalqnu}qo(UtypeqpUintqqUidqrUnoteqsu}qt(hpUstringquhrUversionqvu}qw(hphuhrUdevqxu}qy(hphuhrU certifdevqzu}q{(hphuhrU certifwebq|u}q}(hphuhrU moderateurq~u}q(Utypeq€UlinesqUidq‚U descriptionqƒu}q„(Utypeq…Ustringq†Uidq‡hu}qˆ(Utypeq‰UstringqŠUidq‹hSutqŒU icone.pngq(UœJqŽ(U OFS.ImageqUImageqttQU__ac_local_roles__q‘}q’U experimentalq“Uu.‚ÿ((U OFS.FolderqUFolderqtqNt.}q(Uedit_okq(U„q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUskinq U1Unew_okq (U„q (hU PythonScriptqtqtqQUidqU album_photoqU certifwebqUnonqUview_imgq(U„q(hU PythonScriptqtqtqQUtitleqU Album photoqUnoteqKOUversionqU0.4.3qU view_htmlq(U„q (hU PythonScriptq!tq"tq#QU add_image_okq$(U„q%(hU PythonScriptq&tq'tq(QU_objectsq)(}q*(U meta_typeq+UScript (Python)q,Uidq-Unew_htmlq.u}q/(U meta_typeq0UScript (Python)q1Uidq2Unew_okq3u}q4(U meta_typeq5UScript (Python)q6Uidq7U view_htmlq8u}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UScript (Python)q@UidqAh$u}qB(U meta_typeqCUScript (Python)qDUidqEUdel_imgqFu}qG(U meta_typeqHUScript (Python)qIUidqJhu}qK(U meta_typeqLUScript (Python)qMUidqNU edit_htmlqOu}qP(hLhMhNhu}qQ(hLhMhNU config_htmlqRu}qS(U meta_typeqTUImageqUUidqVU icone.pngqWu}qX(U meta_typeqYUScript (Python)qZUidq[U thumbscriptq\u}q](hYUExternal Methodq^h[U thumbnailq_utq`U thumbnailqa(U„qb(U&Products.ExternalMethod.ExternalMethodqcUExternalMethodqdtqetqfQUzone_principaleqgU1hR(U„qh(hU PythonScriptqitqjtqkQUnew_htmlql(U„qm(hU PythonScriptqntqotqpQU admin_onlyqqU1U descriptionqr(UAffiche un album photo.qsUYPermet d'éditer et d'afficher le thumbnail, le titre et la description pour chaque image.qtU:Taille maximale des images vignette (thumbnail) : 105x105.quUpSi la librairie grapique PIL est installée, crée automatiquement des versions thumbnails des images téléchargéesqvtqwhF(U„qx(hU PythonScriptqytqztq{QU thumbscriptq|(U„q}(hU PythonScriptq~tqtq€Qh=(U„q(hU PythonScriptq‚tqƒtq„QU certifdevq…Unonq†U__ac_local_roles__q‡}qˆUdevq‰U60%qŠhO(U„q‹(hU PythonScriptqŒtqtqŽQU _propertiesq(}q(Utypeq‘Ustringq’Uidq“Utitleq”Umodeq•Uwu}q–(Utypeq—Ustringq˜Uidq™U experimentalqšu}q›(UtypeqœUintqUidqžUnoteqŸu}q (hœUstringq¡hžUversionq¢u}q£(hœh¡hžUdevq¤u}q¥(hœh¡hžU certifdevq¦u}q§(hœh¡hžU certifwebq¨u}q©(hœh¡hžU moderateurqªu}q«(Utypeq¬Ulinesq­Uidq®U descriptionq¯u}q°(Utypeq±Ustringq²Uidq³h u}q´(h±h²h³hgu}qµ(h±h²h³hqutq¶hW(U„ q·(U OFS.Imageq¸UImageq¹tqºtq»QU moderateurq¼Uzwook@matisson.comq½U experimentalq¾Uu.öï((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U‚§q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq U xav@1et0.orgqUhelpq(U‚¨q(hU PythonScriptqtqtqQUtitleqUAnimation flashqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(hhhUnew_okqu}q(hhhhu}q(hhhU config_okq u}q!(U meta_typeq"UScript (Python)q#Uidq$U view_htmlq%u}q&(U meta_typeq'UScript (Python)q(Uidq)Uhelpq*u}q+(U meta_typeq,UImageq-Uidq.U icone.pngq/utq0h(U‚ªq1(hU PythonScriptq2tq3tq4QUdevq5U80%q6U certifdevq7Unonq8Unoteq9K7Uversionq:U0.9q;U view_htmlq<(U‚«q=(hU PythonScriptq>tq?tq@Qh (U‚¬qA(hU PythonScriptqBtqCtqDQU _propertiesqE(}qF(UtypeqGUstringqHh$UtitleqIUmodeqJUwu}qK(UtypeqLUintqMUidqNh9u}qO(hLUstringqPhNh:u}qQ(hLhPhNh5u}qR(hLhPhNh7u}qS(hLhPhNh u}qT(hLhPhNh u}qU(UtypeqVUlinesqWUidqXU descriptionqYutqZh(U‚©q[(hU PythonScriptq\tq]tq^QU icone.pngq_(U‚­q`(U OFS.ImageqaUImageqbtqctqdQU__ac_local_roles__qe}qfhUflashqghY(UDCe module permet d'intégrer des animations flash sur votre système. qhUf=> Il est cependant essentiel de rappeler que les utilisateurs finaux n'ont pas tous le plug in flash.qiUUUtqju.øE((U OFS.FolderqUFolderqtqNt.}q(Uedit_structureq(U‚´q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (U‚µq (hU PythonScriptq tqtqQUskinqU1Unew_okq(U‚¶q(hU PythonScriptqtqtqQUidqU catalogueqUdelokq(U‚·q(hU PythonScriptqtqtqQU certifwebqUnonqUtitleqU Catalogueq Ueditokq!(U‚¸q"(hU PythonScriptq#tq$tq%QUnoteq&KRUaddq'(U‚¹q((hU PythonScriptq)tq*tq+QUversionq,U0.1q-U view_htmlq.(U‚ºq/(hU PythonScriptq0tq1tq2QUnew_structure_okq3(U‚»q4(hU PythonScriptq5tq6tq7QU_objectsq8(}q9(U meta_typeq:UScript (Python)q;Uidq(U meta_typeq?UScript (Python)q@UidqAUnew_okqBu}qC(U meta_typeqDUScript (Python)qEUidqFU config_htmlqGu}qH(U meta_typeqIUScript (Python)qJUidqKU view_htmlqLu}qM(U meta_typeqNUScript (Python)qOUidqPU new_structureqQu}qR(hNhOhPh3u}qS(hNhOhPhu}qT(hNhOhPU config_okqUu}qV(hNhOhPUaddqWu}qX(U meta_typeqYUScript (Python)qZUidq[Uaddokq\u}q](U meta_typeq^UScript (Python)q_Uidq`Uvueqau}qb(h^h_h`hu}qc(U meta_typeqdUImageqeUidqfU icone.pngqgu}qh(U meta_typeqiUScript (Python)qjUidqkUeditqlu}qm(hihjhkh!utqnU config_htmlqo(U‚¼qp(hU PythonScriptqqtqrtqsQUnew_htmlqt(U‚½qu(hU PythonScriptqvtqwtqxQU admin_onlyqyU1U descriptionqz(U)création de fiches et de listes de fichesq{UUtq|h\(U‚¾q}(hU PythonScriptq~tqtq€QU certifdevqUnonq‚Uvueqƒ(U‚¿q„(hU PythonScriptq…tq†tq‡QhQ(U‚Àqˆ(hU PythonScriptq‰tqŠtq‹QUeditqŒ(U‚Áq(hU PythonScriptqŽtqtqQU__ac_local_roles__q‘}q’Udevq“U60%q”Uzone_principaleq•U1U _propertiesq–(}q—(Utypeq˜Ustringq™UidqšUtitleq›UmodeqœUwu}q(UtypeqžUstringqŸUidq U experimentalq¡u}q¢(Utypeq£Uintq¤Uidq¥Unoteq¦u}q§(h£Ustringq¨h¥Uversionq©u}qª(h£h¨h¥Udevq«u}q¬(h£h¨h¥U certifdevq­u}q®(h£h¨h¥U certifwebq¯u}q°(h£h¨h¥U moderateurq±u}q²(Utypeq³Ulinesq´UidqµU descriptionq¶u}q·(Utypeq¸Ustringq¹Uidqºhyu}q»(Utypeq¼Ustringq½hfhu}q¾(Utypeq¿UstringqÀUidqÁh•utqÂhg(U‚ÂqÃ(U OFS.ImageqÄUImageqÅtqÆtqÇQU moderateurqÈU xav@1et0.orgqÉU experimentalqÊUu.‚#™((U OFS.FolderqUFolderqtqNt.}q(Uaffichage_moisq(U„µq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUskinq U1Unew_okq (U„¶q (hU PythonScriptqtqtqQUcalendarq(U„·q(hU PythonScriptqtqtqQUidqU minicalendarqU certifwebqUnonqUtitleqUMini calendrierqUnoteqKUversionqU0.2qU view_htmlq(U„¸q (hU PythonScriptq!tq"tq#QU_objectsq$(}q%(U meta_typeq&UScript (Python)q'Uidq(U view_htmlq)u}q*(U meta_typeq+UScript (Python)q,Uidq-U config_htmlq.u}q/(h+h,h-Unew_htmlq0u}q1(h+h,h-Unew_okq2u}q3(h+h,h-Uaffichage_moisq4u}q5(h+h,h-Ucalendarq6u}q7(U meta_typeq8UImageq9Uidq:U icone.pngq;u}q<(U meta_typeq=UScript (Python)q>Uidq?Ugestminiq@utqAU config_htmlqB(U„¹qC(hU PythonScriptqDtqEtqFQUnew_htmlqG(U„ºqH(hU PythonScriptqItqJtqKQU descriptionqL(UÜLe module calendrier permet d'informer indépendament vos différents groupes d'utilisateurs (visiteurs, membres, département marketing ou commercial, professeurs ou élèves, ...) d'évènements ou d'actions à venir ou passé.qMUESeul les personnes autorisés pourront publier de nouveaux évènements.qNU%Vu possible: Journaliére ou MensuelleqOUUUUUtqPU certifdevqQUnonqRU moderateurqSU xav@1et0.orgqTUdevqUU90%qVUgestminiqW(U„»qX(hU PythonScriptqYtqZtq[QU _propertiesq\(}q](Utypeq^Ustringq_Uidq`UtitleqaUmodeqbUwu}qc(UtypeqdUstringqeUidqfU experimentalqgu}qh(UtypeqiUintqjh-Unoteqku}ql(hiUstringqmh-Uskinqnu}qo(UtypeqpUstringqqUidqrhu}qs(hphqhrhUu}qt(hphqhrhQu}qu(hphqhrhu}qv(hphqhrhSu}qw(UtypeqxUlinesqyUidqzhLutq{U icone.pngq|(U„¼q}(U OFS.Imageq~UImageqtq€tqQU__ac_local_roles__q‚}qƒU experimentalq„Uu.‚ u((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uƒq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U admin_onlyq U1U descriptionq(U$selecteur associe au module produitsqU dispatches.qUU!fait pour etre place dans le skinqtqUtitleqU,selecteur de produit dispatches pour le skinqU moderateurqU xav@1et0.orgqU _propertiesq(}q(UtypeqUstringqUidqUtitleqUmodeqUwu}q(hUstringqhUskinq u}q!(Utypeq"Uintq#Uidq$Unoteq%u}q&(h"Ustringq'h$Uversionq(u}q)(h"h'h$Udevq*u}q+(h"h'h$U certifdevq,u}q-(h"h'h$U certifwebq.u}q/(h"h'h$U moderateurq0u}q1(Utypeq2Ulinesq3Uidq4U descriptionq5u}q6(Utypeq7Ustringq8Uidq9h utq:Unew_htmlq;(Uƒq<(hU PythonScriptq=tq>tq?QUdevq@U100%qAU certifdevqBUouiqCUnoteqDK UversionqEUbeta 1qFU view_htmlqG(Uƒ‘qH(hU PythonScriptqItqJtqKQUskinqLU1U_objectsqM(}qN(U meta_typeqOUImageqPUidqQU icone.pngqRu}qS(U meta_typeqTUScript (Python)qUh9U config_htmlqVu}qW(hThUh9Unew_htmlqXu}qY(hThUh9U view_htmlqZutq[hR(Uƒ’q\(U OFS.Imageq]UImageq^tq_tq`QU__ac_local_roles__qa}qbUidqcUproduits_dispatches_selectorqdu.‚ ((U OFS.FolderqUFolderqtqNt.}q(U FCKeditorq(Uƒ“q(hUFolderqtqtq QUhelpq (Uƒ”q (UOFS.DTMLDocumentq U DTMLDocumentq tqtqQU config_okq(Uƒ•q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtqtqQUskinqU1Unew_okq(Uƒ–q(hU PythonScriptqtqtqQUzwo_config_htmlq(Uƒ—q(hU PythonScriptqtqtq QUidq!Utext_fckq"U certifwebq#Uouiq$Utitleq%UTexte FCKeditorq&Unoteq'KdUversionq(U0.42q)U view_htmlq*(Uƒ˜q+(hU PythonScriptq,tq-tq.QU_objectsq/(}q0(U meta_typeq1UFolderq2h!hu}q3(h1U DTML Documentq4h!Uhelpq5u}q6(h1h4h!U ttesview_htmlq7u}q8(U meta_typeq9UScript (Python)q:Uidq;Urapidedit_htmlqUScript (Python)q?Uidq@UconnectorzwookqAu}qB(U meta_typeqCUImageqDUidqEU icone.pngqFu}qG(U meta_typeqHUScript (Python)qIUidqJU zwo_new_htmlqKu}qL(hHhIhJhu}qM(U meta_typeqNUScript (Python)qOUidqPU config_htmlqQu}qR(hNhOhPUnew_htmlqSu}qT(U meta_typeqUUScript (Python)qVUidqWhu}qX(hUhVhWU rapidedit_okqYu}qZ(hUhVhWU new_ok_etape2q[u}q\(U meta_typeq]UScript (Python)q^Uidq_hu}q`(U meta_typeqaUScript (Python)qbUidqcU zwo_view_htmlqdu}qe(hahbhcU view_htmlqfutqgU config_htmlqh(Uƒ™qi(hU PythonScriptqjtqktqlQUnew_htmlqm(Uƒšqn(hU PythonScriptqotqptqqQhY(Uƒ›qr(hU PythonScriptqstqttquQU descriptionqv(U$Editeur de texte visuel (à la Word).qwU‹Option: vous pouvez decider d'activer le rapid edit. Cette option permet la modification rapide de textes sans rentrer dans le back office qxUtqyh[(Uƒœqz(hU PythonScriptq{tq|tq}QhA(Uƒ q~(hU PythonScriptqtq€tqQUrapidedit_htmlq‚(Uƒqƒ(hU PythonScriptq„tq…tq†QU certifdevq‡UnonqˆU__ac_local_roles__q‰}qŠUolpatq‹]qŒUOwnerqash7(UƒžqŽ(h U DTMLDocumentqtqtq‘QUdevq’U50%q“U zwo_view_htmlq”(UƒŸq•(hU PythonScriptq–tq—tq˜QUzone_principaleq™U1U _propertiesqš(}q›(UtypeqœUstringqUidqžUtitleqŸUmodeq Uwdq¡u}q¢(hœUstringq£hžUskinq¤u}q¥(hœUstringq¦hžUzone_principaleq§u}q¨(hœUintq©hžUnoteqªu}q«(hœUstringq¬hžUversionq­u}q®(hœUstringq¯hžh’u}q°(hœUstringq±hžh‡u}q²(hœUstringq³hžh#u}q´(hœUstringqµhžU moderateurq¶u}q·(hœUlinesq¸hžU descriptionq¹utqºU icone.pngq»(Uƒ¡q¼(U OFS.Imageq½UImageq¾tq¿tqÀQh¶Upatrick@stilagence.chqÁU zwo_new_htmlqÂ(Uƒ¢qÃ(hU PythonScriptqÄtqÅtqÆQu.‚²((U OFS.FolderqUFolderqtqNt.}q(U inscriptionq(Uƒ£q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uƒ¤q (hU PythonScriptq tqtqQUskinqU1Uimagesq(Uƒ¥q(hUFolderqtqtqQUidqU login_managerqU __ac_roles__q(UManagerqUOwnerqU AnonymousqU AuthenticatedqtqUinscription_okq(Uƒ¦q(hU PythonScriptq tq!tq"QU certifwebq#Unonq$Utitleq%U Login Managerq&Unoteq'K(Uversionq(U1.6q)U view_htmlq*(Uƒ§q+(hU PythonScriptq,tq-tq.QU_objectsq/(}q0(U meta_typeq1UScript (Python)q2hUnew_htmlq3u}q4(h1h2hU config_htmlq5u}q6(U meta_typeq7UScript (Python)q8Uidq9U config_okq:u}q;(U meta_typeqU inscriptionq?u}q@(U meta_typeqAUScript (Python)qBUidqCU activationqDu}qE(hAhBhCUinscription_okqFu}qG(U meta_typeqHUScript (Python)qIUidqJU view_htmlqKu}qL(U meta_typeqMUFolderqNUidqOUimagesqPu}qQ(U meta_typeqRUScript (Python)qSUidqTU sendlogpassqUu}qV(U meta_typeqWUScript (Python)qXUidqYU oublilogpassqZu}q[(U meta_typeq\UImageq]Uidq^U icone.pngq_utq`h5(Uƒ¨qa(hU PythonScriptqbtqctqdQh3(Uƒ©qe(hU PythonScriptqftqgtqhQU descriptionqi(T Permet à l'administrateur du système et aux membres autorisés de se logger. Un formulaire d'inscription y est inclu afin de faciliter l'adhésion de nouveaux membres. Ce module est configurable. On peut choisir le nombre max de caractères pour le login et surtout on peut dorénavant modérer les inscriptions, ou n'autoriser que celles dont l'e-mail appartient à des domaines prédéfinis... Un même email ne peut être utilisé que par un user. Un nouveau formulaire de rappel du login et de régénération du password est inclus.qjUtqkhZ(Uƒªql(hU PythonScriptqmtqntqoQU activationqp(Uƒ«qq(hU PythonScriptqrtqstqtQU certifdevquUnonqvU__ac_local_roles__qw}qxUdevqyU80%qzhU(Uƒ¬q{(hU PythonScriptq|tq}tq~QU _propertiesq(}q€(UtypeqUstringq‚UidqƒUtitleq„Umodeq…Uwu}q†(hUstringq‡hƒUskinqˆu}q‰(UtypeqŠUintq‹UidqŒh'u}q(hŠUstringqŽhŒh(u}q(hŠhŽhŒhyu}q(hŠhŽhŒhuu}q‘(hŠhŽhŒh#u}q’(hŠhŽhŒU moderateurq“u}q”(Utypeq•Ulinesq–Uidq—hiutq˜U icone.pngq™(Uƒ­qš(U OFS.Imageq›UImageqœtqtqžQh“U claude.clerc@ac-aix-marseille.frqŸu.‚ Q((U OFS.FolderqUFolderqtqNt.}q(Uview_PMq(Uƒ·q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUmsg_luq (UƒÃq (hU PythonScriptq tqtqQU config_okq(Uƒ¹q(hU PythonScriptqtqtqQUskinqU1Uimagesq(Uƒºq(hUFolderqtqtqQUnew_okq(Uƒ»q(hU PythonScriptqtqtqQUidq U directfriendsq!U add_dossierq"(Uƒ¼q#(hU PythonScriptq$tq%tq&QU certifwebq'Unonq(Udeplacer_msg_okq)(Uƒ½q*(hU PythonScriptq+tq,tq-QUeffacerq.(Uƒ¾q/(hU PythonScriptq0tq1tq2QU eff_dossierq3(Uƒ¿q4(hU PythonScriptq5tq6tq7QUnoteq8KUdel_and_repondreq9(UƒÀq:(hU PythonScriptq;tqU1.6q?U view_htmlq@(UƒÁqA(hU PythonScriptqBtqCtqDQUadmin_dossiersqE(UƒÂqF(hU PythonScriptqGtqHtqIQU_objectsqJ(}qK(U meta_typeqLUScript (Python)qMUidqNUnew_htmlqOu}qP(U meta_typeqQUScript (Python)qRUidqSUnew_okqTu}qU(U meta_typeqVUScript (Python)qWUidqXU config_htmlqYu}qZ(hVhWhXU config_okq[u}q\(U meta_typeq]UScript (Python)q^Uidq_Uconf_friends_listq`u}qa(U meta_typeqbUScript (Python)qcUidqdUdel_userqeu}qf(U meta_typeqgUScript (Python)qhUidqiUadd_userqju}qk(U meta_typeqlUFolderqmUidqnUimagesqou}qp(U meta_typeqqUScript (Python)qrUidqsUsend_PMqtu}qu(hqhrhsU send_PM_okqvu}qw(U meta_typeqxUScript (Python)qyUidqzUokq{u}q|(U meta_typeq}UScript (Python)q~Uidqhu}q€(h}h~hh.u}q(h}h~hh u}q‚(U meta_typeqƒUScript (Python)q„Uidq…Urepondreq†u}q‡(U meta_typeqˆUScript (Python)q‰UidqŠhEu}q‹(U meta_typeqŒUScript (Python)qUidqŽU add_dossierqu}q(hŒhhŽh3u}q‘(hŒhhŽUeff_dossier_confirmq’u}q“(U meta_typeq”UScript (Python)q•Uidq–U deplacer_msgq—u}q˜(h”h•h–h)u}q™(U meta_typeqšUScript (Python)q›Uidqœh9u}q(U meta_typeqžUScript (Python)qŸUidq U view_htmlq¡u}q¢(U meta_typeq£UScript (Python)q¤Uidq¥U signaleurq¦u}q§(U meta_typeq¨UScript (Python)q©UidqªU send_PM_inq«u}q¬(U meta_typeq­UImageq®Uidq¯U icone.pngq°utq±U config_htmlq²(Uƒ¸q³(hU PythonScriptq´tqµtq¶QUnew_htmlq·(UƒÄq¸(hU PythonScriptq¹tqºtq»QU descriptionq¼(UîCe module permet aux membres connectés de pouvoir être identifier comme "en ligne" par les autres membres. Il est également possible d'envoyer des messages (du type Post Message) afin de communiquer directement via l'interface du système.q½UUUUtq¾h`(UƒÅq¿(hU PythonScriptqÀtqÁtqÂQUsend_PMqÃ(UƒÆqÄ(hU PythonScriptqÅtqÆtqÇQhj(UƒÇqÈ(hU PythonScriptqÉtqÊtqËQh’(UƒÏqÌ(hU PythonScriptqÍtqÎtqÏQU send_PM_inqÐ(UƒÉqÑ(hU PythonScriptqÒtqÓtqÔQU certifdevqÕUnonqÖh†(UƒÊq×(hU PythonScriptqØtqÙtqÚQUokqÛ(UƒËqÜ(hU PythonScriptqÝtqÞtqßQU__ac_local_roles__qà}qáUtitleqâUMessages PersonnelsqãUdevqäU90%qåh—(UƒÌqæ(hU PythonScriptqçtqètqéQhe(UƒÍqê(hU PythonScriptqëtqìtqíQhv(UƒÎqî(hU PythonScriptqïtqðtqñQU _propertiesqò(}qó(UtypeqôUstringqõUidqöUtitleq÷UmodeqøUwu}qù(UtypeqúUstringqûUidqühu}qý(UtypeqþUstringqÿUidrU experimentalru}r(UtyperUintrUidrh8u}r(jUstringrjh>u}r(jjjhäu}r (jjjhÕu}r (jjjh'u}r (jjjU moderateurr u}r (UtyperUlinesrUidrh¼utrh¦(UƒÈr(hU PythonScriptrtrtrQU icone.pngr(UƒÐr(U OFS.ImagerUImagertrtrQj Upatrick@stilagence.chrU experimentalrU1u.‚((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(UƒÑq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U descriptionq )UtitleqU Logs crawlerqU__ac_local_roles__q}qUnew_okq(UƒÕq(hU PythonScriptqtqtqQUnew_htmlq(UƒÒq(hU PythonScriptqtqtqQUdevqU60%qUidqU logs_crawlerqUnoteq K#Uversionq!U0.3q"U view_htmlq#(UƒÓq$(hU PythonScriptq%tq&tq'QUzone_principaleq(U1U config_okq)(UƒÔq*(hU PythonScriptq+tq,tq-QU _propertiesq.(}q/(Utypeq0Ustringq1Uidq2Utitleq3Umodeq4Uwu}q5(Utypeq6Ustringq7Uidq8U experimentalq9u}q:(Utypeq;Uintqu}q?(h;Ustringq@h=UversionqAu}qB(h;h@h=UdevqCu}qD(h;h@h=U certifdevqEu}qF(h;h@h=U certifwebqGu}qH(h;h@h=U moderateurqIu}qJ(UtypeqKUlinesqLUidqMU descriptionqNu}qO(UtypeqPUstringqQUidqRh(utqSU_objectsqT(}qU(U meta_typeqVUScript (Python)qWUidqXUnew_htmlqYu}qZ(U meta_typeq[UScript (Python)q\Uidq]Unew_okq^u}q_(U meta_typeq`UScript (Python)qaUidqbU config_htmlqcu}qd(h`hahbU config_okqeu}qf(U meta_typeqgUScript (Python)qhUidqiU view_htmlqju}qk(U meta_typeqlUImageqmUidqnU icone.pngqoutqpU icone.pngqq(UƒÖqr(U OFS.ImageqsUImageqttqutqvQU moderateurqwUsantiago@emencia.comqxU certifdevqyUnonqzU experimentalq{Uu.‚Q((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(Uƒ×q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_htmlq (UƒØq (hU PythonScriptq tqtqQU descriptionq(UInsérez un trait pour souligner ou différencier des éléments d'une page. Vous pouvez choisir la taille, la couleur et le positionnement du traitqUUtqUtitleqUTraitqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okqu}q (U meta_typeq!UScript (Python)q"Uidq#U config_htmlq$u}q%(h!h"h#U config_okq&u}q'(U meta_typeq(UScript (Python)q)Uidq*U view_htmlq+u}q,(U meta_typeq-UImageq.Uidq/U icone.pngq0utq1U certifwebq2Unonq3Udevq4U90%q5U certifdevq6Unonq7Unoteq8K:Uversionq9U0.2q:U view_htmlq;(UƒÚq<(hU PythonScriptq=tq>tq?QUzone_principaleq@U1U config_okqA(UƒÛqB(hU PythonScriptqCtqDtqEQU _propertiesqF(}qG(UtypeqHUstringqIUidqJUtitleqKUmodeqLUwu}qM(UtypeqNUstringqOUidqPU experimentalqQu}qR(UtypeqSUintqTUidqUh8u}qV(hSUstringqWhUh9u}qX(hShWhUh4u}qY(hShWhUh6u}qZ(hShWhUh2u}q[(hShWhUU moderateurq\u}q](Utypeq^Ulinesq_Uidq`hu}qa(UtypeqbUstringqcUidqdh@utqeUnew_okqf(UƒÙqg(hU PythonScriptqhtqitqjQU icone.pngqk(UƒÜql(U OFS.ImageqmUImageqntqotqpQU__ac_local_roles__qq}qrh\Usantiago@emencia.comqsUidqtUtraitquU experimentalqvUu.‚ ¸((U OFS.FolderqUFolderqtqNt.}q(Uno_post_anonymeq(UƒÝq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU edit_messageq (UƒÞq (hU PythonScriptq tqtqQUhelpq(Uƒßq(hU PythonScriptqtqtqQU all_statsq(Uƒàq(hU PythonScriptqtqtqQUadd_thread_processq(Uƒáq(hU PythonScriptqtqtqQU config_okq(Uƒâq (hU PythonScriptq!tq"tq#QUimagesq$(Uƒãq%(hUFolderq&tq'tq(QUnew_okq)(Uƒäq*(hU PythonScriptq+tq,tq-QUidq.Ufaqq/Uedit_msg_processq0(Uƒåq1(hU PythonScriptq2tq3tq4QU view_threadq5(Uƒæq6(hU PythonScriptq7tq8tq9QU certifwebq:Unonq;Utitleq(Uƒçq?(hU PythonScriptq@tqAtqBQU add_threadqC(UƒèqD(hU PythonScriptqEtqFtqGQUnoteqHKSUversionqIU0.9qJU view_htmlqK(UƒéqL(hU PythonScriptqMtqNtqOQU thread_statsqP(UƒêqQ(hU PythonScriptqRtqStqTQU_objectsqU(}qV(U meta_typeqWUScript (Python)qXUidqYUadd_msg_processqZu}q[(U meta_typeq\UScript (Python)q]Uidq^U all_statsq_u}q`(U meta_typeqaUScript (Python)qbUidqcU add_messageqdu}qe(hahbhcU edit_messageqfu}qg(U meta_typeqhUScript (Python)qiUidqjU add_threadqku}ql(hhhihjU del_messageqmu}qn(U meta_typeqoUScript (Python)qpUidqqh5u}qr(U meta_typeqsUScript (Python)qtUidquUdetail_all_statsqvu}qw(hshthuU thread_statsqxu}qy(U meta_typeqzUScript (Python)q{Uidq|U config_htmlq}u}q~(hzh{h|U config_okqu}q€(hzh{h|Unew_htmlqu}q‚(hzh{h|Unew_okqƒu}q„(hzh{h|U view_htmlq…u}q†(U meta_typeq‡UScript (Python)qˆUidq‰Uadd_thread_processqŠu}q‹(U meta_typeqŒUScript (Python)qUidqŽUsortqu}q(U meta_typeq‘UScript (Python)q’Uidq“hu}q”(U meta_typeq•UScript (Python)q–Uidq—U del_threadq˜u}q™(h•h–h—Udel_thread_processqšu}q›(U meta_typeqœUScript (Python)qUidqžh0u}qŸ(U meta_typeq UScript (Python)q¡Uidq¢Udel_msg_processq£u}q¤(U meta_typeq¥UFolderq¦Uidq§Uimagesq¨u}q©(U meta_typeqªUScript (Python)q«Uidq¬U format_threadq­u}q®(U meta_typeq¯UFileq°Uidq±Ufaq_cssq²u}q³(U meta_typeq´UScript (Python)qµUidq¶Uhelpq·u}q¸(U meta_typeq¹UImageqºUidq»U icone.pngq¼utq½Usortq¾(Uƒëq¿(hU PythonScriptqÀtqÁtqÂQU config_htmlqÃ(UƒìqÄ(hU PythonScriptqÅtqÆtqÇQUnew_htmlqÈ(UƒíqÉ(hU PythonScriptqÊtqËtqÌQh˜(UƒîqÍ(hU PythonScriptqÎtqÏtqÐQU descriptionqÑ(UFrequently asked questionsqÒUFoire aux QuestionsqÓtqÔh²(UƒïqÕ(U OFS.ImageqÖUFileq×tqØtqÙQh£(UƒðqÚ(hU PythonScriptqÛtqÜtqÝQhš(UƒñqÞ(hU PythonScriptqßtqàtqáQh­(Uƒòqâ(hU PythonScriptqãtqätqåQU certifdevqæUnonqçhv(Uƒóqè(hU PythonScriptqétqêtqëQU moderateurqìUdkuhlman@rexx.comqíUdevqîU85%qïUzone_principaleqðU1hZ(Uƒôqñ(hU PythonScriptqòtqótqôQU _propertiesqõ(}qö(Utypeq÷Ustringqøh|UtitleqùUmodeqúUwu}qû(UtypeqüUstringqýUidqþU experimentalqÿu}r(UtyperUintrUidrhHu}r(jUstringrjhIu}r(jjjhîu}r(jjjhæu}r(jjjh:u}r (jjjhìu}r (Utyper Ulinesr Uidr hÑu}r(UtyperUstringrUidrhðutrU del_messager(Uƒõr(hU PythonScriptrtrtrQh¼(Uƒör(hÖUImagertrtrQU__ac_local_roles__r}rU experimentalrUu.‚-((U OFS.FolderqUFolderqtqNt.}q(Ueeq(Uƒ÷q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uƒøq (hU PythonScriptq tqtqQUskinqU1Uimagesq(Uƒùq(hUFolderqtqtqQUnew_okq(Uƒúq(hU PythonScriptqtqtqQUidqUbrowsing_modesqUtprintq(Uƒûq(hU PythonScriptqtq tq!QU certifwebq"Unonq#Utitleq$U Browsing modeq%Unoteq&K2Uversionq'U0.9q(U view_htmlq)(Uƒüq*(hU PythonScriptq+tq,tq-QU_objectsq.(}q/(U meta_typeq0UScript (Python)q1Uidq2Unew_htmlq3u}q4(U meta_typeq5UScript (Python)q6Uidq7Unew_okq8u}q9(U meta_typeq:UScript (Python)q;Uidq(h:h;htq?tq@Qh9(U„qA(hU PythonScriptqBtqCtqDQh2(U„qE(hU PythonScriptqFtqGtqHQU descriptionqI(Uun document a telecharger,qJU!option rapidEdit (a la kzexptext)qKtqLh0(U„qM(hU PythonScriptqNtqOtqPQU certifdevqQUouiqRU moderateurqSUsantiago@emencia.comqTUdevqUU100%qVUzone_principaleqWU1U _propertiesqX(}qY(UtypeqZUstringq[Uidq\Utitleq]Umodeq^Uwu}q_(hZUstringq`h\Uskinqau}qb(UtypeqcUstringqdUidqeUzone_principaleqfu}qg(UtypeqhUintqiUidqjUnoteqku}ql(hhUstringqmhjUversionqnu}qo(hhhmhjUdevqpu}qq(hhhmhjU certifdevqru}qs(hhhmhjU certifwebqtu}qu(hhhmhjU moderateurqvu}qw(UtypeqxUlinesqyUidqzU descriptionq{utq|U icone.pngq}(U„q~(U OFS.ImageqUImageq€tqtq‚QU__ac_local_roles__qƒ}q„u.‚ö((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U descriptionq (UQPermet de faire apparaitre les derniers sondages dans le skin : "Sondage History"qtqUtitleqUSimplepoll for skinsqU_objectsq(}q(U meta_typeqUImageqUidqU icone.pngqu}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(hhhUnew_okqu}q(U meta_typeq UScript (Python)q!Uidq"U view_htmlq#u}q$(h h!h"U config_htmlq%u}q&(h h!h"U config_okq'utq(U _propertiesq)(}q*(Utypeq+Ustringq,Uidq-Utitleq.Umodeq/Uwu}q0(Utypeq1Ustringq2Uidq3U experimentalq4u}q5(Utypeq6Uintq7Uidq8Unoteq9u}q:(h6Ustringq;h8Uversionqu}q?(h6h;h8U certifdevq@u}qA(h6h;h8U certifwebqBu}qC(h6h;h8U moderateurqDu}qE(UtypeqFUstringqGUidqHUskinqIu}qJ(UtypeqKUlinesqLUidqMh utqNUnew_htmlqO(U„qP(hU PythonScriptqQtqRtqSQUdevqTU5%qUU certifdevqVUnonqWUnoteqXKbUversionqYU0.1qZU view_htmlq[(U„q\(hU PythonScriptq]tq^tq_Qh'(U„q`(hU PythonScriptqatqbtqcQhIU1h(U„qd(hU PythonScriptqetqftqgQh(U„qh(U OFS.ImageqiUImageqjtqktqlQU__ac_local_roles__qm}qnU moderateurqoUvincent_delft@yahoo.comqpUidqqUsimplepoll4skinqrU experimentalqsUu.‚ý((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_htmlq (U„ q (hU PythonScriptq tqtqQU descriptionq(ULe module Titre permet de choisir une taille, une police (dans la limite des polices standards sur le web :-) et une couleur pour un texte bref.qUUUUUtqUtitleqUTitreqU_objectsq(}q(U meta_typeqUScript (Python)qUidqh u}q(hhhUnew_okqu}q(hhhhu}q(hhhU config_okqu}q(U meta_typeq UScript (Python)q!Uidq"U view_htmlq#u}q$(U meta_typeq%UImageq&Uidq'U icone.pngq(utq)Uskinq*U1U certifwebq+Unonq,Udevq-U85%q.U certifdevq/Unonq0Unoteq1K;Uversionq2U0.8q3U view_htmlq4(U„ q5(hU PythonScriptq6tq7tq8QUzone_principaleq9U1h(U„ q:(hU PythonScriptq;tq(}q?(Utypeq@UstringqAh"UtitleqBUmodeqCUwu}qD(UtypeqEUstringqFUidqGU experimentalqHu}qI(UtypeqJUintqKUidqLh1u}qM(hJUstringqNhLh2u}qO(hJhNhLh-u}qP(hJhNhLh/u}qQ(hJhNhLh+u}qR(hJhNhLU moderateurqSu}qT(UtypeqUUlinesqVUidqWhu}qX(UtypeqYUstringqZUidq[h*u}q\(hYhZh[h9utq]h(U„ q^(hU PythonScriptq_tq`tqaQU icone.pngqb(U„ qc(U OFS.ImageqdUImageqetqftqgQU__ac_local_roles__qh}qihSUsantiago@emencia.comqjhUtitreqkU experimentalqlUu.›‘ª((U OFS.FolderqUFolderqtqNt.}q(Uediter_commentq(U›’q(U#Products.PythonScripts.PythonScriptqU PythonScriptqttQU config_htmlq (U›¢q (hU PythonScriptq ttQUnew_htmlq (U›£q (hU PythonScriptqttQU rss10.xmlq(U›•q(hU PythonScriptqttQUedit_okq(U›–q(hU PythonScriptqttQUimagesq(U›—q(hUFolderqttQUnew_okq(U›˜q(hU PythonScriptqttQUidqUnewsqUhelpq(U›™q(hUFolderqttQUpost_trackback2q (U›šq!(hU PythonScriptq"ttQU certifwebq#Uouiq$Utitleq%U Nouvellesq&U post_thanksq'(U››q((hU PythonScriptq)ttQUpost_comment_okq*(U›œq+(hU PythonScriptq,ttQU icone.pngq-(U›´q.(U OFS.Imageq/UImageq0ttQUnoteq1KaUpost_trackback3q2(U›žq3(hU PythonScriptq4ttQUversionq5U1.3q6U view_htmlq7(U›Ÿq8(hU PythonScriptq9ttQU rss091.xmlq:(U› q;(hU PythonScriptq(U meta_typeq?UScript (Python)q@UidqAUnew_htmlqBu}qC(U meta_typeqDUScript (Python)qEUidqFUnew_okqGu}qH(U meta_typeqIUScript (Python)qJUidqKU config_htmlqLu}qM(hIhJhKU config_okqNu}qO(U meta_typeqPUScript (Python)qQUidqRUpostqSu}qT(U meta_typeqUUScript (Python)qVUidqWUpost_okqXu}qY(U meta_typeqZUScript (Python)q[Uidq\h'u}q](U meta_typeq^UScript (Python)q_Uidq`U effacer_postqau}qb(h^h_h`U publier_postqcu}qd(h^h_h`U editer_postqeu}qf(U meta_typeqgUScript (Python)qhUidqihu}qj(U meta_typeqkUScript (Python)qlUidqmU read_newsqnu}qo(U meta_typeqpUScript (Python)qqUidqrU post_commentqsu}qt(U meta_typequUScript (Python)qvUidqwh*u}qx(huhvhwhu}qy(huhvhwUeffacer_commentqzu}q{(huhvhwUediter_comment_okq|u}q}(huhvhwUlisteq~u}q(U meta_typeq€UScript (Python)qUidq‚Urepondreqƒu}q„(U meta_typeq…UScript (Python)q†Uidq‡U repondre_okqˆu}q‰(U meta_typeqŠUScript (Python)q‹UidqŒU view_htmlqu}qŽ(U meta_typeqUScript (Python)qUidq‘Uconfirm_effacer_postq’u}q“(U meta_typeq”UImageq•Uidq–U icone.pngq—u}q˜(U meta_typeq™UScript (Python)qšUidq›h:u}qœ(h™UFolderqh›Uimagesqžu}qŸ(U meta_typeq UScript (Python)q¡Uidq¢hu}q£(U meta_typeq¤UScript (Python)q¥Uidq¦Upost_trackbackq§u}q¨(h¤h¥h¦h u}q©(h¤h¥h¦Upost_trackback3qªu}q«(h¤h¥h¦U trackbackq¬u}q­(h¤U DTML Documentq®h¦U post_styleq¯u}q°(U meta_typeq±UScript (Python)q²Uidq³Uconfirm_effacer_commentq´u}qµ(h±h²h³Uconfirm_effacer_trackbackq¶u}q·(h±h²h³Ueffacer_trackbackq¸u}q¹(h±UFolderqºh³Uhelpq»utq¼h´(U›¡q½(hU PythonScriptq¾ttQhe(U›“q¿(hU PythonScriptqÀttQhc(U›”qÁ(hU PythonScriptqÂttQh|(U›¤qÃ(hU PythonScriptqÄttQhˆ(U›²qÅ(hU PythonScriptqÆttQUrepondreqÇ(U›«qÈ(hU PythonScriptqÉttQhX(U›¦qÊ(hU PythonScriptqËttQhz(U›§qÌ(hU PythonScriptqÍttQUlisteqÎ(U›¨qÏ(hU PythonScriptqÐttQU trackbackqÑ(U›©qÒ(hU PythonScriptqÓttQUpostqÔ(U›ªqÕ(hU PythonScriptqÖttQU certifdevq×UnonqØUpost_trackbackqÙ(U›¥qÚ(hU PythonScriptqÛttQhs(U›¬qÜ(hU PythonScriptqÝttQh¶(U›­qÞ(hU PythonScriptqßttQhn(U›®qà(hU PythonScriptqáttQU moderateurqâU claude.clerc@ac-aix-marseille.frqãU config_okqä(U›¯qå(hU PythonScriptqættQU descriptionqç(U3Module liste de news avec commentaires et lien RSS.qètqéUdevqêU95%qëh¸(U›°qì(hU PythonScriptqíttQU experimentalqîUU_ownerqï(]qð(Uzwook_active_rc6_beta3qñU acl_usersqòeUadminqótqôUzone_principaleqõU1U _propertiesqö(}q÷(UtypeqøUstringqùUidqúUtitleqûUmodeqüUwu}qý(UtypeqþUstringqÿUidrU experimentalru}r(UtyperUintrUidrUnoteru}r(jUstringrjUversionr u}r (jjjUdevr u}r (jjjU certifdevr u}r(jjjU certifwebru}r(jjjU moderateurru}r(UtyperUlinesrUidrU descriptionru}r(UtyperUstringrUidrhõutrha(U›³r(hU PythonScriptrttQU post_styler(U›±r(UOFS.DTMLDocumentr U DTMLDocumentr!ttQU__ac_local_roles__r"}r#h’(U›r$(hU PythonScriptr%ttQu.‚h((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(UƒOq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U admin_onlyq U1U descriptionq(U6Affiche le contenu proposé non traité de tout le site.qUtqUtitleqUSubmited content MonitorqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okqu}q(U meta_typeqUScript (Python)q Uidq!U config_htmlq"u}q#(hh h!U config_okq$u}q%(U meta_typeq&UScript (Python)q'Uidq(U view_htmlq)u}q*(U meta_typeq+UImageq,Uidq-U icone.pngq.utq/U _propertiesq0(}q1(Utypeq2Ustringq3Uidq4Utitleq5Umodeq6Uwu}q7(Utypeq8Ustringq9Uidq:U experimentalq;u}q<(Utypeq=Uintq>Uidq?Unoteq@u}qA(h=UstringqBh?UversionqCu}qD(h=hBh?UdevqEu}qF(h=hBh?U certifdevqGu}qH(h=hBh?U certifwebqIu}qJ(h=hBh?U moderateurqKu}qL(UtypeqMUlinesqNUidqOU descriptionqPu}qQ(UtypeqRUstringqSUidqTUskinqUu}qV(hRhShTh utqWUnew_htmlqX(UƒQqY(hU PythonScriptqZtq[tq\QUdevq]U5%q^U certifdevq_Unonq`UnoteqaK"UversionqbU0.1qcU view_htmlqd(UƒRqe(hU PythonScriptqftqgtqhQU moderateurqiUsantiago@emencia.comqjU config_okqk(UƒSql(hU PythonScriptqmtqntqoQhUU1Unew_okqp(UƒPqq(hU PythonScriptqrtqstqtQU icone.pngqu(UƒTqv(U OFS.ImageqwUImageqxtqytqzQU__ac_local_roles__q{}q|Uidq}Usubmited_monitorq~U experimentalqUu.‚":((U OFS.FolderqUFolderqtqNt.}q(Uplus.gifq(U„¤q(U OFS.ImageqUImageqtq tq QU config_okq (U„¥q (U#Products.PythonScripts.PythonScriptq U PythonScriptqtqtqQUnew_okq(U„¦q(h U PythonScriptqtqtqQUidqU mp3_playlistqUplaylistq(U„§q(h U PythonScriptqtqtqQUtitleqU Mp3 playlistqU remove_itemq(U„¨q (h U PythonScriptq!tq"tq#QUnoteq$KGUversionq%U0.1q&U view_htmlq'(U„©q((h U PythonScriptq)tq*tq+QU_objectsq,(}q-(U meta_typeq.UScript (Python)q/Uidq0Unew_htmlq1u}q2(U meta_typeq3UScript (Python)q4Uidq5Unew_okq6u}q7(U meta_typeq8UScript (Python)q9Uidq:U config_htmlq;u}q<(h8h9h:U config_okq=u}q>(U meta_typeq?UScript (Python)q@UidqAU view_htmlqBu}qC(U meta_typeqDU DTML DocumentqEUidqFUfsound_readme.txtqGu}qH(U meta_typeqIUFileqJUidqKU fsound.swfqLu}qM(hIhJhKU fsound.flaqNu}qO(hIhJhKUFSoundV1.1.0_playlist.xmlqPu}qQ(hIUScript (Python)qRhKhu}qS(hIhRhKUadd_itemqTu}qU(hIhRhKU add_item_okqVu}qW(U meta_typeqXUFileqYUidqZUpop.htmq[u}q\(hXUScript (Python)q]hZhu}q^(U meta_typeq_UImageq`UidqaU icone.pngqbu}qc(U meta_typeqdUImageqeUidqfhu}qg(hdhehfUdel.gifqhutqiU config_htmlqj(U„ªqk(h U PythonScriptqltqmtqnQUnew_htmlqo(U„«qp(h U PythonScriptqqtqrtqsQU descriptionqt)UFSoundV1.1.0_playlist.xmlqu(U„´qv(hUFileqwtqxtqyQU certifwebqzUnonq{hh(U„¬q|(hUImageq}tq~tqQU fsound.swfq€(U„­q(hUFileq‚tqƒtq„QhV(U„®q…(h U PythonScriptq†tq‡tqˆQU certifdevq‰UnonqŠU fsound.flaq‹(U„¯qŒ(hUFileqtqŽtqQU__ac_local_roles__q}q‘Upop.htmq’(U„°q“(hUFileq”tq•tq–QUdevq—U5%q˜hT(U„±q™(h U PythonScriptqštq›tqœQhG(U„²q(UOFS.DTMLDocumentqžU DTMLDocumentqŸtq tq¡QUzone_principaleq¢U1U _propertiesq£(}q¤(Utypeq¥Ustringq¦Uidq§Utitleq¨Umodeq©Uwu}qª(Utypeq«Ustringq¬Uidq­U experimentalq®u}q¯(Utypeq°Uintq±Uidq²h$u}q³(h°Ustringq´h²h%u}qµ(h°h´h²h—u}q¶(h°h´h²h‰u}q·(h°h´h²hzu}q¸(h°h´h²U moderateurq¹u}qº(Utypeq»Ulinesq¼Uidq½htu}q¾(Utypeq¿UstringqÀUidqÁh¢utqÂhb(U„³qÃ(hUImageqÄtqÅtqÆQh¹Usantiago@emencia.comqÇU experimentalqÈUu.‚W((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„Kq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U descriptionq )UtitleqU SpeedblogqUpostq(U„Qq(hU PythonScriptqtqtqQU moderateurqUsantiago@emencia.comqUskinqU1Unew_okq(U„Pq(hU PythonScriptqtqtqQUnew_htmlq(U„Mq(hU PythonScriptqtq tq!QUdevq"U5%q#Uidq$U speedblogq%Unoteq&KUversionq'U0.2q(U view_htmlq)(U„Nq*(hU PythonScriptq+tq,tq-QU config_okq.(U„Oq/(hU PythonScriptq0tq1tq2QU _propertiesq3(}q4(Utypeq5Ustringq6Uidq7Utitleq8Umodeq9Uwu}q:(Utypeq;Ustringqu}q?(Utypeq@UintqAUidqBUnoteqCu}qD(h@UstringqEhBUversionqFu}qG(h@hEhBUdevqHu}qI(h@hEhBU certifdevqJu}qK(h@hEhBU certifwebqLu}qM(h@hEhBU moderateurqNu}qO(UtypeqPUlinesqQUidqRU descriptionqSu}qT(UtypeqUUstringqVUidqWhutqXU_objectsqY(}qZ(U meta_typeq[UScript (Python)q\Uidq]Unew_htmlq^u}q_(U meta_typeq`UScript (Python)qaUidqbUnew_okqcu}qd(U meta_typeqeUScript (Python)qfUidqgU config_htmlqhu}qi(hehfhgU config_okqju}qk(U meta_typeqlUScript (Python)qmUidqnU view_htmlqou}qp(U meta_typeqqUScript (Python)qrUidqsUpostqtu}qu(U meta_typeqvUImageqwUidqxU icone.pngqyutqzU icone.pngq{(U„Lq|(U OFS.Imageq}UImageq~tqtq€QU__ac_local_roles__q}q‚U certifdevqƒUnonq„U experimentalq…Uu.‚Š((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„Rq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_htmlq (U„Sq (hU PythonScriptq tqtqQU descriptionq(U Compte chaque visite d'une page.qUZA chaque fois que la page qui contient ce module s'affiche, un compteur s'incrémente de 1.qUtqUtitleqUCompteur de hitsqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okq u}q!(U meta_typeq"UScript (Python)q#Uidq$U config_htmlq%u}q&(h"h#h$U config_okq'u}q((U meta_typeq)UScript (Python)q*Uidq+U view_htmlq,u}q-(U meta_typeq.UImageq/Uidq0U icone.pngq1utq2U certifwebq3Unonq4Udevq5U70%q6U certifdevq7Unonq8Unoteq9K!Uversionq:U0.3.1q;U view_htmlq<(U„Uq=(hU PythonScriptq>tq?tq@QUzone_principaleqAU1U config_okqB(U„VqC(hU PythonScriptqDtqEtqFQU _propertiesqG(}qH(UtypeqIUstringqJUidqKUtitleqLUmodeqMUwu}qN(UtypeqOUstringqPUidqQU experimentalqRu}qS(UtypeqTUintqUUidqVUnoteqWu}qX(hTUstringqYhVUversionqZu}q[(hThYhVUdevq\u}q](hThYhVU certifdevq^u}q_(hThYhVU certifwebq`u}qa(hThYhVU moderateurqbu}qc(UtypeqdUlinesqeUidqfU descriptionqgu}qh(UtypeqiUstringqjUidqkhAutqlUnew_okqm(U„Tqn(hU PythonScriptqotqptqqQU icone.pngqr(U„Wqs(U OFS.ImageqtUImagequtqvtqwQU__ac_local_roles__qx}qyU moderateurqzUzwook@matisson.comq{Uidq|Uhitsq}U experimentalq~Uu.‚É((U OFS.FolderqUFolderqtqNt.}q(U publipostageq(U„Xq(U&Products.ExternalMethod.ExternalMethodqUExternalMethodqtq tq QU config_okq (U„Yq (U#Products.PythonScripts.PythonScriptq U PythonScriptqtqtqQUnew_okq(U„Zq(h U PythonScriptqtqtqQUidqU newsletterqU certifwebqUnonqUtitleqU%gestion et affichage de la newsletterqUnoteqKUversionqU0.1qU view_htmlq(U„[q (h U PythonScriptq!tq"tq#QU_objectsq$(}q%(U meta_typeq&UScript (Python)q'Uidq(U config_htmlq)u}q*(h&h'h(U config_okq+u}q,(h&UImageq-h(U icone.pngq.u}q/(h&h'h(Unew_htmlq0u}q1(h&h'h(Unew_okq2u}q3(h&h'h(Upost_okq4u}q5(h&h'h(U view_htmlq6u}q7(U meta_typeq8UScript (Python)q9Uidq:U view_ok_oldq;u}q<(U meta_typeq=UScript (Python)q>Uidq?Uconfig_selected_htmlq@u}qA(U meta_typeqBUExternal MethodqCUidqDU publipostageqEutqFh@(U„\qG(h U PythonScriptqHtqItqJQU config_htmlqK(U„]qL(h U PythonScriptqMtqNtqOQUnew_htmlqP(U„^qQ(h U PythonScriptqRtqStqTQU admin_onlyqUU1U descriptionqV(U}module radapte pour cafe psycho, e facon a ce que l'envoi d'une letter soit accessible a partir du front (i.e. du view_html).qWUUqpermet la saisie des adresse mail, la confirmation d'inscription, la desinscription, et l'envoi de la news letterqXUUMANQUE :qYU9le nettoyage des confirmation en attentes n'est pas fait.qZtq[h4(U„_q\(h U PythonScriptq]tq^tq_QU certifdevq`Unonqah;(U„`qb(h U PythonScriptqctqdtqeQU moderateurqfUsantiago@emencia.comqgUdevqhUen coursqiUzone_principaleqjU1U _propertiesqk(}ql(UtypeqmUstringqnUidqoUtitleqpUmodeqqUwu}qr(UtypeqsUstringqtUidquU experimentalqvu}qw(UtypeqxUintqyUidqzUnoteq{u}q|(hxUstringq}hzUversionq~u}q(hxh}hzUdevq€u}q(hxh}hzU certifdevq‚u}qƒ(hxh}hzU certifwebq„u}q…(hxh}hzU moderateurq†u}q‡(UtypeqˆUlinesq‰UidqŠU descriptionq‹u}qŒ(UtypeqUstringqŽUidqhUu}q(Utypeq‘Ustringq’Uidq“hjutq”h.(U„aq•(U OFS.Imageq–UImageq—tq˜tq™QU__ac_local_roles__qš}q›U experimentalqœUu.‚ 5((U OFS.FolderqUFolderqtqNt.}q(Uno_post_anonymeq(U„bq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU edit_messageq (U„cq (hU PythonScriptq tqtqQU all_statsq(U„dq(hU PythonScriptqtqtqQUadd_thread_processq(U„eq(hU PythonScriptqtqtqQU config_okq(U„fq(hU PythonScriptqtqtqQUimagesq(U„gq (hUFolderq!tq"tq#QUnew_okq$(U„hq%(hU PythonScriptq&tq'tq(QUidq)Uforumq*Uedit_msg_processq+(U„iq,(hU PythonScriptq-tq.tq/QU view_threadq0(U„jq1(hU PythonScriptq2tq3tq4QU certifwebq5Uouiq6Utitleq7UForum de discussionq8U add_messageq9(U„kq:(hU PythonScriptq;tq(U„lq?(hU PythonScriptq@tqAtqBQUnoteqCKSUversionqDU0.96qEU view_htmlqF(U„mqG(hU PythonScriptqHtqItqJQU thread_statsqK(U„nqL(hU PythonScriptqMtqNtqOQU_objectsqP(}qQ(U meta_typeqRUScript (Python)qSUidqTUadd_msg_processqUu}qV(U meta_typeqWUScript (Python)qXUidqYU all_statsqZu}q[(U meta_typeq\UScript (Python)q]Uidq^U add_messageq_u}q`(h\h]h^U edit_messageqau}qb(U meta_typeqcUScript (Python)qdUidqeU add_threadqfu}qg(hchdheU del_messageqhu}qi(U meta_typeqjUScript (Python)qkUidqlh0u}qm(U meta_typeqnUScript (Python)qoUidqpUdetail_all_statsqqu}qr(hnhohpU thread_statsqsu}qt(U meta_typequUScript (Python)qvUidqwU config_htmlqxu}qy(huhvhwU config_okqzu}q{(huhvhwUnew_htmlq|u}q}(huhvhwUnew_okq~u}q(huhvhwU view_htmlq€u}q(U meta_typeq‚UScript (Python)qƒUidq„Uadd_thread_processq…u}q†(U meta_typeq‡UScript (Python)qˆUidq‰UsortqŠu}q‹(U meta_typeqŒUScript (Python)qUidqŽhu}q(U meta_typeqUScript (Python)q‘Uidq’U del_threadq“u}q”(hh‘h’Udel_thread_processq•u}q–(U meta_typeq—UScript (Python)q˜Uidq™h+u}qš(U meta_typeq›UScript (Python)qœUidqUdel_msg_processqžu}qŸ(U meta_typeq UImageq¡Uidq¢U icone.pngq£u}q¤(h UFolderq¥h¢Uimagesq¦utq§Usortq¨(U„oq©(hU PythonScriptqªtq«tq¬QU config_htmlq­(U„pq®(hU PythonScriptq¯tq°tq±QUnew_htmlq²(U„qq³(hU PythonScriptq´tqµtq¶Qh“(U„rq·(hU PythonScriptq¸tq¹tqºQU descriptionq»(UALe forum sert a poster des messages dans des fils de discussions.q¼UUtq½hž(U„sq¾(hU PythonScriptq¿tqÀtqÁQh•(U„tqÂ(hU PythonScriptqÃtqÄtqÅQU certifdevqÆUnonqÇhq(U„uqÈ(hU PythonScriptqÉtqÊtqËQU moderateurqÌUclaude.clerc@lenautilux.netqÍUdevqÎU96%qÏUzone_principaleqÐU1hU(U„vqÑ(hU PythonScriptqÒtqÓtqÔQU _propertiesqÕ(}qÖ(Utypeq×UstringqØhwUtitleqÙUmodeqÚUwu}qÛ(h×UstringqÜhwUzone_principaleqÝu}qÞ(UtypeqßUstringqàUidqáU experimentalqâu}qã(UtypeqäUintqåUidqæhCu}qç(häUstringqèhæhDu}qé(hähèhæhÎu}qê(hähèhæhÆu}që(hähèhæh5u}qì(hähèhæhÌu}qí(UtypeqîUlinesqïUidqðh»utqñU del_messageqò(U„wqó(hU PythonScriptqôtqõtqöQU icone.pngq÷(U„xqø(U OFS.ImageqùUImageqútqûtqüQU__ac_local_roles__qý}qþU experimentalqÿUu.‚Ò((U OFS.FolderqUFolderqtqNt.}q(Usupprime_evenementq(U„yq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUaffichage_moisq (U„zq (hU PythonScriptq tqtqQU index_htmlq(U„{q(hU PythonScriptqtqtqQUidqU calendrierqUmodifier_evenementq(U„|q(hU PythonScriptqtqtqQU certifwebqUnonqUtitleqU CalendrierqUedit_evenementq (U„}q!(hU PythonScriptq"tq#tq$QUnoteq%JÿÿÿÿUversionq&U0.1q'U_objectsq((}q)(U meta_typeq*UScript (Python)q+Uidq,h u}q-(U meta_typeq.UScript (Python)q/Uidq0Ucreer_evenementq1u}q2(U meta_typeq3UScript (Python)q4Uidq5Uview_evenementq6u}q7(h3h4h5hu}q8(U meta_typeq9UScript (Python)q:Uidq;h u}q<(U meta_typeq=UScript (Python)q>Uidq?hu}q@(U meta_typeqAUScript (Python)qBUidqCUnew_htmlqDu}qE(U meta_typeqFUScript (Python)qGUidqHU index_htmlqIu}qJ(U meta_typeqKUScript (Python)qLUidqMU new_eventqNu}qO(hKhLhMU view_newsqPu}qQ(hKhLhMU edit_eventqRu}qS(U meta_typeqTUScript (Python)qUUidqVU new_evenementqWu}qX(U meta_typeqYUFolderqZUidq[Utousq\u}q](U meta_typeq^UImageq_Uidq`U icone.pngqautqbUnew_htmlqc(U„~qd(hU PythonScriptqetqftqgQU edit_eventqh(U„qi(hU PythonScriptqjtqktqlQU descriptionqm(U¡Ce module ne doit pas être utilisé pour creer un element. Il contient juste des scripts necessaires a d'autres modules et il est installer de base dans le zwook.qnUtqoh1(U„€qp(hU PythonScriptqqtqrtqsQU new_evenementqt(U„„qu(hU PythonScriptqvtqwtqxQU new_eventqy(U„qz(hU PythonScriptq{tq|tq}Qh6(U„‚q~(hU PythonScriptqtq€tqQU certifdevq‚UnonqƒU moderateurq„Uaucunq…Udevq†U80%q‡Utousqˆ(U„ƒq‰(hUFolderqŠtq‹tqŒQU _propertiesq(}qŽ(UtypeqUstringqUidq‘Utitleq’Umodeq“Uwu}q”(hUintq•h‘h%u}q–(hhh‘h&u}q—(hhh‘h†u}q˜(hhh‘h‚u}q™(hhh‘hu}qš(hhh‘h„u}q›(UtypeqœUlinesqUidqžhmutqŸU icone.pngq (U„…q¡(U OFS.Imageq¢UImageq£tq¤tq¥QU__ac_local_roles__q¦}q§U view_newsq¨(U„†q©(hU PythonScriptqªtq«tq¬Qu.‚ ((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„‡q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Uouiq U descriptionq (U9La locate bar affiche le chemin depuis la racine du site.qUUtqUtitleqU LocatebarqU moderateurqUsantiago@emencia.comqU _propertiesq(}q(UtypeqUstringqUidqUtitleqUmodeqUwu}q(UtypeqUstringqUidqU experimentalqu}q (Utypeq!Uintq"Uidq#Unoteq$u}q%(h!Ustringq&h#Uversionq'u}q((h!h&h#Udevq)u}q*(h!h&h#U certifdevq+u}q,(h!h&h#h u}q-(h!h&h#hu}q.(h!h&h#Uskinq/u}q0(Utypeq1Ulinesq2Uidq3h utq4Unew_htmlq5(U„‰q6(hU PythonScriptq7tq8tq9Qh)U80%q:h+Unonq;h$K3U_objectsq<(}q=(U meta_typeq>UScript (Python)q?Uidq@h5u}qA(h>h?h@Unew_okqBu}qC(U meta_typeqDUScript (Python)qEhU view_htmlqFu}qG(U meta_typeqHUScript (Python)qIUidqJU config_htmlqKu}qL(hHhIhJU config_okqMu}qN(U meta_typeqOU DTML DocumentqPUidqQU default_cssqRu}qS(U meta_typeqTUImageqUUidqVU icone.pngqWutqXh'U0.9qYU view_htmlqZ(U„Šq[(hU PythonScriptq\tq]tq^QU config_okq_(U„‹q`(hU PythonScriptqatqbtqcQh/U1hR(U„qd(UOFS.DTMLDocumentqeU DTMLDocumentqftqgtqhQhB(U„ˆqi(hU PythonScriptqjtqktqlQU icone.pngqm(U„Œqn(U OFS.ImageqoUImageqptqqtqrQU__ac_local_roles__qs}qth@U locatebarquU experimentalqvUu.‚(((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„Ýq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_htmlq (U„Þq (hU PythonScriptq tqtqQU moderateurqUaucunqU descriptionq(UtqUtitleqU^Base de code pour module : copier-coller ce dossier et le renomer pour faire un nouveau moduleqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okq u}q!(U meta_typeq"UScript (Python)q#Uidq$U config_htmlq%u}q&(h"h#h$U config_okq'u}q((U meta_typeq)UScript (Python)q*Uidq+U view_htmlq,u}q-(U meta_typeq.UImageq/Uidq0U icone.pngq1utq2U certifwebq3Unonq4Udevq5U5%q6Uidq7Uexample_moduleq8Unoteq9JÿÿÿÿUversionq:U0.1q;U view_htmlq<(U„àq=(hU PythonScriptq>tq?tq@QU config_okqA(U„áqB(hU PythonScriptqCtqDtqEQU _propertiesqF(}qG(UtypeqHUstringqIUidqJUtitleqKUmodeqLUwu}qM(UtypeqNUstringqOUidqPU experimentalqQu}qR(UtypeqSUintqTUidqUUnoteqVu}qW(hSUstringqXhUUversionqYu}qZ(hShXhUUdevq[u}q\(hShXhUU certifdevq]u}q^(hShXhUU certifwebq_u}q`(hShXhUU moderateurqau}qb(UtypeqcUlinesqdUidqeU descriptionqfutqgUnew_okqh(U„ßqi(hU PythonScriptqjtqktqlQh1(U„âqm(U OFS.ImageqnUImageqotqptqqQU__ac_local_roles__qr}qsU certifdevqtUnonquU experimentalqvUu.‚ u((U OFS.FolderqUFolderqtqNt.}q(U addchampsq(Uƒzq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU config_okq (Uƒ{q (hU PythonScriptq tqtqQUnew_okq(Uƒ|q(hU PythonScriptqtqtqQUidqUcontactqU certifwebqUnonqU deliochampsq(Uƒ}q(hU PythonScriptqtqtqQUtitleqUFormulaire de contactqU new_verifq (Uƒ~q!(hU PythonScriptq"tq#tq$QU config_verifq%(Uƒq&(hU PythonScriptq'tq(tq)QU modifchampsq*(Uƒ€q+(hU PythonScriptq,tq-tq.QUnoteq/KUversionq0U1.1q1U view_htmlq2(Uƒq3(hU PythonScriptq4tq5tq6QU_objectsq7(}q8(U meta_typeq9UScript (Python)q:hUnew_htmlq;u}q<(h9h:hUnew_okq=u}q>(h9h:hU config_htmlq?u}q@(h9h:hU config_okqAu}qB(h9h:hU view_htmlqCu}qD(h9h:hUmail_okqEu}qF(h9h:hU send_mailqGu}qH(h9h:hU addchampsqIu}qJ(h9h:hU option_htmlqKu}qL(h9h:hU delchampsqMu}qN(h9h:hU erachampsqOu}qP(h9h:hU option_okqQu}qR(h9h:hU config_verifqSu}qT(h9h:hU new_verifqUu}qV(h9h:hU modifchampsqWu}qX(h9h:hU option_modifqYu}qZ(h9h:hU validchampsq[u}q\(h9h:hU addiochampsq]u}q^(h9h:hU deliochampsq_u}q`(U meta_typeqaUImageqbUidqcU icone.pngqdu}qe(U meta_typeqfUScript (Python)qgUidqhUwarningmessageqiutqjU validchampsqk(Uƒ‚ql(hU PythonScriptqmtqntqoQU option_htmlqp(Uƒƒqq(hU PythonScriptqrtqstqtQU config_htmlqu(Uƒ„qv(hU PythonScriptqwtqxtqyQUnew_htmlqz(Uƒ…q{(hU PythonScriptq|tq}tq~QU admin_onlyqU1U descriptionq€)hi(Uƒ†q(hU PythonScriptq‚tqƒtq„QU__ac_local_roles__q…}q†U certifdevq‡UnonqˆU addiochampsq‰(Uƒ‡qŠ(hU PythonScriptq‹tqŒtqQU option_okqŽ(Uƒˆq(hU PythonScriptqtq‘tq’QUmail_okq“(Uƒ‰q”(hU PythonScriptq•tq–tq—QU delchampsq˜(UƒŠq™(hU PythonScriptqštq›tqœQU option_modifq(Uƒ‹qž(hU PythonScriptqŸtq tq¡QUdevq¢U100%q£Uzone_principaleq¤U1U _propertiesq¥(}q¦(Utypeq§Ustringq¨hhUmodeq©Uwu}qª(h§Ustringq«hU experimentalq¬u}q­(h§Ustringq®hUzone_principaleq¯u}q°(h§Uintq±hUnoteq²u}q³(h§Ustringq´hUversionqµu}q¶(h§Ustringq·hUdevq¸u}q¹(h§UstringqºhU certifdevq»u}q¼(h§Ustringq½hU certifwebq¾u}q¿(h§UstringqÀhU moderateurqÁu}qÂ(h§UlinesqÃhU descriptionqÄu}qÅ(UtypeqÆUstringqÇUidqÈhutqÉhd(UƒŒqÊ(U OFS.ImageqËUImageqÌtqÍtqÎQU moderateurqÏUsantiago@emencia.comqÐU send_mailqÑ(UƒqÒ(hU PythonScriptqÓtqÔtqÕQU experimentalqÖUU erachampsq×(UƒŽqØ(hU PythonScriptqÙtqÚtqÛQu.‚$.((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„½q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU certifwebq Unonq U moderateurq U xav@1et0.orgqU descriptionq(U¾Ce petit module est complémentaire au module "mini calendrier". Il permet aux utilisateurs (selon leurs droits) de visualiser le récapitulatif des évènements ou de leurs taches de la journéeqUU' évènements qu'ils leurs est destinées.qUUUUtqUtitleqUMes evenementsqU_objectsq(}q(U meta_typeqUScript (Python)qUidqU view_htmlqu}q(U meta_typeqUScript (Python)qUidqU config_htmlqu}q (hhhUnew_htmlq!u}q"(hhhUnew_okq#u}q$(U meta_typeq%UImageq&Uidq'U icone.pngq(utq)U _propertiesq*(}q+(Utypeq,Ustringq-Uidq.Utitleq/Umodeq0Uwu}q1(Utypeq2Ustringq3Uidq4U experimentalq5u}q6(Utypeq7Uintq8Uidq9Unoteq:u}q;(h7Ustringq(Utypeq?Ustringq@UidqAUversionqBu}qC(h?h@hAUdevqDu}qE(h?h@hAU certifdevqFu}qG(h?h@hAh u}qH(h?h@hAh u}qI(UtypeqJUlinesqKUidqLhutqMUnew_htmlqN(U„¿qO(hU PythonScriptqPtqQtqRQhDU80%qShFUnonqTUnoteqUKhBU0.1qVU view_htmlqW(U„ÀqX(hU PythonScriptqYtqZtq[QUskinq\U1Unew_okq](U„¾q^(hU PythonScriptq_tq`tqaQU icone.pngqb(U„Áqc(U OFS.ImageqdUImageqetqftqgQU__ac_local_roles__qh}qiUidqjU mesevenementsqkU experimentalqlUu.‚%((U OFS.FolderqUFolderqtqNt.}q(Uedit_okq(U„Åq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU editer_postq (U„Éq (hU PythonScriptq tqtqQU publier_postq(U„Êq(hU PythonScriptqtqtqQU config_okq(U„Âq(hU PythonScriptqtqtqQUnew_okq(U„Æq(hU PythonScriptqtqtqQUidqUrss_aggregatorq U certifwebq!Unonq"Utitleq#UAgrégateur de fils rssq$U post_thanksq%(U„Çq&(hU PythonScriptq'tq(tq)QUnoteq*KJUversionq+U0.6q,U view_htmlq-(U„Èq.(hU PythonScriptq/tq0tq1QU_objectsq2(}q3(U meta_typeq4UScript (Python)q5Uidq6Unew_htmlq7u}q8(U meta_typeq9UScript (Python)q:Uidq;Unew_okqUScript (Python)q?Uidq@U config_okqAu}qB(U meta_typeqCUScript (Python)qDUidqEU view_htmlqFu}qG(U meta_typeqHUScript (Python)qIUidqJUpostqKu}qL(U meta_typeqMUScript (Python)qNUidqOUpost_okqPu}qQ(U meta_typeqRUScript (Python)qSUidqTh%u}qU(U meta_typeqVUScript (Python)qWUidqXU effacer_postqYu}qZ(hVhWhXhu}q[(hVhWhXh u}q\(U meta_typeq]UScript (Python)q^Uidq_hu}q`(U meta_typeqaUScript (Python)qbUidqcU config_htmlqdu}qe(U meta_typeqfUImageqgUidqhU icone.pngqiu}qj(hfUScript (Python)qkhhUreadqlutqmU config_htmlqn(U„Ãqo(hU PythonScriptqptqqtqrQUnew_htmlqs(U„Äqt(hU PythonScriptqutqvtqwQU descriptionqx(UAgrégateur de fils rssqyUUtqzUreadq{(U„Ëq|(hU PythonScriptq}tq~tqQhP(U„Ìq€(hU PythonScriptqtq‚tqƒQUpostq„(U„Íq…(hU PythonScriptq†tq‡tqˆQU certifdevq‰UnonqŠU__ac_local_roles__q‹}qŒUdevqU70%qŽUzone_principaleqU1U _propertiesq(}q‘(Utypeq’Ustringq“Uidq”Utitleq•Umodeq–Uwu}q—(Utypeq˜Ustringq™UidqšU experimentalq›u}qœ(UtypeqUintqžUidqŸUnoteq u}q¡(hUstringq¢hŸUversionq£u}q¤(hh¢hŸUdevq¥u}q¦(hh¢hŸU certifdevq§u}q¨(hh¢hŸU certifwebq©u}qª(hh¢hŸU moderateurq«u}q¬(Utypeq­Ulinesq®Uidq¯U descriptionq°u}q±(Utypeq²Ustringq³Uidq´hutqµhY(U„Îq¶(hU PythonScriptq·tq¸tq¹QU icone.pngqº(U„Ïq»(U OFS.Imageq¼UImageq½tq¾tq¿QU moderateurqÀUsantiago@emencia.comqÁU experimentalqÂUu.‚&L((U OFS.FolderqUFolderqtqNt.}q(U config_htmlq(U„Ðq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_htmlq (U„Ñq (hU PythonScriptq tqtqQU descriptionq(UxCe module permet de répertorier tous les membres de votre site (avec leur adresse email et la date de leur inscription).qUUtqUtitleqUListe des membresqU_objectsq(}q(U meta_typeqUScript (Python)qUidqUnew_htmlqu}q(U meta_typeqUScript (Python)qUidqUnew_okqu}q (U meta_typeq!UScript (Python)q"Uidq#U config_htmlq$u}q%(h!h"h#U config_okq&u}q'(U meta_typeq(UScript (Python)q)Uidq*U view_htmlq+u}q,(U meta_typeq-UImageq.Uidq/U icone.pngq0utq1U certifwebq2Unonq3Udevq4U75%q5U certifdevq6Unonq7Unoteq8K$Uversionq9U0.5.2q:U view_htmlq;(U„Óq<(hU PythonScriptq=tq>tq?QUzone_principaleq@U1U config_okqA(U„ÔqB(hU PythonScriptqCtqDtqEQU _propertiesqF(}qG(UtypeqHUstringqIUidqJUtitleqKUmodeqLUwu}qM(UtypeqNUstringqOUidqPU experimentalqQu}qR(UtypeqSUintqTUidqUh8u}qV(hSUstringqWhUh9u}qX(hShWhUh4u}qY(hShWhUh6u}qZ(hShWhUh2u}q[(hShWhUU moderateurq\u}q](Utypeq^Ulinesq_Uidq`hu}qa(UtypeqbUstringqcUidqdh@utqeUnew_okqf(U„Òqg(hU PythonScriptqhtqitqjQU icone.pngqk(U„Õql(U OFS.ImageqmUImageqntqotqpQU__ac_local_roles__qq}qrh\Uzwook@matisson.comqsUidqtU members_listquU experimentalqvUu.‚'‹((U OFS.FolderqUFolderqtqNt.}q(U config_okq(U„Öq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUskinq U1Unew_okq (U„×q (hU PythonScriptqtqtqQUidqUrecherche_googleqU certifwebqUnonqUtitleqUrecherche googleqUnoteqK2UversionqU0.1qU view_htmlq(U„Øq(hU PythonScriptqtqtqQU_objectsq(}q (U meta_typeq!UScript (Python)q"Uidq#Unew_htmlq$u}q%(U meta_typeq&UScript (Python)q'Uidq(Unew_okq)u}q*(U meta_typeq+UScript (Python)q,Uidq-U config_htmlq.u}q/(h+h,h-U config_okq0u}q1(U meta_typeq2UScript (Python)q3Uidq4U view_htmlq5u}q6(U meta_typeq7UScript (Python)q8Uidq9U recherche_okq:u}q;(U meta_typeqU icone.pngq?utq@U config_htmlqA(U„ÙqB(hU PythonScriptqCtqDtqEQUnew_htmlqF(U„ÚqG(hU PythonScriptqHtqItqJQU descriptionqK)U certifdevqLUnonqMU moderateurqNUpatrick@stilagence.chqOUdevqPU5%qQUzone_principaleqRU1U _propertiesqS(}qT(UtypeqUUstringqVUidqWUtitleqXUmodeqYUwu}qZ(Utypeq[Ustringq\Uidq]U experimentalq^u}q_(Utypeq`UintqaUidqbUnoteqcu}qd(h`UstringqehbUversionqfu}qg(h`hehbUdevqhu}qi(h`hehbU certifdevqju}qk(h`hehbU certifwebqlu}qm(h`hehbU moderateurqnu}qo(UtypeqpUlinesqqUidqrU descriptionqsu}qt(UtypequUstringqvUidqwh u}qx(huhvhwhRutqyh:(U„Ûqz(hU PythonScriptq{tq|tq}QU icone.pngq~(U„Üq(U OFS.Imageq€UImageqtq‚tqƒQU__ac_local_roles__q„}q…U experimentalq†Uu.‚! ((U OFS.FolderqUFolderqtqNt.}q(Uadd_image_validq(U„Žq(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QU conf_menuq (U„”q (hU PythonScriptq tqtqQUrep_ajouter_images_validq(U„q(hU PythonScriptqtqtqQU _propertiesq(}q(UtypeqUstringqUidqUtitleqUmodeqUwu}q(UtypeqUstringqUidqUskinq u}q!(Utypeq"Uintq#Uidq$Unoteq%u}q&(h"Ustringq'h$Uversionq(u}q)(h"h'h$Udevq*u}q+(h"h'h$U certifdevq,u}q-(h"h'h$U certifwebq.u}q/(h"h'h$U moderateurq0u}q1(Utypeq2Ulinesq3Uidq4U descriptionq5utq6Unew_okq7(U„’q8(hU PythonScriptq9tq:tq;QU__ac_local_roles__q<}q=Uidq>U navigationq?h.Unonq@UtitleqAUMenu de navigationqBUmenuqC(U„“qD(hU PythonScriptqEtqFtqGQUMIX_INFOqH(U„qI(hU PythonScriptqJtqKtqLQUrep_ajouter_imagesqM(U„¡qN(hU PythonScriptqOtqPtqQQh%K6h(U0.1qRU view_htmlqS(U„–qT(hU PythonScriptqUtqVtqWQU_objectsqX(}qY(U meta_typeqZUScript (Python)q[Uidq\Unew_htmlq]u}q^(U meta_typeq_UScript (Python)q`UidqaUnew_okqbu}qc(U meta_typeqdUScript (Python)qeUidqfU config_htmlqgu}qh(U meta_typeqiUScript (Python)qjUidqkh u}ql(hihjhkUmenuqmu}qn(hihjhkUconf_1qou}qp(hihjhkU conf_1_validqqu}qr(U meta_typeqsUScript (Python)qtUidquUconf_2qvu}qw(hshthuU conf_2_validqxu}qy(U meta_typeqzUScript (Python)q{Uidq|U add_imageq}u}q~(U meta_typeqUScript (Python)q€Uidqhu}q‚(U meta_typeqƒUScript (Python)q„Uidq…Uconf_3q†u}q‡(U meta_typeqˆUScript (Python)q‰UidqŠU conf_3_bisq‹u}qŒ(U meta_typeqUScript (Python)qŽUidqU conf_3_delqu}q‘(hhŽhU conf_3_validq’u}q“(U meta_typeq”UScript (Python)q•Uidq–Uconf_4q—u}q˜(U meta_typeq™UScript (Python)qšUidq›UMIX_INFOqœu}q(U meta_typeqžUScript (Python)qŸUidq hMu}q¡(U meta_typeq¢UScript (Python)q£Uidq¤hu}q¥(h¢h£h¤Urep_delete_imagesq¦u}q§(U meta_typeq¨UScript (Python)q©UidqªU view_htmlq«u}q¬(U meta_typeq­UImageq®Uidq¯U icone.pngq°utq±U config_htmlq²(U„—q³(hU PythonScriptq´tqµtq¶QUnew_htmlq·(U„˜q¸(hU PythonScriptq¹tqºtq»Qh(U„™q¼(hU PythonScriptq½tq¾tq¿Qh5(UØLe module de navigation automatique est indispensable pour générer les rubriques et sous rubriques de votre système. Il fait parti des modules les plus élaborés et demande une certaine rigueur pour sa mise en place. qÀUUUUtqÁUconf_4qÂ(U„šqÃ(hU PythonScriptqÄtqÅtqÆQh¦(U„›qÇ(hU PythonScriptqÈtqÉtqÊQUconf_1qË(U„œqÌ(hU PythonScriptqÍtqÎtqÏQh}(U„qÐ(hU PythonScriptqÑtqÒtqÓQUconf_3qÔ(U„žqÕ(hU PythonScriptqÖtq×tqØQUconf_2qÙ(U„ŸqÚ(hU PythonScriptqÛtqÜtqÝQhx(U„ qÞ(hU PythonScriptqßtqàtqáQh‹(U„•qâ(hU PythonScriptqãtqätqåQh,Unonqæhq(U„¢qç(hU PythonScriptqètqétqêQh*U90%qëh’(U„‘qì(hU PythonScriptqítqîtqïQUskinqðU1U icone.pngqñ(U„£qò(U OFS.ImageqóUImageqôtqõtqöQh0U xav@1et0.orgq÷u.‚Ø((U OFS.FolderqUFolderqtqNt.}q(U config_okq(Uƒ®q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUnew_okq (Uƒ¯q (hU PythonScriptq tqtqQUidqUconges_scolairesqU certifwebqUnonqUtitleqUCongés scolairesqUnoteqKOUversionqU0.6qU view_htmlq(Uƒ°q(hU PythonScriptqtqtqQU_objectsq(}q(U meta_typeq UScript (Python)q!Uidq"Unew_okq#u}q$(U meta_typeq%UScript (Python)q&Uidq'U config_htmlq(u}q)(h%h&h'U config_okq*u}q+(U meta_typeq,UScript (Python)q-Uidq.U view_htmlq/u}q0(U meta_typeq1UImageq2Uidq3U icone.pngq4u}q5(U meta_typeq6UScript (Python)q7Uidq8Uaffichage_annee_scolaireq9u}q:(U meta_typeq;UScript (Python)qu}q?(U meta_typeq@UScript (Python)qAUidqBUnew_htmlqCu}qD(U meta_typeqEUScript (Python)qFUidqGUrapidedit_htmlqHutqIU config_htmlqJ(Uƒ±qK(hU PythonScriptqLtqMtqNQUnew_htmlqO(Uƒ²qP(hU PythonScriptqQtqRtqSQU descriptionqT(UŠPermet de renseigner (admin) et de consulter le calendrier des vacances scolaires. Peut être intégré dans une page, mais pas dans un skin.qUtqVhH(Uƒ³qW(hU PythonScriptqXtqYtqZQh9(Uƒ´q[(hU PythonScriptq\tq]tq^QU certifdevq_Unonq`h>(Uƒµqa(hU PythonScriptqbtqctqdQU__ac_local_roles__qe}qfUdevqgU60%qhUzone_principaleqiU1U _propertiesqj(}qk(UtypeqlUstringqmUidqnUtitleqoUmodeqpUwu}qq(UtypeqrUstringqsUidqtU experimentalquu}qv(UtypeqwUintqxUidqyUnoteqzu}q{(hwUstringq|hyUversionq}u}q~(hwh|hyUdevqu}q€(hwh|hyU certifdevqu}q‚(hwh|hyU certifwebqƒu}q„(hwh|hyU moderateurq…u}q†(Utypeq‡UlinesqˆUidq‰U descriptionqŠu}q‹(UtypeqŒUstringqUidqŽhiutqh4(Uƒ¶q(U OFS.Imageq‘UImageq’tq“tq”QU moderateurq•U claude.clerc@ac-aix-marseille.frq–U experimentalq—Uu.‚)?n((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TÚzwu=mem['zwo_url'] zwui=zwu+'/zwo_images/bo/' ret='' ret=ret+""" """ ret=ret+'Zwook - '+ch+'' ret=ret+'' ret=ret+'' ret=ret+'
' ret=ret+'' a=int(pr['largeur_cercle']) tot=0 if mem['droit_edit_dossier']==1: tot=tot+1 if mem['droit_arbo']==1: tot=tot+1 if mem['droit_edit_skin']==1: tot=tot+1 if mem['droit_config_dossier']==1: tot=tot+1 list_roles=mem['user_roles_id'] if 'Manager' in list_roles: tot=tot+1 lsp=int(pr['espacement']) l=tot*(a+lsp)+2*lsp def roll(nom,url,img,rol,help): hlptxt='' if help<>'': hlptxt=' title="aide"' rett='' return rett def roll2(typ,now,help): if typ==now: return roll('roll'+now,zwu+'/zwo_bo/'+now,zwui+'cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) else: return roll('roll'+now,zwu+'/zwo_bo/'+now,zwui+'f_cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) def roll2l(typ,now,help): if typ==now: return roll('roll'+now,mem['rep_url']+'/zwo_bo/'+now,zwui+'cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) else: return roll('roll'+now,mem['rep_url']+'/zwo_bo/'+now,zwui+'f_cercle_'+now+'.gif',zwui+'r_cercle_'+now+'.gif',help) ret=ret+'' sp='' sp2='' ret=ret+sp if mem['droit_edit_dossier']==1: ret=ret+sp2 ret=ret+roll2l(typ,"edit",'Edition du contenu')+' ' if mem['droit_edit_skin']==1: ret=ret+sp2 ret=ret+roll2l(typ,"skin",'Edition des skins')+' ' if mem['droit_arbo']==1: ret=ret+sp2 ret=ret+roll2l(typ,"arbo",'Administration des pages')+' ' if mem['droit_config_dossier']==1: ret=ret+sp2 ret=ret+roll2(typ,"admin",'Administration du zwook')+' ' list_roles=mem['user_roles_id'] if 'Manager' in list_roles: ret=ret+sp2 ret=ret+roll('rollzope',zwu+'/manage',zwui+'f_cercle_zope.gif',zwui+'r_cercle_zope.gif','Interface Zope') ret=ret+sp ll=760-l-int(pr['largeur_case_droite'])-int(pr['largeur_colonne']) ret=ret+'' ret=ret+pr['txt_'+typ] ret=ret+'
'+ch ret=ret+'
' ret=ret+'Exit' ret=ret+'
' #ret=ret+roll('rollhelp',zwu+'/help',zwui+'rond_help.gif',zwui+'r_rond_help.gif','Aide Zwook') #ret=ret+sp #ret=ret+roll('rollannule',zwu+'/annule',zwui+'rond_annule.gif',zwui+'r_rond_annule.gif','Annuler derniere modification') #ret=ret+sp #ret=ret+'EXIT ' ret=ret+roll('rollzwook',mem['rep_url'],zwui+'rond_zwook.gif',zwui+'r_rond_zwook.gif','Quitter Back Office') ret=ret+' ' ret=ret+'
' ret=ret+'
' ret=ret+'' ret=ret+'
' ret=ret+'' ret=ret+'
' head=ret spm='
' l=str(760-(int(pr['largeur_colonne']))-(int(pr['espacement']))) mid='
' mid=mid+'' spe='
' foot='
' foot=foot+"" return (head,spm,mid,spe,foot) q Uidq Uautourq U_codeqT c@s d„ZdS(Nc4s!tˆdƒ‰ˆd‰d}|d}|d|d}|dt|d|ƒd }|d }|d t|d ƒd }|dˆd|d}tt|dƒƒ} d} tˆdƒdjo| d} ntˆdƒdjo| d} ntˆdƒdjo| d} ntˆdƒdjo| d} ntˆdƒ} d| jo| d} ntt|dƒƒ} | | | d| } d„‰‡‡‡d†}‡‡‡d†}|dt| ƒd }dˆd t|dƒd!}dˆd ttt|dƒƒdƒd!}||}tˆdƒdjo(||}|||d"d#ƒd$}ntˆdƒdjo(||}|||d%d&ƒd$}ntˆdƒdjo(||}|||d'd(ƒd$}ntˆdƒdjo(||}|||d)d*ƒd+}ntˆdƒ} d| jo6||}|ˆd,ˆd-ˆd.ˆd/d0ƒ}n||}d1| tt|d2ƒƒtt|d ƒƒ}|d3t|ƒd4t|d5|ƒd }|t|d6|ƒ}|d7|}|d8t|d2ƒd9t|d5|ƒd }|d:tˆd;ƒd<}|d7}|ˆd=tˆd;ƒˆd>ˆd?d@ƒ}|d$}|dA}|dBt|dƒdCt|dƒdD}|dˆdEt|dƒdF}|dG}|dH}|d3t|d ƒdI}|}dJt|dƒdKt|d ƒdLˆdEt|dƒdM}td1tt|d ƒƒtt|dƒƒƒ} dt|dƒd }|d| dI}dJt|dƒdK| dLˆdEt|dƒdM}dN}|dO}|||||fSdS(PNszwo_urls/zwo_images/bo/s~sR sZwook - s���ssBs
s slargeur_cercleisdroit_edit_dossieris droit_arbosdroit_edit_skinsdroit_config_dossiers user_roles_idsManagers espacementicCsÔd}|djo d}nd|d|d}|d|d|d}|d}|d|d|d}|d }|d|d}|d }|d jo|d }n|d |d|d}|SdS(Nss title="aide"s (shlptxtshelpsurlsrettsnomsrolsimg(snomsurlsimgsrolshelpshlptxtsrett((sScript (Python)sroll}s      cs‰||jo>ˆd|ˆd|ˆd|dˆd|d|ƒSn;ˆd|ˆd|ˆd|dˆd|d|ƒSdS(Nsrolls/zwo_bo/scercle_s.gifs r_cercle_s f_cercle_(stypsnowsrollszwuszwuishelp(stypsnowshelpsrollszwuszwui(srollszwuszwui(sScript (Python)sroll2s >cs›||joGˆd|tˆdƒd|ˆd|dˆd|d|ƒSnDˆd|tˆdƒd|ˆd|dˆd|d|ƒSdS(Nsrollsrep_urls/zwo_bo/scercle_s.gifs r_cercle_s f_cercle_(stypsnowsrolls _getitem_smemszwuishelp(stypsnowshelpsrolls _getitem_smemszwui(smemsrollszwui(sScript (Python)sroll2l“s GsseditsEdition du contenus sskinsEdition des skinssarbosAdministration des pagessadminsAdministration du zwooks srollzopes/managesf_cercle_zope.gifsr_cercle_zope.gifsInterface Zopeiøslargeur_case_droites Exits rollzwooksrond_zwook.gifsr_rond_zwook.gifsQuitter Back Offices
s
s/zwo_images/pixel.gif" height="s width="1">s
sBs" valign="top">s:
s
s(s _getitem_smemszwuszwuisretschsprstypsintsastots list_rolesslspslsrollsroll2sroll2lsstrsspssp2sllsheadsspmsmidsspesfoot(smemsprstypschs _getitem_szwuszwuisretsintsastots list_rolesslspslsrollsroll2sroll2lsstrsspssp2sllsheadsspmsmidsspesfoot((smemszwusrollszwuisScript (Python)sautoursŽ  _   /       , 0-0 -  ,#  A28 (sautour(sautour((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U„ãq (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asU _filepathq*U3Script (Python):/test_kzexp_zwook_cvs/zwo_bo/autourq+U_paramsq,U mem,pr,typ,chq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Umemq4Uprq5Utypq6Uchq7U _getitem_q8Uzwuq9Uzwuiq:Uretq;UintqUlspq?UlUrollq@Uroll2qAUroll2lqBUstrqCUspqDUsp2qEUllqFUheadqGUspmqHUmidqIUspeqJUfootqKtqLubu.‚*ƒ((U OFS.FolderqUFolderqtqNt.}q(Uusersq(U„äq(hUFolderqtqtq QUparamokq (U„åq (U#Products.PythonScripts.PythonScriptq U PythonScriptq tqtqQUtitleqUUmodulesq(U„æq(hUFolderqtqtqQU index_htmlq(U„çq(h U PythonScriptqtqtqQUgroupsq(U„èq(hUFolderqtqtqQU_objectsq (}q!(U meta_typeq"UFolderq#Uidq$Ugroupsq%u}q&(h"h#h$Umodulesq'u}q((U meta_typeq)UScript (Python)q*Uidq+U index_htmlq,u}q-(h)h*h+Uparamokq.u}q/(U meta_typeq0UFolderq1Uidq2Uusersq3u}q4(U meta_typeq5UFolderq6Uidq7Ucssq8utq9U__ac_local_roles__q:}q;Uidq(U„éq?(hUFolderq@tqAtqBQu.‚+%5((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tdcolor=pr['color_'+c] colort=pr['color_t_'+c] l=str(2*int(pr['espacement'])+int(pr['largeur_rond']) ) ll=str( int(pr['largeur_colonne'])-int(l) ) li=str( int(pr['largeur_colonne'])-3*int(pr['espacement']) ) zwui=zwu+'/zwo_images/bo/' def roll(nom,url,img,rol): rett='' return rett idtitre=titre while string.find(idtitre,'>')<>-1: newtitre=string.split(idtitre,'<',1)[0]+string.split(idtitre,'>',1)[1] idtitre=newtitre newtitre="" for l in idtitre: if l in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ': newtitre=newtitre+l idtitre=newtitre FFF=0 if pr.has_key('box'): if idtitre+'=F' in pr['box']: FFF=1 html=None rett='' rett=rett+'' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+titre rett=rett+'' if html: rett=rett+roll('roll'+idtitre,'configbox?typ=F&id='+idtitre,zwui+'rond_ferme.gif',zwui+'r_rond_ferme.gif') rett=rett+'
' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+'' if valid: rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+html rett=rett+'' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+valid rett=rett+'
' else: if FFF==0: rett=rett+'' else: rett=rett+roll('roll'+idtitre,'configbox?typ=O&id='+idtitre,zwui+'rond_ouvre.gif',zwui+'r_rond_ouvre.gif') rett=rett+'
' rett=rett+'' rett=rett+'
' return rett q U_codeq TVc@seed„ZdS(NcCsˆt}t} ||d|ƒ} ||d|ƒ} tdt ||dƒƒt ||dƒƒƒ}tt ||dƒƒt |ƒƒ}tt ||dƒƒdt ||dƒƒƒ}|d}d „}|}xq| td ƒ|d ƒd joP|| td ƒ|dd ƒdƒ|| td ƒ|d d ƒd ƒ}|}q×Wd}x)|D]!}|djo||}qUqUW|}d}| |dƒdƒo.|d||dƒjod }t}qÊnd||dƒd}|d||dƒd||dƒd| d}|d|d||dƒd}|d}|d||dƒd | d}|d|d!||dƒd"}|d#|d | d$}|d%| d}||}|d&|d | d'}|oê||d(|d)||d*|d+ƒ}|d}|d||d,ƒd||dƒd| d}|d|d||d,ƒd}|d-}|d||dƒd}|d||d.ƒd||dƒd||d/ƒd}|d|d||d.ƒd}|d0}|d1||dƒd ||d/ƒd}|d|d2||dƒd}|d3}|d1|d ||d/ƒd}|d%||d4ƒd}||}|d5}|d1||dƒd ||d/ƒd}|d|d2||dƒd}|d3}|d6||d7ƒd||dƒd||d/ƒd}|d|d||d7ƒd}|d}|oN|d8||dƒd9||d:ƒd;}|d<}||}|d=}n|d>}n¸|djo|d|d?}n*||d(|d@||dA|dBƒ}|d}|d||d,ƒd||dƒd| d}|d|d||d,ƒd}|d-}|SdS(CNscolor_scolor_t_is espacements largeur_rondslargeur_colonneis/zwo_images/bo/cCs¯d|d}|d|d|d}|d}|d|d|d}|d}|d|d}|d}|djo|d }n|d |d |d }|SdS( Ns (surlsrettsnomsrolsimg(snomsurlsimgsrolsrett((sScript (Python)sroll s    sfinds>issplitsss sss$srollsconfigbox?typ=F&id=srond_ferme.gifsr_rond_ferme.gifsmarge_bas_titressmarge_haut_htmlscolor_fond_menuss ssss,/zwo_images/pixel.gif" height="1" width="1">sconfigbox?typ=O&id=srond_ouvre.gifsr_rond_ouvre.gif(s _getitem_s_getitems _getattr_s_getattrsprscscolorscolortsstrsintslsllsliszwuszwuisrollstitresidtitresstringsnewtitresFFFsNoneshtmlsrettsvalid(szwusprscstitreshtmlsvalids _getitem_s_getitems _getattr_s_getattrscolorscolortsstrsintslsllsliszwuisrollsidtitresstringsnewtitresFFFsNonesrett((sScript (Python)smenusŠ2%2   F   4# ## ) 4# =# ,# #  ,# =# ,   ) 4# (sNonesmenu(sNonesmenu((sScript (Python)ssq U func_defaultsq(NNtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U„êq(U Persistenceq UPersistentMappingq!tq"tq#QU__ac_local_roles__q$}q%Uxavq&]q'UOwnerq(asUidq)Umenuq*U_paramsq+U#zwu,pr,c,titre,html=None,valid=Noneq,U func_codeq-(cShared.DC.Scripts.Signature FuncCode q.oq/}q0(U co_varnamesq1(Uzwuq2Uprq3UcUtitreq4Uhtmlq5Uvalidq6U _getitem_q7U_getitemq8U _getattr_q9U_getattrq:Ucolorq;UcolortqUlUllq?Uliq@UzwuiqAUrollqBUidtitreqCUstringqDUnewtitreqEUFFFqFUNoneqGUrettqHtqIU co_argcountqJKubu.‚/ ((U OFS.FolderqUFolderqtqNt.}q(Uplaceokq(U…5q(U#Products.PythonScripts.PythonScriptqU PythonScriptqtq tq QUplace_zone_editokq (U…q (hU PythonScriptq tqtqQUskinsq(U…q(hUFolderqtqtqQU modif_li_coq(U…q(hU PythonScriptqtqtqQU modifproptabq(U…q(hU PythonScriptqtqtqQUdupliquer_elementsq(U…q (hU PythonScriptq!tq"tq#QU detruireokq$(U…q%(hU PythonScriptq&tq'tq(QU add_soustabokq)(U…q*(hU PythonScriptq+tq,tq-QUfusionokq.(U…q/(hU PythonScriptq0tq1tq2QUidq3Uskinq4U modifpropcasq5(U…+q6(hU PythonScriptq7tq8tq9QU delcolonneokq:(U…q;(hU PythonScriptqQUplace_zone_editq?(U…q@(hU PythonScriptqAtqBtqCQUtitleqDUU delligneokqE(U…qF(hU PythonScriptqGtqHtqIQUskinokqJ(U… qK(hU PythonScriptqLtqMtqNQUrenommer_elementsqO(U…!qP(hU PythonScriptqQtqRtqSQU_objectsqT(}qU(U meta_typeqVUScript (Python)qWUidqXUplaceqYu}qZ(U meta_typeq[UScript (Python)q\Uidq]Udeplacer_elementsq^u}q_(h[h\h]Udetruire_elementsq`u}qa(U meta_typeqbUScript (Python)qcUidqdUdupliquer_elementsqeu}qf(U meta_typeqgUScript (Python)qhUidqiUrenommer_elementsqju}qk(U meta_typeqlUScript (Python)qmUidqnUannule_fusionokqou}qp(hlhmhnU del_soustabokqqu}qr(hlhmhnhEu}qs(hlhmhnh:u}qt(U meta_typequUFolderqvUidqwUskinsqxu}qy(U meta_typeqzUScript (Python)q{Uidq|Uplace_zone_editq}u}q~(U meta_typeqUScript (Python)q€UidqU ajout_elementq‚u}qƒ(hh€hU valid_selq„u}q…(hh€hUediter_elementq†u}q‡(hh€hU detruireokqˆu}q‰(hh€hU renommerokqŠu}q‹(hh€hU addligneokqŒu}q(hh€hU addcolonneokqŽu}q(hh€hU add_soustabokqu}q‘(hh€hUfusionokq’u}q“(hh€hU modifpropcasq”u}q•(hh€hUplace_zone_editokq–u}q—(hh€hU validationq˜u}q™(hh€hUdispoqšu}q›(hh€hUdispookqœu}q(hh€hUaideqžu}qŸ(U meta_typeq UScript (Python)q¡Uidq¢U index_htmlq£u}q¤(U meta_typeq¥UScript (Python)q¦Uidq§Uskinokq¨u}q©(U meta_typeqªUScript (Python)q«Uidq¬U modifproptabq­u}q®(hªh«h¬U dupliquerokq¯u}q°(hªh«h¬Uplaceokq±u}q²(U meta_typeq³UScript (Python)q´UidqµU modif_li_coq¶u}q·(U meta_typeq¸UScript (Python)q¹UidqºU list_elementq»utq¼Uediter_elementq½(U…"q¾(hU PythonScriptq¿tqÀtqÁQho(U…#qÂ(hU PythonScriptqÃtqÄtqÅQU ajout_elementqÆ(U…%qÇ(hU PythonScriptqÈtqÉtqÊQhq(U…&qË(hU PythonScriptqÌtqÍtqÎQUdetruire_elementsqÏ(U…'qÐ(hU PythonScriptqÑtqÒtqÓQU renommerokqÔ(U…(qÕ(hU PythonScriptqÖtq×tqØQU addligneokqÙ(U…)qÚ(hU PythonScriptqÛtqÜtqÝQUaideqÞ(U…*qß(hU PythonScriptqàtqátqâQUdeplacer_elementsqã(U…$qä(hU PythonScriptqåtqætqçQU valid_selqè(U…,qé(hU PythonScriptqêtqëtqìQU list_elementqí(U…-qî(hU PythonScriptqïtqðtqñQUdispoqò(U….qó(hU PythonScriptqôtqõtqöQU addcolonneokq÷(U…/qø(hU PythonScriptqùtqútqûQU dupliquerokqü(U…0qý(hU PythonScriptqþtqÿtrQU index_htmlr(U…1r(hU PythonScriptrtrtrQUplacer(U…2r(hU PythonScriptrtr tr QU validationr (U…4r (hU PythonScriptr trtrQU__ac_local_roles__r}rUdispookr(U…3r(hU PythonScriptrtrtrQu.‚2Ï((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TÔpr={} pr['color_fond_module']='#cceeff' pr['color_fond_edit']='#dddddd' pr['color_fond_skin']='#dddddd' pr['color_fond_admin']='#dddddd' pr['color_fond_arbo']='#dddddd' pr['color_fond_menu']='#f0f0ff' pr['color_fond_menu_valid']='#FF0000' pr['color_fond_edition']='#ffffff' pr['color_txt_module']='#000000' pr['color_txt_edit']='#000000' pr['color_txt_skin']='#000000' pr['color_txt_admin']='#000000' pr['color_txt_arbo']='#000000' pr['color_txt_menu']='#000000' pr['color_txt_edition']='#000000' pr['color_edit']='#ff9933' pr['color_t_edit']='#ffffff' pr['color_module']='#ff9933' pr['color_t_module']='#ffffff' pr['color_skin']='#990099' pr['color_t_skin']='#ffffff' pr['color_element']='#3399cc' pr['color_t_element']='#ffffff' pr['color_nav']='#ffff33' pr['color_t_nav']='#000000' pr['color_page']='#FFFFFF' pr['color_t_page']='#000000' pr['color_admin']='#AAFFAA' pr['color_t_admin']='#000000' pr['color_info']='#BBCCDD' pr['color_t_info']='#000000' pr['color_mem']='#999999' pr['color_t_mem']='#000000' pr['color_user']='#cc9999' pr['color_t_user']='#000000' pr['color_group']='#990033' pr['color_t_group']='#ffffff' pr['color_alert']='#ff0000' pr['color_t_alert']='#000000' pr['color_refer']='##01cccc' pr['color_t_refer']='#ffffff' pr['color_droits']='#019934' pr['color_t_droits']='#ffffff' pr['color_case_sel']='#ffcc99' pr['color_skin_case_sel']='#ffbbff' pr['color_action']='#999999' pr['txt_edit']='EDITION DU CONTENU' pr['txt_skin']='EDITION DES SKINS' pr['txt_admin']='ADMINISTRATION GENERALE' pr['txt_arbo']='CARTE DES PAGES' pr['txt_module']='EDITION D\'UN ELEMENT' pr['largeur_colonne']='200' pr['largeur_case_droite']='130' pr['espacement']='5' pr['largeur_cercle']='28' pr['largeur_rond']='14' pr['largeur_carre']='14' pr['hauteur_carre']='14' pr['marge_haut_titre']='1' pr['marge_bas_titre']='1' pr['marge_haut_html']='3' pr['marge_bas_html']='3' pr['epaisseur_tableau']='3' pr['epaisseur_case']='1' pr['espacement_tableau']='10' pr['hauteur_mini_case']='80' return pr q U _filepathq U0Script (Python):/kzexp_zwook/zwo_bo/presentationq U_codeqT$ c@s d„ZdS(NcCs.h}dt|ƒdsqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU_dav_writelocksq(U…Oq (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asUidq*U presentationq+U_paramsq,UU func_codeq-(cShared.DC.Scripts.Signature FuncCode q.oq/}q0(U co_argcountq1KU co_varnamesq2(Uprq3U_write_q4tq5ubu.‚, ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qU _proxy_rolesq(UManagerqtq Uwarningsq )U Script_magicq KU_bodyq Tmem=context.zwo_lib.mem_data() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' uo=mem['user_zw_obj'] box='' if not uo.hasProperty('configbox'): uo.manage_addProperty('configbox',[id+'='+typ],'lines') else: box=[] oldbox=uo.configbox for l in oldbox: dec=string.split(l,'=') if dec[0]<>id: box.append(l) box.append(id+'='+typ) uo.manage_changeProperties(configbox=box) context.REQUEST.RESPONSE.redirect(context.REQUEST.HTTP_REFERER) return q UidqU configboxqU_codeqTc@s d„ZdS(Nc Csntttdƒdƒƒ}t|dƒdjodSnt|dƒ}d}t|dƒd ƒ o(t|d ƒd |d |gd ƒn£g}t|d ƒ}xYt |ƒD]K} tt d ƒ| d ƒ} t| dƒ|jot|dƒ| ƒq¯q¯Wt|dƒ|d |ƒt|dƒd |ƒttttdƒdƒdƒtttdƒdƒƒdSdS(Nszwo_libsmem_datasdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s user_zw_objss hasPropertys configboxsmanage_addPropertys=slinesssplitisappendsmanage_changePropertiessREQUESTsRESPONSEsredirects HTTP_REFERER( s _getattr_scontextsmems _getitem_suosboxsidstypsoldboxs _getiter_slsstringsdec( stypsids _getattr_scontextsmems _getitem_suosboxsoldboxs _getiter_slsstringsdec((sScript (Python)s configboxs"% .(s configbox(s configbox((sScript (Python)ssqU func_defaultsqNUerrorsq)U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerq U containerq!usbU func_codeq"(cShared.DC.Scripts.Signature FuncCode q#oq$}q%(U co_argcountq&KU co_varnamesq'(Utypq(Uidq)U _getattr_q*Ucontextq+Umemq,U _getitem_q-Uuoq.Uboxq/Uoldboxq0U _getiter_q1UlUstringq2Udecq3tq4ubU__ac_local_roles__q5}q6Uxavq7]q8UOwnerq9asU _filepathq:U6Script (Python):/test_kzexp_zwook_cvs/zwo_bo/configboxq;U_paramsq(U„ëq?(U Persistenceq@UPersistentMappingqAtqBtqCQu.‚-“((U OFS.FolderqUFolderqtqNt.}q(Udeplacer_pagesq(U„ìq(U#Products.PythonScripts.PythonScriptqU PythonScriptqttq QUplaceokq (U…q (hU PythonScriptq tq tqQU dupliquerokq(U… q(hU PythonScriptqttqQUdupliquer_pagesq(U„îq(hU PythonScriptqttqQUaideq(U„ïq(hU PythonScriptqttqQU modif_li_coq(U„ðq(hU PythonScriptqttqQUrefok_avant_patch_metasq(U„ñq (hU PythonScriptq!ttq"QUdupliquer_elementsq#(U„òq$(hU PythonScriptq%ttq&QU detruireokq'(U„óq((hU PythonScriptq)ttq*QU add_soustabokq+(U„ôq,(hU PythonScriptq-ttq.QUfusionokq/(U„õq0(hU PythonScriptq1ttq2QUchange_ref_avant_patch_metasq3(U„öq4(hU PythonScriptq5ttq6QUidq7Ueditq8Udetruire_pages_okq9(U„÷q:(hU PythonScriptq;ttq(hU PythonScriptq?ttq@QUtitleqAUUrenommer_pagesqB(U„ùqC(hU PythonScriptqDttqEQU modifpropcasqF(U…qG(hU PythonScriptqHttqIQUdetruire_pagesqJ(U„ûqK(hU PythonScriptqLttqMQUrenommer_elementsqN(U„üqO(hU PythonScriptqPttqQQU_objectsqR(}qS(U meta_typeqTUScript (Python)qUUidqVU list_elementqWu}qX(hThUhVUplaceqYu}qZ(hThUhVUplaceokq[u}q\(U meta_typeq]UScript (Python)q^Uidq_U valid_selq`u}qa(U meta_typeqbUScript (Python)qcUidqdUdeplacer_elementsqeu}qf(hbhchdUdetruire_elementsqgu}qh(hbhchdh'u}qi(U meta_typeqjUScript (Python)qkUidqlUdupliquer_elementsqmu}qn(U meta_typeqoUScript (Python)qpUidqqUrenommer_elementsqru}qs(hohphqU renommerokqtu}qu(U meta_typeqvUScript (Python)qwUidqxU modif_li_coqyu}qz(U meta_typeq{UScript (Python)q|Uidq}U addligneokq~u}q(h{h|h}U addcolonneokq€u}q(h{h|h}h+u}q‚(h{h|h}Uannule_fusionokqƒu}q„(h{h|h}U del_soustabokq…u}q†(h{h|h}h/u}q‡(h{h|h}U delligneokqˆu}q‰(h{h|h}h=u}qŠ(U meta_typeq‹UScript (Python)qŒUidqhFu}qŽ(U meta_typeqUScript (Python)qUidq‘U ajout_elementq’u}q“(hhh‘Uediter_elementq”u}q•(hhh‘Udispoq–u}q—(hhh‘Udispookq˜u}q™(hhh‘Uaideqšu}q›(U meta_typeqœUScript (Python)qUidqžU insertpageokqŸu}q (hœhhžUrenommer_pagesq¡u}q¢(U meta_typeq£UScript (Python)q¤Uidq¥Urenommer_pages_okq¦u}q§(U meta_typeq¨UScript (Python)q©Uidqªh9u}q«(U meta_typeq¬UScript (Python)q­Uidq®U deplaceokq¯u}q°(h¬h­h®Udeplacer_pagesq±u}q²(h¬h­h®Udupliquer_pagesq³u}q´(h¬h­h®Udupliquer_pages_okqµu}q¶(U meta_typeq·UScript (Python)q¸Uidq¹U index_htmlqºu}q»(U meta_typeq¼UScript (Python)q½Uidq¾Udetruire_pagesq¿u}qÀ(U meta_typeqÁUScript (Python)qÂUidqÃU dupliquerokqÄu}qÅ(U meta_typeqÆUScript (Python)qÇUidqÈh3u}qÉ(hÆhÇhÈhu}qÊ(hÆhÇhÈU change_refqËu}qÌ(hÆhÇhÈUrefokqÍutqÎUediter_elementqÏ(U„ýqÐ(hU PythonScriptqÑttqÒQhƒ(U„þqÓ(hU PythonScriptqÔttqÕQU ajout_elementqÖ(U„ÿq×(hU PythonScriptqØttqÙQh…(U…qÚ(hU PythonScriptqÛttqÜQUdetruire_elementsqÝ(U…qÞ(hU PythonScriptqßttqàQht(U…qá(hU PythonScriptqâttqãQh~(U…qä(hU PythonScriptqåttqæQh¦(U…qç(hU PythonScriptqèttqéQUdeplacer_elementsqê(U„úqë(hU PythonScriptqìttqíQh`(U…qî(hU PythonScriptqïttqðQUrefokqñ(U…qò(hU PythonScriptqóttqôQhW(U…qõ(hU PythonScriptqöttq÷QU deplaceokqø(U… qù(hU PythonScriptqúttqûQUdispoqü(U… qý(hU PythonScriptqþttqÿQh€(U… r(hU PythonScriptrttrQU insertpageokr(U…r(hU PythonScriptrttrQU change_refr(U„ír(hU PythonScriptr ttr QU index_htmlr (U… r (hU PythonScriptr ttrQUplacer(U…r(hU PythonScriptrttrQhµ(U…r(hU PythonScriptrttrQU__ac_local_roles__r}rhˆ(U…r(hU PythonScriptrttrQUdispookr(U…r(hU PythonScriptrttrQu.‚."((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TŠcc=string.split(c,'*') colorfond=pr['color_fond_menu'] if len(cc)>1: colorfond=pr['color_'+cc[1]] color=pr['color_'+cc[0]] colort=pr['color_t_'+cc[0]] l=str(2*int(pr['espacement'])+int(pr['largeur_rond']) ) lll=str( 760-int(pr['largeur_colonne'])-int(pr['espacement']) ) ll=str(int(lll)-int(l)) li=str( int(lll)-2*int(pr['espacement']) ) zwui=zwu+'/zwo_images/bo/' def roll(nom,url,img,rol): rett='' return rett idtitre=titre idtitre=string.replace(idtitre,'>','<') idtitre=string.replace(idtitre,'<','>') newtitre="" for l in idtitre: if l in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ': newtitre=newtitre+l idtitre=newtitre FFF=0 if pr.has_key('box'): if idtitre+'=F' in pr['box']: html=None FFF=1 rett='' rett=rett+'' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'' rett=rett+titre rett=rett+'' if html: rett=rett+roll('roll'+idtitre,'configbox?typ=F&id='+idtitre,zwui+'rond_ferme.gif',zwui+'r_rond_ferme.gif') rett=rett+'
' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+html rett=rett+'' rett=rett+'' rett=rett+'
' rett=rett+'' rett=rett+'
' else: if FFF==0: rett=rett+'' else: rett=rett+roll('roll'+idtitre,'configbox?typ=O&id='+idtitre,zwui+'rond_ouvre.gif',zwui+'r_rond_ouvre.gif') rett=rett+'' rett=rett+'' rett=rett+'' rett=rett+'' return rett q U_codeq Túc@sed„ZdS(NcCsëttdƒ|dƒ}t|dƒ} t|ƒdjo t|dt|dƒƒ} nt|dt|dƒƒ} t|dt|dƒƒ} t dt t|d ƒƒt t|d ƒƒƒ}t d t t|d ƒƒt t|d ƒƒƒ}t t |ƒt |ƒƒ}t t |ƒdt t|d ƒƒƒ}|d }d„}|}ttdƒ|ddƒ}ttdƒ|ddƒ}d}x/t|ƒD]!}|djo||}qqW|}d}t|dƒdƒo.|dt|dƒjot}d}qnd|d}|dt|dƒdt|d ƒd| d}|d|d t|dƒd!}|d"}|d#|d$| d}|d%| d}|d|d&t|d ƒd}||}|d'|d$| d(}|o:||d)|d*||d+|d,ƒ}|d"}|dt|d-ƒd|d| d}|d|d t|d-ƒd!}|d.}|d|d}|dt|d/ƒd|d0| d}|d|d t|d/ƒd!}|d1}|d2t|d ƒd$| d}|d|d3t|d ƒd}|d4}|d2|d$| d}|d%t|d5ƒd}||}|d6}|d2t|d ƒd$| d}|d|d3t|d ƒd}|d4}|d7t|d8ƒd|d0| d}|d|d t|d8ƒd!}|d.}n¯|djo|d|d9}n*||d)|d:||d;|d<ƒ}|d"}|dt|d-ƒd|d| d}|d|d t|d-ƒd!}|d.}|SdS(=Nssplits*scolor_fond_menuiscolor_iscolor_t_is espacements largeur_rondiøslargeur_colonnes/zwo_images/bo/cCs¯d|d}|d|d|d}|d}|d|d|d}|d}|d|d}|d}|djo|d }n|d |d |d }|SdS( Ns (surlsrettsnomsrolsimg(snomsurlsimgsrolsrett((sScript (Python)srolls    sreplaces>s<sss ssrollsconfigbox?typ=F&id=srond_ferme.gifsr_rond_ferme.gifsmarge_bas_titressmarge_haut_htmls" colspan="3" bgcolor="ss sconfigbox?typ=O&id=srond_ouvre.gifsr_rond_ouvre.gif(s _getattr_sstringscsccs _getitem_sprs colorfondslenscolorscolortsstrsintslslllsllsliszwuszwuisrollstitresidtitresnewtitres _getiter_sFFFsNoneshtmlsrett(szwusprscstitreshtmls _getattr_sstringsccs _getitem_s colorfondslenscolorscolortsstrsintslslllsllsliszwuisrollsidtitresnewtitres _getiter_sFFFsNonesrett((sScript (Python)seditions‚ 22)     4# # ) +# +# ##   ## +# ) +# (sNonesedition(sNonesedition((sScript (Python)ssq U func_defaultsq(NtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq }q!(U co_argcountq"KU co_varnamesq#(Uzwuq$Uprq%UcUtitreq&Uhtmlq'U _getattr_q(Ustringq)Uccq*U _getitem_q+U colorfondq,Ulenq-Ucolorq.Ucolortq/Ustrq0Uintq1UlUlllq2Ullq3Uliq4Uzwuiq5Urollq6Uidtitreq7Unewtitreq8U _getiter_q9UFFFq:UNoneq;Urettq}q?Uxavq@]qAUOwnerqBasUidqCUeditionqDU_paramsqEUzwu,pr,c,titre,html=NoneqFU_dav_writelocksqG(U…qH(U PersistenceqIUPersistentMappingqJtqKtqLQu.‚0í((U OFS.FolderqUFolderqtqNt.}q(Udeplacer_pagesq(U…6q(U#Products.PythonScripts.PythonScriptqU PythonScriptqttq QU change_refq (U…Kq (hU PythonScriptq ttq QUdupliquer_pagesq(U…8q(hU PythonScriptqttqQU menucarteq(U…9q(hU PythonScriptqttqQUskinsq(U…:q(hU PythonScriptqttqQUrefok_avant_patch_metasq(U…;q(hU PythonScriptqttqQU detruireokq(U…q*(hU PythonScriptq+ttq,QUdroitokq-(U…?q.(hU PythonScriptq/ttq0QUskinokq1(U…@q2(hU PythonScriptq3ttq4QUdetruire_pagesq5(U…Aq6(hU PythonScriptq7ttq8QU change_skinq9(U…Bq:(hU PythonScriptq;ttq(hU PythonScriptq?ttq@QU_objectsqA(}qB(U meta_typeqCUScript (Python)qDUidqEU insertpageokqFu}qG(U meta_typeqHUScript (Python)qIUidqJU dupliquerokqKu}qL(U meta_typeqMUScript (Python)qNUidqOUrenommer_pagesqPu}qQ(U meta_typeqRUScript (Python)qSUidqTUdupliquer_pagesqUu}qV(U meta_typeqWUScript (Python)qXUidqYUdetruire_pagesqZu}q[(hWhXhYU detruireokq\u}q](U meta_typeq^UScript (Python)q_Uidq`Udeplacer_pagesqau}qb(h^h_h`U deplaceokqcu}qd(U meta_typeqeUScript (Python)qfUidqgh1u}qh(U meta_typeqiUScript (Python)qjUidqkh-u}ql(U meta_typeqmUScript (Python)qnUidqoU valid_selqpu}qq(hmhnhoU renommerokqru}qs(hmhnhoUskinsqtu}qu(hmhnhoU change_skinqvu}qw(hmhnhoUrefersqxu}qy(hmhnhoUdroitsqzu}q{(hmhnhoU change_droitq|u}q}(U meta_typeq~UScript (Python)qUidq€U droits_localqu}q‚(h~hh€U index_htmlqƒu}q„(U meta_typeq…UScript (Python)q†Uidq‡hu}qˆ(U meta_typeq‰UScript (Python)qŠUidq‹h"u}qŒ(h‰hŠh‹hu}q(h‰hŠh‹U change_refqŽu}q(h‰hŠh‹Urefokqutq‘U renommerokq’(U…Dq“(hU PythonScriptq”ttq•QU change_droitq–(U…Eq—(hU PythonScriptq˜ttq™QUrefokqš(U…Fq›(hU PythonScriptqœttqQUrefersqž(U…GqŸ(hU PythonScriptq ttq¡QU valid_selq¢(U…Hq£(hU PythonScriptq¤ttq¥Qhc(U…Iq¦(hU PythonScriptq§ttq¨QU__ac_local_roles__q©}qªU dupliquerokq«(U…7q¬(hU PythonScriptq­ttq®QU index_htmlq¯(U…Lq°(hU PythonScriptq±ttq²Qh(U…Mq³(hU PythonScriptq´tqµtq¶QhF(U…Jq·(hU PythonScriptq¸ttq¹Qu.‚1b+((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T.couleur='#'+couleur print '' print 'Choix de la couleur' print """ """ print '' print '
' print '
Choisir une couleur.
' RR="ff" VV="ff" BB="ff" if couleur: if len(couleur)>=7: RR=couleur[1:3] VV=couleur[3:5] BB=couleur[5:7] print '' print """

""" print '
' print '' print '' print '' print '
[select]
' print ' ' print '
' print '' return printed q U _filepathq U0Script (Python):/kzexp_zwook/zwo_bo/choixcouleurq U_codeqTÑ0c@sed„ZdS(Nc ECsµtƒ}d|}|dIJ|dIJ|dIJ|d|d|dIJ|dIJ|d IJ|d IJ|d IJd }d }d }|oZt|ƒd joCt |dd…ƒ}t |dd…ƒ}t |dd …ƒ}qæn|dIJ|dIJ|dIJ|d|dIJ|d|dIJ|d|dIJ|d|||dIJ|dIJ|dIJ|d|||dIJ|dIJ|dIJ|d IJ|d!IJ|ƒSdS("Ns#s s"Choix de la couleurs# ss
sF
Choisir une couleur.
sffiiiisisì

s2s%s% [select]s s
s ( s_print_s_printscouleursnomformsnomchampsRRsVVsBBslens _getitem_( snomformsnomchampscouleurs_print_s_printsRRsVVsBBslens _getitem_((sScript (Python)s choixcouleursL   v      ÿÿÿÿÿÿÿé       (sNones choixcouleur(sNones choixcouleur((sScript (Python)ssqU func_defaultsq(NtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU_dav_writelocksq (U…Nq!(U Persistenceq"UPersistentMappingq#tq$tq%QU__ac_local_roles__q&}q'Uxavq(]q)UOwnerq*asUidq+U choixcouleurq,U_paramsq-Unomform,nomchamp,couleur=Noneq.U func_codeq/(cShared.DC.Scripts.Signature FuncCode q0oq1}q2(U co_argcountq3KU co_varnamesq4(Unomformq5Unomchampq6Ucouleurq7U_print_q8U_printq9URRq:UVVq;UBBqtq?ubu.‚3$((U OFS.FolderqUFolderqtqNt.}q(UtitleqU?ajouter un title a toute page, et corrections sur les meta dataqUfor_zwo_bo_arboq(U…Pq(hUFolderq ttq QUidq Umeta_data_and_titleq U_objectsq (}q(U meta_typeqUScript (Python)qh U executez_moiqu}q(U meta_typeqUFolderqUidqhu}q(hhhUfor_zwo_bo_editqu}q(hhhU for_zwo_libqutqh(U…Rq(hUFolderqttqQU__ac_local_roles__q}qUadminq ]q!UOwnerq"ash(U…Qq#(U#Products.PythonScripts.PythonScriptq$U PythonScriptq%ttq&Qh(U…Sq'(hUFolderq(tq)tq*Qu.‚4B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚51¶((U OFS.FolderqUFolderqtqNt.}q(Urond_renommer_skin.pngq(U…Tq(U OFS.ImageqUImageqtq tq QU r_skin.gifq (U…Uq (hUImageq tqtqQU r_admin.gifq(U…Vq(hUImageqtqtqQUr_rond_plus.gifq(U…Wq(hUImageqtqtqQUr_rond_modif_li_co.gifq(U…Xq(hUImageqtqtqQUr_rond_refer.gifq(U…Yq (hUImageq!tq"tq#QUrond_edit_detruit_soustab.gifq$(U…Zq%(hUImageq&tq'tq(QUrond_detruit_col.gifq)(U…[q*(hUImageq+tq,tq-QUrond_edit_user.gifq.(U…\q/(hUImageq0tq1tq2QUici.gifq3(U…]q4(hUImageq5tq6tq7QUcercle_admin.gifq8(U…^q9(hUImageq:tq;tq(U…_q?(hUImageq@tqAtqBQUzwook_edit.gifqC(U…`qD(hUFileqEtqFtqGQUrond_select_elem.gifqH(U…aqI(hUImageqJtqKtqLQUcercle_arbo.gifqM(U…bqN(hUImageqOtqPtqQQUr_cercle_edit.gifqR(U…cqS(hUImageqTtqUtqVQUrond_edit_annule_fusion.gifqW(U…dqX(hUImageqYtqZtq[QUf_cercle_skin.gifq\(U…eq](hUImageq^tq_tq`QUr_rond_detruire.gifqa(U…fqb(hUImageqctqdtqeQUr_rond_fusion.gifqf(U…gqg(hUImageqhtqitqjQUr_rond_annule_fusion.gifqk(U…hql(hUImageqmtqntqoQU rond_skin.gifqp(U…iqq(hUImageqrtqstqtQUrond_renommer_elem.gifqu(U…jqv(hUImageqwtqxtqyQUrond_ferme.gifqz(U…kq{(hUImageq|tq}tq~QUrond_detruire_elem.gifq(U…lq€(hUImageqtq‚tqƒQUf_cercle_edit.gifq„(U…mq…(hUImageq†tq‡tqˆQUrond_unselect_elem.gifq‰(U…nqŠ(hUImageq‹tqŒtqQUrond_dupliquer_skin.gifqŽ(U…oq(hUImageqtq‘tq’QUr_rond_help.gifq“(U…pq”(hUImageq•tq–tq—QUcercle_edit.gifq˜(U…qq™(hUImageqštq›tqœQUcarre_edit_ajout_colonne.gifq(U…rqž(hUImageqŸtq tq¡QUrond_detruit_groupe.gifq¢(U…sq£(hUImageq¤tq¥tq¦QUr_rond_coche_case.gifq§(U……q¨(hUImageq©tqªtq«QUr_carre_ici.gifq¬(U…“q­(hUImageq®tq¯tq°QUrond_detruit_ligne.gifq±(U…vq²(hUImageq³tq´tqµQUr_rond_decoche.gifq¶(U…wq·(hUImageq¸tq¹tqºQUr_rond_detruit_soustab.gifq»(U…xq¼(hUImageq½tq¾tq¿QU inconnu.gifqÀ(U…yqÁ(hUImageqÂtqÃtqÄQUr_rond_zone_edit.gifqÅ(U…zqÆ(hUImageqÇtqÈtqÉQUrond_edit_groupe.gifqÊ(U…{qË(hUImageqÌtqÍtqÎQU p_inconnu.gifqÏ(U…|qÐ(hUImageqÑtqÒtqÓQUrond_ouvre.gifqÔ(U…}qÕ(hUImageqÖtq×tqØQUr_rond_decoche_case.gifqÙ(U…~qÚ(hUImageqÛtqÜtqÝQU rond_help.gifqÞ(U…qß(hUImageqàtqátqâQUrond_editer_skin.gifqã(U…€qä(hUImageqåtqætqçQUzwook_skin.gifqè(U…qé(hUFileqêtqëtqìQUf_cercle_arbo.gifqí(U…‚qî(hUImageqïtqðtqñQUr_rond_duplique.gifqò(U…ƒqó(hUImageqôtqõtqöQU_objectsq÷(}qø(U meta_typeqùUFileqúUidqûhèu}qü(hùhúhûUzwook_arbo.gifqýu}qþ(hùhúhûUzwook_admin.gifqÿu}r(U meta_typerUImagerUidrh„u}r(jjjhRu}r(jjjh\u}r(jjjUr_cercle_skin.gifru}r(jjjhíu}r (jjjUr_cercle_arbo.gifr u}r (jjjUf_cercle_admin.gifr u}r (jjjUr_cercle_admin.gifru}r(jjjUf_cercle_zope.gifru}r(jjjUr_cercle_zope.gifru}r(jjjUcercle_edit.gifru}r(jjjUcercle_skin.gifru}r(jjjUcercle_arbo.gifru}r(jjjUcercle_admin.gifru}r(jjjUcercle_zope.gifru}r(jjjh“u}r(jjjhÞu}r(jjjUr_rond_annule.gifr u}r!(jjjUrond_annule.gifr"u}r#(jjjh>u}r$(U meta_typer%UImager&Uidr'hÔu}r((j%j&j'hzu}r)(U meta_typer*UImager+Uidr,Urond_list_elem.gifr-u}r.(j*j+j,U carre_ici.gifr/u}r0(U meta_typer1UImager2Uidr3Urond_edit_elem.gifr4u}r5(j1j2j3Urond_deplace_elem.gifr6u}r7(j1j2j3Urond_duplique_elem.gifr8u}r9(j1j2j3hu}r:(j1j2j3hHu}r;(j1j2j3h‰u}r<(j1j2j3huu}r=(U meta_typer>UImager?Uidr@Urond_coche_elem.gifrAu}rB(j>j?j@Urond_decoche_elem.gifrCu}rD(U meta_typerEUImagerFUidrGUr_rond_ferme.gifrHu}rI(jEjFjGUr_rond_ouvre.gifrJu}rK(U meta_typerLUImagerMUidrNhu}rO(U meta_typerPUImagerQUidrRUr_rond_edit.gifrSu}rT(jPjQjRUr_rond_coche.gifrUu}rV(jPjQjRh¶u}rW(jPjQjRUr_rond_deplace.gifrXu}rY(jPjQjRhau}rZ(jPjQjRhòu}r[(jPjQjRUr_rond_renommer.gifr\u}r](jPjQjRUr_rond_detruit_col.gifr^u}r_(jPjQjRh)u}r`(jPjQjRh±u}ra(jPjQjRUr_rond_detruit_ligne.gifrbu}rc(jPjQjRh§u}rd(jPjQjRhÙu}re(jPjQjRUrond_coche_case.gifrfu}rg(jPjQjRUrond_decoche_case.gifrhu}ri(U meta_typerjUImagerkUidrlUrond_modif_li_co.gifrmu}rn(jjjkjlhu}ro(U meta_typerpUImagerqUidrrUr_carre_ajout_colonne.gifrsu}rt(jpjqjrUcarre_edit_ajout_colonne.gifruu}rv(jpjqjrUcarre_edit_ajout_ligne.gifrwu}rx(jpjqjrUr_carre_ajout_ligne.gifryu}rz(jpjqjrUr_carre_detruit_colonne.gifr{u}r|(jpjqjrUr_carre_detruit_ligne.gifr}u}r~(jpjqjrUcarre_detruit_colonne.gifru}r€(jpjqjrUcarre_detruit_ligne.gifru}r‚(U meta_typerƒUImager„Uidr…Urond_edit_fusion.gifr†u}r‡(jƒj„j…hfu}rˆ(jƒj„j…hWu}r‰(jƒj„j…hku}rŠ(jƒj„j…Urond_edit_ajout_soustab.gifr‹u}rŒ(jƒj„j…Ur_rond_ajout_soustab.gifru}rŽ(jƒj„j…h$u}r(jƒj„j…h»u}r(U meta_typer‘UImager’Uidr“U mapcolor.jpgr”u}r•(U meta_typer–UImager—Uidr˜h¬u}r™(U meta_typeršUImager›UidrœUrond_detruire_skin.gifru}rž(jšj›jœhŽu}rŸ(jšj›jœhãu}r (jšj›jœUrond_plus_skin.gifr¡u}r¢(jšj›jœUcarre_skin_ajout_colonne.gifr£u}r¤(jšj›jœUcarre_skin_ajout_ligne.gifr¥u}r¦(U meta_typer§UImager¨Uidr©Urond_skin_ajout_soustab.gifrªu}r«(j§j¨j©Urond_skin_annule_fusion.gifr¬u}r­(j§j¨j©Urond_skin_coche_case.gifr®u}r¯(j§j¨j©Urond_skin_decoche_case.gifr°u}r±(j§j¨j©Urond_skin_detruit_soustab.gifr²u}r³(j§j¨j©Urond_skin_fusion.gifr´u}rµ(j§j¨j©Urond_skin_modif_li_co.gifr¶u}r·(U meta_typer¸UImager¹UidrºhÅu}r»(j¸j¹jºUrond_zone_edit.gifr¼u}r½(U meta_typer¾UImager¿UidrÀUr_rond_droit.gifrÁu}rÂ(j¾j¿jÀhu}rÃ(j¾j¿jÀUr_rond_skin.gifrÄu}rÅ(j¾j¿jÀUrond_droit.gifrÆu}rÇ(j¾j¿jÀUrond_refer.gifrÈu}rÉ(j¾j¿jÀhpu}rÊ(U meta_typerËUImagerÌUidrÍUrond_deplace_page.gifrÎu}rÏ(jËjÌjÍUrond_detruit_page.gifrÐu}rÑ(jËjÌjÍUrond_duplique_page.gifrÒu}rÓ(jËjÌjÍUrond_plus_page.gifrÔu}rÕ(jËjÌjÍUrond_renommer_page.gifrÖu}r×(U meta_typerØUImagerÙUidrÚh¢u}rÛ(jØjÙjÚUrond_detruit_user.gifrÜu}rÝ(jØjÙjÚUrond_duplique_groupe.gifrÞu}rß(jØjÙjÚh.u}rà(jØjÙjÚhÊu}rá(jØjÙjÚUrond_plus_groupe.gifrâu}rã(jØjÙjÚUrond_plus_user.gifräu}rå(U meta_typeræUImagerçUidrèU rond_bug.gifréu}rê(jæjçjèUr_rond_bug.gifrëu}rì(U meta_typeríUImagerîUidrïUr_rond_zwook.gifrðu}rñ(U meta_typeròUFileróUidrôUzwook_module.gifrõu}rö(U meta_typer÷UFolderrøUidrùUdisporúu}rû(U meta_typerüUImagerýUidrþUkillfolder.jpgrÿu}r(U meta_typerUImagerUidrhu}r(U meta_typerUImagerUidrU admin.gifru}r (jjjUarbo.gifr u}r (jjjUedit.gifr u}r (jjjU manage.gifru}r(jjjhu}r(jjjU r_arbo.gifru}r(jjjU r_edit.gifru}r(jjjU r_manage.gifru}r(jjjh u}r(jjjUskin.gifru}r(jjjhÏu}r(U meta_typerUImagerUidrU inconnu.gifru}r(U meta_typer UImager!Uidr"Ur_rond_dossier.gifr#u}r$(j j!j"Urond_dossier.gifr%u}r&(U meta_typer'UFiler(Uidr)hCu}r*(U meta_typer+UImager,Uidr-h3utr.j8(U…„r/(hUImager0tr1tr2QjJ(U…Ër3(hUImager4tr5tr6Qj6(U…tr7(hUImager8tr9tr:QjU(U…†r;(hUImager<tr=tr>Qj{(U…‡r?(hUImager@trAtrBQjÞ(U…ˆrC(hUImagerDtrEtrFQj#(U…‰rG(hUImagerHtrItrJQjé(U…‹rK(hUImagerLtrMtrNQj†(U…ŒrO(hUImagerPtrQtrRQj/(U…rS(hUImagerTtrUtrVQjÒ(U…ŽrW(hUImagerXtrYtrZQj(U…r[(hUImager\tr]tr^QjÁ(U…¢r_(hUImager`tratrbQjm(U…‘rc(hUImagerdtretrfQj£(U…’rg(hUImagerhtritrjQj(U…urk(hUImagerltrmtrnQjð(U…”ro(hUImagerptrqtrrQjÔ(U…•rs(hUImagerttrutrvQjÖ(U…–rw(hUImagerxtrytrzQj(U…—r{(hUImager|tr}tr~QjS(U…˜r(hUImager€trtr‚Qjh(U…™rƒ(hUImager„tr…tr†Qj(U…šr‡(hUImagerˆtr‰trŠQjª(U…›r‹(hUImagerŒtrtrŽQj (U…œr(hUImagertr‘tr’Qj‹(U…r“(hUImager”tr•tr–Qj¡(U…žr—(hUImager˜tr™tršQj (U…Ÿr›(hUImagerœtrtržQj(U… rŸ(hUImager tr¡tr¢QjÜ(U…¡r£(hUImager¤tr¥tr¦Qj¬(U…r§(hUImager¨tr©trªQjs(U…£r«(hUImager¬tr­tr®Qj®(U…¤r¯(hUImager°tr±tr²Qjf(U…¥r³(hUImager´trµtr¶Qj(U…¦r·(hUImager¸tr¹trºQj¥(U…§r»(hUImager¼tr½tr¾QUcercle_zope.gifr¿(U…¨rÀ(hUImagerÁtrÂtrÃQjâ(U…©rÄ(hUImagerÅtrÆtrÇQj´(U…ªrÈ(hUImagerÉtrÊtrËQj\(U…«rÌ(hUImagerÍtrÎtrÏQjX(U…¬rÐ(hUImagerÑtrÒtrÓQj(U…­rÔ(hUImagerÕtrÖtr×Qjy(U…®rØ(hUImagerÙtrÚtrÛQUcercle_skin.gifrÜ(U…¯rÝ(hUImagerÞtrßtràQj°(U…°rá(hUImagerâtrãträQjH(U…Ïrå(hUImagerætrçtrèQUdisporé(U…²rê(hUFolderrëtrìtríQj (U…³rî(hUImagerïtrðtrñQjb(U…´rò(hUImagerótrôtrõQjC(U…µrö(hUImager÷trøtrùQjÆ(U…¶rú(hUImagerûtrütrýQjä(U…·rþ(hUImagerÿtrtrQj (U…¸r(hUImagertrtrQj¶(U…¹r(hUImagertrtr Qj”(U…ºr (hUImager tr tr QjÄ(U…»r(hUImagertrtrQj(U…¼r(hUImagertrtrQj(U…½r(hUImagertrtrQj¼(U…¾r(hUImagertrtrQj(U…¿r(hUImagertr tr!Qjë(U…Àr"(hUImager#tr$tr%QUzwook_admin.gifr&(U…Ár'(hUFiler(tr)tr*Qj(U…Âr+(hUImager,tr-tr.Qj4(U…Ãr/(hUImager0tr1tr2QjA(U…Ñr3(hUImager4tr5tr6QhûUbor7j(U…År8(hUImager9tr:tr;Qj%(U…Ær<(hUImager=tr>tr?QjÈ(U…Çr@(hUImagerAtrBtrCQjÎ(U…ÈrD(hUImagerEtrFtrGQhý(U…ÉrH(hUFilerItrJtrKQjÐ(U…ÊrL(hUImagerMtrNtrOQjÿ(U…ŠrP(hUImagerQtrRtrSQj"(U…ÌrT(hUImagerUtrVtrWQj^(U…ÍrX(hUImagerYtrZtr[Qj(U…Îr\(hUImager]tr^tr_Qj-(U…±r`(hUImageratrbtrcQj²(U…Ðrd(hUImageretrftrgQj (U…Ärh(hUImageritrjtrkQUzwook_module.gifrl(U…Òrm(hUFilerntrotrpQj}(U…Órq(hUImagerrtrstrtQj(U…Ôru(hUImagervtrwtrxQU__ac_local_roles__ry}rzjw(U…Õr{(hUImager|tr}tr~Qu.‚6}((U OFS.FolderqUFolderqtqNt.}q(U_objectsq)U__ac_local_roles__q}qUxavq]q UOwnerq asUidq Umodulesq Utitleq Uu.‚7M((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUgregq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qU pixel.gifqUsizeqL43L UdataqU+GIF89a€ÿÿÿ!ù,D;qU_dav_writelocksq(U…Öq(U PersistenceqUPersistentMappingqtqtqQu.‚8((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qUadminq(U…×q(UAccessControl.Userq UUserq tq tq Qss.‚9B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚:B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚;ã((U OFS.FolderqUFolderqtqNt.}q(U date_creationqI00 U params_stringqUUadminq(U…Øq(hUFolderq tq tq QU params_floatq UUtitleq UUlenLoginqKUsystemqUdataqU params_linesqUUemailqI00 U type_zwookqUsystemqU params_intqUUinscriptionmodereeqKU _propertiesq(}q(UtypeqUstringqUidqh UmodeqUwu}q(hUstringqhU type_zwookqu}q (hUstringq!hUsystemq"u}q#(Utypeq$Ustringq%Uidq&hu}q'(h$Ustringq(h&hu}q)(h$Ubooleanq*h&Uavatarq+u}q,(h$Ubooleanq-h&Uemailq.u}q/(h$Ubooleanq0h&U date_creationq1u}q2(h$Ustringq3h&hu}q4(h$Ustringq5h&h u}q6(Utypeq7Uintq8Uidq9hu}q:(h7h8h9hutq;U_objectsq<(}q=(U meta_typeq>UFolderq?Uidq@UadminqAutqBU__ac_local_roles__qC}qDhUusersqEUavatarqFI01 u.‚<}((U OFS.FolderqUFolderqtqNt.}q(U_objectsq)U__ac_local_roles__q}qUjamesq]q UOwnerq asUidq Upacksq Utitleq Uu.‚=((U OFS.FolderqUFolderqtqNt.}q(Uforums_historyq(U…Ùq(hUFolderqttqQU calendrierq (U…Ûq (hUFolderq ttq QUepozq (U…Úq(hUFolderqttqQU news_historyq(U…ßq(hUFolderqttqQUtitleqUU faqs_historyq(U…Üq(hUFolderqttqQU newsletter_1q(U…Þq(hUFolderqttqQUproduits_dispatchesq(U…Ýq(hUFolderq ttq!QU_objectsq"(}q#(U meta_typeq$UFolderq%Uidq&U calendrierq'u}q((h$h%h&Uepozq)u}q*(h$h%h&Uforums_historyq+u}q,(h$h%h&U news_historyq-u}q.(U meta_typeq/UFolderq0Uidq1Usimplepoll_historyq2u}q3(U meta_typeq4UFolderq5Uidq6hu}q7(h4h5h6U newsletter_1q8u}q9(U meta_typeq:UFolderq;Uidq}q?Uadminq@]qAUOwnerqBasUidqCUmodulesqDh2(U…àqE(hUFolderqFtqGtqHQu.‚?ö((U OFS.FolderqUFolderqtqNt.}q(Ulogq(U…äq(UOFS.DTMLDocumentqU DTMLDocumentqtq tq QU_objectsq (}q (U meta_typeq U DTML DocumentqUidqUlogqutqU__ac_local_roles__q}qUjamesq]qUOwnerqashUstandby_contentqUtitleqUu.‚@F((U OFS.FolderqUFolderqtqNt.}q(U Authenticatedq(U…åq(hUFolderqttqQU pages_managerq (U…ëq (hUFolderq tq tq QU e-cours_zwookq(U…æq(hUFolderqttqQUtitleqUU skin_editorq(U…çq(hUFolderqttqQUsystemqUdataqU config_zwookq(U…èq(hUFolderqttqQUManagerq(U…éq(hUFolderqttq QU type_zwookq!Usystemq"U Anonymousq#(U…êq$(hUFolderq%ttq&QU _propertiesq'(}q((Utypeq)Ustringq*Uidq+hUmodeq,Uwu}q-(h)Ustringq.h+U type_zwookq/u}q0(h)Ustringq1h+Usystemq2utq3U_objectsq4(}q5(U meta_typeq6UFolderq7Uidq8U Anonymousq9u}q:(h6h7h8U Authenticatedq;u}q<(h6h7h8UManagerq=u}q>(U meta_typeq?UFolderq@UidqAhu}qB(U meta_typeqCUFolderqDUidqEU pages_managerqFu}qG(hChDhEU skin_editorqHu}qI(U meta_typeqJUFolderqKUidqLhutqMU__ac_local_roles__qN}qOh+UgroupsqPu.‚>ï((U OFS.FolderqUFolderqtqNt.}q(UtitleqUU navigationq(U…ãq(hUFolderqtq tq QUsystemq Udataq Uavatarq (U…áq(hUFolderqtqtqQU _propertiesq(}q(UtypeqUstringqUidqhUmodeqUwu}q(hUstringqhUsystemqu}q(hUstringqhU type_zwookqutqU_objectsq(}q (U meta_typeq!UFolderq"hUavatarq#u}q$(h!h"hUfondsq%u}q&(U meta_typeq'UFolderq(Uidq)hutq*Ufondsq+(U…âq,(hUFolderq-tq.tq/QU__ac_local_roles__q0}q1hUimagesq2U type_zwookq3Usystemq4u.‚A ((U OFS.FolderqUFolderqtqNt.}q(UsystemeqUdataqUtitleqUUdefaultq(U…ìq (hUFolderq ttQUnew_friendly_zwook2q (Uµ"q (hUFolderq ttQU type_zwookqUsystemqUblue_friendly_zwookq(UÞq(hUFolderqttQU _propertiesq(}q(UtypeqUstringqUidqUtitleqUmodeqUwu}q(hUstringqhU type_zwookqu}q(hUstringqhhutqUhome_zwook.org_2005_2q (U›Jq!(hUFolderq"ttQU_objectsq#(}q$(U meta_typeq%UFolderq&Uidq'Udefaultq(u}q)(U meta_typeq*UFolderq+Uidq,Ufriendly_zwook2q-u}q.(U meta_typeq/UFolderq0Uidq1h u}q2(U meta_typeq3UFolderq4Uidq5h u}q6(U meta_typeq7UFolderq8Uidq9hutq:h-(U…íq;(hUFolderq(Uadminq?]q@(UadminqA(UOwnerqBttqCaUmanuqD]qE(UadminqF(UOwnerqGttqHauUidqIUskinsqJu.‚B¤((U OFS.FolderqUFolderqtqNt.}q(UtitleqUUdefaultq(U…îq(UOFS.DTMLMethodqU DTMLMethodq tq tq QUimagesq (U…ïq (hUFolderqtqtqQU_objectsq(}q(U meta_typeqU DTML MethodqUidqUdefaultqu}q(U meta_typeqUFolderqUidqUimagesqu}q(U meta_typeqU DTML MethodqUidqU default.cssq utq!U__ac_local_roles__q"}q#Uadminq$]q%UOwnerq&asUidq'Ucssq(h (U…ðq)(hU DTMLMethodq*tq+tq,Qu.‚EÖ((U OFS.FolderqUFolderqtqNt.}q(Ugroupes_visiteursqUAuthenticated&AnonymousqUtitleqUinformation du dossierqU title_htmlq UZwook active RC6 beta 3q U new_droitsq U1Uordreq U modules&zwookq UsystemqUdataqUtableauxq(UdPT:T1:hauteur=/largeur=/marge=/cadre=/couleurcadre=/couleurfond=/couleurtexte=/align=left/valign=topqU CT:T1:C7/C8qUCC:C7:texte_fckqUyPC:C7:colspan=1/rowspan=1/hauteur=/largeur=/marge=5/cadre=/couleurcadre=/couleurfond=/couleurtexte=/align=left/valign=topqUCC:C8:qUzPC:C8:colspan=1/rowspan=1/hauteur=/largeur=/marge=/cadre=/couleurcadre=/couleurfond=/couleurtexte=/align=center/valign=topqtqUgroupes_editeursqUconfig_zwook&blogqUnew_refqU1U type_zwookqUsystemqUskinqUblue_friendly_zwookqU _propertiesq(}q (Utypeq!Ustringq"Uidq#hUmodeq$Uwdq%u}q&(h!h"h#hu}q'(h!h"h#hu}q((h!h"h#Unew_skinq)u}q*(h!h"h#hu}q+(h!h"h#h u}q,(h!h"h#hu}q-(h!h"h#hu}q.(h!h"h#h u}q/(h!h"h#hu}q0(h!Ulinesq1h#Umetasq2u}q3(h!h1h#hu}q4(Utypeq5Ustringq6Uidq7h utq8U__ac_local_roles__q9}q:Uadminq;]qh)U1h2(U=http-equiv=content-type!!content=text/html;charset=iso-8859-1q?Uname=author!!content=q@U"name=Revisit-after!!content=3 daysqAU$name=resource-type!!content=documentqBUname=Titre!!content=qCUname=Description!!content=qDUname=Keyword!!content=qEUname=dc.subject!!content=qFUname=dc.description!!content=qGUname=dc.keyword!!content=qHUname=language!!content=frqIU$name=robot!!content=index,follow,allqJtqKu.‚C((U OFS.FolderqUFolderqtqNt.}q(U utilisateurqUzwookutilisateurqU rapideditqU1UformatqUhtmlq Uimageq (U…ñq (hUFolderq ttQUtitleq U texte_fckqUelementqUtext_fckqU type_zwookqhU _propertiesq(}q(UtypeqUstringqUidqh UmodeqUwdqu}q(hhhhu}q(hhhhu}q(hhhhu}q(hhhhu}q(hhhhutqU_objectsq(}q (U meta_typeq!U DTML Documentq"hUdocumentq#u}q$(h!UFolderq%hh utq&h#(U…òq'(UOFS.DTMLDocumentq(U DTMLDocumentq)ttQU__ac_local_roles__q*}q+Uadminq,]q-UOwnerq.ashU texte_fckq/u.‚D((U OFS.FolderqUFolderqtqNt.}q(U zwo_dossierq(U…óq(hUFolderqttqQUtitleq USupportq U texte_fckq (U…ôq (hUFolderq ttqQUscriptpython_2q(U…õq(hUFolderqtqtqQU type_zwookqUdossierqU _propertiesq(}q(UtypeqUstringqUidqh UmodeqUwdqu}q(hhhhutqU_objectsq(}q (U meta_typeq!UFolderq"hhu}q#(U meta_typeq$UFolderq%Uidq&hu}q'(U meta_typeq(UFolderq)Uidq*U texte_fckq+utq,U__ac_local_roles__q-}q.(Uadminq/]q0UOwnerq1aUmanuq2]q3(Uadminq4(UOwnerq5ttq6auhUsupportq7u.‚F ˜((U OFS.FolderqUFolderqtqNt.}q(Uwikiq(U…öq(hUFolderqttQU zwo_dossierq(U…÷q (hUFolderq ttQUlistedesmembresq (U† q (hUFolderq ttQU inscriptionq(U…øq(hUFolderqttQU logscrawlerq(U…ùq(hUFolderqttQU mailgroupq(U…úq(hUFolderqttQUvideoq(U…ûq(hUFolderqttQUtextepozq(U…üq(hUFolderqttQU mp3playlistq(U…ýq(hUFolderqttQUimagesq (U…þq!(hUFolderq"ttQU newsletterq#(U†q$(hUFolderq%ttQUforumsq&(U†q'(hUFolderq(ttQUidq)Umodulesq*Uannuairedeliensq+(U†q,(hUFolderq-ttQU fckeditorq.(U†q/(hUFolderq0ttQU preferencesq1(U†q2(hUFolderq3ttQUtitleq4UModulesq5U!listedesmoduledelaversionrc6beta3q6(U›Gq7(U OFS.Imageq8UFileq9ttQUsondageq:(U†q;(hUFolderq(hUFolderq?ttQU type_zwookq@UdossierqAUproduitdispatchqB(U†qC(hUFolderqDttQU_objectsqE(}qF(U meta_typeqGUFolderqHh)hu}qI(U meta_typeqJUFolderqKUidqLUforumsqMu}qN(U meta_typeqOUFolderqPUidqQU preferencesqRu}qS(U meta_typeqTUFolderqUUidqVh+u}qW(hThUhVh.u}qX(hThUhVUnewsqYu}qZ(U meta_typeq[UFolderq\Uidq]h:u}q^(U meta_typeq_UFolderq`UidqaUcontactqbu}qc(h_h`haUtextbrutqdu}qe(h_h`hahu}qf(h_h`hahBu}qg(U meta_typeqhUFolderqiUidqjUfichiersatelechargerqku}ql(U meta_typeqmUFolderqnUidqohu}qp(hmhnhoU albumphotosqqu}qr(U meta_typeqsUFolderqtUidquhu}qv(hshthuUimagesqwu}qx(U meta_typeqyUFolderqzUidq{Utitreq|u}q}(hyhzh{Utraitq~u}q(U meta_typeq€UFolderqUidq‚Ucongesscolaireqƒu}q„(U meta_typeq…UFolderq†Uidq‡Urssqˆu}q‰(h…h†h‡h u}qŠ(U meta_typeq‹UFolderqŒUidqhu}qŽ(h‹hŒhU cataloguequ}q(h‹hŒhU inscriptionq‘u}q’(h‹hŒhhu}q“(h‹hŒhU newsletterq”u}q•(U meta_typeq–UFolderq—Uidq˜Uvideoq™u}qš(U meta_typeq›UFolderqœUidqUfaqqžu}qŸ(U meta_typeq UFolderq¡Uidq¢Utodolistq£u}q¤(U meta_typeq¥UFileq¦Uidq§h6utq¨h£(U†q©(hUFolderqªttQh~(U† q«(hUFolderq¬ttQUfaqq­(U† q®(hUFolderq¯ttQUtitreq°(U† q±(hUFolderq²ttQhk(U† q³(hUFolderq´ttQUnewsqµ(U…ÿq¶(hUFolderq·ttQhˆ(U†q¸(hUFolderq¹ttQhƒ(U†qº(hUFolderq»ttQhq(U†q¼(hUFolderq½ttQUcontactq¾(U†q¿(hUFolderqÀttQU _propertiesqÁ(}qÂ(UtypeqÃUstringqÄh)h4UmodeqÅUwdqÆu}qÇ(hÃhÄh)h@utqÈhd(U†qÉ(hUFolderqÊttQU__ac_local_roles__qË}qÌ(UadminqÍ]qÎ(UadminqÏ(UOwnerqÐttqÑaUmanuqÒ]qÓ(UadminqÔ(UOwnerqÕttqÖauu.‚GB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚HB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚I˜((U OFS.FolderqUFolderqtqNt.}q(UtitleqUU parse_testerq(U†q(U#Products.PythonScripts.PythonScriptqU PythonScriptq tq tq QU parse_rssq (U†q (U&Products.ExternalMethod.ExternalMethodqUExternalMethodqtqtqQU_objectsq(}q(U meta_typeqUExternal MethodqUidqU parse_rssqu}q(hUScript (Python)qhU parse_testerqutqU__ac_local_roles__q}qUjamesq]qUOwnerq ashUrssq!u.‚“B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚JB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚KB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚LB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚MB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚NB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚OB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚PN((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT // Epoz-Language-File: ru (Russian (windows-1251)) // Sergey V. Volobuev, 2003 EpozLang["Normal"]='Îáû÷íûé'; EpozLang["Paragraph"]='Àáçàö'; EpozLang["Heading1"]='Çàãîëîâîê 1'; EpozLang["Heading2"]='Çàãîëîâîê 2'; EpozLang["Heading3"]='Çàãîëîâîê 3'; EpozLang["Heading4"]='Çàãîëîâîê 4'; EpozLang["Heading5"]='Çàãîëîâîê 5'; EpozLang["Heading6"]='Çàãîëîâîê 6'; EpozLang["Formatted"]='Ôîðìàòèðîâàííûé'; EpozLang["Bold"]='Ïîëóæèðíûé'; EpozLang["Italic"]='Êóðñèâ'; EpozLang["Underline"]='Ïîä÷åðêíóòûé'; EpozLang["Subscript"]='Íèæíèé èíäåêñ'; EpozLang["Superscript"]='Âåðõíèé èíäåêñ'; EpozLang["TextColor"]='Öâåò øðèôòà'; EpozLang["BackColor"]='Öâåò ôîíà'; EpozLang["AlignLeft"]='Ïî ëåâîìó êðàþ'; EpozLang["Center"]='Ïî öåíòðó'; EpozLang["AlignRight"]='Ïî ïðàâîìó êðàþ'; EpozLang["OrderedList"]='Íóìåðàöèÿ'; EpozLang["UnorderedList"]='Ìàðêåðû'; EpozLang["Outdent"]='Óìåíüøèòü îòñòóï'; EpozLang["Indent"]='Óâåëè÷èòü îòñòóï'; EpozLang["InsertLink"]='Âñòàâèòü ãèïåðññûëêó'; EpozLang["InsertImage"]='Âñòàâèòü èçîáðàæåíèå'; EpozLang["InsertRule"]='Âñòàâèòü ëèíåéêó'; EpozLang["InsertTable"]='Âñòàâèòü òàáëèöó'; EpozLang["Toolbox"]='Èíñòðóìåíòû'; EpozLang["Undo"]='Îòìåíèòü'; EpozLang["Redo"]='Ïîâòîðèòü'; EpozLang["EnterLinkURL"]='Ââåäèòå URL ñòðàíèöû'; EpozLang["EnterImageURL"]='Ââåäèòå URL èçîáðàæåíèÿ'; EpozLang["EnterTableRows"]='×èñëî ñòðîê'; EpozLang["EnterTableColumns"]='×èñëî ñòîëáöîâ'; EpozLang["EnterTableBorder"]='Øèðèíà ãðàíèöû'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_ru.js.dtmlqu.‚Q*˜((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTî)//##### //### Epoz - a cross-browser-wysiwyg-editor for Zope //## Copyright (C) 2004 Maik Jablonski (maik.jablonski@uni-bielefeld.de) //# // Just to prevent typos when fetching the Epoz-IFrame... var Epoz = "EpozEditor"; // Speed-Up-Storage for document.getElementById(Epoz); var EpozElement; var EpozTextArea; // Global storages var form_data; // the document-data var form_name; // the name of the form-element var form_path; // path to buttons, font-selectors, ... var form_toolbox; // path to optional toolbox var form_area_style; // css-definition for wysiwyg-area var form_button_style; // css-definition for buttons var form_css; // css-style for iframe var form_customcss; // customized css-style for iframe var form_charset; // charset for iframe var form_pageurl; // real url for the edited page // Detect browser type and create Epoz- or Default-Textbox function InitEpoz(name, data, path, toolbox, style, button, css, customcss, charset, pageurl) { form_name = name; form_data = data; form_path = path; form_toolbox = toolbox; form_area_style = style; form_button_style = button; form_css = css; form_customcss = customcss; form_charset = charset; form_pageurl = pageurl; if (browser.isIE55 || browser.isIE6up) { // Mac-IE doesn't support RichText-Edit at the moment if (browser.isMac) { CreateTextarea(); } else { CreateEpoz(); } } else if (browser.isGecko) { //check to see if midas is enabled try { // Just a few cleanups for Mozilla form_data = form_data.replace(//ig,''); form_data = form_data.replace(/]*)>/ig,''); form_data = form_data.replace(/<\/strong>/ig,''); form_data = form_data.replace(//ig,''); form_data = form_data.replace(/]*)>/ig,''); form_data = form_data.replace(/<\/em>/ig,''); document.getElementById('EpozIFrame').contentDocument.designMode = "on"; document.getElementById('EpozIFrame').contentWindow.document.execCommand("undo", false, null); CreateEpoz(); } catch (e) { CreateTextarea(); } } else { CreateTextarea(); } } // Needs to be called by timeout for Mozilla... function EnableDesignMode() { if (browser.isIE5up) { frames[Epoz].document.designMode = "On"; } else { // just a try-catch-poll to see // when Mozilla is ready to go... try { EpozElement.contentDocument.designMode = "on"; } catch (e) { setTimeout(EnableDesignMode, 10); return; } } // Set all forms in sync with Epoz if (document.getElementsByTagName) var x = document.getElementsByTagName('FORM'); else if (document.all) var x = document.all.tags('FORM'); for (var i=0;i'; InsertHTML(anchorhtml); } } // Create a Hyperlink - IE has its own implementation function CreateLink(URL) { if (browser.isIE5up == false && ((URL == null) || (URL == ""))) { URL = prompt(EpozLang["EnterLinkURL"], ""); if ((URL != null) && (URL != "")) { EpozElement.contentWindow.document.execCommand("CreateLink",false,URL) } else { EpozElement.contentWindow.document.execCommand("Unlink",false, "") } } else { EpozElement.contentWindow.document.execCommand("CreateLink",false,URL) } } // Insert image via a URL function CreateImage(URL) { if ((URL == null) || (URL == "")) { URL = prompt(EpozLang["EnterImageURL"], ""); } if ((URL != null) && (URL != "")) { EpozElement.contentWindow.focus() EpozElement.contentWindow.document.execCommand('InsertImage', false, URL); } } // Creates a simple table function CreateTable(rows, cols, border, head) { rows = parseInt(rows); cols = parseInt(cols); if ((rows > 0) && (cols > 0)) { table = ' \n'; for (var i=0; i < rows; i++) { table = table + " \n"; for (var j=0; j < cols; j++) { if(i==0 && head=="1") { table += " \n"; } else { table += " \n"; } } table += " \n"; } table += "
##
\n"; InsertHTML(table); } EpozElement.contentWindow.focus() } // Sets selected formats function SelectFormat(selectname) { // First one is only a label if (selectname.selectedIndex != 0) { EpozElement.contentWindow.document.execCommand(selectname.id, false, selectname.options[selectname.selectedIndex].value); selectname.selectedIndex = 0; } EpozElement.contentWindow.focus(); } // Sets foreground-color function SetTextColor() { EpozColorCommand='forecolor'; window.open(form_path+'epoz_script_color.html','EpozColor','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=220,height=220'); } // Sets background-color function SetBackColor() { EpozColorCommand='backcolor'; window.open(form_path+'epoz_script_color.html','EpozColor','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=220,height=220'); } // Submit color-command to Rich-Text-Controls function SetColor(color) { if (browser.isGecko) { EpozElement.contentWindow.document.execCommand('useCSS',false, false); } EpozElement.contentWindow.document.execCommand(EpozColorCommand, false, color); EpozElement.contentWindow.focus(); } // Switch between Source- and Wysiwyg-View function SwitchViewMode(source_mode) { var html = GetHTML(!source_mode); if (source_mode) { EpozTextArea.value=TidyHTML(html); document.getElementById("EpozToolbar").style.display="none"; EpozTextArea.style.display="inline"; } else { EpozElement.contentWindow.document.body.innerHTML = html; document.getElementById("EpozToolbar").style.display="inline"; EpozTextArea.style.display="none"; if (browser.isGecko) { EpozElement.contentDocument.designMode = "on"; } } } qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_script_mainqu.‚jŠ((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq }q U name_subpathq Utraverse_subpathq ssbU__ac_local_roles__q }qUadminq]qUOwnerqasUidqUepoz_toolbox.ptqU content_typeqU text/htmlqU_textqTO Title or Id
Search Terms
Search results
Title Title Metatype Insert Link
qu.‚S•((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_image.gifqUdataqT®GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù þ,‹ý H° Áƒ*\Ȱ¡Ã‡Iœ8ÄÕÃ@ÿ2þ ”®¢CŒÍ”!ÃØÑ"CŒË’ÝÒ3¤å†ø!»µÍ+Q^ž´ ,[ÄL±Ò¹0P;^Ójbj(Lqµ–J¥)“Ó“×^£úIÒÕ¢ÌR‰â”I¤¯ ±ZËv-Q….㺄H·®Ý»x;qUsizeqL942L u.‚t|((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTÎ// Epoz-Language-File: fi (Finnish) // petri.savolainen@iki.fi, 2003 EpozLang["Normal"]='Normaali'; EpozLang["Paragraph"]='Kappale'; EpozLang["Heading1"]='Otsikko 1'; EpozLang["Heading2"]='Otsikko 2'; EpozLang["Heading3"]='Otsikko 3'; EpozLang["Heading4"]='Otsikko 4'; EpozLang["Heading5"]='Otsikko 5'; EpozLang["Heading6"]='Otsikko 6'; EpozLang["Formatted"]='Muotoiltu'; EpozLang["Bold"]='Lihavoitu'; EpozLang["Italic"]='Kursivoitu'; EpozLang["Underline"]='Alleviivattu'; EpozLang["Strikethrough"]='Yliviivattu'; EpozLang["Subscript"]='Alaindeksi'; EpozLang["Superscript"]='Yläindeksi'; EpozLang["TextColor"]='Tekstin väri'; EpozLang["BackColor"]='Taustan väri'; EpozLang["AlignLeft"]='Tasaa vasemmalle'; EpozLang["Center"]='Keskitä'; EpozLang["AlignRight"]='Tasaa oikealle'; EpozLang["OrderedList"]='Järjestetty lista'; EpozLang["UnorderedList"]='Järjestämätön lista'; EpozLang["Outdent"]='Vähennä sisennystä'; EpozLang["Indent"]='Kasvata sisennystä'; EpozLang["InsertLink"]='Lisää linkki'; EpozLang["InsertImage"]='Lisää kuva'; EpozLang["InsertRule"]='Lisää viiva'; EpozLang["InsertTable"]='Lisää taulukko'; EpozLang["Toolbox"]='Työkalupakki'; EpozLang["Undo"]='Peru'; EpozLang["Redo"]='Tee uudelleen'; EpozLang["EnterLinkURL"]='Anna linkin URL'; EpozLang["EnterImageURL"]='Anna kuvan URL'; EpozLang["EnterTableRows"]='Anna rivimäärä'; EpozLang["EnterTableColumns"]='Anna sarakemäärä'; EpozLang["EnterTableBorder"]='Anna kehyksen määrittely'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_fi.js.dtmlqu.‚TX((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_hr.gifqUdataqTtGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Qÿ H° Áƒ*\Ȱ¡Ã‡z™H±¢Å‹/jܱ£Çÿ¼„Ìr"I„"GŽLÉò`J•"[ž$ø²bÉ—* ÊŒy§N˜@}‚J´¨Ñ€;qUsizeqL884L u.‚V~((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_table.gifqUdataqT—GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù þ,tý H° Áƒ*\Ȱ¡Ã†^"JœH1¢A/œ2jܸq–—‹Cjôxñß?W&O¦DiÒÕÇ‚^Z®œÙò%A/®rêÜÉÓæÀ˜*e =éS P–A“º¼È³é΢þŽÒT UêP¤Ka:ÝZµ¢W‰ÊKVa@;qUsizeqL919L u.‚xƒ((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT×// Browser Detect v2.1.6 // documentation: http://www.dithered.com/javascript/browser_detect/index.html // license: http://creativecommons.org/licenses/by/1.0/ // code by Chris Nott (chris[at]dithered[dot]com) function BrowserDetect() { var ua = navigator.userAgent.toLowerCase(); // browser engine name this.isGecko = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1); this.isAppleWebKit = (ua.indexOf('applewebkit') != -1); // browser name this.isKonqueror = (ua.indexOf('konqueror') != -1); this.isSafari = (ua.indexOf('safari') != - 1); this.isOmniweb = (ua.indexOf('omniweb') != - 1); this.isOpera = (ua.indexOf('opera') != -1); this.isIcab = (ua.indexOf('icab') != -1); this.isAol = (ua.indexOf('aol') != -1); this.isIE = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) ); this.isMozilla = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length); this.isFirebird = (ua.indexOf('firebird/') != -1); this.isNS = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) ); // spoofing and compatible browsers this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE); this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla); // rendering engine versions this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 ); this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 ); this.appleWebKitVersion = ( (this.isAppleWebKit) ? parseFloat( ua.substring( ua.indexOf('applewebkit/') + 12) ) : -1 ); // browser version this.versionMinor = parseFloat(navigator.appVersion); // correct version number if (this.isGecko && !this.isMozilla) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) ); } else if (this.isMozilla) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ); } else if (this.isIE && this.versionMinor >= 4) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) ); } else if (this.isKonqueror) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) ); } else if (this.isSafari) { this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('safari/') + 7 ) ); } else if (this.isOmniweb) { this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('omniweb/') + 8 ) ); } else if (this.isOpera) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera') + 6 ) ); } else if (this.isIcab) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab') + 5 ) ); } this.versionMajor = parseInt(this.versionMinor); // dom support this.isDOM1 = (document.getElementById); this.isDOM2Event = (document.addEventListener && document.removeEventListener); // css compatibility mode this.mode = document.compatMode ? document.compatMode : 'BackCompat'; // platform this.isWin = (ua.indexOf('win') != -1); this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) ); this.isMac = (ua.indexOf('mac') != -1); this.isUnix = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1) this.isLinux = (ua.indexOf('linux') != -1); // specific browser shortcuts this.isNS4x = (this.isNS && this.versionMajor == 4); this.isNS40x = (this.isNS4x && this.versionMinor < 4.5); this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7); this.isNS4up = (this.isNS && this.versionMinor >= 4); this.isNS6x = (this.isNS && this.versionMajor == 6); this.isNS6up = (this.isNS && this.versionMajor >= 6); this.isNS7x = (this.isNS && this.versionMajor == 7); this.isNS7up = (this.isNS && this.versionMajor >= 7); this.isIE4x = (this.isIE && this.versionMajor == 4); this.isIE4up = (this.isIE && this.versionMajor >= 4); this.isIE5x = (this.isIE && this.versionMajor == 5); this.isIE55 = (this.isIE && this.versionMinor == 5.5); this.isIE5up = (this.isIE && this.versionMajor >= 5); this.isIE6x = (this.isIE && this.versionMajor == 6); this.isIE6up = (this.isIE && this.versionMajor >= 6); this.isIE4xMac = (this.isIE4x && this.isMac); } var browser = new BrowserDetect();qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_script_detectqu.‚Xx((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTÊ// Epoz-Language-File: hu (Hungarian) // dtamas@pressflex.com, 2003 EpozLang["Normal"]='Normál'; EpozLang["Paragraph"]='Bekezdés'; EpozLang["Heading1"]='Címsor 1'; EpozLang["Heading2"]='Címsor 2'; EpozLang["Heading3"]='Címsor 3'; EpozLang["Heading4"]='Címsor 4'; EpozLang["Heading5"]='Címsor 5'; EpozLang["Heading6"]='Címsor 6'; EpozLang["Formatted"]='Formázott'; EpozLang["Bold"]='Félkövér'; EpozLang["Italic"]='Kurzív'; EpozLang["Underline"]='Aláhúzott'; EpozLang["Strikethrough"]='Áthúzott'; EpozLang["Subscript"]='Alsó index'; EpozLang["Superscript"]='Felsô index'; EpozLang["TextColor"]='Szövegszín'; EpozLang["BackColor"]='Háttérszín'; EpozLang["AlignLeft"]='Balra igazított'; EpozLang["Center"]='Közép'; EpozLang["AlignRight"]='Jobbra igazított'; EpozLang["OrderedList"]='Sorszámozott lista'; EpozLang["UnorderedList"]='Felsorolás'; EpozLang["Outdent"]='Kihúzás'; EpozLang["Indent"]='Behúzás'; EpozLang["InsertLink"]='Hivatkozás beszúrása'; EpozLang["InsertImage"]='Kép beszúrása'; EpozLang["InsertRule"]='Elválasztó beszúrása'; EpozLang["InsertTable"]='Táblázat beszúrása'; EpozLang["Toolbox"]='Eszköztár'; EpozLang["Undo"]='Vissza'; EpozLang["Redo"]='Újra'; EpozLang["EnterLinkURL"]='Írja be a hivatkozás URL-jét'; EpozLang["EnterImageURL"]='Írja be a kép URL-jét'; EpozLang["EnterTableRows"]='Sorok száma'; EpozLang["EnterTableColumns"]='Oszlopok száma'; EpozLang["EnterTableBorder"]='Keretvastagság'; EpozLang["TableWithHead"]='Táblázat fejléccel'; EpozLang["TableWithoutHead"]='Táblázat fejléc nélkül'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_hu.js.dtmlqu.‚Zå((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT7// Epoz-Language-File: es (Spanish) // Thanks to Pedro J. Rey Sanchiz EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Párrafo'; EpozLang["Heading1"]='Cabecera 1'; EpozLang["Heading2"]='Cabecera 2'; EpozLang["Heading3"]='Cabecera 3'; EpozLang["Heading4"]='Cabecera 4'; EpozLang["Heading5"]='Cabecera 5'; EpozLang["Heading6"]='Cabecera 6'; EpozLang["Formatted"]='Formateado'; EpozLang["Bold"]='Negrita'; EpozLang["Italic"]='Cursiva'; EpozLang["Underline"]='Subrayado'; EpozLang["Subscript"]='Subíndice'; EpozLang["Superscript"]='Superíndice'; EpozLang["TextColor"]='Color'; EpozLang["BackColor"]='Color de fondo'; EpozLang["AlignLeft"]='Alineación izquierda'; EpozLang["Center"]='Centrado'; EpozLang["AlignRight"]='Alineación derecha'; EpozLang["OrderedList"]='Lista numerada'; EpozLang["UnorderedList"]='Viñetas'; EpozLang["Outdent"]='Sangrar más'; EpozLang["Indent"]='Sangrar menos'; EpozLang["InsertLink"]='Insertar hipervínculo'; EpozLang["InsertImage"]='Insertar imagen'; EpozLang["InsertRule"]='Insertar regla horizontal'; EpozLang["InsertTable"]='Insertar tabla'; EpozLang["Toolbox"]='Toolbox'; EpozLang["Undo"]='Deshacer'; EpozLang["Redo"]='Rehacer'; EpozLang["EnterLinkURL"]='Introduzca la dirección del hipervínculo'; EpozLang["EnterImageURL"]='Introduzca la situaci?n de la imagen'; EpozLang["EnterTableRows"]='Introduzca el número de líneas'; EpozLang["EnterTableColumns"]='Introduzca el número de columnas'; EpozLang["EnterTableBorder"]='Introduzca el ancho del borde'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_es.js.dtmlqu.‚[¦((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_anchor.gifqUdataqUÁGIF89aã YYY‘‘‘¹¹¹ÇÇÇÈÈÈÜÜÜçççêêêïïïóóó!þCreated with The GIMP!ù ,UðÉI«½•<û Áz`˜Àœçp²’»Þ3mO(ý츕 u°ÔÑ@-}¿´æœF‹O+id&nWï±7“YÛ¢”%PmµPxЭÐ;qUsizeqL193L u.‚\²((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_hyperlink.gifqUdataqTÇGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,¤ÿ H° Áƒ*\Ȱ¡Ã‡]š8ÄÕC‰æÄ±ÆlHņøJDH!;f†0”˜ˆ’&JêõióQa b”H±ºÇŽR 6VTÚìÆ Õ¬yê¸Í<%4a k☙b&Î+Nžš" ÄÌÚ#Jt)ãŪ’Öƒíô ÔÇ/XY-. d¦Í›6fXyjt!F-V¢,ñ(·¡D5!*^̸±c…;qUsizeqL967L u.‚]Ñ((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_tools.gifqUdataqTêGIF89aÆ  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù ,G€‚ƒ„…†‡ˆ‰Š‹ŒŽ‡^’ƒ^•–‰’™†“ˆœ››˜ž‘Ÿœ…¨š„¡­ª—‚®¡«£²¯¬µ²‹¶¢»¼”ÀÁÂÃć;qUsizeqL490L u.‚^G((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_subscript.gifqUdataqT\GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,9ÿ H° Áƒ*\Ȱ¡Ã‡#JœH± //J¼¨qbÇAfÄø‘"F“Oš,Y±¥Ë—;qUsizeqL860L u.‚_W((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_strikethrough.gifqUdataqThGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù ÿ,Eÿ H° Áƒ*\Ȱ¡Ã‡z™èå_ŇfÄxQ`dž5F É‘¢I’%GjÜèð#K_2¬h2¢Í›8sê<;qUsizeqL872L u.‚`w((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTÇ Epoz
qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_script_color.htmlqu.‚YÎ((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq }q U name_subpathq Utraverse_subpathq ssbU__ac_local_roles__q }qUadminq]qUOwnerqasUidqUwysiwyg_support.ptqU content_typeqU text/htmlqU_textqT
If you are unsure of which format to use, just select Plain Text and type the document as you usually do.


qu.‚a((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTn// Epoz-Language-File: zh (Chinese) // panjy@plone.cn, 2003 var EpozLang=[]; EpozLang['Normal']='常规'; EpozLang['Paragraph']='段è½'; EpozLang['Heading1']='标题 1'; EpozLang['Heading2']='标题 2'; EpozLang['Heading3']='标题 3'; EpozLang['Heading4']='标题 4'; EpozLang['Heading5']='标题 5'; EpozLang['Heading6']='标题 6'; EpozLang['Formatted']='ä¿æŒæ ¼å¼'; EpozLang['Bold']='加粗'; EpozLang['Italic']='倾斜'; EpozLang['Underline']='下划线'; EpozLang["Strikethrough"]='中划线'; EpozLang['Subscript']='下标'; EpozLang['Superscript']='上标'; EpozLang["RemoveFormat"]='去除格å¼'; EpozLang['TextColor']='文字颜色'; EpozLang['BackColor']='背景颜色'; EpozLang['AlignLeft']='左对é½'; EpozLang['Center']='居中'; EpozLang['AlignRight']='å³å¯¹é½'; EpozLang['OrderedList']='æœ‰åºæ¸…å•'; EpozLang['UnorderedList']='æ— åºæ¸…å•'; EpozLang['Outdent']='å‡å°‘缩进'; EpozLang['Indent']='增加缩进'; EpozLang['InsertLink']='添加链接'; EpozLang["InsertAnchor"]='添加书签(Anchor)'; EpozLang['InsertImage']='添加图片'; EpozLang['InsertRule']='添加尺线'; EpozLang['InsertTable']='添加表格'; EpozLang['Toolbox']='工具箱'; EpozLang['Undo']='撤销'; EpozLang['Redo']='æ¢å¤'; EpozLang['EnterLinkURL']='输入链接的URL地å€'; EpozLang["EnterAnchorName"]='输入书签(Anchor)å'; EpozLang['EnterImageURL']='输入图片的UR地å€'; EpozLang['EnterTableRows']='输入行数'; EpozLang['EnterTableColumns']='输入列数'; EpozLang['EnterTableBorder']='输入边框'; EpozLang["TableWithHead"]='带标题的表格'; EpozLang["TableWithoutHead"]='ä¸å¸¦æ ‡é¢˜çš„表格'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_zh-cn.js.dtmlqu.‚b÷((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTQ// Epoz-Language-File: fr (French) // Jean.Laroque@saint-gobain.com EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Paragraphe'; EpozLang["Heading1"]='Titre 1'; EpozLang["Heading2"]='Titre 2'; EpozLang["Heading3"]='Titre 3'; EpozLang["Heading4"]='Titre 4'; EpozLang["Heading5"]='Titre 5'; EpozLang["Heading6"]='Titre 6'; EpozLang["Formatted"]='Formaté'; EpozLang["Bold"]='Gras'; EpozLang["Italic"]='Italique'; EpozLang["Underline"]='Souligné'; EpozLang["Strikethrough"]='Barré'; EpozLang["Subscript"]='Indice'; EpozLang["Superscript"]='Exposant'; EpozLang["TextColor"]='Couleur Texte'; EpozLang["BackColor"]='Couleur Fond'; EpozLang["AlignLeft"]='Aligner à Gauche'; EpozLang["Center"]='Centrer'; EpozLang["AlignRight"]='Aligner à Droite'; EpozLang["OrderedList"]='Liste Ordonnée'; EpozLang["UnorderedList"]='Liste Désordonnée'; EpozLang["Outdent"]='Diminuer le retrait'; EpozLang["Indent"]='Augmenter le retrait'; EpozLang["InsertLink"]='Insertion Lien'; EpozLang["InsertImage"]='Insertion Image'; EpozLang["InsertRule"]='Insertion Trait'; EpozLang["InsertTable"]='Insertion Tableau'; EpozLang["Toolbox"]='Boite à Outil'; EpozLang["Undo"]='Annuler'; EpozLang["Redo"]='Rétablir'; EpozLang["EnterLinkURL"]='Entrer Lien URL'; EpozLang["EnterImageURL"]='Entrer Image URL'; EpozLang["EnterTableRows"]='Nombre de Lignes'; EpozLang["EnterTableColumns"]='Nombre de Colonnes'; EpozLang["EnterTableBorder"]='Type de Bordure'; EpozLang["TableWithHead"]='Tableau avec Entête'; EpozLang["TableWithoutHead"]='Tableau sans Entête'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qU epoz_lang_frqu.‚cc((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_textcolor.gifqUdataqTxGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Uÿ H° Áƒ*\È🗆yÑ —‹ J¼H1£Ã‡3JÈ1ãÅ“!ŽX²aÊU>ÔØ2!J–(gz„˜³ç̓>ƒ" ês§Ñ£Hw;qUsizeqL888L u.‚de((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_unformat.gifqUdataqT{GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù ÿ,Xÿ H° Áƒ*\Ȱ¡Ã‡½H”øbC/N¼˜£À 1ŠÌXÑc‘(A†ÔHÒâC“c~ôr"̈[’\ÙÑâ̓6uþ4H³$M•2“*] 1 ;qUsizeqL891L u.‚eJ™((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTôI// // Copyright (C) 2000, 2001, 2002 Virtual Cowboys info@virtualcowboys.nl // // Author: Ruben Daniels // Version: 0.91 // Date: 29-08-2001 // Site: www.vcdn.org/Public/XMLRPC/ // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Object.prototype.toXMLRPC = function(){ var wo = this.valueOf(); if(wo.toXMLRPC == this.toXMLRPC){ retstr = ""; for(prop in this){ if(typeof wo[prop] != "function"){ retstr += "" + prop + "" + XMLRPC.getXML(wo[prop]) + ""; } } retstr += ""; return retstr; } else{ return wo.toXMLRPC(); } } String.prototype.toXMLRPC = function(){ // return "";//.replace(/" + this + ""; } else if(this == parseFloat(this)){ return "" + this + ""; } else{ return false.toXMLRPC(); } } Boolean.prototype.toXMLRPC = function(){ if(this) return "1"; else return "0"; } Date.prototype.toXMLRPC = function(){ //Could build in possibilities to express dates //in weeks or other iso8601 possibillities //hmmmm ???? //19980717T14:08:55 return "" + doYear(this.getUTCYear()) + doZero(this.getMonth()) + doZero(this.getUTCDate()) + "T" + doZero(this.getHours()) + ":" + doZero(this.getMinutes()) + ":" + doZero(this.getSeconds()) + ""; function doZero(nr) { nr = String("0" + nr); return nr.substr(nr.length-2, 2); } function doYear(year) { if(year > 9999 || year < 0) XMLRPC.handleError(new Error("Unsupported year: " + year)); year = String("0000" + year) return year.substr(year.length-4, 4); } } Array.prototype.toXMLRPC = function(){ var retstr = ""; for(var i=0;i"; } return retstr + ""; } function VirtualService(servername, oRPC){ this.version = '0.91'; this.URL = servername; this.multicall = false; this.autoroute = true; this.onerror = null; this.rpc = oRPC; this.receive = {}; this.purge = function(receive){ return this.rpc.purge(this, receive); } this.revert = function(){ this.rpc.revert(this); } this.add = function(name, alias, receive){ this.rpc.validateMethodName();if(this.rpc.stop){this.rpc.stop = false;return false} if(receive) this.receive[name] = receive; this[(alias || name)] = new Function('var args = new Array(), i;for(i=0;i mask/s * -------------------- * undefined -> 0/1 [default] * number -> 2 * boolean -> 4 * string -> 8 * function -> 16 * object -> 32 * -------------------- * Examples: * Want [String] only: (eqv. (typeof(vDunno) == 'string') ) * Soya.Common.typematch(unknown, 8) * Anything else than 'undefined' acceptable: * Soya.Common.typematch(unknown) * Want [Number], [Boolean] or [Function]: * Soya.Common.typematch(unknown, 2 + 4 + 16) * Want [Number] only: * Soya.Common.typematch(unknown, 2) **/ typematch : function (vDunno, nCase){ var nMask; switch(typeof(vDunno)){ case 'number' : nMask = 2; break; case 'boolean' : nMask = 4; break; case 'string' : nMask = 8; break; case 'function': nMask = 16; break; case 'object' : nMask = 32; break; default : nMask = 1; break; } return Boolean(nMask & (nCase || 62)); }, getNode : function(data, tree){ var nc = 0;//nodeCount //node = 1 if(data != null){ for(i=0;i 1){ tree.shift(); data = this.getNode(data, tree); } return data; } nc++ } } } return false; }, toObject : function(data){ var ret, i; switch(data.tagName){ case "string": var s="" //Mozilla has many textnodes with a size of 4096 chars each instead of one large one. //They all need to be concatenated. for(var j=0;j 0) return sEncoded; /* Use NN's built-in base64 decoder if available. This procedure is horribly slow running under NN4, so the NN built-in equivalent comes in very handy. :) */ else if(typeof(atob) != 'undefined') return atob(sEncoded); var nBits, i, sDecoded = ''; var base64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; sEncoded = sEncoded.replace(/\W|=/g, ''); for(i=0; i < sEncoded.length; i += 4){ nBits = (base64.indexOf(sEncoded.charAt(i)) & 0xff) << 18 | (base64.indexOf(sEncoded.charAt(i+1)) & 0xff) << 12 | (base64.indexOf(sEncoded.charAt(i+2)) & 0xff) << 6 | base64.indexOf(sEncoded.charAt(i+3)) & 0xff; sDecoded += String.fromCharCode( (nBits & 0xff0000) >> 16, (nBits & 0xff00) >> 8, nBits & 0xff); } // not sure if the following statement behaves as supposed under // all circumstances, but tests up til now says it does. return sDecoded.substring(0, sDecoded.length - ((sEncoded.charCodeAt(i - 2) == 61) ? 2 : (sEncoded.charCodeAt(i - 1) == 61 ? 1 : 0))); }, getObject : function(type, message){ if(type == "HTTP"){ if(isIE) obj = new ActiveXObject("microsoft.XMLHTTP"); else if(isNS) obj = new XMLHttpRequest(); } else if(type == "XMLDOM"){ if(isIE){ obj = new ActiveXObject("microsoft.XMLDOM"); obj.loadXML(message) }else if(isNS){ obj = new DOMParser(); obj = obj.parseFromString(message, "text/xml"); } } else{ this.handleError(new Error("Unknown Object")); } return obj; }, validateMethodName : function(name){ /*do Checking: The string may only contain identifier characters, upper and lower-case A-Z, the numeric characters, 0-9, underscore, dot, colon and slash. */ if(/^[A-Za-z0-9\._\/:]+$/.test(name)) return true else this.handleError(new Error("Incorrect method name")); }, getXML : function(obj){ if(typeof obj == "function"){ this.handleError(new Error("Cannot Parse functions")); }else if(obj == null || obj == undefined || (typeof obj == "number" && !isFinite(obj))) return false.toXMLRPC(); else return obj.toXMLRPC(); }, handleError : function(e){ if(!this.onerror || !this.onerror(e)){ //alert("An error has occured: " + e.message); throw e; } this.stop = true; this.lastError = e; }, cancel : function(id){ //You can only cancel a request when it was executed async (I think) if(!this.queue[id]) return false; this.queue[id][0].abort(); return true; }, send : function(serverAddress, functionName, args, receive, multicall, autoroute){ var id, http; //default is sync this.validateMethodName(); if(this.stop){this.stop = false; return false;} //setting up multicall multicall = (multicall != null) ? multicall : this.multicall; if(multicall){ if(!this.stack[serverAddress]) this.stack[serverAddress] = new Array(); this.stack[serverAddress].push({methodName : functionName, params : args}); return true; } //creating http object var http = this.getObject("HTTP"); //setting some things for async/sync transfers if(!receive || isNS){; async = false; } else{ async = true; /* The timer functionality is implemented instead of the onreadystatechange event because somehow the calling of this event crashed IE5.x */ id = this.queue.push([http, receive, null, new Date()])-1; this.queue[id][2] = new Function("var id='" + id + "';var dt = new Date(new Date().getTime() - XMLRPC.queue[id][3].getTime());diff = parseInt(dt.getSeconds()*1000 + dt.getMilliseconds());if(diff > XMLRPC.timeout){if(XMLRPC.ontimeout) XMLRPC.ontimeout(); clearInterval(XMLRPC.timers[id]);XMLRPC.cancel(id);return};if(XMLRPC.queue[id][0].readyState == 4){XMLRPC.queue[id][0].onreadystatechange = function(){};XMLRPC.receive(id);clearInterval(XMLRPC.timers[id])}"); this.timers[id] = setInterval("XMLRPC.queue[" + id + "][2]()", 20); } //setting up the routing autoroute = (autoroute || this.autoroute); //'active' is only set when direct sending the message has failed var srv = (autoroute == "active") ? this.routeServer : serverAddress; try{ http.open('POST', srv, async); http.setRequestHeader("User-Agent", "vcXMLRPC v0.91 (" + navigator.userAgent + ")"); http.setRequestHeader("Host", srv.replace(/^https?:\/{2}([:\[\]\-\w\.]+)\/?.*/, '$1')); http.setRequestHeader("Content-type", "text/xml"); if(autoroute == "active"){ http.setRequestHeader("X-Proxy-Request", serverAddress); http.setRequestHeader("X-Compress-Response", "gzip"); } } catch(e){ if(autoroute == true){ //Access has been denied, Routing call. autoroute = "active"; if(id){ delete this.queue[id]; clearInterval(this.timers[id]); } return this.send(serverAddress, functionName, args, receive, multicall, autoroute); } //Routing didn't work either..Throwing error this.handleError(new Error("Could not sent XMLRPC Message (Reason: Access Denied on client)")); if(this.stop){this.stop = false;return false} } //Construct the message var message = '' + functionName + ''; for(i=0;i'; } message += ''; var xmldom = this.getObject('XMLDOM', message); if(self.DEBUG) alert(message); try{ //send message http.send(xmldom); } catch(e){ //Most likely the message timed out(what happend to your internet connection?) this.handleError(new Error("XMLRPC Message not Sent(Reason: " + e.message + ")")); if(this.stop){this.stop = false;return false} } if(!async && receive) return [autoroute, receive(this.processResult(http))]; else if(receive) return [autoroute, id]; else return [autoroute, this.processResult(http)]; }, receive : function(id){ //Function for handling async transfers.. if(this.queue[id]){ var data = this.processResult(this.queue[id][0]); this.queue[id][1](data); delete this.queue[id]; } else{ this.handleError(new Error("Error while processing queue")); } }, processResult : function(http){ if(self.DEBUG) alert(http.responseText); if(http.status == 200){ //getIncoming message dom = http.responseXML; if(dom){ var rpcErr, main; //Check for XMLRPC Errors rpcErr = dom.getElementsByTagName("fault"); if(rpcErr.length > 0){ rpcErr = this.toObject(rpcErr[0].firstChild); this.handleError(new Error(rpcErr.faultCode, rpcErr.faultString)); return false } //handle method result main = dom.getElementsByTagName("param"); if(main.length == 0) this.handleError(new Error("Malformed XMLRPC Message")); data = this.toObject(this.getNode(main[0], [0])); //handle receiving if(this.onreceive) this.onreceive(data); return data; } else{ this.handleError(new Error("Malformed XMLRPC Message")); } } else{ this.handleError(new Error("HTTP Exception: (" + http.status + ") " + http.statusText + "\n\n" + http.responseText)); } } } //Smell something ver = navigator.appVersion; app = navigator.appName; isNS = Boolean(navigator.productSub) //moz_can_do_http = (parseInt(navigator.productSub) >= 20010308) isIE = (ver.indexOf("MSIE 5") != -1 || ver.indexOf("MSIE 6") != -1) ? 1 : 0; isIE55 = (ver.indexOf("MSIE 5.5") != -1) ? 1 : 0; isOTHER = (!isNS && !isIE) ? 1 : 0; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qU vcXMLRPC.jsqu.‚f=((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT// Epoz-Language-File: pl (Polish) // qbak@qbak.net, 2003 EpozLang["Normal"]='Normalny'; EpozLang["Paragraph"]='Akapit'; EpozLang["Heading1"]='Nag³ówek 1'; EpozLang["Heading2"]='Nag³ówek 2'; EpozLang["Heading3"]='Nag³ówek 3'; EpozLang["Heading4"]='Nag³ówek 4'; EpozLang["Heading5"]='Nag³ówek 5'; EpozLang["Heading6"]='Nag³ówek 6'; EpozLang["Formatted"]='Sformatowany'; EpozLang["Bold"]='Pogrubienie'; EpozLang["Italic"]='Kursywa'; EpozLang["Underline"]='Podkre¶lenie'; EpozLang["Subscript"]='Indeks dolny'; EpozLang["Superscript"]='Indeks górny'; EpozLang["TextColor"]='Kolor tekstu'; EpozLang["BackColor"]='Kolor t³a'; EpozLang["AlignLeft"]='Wyrównanie do lewej'; EpozLang["Center"]='Wy¶rodkowanie'; EpozLang["AlignRight"]='Wyrównanie do prawej'; EpozLang["OrderedList"]='Lista numerowana'; EpozLang["UnorderedList"]='Lista wypunktowana'; EpozLang["Outdent"]='Zmniejsz wciêcie'; EpozLang["Indent"]='Zwiêksz wciêcie'; EpozLang["InsertLink"]='Wstaw odno¶nik'; EpozLang["InsertImage"]='Wstaw obrazek'; EpozLang["InsertRule"]='Wstaw linijkê'; EpozLang["InsertTable"]='Wstaw tabelê'; EpozLang["Toolbox"]='Narzêdzia'; EpozLang["Undo"]='Cofnij'; EpozLang["Redo"]='Powtórz'; EpozLang["EnterLinkURL"]='Wprowad¼ URL odno¶nika'; EpozLang["EnterImageURL"]='Wprowad¼ URL obrazka'; EpozLang["EnterTableRows"]='Wprowad¼ wiersze'; EpozLang["EnterTableColumns"]='Wprowad¼ kolumny'; EpozLang["EnterTableBorder"]='Wprowad¼ ramkê'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_pl.js.dtmlqu.‚gV((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_underline.gifqUdataqTkGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Hÿ H° Áƒ*\Ȱ¡Ã‡z™èåÅŠ'Ôø£EŒAzlèq$Ã’ IŠLyÒ‹ ‚L¶¤±&Á‹8mêÜɳgÄ€;qUsizeqL875L u.‚hX((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_outdent.gifqUdataqToGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Lÿ H° Áƒ*\È🗆z™ø¢Å‰3þ“Bð¢E„R8ôHñ`È“†ìx‘¡HSjüH£L†4ÞÜ “§ÏŸ@;qUsizeqL879L u.‚iJ((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_bold.gifqUdataqTdGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Aÿ H° Áƒ*\Ȱ¡Ã‡#>ôB±"Eˆft¸qcÃŽ9Z )Ò‹F’ Aš,yreÊ‘(%ÊœI³¦M™;qUsizeqL868L u.‚R((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_space.gifqUdataqU+GIF89a€ÿÿÿ!ù,D;qUsizeqL43L u.‚kK((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_redo.gifqUdataqTeGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Bÿ H° Áƒ*\Ȱ¡Ã‡#JœøO—‹^"Z$xq`F… fì!Æ…!9žT¸QåJ‚(ÊœI³¦Í›;qUsizeqL869L u.‚lX((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_numbered_list.gifqUdataqTiGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Fÿ H° Áƒ*\Ȱ¡A)J(ЋŋRŒHpâFŽ %~ ù"Æ“I ô¨²åʉ-7žÄ¸pdD˜.sêÜé0 ;qUsizeqL873L u.‚mR((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT¤// Epoz-Language-File: de (Deutsch) // maik.jablonski@uni-bielefeld.de, 2003 EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Absatz'; EpozLang["Heading1"]='Überschrift 1'; EpozLang["Heading2"]='Überschrift 2'; EpozLang["Heading3"]='Überschrift 3'; EpozLang["Heading4"]='Überschrift 4'; EpozLang["Heading5"]='Überschrift 5'; EpozLang["Heading6"]='Überschrift 6'; EpozLang["Formatted"]='Formatiert'; EpozLang["Bold"]='Fett'; EpozLang["Italic"]='Kursiv'; EpozLang["Underline"]='Unterstrichen'; EpozLang["Strikethrough"]='Durchgestrichen'; EpozLang["Subscript"]='Tiefstellen'; EpozLang["Superscript"]='Hochstellen'; EpozLang["RemoveFormat"]='Formatierung entfernen'; EpozLang["TextColor"]='Textfarbe'; EpozLang["BackColor"]='Hintergrundfarbe'; EpozLang["AlignLeft"]='Linksbündig'; EpozLang["Center"]='Zentriert'; EpozLang["AlignRight"]='Rechtsbündig'; EpozLang["OrderedList"]='Aufzählung'; EpozLang["UnorderedList"]='Liste'; EpozLang["Outdent"]='Ausrücken'; EpozLang["Indent"]='Einrücken'; EpozLang["InsertLink"]='Link einfügen'; EpozLang["InsertAnchor"]='Anker einfügen'; EpozLang["InsertImage"]='Bild einfügen'; EpozLang["InsertRule"]='Linie einfügen'; EpozLang["InsertTable"]='Tabelle einfügen'; EpozLang["Toolbox"]='Werkzeuge'; EpozLang["Undo"]='Undo'; EpozLang["Redo"]='Redo'; EpozLang["EnterLinkURL"]='URL des Links eingeben'; EpozLang["EnterAnchorName"]='Namen des Ankers eingeben'; EpozLang["EnterImageURL"]='URL des Bildes eingeben'; EpozLang["EnterTableRows"]='Anzahl der Reihen'; EpozLang["EnterTableColumns"]='Anzahl der Spalten'; EpozLang["EnterTableBorder"]='Randstärke'; EpozLang["TableWithHead"]='Tabelle mit Kopf'; EpozLang["TableWithoutHead"]='Tabelle ohne Kopf'; EpozLang["HTML"]='HTML'; EpozLang["TidyStart"]='HTML-Bereinigung...'; EpozLang["TidyStop"]='HTML-Bereinigung abgeschlossen.' EpozLang["TidyError"]='Fehler im HTML-Quelltext.'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_de.js.dtmlqu.‚nG((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_italic.gifqUdataqT_GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,<ÿ H° Áƒ*\Ȱ¡Ã‡#Jüç¥bʼnMt£9z™HñãÆŽ3¦´ˆ’¤Ë—0cÊT;qUsizeqL863L u.‚o}((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTÏ// Epoz-Language-File: pt (Portuguese) // nteixeira@bmc.pt, 2003 EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Parágrafo'; EpozLang["Heading1"]='Cabeçalho 1'; EpozLang["Heading2"]='Cabeçalho 2'; EpozLang["Heading3"]='Cabeçalho 3'; EpozLang["Heading4"]='Cabeçalho 4'; EpozLang["Heading5"]='Cabeçalho 5'; EpozLang["Heading6"]='Cabeçalho 6'; EpozLang["Formatted"]='Formatado'; EpozLang["Bold"]='Negrito'; EpozLang["Italic"]='Itálico'; EpozLang["Underline"]='Sublinhado'; EpozLang["Strikethrough"]='Traçado'; EpozLang["Subscript"]='Subescrito'; EpozLang["Superscript"]='Sobrescrito'; EpozLang["RemoveFormat"]='Retirar Formatação'; EpozLang["TextColor"]='Cor do texto'; EpozLang["BackColor"]='Cor do fundo'; EpozLang["AlignLeft"]='Alinhar à esquerda'; EpozLang["Center"]='Centrar'; EpozLang["AlignRight"]='Alinhar à direita'; EpozLang["OrderedList"]='Lista numerada'; EpozLang["UnorderedList"]='Lista ordenada'; EpozLang["Outdent"]='Diminuir parágrafo'; EpozLang["Indent"]='Aumentar parágrafo'; EpozLang["InsertLink"]='Inserir Link'; EpozLang["InsertImage"]='Inserir Imagem'; EpozLang["InsertRule"]='Inserir Linha'; EpozLang["InsertTable"]='Inserir Tabela'; EpozLang["Toolbox"]='Caixa de ferramentas'; EpozLang["Undo"]='Desfazer'; EpozLang["Redo"]='Refazer'; EpozLang["EnterLinkURL"]='URL do link'; EpozLang["EnterImageURL"]='URL da imagem'; EpozLang["EnterTableRows"]='Número de Linhas'; EpozLang["EnterTableColumns"]='Número de Colunas'; EpozLang["EnterTableBorder"]='Tamanho das Bordas'; EpozLang["TableWithHead"]='Tabela com cabeçalho'; EpozLang["TableWithoutHead"]='Tabela sem cabeçalho'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_pt.js.dtmlqu.‚p$((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUtitleqUUrawqTæ#// // Create HTML for Epoz-Editor // // Comment out the parts you don't want to be shown. // function CreateEpoz() { var widget = ''; widget += '
'; /* The select-box for formats */ widget += ''; widget += '
'; /* The font-face-buttons (bold, italic, underline) */ widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''; /* The sub-/superscript-buttons */ widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''; /* The remove-format-button */ widget += ''+EpozLang['; widget += ''; /* The color-selections (foreground, background) */ widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''; /* Alignment-controls */ widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''; /* Lists and In/Outdent */ widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''; /* Insert Link, Image, Rule, Table */ widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; widget += ''+EpozLang['; /* The optional toolbox */ if ((form_toolbox != null) && (form_toolbox != "")) { widget += ''; widget += ''+EpozLang['; } widget += ''; /* Undo & Redo */ widget += ''+EpozLang['; widget += ''+EpozLang['; /* Don't remove!!! And better not touch...;) */ widget += '\n
\n'; widget += ''; //widget += ''; widget += '
'; widget += ''; widget += '
 ' + EpozLang["HTML"] + '
'; document.writeln(widget); } // Create a default-textbox for browsers without Rich-Text-Features function CreateTextarea() { document.writeln(''); } q Uglobalsq }q U__name__q Uepoz_script_widgetq U__ac_local_roles__q}qUadminq]qUOwnerqasu.‚q((U'Products.PageTemplates.ZopePageTemplateqUZopePageTemplateqtqNt.}q(U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq }q U name_subpathq Utraverse_subpathq ssbU__ac_local_roles__q }qUadminq]qUOwnerqasUidqUepoz_blank_iframe.htmlqU content_typeqU text/htmlqU_textqT× qu.‚rK((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_list.gifqUdataqTeGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Bÿ H° Áƒ*\Ȱ¡Ã‡R">,QŠ@/3fLXq¢Ç%‚ìøO£IŽ"Aª\IäG’&5¢´È²¦Í› ;qUsizeqL869L u.‚sL((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_undo.gifqUdataqTfGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Cÿ H° Áƒ*\Ȱ¡Ã‡#JœhЋE/‚zh‘ Æ…7VÙñ È„Oz$y±àlj‚TRœI³¦Í›8;qUsizeqL870L u.‚UH((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_right_just.gifqUdataqT\GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,9ÿ H° Áƒ*\Ȱ¡C‡^"Jœ8ñ¡Å‚)^|˜±£—=FÙP¤F’E¢\ɲ¥Ë—;qUsizeqL860L u.‚uD((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_centre.gifqUdataqT\GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,9ÿ H° Áƒ*\Ȱ¡Ã‡^"Jœ8ñ¡Å)^¼˜±£—=F QdE’ M¢\ɲ¥Ë—;qUsizeqL860L u.‚vL((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_superscript.gifqUdataqT_GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,<ÿ H° Áƒ*\Ȱ¡C^¼, 2004 EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Parágrafo'; EpozLang["Heading1"]='Cabeçalho 1'; EpozLang["Heading2"]='Cabeçalho 2'; EpozLang["Heading3"]='Cabeçalho 3'; EpozLang["Heading4"]='Cabeçalho 4'; EpozLang["Heading5"]='Cabeçalho 5'; EpozLang["Heading6"]='Cabeçalho 6'; EpozLang["Formatted"]='Formatado'; EpozLang["Bold"]='Negrito'; EpozLang["Italic"]='Itálico'; EpozLang["Underline"]='Sublinhado'; EpozLang["Strikethrough"]='Riscado'; EpozLang["Subscript"]='Subescrito'; EpozLang["Superscript"]='Sobrescrito'; EpozLang["RemoveFormat"]='Remover formatação'; EpozLang["TextColor"]='Cor do texto'; EpozLang["BackColor"]='Cor do fundo'; EpozLang["AlignLeft"]='Alinhar à esquerda'; EpozLang["Center"]='Centralizar'; EpozLang["AlignRight"]='Alinhar à direita'; EpozLang["OrderedList"]='Lista numerada'; EpozLang["UnorderedList"]='Lista ordenada'; EpozLang["Outdent"]='Diminuir parágrafo'; EpozLang["Indent"]='Aumentar parágrafo'; EpozLang["InsertLink"]='Inserir Link'; EpozLang["InsertAnchor"]='Inserir âncora'; EpozLang["InsertImage"]='Inserir Imagem'; EpozLang["InsertRule"]='Inserir Linha'; EpozLang["InsertTable"]='Inserir Tabela'; EpozLang["Toolbox"]='Caixa de ferramentas'; EpozLang["Undo"]='Voltar'; EpozLang["Redo"]='Refazer'; EpozLang["EnterLinkURL"]='URL do link'; EpozLang["EnterAnchorName"]='Nome da âncora'; EpozLang["EnterImageURL"]='URL da imagem'; EpozLang["EnterTableRows"]='Linhas'; EpozLang["EnterTableColumns"]='Colunas'; EpozLang["EnterTableBorder"]='Bordas'; EpozLang["TableWithHead"]='Tabela com cabeçalho'; EpozLang["TableWithoutHead"]='Tabela sem cabeçalho'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_pt-br.js.dtmlqu.‚WW((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_indent.gifqUdataqToGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,Lÿ H° Áƒ*\È🗆z™ø¢Å‰3þ“Bð¢Å„R8 ôHñ`È“†è‘¡È‘SjüH£L†4ÞÜ9’§ÏŸ@;qUsizeqL879L u.‚yG((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_left_just.gifqUdataqT\GIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ÿ,9ÿ H° Áƒ*\Ȱ¡Ã‡^"Jœ8ñ¡Å)^܈1£GŽ =JiQdF’ MzAɲ¥Ë—/;qUsizeqL860L u.‚z$((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTv// Epoz-Language-File: da (Danish) // maik.jablonski@uni-bielefeld.de, 2003 // Translated by overby@opentobusiness.com EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Citat'; EpozLang["Heading1"]='Overskift 1'; EpozLang["Heading2"]='Overskift 2'; EpozLang["Heading3"]='Overskift 3'; EpozLang["Heading4"]='Overskift 4'; EpozLang["Heading5"]='Overskift 5'; EpozLang["Heading6"]='Overskift 6'; EpozLang["Formatted"]='Formatteret'; EpozLang["Bold"]='Fed'; EpozLang["Italic"]='Kursiv'; EpozLang["Underline"]='Understreg'; EpozLang["Strikethrough"]='Gennemstreg'; EpozLang["Subscript"]='Sænket skrift'; EpozLang["Superscript"]='Hævet skrift'; EpozLang["RemoveFormat"]='Fjern formattering'; EpozLang["TextColor"]='Skriftfarve'; EpozLang["BackColor"]='Baggrundsfarve'; EpozLang["AlignLeft"]='Venstrejusteret'; EpozLang["Center"]='Centreret'; EpozLang["AlignRight"]='Højrejusteret'; EpozLang["OrderedList"]='Nummereret liste'; EpozLang["UnorderedList"]='Punktliste'; EpozLang["Outdent"]='Formindsk indrykning'; EpozLang["Indent"]='Forøg indrykning'; EpozLang["InsertLink"]='Indsæt link'; EpozLang["InsertImage"]='Indsæt billede'; EpozLang["InsertRule"]='Indsæt linie'; EpozLang["InsertTable"]='Indsæt table'; EpozLang["Toolbox"]='Værktøjskasse'; EpozLang["Undo"]='Fortryd'; EpozLang["Redo"]='Annuller fortryd'; EpozLang["EnterLinkURL"]='Indsæt link adresse'; EpozLang["EnterImageURL"]='Indsæt bille placering'; EpozLang["EnterTableRows"]='Indsæt række'; EpozLang["EnterTableColumns"]='Indsæt kolonne'; EpozLang["EnterTableBorder"]='Kant'; EpozLang["TableWithHead"]='Tabel med hoved'; EpozLang["TableWithoutHead"]='Tabel uden hoved'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_da.js.dtmlqu.‚{V((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT¨// Epoz-Language-File: it (Italiano) // maik.jablonski@uni-bielefeld.de, 2003 // nbe@libero.it, 2003 traduzione EpozLang["Normal"]='Normale'; EpozLang["Paragraph"]='Paragrafo'; EpozLang["Heading1"]='Titolo 1'; EpozLang["Heading2"]='Titolo 2'; EpozLang["Heading3"]='Titolo 3'; EpozLang["Heading4"]='Titolo 4'; EpozLang["Heading5"]='Titolo 5'; EpozLang["Heading6"]='Titolo 6'; EpozLang["Formatted"]='Formattato'; EpozLang["Bold"]='Grassetto'; EpozLang["Italic"]='Italico'; EpozLang["Underline"]='Sottolineato'; EpozLang["Subscript"]='Pedice'; EpozLang["Superscript"]='Apice'; EpozLang["TextColor"]='Colore testo'; EpozLang["BackColor"]='Colore sfondo'; EpozLang["AlignLeft"]='Allinea sinistra'; EpozLang["Center"]='Centra'; EpozLang["AlignRight"]='Allinea destra'; EpozLang["OrderedList"]='Lista numerata'; EpozLang["UnorderedList"]='Lista puntata'; EpozLang["Outdent"]='Riduci rientro'; EpozLang["Indent"]='Aumenta rientro'; EpozLang["InsertLink"]='Inserisci link'; EpozLang["InsertImage"]='Inserisci immagine'; EpozLang["InsertRule"]='Inserisci separatore'; EpozLang["InsertTable"]='Inserisci tabella'; EpozLang["Toolbox"]='Toolbox'; EpozLang["Undo"]='Annulla'; EpozLang["Redo"]='Ripeti'; EpozLang["EnterLinkURL"]='Inserisci URL link'; EpozLang["EnterImageURL"]='Inserisci immagine link'; EpozLang["EnterTableRows"]='Inserisci righe'; EpozLang["EnterTableColumns"]='Inserisci colonne'; EpozLang["EnterTableBorder"]='Inserisci bordo'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_it.js.dtmlqu.‚|Q((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT«// Epoz-Language-File: en (English) // maik.jablonski@uni-bielefeld.de, 2003 // Global Epoz language-strings dictionary // Should be present only in "default" language file var EpozLang=[]; EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Paragraph'; EpozLang["Heading1"]='Heading 1'; EpozLang["Heading2"]='Heading 2'; EpozLang["Heading3"]='Heading 3'; EpozLang["Heading4"]='Heading 4'; EpozLang["Heading5"]='Heading 5'; EpozLang["Heading6"]='Heading 6'; EpozLang["Formatted"]='Formatted'; EpozLang["Bold"]='Bold'; EpozLang["Italic"]='Italic'; EpozLang["Underline"]='Underline'; EpozLang["Strikethrough"]='Strikethrough'; EpozLang["Subscript"]='Subscript'; EpozLang["Superscript"]='Superscript'; EpozLang["RemoveFormat"]='Remove Format'; EpozLang["TextColor"]='Text Color'; EpozLang["BackColor"]='Background Color'; EpozLang["AlignLeft"]='Align Left'; EpozLang["Center"]='Center'; EpozLang["AlignRight"]='Align Right'; EpozLang["OrderedList"]='Ordered List'; EpozLang["UnorderedList"]='Unordered List'; EpozLang["Outdent"]='Outdent'; EpozLang["Indent"]='Indent'; EpozLang["InsertLink"]='Insert Link'; EpozLang["InsertAnchor"]='Insert Anchor'; EpozLang["InsertImage"]='Insert Image'; EpozLang["InsertRule"]='Insert Rule'; EpozLang["InsertTable"]='Insert Table'; EpozLang["Toolbox"]='Toolbox'; EpozLang["Undo"]='Undo'; EpozLang["Redo"]='Redo'; EpozLang["EnterLinkURL"]='Enter Link URL'; EpozLang["EnterAnchorName"]='Enter Anchor Name'; EpozLang["EnterImageURL"]='Enter Image URL'; EpozLang["EnterTableRows"]='Enter Rows'; EpozLang["EnterTableColumns"]='Enter Columns'; EpozLang["EnterTableBorder"]='Enter Border'; EpozLang["TableWithHead"]='Table with Head'; EpozLang["TableWithoutHead"]='Table without Head'; EpozLang["HTML"]='HTML'; // Browser-Status-Messages // don't use any entities for translations EpozLang["TidyStart"]='Tidying...'; EpozLang["TidyStop"]='Tidying complete.' EpozLang["TidyError"]='Detected errors in the HTML block.'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qU epoz_lang_enqu.‚}/((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqT// Epoz-Language-File: nl (Dutch) // ad.schellevis@imasgroep.nl, 2003 EpozLang["Normal"]='Normaal'; EpozLang["Paragraph"]='Paragraaf'; EpozLang["Heading1"]='Kop 1'; EpozLang["Heading2"]='Kop 2'; EpozLang["Heading3"]='Kop 3'; EpozLang["Heading4"]='Kop 4'; EpozLang["Heading5"]='Kop 5'; EpozLang["Heading6"]='Kop 6'; EpozLang["Formatted"]='Opgemaakt'; EpozLang["Bold"]='Vet'; EpozLang["Italic"]='Cursief'; EpozLang["Underline"]='Onderstreept'; EpozLang["Subscript"]='Subscript'; EpozLang["Superscript"]='Superscript'; EpozLang["TextColor"]='Tekst kleur'; EpozLang["BackColor"]='Achtergrond kleur'; EpozLang["AlignLeft"]='Links uitlijnen'; EpozLang["Center"]='Centreren'; EpozLang["AlignRight"]='Rechts uitlijnen'; EpozLang["OrderedList"]='Nummering'; EpozLang["UnorderedList"]='Opsommingstekens'; EpozLang["Outdent"]='Inspringen verkleinen'; EpozLang["Indent"]='Inspringen vergroten'; EpozLang["InsertLink"]='Hyperlink invoegen'; EpozLang["InsertImage"]='Plaatje invoegen'; EpozLang["InsertRule"]='Rand invoegen'; EpozLang["InsertTable"]='Tabel invoegen'; EpozLang["Toolbox"]='Toolbox'; EpozLang["Undo"]='Ongedaan maken'; EpozLang["Redo"]='Herhalen'; EpozLang["EnterLinkURL"]='Ingeven hyperlink URL'; EpozLang["EnterImageURL"]='Ingeven locatie plaatje'; EpozLang["EnterTableRows"]='Invoeren Rijen'; EpozLang["EnterTableColumns"]='Invoegen Kolommen'; EpozLang["EnterTableBorder"]='Invoegen Kader'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_nl.js.dtmlqu.‚~œ((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTì Epoz
qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_script_table.htmlqu.‚t((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(U_varsq}qUrawqTÆ// Epoz-Language-File: no (Norwegian) // einar.ness.jensen@hf.ntnu.no, 2004 EpozLang["Normal"]='Normal'; EpozLang["Paragraph"]='Avsnitt'; EpozLang["Heading1"]='Overskrift 1'; EpozLang["Heading2"]='Overskrift 2'; EpozLang["Heading3"]='Overskrift 3'; EpozLang["Heading4"]='Overskrift 4'; EpozLang["Heading5"]='Overskrift 5'; EpozLang["Heading6"]='Overskrift 6'; EpozLang["Formatted"]='Preformatert'; EpozLang["Bold"]='Fet'; EpozLang["Italic"]='Kursiv'; EpozLang["Underline"]='Understreket'; EpozLang["Strikethrough"]='Gjennomstreket'; EpozLang["Subscript"]='Subskrift'; EpozLang["Superscript"]='Superskrift'; EpozLang["RemoveFormat"]='Fjern Formatering'; EpozLang["TextColor"]='Tekstfarge'; EpozLang["BackColor"]='Bakgrunnsfarge'; EpozLang["AlignLeft"]='Venstrejustert'; EpozLang["Center"]='Midtjustert'; EpozLang["AlignRight"]='Høyrejustert'; EpozLang["OrderedList"]='Ordnet Liste'; EpozLang["UnorderedList"]='Uordnet Liste'; EpozLang["Outdent"]='Minsk Innrykk'; EpozLang["Indent"]='Øk Innrykk'; EpozLang["InsertLink"]='Sett inn Lenke'; EpozLang["InsertAnchor"]='Sett inn Anker'; EpozLang["InsertImage"]='Sett inn Bilde'; EpozLang["InsertRule"]='Sett inn Horisontal Linje'; EpozLang["InsertTable"]='Sett inn Tabell'; EpozLang["Toolbox"]='Verktøy'; EpozLang["Undo"]='Angre'; EpozLang["Redo"]='Gjenta'; EpozLang["EnterLinkURL"]='Skriv inn Lenke-URL'; EpozLang["EnterAnchorName"]='Skriv inn Navn på Anker'; EpozLang["EnterImageURL"]='Skriv inn Bilde-URL'; EpozLang["EnterTableRows"]='Antall Rader'; EpozLang["EnterTableColumns"]='Antall Kolonner'; EpozLang["EnterTableBorder"]='Bredde Kantlinje'; EpozLang["TableWithHead"]='Tabell med Topplinje'; EpozLang["TableWithoutHead"]='Tabell uten Topplinje'; qUglobalsq }q U__ac_local_roles__q }q Uadminq ]qUOwnerqasU__name__qUepoz_lang_no.js.dtmlqu.‚€ž((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUadminq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/gifqU__name__qUepoz_button_bgcolor.gifqUdataqTµGIF89aç  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!ù ý,’û H° Áƒ*\ÈÐÕ!®"¢Ä‚zÑtqàCkCæmìØoˆ5qCüåó„‰D“èt ÑÅ®eË…C°µûÇOW:nÎl*ÒmÞ?}ñÌaSÖ‹ Kœ*ቫfLf¿›8Ù‹6ìÅ«qŒÖ×~a_Ê:»Ð‹Û·pãz9(·î[ºvë’ÜË·¯ß‚;qUsizeqL949L u.‚B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚‚((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T&uconf=mem['zwo_obj'].zwo_info.users err='' #~ ############# check if user exists if user_id not in uconf.objectIds(): err=err+'User '+str(user_id)+' not exists!' #~ ############# check if user folder exists nor create it width edit rights for the user if not user_id in uplace.objectIds(): rep=uplace rep.manage_addFolder(user_id,'') obj=rep[user_id] obj.manage_addProperty('type_zwook','dossier','string') obj.manage_addFolder('zwo_dossier','information du dossier') obj2=obj['zwo_dossier'] obj2.manage_addProperty('type_zwook','system','string') obj2.manage_addProperty('system','data','string') obj2.manage_addProperty('new_skin','0','string') obj2.manage_addProperty('skin',rep.zwo_dossier.skin,'string') obj2.manage_addProperty('new_droits','1','string') obj2.manage_addProperty('groupes_visiteurs',rep.zwo_dossier.groupes_visiteurs,'string') #~ check if user_id group exists nor create it if user_id not in mem['zwo_info'].groups.objectIds(): mem['zwo_info'].groups.manage_addProduct['OFSP'].manage_addFolder(user_id,'') newobj=mem['zwo_info'].groups[user_id] newobj.manage_addProperty('type_zwook','group','string') newobj.manage_addProperty('ok','1','string') request={'role':user_id} mem['racine_obj'].manage_defined_roles(submit='Add Role',REQUEST=request) #~ affect edit rights to the user_id group and inherit parent object (uplace) edit rights obj2.manage_addProperty('groupes_editeurs',rep.zwo_dossier.groupes_editeurs+'&'+user_id,'string') obj2.manage_addProperty('ordre','','string') obj2.manage_addProperty('new_ref','0','string') obj2.manage_addProperty('metas',rep.zwo_dossier.metas,'lines') l=[] l.append('PT:T1:hauteur=/largeur=/marge=/cadre=/couleurcadre=/couleurfond=/couleurtexte=/align=left/valign=top') l.append('CT:T1:C1') l.append('PC:C1:couleurcadre=/hauteur=/couleurfond=/valign=/marge=/cadre=/couleurtexte=/largeur=/align=/colspan=1/rowspan=1') l.append('CC:C1:') obj2.manage_addProperty('tableaux',l,'lines') #~ ############# output if err<>'': return err else: return 1 q U_codeq T c@s d„ZdS(NcCs¥ttt|dƒdƒdƒ}d}|t|dƒƒjo|dt|ƒd}n|t|dƒƒj o|}t|dƒ|dƒt||ƒ} t| d ƒd d d ƒt| dƒd dƒt| d ƒ} t| d ƒd dd ƒt| d ƒddd ƒt| d ƒddd ƒt| d ƒdtt|d ƒdƒd ƒt| d ƒddd ƒt| d ƒdtt|d ƒdƒd ƒ|ttt|dƒdƒdƒƒjoÅttttt|dƒdƒdƒdƒdƒ|dƒttt|dƒdƒ|ƒ} t| d ƒd dd ƒt| d ƒddd ƒhd|<} tt|dƒdƒdd d!| ƒnt| d ƒd"tt|d ƒd"ƒd#|d ƒt| d ƒd$dd ƒt| d ƒd%dd ƒt| d ƒd&tt|d ƒd&ƒd'ƒg} t| d(ƒd)ƒt| d(ƒd*ƒt| d(ƒd+ƒt| d(ƒd,ƒt| d ƒd-| d'ƒn|djo|Snd.SdS(/Nszwo_objszwo_infosusersss objectIdssUser s not exists!smanage_addFoldersmanage_addPropertys type_zwooksdossiersstrings zwo_dossiersinformation du dossierssystemsdatasnew_skins0sskins new_droitss1sgroupes_visiteurssgroupssmanage_addProductsOFSPsgroupsoksroles racine_objsmanage_defined_rolesssubmitsAdd RolesREQUESTsgroupes_editeurss&sordresnew_refsmetasslinessappendsdPT:T1:hauteur=/largeur=/marge=/cadre=/couleurcadre=/couleurfond=/couleurtexte=/align=left/valign=topsCT:T1:C1sqPC:C1:couleurcadre=/hauteur=/couleurfond=/valign=/marge=/cadre=/couleurtexte=/largeur=/align=/colspan=1/rowspan=1sCC:C1:stableauxi(s _getattr_s _getitem_smemsuconfserrsuser_idsstrsuplacesrepsobjsobj2snewobjsrequestsl(smemsuplacesuser_ids _getattr_s _getitem_suconfserrsstrsrepsobjsobj2snewobjsrequestsl((sScript (Python)screate_user_foldersH! +(:+$&3(  (screate_user_folder(screate_user_folder((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q}qUjamesq]q UOwnerq!asUidq"Ucreate_user_folderq#U_paramsq$Umem, uplace, user_idq%U func_codeq&(cShared.DC.Scripts.Signature FuncCode q'oq(}q)(U co_argcountq*KU co_varnamesq+(Umemq,Uuplaceq-Uuser_idq.U _getattr_q/U _getitem_q0Uuconfq1Uerrq2Ustrq3Urepq4Uobjq5Uobj2q6Unewobjq7Urequestq8Ultq9ubu.‚ƒB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚„B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚…Û((U&Products.ExternalMethod.ExternalMethodqUExternalMethodqtqNt.}q(U_moduleqUsend_trackback_pingqU _functionqU send_pingqU__ac_local_roles__q }q Up4q ]q UOwnerq asUidqUsend_trackback_pingqUtitleqUu.‚†Š((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T,container.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') resp = '\n' resp += '\n' resp += '' + str(errorCode) + '\n' if errorMsg != '': resp += '' + errorMsg + '\n' resp += '\n' return resp q U_codeq TÛc@s d„ZdS(NcCs…ttttdƒdƒdƒddƒd}|d7}|dt|ƒd 7}|d jo |d |d 7}|d 7}n|SdS(NsREQUESTsRESPONSEs setHeaders Content-Typestext/xmls, s ss ss s s (s _getattr_s containersrespsstrs errorCodeserrorMsg(s errorCodeserrorMsgs _getattr_s containersrespsstr((sScript (Python)s responseXMLs(  (s responseXML(s responseXML((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU__ac_local_roles__q}qUp4q]q UOwnerq!asUidq"U responseXMLq#U_paramsq$UerrorCode, errorMsgq%U func_codeq&(cShared.DC.Scripts.Signature FuncCode q'oq(}q)(U co_argcountq*KU co_varnamesq+(U errorCodeq,UerrorMsgq-U _getattr_q.hUrespq/Ustrq0tq1ubu.‚‡€((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T^isok=None #~ ############## retrieve values ############### if form.has_key('url'): url=form['url'] if not form.has_key('title'): title=url else: title=form['title'] excerpt='' blog_name='' if form.has_key('excerpt'): excerpt=form['excerpt'] if form.has_key('blog_name'): blog_name=form['blog_name'] #~ ############## control ping validity ######### if url<>'' and url.find('http://')>=0: isok=1 if title=='': title=url #~ ############## record the ping ############### if isok: #~ infos to record pdate=DateTime('GMT+0') id=str(pdate.timeTime()) ipadr=context.REQUEST['REMOTE_ADDR'] if context.REQUEST.has_key('HTTP_X_FORWARDED_FOR'): ipadr=context.REQUEST['HTTP_X_FORWARDED_FOR'] #~ record if not recobj.hasProperty('num_trackbacks'): recobj.manage_addProperty('num_trackbacks',0,'int') ntb=recobj.num_trackbacks+1 recobj.manage_changeProperties(num_trackbacks=ntb) recobj.manage_addDTMLDocument(id,title) recobj[id].manage_addProperty('url',url,'string') recobj[id].manage_addProperty('excerpt',excerpt,'string') recobj[id].manage_addProperty('blog_name',blog_name,'string') recobj[id].manage_addProperty('date',pdate,'date') recobj[id].manage_addProperty('ip',ipadr,'string') #~ fire response if isok: return container.responseXML(0,"") else: return container.responseXML(1,"Url not ok") q U_codeq Tc@s d„ZdS(NcCsát}t|dƒdƒo¡t|dƒ}t|dƒdƒ o |}nt|dƒ}d}d} t|dƒdƒot|dƒ}nt|dƒdƒot|dƒ} q½n|djot|dƒdƒd jo!d }|djo |}qn|o˜t d ƒ} t t| d ƒƒƒ} ttt d ƒdƒ}ttt d ƒdƒdƒottt d ƒdƒ}nt|dƒdƒ ot|dƒdd dƒnt|dƒd }t|dƒd|ƒt|dƒ| |ƒtt|| ƒdƒd|dƒtt|| ƒdƒd|dƒtt|| ƒdƒd| dƒtt|| ƒdƒd| dƒtt|| ƒdƒd|dƒn|ottdƒd dƒSnttdƒd dƒSdS(Nshas_keysurlstitlessexcerpts blog_namesfindshttp://iisGMT+0stimeTimesREQUESTs REMOTE_ADDRsHTTP_X_FORWARDED_FORs hasPropertysnum_trackbackssmanage_addPropertysintsmanage_changePropertiessmanage_addDTMLDocumentsstringsdatesips responseXMLs Url not ok(sNonesisoks _getattr_sforms _getitem_surlstitlesexcerpts blog_namesDateTimespdatesstrsidscontextsipadrsrecobjsntbs container(srecobjsformsNonesisoks _getattr_s _getitem_surlstitlesexcerpts blog_namesDateTimespdatesstrsidscontextsipadrsntbs container((sScript (Python)sreceive_trackback_pingsD   )  """" (sreceive_trackback_ping(sreceive_trackback_ping((sScript (Python)ssq U func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q }q!Up4q"]q#UOwnerq$asUidq%Ureceive_trackback_pingq&U_paramsq'U recobj, formq(U func_codeq)(cShared.DC.Scripts.Signature FuncCode q*oq+}q,(U co_argcountq-KU co_varnamesq.(Urecobjq/Uformq0UNoneq1Uisokq2U _getattr_q3U _getitem_q4Uurlq5Utitleq6Uexcerptq7U blog_nameq8UDateTimeq9Updateq:Ustrq;UidqUntbq?U containerq@tqAubu.‚ˆB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚‰B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tmem=context.zwo_lib.mem_data() packs=mem['racine_obj'].zwo_info.packs skins=mem['racine_obj'].zwo_info.skins roles=mem['user_roles_id'] try: pack=packs[pack] except: return 'Ce pack n\'existe pas' pack_id=pack.getId() def canInstall(): if 'config_zwook' in roles: return 1 if not canInstall(): return '' print context.zwo_lib.standard_minimal_header(mem) print '

Install log for pack '+pack.title+'

' print '
    ' #~ ######## on checke si le(s) skin est présent ou on le rajoute ############ skin_idl=pack.skin.objectIds() for skin_id in pack.skin.objectIds(): if skin_id not in skins.objectIds(): skins.manage_clone(pack.skin[skin_id],skin_id) print '
  • Skin '+skin_id+' copied
  • ' else: print '
  • Skin '+skin_id+' was already there
  • ' #~ ######## on change la feuille de style ############ style=mem['racine_obj'].zwo_info.css.default new_style=pack.style.default.document_src() style.manage_edit(new_style,'') cssdefault=mem['racine_obj'].zwo_info.css if 'default.css'in cssdefault.objectIds(): cssdefault.manage_delObjects('default.css') mem['racine_obj'].zwo_info.css.manage_clone(style,'default.css') print '
  • Css stylesheet updated
  • ' #~ ######## on change le contenu ############ #~ on efface l'ancien mem['racine_obj'].manage_delObjects('zwook') #~ on met le nouvo mem['racine_obj'].manage_clone(pack.content.zwook,'zwook') print '
  • Content objects updated
  • ' #~ ############# checkup roles ############ mem['zwo_obj'].manage_role('Anonymous',permissions=[]) mem['zwo_obj'].manage_role('Authenticated',permissions=[]) mem['zwo_obj'].manage_role('Manager',permissions=[]) mem['zwo_obj'].manage_role('config_zwook',permissions=[]) #~ ######## on copie les données spécifiques aux modules ############ #~ on efface l'ancien mem['racine_obj'].zwo_info.manage_delObjects('modules') #~ on met le nouvo mem['racine_obj'].zwo_info.manage_clone(pack.infos.modules,'modules') print '
  • Modules configuration updated
  • ' print '
' print '

Voir le résultat ]

' print context.zwo_lib.standard_minimal_footer(mem) return printed q U _filepathq UGScript (Python):/dev/zwook_active_rc5_beta1/zwo_lib/install/installer_2q U_codeqT c@s d„ZdS(Nc2sHtƒ}tttdƒdƒƒ}ttt|dƒdƒdƒ}ttt|dƒdƒdƒ}t|dƒ‰yt||ƒ}Wn dSnXt|d ƒƒ} ‡d †} | ƒ od Sn|tttdƒd ƒ|ƒIJ|d t|dƒdIJ|dIJtt|dƒdƒƒ} x’t tt|dƒdƒƒƒD]o}|t|dƒƒjo>t|dƒtt|dƒ|ƒ|ƒ|d|dIJqK|d|dIJqKWtttt|dƒdƒdƒdƒ}ttt|dƒdƒdƒƒ}t|dƒ|d ƒttt|dƒdƒdƒ}dt|dƒƒjot|dƒdƒntttt|dƒdƒdƒdƒ|dƒ|dIJtt|dƒdƒdƒtt|dƒdƒtt|d ƒdƒdƒ|d!IJtt|d"ƒd#ƒd$d%gƒtt|d"ƒd#ƒd&d%gƒtt|d"ƒd#ƒd'd%gƒtt|d"ƒd#ƒd(d%gƒttt|dƒdƒdƒd)ƒttt|dƒdƒdƒtt|d*ƒd)ƒd)ƒ|d+IJ|d,IJ|d-t|d.ƒd/IJ|tttdƒd0ƒ|ƒIJ|ƒSdS(1Nszwo_libsmem_datas racine_objszwo_infospackssskinss user_roles_idsCe pack n'existe passgetIdcsdˆjodSndS(Ns config_zwooki(sroles(sroles(sroles(sScript (Python)s canInstall s ssstandard_minimal_headers

Install log for pack stitles

s
    sskins objectIdss manage_clones
  • Skin s copied
  • s was already therescsssdefaultsstyles document_srcs manage_edits default.csssmanage_delObjectss
  • Css stylesheet updated
  • szwookscontents
  • Content objects updated
  • szwo_objs manage_roles Anonymouss permissionss AuthenticatedsManagers config_zwooksmodulessinfoss&
  • Modules configuration updated
  • s
s&

Voir le résultat ]

sstandard_minimal_footer(s_print_s_prints _getattr_scontextsmems _getitem_spackssskinssrolesspackspack_ids canInstallsskin_idls _getiter_sskin_idsstyles new_styles cssdefault(spacks_print_s_prints _getattr_scontextsmems _getitem_spackssskinssrolesspack_ids canInstallsskin_idls _getiter_sskin_idsstyles new_styles cssdefault((srolessScript (Python)s installer_2sT$!!  " "%*'! %+"""%%1  "(s installer_2(s installer_2((sScript (Python)ssqU func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerq U containerq!usbU__ac_local_roles__q"}q#Ujamesq$]q%UOwnerq&asUidq'U installer_2q(U_paramsq)Upackq*U func_codeq+(cShared.DC.Scripts.Signature FuncCode q,oq-}q.(U co_argcountq/KU co_varnamesq0(Upackq1U_print_q2U_printq3U _getattr_q4Ucontextq5Umemq6U _getitem_q7Upacksq8Uskinsq9Urolesq:Upack_idq;U canInstallqUskin_idq?Ustyleq@U new_styleqAU cssdefaultqBtqCubu.‚ ’((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T‰mem=context.zwo_lib.mem_data() packs=mem['racine_obj'].zwo_info.packs print context.zwo_lib.standard_minimal_header(mem) print "


Attention : l'installation d'un pack supprime tout le contenu courrant de tout le site.
" print "Veiller à sauvegarder vos données avant d\'installer un pack !


" print '

[ OK CONTINUER ]

' print '

ou

' print '

[LAISSER TOMBER]

' print context.zwo_lib.standard_minimal_footer(mem) return printed q U_codeq T…c@s d„ZdS(NcCsÆtƒ}tttdƒdƒƒ}ttt|dƒdƒdƒ}|tttdƒdƒ|ƒIJ|dIJ|dIJ|d IJ|d IJ|d IJ|tttdƒd ƒ|ƒIJ|ƒSdS( Nszwo_libsmem_datas racine_objszwo_infospackssstandard_minimal_headers¥


Attention : l'installation d'un pack supprime tout le contenu courrant de tout le site.
sHVeiller à sauvegarder vos données avant d'installer un pack !


sB

[ OK CONTINUER ]

s

ou

sP

[LAISSER TOMBER]

sstandard_minimal_footer(s_print_s_prints _getattr_scontextsmems _getitem_spacks(s_print_s_prints _getattr_scontextsmems _getitem_spacks((sScript (Python)s installer_0s$!"     "(s installer_0(s installer_0((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q}qUjamesq]q UOwnerq!asUidq"U installer_0q#U_paramsq$UU func_codeq%(cShared.DC.Scripts.Signature FuncCode q&oq'}q((U co_argcountq)KU co_varnamesq*(U_print_q+U_printq,U _getattr_q-Ucontextq.Umemq/U _getitem_q0Upacksq1tq2ubu.‚‘ à((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T mem=context.zwo_lib.mem_data() packs=mem['racine_obj'].zwo_info.packs print context.zwo_lib.standard_minimal_header(mem) print '

Séléctionner un pack à installer

' print "

Attention : l'installation d'un pack supprime tout le contenu courrant de tout le site.
" print "Veiller à sauvegarder vos données avant d\'installer un pack !

" print '' for pack in packs.objectValues(): img_url=pack["visual.png"].absolute_url() packid=pack.getId() des='' for el in pack.description: des=des+el+'
' print '' print '' print '' print '
' print '
' print '
' print '

'+pack.title+'

' print des print '

Installer ce pack ]' print '

' print context.zwo_lib.standard_minimal_footer(mem) return printed q U_codeq Tc@s d„ZdS(Nc 2CsÅtƒ}tttdƒdƒƒ}ttt|dƒdƒdƒ}|tttdƒdƒ|ƒIJ|dIJ|dIJ|d IJ|d IJxütt|d ƒƒƒD]â}tt|d ƒd ƒƒ} t|dƒƒ} d} x+tt|dƒƒD]} | | d} q÷W|dIJ|dIJ|d| dIJ|dIJ|dt|dƒdIJ|| IJ|d| dIJ|dIJ|dIJq¨W|dIJ|tttdƒdƒ|ƒIJ|ƒSdS( Nszwo_libsmem_datas racine_objszwo_infospackssstandard_minimal_headers)

Séléctionner un pack à installer

Attention : l'installation d'un pack supprime tout le contenu courrant de tout le site.
sAVeiller à sauvegarder vos données avant d'installer un pack !

s2s objectValuess visual.pngs absolute_urlsgetIdss descriptions
ssss
s
s&
s

stitles

s4

Installer ce pack ]s

sstandard_minimal_footer( s_print_s_prints _getattr_scontextsmems _getitem_spackss _getiter_spacksimg_urlspackidsdessel( s_print_s_prints _getattr_scontextsmems _getitem_spackss _getiter_spacksimg_urlspackidsdessel((sScript (Python)s installer_1s4$!"          "(s installer_1(s installer_1((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU__ac_local_roles__q}qUjamesq]q UOwnerq!asUidq"U installer_1q#U_paramsq$UU func_codeq%(cShared.DC.Scripts.Signature FuncCode q&oq'}q((U co_argcountq)KU co_varnamesq*(U_print_q+U_printq,U _getattr_q-Ucontextq.Umemq/U _getitem_q0Upacksq1U _getiter_q2Upackq3Uimg_urlq4Upackidq5Udesq6Uelq7tq8ubu.‚ŠB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚‹B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚ŒB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚ŽB((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚’B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚”B((U PersistenceqUPersistentMappingqtqNt.}qU _containerq}qs.‚•î((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tmem=context.zwo_lib.mem_data() modname='inscription' instance=mem['rep_obj'][instid] reponse1="" reponse2="" print mem['zwo_obj'].zwo_lib.standard_html_header(mem) membre =mem['user_id'] print '
' print'
' print'' print'' print' ' print'' print'' print ' ' print'' if info1 != "" or info2 != "": print'' print '' print'' if info1!="": print'' print '' print'' else: print '' if info2!="": print'' print '' print'' else: print '' print'' print' ' print'' print'

Inscription à: '+libelle+'


Bienvenue '+membre+',


Peux-tu compléter le formulaire, stp:

'+info1+' :

'+info2+' :


' print ' ' print '
' ##print '

Priorité :

' print '' print '' print '' print '' print '' print '' print mem['zwo_obj'].zwo_lib.standard_html_footer(mem) return printed q U _filepathq U9Script (Python):/phil/zwo_modules/inscription/inscriptionq U_codeqT> c@s d„ZdS(NcVCs–tƒ}tttdƒdƒƒ} d} tt| dƒ|ƒ} d} d}|ttt| dƒdƒdƒ| ƒIJt| dƒ}|d IJ|d IJ|d IJ|d IJ|d |dIJ|dIJ|d IJ|d|dIJ|dIJ|djp |djo"|d IJ|dIJ|dIJn|djo*|d IJ|d|dIJ|dIJn|d| dIJ|djo*|d IJ|d|dIJ|dIJn|d|dIJ|d IJ|dIJ|dIJ|dIJ|dIJ|dIJ|d|dIJ|d|dIJ|d |dIJ|d!|dIJ|d|dIJ|d"IJ|ttt| dƒdƒd#ƒ| ƒIJ|ƒSdS($Nszwo_libsmem_datas inscriptionsrep_objsszwo_objsstandard_html_headersuser_ids1
s
sss1 ss s.ss)ss,
s) s s

Inscription à: s


Bienvenue s,


Peux-tu compléter le formulaire, stp:
s@ :

s@ :

s*U _getitem_q?Uinstanceq@Ureponse1qAUreponse2qBUmembreqCtqDubu.‚– ë((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tì# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type_rep=="skin": try: skin=context.zwo_info.skins[nom_rep] except: return 'nooo' obj=skin[instid] else: dossier=mem['rep_obj'] obj=dossier[instid] if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' # EXEMPLE MODIFICATION obj.manage_changeProperties(admis=admis) obj.manage_changeProperties(libelle=libelle) obj.manage_changeProperties(maximum=maximum) obj.manage_changeProperties(delai=delai) obj.manage_changeProperties(info1=info1) obj.manage_changeProperties(info2=info2) obj.manage_changeProperties(responsable=responsable) # REDIRECTION PAGE ADMIN GENERALE PAGE OU SKIN. context.REQUEST.RESPONSE.redirect('../../') q Uidq U config_okq U_codeqT/c@s d„ZdS(Nc Csmtttdƒdƒƒ} |djoFy%ttttdƒdƒ|ƒ}Wn dSnXt||ƒ}nt| dƒ}t||ƒ}t| dƒd jod Snt|d ƒd |ƒt|d ƒd |ƒt|d ƒd|ƒt|d ƒd|ƒt|d ƒd|ƒt|d ƒd|ƒt|d ƒd| ƒttttdƒdƒdƒdƒdS(Nszwo_libs mem_mod_datasskinszwo_infosskinssnooosrep_objsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !smanage_changePropertiessadmisslibellesmaximumsdelaisinfo1sinfo2s responsablesREQUESTsRESPONSEsredirects../../(s _getattr_scontextsmemstype_reps _getitem_snom_repsskinsinstidsobjsdossiersadmisslibellesmaximumsdelaisinfo1sinfo2s responsable(sinstidsnom_repstype_repsadmisslibellesmaximumsdelaisinfo1sinfo2s responsables _getattr_scontextsmems _getitem_sskinsobjsdossier((sScript (Python)s config_oks$ ( (s config_ok(s config_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#K U co_varnamesq$(Uinstidq%Unom_repq&Utype_repq'Uadmisq(Ulibelleq)Umaximumq*Udelaiq+Uinfo1q,Uinfo2q-U responsableq.U _getattr_q/Ucontextq0Umemq1U _getitem_q2Uskinq3Uobjq4Udossierq5tq6ubU__ac_local_roles__q7}q8Uxavq9]q:UOwnerq;asU _filepathqUKinstid,nom_rep,type_rep,admis,libelle,maximum,delai,info1,info2,responsableq?U_dav_writelocksq@(U†qA(U PersistenceqBUPersistentMappingqCtqDtqEQu.‚—³((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tÿ # RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type=="skin": skin=context.zwo_info.skins[nom] lieu=skin else: dossier=mem['rep_obj'] lieu=dossier url_lieu=lieu.absolute_url() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) #controle type de variables saisies try: dum =23 +int(maximum) except: return '''Entrez un nombre pour le maximum d'inscriptions''' # REDIRECTION SI IDENTIFIANT MAL CHOISI if idobj in lieu.objectIds(): url='../ajout_element?type='+container.getId() print '' print '

Cet identifiant '+idobj+' est déja pris
' print 'Veuillez en choisir un autre
' print 'Redirection automatique dans 2 secondes.

' print 'Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle' print '' return printed # CREATION INSTANCE MODULE (dossier, image, DTML Document ou Fichier selon Besoin. Folder conseillé en cas de doute) lieu.manage_addFolder(idobj,titre) obj=lieu[idobj] # AJOUT DES PROPRIETES OBLIGATOIRE DU MODULES obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element',container.getId(),'string') # AJOUT D'AUTRES PROPRIETE en fonction du module obj.manage_addProperty('admis',admis,'string') obj.manage_addProperty('libelle',libelle,'string') obj.manage_addProperty('maximum',maximum,'int') obj.manage_addProperty('delai',delai,'date') obj.manage_addProperty('info1',info1,'string') obj.manage_addProperty('info2',info2,'string') obj.manage_addProperty('responsable',responsable,'string') # Crée un groupe d'utilisateur pour cette inscription nom_groupe= "E-"+libelle.replace(" ","_")#nom du groupe= i- avec le libelle de l'inscription nomz=context.zwo_lib.mix_id_zope(nom_groupe)#crée un nom sans caractères spéciaux #return nomz lis=mem["zwo_info"].groups #if not nom_groupe in mem['zwo_obj'].zwo_info.groups.objectIds('Folder') #if nomz in mem["zwo_info"].groups.objectIds(): #si le nom existe déjà indice=0 while nomz in mem["zwo_info"].groups.objectIds(): #si le nom existe déjà indice=indice+1 nomz=nomz+str(indice) #ajoute un incrément au nom obj.manage_addProperty('groupe',nomz,'string') lis.manage_addProduct['OFSP'].manage_addFolder(nomz,nom_groupe) newobj=lis[nomz] newobj.manage_addProperty('type_zwook','group','string') newobj.manage_addProperty('ok','1','string') request={'role':nom} mem['racine_obj'].manage_defined_roles(submit='Add Role',REQUEST=request) #context.REQUEST.RESPONSE.redirect('etape1?nom='+nomz) context.REQUEST.RESPONSE.redirect('../../place?nom='+nom+'&obj='+idobj) return q Uidq Unew_okq U_codeqTd c@s d„ZdS(Nc !#Cstƒ} tttdƒdƒƒ}|djo+ttttdƒdƒ|ƒ}|}nt|dƒ}|}t|dƒƒ}t|dƒd jod Sntttdƒd ƒ|ƒ}yd t|ƒ}Wn d SnX|t|dƒƒjoudttdƒƒ}| d|dIJ| d|dIJ| dIJ| dIJ| d|dIJ| dIJ| ƒSnt|dƒ||ƒt||ƒ}t|dƒdddƒt|dƒdttdƒƒdƒt|dƒd|dƒt|dƒd |dƒt|dƒd!|d"ƒt|dƒd#|d$ƒt|dƒd%|dƒt|dƒd&|dƒt|dƒd'| dƒd(t|d)ƒd*d+ƒ}tttdƒd ƒ|ƒ}tt|dƒd,ƒ}d-}xJ|ttt|dƒd,ƒdƒƒjo|d }|t|ƒ}qÜWt|dƒd.|dƒttt|d/ƒd0ƒdƒ||ƒt||ƒ}t|dƒdd1dƒt|dƒd2d3dƒhd4|<} tt|d5ƒd6ƒd7d8d9| ƒttttd9ƒd:ƒd;ƒd<|d=|ƒdSdS(>Nszwo_libs mem_mod_datasskinszwo_infosskinssrep_objs absolute_urlsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s mix_id_zopeis/Entrez un nombre pour le maximum d'inscriptionss objectIdss../ajout_element?type=sgetIds7s.

Cet identifiant s est déja pris
s"Veuillez en choisir un autre
s6Redirection automatique dans 2 secondes.

sGSi la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuellessmanage_addFoldersmanage_addPropertys type_zwookselementsstringsadmisslibellesmaximumsintsdelaisdatesinfo1sinfo2s responsablesE-sreplaces s_sgroupsisgroupesmanage_addProductsOFSPsgroupsoks1sroles racine_objsmanage_defined_rolesssubmitsAdd RolesREQUESTsRESPONSEsredirects../../place?nom=s&obj=(!s_print_s_prints _getattr_scontextsmemstypes _getitem_snomsskinslieusdossiersurl_lieustitresidobjsintsmaximumsdums containersurlsobjsadmisslibellesdelaisinfo1sinfo2s responsables nom_groupesnomzslissindicesstrsnewobjsrequest(!stitresnomstypesadmisslibellesmaximumsdelaisinfo1sinfo2s responsables_print_s_prints _getattr_scontextsmems _getitem_sskinslieusdossiersurl_lieusidobjsintsdums containersurlsobjs nom_groupesnomzslissindicesstrsnewobjsrequest((sScript (Python)snew_oksd  !    %+ (((snew_ok(snew_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†q (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Ugregq']q(UOwnerq)asU _filepathq*U=Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/new_okq+U_paramsq,UBtitre,nom,type,admis,libelle,maximum,delai,info1,info2,responsableq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2K U co_varnamesq3(Utitreq4Unomq5Utypeq6Uadmisq7Ulibelleq8Umaximumq9Udelaiq:Uinfo1q;Uinfo2qU_printq?U _getattr_q@UcontextqAUmemqBU _getitem_qCUskinqDUlieuqEUdossierqFUurl_lieuqGUidobjqHUintqIUdumqJU containerqKUurlqLUobjqMU nom_groupeqNUnomzqOUlisqPUindiceqQUstrqRUnewobjqSUrequestqTtqUubu.‚˜ê((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T¯# -*- coding: cp1252 -*- ## Script (Python) "inscription_ok" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=instid,groupe,membre,info1,reponse1,info2,reponse2 ##title= ## mem=context.zwo_lib.mem_data() instance=mem['rep_obj'][instid] #if mem['droit_config_dossier']<>1: # return 'Vous n\'avez pas les droits pour cette action !' repuser=context.acl_users #Inscris le membre dans le user-groupe du cours if membre<>'': userzope=repuser.getUser(membre) usgr=[] roles=userzope.getRolesInContext(context.zwook) if not groupe in roles: roles.append(groupe) #nom = nom du groupe for r in roles: if not r in usgr: if r!='Authenticated': usgr.append(r) context.zwo_lib.zwo_user_groups(membre,usgr) #crée un répertoire pour le membre if not membre in instance.objectIds('Folder'): instance.manage_addFolder(membre,membre) #import time #date_inscription=time.strftime("%d:%m:%y",time.localtime(time.time())) #date_inscription=DateTime("1997/3/9 1:45pm") date_inscription=DateTime().pCommon() #return date_inscription instance[membre].manage_addProperty('date_inscription',date_inscription,'date') instance[membre].manage_addProperty('reponse1',reponse1,'string') instance[membre].manage_addProperty('reponse2',reponse2,'string') context.REQUEST.RESPONSE.redirect(mem['rep_url']) q U _filepathq U' print '' print '' print '' print '' print '' if liste!=[]: fin_choix = 'sous-rubrique à la rubrique choisie' print ' \n\n\n' if fixbox and len(liste)>nb_cat_wo_fixbox: print ' ' print ' ' else: fin_choix = 'rubrique' print ' ' print '' if perm_edit: debut_choix='Ajoutez' bouton_submit='Ajouter' else: debut_choix='Proposez' bouton_submit='Proposer' if msg_form!='': print '' print '\n \n' print '\n' print ' ' print ' ' print '' print '' print ' ' print '' print '' print ' \n ' print '' if msg_url != '': print '' print ' ' print '' print '' print ' \n ' print '' print '' print ' \n ' print '' print '
' print '

Choisissez (COCHEZ) une rubrique:

' print '
' #print ' ' print ' ' print ' ' else: print ' ' racine_sel = '' if chem==['']: racine_sel = ' checked' print ' ' + folder_icon + ' (Racine de l\'annuaire)
' for l in liste: print ' ' + l print '
' print ' (Aucune rubrique n\'a encore été créée)' print '
'+ msg_form + '
' print '

'+debut_choix+' éventuellement une '+fin_choix+':

' print '
Nom : ' print ' ' print ' ' print '
' print '

'+ debut_choix + ' un lien dans cette rubrique:

' print '
\n URL: \n \n \n
' print ' '+ msg_url print '
\n Titre: \n \n
\n Description: \n \n \n   ' print '
' print '' print context.zwo_lib.standard_html_footer(mem) return printed q Utitleq U*formulaire d'ajout de lien ou de catégorieq U_codeqT8c @s(dddddddddd„ ZdS(Nsc Aßs_ tƒ} tttdƒdƒƒ‰d‰d}d}d}dk l ‰|djodSnt t ˆdƒ|ƒ}|}ttd ƒƒ‰ttd ƒƒ}d ˆd ‰d ˆd‰t|dƒ}t|dƒ}ttd ƒƒ}t|dƒƒ‰t|dƒ}!t|dƒ}"d‰ d}$t ˆdƒ‰ x+tˆ ƒD]}'|'|jo d}$qDqDWx+tˆ ƒD]}'|'|jo d‰ qrqrWdˆ jo2d|jo d}$nd|jo d‰ qÒnt ˆdƒdjo d‰ nˆ p|$ odSnt t|d ƒƒƒ})t ttdƒdƒ}*|djo·|*t ˆdƒt ˆdƒt ˆdƒgj ot|*d ƒt|d ƒƒdƒ}+|+djoLt |+dd!…ƒ}+t|+d"ƒd#ƒ},tt |,ƒd ƒd$dƒ}qùqýntt'd%ƒd$d$ƒ}.t t |dd …ƒƒ}/tt'd&ƒ|/|.d'ƒ}/t|/d"ƒd(ƒ‰ ˆo| d)t ˆ ƒIJn|}1xBtˆ ƒD]4}2|2djo!t |1|2ƒ}1|)d#|2})q“q“W|o­| d*|d+d,IJ| d-|)d+d,IJ| d.|d+d,IJ| d/|*d+d,IJ| d0t ˆdƒd,IJ| d1t ˆdƒd,IJ| d2t ˆdƒd,IJnˆo| d3t |1ƒIJn‡d4†‰ ‡d5†‰d‰ d6„‰d7„‰dg}8‡‡‡‡‡‡‡‡‡ ‡ ‡ ‡ ‡ ‡‡d8†‰g}:ˆ|:|d|8dƒ|ot5|:ƒ|jo| d9IJn| tttdƒd:ƒˆƒIJ| d;ˆ|)ƒd<IJ| d=IJ| d>IJ| d?IJ| d@IJ| dAIJ| dBIJ| dCIJ| dDIJ| dEIJ| dFIJ| dGIJ| dHIJ| dIIJ| dJ|dKIJ| dLIJ| dMIJ|:gjoádN}<| dOIJ| dPIJ| dQIJ|ot5|:ƒ|jo,| dRIJ| dSIJ| dTIJ| dUIJn | dVIJd}=ˆ dgjo dW}=n| dXˆdY|=dZIJx"t|:ƒD]}>| dX|>IJqûW| dTIJn%d[}<| d\IJ| d]IJ| dTIJ| d^IJˆ od_}?d`}@n da}?db}@|djo| dc|ddIJn| deIJ| df|?dg|<dhIJ| diIJ| djIJ| dkIJ| dlIJ| dm|dKIJ| dn|@doIJ| dTIJ| dpIJ| dMIJ| dOIJ| df|?dqIJ| dTIJ| dpIJ| dMIJ| dr|dsIJ| dpIJ|djo:| dMIJ| dOIJ| dX|IJ| dTIJ| dpIJn| dMIJ| dt|duIJ| dpIJ| dMIJ| dv|dwIJ| dx|@dyIJ| dpIJ| dzIJ| d{IJ| tttdƒd|ƒˆƒIJ| ƒSd!S(}sM Affiche l'arbre T dans la liste l. niveau est la profondeur actuelle. szwo_libsmem_dataii(s html_quotessErreur! instid est vide!srep_objs absolute_urlsgetIdss_sgrpsactsgrpsviewsgetPhysicalPaths enablehtmlsenablejavascripts user_roles_idis Authenticateds Anonymoussdroit_edit_dossiers"Vous n'avez aucun droit pour cela!sREQUESTs HTTP_REFERERs view_htmls racine_urlszwo_urlsrep_urlsreplaceNssplits/s s maketranss translates 's,schem=sinstid = 's's
sretour_href = 'scategory_path = 'shttp_ref = 'smem['racine_url']=smem['zwo_url']=smem['rep_url']=srepcat=cs2dˆdt|ƒdttdƒƒdSdS(Ns-(sabs_urlsstrsindexs _getattr_sscript(sindexsabs_urlsstrs _getattr_sscript(sabs_url(sScript (Python)s f_minus_icongscs2dˆdt|ƒdttdƒƒdSdS(Ns+(sabs_urlsstrsindexs _getattr_sscript(sindexsabs_urlsstrs _getattr_sscript(sabs_url(sScript (Python)s f_plus_iconiscCsct|dƒƒt|dƒƒjo d Sn2t|dƒƒt|dƒƒjodSndSdS(NsgetIdii(s _getattr_sxsy(sxsys _getattr_((sScript (Python)s cmp_folders1ns % %c Cs¾t|dƒƒ}t|dƒƒ}d}d}t|dƒdƒott|dƒƒ}nt|dƒdƒott|dƒƒ}nd}d} t|dƒdƒot|dƒ}nt|dƒdƒot|dƒ} n||jo d Sn¹||jodSn¤|djo | djo/|| jo d Sq‹|| jodSq‹n,|djo d Sn| djodSn||jo d Sn||jodSndSdS(Ns title_or_idis hasPropertyspriorsorderi( s _getattr_sxsxtsysytsxpsypsintsxosyo( sxsys _getattr_sxtsytsxpsypsintsxosyo((sScript (Python)s cmp_folders2vs>$            c&sttt|dƒƒƒdƒttˆƒdd …ƒdƒ} t| dƒdƒot| dƒdddƒ} ntttt| dd …ƒdƒddƒdƒd dƒd ƒd ƒ} d } t| d |…ƒtˆ d |…ƒj} d } |d jo7t|d ƒd} t|d ƒƒt|dƒ| ƒd}x(t t|dƒƒD]}|ˆ}qTWt|dƒdƒ}t|dƒˆƒ|gjo(ttt|d ƒdƒƒdƒdƒo/| o|ˆ |ƒ}q|ˆ| ƒ}n |ˆ}|ˆ}ˆ o‘d}t| dd…ƒtˆ dd…ƒjod}|d}n|d|dˆ| ƒdt|dƒƒdt|dƒƒd}nd}ˆ ovd| dt| ƒdt|ƒd t| ƒd!tt| d |…ƒƒd"ttˆ d |…ƒƒd#}nd}|gjoLˆ djp?t|d$ƒd%ƒo)t|d%ƒtˆd%ƒjo d&ˆjod't| ƒd(}nt|d$ƒd)ƒo t|d)ƒo;t|dƒ|d*t|d+ƒƒd,||d-ƒq8t|dƒ|d.t|d+ƒƒ||d-ƒn| o¾t|dƒdƒ}!t|!dƒˆƒx“t |!ƒD]}#tt|#dƒƒdƒdƒoYd }$t| d |…ƒtˆ d |…ƒjo d}$nˆ||#|d|| ƒqtqtWndS(/sM Affiche l'arbre T dans la liste l. niveau est la profondeur actuelle. sgetPhysicalPathsreplaceiss startswiths(, s, s's ssplits,ispopsappends objectValuessFolderssortsgetIdscatNs checked ss)s (relPhysicalPath=s | l_chem=s | niveau=s | deployed=s| l_chem[0:niveau]=s| chem[0:niveau]=s)s hasPropertysuser_ids Authenticateds" [suppr] son_fronts s title_or_ids s
s (&s _getattr_sstrsTs _getitem_sinstpathsrelPhysicalPathsl_chemsdeployedsniveauschems l_ind_rads index_radiossesps _getiter_srangesis blank_iconsT_sorteds cmp_folders1s f_minus_iconsparent_ind_rads f_plus_icons folder_icons boutons_radios is_it_checkeds html_quotes debug_strsdebugs ahref_deletes perm_editsmemsrolisls T_sorted2s cmp_folders2srsdepls affiche_arbre(&slsTsniveaus index_radiossparent_ind_rads _getattr_sstrs _getitem_sinstpathsrelPhysicalPathsl_chemsdeployedschems l_ind_radsesps _getiter_srangesis blank_iconsT_sorteds cmp_folders1s f_minus_icons f_plus_icons folder_icons boutons_radios is_it_checkeds html_quotes debug_strsdebugs ahref_deletes perm_editsmemsrolis T_sorted2s cmp_folders2srsdepls affiche_arbre(s cmp_folders1sinstpathsmems html_quotes f_plus_icons affiche_arbres cmp_folders2s blank_iconsrolis boutons_radioschems perm_edits f_minus_iconsdebugs folder_icon(sScript (Python)s affiche_arbre¢s`CI* 8  +Lv\&;4 + s sstandard_html_headers [Retour]sA

Ajout d'une rubrique et/ou d'un lien:

s?
s5s2s.s*s?ss#sous-rubrique à la rubrique choisies* s s sAjoutezsAjoutersProposezsProposers.s2 s s1 s# s" un lien dans cette rubrique:s” s˜ s  s
s.

Choisissez (COCHEZ) une rubrique:

s
s s, s checkeds s‰ (Racine de l'annuaire)
srubriques,
s* (Aucune rubrique n'a encore été créée)s
s
s

s éventuellement une s:

s
Nom : s6 s
URL:  Titre:  Description:    s
s
sstandard_html_footer(As_print_s_prints _getattr_scontextsmemsdebugsdebug_http_refsfixboxsnb_cat_wo_fixboxsProducts.PythonScripts.standards html_quotesinstids _getitem_srepsinstances containersabs_urlsscripts script_ids blank_icons folder_iconsgrpsactsgrpsviewsmodidsinstpaths enablehtmlsenablejavascripts perm_edits perm_submitsrolis _getiter_sgsstrs retour_hrefshttp_refsscr_fromst_paths path_lists category_pathsstringstablescheminschemsrepcatschs f_minus_icons f_plus_icons boutons_radios cmp_folders1s cmp_folders2s index_radioss affiche_arbreslisteslens fin_choixs racine_selsls debut_choixs bouton_submitsmsg_formsnewcatslink_urlsmsg_urls link_titres link_desc(Asinstidsnewcatslink_urls link_titres link_descs category_pathsmsg_urlsmsg_formsscr_froms_print_s_prints _getattr_scontextsmemsdebugsdebug_http_refsfixboxsnb_cat_wo_fixboxsProducts.PythonScripts.standards html_quotes _getitem_srepsinstances containersabs_urlsscripts script_ids blank_icons folder_iconsgrpsactsgrpsviewsmodidsinstpaths enablehtmlsenablejavascripts perm_edits perm_submitsrolis _getiter_sgsstrs retour_hrefshttp_refst_paths path_listsstringstablescheminschemsrepcatschs f_minus_icons f_plus_icons boutons_radios cmp_folders1s cmp_folders2s index_radioss affiche_arbreslisteslens fin_choixs racine_selsls debut_choixs bouton_submit((s cmp_folders1sabs_urlsmems html_quotes blank_iconsinstpaths affiche_arbres cmp_folders2s f_plus_iconsrolis boutons_radioschems perm_edits f_minus_iconsdebugs folder_iconsScript (Python)sadd_linksH$             2$ *      * 6:"                                                      "(sadd_link(sadd_link((sScript (Python)ssqU func_defaultsq(UUUUUUUUUtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq (cShared.DC.Scripts.Signature FuncCode q!oq"}q#(U co_argcountq$K U co_varnamesq%(Uinstidq&Unewcatq'Ulink_urlq(U link_titreq)U link_descq*U category_pathq+Umsg_urlq,Umsg_formq-Uscr_fromq.U_print_q/U_printq0U _getattr_q1Ucontextq2Umemq3Udebugq4Udebug_http_refq5Ufixboxq6Unb_cat_wo_fixboxq7UProducts.PythonScripts.standardq8U html_quoteq9U _getitem_q:Urepq;UinstanceqUscriptq?U script_idq@U blank_iconqAU folder_iconqBUgrpsactqCUgrpsviewqDUmodidqEUinstpathqFU enablehtmlqGUenablejavascriptqHU perm_editqIU perm_submitqJUroliqKU _getiter_qLUgUstrqMU retour_hrefqNUhttp_refqOUt_pathqPU path_listqQUstringqRUtableqSUcheminqTUchemqUUrepcatqVUchqWU f_minus_iconqXU f_plus_iconqYU boutons_radioqZU cmp_folders1q[U cmp_folders2q\U index_radiosq]U affiche_arbreq^Ulisteq_Ulenq`U fin_choixqaU racine_selqbUlU debut_choixqcU bouton_submitqdtqeubU__ac_local_roles__qf}qgUadminqh]qiUOwnerqjasUidqkUadd_linkqlU_paramsqmUninstid='',newcat='',link_url='',link_titre='',link_desc='',category_path='',msg_url='',msg_form='',scr_from=''qnU_dav_writelocksqo(U†¢qp(U PersistenceqqUPersistentMappingqrtqstqtQu.ƒpc#((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TV.print '' print 'Choix de la rubrique' print """ """ print '' print '
' print '
Choisir une couleur.
' RR="ff" VV="ff" BB="ff" if couleur: if len(couleur)>=7: RR=couleur[1:3] VV=couleur[3:5] BB=couleur[5:7] print '' print """

""" print '
' print '' print '' print '' print '
[select]
' print ' ' print '
' print 'nomform='+nomform+',nomchamp='+nomchamp+',chemin='+str(chemin)+',i='+ str(i) print '' return printed q Uidq U choixcheminq U_codeqT`1c@seded„ZdS(Nsc HCsÝtƒ}|dIJ|dIJ|dIJ|d|d|dIJ|dIJ|dIJ|d IJ|d IJd }d }d } |oZt|ƒd joCt |d d…ƒ}t |dd…ƒ}t |dd …ƒ} qÜn|dIJ|dIJ|dIJ|d|dIJ|d|dIJ|d| dIJ|d||| dIJ|dIJ|dIJ|d||| dIJ|dIJ|dIJ|dIJ|d |d!|d"t |ƒd#t |ƒIJ|d$IJ|ƒSdS(%Ns s#Choix de la rubriques# ss
sF
Choisir une couleur.
sffiiiisisì

s2s%s% [select]s s
snomform=s ,nomchamp=s,chemin=s,i=s( s_print_s_printsnomformsnomchampsRRsVVsBBscouleurslens _getitem_sstrscheminsi( snomformsnomchampscheminsiscouleurs_print_s_printsRRsVVsBBslens _getitem_sstr((sScript (Python)s choixcheminsL  v      ÿÿÿÿÿÿÿé      2 (sNones choixchemin(sNones choixchemin((sScript (Python)ssqU func_defaultsq(NUNtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU func_codeq (cShared.DC.Scripts.Signature FuncCode q!oq"}q#(U co_argcountq$KU co_varnamesq%(Unomformq&Unomchampq'Ucheminq(UiUcouleurq)U_print_q*U_printq+URRq,UVVq-UBBq.Ulenq/U _getitem_q0Ustrq1tq2ubU__ac_local_roles__q3}q4Uxavq5]q6UOwnerq7asU _filepathq8U0Script (Python):/kzexp_zwook/zwo_bo/choixcouleurq9U_paramsq:U.nomform,nomchamp,chemin=None,i='',couleur=Noneq;U_dav_writelocksq<(U†³q=(U Persistenceq>UPersistentMappingq?tq@tqAQu.ƒYg((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqU#Validation de la configuration - OKq U Script_magicq KU_bodyq T™# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() lieu=mem['parent'] obj=lieu[idobj] if type_rep=="skin": try: skin=context.zwo_info.skins[nom_rep] except: return 'nooo' obj=skin[instid] else: dossier=mem['rep_obj'] instance=dossier[instid] if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' g1=string.split(grpsact,',') g2=string.split(grpsview,',') # EXEMPLE MODIFICATION obj.manage_changeProperties(grpsact=g1) obj.manage_changeProperties(grpsview=g2) obj.manage_changeProperties(enablehtml=enablehtml) obj.manage_changeProperties(enablejavascript=enablejavascript) obj.manage_changeProperties(nb_days_is_new=nb_days_is_new) obj.manage_changeProperties(count_hits=count_hits) obj.manage_changeProperties(permit_votes=permit_votes) obj.manage_changeProperties(nb_rubs_aff=nb_rubs_aff) obj.manage_changeProperties(nb_liens_aff=nb_liens_aff) if not obj.hasProperty('nb_links'): obj.manage_addProperty('nb_links', 0, 'int') if not obj.hasProperty('nb_subcat'): obj.manage_addProperty('nb_subcat', 0, 'int') # REDIRECTION PAGE ADMIN GENERALE PAGE OU SKIN. context.REQUEST.RESPONSE.redirect('../../') q Uwarningsq )UidqU config_okqU_codeqTõc @s%ddddddddd„ZdS(Nsiiidic CsOtttdƒdƒƒ}t|dƒ}t||ƒ}|djoFy%ttttdƒdƒ|ƒ}Wn dSnXt||ƒ}nt|dƒ}t||ƒ}t|d ƒd jod Sntt d ƒ|d ƒ}tt d ƒ|d ƒ}t|dƒd|ƒt|dƒd|ƒt|dƒd|ƒt|dƒd|ƒt|dƒd|ƒt|dƒd| ƒt|dƒd| ƒt|dƒd| ƒt|dƒd| ƒt|dƒdƒ ot|dƒdddƒnt|dƒdƒ ot|dƒdddƒnttttdƒdƒd ƒd!ƒdS("Nszwo_libs mem_mod_datasparentsskinszwo_infosskinssnooosrep_objsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !ssplits,smanage_changePropertiessgrpsactsgrpsviews enablehtmlsenablejavascriptsnb_days_is_news count_hitss permit_votess nb_rubs_affs nb_liens_affs hasPropertysnb_linkssmanage_addPropertyisints nb_subcatsREQUESTsRESPONSEsredirects../../(s _getattr_scontextsmems _getitem_slieusidobjsobjstype_repsnom_repsskinsinstidsdossiersinstancesstringsgrpsactsg1sgrpsviewsg2s enablehtmlsenablejavascriptsnb_days_is_news count_hitss permit_votess nb_rubs_affs nb_liens_aff(sidobjsinstidsnom_repstype_repsgrpsactsgrpsviews enablehtmlsenablejavascriptsnb_days_is_news count_hitss permit_votess nb_rubs_affs nb_liens_affs _getattr_scontextsmems _getitem_slieusobjsskinsdossiersinstancesstringsg1sg2((sScript (Python)s config_oks8 (#(s config_ok(s config_ok((sScript (Python)ssqU func_defaultsq(UKKKKKKdKtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerq U containerq!usbU func_codeq"(cShared.DC.Scripts.Signature FuncCode q#oq$}q%(U co_argcountq&K U co_varnamesq'(Uidobjq(Uinstidq)Unom_repq*Utype_repq+Ugrpsactq,Ugrpsviewq-U enablehtmlq.Uenablejavascriptq/Unb_days_is_newq0U count_hitsq1U permit_votesq2U nb_rubs_affq3U nb_liens_affq4U _getattr_q5Ucontextq6Umemq7U _getitem_q8Ulieuq9Uobjq:Uskinq;UdossierqUg1q?Ug2q@tqAubU__ac_local_roles__qB}qCUxavqD]qEUOwnerqFasU _filepathqGU@Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/config_okqHU_paramsqIUŸidobj,instid,nom_rep,type_rep,grpsact,grpsview='',enablehtml=0,enablejavascript=0,nb_days_is_new=15,count_hits=0,permit_votes=0,nb_rubs_aff=100,nb_liens_aff=20qJU_dav_writelocksqK(U†£qL(U PersistenceqMUPersistentMappingqNtqOtqPQu.ƒZ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tá # RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() lieu=mem['parent'] url_lieu=mem['parent_bo_url'] if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) # REDIRECTION SI IDENTIFIANT MAL CHOISI if idobj in lieu.objectIds(): url=url_lieu+'ajout_element?type='+container.getId() print '' print '

Cet identifiant '+idobj+' est déja pris
' print 'Veuillez en choisir un autre
' print 'Redirection automatique dans 2 secondes.

' print 'Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle' print '' return printed # CREATION INSTANCE MODULE (dossier, image, DTML Document ou Fichier selon Besoin. Folder conseillé en cas de doute) lieu.manage_addFolder(idobj,titre) #lieu.manage_addImage(idobj,data,titre) #lieu.manage_addFile(idobj, file=data, title=titre) #lieu.manage_addDTMLDocument(idobj, titre) obj=lieu[idobj] # AJOUT DES PROPRIETES OBLIGATOIRE DU MODULES obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element',container.getId(),'string') # AJOUT D'AUTRES PROPRIETE en fonction du module obj.manage_addFolder('links','Tous les liens') obj.manage_addFolder('links_to_paste','Liens coupés ou copiés, à coller') obj.manage_addFolder('pathes','Chemins vers les catégories') g1=string.split(grpsact,',') g2=string.split(grpsview,',') obj.manage_addProperty('nb_rubs_aff',nb_rubs_aff,'int') obj.manage_addProperty('nb_liens_aff',nb_liens_aff,'int') obj.manage_addProperty('grpsact',g1,'lines') obj.manage_addProperty('grpsview',g2,'lines') obj.manage_addProperty('enablehtml',enablehtml,'boolean') obj.manage_addProperty('enablejavascript',enablejavascript,'boolean') obj.manage_addProperty('nb_days_is_new',nb_days_is_new,'int') obj.manage_addProperty('count_hits',count_hits,'boolean') obj.manage_addProperty('permit_votes',permit_votes,'boolean') obj.manage_addProperty('nb_links', 0, 'int') obj.manage_addProperty('nb_subcat', 0, 'int') # AJOUT DE SOUS ELEMENTS en fonction du module # (si dossier chois comme type uniquement) #obj.manage_addFolder('truc','bidulle') #obj.truc.manage_addProperty('nom_propriete','valeur default',type) """ numz=mem['zwo_obj'].zwo_info.annuaires_liens.num nu=int(numz)+1 mem['zwo_obj'].zwo_info.annuaires_liens.manage_changeProperties(num=nu) li=mem['zwo_obj'].zwo_info.annuaires_liens.url niou=obj.absolute_url()+'#/#'+obj.title li.append(niou) mem['zwo_obj'].zwo_info.annuaires_liens.manage_changeProperties(url=li) """ context.REQUEST.RESPONSE.redirect(url_lieu+'place?obj='+idobj) return q Utitleq U-validation de la création d'une instance - OKq UidqUnew_okqU_codeqTc c @s%ddddddddd„ZdS(Nsiidiic Cs1tƒ} tttdƒdƒƒ}t|dƒ}t|dƒ}t|dƒdjodSntttdƒdƒ|ƒ}|t|d ƒƒjoy|d tt d ƒƒ}| d |d IJ| d|dIJ| dIJ| dIJ| d|dIJ| dIJ| ƒSnt|dƒ||ƒt||ƒ}t|dƒdddƒt|dƒdtt d ƒƒdƒt|dƒddƒt|dƒddƒt|dƒddƒtt d ƒ|d!ƒ}tt d ƒ|d!ƒ}t|dƒd"|d#ƒt|dƒd$|d#ƒt|dƒd%|d&ƒt|dƒd'|d&ƒt|dƒd(|d)ƒt|dƒd*|d)ƒt|dƒd+|d#ƒt|dƒd,|d)ƒt|dƒd-| d)ƒt|dƒd.d/d#ƒt|dƒd0d/d#ƒd1ttttd2ƒd3ƒd4ƒ|d5|ƒdSdS(6Nszwo_libs mem_mod_datasparents parent_bo_urlsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s mix_id_zopes objectIdssajout_element?type=sgetIds7s.

Cet identifiant s est déja pris
s"Veuillez en choisir un autre
s6Redirection automatique dans 2 secondes.

sGSi la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuellessmanage_addFoldersmanage_addPropertys type_zwookselementsstringslinkssTous les liensslinks_to_pastes Liens coupés ou copiés, à collerspathessChemins vers les catégoriesssplits,s nb_rubs_affsints nb_liens_affsgrpsactslinessgrpsviews enablehtmlsbooleansenablejavascriptsnb_days_is_news count_hitss permit_votessnb_linksis nb_subcats8 numz=mem['zwo_obj'].zwo_info.annuaires_liens.num nu=int(numz)+1 mem['zwo_obj'].zwo_info.annuaires_liens.manage_changeProperties(num=nu) li=mem['zwo_obj'].zwo_info.annuaires_liens.url niou=obj.absolute_url()+'#/#'+obj.title li.append(niou) mem['zwo_obj'].zwo_info.annuaires_liens.manage_changeProperties(url=li) sREQUESTsRESPONSEsredirects place?obj=(s_print_s_prints _getattr_scontextsmems _getitem_slieusurl_lieustitresidobjs containersurlsobjsstringsgrpsactsg1sgrpsviewsg2s nb_rubs_affs nb_liens_affs enablehtmlsenablejavascriptsnb_days_is_news count_hitss permit_votes(stitresgrpsactsgrpsviews enablehtmlsenablejavascripts nb_rubs_affs nb_liens_affsnb_days_is_news count_hitss permit_votess_print_s_prints _getattr_scontextsmems _getitem_slieusurl_lieusidobjs containersurlsobjsstringsg1sg2((sScript (Python)snew_oksL    % $(snew_ok(snew_ok((sScript (Python)ssqU func_defaultsq(UKKKdKKKKtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfq Uscriptq!usbU_dav_writelocksq"(U†¤q#(U Persistenceq$UPersistentMappingq%tq&tq'QU__ac_local_roles__q(}q)Ugregq*]q+UOwnerq,asU _filepathq-U=Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/new_okq.U_paramsq/U‡titre,grpsact,grpsview='',enablehtml=0,enablejavascript=0,nb_rubs_aff=100,nb_liens_aff=20,nb_days_is_new=15,count_hits=0,permit_votes=0q0U func_codeq1(cShared.DC.Scripts.Signature FuncCode q2oq3}q4(U co_argcountq5K U co_varnamesq6(Utitreq7Ugrpsactq8Ugrpsviewq9U enablehtmlq:Uenablejavascriptq;U nb_rubs_affqU count_hitsq?U permit_votesq@U_print_qAU_printqBU _getattr_qCUcontextqDUmemqEU _getitem_qFUlieuqGUurl_lieuqHUidobjqIU containerqJUurlqKUobjqLUstringqMUg1qNUg2qOtqPubu.ƒ["K((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Th #FIXME ? : Passer category_path en param pour revenir au bon endroit mem=context.zwo_lib.mem_data() # Import a standard function, and get the HTML request and response objects. from Products.PythonScripts.standard import html_quote REQUEST = container.REQUEST RESPONSE = REQUEST.RESPONSE linkotheque=mem['rep_obj'][instid]['links'] lk = linkotheque[link] try: title = REQUEST['title'] lk.manage_changeProperties(title=title) except: pass try: url = REQUEST['url'] lk.manage_changeProperties(url=url) except: pass try: desc = REQUEST['desc'] lk.manage_changeProperties(desc=desc) except: pass try: prior = REQUEST['prior'] lk.manage_changeProperties(prior=prior) except: lk.manage_changeProperties(prior=0) try: order = REQUEST['order'] lk.manage_changeProperties(order=order) except: pass try: hits = REQUEST['hits'] lk.manage_changeProperties(hits=hits) except: pass try: votes = REQUEST['votes'] lk.manage_changeProperties(votes=votes) except: pass try: points = REQUEST['points'] lk.manage_changeProperties(points=points) except: pass def f_status(s): if s =='ok': return 'accepté et visible par tous' elif s =='waiting': return 'en attente de validation et visible par vous-même uniquement' elif s =='rejected': return 'rejeté et visible par personne' elif s =='standby': return 'écarté momentanément et visible par personne' elif s == 'dead': return 'déclaré mort (la page vers laquelle il pointe n\'existe plus)' try: status = REQUEST['status'] old_status = lk.status reps=[] rep_parent=mem['rep_obj'][instid] #print 'path='+ path #return printed if path != '': reps = path.split('/') for r in reps: if r!='': rep_parent = rep_parent[r] #print rep_parent.absolute_url() #return printed if str(status)=='ok' and old_status!=status and rep_parent.hasProperty('nb_links'): new_nb_links = int(rep_parent.nb_links) + 1 rep_parent.manage_changeProperties(nb_links=new_nb_links) elif str(old_status)=='ok' and old_status!=status and rep_parent.hasProperty('nb_links') and int(rep_parent.nb_links)>0: new_nb_links = int(rep_parent.nb_links) - 1 rep_parent.manage_changeProperties(nb_links=new_nb_links) lk.manage_changeProperties(status=status) if old_status!='ok' and status=='ok': #~ ######### general standby log cleanup ########### sb_log=mem['racine_obj'].zwo_info.standby_content.log old_log=sb_log.document_src() old_log=old_log.split('\n') new_log=[] for el in old_log: if el.find(link)==-1: new_log.append(el) sb_log.manage_edit('\n'.join(new_log),'Not processed standby content index') #~ ######### end general standby log cleanup ########### except: pass date_last_change = DateTime('GMT+0') lk.manage_changeProperties(date_last_change=date_last_change) if old_status!=status and lk.user_id!=mem['user_id'] : # La rubrique a changé de status, on envoie un PM à son auteur: to = lk.user_id pm = 'Le lien '+ lk.title +' que vous avez proposé dans l\'annuaire de liens a changé de status.\n Il était '+ f_status(old_status) +' ; il est à présent '+ f_status(status) +'.\n\nPour rappel : \nDescription : '+ lk.desc +'\nURL : '+ lk.url +'' context.send_PM_ok(pm, to) context.REQUEST.RESPONSE.redirect(http_ref) q U _filepathq UDScript (Python):/internet/zwo_modules/annuaire_liens/manage_links_okq U_codeqT!c@sddd„ZdS(Nsc)1CsÔtttdƒdƒƒ}dkl}ttdƒ} t| dƒ} ttt|dƒ|ƒdƒ} t| |ƒ}y)t| dƒ}t|d ƒd|ƒWnnXy)t| d ƒ}t|d ƒd |ƒWnnXy)t| d ƒ}t|d ƒd |ƒWnnXy)t| d ƒ}t|d ƒd |ƒWnt|d ƒd d ƒnXy)t| dƒ}t|d ƒd|ƒWnnXy)t| dƒ}t|d ƒd|ƒWnnXy)t| dƒ}t|d ƒd|ƒWnnXy)t| dƒ}t|d ƒd|ƒWnnXd„}y†t| dƒ}t|dƒ}g}tt|dƒ|ƒ}|djoPt|dƒdƒ}x8t|ƒD]&}|djot||ƒ}q›q›Wnt|ƒdjo ||jot|dƒdƒo3tt|dƒƒd} t|d ƒd| ƒn†t|ƒdjo<||jo/t|dƒdƒott|dƒƒd jo3tt|dƒƒd} t|d ƒd| ƒnt|d ƒd|ƒ|djo |djoËtttt|dƒdƒdƒdƒ}!t|!dƒƒ}"t|"dƒd ƒ}"g}#xHt|"ƒD]:}$t|$d!ƒ|ƒd jot|#d"ƒ|$ƒqKqKWt|!d#ƒtd d$ƒ|#ƒd%ƒnWnnXt$d&ƒ}&t|d ƒd'|&ƒ||jot|d(ƒt|d(ƒjo t|d(ƒ}'d)t|d ƒd*t|dƒd+||ƒd,||ƒd-t|d ƒd.t|d ƒd*t|d ƒd/}(ttd0ƒ|(|'ƒnttttdƒdƒd1ƒ|ƒdS(2Nszwo_libsmem_data(s html_quotesREQUESTsRESPONSEsrep_objslinksstitlesmanage_changePropertiessurlsdescspriorisordershitssvotesspointscCsm|djodSnU|djodSn@|djodSn+|djodSn|d jod SndS( Nsoksaccepté et visible par tousswaitings<en attente de validation et visible par vous-même uniquementsrejectedsrejeté et visible par personnesstandbys,écarté momentanément et visible par personnesdeads<déclaré mort (la page vers laquelle il pointe n'existe plus)(ss(ss((sScript (Python)sf_status:s     sstatussssplits/soks hasPropertysnb_linksis racine_objszwo_infosstandby_contentslogs document_srcs sfindsappends manage_editsjoins#Not processed standby content indexsGMT+0sdate_last_changesuser_idsLe lien sR que vous avez proposé dans l'annuaire de liens a changé de status. Il était s ; il est à présent s . Pour rappel : Description : s URL : U old_statusq?Urepsq@U rep_parentqAU _getiter_qBUrUstrqCUintqDU new_nb_linksqEUsb_logqFUold_logqGUnew_logqHUelqIUDateTimeqJUdate_last_changeqKUtoqLUpmqMtqNubU__ac_local_roles__qO}qPUadminqQ]qRUOwnerqSasUidqTUmanage_links_okqUU_paramsqVUinstid,link='',path='',http_refqWU_dav_writelocksqX(U†¥qY(U PersistenceqZUPersistentMappingq[tq\tq]Qu.ƒn¢((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tmem = context.zwo_lib.mem_data() print str(mem) print str(mem['rep_obj'].getId()) return printed repactu=mem['rep_obj'][instid] linkotheque=mem['rep_obj'][instid]['links'] links = linkotheque.objectIds('Folder') for l in links: print l + '
' return printed q U_codeq Txc@sdd„ZdS(Nsc CsÞtƒ}tttdƒdƒƒ}|t|ƒIJ|ttt|dƒdƒƒƒIJ|ƒStt|dƒ|ƒ}ttt|dƒ|ƒdƒ} t| dƒdƒ} x"t | ƒD]} || dIJq»W|ƒSdS( Nszwo_libsmem_datasrep_objsgetIdslinkss objectIdssFolders
( s_print_s_prints _getattr_scontextsmemsstrs _getitem_sinstidsrepactus linkothequeslinkss _getiter_sl( sinstids_print_s_prints _getattr_scontextsmemsstrs _getitem_srepactus linkothequeslinkss _getiter_sl((sScript (Python)spopup_orphans_htmls$%! (spopup_orphans_html(spopup_orphans_html((sScript (Python)ssq U func_defaultsq(UtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU_dav_writelocksq(U†²q(U Persistenceq UPersistentMappingq!tq"tq#QU__ac_local_roles__q$}q%Uadminq&]q'UOwnerq(asUidq)Upopup_orphans_htmlq*U_paramsq+U instid=''q,U func_codeq-(cShared.DC.Scripts.Signature FuncCode q.oq/}q0(U co_argcountq1KU co_varnamesq2(Uinstidq3U_print_q4U_printq5U _getattr_q6Ucontextq7Umemq8Ustrq9U _getitem_q:Urepactuq;U linkothequeqUltq?ubu.ƒ]"V((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T°debug = 0 mem = context.zwo_lib.mem_data() repactu=mem['rep_obj'][instid] repcat = repactu if not 'links_to_paste' in repactu.objectIds('Folder'): repactu.manage_addFolder('links_to_paste','Liens à coller') links_to_paste = repactu['links_to_paste'] linkotheque = repactu['links'] # détermination du répertoire contenant la catégorie: if path != '': table = string.maketrans(' ',' ') chemin = str(path[1:]) chemin = string.translate(chemin,table,' \'') chem = chemin.split('/') if debug: print 'chem='+str(chem)+'
' #return printed for ch in chem: if ch!='': parent = repcat repcat = repcat[ch] if debug: print instid print path print submit if link != '': sel_link=[] sel_link.append(link) #print str(sel_link) #return printed if submit == 'Copier': for l in sel_link: s_link = str(l).replace('link', 'sl') if s_link in links_to_paste.objectIds('Folder'): # si le lien symbolique existe déjà, on le détruit links_to_paste.manage_delObjects([s_link]) # copie le lien symbolique dans les "liens à copier": context.zwo_lib.zwo_cpy(repcat,links_to_paste,s_link) if debug: print l elif submit == 'Couper': for l in sel_link: lk = linkotheque[l] s_link = str(l).replace('link', 'sl') if s_link in links_to_paste.objectIds('Folder'): # si le lien symbolique existe déjà, on le détruit links_to_paste.manage_delObjects([s_link]) # copie le lien symbolique dans les "liens à copier": context.zwo_lib.zwo_cpy(repcat,links_to_paste,s_link) # supprime le lien symb. dans la catégorie: repcat.manage_delObjects([s_link]) if not repcat.hasProperty('nb_links'): repcat.manage_addProperty('nb_links', 0, 'int') else: repcat.manage_changeProperties(nb_links = repcat.nb_links - 1) if not lk.hasProperty('old_category'): lk.manage_addProperty('old_category', '', 'string') lk.manage_changeProperties(old_category = repcat.getId()) link_categories = [] for c in lk.categories: if c != repcat.getId(): link_categories.append(c) lk.manage_changeProperties(categories = link_categories) if debug: print l elif submit == 'Coller': if not repcat.hasProperty('nb_links'): repcat.manage_addProperty('nb_links', 0, 'int') for s_link in links_to_paste.objectIds('Folder'): if s_link in repcat.objectIds('Folder'): repcat.manage_delObjects([s_link]) repcat.manage_changeProperties(nb_links = repcat.nb_links - 1) context.zwo_lib.zwo_cpy(links_to_paste,repcat,s_link) repcat.manage_changeProperties(nb_links = repcat.nb_links + 1) links_to_paste.manage_delObjects([s_link]) l = str(s_link).replace('sl','link') lk = linkotheque[l] link_categories = [] for c in lk.categories: link_categories.append(c) link_categories.append(repcat.getId()) lk.manage_changeProperties(categories = link_categories) elif submit == 'Supprimer': for l in sel_link: lk = linkotheque[l] s_link = str(l).replace('link', 'sl') if s_link in links_to_paste.objectIds('Folder'): # si le lien symbolique existe déjà, on le détruit links_to_paste.manage_delObjects([s_link]) # supprime le lien symb. dans la catégorie: if s_link in repcat.objectIds('Folder'): repcat.manage_delObjects([s_link]) if not repcat.hasProperty('nb_links'): repcat.manage_addProperty('nb_links', 0, 'int') else: repcat.manage_changeProperties(nb_links = repcat.nb_links - 1) if not lk.hasProperty('old_category'): lk.manage_addProperty('old_category', '', 'string') lk.manage_changeProperties(old_category = repcat.getId()) link_categories = [] for c in lk.categories: if c != repcat.getId(): link_categories.append(c) lk.manage_changeProperties(categories = link_categories) if debug: print l sel_link=[] if debug: return printed context.REQUEST.RESPONSE.redirect(repcat.absolute_url()) q Utitleq UCut, copy, paste, delete linksq U_codeqTªc@sgdd„ZdS(Nsc-Cs^tƒ}d}tttdƒdƒƒ} tt| dƒ|ƒ} | } dt| dƒdƒj ot| dƒdd ƒnt| dƒ}t| d ƒ}|d joÇtt d ƒd d ƒ}tt|dd…ƒƒ}tt dƒ||dƒ}t|dƒdƒ}|o|dt|ƒdIJnx>t|ƒD],}|d jo| }t| |ƒ} q=q=Wn|o"||IJ||IJ||IJn|d jog}t|dƒ|ƒn|djo¦x=t|ƒD]‘}tt|ƒdƒddƒ}|t|dƒdƒjot|dƒ|gƒntttdƒdƒ| ||ƒ|o||IJqÞqÞWn›|djoäxŠt|ƒD]Ï}t||ƒ}tt|ƒdƒddƒ}|t|dƒdƒjot|dƒ|gƒntttdƒdƒ| ||ƒt| dƒ|gƒt| dƒdƒ ot| dƒddd ƒn$t| d!ƒdt| dƒdƒt|dƒd"ƒ ot|dƒd"d d#ƒnt|d!ƒd"t| d$ƒƒƒg}xMtt|d%ƒƒD]6}|t| d$ƒƒjot|dƒ|ƒqûqûWt|d!ƒd%|ƒ|o||IJq‘q‘Wnª|d&jo­t| dƒdƒ ot| dƒddd ƒnxett|dƒdƒƒD]U}|t| dƒdƒjo=t| dƒ|gƒt| d!ƒdt| dƒdƒntttdƒdƒ|| |ƒt| d!ƒdt| dƒdƒt|dƒ|gƒtt|ƒdƒddƒ}t||ƒ}g}x0tt|d%ƒƒD]}t|dƒ|ƒqÈWt|dƒt| d$ƒƒƒt|d!ƒd%|ƒqÅWnð|d'joâxßt|ƒD]Í}t||ƒ}tt|ƒdƒddƒ}|t|dƒdƒjot|dƒ|gƒn|t| dƒdƒjot| dƒ|gƒnt| dƒdƒ ot| dƒddd ƒn$t| d!ƒdt| dƒdƒt|dƒd"ƒ ot|dƒd"d d#ƒnt|d!ƒd"t| d$ƒƒƒg}xMtt|d%ƒƒD]6}|t| d$ƒƒjot|dƒ|ƒq¤q¤Wt|d!ƒd%|ƒ|o||IJq<q<Wng}|o |ƒSnttttd(ƒd)ƒd*ƒt| d+ƒƒƒdS(,Niszwo_libsmem_datasrep_objslinks_to_pastes objectIdssFoldersmanage_addFoldersLiens à collerslinksss maketranss is translates 'ssplits/schem=s
sappendsCopiersreplaceslinksslsmanage_delObjectsszwo_cpysCoupers hasPropertysnb_linkssmanage_addPropertysintsmanage_changePropertiess old_categorysstringsgetIds categoriessCollers SupprimersREQUESTsRESPONSEsredirects absolute_url(s_print_s_printsdebugs _getattr_scontextsmems _getitem_sinstidsrepactusrepcatslinks_to_pastes linkothequespathsstringstablesstrscheminschems _getiter_schsparentssubmitslinkssel_linkslss_linkslkslink_categoriessc(sinstidspathssubmitssel_linkslinks_print_s_printsdebugs _getattr_scontextsmems _getitem_srepactusrepcatslinks_to_pastes linkothequesstringstablesstrscheminschems _getiter_schsparentslss_linkslkslink_categoriessc((sScript (Python)sccpdsÐ              *#    (sccpd(sccpd((sScript (Python)ssqU func_defaultsq(]qUtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptq usbU_dav_writelocksq!(U†¦q"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uadminq)]q*UOwnerq+asUidq,Uccpdq-U_paramsq.U&instid,path,submit,sel_link=[],link=''q/U func_codeq0(cShared.DC.Scripts.Signature FuncCode q1oq2}q3(U co_argcountq4KU co_varnamesq5(Uinstidq6Upathq7Usubmitq8Usel_linkq9Ulinkq:U_print_q;U_printqUcontextq?Umemq@U _getitem_qAUrepactuqBUrepcatqCUlinks_to_pasteqDU linkothequeqEUstringqFUtableqGUstrqHUcheminqIUchemqJU _getiter_qKUchqLUparentqMUlUs_linkqNUlkqOUlink_categoriesqPUctqQubu.ƒ_d,((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T‡*#OLD_parameters=instid='',newcat='',link_url='',link_titre='',link_desc='',category_path='',msg_url='',msg_form='',scr_from='' category_path='' mem=context.zwo_lib.mem_data() from Products.PythonScripts.standard import html_quote # instid est l'Id de l'instance de l'objet. Ex : instid='annuairedeliens'. if instid=='': return "Erreur! instid est vide!" # rep est le répertoire où sont contenues les données de l'instance: rep = mem['rep_obj'][instid] instance=rep # abs_url est l'url absolue du dossier contenant ce script: abs_url = container.absolute_url() #script_id est l'Id de ce script: script_id = script.getId() # URL des icones utilisés: blank_icon = '' minus_icon = '-' plus_icon = '+' folder_icon = '_' #recuperation parametres grpsact=instance.grpsact grpsview=instance.grpsview modid=container.getId() instpath=instance.getPhysicalPath() enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript #~ contrôle des permissions perm_edit=0 perm_submit=0 roli=mem['user_roles_id'] for g in roli: if g in grpsview: perm_submit=0 for g in roli: if g in grpsact: perm_edit=1 if 'Authenticated' not in roli: if 'Anonymous' in grpsview: perm_submit=0 if 'Anonymous' in grpsact: perm_edit=1 if mem['droit_edit_dossier']==1: perm_edit=1 if not (perm_edit or perm_submit): return 'Vous n\'avez aucun droit pour cela!' # Début: #~ retour_href est l'adresse vers laquelle pointe le bouton [Retour] retour_href = str(instance.absolute_url()) http_ref = context.REQUEST['HTTP_REFERER'] if scr_from=='view_html': if not http_ref in [mem['racine_url'], mem['zwo_url'], mem['rep_url']]: t_path = http_ref.replace(instance.absolute_url(),'') if t_path != '': t_path = t_path[1:] # supprime l'éventuel premier slash ('/') path_list = t_path.split('/') category_path = str(path_list).replace(' ','') table = string.maketrans(' ',' ') chemin = str(category_path[1:-1]) chemin = string.translate(chemin,table,' \'') chem = chemin.split(',') repcat = rep for ch in chem: if ch!='': repcat = repcat[ch] retour_href = retour_href + '/' + ch def f_minus_icon(index): return minus_icon def f_plus_icon(index): return plus_icon boutons_radio = 1 def cmp_folders1(x, y): if x.getId() < y.getId(): return -1 elif x.getId() > y.getId(): return 1 else: return 0 def cmp_folders2(x, y): xt = x.title_or_id(); yt = y.title_or_id() xp = 0 ; yp = 0 if x.hasProperty('prior'): xp = int(x.prior) if y.hasProperty('prior'): yp = int(y.prior) xo = 0 ; yo = 0 if x.hasProperty('order'): xo = x.order if y.hasProperty('order'): yo = y.order if xp > yp: # la plus grande priorité est placée avant return -1 elif xp < yp: return 1 else: if xo>0 and yo>0: # chacun a un ordre défini if xo < yo: # le plus petit numéro d'ordre est placé avant return -1 elif xo > yo: return 1 else: # ordre identique pass elif xo > 0: #yo=0 # celui qui a un numéro d'ordre nul est placé après return -1 elif yo > 0: #xo=0 return 1 else: # aucun n'a d'ordre défini pass if xt < yt: return -1 elif xt > yt: return 1 else: return 0 # Astuce : index_radios ne peut pas être un nombre car un nombre n'est pas modifiable par une fonction, # on crée donc une liste contenant 0. Pour chaque incrémentation, cet élément unique sera lu, supprimé (pop) # augmenté de 1, puis le résultat sera ajouté (append) index_radios=[0] linkotheque=mem['rep_obj'][instid]['links'] all_deployed = 0 def affiche_arbre_cat_waiting(l, T,niveau): ret_deployed = all_deployed ; ret_has_subfolders = 0 ; ret_liste=list(l) depl1 = 0 ; has_sub1 = 0 ; liste1 = [] nb_categories = 0 ; nb_links = 0 ; nb_cats1 = 0 ; nb_links1 = 0 ; nb_subcats = 0 ; nb_sublinks = 0 cats_not_ok = 0 ; links_not_ok = 0 ; subcats_not_ok = 0 ; sublinks_not_ok = 0 if T.objectValues('Folder') != []: str_niveau = '' for i in range(niveau): str_niveau += blank_icon T_sorted = T.objectValues('Folder') T_sorted.sort(cmp_folders2) for T1 in T_sorted: if T1.getId().startswith('cat'): ret_has_subfolders = 1 deb_i = '' ; fin_i = '' esp = folder_icon formsel='' if T1.status != 'ok': cats_not_ok += 1 ret_deployed = 1 l_ind_rad = index_radios[0] + 1 ; index_radios.pop() ; index_radios.append(l_ind_rad) relPhysicalPath=str(T1.getPhysicalPath()).replace(str(instpath)[1:-1],'') if relPhysicalPath.startswith('(, '): relPhysicalPath = relPhysicalPath.replace(', ', '', 1) #esp = esp + '' l_selected = {'ok':'','waiting':'', 'rejected':'', 'standby':''} l_selected[T1.status]=' selected' formsel = '\n (
'+ T1.user_id +')' deb_i = '' ; fin_i = '' else: nb_categories += 1 (liste1, depl1, has_sub1, nb_cats1, nb_links1, cats_not_ok1, links_not_ok1) = affiche_arbre_cat_waiting(ret_liste, T1,niveau+1) nb_subcats += nb_cats1 ; nb_sublinks += nb_links1 ; subcats_not_ok += cats_not_ok1 ; sublinks_not_ok += links_not_ok1 ret_deployed =ret_deployed or depl1 if depl1 and has_sub1: ret_liste = liste1 ret_liste.insert(0, str_niveau + minus_icon + esp + deb_i + T1.title_or_id() + fin_i + formsel + '
\n') elif has_sub1: #ret_liste = liste1 ret_liste.insert(0,str_niveau + plus_icon + esp + deb_i + T1.title_or_id() + fin_i + formsel + '
\n') else: ret_liste = liste1 ret_liste.insert(0, str_niveau + blank_icon + esp + deb_i + T1.title_or_id() + fin_i + formsel + '
\n') elif T1.getId().startswith('sl'): link = T1.getId().replace('sl', 'link') if linkotheque[link].status != 'ok': links_not_ok += 1 #ret_liste.insert(0,str_niveau + 'lien!'+ linkotheque[link].status +'
\n') ret_deployed =1 else: nb_links += 1 ret_has_subfolders = ret_has_subfolders or has_sub1 if links_not_ok != 0: str_nb_links = str(links_not_ok) + ' lien' if links_not_ok > 1: str_nb_links += 's' str_nb_links += ' à valider
\n' relPhysicalPath=str(T.getPhysicalPath()).replace(str(instpath)[1:-1],'') if relPhysicalPath.startswith('(, '): relPhysicalPath = relPhysicalPath.replace(', ', '', 1) l_chem=relPhysicalPath[1:-1].replace('\'','').replace(' ','').split(',') url = mem['rep_url'] + '/' + instid for ch in l_chem: url += '/' + ch ret_liste.insert(0,str_niveau + '' + str_nb_links + '') ret_nb_cats = nb_categories+nb_subcats ret_nb_links = nb_links+nb_sublinks ret_cats_not_ok = cats_not_ok + subcats_not_ok ret_links_not_ok = links_not_ok + sublinks_not_ok return (ret_liste,ret_deployed, ret_has_subfolders, ret_nb_cats, ret_nb_links, ret_cats_not_ok, ret_links_not_ok) liste = [] ##rep.objectValues('Folder').sort(cmp_folders) #affiche_arbre(liste,rep,0,index_radios,0) (liste,deployed_bidon,has_subfolders_bidon, nb_categories, nb_links, nb_cats_not_ok, nb_links_not_ok) = affiche_arbre_cat_waiting(liste,rep,0) print context.zwo_lib.standard_html_header(mem) print '[Retour]' print '

Gestion des rubriques et liens en attente de validation

' print '' #print '' print '' print '' print '' if liste!=[]: print '' print ' ' print '' print '' if liste!=[]: fin_choix = 'sous-rubrique à la rubrique choisie' print ' \n\n\n' print ' ' else: fin_choix = 'rubrique' print ' ' print '' print '' print ' ' print '' print '
' print '

Statistiques :

' str_stats = str(nb_categories) +' catégorie' if nb_categories>1: str_stats += 's' str_stats += ' et '+ str(nb_links) +' lien' if nb_links>1 : str_stats += 's' str_stats += ' valide' if nb_categories+nb_links > 1: str_stats += 's' str_stats += ' dans cet annuaire.
\n' str_stats += str(nb_cats_not_ok) +' catégorie' if nb_cats_not_ok>1: str_stats += 's' str_stats += ' et '+ str(nb_links_not_ok) +' lien' if nb_links_not_ok>1 : str_stats += 's' str_stats += ' en attente de validation' str_stats += ' dans cet annuaire.

\n' print str_stats print '
' print '

État des rubriques et des liens à valider :

' print '
' racine_sel = '' if chem==['']: racine_sel = ' checked' for l in liste: print ' ' + l print ' ' print ' (Aucune rubrique n\'a encore été créée)' print '
' print ' ' print '
' print '' print """ """ print context.zwo_lib.standard_html_footer(mem) return printed q Utitleq U*gestion des liens et catégories en attenteq UidqUwaitingqU_codeqTB3c@sddd„ZdS(Nsc?sÕtƒ}d}tttdƒdƒƒ‰dkl‰ ˆdjodSnt t ˆdƒˆƒ} | } tt dƒƒ}ttdƒƒ}d |d ‰d |d ‰d |d‰d|d‰ t| dƒ}t| dƒ}tt dƒƒ}t| dƒƒ‰t| dƒ}t| dƒ}d}d}t ˆdƒ}x+t|ƒD]}||jo d}qNqNWx+t|ƒD]}||jo d}q|q|Wd|jo2d|jo d}nd|jo d}qÜnt ˆdƒdjo d}n|p| odSntt| dƒƒƒ}!t ttdƒdƒ}"|djo·|"t ˆd ƒt ˆd!ƒt ˆd"ƒgj ot|"d#ƒt| dƒƒdƒ}#|#djoLt |#dd…ƒ}#t|#d$ƒd%ƒ}$tt|$ƒd#ƒd&dƒ}qqntt%d'ƒd&d&ƒ}&tt |dd …ƒƒ}'tt%d(ƒ|'|&d)ƒ}'t|'d$ƒd*ƒ}(| })xBt|(ƒD]4}*|*djo!t |)|*ƒ})|!d%|*}!q~q~W‡d+†}+‡d,†},d}-d-„}.d.„‰dg‰ t t t ˆdƒˆƒd/ƒ‰d‰ ‡‡‡‡‡‡‡‡‡‡ ‡ ‡ ‡ d0†‰g}4ˆ|4| dƒtƒ\}4}5}6}7}8}9}:|tttdƒd1ƒˆƒIJ|d2ˆ |!ƒd3IJ|d4IJ|d5IJ|d6IJ|d7IJ|d8IJ|d9IJ|d:IJ|d;IJ|d<IJ|d=IJ|d>IJ|d?ˆd@IJ|dAIJ|4gjoG|dBIJ|dCIJ|dDIJt|7ƒdE};|7djo|;dF7};n|;dGt|8ƒdH7};|8djo|;dF7};n|;dI7};|7|8djo|;dF7};n|;dJ7};|;t|9ƒdE7};|9djo|;dF7};n|;dGt|:ƒdH7};|:djo|;dF7};n|;dK7};|;dL7};||;IJ|dMIJ|dNIJn|dBIJ|4gjodO}<|dCIJ|dPIJ|dQIJ|dRIJd}=|(dgjo dS}=nx"t|4ƒD]}>|dT|>IJqW|dMIJn%dU}<|dVIJ|dWIJ|dMIJ|dXIJ|dBIJ|dCIJ|dYIJ|dMIJ|dNIJ|dZIJ|d[IJ|d\IJ|tttdƒd]ƒˆƒIJ|ƒSdS(^Nsszwo_libsmem_data(s html_quotesErreur! instid est vide!srep_objs absolute_urlsgetIdss-s+s_sgrpsactsgrpsviewsgetPhysicalPaths enablehtmlsenablejavascriptis user_roles_idis Authenticateds Anonymoussdroit_edit_dossiers"Vous n'avez aucun droit pour cela!sREQUESTs HTTP_REFERERs view_htmls racine_urlszwo_urlsrep_urlsreplacessplits/s s maketranss translates 's,csˆSdS(N(s minus_icon(sindexs minus_icon(s minus_icon(sScript (Python)s f_minus_iconLscsˆSdS(N(s plus_icon(sindexs plus_icon(s plus_icon(sScript (Python)s f_plus_iconNscCsct|dƒƒt|dƒƒjo d Sn2t|dƒƒt|dƒƒjodSndSdS(NsgetIdii(s _getattr_sxsy(sxsys _getattr_((sScript (Python)s cmp_folders1Ss % %c Cs¾t|dƒƒ}t|dƒƒ}d}d}t|dƒdƒott|dƒƒ}nt|dƒdƒott|dƒƒ}nd}d} t|dƒdƒot|dƒ}nt|dƒdƒot|dƒ} n||jo d Sn¹||jodSn¤|djo | djo/|| jo d Sq‹|| jodSq‹n,|djo d Sn| djodSn||jo d Sn||jodSndSdS(Ns title_or_idis hasPropertyspriorsorderi( s _getattr_sxsxtsysytsxpsypsintsxosyo( sxsys _getattr_sxtsytsxpsypsintsxosyo((sScript (Python)s cmp_folders2[s>$            slinksc>sˆ }d}t|ƒ}d}d} g} d} d} d} d}d}d}d}d}d}d}t|dƒdƒgjoQd}x$tt|ƒƒD]}|ˆ7}q›Wt|dƒdƒ}t|dƒˆƒxùt|ƒD]ç}tt|dƒƒdƒdƒo8d }d}d}ˆ }!d}"t|d ƒd jo³|d 7}d }t#ˆ dƒd }%tˆ d ƒƒtˆ d ƒ|%ƒtt&t|dƒƒƒdƒt#t&ˆƒd d …ƒdƒ}(t|(dƒdƒot|(dƒddd ƒ}(nhd d<dd<dd<dd<})dt*|)ƒt|d ƒ (s)sssinserts title_or_ids
sslslinks liensss à valider
s's ssplits,srep_urls/s [Retour]sS

Gestion des rubriques et liens en attente de validation

s9
s5s*s?ss* ss#sous-rubrique à la rubrique choisies8

État des rubriques et des liens à valider :

s s, s& s
s

Statistiques :

s catégoriesss et s liens valides dans cet annuaire.
s en attente de validations! dans cet annuaire.

s
s checkeds srubriques, s* (Aucune rubrique n'a encore été créée)s
s
se sstandard_html_footer(?s_print_s_prints category_paths _getattr_scontextsmemsProducts.PythonScripts.standards html_quotesinstids _getitem_srepsinstances containersabs_urlsscripts script_ids blank_icons minus_icons plus_icons folder_iconsgrpsactsgrpsviewsmodidsinstpaths enablehtmlsenablejavascripts perm_edits perm_submitsrolis _getiter_sgsstrs retour_hrefshttp_refsscr_fromst_paths path_listsstringstablescheminschemsrepcatschs f_minus_icons f_plus_icons boutons_radios cmp_folders1s cmp_folders2s index_radioss linkotheques all_deployedsaffiche_arbre_cat_waitingslistesdeployed_bidonshas_subfolders_bidons nb_categoriessnb_linkssnb_cats_not_oksnb_links_not_oks str_statss fin_choixs racine_selsl(?sinstidsscr_froms_print_s_prints category_paths _getattr_scontextsmemsProducts.PythonScripts.standards html_quotes _getitem_srepsinstances containersabs_urlsscripts script_ids blank_icons minus_icons plus_icons folder_iconsgrpsactsgrpsviewsmodidsinstpaths enablehtmlsenablejavascripts perm_edits perm_submitsrolis _getiter_sgsstrs retour_hrefshttp_refst_paths path_listsstringstablescheminschemsrepcatschs f_minus_icons f_plus_icons boutons_radios cmp_folders1s cmp_folders2s index_radioss linkotheques all_deployedsaffiche_arbre_cat_waitingslistesdeployed_bidonshas_subfolders_bidons nb_categoriessnb_linkssnb_cats_not_oksnb_links_not_oks str_statss fin_choixs racine_selsl(( sinstids linkotheques plus_iconsaffiche_arbre_cat_waitingsinstpathsmems minus_icons blank_icons cmp_folders2s index_radioss html_quotes all_deployeds folder_iconsScript (Python)swaitings              2$ *      * !0G."                                          "(swaiting(swaiting((sScript (Python)ssqU func_defaultsq(UUtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerq U containerq!usbU func_codeq"(cShared.DC.Scripts.Signature FuncCode q#oq$}q%(U co_argcountq&KU co_varnamesq'(Uinstidq(Uscr_fromq)U_print_q*U_printq+U category_pathq,U _getattr_q-Ucontextq.Umemq/UProducts.PythonScripts.standardq0U html_quoteq1U _getitem_q2Urepq3Uinstanceq4U containerq5Uabs_urlq6Uscriptq7U script_idq8U blank_iconq9U minus_iconq:U plus_iconq;U folder_iconqUmodidq?Uinstpathq@U enablehtmlqAUenablejavascriptqBU perm_editqCU perm_submitqDUroliqEU _getiter_qFUgUstrqGU retour_hrefqHUhttp_refqIUt_pathqJU path_listqKUstringqLUtableqMUcheminqNUchemqOUrepcatqPUchqQU f_minus_iconqRU f_plus_iconqSU boutons_radioqTU cmp_folders1qUU cmp_folders2qVU index_radiosqWU linkothequeqXU all_deployedqYUaffiche_arbre_cat_waitingqZUlisteq[Udeployed_bidonq\Uhas_subfolders_bidonq]U nb_categoriesq^Unb_linksq_Unb_cats_not_okq`Unb_links_not_okqaU str_statsqbU fin_choixqcU racine_selqdUltqeubU__ac_local_roles__qf}qgUadminqh]qiUOwnerqjasU _filepathqkU\n""" aff = aff + ' \n' # Liens orphelins (corbeille): if perm_edit: aff = aff + '

Corbeille

' aff2 = '' for l in mem['rep_obj'][instid]['links'].objectValues('Folder'): if l.hasProperty('categories') and (list(l.categories)==[''] or list(l.categories)==[]): aff2 = aff2 +'' aff2 = aff2 + l.title_or_id() aff2 = aff2 +' [Voir]' aff2 = aff2 +' [Ici]' aff2 = aff2 +' [Broyer]' aff2 = aff2 +'
\n' if aff2 != '': aff = aff + '
' aff = aff + '' aff = aff + '' aff = aff + '
' aff = aff + aff2 aff = aff + ' ' aff = aff + '
\n' else: aff = aff + '(vide)
\n' #aff = aff + """ Liens orphelins """ return aff q Utitleq U80%q U _filepathqU@Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/view_htmlqU_codeqT‘-c@s d„ZdS(NcHECswdkl}d}t|dƒ}t|dƒ}ttdƒƒ} t|dƒƒ} t|dƒ} t|dƒ} ttdƒ} t|d ƒdƒot|dƒ}n d }t|d ƒdd d ƒttd ƒ}t|dƒ}tttd ƒdƒ}| t|ƒdt|1d+ƒd=d>ƒ}2t|&|2ƒ}3t|/d<ƒ|3ƒqqWt|.d?ƒ|-ƒt|/d?ƒ|-ƒxæt|.ƒD]Ø}*t|*d ƒd@ƒot|*d@ƒdAjpy|prt|*d ƒd@ƒo\t|*d@ƒdBjoF|o?t|*d ƒdCƒo)t|dCƒt|*dCƒjo d|jo*d}4t|*dDƒdjoE|4tt|*dDƒƒdE}4t|*dDƒdjo|4dF}4qänt|*dDƒdjot|*dGƒdjo|4dH}4nt|*dGƒdjoE|4tt|*dGƒƒdI}4t|*dGƒdjo|4dF}4qyn|4djodJ|4dK}4nd3t|*d*ƒƒd$t|*d5ƒƒd6|4}5d}6x¨tt|*d9ƒd:ƒƒD]‹}7t|7d ƒdLƒo t|7dLƒo_|6d}6|6djo|5dM}5n|5d3t|7d*ƒƒd$t|7d5ƒƒd6dN}5qìqìW|6djo|5dO}5nt|+d<ƒ|5ƒqÕqÕWx:t|/ƒD],}3t|3d ƒd@ƒot|3d@ƒdAjpy|prt|*d ƒd@ƒo\t|*d@ƒdBjoF|o?t|3d ƒdCƒo)t|dCƒt|3dCƒjo d|jo~d}8t|dPƒdjoB|t|ƒtt|3dQƒƒƒt|dPƒjo dR}8qÊ nd}9d}:d};d}<d}=d}>|oßdSt|d ƒd!| dT| dUt|3dƒƒdV|$dW}:dXt|d ƒd!| dY| dUt|3dƒƒdV|$dZ};d[t|d ƒd!| dY| dUt|3dƒƒdV|$d\}<d]t|d ƒd!| dY| dUt|3dƒƒdV|$d^}>t|3d ƒd@ƒot|3d@ƒdAjo£t|3d@ƒdBjo d_}?nat|3d@ƒd`jo da}?nAt|3d@ƒdbjo dc}?n!t|3d@ƒddjo de}?ndf|?dgt|3d@ƒdh}9qÔ nd}@|odit|3dƒƒd$}@nd}Ad}Bdt|3djƒodk}Adl}Bdnt|,d<ƒdm|@d3t|3dnƒd$|At|3d5ƒƒ|Bd6|8|9|:|;|<|=|>dottt|3dpƒƒd+ƒdqd(ƒdrt|3dnƒd$t|3dnƒdsƒq¾q¾W|+gjo»|!dt}!|!du}!d}6xut|+ƒD]g}5d|6}6|6djo'|!dvt|dwƒdx|5dy}!q" |!dzt|dwƒdx|5d{}!q" W|6djo|!d|}!n|!d}}!n|,gjp|oz|!d~}!|oK|!dt|d ƒd!| d€}!|!d| d‚}!|!dƒ|$d‚}!nxt|,ƒD]}5|!|5}!q3W|oò|,gjo|!d„}!ntttt|d/ƒ| ƒd…ƒd9ƒd:ƒgjowtCtttt|d/ƒ| ƒd…ƒd9ƒd:ƒƒ}Dd}E|Ddjo dF}En|!d†t|DƒdI|Ed‡}!n|,gjo|!dˆ}!n|!d‰}!qDn|o$|!dŠ}!d}Fxƒttttt|d/ƒ| ƒd0ƒd9ƒd:ƒƒD]K}5t|5d ƒd‹ƒo8tGt|5d‹ƒƒdgjptGt|5d‹ƒƒgjoô|Fdit|5dƒƒd$}F|Ft|5d5ƒƒ}F|Fd3t|5dnƒdŒt|5dpƒd}F|Fd3t|d ƒd!| dŽ| dUt|5dƒƒdV|$d}F|Fd3t|d ƒd!| d| dUt|5dƒƒd‘}F|Fd’}Fq’q’W|Fdjos|!dt|d ƒd!| d“}!|!d| d‚}!|!dƒ|$d‚}!|!d”}!|!|F}!|!d•}!|!d‰}!qo|!d–}!n|!SdS(—N(s html_quoteisgrpsactsgrpsviewsgetIds enablehtmlsenablejavascriptsversions hasPropertys0.4smanage_addPropertysstringsREQUESTsURL1sSESSIONsinstidsPATH_TRANSLATEDsGMT+0ssplits is/cCs0t|ƒ}t|ƒ}t|dƒddƒ}t|dƒddƒ}tt|dƒdƒdƒ} tt|dƒdƒdƒ} t t| dƒƒ} t t| dƒƒ} t t| dƒƒ}t t| dƒƒ}t t| dƒƒ}t t| dƒƒ}dt| | d||d||ƒSdS( Nssplits iis/iimi(sstrsstr1stime1sstr2stime2s _getattr_s time1_splits time2_splits _getitem_symd1symd2sintsy1sy2sm1sm2sd1sd2sabs(sstr1sstr2sstrstime1stime2s _getattr_s time1_splits time2_splits _getitem_symd1symd2sintsy1sy2sm1sm2sd1sd2sabs((sScript (Python)sapprox_days_betweens 0<‚s user_roles_ids Authenticateds Anonymoussdroit_edit_dossierssProposersPubliers [ s! une rubrique et/ou un lien ]s/waiting?instid=s">En attente ]s
s startswiths absolute_urlsreplacesinstance.absolute_url()=sURL=schemin=srep_objslinkss

/Sommaires /s title_or_idss

c Cs¾t|dƒƒ}t|dƒƒ}d}d}t|dƒdƒott|dƒƒ}nt|dƒdƒott|dƒƒ}nd}d} t|dƒdƒot|dƒ}nt|dƒdƒot|dƒ} n||jo d Sn¹||jodSn¤|djo | djo/|| jo d Sq‹|| jodSq‹n,|djo d Sn| djodSn||jo d Sn||jodSndSdS(Ns title_or_idis hasPropertyspriorsorderi( s _getattr_sxsxtsysytsxpsypsintsxosyo( sxsys _getattr_sxtsytsxpsypsintsxosyo((sScript (Python)s cmp_foldershs>$            s objectValuessFolderscatsappendsslslinkssortsstatussokswaitingsuser_ids nb_subcats rubriquesssnb_linkss et s liens (s)son_fronts
  s, s...snb_days_is_newsdates [New!] s& [ M ] s$ [ X ] s$ [ C ] s' [ S ] sgreensstandbysorangesrejectedsredsdeadsmarrons [s ] s3
surls  sdescs s0
 s+ ss%s*s( slinks_to_pastes9 s7s s

Corbeille

s categoriess " title="s" target="_blank"> [Voir]
s$/manage_corbeille?submit=Ici&instid=s "> [Ici]s'/manage_corbeille?submit=Broyer&instid=s"> [Broyer]s
s!/manage_corbeille" method="post">sF
sg s (vide)
(HsProducts.PythonScripts.standards html_quotesdebugs _getattr_sinstancesgrpsactsgrpsviews containersmodidsinstids enablehtmlsenablejavascriptsversion_scriptsversion_instancescontextsREQUESTsURLsSESSIONs_write_sPATH_TRANSLATEDsDateTimes time_actusstrstime_actu_splits _getitem_syear_month_daysapprox_days_betweens perm_edits perm_submitsmemsrolis _getiter_sgsaffsmotsscriptscheminsrepactus linkothequesstringsrepss aff_cheminsrs lines_cats lines_linkss cmp_folderss folderscats folderslnksfsf_idsid_linkslksrubetcatslsissubrsimg_news img_waitings img_managesimg_cutsimg_copys img_pastesimg_dels status_colorscheckboxsdivbolds enddivboldslensnb_links_to_pastesplurielsaff2slist(HsmemsinstancesProducts.PythonScripts.standards html_quotesdebugs _getattr_sgrpsactsgrpsviews containersmodidsinstids enablehtmlsenablejavascriptsversion_scriptsversion_instancescontextsREQUESTsURLsSESSIONs_write_sPATH_TRANSLATEDsDateTimes time_actusstrstime_actu_splits _getitem_syear_month_daysapprox_days_betweens perm_edits perm_submitsrolis _getiter_sgsaffsmotsscriptscheminsrepactus linkothequesstringsrepss aff_cheminsrs lines_cats lines_linkss cmp_folderss folderscats folderslnksfsf_idsid_linkslksrubetcatslsissubrsimg_news img_waitings img_managesimg_cutsimg_copys img_pastesimg_dels status_colorscheckboxsdivbolds enddivboldslensnb_links_to_pastesplurielsaff2slist((sScript (Python)s view_htmlsˆ               K ?#$$!  : & ¥) 2 #  >  ¥4$CCCF)    ' ¸      ''  #  76  $   7 N,G? #   (s view_html(s view_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptq usbU_dav_writelocksq!(U†¨q"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asUidq,U view_htmlq-U_paramsq.U mem,instanceq/U func_codeq0(cShared.DC.Scripts.Signature FuncCode q1oq2}q3(U co_argcountq4KU co_varnamesq5(Umemq6Uinstanceq7UProducts.PythonScripts.standardq8U html_quoteq9Udebugq:U _getattr_q;UgrpsactqUmodidq?Uinstidq@U enablehtmlqAUenablejavascriptqBUversion_scriptqCUversion_instanceqDUcontextqEUREQUESTqFUURLqGUSESSIONqHU_write_qIUPATH_TRANSLATEDqJUDateTimeqKU time_actuqLUstrqMUtime_actu_splitqNU _getitem_qOUyear_month_dayqPUapprox_days_betweenqQU perm_editqRU perm_submitqSUroliqTU _getiter_qUUgUaffqVUmotqWUscriptqXUcheminqYUrepactuqZU linkothequeq[Ustringq\Urepsq]U aff_cheminq^UrU lines_catq_U lines_linksq`U cmp_foldersqaU folderscatqbU folderslnkqcUfUf_idqdUid_linkqeUlkqfUrubetcatqgUlUiUsubrqhUimg_newqiU img_waitingqjU img_manageqkUimg_cutqlUimg_copyqmU img_pasteqnUimg_delqoU status_colorqpUcheckboxqqUdivboldqrU enddivboldqsUlenqtUnb_links_to_pastequUplurielqvUaff2qwUlistqxtqyubu.ƒa((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T÷ print """ ################################################# # Module Annuaire de liens de Zwook (zwook.org) # # Mainteneur: Claudiux # # # # DOCUMENTATION # ################################################# N.B. J'anticipe un peu sur ce que sera ce module en fin de développement. Dans ce cas, je le signale par une astérisque entre parenthèses(*). Ce module implémente dans Zwook un annuaire de liens à la yahoo. Il est modéré par un ou des admins, mais chaque utilisateur peut proposer des rubriques et des liens. Les groupes d'utilisateurs et d'admins sont désignés dans l'interface de création/modification. Tant qu'une proposition n'est pas validée par un admin, seuls un admin et l'utilisateur ayant fait cette propo- sition peuvent la voir, la supprimer (lien "Suppr" ou "S") ou la modifier (lien [M]). L'utilisateur ne peut pas sup- primer une de ses rubriques tant que celle-ci n'est pas vide (ni sous-rubrique, ni lien). Une fois sa proposi- tion validée par un admin, l'utilisateur ne peut plus ni la modifier ni la supprimer. Une proposition effectuée par un admin est automatique- ment validée. Un même lien peut être proposé dans plusieurs rubri- ques. Par contre, ce n'est pas le cas d'une rubrique. Une fois sa proposition effectuée, un lien [Retour] per- met à l'utilisateur de se retrouver sur la page qu'il vi- sitait avant de faire sa proposition, afin de ne pas per- turber sa navigation. Il peut voir immédiatement où est située, dans l'annuaire, sa proposition. Une sous-rubrique peut-être déclarée "frontale" par un admin, c'est-à-dire qu'elle apparaîtra dans l'annuaire en-dessous de sa rubrique parente. Par ex: Si la rubriques "Culture" contient trois rubri- ques "Musées", "Cinéma" et "Littérature" déclarées fron- tales, l'annuaire affichera: Culture Cinéma, Littérature, Musées,... Les rubriques et les liens sont "naturellement" classés par ordre alphabétique. L'admin peut aussi décider de rendre des rubriques/liens prioritaires. Ils sont alors affichés en tête de liste. Parmi les rubriques/liens, prioritaires ou non, l'admin peut décider de l'ordre d'affichage : 1 pour premier, 2 pour second, etc. Les rubriques/liens dont le numéro d'or- dre est 0 sont affichés après les autres. (*)Le paragraphe ci-dessus ne concerne pour l'instant que les liens. (*)Les hits (nombre de clics sur un lien) sont comptabili- sés, si l'option "hits" a été validée dans l'interface de création/modification. (*)Les visiteurs peuvent voter pour un lien, en lui attri- buant une note, si l'option "votes" a été validée dans l'interface de création/modification. (*)Une recherche par mots-clé peut être effectuée sur l'an- nuaire. FIXME. """ return printed q U_codeq T c@s d„ZdS(NcCstƒ}|dIJ|ƒSdS(NsÛ ################################################# # Module Annuaire de liens de Zwook (zwook.org) # # Mainteneur: Claudiux # # # # DOCUMENTATION # ################################################# N.B. J'anticipe un peu sur ce que sera ce module en fin de développement. Dans ce cas, je le signale par une astérisque entre parenthèses(*). Ce module implémente dans Zwook un annuaire de liens à la yahoo. Il est modéré par un ou des admins, mais chaque utilisateur peut proposer des rubriques et des liens. Les groupes d'utilisateurs et d'admins sont désignés dans l'interface de création/modification. Tant qu'une proposition n'est pas validée par un admin, seuls un admin et l'utilisateur ayant fait cette propo- sition peuvent la voir, la supprimer (lien "Suppr" ou "S") ou la modifier (lien [M]). L'utilisateur ne peut pas sup- primer une de ses rubriques tant que celle-ci n'est pas vide (ni sous-rubrique, ni lien). Une fois sa proposi- tion validée par un admin, l'utilisateur ne peut plus ni la modifier ni la supprimer. Une proposition effectuée par un admin est automatique- ment validée. Un même lien peut être proposé dans plusieurs rubri- ques. Par contre, ce n'est pas le cas d'une rubrique. Une fois sa proposition effectuée, un lien [Retour] per- met à l'utilisateur de se retrouver sur la page qu'il vi- sitait avant de faire sa proposition, afin de ne pas per- turber sa navigation. Il peut voir immédiatement où est située, dans l'annuaire, sa proposition. Une sous-rubrique peut-être déclarée "frontale" par un admin, c'est-à-dire qu'elle apparaîtra dans l'annuaire en-dessous de sa rubrique parente. Par ex: Si la rubriques "Culture" contient trois rubri- ques "Musées", "Cinéma" et "Littérature" déclarées fron- tales, l'annuaire affichera: Culture Cinéma, Littérature, Musées,... Les rubriques et les liens sont "naturellement" classés par ordre alphabétique. L'admin peut aussi décider de rendre des rubriques/liens prioritaires. Ils sont alors affichés en tête de liste. Parmi les rubriques/liens, prioritaires ou non, l'admin peut décider de l'ordre d'affichage : 1 pour premier, 2 pour second, etc. Les rubriques/liens dont le numéro d'or- dre est 0 sont affichés après les autres. (*)Le paragraphe ci-dessus ne concerne pour l'instant que les liens. (*)Les hits (nombre de clics sur un lien) sont comptabili- sés, si l'option "hits" a été validée dans l'interface de création/modification. (*)Les visiteurs peuvent voter pour un lien, en lui attri- buant une note, si l'option "votes" a été validée dans l'interface de création/modification. (*)Une recherche par mots-clé peut être effectuée sur l'an- nuaire. FIXME. (s_print_s_print(s_print_s_print((sScript (Python)sREADMEsI(sREADME(sREADME((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU_dav_writelocksq(U†©q(U PersistenceqUPersistentMappingq tq!tq"QU__ac_local_roles__q#}q$Uadminq%]q&UOwnerq'asUidq(UREADMEq)U_paramsq*UU func_codeq+(cShared.DC.Scripts.Signature FuncCode q,oq-}q.(U co_argcountq/KU co_varnamesq0(U_print_q1U_printq2tq3ubu.ƒb9((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqU Formulaire de configuration - OKq U Script_magicq KU_bodyq T: # RECUPERATION DU TYPE DE MODULE CONCERNE :# typemod=container.getId() g1=instance.grpsact g2=instance.grpsview enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript nb_days_is_new=instance.nb_days_is_new count_hits=instance.count_hits permit_votes=instance.permit_votes nb_rubs_aff=instance.nb_rubs_aff nb_liens_aff=instance.nb_liens_aff grpsact='' s=',' i=0 l=len(g1) for g in g1: grpsact=grpsact+g if i<>l-1: grpsact=grpsact+s i=i+1 grpsview='' s=',' i=0 l=len(g2) for g in g2: grpsview=grpsview+g if i<>l-1: grpsview=grpsview+s i=i+1 if len(g1)==0: grpsact='' if len(g2)==0: grpsview='' # EXEMPLE FORMULAIRE EDITION print '
' print 'Identifiant : '+instance.title+'

' print '' # Personalisation Formulaire print 'Groupes pouvant proposer un lien (1) :
' print 'Groupes pouvant publier et valider un lien (2) :
' c='' if enablehtml: c=' checked' print ' Accepter le html' c='' if enablejavascript: c=' checked' print ' Accepter le javascript
' print 'Nombre de jours pendant lesquels les liens sont "nouveaux" :
' c='' if count_hits: c=' checked' print ' Comptabiliser les hits   ' c='' if permit_votes: c=' checked' print ' Permettre les votes

' print '

' print '(1) Noms de groupes séparés par des virgules : exemple : Anonymous,skin_editor,mongroupe. Le groupe Anonymous est déconseillé !
' print '(2) A noter : celui qui a les droits d\'édition sur une page a automatiquement le droit de publier et valider un lien. Conseil : mettre uniquement le groupe config_zwook.
' print '
Liste des groupes (repectez la casse) :
    ' for gr in mem['zwo_obj'].zwo_info.groups.objectIds('Folder'): print '
  • '+gr+'
  • ' print '
' # Fin Formulaire print '' print '' print '' print '' print '


' # EXEMPLE DE LIENS VERS UN SCRIPT INTERMDAIRE script_i #url_loc="zwo_modules/"+typemod+'/' #print 'Script de configuration autre ... CLIQUER ICI' return printed q Uwarningsq )U _filepathqU@Script (Python):/internet/zwo_modules/annuaire_liens/config_htmlqU_codeqTÄc@s d„ZdS(NcSCsÒtƒ}ttdƒƒ}t|dƒ}t|dƒ} t|dƒ} t|dƒ} t|dƒ} t|dƒ} t|dƒ}t|d ƒ}t|d ƒ}d }d }d }t|ƒ}xGt|ƒD]9}||}||djo||}n|d}qÍWd }d }d }t| ƒ}xGt| ƒD]9}||}||djo||}n|d}q5Wt|ƒd jo d }nt| ƒd jo d }n|d|dIJ|dt|dƒdIJ|dt|dƒƒdIJ|d|dIJ|d|dIJd }| o d}n|d|dIJd }| o d}n|d|dIJ|dt| ƒdIJd }| o d}n|d |d!IJd }|o d}n|d"|d#IJ|d$IJ|d%IJ|d&IJ|d'IJxPttttt|d(ƒd)ƒd*ƒd+ƒd,ƒƒD]}|d-|d.IJq6W|d/IJ|d0t|d1ƒdIJ|d2t|dƒƒdIJ|d3t|dƒƒdIJ|d4IJ|d5IJ|ƒSdS(6NsgetIdsgrpsactsgrpsviews enablehtmlsenablejavascriptsnb_days_is_news count_hitss permit_votess nb_rubs_affs nb_liens_affss,iis(
sIdentifiant : stitles

s)sfGroupes pouvant proposer un lien (1) :
soGroupes pouvant publier et valider un lien (2) : Accepter le htmls. Accepter le javascript
svNombre de jours pendant lesquels les liens sont "nouveaux" :
s( Comptabiliser les hits   s* Permettre les votes

s

s…(1) Noms de groupes séparés par des virgules : exemple : Anonymous,skin_editor,mongroupe. Le groupe Anonymous est déconseillé !
s¯(2) A noter : celui qui a les droits d'édition sur une page a automatiquement le droit de publier et valider un lien. Conseil : mettre uniquement le groupe config_zwook.
s>
Liste des groupes (repectez la casse) :
    szwo_objszwo_infosgroupss objectIdssFolders
  • s
  • s
s,s

(s_print_s_prints _getattr_s containerstypemodsinstancesg1sg2s enablehtmlsenablejavascriptsnb_days_is_news count_hitss permit_votess nb_rubs_affs nb_liens_affsgrpsactsssislensls _getiter_sgsgrpsviewscsstrs _getitem_smemsgrsrep(smemsrepsinstances_print_s_prints _getattr_s containerstypemodsg1sg2s enablehtmlsenablejavascriptsnb_days_is_news count_hitss permit_votess nb_rubs_affs nb_liens_affsgrpsactsssislensls _getiter_sgsgrpsviewscsstrs _getitem_sgr((sScript (Python)s config_htmlsŒ                 7   (s config_html(s config_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umemq'Urepq(Uinstanceq)U_print_q*U_printq+U _getattr_q,U containerq-Utypemodq.Ug1q/Ug2q0U enablehtmlq1Uenablejavascriptq2Unb_days_is_newq3U count_hitsq4U permit_votesq5U nb_rubs_affq6U nb_liens_affq7Ugrpsactq8UsUiUlenq9UlU _getiter_q:UgUgrpsviewq;UcUstrqtq?ubU__ac_local_roles__q@}qAUxavqB]qCUOwnerqDasUidqEU config_htmlqFU_paramsqGUmem, rep, instanceqHU_dav_writelocksqI(U†ªqJ(U PersistenceqKUPersistentMappingqLtqMtqNQu.ƒc#((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqU*formulaire de création d'une instance - OKq U Script_magicq KU_bodyq T{# typemod est l'id du module et namemod est son title typemod=container.getId() namemod=container.title_or_id() # proposition de nom pour l'element exemple_titre_base=namemod exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) # debut formulaire HTML simple de création d'element print '
' print '' print 'Identifiant de l\'annuaire :

' # partie specifique à ce module print '

' print 'Groupes pouvant proposer un lien/une rubrique (1) :
' print 'Groupes pouvant publier et valider un lien/une rubrique (1) (2) : ' print '

' print '

Dans le champs "description" du lien proposé (3) :
' print ' Accepter le html
' print '
uniquement ces balises (4)
' print 'Dans le champs "URL" du lien proposé (3) :
' print ' Accepter les liens javascript (déconseillé)
' print '

' print '

' print 'Nombre max de rubriques par page (5) :
' print 'Nombre max de liens par page (5) :

' print 'Nombre de jours pendant lesquels les liens sont "nouveaux" (6) :

' print ' Comptabiliser les hits (7)   ' print ' Permettre de noter un lien et comptabiliser les notes (8)

' print '

' # suite standard print '' print '

Notes :
' print '(1) Noms de groupes séparés par des virgules. Exemple : Anonymous,skin_editor,mongroupe. Le groupe Anonymous est déconseillé !
' print '(2) N.B. : celui qui a les droits d\'édition sur une page a automatiquement le droit de publier et valider un lien. Conseil : mettre uniquement le groupe config_zwook.
' print '
Liste des groupes (repectez la casse) :
    ' for gr in mem['zwo_obj'].zwo_info.groups.objectIds('Folder'): print '
  • '+gr+'
  • ' print '
' print '(3) Lorsque l\'on propose un lien, il faut renseigner trois champs : Son titre, son URL et sa description.
' print '(4) Noms des balises séparés par des virgules. Ex : em,strong . (em affiche un texte en italique, strong en gras.)
' print '(5) Inscrire 0 pour "sans limite".
' print '(6) Inscrire 0 pour ne pas signaler les liens "nouveaux".
' print '(7) Un hit est un click sur un lien. Comptabiliser ceux-ci permet de connaître les liens qui intéressent le plus les visiteurs.
' print '(8) Les visiteurs pourront donner une note variant de 1 à 5 à chacun des liens de l\'annuaire. La moyenne de ces notes sera affichée à côté des liens notés.
' print '

' print '
' return printed q Uwarningsq )U _filepathqU=Script (Python):/internet/zwo_modules/annuaire_liens/new_htmlqU_codeqTÚc@s d„ZdS(NcrCs<tƒ}ttdƒƒ}ttdƒƒ}|}|} d} x8| t|dƒƒjo| d} |t | ƒ} qBW|d|dIJ|dIJ|d | d IJ|d IJ|d IJ|d IJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|d IJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJxPt tttt |dƒdƒd ƒdƒd!ƒƒD]}|d"|d#IJq»W|d$IJ|d%IJ|d&IJ|d'IJ|d(IJ|d)IJ|d*IJ|dIJ|d+IJ|ƒSdS(,NsgetIds title_or_idis objectIdsis(
ssMIdentifiant de l'annuaire :

s

sˆGroupes pouvant proposer un lien/une rubrique (1) :
sŽGroupes pouvant publier et valider un lien/une rubrique (1) (2) : s

sP

Dans le champs "description" du lien proposé (3) :
sA Accepter le html
s
uniquement ces balises (4)
s;Dans le champs "URL" du lien proposé (3) :
sa Accepter les liens javascript (déconseillé)
suNombre max de rubriques par page (5) :
swNombre max de liens par page (5) :

s—Nombre de jours pendant lesquels les liens sont "nouveaux" (6) :

s\ Comptabiliser les hits (7)   s| Permettre de noter un lien et comptabiliser les notes (8)

s0s

Notes :
s„(1) Noms de groupes séparés par des virgules. Exemple : Anonymous,skin_editor,mongroupe. Le groupe Anonymous est déconseillé !
s¬(2) N.B. : celui qui a les droits d'édition sur une page a automatiquement le droit de publier et valider un lien. Conseil : mettre uniquement le groupe config_zwook.
s>
Liste des groupes (repectez la casse) :
    szwo_objszwo_infosgroupssFolders
  • s
  • s
sŠ(3) Lorsque l'on propose un lien, il faut renseigner trois champs : Son titre, son URL et sa description.
sx(4) Noms des balises séparés par des virgules. Ex : em,strong . (em affiche un texte en italique, strong en gras.)
s((5) Inscrire 0 pour "sans limite".
s?(6) Inscrire 0 pour ne pas signaler les liens "nouveaux".
sŽ(7) Un hit est un click sur un lien. Comptabiliser ceux-ci permet de connaître les liens qui intéressent le plus les visiteurs.
s¡(8) Les visiteurs pourront donner une note variant de 1 à 5 à chacun des liens de l'annuaire. La moyenne de ces notes sera affichée à côté des liens notés.
s
(s_print_s_prints _getattr_s containerstypemodsnamemodsexemple_titre_bases exemple_titresindicesdossiersstrs _getiter_s _getitem_smemsgr(smemsdossiers_print_s_prints _getattr_s containerstypemodsnamemodsexemple_titre_bases exemple_titresindicesstrs _getiter_s _getitem_sgr((sScript (Python)snew_htmls^                         7         (snew_html(snew_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextq usbU_dav_writelocksq!(U†«q"(U Persistenceq#UPersistentMappingq$tq%tq&QU__ac_local_roles__q'}q(Uxavq)]q*UOwnerq+asUidq,Unew_htmlq-U_paramsq.U mem,dossierq/U func_codeq0(cShared.DC.Scripts.Signature FuncCode q1oq2}q3(U co_argcountq4KU co_varnamesq5(Umemq6Udossierq7U_print_q8U_printq9U _getattr_q:U containerq;UtypemodqU exemple_titreq?Uindiceq@UstrqAU _getiter_qBU _getitem_qCUgrqDtqEubu.ƒd((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TÌprint """ ################################################# # Module Annuaire de liens de Zwook (zwook.org) # # Mainteneur: Claudiux # # # # CONTRIBUTORS # ################################################# Claude CLERC (alias Claudiux) claude.clerc@ac-aix-marseille.fr Grégoire BINET (alias p4) p4@zwook.org """ return printed q U_codeq Têc@s d„ZdS(NcCstƒ}|dIJ|ƒSdS(Ns° ################################################# # Module Annuaire de liens de Zwook (zwook.org) # # Mainteneur: Claudiux # # # # CONTRIBUTORS # ################################################# Claude CLERC (alias Claudiux) claude.clerc@ac-aix-marseille.fr Grégoire BINET (alias p4) p4@zwook.org (s_print_s_print(s_print_s_print((sScript (Python)s CONTRIBUTORSs (s CONTRIBUTORS(s CONTRIBUTORS((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q}qUadminq]q UOwnerq!asUidq"U CONTRIBUTORSq#U_paramsq$UU func_codeq%(cShared.DC.Scripts.Signature FuncCode q&oq'}q((U co_argcountq)KU co_varnamesq*(U_print_q+U_printq,tq-ubu.ƒeCØ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Ty#FIXME: Passer category_path en param pour revenir au bon endroit mem=context.zwo_lib.mem_data() debug=0 # Import a standard function, and get the HTML request and response objects. from Products.PythonScripts.standard import html_quote request = container.REQUEST RESPONSE = request.RESPONSE #recuperation parametres rep = mem['rep_obj'] instance = rep[instid] grpsact=instance.grpsact grpsview=instance.grpsview modid=container.getId() #instid=instance.getId() enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript #~ controle des permissions perm_edit=0 perm_submit=0 roli=mem['user_roles_id'] for g in roli: if g in grpsview: perm_submit=1 for g in roli: if g in grpsact: perm_edit=1 if 'Authenticated' not in roli: if 'Anonymous' in grpsview: perm_submit=1 if 'Anonymous' in grpsact: perm_edit=1 if mem['droit_edit_dossier']==1: perm_edit=1 if not (perm_edit or perm_submit): return 'Vous n\'avez aucun droit pour cela!' http_ref=request['HTTP_REFERER'] instance = rep[instid] linkotheque=instance['links'] print context.zwo_lib.standard_html_header(mem) if link!='': lk = linkotheque[link] print '

Modification d\'un lien:

' print '
' print '' print '' print '' print '' print '' if lk.hasProperty('user_id'): print '' print ' ' print ' ' print '' perm_ok = perm_edit or (perm_submit and mem['user_id']==lk.user_id) else: perm_ok = perm_edit if lk.hasProperty('date'): print '' print ' ' print ' ' print '' if lk.hasProperty('date') and lk.hasProperty('date_last_change') and lk.date != lk.date_last_change: print '' print ' ' print ' ' print '' print '' print ' ' print ' ' print '' if lk.hasProperty('url'): print '' print ' ' if perm_ok: print ' ' else: print ' ' print '' if lk.hasProperty('desc'): print '' print ' ' if perm_ok: print ' ' else: print ' ' print '' if lk.hasProperty('status') and lk.hasProperty('statuslist'): print '' print ' ' print ' ' print '' if lk.hasProperty('prior'): if perm_edit: print '' print ' ' print ' ' else: print '' if lk.hasProperty('order'): print '' print ' ' if perm_edit: print ' ' else: print ' ' print '' if instance.count_hits and lk.hasProperty('hits'): print '' print ' ' if perm_edit: print ' ' else: print ' ' print '' if instance.permit_votes and lk.hasProperty('votes'): print '' print ' ' if perm_edit: print ' ' else: print ' ' print '' if instance.permit_votes and lk.hasProperty('points'): print '' print ' ' if perm_edit: print ' ' else: print ' ' print '' if perm_ok: print '' print ' ' print '' print '' print ' ' print '' print '' print ' ' print '' print '' print ' ' print '' print '
Proposé par: '+ lk.user_id +'
Le: '+ str(lk.date) +'
Mofifié le: '+ str(lk.date_last_change) +'
Titre:
URL: '+ lk.url +'
Description: '+ lk.desc +'
Etat (1): ' if perm_edit: print '' else: print ''+ str(lk.status) print '
Prioritaire (2): ' print'' print '
Ordre (3): '+ str(lk.order) +'
Nb de Hits: '+ str(lk.hits) +'
Nb de Votes: '+ str(lk.votes) +'
Total de points: '+ str(lk.points) +'
 
' print '(1):
' print '

  ok : lien affiché et visible par tous, modifiable par l\'admin uniquement.

' print '

  waiting : lien en attente de validation, proposé par un utilisateur, et visible et modifiable par celui-ci jusqu\'à la validation.

' print '

  rejected : lien refusé, non visible par les utilisateurs.

' print '

  standby : lien non affiché (à utiliser après validation).

' print '

  dead : lien mort, non affiché.

' print '
' print '(2):
' print '

  Prioritaire : lien affiché en haut de la page, avant tout autre.

' print '
' print '(3):
' print '

  Ordre : Ordre d\'affichage des liens. 0 : pas d\'ordre imposé (sauf ordre alphabétique des titres.) 1,2,3, ... pour les premiers, seconds, troisièmes, etc.

' print '

  Deux liens ayant le même ordre sont affichés par ordre alphabétique de leurs titres.

' print '
' print '
' print context.zwo_lib.standard_html_footer(mem) return printed q Uidq U manage_linksq U_codeqTÕ c@sddddd„ZdS(Nsc"ŸCs tƒ}tttdƒdƒƒ}d} dkl} ttdƒ} t| dƒ}t |dƒ}t ||ƒ}t|dƒ}t|d ƒ}ttd ƒƒ}t|d ƒ}t|d ƒ}d}d}t |d ƒ}x+t|ƒD]}||jo d}qéqéWx+t|ƒD]}||jo d}qqWd|jo2d|jo d}nd|jo d}qwnt |dƒdjo d}n|p| odSnt | dƒ}t ||ƒ}t |dƒ}|tttdƒdƒ|ƒIJ|djoÒt ||ƒ}|dIJ|dIJ|d|dIJ|d|dIJ|d|dIJ|d|dIJ|dIJt|dƒd ƒoi|d!IJ|d"IJ|d#t|d ƒd$IJ|d%IJ|p#|ot |d ƒt|d ƒj}n|}t|dƒd&ƒoC|d!IJ|d'IJ|d(tt|d&ƒƒd$IJ|d%IJnt|dƒd&ƒo2t|dƒd)ƒot|d&ƒt|d)ƒjoC|d!IJ|d*IJ|d(tt|d)ƒƒd$IJ|d%IJn|d!IJ|d+IJ|d,t|d-ƒd.IJ|d%IJt|dƒd/ƒot|d!IJ|d0IJ|o|d1t|d/ƒd.IJn-|d2t|d/ƒdt|d/ƒd$IJ|d%IJnt|dƒd3ƒot|d!IJ|d4IJ|o|d5t|d3ƒd6IJn-|d7t|d3ƒdt|d3ƒd$IJ|d%IJnt|dƒd8ƒot|dƒd9ƒo |d%IJ|d:IJ|d(IJ|o˜|d;IJx}tt|d9ƒƒD]f}!|d<t|!ƒd=IJt|!ƒtt|d8ƒƒjo|d>IJn|d?t|!ƒd@IJq©W|dAIJn5|dBtt|d8ƒƒdtt|d8ƒƒIJ|dCIJ|d%IJnt|dƒdDƒoŠ|o^|d!IJ|dEIJ|d(IJ|dFIJt|dDƒo|dGIJn|d?IJ|d%IJq |dHtt|dDƒƒdIJnt|dƒdIƒo†|d!IJ|dJIJ|o%|dKtt|dIƒƒd.IJn9|dLtt|dIƒƒdtt|dIƒƒd$IJ|d%IJnt|dMƒot|dƒdNƒo†|d!IJ|dOIJ|o%|dPtt|dNƒƒd.IJn9|dQtt|dNƒƒdtt|dNƒƒd$IJ|d%IJnt|dRƒot|dƒdSƒo†|d!IJ|dTIJ|o%|dUtt|dSƒƒd.IJn9|dVtt|dSƒƒdtt|dSƒƒd$IJ|d%IJnt|dRƒot|dƒdWƒo†|d!IJ|dXIJ|o%|dYtt|dWƒƒd.IJn9|dZtt|dWƒƒdtt|dWƒƒd$IJ|d%IJn|o*|d!IJ|d[|d\IJ|d%IJn|d!IJ|d]IJ|d^IJ|d_IJ|d`IJ|daIJ|dbIJ|dcIJ|dCIJ|d%IJ|d!IJ|d]IJ|ddIJ|deIJ|dCIJ|d%IJ|d!IJ|d]IJ|dfIJ|dgIJ|dhIJ|dCIJ|d%IJ|diIJ|djIJn|tttdƒdkƒ|ƒIJ|ƒSdS(lNszwo_libsmem_datai(s html_quotesREQUESTsRESPONSEsrep_objsgrpsactsgrpsviewsgetIds enablehtmlsenablejavascripts user_roles_idis Authenticateds Anonymoussdroit_edit_dossiers"Vous n'avez aucun droit pour cela!s HTTP_REFERERslinkssstandard_html_headerss3

Modification d'un lien:

s>
s*s(s hasPropertysuser_idss? Proposé par: s* sssdates+ Le: s sdate_last_changes2 Mofifié le: s- Titre: sG surls+ URL: sE Description: sI sI Etat (1): ss+Prioritaire (2): s+Ordre (3): sK Nb de Hits: sJ Nb de Votes: sK Total de points: sL  s, s (1):
sW

  ok : lien affiché et visible par tous, modifiable par l'admin uniquement.

s

  waiting : lien en attente de validation, proposé par un utilisateur, et visible et modifiable par celui-ci jusqu'à la validation.

sG

  rejected : lien refusé, non visible par les utilisateurs.

sG

  standby : lien non affiché (à utiliser après validation).

s,

  dead : lien mort, non affiché.

s (2):
sN

  Prioritaire : lien affiché en haut de la page, avant tout autre.

s (3):

  Ordre : Ordre d'affichage des liens. 0 : pas d'ordre imposé (sauf ordre alphabétique des titres.) 1,2,3, ... pour les premiers, seconds, troisièmes, etc.

sb

  Deux liens ayant le même ordre sont affichés par ordre alphabétique de leurs titres.

ss
sstandard_html_footer(!s_print_s_prints _getattr_scontextsmemsdebugsProducts.PythonScripts.standards html_quotes containersrequestsRESPONSEs _getitem_srepsinstidsinstancesgrpsactsgrpsviewsmodids enablehtmlsenablejavascripts perm_edits perm_submitsrolis _getiter_sgshttp_refs linkothequeslinkslkspathsperm_oksstrss("sinstidslinkscatspaths_print_s_prints _getattr_scontextsmemsdebugsProducts.PythonScripts.standards html_quotes containersrequestsRESPONSEs _getitem_srepsinstancesgrpsactsgrpsviewsmodids enablehtmlsenablejavascripts perm_edits perm_submitsrolis _getiter_sgshttp_refs linkothequeslksperm_oksstrss((sScript (Python)s manage_linkssL           "       0   !H  !     ,  ,)    "4       (  %8#  %8#  %8#  %8                         "(s manage_links(s manage_links((sScript (Python)ssqU func_defaultsq(UUUUtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq (U†¬q!(U Persistenceq"UPersistentMappingq#tq$tq%QU__ac_local_roles__q&}q'Uadminq(]q)UOwnerq*asU _filepathq+UFScript (Python):/amis/intranet/zwo_modules/annuaire_liens/manage_linksq,U_paramsq-U instid='',link='',cat='',path=''q.U func_codeq/(cShared.DC.Scripts.Signature FuncCode q0oq1}q2(U co_argcountq3KU co_varnamesq4(Uinstidq5Ulinkq6Ucatq7Upathq8U_print_q9U_printq:U _getattr_q;UcontextqUProducts.PythonScripts.standardq?U html_quoteq@U containerqAUrequestqBURESPONSEqCU _getitem_qDUrepqEUinstanceqFUgrpsactqGUgrpsviewqHUmodidqIU enablehtmlqJUenablejavascriptqKU perm_editqLU perm_submitqMUroliqNU _getiter_qOUgUhttp_refqPU linkothequeqQUlkqRUperm_okqSUstrqTUstqUubu.ƒf! ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqU,Validation de la suppression d'une catégorieq U Script_magicq KU_bodyq T# request = container.REQUEST RESPONSE = request.RESPONSE debug=0 mem=context.zwo_lib.mem_data() url = mem['zwo_url'] #if category_url=='': # category_url=url+'/'+instid rep=mem['rep_obj'][instid] instance=rep instpath=instance.getPhysicalPath() rep_pathes=rep['pathes'] #~ recuperation parametres grpsact=instance.grpsact grpsview=instance.grpsview modid=container.getId() enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript SESSION=context.REQUEST.SESSION SESSION['instid']=instid #~ controle des permissions perm_edit=0 perm_submit=0 roli=mem['user_roles_id'] for g in roli: if g in grpsview: perm_submit=1 for g in roli: if g in grpsact: perm_edit=1 if 'Authenticated' not in roli: if 'Anonymous' in grpsview: perm_submit=1 if 'Anonymous' in grpsact: perm_edit=1 if mem['droit_edit_dossier']==1: perm_edit=1 if not(perm_edit or perm_submit): return 'Vous n\'avez aucun droit !' print context.zwo_lib.standard_html_header(mem) if debug: print 'instid='+instid+'
' print 'category_path='+str(category_path)+'
' print 'arbo='+ arbo+'
' print 'HTTP_REFERER='+ container.REQUEST.HTTP_REFERER+'
' #return printed table = string.maketrans(' ',' ') chemin = str(category_path[1:-1]) chemin = string.translate(chemin,table,' \'') chem = chemin.split(',') if debug: print 'chem='+str(chem)+'
' #return printed repcat = rep for ch in chem: if ch!='': parent = repcat repcat = repcat[ch] #date = DateTime('GMT+0') if debug: print 'repcat='+str(repcat.title_or_id())+'
' print 'parent='+str(parent.title_or_id())+'
' #return printed #FIXME : Vérifier les droits de celui qui va supprimer la catégorie if repcat.hasProperty('status') and repcat.status=='ok': if debug: print 'status ok'+'
' #return printed if parent.hasProperty('nb_subcat') and int(parent.nb_subcat)>0: new_nb_subcat = int(parent.nb_subcat) - 1 parent.manage_changeProperties(nb_subcat = new_nb_subcat) else: if debug: print 'status pas ok'+'
' #return printed pass repcat_title = repcat.title_or_id() try: parent.manage_delObjects([repcat.getId()]) except: print '

Erreur ! Impossible de supprimer la sous-rubrique '+ repcat_title +' de la rubrique '+ parent.title_or_id() + ' !

' try: rep_pathes.manage_delObjects([repcat.getId()]) except: print '

Erreur ! Impossible de supprimer le chemin de la rubrique '+ repcat_title + ' !

' relPhysicalPath=str(parent.getPhysicalPath()).replace(str(instpath)[1:-1],'') if relPhysicalPath.startswith('(, '): relPhysicalPath = relPhysicalPath.replace(', ', '', 1) print '
' print '' print '' print '

La sous-rubrique '+ repcat_title +' de la rubrique '+ parent.title_or_id() +' a bien été supprimée

' print '' print '
' print context.zwo_lib.standard_html_footer(mem) return printed q Uwarningsq )U_codeqT?c@s d„ZdS(Nc*ECstƒ}ttdƒ}t|dƒ}d}tttdƒdƒƒ} t | dƒ} t t | dƒ|ƒ} | }t|dƒƒ}t | d ƒ}t|d ƒ}t|d ƒ}ttd ƒƒ}t|d ƒ}t|dƒ}tttdƒdƒ}|t|ƒdIJ|d?IJ|d@IJ|tttdƒdAƒ| ƒIJ|ƒSdS(BNsREQUESTsRESPONSEiszwo_libsmem_dataszwo_urlsrep_objsgetPhysicalPathspathessgrpsactsgrpsviewsgetIds enablehtmlsenablejavascriptsSESSIONsinstids user_roles_idis Authenticateds Anonymoussdroit_edit_dossiersVous n'avez aucun droit !sstandard_html_headersinstid=s
scategory_path=sarbo=s HTTP_REFERER=s HTTP_REFERERs maketranss s translates 'ssplits,schem=ssrepcat=s title_or_idsparent=s hasPropertysstatussoks status oks nb_subcatsmanage_changePropertiess status pas oksmanage_delObjectss5

Erreur ! Impossible de supprimer la sous-rubrique s de la rubrique s !

s=

Erreur ! Impossible de supprimer le chemin de la rubrique sreplaces startswiths(, s, s=

s*s1s
sstandard_html_footer(*s_print_s_prints _getattr_s containersrequestsRESPONSEsdebugscontextsmems _getitem_surlsinstidsrepsinstancesinstpaths rep_pathessgrpsactsgrpsviewsmodids enablehtmlsenablejavascriptsSESSIONs_write_s perm_edits perm_submitsrolis _getiter_sgsstrs category_pathsarbosstringstablescheminschemsrepcatschsparentsints new_nb_subcats repcat_titlesrelPhysicalPath(*sinstids category_paths_print_s_prints _getattr_s containersrequestsRESPONSEsdebugscontextsmems _getitem_surlsrepsinstancesinstpaths rep_pathessgrpsactsgrpsviewsmodids enablehtmlsenablejavascriptsSESSIONs_write_s perm_edits perm_submitsrolis _getiter_sgsstrsarbosstringstablescheminschemsrepcatschsparentsints new_nb_subcats repcat_titlesrelPhysicalPath((sScript (Python)sdel_category_oks¦         "(  $+)/&*&C &  "(sdel_category_ok(sdel_category_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†­q (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uadminq']q(UOwnerq)asUidq*Udel_category_okq+U_paramsq,Uinstid,category_pathq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Uinstidq4U category_pathq5U_print_q6U_printq7U _getattr_q8U containerq9Urequestq:URESPONSEq;UdebugqU _getitem_q?Uurlq@UrepqAUinstanceqBUinstpathqCU rep_pathesqDUgrpsactqEUgrpsviewqFUmodidqGU enablehtmlqHUenablejavascriptqIUSESSIONqJU_write_qKU perm_editqLU perm_submitqMUroliqNU _getiter_qOUgUstrqPUarboqQUstringqRUtableqSUcheminqTUchemqUUrepcatqVUchqWUparentqXUintqYU new_nb_subcatqZU repcat_titleq[UrelPhysicalPathq\tq]ubu.ƒg?-((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T# Import a standard function, and get the HTML request and response objects. from Products.PythonScripts.standard import html_quote from string import split request = container.REQUEST RESPONSE = request.RESPONSE debug=0 mem=context.zwo_lib.mem_data() url = mem['zwo_url'] if category_url=='': category_url=url+'/'+instid rep=mem['rep_obj'][instid] instance=rep instpath=instance.getPhysicalPath() try : rep_pathes=rep['pathes'] except: rep.manage_addFolder('pathes','Chemins vers les catégories') rep_pathes=rep['pathes'] #~ recuperation parametres grpsact=instance.grpsact grpsview=instance.grpsview modid=container.getId() enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript SESSION=context.REQUEST.SESSION SESSION['instid']=instid #~ controle des permissions perm_edit=0 perm_submit=0 roli=mem['user_roles_id'] for g in roli: if g in grpsview: perm_submit=1 for g in roli: if g in grpsact: perm_edit=1 if 'Authenticated' not in roli: if 'Anonymous' in grpsview: perm_submit=1 if 'Anonymous' in grpsact: perm_edit=1 if mem['droit_edit_dossier']==1: perm_edit=1 if not(perm_edit or perm_submit): return 'Vous n\'avez aucun droit !' if debug: print 'instid='+instid print 'category='+category print 'category_url='+category_url print 'category_path='+str(category_path) print 'newcat='+newcat #return printed table = string.maketrans(' ',' ') chemin = str(category_path[1:-1]) chemin = string.translate(chemin,table,' \'') chem = chemin.split(',') if debug: print 'chem='+str(chem) #return printed repcat = rep for ch in chem: if ch!='': repcat = repcat[ch] date = DateTime('GMT+0') if debug: print 'repcat='+str(repcat) return printed #~ Ajout de la category: id_cat = '' if newcat != '': id_cat = 'cat'+str(date.timeTime()) repcat.manage_addFolder(id_cat, newcat) if debug: print str(repcat) repcat[id_cat].manage_addProperty('user_id', mem['user_id'], 'string') # (utilisateur qui a proposé la category) repcat[id_cat].manage_addProperty('prior', 0, 'boolean') # (affichage prioritaire, en tête et en gras, si prior==1) repcat[id_cat].manage_addProperty('order', 0, 'int') # (ordre d'affichage dans un même niveau de priorité.0: affichage après tous les autres.1: en 1er, 2: en 2nd, etc.) repcat[id_cat].manage_addProperty('on_front', 0, 'boolean') # (si 1, le titre de cette category sera affiché sur la page faisant référence à la category parente *) repcat[id_cat].manage_addProperty('nb_subcat', 0, 'int') # (nb de sous-categories) repcat[id_cat].manage_addProperty('nb_links', 0,'int') # (nb de liens) repcat[id_cat].manage_addProperty('date',date,'date') repcat[id_cat].manage_addProperty('date_last_change',date,'date') repcat[id_cat].manage_addProperty('statuslist',['ok','waiting','rejected','standby'],'lines') repcat[id_cat].manage_addProperty('status','statuslist','selection') if perm_edit: repcat[id_cat].manage_changeProperties(status='ok') else: repcat[id_cat].manage_changeProperties(status='waiting') #~ ################### general standby content log ################ #~ log the proposition for further processing #~ Log format : type \t standby_object_location \t instance_id \t user \t date standby_log=mem['racine_obj'].zwo_info.standby_content.log type_sb=modid id_sb=instance.getId() mypath=repcat.absolute_url() mypath=mypath.replace(mem['rep_url']+'/'+instid,'') location_sb=mem['rep_url']+'/zwo_modules/'+modid+'/manage_links?instid='+instid+'&cat='+id_cat+'&path='+mypath location_sb=location_sb.replace(mem['zwo_url'],'') date_sb=DateTime() date_sb=date_sb.aCommon() oldlog_sb=standby_log.document_src() log_sb=oldlog_sb.split('\n') line_sb=type_sb+'\t'+location_sb+'\t'+id_sb+'\t'+mem['user_id']+'\t'+date_sb log_sb.append(line_sb) standby_log.manage_edit('\n'.join(log_sb),'Not processed standby content index') #~ ################### end general standby content log ################ if repcat.hasProperty('nb_subcat') and perm_edit: new_nb_subcat = repcat['nb_subcat']+1 repcat.manage_changeProperties(nb_subcat = new_nb_subcat) repcat=repcat[id_cat] relPhysicalPath=str(repcat.getPhysicalPath()).replace(str(instpath)[1:-1],'') if relPhysicalPath.startswith('(, '): relPhysicalPath = relPhysicalPath.replace(', ', '', 1) if newcat != '': rep_pathes.manage_addFolder(id_cat, newcat) rep_pathes[id_cat].manage_addProperty('path', relPhysicalPath, 'string') #~ Ajout du lien: linkotheque = instance['links'] id_link='' if link_url!='' and link_titre!='' and link_desc!='': id_link='link'+str(date.timeTime()) linkotheque.manage_addFolder(id_link, link_titre) linkotheque[id_link].manage_addProperty('url',link_url,'string') linkotheque[id_link].manage_addProperty('desc',link_desc,'string') linkotheque[id_link].manage_addProperty('categories',[repcat.getId()],'lines') linkotheque[id_link].manage_addProperty('user_id', mem['user_id'], 'string') # (utilisateur qui a proposé le lien) linkotheque[id_link].manage_addProperty('prior', 0, 'boolean') linkotheque[id_link].manage_addProperty('order', 0, 'int') linkotheque[id_link].manage_addProperty('hits',0,'int') linkotheque[id_link].manage_addProperty('votes',0,'int') linkotheque[id_link].manage_addProperty('points',0,'int') linkotheque[id_link].manage_addProperty('date',date,'date') linkotheque[id_link].manage_addProperty('date_last_change',date,'date') linkotheque[id_link].manage_addProperty('statuslist',['ok','waiting','rejected','standby','dead'],'lines') linkotheque[id_link].manage_addProperty('status','statuslist','selection') if perm_edit: linkotheque[id_link].manage_changeProperties(status='ok') else: linkotheque[id_link].manage_changeProperties(status='waiting') #~ ################### general standby content log ################ #~ log the proposition for further processing #~ Log format : type \t standby_object_location \t instance_id \t user \t date standby_log=mem['racine_obj'].zwo_info.standby_content.log type_sb=modid id_sb=instance.getId() mypath=repcat.absolute_url() mypath=mypath.replace(mem['rep_url']+'/'+instid,'') location_sb=mem['rep_url']+'/zwo_modules/'+modid+'/manage_links?instid='+instid+'&link='+id_link+'&path='+mypath location_sb=location_sb.replace(mem['zwo_url'],'') date_sb=DateTime() date_sb=date_sb.aCommon() oldlog_sb=standby_log.document_src() log_sb=oldlog_sb.split('\n') line_sb=type_sb+'\t'+location_sb+'\t'+id_sb+'\t'+mem['user_id']+'\t'+date_sb log_sb.append(line_sb) standby_log.manage_edit('\n'.join(log_sb),'Not processed standby content index') #~ ################### end general standby content log ################ if repcat.hasProperty('nb_links') and perm_edit: new_nb_links = repcat['nb_links']+1 repcat.manage_changeProperties(nb_links = new_nb_links) #~ Lien symbolique: id_sl='sl'+str(date.timeTime()) repcat.manage_addFolder(id_sl,'') #redirection = split(context.REQUEST['HTTP_REFERER'],'?',1)[0] redirection=context.REQUEST['URL1']+'/add_link' if debug: return printed else: #context.REQUEST.RESPONSE.redirect(redirection+'?instid='+instid+'&arbo='+arbo+'&sel='+id_cat+'#'+arbo) context.REQUEST.RESPONSE.redirect(redirection+'?instid='+instid+'&category_path='+relPhysicalPath+'#diese') q Utitleq U*validation d'ajout de lien ou de catégorieq U _filepathqU@Script (Python):/internet/zwo_modules/annuaire_liens/add_link_okqU_codeqTlc @s%ddddddddd„ZdS(Nsc A=CsJ tƒ} dkl} dkl}ttdƒ}t|dƒ}d}ttt dƒdƒƒ}t |dƒ}|d jo|d |}nt t |d ƒ|ƒ}|}t|d ƒƒ}yt |d ƒ}Wn,t|dƒd dƒt |d ƒ}nXt|dƒ}t|dƒ}ttdƒƒ}t|dƒ}t|dƒ} ttt dƒdƒ}!|t|!ƒdƒtt |,|0ƒd-ƒd?d9d@ƒ|#o#tt |,|0ƒdAƒd?d:ƒn–tt |,|0ƒdAƒd?d;ƒtttt |dBƒdCƒdDƒdEƒ}1|}2t|dƒƒ}3t|,dFƒƒ}4t|4dGƒt |dHƒd |d ƒ}4t |dHƒdI|dJ|dK|0dL|4}5t|5dGƒt |dƒd ƒ}5t*ƒ}6t|6dMƒƒ}6t|1dNƒƒ}7t|7d&ƒdOƒ}8|2dP|5dP|3dPt |d.ƒdP|6}9t|8dQƒ|9ƒt|1dRƒtdOdSƒ|8ƒdTƒt|,dUƒd5ƒo|#o-t |,d5ƒd}:t|,dAƒd5|:ƒnt |,|0ƒ},ntt"t|,d ƒƒƒdGƒt t"|ƒdd …ƒd ƒ};t|;dVƒdWƒot|;dGƒdXd dƒ};n|d jo<t|dƒ|0|ƒtt ||0ƒd-ƒdY|;d/ƒnt |dZƒ}<d }=|d jo|d jo |d joRd[t"t|/d,ƒƒƒ}=t|<dƒ|=|ƒtt |<|=ƒd-ƒd\|d/ƒtt |<|=ƒd-ƒd]|d/ƒtt |<|=ƒd-ƒd^t|,dƒƒgd>ƒtt |<|=ƒd-ƒd.t |d.ƒd/ƒtt |<|=ƒd-ƒd0dd1ƒtt |<|=ƒd-ƒd2dd3ƒtt |<|=ƒd-ƒd_dd3ƒtt |<|=ƒd-ƒd`dd3ƒtt |<|=ƒd-ƒdadd3ƒtt |<|=ƒd-ƒd7|/d7ƒtt |<|=ƒd-ƒd8|/d7ƒtt |<|=ƒd-ƒd9d:d;d<d=dbgd>ƒtt |<|=ƒd-ƒd?d9d@ƒ|#o#tt |<|=ƒdAƒd?d:ƒn–tt |<|=ƒdAƒd?d;ƒtttt |dBƒdCƒdDƒdEƒ}1|}2t|dƒƒ}3t|,dFƒƒ}4t|4dGƒt |dHƒd |d ƒ}4t |dHƒdI|dJ|dc|=dL|4}5t|5dGƒt |dƒd ƒ}5t*ƒ}6t|6dMƒƒ}6t|1dNƒƒ}7t|7d&ƒdOƒ}8|2dP|5dP|3dPt |d.ƒdP|6}9t|8dQƒ|9ƒt|1dRƒtdOdSƒ|8ƒdTƒt|,dUƒd6ƒo|#o-t |,d6ƒd}>t|,dAƒd6|>ƒnddt"t|/d,ƒƒƒ}?t|,dƒ|?d ƒnt tt dƒdeƒdf}@|o | ƒSn:tttt dƒdƒdgƒ|@dh|di|;djƒdS(kN(s html_quote(ssplitsREQUESTsRESPONSEiszwo_libsmem_dataszwo_urlss/srep_objsgetPhysicalPathspathessmanage_addFoldersChemins vers les catégoriessgrpsactsgrpsviewsgetIds enablehtmlsenablejavascriptsSESSIONsinstids user_roles_idis Authenticateds Anonymoussdroit_edit_dossiersVous n'avez aucun droit !sinstid=s category=s category_url=scategory_path=snewcat=s maketranss s translates 'ssplits,schem=sGMT+0srepcat=scatstimeTimesmanage_addPropertysuser_idsstringspriorsbooleansordersintson_fronts nb_subcatsnb_linkssdatesdate_last_changes statuslistsokswaitingsrejectedsstandbyslinessstatuss selectionsmanage_changePropertiess racine_objszwo_infosstandby_contentslogs absolute_urlsreplacesrep_urls /zwo_modules/s/manage_links?instid=s&cat=s&path=saCommons document_srcs s sappends manage_editsjoins#Not processed standby content indexs hasPropertys startswiths(, s, spathslinksslinksurlsdescs categoriesshitssvotesspointssdeads&link=sslsURL1s /add_linksredirects?instid=s&category_path=s#diese(@s_print_s_printsProducts.PythonScripts.standards html_quotesstringssplits _getattr_s containersrequestsRESPONSEsdebugscontextsmems _getitem_surls category_urlsinstidsrepsinstancesinstpaths rep_pathessgrpsactsgrpsviewsmodids enablehtmlsenablejavascriptsSESSIONs_write_s perm_edits perm_submitsrolis _getiter_sgscategorysstrs category_pathsnewcatstablescheminschemsrepcatschsDateTimesdatesid_cats standby_logstype_sbsid_sbsmypaths location_sbsdate_sbs oldlog_sbslog_sbsline_sbs new_nb_subcatsrelPhysicalPaths linkothequesid_linkslink_urls link_titres link_descs new_nb_linkssid_sls redirection(Asinstidscategorys category_urls category_pathsnewcatsarboslink_urls link_titres link_descs_print_s_printsProducts.PythonScripts.standards html_quotesstringssplits _getattr_s containersrequestsRESPONSEsdebugscontextsmems _getitem_surlsrepsinstancesinstpaths rep_pathessgrpsactsgrpsviewsmodids enablehtmlsenablejavascriptsSESSIONs_write_s perm_edits perm_submitsrolis _getiter_sgsstrstablescheminschemsrepcatschsDateTimesdatesid_cats standby_logstype_sbsid_sbsmypaths location_sbsdate_sbs oldlog_sbslog_sbsline_sbs new_nb_subcatsrelPhysicalPaths linkothequesid_links new_nb_linkssid_sls redirection((sScript (Python)s add_link_oks.                  +""""""". #*)/! 2%C '""1+"""""""1 #*)/! 2%(s add_link_ok(s add_link_ok((sScript (Python)ssqU func_defaultsq(UUUUUUUUtqU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathq U name_m_selfq!Uscriptq"Uname_containerq#U containerq$usbU_dav_writelocksq%(U†®q&(U Persistenceq'UPersistentMappingq(tq)tq*QU__ac_local_roles__q+}q,Uadminq-]q.UOwnerq/asUidq0U add_link_okq1U_paramsq2Ulinstid,category='',category_url='',category_path='',newcat='',arbo='',link_url='',link_titre='',link_desc=''q3U func_codeq4(cShared.DC.Scripts.Signature FuncCode q5oq6}q7(U co_argcountq8K U co_varnamesq9(Uinstidq:Ucategoryq;U category_urlqUarboq?Ulink_urlq@U link_titreqAU link_descqBU_print_qCU_printqDUProducts.PythonScripts.standardqEU html_quoteqFUstringqGUsplitqHU _getattr_qIU containerqJUrequestqKURESPONSEqLUdebugqMUcontextqNUmemqOU _getitem_qPUurlqQUrepqRUinstanceqSUinstpathqTU rep_pathesqUUgrpsactqVUgrpsviewqWUmodidqXU enablehtmlqYUenablejavascriptqZUSESSIONq[U_write_q\U perm_editq]U perm_submitq^Uroliq_U _getiter_q`UgUstrqaUtableqbUcheminqcUchemqdUrepcatqeUchqfUDateTimeqgUdateqhUid_catqiU standby_logqjUtype_sbqkUid_sbqlUmypathqmU location_sbqnUdate_sbqoU oldlog_sbqpUlog_sbqqUline_sbqrU new_nb_subcatqsUrelPhysicalPathqtU linkothequequUid_linkqvU new_nb_linksqwUid_slqxU redirectionqytqzubu.ƒh”((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T request = container.REQUEST RESPONSE = request.RESPONSE debug=0 mem=context.zwo_lib.mem_data() url = mem['zwo_url'] #if category_url=='': # category_url=url+'/'+instid rep=mem['rep_obj'][instid] instance=rep #~ recuperation parametres grpsact=instance.grpsact grpsview=instance.grpsview modid=container.getId() enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript SESSION=context.REQUEST.SESSION SESSION['instid']=instid #~ controle des permissions perm_edit=0 perm_submit=0 roli=mem['user_roles_id'] for g in roli: if g in grpsview: perm_submit=1 for g in roli: if g in grpsact: perm_edit=1 if 'Authenticated' not in roli: if 'Anonymous' in grpsview: perm_submit=1 if 'Anonymous' in grpsact: perm_edit=1 if mem['droit_edit_dossier']==1: perm_edit=1 if not(perm_edit or perm_submit): return 'Vous n\'avez aucun droit !' print context.zwo_lib.standard_html_header(mem) if debug: print 'instid='+instid print 'category_path='+str(category_path) print 'arbo='+ arbo print 'HTTP_REFERER='+ container.REQUEST.HTTP_REFERER #return printed table = string.maketrans(' ',' ') chemin = str(category_path[1:-1]) chemin = string.translate(chemin,table,' \'') chem = chemin.split(',') if debug: print 'chem='+str(chem) #return printed repcat = rep for ch in chem: if ch!='': parent = repcat repcat = repcat[ch] date = DateTime('GMT+0') if debug: print 'repcat='+str(repcat.title_or_id()) #return printed print '
' print '' print '' if parent==instance: fin_de_phrase = ' supprimer la rubrique '+ repcat.title_or_id() +' de l\'annuaire ?

' else: fin_de_phrase = ' supprimer la sous-rubrique '+ repcat.title_or_id() +' de la rubrique '+ parent.title_or_id() +' ?

' if repcat.objectValues('Folder')==[]: #on ne peut supprimer que des categories vides (ni sous-cat ni liens) print '

Voulez-vous VRAIMENT'+ fin_de_phrase print ' ' else: print '

IMPOSSIBLE de'+ fin_de_phrase print '

Veuillez vous assurer qu\'elle est bien vide (aucune sous-rubrique, aucun lien).

' print '' print '
' print context.zwo_lib.standard_html_footer(mem) return printed q Utitleq U.Confirmation de la suppression d'une catégorieq U_codeqTRc@sdd„ZdS(Nsc'>Csjtƒ}ttdƒ}t|dƒ}d}tttdƒdƒƒ} t | dƒ} t t | dƒ|ƒ} | }t|dƒ}t|d ƒ}ttd ƒƒ}t|d ƒ}t|d ƒ}tttdƒd ƒ}|t|ƒd
s*s1 s

IMPOSSIBLE desV

Veuillez vous assurer qu'elle est bien vide (aucune sous-rubrique, aucun lien).

s^s
sstandard_html_footer('s_print_s_prints _getattr_s containersrequestsRESPONSEsdebugscontextsmems _getitem_surlsinstidsrepsinstancesgrpsactsgrpsviewsmodids enablehtmlsenablejavascriptsSESSIONs_write_s perm_edits perm_submitsrolis _getiter_sgsstrs category_pathsarbosstringstablescheminschemsrepcatschsparentsDateTimesdates fin_de_phrase('sinstids category_paths_print_s_prints _getattr_s containersrequestsRESPONSEsdebugscontextsmems _getitem_surlsrepsinstancesgrpsactsgrpsviewsmodids enablehtmlsenablejavascriptsSESSIONs_write_s perm_edits perm_submitsrolis _getiter_sgsstrsarbosstringstablescheminschemsrepcatschsparentsDateTimesdates fin_de_phrase((sScript (Python)sdel_category_confirmsŠ         "$   $  .   "(sdel_category_confirm(sdel_category_confirm((sScript (Python)ssqU func_defaultsq(UtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q }q!Uadminq"]q#UOwnerq$asUidq%Udel_category_confirmq&U_paramsq'Uinstid,category_path=''q(U func_codeq)(cShared.DC.Scripts.Signature FuncCode q*oq+}q,(U co_argcountq-KU co_varnamesq.(Uinstidq/U category_pathq0U_print_q1U_printq2U _getattr_q3U containerq4Urequestq5URESPONSEq6Udebugq7Ucontextq8Umemq9U _getitem_q:Uurlq;UrepqUgrpsviewq?Umodidq@U enablehtmlqAUenablejavascriptqBUSESSIONqCU_write_qDU perm_editqEU perm_submitqFUroliqGU _getiter_qHUgUstrqIUarboqJUstringqKUtableqLUcheminqMUchemqNUrepcatqOUchqPUparentqQUDateTimeqRUdateqSU fin_de_phraseqTtqUubu.ƒiq((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqU$Restore or delete links in Corbeilleq U Script_magicq KU_bodyq TÝdebug = 0 mem = context.zwo_lib.mem_data() repactu=mem['rep_obj'][instid] repcat = repactu if not 'links_to_paste' in repactu.objectIds('Folder'): repactu.manage_addFolder('links_to_paste','Liens à coller') links_to_paste = repactu['links_to_paste'] linkotheque = repactu['links'] # détermination du répertoire contenant la catégorie: if path != '': table = string.maketrans(' ',' ') chemin = str(path[1:]) chemin = string.translate(chemin,table,' \'') chem = chemin.split('/') if debug: print 'chem='+str(chem)+'
' #return printed for ch in chem: if ch!='': parent = repcat repcat = repcat[ch] if not repcat.hasProperty('nb_links'): repcat.manage_addProperty('nb_links', 0, 'int') if debug: print instid print path print submit if link != '': sel_link=[] sel_link.append(link) #print str(sel_link) #return printed if submit == 'Ici': for l in sel_link: s_link = str(l).replace('link', 'sl') if not s_link in repcat.objectIds('Folder'): repcat.manage_addFolder(s_link) if s_link in links_to_paste.objectIds('Folder'): links_to_paste.manage_delObjects([s_link]) if debug: print l lk = linkotheque[l] link_categories = [] for c in lk.categories: link_categories.append(c) link_categories.append(repcat.getId()) lk.manage_changeProperties(categories = link_categories) repcat.manage_changeProperties(nb_links = int(repcat.nb_links) + 1) elif submit == 'Broyer': for l in sel_link: s_link = str(l).replace('link', 'sl') if s_link in links_to_paste.objectIds('Folder'): # si le lien symbolique existe déjà, on le détruit links_to_paste.manage_delObjects([s_link]) # supprime le lien symb. dans la catégorie: if s_link in repcat.objectIds('Folder'): repcat.manage_delObjects([s_link]) linkotheque.manage_delObjects([l]) if debug: print l sel_link=[] if debug: return printed context.REQUEST.RESPONSE.redirect(repcat.absolute_url()) q Uwarningsq )U_codeqTy c@sddgdd„ZdS(Nsc#Cstƒ}d}tttdƒdƒƒ} tt| dƒ|ƒ} | } dt| dƒdƒj ot| dƒdd ƒnt| dƒ}t| d ƒ}|d joÇtt d ƒd d ƒ}tt|dd…ƒƒ}tt dƒ||dƒ}t|dƒdƒ}|o|dt|ƒdIJnx>t|ƒD],}|d jo| }t| |ƒ} q=q=Wnt| dƒdƒ ot| dƒdddƒn|o"||IJ||IJ||IJn|d jog}t|dƒ|ƒn|djo^x8t|ƒD]I}tt|ƒdƒddƒ}|t| dƒdƒj ot| dƒ|ƒn|t|dƒdƒjot|dƒ|gƒn|o||IJnt||ƒ}g}x0tt|dƒƒD]}t|dƒ|ƒqàWt|dƒt| d ƒƒƒt|d!ƒd|ƒt| d!ƒdtt| dƒƒdƒqWnÞ|d"joÐxÍt|ƒD]»}tt|ƒdƒddƒ}|t|dƒdƒjot|dƒ|gƒn|t| dƒdƒjot| dƒ|gƒnt|dƒ|gƒ|o||IJq}q}Wng}|o |ƒSnttttd#ƒd$ƒd%ƒt| d&ƒƒƒdS('Niszwo_libsmem_datasrep_objslinks_to_pastes objectIdssFoldersmanage_addFoldersLiens à collerslinksss maketranss is translates 'ssplits/schem=s
s hasPropertysnb_linkssmanage_addPropertysintsappendsIcisreplaceslinksslsmanage_delObjectss categoriessgetIdsmanage_changePropertiessBroyersREQUESTsRESPONSEsredirects absolute_url(s_print_s_printsdebugs _getattr_scontextsmems _getitem_sinstidsrepactusrepcatslinks_to_pastes linkothequespathsstringstablesstrscheminschems _getiter_schsparentssubmitslinkssel_linkslss_linkslkslink_categoriesscsint(sinstidspathssubmitssel_linkslinks_print_s_printsdebugs _getattr_scontextsmems _getitem_srepactusrepcatslinks_to_pastes linkothequesstringstablesstrscheminschems _getiter_schsparentslss_linkslkslink_categoriesscsint((sScript (Python)smanage_corbeillesz            .  (smanage_corbeille(smanage_corbeille((sScript (Python)ssqU func_defaultsq(UN]qUtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Uinstidq'Upathq(Usubmitq)Usel_linkq*Ulinkq+U_print_q,U_printq-Udebugq.U _getattr_q/Ucontextq0Umemq1U _getitem_q2Urepactuq3Urepcatq4Ulinks_to_pasteq5U linkothequeq6Ustringq7Utableq8Ustrq9Ucheminq:Uchemq;U _getiter_qUlUs_linkq?Ulkq@Ulink_categoriesqAUcUintqBtqCubU__ac_local_roles__qD}qEUadminqF]qGUOwnerqHasUidqIUmanage_corbeilleqJU_paramsqKU)instid,path='',submit,sel_link=[],link=''qLU_dav_writelocksqM(U†¯qN(U PersistenceqOUPersistentMappingqPtqQtqRQu.ƒjx((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Toprint """ ************************* * TODO list du 30/08/04 * ************************* view_html: Ne faire afficher que les liens et rubriques de status 'ok', ou appartenant à l'user en cours. -> FAIT Distinguer, pour l'admin et l'user proposant, les liens et rubriques de status différent de 'ok'. Ne faire afficher que le nombre maxi de liens (et rubriques ?) par page. Faire afficher une image "new" à côté des nouveaux liens. -> Partiellement fait (affiche [New!]). Prendre en compte hits et votes (cf. ci-dessous) Trier les rubriques et liens par priorité, ordre, hits, votes, alphabétique. -> Fait, sans prise en charge pour l'instant des hits ni des votes add_link: Créer un bouton de retour à la rubrique consultée avant l'appel de ce script. -> FAIT add_link_ok: Faire un formulaire de confirmation avant enregistrement, -> FAIT et proposer d'enregistrer le lien dans d'autres rubriques. Créer les scripts manage et manage_ok permettant d'effectuer toutes les opérations de copier-coller, suppression, édition de rubriques/liens. Permettre de piocher dans la liste des liens orphelins pour alimenter les rubriques, valider les liens et rubriques 'waiting', changer le status des rubriques/liens, rendre frontale une sous-rubrique. Créer un script count_hits, et modifier view_html pour que les liens "passent" (optionnellement, option à créer dans new_html et dans config_html) par ces scripts. Créer, dans new_html et dans config_html, l'option "vote". Créer les scripts vote et vote_ok. Créer un formulaire de recherche, et afficher le résultat. Achever la rédaction du fichier README. """ return printed q U_codeq Tuc@s d„ZdS(NcCstƒ}|dIJ|ƒSdS(NsS ************************* * TODO list du 30/08/04 * ************************* view_html: Ne faire afficher que les liens et rubriques de status 'ok', ou appartenant à l'user en cours. -> FAIT Distinguer, pour l'admin et l'user proposant, les liens et rubriques de status différent de 'ok'. Ne faire afficher que le nombre maxi de liens (et rubriques ?) par page. Faire afficher une image "new" à côté des nouveaux liens. -> Partiellement fait (affiche [New!]). Prendre en compte hits et votes (cf. ci-dessous) Trier les rubriques et liens par priorité, ordre, hits, votes, alphabétique. -> Fait, sans prise en charge pour l'instant des hits ni des votes add_link: Créer un bouton de retour à la rubrique consultée avant l'appel de ce script. -> FAIT add_link_ok: Faire un formulaire de confirmation avant enregistrement, -> FAIT et proposer d'enregistrer le lien dans d'autres rubriques. Créer les scripts manage et manage_ok permettant d'effectuer toutes les opérations de copier-coller, suppression, édition de rubriques/liens. Permettre de piocher dans la liste des liens orphelins pour alimenter les rubriques, valider les liens et rubriques 'waiting', changer le status des rubriques/liens, rendre frontale une sous-rubrique. Créer un script count_hits, et modifier view_html pour que les liens "passent" (optionnellement, option à créer dans new_html et dans config_html) par ces scripts. Créer, dans new_html et dans config_html, l'option "vote". Créer les scripts vote et vote_ok. Créer un formulaire de recherche, et afficher le résultat. Achever la rédaction du fichier README. (s_print_s_print(s_print_s_print((sScript (Python)sTODOs"(sTODO(sTODO((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†°q(U PersistenceqUPersistentMappingq tq!tq"QU__ac_local_roles__q#}q$Uadminq%]q&UOwnerq'asUidq(UTODOq)U_paramsq*UU func_codeq+(cShared.DC.Scripts.Signature FuncCode q,oq-}q.(U co_argcountq/KU co_varnamesq0(U_print_q1U_printq2tq3ubu.ƒkp((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)UtitleqU*formulaire d'ajout de lien ou de catégorieq U Script_magicq KU_bodyq TN1mem=context.zwo_lib.mem_data() # Afficher ou pas les messages de débogage: debug=0 debug_http_ref=0 # Afficher ou pas la fixbox (boîte contenant des liens de navigation sur la page) fixbox=0; nb_cat_wo_fixbox=3 # nbre max de catégories affichées sans la fixbox # FIXME: La fixbox ne fonctionne pas avec IE 5.0 from Products.PythonScripts.standard import html_quote # instid est l'Id de l'instance de l'objet. Ex : instid='annuairedeliens'. if instid=='': return "Erreur! instid est vide!" # rep est le répertoire où sont contenues les données de l'instance: rep = mem['rep_obj'][instid] instance=rep # abs_url est l'url absolue du dossier contenant ce script: abs_url = container.absolute_url() #script_id est l'Id de ce script: script_id = script.getId() # URL des icones utilisés: blank_icon = '' #minus_icon = '-' #plus_icon = '+' folder_icon = '_' #recuperation parametres grpsact=instance.grpsact grpsview=instance.grpsview modid=container.getId() instid=instance.getId() instpath=instance.getPhysicalPath() enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript SESSION=context.REQUEST.SESSION SESSION['instid']=instid try: http_ref = context.REQUEST['HTTP_REFERER'] except: http_ref = '' if debug_http_ref: print 'http_ref1 = \''+ http_ref +'\'' try: retour_href = SESSION['retour_href'] except: retour_href = http_ref SESSION['retour_href'] = retour_href if debug_http_ref: print 'retour_href1 = \''+ retour_href +'\''; #return printed if http_ref in [mem['racine_url'], mem['zwo_url'], ''] or retour_href=='': http_ref = instance.absolute_url() if http_ref.startswith(instance.absolute_url()): SESSION['retour_href'] = http_ref if category_path == '': t_path = http_ref.replace(instance.absolute_url(),'') if t_path != '': t_path = t_path[1:] # supprime l'éventuel premier slash ('/') path_list = t_path.split('/') category_path = str(path_list).replace(' ','') else: pass # uniquement "cosmétique" if debug_http_ref: print '\nhttp_ref2 = \''+ http_ref +'\'' if debug_http_ref: print 'retour_href2 = \''+ retour_href +'\''; return printed retour_href = SESSION['retour_href'] if retour_href=='': retour_href = http_ref #~ controle des permissions perm_edit=0 perm_submit=0 roli=mem['user_roles_id'] for g in roli: if g in grpsview: perm_submit=1 for g in roli: if g in grpsact: perm_edit=1 if 'Authenticated' not in roli: if 'Anonymous' in grpsview: perm_submit=1 if 'Anonymous' in grpsact: perm_edit=1 if mem['droit_edit_dossier']==1: perm_edit=1 if not (perm_edit or perm_submit): return 'Vous n\'avez aucun droit pour cela!' # Début: if debug: print 'category_path='+ str(category_path) table = string.maketrans(' ',' ') chemin = str(category_path[1:-1]) chemin = string.translate(chemin,table,' \'') chem = chemin.split(',') if debug: print 'chem='+str(chem) #return printed repcat = rep for ch in chem: if ch!='': repcat = repcat[ch] #date = DateTime('GMT+0') if debug: print 'repcat='+str(repcat) #return printed # Astuce permettant de ne pas perdre les infos du lien (url,titre,description): def f_minus_icon(index): return '-' def f_plus_icon(index): return '+' boutons_radio = 1 def cmp_folders1(x, y): if x.getId() < y.getId(): return -1 elif x.getId() > y.getId(): return 1 else: return 0 def cmp_folders2(x, y): xt = x.title_or_id(); yt = y.title_or_id() xp = 0 ; yp = 0 if x.hasProperty('prior'): xp = int(x.prior) if y.hasProperty('prior'): yp = int(y.prior) xo = 0 ; yo = 0 if x.hasProperty('order'): xo = x.order if y.hasProperty('order'): yo = y.order if xp > yp: # la plus grande priorité est placée avant return -1 elif xp < yp: return 1 else: if xo>0 and yo>0: # chacun a un ordre défini if xo < yo: # le plus petit numéro d'ordre est placé avant return -1 elif xo > yo: return 1 else: # ordre identique pass elif xo > 0: #yo=0 # celui qui a un numéro d'ordre nul est placé après return -1 elif yo > 0: #xo=0 return 1 else: # aucun n'a d'ordre défini pass if xt < yt: return -1 elif xt > yt: return 1 else: return 0 # Astuce : index_radios ne peut pas être un nombre car un nombre n'est pas modifiable par une fonction, # on crée donc une liste contenant 0. Pour chaque incrémentation, cet élément unique sera lu, supprimé (pop) # augmenté de 1, puis le résultat sera ajouté (append) index_radios=[0] def affiche_arbre(l,T,niveau,index_radios,parent_ind_rad): """ Affiche l'arbre T dans la liste l. niveau est la profondeur actuelle. """ relPhysicalPath=str(T.getPhysicalPath()).replace(str(instpath)[1:-1],'') if relPhysicalPath.startswith('(, '): relPhysicalPath = relPhysicalPath.replace(', ', '', 1) l_chem=relPhysicalPath[1:-1].replace('\'','').replace(' ','').split(',') deployed=0 deployed=(l_chem[0:niveau]==chem[0:niveau]) l_ind_rad = 0 if niveau != 0: l_ind_rad = index_radios[0] + 1 index_radios.pop() index_radios.append(l_ind_rad) esp='' for i in range(niveau-1): esp = esp + blank_icon T_sorted = T.objectValues('Folder') T_sorted.sort(cmp_folders1) if T_sorted!=[] and T_sorted[0].getId().startswith('cat'): #esp = esp + '' if deployed: esp = esp + f_minus_icon(parent_ind_rad) else: esp = esp + f_plus_icon(l_ind_rad) else: esp = esp + blank_icon esp = esp + folder_icon if boutons_radio: is_it_checked='' if l_chem[:]==chem[:]: is_it_checked=' checked ' esp = esp + '' esp = esp + '' debug_str='' if debug: debug_str=' (relPhysicalPath='+ relPhysicalPath + '| l_chem=' + str(l_chem) + '| niveau=' + str(niveau) + '| deployed=' + str(deployed) + '| l_chem[0:niveau]=' + str(l_chem[0:niveau]) + '| chem[0:niveau]=' + str(chem[0:niveau]) + ')' ahref_delete = '' if T_sorted==[] and (perm_edit==1 or (T.hasProperty('user_id') and T.user_id==mem['user_id'])): ahref_delete = ' [suppr] ' if T.hasProperty('on_front') and T['on_front']: l.append(esp + ' ' + T.title_or_id() + '' + ahref_delete + debug_str + '
') else: l.append(esp + ' ' + T.title_or_id() + ahref_delete + debug_str + '
') if deployed: T_sorted2 = T.objectValues('Folder') T_sorted2.sort(cmp_folders2) for r in T_sorted2: if r.getId().startswith('cat'): depl=0 if l_chem[0:niveau]==chem[0:niveau]: depl=1 affiche_arbre(l,r,niveau+1,index_radios,l_ind_rad) liste = [] #rep.objectValues('Folder').sort(cmp_folders) affiche_arbre(liste,rep,0,index_radios,0) #~ Là, je vais me faire taper dessus, car le document va contenir #~ deux balises html et deux balises head, mais ça donnera des idées :-) #~ par contre, cela n'a pas l'air de marcher avec certaines versions de IE :( #~ Bah! zonka passer à Mozilla! if fixbox and len(liste)>nb_cat_wo_fixbox: print """ """ # endif fixbox print context.zwo_lib.standard_html_header(mem) print '[Retour]' print '

Ajout d\'une rubrique et/ou d\'un lien:

' print '
' #print '' print '' print '' print '' print '' print '' print '' if liste!=[]: fin_choix = 'sous-rubrique à la rubrique choisie' print ' \n\n\n' if fixbox and len(liste)>nb_cat_wo_fixbox: print ' ' print ' ' else: fin_choix = 'rubrique' print ' ' print '' if perm_edit: debut_choix='Ajoutez' bouton_submit='Ajouter' else: debut_choix='Proposez' bouton_submit='Proposer' if msg_form!='': print '' print '\n \n \n' print ' ' print ' ' print '' print '' print ' ' print '' print '' print ' \n ' print '' if msg_url != '': print '' print ' ' print '' print '' print ' \n ' print '' print '' print ' \n ' print '' print '
' print '

Choisissez (COCHEZ) une rubrique:

' print '
' #print ' ' print ' ' print ' ' else: print ' ' racine_sel = '' if chem==['']: racine_sel = ' checked' print ' ' + folder_icon + ' (Racine de l\'annuaire)
' for l in liste: print ' ' + l print '
' print ' (Aucune rubrique n\'a encore été créée)' print '
'+ msg_form + '
' print '

'+debut_choix+' éventuellement une '+fin_choix+':

' print '
' print '
Nom : ' print ' ' print ' ' print '
' print '

'+ debut_choix + ' un lien dans cette rubrique:

' print '
\n URL: \n \n \n
' print ' '+ msg_url print '
\n Titre: \n \n
\n Description: \n \n \n   ' print '
' print '
' print context.zwo_lib.standard_html_footer(mem) return printed q Uwarningsq )U_codeqT¥8c @s%ddddddddd„ZdS(NscBós tƒ} tttdƒdƒƒ‰d‰d}d}d}dk l ‰|djodSnt t ˆdƒ|ƒ}|}ttd ƒƒ‰ttd ƒƒ}d ˆd ‰d ˆd‰t|dƒ}t|dƒ}ttd ƒƒ}t|d ƒƒ}t|dƒƒ‰t|dƒ} t|dƒ}!tttdƒdƒ}"|t|"ƒdIJ| d?IJ| d@IJ| dAIJ| dBIJ| dCIJ| dDIJ| dEIJ| dFIJ| dGIJ| dHIJ| dI|dJIJ| dKIJ| dLIJ|;gjoádM}=| dNIJ| dOIJ| dPIJ|ot6|;ƒ|jo,| dQIJ| dRIJ| dSIJ| dTIJn | dUIJd}>ˆ dgjo dV}>n| dWˆdX|>dYIJx"t&|;ƒD]}?| dW|?IJq¨W| dSIJn%dZ}=| d[IJ| d\IJ| dSIJ| d]IJˆ od^}@d_}An d`}@da}A|djo| db|dcIJn| ddIJ| de|@df|=dgIJ| dhIJ| diIJ| djIJ| dkIJ| dl|dJIJ| dm|AdnIJ| dSIJ| doIJ| dLIJ| dNIJ| de|@dpIJ| dSIJ| doIJ| dLIJ| dq|drIJ| doIJ|djo:| dLIJ| dNIJ| dW|IJ| dSIJ| doIJn| dLIJ| ds|dtIJ| doIJ| dLIJ| du|dvIJ| dw|AdxIJ| doIJ| dyIJ| dzIJ| tttdƒd{ƒˆƒIJ| ƒSdS(|sM Affiche l'arbre T dans la liste l. niveau est la profondeur actuelle. szwo_libsmem_dataii(s html_quotessErreur! instid est vide!srep_objs absolute_urlsgetIdss_sgrpsactsgrpsviewsgetPhysicalPaths enablehtmlsenablejavascriptsREQUESTsSESSIONsinstids HTTP_REFERERshttp_ref1 = 's's retour_hrefsretour_href1 = 'Ns racine_urlszwo_urls startswithsreplaceissplits/s s http_ref2 = 'sretour_href2 = 's user_roles_ids Authenticateds Anonymoussdroit_edit_dossiers"Vous n'avez aucun droit pour cela!scategory_path=s maketranss translates 's,schem=srepcat=cs2dˆdt|ƒdttdƒƒdSdS(Ns-(sabs_urlsstrsindexs _getattr_sscript(sindexsabs_urlsstrs _getattr_sscript(sabs_url(sScript (Python)s f_minus_iconxscs2dˆdt|ƒdttdƒƒdSdS(Ns+(sabs_urlsstrsindexs _getattr_sscript(sindexsabs_urlsstrs _getattr_sscript(sabs_url(sScript (Python)s f_plus_iconzscCsct|dƒƒt|dƒƒjo d Sn2t|dƒƒt|dƒƒjodSndSdS(NsgetIdii(s _getattr_sxsy(sxsys _getattr_((sScript (Python)s cmp_folders1s % %c Cs¾t|dƒƒ}t|dƒƒ}d}d}t|dƒdƒott|dƒƒ}nt|dƒdƒott|dƒƒ}nd}d} t|dƒdƒot|dƒ}nt|dƒdƒot|dƒ} n||jo d Sn¹||jodSn¤|djo | djo/|| jo d Sq‹|| jodSq‹n,|djo d Sn| djodSn||jo d Sn||jodSndSdS(Ns title_or_idis hasPropertyspriorsorderi( s _getattr_sxsxtsysytsxpsypsintsxosyo( sxsys _getattr_sxtsytsxpsypsintsxosyo((sScript (Python)s cmp_folders2‡s>$            c%sôttt|dƒƒƒdƒttˆƒdd …ƒdƒ} t| dƒdƒot| dƒdddƒ} ntttt| dd …ƒdƒddƒdƒd dƒd ƒd ƒ} d } t| d |…ƒtˆ d |…ƒj} d } |d jo*t|d ƒd} t|d ƒƒt|dƒ| ƒd}x(t t|dƒƒD]}|ˆ}qTWt|dƒdƒ}t|dƒˆƒ|gjo(ttt|d ƒdƒƒdƒdƒo/| o|ˆ |ƒ}q|ˆ| ƒ}n |ˆ}|ˆ }ˆ o‘d}t| dd…ƒtˆ dd…ƒjod}|d}n|d|dˆ| ƒdt|dƒƒdt|dƒƒd}nd}ˆovd| dt| ƒdt|ƒd t| ƒd!tt| d |…ƒƒd"ttˆ d |…ƒƒd#}nd}|gjo?ˆ djp2t|d$ƒd%ƒot|d%ƒtˆd%ƒjod&t| ƒd'}nt|d$ƒd(ƒo t|d(ƒo;t|dƒ|d)t|d*ƒƒd+||d,ƒq+t|dƒ|d-t|d*ƒƒ||d,ƒn| o¾t|dƒdƒ} t| dƒˆƒx“t | ƒD]}"tt|"dƒƒdƒdƒoYd }#t| d |…ƒtˆ d |…ƒjo d}#nˆ||"|d|| ƒqgqgWndS(.sM Affiche l'arbre T dans la liste l. niveau est la profondeur actuelle. sgetPhysicalPathsreplaceiss startswiths(, s, s's ssplits,ispopsappends objectValuessFolderssortsgetIdscatNs checked ss)s (relPhysicalPath=s | l_chem=s | niveau=s | deployed=s| l_chem[0:niveau]=s| chem[0:niveau]=s)s hasPropertysuser_ids" [suppr] son_fronts s title_or_ids s
s (%s _getattr_sstrsTs _getitem_sinstpathsrelPhysicalPathsl_chemsdeployedsniveauschems l_ind_rads index_radiossesps _getiter_srangesis blank_iconsT_sorteds cmp_folders1s f_minus_iconsparent_ind_rads f_plus_icons folder_icons boutons_radios is_it_checkeds html_quotes debug_strsdebugs ahref_deletes perm_editsmemsls T_sorted2s cmp_folders2srsdepls affiche_arbre(%slsTsniveaus index_radiossparent_ind_rads _getattr_sstrs _getitem_sinstpathsrelPhysicalPathsl_chemsdeployedschems l_ind_radsesps _getiter_srangesis blank_iconsT_sorteds cmp_folders1s f_minus_icons f_plus_icons folder_icons boutons_radios is_it_checkeds html_quotes debug_strsdebugs ahref_deletes perm_editsmems T_sorted2s cmp_folders2srsdepls affiche_arbre(s cmp_folders1sinstpathsmems html_quotes f_plus_icons affiche_arbresdebugs blank_icons cmp_folders2s boutons_radioschems perm_edits f_minus_icons folder_icon(sScript (Python)s affiche_arbre³s`CI* 8  +LvO&;4 + s sstandard_html_headers [Retour]sA

Ajout d'une rubrique et/ou d'un lien:

s?
s5s2s.s*s?ss#sous-rubrique à la rubrique choisies* s s sAjoutezsAjoutersProposezsProposers.s2s1 s# s" un lien dans cette rubrique:s” s˜ s  s
s.

Choisissez (COCHEZ) une rubrique:

s
s s, s checkeds s‰ (Racine de l'annuaire)
srubriques,
s* (Aucune rubrique n'a encore été créée)s
s
s

s éventuellement une s:

s5
s
Nom : s6 s
URL:  Titre:  Description:    s
s
sstandard_html_footer(Bs_print_s_prints _getattr_scontextsmemsdebugsdebug_http_refsfixboxsnb_cat_wo_fixboxsProducts.PythonScripts.standards html_quotesinstids _getitem_srepsinstances containersabs_urlsscripts script_ids blank_icons folder_iconsgrpsactsgrpsviewsmodidsinstpaths enablehtmlsenablejavascriptsSESSIONs_write_shttp_refs retour_hrefs category_pathst_paths path_listsstrs perm_edits perm_submitsrolis _getiter_sgsstringstablescheminschemsrepcatschs f_minus_icons f_plus_icons boutons_radios cmp_folders1s cmp_folders2s index_radioss affiche_arbreslisteslens fin_choixs racine_selsls debut_choixs bouton_submitsmsg_formsnewcatslink_urlsmsg_urls link_titres link_desc(Bsinstidsnewcatslink_urls link_titres link_descs category_pathsmsg_urlsmsg_forms_print_s_prints _getattr_scontextsmemsdebugsdebug_http_refsfixboxsnb_cat_wo_fixboxsProducts.PythonScripts.standards html_quotes _getitem_srepsinstances containersabs_urlsscripts script_ids blank_icons folder_iconsgrpsactsgrpsviewsmodidsinstpaths enablehtmlsenablejavascriptsSESSIONs_write_shttp_refs retour_hrefst_paths path_listsstrs perm_edits perm_submitsrolis _getiter_sgsstringstablescheminschemsrepcatschs f_minus_icons f_plus_icons boutons_radios cmp_folders1s cmp_folders2s index_radioss affiche_arbreslisteslens fin_choixs racine_selsls debut_choixs bouton_submit((s cmp_folders1sabs_urlsmems html_quotes blank_iconsinstpaths affiche_arbresdebugs f_plus_icons cmp_folders2s boutons_radioschems perm_edits f_minus_icons folder_iconsScript (Python)sadd_links`$     !5 $ *$                 * 3:"                                                      "(sadd_link(sadd_link((sScript (Python)ssqU func_defaultsq(UUUUUUUUtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q }q!Uadminq"]q#UOwnerq$asUidq%Ucopy_of_add_linkq&U_paramsq'Ubinstid='',newcat='',link_url='',link_titre='',link_desc='',category_path='',msg_url='',msg_form=''q(U func_codeq)(cShared.DC.Scripts.Signature FuncCode q*oq+}q,(U co_argcountq-KU co_varnamesq.(Uinstidq/Unewcatq0Ulink_urlq1U link_titreq2U link_descq3U category_pathq4Umsg_urlq5Umsg_formq6U_print_q7U_printq8U _getattr_q9Ucontextq:Umemq;UdebugqUnb_cat_wo_fixboxq?UProducts.PythonScripts.standardq@U html_quoteqAU _getitem_qBUrepqCUinstanceqDU containerqEUabs_urlqFUscriptqGU script_idqHU blank_iconqIU folder_iconqJUgrpsactqKUgrpsviewqLUmodidqMUinstpathqNU enablehtmlqOUenablejavascriptqPUSESSIONqQU_write_qRUhttp_refqSU retour_hrefqTUt_pathqUU path_listqVUstrqWU perm_editqXU perm_submitqYUroliqZU _getiter_q[UgUstringq\Utableq]Ucheminq^Uchemq_Urepcatq`UchqaU f_minus_iconqbU f_plus_iconqcU boutons_radioqdU cmp_folders1qeU cmp_folders2qfU index_radiosqgU affiche_arbreqhUlisteqiUlenqjU fin_choixqkU racine_selqlUlU debut_choixqmU bouton_submitqntqoubu.ƒl \((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tdef comp_versions (v1, v2): """ v1 and v2 are two version-numbers like : 4.2rc3 or 7.5 or 9 or 3.72 In 4.2rc3, 4 is the major, 2 the minor, and 3 the release-candidate number. Return 1 if v1>v2, -1 if v1'+ str(v2_rc) # fin de def comp_versions return comp_versions(v1, v2) q U_codeq Tâc@sddd„ZdS(NscCsd„}|||ƒSdS(sL v1 and v2 are two version-numbers like : 4.2rc3 or 7.5 or 9 or 3.72 In 4.2rc3, 4 is the major, 2 the minor, and 3 the release-candidate number. Return 1 if v1>v2, -1 if v1v2, -1 if v1sq U func_defaultsq(UUtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q}qUadminq ]q!UOwnerq"asUidq#U read_versionq$U_paramsq%U v1='',v2=''q&U func_codeq'(cShared.DC.Scripts.Signature FuncCode q(oq)}q*(U co_argcountq+KU co_varnamesq,(Uv1q-Uv2q.U comp_versionsq/tq0ubu.ƒm]((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T3#print context.REQUEST.HTTP_REFERER #return printed from Products.PythonScripts.standard import newline_to_br instid = context.REQUEST.form['instid'] mem = context.zwo_lib.mem_data() repinstid=mem['rep_obj'][instid] def f_status(s): if s =='ok': return 'acceptée et visible par tous' elif s =='waiting': return 'en attente de validation et visible par vous-même uniquement' elif s =='rejected': return 'rejetée et visible par personne' elif s =='standby': return 'écartée momentanément et visible par personne' for (variable, valeur) in context.REQUEST.form.items(): if variable.startswith('('): path_set = variable[1:-1].replace("'",'').replace(' ','').split(',') chem = repinstid ; parent = None for i in range(len(path_set)): ch = path_set[i] if ch != '': parent = chem chem = chem[ch] old_status = chem.status chem.manage_changeProperties(status = valeur) if parent != None and parent.hasProperty('nb_subcat'): if old_status == 'ok' and valeur != 'ok': # La rubrique devient non valide : parent.manage_changeProperties(nb_subcat= parent.nb_subcat -1) if old_status != 'ok' and valeur == 'ok': # La rubrique devient valide : parent.manage_changeProperties(nb_subcat= parent.nb_subcat +1) if old_status != valeur and chem.user_id!=mem['user_id']: # La rubrique a changé de status, on envoie un PM à son auteur: to = chem.user_id pm = 'La rubrique '+ chem.title +' que vous avez proposée dans l\'annuaire de liens a changé de status.\n Elle était '+ f_status(old_status) +' ; elle est à présent '+ f_status(valeur) +'.' context.send_PM_ok(pm, to) redirection = context.REQUEST['URL1']+'/waiting?instid='+ str(instid) +'&scr_from=waiting_ok' context.REQUEST.RESPONSE.redirect(redirection) q Uidq U waiting_okq U_codeqT@ c@s d„ZdS(NcCsdkl}ttttdƒdƒdƒ}tttdƒdƒƒ}tt|dƒ|ƒ}d„}x\t ttttdƒdƒd ƒƒƒD]0t ƒ\} } t| d ƒd ƒotttt| d d …ƒd ƒddƒd ƒddƒdƒdƒ} |} t}xUt tt| ƒƒƒD];}t| |ƒ}|djo| }t| |ƒ} q,q,Wt| dƒ}t| dƒd| ƒ|tjot|dƒdƒo|djo | djo't|dƒdt|dƒd ƒn|djo | djo't|dƒdt|dƒd ƒn|| jot| dƒt|dƒjo\t| dƒ}dt| dƒd||ƒd|| ƒd}ttdƒ||ƒqÁqÅq•q•Wtttdƒdƒd t|ƒd!}ttttdƒd"ƒd#ƒ|ƒdS($N(s newline_to_brsREQUESTsformsinstidszwo_libsmem_datasrep_objcCsX|djodSn@|djodSn+|djodSn|djodSndS( Nsoksacceptée et visible par tousswaitings<en attente de validation et visible par vous-même uniquementsrejectedsrejetée et visible par personnesstandbys-écartée momentanément et visible par personne(ss(ss((sScript (Python)sf_statuss    sitemss startswiths(isreplaces'ss ssplits,sstatussmanage_changePropertiess hasPropertys nb_subcatsoksuser_ids La rubrique stitlesQ que vous avez proposée dans l'annuaire de liens a changé de status. Elle était s ; elle est à présent s.s send_PM_oksURL1s/waiting?instid=s&scr_from=waiting_oksRESPONSEsredirect(sProducts.PythonScripts.standards newline_to_brs _getitem_s _getattr_scontextsinstidsmems repinstidsf_statuss _getiter_svariablesvaleurspath_setschemsNonesparentsrangeslensischs old_statusstospmsstrs redirection(sProducts.PythonScripts.standards newline_to_brs _getitem_s _getattr_scontextsinstidsmems repinstidsf_statuss _getiter_svariablesvaleurspath_setschemsNonesparentsrangeslensischs old_statusstospmsstrs redirection((sScript (Python)s waiting_oks: ! +I  #$$,6#3(s waiting_ok(s waiting_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(UProducts.PythonScripts.standardq%U newline_to_brq&U _getitem_q'U _getattr_q(Ucontextq)Uinstidq*Umemq+U repinstidq,Uf_statusq-U _getiter_q.Uvariableq/Uvaleurq0Upath_setq1Uchemq2UNoneq3Uparentq4Urangeq5Ulenq6UiUchq7U old_statusq8Utoq9Upmq:Ustrq;U redirectionq}q?Uadminq@]qAUOwnerqBasU _filepathqCU?Script (Python):/internet/zwo_modules/annuaire_liens/waiting_okqDU_paramsqEUU_dav_writelocksqF(U†±qG(U PersistenceqHUPersistentMappingqItqJtqKQu.ƒ\C‰((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tk"""Parse (absolute and relative) URLs. See RFC 1808: "Relative Uniform Resource Locators", by R. Fielding, UC Irvine, June 1995. """ # A classification of schemes ('' means apply by default) uses_relative = ['ftp', 'http', 'gopher', 'nntp', 'imap', 'wais', 'file', 'https', 'shttp', 'mms', 'prospero', 'rtsp', 'rtspu', ''] uses_netloc = ['ftp', 'http', 'gopher', 'nntp', 'telnet', 'imap', 'wais', 'file', 'mms', 'https', 'shttp', 'snews', 'prospero', 'rtsp', 'rtspu', ''] non_hierarchical = ['gopher', 'hdl', 'mailto', 'news', 'telnet', 'wais', 'imap', 'snews', 'sip'] uses_params = ['ftp', 'hdl', 'prospero', 'http', 'imap', 'https', 'shttp', 'rtsp', 'rtspu', 'sip', 'mms', ''] uses_query = ['http', 'wais', 'imap', 'https', 'shttp', 'mms', 'gopher', 'rtsp', 'rtspu', 'sip', ''] uses_fragment = ['ftp', 'hdl', 'http', 'gopher', 'news', 'nntp', 'wais', 'https', 'shttp', 'snews', 'file', 'prospero', ''] # Characters valid in scheme names scheme_chars = ('abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' '0123456789' '+-.') MAX_CACHE_SIZE = 20 parse_cache = {} def clear_cache(): """Clear the parse cache.""" global parse_cache parse_cache = {} def urlparse(url, scheme='', allow_fragments=1): """Parse a URL into 6 components: :///;?# Return a 6-tuple: (scheme, netloc, path, params, query, fragment). Note that we don't break the components up in smaller bits (e.g. netloc is a single string) and we don't expand % escapes.""" tuple = urlsplit(url, scheme, allow_fragments) scheme, netloc, url, query, fragment = tuple if scheme in uses_params and ';' in url: url, params = splitparams(url) else: params = '' return scheme, netloc, url, params, query, fragment def splitparams(url): if '/' in url: i = url.find(';', url.rfind('/')) if i < 0: return url, '' else: i = url.find(';') return url[:i], url[i+1:] def urlsplit(url, scheme='', allow_fragments=1): """Parse a URL into 5 components: :///?# Return a 5-tuple: (scheme, netloc, path, query, fragment). Note that we don't break the components up in smaller bits (e.g. netloc is a single string) and we don't expand % escapes.""" key = url, scheme, allow_fragments cached = parse_cache.get(key, None) if cached: return cached if len(parse_cache) >= MAX_CACHE_SIZE: # avoid runaway growth clear_cache() netloc = query = fragment = '' i = url.find(':') if i > 0: if url[:i] == 'http': # optimize the common case scheme = url[:i].lower() url = url[i+1:] if url[:2] == '//': i = url.find('/', 2) if i < 0: i = url.find('#') if i < 0: i = len(url) netloc = url[2:i] url = url[i:] if allow_fragments and '#' in url: url, fragment = url.split('#', 1) if '?' in url: url, query = url.split('?', 1) tuple = scheme, netloc, url, query, fragment parse_cache[key] = tuple return tuple for c in url[:i]: if c not in scheme_chars: break else: scheme, url = url[:i].lower(), url[i+1:] if scheme in uses_netloc: if url[:2] == '//': i = url.find('/', 2) if i < 0: i = len(url) netloc, url = url[2:i], url[i:] if allow_fragments and scheme in uses_fragment and '#' in url: url, fragment = url.split('#', 1) if scheme in uses_query and '?' in url: url, query = url.split('?', 1) tuple = scheme, netloc, url, query, fragment parse_cache[key] = tuple return tuple def urlunparse((scheme, netloc, url, params, query, fragment)): """Put a parsed URL back together again. This may result in a slightly different, but equivalent URL, if the URL that was parsed originally had redundant delimiters, e.g. a ? with an empty query (the draft states that these are equivalent).""" if params: url = "%s;%s" % (url, params) return urlunsplit((scheme, netloc, url, query, fragment)) def urlunsplit((scheme, netloc, url, query, fragment)): if netloc or (scheme and scheme in uses_netloc and url[:2] != '//'): if url and url[:1] != '/': url = '/' + url url = '//' + (netloc or '') + url if scheme: url = scheme + ':' + url if query: url = url + '?' + query if fragment: url = url + '#' + fragment return url def urljoin(base, url, allow_fragments = 1): """Join a base URL and a possibly relative URL to form an absolute interpretation of the latter.""" if not base: return url if not url: return base bscheme, bnetloc, bpath, bparams, bquery, bfragment = \ urlparse(base, '', allow_fragments) scheme, netloc, path, params, query, fragment = \ urlparse(url, bscheme, allow_fragments) if scheme != bscheme or scheme not in uses_relative: return url if scheme in uses_netloc: if netloc: return urlunparse((scheme, netloc, path, params, query, fragment)) netloc = bnetloc if path[:1] == '/': return urlunparse((scheme, netloc, path, params, query, fragment)) if not path: if not params: params = bparams if not query: query = bquery return urlunparse((scheme, netloc, bpath, params, query, fragment)) segments = bpath.split('/')[:-1] + path.split('/') # XXX The stuff below is bogus in various ways... if segments[-1] == '.': segments[-1] = '' while '.' in segments: segments.remove('.') while 1: i = 1 n = len(segments) - 1 while i < n: if (segments[i] == '..' and segments[i-1] not in ('', '..')): del segments[i-1:i+1] break i = i+1 else: break if segments == ['', '..']: segments[-1] = '' elif len(segments) >= 2 and segments[-1] == '..': segments[-2:] = [''] return urlunparse((scheme, netloc, '/'.join(segments), params, query, fragment)) def urldefrag(url): """Removes any existing fragment from URL. Returns a tuple of the defragmented URL and the fragment. If the URL contained no fragments, the second element is the empty string. """ if '#' in url: s, n, p, a, q, frag = urlparse(url) defrag = urlunparse((s, n, p, a, q, '')) return defrag, frag else: return url, '' q U_codeq Tê#c@s d„ZdS(Nc"s¨ddddddddd d d d d dg‰ ddddddddd dd dd d d dg‰dddddddddg }ddd dddd d d dd dg ‰ddddd d dd d ddg ‰ddddddddd ddd dg ‰ d‰ d‰h‰ d„‰dd‡‡‡d†‰d„‰dd‡ ‡‡‡‡‡ ‡ d†‰‡d†‰ ‡d†‰d‡‡ ‡ ‡d†}‡‡ d†}d S(!s¿Removes any existing fragment from URL. Returns a tuple of the defragmented URL and the fragment. If the URL contained no fragments, the second element is the empty string. sftpshttpsgophersnntpsimapswaissfileshttpssshttpsmmssprosperosrtspsrtspusstelnetssnewsshdlsmailtosnewsssipsAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.icCs hadS(sClear the parse cache.N(s parse_cache(s parse_cache((sScript (Python)s clear_cache"sic swˆ|||ƒ}|\}}}}}|ˆjo d|joˆ|ƒ\}} nd} |||| ||fSdS(s#Parse a URL into 6 components: :///;?# Return a 6-tuple: (scheme, netloc, path, params, query, fragment). Note that we don't break the components up in smaller bits (e.g. netloc is a single string) and we don't expand % escapes.s;sN( surlsplitsurlsschemesallow_fragmentsstuplesnetlocsquerysfragments uses_paramss splitparamssparams( surlsschemesallow_fragmentssurlsplitstuplesnetlocsquerysfragments uses_paramss splitparamssparams(s splitparamss uses_paramssurlsplit(sScript (Python)surlparse(s c Cs˜d|joFt|dƒdt|dƒdƒƒ}|djo|dfSqhnt|dƒdƒ}t|d|…ƒt||dd…ƒfSdS(Ns/sfinds;srfindisi(surls _getattr_sis _getitem_(surls _getattr_sis _getitem_((sScript (Python)s splitparams6s  ' csÏ|||f}tˆdƒ|tƒ}|o|Sntˆƒˆjo ˆƒnd} } } t|dƒdƒ}|djo t|d|…ƒdjoqtt|d|…ƒdƒƒ}t||d d…ƒ}t|dd …ƒd jo‰t|dƒd d ƒ}|djo6t|dƒd ƒ}|djot|ƒ}qQnt|d |…ƒ} t||d…ƒ}n|o d |jo"t|dƒd d ƒ\}} nd|jo"t|dƒdd ƒ\}} n|| || | f}|tˆƒ|<|Snxytt|d|…ƒƒD]}|ˆjoPq-q-Wtt|d|…ƒdƒƒt||d d…ƒf\}}n|ˆjo‰t|dd …ƒd joit|dƒd d ƒ}|djot|ƒ}nt|d |…ƒt||d…ƒf\} }q#n|o|ˆjo d |jo"t|dƒd d ƒ\}} n|ˆjo d|jo"t|dƒdd ƒ\}} n|| || | f}|tˆƒ|<|SdS(sParse a URL into 5 components: :///?# Return a 5-tuple: (scheme, netloc, path, query, fragment). Note that we don't break the components up in smaller bits (e.g. netloc is a single string) and we don't expand % escapes.sgetssfinds:iNshttpsloweriis//s/s#ssplits?(surlsschemesallow_fragmentsskeys _getattr_s parse_cachesNonescachedslensMAX_CACHE_SIZEs clear_cachesnetlocsquerysfragmentsis _getitem_stuples_write_s _getiter_scs scheme_charss uses_netlocs uses_fragments uses_query(surlsschemesallow_fragmentsskeys _getattr_s parse_cachesNonescachedslensMAX_CACHE_SIZEs clear_cachesnetlocsquerysfragmentsis _getitem_stuples_write_s _getiter_scs scheme_charss uses_netlocs uses_fragments uses_query(s parse_caches clear_cachesMAX_CACHE_SIZEs uses_querys uses_netlocs uses_fragments scheme_chars(sScript (Python)surlsplit?sZ  !  " "  D  8!""c sP|\}}}}}}|od||f}nˆ|||||fƒSdS(súPut a parsed URL back together again. This may result in a slightly different, but equivalent URL, if the URL that was parsed originally had redundant delimiters, e.g. a ? with an empty query (the draft states that these are equivalent).s%s;%sN(s.0sschemesnetlocsurlsparamssquerysfragments urlunsplit(s.0sschemesnetlocsurlsparamssquerysfragments urlunsplit(s urlunsplit(sScript (Python)s urlunparsessc sé|\}}}}}|p-|o&|ˆjot|dd…ƒdjoJ|ot|dd…ƒdjod|}nd|pd|}n|o|d|}n|o|d|}n|o|d|}n|SdS( Nis//is/ss:s?s#(s.0sschemesnetlocsurlsquerysfragments uses_netlocs _getitem_(s.0sschemesnetlocsurlsquerysfragments uses_netlocs _getitem_(s uses_netloc(sScript (Python)s urlunsplit|s71cs | o|Sn| o|Snˆ|d|ƒ\}}}}}} ˆ|||ƒ\} } } } }}| |jp | ˆjo|Sn| ˆjo1| o ˆ| | | | ||fƒSn|} nt| dd…ƒdjo ˆ| | | | ||fƒSn| oD| o|} | o |}q0nˆ| | || ||fƒSntt|dƒdƒdd …ƒt| dƒdƒ}t|d ƒdjodt|ƒd sq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU__ac_local_roles__q}qUadminq]q UOwnerq!asUidq"Uurlparseq#U_paramsq$UU func_codeq%(cShared.DC.Scripts.Signature FuncCode q&oq'}q((U co_argcountq)KU co_varnamesq*(U uses_relativeq+U uses_netlocq,Unon_hierarchicalq-U uses_paramsq.U uses_queryq/U uses_fragmentq0U scheme_charsq1UMAX_CACHE_SIZEq2U parse_cacheq3U clear_cacheq4U splitparamsq5Uurlsplitq6Uurlparseq7U urlunsplitq8U urlunparseq9Uurljoinq:U urldefragq;tq, line 1)qtq Utitleq U*formulaire d'ajout de lien ou de catégorieq U Script_magicq KU_bodyq T˜/mem=context.zwo_lib.mem_data() # Afficher ou pas les messages de débogage: debug=0 debug_http_ref=1 # Afficher ou pas la fixbox (boîte contenant des liens de navigation sur la page) fixbox=0; nb_cat_wo_fixbox=3 # nbre max de catégories affichées sans la fixbox # FIXME: La fixbox ne fonctionne pas avec IE 5.0 from Products.PythonScripts.standard import html_quote # instid est l'Id de l'instance de l'objet. Ex : instid='annuairedeliens'. if instid=='': return "Erreur! instid est vide!" # rep est le répertoire où sont contenues les données de l'instance: rep = mem['rep_obj'][instid] instance=rep # abs_url est l'url absolue du dossier contenant ce script: abs_url = container.absolute_url() #script_id est l'Id de ce script: script_id = script.getId() # URL des icones utilisés: blank_icon = '' #minus_icon = '-' #plus_icon = '+' folder_icon = '_' #recuperation parametres grpsact=instance.grpsact grpsview=instance.grpsview modid=container.getId() instid=instance.getId() instpath=instance.getPhysicalPath() enablehtml=instance.enablehtml enablejavascript=instance.enablejavascript REQUEST=context.REQUEST SESSION=REQUEST.SESSION SESSION['instid']=instid #~ retour_href est l'adresse vers laquelle pointe le bouton [Retour] retour_href = instance.absolute_url() http_ref = REQUEST['HTTP_REFERER'] #if str(from)=='view_html': # if http_ref in [mem['racine_url'], mem['zwo_url']]: # print 'OK' + '
' #if debug_http_ref: # print 'instid = \''+ instid + '\'' + '
' # print 'retour_href = \''+ retour_href + '\'' + '
' # print 'category_path = \''+ category_path + '\'' + '
' # print 'http_ref = \''+ http_ref + '\'' + '
' # #print 'mem[\'racine_url\']='+ mem['racine_url'] + '
' # #print 'mem[\'zwo_url\']='+ mem['zwo_url'] + '
' # #return printed #~ controle des permissions perm_edit=0 perm_submit=0 roli=mem['user_roles_id'] for g in roli: if g in grpsview: perm_submit=1 for g in roli: if g in grpsact: perm_edit=1 if 'Authenticated' not in roli: if 'Anonymous' in grpsview: perm_submit=1 if 'Anonymous' in grpsact: perm_edit=1 if mem['droit_edit_dossier']==1: perm_edit=1 if not (perm_edit or perm_submit): return 'Vous n\'avez aucun droit pour cela!' # Début: if debug: print 'category_path='+ str(category_path) table = string.maketrans(' ',' ') chemin = str(category_path[1:-1]) chemin = string.translate(chemin,table,' \'') chem = chemin.split(',') if debug: print 'chem='+str(chem) #return printed repcat = rep for ch in chem: if ch!='': repcat = repcat[ch] #date = DateTime('GMT+0') if debug: print 'repcat='+str(repcat) #return printed # Astuce permettant de ne pas perdre les infos du lien (url,titre,description): def f_minus_icon(index): return '-' def f_plus_icon(index): return '+' boutons_radio = 1 def cmp_folders1(x, y): if x.getId() < y.getId(): return -1 elif x.getId() > y.getId(): return 1 else: return 0 def cmp_folders2(x, y): xt = x.title_or_id(); yt = y.title_or_id() xp = 0 ; yp = 0 if x.hasProperty('prior'): xp = int(x.prior) if y.hasProperty('prior'): yp = int(y.prior) xo = 0 ; yo = 0 if x.hasProperty('order'): xo = x.order if y.hasProperty('order'): yo = y.order if xp > yp: # la plus grande priorité est placée avant return -1 elif xp < yp: return 1 else: if xo>0 and yo>0: # chacun a un ordre défini if xo < yo: # le plus petit numéro d'ordre est placé avant return -1 elif xo > yo: return 1 else: # ordre identique pass elif xo > 0: #yo=0 # celui qui a un numéro d'ordre nul est placé après return -1 elif yo > 0: #xo=0 return 1 else: # aucun n'a d'ordre défini pass if xt < yt: return -1 elif xt > yt: return 1 else: return 0 # Astuce : index_radios ne peut pas être un nombre car un nombre n'est pas modifiable par une fonction, # on crée donc une liste contenant 0. Pour chaque incrémentation, cet élément unique sera lu, supprimé (pop) # augmenté de 1, puis le résultat sera ajouté (append) index_radios=[0] def affiche_arbre(l,T,niveau,index_radios,parent_ind_rad): """ Affiche l'arbre T dans la liste l. niveau est la profondeur actuelle. """ relPhysicalPath=str(T.getPhysicalPath()).replace(str(instpath)[1:-1],'') if relPhysicalPath.startswith('(, '): relPhysicalPath = relPhysicalPath.replace(', ', '', 1) l_chem=relPhysicalPath[1:-1].replace('\'','').replace(' ','').split(',') deployed=0 deployed=(l_chem[0:niveau]==chem[0:niveau]) l_ind_rad = 0 if niveau != 0: l_ind_rad = index_radios[0] + 1 index_radios.pop() index_radios.append(l_ind_rad) esp='' for i in range(niveau-1): esp = esp + blank_icon T_sorted = T.objectValues('Folder') T_sorted.sort(cmp_folders1) if T_sorted!=[] and T_sorted[0].getId().startswith('cat'): #esp = esp + '' if deployed: esp = esp + f_minus_icon(parent_ind_rad) else: esp = esp + f_plus_icon(l_ind_rad) else: esp = esp + blank_icon esp = esp + folder_icon if boutons_radio: is_it_checked='' if l_chem[:]==chem[:]: is_it_checked=' checked ' esp = esp + '' esp = esp + '' debug_str='' if debug: debug_str=' (relPhysicalPath='+ relPhysicalPath + '| l_chem=' + str(l_chem) + '| niveau=' + str(niveau) + '| deployed=' + str(deployed) + '| l_chem[0:niveau]=' + str(l_chem[0:niveau]) + '| chem[0:niveau]=' + str(chem[0:niveau]) + ')' ahref_delete = '' if T_sorted==[] and (perm_edit==1 or (T.hasProperty('user_id') and T.user_id==mem['user_id'])): ahref_delete = ' [suppr] ' if T.hasProperty('on_front') and T['on_front']: l.append(esp + ' ' + T.title_or_id() + '' + ahref_delete + debug_str + '
') else: l.append(esp + ' ' + T.title_or_id() + ahref_delete + debug_str + '
') if deployed: T_sorted2 = T.objectValues('Folder') T_sorted2.sort(cmp_folders2) for r in T_sorted2: if r.getId().startswith('cat'): depl=0 if l_chem[0:niveau]==chem[0:niveau]: depl=1 affiche_arbre(l,r,niveau+1,index_radios,l_ind_rad) liste = [] #rep.objectValues('Folder').sort(cmp_folders) affiche_arbre(liste,rep,0,index_radios,0) #~ Là, je vais me faire taper dessus, car le document va contenir #~ deux balises html et deux balises head, mais ça donnera des idées :-) #~ par contre, cela n'a pas l'air de marcher avec certaines versions de IE :( #~ Bah! zonka passer à Mozilla! if fixbox and len(liste)>nb_cat_wo_fixbox: print """ """ # endif fixbox print context.zwo_lib.standard_html_header(mem) print '[Retour]' print '

Ajout d\'une rubrique et/ou d\'un lien:

' print '
' #print '' print '' print '' print '' print '' print '' print '' if liste!=[]: fin_choix = 'sous-rubrique à la rubrique choisie' print ' \n\n\n' if fixbox and len(liste)>nb_cat_wo_fixbox: print ' ' print ' ' else: fin_choix = 'rubrique' print ' ' print '' if perm_edit: debut_choix='Ajoutez' bouton_submit='Ajouter' else: debut_choix='Proposez' bouton_submit='Proposer' if msg_form!='': print '' print '\n \n' print '\n' print ' ' print ' ' print '' print '' print ' ' print '' print '' print ' \n ' print '' if msg_url != '': print '' print ' ' print '' print '' print ' \n ' print '' print '' print ' \n ' print '' print '
' print '

Choisissez (COCHEZ) une rubrique:

' print '
' #print ' ' print ' ' print ' ' else: print ' ' racine_sel = '' if chem==['']: racine_sel = ' checked' print ' ' + folder_icon + ' (Racine de l\'annuaire)
' for l in liste: print ' ' + l print '
' print ' (Aucune rubrique n\'a encore été créée)' print '
'+ msg_form + '
' print '

'+debut_choix+' éventuellement une '+fin_choix+':

' print '
Nom : ' print ' ' print ' ' print '
' print '

'+ debut_choix + ' un lien dans cette rubrique:

' print '
\n URL: \n \n \n
' print ' '+ msg_url print '
\n Titre: \n \n
\n Description: \n \n \n   ' print '
' print '
' print context.zwo_lib.standard_html_footer(mem) return printed qUwarningsq)U_codeqNU func_defaultsq)U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU__ac_local_roles__q }q!Uadminq"]q#UOwnerq$asUidq%Ucopy2_of_add_link.MARCHEPASq&U_paramsq'Ujinstid='',newcat='',link_url='',link_titre='',link_desc='',category_path='',msg_url='',msg_form='',from=''q(U func_codeq)(cShared.DC.Scripts.Signature FuncCode q*oq+}q,(U co_argcountq-KU co_varnamesq.)ubu.‚® ð((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T¦# RECUPERATION DU TYPE DE MODULE CONCERNE :# typemod=container.getId() # EXEMPLE FORMULAIRE EDITION print '
' # EXEMPLE DE LIENS VERS UN SCRIPT INTERMDAIRE script_i #url_loc="zwo_modules/"+typemod+'/' #print 'Script de configuration autre ... CLIQUER ICI' return printed q U_codeq T^c@s d„ZdS(NcCsÙtƒ}ttdƒƒ}|d|dIJ|dt|dƒdIJ|dt|dƒdIJ|d IJ|d t|d ƒd IJ|d t|dƒƒd IJ|dt|dƒƒd IJ|dIJ|ƒSdS(NsgetIds(
sC

Url du fil rss:

sC

Titre du fil: s,s+' print '' print '

Identifiant :

' print '

Titre du fil:

' # partie specifique à ce module print '

Url du fil rss:

' # suite standard print '

' if dossier.type_zwook=="skin": print '' else: print '' print '' print '
' return printed q U_codeq TØc@s d„ZdS(Nc "Cs'tƒ}ttdƒƒ}ttdƒƒ}|}|} d} x8| t|dƒƒjo| d} |t | ƒ} qBW|d|dIJ|dIJ|d | d IJ|d IJ|d IJ|d IJt|dƒdjo|dIJn |dIJ|dt|dƒƒdIJ|dIJ|ƒSdS(NsgetIds title_or_idis objectIdsis(
ssB

Identifiant :

sI

Titre du fil:

sH

Url du fil rss:

s6

s type_zwooksskins.s1s's
( s_print_s_prints _getattr_s containerstypemodsnamemodsexemple_titre_bases exemple_titresindicesdossiersstr( smemsdossiers_print_s_prints _getattr_s containerstypemodsnamemodsexemple_titre_bases exemple_titresindicesstr((sScript (Python)snew_htmls*        (snew_html(snew_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q (U co_argcountq!KU co_varnamesq"(Umemq#Udossierq$U_print_q%U_printq&U _getattr_q'U containerq(Utypemodq)Unamemodq*Uexemple_titre_baseq+U exemple_titreq,Uindiceq-Ustrq.tq/ubU__ac_local_roles__q0}q1Uxavq2]q3UOwnerq4asUidq5Unew_htmlq6U_paramsq7U mem,dossierq8U_dav_writelocksq9(U†*q:(U Persistenceq;UPersistentMappingqQu.‚± Ï((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T\parselib=mem['zwo_obj'].zwo_lib.parse.rss urlfeed=instance.furl titlefeed=instance.ftitle def parse_feed(furl): aff=[] data=parselib.parse_rss(furl) for el in data: title=str(el[0]) link=str(el[1]) summary=str(el[2]) modified=str(el[3]) author=str(el[4]) aff.append('

'+title+'

') if modified<>' ' and author<>' ' and author<>'' and modified<>'': aff.append('
Le '+modified+' par '+author+'
') aff.append('

'+summary+'

') return '\n'.join(aff) return '

'+titlefeed+'

'+parse_feed(urlfeed) q Uidq U view_htmlq U_codeqT3c@s d„ZdS(Ncsntttt|dƒdƒdƒdƒ‰t|dƒ}t|dƒ}‡d†}d|d ||ƒSdS( Nszwo_objszwo_libsparsesrsssfurlsftitlec sKg}tˆdƒ|ƒ}xt|ƒD]}tt|dƒƒ} tt|dƒƒ} tt|dƒƒ} tt|dƒƒ} tt|dƒƒ} t|dƒd| d | d ƒ| d jo$| d jo| d jo | d jo't|dƒd | d| dƒnt|dƒd| dƒq(Wtddƒ|ƒSdS(Ns parse_rssiiiiisappends

s

s ss
Le s par s
s

s

s sjoin(saffs _getattr_sparselibsfurlsdatas _getiter_selsstrs _getitem_stitleslinkssummarysmodifiedsauthor(sfurlsaffs _getattr_sparselibsdatas _getiter_selsstrs _getitem_stitleslinkssummarysmodifiedsauthor(sparselib(sScript (Python)s parse_feeds  7's

s

(s _getattr_s _getitem_smemsparselibsinstancesurlfeeds titlefeeds parse_feed(smemsinstances _getattr_s _getitem_sparselibsurlfeeds titlefeeds parse_feed((sparselibsScript (Python)s view_htmls* (s view_html(s view_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Umemq%Uinstanceq&U _getattr_q'U _getitem_q(Uparselibq)Uurlfeedq*U titlefeedq+U parse_feedq,tq-ubU__ac_local_roles__q.}q/Uxavq0]q1UOwnerq2asU _filepathq3U@Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/view_htmlq4U_paramsq5U mem,instanceq6U_dav_writelocksq7(U†+q8(U Persistenceq9UPersistentMappingq:tq;tq1: return 'Vous n\'avez pas les droits pour cette action !' # EXEMPLE MODIFICATION obj.manage_changeProperties(furl=furl) obj.manage_changeProperties(ftitle=ftitle) # REDIRECTION PAGE ADMIN GENERALE PAGE OU SKIN. context.REQUEST.RESPONSE.redirect('../../') q Uidq U config_okq U_codeqTc@s d„ZdS(Nc Csÿtttdƒdƒƒ}|djoFy%ttttdƒdƒ|ƒ} Wn dSnXt| |ƒ} nt|dƒ} t| |ƒ} t|dƒd jod Snt| d ƒd |ƒt| d ƒd |ƒttttdƒdƒdƒdƒdS(Nszwo_libs mem_mod_datasskinszwo_infosskinssnooosrep_objsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !smanage_changePropertiessfurlsftitlesREQUESTsRESPONSEsredirects../../( s _getattr_scontextsmemstype_reps _getitem_snom_repsskinsinstidsobjsdossiersfurlsftitle( sinstidsnom_repstype_repsfurlsftitles _getattr_scontextsmems _getitem_sskinsobjsdossier((sScript (Python)s config_oks ( (s config_ok(s config_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Uinstidq%Unom_repq&Utype_repq'Ufurlq(Uftitleq)U _getattr_q*Ucontextq+Umemq,U _getitem_q-Uskinq.Uobjq/Udossierq0tq1ubU__ac_local_roles__q2}q3Uxavq4]q5UOwnerq6asU _filepathq7U@Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/config_okq8U_paramsq9U&instid, nom_rep,type_rep, furl, ftitleq:U_dav_writelocksq;(U†,q<(U Persistenceq=UPersistentMappingq>tq?tq@Qu.‚¯½((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TH# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type=="skin": skin=context.zwo_info.skins[nom] lieu=skin else: dossier=mem['rep_obj'] lieu=dossier url_lieu=lieu.absolute_url() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) # REDIRECTION SI IDENTIFIANT MAL CHOISI if idobj in lieu.objectIds(): url='../ajout_element?type='+container.getId() print '' print '

Cet identifiant '+idobj+' est déja pris
' print 'Veuillez en choisir un autre
' print 'Redirection automatique dans 2 secondes.

' print 'Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle' print '' return printed # CREATION INSTANCE MODULE (dossier, image, DTML Document ou Fichier selon Besoin. Folder conseillé en cas de doute) lieu.manage_addFolder(idobj,titre) #lieu.manage_addImage(idobj,data,titre) #lieu.manage_addFile(idobj, file=data, title=titre) #lieu.manage_addDTMLDocument(idobj, titre) obj=lieu[idobj] # AJOUT DES PROPRIETES OBLIGATOIRE DU MODULES obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element',container.getId(),'string') # AJOUT D'AUTRES PROPRIETE en fonction du module obj.manage_addProperty('furl',furl,'string') obj.manage_addProperty('ftitle',ftitle,'string') #obj.manage_addProperty('nom_propriete','valeur default',type) # AJOUT DE SOUS ELEMENTS en fonction du module # (si dossier chois comme type uniquement) #obj.manage_addFolder('truc','bidulle') #obj.truc.manage_addProperty('nom_propriete','valeur default',type) context.REQUEST.RESPONSE.redirect('../../place?nom='+nom+'&obj='+idobj) return q Uidq Unew_okq U_codeqTÑc@s d„ZdS(NcCstƒ}tttdƒdƒƒ} |djo+ttttdƒdƒ|ƒ} | } nt| dƒ} | } t| dƒƒ}t| dƒd jod Sntttdƒd ƒ|ƒ}|t| d ƒƒjoud ttdƒƒ}|d|dIJ|d|dIJ|dIJ|dIJ|d|dIJ|dIJ|ƒSnt| dƒ||ƒt| |ƒ}t|dƒdddƒt|dƒdttdƒƒdƒt|dƒd|dƒt|dƒd|dƒttttdƒd ƒd!ƒd"|d#|ƒdSdS($Nszwo_libs mem_mod_datasskinszwo_infosskinssrep_objs absolute_urlsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s mix_id_zopes objectIdss../ajout_element?type=sgetIds7s.

Cet identifiant s est déja pris
s"Veuillez en choisir un autre
s6Redirection automatique dans 2 secondes.

sGSi la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuellessmanage_addFoldersmanage_addPropertys type_zwookselementsstringsfurlsftitlesREQUESTsRESPONSEsredirects../../place?nom=s&obj=(s_print_s_prints _getattr_scontextsmemstypes _getitem_snomsskinslieusdossiersurl_lieustitresidobjs containersurlsobjsfurlsftitle(stitrestypesnomsfurlsftitles_print_s_prints _getattr_scontextsmems _getitem_sskinslieusdossiersurl_lieusidobjs containersurlsobj((sScript (Python)snew_oks6  !    %((snew_ok(snew_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†)q (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Ugregq']q(UOwnerq)asU _filepathq*U=Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/new_okq+U_paramsq,Utitre, type, nom, furl, ftitleq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Utitreq4Utypeq5Unomq6Ufurlq7Uftitleq8U_print_q9U_printq:U _getattr_q;UcontextqUskinq?Ulieuq@UdossierqAUurl_lieuqBUidobjqCU containerqDUurlqEUobjqFtqGubu.‚³…((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUUdataqU±‰PNG  IHDRb&ÅB PLTEfÌÌ™Ìÿf™Ì3™ÌÈã^RtRNS@æØfbKGDˆH pHYs  šœtIMEÔ ÕïRdIDATxÚc°ÿÿÿÃÿÿÿ? ±õ0•—ý0]©Û(IEND®B`‚qUheightq KUwidthq KU content_typeq U image/pngq U__name__q U icone.pngqU__ac_local_roles__q}qUjamesq]qUOwnerqasUsizeqK±u.‚Ãî((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tprint """ Les formats de textes :
- text : le format texte classique.
- html : permet l'utilisation de html.
- structured text : un format spécial.
doc sur le structured text de nos amis d'objectis

L'option Rapid Edit :
Permet d'éditer le texte rapidement (sans passer par l'édition du contenu).
Visible uniquement par les personnes ayant le droit d'éditer la page.
""" return printed q U _filepathq U;Script (Python):/test_kzexp_zwook_cvs/zwo_modules/text/helpq U_codeqT c@s d„ZdS(NcCstƒ}|dIJ|ƒSdS(Nsè Les formats de textes :
- text : le format texte classique.
- html : permet l'utilisation de html.
- structured text : un format spécial.
doc sur le structured text de nos amis d'objectis

L'option Rapid Edit :
Permet d'éditer le texte rapidement (sans passer par l'édition du contenu).
Visible uniquement par les personnes ayant le droit d'éditer la page.
(s_print_s_print(s_print_s_print((sScript (Python)shelps (shelp(shelp((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU_dav_writelocksq(U†;q (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Ugregq']q(UOwnerq)asUidq*Uhelpq+U_paramsq,UU func_codeq-(cShared.DC.Scripts.Signature FuncCode q.oq/}q0(U co_varnamesq1(U_print_q2U_printq3tq4U co_argcountq5Kubu.‚Ä Ð((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tžmem=context.zwo_lib.mem_data() modname=container.getId() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' if type_rep=="skin": skin=context.zwo_info.skins[nom_rep] obj=skin[nom_ins] else: dossier=mem['rep_obj'] obj=dossier[nom_ins] #t='La dernière modification a été effectuée par '+mem['user_id'] date=DateTime().strftime(" le %d/%m/%y à %H:%M") t='La derniere modification a été effectuée par '+mem['user_id']+date obj.document.manage_edit(data,t) obj.manage_changeProperties(format=format) if obj.hasProperty('rapidedit'): if rapidedit=='non': obj.manage_changeProperties(rapidedit='0') else: obj.manage_changeProperties(rapidedit='1') else: if rapidedit=='non': obj.manage_addProperty('rapidedit','0','string') else: obj.manage_addProperty('rapidedit','1','string') context.REQUEST.RESPONSE.redirect('../../index_html?nom='+nom_rep+'&popup=1') q Uidq U config_okq U_codeqTec@sdd„ZdS(NsnoncCsÙtttdƒdƒƒ}ttdƒƒ} t|dƒdjodSn|djo4ttttdƒd ƒ|ƒ} t| |ƒ} nt|d ƒ}t||ƒ} tt ƒd ƒd ƒ}d t|dƒ|}tt| dƒdƒ||ƒt| dƒd|ƒt| dƒdƒoA|djot| dƒddƒq¨t| dƒddƒnD|djot| dƒdddƒnt| dƒdddƒttttdƒdƒdƒd|dƒdS(Nszwo_libsmem_datasgetIdsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !sskinszwo_infosskinssrep_objsstrftimes le %d/%m/%y à %H:%Ms-La derniere modification a été effectuée par suser_idsdocuments manage_editsmanage_changePropertiessformats hasPropertys rapideditsnons0s1smanage_addPropertysstringsREQUESTsRESPONSEsredirects../../index_html?nom=s&popup=1(s _getattr_scontextsmems containersmodnames _getitem_stype_repsnom_repsskinsnom_inssobjsdossiersDateTimesdatestsdatasformats rapidedit(sformatsdatastype_repsnom_repsnom_inss rapidedits _getattr_scontextsmems containersmodnames _getitem_sskinsobjsdossiersDateTimesdatest((sScript (Python)s config_oks( !(s config_ok(s config_ok((sScript (Python)ssqU func_defaultsq(UnonqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Uformatq'Udataq(Utype_repq)Unom_repq*Unom_insq+U rapideditq,U _getattr_q-Ucontextq.Umemq/U containerq0Umodnameq1U _getitem_q2Uskinq3Uobjq4Udossierq5UDateTimeq6Udateq7Uttq8ubU__ac_local_roles__q9}q:Uxavq;]qU@Script (Python):/test_kzexp_zwook_cvs/zwo_modules/text/config_okq?U_paramsq@U8format, data, type_rep, nom_rep, nom_ins,rapidedit='non'qAU_dav_writelocksqB(U†((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T]mem=context.zwo_lib.mem_data() modname=container.getId() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) if type=="skin": skin=context.zwo_info.skins[nom] skin.manage_addFolder(idobj,titre) obj=skin[idobj] else: dossier=mem['rep_obj'] dossier.manage_addFolder(idobj,titre) obj=dossier[idobj] obj.manage_addDTMLDocument('document','Texte original') obj.document.manage_edit(data,'Texte original') obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element','text','string') obj.manage_addProperty('format',format,'string') if rapidedit=='oui': obj.manage_addProperty('rapidedit','1','string') else: obj.manage_addProperty('rapidedit','0','string') context.REQUEST.RESPONSE.redirect('../../place?nom='+nom+'&obj='+idobj) return q Uidq Unew_okq U_codeqTc@sdd„ZdS(NsnoncCsðtttdƒdƒƒ}ttdƒƒ} t|dƒdjodSntttdƒdƒ|ƒ} |djoJttttd ƒd ƒ|ƒ} t| d ƒ| |ƒt| | ƒ}n5t|d ƒ}t|d ƒ| |ƒt|| ƒ}t|d ƒddƒtt|dƒdƒ|dƒt|dƒdddƒt|dƒdddƒt|dƒd|dƒ|djot|dƒdddƒnt|dƒdddƒttttdƒdƒdƒd|d| ƒdSdS( Nszwo_libsmem_datasgetIdsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s mix_id_zopesskinszwo_infosskinssmanage_addFoldersrep_objsmanage_addDTMLDocumentsdocumentsTexte originals manage_editsmanage_addPropertys type_zwookselementsstringstextsformatsouis rapidedits1s0sREQUESTsRESPONSEsredirects../../place?nom=s&obj=(s _getattr_scontextsmems containersmodnames _getitem_stitresidobjstypesnomsskinsobjsdossiersdatasformats rapidedit(stitresformatsdatastypesnoms rapidedits _getattr_scontextsmems containersmodnames _getitem_sidobjsskinsobjsdossier((sScript (Python)snew_oks* $((snew_ok(snew_ok((sScript (Python)ssqU func_defaultsq(UnonqtqU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathq Utraverse_subpathq!Uname_containerq"U containerq#usbU func_codeq$(cShared.DC.Scripts.Signature FuncCode q%oq&}q'(U co_argcountq(KU co_varnamesq)(Utitreq*Uformatq+Udataq,Utypeq-Unomq.U rapideditq/U _getattr_q0Ucontextq1Umemq2U containerq3Umodnameq4U _getitem_q5Uidobjq6Uskinq7Uobjq8Udossierq9tq:ubU__ac_local_roles__q;}qUOwnerq?asU _filepathq@U=Script (Python):/test_kzexp_zwook_cvs/zwo_modules/text/new_okqAU_paramsqBU/titre, format, data, type, nom, rapidedit='non'qCU_dav_writelocksqD(U†=qE(U PersistenceqFUPersistentMappingqGtqHtqIQu.‚Æ?((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tfrom Products.PythonScripts.standard import html_quote mem=context.zwo_lib.mem_mod_data(mem) if mem['droit_vue_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' doc=instance.document.document_src() lignes=doc.split('\n') message=[] #~ &&&&&&&&&&&&&&&&&&&&&&& texte &&&&&&&&&&&&&&&&&&& if instance.format=='text': a=0 for ligne in lignes: ligne=html_quote(ligne) ligne=string.replace(ligne,'$URL',mem['zwo_url']) if a==0: a=1 message.append(ligne) else: message.append('
\n'+ligne) #~ &&&&&&&&&&&&&&&&&&&&&&& htlm &&&&&&&&&&&&&&&&&&& elif instance.format=='html': for ligne in lignes: ligne=string.replace(ligne,'$URL',mem['zwo_url']) message.append(ligne+'\n') elif instance.format=='stx': from Products.PythonScripts.standard import structured_text message.append(structured_text(string.join(lignes,'\n'))) if instance.hasProperty('rapidedit'): if instance.rapidedit=="1": if mem['droit_edit_dossier']==1: message.append(' [E]') return "".join(message) q Uidq U view_htmlq U_codeqTc@s d„ZdS(NcCs‚dkl}tttdƒdƒ|ƒ}t|dƒdjodSntt|dƒdƒƒ}t|d ƒd ƒ}g} t|d ƒd jo’d } xGt |ƒD]w} || ƒ} tt dƒ| dt|dƒƒ} | d jod} t| dƒ| ƒq¨t| dƒd| ƒq¨Wn¿t|d ƒdjoVx¥t |ƒD]A} tt dƒ| dt|dƒƒ} t| dƒ| d ƒqJWnSt|d ƒdjo<dkl}t| dƒ|tt dƒ|d ƒƒƒnt|dƒdƒopt|dƒdjoVt|dƒdjo<t| dƒdt|dƒdt|dƒƒdƒqgqkntd dƒ| ƒSdS(!N(s html_quoteszwo_libs mem_mod_datasdroit_vue_dossieris.Vous n'avez pas les droits pour cette action !sdocuments document_srcssplits sformatstextisreplaces$URLszwo_urlsappends
shtmlsstx(sstructured_textsjoins hasPropertys rapidedits1sdroit_edit_dossiers [E]s(sProducts.PythonScripts.standards html_quotes _getattr_scontextsmems _getitem_sinstancesdocslignessmessagesas _getiter_slignesstringsstructured_text(smemsinstancesProducts.PythonScripts.standards html_quotes _getattr_scontexts _getitem_sdocslignessmessagesas _getiter_slignesstringsstructured_text((sScript (Python)s view_htmls:   $   '/A(s view_html(s view_html((sScript (Python)ssqU func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextq Ucontextq!usbU func_codeq"(cShared.DC.Scripts.Signature FuncCode q#oq$}q%(U co_argcountq&KU co_varnamesq'(Umemq(Uinstanceq)UProducts.PythonScripts.standardq*U html_quoteq+U _getattr_q,Ucontextq-U _getitem_q.Udocq/Ulignesq0Umessageq1UaU _getiter_q2Uligneq3Ustringq4Ustructured_textq5tq6ubU__ac_local_roles__q7}q8Uxavq9]q:UOwnerq;asU _filepathqU mem,instanceq?U_dav_writelocksq@(U†>qA(U PersistenceqBUPersistentMappingqCtqDtqEQu.‚Çæ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tbmodname=container.getId() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' print '
' print '' #~ ############### options module print '

Identifiant : ' print '

' print '

Format :

' message='' fst=1 doc=instance.document.document_src() message=doc print '

Texte :

' chkd="" if instance.hasProperty('rapidedit'): if instance.rapidedit=="1": chkd=' checked' print ' Afficher le Rapid Edit [E] pour ceux qui ont le droit d\'édition

' print '' print '' print '' print '

' print '
' return printed q U_codeq Tc c@s d„ZdS(Nc>Cs&tƒ}ttdƒƒ}t|dƒdjodSn|dIJ|dIJ|dIJ|dt|dƒƒd IJ|d IJd } t|d ƒd jod} |dIJn |dIJt|d ƒdjo|dIJn |dIJt|d ƒdjo|dIJn |dIJ|dIJd} d} tt|dƒdƒƒ} | } |d| dIJd} t|dƒdƒo$t|dƒdjo d} qžn|d | d!IJ|d"t|d#ƒd$IJ|d%t|dƒƒd$IJ|d&t|dƒƒd$IJ|d'IJ|d(IJ|ƒSdS()NsgetIdsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s8
ss.

Identifiant : s1

s#

Format :

ssdocuments document_srcs;

Texte :

s hasPropertys rapidedits1s checkedsC Afficher le Rapid Edit [E] pour ceux qui ont le droit d'édition

s,s+

s
(s_print_s_prints _getattr_s containersmodnames _getitem_smemsinstanceshelsmessagesfstsdocschkdsrep(smemsrepsinstances_print_s_prints _getattr_s containersmodnames _getitem_shelsmessagesfstsdocschkd((sScript (Python)s config_htmlsF           (s config_html(s config_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†?q(U PersistenceqUPersistentMappingq tq!tq"QU__ac_local_roles__q#}q$Uxavq%]q&UOwnerq'asUidq(U config_htmlq)U_paramsq*Umem, rep, instanceq+U func_codeq,(cShared.DC.Scripts.Signature FuncCode q-oq.}q/(U co_argcountq0KU co_varnamesq1(Umemq2Urepq3Uinstanceq4U_print_q5U_printq6U _getattr_q7U containerq8Umodnameq9U _getitem_q:Uhelq;UmessageqUchkdq?tq@ubu.‚È((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T #choix du nom proposé par defaut modname=container.getId() exemple_titre_base='texte' exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) print '
' print '' #~ ################ autres propriétés ################## print 'Identifiant : ' print 'Format :

' print 'Texte :

' print ' Afficher le Rapid Edit [E] pour ceux qui ont le droit d\'édition

' if dossier.type_zwook=="skin": print '' else: print '' print '' print '' print '
' return printed q U_codeq Tôc@s d„ZdS(Nc 1CsGtƒ}ttdƒƒ}d}|}d} x8|t|dƒƒjo| d} |t | ƒ}q0W|d|dIJ|dIJ|d |d IJ|d IJ|d IJ|d IJ|dIJ|dIJ|dIJ|dIJt|dƒdjo|dIJn |dIJ|dt|dƒƒd IJ|dIJ|dIJ|ƒSdS(NsgetIdstexteis objectIdsis(
ss\Identifiant : s Format :

sHTexte :

s• Afficher le Rapid Edit [E] pour ceux qui ont le droit d'édition

s type_zwooksskins.s1s's
( s_print_s_prints _getattr_s containersmodnamesexemple_titre_bases exemple_titresindicesdossiersstr( smemsdossiers_print_s_prints _getattr_s containersmodnamesexemple_titre_bases exemple_titresindicesstr((sScript (Python)snew_htmls2             (snew_html(snew_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU_dav_writelocksq(U†@q(U PersistenceqUPersistentMappingq tq!tq"QU__ac_local_roles__q#}q$Uxavq%]q&UOwnerq'asUidq(Unew_htmlq)U_paramsq*U mem,dossierq+U func_codeq,(cShared.DC.Scripts.Signature FuncCode q-oq.}q/(U co_argcountq0KU co_varnamesq1(Umemq2Udossierq3U_print_q4U_printq5U _getattr_q6U containerq7Umodnameq8Uexemple_titre_baseq9U exemple_titreq:Uindiceq;Ustrq1: return 'Vous n\'avez pas les droits pour cette action !' if type_rep=="skin": skin=context.zwo_info.skins[nom_rep] obj=skin[nom_ins] else: dossier=mem['rep_obj'] obj=dossier[nom_ins] date=DateTime().strftime(" le %d/%m/%y à %H:%M") t='La derniere modification a été effectuée par '+mem['user_id']+date obj.document.manage_edit(data,t) context.REQUEST.RESPONSE.redirect(mem['rep_url']) q U _filepathq UCScript (Python):/test_kzexp_zwook_cvs/zwo_modules/text/rapidedit_okq U_codeqTŠc@s d„ZdS(NcCstttdƒdƒƒ}t|dƒdjodSn|djo4ttttdƒdƒ|ƒ}t||ƒ} nt|d ƒ} t| |ƒ} tt ƒd ƒd ƒ} d t|d ƒ| } tt| dƒdƒ|| ƒttttdƒdƒdƒt|dƒƒdS(Nszwo_libsmem_datasdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !sskinszwo_infosskinssrep_objsstrftimes le %d/%m/%y à %H:%Ms-La derniere modification a été effectuée par suser_idsdocuments manage_editsREQUESTsRESPONSEsredirectsrep_url(s _getattr_scontextsmems _getitem_stype_repsnom_repsskinsnom_inssobjsdossiersDateTimesdatestsdata(sdatastype_repsnom_repsnom_inss _getattr_scontextsmems _getitem_sskinsobjsdossiersDateTimesdatest((sScript (Python)s rapidedit_oks !"(s rapidedit_ok(s rapidedit_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU_dav_writelocksq(U†Aq (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asUidq*U rapidedit_okq+U_paramsq,U data, type_rep, nom_rep, nom_insq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Udataq4Utype_repq5Unom_repq6Unom_insq7U _getattr_q8Ucontextq9Umemq:U _getitem_q;UskinqUDateTimeq?Udateq@UttqAubu.‚Ê 8((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tdmem=context.zwo_lib.mem_mod_data() lieu=mem['parent'] url_lieu=mem['parent'].absolute_url() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' instance=lieu[idobj] #print '

RapidEdit

' print '
' print '' message=instance.document.document_src() print '

'+instance.document.title+'

' print '

' print '' print '' print '' print '' print '
' return printed q U_codeq TÑc@s d„ZdS(Nc !CsVtƒ}tttdƒdƒƒ}t|dƒ}tt|dƒdƒƒ}t|dƒdjodSnt||ƒ} |dIJ|d IJtt| d ƒd ƒƒ} |d tt| d ƒd ƒdIJ|d| dIJ|dt|dƒdIJ|dt|dƒƒdIJ|dt| dƒƒdIJ|dIJ|dIJ|ƒSdS(Nszwo_libs mem_mod_datasparents absolute_urlsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s;
ssdocuments document_srcs

stitles

s3

s,s+s
( s_print_s_prints _getattr_scontextsmems _getitem_slieusurl_lieusidobjsinstancesmessage( sidobjs_print_s_prints _getattr_scontextsmems _getitem_slieusurl_lieusinstancesmessage((sScript (Python)srapidedit_htmls $  $  (srapidedit_html(srapidedit_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q (U co_argcountq!KU co_varnamesq"(Uidobjq#U_print_q$U_printq%U _getattr_q&Ucontextq'Umemq(U _getitem_q)Ulieuq*Uurl_lieuq+Uinstanceq,Umessageq-tq.ubU__ac_local_roles__q/}q0Uxavq1]q2UOwnerq3asUidq4Urapidedit_htmlq5U_paramsq6Uidobjq7U_dav_writelocksq8(U†Bq9(U Persistenceq:UPersistentMappingq;tq1: return 'Vous n\'avez pas les droits pour cette action !' if instance.hasProperty('url'): url=instance.url else: url="" ##recup des proprietes #largeur if instance.hasProperty('largeur'): largeur=instance.largeur.strip() else: largeur='' #hauteur if instance.hasProperty('hauteur'): hauteur=instance.hauteur.strip() else: hauteur='' #balise_alt if instance.hasProperty('balise_alt'): balise_alt=instance.balise_alt.strip() else: balise_alt='' #balise_title if instance.hasProperty('balise_title'): balise_title=instance.balise_title.strip() else: balise_title='' #border if instance.hasProperty('border'): border=instance.border.strip() else: border='' #lien if instance.hasProperty('url'): lien=instance.url.strip() else: lien='' #target if instance.hasProperty('target'): target=instance.target.strip() if target=='_self': check_self='checked' check_blank='' else: check_self='' check_blank='checked' else: check_self='checked' check_blank='' res=[] res.extend([ '''
Image :
Nom :
Largeur * : ( Largeur réelle de l'image : ''',str(instance.width),''' pixels )
Hauteur * : ( Hauteur réelle de l'image : ''',str(instance.height),''' pixels )
Balise alt * :
Balise title * :
Bordure * :
Lien * :
Dans la même fenêtre Dans une autre fenêtre

* optionnel

''']) return ''.join(res) q U _filepathq U>Script (Python):/dev_a_la_maison/zwo_modules/image/config_htmlq U_codeqTþc@s d„ZdS(Nc;Csèt|dƒdjodSnt|dƒdƒot|dƒ}nd}t|dƒdƒott|dƒdƒƒ}nd}t|dƒd ƒott|d ƒdƒƒ}nd}t|dƒd ƒott|d ƒdƒƒ}nd}t|dƒd ƒott|d ƒdƒƒ} nd} t|dƒd ƒott|d ƒdƒƒ} nd} t|dƒdƒott|dƒdƒƒ} nd} t|dƒd ƒoHtt|d ƒdƒƒ} | djod} d}qd} d}n d} d}g}t|dƒdt|dƒd|dtt|dƒƒd|dtt|dƒƒd|d| d| d| d| d|dt|d ƒd!t|d"ƒƒd#t|d"ƒƒd$gƒtdd%ƒ|ƒSdS(&Nsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s hasPropertysurlsslargeursstripshauteurs balise_alts balise_titlesborderstargets_selfscheckedsextendsA
Image :
Nom :
Largeur * : ( Largeur réelle de l'image : swidths pixels )
Hauteur * : ( Hauteur réelle de l'image : sheights pixels )
Balise alt * :
Balise title * :
Bordure * :
Lien * :
Dans la même fenêtre Dans une autre fenêtre

* optionnel

sjoin(s _getitem_smems _getattr_sinstancesurlslargeurshauteurs balise_alts balise_titlesborderslienstargets check_selfs check_blanksressstrsrep(smemsrepsinstances _getitem_s _getattr_surlslargeurshauteurs balise_alts balise_titlesborderslienstargets check_selfs check_blanksressstr((sScript (Python)szwo_config_htmls`                   (szwo_config_html(szwo_config_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†Cq (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asUidq*U config_htmlq+U_paramsq,Umem,rep,instanceq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Umemq4Urepq5Uinstanceq6U _getitem_q7U _getattr_q8Uurlq9Ulargeurq:Uhauteurq;U balise_altqUlienq?Utargetq@U check_selfqAU check_blankqBUresqCUstrqDtqEubu.‚Ðì((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TJmem=context.zwo_lib.mem_data() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' if not data: return 'Pas de fichier indiqué !' if len(data.read())<=0: return 'Pas de fichier indiqué !' if titre=='': return 'Pas d\'identifiant indiqué !' if type=="skin": lieu=context.zwo_info.skins[nom] else: lieu=mem['rep_obj'] if titre in lieu.objectIds(): return 'Identifiant déjà utilisé ici !' titre_data='' if hasattr(data,'filename'): filename=data.filename titre_data=filename[max(string.rfind(filename, '/'), string.rfind(filename, '\\'), string.rfind(filename, ':'), )+1:] id_data=context.zwo_lib.mix_id_zope(titre_data) idobj=context.zwo_lib.mix_id_zope(titre) if idobj=='': idobj=id_data if type=="skin": skin=context.zwo_info.skins[nom] skin.manage_addImage(idobj,data,titre) obj=skin[idobj] else: dossier=mem['rep_obj'] dossier.manage_addImage(idobj,data,titre) obj=dossier[idobj] obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element','image','string') obj.manage_addProperty('largeur',largeur.strip(),'string') obj.manage_addProperty('hauteur',hauteur.strip(),'string') obj.manage_addProperty('balise_alt',balise_alt.strip(),'string') obj.manage_addProperty('balise_title',balise_title.strip(),'string') obj.manage_addProperty('border',border.strip(),'string') if not lien[:7].lower()=='http://' and not lien[:4].lower=='$url' : lien='http://'+lien obj.manage_addProperty('url',lien.strip(),'string') obj.manage_addProperty('target',target.strip(),'string') context.REQUEST.RESPONSE.redirect('../../place?obj='+idobj) return q U _filepathq U:Script (Python):/kzexp_zwook/zwo_modules/kzexpimage/new_okq U_codeqTo c@s d„ZdS(Nc *Cstttdƒdƒƒ} t| dƒdjodSn| odSntt|dƒƒƒdjodSn|d jod Sn| d jo%ttttd ƒd ƒ| ƒ}nt| dƒ}|t|dƒƒjodSnd }t |dƒont|dƒ}t|t ttdƒ|dƒttdƒ|dƒttdƒ|dƒƒdd…ƒ}ntttdƒdƒ|ƒ}tttdƒdƒ|ƒ}|d jo |}n| d joMttttd ƒd ƒ| ƒ}t|dƒ|||ƒt||ƒ}n8t| dƒ}t|dƒ|||ƒt||ƒ}t|dƒdddƒt|dƒdddƒt|dƒdt|dƒƒdƒt|dƒdt|dƒƒdƒt|dƒd t|dƒƒdƒt|dƒd!t|dƒƒdƒt|dƒd"t|dƒƒdƒtt|dd#…ƒd$ƒƒd%j o#tt|dd&…ƒd$ƒd'j od%|}nt|dƒd(t|dƒƒdƒt|dƒd)t|dƒƒdƒttttd*ƒd+ƒd,ƒd-|ƒdSdS(.Nszwo_libsmem_datasdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s9Pas de fichier indiqué !sreadiss<Pas d'identifiant indiqué !sskinszwo_infosskinssrep_objs objectIdssMIdentifiant déjà utilisé ici !sfilenamesrfinds/s\s:s mix_id_zopesmanage_addImagesmanage_addPropertys type_zwookselementsstringsimageslargeursstripshauteurs balise_alts balise_titlesborderislowershttp://is$urlsurlstargetsREQUESTsRESPONSEsredirects../../place?obj=(s _getattr_scontextsmems _getitem_sdataslenstitrestypesnomslieus titre_datashasattrsfilenamesmaxsstringsid_datasidobjsskinsobjsdossierslargeurshauteurs balise_alts balise_titlesborderslienstarget(sdatastitreslargeurshauteurs balise_alts balise_titlesborderslienstargetstypesnoms _getattr_scontextsmems _getitem_slenslieus titre_datashasattrsfilenamesmaxsstringsid_datasidobjsskinsobjsdossier((sScript (Python)snew_oksV  %!)   $%%%%(I%+ (snew_ok(snew_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU_dav_writelocksq(U†Gq (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asUidq*Unew_okq+U_paramsq,UXdata, titre, largeur, hauteur, balise_alt, balise_title, border, lien, target, type, nomq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2K U co_varnamesq3(Udataq4Utitreq5Ulargeurq6Uhauteurq7U balise_altq8U balise_titleq9Uborderq:Ulienq;UtargetqU _getattr_q?Ucontextq@UmemqAU _getitem_qBUlenqCUlieuqDU titre_dataqEUhasattrqFUfilenameqGUmaxqHUstringqIUid_dataqJUidobjqKUskinqLUobjqMUdossierqNtqOubu.‚Ís((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' #calcul du lieu de positionnement if dossier.type_zwook=="skin": type='' else: type='' #choix du nom proposé par defaut exemple_titre_base='image' exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) #formulaire res=[] res.extend([ '''
Image :
Identifiant :
Largeur * :
Hauteur * :
Balise alt * :
Balise title * :
Bordure * :
Lien * :
Dans la même fenêtre Dans une autre fenêtre

* optionnel

''', type,'''
''']) return ''.join(res) q Uidq Unew_htmlq U_codeqTd c@s d„ZdS(Nc Csât|dƒdjodSnt|dƒdjo d}nd}d}|}d }x8|t|d ƒƒjo|d}|t|ƒ}qYWg} t| d ƒd |d |dt|dƒƒdgƒtddƒ| ƒSdS(Nsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s type_zwooksskins.s1simageis objectIdssextendsF
Image :
Identifiant :
Largeur * :
Hauteur * :
Balise alt * :
Balise title * :
Bordure * :
Lien * :
Dans la même fenêtre Dans une autre fenêtre

* optionnel

s)
ssjoin( s _getitem_smems _getattr_sdossierstypesexemple_titre_bases exemple_titresindicesstrsres( smemsdossiers _getitem_s _getattr_stypesexemple_titre_bases exemple_titresindicesstrsres((sScript (Python)s zwo_new_htmls"    K (s zwo_new_html(s zwo_new_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Umemq%Udossierq&U _getitem_q'U _getattr_q(Utypeq)Uexemple_titre_baseq*U exemple_titreq+Uindiceq,Ustrq-Uresq.tq/ubU__ac_local_roles__q0}q1Uxavq2]q3UOwnerq4asU _filepathq5U;Script (Python):/dev_a_la_maison/zwo_modules/image/new_htmlq6U_paramsq7U mem,dossierq8U_dav_writelocksq9(U†Dq:(U Persistenceq;UPersistentMappingqQu.‚΄((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tmem=context.zwo_lib.mem_mod_data() if mem['droit_vue_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' ##recup des proprietes #largeur if instance.hasProperty('largeur') and (not instance.largeur=='') : largeur=str(instance.largeur) else: largeur=str(instance.width) #hauteur if instance.hasProperty('hauteur') and (not instance.hauteur=='') : hauteur=str(instance.hauteur) else: hauteur=str(instance.height) #balise_alt balise_alt='' if instance.hasProperty('balise_alt'): balise_alt=instance.balise_alt.strip() #balise_title balise_title='' if instance.hasProperty('balise_title'): balise_title=instance.balise_title.strip() #border border='0' if instance.hasProperty('border') and (not instance.border=='') : border=str(instance.border) #lien lien='' if instance.hasProperty('lien'): lien=instance.lien if instance.hasProperty('url'): lien=instance.url if lien[:4].lower()=='$url': lien=mem['zwo_url']+lien[4:] #target target='_self' if instance.hasProperty('target'): target=instance.target base='%s' if not lien=='': base='%s' % (lien,target,base) return base % (instance.absolute_url() , largeur, hauteur, balise_alt, balise_title, border) q Uidq U view_htmlq U_codeqTc@s d„ZdS(Nc1CsÛtttdƒdƒƒ}t|dƒdjodSnt|dƒdƒot|dƒdj ott|dƒƒ}ntt|d ƒƒ}t|dƒd ƒot|d ƒdj ott|d ƒƒ}ntt|d ƒƒ}d}t|dƒd ƒott|d ƒd ƒƒ}nd} t|dƒdƒott|dƒd ƒƒ} nd} t|dƒdƒot|dƒdj ott|dƒƒ} nd} t|dƒdƒot|dƒ} nt|dƒdƒot|dƒ} ntt| dd…ƒdƒƒdjo&t|dƒt| dd…ƒ} nd} t|dƒdƒot|dƒ} nd} | dj od| | | f} n| t|dƒƒ|||| | fSdS(Nszwo_libs mem_mod_datasdroit_vue_dossieris.Vous n'avez pas les droits pour cette action !s hasPropertyslargeursswidthshauteursheights balise_altsstrips balise_titles0sbordersliensurlislowers$urlszwo_urls_selfstargetsG%ss %ss absolute_url(s _getattr_scontextsmems _getitem_sinstancesstrslargeurshauteurs balise_alts balise_titlesborderslienstargetsbase(smemsinstances _getattr_scontexts _getitem_sstrslargeurshauteurs balise_alts balise_titlesborderslienstargetsbase((sScript (Python)s zwo_view_htmls> **   * (& (s zwo_view_html(s zwo_view_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU_dav_writelocksq(U†Eq (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Uxavq']q(UOwnerq)asU _filepathq*U' print '' print '' print '' print '' print '' print '' #print 'Texte :


' chkd="" if instance.hasProperty('rapidedit'): if instance.rapidedit=="1": chkd=' checked' print ' Afficher le Rapid Edit [E] pour ceux qui ont le droit d\'éditions
' print '' print '' print '' print '' print '' print '' return printed q U_codeq T&c@s d„ZdS(NcUCsætƒ}ttdƒƒ}t|dƒdjodSn|d|dIJ|dIJt|dƒd ƒd jot|d ƒ} nd } |d | d IJ|dIJt|dƒƒ} tt|dƒdƒƒ} | } ddfddfddfddff} |dIJx>t | ƒD]0}t| dƒt|d ƒt|dƒƒ} qWd„}|| dddt|dƒƒddƒ} ttt|d ƒd!ƒd"ƒ}|d#IJ|d$tt|d%ƒdƒƒd&IJ|d$tt|d'ƒdƒƒd&IJ|d$tt|d(ƒdƒƒd&IJ|d$tt|d)ƒdƒƒd&IJ|d$tt|d*ƒdƒƒd&IJ|d+IJ|d,IJt|dƒƒd-}|d.| d/t|dƒƒd0|d1d2d3tt|d4ƒdƒƒd5IJ|d6IJ|d7IJ|d8| d9IJd:}t|dƒd;ƒo$t|d;ƒd<jo d=}qTn|d>|d?IJ|d@t|dAƒd IJ|dBt|dƒƒd IJ|dCt|dƒƒd IJ|dDIJ|dEIJ|dFIJ|ƒSdS(GNsgetIdsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s(
ss hasPropertys utilisateuriszwookutilisateurs`remplacer : sz( le mot 'zwookutilisateur' sera remplacé par le nom de l' utilisateur. )

sdocuments document_srcs\s\\s s\ns s\rs's\'s Texte :
sreplacecCs4ttdƒ||ƒ}t|dƒ} t|ƒdjoòxïtt t|ƒdƒƒD]Í} | d}ttdƒt||ƒ|ƒd jottdƒt||ƒ|dƒ}ttdƒt|dƒdƒ}| |tt|t|ƒdƒƒ|t|dƒ} qW| t||ƒ} qWWn| SdS(Nssplitiisfinds/(s _getattr_sstringschainesinitsas _getitem_sresultslens _getiter_srangesisjsclossbsfileapstxtavsstrstxtap(schainesinitsclosstxtavstxtaps _getattr_sstringsas _getitem_sresultslens _getiter_srangesisjsbsfileapsstr((sScript (Python)sdoublereplaceeffaces )$!<ssrc="s"s absolute_urls/image/szwo_objszwo_libsepozsjs:s epoz_lang_frsepoz_script_widgetsepoz_script_detectsepoz_script_mains5s`ss rapidedits1s checkedsC Afficher le Rapid Edit [E] pour ceux qui ont le droit d'éditions
s,s(s
(s_print_s_prints _getattr_s containersmodnames _getitem_smemsinstances utilisatrices idinstancesdocsmessagesquotess _getiter_sitemsdoublereplaceeffacesepozs toolboxpathschkdsrep(smemsrepsinstances_print_s_prints _getattr_s containersmodnames _getitem_s utilisatrices idinstancesdocsmessagesquotess _getiter_sitemsdoublereplaceeffacesepozs toolboxpathschkd((sScript (Python)s config_htmlsZ  *  . ,! '''''  S      (s config_html(s config_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q (U co_argcountq!KU co_varnamesq"(Umemq#Urepq$Uinstanceq%U_print_q&U_printq'U _getattr_q(U containerq)Umodnameq*U _getitem_q+U utilisatriceq,U idinstanceq-Udocq.Umessageq/Uquotesq0U _getiter_q1Uitemq2Udoublereplaceeffaceq3Uepozq4U toolboxpathq5Uchkdq6tq7ubU__ac_local_roles__q8}q9Uxavq:]q;UOwnerqU_paramsq?Umem, rep, instanceq@U_dav_writelocksqA(U†UqB(U PersistenceqCUPersistentMappingqDtqEtqFQu.‚â((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tv #choix du nom proposé par default modname=container.getId() utilisatrice='zwookutilisateur' exemple_titre_base='texte_epoz' exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) print '
' print '' print 'Identifiant : ' print '( Mettre un identifiant, sert à retrouver vos éléments.)

' print 'remplacer : ' print '( le mot \'zwookutilisateur\' sera remplacé par le nom de l\' utilisateur. )

' """ quotes = (("\\","\\\\"), ("\n","\\n"), ("\r","\\r"), ("'","\\'")) for item in quotes: message = message.replace(item[0], item[1]) """ message='' epoz=mem['zwo_obj'].zwo_info.modules.epoz print '' print '' print '' print '' print '' print '' print '' print '' #print '

' print ' Afficher le Rapid Edit [E] pour ceux qui ont le droit d\'éditions
' if dossier.type_zwook=="skin": print '' else: print '' print '' print '' print '' print '
' return printed q U_codeq Týc@s d„ZdS(NcOCsòtƒ}ttdƒƒ}d}d}|} d} x8| t|dƒƒjo| d} |t | ƒ} q6W|d|dIJ|d IJ|d | d IJ|d IJ|d |d IJ|dIJdd} tttt |dƒdƒdƒdƒ}|dIJ|dtt|dƒdƒƒdIJ|dtt|dƒdƒƒdIJ|dtt|dƒdƒƒdIJ|dtt|dƒdƒƒdIJ|dtt|dƒdƒƒdIJ|dIJ|dIJd }d!kl}d"||ƒ}|d#| d$t|dƒƒd%|d&d'd(tt |d)ƒdƒƒd*IJ|d+IJ|d,IJ|d-| d.IJ|d/IJt|d0ƒd1jo|d2IJn |d3IJ|d4IJ|d5t|dƒƒd IJ|d6IJ|d7IJ|ƒSdS(8NsgetIdszwookutilisateurs texte_epozis objectIdsis(
ss\Identifiant : si( Mettre un identifiant, sert à retrouver vos éléments.)

s`remplacer : ( le mot 'zwookutilisateur' sera remplacé par le nom de l' utilisateur. )


s€ quotes = (("\","\\"), (" ","\n"), (" ","\r"), ("'","\'")) for item in quotes: message = message.replace(item[0], item[1]) sszwo_objszwo_infosmodulessepozsgs:s epoz_lang_frsepoz_script_widgetsepoz_script_detectsepoz_script_mains5s`s’ Afficher le Rapid Edit [E] pour ceux qui ont le droit d'éditions
s type_zwooksskins.s1s0s's
(s_print_s_prints _getattr_s containersmodnames utilisatricesexemple_titre_bases exemple_titresindicesdossiersstrsmessages _getitem_smemsepozspmessagesProducts.PythonScripts.standards url_quotes toolboxpath(smemsdossiers_print_s_prints _getattr_s containersmodnames utilisatricesexemple_titre_bases exemple_titresindicesstrsmessages _getitem_sepozspmessagesProducts.PythonScripts.standards url_quotes toolboxpath((sScript (Python)snew_htmlsT     * '''''   S       (snew_html(snew_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU_dav_writelocksq(U†Vq(U PersistenceqUPersistentMappingq tq!tq"QU__ac_local_roles__q#}q$Uxavq%]q&UOwnerq'asUidq(Unew_htmlq)U_paramsq*U mem,dossierq+U func_codeq,(cShared.DC.Scripts.Signature FuncCode q-oq.}q/(U co_argcountq0KU co_varnamesq1(Umemq2Udossierq3U_print_q4U_printq5U _getattr_q6U containerq7Umodnameq8U utilisatriceq9Uexemple_titre_baseq:U exemple_titreq;UindiceqU _getitem_q?Uepozq@UpmessageqAUProducts.PythonScripts.standardqBU url_quoteqCU toolboxpathqDtqEubu.‚ãf((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qU _proxy_rolesq(UManagerqtq Uwarningsq )U Script_magicq KU_bodyq TOmem=context.zwo_lib.mem_data() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' if type_rep=="skin": skin=context.zwo_info.skins[nom_rep] obj=skin[nom_ins] else: dossier=mem['rep_obj'] obj=dossier[nom_ins] idinstance=obj.getId() def doublereplaceefface(chaine,init,clos,txtav,txtap): a=string.split(chaine,init) result=a[0] if len(a)>1: for i in range(len(a)-1): j=i+1 if string.find(a[j],clos)<>-1: b=string.split(a[j],clos,1) fileap=string.split(b[0],'/') result=result+txtav+str(fileap[len(fileap)-1])+txtap+b[1] else: result=result+a[j] return result data=doublereplaceefface(data,'src="','"','src="'+idinstance+'/image/','"') obj.document.manage_edit(data,obj.document.title) context.REQUEST.RESPONSE.redirect(mem['rep_url']) q U_codeqT¼c@s d„ZdS(Nc Cs6tttdƒdƒƒ}t|dƒdjodSn|djo4ttttdƒdƒ|ƒ}t||ƒ} nt|d ƒ} t| |ƒ} t| d ƒƒ} d „} | |d d d | dd ƒ}tt| dƒdƒ|tt| dƒdƒƒttttdƒdƒdƒt|dƒƒdS(Nszwo_libsmem_datasdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !sskinszwo_infosskinssrep_objsgetIdcCs4ttdƒ||ƒ}t|dƒ} t|ƒdjoòxïtt t|ƒdƒƒD]Í} | d}ttdƒt||ƒ|ƒd jottdƒt||ƒ|dƒ}ttdƒt|dƒdƒ}| |tt|t|ƒdƒƒ|t|dƒ} qW| t||ƒ} qWWn| SdS(Nssplitiisfinds/(s _getattr_sstringschainesinitsas _getitem_sresultslens _getiter_srangesisjsclossbsfileapstxtavsstrstxtap(schainesinitsclosstxtavstxtaps _getattr_sstringsas _getitem_sresultslens _getiter_srangesisjsbsfileapsstr((sScript (Python)sdoublereplaceefface s )$!<ssrc="s"s/image/sdocuments manage_editstitlesREQUESTsRESPONSEsredirectsrep_url( s _getattr_scontextsmems _getitem_stype_repsnom_repsskinsnom_inssobjsdossiers idinstancesdoublereplaceeffacesdata( sdatastype_repsnom_repsnom_inss _getattr_scontextsmems _getitem_sskinsobjsdossiers idinstancesdoublereplaceefface((sScript (Python)s rapidedit_oks ! &4(s rapidedit_ok(s rapidedit_ok((sScript (Python)ssqU func_defaultsqNUerrorsq)U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU_dav_writelocksq (U†Wq!(U Persistenceq"UPersistentMappingq#tq$tq%QU__ac_local_roles__q&}q'Uxavq(]q)UOwnerq*asUidq+U rapidedit_okq,U_paramsq-U data, type_rep, nom_rep, nom_insq.U func_codeq/(cShared.DC.Scripts.Signature FuncCode q0oq1}q2(U co_argcountq3KU co_varnamesq4(Udataq5Utype_repq6Unom_repq7Unom_insq8U _getattr_q9Ucontextq:Umemq;U _getitem_qUdossierq?U idinstanceq@UdoublereplaceeffaceqAtqBubu.‚äâ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T9 mem=context.zwo_lib.mem_mod_data() lieu=mem['parent'] #return lieu.absolute_url() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' print context.zwo_lib.standard_html_header(mem) instance=lieu[idobj] print '
' print '' doc=instance.document.document_src() message=doc #message=string.replace(message,'<','<') #message=string.replace(message,'>','>') quotes = (("\\","\\\\"), ("\n","\\n"), ("\r","\\r"), ("'","\\'")) for item in quotes: message = message.replace(item[0], item[1]) def doublereplaceefface(chaine,init,clos,txtav,txtap): a=string.split(chaine,init) result=a[0] if len(a)>1: for i in range(len(a)-1): j=i+1 if string.find(a[j],clos)<>-1: b=string.split(a[j],clos,1) fileap=string.split(b[0],'/') result=result+txtav+str(fileap[len(fileap)-1])+txtap+b[1] else: result=result+a[j] return result message=doublereplaceefface(message,'src="','"','src="'+instance.absolute_url()+'/image/','"') epoz=mem['zwo_obj'].zwo_lib.epoz print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '
' print context.zwo_lib.standard_html_footer(mem) return printed q U_codeq T^c@s d„ZdS(NcLCs\tƒ}tttdƒdƒƒ}t|dƒ}t|dƒdjodSn|tttdƒdƒ|ƒIJt||ƒ}|dIJ|d IJtt|d ƒd ƒƒ} | } d d fddfddfddff} x>t | ƒD]0} t| dƒt| dƒt| dƒƒ} qîWd„}|| dddt|dƒƒddƒ} ttt|dƒdƒdƒ}|dIJ|dtt|dƒdƒƒd IJ|dtt|d!ƒdƒƒd IJ|dtt|d"ƒdƒƒd IJ|dtt|d#ƒdƒƒd IJ|dtt|d$ƒdƒƒd IJ|d%IJ|d&IJt|d'ƒd(|}|d)| d*t|dƒƒd+|d,IJ|d-IJ|d.IJ|d/| d0IJ|d1t|d2ƒd3IJ|d4t|d5ƒƒd3IJ|d6t|d5ƒƒd3IJ|d7IJ|d8IJ|tttdƒd9ƒ|ƒIJ|ƒSdS(:Nszwo_libs mem_mod_datasparentsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !sstandard_html_headers@
ssdocuments document_srcs\s\\s s\ns s\rs's\'sreplaceicCs4ttdƒ||ƒ}t|dƒ} t|ƒdjoòxïtt t|ƒdƒƒD]Í} | d}ttdƒt||ƒ|ƒd jottdƒt||ƒ|dƒ}ttdƒt|dƒdƒ}| |tt|t|ƒdƒƒ|t|dƒ} qW| t||ƒ} qWWn| SdS(Nssplitiisfinds/(s _getattr_sstringschainesinitsas _getitem_sresultslens _getiter_srangesisjsclossbsfileapstxtavsstrstxtap(schainesinitsclosstxtavstxtaps _getattr_sstringsas _getitem_sresultslens _getiter_srangesisjsbsfileapsstr((sScript (Python)sdoublereplaceeffaces )$!<ssrc="s"s absolute_urls/image/szwo_objsepozsls:s epoz_lang_frsepoz_script_widgetsepoz_script_detectsepoz_script_mains5s`s,s+s
sstandard_html_footer(s_print_s_prints _getattr_scontextsmems _getitem_slieusidobjsinstancesdocsmessagesquotess _getiter_sitemsdoublereplaceeffacesepozs toolboxpath(sidobjs_print_s_prints _getattr_scontextsmems _getitem_slieusinstancesdocsmessagesquotess _getiter_sitemsdoublereplaceeffacesepozs toolboxpath((sScript (Python)srapidedit_htmlsH$"  * . ,! '''''  .    "(srapidedit_html(srapidedit_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q (U co_argcountq!KU co_varnamesq"(Uidobjq#U_print_q$U_printq%U _getattr_q&Ucontextq'Umemq(U _getitem_q)Ulieuq*Uinstanceq+Udocq,Umessageq-Uquotesq.U _getiter_q/Uitemq0Udoublereplaceeffaceq1Uepozq2U toolboxpathq3tq4ubU__ac_local_roles__q5}q6Uxavq7]q8UOwnerq9asUidq:Urapidedit_htmlq;U_paramsq(U†Xq?(U Persistenceq@UPersistentMappingqAtqBtqCQu.‚å((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tp mem=context.zwo_lib.mem_data() skinounon= string.find(container.REQUEST.URL,'/zwo_info/skins/') if skinounon>0: nomskin=container.REQUEST.URL[skinounon+16:] idobj=nomskin nomskin=nomskin[:string.find(nomskin,'/')] idobj=idobj[len(nomskin)+1:] idobj=idobj[:string.find(idobj,'/')] skin=context.zwo_info.skins repskin=skin[nomskin] print repskin.absolute_url() #return printed if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' print ' Epoz-Toolbox' if message!= 'nul': print '

'+message+'

' if message!='Veuillez d\'abord créer l\'instance avant de pouvoir ajouter des images': print '

Pour ajouter une image

' print '
' print '' print '' print '' print '' print '' if idobj=='nul': print'' idobj=mem['obj_obj'].getId() else: print'' print '' print'' print '
' print 'Identification:
titre:
Recherche fichier
' #print '
' if skinounon>0: lieu=repskin [idobj] else: lieu=mem['rep_obj'][idobj] dos=lieu.image.objectValues(['Image']) if len(dos)>0: print'

Liste des images du dossier

' print '' for object in dos: objectid=object.getId() print '' print '' print '
' print objectid+'
' print str(object.width)+' x '+str(object.height)+' pixels' print '
' print ''+object.title+' [ Effacer ]' print '

' return printed q Utitleq U PythonScript1q U_codeqT‚ c@sddd„ZdS(NsnulceCstƒ}tttdƒdƒƒ}ttdƒtttdƒdƒdƒ} | djoßttttdƒdƒ| dd…ƒ} | }t| dttdƒ| d ƒ…ƒ} t|t | ƒd d…ƒ}t|dttdƒ|d ƒ…ƒ}tttd ƒd ƒ} t| | ƒ}|t|d ƒƒIJnt|dƒd jodSn|dIJ|djo|d|dIJn|djos|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|dIJ|djoF|dtt|dƒdƒƒd IJtt|dƒdƒƒ}n|d|d IJ|d!IJ|d"IJ|d#IJ| djot||ƒ}ntt|d$ƒ|ƒ}tt|d%ƒd&ƒd'gƒ}t |ƒdjo0|d(IJ|d)IJx t|ƒD]ý}t|dƒƒ}|d*IJ||d+IJ|tt|d,ƒƒd-tt|d.ƒƒd/IJ|d0IJ|d1t|d ƒƒd2IJ|d3IJ|d4t|d5ƒd2IJ|d6IJ|d7t|d ƒƒd8|d9|d:IJ|d;IJ|d<IJqòW|d=IJqn|ƒSdS(>Nszwo_libsmem_datasfindsREQUESTsURLs/zwo_info/skins/iis/iszwo_infosskinss absolute_urlsdroit_edit_dossiers.Vous n'avez pas les droits pour cette action !sL Epoz-Toolboxsnuls

s

sEVeuillez d'abord créer l'instance avant de pouvoir ajouter des imagess"

Pour ajouter une image

sZ
sss s?sLs)sSss
s=Identification:
titre:
Recherche fichier
srep_objsimages objectValuessImages&

Liste des images du dossier

s2s%s;s
s
swidths x sheights pixelss&
s s���titles���   style= [ Effacer ]s

(s_print_s_prints _getattr_scontextsmemsstrings containers skinounons _getitem_snomskinsidobjslensskinsrepskinsmessageslieusdoss _getiter_sobjectsobjectidsstr(smessagesidobjs_print_s_prints _getattr_scontextsmemsstrings containers skinounons _getitem_snomskinslensskinsrepskinslieusdoss _getiter_sobjectsobjectidsstr((sScript (Python)stoolboxsl$* +''            '    !    4   . (stoolbox(stoolbox((sScript (Python)ssqU func_defaultsq(UnulqhtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umessageq'Uidobjq(U_print_q)U_printq*U _getattr_q+Ucontextq,Umemq-Ustringq.U containerq/U skinounonq0U _getitem_q1Unomskinq2Ulenq3Uskinq4Urepskinq5Ulieuq6Udosq7U _getiter_q8Uobjectq9Uobjectidq:Ustrq;tqUadminq?]q@UOwnerqAasUidqBUtoolboxqCU_paramsqDUmessage='nul',idobj='nul',qEU_dav_writelocksqF(U†YqG(U PersistenceqHUPersistentMappingqItqJtqKQu.‚æ l((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq(U5expected an indented block (Script (Python), line 50)qtq Uwarningsq )U Script_magicq KU_bodyq T¥mem=context.zwo_lib.mem_mod_data(mem) if mem['droit_vue_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idinstance=instance.getId() if mem['droit_vue_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' try: doc=instance.document.document_src() except: doc='nouvelle version' lignes=doc.split('\n') message='' def doublereplace(chaine,init,clos,txtav,txtap): a=string.split(chaine,init) result=a[0] if len(a)>1: for i in range(len(a)-1): j=i+1 if string.find(a[j],clos)<>-1: b=string.split(a[j],clos,1) result=result+txtav+b[0]+txtap+b[1] else: result=result+a[j] return result def doublereplaceefface(chaine,init,clos,txtav,txtap): a=string.split(chaine,init) result=a[0] if len(a)>1: for i in range(len(a)-1): j=i+1 if string.find(a[j],clos)<>-1: b=string.split(a[j],clos,1) fileap=string.split(b[0],'/') result=result+txtav+str(fileap[len(fileap)-1])+txtap+b[1] else: result=result+a[j] return result if instance.hasProperty('utilisateur'): utilisateur=instance.utilisateur else: utilisateur='' #~ &&&&&&&&&&&&&&&&&&&&&&& texte &&&&&&&&&&&&&&&&&&& #~ &&&&&&&&&&&&&&&&&&&&&&& htlm &&&&&&&&&&&&&&&&&&& for ligne in lignes: ligne=string.replace(ligne,'$URL',mem['zwo_url']) ligne=doublereplaceefface(ligne,'img src="','"','img src="'+idinstance+'/image/','"') if utilisateur != '': ligne=string.replace(ligne,utilisateur,mem['user_id']) message=message+ligne+'\n' #~ &&&&&&&&&&&&&&&&&&&&&&& non formaté &&&&&&&&&&&&&&&&&&& lieu=mem['parent'] url_lieu=lieu.absolute_url() iu=instance.absolute_url() p=string.rfind(iu,'/') iur=iu[:p] if instance.hasProperty('rapidedit'): if instance.rapidedit=="1": if mem['droit_edit_dossier']==1: message=message+' [E]' return message q U_codeqNU func_defaultsq)U _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU_dav_writelocksq(U†Zq(U Persistenceq UPersistentMappingq!tq"tq#QU__ac_local_roles__q$}q%Uxavq&]q'UOwnerq(asUidq)U ttesview_htmlq*U_paramsq+U mem,instanceq,U func_codeq-(cShared.DC.Scripts.Signature FuncCode q.oq/}q0(U co_argcountq1KU co_varnamesq2)ubu.‚ç›((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUU__ac_local_roles__q}qUgregq ]q UOwnerq asUheightq KUwidthq KU content_typeqU image/pngqU__name__qU icone.pngqUdataqUȉPNG  IHDRíf0âPLTEÊéô™ÌÌåÿÿÿïøûÿÿÿÊìBñ pHYs  šœtIMEÔ2ÔPIIDATxÚ=ÊÁ À A§ƒ,(œ]I”þ{ƒ”ýŒu²½d1<+>ZZAÛÞ!«¨(÷Æ8;ŽUË•£mþsú½6÷^ 2› bãIEND®B`‚qUsizeqKÈu.ƒr!¥((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TÔ #~ change this value for the number of caracter of FAQ mesage that is displayed in de feed maxchar=128 mem=context.zwo_lib.mem_data() modid=container.getId() instid=context.REQUEST.URL3 instid=instid.split('/') instid=instid[len(instid)-1] msg=mem['zwo_obj'].zwo_info.modules.faqs_history.log.document_src() msg=msg.split('\n') url=context.REQUEST.URL0 #return url inSkin=None if url.find('zwo_info/skins')<>-1: inSkin=1 if inSkin: l=url.split('/') l.reverse() #return str(l) nom=l[4] lieu=mem['zwo_obj'].zwo_info.skins[nom] u=lieu.absolute_url() else: lieu=mem['rep_obj'] instance=lieu[instid] nb_msg=instance.nb_msg #~ retrieve data obli=[] parli=[] i=0 for m in msg: if m<>'': mes=string.replace(m,'$URL/','') ad=string.split(mes,'/') ob=mem['zwo_obj'] ok=1 for adr in ad: if adr<>'': par=ob if adr in ob.objectIds(): ob=ob[adr] else: ok=0 if ok==1 and par not in parli: if int(nb_msg)>i: obli.append(ob) parli.append(par) i=i+1 """o='' for ob in obli: print ob.title return printed""" head='\n' head=head+'\n' head=head+'\n' head=head+' fr\n' head=head+' '+instance.title+'\n' head=head+' '+mem['rep_url']+'\n' head=head+' ' foot='' #~ ######### encode the news ######### items=[] print head chandat=[] print '' print ' ' for o in obli: try: o.getId() ist=1 except: ist=None if ist: thread=parli[obli.index(o)] nurl=thread.absolute_url()+'/../zwo_modules/faq/view_thread?thread='+thread.getId() nbrep=str(thread.nb_response) nbview=str(thread.nb_view) contenu=o.contenu if contenu[:maxchar]<>contenu: contenu=contenu[:maxchar]+' (..)' datelastrep=thread.date_last_response.aCommon() authorlastrep=thread.author_last_response item=(nurl,thread.title,contenu,nbrep,nbview,datelastrep,authorlastrep) print ' ' chandat.append(item) print ' ' print '' print '' for item in chandat: nurl,titre,contenu,nbrep,nbview,datelastrep,authorlastrep=item print '' print ' '+authorlastrep+'' print ' '+datelastrep+'' des='('+nbrep+') réponses / Dernière réponse par '+authorlastrep+' le '+datelastrep+' - Vu '+nbview+' fois' print ' '+des+' // '+contenu+'' print ' '+titre+'' print ' '+nurl+'' #print '' #print content #print '' print '' print foot return printed q Uidq U rss10.xmlq U_Cacheable__manager_idqNU_codeqTc@s d„ZdS(Nc39Cs`tƒ}d}tttdƒdƒƒ}ttdƒƒ}tttdƒdƒ}t|dƒdƒ}t |t |ƒd ƒ}tttttt |d ƒd ƒd ƒd ƒdƒdƒƒ} t| dƒdƒ} tttdƒdƒ} t }t| dƒdƒd jo d }n|ott| dƒdƒ}t|dƒƒt |dƒ}t ttt |d ƒd ƒdƒ|ƒ}t|dƒƒ}nt |dƒ}t ||ƒ}t|dƒ}g}g}d}x2t| ƒD]$}|djottdƒ|ddƒ}ttdƒ|dƒ}t |d ƒ}d }x]t|ƒD]O}|djo<|} |t|dƒƒjot ||ƒ}q™d}qJqJW|d jo | |joKt!|ƒ|jo4t|dƒ|ƒt|dƒ| ƒ|d }qqqâqâWd d!}"|"d"}"|"d#}"|"d$}"|"d%}"|"d&}"|"d't |d(ƒd)}"|"d*}"|"d+t|d,ƒd-}"|"d.t |d(ƒd/}"|"d0}"d1}#g}$||"IJg}%|d2IJ|d3IJxrt|ƒD]d}&yt|&dƒƒd }'Wn t }'nX|'o-t |t|d4ƒ|&ƒƒ}(t|(dƒƒd5t|(dƒƒ})t*t|(d6ƒƒ}+t*t|(d7ƒƒ},t|&d8ƒ}-t |-d|…ƒ|-jot |-d|…ƒd9}-ntt|(d:ƒd;ƒƒ}.t|(d<ƒ}/|)t|(d,ƒ|-|+|,|.|/f}0|d=|)d>IJt|%dƒ|0ƒqèqèW|d?IJ|d@IJ|dAIJxÚt|%ƒD]Ì}0|0tƒ\})}1}-}+},}.}/|dB|)dCIJ|dD|/dEIJ|dF|.dGIJdH|+dI|/dJ|.dK|,dL}2|dM|2dN|-dOIJ|d+|1dPIJ|d.|)dQIJ|dRIJq{W||#IJ|ƒSdS(SNi€szwo_libsmem_datasgetIdsREQUESTsURL3ssplits/iszwo_objszwo_infosmoduless faqs_historyslogs document_srcs sURL0sfindszwo_info/skinssreverseisskinss absolute_urlsrep_objsnb_msgissreplaces$URL/s objectIdssappends4o='' for ob in obli: print ob.title return printeds- s s s fr s s���titles ��� s s s s ss sindexs'/../zwo_modules/faq/view_thread?thread=s nb_responsesnb_viewscontenus (..)sdate_last_responsesaCommonsauthor_last_responses s ss ss s s s s(s") réponses / Dernière réponse par s le s - Vu s foiss s // ssss(3s_print_s_printsmaxchars _getattr_scontextsmems containersmodidsinstids _getitem_slensmsgsurlsNonesinSkinslsnomslieususinstancesnb_msgsoblisparlisis _getiter_smsstringsmessadsobsoksadrsparsintsheadsfootsitemsschandatsosiststhreadsnurlsstrsnbrepsnbviewscontenus datelastreps authorlastrepsitemstitresdes(3s_print_s_printsmaxchars _getattr_scontextsmems containersmodidsinstids _getitem_slensmsgsurlsNonesinSkinslsnomslieususinstancesnb_msgsoblisparlisis _getiter_smsstringsmessadsobsoksadrsparsintsheadsfootsitemsschandatsosiststhreadsnurlsstrsnbrepsnbviewscontenus datelastreps authorlastrepsitemstitresdes((sScript (Python)s rss10.xmlsÀ ?  *                  &$    "& (s rss10.xml(s rss10.xml((sScript (Python)ssqU func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathq U name_m_selfq!Uscriptq"usbU_dav_writelocksq#(U†´q$(U Persistenceq%UPersistentMappingq&tq'tq(QU__ac_local_roles__q)}q*Uxavq+]q,UOwnerq-asU _filepathq.U:Script (Python):/zwook2/zwo_modules/faqs_history/rss10.xmlq/U_paramsq0UU func_codeq1(cShared.DC.Scripts.Signature FuncCode q2oq3}q4(U co_argcountq5KU co_varnamesq6(U_print_q7U_printq8Umaxcharq9U _getattr_q:Ucontextq;UmemqUinstidq?U _getitem_q@UlenqAUmsgqBUurlqCUNoneqDUinSkinqEUlUnomqFUlieuqGUuUinstanceqHUnb_msgqIUobliqJUparliqKUiU _getiter_qLUmUstringqMUmesqNUadqOUobqPUokqQUadrqRUparqSUintqTUheadqUUfootqVUitemsqWUchandatqXUoUistqYUthreadqZUnurlq[Ustrq\Unbrepq]Unbviewq^Ucontenuq_U datelastrepq`U authorlastrepqaUitemqbUtitreqcUdesqdtqeubu.ƒsð((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_data() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' if type=="skin": lieu=context.zwo_info.skins[nom] url_lieu=mem['zwo_url']+'/zwo_config/skin/etape3' else: lieu=mem['rep_obj'] url_lieu=mem['rep_url']+'/zwo_admin' obj=lieu[idobj] # EXEMPLE MODIFICATION obj.manage_changeProperties(nb_msg=int(nb_msg)) # REDIRECTION PAGE ADMIN GENERALE PAGE OU SKIN. context.REQUEST.RESPONSE.redirect('../../index_html?nom='+nom) q U_codeq T"c@s d„ZdS(Nc Csøtttdƒdƒƒ}t|dƒdjodSn|djo8ttttdƒdƒ|ƒ}t|d ƒd } n#t|d ƒ}t|d ƒd } t||ƒ} t| dƒdt |ƒƒttttdƒdƒdƒd|ƒdS(Nszwo_libsmem_datasdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !sskinszwo_infosskinsszwo_urls/zwo_config/skin/etape3srep_objsrep_urls /zwo_adminsmanage_changePropertiessnb_msgsREQUESTsRESPONSEsredirects../../index_html?nom=( s _getattr_scontextsmems _getitem_stypesnomslieusurl_lieusidobjsobjsintsnb_msg( stypesnomsidobjsnb_msgs _getattr_scontextsmems _getitem_slieusurl_lieusobjsint((sScript (Python)s config_oks !"(s config_ok(s config_ok((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU__ac_local_roles__q}qUxavq]q UOwnerq!asUidq"U config_okq#U_paramsq$Utype, nom, idobj, nb_msgq%U func_codeq&(cShared.DC.Scripts.Signature FuncCode q'oq(}q)(U co_argcountq*KU co_varnamesq+(Utypeq,Unomq-Uidobjq.Unb_msgq/U _getattr_q0Ucontextq1Umemq2U _getitem_q3Ulieuq4Uurl_lieuq5Uobjq6Uintq7tq8ubu.ƒtÌ((U OFS.FolderqUFolderqtqNt.}q(Udossier_rouge.gifq(U†µq(U OFS.ImageqUImageqtq tq QU dossier.gifq (U†¶q (hUImageq tqtqQUtitleqUUrss.jpegq(U†¸q(hUImageqtqtqQUdossier_vert.gifq(U†·q(hUImageqtqtqQU_objectsq(}q(U meta_typeqUImageqUidqhu}q (hhhhu}q!(U meta_typeq"UImageq#Uidq$h u}q%(U meta_typeq&UImageq'Uidq(Urss.jpegq)utq*U__ac_local_roles__q+}q,Ujamesq-]q.UOwnerq/ashUimagesq0u.ƒuó((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T©# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_data() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) if type=="skin": lieu=context.zwo_info.skins[nom] url_lieu=mem['zwo_url']+'/zwo_config/skin/etape3' txtplus='&nom='+nom # Verification des droits else: lieu=mem['rep_obj'] url_lieu=mem['rep_url']+'/zwo_admin' txtplus='' # REDIRECTION SI IDENTIFIANT MAL CHOISI if idobj in lieu.objectIds(): url='../ajout_element?type='+container.getId()+txtplus print '' print '

Cet identifiant '+idobj+' est déja pris
' print 'Veuillez en choisir un autre
' print 'Redirection automatique dans 2 secondes.

' print 'Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle' print '' return printed # CREATION INSTANCE MODULE (dossier, image, DTML Document ou Fichier selon Besoin. Folder conseillé en cas de doute) lieu.manage_addFolder(idobj,titre) #lieu.manage_addImage(idobj,data,titre) #lieu.manage_addFile(idobj, file=data, title=titre) #lieu.manage_addDTMLDocument(idobj, titre) obj=lieu[idobj] # AJOUT DES PROPRIÉTÉS OBLIGATOIRES DU MODULE obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element',container.getId(),'string') # AJOUT D'AUTRES PROPRIÉTÉS obj.manage_addProperty('nb_msg',int(nb_msg),'int') #~ ######################## if not 'faqs_history' in mem['zwo_obj'].zwo_info.modules.objectIds(): mem['zwo_obj'].zwo_info.modules.manage_addFolder('faqs_history','') mem['zwo_obj'].zwo_info.modules.faqs_history.manage_addDTMLDocument('log','FAQs posts log file') mem['zwo_obj'].zwo_info.modules.faqs_history.log.manage_edit('','FAQs posts log file') # AJOUT DE SOUS ELEMENTS (si dossier choisi comme type uniquement) # exemple #obj.manage_addFolder('truc','bidulle') #obj.truc.manage_addProperty('nom_propriete','valeur default',type) context.REQUEST.RESPONSE.redirect('../../place?nom='+nom+'&obj='+idobj) return q Uidq Unew_okq U_codeqT… c@sdd„ZdS(Nsoffc Cs tƒ}tttdƒdƒƒ} t| dƒdjodSntttdƒdƒ|ƒ} |djoBttttdƒd ƒ|ƒ} t| d ƒd } d |}n)t| d ƒ} t| dƒd} d}| t| dƒƒjoydtt dƒƒ|}|d|dIJ|d| dIJ|dIJ|dIJ|d|dIJ|dIJ|ƒSnt| dƒ| |ƒt| | ƒ}t|dƒdd d!ƒt|dƒd tt dƒƒd!ƒt|dƒd"t|ƒd#ƒd$tttt| d%ƒdƒd&ƒdƒƒj o²tttt| d%ƒdƒd&ƒdƒd$dƒttttt| d%ƒdƒd&ƒd$ƒd'ƒd(d)ƒtttttt| d%ƒdƒd&ƒd$ƒd(ƒd*ƒdd)ƒnttttd+ƒd,ƒd-ƒd.|d/| ƒdSdS(0Nszwo_libsmem_datasdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s mix_id_zopesskinszwo_infosskinsszwo_urls/zwo_config/skin/etape3s&nom=srep_objsrep_urls /zwo_adminss objectIdss../ajout_element?type=sgetIds7s.

Cet identifiant s est déja pris
s"Veuillez en choisir un autre
s6Redirection automatique dans 2 secondes.

sGSi la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuellessmanage_addFoldersmanage_addPropertys type_zwookselementsstringsnb_msgsints faqs_historyszwo_objsmodulessmanage_addDTMLDocumentslogsFAQs posts log files manage_editsREQUESTsRESPONSEsredirects../../place?nom=s&obj=(s_print_s_prints _getattr_scontextsmems _getitem_stitresidobjstypesnomslieusurl_lieustxtpluss containersurlsobjsintsnb_msg(stypesnomstitresnb_msgsaff_only_threadss_print_s_prints _getattr_scontextsmems _getitem_sidobjslieusurl_lieustxtpluss containersurlsobjsint((sScript (Python)snew_oks>  !   %A4=>((snew_ok(snew_ok((sScript (Python)ssqU func_defaultsq(UoffqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Utypeq'Unomq(Utitreq)Unb_msgq*Uaff_only_threadsq+U_print_q,U_printq-U _getattr_q.Ucontextq/Umemq0U _getitem_q1Uidobjq2Ulieuq3Uurl_lieuq4Utxtplusq5U containerq6Uurlq7Uobjq8Uintq9tq:ubU__ac_local_roles__q;}qUOwnerq?asU _filepathq@U7Script (Python):/zwook2/zwo_modules/faqs_history/new_okqAU_paramsqBU0type, nom, titre, nb_msg, aff_only_threads='off'qCU_dav_writelocksqD(U†¹qE(U PersistenceqFUPersistentMappingqGtqHtqIQu.ƒv>((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tá #~ options: fontsize='90%' """url=instance.absolute_url() inSkin=None if url.find('zwo_info/skins')<>-1: inSkin=1 if inSkin: l=url.split('/') l.reverse() nom=l[1] lieu=mem['zwo_obj'].zwo_info.skins[nom] #return lieu.absolute_url() else: lieu=mem['rep_obj']""" #recuperation parametres nb_msg=instance.nb_msg modname=container.getId() iconpath=mem['racine_url']+'/zwo_modules/'+modname+'/images' msg=mem['zwo_obj'].zwo_info.modules.faqs_history.log.document_src() msg=msg.split('\n') instid=instance.getId() modid=container.getId() #affichage du module : aff_list = [] appnd = aff_list.append appnd('') appnd('') #appnd('') appnd('') #appnd('') appnd('') #appnd('') #appnd('') appnd('') #~ messages #~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! obli = [] parli = [] i = 0 for m in msg: if m<>'': mes=string.replace(m,'$URL/','') ad=string.split(mes,'/') ob=mem['zwo_obj'] ok=1 for adr in ad: if adr<>'': par=ob if adr in ob.objectIds(): ob=ob[adr] else: ok=0 if ok==1 and par not in parli: if int(nb_msg)>i: obli.append(ob) parli.append(par) i=i+1 pp=mem['user_id'] i=0 for o in obli: thread=parli[i] icosrc='/dossier.gif' if thread.visit.hasProperty(pp): if thread.date_last_response') #appnd('') #appnd('') #appnd('') #appnd('') #appnd('') appnd('') i=i+1 appnd('
 ') nlien=instance.absolute_url()+'/zwo_modules/'+modid+'/rss10.xml' appnd('Rss') appnd(' FAQ Sujet') appnd('') #appnd('R') #appnd('') #appnd('V') #appnd('
') appnd(''+o.title+''+str(thread.nb_response)+''+o.author+''+str(o.nb_view)+''+str(thread.date_last_response.aCommon())+' par '+o.author_last_response+''+'Stats'+'
') aff = '\n'.join(aff_list) return aff q Uidq U view_htmlq U_codeqT; c@s d„ZdS(Nc!CsÚd}dt|dƒ}ttdƒƒ}t|dƒd|d}tttttt|dƒd ƒd ƒd ƒd ƒd ƒƒ} t| dƒdƒ} t|dƒƒ} ttdƒƒ} g} t| dƒ} | dƒ| dƒ| dƒ| dƒt|dƒƒd| d}| d|d| dƒ| dƒ| dƒ| dƒg}g}d}x2t| ƒD]$}|djottdƒ|d dƒ}ttdƒ|d!ƒ}t|dƒ}d"}x]t|ƒD]O}|djo<|}|t|d#ƒƒjot||ƒ}q'd}qØqØW|d"jo ||joKt|ƒ|jo4t|dƒ|ƒt|dƒ|ƒ|d"}qq”qpqpWt|d$ƒ}d}xt|ƒD]õ}t||ƒ}d%}tt|d&ƒd'ƒ|ƒoLt|d(ƒttt|d&ƒd)ƒ|ƒƒd"jo d%}qFd*}nd+}| d,ƒ| dt|dƒƒd-t|dƒƒd.|d/t|d0ƒd1ƒ| dƒ|d"}qºW| d2ƒtdd3ƒ| ƒ} | SdS(4Ns90%sþurl=instance.absolute_url() inSkin=None if url.find('zwo_info/skins')<>-1: inSkin=1 if inSkin: l=url.split('/') l.reverse() nom=l[1] lieu=mem['zwo_obj'].zwo_info.skins[nom] #return lieu.absolute_url() else: lieu=mem['rep_obj']snb_msgsgetIds racine_urls /zwo_modules/s/imagesszwo_objszwo_infosmoduless faqs_historyslogs document_srcssplits sappends2s#ss/sissreplaces$URL/s/is objectIdssuser_ids /dossier.gifsvisits hasPropertysdate_last_responses getPropertys/dossier_vert.gifs/dossier_rouge.gifs&s
s absolute_urls /rss10.xmls Rsss FAQ Sujets
s'/../zwo_modules/faq/view_thread?thread=s" style="font-size:s">stitles
sjoin(!sfontsizes _getattr_sinstancesnb_msgs containersmodnames _getitem_smemsiconpathsmsgsinstidsmodidsaff_listsappndsnliensoblisparlisis _getiter_smsstringsmessadsobsoksadrsparsintsppsosthreadsicosrcsaff(!smemsinstancesfontsizes _getattr_snb_msgs containersmodnames _getitem_siconpathsmsgsinstidsmodidsaff_listsappndsnliensoblisparlisis _getiter_smsstringsmessadsobsoksadrsparsintsppsosthreadsicosrcsaff((sScript (Python)s view_htmlsx ?             8   K  (s view_html(s view_html((sScript (Python)ssqU func_defaultsqNU _proxy_rolesq(UManagerqUOwnerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathq Uname_containerq!U containerq"usbU func_codeq#(cShared.DC.Scripts.Signature FuncCode q$oq%}q&(U co_argcountq'KU co_varnamesq((Umemq)Uinstanceq*Ufontsizeq+U _getattr_q,Unb_msgq-U containerq.Umodnameq/U _getitem_q0Uiconpathq1Umsgq2Uinstidq3Umodidq4Uaff_listq5Uappndq6Unlienq7Uobliq8Uparliq9UiU _getiter_q:UmUstringq;UmesqUokq?Uadrq@UparqAUintqBUppqCUoUthreadqDUicosrcqEUaffqFtqGubU__ac_local_roles__qH}qIUxavqJ]qKUOwnerqLasU _filepathqMU:Script (Python):/zwook2/zwo_modules/faqs_history/view_htmlqNU_paramsqOU mem,instanceqPU_dav_writelocksqQ(U†ºqR(U PersistenceqSUPersistentMappingqTtqUtqVQu.ƒw 7((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tù# RECUPERATION DU TYPE DE MODULE CONCERNE :# typemod=container.getId() # EXEMPLE DE FORMULAIRE DE MODIFICATION # Formulaire Standart print '
' print 'Identifiant : '+instance.title+'

' print '' print '' print '' # Personalisation Formulaire print 'Nombre de messages affichés :

' # Fin Formulaire print '' print '


' # EXEMPLE DE LIENS VERS UN SCRIPT INTERMEDIAIRE script_i """ url_loc="zwo_modules/"+typemod+'/' url_params='type='+rep.type_zwook+'&nom='+rep.getId()+'idobj='+instance.getId() print 'Script de configuration autre ... CLIQUER ICI' """ return printed q U_codeq TKc@s d„ZdS(Nc Csãtƒ}ttdƒƒ}|d|dIJ|dt|dƒdIJ|dt|dƒd IJ|d t|dƒƒd IJ|d t|dƒƒd IJ|d tt|d ƒƒdIJ|dIJ|dIJd|ƒSdS(NsgetIds(
sIdentifiant : stitles

s(s'

s(s


sÛ url_loc="zwo_modules/"+typemod+'/' url_params='type='+rep.type_zwook+'&nom='+rep.getId()+'idobj='+instance.getId() print 'Script de configuration autre ... CLIQUER ICI' (s_print_s_prints _getattr_s containerstypemodsinstancesrepsstr( smemsrepsinstances_print_s_prints _getattr_s containerstypemodsstr((sScript (Python)s config_htmls !  (s config_html(s config_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q (U co_argcountq!KU co_varnamesq"(Umemq#Urepq$Uinstanceq%U_print_q&U_printq'U _getattr_q(U containerq)Utypemodq*Ustrq+tq,ubU__ac_local_roles__q-}q.Uxavq/]q0UOwnerq1asUidq2U config_htmlq3U_paramsq4Umem, rep, instanceq5U_dav_writelocksq6(U†»q7(U Persistenceq8UPersistentMappingq9tq:tq;Qu.ƒxª((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TŽ# RECUPERATION DU TYPE DE MODULE CONCERNE :# typemod=container.getId() namemod=container.title_or_id() ############################################ if namemod in mem['rep_obj'].objectIds(): namemod=namemod+'1' # PROPOSITION DE NOM POUR LE MODULE :####### exemple_titre_base=namemod exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) ############################################ # SI dernière page de formulaire de module # # Début Formulaire Nouvel instance ####### print '
' print '' print '

Identifiant :

' if dossier.type_zwook=="skin": print '' else: print '' print '' ############################################ # Formulaire Spécial pour ce module ####### print '

Nombre de messages affichés :

' ############################################ # Fin Formulaire Nouvel instance ######### print '' print '
' ############################################ return printed q U_codeq Tòc@s d„ZdS(Nc "CsMtƒ}ttdƒƒ}ttdƒƒ}|tt|dƒdƒƒjo|d}n|} | } d} x8| t|dƒƒjo| d} | t | ƒ} qrW|d|d IJ|d IJ|d | d IJt|d ƒdjo|dIJn |dIJ|dt|dƒƒdIJ|dIJ|dIJ|dIJ|ƒSdS(NsgetIds title_or_idsrep_objs objectIdss1iis(
ssB

Identifiant :

s type_zwooksskins.s1s'sZ

Nombre de messages affichés :

s0s
( s_print_s_prints _getattr_s containerstypemodsnamemods _getitem_smemsexemple_titre_bases exemple_titresindicesdossiersstr( smemsdossiers_print_s_prints _getattr_s containerstypemodsnamemods _getitem_sexemple_titre_bases exemple_titresindicesstr((sScript (Python)snew_htmls* 0      (snew_html(snew_html((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode qoq}q (U co_argcountq!KU co_varnamesq"(Umemq#Udossierq$U_print_q%U_printq&U _getattr_q'U containerq(Utypemodq)Unamemodq*U _getitem_q+Uexemple_titre_baseq,U exemple_titreq-Uindiceq.Ustrq/tq0ubU__ac_local_roles__q1}q2Uxavq3]q4UOwnerq5asUidq6Unew_htmlq7U_paramsq8U mem,dossierq9U_dav_writelocksq:(U†¼q;(U Persistenceqtq?Qu.ƒy™((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqU icone.pngqUdataqUȉPNG  IHDR*º† pHYs  šœtIMEÔ  3I¥±KgIDATxÚcüÿÿÿ›üB@db ~u"K Œ7ù=L̓›Å„Õ ¬‚Œ¯óº1íÂj<¦yhl‚*Å´ÍÉ„f#²và÷v¥x‚™p¸Â Vïcu ~KQ€ÇhÞöa/˜çmÝ/IEND®B`‚q Uheightq KUwidthq KU content_typeq U image/pngq U__name__qhU__ac_local_roles__q}qUp4q]qUOwnerqasUsizeqKÈu.‚è ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tk# RECUPERATION DU TYPE DE MODULE CONCERNE :# typemod=container.getId() sens='horizontal' if instance.hasProperty('sens'): sens=instance.sens # EXEMPLE FORMULAIRE EDITION print '
' print '' print 'Affichage :
' if sens=='vertical': c1=' checked' c2='' else: c2=' checked' c1='' print ' Horizontal
' print ' Vertical

' # Fin Formulaire print '' print '' print '' print '' print '


' # EXEMPLE DE LIENS VERS UN SCRIPT INTERMDAIRE script_i #url_loc="zwo_modules/"+typemod+'/' #print 'Script de configuration autre ... CLIQUER ICI' return printed q U_codeq T•c@s d„ZdS(Nc %CsGtƒ}ttdƒƒ}d}t|dƒdƒot|dƒ}n|d|dIJ|dt|dƒƒdIJ|d IJ|d jod } d } n d } d } |d | dIJ|d| dIJ|dIJ|dt|dƒƒdIJ|dt|dƒdIJ|dt|dƒƒdIJ|dIJ|ƒSdS(NsgetIds horizontals hasPropertyssenss(
s)sAffichage :
sverticals checkedss3 Horizontal
s0 Vertical

s(s*Uc2q?tq@ubu.‚ê e((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T¾#choix du nom proposé par default name=container.getId() exemple_titre_base='folderbar' exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) print '' print '' print 'Identifiant :

' print 'Affichage :
' print ' Horizontal
' print ' Vertical

' if dossier.type_zwook=="skin": print '' else: print '' print '' print '' print '
' return printed q U_codeq TÅc@s d„ZdS(Nc %Cstƒ}ttdƒƒ}d}|}d} x8|t|dƒƒjo| d} |t | ƒ}q0W|d|dIJ|dIJ|d |d IJ|d IJ|d IJ|d IJt|dƒdjo|dIJn |dIJ|dt|dƒƒdIJ|dIJ|dIJ|ƒSdS(NsgetIds folderbaris objectIdsis(
ss?Identifiant :

sAffichage :
sM Horizontal
sF Vertical

s type_zwooksskins.s1s's0s
( s_print_s_prints _getattr_s containersnamesexemple_titre_bases exemple_titresindicesdossiersstr( smemsdossiers_print_s_prints _getattr_s containersnamesexemple_titre_bases exemple_titresindicesstr((sScript (Python)snew_htmls*         (snew_html(snew_html((sScript (Python)ssq U func_defaultsqNU _proxy_rolesq(UManagerqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_m_selfqUscriptqU name_subpathqUtraverse_subpathqU name_contextqUcontextqusbU__ac_local_roles__q }q!Uxavq"]q#UOwnerq$asUidq%Unew_htmlq&U_paramsq'U mem,dossierq(U func_codeq)(cShared.DC.Scripts.Signature FuncCode q*oq+}q,(U co_argcountq-KU co_varnamesq.(Umemq/Udossierq0U_print_q1U_printq2U _getattr_q3U containerq4Unameq5Uexemple_titre_baseq6U exemple_titreq7Uindiceq8Ustrq9tq:ubu.‚ë ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tïmem=context.zwo_lib.mem_mod_data(mem) name=container.getId() iconpath=container.absolute_url()+'/images' #~ ####### basic security check ######### if mem['droit_vue_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' lis=mem['rep_obj'].objectValues('Folder') #~ sens sens='horizontal' if instance.hasProperty('sens'): sens=instance.sens esp='  ' if sens=='vertical': esp='
' aff='' #~ ####### print html ######### for dos in lis: if dos.hasProperty('type_zwook') and dos.type_zwook=='dossier' : name_m=dos.title_or_id() url=dos.absolute_url() aff=aff+' '+name_m+'' aff=aff+esp print aff return printed q U_codeq T¨c@s d„ZdS(NcCs‰tƒ}tttdƒdƒ|ƒ}ttdƒƒ}ttdƒƒd}t|dƒdjodSntt|d ƒd ƒd ƒ} d } t|d ƒdƒot|dƒ} nd} | djo d} nd} x”t| ƒD]†}t|d ƒdƒot|dƒdjoTt|dƒƒ}t|dƒƒ}| d|d|d|d} | | } qêqêW|| IJ|ƒSdS(Nszwo_libs mem_mod_datasgetIds absolute_urls/imagessdroit_vue_dossieris.Vous n'avez pas les droits pour cette action !srep_objs objectValuessFolders horizontals hasPropertyssenss  sverticals
ss type_zwooksdossiers title_or_ids  s(s_print_s_prints _getattr_scontextsmems containersnamesiconpaths _getitem_slisssenssinstancesespsaffs _getiter_sdossname_msurl(smemsinstances_print_s_prints _getattr_scontexts containersnamesiconpaths _getitem_slisssenssespsaffs _getiter_sdossname_msurl((sScript (Python)s view_htmls*'    )" (s view_html(s view_html((sScript (Python)ssq U func_defaultsqNU _proxy_rolesq(UManagerqU config_zwookqtqU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerq usbU func_codeq!(cShared.DC.Scripts.Signature FuncCode q"oq#}q$(U co_argcountq%KU co_varnamesq&(Umemq'Uinstanceq(U_print_q)U_printq*U _getattr_q+Ucontextq,U containerq-Unameq.Uiconpathq/U _getitem_q0Ulisq1Usensq2Uespq3Uaffq4U _getiter_q5Udosq6Uname_mq7Uurlq8tq9ubU__ac_local_roles__q:}q;Uxavq<]q=UOwnerq>asUidq?U view_htmlq@U_paramsqAU mem,instanceqBU_dav_writelocksqC(U†]qD(U PersistenceqEUPersistentMappingqFtqGtqHQu.‚ìÊ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TØ# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type_rep=="skin": try: skin=context.zwo_info.skins[nom_rep] except: return 'nooo' obj=skin[instid] else: dossier=mem['rep_obj'] obj=dossier[instid] if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' # MODIFICATION obj.manage_changeProperties(sens=sens) # REDIRECTION PAGE ADMIN GENERALE PAGE OU SKIN. context.REQUEST.RESPONSE.redirect('../../') q U_codeq TÔc@s d„ZdS(Nc Csétttdƒdƒƒ}|djoFy%ttttdƒdƒ|ƒ} Wn dSnXt| |ƒ} nt|dƒ} t| |ƒ} t|dƒd jod Snt| d ƒd |ƒttttd ƒdƒdƒdƒdS(Nszwo_libs mem_mod_datasskinszwo_infosskinssnooosrep_objsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !smanage_changePropertiesssenssREQUESTsRESPONSEsredirects../../( s _getattr_scontextsmemstype_reps _getitem_snom_repsskinsinstidsobjsdossierssens( sinstidsnom_repstype_repsidobjssenss _getattr_scontextsmems _getitem_sskinsobjsdossier((sScript (Python)s config_oks ( (s config_ok(s config_ok((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†^q(U PersistenceqUPersistentMappingq tq!tq"QU__ac_local_roles__q#}q$Uxavq%]q&UOwnerq'asUidq(U config_okq)U_paramsq*U"instid,nom_rep,type_rep,idobj,sensq+U func_codeq,(cShared.DC.Scripts.Signature FuncCode q-oq.}q/(U co_argcountq0KU co_varnamesq1(Uinstidq2Unom_repq3Utype_repq4Uidobjq5Usensq6U _getattr_q7Ucontextq8Umemq9U _getitem_q:Uskinq;Uobjqubu.‚íÝ((U OFS.FolderqUFolderqtqNt.}q(U_objectsq(}q(U meta_typeqUImageqUidq U dossier.gifq utq h (U†_q (U OFS.Imageq UImageqtqtqQU__ac_local_roles__q}qUgregq]qUOwnerqasUidqUimagesqUtitleqUu.‚é e((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tlmem=context.zwo_lib.mem_data() name=container.getId() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) if type=="skin": skin=context.zwo_info.skins[nom] skin.manage_addFolder(idobj,titre) obj=skin[idobj] else: dossier=mem['rep_obj'] dossier.manage_addFolder(idobj,titre) obj=dossier[idobj] obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element',name,'string') obj.manage_addProperty('sens',sens,'string') context.REQUEST.RESPONSE.redirect('../../place?nom='+nom+'&obj='+idobj) return q U_codeq Tßc@s d„ZdS(NcCsxtttdƒdƒƒ}ttdƒƒ}t|dƒdjodSntttdƒdƒ|ƒ} |djoJttttd ƒd ƒ|ƒ} t| d ƒ| |ƒt| | ƒ} n5t|d ƒ} t| d ƒ| |ƒt| | ƒ} t| d ƒdddƒt| d ƒd|dƒt| d ƒd|dƒttttdƒdƒdƒd|d| ƒdSdS(Nszwo_libsmem_datasgetIdsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s mix_id_zopesskinszwo_infosskinssmanage_addFoldersrep_objsmanage_addPropertys type_zwookselementsstringssenssREQUESTsRESPONSEsredirects../../place?nom=s&obj=(s _getattr_scontextsmems containersnames _getitem_stitresidobjstypesnomsskinsobjsdossierssens(stitrestypesnomssenss _getattr_scontextsmems containersnames _getitem_sidobjsskinsobjsdossier((sScript (Python)snew_oks  $((snew_ok(snew_ok((sScript (Python)ssq U func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU_dav_writelocksq(U†\q(U PersistenceqUPersistentMappingq tq!tq"QU__ac_local_roles__q#}q$Uxavq%]q&UOwnerq'asUidq(Unew_okq)U_paramsq*Utitre, type, nom,sensq+U func_codeq,(cShared.DC.Scripts.Signature FuncCode q-oq.}q/(U co_argcountq0KU co_varnamesq1(Utitreq2Utypeq3Unomq4Usensq5U _getattr_q6Ucontextq7Umemq8U containerq9Unameq:U _getitem_q;UidobjqUdossierq?tq@ubu.‚î}((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqU icone.pngqUdataqU¬‰PNG  IHDR*º† pHYs  šœtIMEÔ NÆ®ÚKIDATxÚcüÿÿ_ôBB hi<3ßmE"Àñu™ :0ÍÀTÍ‚&w ¦œæbL&¢ .ÇaŠ0öF- ÒÔáÄ'€4ô7cCIEND®B`‚q Uheightq KUwidthq KU content_typeq U image/pngq U__name__qhU__ac_local_roles__q}qUp4q]qUOwnerqasUsizeqK¬u.‚ï²((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T¸ # RECUPERATION DU TYPE DE MODULE CONCERNE :# typemod=container.getId() # EXEMPLE FORMULAIRE EDITION print '
' # Personalisation Formulaire #print '

Propriété :

' print '''

Paramétrage du module MailGroup

Ce module sert à envoyer un Email à un groupe d'utilisateurs donné.

Groupes des destinataires du mail:(1) ''' print ' '%instance.groupe print '''
Désignation du groupe: ''' print ' '%instance.designation print '''

 

(1) Noms de groupes séparés par des virgules : exemple : Anonymous,Authenticated...

Liste des groupes:

''' #Fin MailGroup for gr in mem['zwo_obj'].zwo_info.groups.objectIds('Folder'): print '
  • '+gr+'
  • ' print '' # Fin Formulaire print '' print '' print '' print '' print '
    ' # EXEMPLE DE LIENS VERS UN SCRIPT INTERMDAIRE script_i #url_loc="zwo_modules/"+typemod+'/' #print 'Script de configuration autre ... CLIQUER ICI' return printed q U _filepathq U7Script (Python):/phil/zwo_modules/mailgroup/config_htmlq U_codeqT¦ c@s d„ZdS(Nc *CsLtƒ}ttdƒƒ}|d|dIJ|dIJ|dt|dƒIJ|dIJ|dt|d ƒIJ|d IJxZttttt|d ƒd ƒd ƒdƒdƒƒD]"} |d| dIJ|dIJq°W|dIJ|dt|dƒdIJ|dt|dƒƒdIJ|dt|dƒƒdIJ|dIJ|ƒSdS(NsgetIds(
    s°

    Paramétrage du module MailGroup

    Ce module sert à envoyer un Email à un groupe d'utilisateurs donné.

    Groupes des destinataires du mail:(1) s? sgroupes
    Désignation du groupe: sD s designationsW

     

    (1) Noms de groupes séparés par des virgules : exemple : Anonymous,Authenticated...

    Liste des groupes:

    szwo_objszwo_infosgroupss objectIdssFolders
  • s
  • ss(s,s+sqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Umemq%Urepq&Uinstanceq'U_print_q(U_printq)U _getattr_q*U containerq+Utypemodq,U _getiter_q-U _getitem_q.Ugrq/tq0ubU__ac_local_roles__q1}q2Uxavq3]q4UOwnerq5asUidq6U config_htmlq7U_paramsq8Umem, rep, instanceq9U_dav_writelocksq:(U†`q;(U Persistenceqtq?Qu.‚ñÃ((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq Tü #choix du nom proposé par defaut mem=context.zwo_lib.mem_data() modname=container.getId() dossier=mem['rep_obj'] exemple_titre_base='mailgroup' exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) # debut formulaire HTML simple de création d'element print '' print '' print '

    Identifiant :

    ' # partie specifique à ce module print '''

    Paramétrage du module MailGroup

    Ce module sert à envoyer un Email à un groupe d'utilisateurs donné.

    Groupes des destinataires du mail:(1)
    Désignation du groupe:

     

    (1) Noms de groupes séparés par des virgules : exemple : Anonymous,Authenticated...

    Liste des groupes:

    ''' #Fin MailGroup for gr in mem['zwo_obj'].zwo_info.groups.objectIds('Folder'): print '
  • '+gr+'
  • ' print '' # suite standard print '

    ' if dossier.type_zwook=="skin": print '' else: print '' print '' print '
    ' return printed q U _filepathq U4Script (Python):/phil/zwo_modules/mailgroup/new_htmlq U_codeqTE c@s d„ZdS(Nc'Cs’tƒ}tttdƒdƒƒ}ttdƒƒ}t|dƒ}d} | } d} x8| t|dƒƒjo| d} | t | ƒ} qZW|d |d IJ|d IJ|d | d IJ|dIJxZt tttt|dƒdƒdƒdƒdƒƒD]"}|d|dIJ|dIJqW|dIJt|dƒdjo|dIJn |dIJ|dt|dƒƒdIJ|dIJ|ƒSdS(Nszwo_libsmem_datasgetIdsrep_objs mailgroupis objectIdsis(
    ssB

    Identifiant :

    sÓ

    Paramétrage du module MailGroup

    Ce module sert à envoyer un Email à un groupe d'utilisateurs donné.

    Groupes des destinataires du mail:(1)
    Désignation du groupe:

     

    (1) Noms de groupes séparés par des virgules : exemple : Anonymous,Authenticated...

    Liste des groupes:

    szwo_objszwo_infosgroupssFolders
  • s
  • ss6

    s type_zwooksskins.s1s's
    (s_print_s_prints _getattr_scontextsmems containersmodnames _getitem_sdossiersexemple_titre_bases exemple_titresindicesstrs _getiter_sgr(smemsdossiers_print_s_prints _getattr_scontexts containersmodnames _getitem_sexemple_titre_bases exemple_titresindicesstrs _getiter_sgr((sScript (Python)snew_htmls2    7   (snew_html(snew_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Umemq%Udossierq&U_print_q'U_printq(U _getattr_q)Ucontextq*U containerq+Umodnameq,U _getitem_q-Uexemple_titre_baseq.U exemple_titreq/Uindiceq0Ustrq1U _getiter_q2Ugrq3tq4ubU__ac_local_roles__q5}q6Uxavq7]q8UOwnerq9asUidq:Unew_htmlq;U_paramsq(U†bq?(U Persistenceq@UPersistentMappingqAtqBtqCQu.‚òë((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T8 #recuperation parametres #exemple=instance.exemple #affichage du module : aff=[] #~ ######### security checks ######### if mem['droit_vue_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' groupe=instance.groupe designation=instance.designation def destinataire(): if mem['droit_edit_dossier']==1: return 1 for el in groupe.split(','): if el in mem['user_roles_id']: return 1 #piqué de Progest #recuperation parametres instid=instance.getId() form=context.REQUEST.form repbase=context.zwook repacl=repbase.acl_users lisu2=repacl.getUserNames() lisu=context.zwo_info.users lisg=context.zwo_info.groups nb_destinataires=0 nb_membres=0 list_email="" #Boucle d'extraction du groupe for kk in lisg.objectIds('Folder'): nom=kk if nom in instance.groupe.split(','): if not nom in lisg.objectIds('Folder'): return "erreur : groupe absent !" group=lisg[nom] if not group.hasProperty("ok"): return "erreur : groupe mal configurée not OK !" list1=[] list2=[] for a in lisu.objectValues('Folder'): aid=a.getId() user=repacl.getUser(aid) if user: if user.has_role(nom, repbase): list1.append((aid,a.title)) else: list2.append((aid,a.title)) for (a,b) in list1: nb_membres=nb_membres+1 if context.zwo_info.users[a].hasProperty('email'): user_email=context.zwo_info.users[a].email if user_email<>"": nb_destinataires=nb_destinataires+1 if nb_destinataires>1: list_email=list_email+',' list_email=list_email+user_email aff.append('') if list_email<>"": aff.append('') aff.append('') aff.append('') aff.append('') else: aff.append('') aff.append('') aff.append('''') aff.append('
    '+str(instance.designation)+'
    ') aff.append(''+str(nb_destinataires)+' adresse(s) sur '+str(nb_membres)+' membre(s)
    ') aff.append('Aucune adresse Email dans le groupe: '+str(instance.designation)) aff.append('''
    ') return ''.join(aff) q Uidq U view_htmlq U_codeqT› c@s d„ZdS(Nc)sg}tˆdƒdjodSnt|dƒ‰t|dƒ}‡‡d†}t|dƒƒ}ttt dƒd ƒ} tt d ƒ} t| d ƒ} t| d ƒƒ} ttt d ƒdƒ}ttt d ƒdƒ}d}d}d}x7tt|dƒdƒƒD]}|}|tt|dƒdƒdƒjoé|t|dƒdƒj odSnt||ƒ}t|dƒdƒ odSng}g}x¶tt|dƒdƒƒD]™}t|dƒƒ}t| dƒ|ƒ}|oet|dƒ|| ƒo&t|dƒ|t|dƒfƒqNt|dƒ|t|dƒfƒqµqµWxÎt|ƒD]¼tƒ\}}|d}ttttt d ƒdƒ|ƒdƒdƒonttttt d ƒdƒ|ƒdƒ}|djo3|d}|djo|d}n||}qq_q_Wq q Wt|dƒd ƒ|djožt|dƒd!ƒt|dƒd"ƒt|dƒd#|d$tt|dƒƒd%ƒt|dƒd&t|ƒd't|ƒd(ƒt|dƒd)ƒnst|dƒd!ƒt|dƒd"ƒt|dƒd*ƒt|dƒd+tt|dƒƒƒt|dƒd,ƒt|dƒd-ƒtdd.ƒ|ƒSdS(/Nsdroit_vue_dossieris.Vous n'avez pas les droits pour cette action !sgroupes designationc sftˆdƒdjodSnxAttˆdƒdƒƒD]$}|tˆdƒjodSq:q:WdS(Nsdroit_edit_dossierissplits,s user_roles_id(s _getitem_smems _getiter_s _getattr_sgroupesel(s _getitem_smems _getiter_s _getattr_sgroupesel(sgroupesmem(sScript (Python)s destinataire s sgetIdsREQUESTsformszwooks acl_userss getUserNamesszwo_infosuserssgroupsiss objectIdssFolderssplits,serreur : groupe absent !s hasPropertysoks'erreur : groupe mal configurée not OK !s objectValuessgetUsershas_rolesappendstitlesemailsssZs0ss s
    s
    ss adresse(s) sur s membre(s)
    s%Aucune adresse Email dans le groupe: s
    sjoin(saffs _getitem_smems _getattr_sinstancesgroupes designations destinatairesinstidscontextsformsrepbasesrepaclslisu2slisuslisgsnb_destinatairess nb_membress list_emails _getiter_skksnomsgroupslist1slist2sasaidsusersbs user_emailsstr(smemsinstancesaffs _getitem_s _getattr_sgroupes designations destinatairesinstidscontextsformsrepbasesrepaclslisu2slisuslisgsnb_destinatairess nb_membress list_emails _getiter_skksnomsgroupslist1slist2sasaidsusersbs user_emailsstr((smemsgroupesScript (Python)s view_htmlsv % &' %*   !2/&(s view_html(s view_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Umemq%Uinstanceq&Uaffq'U _getitem_q(U _getattr_q)Ugroupeq*U designationq+U destinataireq,Uinstidq-Ucontextq.Uformq/Urepbaseq0Urepaclq1Ulisu2q2Ulisuq3Ulisgq4Unb_destinatairesq5U nb_membresq6U list_emailq7U _getiter_q8Ukkq9Unomq:Ugroupq;Ulist1qUuserq?UbU user_emailq@UstrqAtqBubU__ac_local_roles__qC}qDUxavqE]qFUOwnerqGasU _filepathqHU@Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/view_htmlqIU_paramsqJU mem,instanceqKU_dav_writelocksqL(U†cqM(U PersistenceqNUPersistentMappingqOtqPtqQQu.‚ó ±((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type_rep=="skin": try: skin=context.zwo_info.skins[nom_rep] except: return 'nooo' obj=skin[instid] else: dossier=mem['rep_obj'] obj=dossier[instid] if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' # EXEMPLE MODIFICATION obj.manage_changeProperties(groupe=groupe) obj.manage_changeProperties(designation=designation) # REDIRECTION PAGE ADMIN GENERALE PAGE OU SKIN. context.REQUEST.RESPONSE.redirect('../../') q Uidq U config_okq U_codeqTc@s d„ZdS(Nc Csÿtttdƒdƒƒ}|djoFy%ttttdƒdƒ|ƒ} Wn dSnXt| |ƒ} nt|dƒ} t| |ƒ} t|dƒd jod Snt| d ƒd |ƒt| d ƒd |ƒttttdƒdƒdƒdƒdS(Nszwo_libs mem_mod_datasskinszwo_infosskinssnooosrep_objsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !smanage_changePropertiessgroupes designationsREQUESTsRESPONSEsredirects../../( s _getattr_scontextsmemstype_reps _getitem_snom_repsskinsinstidsobjsdossiersgroupes designation( sinstidsnom_repstype_repsgroupes designations _getattr_scontextsmems _getitem_sskinsobjsdossier((sScript (Python)s config_oks ( (s config_ok(s config_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Uinstidq%Unom_repq&Utype_repq'Ugroupeq(U designationq)U _getattr_q*Ucontextq+Umemq,U _getitem_q-Uskinq.Uobjq/Udossierq0tq1ubU__ac_local_roles__q2}q3Uxavq4]q5UOwnerq6asU _filepathq7U@Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/config_okq8U_paramsq9U+instid, nom_rep,type_rep,groupe,designationq:U_dav_writelocksq;(U†dq<(U Persistenceq=UPersistentMappingq>tq?tq@Qu.‚ðé((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TU# RECUPERATION DES PARAMETRES mem=context.zwo_lib.mem_mod_data() if type=="skin": skin=context.zwo_info.skins[nom] lieu=skin else: dossier=mem['rep_obj'] lieu=dossier url_lieu=lieu.absolute_url() if mem['droit_edit_dossier']<>1: return 'Vous n\'avez pas les droits pour cette action !' idobj=context.zwo_lib.mix_id_zope(titre) # REDIRECTION SI IDENTIFIANT MAL CHOISI if idobj in lieu.objectIds(): url='../ajout_element?type='+container.getId() print '' print '

    Cet identifiant '+idobj+' est déja pris
    ' print 'Veuillez en choisir un autre
    ' print 'Redirection automatique dans 2 secondes.

    ' print 'Si la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuelle' print '' return printed # CREATION INSTANCE MODULE (dossier, image, DTML Document ou Fichier selon Besoin. Folder conseillé en cas de doute) lieu.manage_addFolder(idobj,titre) #lieu.manage_addImage(idobj,data,titre) #lieu.manage_addFile(idobj, file=data, title=titre) #lieu.manage_addDTMLDocument(idobj, titre) obj=lieu[idobj] # AJOUT DES PROPRIETES OBLIGATOIRE DU MODULES obj.manage_addProperty('type_zwook','element','string') obj.manage_addProperty('element',container.getId(),'string') # AJOUT D'AUTRES PROPRIETE en fonction du module obj.manage_addProperty('groupe',groupe,'string') obj.manage_addProperty('designation',designation,'string') #obj.manage_addProperty('nom_propriete','valeur default',type) # AJOUT DE SOUS ELEMENTS en fonction du module # (si dossier chois comme type uniquement) #obj.manage_addFolder('truc','bidulle') #obj.truc.manage_addProperty('nom_propriete','valeur default',type) context.REQUEST.RESPONSE.redirect('../../place?nom='+nom+'&obj='+idobj) return q Uidq Unew_okq U_codeqTæc@s d„ZdS(NcCstƒ}tttdƒdƒƒ} |djo+ttttdƒdƒ|ƒ} | } nt| dƒ} | } t| dƒƒ}t| dƒd jod Sntttdƒd ƒ|ƒ}|t| d ƒƒjoud ttdƒƒ}|d|dIJ|d|dIJ|dIJ|dIJ|d|dIJ|dIJ|ƒSnt| dƒ||ƒt| |ƒ}t|dƒdddƒt|dƒdttdƒƒdƒt|dƒd|dƒt|dƒd|dƒttttdƒd ƒd!ƒd"|d#|ƒdSdS($Nszwo_libs mem_mod_datasskinszwo_infosskinssrep_objs absolute_urlsdroit_edit_dossieris.Vous n'avez pas les droits pour cette action !s mix_id_zopes objectIdss../ajout_element?type=sgetIds7s.

    Cet identifiant s est déja pris
    s"Veuillez en choisir un autre
    s6Redirection automatique dans 2 secondes.

    sGSi la redirection automatique ne fonctionne pas, cliquez ici : Redirection Manuellessmanage_addFoldersmanage_addPropertys type_zwookselementsstringsgroupes designationsREQUESTsRESPONSEsredirects../../place?nom=s&obj=(s_print_s_prints _getattr_scontextsmemstypes _getitem_snomsskinslieusdossiersurl_lieustitresidobjs containersurlsobjsgroupes designation(stitresnomstypesgroupes designations_print_s_prints _getattr_scontextsmems _getitem_sskinslieusdossiersurl_lieusidobjs containersurlsobj((sScript (Python)snew_oks6  !    %((snew_ok(snew_ok((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(Uname_containerqU containerqU name_contextqUcontextqU name_subpathqUtraverse_subpathqU name_m_selfqUscriptqusbU_dav_writelocksq(U†aq (U Persistenceq!UPersistentMappingq"tq#tq$QU__ac_local_roles__q%}q&Ugregq']q(UOwnerq)asU _filepathq*U=Script (Python):/kzexp_zwook/zwo_modules/exemplemodule/new_okq+U_paramsq,U!titre,nom,type,groupe,designationq-U func_codeq.(cShared.DC.Scripts.Signature FuncCode q/oq0}q1(U co_argcountq2KU co_varnamesq3(Utitreq4Unomq5Utypeq6Ugroupeq7U designationq8U_print_q9U_printq:U _getattr_q;UcontextqUskinq?Ulieuq@UdossierqAUurl_lieuqBUidobjqCU containerqDUurlqEUobjqFtqGubu.‚ôt((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUUdataqU ‰PNG  IHDR(–Ýã PLTEÿÿÿî«î«í§ÛL pHYs  šœ:IDATxÚc``D @H&Èb@æ‚!—‘0¨Ÿ Áqª0¹07@¹ÌÈ\ˆSPœÌˆp„D+ª×"œ›IEND®B`‚qUheightq KUwidthq KU content_typeq U image/pngq U__name__q U icone.pngqU__ac_local_roles__q}qUjamesq]qUOwnerqasUsizeqK u.‚õ; ((U OFS.ImageqUImageqtqNt.}q(U preconditionqUUtitleqUUdataqT-:GIF89a-4‡3f™Ìÿ3333f3™3Ì3ÿff3fff™fÌfÿ™™3™f™™™Ì™ÿÌÌ3ÌfÌ™ÌÌÌÿÿÿ3ÿfÿ™ÿÌÿÿ3333f3™3Ì3ÿ3333333f33™33Ì33ÿ3f3f33ff3f™3fÌ3fÿ3™3™33™f3™™3™Ì3™ÿ3Ì3Ì33Ìf3Ì™3ÌÌ3Ìÿ3ÿ3ÿ33ÿf3ÿ™3ÿÌ3ÿÿff3fff™fÌfÿf3f33f3ff3™f3Ìf3ÿffff3fffff™ffÌffÿf™f™3f™ff™™f™Ìf™ÿfÌfÌ3fÌffÌ™fÌÌfÌÿfÿfÿ3fÿffÿ™fÿÌfÿÿ™™3™f™™™Ì™ÿ™3™33™3f™3™™3Ì™3ÿ™f™f3™ff™f™™fÌ™fÿ™™™™3™™f™™™™™Ì™™ÿ™Ì™Ì3™Ìf™Ì™™ÌÌ™Ìÿ™ÿ™ÿ3™ÿf™ÿ™™ÿÌ™ÿÿÌÌ3ÌfÌ™ÌÌÌÿÌ3Ì33Ì3fÌ3™Ì3ÌÌ3ÿÌfÌf3ÌffÌf™ÌfÌÌfÿ̙̙3Ì™fÌ™™Ì™ÌÌ™ÿÌÌÌÌ3ÌÌfÌÌ™ÌÌÌÌÌÿÌÿÌÿ3ÌÿfÌÿ™ÌÿÌÌÿÿÿÿ3ÿfÿ™ÿÌÿÿÿ3ÿ33ÿ3fÿ3™ÿ3Ìÿ3ÿÿfÿf3ÿffÿf™ÿfÌÿfÿÿ™ÿ™3ÿ™fÿ™™ÿ™Ìÿ™ÿÿÌÿÌ3ÿÌfÿÌ™ÿÌÌÿÌÿÿÿÿÿ3ÿÿfÿÿ™ÿÿÌÿÿÿ (((555CCCPPP]]]kkkxxx†††“““¡¡¡®®®»»»ÉÉÉÖÖÖäääñññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ÿ NETSCAPE2.0!þ@Created by Royal Frazier. Animated Email Icon. December 29, 1995!ù ,-4¶ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jœ`aÇÕ²!Ɇ ˆTwòáÊ–a‚<(ÓbÊ™3oâÔX3#ÌžÔI³èΣ3…&$jr£R•I‘2d UêN¦(­f%øtiÅ®ZÊm¹ÒêͲ\«â¤*¶mP‡-±Æ¬ˆU®Û„`sŽL;×b^£÷"´Ë£Ý¿{…ö$É–pSƒˆv@´²@Çw3kÞ̹³g…!ù ,-4ß H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jœà`Ç7PW¤@“ Q2 9r¤Ê”']R|É&D›YŠÜY@çLž%¶$ˆ'ч>Ú4*T$I¦0%&U:ðéF£¬RùjS™^W~õHrªB³,³zì‰ÑgX„f¾… Ñg\w…ªÔ*Õ¡N¾1Q樮¨Á·ƒ&Ö+WåÇÃ]sÒ½‰qî\¹~ƒV%<Ñda‹a;Þ_2åø“¦S±SÓru˜ö,T¨YË>DIó­SaÓVMX´îQ¬KcîM¸ð]£K£:üzíV³,iæ ùåו}mâ…hV«GÁ)]æ 6iЃm1œŒZôÀËBW+ªâÉÏNsžÄ|uwJœaGGFz7qAÖE‹gm+6ñM •V½išôm¢&uÚ·çY¬g¶[yõÈð²¥BV:•näßdygž½ÌÑè_¯U8zí~ÊÊmVÙuÃ5…šwµ¹wV~Œ©·\V(UUaß­‡ ]ïuušZ§A·!†*ÕEÚŽÅ_…š”âw,ÈÕ}t¹–Û‚lùÕY^§m˜_}p©÷\…½QIÐÝFÒyÙm¤ä’L6éä“PF)¥C!ù ,-4ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jl € A )²ãG#PDzeu/[²Œù²¦L–9ÂŒySàL˜.kÚT—“áÊ?oåTfQ†=EêS¦Ï§ M~º³ãÌ¡`¿ª$º5'Ù¢^¹îä‰5áQ¥U‰*1­O¡pµùðmÒ»M÷®%:Öêàª`·l›+_ª_#G†¸’¦Ë¹†ÕÂd|ÐdÓ­rq¦Å©–³Á·G+§^Œ2&h±FáÂÖ;µuJ‡?Óú]™ÚãàÞ:Ën}Y64o”ž ëdú–§â¥‰šöÊT²s¤Ø7<©Ð1õ”¤˜/ã´íö,áñ^í®Œ”;Ô¥™­Ž\ ’¬ÊêR{¢¿þ¾|øAùåÔx:Aft.ñ&_áGPHµá¦M´m¡Zä!TYufŸYš5ä˜aî‡ ø˜w Fµ–„t ˜eš™Ö!_‰”tÀe…!¯Y(ÜQ6v~‚!©\l°…'žsÄÝç‘VÜ™4%ITN¹Ñ–\véå—`†)æ˜ !ù ,-4ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jd £Ç €ùQ¤CêRª\ɲ˗)œT'fM•.SÖ¼s&Íœ9a e)³!Ê•Aq¾LJt¦GuGvÔyt¨N§SQj )R(Ï¢­ª¬*ªO›Ki"my¶¬ÚµJÁ.$«–gK±r’ š(_›máºmj´ëU¨G«vLJ7oBÅ1i&k21YÇé¾-ø¶3Tf®”yìgÄZ»&ÆŠZmÖÓZ?Ç–¨Õ¿u¯Ä,•)NßLûåz°1i©š­ÊäMpëÖž¯GOeÌœ³Ò²†%g]ÌÑwî—{ÉQŸì ÚwøÕ¢=¶s¶îÚ×…‚-Ù9ðõoAº Ê]¯úŸ†IÕžI^͵xÚ%·[zyÞTbí×[ÈýçYuz5„¤Å‡žäIGÔSOI–hƒ …ánña·”K+"'ÒH3VFRIým¤ãŽ<öèã@)$B!ù ,-4ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jd £Ç CŠôèÀµ“(Sª\Éò€’-cÊ<ù²¡É™8UÖ䘳'M˜]¢ J3çÎ…&ƒ&uùQ(Σ oΔú¦O£V¯Nͪ5&Ô„T»²üŠ0¬X@S&½)•hQµYÙ2}ËtéÜ¡\ÏR%{p¯Ü¡N• e tíÒŽƒ‹œ×©^‚| ˜=‹WrG°:ý^}I³R¶‚Õ"Îyàä§C?—6Ýõtgž›[¶©µ­ÝŸ´}Ú²±LÐnSÃöª˜fp•Ãe?Í2ùoÞ[‘ö<îÕ¹ìÑÌgG}¶)ÑËÖ)ã/~µé‘èÓ¿ÞȾ½û÷ðãËŸOa@!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛr¬šøèO¢t‘"¦)¤×¾\ûýÈÔ¬]§–;o6ølG˜é>-í—²M°y¥þ­Ì—íà×X?>-t«jÍ+yúf¼÷UÛ@…¿›ÜøL·Äé*Ÿ *hÕ¸§Â.Ë’øYî‚ׂŸÕæÈóèCo\Ͼ½û÷ðãËŸ!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈi–•j6(ÚÀ‚%øèUgaÌaAv&z4±Z¿¥ßrî\YµãŽB[³$És,h¨“¹Vl¬ÝÔšc_-ü:ðßÛHŸÒ®SøLâ@ŸuÍUúl¼ÈSÖVÚ4ûÏã\áÞ]>óÊ¿Gª_¿z£û÷ðãËŸO¿¾ý!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈiÊõÚWpV$Ó ¾»¶ÀǪ: NŒ×±Þ¦l«5¼ò³P³£‡–õØêl®†áÚk÷¨Nž¼ñú^ùúª]ŸÅ§þäŒ3¹ñá3OG.õ¬s–©ßŽì\éè°»-·¾-þ/æíèÓo\Ͼ½û÷ðãËŸ?0 !ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈi–•jvi×À‚% ü˜VgaÌa €ìLôhbµžóпܙ¯]‘L]ŸíȳòÙk“}–jsìk¸µ¯ÚÅkzplá?Mßet_Ã\ë.>³yõ·ÔÉV­NWùÔ¬Ò¹§îþ’vøÌkKŽ\ÏžäÆ÷ðãËŸO¿¾ýû!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈi–•j¶ëÒÀ‚%s$ XgaÌaÜKôhbµ,ïî)7sÛŽX§ÍŒytUÁµ³ ÅmXçîÊxÇmø3Ý»¾½Î|ʼ)qÝ­®|>x6XäË•_õ‹]æm¥#yMOÕlݧx¼kÂþîº:Ï‘ðãsÞH¿¾ýûøóëßÏ¿@@!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈiz•ÛWpVŽ$[fô#e¿…ëó©óãƒÓr en¬ns^?kXxaÜ#{•Ò®ø5ÓÍ+ÿ ¬Výë‘ðãwÜH¿¾ýûøóëßÏ`@!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛz Z—.TµŽÓLÛq¯_Á“9V¶ŒùîN’iu|yeÍ^'N¬Öç_Ò˜ê…Íõ­Ô¸´±ºÕY•¯Ý£+»æVº;fê«£‡¯=>Uöcå™åÖÆ{—lhÝyý:½Ùû*R !eY‡þW ô­åOÇ^r¤û÷ 7ÊŸO¿¾ýûøóë/!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØÀµ“(Sª\Éò€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈi–•jmÐÀ‚%Ë%)naÌa9~ì8qbµgŠæÜ93R¼@¦u šµÜÌ ³2ÅmXçn¾v[ž‰ú)Ý»¾g_5þóxnª¹ý²Œ>øöXäÄ•Oíí6§Wâ"K×mëQ¿D;îJýzÉ‘ðãÛÞH¿¾ýûøóëß¿? !ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØ€º“(Sª\ÉR€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈi–•jö¯ÀÀ‚%ÛÔYsØÍD&V trfÍiwzLµõé•AIÊ}í·ãå—®3¾Ít&éÇ»m÷¾úô1lu—‡ûf)š4JåcíF»©uÃŽ ¨Ô^ ÷ÔÆ,µ[jGŽ<-k–ÜÉ—Ÿ]ôvò㽎œ²4Fá·Gv·¼±¿ÿÿ(à€ !ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j$ £Ç CŠôØ€º“(Sª\ÉR€’-cÊ<ù’¡É™8UÖ\x3§Kœ;šôø“fGšEeM8ôèP— “Æ\а§RŸ.abÍIõ Õ­Sµ‚U*vlË®Ÿ¢lšôãÚ¯h ö¼Év.Q£Vãr4«3¥Þ_ùú-;wmQ§PÛÂtJªÚƈi–•jö¯ÀÀ‚%ÛÔYsØÍD&V trfÍõäÔ§U^ušæV¢]u~õiTëXže½ž-6èZ¶RßÖL«S©]–&óêÝË·¯ß¿€ L¸°áÈ+ !ù ,,3“ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“('Xɲ¥Ë—0[2p­åµ›8sê܉“¦Ìƒ4sÆJôeÁ <“*íÙéÒ§:4…JUèÔªU¥ÎÄšõ*×§Z:ýš4¬Â±dwšMX´mÌ”pãÊK·®Ý»xóêÝË·¯ß¿!ù ,,3• H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“('Xɲ¥Ë—0Y6dy­¦Í›8sê\¹@MŸ:ƒ ½É!ÐkG‡*ÍY´`Ò•K‰Æ|i0éÏ©/wÎŒÊõçÖ®Q|«T,C«dµžM[v&Ö·SSÊK·®Ý»xóêÝË·¯ß¿€!ù ,,3– H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“('Xɲ¥Ë—0Y6\y­¦Í›8sê0€ÎŸ@qò\èÓgУ9‡*,Š´éM¥uŠêA©T›Z58ujV [ vI¶ìÊ¥_«ÎL{4,W³pa¦œK·®Ý»xóêÝË·¯ß¿€ !ù ,,3™ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²ä@(Sª\ɲeJ‡®ÉœI³¦Í›×4Œ‰³§Ïœ;yþJSçB”D“Ê4ª0¦P¥?™äùjO©…Vµz+A­.Ê}‰p+ך^§žõ™6ëØ·-MÊK·®Ý»xóêÝË·¯ß¿€ L¸ðÀ!ù ,,3• H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç C:@²¤É“(S–làšË—0cÊœy Kš8sº´É°¥ÎŸ1y.ô ´¨P…D‹þ<š0©ÒœL:}J3êÁ©TeZ5ˆ5+Ì­»zÝÉR¥Ù³+Eª]˶­Û·pãÊK·®Ý»xóêÝË·¯ß¿€ !ù ,,3ù H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£B C‚ôhÀµ“(¯‰\¹Ò¢É”0cÂd9²áK™8sžàð¦ÎŸ)yÚJ¥Ð…>‹þ<úQiQ¦ “:• 5êÔ¥=¯ê¬Š¦T¥\zeI•dA¯fÓªr-AFÃn„³fGº9íbÄ T/Û¯}å~ VðYÂWýF¬UeÛ’Œïä*R2N‘éò•¬™²ÏÈKƒzž ºnRÅ6O.Luôeƪãf†ý5¶èÙyáâ é87nÓ§y‹ný;néá·!·¼{´pË«QNæìêØ§»e!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹!ؘQãµkCè˜ÀÇ“'Er$i¥K—*GVlù²æË˜mêÔ²!Í@aú J¥Ì…?‹î<ª0©RžCŸeZr£Ô¥U^Mi1¦Rª½ÖKR X²e öL˶mƵn Zý¸2î\˜hÃ:ÅËr¯Íºï>üPðVÂMýÎ[ äV "~ü—¬HÊ•7n9y1]Ë? ¯g£¥oŠ6­Z²âΨy¦–=vµfØ ­ÞuŒûö^Ǩ wöwum¾ji¼»ôr̹s»ŽI½ºu•Ó¯kßÎ8nÁ€!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹\œàZÆ;^™Q#H…"GªüxÒ`J•0K¶ø¦M–'kÚ¼‰³¢Î@eRü ´hO‡D‹*Ú0£Ò§FM6M 5¨T†%«V½’êVŸNµÆV,W‹eŸžÝ˜uéÌ‚iW¾=Ø–dK¦.;®å˜ò(A¿ã’Ü‹Ñ+à¡^cFšØ*_±KÃmlvq]È[ñÒ¤ŒyåÚ’œ++¸óàÁt_†ª85OÓkŽþY:ªã¼‘¡ÖŽíZ-mß“f-;\xp«²/Ǿ=™çêå­q~®Ø³kå°OÏͽ»÷ï ÜSƒO>ü܈!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜÈq ¸ö1d‘×R~i’ Ê”0K¶| ³æÊ4kꔩ1§Î<+úüIô&Å¡D“uˆ4©S£"›:}Ê2êÔ«?—*\‰kUˆ»>VlÌŒeÅ~½˜vêÚ£2¹Žµ˜–gÛ³d‹V•«îÕ aßZUûU뻄'"6«R0ÂÅŒm:È7²[¨.¥Zzp¥fËž;£„¹¬á¶ŸÿJ tóÝÓCIg-˜´l’Maÿ¥½›µÒÀ/¹Ú®M;§çÖ³}Ǽ­—³ÁºÌ//g]yórÜ¢=kßν»öìÞËÝòa@!ù ,,3ü H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç©À5‘$ š¼ÆeJ+Y¶I2¦L™.=Ú¼‰“&Ç<{nôfN‹D‹õ91©RžG!Š|JUhS§UgRœšõiÔ‡\»ýêP$VªL#š=4-ؘfÅž”v)[· 뎫/B½hù-Ëvo]¿Ë91ÌÂb×þU¼Ø0^Ê•û^œY3Y®˜ƒÞl´si«õ†öºó3ÑÕK÷ļš6éÀ{«ºfm2l\Û³_«æ|Rxp¨°Û¶¾]²fÔ‰{'ïÚxóÚëØ³k¿|»÷ïÜ_2 !ù ,,3ø H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠIò % ¸veÉ•×b²t)¦Ì˜-AÚ¼y3'Ç| µ*Ò„'«jÚ°åÖ¯8!f •¦Ø±d{FDë5­Y†h…ƵêpnTªaÚݺ—¥^¼|ç¾Ø6mÙ¬Wö5|4q–€C6 s±ÛʃusfÁœË¥lÔ²ÜÒŸ©š^,U%ཫS^ɱjÙB>ݘtOÓ¨G¬:ªÌÖmïL;5äçУKNyºõëÔS& !ù ,,3ï H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(5²€k+W–|y­f͘,AÒ´ÉfÌŽ;{ ý™1¨Ð£8+=Êô&чK›Jõ)“aÔ©X«&¼ŠujN„\»6ý v¥Ø³dâ<+5íA³6ײ».S¹bÝ ŒÉgXŸoÿzå;T/Þ¹<×&5×.âÄ4µt,Ø+äÀ=£5*y f§›‘æú93éуEÆ|׬]¾¥²6Í™pܨ÷Ö®lÚôlÛ_£þø6`Æ~“+_Î|tóçÐs· !ù ,,3á H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ëb¦píZL™or¤Y³§Í›<j êÓ'К8--ÊhR‰K™Jí êÔ«S«6ŒŠµ+Ò§¹zõ áͱh‚x4-Zžu›nÁ˜_¿â¥ûókX¢KÛ’Uû·è^Ç›.—kbµ‡ûm|U2äʌêxód͘iFÆkùsÎ΋[^[@ui¬® ëå«–sá¹´ m,··ïßNÿNœuÊ€!ù ,,3Þ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—$È<)óšÍ™"kÚÜy §E™>uòês"€@]ÚÅ£L›&Z´!Ô¨K“ múð*Ö¯Z*œúµlÖ¤kz5Ëö¦SƒdÛ²E êV¹gݦõºïMžUÞ½ÛvðÛ‚„›ÊM¸@b·es­9î_°‡ JVªvêæÌ6Ì´ñh¿Šƒ|U)j¤­W;>êú5QÚ²ÃêÞÍ[÷ÞÞÀƒ7N!ù ,,3Ô H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—$È<)óšÍ™"kÚÜy gG<ƒúÄ4¨Ñž.=ÊtèÃ¥L£"}*³jU©R¼ à¨Õ¯`Z=¨³+Ö¬`«’µz¶íαËšuUîZžsé Å›4n^¤zßþÕZ*`·† ¾ùWlcÁwÑ6Ūø1ã®Ek.žê×ëR¶|=GlY2ßÑW‡f|7µjÇœ·¦M»veÛ¸qà !ù ,,3Ô H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—$È<)SÍ™"kÚÜ©gG<ƒúÄ4¨Ñž.=ÊtèÃ¥L£"} @ªU£N ʬzµ+Ï­I ‚K¶¬Ù²Çzõ 6-W¨k¿¾ «•ë͸GíN«)Þ›}³€ ·i_Àn£Þ¹XðbÀM­:≯fQË”óÍ»¬PÊ“?g–Ú™.A [ÿÊ­œ8µj¬U'ŸM{¬ÛÚ¸gà !ù ,,3Í H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cʜـM›#oPÇ“§Î:{ ªîgD;‰*UŠTaÐ¥P£½y©Õ«X³â4ˆTª×¡F Úô™ôkÔ±S«–-jêÚ­b×Nm+mO¸íÖ•{–oZ®~ÉJÕ €ÚÁß5 ØíX½ãH˜¬Ü§‹™2Ž[X±ã‡-Ó%jw²ÀÈžéFV«µµkÓ^ËÖ 3 !ù ,,3Ä H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦M‡rêÜɳ§ÏŸæ¼F”'Ñ£H“5Z4¨A =•^ƒÊS(€¦R›2•:tªÓ‚]‹f«ôêÒ¯Ãb%›U­W«\Ͳ]›4'ܶrñ޵û4oܶlù‚õ‹T§×ÂWÝ"¾[×íÎÆqk[Ö¯à´r SÖÛ®æÍd‡^Hµ´i´¤O«ö 3 !ù ,,3º H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦M‡rêÜɳ§ÏŸJÔ§Ð×’*]Ê´iSžG“êtJ•êÔk9£*½ZÕjÎ¥Y ~eʵ«Ô±`ƒŠà•mײiµ¶u —¬Ú‚hŸòܺ׫ܴc{ž­‹õ.Á¼ƒõºå‹¸ð_Âf‘òÕ Ù,c·añJ¶l¹çÑ¢ ‡Þ,!ù ,,3Ÿ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦MŒrêÜÉS§Fׂ *4çO D‰úÌàZΤCŸøô)T«S™mš”«Sª[•F[4ªR²NÓ¦õúUkU®VÕ¶ÅùjÕªTã^mš§^»Ký²µë´ïÅžˆyÞt!ù ,,3 H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦ÍŽrêÌIÀµŸ@ôôTèÈœ@¯ñ<ª´hϦJ—Š$ê³êÓ¦V™îTúTgÔ¡D¿ +v*Y©!Éþ4jv'Ú›/!ù ,,3~ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦MŽrêÌIÀµŸ×tö”çHŸ@…%ªT$Ò¤†ê,:”iÔ¥S:%JuiѦ!ŸþÔ–+Y;wöL{öæË€!ù ,,3€ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦ÍrêÜ)ÀµŸ@uö4çP¢×„†ô‰T)H¦H“ÝÉÀѨV—þܹõjÓ£T¥j*ö)Ù²©Rí©ÖéM˜!ù ÿ,,3³ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦M‡rêÜɳ§ÏŸs^J´¨Ñ£Dy&Ò§PКêthΦP³•Ju)V­`•ZezP(سG¯–­ŠôçN­j šEK÷ZÜ‚sۺ͛–¬\¶uÏÞ%ÈWïÞ§ƒÕ/^ÀŒ³&¸·²eM/köyÓd@!þïThis GIF file was assembled with GIF Construction Set from: Alchemy Mindworks Inc. P.O. Box 500 Beeton, Ontario L0G 1A0 CANADA. This comment block will not appear in files created with a registered version of GIF Construction Set;qUheightq K4Uwidthq K-U content_typeq U image/gifq U__name__q U emailact.gifqU__ac_local_roles__q}qUphilq]qUOwnerqasUsizeqL14893L u.‚ö((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq T)# RECUPERATION DU TYPE DE MODULE CONCERNE :# typemod=container.getId() video=instance.title width=instance.width height=instance.height file=instance.absolute_url() # EXEMPLE FORMULAIRE EDITION print '
    ' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '' print '
    Identifiant :
    Fichier vidéo :
    Width :
    Height:
    ' print '' # EXEMPLE DE LIENS VERS UN SCRIPT INTERMDAIRE script_i #url_loc="zwo_modules/"+typemod+'/' #print 'Script de configuration autre ... CLIQUER ICI' return printed q U _filepathq U?Script (Python):/zwook_active_rc5/zwo_modules/video/config_htmlq U_codeqTc@s d„ZdS(Nc DCsštƒ}ttdƒƒ}t|dƒ}t|dƒ} t|dƒ} t|dƒƒ} |d|dIJ|dIJ|d IJ|d |d IJ|d IJ|d IJ|d IJ|d IJ|d IJ|d| d IJ|d IJ|d IJ|d| d IJ|d IJ|d IJ|dIJ|dt|dƒdIJ|dt|dƒƒdIJ|dt|dƒƒdIJ|d IJ|dIJ|dIJ|ƒSdS(NsgetIdstitleswidthsheights absolute_urls(s
    ssKssJsDs,s+Ufileq?tq@ubu.‚ø((U#Products.PythonScripts.PythonScriptqU PythonScriptqtqNt.}q(U Python_magicqU;ò qUerrorsq)Uwarningsq)U Script_magicq KU_bodyq TA# typemod est l'id du module et namemod est son title typemod=container.getId() namemod=container.title_or_id() # proposition de nom pour l'element exemple_titre_base=namemod exemple_titre=exemple_titre_base indice=0 while exemple_titre in dossier.objectIds(): indice=indice+1 exemple_titre=exemple_titre_base+str(indice) # debut formulaire HTML simple de création d'element print '' print '
    Identifiant :
    Fichier vidéo :Width :
    ' print '' print '\n\n' print '' # partie specifique à ce module print '' print '' print '' print '' print '' print '' print '' print '' print '
    Identifiant :
    Fichier vidéo :
    Hauteur :
    Largeur :
    ' # suite standard print '

    ' if dossier.type_zwook=="skin": print '' else: print '' print '' print '
    ' return printed q Uidq Unew_htmlq U_codeqTÖc@s d„ZdS(Nc =Cstƒ}ttdƒƒ}ttdƒƒ}|}|} d} x8| t|dƒƒjo| d} |t | ƒ} qBW|d|dIJ|dIJ|d IJ|d | d IJ|d IJ|d IJ|d IJ|d IJ|d IJ|dIJ|d IJ|d IJ|dIJ|dIJ|dIJt|dƒdjo|dIJn |dIJ|dt|dƒƒdIJ|dIJ|ƒSdS(NsgetIds title_or_idis objectIdsis(
    sssL ssJsEsDs
    Identifiant :
    Fichier vidéo :Hauteur :Largeur :
    s6

    s type_zwooksskins.s1s's
    ( s_print_s_prints _getattr_s containerstypemodsnamemodsexemple_titre_bases exemple_titresindicesdossiersstr( smemsdossiers_print_s_prints _getattr_s containerstypemodsnamemodsexemple_titre_bases exemple_titresindicesstr((sScript (Python)s zwo_new_htmls<                 (s zwo_new_html(s zwo_new_html((sScript (Python)ssqU func_defaultsqNU _bind_namesq(cShared.DC.Scripts.Bindings NameAssignments qoq}qU_asgnsq}q(U name_m_selfqUscriptqU name_contextqUcontextqU name_subpathqUtraverse_subpathqUname_containerqU containerqusbU func_codeq(cShared.DC.Scripts.Signature FuncCode q oq!}q"(U co_argcountq#KU co_varnamesq$(Umemq%Udossierq&U_print_q'U_printq(U _getattr_q)U containerq*Utypemodq+Unamemodq,Uexemple_titre_baseq-U exemple_titreq.Uindiceq/Ustrq0tq1ubU__ac_local_roles__q2}q3Uxavq4]q5UOwnerq6asU _filepathq7U
    ' # Personalisation Formulaire print '

    Url du fil rss:

    ' print '

    Titre du fil:

    ' # Fin Formulaire print '' print '' print '' print '' print '