[Zope-CVS] CVS: Products/ExternalEditor/win32 -
ZopeExtEditDummyOCX.ocx:1.1 ocx.txt:1.1 setup.iss:1.18
Chris McDonough
chrism at plope.com
Wed Nov 10 22:33:38 EST 2004
Update of /cvs-repository/Products/ExternalEditor/win32
In directory cvs.zope.org:/tmp/cvs-serv7854
Modified Files:
setup.iss
Added Files:
ZopeExtEditDummyOCX.ocx ocx.txt
Log Message:
Add dummy OCX for EE detection from within IE (JS/VBS).
=== Added File Products/ExternalEditor/win32/ZopeExtEditDummyOCX.ocx ===
<Binary-ish file>
=== Added File Products/ExternalEditor/win32/ocx.txt ===
In this directory is a file named "ZopeExtEditDummyOCX.ocx". The OCX
does nothing whatsoever. But if you install it on a client system, it
can be used to test for the presence of external editor.
To install by hand:
regsvr32 ZopeExtEditDummyOCX.ocx
To install via Innosetup see "Installing OCXs" at
http://www.jrsoftware.org/iskb.php?a=vb ... I haven't tried it yet tho
Once it's installed, you can use the folllowing VBScript to do the
detection:
<SCRIPT LANGUAGE=VBScript>
return IsObject(
CreateObject("ZOPEEXTEDITDUMMYOCX.ZopeExtEditDummyOCXCtrl.1"))
</SCRIPT>
Or an x-platform bit of Javascript that works under Moz or IE to do same
is:
function externalEditorInstalled() {
// mozilla: life is easy; test for mimetype availability
mt = 'application/x-zope-edit'
if ( navigator.mimeTypes && navigator.mimeTypes.length ) {
thing = navigator.mimeTypes[mt];
return thing;
}
// IE: test for presence of dummy OCX installed by installer
else if ( ActiveXObject ) {
return new
ActiveXObject("ZOPEEXTEDITDUMMYOCX.ZopeExtEditDummyOCXCtrl.1");
}
// others: return true for conservatism's sake
else {
return true;
}
}
... then condition the visibility of "pencil icons" (or whatever) on the
result of that function ... I have been wrapping the result of all
occurrences of ExternalEditLink in a span that has a CSS class named
"eelink" which has style "display:none", then I have a bit of javascript
at the bottom of templates that show these icons which calls the
"externalEditorInstalled()" function; if it returns true, it iterates
over all of the "eelink" elements on the page switching them on.
=== Products/ExternalEditor/win32/setup.iss 1.17 => 1.18 ===
--- Products/ExternalEditor/win32/setup.iss:1.17 Tue Jul 13 11:02:10 2004
+++ Products/ExternalEditor/win32/setup.iss Wed Nov 10 22:33:37 2004
@@ -33,6 +33,7 @@
Source: "..\dist\*.*"; DestDir: "{app}"; Flags: ignoreversion
Source: "*.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "ZopeEdit.ini"; DestDir: "{app}"; Flags: onlyifdoesntexist
+Source: "ZopeExtEditDummyOCX.ocx"; DestDir: "{app}"; Flags: restartreplace regserver
Source: "..\README.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CHANGES.txt"; DestDir: "{app}"; Flags: ignoreversion
More information about the Zope-CVS
mailing list