めまぴークライアントのデモ5のソース
めまぴークライアントのデモ5と6の記事はこちらです。
■Application.cfm
<cfsetting enableCFoutputOnly="yes"> <!--- session有効時間は20分 ---> <cfapplication name="#hash( getCurrentTemplatePath() )#" clientmanagement="Yes" sessionmanagement="yes" loginStorage="session" sessiontimeout=#CreateTimeSpan(0, 0, 20, 0)# > <!---=================================== 設定 ====================================---> <cfparam name="session.yyyy" default="#dateformat(now(), 'yyyy')#"> <cfparam name="session.mm" default="#dateformat(now(), 'mm')#"> <cfparam name="session.dd" default="#dateformat(now(), 'dd')#"> <cfparam name="session.word" default=""> <cfparam name="session.chk" default="#dateformat(now(), 'yyyy/mm/dd')#"> <!--- 通常 <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.m1" default=""> <cfparam name="form.i1" default=""> <cfparam name="session.user_id" default=""> <cfparam name="session.key" default=""> <cfparam name="session.cat_id" default=""> <cfparam name="session.title" default=""> <cfswitch expression = "#url.p#"> <!--- init ---> <cfcase value="init"> <cfset session.user_id = url.user_id> <cfset session.key = url.key> <cfset session.cat_id = url.cat_id> <cfset session.title = url.title> </cfcase> <!--- srch ---> <cfcase value="srch"> <cfset session.word = form.word> <cfset session.chk = form.chk> </cfcase> <!--- addEnd ---> <cfcase value="addEnd"> <cfhttp url="#request.url#dataAddEx" proxyServer = "#request.proxyServer#" proxyPort = "#request.proxyPort#" method="post"> <cfhttpparam type="formField" name="user_id" value="#session.user_id#"> <cfhttpparam type="formField" name="key" value="#session.key#"> <cfhttpparam type="formField" name="cat_id" value="#session.cat_id#"> <cfhttpparam type="formField" name="c1" value="#form.yyyy#/#form.mm#/#form.dd#"> <cfhttpparam type="formField" name="c2" value="#dateformat(request.now, 'yyyy/mm/dd')# #timeformat(request.now, 'HH:mm:ss')#"> <cfhttpparam type="formField" name="m1" value="#form.m1#"> </cfhttp> <cfset session.yyyy = form.yyyy> <cfset session.mm = form.mm> <cfset session.dd = form.dd> </cfcase> <!--- updEnd ---> <cfcase value="updEnd"> <cfhttp url="#request.url#dataUpdEx" proxyServer = "#request.proxyServer#" proxyPort = "#request.proxyPort#" method="post"> <cfhttpparam type="formField" name="user_id" value="#session.user_id#"> <cfhttpparam type="formField" name="key" value="#session.key#"> <cfhttpparam type="formField" name="cat_id" value="#session.cat_id#"> <cfhttpparam type="formField" name="id" value="#form.id#"> <cfhttpparam type="formField" name="c1" value="#form.yyyy#/#form.mm#/#form.dd#"> <cfhttpparam type="formField" name="c3" value="#dateformat(request.now, 'yyyy/mm/dd')# #timeformat(request.now, 'HH:mm:ss')#"> <cfhttpparam type="formField" name="m1" value="#form.m1#"> </cfhttp> <cfset session.yyyy = form.yyyy> <cfset session.mm = form.mm> <cfset session.dd = form.dd> </cfcase> <!--- delEnd ---> <cfcase value="delEnd"> <cfhttp url="#request.url#dataDelEx" proxyServer = "#request.proxyServer#" proxyPort = "#request.proxyPort#" method="post"> <cfhttpparam type="formField" name="user_id" value="#session.user_id#"> <cfhttpparam type="formField" name="key" value="#session.key#"> <cfhttpparam type="formField" name="cat_id" value="#session.cat_id#"> <cfhttpparam type="formField" name="id" value="#form.id#"> </cfhttp> </cfcase> </cfswitch> <cfif "#session.user_id##session.key##session.cat_id##session.title#" eq ""> <cfoutput>sessionが切れたか、必要なsession変数に値がありません。</cfoutput> <cfabort> </cfif> <cfif findnocase("end", url.p)> <cflocation url="index.cfm" addtoken="no"> </cfif> <cfparam name="form.id" default=""> <cfparam name="form.yyyy" default="#session.yyyy#"> <cfparam name="form.mm" default="#session.mm#"> <cfparam name="form.dd" default="#session.dd#"> <cfparam name="form.c2" default=""> <cfparam name="form.c3" default=""> <cfparam name="form.m1" default=""> <cfparam name="form.flg" default="add"> <cfif url.p eq "upd"> <cfset st = cst_getData(url.id, url.page)> <cfset form.id = st.data.id> <cfset form.yyyy = ListGetAt(st.data.c1, 1, "/")> <cfset form.mm = ListGetAt(st.data.c1, 2, "/")> <cfset form.dd = ListGetAt(st.data.c1, 3, "/")> <cfset form.c2 = st.data.c2> <cfset form.c3 = st.data.c3> <cfset form.m1 = st.data.m1> <cfset form.flg = "upd"> </cfif> <cfset fm = cst_fm()> <cfset st = cst_getData("", url.page)> <cfset cst_layout(st,fm)> <!---================================================================= cst_getData ==================================================================---> <cffunction name="cst_getData" access="public" returnType="struct" output="no"> <cfargument name="id" type="string" required="yes"> <cfargument name="page" type="string" default="1"> <cfhttp url = "#request.url#dataGetEx" proxyServer = "#request.proxyServer#" proxyPort = "#request.proxyPort#" method="post"> <cfhttpparam type="formField" name="user_id" value="#session.user_id#"> <cfhttpparam type="formField" name="key" value="#session.key#"> <cfhttpparam type="formField" name="id" value="#arguments.id#"> <cfhttpparam type="formField" name="cat_id" value="#session.cat_id#"> <cfhttpparam type="formField" name="fil_id" value="c1c2_desc"> <cfhttpparam type="formField" name="fld_list" value="id,cat_id,c1,c2,c3,m1"> <cfhttpparam type="formField" name="srch_fld" value="m1"> <cfhttpparam type="formField" name="word" value="#session.word#"> <cfhttpparam type="formField" name="fromto_fld" value="c1"> <cfhttpparam type="formField" name="from" value="#session.chk#"> <cfhttpparam type="formField" name="to" value="#session.chk#"> <cfhttpparam type="formField" name="row" value="10"> <cfhttpparam type="formField" name="page" value="#arguments.page#"> <cfhttpparam type="formField" name="type" value="wddx"> <cfhttpparam type="formField" name="debug" value=""> </cfhttp> <cfwddx action="wddx2cfml" input="#cfhttp.filecontent#" output="outData"> <cfreturn outdata> </cffunction> <!---================================================================= cst_fm ==================================================================---> <cffunction name="cst_fm" access="public" returnType="string" output="no"> <cfset var local = structNew()> <cfsavecontent variable = "local.tmp"> <cfoutput> <form name="frm_in" action="index.cfm?p=addEnd" method="post"> <input type="hidden" name="page" value="1"> <input type="hidden" name="id" value="#form.id#"> <select name="yyyy"> <cfset local.from = dateformat(DateAdd("yyyy", -1, request.now), "yyyy")> <cfset local.to = local.from + 2> <cfloop index="local.idx" from="#local.from#" to="#local.to#"> <option value="#local.idx#" <cfif form.yyyy eq local.idx>selected</cfif>>#local.idx#</option> </cfloop> </select> 年 <select name="mm"> <cfloop index="local.idx" from="1" to="12"> <cfset local.tmp = right("0" & local.idx, 2)> <option value="#local.tmp#" <cfif form.mm eq local.tmp>selected</cfif>>#local.tmp#</option> </cfloop> </select> 月 <select name="dd"> <cfloop index="local.idx" from="1" to="31"> <cfset local.tmp = right("0" & local.idx, 2)> <option value="#local.tmp#" <cfif form.dd eq local.tmp>selected</cfif>>#local.tmp#</option> </cfloop> </select> 日 <input type="button" value="本日にリセット" onClick="js_today()"> <br> <textarea name="m1" cols="70" rows="2">#form.m1#</textarea> <br> <cfif form.flg eq "add"> <input type="button" value="登録" onClick="js_add()"> <cfelse> 作成日時:#form.c2# #repeatString(" ", 5)# 更新日時:#form.c3# <br> <input type="button" value="更新" onClick="js_upd()"> <input type="button" value="削除" onClick="js_del()"> </cfif> <br> <br> </form> </cfoutput> </cfsavecontent> <cfreturn local.tmp> </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 st = arguments.stru> <cfset var local = structNew()> <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>#session.title#</title> <meta name="keywords" content="めまぴー,memapi" /> <meta name="description" content="#session.title#です。" /> <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">#session.title#</a></h1> <cfset local.url = "#lcase(ListFirst(cgi.server_protocol,"/"))#://#cgi.server_name#:#cgi.server_port##cgi.script_name#"> <cfset local.url = ListDeleteAt(local.url, ListLen(local.url, "/"), "/") & "/"> <cfset local.url = "#local.url#../6/"> <h2>by <a href="#local.url#">めまぴークライアントのデモ(日記)</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> <!-- menu --> <div class="menu"> <p class="title">検索</p> <form name="frm_srch" action="index.cfm?p=srch" method="post"> <table> <tr> <td> <input type="text" name="word" id="word" value="#session.word#"><br> </td> </tr> <tr> <td> <cfset local.today = dateformat(request.now, 'yyyy/mm/dd')> <cfset local.yesterday = dateformat(DateAdd('d', -1, request.now), 'yyyy/mm/dd')> <select name="chk" id="chk"> <option value=""></option> <option value="#local.today#" <cfif session.chk eq local.today>selected</cfif> >本日</option> <option value="#local.yesterday#" <cfif session.chk eq local.yesterday>selected</cfif>>昨日</option> </select> </td> </tr> <tr> <td> <input type="submit" value="検索"> </td> </tr> </table> </form> <!-- /.menu --></div> <!-- /##left --></div> <!-- center --> <div id="center"> <!-- content --> <div id="content"> <h3>#session.title#</h3> #arguments.fm# <cfif st.recCount neq 0> <table border="1"> <!--- <tr> <th>日付</th> <th>メモ</th> </tr> ---> <cfloop query="st.data"> <tr> <td><a href="index.cfm?p=upd&id=#st.data.id#">#st.data.c1#</a></td> <td>#HTMLEditFormat(st.data.m1)#</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.cfm?page=#local.idx#">#local.idx#</a> </cfif> </cfloop> </cfif> <!-- /##content --></div> <!-- /##center --></div> <div class="clearblock"/> <!-- footer --> <div id="footer"> <table border="0"> <tr> <td>user_id:#session.user_id#</td> <td width="10"> </td> <td>key:#session.key#</td> </tr> </table> <!-- /##footer --></div> <!-- /##container --></div> <script language="JavaScript"> document.frm_in.m1.focus(); </script> </body> </html> </cfoutput> </cffunction>