めまぴークライアントのデモ7のソース
めまぴークライアントのデモ7の記事はこちらです。
■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 = 10> <!--- 通常 <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.page" default="1"> <cfparam name="form.id" default=""> <cfparam name="form.c1" default=""> <cfparam name="form.c2" default=""> <cfswitch expression = "#url.p#"> <!--- addEnd ---> <cfcase value="addEnd"> <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')#"> </cfhttp> </cfcase> <!--- updEnd ---> <cfcase value="updEnd"> <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="c2" value="#dateformat(request.now,'yyyy/mm/dd')# #timeformat(request.now, 'HH:mm:ss')#"> </cfhttp> </cfcase> </cfswitch> <cfif findnocase("end", url.p)> <cflocation url="index.cfm" addtoken="no"> </cfif> <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" default="1"> <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="c1c2_desc"> <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="#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 st = arguments.stru> <cfset var q = arguments.stru.data> <cfset QueryAddColumn(q, "jikan", arrayNew(1))> <cfloop query="q"> <cfif (q.c1 neq "") and (q.c2 neq "")> <cfset local.yyyy = left(q.c1, 4)> <cfset local.mm = mid(q.c1, 6, 2)> <cfset local.dd = mid(q.c1, 9, 2)> <cfset local.ji = mid(q.c1, 12, 2)> <cfset local.fun = mid(q.c1, 15, 2)> <cfset local.a = CreateDateTime(local.yyyy, local.mm, local.dd, local.ji, local.fun, 0)> <cfset local.yyyy = left(q.c2, 4)> <cfset local.mm = mid(q.c2, 6, 2)> <cfset local.dd = mid(q.c2, 9, 2)> <cfset local.ji = mid(q.c2, 12, 2)> <cfset local.fun = mid(q.c2, 15, 2)> <cfset local.b = CreateDateTime(local.yyyy, local.mm, local.dd, local.ji, local.fun, 0)> <cfset local.c = local.b - local.a> <cfset local.d = DateDiff("n", local.a, local.b)> <cfset local.e = DateDiff("h", local.a, local.b)> <cfset local.f = local.d - local.e * 60> <cfset local.g = right('0#local.e#',2) & ":" & right('0#local.f#',2)> <cfset QuerySetCell(q, "jikan", local.g, q.currentRow)> </cfif> </cfloop> <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> <form name="frm" method="post"> <input type="hidden" name="id" value=""> <table border="1"> <tr> <th>就寝</th> <th>起床</th> <th>時間</th> </tr> <cfloop query="q"> <cfif url.page eq 1> <cfif (q.c1 neq "") and (q.c2 neq "") and (q.currentRow eq 1)> <tr> <td><input type="button" value="就寝" onClick="js_add()"></td> <td> </td> <td> </td> </tr> </cfif> </cfif> <cfif (q.c2 eq "")> <tr> <td>#q.c1#</td> <td><input type="button" value="起床" onClick="js_upd('#q.id#')"></td> <td> </td> </tr> <cfelse> <tr> <td>#q.c1#</td> <td>#q.c2#</td> <td>#q.jikan#</td> </tr> </cfif> </cfloop> <cfif q.recordCount eq 0> <tr> <td><input type="button" value="就寝" onClick="js_add()"></td> <td> </td> <td> </td> </tr> </cfif> </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.cfm?page=#local.idx#">#local.idx#</a> </cfif> </cfloop> </form> <script language="JavaScript"> <!-- function js_add(){ with(document.frm){ action = "index.cfm?p=addEnd"; submit(); } } function js_upd(pID){ with(document.frm){ id.value = pID; action = "index.cfm?p=updEnd"; 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>