Skip to content

Commit

Permalink
Switched Class Extension creation from old plugin.cfc method to new Mura
Browse files Browse the repository at this point in the history
5.6 methodology.
  • Loading branch information
grantshepert committed Apr 13, 2012
1 parent 8a6deb5 commit d295706
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 161 deletions.
106 changes: 105 additions & 1 deletion plugin/config.xml.cfm
Expand Up @@ -2,7 +2,7 @@
<name>Google Sitemaps</name>
<package>MeldGoogleSitemaps</package>
<directoryFormat>packageOnly</directoryFormat>
<version>2.1.0</version>
<version>2.2.0</version>
<provider>Meld Solutions Inc.</provider>
<providerURL>http://www.meldsolutions.com</providerURL>
<category>Utility</category>
Expand All @@ -14,4 +14,108 @@
</eventHandlers>
<displayobjects location="global">
</displayobjects>
<extensions>
<extension type="Page" subtype="Default">
<attributeset name="Google Sitemaps">
<attribute name="exclude"
label="Exclude From Sitemap"
hint="Exclude this page from the sitemap"
type="SelectBox"
defaultValue="inherit"
required="false"
validation=""
regex=""
message=""
optionList="inherit^no^yes"
optionLabelList="Inherit^No^Yes" />
<attribute name="changefrequency"
label="Change Frequency"
hint="The change frequency for the page"
type="SelectBox"
defaultValue="monthly"
required="false"
validation=""
regex=""
message=""
optionList="daily^weekly^monthly^yearly"
optionLabelList="Daily^Weekly^Monthly^Yearly" />
<attribute name="priority"
label="Priority"
hint="The relative importance of the page to the site"
type="SelectBox"
defaultValue="inherit"
required="false"
validation=""
regex=""
message=""
optionList="0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0"
optionLabelList="0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0" />
</attributeset>
</extension>
<extension type="Portal" subtype="Default">
<attributeset name="Google Sitemaps">
<attribute name="exclude"
label="Exclude From Sitemap"
hint="Exclude this page from the sitemap"
type="SelectBox"
defaultValue="inherit"
required="false"
validation=""
regex=""
message=""
optionList="inherit^no^yes"
optionLabelList="Inherit^No^Yes" />
<attribute name="changefrequency"
label="Change Frequency"
hint="The change frequency for the page"
type="SelectBox"
defaultValue="monthly"
required="false"
validation=""
regex=""
message=""
optionList="daily^weekly^monthly^yearly"
optionLabelList="Daily^Weekly^Monthly^Yearly" />
<attribute name="priority"
label="Priority"
hint="The relative importance of the page to the site"
type="SelectBox"
defaultValue="inherit"
required="false"
validation=""
regex=""
message=""
optionList="0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0"
optionLabelList="0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0" />
</attributeset>
</extension>
<extension type="Custom" subtype="MeldGoogleSitemaps">
<attributeset name="MeldGoogleSitemaps">
<attribute name="Location"
label="Sitemap Location"
type="TextBox"
defaultValue="site" />
<attribute name="Frequency"
label="Frequency"
type="TextBox"
defaultValue="weekly" />
<attribute name="Enabled"
label="Enabled"
type="TextBox"
validation="Numeric"
defaultValue="0" />
<attribute name="Email"
label="Email"
type="TextBox" />
<attribute name="DateLastCreate"
label="DateLastCreate"
type="TextBox"
validation="Date" />
<attribute name="TimeOfDay"
label="TimeOfDay"
type="TextBox"
validation="Date" />
</attributeset>
</extension>
</extensions>
</plugin>
160 changes: 0 additions & 160 deletions plugin/plugin.cfc
Expand Up @@ -9,7 +9,6 @@
</cffunction>

<cffunction name="install" returntype="void" access="public" output="false">
<cfset setExtensions() />
</cffunction>

<cffunction name="keepSingleQuotes" returntype="string" output="false">
Expand All @@ -19,168 +18,9 @@

<cffunction name="update" returntype="void" access="public" output="false">
<cfset application.appInitialized=false />
<cfset setExtensions() />
</cffunction>

<cffunction name="delete" returntype="void" access="public" output="false">

</cffunction>

<cffunction name="setExtensions" returntype="void" access="private" output="false">

