めまぴークライアントのデモ9のソース
めまぴークライアントのデモ9の記事はこちらです。
■Application.cfm
<cfprocessingdirective pageEncoding = "UTF-8"> <cfsetting enableCFoutputOnly="yes"> <cfapplication name="#hash( getCurrentTemplatePath() )#" clientmanagement="Yes" sessionmanagement="yes" loginStorage="session" sessiontimeout=#CreateTimeSpan(1, 0, 0, 0)# > <!---=================================== 設定 ====================================---> <cfparam name="cookie.user_id" default=""> <cfparam name="cookie.key" default=""> <cfset request.user_id = cookie.user_id> <cfset request.key = cookie.key> <cfset request.cat_id = 11> <!--- 通常 <cfset request.proxyServer = ""> <cfset request.proxyPort = "80"> ---> <!--- 会社 <cfset request.proxyServer = "xx.xx.xx.xx"> <cfset request.proxyPort = "xx"> ---> <cfset request.proxyServer = ""> <cfset request.proxyPort = "80"> <cfset request.url = "http://memapi.utalab.com/index.cfm?go="> <!--- 現在のサーバー時刻から 世界標準時 (UTC: Universal Time Coordinated) からの相対情報を取得し、 9時間プラスすることにより日本時間とする。 ---> <cfset info = GetTimeZoneInfo()> <cfset UTC = DateAdd("h", info.utcHourOffset, now())> <cfset request.now = DateAdd("h", 9, UTC)>
■index.cfm
<cfprocessingdirective pageEncoding = "UTF-8"> <!---///////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////---> <cfparam name="url.p" default=""> <cfparam name="url.key" default=""> <cfswitch expression = "#url.p#"> <!--- addEnd ---> <cfcase value="addEnd"> <cfset url.key = lcase(hash(createUUID()))> <cfhttp url="#request.url#dataAddEx" method="post"> <cfhttpparam type="formField" name="user_id" value="#request.user_id#"> <cfhttpparam type="formField" name="key" value="#request.key#"> <cfhttpparam type="formField" name="cat_id" value="#request.cat_id#"> <cfhttpparam type="formField" name="c1" value="#dateformat(request.now,'yyyy/mm/dd')# #timeformat(request.now,"HH:mm:ss.")##right("00" & timeformat(request.now,"l"),3)#"> <cfhttpparam type="formField" name="c2" value="#url.key#"> <cfhttpparam type="formField" name="c3" value="#form.c3#"> <cfhttpparam type="formField" name="i1" value="0"> </cfhttp> <cflocation url="index.cfm?key=#url.key#" addtoken="no"> </cfcase> </cfswitch> <cfif url.key neq ""> <!--- from=toにより完全一致を実現 ---> <cfhttp url="#request.url#dataGetEx" method="post"> <cfhttpparam type="formField" name="user_id" value="#request.user_id#"> <cfhttpparam type="formField" name="key" value="#request.key#"> <cfhttpparam type="formField" name="cat_id" value="#request.cat_id#"> <cfhttpparam type="formField" name="fil_id" value="11I1_0"> <cfhttpparam type="formField" name="fld_list" value="cat_id,id,c1,c2"> <cfhttpparam type="formField" name="fromto_fld" value="c2"> <cfhttpparam type="formField" name="from" value="#url.key#"> <cfhttpparam type="formField" name="to" value="#url.key#"> <cfhttpparam type="formField" name="row" value="10"> <cfhttpparam type="formField" name="page" value="1"> <cfhttpparam type="formField" name="type" value="wddx"> </cfhttp> <cfwddx action="wddx2cfml" input="#cfhttp.filecontent#" output="outData"> <cfif outData.recCount eq 0> <cfsavecontent variable="fm"> <cfoutput> <br> 既に処理が終わったか、該当データがありません。 </cfoutput> </cfsavecontent> <cfelse> <cfhttp url="#request.url#dataGetEx" method="post"> <cfhttpparam type="formField" name="user_id" value="#request.user_id#"> <cfhttpparam type="formField" name="key" value="#request.key#"> <cfhttpparam type="formField" name="cat_id" value="#request.cat_id#"> <cfhttpparam type="formField" name="fil_id" value="11I1_0"> <cfhttpparam type="formField" name="fld_list" value="cat_id,id,c1,c2"> <cfhttpparam type="formField" name="fromto_fld" value="c1"> <cfhttpparam type="formField" name="to" value="#outData.data.c1#"> <cfhttpparam type="formField" name="row" value="10"> <cfhttpparam type="formField" name="page" value="1"> <cfhttpparam type="formField" name="type" value="wddx"> </cfhttp> <cfwddx action="wddx2cfml" input="#cfhttp.filecontent#" output="outData"> <cfsavecontent variable="fm"> <cfoutput> <br> あと#evaluate("outData.recCount -1")#件待ちです。<br> <br> このURLをブックマークに登録しておくと、何件待ちか確認できます。 </cfoutput> </cfsavecontent> </cfif> <cfelse> <cfset fm = cst_fm()> </cfif> <cfset st = cst_getData()> <cfset cst_layout(st, fm)> <!---================================================================= cst_fm ==================================================================---> <cffunction name="cst_fm" access="public" returnType="string" output="yes"> <cfset var local = structNew()> <cfsavecontent variable="local.tmp"> <cfoutput> <br> <form name="frm" method="post"> <table> <tr> <th>お名前</th> <td><input type="text" name="c3"></td> </tr> </table> <input type="button" value="add" onClick="js_add()"> </form> <script language="JavaScript"> <!-- function js_add(){ with(document.frm){ if(confirm("add OK?")){ action = "index.cfm?p=addEnd"; submit(); } } } //--> </script> </cfoutput> </cfsavecontent> <cfreturn local.tmp> </cffunction> <!---================================================================= cst_getData ==================================================================---> <cffunction name="cst_getData" access="public" returnType="struct" output="no"> <cfhttp url="#request.url#dataGetEx" method="post"> <cfhttpparam type="formField" name="user_id" value="#request.user_id#"> <cfhttpparam type="formField" name="key" value="#request.key#"> <cfhttpparam type="formField" name="cat_id" value="#request.cat_id#"> <cfhttpparam type="formField" name="fil_id" value="11I1_0"> <cfhttpparam type="formField" name="fld_list" value="cat_id,id,c1,c2"> <cfhttpparam type="formField" name="row" value="10"> <cfhttpparam type="formField" name="page" value="1"> <cfhttpparam type="formField" name="type" value="wddx"> </cfhttp> <cfwddx action="wddx2cfml" input="#cfhttp.filecontent#" output="outData"> <cfreturn outData> </cffunction> <!---================================================================= cst_layout ==================================================================---> <cffunction name="cst_layout" access="public" returnType="void" output="yes"> <cfargument name="stru" type="struct" required="yes"> <cfargument name="fm" type="string" required="yes"> <cfset var local= structNew()> <cfset var st = arguments.stru> <cfoutput> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="content-style-type" content="text/css; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>めまぴークライアントのデモ(待ち行列)</title> <meta name="keywords" content="めまぴー,memapi" /> <meta name="description" content="めまぴークライアントのデモ(待ち行列)です。" /> <link href="common.css" rel="stylesheet" type="text/css" media="all" /> <script type="text/javascript" src="common.js"></script> <script type="text/javascript" src="index.js"></script> </head> <body> <!-- container --> <div id="container"> <!-- header --> <div id="header"> <!-- left --> <div class="left"> <h1><a href="index.cfm" accesskey="1">めまぴークライアントのデモ(待ち行列)</a></h1> <h2>by <a href="http://memapi.utalab.com/" target="_blank">めまぴー</a></h2> <!-- /.left --></div> <!-- right --> <div class="right"> <!-- /.right --></div> <!-- /##header --></div> <div class="clearblock"/> <!-- left --> <div id="left"> <!-- menu --> <div class="menu"> <p class="title">STATUS</p> <table> <tr> <th>ret</th> <td align="right" id="ret">#st.ret#</td> </tr> <tr> <th>pageCount</th> <td align="right" id="pageCount">#st.pageCount#</td> </tr> <tr> <th>recCount</th> <td align="right" id="recCount">#st.recCount#</td> </tr> </table> <!-- /.menu --></div> <!-- /##left --></div> <!-- center --> <div id="center"> <!-- content --> <div id="content"> <h3>待ち行列</h3> #arguments.fm# <!-- /##content --></div> <!-- /##center --></div> <div class="clearblock"/> <!-- footer --> <div id="footer"> <form name="frm_cookie"> <table border="0" width="100%"> <tr> <td>user_id:<input type="text" name="user_id" id="user_id" value="#request.user_id#"></td> <td>key:<input type="text" name="key" id="key" value="#request.key#"></td> <td> <input type="button" value="cookie change" onClick="js_cookie()"> <input type="button" value="cookie delete" onClick="js_cookie_del()"> </td> </tr> </table> </form> <!-- /##footer --></div> <!-- /##container --></div> </body> </html> </cfoutput> </cffunction>
■index_k.cfm
<cfprocessingdirective pageEncoding = "UTF-8"> <!---///////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////---> <cfparam name="url.p" default=""> <cfparam name="url.page" default="1"> <cfswitch expression = "#url.p#"> <!--- exec ---> <cfcase value="exec"> <cfhttp url="#request.url#dataUpdEx" method="post"> <cfhttpparam type="formField" name="user_id" value="#request.user_id#"> <cfhttpparam type="formField" name="key" value="#request.key#"> <cfhttpparam type="formField" name="cat_id" value="#request.cat_id#"> <cfhttpparam type="formField" name="id" value="#form.id#"> <cfhttpparam type="formField" name="i1" value="1"> </cfhttp> </cfcase> </cfswitch> <cfset st = cst_getData(url.page)> <cfset cst_layout(st)> <!---================================================================= cst_getData ==================================================================---> <cffunction name="cst_getData" access="public" returnType="struct" output="no"> <cfargument name="page" type="string" required="yes"> <cfhttp url="#request.url#dataGetEx" method="post"> <cfhttpparam type="formField" name="user_id" value="#request.user_id#"> <cfhttpparam type="formField" name="key" value="#request.key#"> <cfhttpparam type="formField" name="cat_id" value="#request.cat_id#"> <cfhttpparam type="formField" name="fil_id" value="11I1_0"> <cfhttpparam type="formField" name="fld_list" value="cat_id,id,c1,c2,c3"> <cfhttpparam type="formField" name="row" value="10"> <cfhttpparam type="formField" name="page" value="#arguments.page#"> <cfhttpparam type="formField" name="type" value="wddx"> </cfhttp> <cfwddx action="wddx2cfml" input="#cfhttp.filecontent#" output="outData"> <cfreturn outdata> </cffunction> <!---================================================================= cst_layout ==================================================================---> <cffunction name="cst_layout" access="public" returnType="void" output="yes"> <cfargument name="stru" type="struct" required="yes"> <cfset var local= structNew()> <cfset var qry = ""> <cfoutput> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="content-style-type" content="text/css; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>めまぴークライアントのデモ(待ち行列)</title> <meta name="keywords" content="めまぴー,memapi" /> <meta name="description" content="めまぴークライアントのデモ(待ち行列)です。" /> <link href="common.css" rel="stylesheet" type="text/css" media="all" /> <script type="text/javascript" src="common.js"></script> <script type="text/javascript" src="index.js"></script> </head> <body> <!-- container --> <div id="container"> <!-- header --> <div id="header"> <!-- left --> <div class="left"> <h1><a href="index_k.cfm" accesskey="1">めまぴークライアントのデモ(待ち行列)</a></h1> <h2>by <a href="http://memapi.utalab.com/" target="_blank">めまぴー</a></h2> <!-- /.left --></div> <!-- right --> <div class="right"> <!-- /.right --></div> <!-- /##header --></div> <div class="clearblock"/> <!-- left --> <div id="left"> <!-- menu --> <div class="menu"> <p class="title">STATUS</p> <table> <tr> <th>ret</th> <td align="right" id="ret">#st.ret#</td> </tr> <tr> <th>pageCount</th> <td align="right" id="pageCount">#st.pageCount#</td> </tr> <tr> <th>recCount</th> <td align="right" id="recCount">#st.recCount#</td> </tr> </table> <!-- /.menu --></div> <!-- /##left --></div> <!-- center --> <div id="center"> <!-- content --> <div id="content"> <h3>待ち行列</h3> <cfif arguments.stru.recCount eq 0> 行列はありません。 <cfelse> <cfset qry = arguments.stru.data> <form name="frm" method="post"> <input type="hidden" name="id" value=""> #arguments.stru.recCount# rec <table border="1"> <tr> <th>登録日時</th> <th>登録者</th> </tr> <cfloop query="qry"> <tr> <td> <cfif (qry.currentRow eq 1) and (url.page eq 1)> <a href="javascript:js_exec(#qry.id#)">#qry.c1#</a> <cfelse> #qry.c1# </cfif> </td> <td>#qry.c3#</td> </tr> </cfloop> </table> page: <cfloop index="local.idx" from="1" to="#st.pageCount#"> <cfif local.idx eq url.page> <strong>#local.idx#</strong> <cfelse> <a href="index_k.cfm?page=#local.idx#">#local.idx#</a> </cfif> </cfloop> </form> </cfif> <script language="JavaScript"> <!-- function js_exec(pID){ with(document.frm){ if(confirm("syori OK?")){ id.value = pID; action = "index_k.cfm?p=exec"; submit(); } } } //--> </script> <!-- /##content --></div> <!-- /##center --></div> <div class="clearblock"/> <!-- footer --> <div id="footer"> <form name="frm_cookie"> <table border="0" width="100%"> <tr> <td>user_id:<input type="text" name="user_id" id="user_id" value="#request.user_id#"></td> <td>key:<input type="text" name="key" id="key" value="#request.key#"></td> <td> <input type="button" value="cookie change" onClick="js_cookie()"> <input type="button" value="cookie delete" onClick="js_cookie_del()"> </td> </tr> </table> </form> <!-- /##footer --></div> <!-- /##container --></div> </body> </html> </cfoutput> </cffunction>