Menu

[r52]: / src / functions / functions.cs  Maximize  Restore  History

Download this file

135 lines (115 with data), 3.9 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# function: fieldreplace
#
# create a php string with database fields from between [[]] tokens
# function: multiply
#
# create code to search fields between [[]] tokens
#set getvars=''
#set data_connection=0
# Field of type: data ... [<front>[<field>]<back>] ... rest
#function doreplace str fid fnr
#set result=str
#match str with \([^[]*\)\[\([^[]*\)\[\([^]]*\)\]\([^]]*\)\]\(.*\) into front,before,name,after,back
#match name with \([^.-]+\)\.?\([^-]*\)-\([^.-]+\)\.\([^:]+\):\(.*\) into fr_table,fr_field,lk_table,lk_field,lk_show
#set name=lk_table ^ '_' ^ lk_show
#end
#if before<>'' or after<>''
#set getvars=getvars ^ ' if ($sql->data[F' ^ fid ^ '_' ^ string_of_int fnr ^']==\'\') {$' ^ name ^ '_' ^ fid ^ '=\'\';} else {$' ^ name ^ '_' ^ fid ^ '=\'' ^ before ^ '\'.htmlspecialchars($sql->data[F' ^ fid ^ '_' ^ string_of_int fnr ^']).\'' ^ after ^ '\';};\n'
#else
#set getvars=getvars ^ ' $' ^ name ^ '_' ^ fid ^ '=htmlspecialchars($sql->data[F' ^ fid ^ '_' ^ string_of_int fnr ^']);\n'
#end
#set result=front ^ '$' ^ name ^ '_' ^ fid ^ doreplace back fid (fnr+1)
#end
#set doreplace=result
#end
#function fieldreplace str fid
#set result=''
#set getvars=''
#match str with \([^[]*\)\[\([^[]*\)\[\([^]]*\)\]\([^]]*\)\]\(.*\)
#set result=doreplace str fid 1
#end
#if result=''
#set result=str
#end
#set fieldreplace=result
#end
#set qryorder=''
#set qryjoin=''
#function queryvars table str fnr snr
#set result=''
#match str with \([^[]*\)\[\([^[]*\)\[\([^]]*\)\]\([^]]*\)\]\(.*\) into front,before,name,after,back
#if snr=1
#set qryorder='ORDER BY '
#else
#set qryorder=qryorder ^ ', '
#end
#set m=false
#match name with \([^.-]+\)\.?\([^-]*\)-\([^.-]+\)\.\([^:]+\):\(.*\) into fr_table,fr_field,lk_table,lk_field,lk_show
#if fr_field=''
#set fr_field='`' ^ table ^ '`.`' ^ fr_table ^ '`'
#set fr_table=table
#else
#set fr_field='`' ^ fr_table ^ '`.`' ^ fr_field ^ '`'
#end
#set qryjoin = qryjoin ^ ' LEFT JOIN `' ^ lk_table ^ '` ON `' ^ lk_table ^ '`.`' ^ lk_field ^ '`=' ^ fr_field
#set result='`' ^ lk_table ^ '`.`' ^ lk_show ^ '` as F' ^ fnr ^ '_' ^ string_of_var snr
#set qryorder=qryorder ^ '`' ^ lk_table ^ '`.`' ^ lk_show ^ '`'
#set m=true
#end
#match name with \([^.-]+\)\.\([^-]+\) into lk_table,lk_field
#if m=false
#set result='`' ^ lk_table ^ '`.`' ^ lk_show ^ '` as F' ^ fnr ^ '_' ^ string_of_var snr
#set qryorder=qryorder ^ '`' ^ lk_table ^ '`.`' ^ lk_show ^ '`'
#set m=true
#end
#end
#if m=false
#if table<>''
#set result='`' ^ table ^ '`.'
#set qryorder=qryorder ^ '`' ^ table ^ '`.'
#else
#set result=''
#end
#set result=result ^ '`' ^ name ^ '` as F' ^ fnr ^ '_' ^ string_of_var snr
#set qryorder=qryorder ^ '`' ^ name ^ '`'
#end
#set next=queryvars table back fnr (snr+1)
#if next<>''
#set result=result ^ ', ' ^next
#end
#end
#set queryvars=result
#end
#function queryorder
#set queryorder=qryorder
#set qryorder=''
#end
#function queryjoin
#set queryjoin=qryjoin
#set qryjoin=''
#end
#function domultiply table str action
#set result=''
#match str with \([^[]*\)\[\([^[]*\)\[\([^]]*\)\]\([^]]*\)\]\(.*\) into front,before,name,after,back
#set next=domultiply table back action
#set nomatch=true
#match name with \([^.-]+\)\.?\([^-]*\)-\([^.-]+\)\.\([^:]+\):\(.*\) into fr_table,fr_field,lk_table,lk_field,lk_show
#set result='`' ^ lk_table ^ '`.' ^ lk_show ^ action ^ (if next='' then '' else 'OR ' ^ next)
#set nomatch=false
#end
#if nomatch
#set result=table ^ '.' ^ name ^ action ^ (if next='' then '' else 'OR ' ^ next)
#end
#end
#set domultiply=result
#end
#function multiply table str action
#set result=''
#match str with \([^[]*\)\[\([^[]*\)\[\([^]]*\)\]\([^]]*\)\]\(.*\)
#set result=domultiply table str action
#end
#if result=''
#set result=str ^ action
#end
#set multiply=result
#end
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.