@@ -4,59 +4,59 @@ |
||
4 | 4 | $ContextMenuCnt = 0; |
5 | 5 | |
6 | 6 | class ContextMenu { |
7 | - var $id; |
|
7 | + var $id; |
|
8 | 8 | |
9 | - function __construct($id = '', $width = 120, $visible = false) { |
|
10 | - global $ContextMenuCnt; |
|
11 | - $ContextMenuCnt++; |
|
12 | - $this->html = ""; |
|
13 | - $this->visible = $visible ? $visible : false; |
|
14 | - $this->width = is_numeric($width) ? intval($width) : 120; |
|
15 | - $this->id = $id ? $id : "cntxMnu" . $ContextMenuCnt; // set id |
|
16 | - } |
|
9 | + function __construct($id = '', $width = 120, $visible = false) { |
|
10 | + global $ContextMenuCnt; |
|
11 | + $ContextMenuCnt++; |
|
12 | + $this->html = ""; |
|
13 | + $this->visible = $visible ? $visible : false; |
|
14 | + $this->width = is_numeric($width) ? intval($width) : 120; |
|
15 | + $this->id = $id ? $id : "cntxMnu" . $ContextMenuCnt; // set id |
|
16 | + } |
|
17 | 17 | |
18 | - function addItem($text, $action = "", $img = "", $disabled = 0) { |
|
19 | - global $base_url, $_style; |
|
18 | + function addItem($text, $action = "", $img = "", $disabled = 0) { |
|
19 | + global $base_url, $_style; |
|
20 | 20 | if($disabled) { |
21 | 21 | return; |
22 | 22 | } |
23 | - if(!$img) { |
|
24 | - $img = $base_url . $_style['tx']; |
|
25 | - } |
|
26 | - if(substr($action, 0, 3) == "js:") { |
|
27 | - $action = substr($action, 3); |
|
28 | - } else if(substr($action, 0, 3) == "hl:") { |
|
29 | - $action = "window.location.href='" . substr($action, 3) . "'"; |
|
30 | - } else { |
|
31 | - $action = "window.location.href='" . $action . "'"; |
|
32 | - } |
|
33 | - $action = " onmouseover=\"this.className='cntxMnuItemOver';\" onmouseout=\"this.className='cntxMnuItem';\" onclick=\"$action; hideCntxMenu('" . $this->id . "');\""; |
|
34 | - $this->html .= "<div class='" . ($disabled ? "cntxMnuItemDisabled" : "cntxMnuItem") . "' $action>"; |
|
23 | + if(!$img) { |
|
24 | + $img = $base_url . $_style['tx']; |
|
25 | + } |
|
26 | + if(substr($action, 0, 3) == "js:") { |
|
27 | + $action = substr($action, 3); |
|
28 | + } else if(substr($action, 0, 3) == "hl:") { |
|
29 | + $action = "window.location.href='" . substr($action, 3) . "'"; |
|
30 | + } else { |
|
31 | + $action = "window.location.href='" . $action . "'"; |
|
32 | + } |
|
33 | + $action = " onmouseover=\"this.className='cntxMnuItemOver';\" onmouseout=\"this.className='cntxMnuItem';\" onclick=\"$action; hideCntxMenu('" . $this->id . "');\""; |
|
34 | + $this->html .= "<div class='" . ($disabled ? "cntxMnuItemDisabled" : "cntxMnuItem") . "' $action>"; |
|
35 | 35 | if(substr($img, 0, 5) == 'fa fa') { |
36 | 36 | $img = '<i class="' . $img . '"></i>'; |
37 | 37 | } else if(substr($img, 0, 1) != '<') { |
38 | 38 | $img = '<img src="' . $img . '" />'; |
39 | 39 | } |
40 | - $this->html .= $img . ' ' . $text . '</div>'; |
|
41 | - } |
|
40 | + $this->html .= $img . ' ' . $text . '</div>'; |
|
41 | + } |
|
42 | 42 | |
43 | - function addSeparator() { |
|
44 | - $this->html .= " |
|
43 | + function addSeparator() { |
|
44 | + $this->html .= " |
|
45 | 45 | <div class='cntxMnuSeparator'></div> |
46 | 46 | "; |
47 | - } |
|
47 | + } |
|
48 | 48 | |
49 | - function render() { |
|
50 | - global $ContextMenuScript; |
|
49 | + function render() { |
|
50 | + global $ContextMenuScript; |
|
51 | 51 | |
52 | - $html = $ContextMenuScript . "<div id='" . $this->id . "' class='contextMenu' style='width:" . $this->width . "px; visibility:" . ($this->visible ? 'visible' : 'hidden') . "'>" . $this->html . "</div>"; |
|
53 | - $ContextMenuScript = ""; // reset css |
|
54 | - return $html; |
|
55 | - } |
|
52 | + $html = $ContextMenuScript . "<div id='" . $this->id . "' class='contextMenu' style='width:" . $this->width . "px; visibility:" . ($this->visible ? 'visible' : 'hidden') . "'>" . $this->html . "</div>"; |
|
53 | + $ContextMenuScript = ""; // reset css |
|
54 | + return $html; |
|
55 | + } |
|
56 | 56 | |
57 | - function getClientScriptObject() { |
|
58 | - return "getCntxMenu('" . $this->id . "')"; |
|
59 | - } |
|
57 | + function getClientScriptObject() { |
|
58 | + return "getCntxMenu('" . $this->id . "')"; |
|
59 | + } |
|
60 | 60 | } |
61 | 61 | |
62 | 62 | $ContextMenuScript = <<<BLOCK |
@@ -12,280 +12,280 @@ |
||
12 | 12 | |
13 | 13 | class DataGrid { |
14 | 14 | |
15 | - var $ds; // datasource |
|
16 | - var $id; |
|
17 | - var $pageSize; // pager settings |
|
18 | - var $pageNumber; |
|
19 | - var $pager; |
|
20 | - var $pagerLocation; // top-right, top-left, bottom-left, bottom-right, both-left, both-right |
|
21 | - |
|
22 | - var $cssStyle; |
|
23 | - var $cssClass; |
|
24 | - |
|
25 | - var $columnHeaderStyle; |
|
26 | - var $columnHeaderClass; |
|
27 | - var $itemStyle; |
|
28 | - var $itemClass; |
|
29 | - var $altItemStyle; |
|
30 | - var $altItemClass; |
|
31 | - |
|
32 | - var $fields; |
|
33 | - var $columns; |
|
34 | - var $colWidths; |
|
35 | - var $colAligns; |
|
36 | - var $colWraps; |
|
37 | - var $colColors; |
|
38 | - var $colTypes; // coltype1, coltype2, etc or coltype1:format1, e.g. date:%Y %m |
|
39 | - // data type: integer,float,currency,date |
|
40 | - |
|
41 | - var $header; |
|
42 | - var $footer; |
|
43 | - var $cellPadding; |
|
44 | - var $cellSpacing; |
|
45 | - |
|
46 | - var $rowAlign; // vertical alignment: top, middle, bottom |
|
47 | - var $rowIdField; |
|
48 | - |
|
49 | - var $pagerStyle; |
|
50 | - var $pagerClass; |
|
51 | - var $pageClass; |
|
52 | - var $selPageClass; |
|
53 | - var $noRecordMsg = "No records found."; |
|
54 | - |
|
55 | - function __construct($id, $ds, $pageSize = 20, $pageNumber = -1) { |
|
56 | - global $__DataGridCnt; |
|
57 | - |
|
58 | - // set id |
|
59 | - $__DataGridCnt++; |
|
60 | - $this->id = $this->id ? $id : "dg" . $__DataGridCnt; |
|
61 | - |
|
62 | - // set datasource |
|
63 | - $this->ds = $ds; |
|
64 | - |
|
65 | - // set pager |
|
66 | - $this->pageSize = $pageSize; |
|
67 | - $this->pageNumber = $pageNumber; // by setting pager to -1 will cause pager to load it's last page number |
|
68 | - $this->pagerLocation = 'top-right'; |
|
69 | - } |
|
70 | - |
|
71 | - function setDataSource($ds) { |
|
72 | - $this->ds = $ds; |
|
73 | - } |
|
74 | - |
|
75 | - function render() { |
|
76 | - global $modx; |
|
77 | - $columnHeaderStyle = ($this->columnHeaderStyle) ? "style='" . $this->columnHeaderStyle . "'" : ''; |
|
78 | - $columnHeaderClass = ($this->columnHeaderClass) ? "class='" . $this->columnHeaderClass . "'" : ""; |
|
79 | - $cssStyle = ($this->cssStyle) ? "style='" . $this->cssStyle . "'" : ''; |
|
80 | - $cssClass = ($this->cssClass) ? "class='" . $this->cssClass . "'" : ''; |
|
81 | - |
|
82 | - $pagerClass = ($this->pagerClass) ? "class='" . $this->pagerClass . "'" : ''; |
|
83 | - $pagerStyle = ($this->pagerStyle) ? "style='" . $this->pagerStyle . "'" : "style='background-color:#ffffff;'"; |
|
84 | - |
|
85 | - $this->_itemStyle = ($this->itemStyle) ? "style='" . $this->itemStyle . "'" : ''; |
|
86 | - $this->_itemClass = ($this->itemClass) ? "class='" . $this->itemClass . "'" : ''; |
|
87 | - $this->_altItemStyle = ($this->altItemStyle) ? "style='" . $this->altItemStyle . "'" : ''; |
|
88 | - $this->_altItemClass = ($this->altItemClass) ? "class='" . $this->altItemClass . "'" : ''; |
|
89 | - |
|
90 | - $this->_alt = 0; |
|
91 | - $this->_total = 0; |
|
92 | - |
|
93 | - $this->_isDataset = $modx->db->isResult($this->ds); // if not dataset then treat as array |
|
94 | - |
|
95 | - if(!$cssStyle && !$cssClass) { |
|
96 | - $cssStyle = "style='width:100%;border:1px solid silver;font-family:verdana,arial; font-size:11px;'"; |
|
97 | - } |
|
98 | - if(!$columnHeaderStyle && !$columnHeaderClass) { |
|
99 | - $columnHeaderStyle = "style='color:black;background-color:silver'"; |
|
100 | - } |
|
101 | - if(!$this->_itemStyle && !$this->_itemClass) { |
|
102 | - $this->_itemStyle = "style='color:black;'"; |
|
103 | - } |
|
104 | - if(!$this->_altItemStyle && !$this->_altItemClass) { |
|
105 | - $this->_altItemStyle = "style='color:black;background-color:#eeeeee'"; |
|
106 | - } |
|
107 | - |
|
108 | - if($this->_isDataset && !$this->columns) { |
|
109 | - $cols = $modx->db->numFields($this->ds); |
|
110 | - for($i = 0; $i < $cols; $i++) $this->columns .= ($i ? "," : "") . $modx->db->fieldName($this->ds, $i); |
|
111 | - } |
|
112 | - |
|
113 | - // start grid |
|
114 | - $tblStart = "<table $cssClass $cssStyle cellpadding='" . (isset($this->cellPadding) ? (int) $this->cellPadding : 1) . "' cellspacing='" . (isset($this->cellSpacing) ? (int) $this->cellSpacing : 1) . "'>"; |
|
115 | - $tblEnd = "</table>"; |
|
116 | - |
|
117 | - // build column header |
|
118 | - $this->_colnames = explode((strstr($this->columns, "||") !== false ? "||" : ","), $this->columns); |
|
119 | - $this->_colwidths = explode((strstr($this->colWidths, "||") !== false ? "||" : ","), $this->colWidths); |
|
120 | - $this->_colaligns = explode((strstr($this->colAligns, "||") !== false ? "||" : ","), $this->colAligns); |
|
121 | - $this->_colwraps = explode((strstr($this->colWraps, "||") !== false ? "||" : ","), $this->colWraps); |
|
122 | - $this->_colcolors = explode((strstr($this->colColors, "||") !== false ? "||" : ","), $this->colColors); |
|
123 | - $this->_coltypes = explode((strstr($this->colTypes, "||") !== false ? "||" : ","), $this->colTypes); |
|
124 | - $this->_colcount = count($this->_colnames); |
|
125 | - if(!$this->_isDataset) { |
|
126 | - $this->ds = explode((strstr($this->ds, "||") !== false ? "||" : ","), $this->ds); |
|
127 | - $this->ds = array_chunk($this->ds, $this->_colcount); |
|
128 | - } |
|
129 | - $tblColHdr = "<thead><tr>"; |
|
130 | - for($c = 0; $c < $this->_colcount; $c++) { |
|
131 | - $name = $this->_colnames[$c]; |
|
132 | - $width = $this->_colwidths[$c]; |
|
133 | - $tblColHdr .= "<td $columnHeaderStyle $columnHeaderClass" . ($width ? " width='$width'" : "") . ">$name</td>"; |
|
134 | - } |
|
135 | - $tblColHdr .= "</tr></thead>\n"; |
|
136 | - |
|
137 | - // build rows |
|
138 | - $rowcount = $this->_isDataset ? $modx->db->getRecordCount($this->ds) : count($this->ds); |
|
139 | - $this->_fieldnames = explode(",", $this->fields); |
|
140 | - if($rowcount == 0) { |
|
141 | - $tblRows .= "<tr><td " . $this->_itemStyle . " " . $this->_itemClass . " colspan='" . $this->_colcount . "'>" . $this->noRecordMsg . "</td></tr>\n"; |
|
142 | - } else { |
|
143 | - // render grid items |
|
144 | - if($this->pageSize <= 0) { |
|
145 | - for($r = 0; $r < $rowcount; $r++) { |
|
146 | - $row = $this->_isDataset ? $modx->db->getRow($this->ds) : $this->ds[$r]; |
|
147 | - $tblRows .= $this->RenderRowFnc($r + 1, $row); |
|
148 | - } |
|
149 | - } else { |
|
150 | - if(!$this->pager) { |
|
151 | - include_once dirname(__FILE__) . "/datasetpager.class.php"; |
|
152 | - $this->pager = new DataSetPager($this->id, $this->ds, $this->pageSize, $this->pageNumber); |
|
153 | - $this->pager->setRenderRowFnc($this); // pass this object |
|
154 | - $this->pager->cssStyle = $pagerStyle; |
|
155 | - $this->pager->cssClass = $pagerClass; |
|
156 | - } else { |
|
157 | - $this->pager->pageSize = $this->pageSize; |
|
158 | - $this->pager->pageNumber = $this->pageNumber; |
|
159 | - } |
|
160 | - |
|
161 | - $this->pager->render(); |
|
162 | - $tblRows = $this->pager->getRenderedRows(); |
|
163 | - $tblPager = $this->pager->getRenderedPager(); |
|
164 | - } |
|
165 | - } |
|
166 | - |
|
167 | - // setup header,pager and footer |
|
168 | - $o = $tblStart; |
|
169 | - $ptop = (substr($this->pagerLocation, 0, 3) == "top") || (substr($this->pagerLocation, 0, 4) == "both"); |
|
170 | - $pbot = (substr($this->pagerLocation, 0, 3) == "bot") || (substr($this->pagerLocation, 0, 4) == "both"); |
|
171 | - if($this->header) { |
|
172 | - $o .= "<tr><td bgcolor='#ffffff' colspan='" . $this->_colcount . "'>" . $this->header . "</td></tr>"; |
|
173 | - } |
|
174 | - if($tblPager && $ptop) { |
|
175 | - $o .= "<tr><td align='" . (substr($this->pagerLocation, -4) == "left" ? "left" : "right") . "' $pagerClass $pagerStyle colspan='" . $this->_colcount . "'>" . $tblPager . " </td></tr>"; |
|
176 | - } |
|
177 | - $o .= $tblColHdr . $tblRows; |
|
178 | - if($tblPager && $pbot) { |
|
179 | - $o .= "<tr><td align='" . (substr($this->pagerLocation, -4) == "left" ? "left" : "right") . "' $pagerClass $pagerStyle colspan='" . $this->_colcount . "'>" . $tblPager . " </td></tr>"; |
|
180 | - } |
|
181 | - if($this->footer) { |
|
182 | - $o .= "<tr><td bgcolor='#ffffff' colspan='" . $this->_colcount . "'>" . $this->footer . "</td></tr>"; |
|
183 | - } |
|
184 | - $o .= $tblEnd; |
|
185 | - return $o; |
|
186 | - } |
|
187 | - |
|
188 | - // format column values |
|
189 | - |
|
190 | - function RenderRowFnc($n, $row) { |
|
191 | - if($this->_alt == 0) { |
|
192 | - $Style = $this->_itemStyle; |
|
193 | - $Class = $this->_itemClass; |
|
194 | - $this->_alt = 1; |
|
195 | - } else { |
|
196 | - $Style = $this->_altItemStyle; |
|
197 | - $Class = $this->_altItemClass; |
|
198 | - $this->_alt = 0; |
|
199 | - } |
|
200 | - $o = "<tr>"; |
|
201 | - for($c = 0; $c < $this->_colcount; $c++) { |
|
202 | - $colStyle = $Style; |
|
203 | - $fld = trim($this->_fieldnames[$c]); |
|
204 | - $width = isset($this->_colwidths[$c]) ? $this->_colwidths[$c] : null; |
|
205 | - $align = isset($this->_colaligns[$c]) ? $this->_colaligns[$c] : null; |
|
206 | - $color = isset($this->_colcolors[$c]) ? $this->_colcolors[$c] : null; |
|
207 | - $type = isset($this->_coltypes[$c]) ? $this->_coltypes[$c] : null; |
|
208 | - $nowrap = isset($this->_colwraps[$c]) ? $this->_colwraps[$c] : null; |
|
209 | - $value = $row[($this->_isDataset && $fld ? $fld : $c)]; |
|
210 | - if($color && $Style) { |
|
211 | - $colStyle = substr($colStyle, 0, -1) . ";background-color:$color;'"; |
|
212 | - } |
|
213 | - $value = $this->formatColumnValue($row, $value, $type, $align); |
|
214 | - $o .= "<td $colStyle $Class" . ($align ? " align='$align'" : "") . ($color ? " bgcolor='$color'" : "") . ($nowrap ? " nowrap='$nowrap'" : "") . ($width ? " width='$width'" : "") . ">$value</td>"; |
|
215 | - } |
|
216 | - $o .= "</tr>\n"; |
|
217 | - return $o; |
|
218 | - } |
|
219 | - |
|
220 | - function formatColumnValue($row, $value, $type, &$align) { |
|
221 | - if(strpos($type, ":") !== false) { |
|
222 | - list($type, $type_format) = explode(":", $type, 2); |
|
223 | - } |
|
224 | - switch(strtolower($type)) { |
|
225 | - case "integer": |
|
226 | - if($align == "") { |
|
227 | - $align = "right"; |
|
228 | - } |
|
229 | - $value = number_format($value); |
|
230 | - break; |
|
231 | - |
|
232 | - case "float": |
|
233 | - if($align == "") { |
|
234 | - $align = "right"; |
|
235 | - } |
|
236 | - if(!$type_format) { |
|
237 | - $type_format = 2; |
|
238 | - } |
|
239 | - $value = number_format($value, $type_format); |
|
240 | - break; |
|
241 | - |
|
242 | - case "currency": |
|
243 | - if($align == "") { |
|
244 | - $align = "right"; |
|
245 | - } |
|
246 | - if(!$type_format) { |
|
247 | - $type_format = 2; |
|
248 | - } |
|
249 | - $value = "$" . number_format($value, $type_format); |
|
250 | - break; |
|
251 | - |
|
252 | - case "date": |
|
253 | - if($align == "") { |
|
254 | - $align = "right"; |
|
255 | - } |
|
256 | - if(!is_numeric($value)) { |
|
257 | - $value = strtotime($value); |
|
258 | - } |
|
259 | - if(!$type_format) { |
|
260 | - $type_format = "%A %d, %B %Y"; |
|
261 | - } |
|
262 | - $value = strftime($type_format, $value); |
|
263 | - break; |
|
264 | - |
|
265 | - case "boolean": |
|
266 | - if($align == '') { |
|
267 | - $align = "center"; |
|
268 | - } |
|
269 | - $value = number_format($value); |
|
270 | - if($value) { |
|
271 | - $value = '•'; |
|
272 | - } else { |
|
273 | - $value = ' '; |
|
274 | - } |
|
275 | - break; |
|
276 | - |
|
277 | - case "template": |
|
278 | - // replace [+value+] first |
|
279 | - $value = str_replace("[+value+]", $value, $type_format); |
|
280 | - // replace other [+fields+] |
|
281 | - if(strpos($value, "[+") !== false) { |
|
282 | - foreach($row as $k => $v) { |
|
283 | - $value = str_replace("[+$k+]", $v, $value); |
|
284 | - } |
|
285 | - } |
|
286 | - break; |
|
287 | - |
|
288 | - } |
|
289 | - return $value; |
|
290 | - } |
|
15 | + var $ds; // datasource |
|
16 | + var $id; |
|
17 | + var $pageSize; // pager settings |
|
18 | + var $pageNumber; |
|
19 | + var $pager; |
|
20 | + var $pagerLocation; // top-right, top-left, bottom-left, bottom-right, both-left, both-right |
|
21 | + |
|
22 | + var $cssStyle; |
|
23 | + var $cssClass; |
|
24 | + |
|
25 | + var $columnHeaderStyle; |
|
26 | + var $columnHeaderClass; |
|
27 | + var $itemStyle; |
|
28 | + var $itemClass; |
|
29 | + var $altItemStyle; |
|
30 | + var $altItemClass; |
|
31 | + |
|
32 | + var $fields; |
|
33 | + var $columns; |
|
34 | + var $colWidths; |
|
35 | + var $colAligns; |
|
36 | + var $colWraps; |
|
37 | + var $colColors; |
|
38 | + var $colTypes; // coltype1, coltype2, etc or coltype1:format1, e.g. date:%Y %m |
|
39 | + // data type: integer,float,currency,date |
|
40 | + |
|
41 | + var $header; |
|
42 | + var $footer; |
|
43 | + var $cellPadding; |
|
44 | + var $cellSpacing; |
|
45 | + |
|
46 | + var $rowAlign; // vertical alignment: top, middle, bottom |
|
47 | + var $rowIdField; |
|
48 | + |
|
49 | + var $pagerStyle; |
|
50 | + var $pagerClass; |
|
51 | + var $pageClass; |
|
52 | + var $selPageClass; |
|
53 | + var $noRecordMsg = "No records found."; |
|
54 | + |
|
55 | + function __construct($id, $ds, $pageSize = 20, $pageNumber = -1) { |
|
56 | + global $__DataGridCnt; |
|
57 | + |
|
58 | + // set id |
|
59 | + $__DataGridCnt++; |
|
60 | + $this->id = $this->id ? $id : "dg" . $__DataGridCnt; |
|
61 | + |
|
62 | + // set datasource |
|
63 | + $this->ds = $ds; |
|
64 | + |
|
65 | + // set pager |
|
66 | + $this->pageSize = $pageSize; |
|
67 | + $this->pageNumber = $pageNumber; // by setting pager to -1 will cause pager to load it's last page number |
|
68 | + $this->pagerLocation = 'top-right'; |
|
69 | + } |
|
70 | + |
|
71 | + function setDataSource($ds) { |
|
72 | + $this->ds = $ds; |
|
73 | + } |
|
74 | + |
|
75 | + function render() { |
|
76 | + global $modx; |
|
77 | + $columnHeaderStyle = ($this->columnHeaderStyle) ? "style='" . $this->columnHeaderStyle . "'" : ''; |
|
78 | + $columnHeaderClass = ($this->columnHeaderClass) ? "class='" . $this->columnHeaderClass . "'" : ""; |
|
79 | + $cssStyle = ($this->cssStyle) ? "style='" . $this->cssStyle . "'" : ''; |
|
80 | + $cssClass = ($this->cssClass) ? "class='" . $this->cssClass . "'" : ''; |
|
81 | + |
|
82 | + $pagerClass = ($this->pagerClass) ? "class='" . $this->pagerClass . "'" : ''; |
|
83 | + $pagerStyle = ($this->pagerStyle) ? "style='" . $this->pagerStyle . "'" : "style='background-color:#ffffff;'"; |
|
84 | + |
|
85 | + $this->_itemStyle = ($this->itemStyle) ? "style='" . $this->itemStyle . "'" : ''; |
|
86 | + $this->_itemClass = ($this->itemClass) ? "class='" . $this->itemClass . "'" : ''; |
|
87 | + $this->_altItemStyle = ($this->altItemStyle) ? "style='" . $this->altItemStyle . "'" : ''; |
|
88 | + $this->_altItemClass = ($this->altItemClass) ? "class='" . $this->altItemClass . "'" : ''; |
|
89 | + |
|
90 | + $this->_alt = 0; |
|
91 | + $this->_total = 0; |
|
92 | + |
|
93 | + $this->_isDataset = $modx->db->isResult($this->ds); // if not dataset then treat as array |
|
94 | + |
|
95 | + if(!$cssStyle && !$cssClass) { |
|
96 | + $cssStyle = "style='width:100%;border:1px solid silver;font-family:verdana,arial; font-size:11px;'"; |
|
97 | + } |
|
98 | + if(!$columnHeaderStyle && !$columnHeaderClass) { |
|
99 | + $columnHeaderStyle = "style='color:black;background-color:silver'"; |
|
100 | + } |
|
101 | + if(!$this->_itemStyle && !$this->_itemClass) { |
|
102 | + $this->_itemStyle = "style='color:black;'"; |
|
103 | + } |
|
104 | + if(!$this->_altItemStyle && !$this->_altItemClass) { |
|
105 | + $this->_altItemStyle = "style='color:black;background-color:#eeeeee'"; |
|
106 | + } |
|
107 | + |
|
108 | + if($this->_isDataset && !$this->columns) { |
|
109 | + $cols = $modx->db->numFields($this->ds); |
|
110 | + for($i = 0; $i < $cols; $i++) $this->columns .= ($i ? "," : "") . $modx->db->fieldName($this->ds, $i); |
|
111 | + } |
|
112 | + |
|
113 | + // start grid |
|
114 | + $tblStart = "<table $cssClass $cssStyle cellpadding='" . (isset($this->cellPadding) ? (int) $this->cellPadding : 1) . "' cellspacing='" . (isset($this->cellSpacing) ? (int) $this->cellSpacing : 1) . "'>"; |
|
115 | + $tblEnd = "</table>"; |
|
116 | + |
|
117 | + // build column header |
|
118 | + $this->_colnames = explode((strstr($this->columns, "||") !== false ? "||" : ","), $this->columns); |
|
119 | + $this->_colwidths = explode((strstr($this->colWidths, "||") !== false ? "||" : ","), $this->colWidths); |
|
120 | + $this->_colaligns = explode((strstr($this->colAligns, "||") !== false ? "||" : ","), $this->colAligns); |
|
121 | + $this->_colwraps = explode((strstr($this->colWraps, "||") !== false ? "||" : ","), $this->colWraps); |
|
122 | + $this->_colcolors = explode((strstr($this->colColors, "||") !== false ? "||" : ","), $this->colColors); |
|
123 | + $this->_coltypes = explode((strstr($this->colTypes, "||") !== false ? "||" : ","), $this->colTypes); |
|
124 | + $this->_colcount = count($this->_colnames); |
|
125 | + if(!$this->_isDataset) { |
|
126 | + $this->ds = explode((strstr($this->ds, "||") !== false ? "||" : ","), $this->ds); |
|
127 | + $this->ds = array_chunk($this->ds, $this->_colcount); |
|
128 | + } |
|
129 | + $tblColHdr = "<thead><tr>"; |
|
130 | + for($c = 0; $c < $this->_colcount; $c++) { |
|
131 | + $name = $this->_colnames[$c]; |
|
132 | + $width = $this->_colwidths[$c]; |
|
133 | + $tblColHdr .= "<td $columnHeaderStyle $columnHeaderClass" . ($width ? " width='$width'" : "") . ">$name</td>"; |
|
134 | + } |
|
135 | + $tblColHdr .= "</tr></thead>\n"; |
|
136 | + |
|
137 | + // build rows |
|
138 | + $rowcount = $this->_isDataset ? $modx->db->getRecordCount($this->ds) : count($this->ds); |
|
139 | + $this->_fieldnames = explode(",", $this->fields); |
|
140 | + if($rowcount == 0) { |
|
141 | + $tblRows .= "<tr><td " . $this->_itemStyle . " " . $this->_itemClass . " colspan='" . $this->_colcount . "'>" . $this->noRecordMsg . "</td></tr>\n"; |
|
142 | + } else { |
|
143 | + // render grid items |
|
144 | + if($this->pageSize <= 0) { |
|
145 | + for($r = 0; $r < $rowcount; $r++) { |
|
146 | + $row = $this->_isDataset ? $modx->db->getRow($this->ds) : $this->ds[$r]; |
|
147 | + $tblRows .= $this->RenderRowFnc($r + 1, $row); |
|
148 | + } |
|
149 | + } else { |
|
150 | + if(!$this->pager) { |
|
151 | + include_once dirname(__FILE__) . "/datasetpager.class.php"; |
|
152 | + $this->pager = new DataSetPager($this->id, $this->ds, $this->pageSize, $this->pageNumber); |
|
153 | + $this->pager->setRenderRowFnc($this); // pass this object |
|
154 | + $this->pager->cssStyle = $pagerStyle; |
|
155 | + $this->pager->cssClass = $pagerClass; |
|
156 | + } else { |
|
157 | + $this->pager->pageSize = $this->pageSize; |
|
158 | + $this->pager->pageNumber = $this->pageNumber; |
|
159 | + } |
|
160 | + |
|
161 | + $this->pager->render(); |
|
162 | + $tblRows = $this->pager->getRenderedRows(); |
|
163 | + $tblPager = $this->pager->getRenderedPager(); |
|
164 | + } |
|
165 | + } |
|
166 | + |
|
167 | + // setup header,pager and footer |
|
168 | + $o = $tblStart; |
|
169 | + $ptop = (substr($this->pagerLocation, 0, 3) == "top") || (substr($this->pagerLocation, 0, 4) == "both"); |
|
170 | + $pbot = (substr($this->pagerLocation, 0, 3) == "bot") || (substr($this->pagerLocation, 0, 4) == "both"); |
|
171 | + if($this->header) { |
|
172 | + $o .= "<tr><td bgcolor='#ffffff' colspan='" . $this->_colcount . "'>" . $this->header . "</td></tr>"; |
|
173 | + } |
|
174 | + if($tblPager && $ptop) { |
|
175 | + $o .= "<tr><td align='" . (substr($this->pagerLocation, -4) == "left" ? "left" : "right") . "' $pagerClass $pagerStyle colspan='" . $this->_colcount . "'>" . $tblPager . " </td></tr>"; |
|
176 | + } |
|
177 | + $o .= $tblColHdr . $tblRows; |
|
178 | + if($tblPager && $pbot) { |
|
179 | + $o .= "<tr><td align='" . (substr($this->pagerLocation, -4) == "left" ? "left" : "right") . "' $pagerClass $pagerStyle colspan='" . $this->_colcount . "'>" . $tblPager . " </td></tr>"; |
|
180 | + } |
|
181 | + if($this->footer) { |
|
182 | + $o .= "<tr><td bgcolor='#ffffff' colspan='" . $this->_colcount . "'>" . $this->footer . "</td></tr>"; |
|
183 | + } |
|
184 | + $o .= $tblEnd; |
|
185 | + return $o; |
|
186 | + } |
|
187 | + |
|
188 | + // format column values |
|
189 | + |
|
190 | + function RenderRowFnc($n, $row) { |
|
191 | + if($this->_alt == 0) { |
|
192 | + $Style = $this->_itemStyle; |
|
193 | + $Class = $this->_itemClass; |
|
194 | + $this->_alt = 1; |
|
195 | + } else { |
|
196 | + $Style = $this->_altItemStyle; |
|
197 | + $Class = $this->_altItemClass; |
|
198 | + $this->_alt = 0; |
|
199 | + } |
|
200 | + $o = "<tr>"; |
|
201 | + for($c = 0; $c < $this->_colcount; $c++) { |
|
202 | + $colStyle = $Style; |
|
203 | + $fld = trim($this->_fieldnames[$c]); |
|
204 | + $width = isset($this->_colwidths[$c]) ? $this->_colwidths[$c] : null; |
|
205 | + $align = isset($this->_colaligns[$c]) ? $this->_colaligns[$c] : null; |
|
206 | + $color = isset($this->_colcolors[$c]) ? $this->_colcolors[$c] : null; |
|
207 | + $type = isset($this->_coltypes[$c]) ? $this->_coltypes[$c] : null; |
|
208 | + $nowrap = isset($this->_colwraps[$c]) ? $this->_colwraps[$c] : null; |
|
209 | + $value = $row[($this->_isDataset && $fld ? $fld : $c)]; |
|
210 | + if($color && $Style) { |
|
211 | + $colStyle = substr($colStyle, 0, -1) . ";background-color:$color;'"; |
|
212 | + } |
|
213 | + $value = $this->formatColumnValue($row, $value, $type, $align); |
|
214 | + $o .= "<td $colStyle $Class" . ($align ? " align='$align'" : "") . ($color ? " bgcolor='$color'" : "") . ($nowrap ? " nowrap='$nowrap'" : "") . ($width ? " width='$width'" : "") . ">$value</td>"; |
|
215 | + } |
|
216 | + $o .= "</tr>\n"; |
|
217 | + return $o; |
|
218 | + } |
|
219 | + |
|
220 | + function formatColumnValue($row, $value, $type, &$align) { |
|
221 | + if(strpos($type, ":") !== false) { |
|
222 | + list($type, $type_format) = explode(":", $type, 2); |
|
223 | + } |
|
224 | + switch(strtolower($type)) { |
|
225 | + case "integer": |
|
226 | + if($align == "") { |
|
227 | + $align = "right"; |
|
228 | + } |
|
229 | + $value = number_format($value); |
|
230 | + break; |
|
231 | + |
|
232 | + case "float": |
|
233 | + if($align == "") { |
|
234 | + $align = "right"; |
|
235 | + } |
|
236 | + if(!$type_format) { |
|
237 | + $type_format = 2; |
|
238 | + } |
|
239 | + $value = number_format($value, $type_format); |
|
240 | + break; |
|
241 | + |
|
242 | + case "currency": |
|
243 | + if($align == "") { |
|
244 | + $align = "right"; |
|
245 | + } |
|
246 | + if(!$type_format) { |
|
247 | + $type_format = 2; |
|
248 | + } |
|
249 | + $value = "$" . number_format($value, $type_format); |
|
250 | + break; |
|
251 | + |
|
252 | + case "date": |
|
253 | + if($align == "") { |
|
254 | + $align = "right"; |
|
255 | + } |
|
256 | + if(!is_numeric($value)) { |
|
257 | + $value = strtotime($value); |
|
258 | + } |
|
259 | + if(!$type_format) { |
|
260 | + $type_format = "%A %d, %B %Y"; |
|
261 | + } |
|
262 | + $value = strftime($type_format, $value); |
|
263 | + break; |
|
264 | + |
|
265 | + case "boolean": |
|
266 | + if($align == '') { |
|
267 | + $align = "center"; |
|
268 | + } |
|
269 | + $value = number_format($value); |
|
270 | + if($value) { |
|
271 | + $value = '•'; |
|
272 | + } else { |
|
273 | + $value = ' '; |
|
274 | + } |
|
275 | + break; |
|
276 | + |
|
277 | + case "template": |
|
278 | + // replace [+value+] first |
|
279 | + $value = str_replace("[+value+]", $value, $type_format); |
|
280 | + // replace other [+fields+] |
|
281 | + if(strpos($value, "[+") !== false) { |
|
282 | + foreach($row as $k => $v) { |
|
283 | + $value = str_replace("[+$k+]", $v, $value); |
|
284 | + } |
|
285 | + } |
|
286 | + break; |
|
287 | + |
|
288 | + } |
|
289 | + return $value; |
|
290 | + } |
|
291 | 291 | } |
@@ -12,181 +12,181 @@ |
||
12 | 12 | |
13 | 13 | class DataSetPager { |
14 | 14 | |
15 | - var $ds; // datasource |
|
16 | - var $pageSize; |
|
17 | - var $pageNumber; |
|
18 | - var $rows; |
|
19 | - var $pager; |
|
20 | - var $id; |
|
21 | - |
|
22 | - // normal page |
|
23 | - var $pageStyle; |
|
24 | - var $pageClass; |
|
25 | - |
|
26 | - // selected page |
|
27 | - var $selPageStyle; |
|
28 | - var $selPageClass; |
|
29 | - |
|
30 | - function __construct($id, $ds, $pageSize = 10, $pageNumber = -1) { |
|
31 | - global $_PAGE; // use view state object |
|
32 | - |
|
33 | - global $__DataSetPagerCnt; |
|
34 | - |
|
35 | - // set id |
|
36 | - $__DataSetPagerCnt++; |
|
37 | - $this->id = !empty($id) ? $id : "dsp" . $__DataSetPagerCnt; |
|
38 | - |
|
39 | - // get pagenumber |
|
40 | - // by setting pager to -1 cause pager to load it's last page number |
|
41 | - if($pageNumber == -1) { |
|
42 | - $pageNumber = 1; |
|
43 | - if(isset($_GET["dpgn" . $this->id])) { |
|
44 | - $pageNumber = $_GET["dpgn" . $this->id]; |
|
45 | - } elseif(isset($_PAGE['vs'][$id . '_dpgn'])) { |
|
46 | - $pageNumber = $_PAGE['vs'][$id . '_dpgn']; |
|
47 | - } |
|
48 | - } |
|
49 | - if(!is_numeric($pageNumber)) { |
|
50 | - $pageNumber = 1; |
|
51 | - } |
|
52 | - |
|
53 | - $this->ds = $ds; // datasource |
|
54 | - $this->pageSize = $pageSize; |
|
55 | - $this->pageNumber = $pageNumber; |
|
56 | - $this->rows = ''; |
|
57 | - $this->pager = ''; |
|
58 | - } |
|
59 | - |
|
60 | - function getRenderedPager() { |
|
61 | - return $this->pager; |
|
62 | - } |
|
63 | - |
|
64 | - function getRenderedRows() { |
|
65 | - return $this->rows; |
|
66 | - } |
|
67 | - |
|
68 | - function setDataSource($ds) { |
|
69 | - $this->ds = $ds; |
|
70 | - } |
|
71 | - |
|
72 | - function setPageSize($ps) { |
|
73 | - $this->pageSize = $ps; |
|
74 | - } |
|
75 | - |
|
76 | - function setRenderRowFnc($fncName, $args = "") { |
|
77 | - $this->renderRowFnc = &$fncName; |
|
78 | - $this->renderRowFncArgs = $args; // extra agruments |
|
79 | - |
|
80 | - |
|
81 | - } |
|
82 | - |
|
83 | - function setRenderPagerFnc($fncName, $args = "") { |
|
84 | - $this->renderPagerFnc = $fncName; |
|
85 | - $this->renderPagerFncArgs = $args; // extra agruments |
|
86 | - } |
|
87 | - |
|
88 | - function render() { |
|
89 | - global $modx, $_PAGE; |
|
90 | - |
|
91 | - $isDataset = $modx->db->isResult($this->ds); |
|
92 | - |
|
93 | - if(!$this->selPageStyle) { |
|
94 | - $this->selPageStyle = "font-weight:bold"; |
|
95 | - } |
|
96 | - |
|
97 | - // get total number of rows |
|
98 | - $tnr = ($isDataset) ? $modx->db->getRecordCount($this->ds) : count($this->ds); |
|
99 | - |
|
100 | - // render: no records found |
|
101 | - if($tnr <= 0) { |
|
102 | - $fnc = $this->renderRowFnc; |
|
103 | - $args = $this->renderRowFncArgs; |
|
104 | - if(isset($fnc)) { |
|
105 | - if($args != "") { |
|
106 | - $this->rows .= $fnc(0, null, $args); |
|
107 | - } // if agrs was specified then we will pass three params |
|
108 | - else { |
|
109 | - $this->rows .= $fnc(0, null); |
|
110 | - } // otherwise two will be passed |
|
111 | - } |
|
112 | - return; |
|
113 | - } |
|
114 | - |
|
115 | - // get total pages |
|
116 | - $tp = ceil($tnr / $this->pageSize); |
|
117 | - if($this->pageNumber > $tp) { |
|
118 | - $this->pageNumber = 1; |
|
119 | - } |
|
120 | - |
|
121 | - // get page number |
|
122 | - $p = $this->pageNumber; |
|
123 | - |
|
124 | - // save page number to view state if available |
|
125 | - if(isset($_PAGE['vs'])) { |
|
126 | - $_PAGE['vs'][$this->id . '_dpgn'] = $p; |
|
127 | - } |
|
128 | - |
|
129 | - // render pager : renderPagerFnc($cuurentPage,$pagerNumber,$arguments=""); |
|
130 | - if($tp > 1) { |
|
131 | - $fnc = $this->renderPagerFnc; |
|
132 | - $args = $this->renderPagerFncArgs; |
|
133 | - if(!isset($fnc)) { |
|
134 | - if($modx->isFrontend()) { |
|
135 | - $url = $modx->makeUrl($modx->documentIdentifier, '', '', 'full') . '?'; |
|
136 | - } else { |
|
137 | - $url = $_SERVER['PHP_SELF'] . '?'; |
|
138 | - } |
|
139 | - $i = 0; |
|
140 | - foreach($_GET as $n => $v) if($n != 'dpgn' . $this->id) { |
|
141 | - $i++; |
|
142 | - $url .= (($i > 1) ? "&" : "") . "$n=$v"; |
|
143 | - } |
|
144 | - if($i >= 1) { |
|
145 | - $url .= "&"; |
|
146 | - } |
|
147 | - } |
|
148 | - for($i = 1; $i <= $tp; $i++) { |
|
149 | - if(isset($fnc)) { |
|
150 | - if($args != "") { |
|
151 | - $this->pager .= $fnc($p, $i, $args); |
|
152 | - } else { |
|
153 | - $this->pager .= $fnc($p, $i); |
|
154 | - } |
|
155 | - } else { |
|
156 | - $this->pager .= ($p == $i) ? " <span class='" . $this->selPageClass . "' style='" . $this->selPageStyle . "'>$i</span> " : " <a href='" . $url . "dpgn" . $this->id . "=$i' class='" . $this->pageClass . "' style='" . $this->pageStyle . "'>$i</a> "; |
|
157 | - } |
|
158 | - } |
|
159 | - } |
|
160 | - |
|
161 | - // render row : renderRowFnc($rowNumber,$row,$arguments="") |
|
162 | - $fnc = $this->renderRowFnc; |
|
163 | - $args = $this->renderRowFncArgs; |
|
164 | - |
|
165 | - if(isset($fnc)) { |
|
166 | - $i = 1; |
|
167 | - $fncObject = is_object($fnc); |
|
168 | - $minitems = (($p - 1) * $this->pageSize) + 1; |
|
169 | - $maxitems = (($p - 1) * $this->pageSize) + $this->pageSize; |
|
170 | - while($i <= $maxitems && ($row = ($isDataset) ? $modx->db->getRow($this->ds) : $this->ds[$i - 1])) { |
|
171 | - if($i >= $minitems && $i <= $maxitems) { |
|
172 | - if($fncObject) { |
|
173 | - if($args != "") { |
|
174 | - $this->rows .= $fnc->RenderRowFnc($i, $row, $args); |
|
175 | - } else { |
|
176 | - $this->rows .= $fnc->RenderRowFnc($i, $row); |
|
177 | - } |
|
178 | - } else { |
|
179 | - if($args != "") { |
|
180 | - $this->rows .= $fnc($i, $row, $args); |
|
181 | - } // if agrs was specified then we wil pass three params |
|
182 | - else { |
|
183 | - $this->rows .= $fnc($i, $row); |
|
184 | - } // otherwise two will be passed |
|
185 | - } |
|
186 | - |
|
187 | - } |
|
188 | - $i++; |
|
189 | - } |
|
190 | - } |
|
191 | - } |
|
15 | + var $ds; // datasource |
|
16 | + var $pageSize; |
|
17 | + var $pageNumber; |
|
18 | + var $rows; |
|
19 | + var $pager; |
|
20 | + var $id; |
|
21 | + |
|
22 | + // normal page |
|
23 | + var $pageStyle; |
|
24 | + var $pageClass; |
|
25 | + |
|
26 | + // selected page |
|
27 | + var $selPageStyle; |
|
28 | + var $selPageClass; |
|
29 | + |
|
30 | + function __construct($id, $ds, $pageSize = 10, $pageNumber = -1) { |
|
31 | + global $_PAGE; // use view state object |
|
32 | + |
|
33 | + global $__DataSetPagerCnt; |
|
34 | + |
|
35 | + // set id |
|
36 | + $__DataSetPagerCnt++; |
|
37 | + $this->id = !empty($id) ? $id : "dsp" . $__DataSetPagerCnt; |
|
38 | + |
|
39 | + // get pagenumber |
|
40 | + // by setting pager to -1 cause pager to load it's last page number |
|
41 | + if($pageNumber == -1) { |
|
42 | + $pageNumber = 1; |
|
43 | + if(isset($_GET["dpgn" . $this->id])) { |
|
44 | + $pageNumber = $_GET["dpgn" . $this->id]; |
|
45 | + } elseif(isset($_PAGE['vs'][$id . '_dpgn'])) { |
|
46 | + $pageNumber = $_PAGE['vs'][$id . '_dpgn']; |
|
47 | + } |
|
48 | + } |
|
49 | + if(!is_numeric($pageNumber)) { |
|
50 | + $pageNumber = 1; |
|
51 | + } |
|
52 | + |
|
53 | + $this->ds = $ds; // datasource |
|
54 | + $this->pageSize = $pageSize; |
|
55 | + $this->pageNumber = $pageNumber; |
|
56 | + $this->rows = ''; |
|
57 | + $this->pager = ''; |
|
58 | + } |
|
59 | + |
|
60 | + function getRenderedPager() { |
|
61 | + return $this->pager; |
|
62 | + } |
|
63 | + |
|
64 | + function getRenderedRows() { |
|
65 | + return $this->rows; |
|
66 | + } |
|
67 | + |
|
68 | + function setDataSource($ds) { |
|
69 | + $this->ds = $ds; |
|
70 | + } |
|
71 | + |
|
72 | + function setPageSize($ps) { |
|
73 | + $this->pageSize = $ps; |
|
74 | + } |
|
75 | + |
|
76 | + function setRenderRowFnc($fncName, $args = "") { |
|
77 | + $this->renderRowFnc = &$fncName; |
|
78 | + $this->renderRowFncArgs = $args; // extra agruments |
|
79 | + |
|
80 | + |
|
81 | + } |
|
82 | + |
|
83 | + function setRenderPagerFnc($fncName, $args = "") { |
|
84 | + $this->renderPagerFnc = $fncName; |
|
85 | + $this->renderPagerFncArgs = $args; // extra agruments |
|
86 | + } |
|
87 | + |
|
88 | + function render() { |
|
89 | + global $modx, $_PAGE; |
|
90 | + |
|
91 | + $isDataset = $modx->db->isResult($this->ds); |
|
92 | + |
|
93 | + if(!$this->selPageStyle) { |
|
94 | + $this->selPageStyle = "font-weight:bold"; |
|
95 | + } |
|
96 | + |
|
97 | + // get total number of rows |
|
98 | + $tnr = ($isDataset) ? $modx->db->getRecordCount($this->ds) : count($this->ds); |
|
99 | + |
|
100 | + // render: no records found |
|
101 | + if($tnr <= 0) { |
|
102 | + $fnc = $this->renderRowFnc; |
|
103 | + $args = $this->renderRowFncArgs; |
|
104 | + if(isset($fnc)) { |
|
105 | + if($args != "") { |
|
106 | + $this->rows .= $fnc(0, null, $args); |
|
107 | + } // if agrs was specified then we will pass three params |
|
108 | + else { |
|
109 | + $this->rows .= $fnc(0, null); |
|
110 | + } // otherwise two will be passed |
|
111 | + } |
|
112 | + return; |
|
113 | + } |
|
114 | + |
|
115 | + // get total pages |
|
116 | + $tp = ceil($tnr / $this->pageSize); |
|
117 | + if($this->pageNumber > $tp) { |
|
118 | + $this->pageNumber = 1; |
|
119 | + } |
|
120 | + |
|
121 | + // get page number |
|
122 | + $p = $this->pageNumber; |
|
123 | + |
|
124 | + // save page number to view state if available |
|
125 | + if(isset($_PAGE['vs'])) { |
|
126 | + $_PAGE['vs'][$this->id . '_dpgn'] = $p; |
|
127 | + } |
|
128 | + |
|
129 | + // render pager : renderPagerFnc($cuurentPage,$pagerNumber,$arguments=""); |
|
130 | + if($tp > 1) { |
|
131 | + $fnc = $this->renderPagerFnc; |
|
132 | + $args = $this->renderPagerFncArgs; |
|
133 | + if(!isset($fnc)) { |
|
134 | + if($modx->isFrontend()) { |
|
135 | + $url = $modx->makeUrl($modx->documentIdentifier, '', '', 'full') . '?'; |
|
136 | + } else { |
|
137 | + $url = $_SERVER['PHP_SELF'] . '?'; |
|
138 | + } |
|
139 | + $i = 0; |
|
140 | + foreach($_GET as $n => $v) if($n != 'dpgn' . $this->id) { |
|
141 | + $i++; |
|
142 | + $url .= (($i > 1) ? "&" : "") . "$n=$v"; |
|
143 | + } |
|
144 | + if($i >= 1) { |
|
145 | + $url .= "&"; |
|
146 | + } |
|
147 | + } |
|
148 | + for($i = 1; $i <= $tp; $i++) { |
|
149 | + if(isset($fnc)) { |
|
150 | + if($args != "") { |
|
151 | + $this->pager .= $fnc($p, $i, $args); |
|
152 | + } else { |
|
153 | + $this->pager .= $fnc($p, $i); |
|
154 | + } |
|
155 | + } else { |
|
156 | + $this->pager .= ($p == $i) ? " <span class='" . $this->selPageClass . "' style='" . $this->selPageStyle . "'>$i</span> " : " <a href='" . $url . "dpgn" . $this->id . "=$i' class='" . $this->pageClass . "' style='" . $this->pageStyle . "'>$i</a> "; |
|
157 | + } |
|
158 | + } |
|
159 | + } |
|
160 | + |
|
161 | + // render row : renderRowFnc($rowNumber,$row,$arguments="") |
|
162 | + $fnc = $this->renderRowFnc; |
|
163 | + $args = $this->renderRowFncArgs; |
|
164 | + |
|
165 | + if(isset($fnc)) { |
|
166 | + $i = 1; |
|
167 | + $fncObject = is_object($fnc); |
|
168 | + $minitems = (($p - 1) * $this->pageSize) + 1; |
|
169 | + $maxitems = (($p - 1) * $this->pageSize) + $this->pageSize; |
|
170 | + while($i <= $maxitems && ($row = ($isDataset) ? $modx->db->getRow($this->ds) : $this->ds[$i - 1])) { |
|
171 | + if($i >= $minitems && $i <= $maxitems) { |
|
172 | + if($fncObject) { |
|
173 | + if($args != "") { |
|
174 | + $this->rows .= $fnc->RenderRowFnc($i, $row, $args); |
|
175 | + } else { |
|
176 | + $this->rows .= $fnc->RenderRowFnc($i, $row); |
|
177 | + } |
|
178 | + } else { |
|
179 | + if($args != "") { |
|
180 | + $this->rows .= $fnc($i, $row, $args); |
|
181 | + } // if agrs was specified then we wil pass three params |
|
182 | + else { |
|
183 | + $this->rows .= $fnc($i, $row); |
|
184 | + } // otherwise two will be passed |
|
185 | + } |
|
186 | + |
|
187 | + } |
|
188 | + $i++; |
|
189 | + } |
|
190 | + } |
|
191 | + } |
|
192 | 192 | } |
@@ -5,10 +5,10 @@ |
||
5 | 5 | $settings = array(); |
6 | 6 | if ($modx && count($modx->config)>0) $settings = $modx->config; |
7 | 7 | else{ |
8 | - $rs = $modx->db->select('setting_name, setting_value', $modx->getFullTableName('system_settings')); |
|
9 | - while ($row = $modx->db->getRow($rs)) { |
|
10 | - $settings[$row['setting_name']] = $row['setting_value']; |
|
11 | - } |
|
8 | + $rs = $modx->db->select('setting_name, setting_value', $modx->getFullTableName('system_settings')); |
|
9 | + while ($row = $modx->db->getRow($rs)) { |
|
10 | + $settings[$row['setting_name']] = $row['setting_value']; |
|
11 | + } |
|
12 | 12 | } |
13 | 13 | |
14 | 14 | extract($settings, EXTR_OVERWRITE); |
@@ -12,13 +12,13 @@ |
||
12 | 12 | $modx->invokeEvent('OnManagerPageInit'); |
13 | 13 | $ok = false; |
14 | 14 | if(isset($_SESSION['mgrToken']) && $_GET['tok'] == $_SESSION['mgrToken']) { |
15 | - $ok = true; |
|
16 | - $modx->updateValidatedUserSession(); |
|
15 | + $ok = true; |
|
16 | + $modx->updateValidatedUserSession(); |
|
17 | 17 | } |
18 | 18 | |
19 | 19 | header('Content-type: application/json'); |
20 | 20 | if($ok) { |
21 | 21 | echo '{"status":"ok"}'; |
22 | 22 | } else { |
23 | - echo '{"status":"null"}'; |
|
23 | + echo '{"status":"null"}'; |
|
24 | 24 | } |
@@ -363,10 +363,10 @@ |
||
363 | 363 | stopWorker(); |
364 | 364 | |
365 | 365 | <?php |
366 | - if (isset($_REQUEST['r']) && preg_match('@^[0-9]+$@', $_REQUEST['r'])) { |
|
367 | - echo 'doRefresh(' . $_REQUEST['r'] . ");\n"; |
|
368 | - } |
|
369 | - ?> |
|
366 | + if (isset($_REQUEST['r']) && preg_match('@^[0-9]+$@', $_REQUEST['r'])) { |
|
367 | + echo 'doRefresh(' . $_REQUEST['r'] . ");\n"; |
|
368 | + } |
|
369 | + ?> |
|
370 | 370 | |
371 | 371 | var actionButtons = document.getElementById('actions'), actionSelect = document.getElementById('stay'); |
372 | 372 | if (actionButtons !== null && actionSelect !== null) { |
@@ -1,159 +1,159 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // DISPLAY FORM ELEMENTS |
3 | 3 | function renderFormElement($field_type, $field_id, $default_text = '', $field_elements = '', $field_value = '', $field_style = '', $row = array(), $tvsArray = array()) { |
4 | - global $modx; |
|
5 | - global $_style; |
|
6 | - global $_lang; |
|
7 | - global $content; |
|
8 | - global $which_browser; |
|
4 | + global $modx; |
|
5 | + global $_style; |
|
6 | + global $_lang; |
|
7 | + global $content; |
|
8 | + global $which_browser; |
|
9 | 9 | |
10 | - if(substr($default_text, 0, 6) === '@@EVAL' && $field_value === $default_text) { |
|
11 | - $eval_str = trim(substr($default_text, 7)); |
|
12 | - $default_text = eval($eval_str); |
|
13 | - $field_value = $default_text; |
|
14 | - } |
|
10 | + if(substr($default_text, 0, 6) === '@@EVAL' && $field_value === $default_text) { |
|
11 | + $eval_str = trim(substr($default_text, 7)); |
|
12 | + $default_text = eval($eval_str); |
|
13 | + $field_value = $default_text; |
|
14 | + } |
|
15 | 15 | |
16 | - $field_html = ''; |
|
17 | - $cimode = strpos($field_type, ':'); |
|
18 | - if($cimode === false) { |
|
19 | - switch($field_type) { |
|
16 | + $field_html = ''; |
|
17 | + $cimode = strpos($field_type, ':'); |
|
18 | + if($cimode === false) { |
|
19 | + switch($field_type) { |
|
20 | 20 | |
21 | - case "text": // handler for regular text boxes |
|
22 | - case "rawtext"; // non-htmlentity converted text boxes |
|
23 | - $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" />'; |
|
24 | - break; |
|
25 | - case "email": // handles email input fields |
|
26 | - $field_html .= '<input type="email" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%"/>'; |
|
27 | - break; |
|
28 | - case "number": // handles the input of numbers |
|
29 | - $field_html .= '<input type="number" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" onkeyup="this.value=this.value.replace(/[^\d-,.+]/,\'\')"/>'; |
|
30 | - break; |
|
31 | - case "textareamini": // handler for textarea mini boxes |
|
32 | - $field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="5" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>'; |
|
33 | - break; |
|
34 | - case "textarea": // handler for textarea boxes |
|
35 | - case "rawtextarea": // non-htmlentity convertex textarea boxes |
|
36 | - case "htmlarea": // handler for textarea boxes (deprecated) |
|
37 | - case "richtext": // handler for textarea boxes |
|
38 | - $field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="15" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>'; |
|
39 | - break; |
|
40 | - case "date": |
|
41 | - $field_id = str_replace(array( |
|
42 | - '-', |
|
43 | - '.' |
|
44 | - ), '_', urldecode($field_id)); |
|
45 | - if($field_value == '') { |
|
46 | - $field_value = 0; |
|
47 | - } |
|
48 | - $field_html .= '<input id="tv' . $field_id . '" name="tv' . $field_id . '" class="DatePicker" type="text" value="' . ($field_value == 0 || !isset($field_value) ? "" : $field_value) . '" onblur="documentDirty=true;" />'; |
|
49 | - $field_html .= ' <a onclick="document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].value=\'\';document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].onblur(); return true;" onmouseover="window.status=\'clear the date\'; return true;" onmouseout="window.status=\'\'; return true;" style="cursor:pointer; cursor:hand"><i class="' . $_style["actions_calendar_delete"] . '"></i></a>'; |
|
21 | + case "text": // handler for regular text boxes |
|
22 | + case "rawtext"; // non-htmlentity converted text boxes |
|
23 | + $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" />'; |
|
24 | + break; |
|
25 | + case "email": // handles email input fields |
|
26 | + $field_html .= '<input type="email" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%"/>'; |
|
27 | + break; |
|
28 | + case "number": // handles the input of numbers |
|
29 | + $field_html .= '<input type="number" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" onkeyup="this.value=this.value.replace(/[^\d-,.+]/,\'\')"/>'; |
|
30 | + break; |
|
31 | + case "textareamini": // handler for textarea mini boxes |
|
32 | + $field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="5" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>'; |
|
33 | + break; |
|
34 | + case "textarea": // handler for textarea boxes |
|
35 | + case "rawtextarea": // non-htmlentity convertex textarea boxes |
|
36 | + case "htmlarea": // handler for textarea boxes (deprecated) |
|
37 | + case "richtext": // handler for textarea boxes |
|
38 | + $field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="15" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>'; |
|
39 | + break; |
|
40 | + case "date": |
|
41 | + $field_id = str_replace(array( |
|
42 | + '-', |
|
43 | + '.' |
|
44 | + ), '_', urldecode($field_id)); |
|
45 | + if($field_value == '') { |
|
46 | + $field_value = 0; |
|
47 | + } |
|
48 | + $field_html .= '<input id="tv' . $field_id . '" name="tv' . $field_id . '" class="DatePicker" type="text" value="' . ($field_value == 0 || !isset($field_value) ? "" : $field_value) . '" onblur="documentDirty=true;" />'; |
|
49 | + $field_html .= ' <a onclick="document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].value=\'\';document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].onblur(); return true;" onmouseover="window.status=\'clear the date\'; return true;" onmouseout="window.status=\'\'; return true;" style="cursor:pointer; cursor:hand"><i class="' . $_style["actions_calendar_delete"] . '"></i></a>'; |
|
50 | 50 | |
51 | - break; |
|
52 | - case "dropdown": // handler for select boxes |
|
53 | - $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" size="1" onchange="documentDirty=true;">'; |
|
54 | - $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
55 | - while(list($item, $itemvalue) = each($index_list)) { |
|
56 | - list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
57 | - if(strlen($itemvalue) == 0) { |
|
58 | - $itemvalue = $item; |
|
59 | - } |
|
60 | - $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>'; |
|
61 | - } |
|
62 | - $field_html .= "</select>"; |
|
63 | - break; |
|
64 | - case "listbox": // handler for select boxes |
|
65 | - $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" onchange="documentDirty=true;" size="8">'; |
|
66 | - $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
67 | - while(list($item, $itemvalue) = each($index_list)) { |
|
68 | - list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
69 | - if(strlen($itemvalue) == 0) { |
|
70 | - $itemvalue = $item; |
|
71 | - } |
|
72 | - $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>'; |
|
73 | - } |
|
74 | - $field_html .= "</select>"; |
|
75 | - break; |
|
76 | - case "listbox-multiple": // handler for select boxes where you can choose multiple items |
|
77 | - $field_value = explode("||", $field_value); |
|
78 | - $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '[]" multiple="multiple" onchange="documentDirty=true;" size="8">'; |
|
79 | - $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
80 | - while(list($item, $itemvalue) = each($index_list)) { |
|
81 | - list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
82 | - if(strlen($itemvalue) == 0) { |
|
83 | - $itemvalue = $item; |
|
84 | - } |
|
85 | - $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . (in_array($itemvalue, $field_value) ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>'; |
|
86 | - } |
|
87 | - $field_html .= "</select>"; |
|
88 | - break; |
|
89 | - case "url": // handles url input fields |
|
90 | - $urls = array( |
|
91 | - '' => '--', |
|
92 | - 'http://' => 'http://', |
|
93 | - 'https://' => 'https://', |
|
94 | - 'ftp://' => 'ftp://', |
|
95 | - 'mailto:' => 'mailto:' |
|
96 | - ); |
|
97 | - $field_html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td><select id="tv' . $field_id . '_prefix" name="tv' . $field_id . '_prefix" onchange="documentDirty=true;">'; |
|
98 | - foreach($urls as $k => $v) { |
|
99 | - if(strpos($field_value, $v) === false) { |
|
100 | - $field_html .= '<option value="' . $v . '">' . $k . '</option>'; |
|
101 | - } else { |
|
102 | - $field_value = str_replace($v, '', $field_value); |
|
103 | - $field_html .= '<option value="' . $v . '" selected="selected">' . $k . '</option>'; |
|
104 | - } |
|
105 | - } |
|
106 | - $field_html .= '</select></td><td>'; |
|
107 | - $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" width="100" ' . $field_style . ' onchange="documentDirty=true;" /></td></tr></table>'; |
|
108 | - break; |
|
109 | - case 'checkbox': // handles check boxes |
|
110 | - $values = !is_array($field_value) ? explode('||', $field_value) : $field_value; |
|
111 | - $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
112 | - $tpl = '<label class="checkbox"><input type="checkbox" value="%s" id="tv_%s" name="tv%s[]" %s onchange="documentDirty=true;" />%s</label><br />'; |
|
113 | - static $i = 0; |
|
114 | - $_ = array(); |
|
115 | - foreach($index_list as $c => $item) { |
|
116 | - if(is_array($item)) { |
|
117 | - $name = trim($item[0]); |
|
118 | - $value = isset($item[1]) ? $item[1] : $name; |
|
119 | - } else { |
|
120 | - $item = trim($item); |
|
121 | - list($name, $value) = (strpos($item, '==') !== false) ? explode('==', $item, 2) : array( |
|
122 | - $item, |
|
123 | - $item |
|
124 | - ); |
|
125 | - } |
|
126 | - $checked = in_array($value, $values) ? ' checked="checked"' : ''; |
|
127 | - $param = array( |
|
128 | - $modx->htmlspecialchars($value), |
|
129 | - $i, |
|
130 | - $field_id, |
|
131 | - $checked, |
|
132 | - $modx->htmlspecialchars($name) |
|
133 | - ); |
|
134 | - $_[] = vsprintf($tpl, $param); |
|
135 | - $i++; |
|
136 | - } |
|
137 | - $field_html = join("\n", $_); |
|
138 | - break; |
|
139 | - case "option": // handles radio buttons |
|
140 | - $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
141 | - static $i = 0; |
|
142 | - while(list($item, $itemvalue) = each($index_list)) { |
|
143 | - list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
144 | - if(strlen($itemvalue) == 0) { |
|
145 | - $itemvalue = $item; |
|
146 | - } |
|
147 | - $field_html .= '<input type="radio" value="' . $modx->htmlspecialchars($itemvalue) . '" id="tv_' . $i . '" name="tv' . $field_id . '" ' . ($itemvalue == $field_value ? 'checked="checked"' : '') . ' onchange="documentDirty=true;" /><label for="tv_' . $i . '" class="radio">' . $item . '</label><br />'; |
|
148 | - $i++; |
|
149 | - } |
|
150 | - break; |
|
151 | - case "image": // handles image fields using htmlarea image manager |
|
152 | - global $_lang; |
|
153 | - global $ResourceManagerLoaded; |
|
154 | - global $content, $use_editor, $which_editor; |
|
155 | - if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) { |
|
156 | - $field_html .= " |
|
51 | + break; |
|
52 | + case "dropdown": // handler for select boxes |
|
53 | + $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" size="1" onchange="documentDirty=true;">'; |
|
54 | + $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
55 | + while(list($item, $itemvalue) = each($index_list)) { |
|
56 | + list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
57 | + if(strlen($itemvalue) == 0) { |
|
58 | + $itemvalue = $item; |
|
59 | + } |
|
60 | + $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>'; |
|
61 | + } |
|
62 | + $field_html .= "</select>"; |
|
63 | + break; |
|
64 | + case "listbox": // handler for select boxes |
|
65 | + $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" onchange="documentDirty=true;" size="8">'; |
|
66 | + $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
67 | + while(list($item, $itemvalue) = each($index_list)) { |
|
68 | + list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
69 | + if(strlen($itemvalue) == 0) { |
|
70 | + $itemvalue = $item; |
|
71 | + } |
|
72 | + $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>'; |
|
73 | + } |
|
74 | + $field_html .= "</select>"; |
|
75 | + break; |
|
76 | + case "listbox-multiple": // handler for select boxes where you can choose multiple items |
|
77 | + $field_value = explode("||", $field_value); |
|
78 | + $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '[]" multiple="multiple" onchange="documentDirty=true;" size="8">'; |
|
79 | + $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
80 | + while(list($item, $itemvalue) = each($index_list)) { |
|
81 | + list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
82 | + if(strlen($itemvalue) == 0) { |
|
83 | + $itemvalue = $item; |
|
84 | + } |
|
85 | + $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . (in_array($itemvalue, $field_value) ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>'; |
|
86 | + } |
|
87 | + $field_html .= "</select>"; |
|
88 | + break; |
|
89 | + case "url": // handles url input fields |
|
90 | + $urls = array( |
|
91 | + '' => '--', |
|
92 | + 'http://' => 'http://', |
|
93 | + 'https://' => 'https://', |
|
94 | + 'ftp://' => 'ftp://', |
|
95 | + 'mailto:' => 'mailto:' |
|
96 | + ); |
|
97 | + $field_html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td><select id="tv' . $field_id . '_prefix" name="tv' . $field_id . '_prefix" onchange="documentDirty=true;">'; |
|
98 | + foreach($urls as $k => $v) { |
|
99 | + if(strpos($field_value, $v) === false) { |
|
100 | + $field_html .= '<option value="' . $v . '">' . $k . '</option>'; |
|
101 | + } else { |
|
102 | + $field_value = str_replace($v, '', $field_value); |
|
103 | + $field_html .= '<option value="' . $v . '" selected="selected">' . $k . '</option>'; |
|
104 | + } |
|
105 | + } |
|
106 | + $field_html .= '</select></td><td>'; |
|
107 | + $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" width="100" ' . $field_style . ' onchange="documentDirty=true;" /></td></tr></table>'; |
|
108 | + break; |
|
109 | + case 'checkbox': // handles check boxes |
|
110 | + $values = !is_array($field_value) ? explode('||', $field_value) : $field_value; |
|
111 | + $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
112 | + $tpl = '<label class="checkbox"><input type="checkbox" value="%s" id="tv_%s" name="tv%s[]" %s onchange="documentDirty=true;" />%s</label><br />'; |
|
113 | + static $i = 0; |
|
114 | + $_ = array(); |
|
115 | + foreach($index_list as $c => $item) { |
|
116 | + if(is_array($item)) { |
|
117 | + $name = trim($item[0]); |
|
118 | + $value = isset($item[1]) ? $item[1] : $name; |
|
119 | + } else { |
|
120 | + $item = trim($item); |
|
121 | + list($name, $value) = (strpos($item, '==') !== false) ? explode('==', $item, 2) : array( |
|
122 | + $item, |
|
123 | + $item |
|
124 | + ); |
|
125 | + } |
|
126 | + $checked = in_array($value, $values) ? ' checked="checked"' : ''; |
|
127 | + $param = array( |
|
128 | + $modx->htmlspecialchars($value), |
|
129 | + $i, |
|
130 | + $field_id, |
|
131 | + $checked, |
|
132 | + $modx->htmlspecialchars($name) |
|
133 | + ); |
|
134 | + $_[] = vsprintf($tpl, $param); |
|
135 | + $i++; |
|
136 | + } |
|
137 | + $field_html = join("\n", $_); |
|
138 | + break; |
|
139 | + case "option": // handles radio buttons |
|
140 | + $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray)); |
|
141 | + static $i = 0; |
|
142 | + while(list($item, $itemvalue) = each($index_list)) { |
|
143 | + list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue); |
|
144 | + if(strlen($itemvalue) == 0) { |
|
145 | + $itemvalue = $item; |
|
146 | + } |
|
147 | + $field_html .= '<input type="radio" value="' . $modx->htmlspecialchars($itemvalue) . '" id="tv_' . $i . '" name="tv' . $field_id . '" ' . ($itemvalue == $field_value ? 'checked="checked"' : '') . ' onchange="documentDirty=true;" /><label for="tv_' . $i . '" class="radio">' . $item . '</label><br />'; |
|
148 | + $i++; |
|
149 | + } |
|
150 | + break; |
|
151 | + case "image": // handles image fields using htmlarea image manager |
|
152 | + global $_lang; |
|
153 | + global $ResourceManagerLoaded; |
|
154 | + global $content, $use_editor, $which_editor; |
|
155 | + if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) { |
|
156 | + $field_html .= " |
|
157 | 157 | <script type=\"text/javascript\"> |
158 | 158 | /* <![CDATA[ */ |
159 | 159 | var lastImageCtrl; |
@@ -212,18 +212,18 @@ discard block |
||
212 | 212 | } |
213 | 213 | /* ]]> */ |
214 | 214 | </script>"; |
215 | - $ResourceManagerLoaded = true; |
|
216 | - } |
|
217 | - $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseServer(\'tv' . $field_id . '\')" />'; |
|
218 | - break; |
|
219 | - case "file": // handles the input of file uploads |
|
220 | - /* Modified by Timon for use with resource browser */ |
|
221 | - global $_lang; |
|
222 | - global $ResourceManagerLoaded; |
|
223 | - global $content, $use_editor, $which_editor; |
|
224 | - if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) { |
|
225 | - /* I didn't understand the meaning of the condition above, so I left it untouched ;-) */ |
|
226 | - $field_html .= " |
|
215 | + $ResourceManagerLoaded = true; |
|
216 | + } |
|
217 | + $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseServer(\'tv' . $field_id . '\')" />'; |
|
218 | + break; |
|
219 | + case "file": // handles the input of file uploads |
|
220 | + /* Modified by Timon for use with resource browser */ |
|
221 | + global $_lang; |
|
222 | + global $ResourceManagerLoaded; |
|
223 | + global $content, $use_editor, $which_editor; |
|
224 | + if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) { |
|
225 | + /* I didn't understand the meaning of the condition above, so I left it untouched ;-) */ |
|
226 | + $field_html .= " |
|
227 | 227 | <script type=\"text/javascript\"> |
228 | 228 | /* <![CDATA[ */ |
229 | 229 | var lastImageCtrl; |
@@ -282,101 +282,101 @@ discard block |
||
282 | 282 | } |
283 | 283 | /* ]]> */ |
284 | 284 | </script>"; |
285 | - $ResourceManagerLoaded = true; |
|
286 | - } |
|
287 | - $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseFileServer(\'tv' . $field_id . '\')" />'; |
|
285 | + $ResourceManagerLoaded = true; |
|
286 | + } |
|
287 | + $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseFileServer(\'tv' . $field_id . '\')" />'; |
|
288 | 288 | |
289 | - break; |
|
289 | + break; |
|
290 | 290 | |
291 | - case 'custom_tv': |
|
292 | - $custom_output = ''; |
|
293 | - /* If we are loading a file */ |
|
294 | - if(substr($field_elements, 0, 5) == "@FILE") { |
|
295 | - $file_name = MODX_BASE_PATH . trim(substr($field_elements, 6)); |
|
296 | - if(!file_exists($file_name)) { |
|
297 | - $custom_output = $file_name . ' does not exist'; |
|
298 | - } else { |
|
299 | - $custom_output = file_get_contents($file_name); |
|
300 | - } |
|
301 | - } elseif(substr($field_elements, 0, 8) == '@INCLUDE') { |
|
302 | - $file_name = MODX_BASE_PATH . trim(substr($field_elements, 9)); |
|
303 | - if(!file_exists($file_name)) { |
|
304 | - $custom_output = $file_name . ' does not exist'; |
|
305 | - } else { |
|
306 | - ob_start(); |
|
307 | - include $file_name; |
|
308 | - $custom_output = ob_get_contents(); |
|
309 | - ob_end_clean(); |
|
310 | - } |
|
311 | - } elseif(substr($field_elements, 0, 6) == "@CHUNK") { |
|
312 | - $chunk_name = trim(substr($field_elements, 7)); |
|
313 | - $chunk_body = $modx->getChunk($chunk_name); |
|
314 | - if($chunk_body == false) { |
|
315 | - $custom_output = $_lang['chunk_no_exist'] . '(' . $_lang['htmlsnippet_name'] . ':' . $chunk_name . ')'; |
|
316 | - } else { |
|
317 | - $custom_output = $chunk_body; |
|
318 | - } |
|
319 | - } elseif(substr($field_elements, 0, 5) == "@EVAL") { |
|
320 | - $eval_str = trim(substr($field_elements, 6)); |
|
321 | - $custom_output = eval($eval_str); |
|
322 | - } else { |
|
323 | - $custom_output = $field_elements; |
|
324 | - } |
|
325 | - $replacements = array( |
|
326 | - '[+field_type+]' => $field_type, |
|
327 | - '[+field_id+]' => $field_id, |
|
328 | - '[+default_text+]' => $default_text, |
|
329 | - '[+field_value+]' => $modx->htmlspecialchars($field_value), |
|
330 | - '[+field_style+]' => $field_style, |
|
331 | - ); |
|
332 | - $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output); |
|
333 | - $modx->documentObject = $content; |
|
334 | - $modx->documentIdentifier = $content['id']; |
|
335 | - $custom_output = $modx->parseDocumentSource($custom_output); |
|
336 | - $field_html .= $custom_output; |
|
337 | - break; |
|
291 | + case 'custom_tv': |
|
292 | + $custom_output = ''; |
|
293 | + /* If we are loading a file */ |
|
294 | + if(substr($field_elements, 0, 5) == "@FILE") { |
|
295 | + $file_name = MODX_BASE_PATH . trim(substr($field_elements, 6)); |
|
296 | + if(!file_exists($file_name)) { |
|
297 | + $custom_output = $file_name . ' does not exist'; |
|
298 | + } else { |
|
299 | + $custom_output = file_get_contents($file_name); |
|
300 | + } |
|
301 | + } elseif(substr($field_elements, 0, 8) == '@INCLUDE') { |
|
302 | + $file_name = MODX_BASE_PATH . trim(substr($field_elements, 9)); |
|
303 | + if(!file_exists($file_name)) { |
|
304 | + $custom_output = $file_name . ' does not exist'; |
|
305 | + } else { |
|
306 | + ob_start(); |
|
307 | + include $file_name; |
|
308 | + $custom_output = ob_get_contents(); |
|
309 | + ob_end_clean(); |
|
310 | + } |
|
311 | + } elseif(substr($field_elements, 0, 6) == "@CHUNK") { |
|
312 | + $chunk_name = trim(substr($field_elements, 7)); |
|
313 | + $chunk_body = $modx->getChunk($chunk_name); |
|
314 | + if($chunk_body == false) { |
|
315 | + $custom_output = $_lang['chunk_no_exist'] . '(' . $_lang['htmlsnippet_name'] . ':' . $chunk_name . ')'; |
|
316 | + } else { |
|
317 | + $custom_output = $chunk_body; |
|
318 | + } |
|
319 | + } elseif(substr($field_elements, 0, 5) == "@EVAL") { |
|
320 | + $eval_str = trim(substr($field_elements, 6)); |
|
321 | + $custom_output = eval($eval_str); |
|
322 | + } else { |
|
323 | + $custom_output = $field_elements; |
|
324 | + } |
|
325 | + $replacements = array( |
|
326 | + '[+field_type+]' => $field_type, |
|
327 | + '[+field_id+]' => $field_id, |
|
328 | + '[+default_text+]' => $default_text, |
|
329 | + '[+field_value+]' => $modx->htmlspecialchars($field_value), |
|
330 | + '[+field_style+]' => $field_style, |
|
331 | + ); |
|
332 | + $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output); |
|
333 | + $modx->documentObject = $content; |
|
334 | + $modx->documentIdentifier = $content['id']; |
|
335 | + $custom_output = $modx->parseDocumentSource($custom_output); |
|
336 | + $field_html .= $custom_output; |
|
337 | + break; |
|
338 | 338 | |
339 | - default: // the default handler -- for errors, mostly |
|
340 | - $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' onchange="documentDirty=true;" />'; |
|
339 | + default: // the default handler -- for errors, mostly |
|
340 | + $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' onchange="documentDirty=true;" />'; |
|
341 | 341 | |
342 | - } // end switch statement |
|
343 | - } else { |
|
344 | - $custom = explode(":", $field_type); |
|
345 | - $custom_output = ''; |
|
346 | - $file_name = MODX_BASE_PATH . 'assets/tvs/' . $custom['1'] . '/' . $custom['1'] . '.customtv.php'; |
|
347 | - if(!file_exists($file_name)) { |
|
348 | - $custom_output = $file_name . ' does not exist'; |
|
349 | - } else { |
|
350 | - ob_start(); |
|
351 | - include $file_name; |
|
352 | - $custom_output = ob_get_contents(); |
|
353 | - ob_end_clean(); |
|
354 | - } |
|
355 | - $replacements = array( |
|
356 | - '[+field_type+]' => $field_type, |
|
357 | - '[+field_id+]' => $field_id, |
|
358 | - '[+default_text+]' => $default_text, |
|
359 | - '[+field_value+]' => $modx->htmlspecialchars($field_value), |
|
360 | - '[+field_style+]' => $field_style, |
|
361 | - ); |
|
362 | - $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output); |
|
363 | - $modx->documentObject = $content; |
|
364 | - $custom_output = $modx->parseDocumentSource($custom_output); |
|
365 | - $field_html .= $custom_output; |
|
366 | - } |
|
342 | + } // end switch statement |
|
343 | + } else { |
|
344 | + $custom = explode(":", $field_type); |
|
345 | + $custom_output = ''; |
|
346 | + $file_name = MODX_BASE_PATH . 'assets/tvs/' . $custom['1'] . '/' . $custom['1'] . '.customtv.php'; |
|
347 | + if(!file_exists($file_name)) { |
|
348 | + $custom_output = $file_name . ' does not exist'; |
|
349 | + } else { |
|
350 | + ob_start(); |
|
351 | + include $file_name; |
|
352 | + $custom_output = ob_get_contents(); |
|
353 | + ob_end_clean(); |
|
354 | + } |
|
355 | + $replacements = array( |
|
356 | + '[+field_type+]' => $field_type, |
|
357 | + '[+field_id+]' => $field_id, |
|
358 | + '[+default_text+]' => $default_text, |
|
359 | + '[+field_value+]' => $modx->htmlspecialchars($field_value), |
|
360 | + '[+field_style+]' => $field_style, |
|
361 | + ); |
|
362 | + $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output); |
|
363 | + $modx->documentObject = $content; |
|
364 | + $custom_output = $modx->parseDocumentSource($custom_output); |
|
365 | + $field_html .= $custom_output; |
|
366 | + } |
|
367 | 367 | |
368 | - return $field_html; |
|
368 | + return $field_html; |
|
369 | 369 | } // end renderFormElement function |
370 | 370 | |
371 | 371 | function ParseIntputOptions($v) { |
372 | - global $modx; |
|
373 | - $a = array(); |
|
374 | - if(is_array($v)) { |
|
375 | - return $v; |
|
376 | - } else if($modx->db->isResult($v)) { |
|
377 | - while($cols = $modx->db->getRow($v, 'num')) $a[] = $cols; |
|
378 | - } else { |
|
379 | - $a = explode("||", $v); |
|
380 | - } |
|
381 | - return $a; |
|
372 | + global $modx; |
|
373 | + $a = array(); |
|
374 | + if(is_array($v)) { |
|
375 | + return $v; |
|
376 | + } else if($modx->db->isResult($v)) { |
|
377 | + while($cols = $modx->db->getRow($v, 'num')) $a[] = $cols; |
|
378 | + } else { |
|
379 | + $a = explode("||", $v); |
|
380 | + } |
|
381 | + return $a; |
|
382 | 382 | } |
@@ -19,60 +19,60 @@ |
||
19 | 19 | </head><body> |
20 | 20 | "; |
21 | 21 | if($is_error) { |
22 | - $parsedMessageString .= "<h3 style='color:red;background:#e0e0e0;padding:2px;'> MODX Parse Error </h3> |
|
22 | + $parsedMessageString .= "<h3 style='color:red;background:#e0e0e0;padding:2px;'> MODX Parse Error </h3> |
|
23 | 23 | <table border='0' cellpadding='1' cellspacing='0'> |
24 | 24 | <tr><td colspan='3'>MODX encountered the following error while attempting to parse the requested resource:</td></tr> |
25 | 25 | <tr><td colspan='3'><b style='color:red;'>« $msg »</b></td></tr>"; |
26 | 26 | } else { |
27 | - $parsedMessageString .= "<h3 style='color:#003399; background:#eeeeee;padding:2px;'> MODX Debug/ stop message </h3> |
|
27 | + $parsedMessageString .= "<h3 style='color:#003399; background:#eeeeee;padding:2px;'> MODX Debug/ stop message </h3> |
|
28 | 28 | <table border='0' cellpadding='1' cellspacing='0'> |
29 | 29 | <tr><td colspan='3'>The MODX parser recieved the following debug/ stop message:</td></tr> |
30 | 30 | <tr><td colspan='3'><b style='color:#003399;'>« $msg »</b></td></tr>"; |
31 | 31 | } |
32 | 32 | |
33 | 33 | if(!empty($query)) { |
34 | - $parsedMessageString .= "<tr><td colspan='3'><hr size='1' width='98%' style='color:#e0e0e0'/><b style='color:#999;font-size: 9px;border-left:1px solid #c0c0c0; margin-left:10px;'> SQL: <span id='sqlHolder'>$query</span></b><hr size='1' width='98%' style='color:#e0e0e0'/> |
|
34 | + $parsedMessageString .= "<tr><td colspan='3'><hr size='1' width='98%' style='color:#e0e0e0'/><b style='color:#999;font-size: 9px;border-left:1px solid #c0c0c0; margin-left:10px;'> SQL: <span id='sqlHolder'>$query</span></b><hr size='1' width='98%' style='color:#e0e0e0'/> |
|
35 | 35 | <a href='javascript:copyToClip();' style='color:#821517;font-size: 9px; text-decoration: none'>[Copy SQL to ClipBoard]</a><textarea id='holdtext' style='display:none;'></textarea></td></tr>"; |
36 | 36 | } |
37 | 37 | |
38 | 38 | if($text!='') { |
39 | 39 | |
40 | - $errortype = array ( |
|
41 | - E_ERROR => "Error", |
|
42 | - E_WARNING => "Warning", |
|
43 | - E_PARSE => "Parsing Error", |
|
44 | - E_NOTICE => "Notice", |
|
45 | - E_CORE_ERROR => "Core Error", |
|
46 | - E_CORE_WARNING => "Core Warning", |
|
47 | - E_COMPILE_ERROR => "Compile Error", |
|
48 | - E_COMPILE_WARNING => "Compile Warning", |
|
49 | - E_USER_ERROR => "User Error", |
|
50 | - E_USER_WARNING => "User Warning", |
|
51 | - E_USER_NOTICE => "User Notice", |
|
52 | - ); |
|
40 | + $errortype = array ( |
|
41 | + E_ERROR => "Error", |
|
42 | + E_WARNING => "Warning", |
|
43 | + E_PARSE => "Parsing Error", |
|
44 | + E_NOTICE => "Notice", |
|
45 | + E_CORE_ERROR => "Core Error", |
|
46 | + E_CORE_WARNING => "Core Warning", |
|
47 | + E_COMPILE_ERROR => "Compile Error", |
|
48 | + E_COMPILE_WARNING => "Compile Warning", |
|
49 | + E_USER_ERROR => "User Error", |
|
50 | + E_USER_WARNING => "User Warning", |
|
51 | + E_USER_NOTICE => "User Notice", |
|
52 | + ); |
|
53 | 53 | |
54 | - $parsedMessageString .= "<tr><td> </td></tr><tr><td colspan='3'><b>PHP error debug</b></td></tr>"; |
|
54 | + $parsedMessageString .= "<tr><td> </td></tr><tr><td colspan='3'><b>PHP error debug</b></td></tr>"; |
|
55 | 55 | |
56 | - $parsedMessageString .= "<tr><td valign='top'> Error: </td>"; |
|
57 | - $parsedMessageString .= "<td colspan='2'>$text</td><td> </td>"; |
|
58 | - $parsedMessageString .= "</tr>"; |
|
56 | + $parsedMessageString .= "<tr><td valign='top'> Error: </td>"; |
|
57 | + $parsedMessageString .= "<td colspan='2'>$text</td><td> </td>"; |
|
58 | + $parsedMessageString .= "</tr>"; |
|
59 | 59 | |
60 | - $parsedMessageString .= "<tr><td valign='top'> Error type/ Nr.: </td>"; |
|
61 | - $parsedMessageString .= "<td colspan='2'>".$errortype[$nr]." - $nr</b></td><td> </td>"; |
|
62 | - $parsedMessageString .= "</tr>"; |
|
60 | + $parsedMessageString .= "<tr><td valign='top'> Error type/ Nr.: </td>"; |
|
61 | + $parsedMessageString .= "<td colspan='2'>".$errortype[$nr]." - $nr</b></td><td> </td>"; |
|
62 | + $parsedMessageString .= "</tr>"; |
|
63 | 63 | |
64 | - $parsedMessageString .= "<tr><td> File: </td>"; |
|
65 | - $parsedMessageString .= "<td colspan='2'>$file</td><td> </td>"; |
|
66 | - $parsedMessageString .= "</tr>"; |
|
64 | + $parsedMessageString .= "<tr><td> File: </td>"; |
|
65 | + $parsedMessageString .= "<td colspan='2'>$file</td><td> </td>"; |
|
66 | + $parsedMessageString .= "</tr>"; |
|
67 | 67 | |
68 | - $parsedMessageString .= "<tr><td> Line: </td>"; |
|
69 | - $parsedMessageString .= "<td colspan='2'>$line</td><td> </td>"; |
|
70 | - $parsedMessageString .= "</tr>"; |
|
71 | - if($source!='') { |
|
72 | - $parsedMessageString .= "<tr><td valign='top'> Line $line source: </td>"; |
|
73 | - $parsedMessageString .= "<td colspan='2'>$source</td><td> </td>"; |
|
74 | - $parsedMessageString .= "</tr>"; |
|
75 | - } |
|
68 | + $parsedMessageString .= "<tr><td> Line: </td>"; |
|
69 | + $parsedMessageString .= "<td colspan='2'>$line</td><td> </td>"; |
|
70 | + $parsedMessageString .= "</tr>"; |
|
71 | + if($source!='') { |
|
72 | + $parsedMessageString .= "<tr><td valign='top'> Line $line source: </td>"; |
|
73 | + $parsedMessageString .= "<td colspan='2'>$source</td><td> </td>"; |
|
74 | + $parsedMessageString .= "</tr>"; |
|
75 | + } |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | $parsedMessageString .= "<tr><td> </td></tr><tr><td colspan='3'><b>Parser timing</b></td></tr>"; |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | function getUserData() { |
41 | 41 | $client['ip'] = $_SERVER['REMOTE_ADDR']; |
42 | 42 | $client['ua'] = $_SERVER['HTTP_USER_AGENT']; |
43 | - return $client; |
|
43 | + return $client; |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | # Returns true, install or interact when inside manager |
@@ -60,12 +60,12 @@ discard block |
||
60 | 60 | |
61 | 61 | // deprecated |
62 | 62 | function putChunk($chunkName) { // alias name >.< |
63 | - global $modx; |
|
63 | + global $modx; |
|
64 | 64 | return $modx->getChunk($chunkName); |
65 | 65 | } |
66 | 66 | |
67 | 67 | function getDocGroups() { |
68 | - global $modx; |
|
68 | + global $modx; |
|
69 | 69 | return $modx->getUserDocGroups(); |
70 | 70 | } // deprecated |
71 | 71 | |
@@ -74,7 +74,7 @@ discard block |
||
74 | 74 | } // deprecated |
75 | 75 | |
76 | 76 | function userLoggedIn() { |
77 | - global $modx; |
|
77 | + global $modx; |
|
78 | 78 | $userdetails= array (); |
79 | 79 | if ($modx->isFrontend() && isset ($_SESSION['webValidated'])) { |
80 | 80 | // web user |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | |
99 | 99 | function getFormVars($method= "", $prefix= "", $trim= "", $REQUEST_METHOD) { |
100 | 100 | // function to retrieve form results into an associative array |
101 | - global $modx; |
|
101 | + global $modx; |
|
102 | 102 | $results= array (); |
103 | 103 | $method= strtoupper($method); |
104 | 104 | if ($method == "") |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | * @param string $url URL to redirect to |
131 | 131 | */ |
132 | 132 | function webAlert($msg, $url= "") { |
133 | - global $modx; |
|
133 | + global $modx; |
|
134 | 134 | $msg= addslashes($modx->db->escape($msg)); |
135 | 135 | if (substr(strtolower($url), 0, 11) == "javascript:") { |
136 | 136 | $act= "__WebAlert();"; |