-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.cfm
95 lines (82 loc) · 3.47 KB
/
index.cfm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<cfsetting enablecfoutputonly="true">
<cfset pluginManager = {}>
<cfset pluginManager.version = "1.0.6">
<cfoutput>
<cfinclude template="css.cfm">
<h1>PluginManager v#pluginManager.version#</h1>
<p>With the PluginManager, you can download and install all authorized plugins available from the <a href="http://cfwheels.org/plugins">Wheels Plugin Directory</a>. The "Auto Install" links provided will automatically download the plugin to this Wheels install and reload your application.</p>
</cfoutput>
<!--- Simple layer of security for installing plugins --->
<cfset isAccessBlocked=false>
<cfinclude template="restrict/index.cfm">
<!--- Only install a plugin or list the plugins if the accessBlocked flag has not been set --->
<cfif not isAccessBlocked>
<!--- Existence of url.plugin means that the user wants to auto-install the plugin of that ID --->
<cfif StructKeyExists(url, "plugin")>
<cfset application.wheels.plugins.pluginManager.installPlugin(ListFirst(url.plugin, ","), ListLast(url.plugin, ","))>
</cfif>
<!--- Get latest list of plugins --->
<cfset plugins = application.wheels.plugins.pluginManager.getAvailablePlugins()>
<cfoutput>
<!--- List installed plugins --->
<h2>Installed Plugins</h2>
<cfloop array="#plugins#" index="plugin">
<cfif ListFindNoCase(pluginNames(), plugin.name.XmlText)>
<!--- Grab plugin version number (which is done differently, depending on Wheels version --->
<cfset pluginManager.loc.versionNum = application.wheels.plugins.pluginManager.getPluginVersionNumber(plugin.name.XmlText, plugin.version.XmlText)>
<div class="plugin">
<h3>
<a href="#plugin.info_url.XmlText#">#plugin.title.XmlText#</a>
<small>Version #pluginManager.loc.versionNum#</small>
</h3>
<p>#plugin.summary.XmlText#</p>
<ul style="margin-left: 0;">
<!--- Display upgrade link if newer version available --->
<cfif
StructKeyExists(application.wheels.plugins, plugin.name.XmlText)
and pluginManager.loc.versionNum neq plugin.version.XmlText
>
<li class="first">
<strong class="highlighter">Version #plugin.version.XmlText# Available:</strong>
</li>
<li>
<a href="#plugin.info_url.XmlText#">More Info</a>
</li>
<li>
<a href="#cgi.script_name#?#HtmlEditFormat(cgi.query_string)#&plugin=#plugin.id.XmlText#,#Replace(plugin.filename.XmlText, ".zip", "")#">Auto Upgrade</a>
</li>
<li>
<a href="#plugin.download_url.XmlText#">Download</a>
</li>
<cfelse>
<li class="first">
<a href="#plugin.info_url.XmlText#">More Info</a>
</li>
</cfif>
</ul>
</div>
</cfif>
</cfloop>
<!--- List plugins not installed --->
<h2>Other Available Plugins</h2>
<cfloop array="#plugins#" index="plugin">
<cfif not ListFindNoCase(pluginNames(), plugin.name.XmlText)>
<div class="plugin">
<h3><a href="#plugin.info_url.XmlText#">#plugin.title.XmlText#</a> <small>Version #plugin.version.XmlText#</small></h3>
<p>#plugin.summary.XmlText#</p>
<ul style="margin-left: 0;">
<li class="first">
<a href="#plugin.info_url.XmlText#">More Info</a>
</li>
<li>
<a href="#cgi.script_name#?#HtmlEditFormat(cgi.query_string)#&plugin=#plugin.id.XmlText#,#Replace(plugin.filename.XmlText, ".zip", "")#">Auto Install</a></li>
<li>
<a href="#plugin.download_url.XmlText#">Download</a>
</li>
</ul>
</div>
</cfif>
</cfloop>
</cfoutput>
</cfif>
<cfsetting enablecfoutputonly="false">