Etable/方法

出自六年制學程
跳轉到: 導覽搜尋

DB

  1. connect
  2. queryF
  3. parseDSN
  4. getDSNString
  5. numRows
  6. getResultValue

login

  1. login
  2. logon
  3. checkLogin
  4. overPageUrl
  5. overPageForm
  6. overPageConditionStr
  7. aINb
  8. quotedIdentifier
  9. encode
  10. showHTML
  11. js
    -----繼承-----
  12. connect
  13. queryF
  14. parseDSN
  15. getDSNString
  16. numRows
  17. getResultValue

函式使用情形

etable()

  1. 如未搭配 CMS (如xoops、mediawiki 等) => connect(DSN) // 連結資料庫
  2. 準備目前的年、月

main($showHTML=1)

  1. js(); // 基本 javascript 放入屬性 $this->javascriptStr
    // 前置顯示區
  2. 處理 css 放入 $this->htmlStr
  3. 處理 workControl
  4. 處理登入驗證或免驗證
    // 開始主程式主要部分
  5. 翻頁設定加入 $this->overPage
  6. 檢查是否送入SQL查詢
  7. 蒐尋表單傳入值前置處理
  8. 排序表單傳入值前置處理
  9. 解析sql,取總欄數,總表數
    1. ana_sql($sql)
      quoteSmart($sql)
      cutSql($sql)
      mergeSql($sql,$where,$order)
  10. ana_table() //解析諸表
  11. 單筆資料前置處理,含插畢、刪一筆、編一筆
    1. 插畢,不必處理rid,直接插入一筆
    2. 處理 rid
    3. 刪一筆
    4. 編一筆
  12. 批次資料前置處理:依 $this->batch 中函式名,一個一個執行一遍
  13. 取欲秀之資料
    1. 執行 $this->sql[0]
    2. ana_fields($result) // 分析諸欄屬性
    3. 如 $this->action 是插 => form_ins() // 若插入,造插一筆表單
      addElements($i,null) // 依 $this->formType 指示製造表單中各可「插、編」欄
      form_same($this->form,INSERT)
    4. mk_tbl($result) // 造出顯示陣列,含「造編一筆表單」
      mk_rows($tbl,$row) 將一筆一列塞入 $tbl
      如 $this->action 是編 => form_edit($row) // 若編,造編一筆表單
      addElements($i,$row[$i]) // 依 $this->formType 指示製造表單中各可「插、編」欄
      form_same($this->form,RENEW)
  14. 輸出蒐尋排序表單
    1. 檢查$this->search
    2. 檢查各蒐尋欄的 $this->formType[欄名][0],依指示造 date、radio、bitCheckbox、checkbox、select2、select22、searchSelect、其他
      其中的 select2 用 getFieldTable() 查出連動表單第二元素的表名與欄名,造 javascript 的 onChange='createOpt()' ,用「A表名_欄名」陣列處理連動選單
    3. 依 $this->order 造排序的 select 表單元件
    4. 以 hidden 表單元件,送出 exec_type=1
    5. 依 $_REQUEST['workControl'] 指示,送出相應的表單元件
  15. 表單輸入驗證的 javascript ,內含連動選單
    1. checkForm(idForm,dataSource,divID)
    2. checkRadio(name)
    3. onAjax(a)
      select2 用 getFieldTable() 查出連動表單第二元素的表名與欄名,造 javascript 的「A表名_欄名」陣列
  16. dispListDiv($this->dispType,$this->dispTypeHead) // 秀
    1. 各種 head :only_ins_head、no_head、std_head、calendar_head
      共用函式:up_link、up_links、newpageButton
    2. 如 $this->action 是插或編 => $this->form->display()
    3. 如 $this->batch => 調整 form 的 id 並造相應於 batch 的 form
    4. 各種 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)
  17. draw() // 畫統計圖

form_same($form,$prompt) // 插表單與編表單共同部分

overPageXoopsForm($form,$this->overPage)

quoteSmart($str,$switch) // 交待加反斜或不加反斜,用於處理 sql 字串

未使用

  1. anaEditable($editable) // 將插、編、刪屬性解析成陣列三元素傳回
  2. todatetime($secend=0,$br=) // 秒換算成日期
  3. search(…) // 早期的 mkphp.php 須在工作程式中產生蒐尋表單,現在蒐尋表單會自動生成,因此本方法已無用。

mkphp.php

  1. mkphp($sql)
  2. cuts($start,$end,$str,$se=null)
  3. decode($row['moreCol'])

etable

  1. etable
  2. main
  3. cutSql
  4. mergeSql
  5. ana_sql
  6. ana_table
  7. ana_fields
  8. getFieldTable
  9. mk_tbl
  10. mk_rows
  11. dispListDiv
  12. up_link
  13. up_links
  14. newpageButton
  15. only_ins_head
  16. no_head
  17. std_head
  18. calendar_head
  19. no_thing
  20. mk_a
  21. orderSecondaryArray
  22. disp_table
  23. disp_text
  24. disp_text_all
  25. disp_sentence
  26. disp_calendar
  27. colValue
  28. disp_wall
  29. overPageXoopsForm
  30. form_same
  31. form_edit
  32. form_ins
  33. addElements
  34. draw
  35. anaEditable
  36. mkphp
  37. quoteSmart
  38. todatetime
  39. textdisp
  40. decode
  41. cuts
  42. search
    -----繼承-----
  43. login
  44. logon
  45. checkLogin
  46. overPageUrl
  47. overPageForm
  48. overPageConditionStr
  49. aINb
  50. quotedIdentifier
  51. encode
  52. showHTML
  53. js
  54. connect
  55. queryF
  56. parseDSN
  57. getDSNString
  58. numRows
  59. getResultValue

均優的使用者定義函式

  1. strfold
  2. half
  3. replaces
  4. cuts
  5. r2a
  6. wfexplodemarkup
  7. wfurlprotocols
  8. desrcset
  9. srcdecode
  10. cuttag
  11. webcontent
  12. agendalist
  13. agendacalendar
  14. mysqli_result
  15. mimetex