It doesn't ring a bell. I do know that arrays always go in the database. Not sure how that works with bSessionOnly.
Blair On Thu, Oct 29, 2009 at 12:30 PM, Marco van den Oever < [email protected]> wrote: > > Any insight from a deamon mastermind? Please? > > On Oct 28, 9:47 pm, Marco van den Oever <[email protected]> > wrote: > > Strange thing is that i only use getdata for the related arrays, so > > that shouldn't create any extra record. > > But it must be the presence of those array fields in the ft:object > > that indeed trigger some stuff. > > > > On Oct 28, 9:43 pm, Marco van den Oever <[email protected]> > > wrote: > > > > > When i don't use bSessionOnly and comment out the custom createdata > > > code, i only see one record, so that works. > > > > > When i do use bSessionOnly, leave the custom createdata code active, > > > comment out all the array related stuff, then only one record is > > > inserted... > > > > > Based on that i assume it's array related... > > > > > On Oct 28, 9:25 pm, Tomek Kott <[email protected]> wrote: > > > > > > you're right, it seems that either bSessionOnly is not working, or > something > > > > else is going on. I'm trying to remember if for some reason the db > saving > > > > has to happen twice because of the arrays or something similar. > > > > > > Have you tried tracing this through? I don't have any clues for you, > sorry. > > > > > > On Wed, Oct 28, 2009 at 4:20 PM, Marco van den Oever < > > > > > > [email protected]> wrote: > > > > > > > OK here it is: > > > > > > > <ft:processForm action="Verzenden" exit="true"> > > > > > > > <ft:processFormObjects typename="emailberichten" > bSessionOnly="true" / > > > > > > > <!--- if a emailberichten object was succesfully saved ---> > > > > > <cfif len(lSavedObjectIDs)> > > > > > > > <!--- get the emailberichten object data to get other relative data > > > > > that needs to be included ---> > > > > > <cfset stemailberichten = getData(objectid=lSavedObjectIDs) /> > > > > > > > <!--- get the emailadresverzender emailaddress ---> > > > > > <cfset obj = createObject > > > > > ('component',application.stcoapi.emailaccounts.typePath) /> > > > > > <cfset emailadresverzender = obj.getdata > > > > > (objectid=stemailberichten.aemailaccounts) /> > > > > > > > <!--- loop over the selected contactpersonen ---> > > > > > <cfloop index="i" array="#stemailberichten.acontactpersonen#"> > > > > > > > <!--- set incrementing custom currentrow variable so based on that > > > > > value we can set or don't set some other variables ---> > > > > > <cfparam name="currentrow" default="0"> > > > > > <cfset currentrow = currentrow + 1> > > > > > > > <!--- get current contactpersonen item based on current > > > > > acontactpersonen loop array item ---> > > > > > <cfset obj = createObject > > > > > ('component',application.stcoapi.contactpersonen.typePath) /> > > > > > <cfset contactpersoon = obj.getdata(objectid=i) /> > > > > > > > <!--- set default emailadresontvangerlist variable value to use if > one > > > > > emailadresontvanger exists, or as default variable to further build > a > > > > > loop building list, only set this variable when currentrow is 1 as > it > > > > > is only used when there is only one emailadresontvanger ---> > > > > > <cfif currentrow eq "1"> > > > > > <cfset emailadresontvangerlist = contactpersoon.emailadres> > > > > > </cfif> > > > > > > > <!--- if there are more then one emailadresontvangers, add them to > > > > > list, only set this variable when currentrow is not 1 as it is only > > > > > used when there are more then one emailadresontvangers, also when > used > > > > > in currentrow 1 it would duplicate the previous set > > > > > emailadresontvangerlist variable ---> > > > > > <cfif arraylen(stemailberichten.acontactpersonen) gte 2 and > currentrow > > > > > neq "1"> > > > > > <cfset emailadresontvangerlist = emailadresontvangerlist & "," & > > > > > contactpersoon.emailadres> > > > > > </cfif> > > > > > > > </cfloop> > > > > > > > <!--- write email to db ---> > > > > > <cfset obj = createObject > > > > > ('component',application.stcoapi.emailberichten.typePath) /> > > > > > <cfset stprops = {} /> > > > > > <cfset stprops.emailadresontvanger = emailadresontvangerlist /> > > > > > <cfset stprops.emailadresverzender = emailadresverzender.emailadres > /> > > > > > <cfset stprops.emailonderwerp = stemailberichten.emailonderwerp /> > > > > > <cfset stprops.emailtekst = stemailberichten.emailtekst /> > > > > > <cfset stprops.label = stemailberichten.emailonderwerp /> > > > > > <cfset obj.createData(stProperties=stprops) /> > > > > > > > <!--- set message id for cfmail ---> > > > > > <cfset messageid = listlast(stobj.emailadresontvanger,"@")> > > > > > <cfset messageid = createuuid() & "@" & messageid> > > > > > > > <!--- send the email ---> > > > > > <cfmail type="html" > > > > > from="#emailadresverzender.emailadres#" > > > > > to="#emailadresontvangerlist#" > > > > > subject="#stemailberichten.emailonderwerp# - > > > > > ###stemailberichten.objectid#"> > > > > > #stemailberichten.emailonderwerp# - > > > > > ###stemailberichten.objectid# > > > > > <br /> > > > > > <br /> > > > > > #replace(stemailberichten.emailtekst,Chr(13),"<br>", "all") > > > > > #<br /> > > > > > <br /> > > > > > <br /> > > > > > Vriendelijke groeten, > > > > > <br /> > > > > > <br /> > > > > > #session.dmprofile.firstname# > #session.dmprofile.lastname#. > > > > > <br /> > > > > > <br /> > > > > > http://#cgi.http_host#<br /> > > > > > > > <!--- if a file is submitted in the email ---> > > > > > <cfif arraylen(stemailberichten.aemailbestanden)> > > > > > > > <!--- loop over the selected emailbestanden ---> > > > > > <cfloop index="i" array="#stemailberichten.aemailbestanden#"> > > > > > > > <!--- get current dmfile item based on current aemailbestanden loop > > > > > array item ---> > > > > > <cfset obj = createObject > > > > > ('component',application.stcoapi.dmfile.typePath) /> > > > > > <cfset emailbestand = obj.getdata(objectid=i) /> > > > > > > > <!--- set file path ---> > > > > > <cfset file = "http://www." & listlast > > > > > (emailadresverzender.emailadres,"@") & "/ > > > > > files#emailbestand.filename#"> > > > > > > > <!--- set cfmailparam with current loop file ---> > > > > > <cfmailparam file="#file#"> > > > > > </cfloop> > > > > > > > </cfif> > > > > > > > <!--- if a image is submitted in the email ---> > > > > > <cfif arraylen(stemailberichten.aemailafbeeldingen)> > > > > > > > <!--- loop over the selected emailafbeeldingen ---> > > > > > <cfloop index="i" array="#stemailberichten.aemailafbeeldingen#"> > > > > > > > <!--- get current dmimage item based on current aemailafbeeldingen > > > > > loop array item ---> > > > > > <cfset obj = createObject > > > > > ('component',application.stcoapi.dmimage.typePath) /> > > > > > <cfset emailafbeelding = obj.getdata(objectid=i) /> > > > > > > > <!--- set image path ---> > > > > > <cfset file = "http://www." & listlast > > > > > (emailadresverzender.emailadres,"@") & emailafbeelding.sourceimage> > > > > > > > <!--- set cfmailparam with current loop file ---> > > > > > <cfmailparam file="#file#"> > > > > > </cfloop> > > > > > > > </cfif> > > > > > > > <cfmailparam name="Message-Id" value="<#messageid#>"> > > > > > <cfmailparam name="Reply-To" > value="#emailadresverzender.emailadres#"> > > > > > <cfmailparam name="MIME-Version" value="1.0"> > > > > > > > </cfmail> > > > > > > > </cfif> > > > > > > > </ft:processForm> > > > > > > > On Oct 28, 9:04 pm, Tomek Kott <[email protected]> wrote: > > > > > > it would probably help if you gave the entire "processForm" tag > code, > > > > > unless > > > > > > the code you gave is the only thing in there. > > > > > > > > On Wed, Oct 28, 2009 at 2:54 PM, Marco van den Oever < > > > > > > > > [email protected]> wrote: > > > > > > > > > OK, i have a custom type that uses bSessionOnly="true" so i can > set > > > > > > > the properties. > > > > > > > In the type i can use 2 array related fields, dmfile and > dmimage. > > > > > > > > > I have only one obj.createData in the "processForm" and the > > > > > > > processForm action name is unique to others on the same page... > > > > > > > > > Still, when i execute the code i get two db inserts, one is > using the > > > > > > > properties like i stated in my custom code: > > > > > > > > > <!--- write email to db ---> > > > > > > > <cfset obj = createObject > > > > > > > ('component',application.stcoapi.emailberichten.typePath) /> > > > > > > > <cfset stprops = {} /> > > > > > > > <cfset stprops.emailadresontvanger = emailadresontvangerlist /> > > > > > > > <cfset stprops.emailadresverzender = > emailadresverzender.emailadres /> > > > > > > > <cfset stprops.emailonderwerp = stemailberichten.emailonderwerp > /> > > > > > > > <cfset stprops.emailtekst = stemailberichten.emailtekst /> > > > > > > > <cfset stprops.label = stemailberichten.emailonderwerp /> > > > > > > > <cfset obj.createData(stProperties=stprops) /> > > > > > > > > > The other record inserts like it should when you don't use a > > > > > > > bSessionOnly="true". > > > > > > > > > Any insights, is it because there are related arrays > involved??? > > > > > > > > > Thanks. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message cos you are subscribed to "farcry-dev" Google group. To post, email: [email protected] To unsubscribe, email: [email protected] For more options: http://groups.google.com/group/farcry-dev -------------------------------- Follow us on Twitter: http://twitter.com/farcry -~----------~----~----~----~------~----~------~--~---