<cfset var extension = "" />
<cfset var extendSet = "" />
<cfset var extendSetID = "" />
<cfset var sArgs = StructNew() />
<cfset var qSites = variables.config.getAssignedSites() />
<cfset var sValues = StructNew() />
<cfset var qSets = "" />

<cfset extension = addExtension( 'default','Page','Default' ) />


<cfif not isSimpleValue( extension )>
<cfset qSets = extension.GetExtendSetByName('Google Sitemaps').GetAttributesQuery() />

<cfif not qSets.recordCount>
<cfset extendSet = addExtendSet( 'default','Google Sitemaps',extension.getSubTypeID(),'Default' ) />
<cfset extendSetID = extendSet.getExtendSetID() />

<cfset addAttribute( 'default',extendSetID,1,'exclude','Exclude From Sitemap',true,'inherit','Exclude this page from the sitemap','','','','SelectBox','inherit^no^yes','Inherit^No^Yes' ) />
<cfset addAttribute( 'default',extendSetID,2,'changefrequency','Change Frequency',true,'monthly','The change frequency for the page','','','','SelectBox','daily^weekly^monthly^yearly','Daily^Weekly^Monthly^Yearly' ) />
<cfset addAttribute( 'default',extendSetID,3,'priority','Priority',true,'0.5','The relative importance of the page to the site','','','','SelectBox','0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0','0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0' ) />
</cfif>
</cfif>

<cfset extension = addExtension( 'default','Portal','Default' ) />

<cfif not isSimpleValue( extension )>
<cfset qSets = extension.GetExtendSetByName('Google Sitemaps').GetAttributesQuery() />

<cfif not qSets.recordCount>
<cfset extendSet = addExtendSet( 'default','Google Sitemaps',extension.getSubTypeID(),'Default' ) />
<cfset extendSetID = extendSet.getExtendSetID() />

<cfset addAttribute( 'default',extendSetID,1,'exclude','Exclude From Sitemap',true,'inherit','Exclude this page from the sitemap','','','','SelectBox','inherit^no^yes','Inherit^No^Yes' ) />
<cfset addAttribute( 'default',extendSetID,2,'changefrequency','Change Frequency',true,'monthly','The change frequency for the page','','','','SelectBox','daily^weekly^monthly^yearly','Daily^Weekly^Monthly^Yearly' ) />
<cfset addAttribute( 'default',extendSetID,3,'priority','Priority',true,'0.5','The relative importance of the page to the site','','','','SelectBox','0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0','0.1^0.2^0.3^0.4^0.5^0.6^0.7^0.8^0.9^1.0' ) />
</cfif>
</cfif>

<cfset extension = addExtension( 'default','Custom','MeldGoogleSitemaps' ) />

<cfif not isSimpleValue( extension )>
<cfset qSets = extension.GetExtendSetByName('MeldGoogleSitemaps').GetAttributesQuery() />

<cfif not qSets.recordCount>
<cfset extendSet = addExtendSet( 'default','MeldGoogleSitemaps',extension.getSubTypeID() ) />
<cfset extendSetID = extendSet.getExtendSetID() />

<cfset addAttribute( 'default',extendSetID,1,'Location','Sitemap Location',true,'site' ) />
<cfset addAttribute( 'default',extendSetID,2,'Frequency','Frequency',true,'weekly' ) />
<cfset addAttribute( 'default',extendSetID,3,'Enabled','Enabled',true,'0','','Numeric' ) />
<cfset addAttribute( 'default',extendSetID,4,'Email','Email',false,'' ) />
<cfset addAttribute( 'default',extendSetID,5,'DateLastCreate','DateLastCreate',false,'','','Date' ) />
<cfset addAttribute( 'default',extendSetID,6,'TimeOfDay','TimeOfDay',false,'','','Date' ) />
</cfif>
</cfif>

<cfloop query="qSites">
<cfif siteID neq "default">
<cfset variables.instance.extensionManager.syncDefinitions( 'default',siteID,'Page','default' ) />
<cfset variables.instance.extensionManager.syncDefinitions( 'default',siteID,'Portal','default' ) />
<cfset variables.instance.extensionManager.syncDefinitions( 'default',siteID,'Custom','MeldGoogleSitemaps' ) />
</cfif>
</cfloop>
</cffunction>

