Etable/方法
出自六年制學程
DB
- connect
- queryF
- parseDSN
- getDSNString
- numRows
- getResultValue
login
- login
- logon
- checkLogin
- overPageUrl
- overPageForm
- overPageConditionStr
- aINb
- quotedIdentifier
- encode
- showHTML
- js
-----繼承----- - connect
- queryF
- parseDSN
- getDSNString
- numRows
- getResultValue
函式使用情形
etable()
- 如未搭配 CMS (如xoops、mediawiki 等) => connect(DSN) // 連結資料庫
- 準備目前的年、月
main($showHTML=1)
- js(); // 基本 javascript 放入屬性 $this->javascriptStr
// 前置顯示區 - 處理 css 放入 $this->htmlStr
- 處理 workControl
- 處理登入驗證或免驗證
// 開始主程式主要部分 - 翻頁設定加入 $this->overPage
- 檢查是否送入SQL查詢
- 蒐尋表單傳入值前置處理
- 排序表單傳入值前置處理
- 解析sql,取總欄數,總表數
- ana_sql($sql)
- quoteSmart($sql)
- cutSql($sql)
- mergeSql($sql,$where,$order)
- ana_sql($sql)
- ana_table() //解析諸表
- 單筆資料前置處理,含插畢、刪一筆、編一筆
- 插畢,不必處理rid,直接插入一筆
- 處理 rid
- 刪一筆
- 編一筆
- 批次資料前置處理:依 $this->batch 中函式名,一個一個執行一遍
- 取欲秀之資料
- 執行 $this->sql[0]
- ana_fields($result) // 分析諸欄屬性
- 如 $this->action 是插 => form_ins() // 若插入,造插一筆表單
- addElements($i,null) // 依 $this->formType 指示製造表單中各可「插、編」欄
- form_same($this->form,INSERT)
- mk_tbl($result) // 造出顯示陣列,含「造編一筆表單」
- mk_rows($tbl,$row) 將一筆一列塞入 $tbl
- 如 $this->action 是編 => form_edit($row) // 若編,造編一筆表單
- addElements($i,$row[$i]) // 依 $this->formType 指示製造表單中各可「插、編」欄
- form_same($this->form,RENEW)
- 如 $this->action 是編 => form_edit($row) // 若編,造編一筆表單
- mk_rows($tbl,$row) 將一筆一列塞入 $tbl
- 輸出蒐尋排序表單
- 檢查$this->search
- 檢查各蒐尋欄的 $this->formType[欄名][0],依指示造 date、radio、bitCheckbox、checkbox、select2、select22、searchSelect、其他
- 其中的 select2 用 getFieldTable() 查出連動表單第二元素的表名與欄名,造 javascript 的 onChange='createOpt()' ,用「A表名_欄名」陣列處理連動選單
- 依 $this->order 造排序的 select 表單元件
- 以 hidden 表單元件,送出 exec_type=1
- 依 $_REQUEST['workControl'] 指示,送出相應的表單元件
- 表單輸入驗證的 javascript ,內含連動選單
- checkForm(idForm,dataSource,divID)
- checkRadio(name)
- onAjax(a)
- select2 用 getFieldTable() 查出連動表單第二元素的表名與欄名,造 javascript 的「A表名_欄名」陣列
- dispListDiv($this->dispType,$this->dispTypeHead) // 秀
- 各種 head :only_ins_head、no_head、std_head、calendar_head
共用函式:up_link、up_links、newpageButton - 如 $this->action 是插或編 => $this->form->display()
- 如 $this->batch => 調整 form 的 id 並造相應於 batch 的 form
- 各種 body :no_thing(內容在工作程式中定義)、disp_table、disp_text、disp_text_all、disp_sentence、disp_calendar、disp_wall(只取第一個欄,應為演算式)
共用函式:colValue(第幾欄,$value,$row) // 表現欄值
其下的blob欄(含text欄、bolb欄)會使用到 textdisp($value) ,執行 nl2br
連動選單專用函式:mk_a(用於各種body)、orderSecondaryArray(用於mk_a)
- 各種 head :only_ins_head、no_head、std_head、calendar_head
- draw() // 畫統計圖
form_same($form,$prompt) // 插表單與編表單共同部分
- overPageXoopsForm($form,$this->overPage)
quoteSmart($str,$switch) // 交待加反斜或不加反斜,用於處理 sql 字串
未使用
- anaEditable($editable) // 將插、編、刪屬性解析成陣列三元素傳回
- todatetime($secend=0,$br=) // 秒換算成日期
- search(…) // 早期的 mkphp.php 須在工作程式中產生蒐尋表單,現在蒐尋表單會自動生成,因此本方法已無用。
mkphp.php
- mkphp($sql)
- cuts($start,$end,$str,$se=null)
- decode($row['moreCol'])
etable
- etable
- main
- cutSql
- mergeSql
- ana_sql
- ana_table
- ana_fields
- getFieldTable
- mk_tbl
- mk_rows
- dispListDiv
- up_link
- up_links
- newpageButton
- only_ins_head
- no_head
- std_head
- calendar_head
- no_thing
- mk_a
- orderSecondaryArray
- disp_table
- disp_text
- disp_text_all
- disp_sentence
- disp_calendar
- colValue
- disp_wall
- overPageXoopsForm
- form_same
- form_edit
- form_ins
- addElements
- draw
- anaEditable
- mkphp
- quoteSmart
- todatetime
- textdisp
- decode
- cuts
- search
-----繼承----- - login
- logon
- checkLogin
- overPageUrl
- overPageForm
- overPageConditionStr
- aINb
- quotedIdentifier
- encode
- showHTML
- js
- connect
- queryF
- parseDSN
- getDSNString
- numRows
- getResultValue
均優的使用者定義函式
- strfold
- half
- replaces
- cuts
- r2a
- wfexplodemarkup
- wfurlprotocols
- desrcset
- srcdecode
- cuttag
- webcontent
- agendalist
- agendacalendar
- mysqli_result
- mimetex