<cffunction name="addAttribute" returntype="any" access="private" output="false">
<cfargument name="siteID" type="string" required="true">
<cfargument name="extendSetID" type="string" required="true">
<cfargument name="orderNo" type="numeric" required="true">
<cfargument name="name" type="string" required="true">
<cfargument name="label" type="string" required="true">
<cfargument name="required" type="string" required="true">
<cfargument name="defaultValue" type="string" required="false" default="">
<cfargument name="hint" type="string" required="false" default="">
<cfargument name="validation" type="string" required="false" default="">
<cfargument name="regex" type="string" required="false" default="">
<cfargument name="message" type="string" required="false" default="">
<cfargument name="type" type="string" required="false" default="TextBox">
<cfargument name="optionList" type="string" required="false" default="">
<cfargument name="optionLabelList" type="string" required="false" default="">

<cfset var sAttribute = variables.instance.extensionManager.getSubTypeBean().getExtendSetBean().getattributeBean()>

<cfset sAttribute.setSiteID(arguments.siteID)>
<cfset sAttribute.setExtendSetID(arguments.extendSetID)>
<cfset sAttribute.setName(arguments.name)>
<cfset sAttribute.setLabel(arguments.label)>
<cfset sAttribute.setRequired(arguments.required)>
<cfset sAttribute.setValidation(arguments.validation)>
<cfset sAttribute.setHint(arguments.hint)>
<cfset sAttribute.setRegex(arguments.regex)>
<cfset sAttribute.setMessage(arguments.message)>
<cfset sAttribute.setType(arguments.type)>
<cfset sAttribute.setDefaultValue(arguments.defaultValue)>
<cfset sAttribute.setOptionList(arguments.optionList)>
<cfset sAttribute.setOptionLabelList(arguments.optionLabelList)>
<cfset sAttribute.setOrderNo(arguments.orderno)>

<cfset sAttribute.save()>

<cfreturn sAttribute />
</cffunction>

<cffunction name="addExtension" returntype="any" access="private" output="false">
<cfargument name="siteID" type="string" required="true">
<cfargument name="Type" type="string" required="true">
<cfargument name="subType" type="string" required="false" default="Default">
<cfargument name="BaseKeyField" type="string" required="false" default="contentHistID">
<cfargument name="BaseTable" type="string" required="false" default="tcontent">
<cfargument name="DataTable" type="string" required="false" default="tclassextenddata">

<cfset var sExtension = variables.instance.extensionManager.getSubTypeByName( arguments.type,arguments.subType,arguments.siteID )>
<cfset var qSets = sExtension.getSetsQuery() />

<cfif qSets.recordCount>
<!--- already exists --->
<cfreturn sExtension />
</cfif>

<cfset sExtension.setType(arguments.Type)>
<cfset sExtension.setSubType(arguments.subType)>
<cfset sExtension.setIsActive(1)>
<cfset sExtension.setBaseKeyField(arguments.baseKeyField)>
<cfset sExtension.setBaseTable(arguments.baseTable)>
<cfset sExtension.setDataTable(arguments.dataTable)>
<cfset sExtension.setSiteID(arguments.siteID)>

<cfset sExtension.save()>

<cfreturn sExtension />
</cffunction>

<cffunction name="addExtendSet" returntype="any" access="private" output="false">
<cfargument name="siteID" type="string" required="true">
<cfargument name="name" type="string" required="true">
<cfargument name="subTypeID" required="true" type="string">
<cfargument name="container" required="false" type="string" default="Basic">

<cfset var sExtendSet = variables.instance.extensionManager.getSubTypeBean().getExtendSetBean()>
<cfset var attName = "">



<cfset sExtendSet.setSubTypeID(arguments.subTypeID)>
<cfset sExtendSet.setName(arguments.name)>
<cfset sExtendSet.setOrderNo(0)>
<cfset sExtendSet.setIsActive(1)>
<cfset sExtendSet.setSiteID(arguments.siteID)>
<cfset sExtendSet.setContainer( arguments.container )>

<cfset sExtendSet.save()>

<cfreturn sExtendSet />
</cffunction>
</cfcomponent>

0 comments on commit d295706

Please sign in to comment.