Completed
Pull Request — develop (#545)
by Agel_Nash
05:36
created
manager/includes/controls/datasetpager.class.php 1 patch
Indentation   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -12,18 +12,18 @@  discard block
 block discarded – undo
12 12
 
13 13
 class DataSetPager {
14 14
 
15
-	public $ds; // datasource
15
+    public $ds; // datasource
16 16
     public $pageSize;
17 17
     public $pageNumber;
18 18
     public $rows;
19 19
     public $pager;
20 20
     public $id;
21 21
 
22
-	// normal page
22
+    // normal page
23 23
     public $pageStyle;
24 24
     public $pageClass;
25 25
 
26
-	// selected page
26
+    // selected page
27 27
     public $selPageStyle;
28 28
     public $selPageClass;
29 29
     public $renderRowFnc;
@@ -32,166 +32,166 @@  discard block
 block discarded – undo
32 32
     public $renderPagerFncArgs;
33 33
 
34 34
     public function __construct($id, $ds, $pageSize = 10, $pageNumber = -1) {
35
-		global $_PAGE; // use view state object
36
-
37
-		global $__DataSetPagerCnt;
38
-
39
-		// set id
40
-		$__DataSetPagerCnt++;
41
-		$this->id = !empty($id) ? $id : "dsp" . $__DataSetPagerCnt;
42
-
43
-		// get pagenumber
44
-		// by setting pager to -1 cause pager to load it's last page number
45
-		if($pageNumber == -1) {
46
-			$pageNumber = 1;
47
-			if(isset($_GET["dpgn" . $this->id])) {
48
-				$pageNumber = $_GET["dpgn" . $this->id];
49
-			} elseif(isset($_PAGE['vs'][$id . '_dpgn'])) {
50
-				$pageNumber = $_PAGE['vs'][$id . '_dpgn'];
51
-			}
52
-		}
53
-		if(!is_numeric($pageNumber)) {
54
-			$pageNumber = 1;
55
-		}
56
-
57
-		$this->ds = $ds; // datasource
58
-		$this->pageSize = $pageSize;
59
-		$this->pageNumber = $pageNumber;
60
-		$this->rows = '';
61
-		$this->pager = '';
62
-	}
35
+        global $_PAGE; // use view state object
36
+
37
+        global $__DataSetPagerCnt;
38
+
39
+        // set id
40
+        $__DataSetPagerCnt++;
41
+        $this->id = !empty($id) ? $id : "dsp" . $__DataSetPagerCnt;
42
+
43
+        // get pagenumber
44
+        // by setting pager to -1 cause pager to load it's last page number
45
+        if($pageNumber == -1) {
46
+            $pageNumber = 1;
47
+            if(isset($_GET["dpgn" . $this->id])) {
48
+                $pageNumber = $_GET["dpgn" . $this->id];
49
+            } elseif(isset($_PAGE['vs'][$id . '_dpgn'])) {
50
+                $pageNumber = $_PAGE['vs'][$id . '_dpgn'];
51
+            }
52
+        }
53
+        if(!is_numeric($pageNumber)) {
54
+            $pageNumber = 1;
55
+        }
56
+
57
+        $this->ds = $ds; // datasource
58
+        $this->pageSize = $pageSize;
59
+        $this->pageNumber = $pageNumber;
60
+        $this->rows = '';
61
+        $this->pager = '';
62
+    }
63 63
 
64 64
     public function getRenderedPager() {
65
-		return $this->pager;
66
-	}
65
+        return $this->pager;
66
+    }
67 67
 
68 68
     public function getRenderedRows() {
69
-		return $this->rows;
70
-	}
69
+        return $this->rows;
70
+    }
71 71
 
72 72
     public function setDataSource($ds) {
73
-		$this->ds = $ds;
74
-	}
73
+        $this->ds = $ds;
74
+    }
75 75
 
76 76
     public function setPageSize($ps) {
77
-		$this->pageSize = $ps;
78
-	}
77
+        $this->pageSize = $ps;
78
+    }
79 79
 
80 80
     public function setRenderRowFnc($fncName, $args = "") {
81
-		$this->renderRowFnc = &$fncName;
82
-		$this->renderRowFncArgs = $args;    // extra agruments
81
+        $this->renderRowFnc = &$fncName;
82
+        $this->renderRowFncArgs = $args;    // extra agruments
83 83
 
84 84
 
85
-	}
85
+    }
86 86
 
87 87
     public function setRenderPagerFnc($fncName, $args = "") {
88
-		$this->renderPagerFnc = $fncName;
89
-		$this->renderPagerFncArgs = $args;    // extra agruments
90
-	}
88
+        $this->renderPagerFnc = $fncName;
89
+        $this->renderPagerFncArgs = $args;    // extra agruments
90
+    }
91 91
 
92 92
     public function render() {
93
-		$modx = DocumentParser::getInstance(); global $_PAGE;
94
-
95
-		$isDataset = $modx->db->isResult($this->ds);
96
-
97
-		if(!$this->selPageStyle) {
98
-			$this->selPageStyle = "font-weight:bold";
99
-		}
100
-
101
-		// get total number of rows
102
-		$tnr = ($isDataset) ? $modx->db->getRecordCount($this->ds) : count($this->ds);
103
-
104
-		// render: no records found
105
-		if($tnr <= 0) {
106
-			$fnc = $this->renderRowFnc;
107
-			$args = $this->renderRowFncArgs;
108
-			if(isset($fnc)) {
109
-				if($args != "") {
110
-					$this->rows .= $fnc(0, null, $args);
111
-				} // if agrs was specified then we will pass three params
112
-				else {
113
-					$this->rows .= $fnc(0, null);
114
-				}                 // otherwise two will be passed
115
-			}
116
-			return;
117
-		}
118
-
119
-		// get total pages
120
-		$tp = ceil($tnr / $this->pageSize);
121
-		if($this->pageNumber > $tp) {
122
-			$this->pageNumber = 1;
123
-		}
124
-
125
-		// get page number
126
-		$p = $this->pageNumber;
127
-
128
-		// save page number to view state if available
129
-		if(isset($_PAGE['vs'])) {
130
-			$_PAGE['vs'][$this->id . '_dpgn'] = $p;
131
-		}
132
-
133
-		// render pager : renderPagerFnc($cuurentPage,$pagerNumber,$arguments="");
134
-		if($tp > 1) {
135
-		    $url = '';
136
-			$fnc = $this->renderPagerFnc;
137
-			$args = $this->renderPagerFncArgs;
138
-			if(!isset($fnc)) {
139
-				if($modx->isFrontend()) {
140
-					$url = $modx->makeUrl($modx->documentIdentifier, '', '', 'full') . '?';
141
-				} else {
142
-					$url = $_SERVER['PHP_SELF'] . '?';
143
-				}
144
-				$i = 0;
145
-				foreach($_GET as $n => $v) if($n != 'dpgn' . $this->id) {
146
-					$i++;
147
-					$url .= (($i > 1) ? "&" : "") . "$n=$v";
148
-				}
149
-				if($i >= 1) {
150
-					$url .= "&";
151
-				}
152
-			}
153
-			for($i = 1; $i <= $tp; $i++) {
154
-				if(isset($fnc)) {
155
-					if($args != "") {
156
-						$this->pager .= $fnc($p, $i, $args);
157
-					} else {
158
-						$this->pager .= $fnc($p, $i);
159
-					}
160
-				} else {
161
-					$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> ";
162
-				}
163
-			}
164
-		}
165
-
166
-		// render row : renderRowFnc($rowNumber,$row,$arguments="")
167
-		$fnc = $this->renderRowFnc;
168
-		$args = $this->renderRowFncArgs;
169
-
170
-		if(isset($fnc)) {
171
-			$i = 1;
172
-			$fncObject = is_object($fnc);
173
-			$minitems = (($p - 1) * $this->pageSize) + 1;
174
-			$maxitems = (($p - 1) * $this->pageSize) + $this->pageSize;
175
-			while($i <= $maxitems && ($row = ($isDataset) ? $modx->db->getRow($this->ds) : $this->ds[$i - 1])) {
176
-				if($i >= $minitems && $i <= $maxitems) {
177
-					if($fncObject) {
178
-						if($args != "") {
179
-							$this->rows .= $fnc->RenderRowFnc($i, $row, $args);
180
-						} else {
181
-							$this->rows .= $fnc->RenderRowFnc($i, $row);
182
-						}
183
-					} else {
184
-						if($args != "") {
185
-							$this->rows .= $fnc($i, $row, $args);
186
-						} // if agrs was specified then we wil pass three params
187
-						else {
188
-							$this->rows .= $fnc($i, $row);
189
-						}                 // otherwise two will be passed
190
-					}
191
-
192
-				}
193
-				$i++;
194
-			}
195
-		}
196
-	}
93
+        $modx = DocumentParser::getInstance(); global $_PAGE;
94
+
95
+        $isDataset = $modx->db->isResult($this->ds);
96
+
97
+        if(!$this->selPageStyle) {
98
+            $this->selPageStyle = "font-weight:bold";
99
+        }
100
+
101
+        // get total number of rows
102
+        $tnr = ($isDataset) ? $modx->db->getRecordCount($this->ds) : count($this->ds);
103
+
104
+        // render: no records found
105
+        if($tnr <= 0) {
106
+            $fnc = $this->renderRowFnc;
107
+            $args = $this->renderRowFncArgs;
108
+            if(isset($fnc)) {
109
+                if($args != "") {
110
+                    $this->rows .= $fnc(0, null, $args);
111
+                } // if agrs was specified then we will pass three params
112
+                else {
113
+                    $this->rows .= $fnc(0, null);
114
+                }                 // otherwise two will be passed
115
+            }
116
+            return;
117
+        }
118
+
119
+        // get total pages
120
+        $tp = ceil($tnr / $this->pageSize);
121
+        if($this->pageNumber > $tp) {
122
+            $this->pageNumber = 1;
123
+        }
124
+
125
+        // get page number
126
+        $p = $this->pageNumber;
127
+
128
+        // save page number to view state if available
129
+        if(isset($_PAGE['vs'])) {
130
+            $_PAGE['vs'][$this->id . '_dpgn'] = $p;
131
+        }
132
+
133
+        // render pager : renderPagerFnc($cuurentPage,$pagerNumber,$arguments="");
134
+        if($tp > 1) {
135
+            $url = '';
136
+            $fnc = $this->renderPagerFnc;
137
+            $args = $this->renderPagerFncArgs;
138
+            if(!isset($fnc)) {
139
+                if($modx->isFrontend()) {
140
+                    $url = $modx->makeUrl($modx->documentIdentifier, '', '', 'full') . '?';
141
+                } else {
142
+                    $url = $_SERVER['PHP_SELF'] . '?';
143
+                }
144
+                $i = 0;
145
+                foreach($_GET as $n => $v) if($n != 'dpgn' . $this->id) {
146
+                    $i++;
147
+                    $url .= (($i > 1) ? "&" : "") . "$n=$v";
148
+                }
149
+                if($i >= 1) {
150
+                    $url .= "&";
151
+                }
152
+            }
153
+            for($i = 1; $i <= $tp; $i++) {
154
+                if(isset($fnc)) {
155
+                    if($args != "") {
156
+                        $this->pager .= $fnc($p, $i, $args);
157
+                    } else {
158
+                        $this->pager .= $fnc($p, $i);
159
+                    }
160
+                } else {
161
+                    $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> ";
162
+                }
163
+            }
164
+        }
165
+
166
+        // render row : renderRowFnc($rowNumber,$row,$arguments="")
167
+        $fnc = $this->renderRowFnc;
168
+        $args = $this->renderRowFncArgs;
169
+
170
+        if(isset($fnc)) {
171
+            $i = 1;
172
+            $fncObject = is_object($fnc);
173
+            $minitems = (($p - 1) * $this->pageSize) + 1;
174
+            $maxitems = (($p - 1) * $this->pageSize) + $this->pageSize;
175
+            while($i <= $maxitems && ($row = ($isDataset) ? $modx->db->getRow($this->ds) : $this->ds[$i - 1])) {
176
+                if($i >= $minitems && $i <= $maxitems) {
177
+                    if($fncObject) {
178
+                        if($args != "") {
179
+                            $this->rows .= $fnc->RenderRowFnc($i, $row, $args);
180
+                        } else {
181
+                            $this->rows .= $fnc->RenderRowFnc($i, $row);
182
+                        }
183
+                    } else {
184
+                        if($args != "") {
185
+                            $this->rows .= $fnc($i, $row, $args);
186
+                        } // if agrs was specified then we wil pass three params
187
+                        else {
188
+                            $this->rows .= $fnc($i, $row);
189
+                        }                 // otherwise two will be passed
190
+                    }
191
+
192
+                }
193
+                $i++;
194
+            }
195
+        }
196
+    }
197 197
 }
Please login to merge, or discard this patch.
manager/includes/tmplvars.format.inc.php 1 patch
Indentation   +320 added lines, -320 removed lines patch added patch discarded remove patch
@@ -21,320 +21,320 @@  discard block
 block discarded – undo
21 21
     $o = '';
22 22
 
23 23
     // process any TV commands in value
24
-	$docid = (int)$docid > 0 ? (int)$docid : $modx->documentIdentifier;
25
-	$value = ProcessTVCommand($value, $name, $docid);
24
+    $docid = (int)$docid > 0 ? (int)$docid : $modx->documentIdentifier;
25
+    $value = ProcessTVCommand($value, $name, $docid);
26 26
 
27
-	$params = array();
28
-	if($paramstring) {
29
-		$cp = explode("&", $paramstring);
30
-		foreach($cp as $p => $v) {
31
-			$v = trim($v); // trim
32
-			$ar = explode("=", $v);
33
-			if(is_array($ar) && count($ar) == 2) {
34
-				$params[$ar[0]] = decodeParamValue($ar[1]);
35
-			}
36
-		}
37
-	}
27
+    $params = array();
28
+    if($paramstring) {
29
+        $cp = explode("&", $paramstring);
30
+        foreach($cp as $p => $v) {
31
+            $v = trim($v); // trim
32
+            $ar = explode("=", $v);
33
+            if(is_array($ar) && count($ar) == 2) {
34
+                $params[$ar[0]] = decodeParamValue($ar[1]);
35
+            }
36
+        }
37
+    }
38 38
 
39
-	$id = "tv$name";
40
-	switch($format) {
41
-		case 'image':
42
-			$images = parseInput($value, '||', 'array');
43
-			foreach($images as $image) {
44
-				if(!is_array($image)) {
45
-					$image = explode('==', $image);
46
-				}
47
-				$src = $image[0];
39
+    $id = "tv$name";
40
+    switch($format) {
41
+        case 'image':
42
+            $images = parseInput($value, '||', 'array');
43
+            foreach($images as $image) {
44
+                if(!is_array($image)) {
45
+                    $image = explode('==', $image);
46
+                }
47
+                $src = $image[0];
48 48
 
49
-				if($src) {
50
-					// We have a valid source
51
-					$attributes = '';
52
-					$attr = array(
53
-						'class' => $params['class'],
54
-						'src' => $src,
55
-						'id' => ($params['id'] ? $params['id'] : ''),
56
-						'alt' => $modx->htmlspecialchars($params['alttext']),
57
-						'style' => $params['style']
58
-					);
59
-					if(isset($params['align']) && $params['align'] != 'none') {
60
-						$attr['align'] = $params['align'];
61
-					}
62
-					foreach($attr as $k => $v) $attributes .= ($v ? ' ' . $k . '="' . $v . '"' : '');
63
-					$attributes .= ' ' . $params['attrib'];
49
+                if($src) {
50
+                    // We have a valid source
51
+                    $attributes = '';
52
+                    $attr = array(
53
+                        'class' => $params['class'],
54
+                        'src' => $src,
55
+                        'id' => ($params['id'] ? $params['id'] : ''),
56
+                        'alt' => $modx->htmlspecialchars($params['alttext']),
57
+                        'style' => $params['style']
58
+                    );
59
+                    if(isset($params['align']) && $params['align'] != 'none') {
60
+                        $attr['align'] = $params['align'];
61
+                    }
62
+                    foreach($attr as $k => $v) $attributes .= ($v ? ' ' . $k . '="' . $v . '"' : '');
63
+                    $attributes .= ' ' . $params['attrib'];
64 64
 
65
-					// Output the image with attributes
66
-					$o .= '<img' . rtrim($attributes) . ' />';
67
-				}
68
-			}
69
-			break;
65
+                    // Output the image with attributes
66
+                    $o .= '<img' . rtrim($attributes) . ' />';
67
+                }
68
+            }
69
+            break;
70 70
 
71
-		case "delim":    // display as delimitted list
72
-			$value = parseInput($value, "||");
73
-			$p = $params['format'] ? $params['format'] : " ";
74
-			if($p == "\\n") {
75
-				$p = "\n";
76
-			}
77
-			$o = str_replace("||", $p, $value);
78
-			break;
71
+        case "delim":    // display as delimitted list
72
+            $value = parseInput($value, "||");
73
+            $p = $params['format'] ? $params['format'] : " ";
74
+            if($p == "\\n") {
75
+                $p = "\n";
76
+            }
77
+            $o = str_replace("||", $p, $value);
78
+            break;
79 79
 
80
-		case "string":
81
-			$value = parseInput($value);
82
-			$format = strtolower($params['format']);
83
-			if($format == 'upper case') {
84
-				$o = strtoupper($value);
85
-			} else if($format == 'lower case') {
86
-				$o = strtolower($value);
87
-			} else if($format == 'sentence case') {
88
-				$o = ucfirst($value);
89
-			} else if($format == 'capitalize') {
90
-				$o = ucwords($value);
91
-			} else {
92
-				$o = $value;
93
-			}
94
-			break;
80
+        case "string":
81
+            $value = parseInput($value);
82
+            $format = strtolower($params['format']);
83
+            if($format == 'upper case') {
84
+                $o = strtoupper($value);
85
+            } else if($format == 'lower case') {
86
+                $o = strtolower($value);
87
+            } else if($format == 'sentence case') {
88
+                $o = ucfirst($value);
89
+            } else if($format == 'capitalize') {
90
+                $o = ucwords($value);
91
+            } else {
92
+                $o = $value;
93
+            }
94
+            break;
95 95
 
96
-		case "date":
97
-			if($value != '' || $params['default'] == 'Yes') {
98
-				if(empty($value)) {
99
-					$value = 'now';
100
-				}
101
-				$timestamp = getUnixtimeFromDateString($value);
102
-				$p = $params['format'] ? $params['format'] : "%A %d, %B %Y";
103
-				$o = strftime($p, $timestamp);
104
-			} else {
105
-				$value = '';
106
-			}
107
-			break;
96
+        case "date":
97
+            if($value != '' || $params['default'] == 'Yes') {
98
+                if(empty($value)) {
99
+                    $value = 'now';
100
+                }
101
+                $timestamp = getUnixtimeFromDateString($value);
102
+                $p = $params['format'] ? $params['format'] : "%A %d, %B %Y";
103
+                $o = strftime($p, $timestamp);
104
+            } else {
105
+                $value = '';
106
+            }
107
+            break;
108 108
 
109
-		case "hyperlink":
110
-			$value = parseInput($value, "||", "array");
111
-			$o = '';
112
-			$countValue = count($value);
113
-			for($i = 0; $i < $countValue; $i++) {
114
-				list($name, $url) = is_array($value[$i]) ? $value[$i] : explode("==", $value[$i]);
115
-				if(!$url) {
116
-					$url = $name;
117
-				}
118
-				if($url) {
119
-					if($o) {
120
-						$o .= '<br />';
121
-					}
122
-					$attributes = '';
123
-					// setup the link attributes
124
-					$attr = array(
125
-						'href' => $url,
126
-						'title' => $params['title'] ? $modx->htmlspecialchars($params['title']) : $name,
127
-						'class' => $params['class'],
128
-						'style' => $params['style'],
129
-						'target' => $params['target'],
130
-					);
131
-					foreach($attr as $k => $v) $attributes .= ($v ? ' ' . $k . '="' . $v . '"' : '');
132
-					$attributes .= ' ' . $params['attrib']; // add extra
109
+        case "hyperlink":
110
+            $value = parseInput($value, "||", "array");
111
+            $o = '';
112
+            $countValue = count($value);
113
+            for($i = 0; $i < $countValue; $i++) {
114
+                list($name, $url) = is_array($value[$i]) ? $value[$i] : explode("==", $value[$i]);
115
+                if(!$url) {
116
+                    $url = $name;
117
+                }
118
+                if($url) {
119
+                    if($o) {
120
+                        $o .= '<br />';
121
+                    }
122
+                    $attributes = '';
123
+                    // setup the link attributes
124
+                    $attr = array(
125
+                        'href' => $url,
126
+                        'title' => $params['title'] ? $modx->htmlspecialchars($params['title']) : $name,
127
+                        'class' => $params['class'],
128
+                        'style' => $params['style'],
129
+                        'target' => $params['target'],
130
+                    );
131
+                    foreach($attr as $k => $v) $attributes .= ($v ? ' ' . $k . '="' . $v . '"' : '');
132
+                    $attributes .= ' ' . $params['attrib']; // add extra
133 133
 
134
-					// Output the link
135
-					$o .= '<a' . rtrim($attributes) . '>' . ($params['text'] ? $modx->htmlspecialchars($params['text']) : $name) . '</a>';
136
-				}
137
-			}
138
-			break;
134
+                    // Output the link
135
+                    $o .= '<a' . rtrim($attributes) . '>' . ($params['text'] ? $modx->htmlspecialchars($params['text']) : $name) . '</a>';
136
+                }
137
+            }
138
+            break;
139 139
 
140
-		case "htmltag":
141
-			$value = parseInput($value, "||", "array");
142
-			$tagid = $params['tagid'];
143
-			$tagname = ($params['tagname']) ? $params['tagname'] : 'div';
144
-			$o = '';
145
-			// Loop through a list of tags
140
+        case "htmltag":
141
+            $value = parseInput($value, "||", "array");
142
+            $tagid = $params['tagid'];
143
+            $tagname = ($params['tagname']) ? $params['tagname'] : 'div';
144
+            $o = '';
145
+            // Loop through a list of tags
146 146
             $countValue = count($value);
147
-			for($i = 0; $i < $countValue; $i++) {
148
-				$tagvalue = is_array($value[$i]) ? implode(' ', $value[$i]) : $value[$i];
149
-				if(!$tagvalue) {
150
-					continue;
151
-				}
147
+            for($i = 0; $i < $countValue; $i++) {
148
+                $tagvalue = is_array($value[$i]) ? implode(' ', $value[$i]) : $value[$i];
149
+                if(!$tagvalue) {
150
+                    continue;
151
+                }
152 152
 
153
-				$attributes = '';
154
-				$attr = array(
155
-					'id' => ($tagid ? $tagid : $id),
156
-					// 'tv' already added to id
157
-					'class' => $params['class'],
158
-					'style' => $params['style'],
159
-				);
160
-				foreach($attr as $k => $v) $attributes .= ($v ? ' ' . $k . '="' . $v . '"' : '');
161
-				$attributes .= ' ' . $params['attrib']; // add extra
153
+                $attributes = '';
154
+                $attr = array(
155
+                    'id' => ($tagid ? $tagid : $id),
156
+                    // 'tv' already added to id
157
+                    'class' => $params['class'],
158
+                    'style' => $params['style'],
159
+                );
160
+                foreach($attr as $k => $v) $attributes .= ($v ? ' ' . $k . '="' . $v . '"' : '');
161
+                $attributes .= ' ' . $params['attrib']; // add extra
162 162
 
163
-				// Output the HTML Tag
164
-				$o .= '<' . $tagname . rtrim($attributes) . '>' . $tagvalue . '</' . $tagname . '>';
165
-			}
166
-			break;
163
+                // Output the HTML Tag
164
+                $o .= '<' . $tagname . rtrim($attributes) . '>' . $tagvalue . '</' . $tagname . '>';
165
+            }
166
+            break;
167 167
 
168
-		case "richtext":
169
-			$value = parseInput($value);
170
-			$w = $params['w'] ? $params['w'] : '100%';
171
-			$h = $params['h'] ? $params['h'] : '400px';
172
-			$richtexteditor = $params['edt'] ? $params['edt'] : "";
173
-			$o = '<div class="MODX_RichTextWidget"><textarea id="' . $id . '" name="' . $id . '" style="width:' . $w . '; height:' . $h . ';">';
174
-			$o .= $modx->htmlspecialchars($value);
175
-			$o .= '</textarea></div>';
176
-			$replace_richtext = array($id);
177
-			// setup editors
178
-			if(!empty($replace_richtext) && !empty($richtexteditor)) {
179
-				// invoke OnRichTextEditorInit event
180
-				$evtOut = $modx->invokeEvent("OnRichTextEditorInit", array(
181
-					'editor' => $richtexteditor,
182
-					'elements' => $replace_richtext,
183
-					'forfrontend' => 1,
184
-					'width' => $w,
185
-					'height' => $h
186
-				));
187
-				if(is_array($evtOut)) {
188
-					$o .= implode("", $evtOut);
189
-				}
190
-			}
191
-			break;
168
+        case "richtext":
169
+            $value = parseInput($value);
170
+            $w = $params['w'] ? $params['w'] : '100%';
171
+            $h = $params['h'] ? $params['h'] : '400px';
172
+            $richtexteditor = $params['edt'] ? $params['edt'] : "";
173
+            $o = '<div class="MODX_RichTextWidget"><textarea id="' . $id . '" name="' . $id . '" style="width:' . $w . '; height:' . $h . ';">';
174
+            $o .= $modx->htmlspecialchars($value);
175
+            $o .= '</textarea></div>';
176
+            $replace_richtext = array($id);
177
+            // setup editors
178
+            if(!empty($replace_richtext) && !empty($richtexteditor)) {
179
+                // invoke OnRichTextEditorInit event
180
+                $evtOut = $modx->invokeEvent("OnRichTextEditorInit", array(
181
+                    'editor' => $richtexteditor,
182
+                    'elements' => $replace_richtext,
183
+                    'forfrontend' => 1,
184
+                    'width' => $w,
185
+                    'height' => $h
186
+                ));
187
+                if(is_array($evtOut)) {
188
+                    $o .= implode("", $evtOut);
189
+                }
190
+            }
191
+            break;
192 192
 
193
-		case "unixtime":
194
-			$value = parseInput($value);
195
-			$o = getUnixtimeFromDateString($value);
196
-			break;
193
+        case "unixtime":
194
+            $value = parseInput($value);
195
+            $o = getUnixtimeFromDateString($value);
196
+            break;
197 197
 
198
-		case "viewport":
199
-			$value = parseInput($value);
200
-			$id = '_' . time();
201
-			if(!$params['vpid']) {
202
-				$params['vpid'] = $id;
203
-			}
204
-			$sTag = "<iframe";
205
-			$eTag = "</iframe>";
206
-			$autoMode = "0";
207
-			$w = $params['width'];
208
-			$h = $params['height'];
209
-			if($params['stretch'] == 'Yes') {
210
-				$w = "100%";
211
-				$h = "100%";
212
-			}
213
-			if($params['asize'] == 'Yes' || ($params['awidth'] == 'Yes' && $params['aheight'] == 'Yes')) {
214
-				$autoMode = "3";  //both
215
-			} else if($params['awidth'] == 'Yes') {
216
-				$autoMode = "1"; //width only
217
-			} else if($params['aheight'] == 'Yes') {
218
-				$autoMode = "2";    //height only
219
-			}
198
+        case "viewport":
199
+            $value = parseInput($value);
200
+            $id = '_' . time();
201
+            if(!$params['vpid']) {
202
+                $params['vpid'] = $id;
203
+            }
204
+            $sTag = "<iframe";
205
+            $eTag = "</iframe>";
206
+            $autoMode = "0";
207
+            $w = $params['width'];
208
+            $h = $params['height'];
209
+            if($params['stretch'] == 'Yes') {
210
+                $w = "100%";
211
+                $h = "100%";
212
+            }
213
+            if($params['asize'] == 'Yes' || ($params['awidth'] == 'Yes' && $params['aheight'] == 'Yes')) {
214
+                $autoMode = "3";  //both
215
+            } else if($params['awidth'] == 'Yes') {
216
+                $autoMode = "1"; //width only
217
+            } else if($params['aheight'] == 'Yes') {
218
+                $autoMode = "2";    //height only
219
+            }
220 220
 
221
-			$modx->regClientStartupScript(MODX_MANAGER_URL . "media/script/bin/viewport.js", array(
222
-				'name' => 'viewport',
223
-				'version' => '0',
224
-				'plaintext' => false
225
-			));
226
-			$o = $sTag . " id='" . $params['vpid'] . "' name='" . $params['vpid'] . "' ";
227
-			if($params['class']) {
228
-				$o .= " class='" . $params['class'] . "' ";
229
-			}
230
-			if($params['style']) {
231
-				$o .= " style='" . $params['style'] . "' ";
232
-			}
233
-			if($params['attrib']) {
234
-				$o .= $params['attrib'] . " ";
235
-			}
236
-			$o .= "scrolling='" . ($params['sbar'] == 'No' ? "no" : ($params['sbar'] == 'Yes' ? "yes" : "auto")) . "' ";
237
-			$o .= "src='" . $value . "' frameborder='" . $params['borsize'] . "' ";
238
-			$o .= "onload=\"window.setTimeout('ResizeViewPort(\\'" . $params['vpid'] . "\\'," . $autoMode . ")',100);\" width='" . $w . "' height='" . $h . "' ";
239
-			$o .= ">";
240
-			$o .= $eTag;
241
-			break;
221
+            $modx->regClientStartupScript(MODX_MANAGER_URL . "media/script/bin/viewport.js", array(
222
+                'name' => 'viewport',
223
+                'version' => '0',
224
+                'plaintext' => false
225
+            ));
226
+            $o = $sTag . " id='" . $params['vpid'] . "' name='" . $params['vpid'] . "' ";
227
+            if($params['class']) {
228
+                $o .= " class='" . $params['class'] . "' ";
229
+            }
230
+            if($params['style']) {
231
+                $o .= " style='" . $params['style'] . "' ";
232
+            }
233
+            if($params['attrib']) {
234
+                $o .= $params['attrib'] . " ";
235
+            }
236
+            $o .= "scrolling='" . ($params['sbar'] == 'No' ? "no" : ($params['sbar'] == 'Yes' ? "yes" : "auto")) . "' ";
237
+            $o .= "src='" . $value . "' frameborder='" . $params['borsize'] . "' ";
238
+            $o .= "onload=\"window.setTimeout('ResizeViewPort(\\'" . $params['vpid'] . "\\'," . $autoMode . ")',100);\" width='" . $w . "' height='" . $h . "' ";
239
+            $o .= ">";
240
+            $o .= $eTag;
241
+            break;
242 242
 
243
-		case "datagrid":
244
-			include_once MODX_MANAGER_PATH . "includes/controls/datagrid.class.php";
245
-			$grd = new DataGrid('', $value);
243
+        case "datagrid":
244
+            include_once MODX_MANAGER_PATH . "includes/controls/datagrid.class.php";
245
+            $grd = new DataGrid('', $value);
246 246
 
247
-			$grd->noRecordMsg = $params['egmsg'];
247
+            $grd->noRecordMsg = $params['egmsg'];
248 248
 
249
-			$grd->columnHeaderClass = $params['chdrc'];
250
-			$grd->cssClass = $params['tblc'];
251
-			$grd->itemClass = $params['itmc'];
252
-			$grd->altItemClass = $params['aitmc'];
249
+            $grd->columnHeaderClass = $params['chdrc'];
250
+            $grd->cssClass = $params['tblc'];
251
+            $grd->itemClass = $params['itmc'];
252
+            $grd->altItemClass = $params['aitmc'];
253 253
 
254
-			$grd->columnHeaderStyle = $params['chdrs'];
255
-			$grd->cssStyle = $params['tbls'];
256
-			$grd->itemStyle = $params['itms'];
257
-			$grd->altItemStyle = $params['aitms'];
254
+            $grd->columnHeaderStyle = $params['chdrs'];
255
+            $grd->cssStyle = $params['tbls'];
256
+            $grd->itemStyle = $params['itms'];
257
+            $grd->altItemStyle = $params['aitms'];
258 258
 
259
-			$grd->columns = $params['cols'];
260
-			$grd->fields = $params['flds'];
261
-			$grd->colWidths = $params['cwidth'];
262
-			$grd->colAligns = $params['calign'];
263
-			$grd->colColors = $params['ccolor'];
264
-			$grd->colTypes = $params['ctype'];
259
+            $grd->columns = $params['cols'];
260
+            $grd->fields = $params['flds'];
261
+            $grd->colWidths = $params['cwidth'];
262
+            $grd->colAligns = $params['calign'];
263
+            $grd->colColors = $params['ccolor'];
264
+            $grd->colTypes = $params['ctype'];
265 265
 
266
-			$grd->cellPadding = $params['cpad'];
267
-			$grd->cellSpacing = $params['cspace'];
268
-			$grd->header = $params['head'];
269
-			$grd->footer = $params['foot'];
270
-			$grd->pageSize = $params['psize'];
271
-			$grd->pagerLocation = $params['ploc'];
272
-			$grd->pagerClass = $params['pclass'];
273
-			$grd->pagerStyle = $params['pstyle'];
274
-			$o = $grd->render();
275
-			break;
266
+            $grd->cellPadding = $params['cpad'];
267
+            $grd->cellSpacing = $params['cspace'];
268
+            $grd->header = $params['head'];
269
+            $grd->footer = $params['foot'];
270
+            $grd->pageSize = $params['psize'];
271
+            $grd->pagerLocation = $params['ploc'];
272
+            $grd->pagerClass = $params['pclass'];
273
+            $grd->pagerStyle = $params['pstyle'];
274
+            $o = $grd->render();
275
+            break;
276 276
 
277
-		case 'htmlentities':
278
-			$value = parseInput($value);
279
-			if($tvtype == 'checkbox' || $tvtype == 'listbox-multiple') {
280
-				// remove delimiter from checkbox and listbox-multiple TVs
281
-				$value = str_replace('||', '', $value);
282
-			}
283
-			$o = htmlentities($value, ENT_NOQUOTES, $modx->config['modx_charset']);
284
-			break;
277
+        case 'htmlentities':
278
+            $value = parseInput($value);
279
+            if($tvtype == 'checkbox' || $tvtype == 'listbox-multiple') {
280
+                // remove delimiter from checkbox and listbox-multiple TVs
281
+                $value = str_replace('||', '', $value);
282
+            }
283
+            $o = htmlentities($value, ENT_NOQUOTES, $modx->config['modx_charset']);
284
+            break;
285 285
 
286
-		case 'custom_widget':
287
-			$widget_output = '';
288
-			$o = '';
289
-			/* If we are loading a file */
290
-			if(substr($params['output'], 0, 5) == "@FILE") {
291
-				$file_name = MODX_BASE_PATH . trim(substr($params['output'], 6));
292
-				if(!file_exists($file_name)) {
293
-					$widget_output = $file_name . ' does not exist';
294
-				} else {
295
-					$widget_output = file_get_contents($file_name);
296
-				}
297
-			} elseif(substr($params['output'], 0, 8) == '@INCLUDE') {
298
-				$file_name = MODX_BASE_PATH . trim(substr($params['output'], 9));
299
-				if(!file_exists($file_name)) {
300
-					$widget_output = $file_name . ' does not exist';
301
-				} else {
302
-					/* The included file needs to set $widget_output. Can be string, array, object */
303
-					include $file_name;
304
-				}
305
-			} elseif(substr($params['output'], 0, 6) == '@CHUNK' && $value !== '') {
306
-				$chunk_name = trim(substr($params['output'], 7));
307
-				$widget_output = $modx->getChunk($chunk_name);
308
-			} elseif(substr($params['output'], 0, 5) == '@EVAL' && $value !== '') {
309
-				$eval_str = trim(substr($params['output'], 6));
310
-				$widget_output = eval($eval_str);
311
-			} elseif($value !== '') {
312
-				$widget_output = $params['output'];
313
-			} else {
314
-				$widget_output = '';
315
-			}
316
-			if(is_string($widget_output)) {
317
-				$_ = $modx->config['enable_filter'];
318
-				$modx->config['enable_filter'] = 1;
319
-				$widget_output = $modx->parseText($widget_output, array('value' => $value));
320
-				$modx->config['enable_filter'] = $_;
321
-				$o = $modx->parseDocumentSource($widget_output);
322
-			} else {
323
-				$o = $widget_output;
324
-			}
325
-			break;
286
+        case 'custom_widget':
287
+            $widget_output = '';
288
+            $o = '';
289
+            /* If we are loading a file */
290
+            if(substr($params['output'], 0, 5) == "@FILE") {
291
+                $file_name = MODX_BASE_PATH . trim(substr($params['output'], 6));
292
+                if(!file_exists($file_name)) {
293
+                    $widget_output = $file_name . ' does not exist';
294
+                } else {
295
+                    $widget_output = file_get_contents($file_name);
296
+                }
297
+            } elseif(substr($params['output'], 0, 8) == '@INCLUDE') {
298
+                $file_name = MODX_BASE_PATH . trim(substr($params['output'], 9));
299
+                if(!file_exists($file_name)) {
300
+                    $widget_output = $file_name . ' does not exist';
301
+                } else {
302
+                    /* The included file needs to set $widget_output. Can be string, array, object */
303
+                    include $file_name;
304
+                }
305
+            } elseif(substr($params['output'], 0, 6) == '@CHUNK' && $value !== '') {
306
+                $chunk_name = trim(substr($params['output'], 7));
307
+                $widget_output = $modx->getChunk($chunk_name);
308
+            } elseif(substr($params['output'], 0, 5) == '@EVAL' && $value !== '') {
309
+                $eval_str = trim(substr($params['output'], 6));
310
+                $widget_output = eval($eval_str);
311
+            } elseif($value !== '') {
312
+                $widget_output = $params['output'];
313
+            } else {
314
+                $widget_output = '';
315
+            }
316
+            if(is_string($widget_output)) {
317
+                $_ = $modx->config['enable_filter'];
318
+                $modx->config['enable_filter'] = 1;
319
+                $widget_output = $modx->parseText($widget_output, array('value' => $value));
320
+                $modx->config['enable_filter'] = $_;
321
+                $o = $modx->parseDocumentSource($widget_output);
322
+            } else {
323
+                $o = $widget_output;
324
+            }
325
+            break;
326 326
 
327
-		default:
328
-			$value = parseInput($value);
329
-			if($tvtype == 'checkbox' || $tvtype == 'listbox-multiple') {
330
-				// add separator
331
-				$value = explode('||', $value);
332
-				$value = implode($sep, $value);
333
-			}
334
-			$o = $value;
335
-			break;
336
-	}
337
-	return $o;
327
+        default:
328
+            $value = parseInput($value);
329
+            if($tvtype == 'checkbox' || $tvtype == 'listbox-multiple') {
330
+                // add separator
331
+                $value = explode('||', $value);
332
+                $value = implode($sep, $value);
333
+            }
334
+            $o = $value;
335
+            break;
336
+    }
337
+    return $o;
338 338
 }
339 339
 
340 340
 /**
@@ -342,8 +342,8 @@  discard block
 block discarded – undo
342 342
  * @return string
343 343
  */
344 344
 function decodeParamValue($s) {
345
-	$s = str_replace("%3D", '=', $s); // =
346
-	return str_replace("%26", '&', $s); // &
345
+    $s = str_replace("%3D", '=', $s); // =
346
+    return str_replace("%26", '&', $s); // &
347 347
 }
348 348
 
349 349
 /**
@@ -357,19 +357,19 @@  discard block
 block discarded – undo
357 357
  */
358 358
 function parseInput($src, $delim = "||", $type = "string", $columns = true) { // type can be: string, array
359 359
     $modx = DocumentParser::getInstance();
360
-	if($modx->db->isResult($src)) {
361
-		// must be a recordset
362
-		$rows = array();
363
-		while($cols = $modx->db->getRow($src, 'num')) $rows[] = ($columns) ? $cols : implode(" ", $cols);
364
-		return ($type == "array") ? $rows : implode($delim, $rows);
365
-	} else {
366
-		// must be a text
367
-		if($type == "array") {
368
-			return explode($delim, $src);
369
-		} else {
370
-			return $src;
371
-		}
372
-	}
360
+    if($modx->db->isResult($src)) {
361
+        // must be a recordset
362
+        $rows = array();
363
+        while($cols = $modx->db->getRow($src, 'num')) $rows[] = ($columns) ? $cols : implode(" ", $cols);
364
+        return ($type == "array") ? $rows : implode($delim, $rows);
365
+    } else {
366
+        // must be a text
367
+        if($type == "array") {
368
+            return explode($delim, $src);
369
+        } else {
370
+            return $src;
371
+        }
372
+    }
373 373
 }
374 374
 
375 375
 /**
@@ -377,21 +377,21 @@  discard block
 block discarded – undo
377 377
  * @return bool|false|int
378 378
  */
379 379
 function getUnixtimeFromDateString($value) {
380
-	$timestamp = false;
381
-	// Check for MySQL or legacy style date
382
-	$date_match_1 = '/^([0-9]{2})-([0-9]{2})-([0-9]{4})\ ([0-9]{2}):([0-9]{2}):([0-9]{2})$/';
383
-	$date_match_2 = '/^([0-9]{4})-([0-9]{2})-([0-9]{2})\ ([0-9]{2}):([0-9]{2}):([0-9]{2})$/';
384
-	$matches = array();
385
-	if(strpos($value, '-') !== false) {
386
-		if(preg_match($date_match_1, $value, $matches)) {
387
-			$timestamp = mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[1], $matches[3]);
388
-		} elseif(preg_match($date_match_2, $value, $matches)) {
389
-			$timestamp = mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
390
-		}
391
-	}
392
-	// If those didn't work, use strtotime to figure out the date
393
-	if($timestamp === false || $timestamp === -1) {
394
-		$timestamp = strtotime($value);
395
-	}
396
-	return $timestamp;
380
+    $timestamp = false;
381
+    // Check for MySQL or legacy style date
382
+    $date_match_1 = '/^([0-9]{2})-([0-9]{2})-([0-9]{4})\ ([0-9]{2}):([0-9]{2}):([0-9]{2})$/';
383
+    $date_match_2 = '/^([0-9]{4})-([0-9]{2})-([0-9]{2})\ ([0-9]{2}):([0-9]{2}):([0-9]{2})$/';
384
+    $matches = array();
385
+    if(strpos($value, '-') !== false) {
386
+        if(preg_match($date_match_1, $value, $matches)) {
387
+            $timestamp = mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[1], $matches[3]);
388
+        } elseif(preg_match($date_match_2, $value, $matches)) {
389
+            $timestamp = mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
390
+        }
391
+    }
392
+    // If those didn't work, use strtotime to figure out the date
393
+    if($timestamp === false || $timestamp === -1) {
394
+        $timestamp = strtotime($value);
395
+    }
396
+    return $timestamp;
397 397
 }
Please login to merge, or discard this patch.
manager/includes/tmplvars.inc.php 1 patch
Indentation   +248 added lines, -248 removed lines patch added patch discarded remove patch
@@ -14,158 +14,158 @@  discard block
 block discarded – undo
14 14
  */
15 15
 function renderFormElement($field_type, $field_id, $default_text = '', $field_elements = '', $field_value = '', $field_style = '', $row = array(), $tvsArray = array()) {
16 16
     $modx = DocumentParser::getInstance();
17
-	global $_style;
18
-	global $_lang;
19
-	global $content;
20
-	global $which_browser;
17
+    global $_style;
18
+    global $_lang;
19
+    global $content;
20
+    global $which_browser;
21 21
 
22
-	if(substr($default_text, 0, 6) === '@@EVAL' && $field_value === $default_text) {
23
-		$eval_str = trim(substr($default_text, 7));
24
-		$default_text = eval($eval_str);
25
-		$field_value = $default_text;
26
-	}
22
+    if(substr($default_text, 0, 6) === '@@EVAL' && $field_value === $default_text) {
23
+        $eval_str = trim(substr($default_text, 7));
24
+        $default_text = eval($eval_str);
25
+        $field_value = $default_text;
26
+    }
27 27
 
28
-	$field_html = '';
29
-	$cimode = strpos($field_type, ':');
30
-	if($cimode === false) {
31
-		switch($field_type) {
28
+    $field_html = '';
29
+    $cimode = strpos($field_type, ':');
30
+    if($cimode === false) {
31
+        switch($field_type) {
32 32
 
33
-			case "text": // handler for regular text boxes
34
-			case "rawtext"; // non-htmlentity converted text boxes
35
-				$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%" />';
36
-				break;
37
-			case "email": // handles email input fields
38
-				$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%"/>';
39
-				break;
40
-			case "number": // handles the input of numbers
41
-				$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-,.+]/,\'\')"/>';
42
-				break;
43
-			case "textareamini": // handler for textarea mini boxes
44
-				$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>';
45
-				break;
46
-			case "textarea": // handler for textarea boxes
47
-			case "rawtextarea": // non-htmlentity convertex textarea boxes
48
-			case "htmlarea": // handler for textarea boxes (deprecated)
49
-			case "richtext": // handler for textarea boxes
50
-				$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>';
51
-				break;
52
-			case "date":
53
-				$field_id = str_replace(array(
54
-					'-',
55
-					'.'
56
-				), '_', urldecode($field_id));
57
-				if($field_value == '') {
58
-					$field_value = 0;
59
-				}
60
-				$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;" />';
61
-				$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>';
33
+            case "text": // handler for regular text boxes
34
+            case "rawtext"; // non-htmlentity converted text boxes
35
+                $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%" />';
36
+                break;
37
+            case "email": // handles email input fields
38
+                $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%"/>';
39
+                break;
40
+            case "number": // handles the input of numbers
41
+                $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-,.+]/,\'\')"/>';
42
+                break;
43
+            case "textareamini": // handler for textarea mini boxes
44
+                $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>';
45
+                break;
46
+            case "textarea": // handler for textarea boxes
47
+            case "rawtextarea": // non-htmlentity convertex textarea boxes
48
+            case "htmlarea": // handler for textarea boxes (deprecated)
49
+            case "richtext": // handler for textarea boxes
50
+                $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>';
51
+                break;
52
+            case "date":
53
+                $field_id = str_replace(array(
54
+                    '-',
55
+                    '.'
56
+                ), '_', urldecode($field_id));
57
+                if($field_value == '') {
58
+                    $field_value = 0;
59
+                }
60
+                $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;" />';
61
+                $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>';
62 62
 
63
-				break;
64
-			case "dropdown": // handler for select boxes
65
-				$field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" size="1" onchange="documentDirty=true;">';
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": // handler for select boxes
77
-				$field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" onchange="documentDirty=true;" size="8">';
78
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
79
-				while(list($item, $itemvalue) = each($index_list)) {
80
-					list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
81
-					if(strlen($itemvalue) == 0) {
82
-						$itemvalue = $item;
83
-					}
84
-					$field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
85
-				}
86
-				$field_html .= "</select>";
87
-				break;
88
-			case "listbox-multiple": // handler for select boxes where you can choose multiple items
89
-				$field_value = explode("||", $field_value);
90
-				$field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '[]" multiple="multiple" onchange="documentDirty=true;" size="8">';
91
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
92
-				while(list($item, $itemvalue) = each($index_list)) {
93
-					list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
94
-					if(strlen($itemvalue) == 0) {
95
-						$itemvalue = $item;
96
-					}
97
-					$field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . (in_array($itemvalue, $field_value) ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
98
-				}
99
-				$field_html .= "</select>";
100
-				break;
101
-			case "url": // handles url input fields
102
-				$urls = array(
103
-					'' => '--',
104
-					'http://' => 'http://',
105
-					'https://' => 'https://',
106
-					'ftp://' => 'ftp://',
107
-					'mailto:' => 'mailto:'
108
-				);
109
-				$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;">';
110
-				foreach($urls as $k => $v) {
111
-					if(strpos($field_value, $v) === false) {
112
-						$field_html .= '<option value="' . $v . '">' . $k . '</option>';
113
-					} else {
114
-						$field_value = str_replace($v, '', $field_value);
115
-						$field_html .= '<option value="' . $v . '" selected="selected">' . $k . '</option>';
116
-					}
117
-				}
118
-				$field_html .= '</select></td><td>';
119
-				$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>';
120
-				break;
121
-			case 'checkbox': // handles check boxes
122
-				$values = !is_array($field_value) ? explode('||', $field_value) : $field_value;
123
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
124
-				$tpl = '<label class="checkbox"><input type="checkbox" value="%s" id="tv_%s" name="tv%s[]" %s onchange="documentDirty=true;" />%s</label><br />';
125
-				static $i = 0;
126
-				$_ = array();
127
-				foreach($index_list as $c => $item) {
128
-					if(is_array($item)) {
129
-						$name = trim($item[0]);
130
-						$value = isset($item[1]) ? $item[1] : $name;
131
-					} else {
132
-						$item = trim($item);
133
-						list($name, $value) = (strpos($item, '==') !== false) ? explode('==', $item, 2) : array(
134
-							$item,
135
-							$item
136
-						);
137
-					}
138
-					$checked = in_array($value, $values) ? ' checked="checked"' : '';
139
-					$param = array(
140
-						$modx->htmlspecialchars($value),
141
-						$i,
142
-						$field_id,
143
-						$checked,
144
-						$modx->htmlspecialchars($name)
145
-					);
146
-					$_[] = vsprintf($tpl, $param);
147
-					$i++;
148
-				}
149
-				$field_html = implode("\n", $_);
150
-				break;
151
-			case "option": // handles radio buttons
152
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
153
-				static $i = 0;
154
-				while(list($item, $itemvalue) = each($index_list)) {
155
-					list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
156
-					if(strlen($itemvalue) == 0) {
157
-						$itemvalue = $item;
158
-					}
159
-					$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 />';
160
-					$i++;
161
-				}
162
-				break;
163
-			case "image": // handles image fields using htmlarea image manager
164
-				global $_lang;
165
-				global $ResourceManagerLoaded;
166
-				global $content, $use_editor, $which_editor;
167
-				if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
168
-					$field_html .= "
63
+                break;
64
+            case "dropdown": // handler for select boxes
65
+                $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" size="1" onchange="documentDirty=true;">';
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": // handler for select boxes
77
+                $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" onchange="documentDirty=true;" size="8">';
78
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
79
+                while(list($item, $itemvalue) = each($index_list)) {
80
+                    list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
81
+                    if(strlen($itemvalue) == 0) {
82
+                        $itemvalue = $item;
83
+                    }
84
+                    $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
85
+                }
86
+                $field_html .= "</select>";
87
+                break;
88
+            case "listbox-multiple": // handler for select boxes where you can choose multiple items
89
+                $field_value = explode("||", $field_value);
90
+                $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '[]" multiple="multiple" onchange="documentDirty=true;" size="8">';
91
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
92
+                while(list($item, $itemvalue) = each($index_list)) {
93
+                    list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
94
+                    if(strlen($itemvalue) == 0) {
95
+                        $itemvalue = $item;
96
+                    }
97
+                    $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . (in_array($itemvalue, $field_value) ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
98
+                }
99
+                $field_html .= "</select>";
100
+                break;
101
+            case "url": // handles url input fields
102
+                $urls = array(
103
+                    '' => '--',
104
+                    'http://' => 'http://',
105
+                    'https://' => 'https://',
106
+                    'ftp://' => 'ftp://',
107
+                    'mailto:' => 'mailto:'
108
+                );
109
+                $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;">';
110
+                foreach($urls as $k => $v) {
111
+                    if(strpos($field_value, $v) === false) {
112
+                        $field_html .= '<option value="' . $v . '">' . $k . '</option>';
113
+                    } else {
114
+                        $field_value = str_replace($v, '', $field_value);
115
+                        $field_html .= '<option value="' . $v . '" selected="selected">' . $k . '</option>';
116
+                    }
117
+                }
118
+                $field_html .= '</select></td><td>';
119
+                $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>';
120
+                break;
121
+            case 'checkbox': // handles check boxes
122
+                $values = !is_array($field_value) ? explode('||', $field_value) : $field_value;
123
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
124
+                $tpl = '<label class="checkbox"><input type="checkbox" value="%s" id="tv_%s" name="tv%s[]" %s onchange="documentDirty=true;" />%s</label><br />';
125
+                static $i = 0;
126
+                $_ = array();
127
+                foreach($index_list as $c => $item) {
128
+                    if(is_array($item)) {
129
+                        $name = trim($item[0]);
130
+                        $value = isset($item[1]) ? $item[1] : $name;
131
+                    } else {
132
+                        $item = trim($item);
133
+                        list($name, $value) = (strpos($item, '==') !== false) ? explode('==', $item, 2) : array(
134
+                            $item,
135
+                            $item
136
+                        );
137
+                    }
138
+                    $checked = in_array($value, $values) ? ' checked="checked"' : '';
139
+                    $param = array(
140
+                        $modx->htmlspecialchars($value),
141
+                        $i,
142
+                        $field_id,
143
+                        $checked,
144
+                        $modx->htmlspecialchars($name)
145
+                    );
146
+                    $_[] = vsprintf($tpl, $param);
147
+                    $i++;
148
+                }
149
+                $field_html = implode("\n", $_);
150
+                break;
151
+            case "option": // handles radio buttons
152
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
153
+                static $i = 0;
154
+                while(list($item, $itemvalue) = each($index_list)) {
155
+                    list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
156
+                    if(strlen($itemvalue) == 0) {
157
+                        $itemvalue = $item;
158
+                    }
159
+                    $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 />';
160
+                    $i++;
161
+                }
162
+                break;
163
+            case "image": // handles image fields using htmlarea image manager
164
+                global $_lang;
165
+                global $ResourceManagerLoaded;
166
+                global $content, $use_editor, $which_editor;
167
+                if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
168
+                    $field_html .= "
169 169
 						<script type=\"text/javascript\">
170 170
 							/* <![CDATA[ */
171 171
 								var lastImageCtrl;
@@ -224,18 +224,18 @@  discard block
 block discarded – undo
224 224
 								}
225 225
 							/* ]]> */
226 226
 						</script>";
227
-					$ResourceManagerLoaded = true;
228
-				}
229
-				$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 . '\')" />';
230
-				break;
231
-			case "file": // handles the input of file uploads
232
-				/* Modified by Timon for use with resource browser */
233
-				global $_lang;
234
-				global $ResourceManagerLoaded;
235
-				global $content, $use_editor, $which_editor;
236
-				if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
237
-					/* I didn't understand the meaning of the condition above, so I left it untouched ;-) */
238
-					$field_html .= "
227
+                    $ResourceManagerLoaded = true;
228
+                }
229
+                $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 . '\')" />';
230
+                break;
231
+            case "file": // handles the input of file uploads
232
+                /* Modified by Timon for use with resource browser */
233
+                global $_lang;
234
+                global $ResourceManagerLoaded;
235
+                global $content, $use_editor, $which_editor;
236
+                if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
237
+                    /* I didn't understand the meaning of the condition above, so I left it untouched ;-) */
238
+                    $field_html .= "
239 239
 						<script type=\"text/javascript\">
240 240
 							/* <![CDATA[ */
241 241
 								var lastImageCtrl;
@@ -294,90 +294,90 @@  discard block
 block discarded – undo
294 294
 								}
295 295
 							/* ]]> */
296 296
 						</script>";
297
-					$ResourceManagerLoaded = true;
298
-				}
299
-				$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 . '\')" />';
297
+                    $ResourceManagerLoaded = true;
298
+                }
299
+                $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 . '\')" />';
300 300
 
301
-				break;
301
+                break;
302 302
 
303
-			case 'custom_tv':
304
-				$custom_output = '';
305
-				/* If we are loading a file */
306
-				if(substr($field_elements, 0, 5) == "@FILE") {
307
-					$file_name = MODX_BASE_PATH . trim(substr($field_elements, 6));
308
-					if(!file_exists($file_name)) {
309
-						$custom_output = $file_name . ' does not exist';
310
-					} else {
311
-						$custom_output = file_get_contents($file_name);
312
-					}
313
-				} elseif(substr($field_elements, 0, 8) == '@INCLUDE') {
314
-					$file_name = MODX_BASE_PATH . trim(substr($field_elements, 9));
315
-					if(!file_exists($file_name)) {
316
-						$custom_output = $file_name . ' does not exist';
317
-					} else {
318
-						ob_start();
319
-						include $file_name;
320
-						$custom_output = ob_get_contents();
321
-						ob_end_clean();
322
-					}
323
-				} elseif(substr($field_elements, 0, 6) == "@CHUNK") {
324
-					$chunk_name = trim(substr($field_elements, 7));
325
-					$chunk_body = $modx->getChunk($chunk_name);
326
-					if($chunk_body == false) {
327
-						$custom_output = $_lang['chunk_no_exist'] . '(' . $_lang['htmlsnippet_name'] . ':' . $chunk_name . ')';
328
-					} else {
329
-						$custom_output = $chunk_body;
330
-					}
331
-				} elseif(substr($field_elements, 0, 5) == "@EVAL") {
332
-					$eval_str = trim(substr($field_elements, 6));
333
-					$custom_output = eval($eval_str);
334
-				} else {
335
-					$custom_output = $field_elements;
336
-				}
337
-				$replacements = array(
338
-					'[+field_type+]' => $field_type,
339
-					'[+field_id+]' => $field_id,
340
-					'[+default_text+]' => $default_text,
341
-					'[+field_value+]' => $modx->htmlspecialchars($field_value),
342
-					'[+field_style+]' => $field_style,
343
-				);
344
-				$custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
345
-				$modx->documentObject = $content;
346
-				$modx->documentIdentifier = $content['id'];
347
-				$custom_output = $modx->parseDocumentSource($custom_output);
348
-				$field_html .= $custom_output;
349
-				break;
303
+            case 'custom_tv':
304
+                $custom_output = '';
305
+                /* If we are loading a file */
306
+                if(substr($field_elements, 0, 5) == "@FILE") {
307
+                    $file_name = MODX_BASE_PATH . trim(substr($field_elements, 6));
308
+                    if(!file_exists($file_name)) {
309
+                        $custom_output = $file_name . ' does not exist';
310
+                    } else {
311
+                        $custom_output = file_get_contents($file_name);
312
+                    }
313
+                } elseif(substr($field_elements, 0, 8) == '@INCLUDE') {
314
+                    $file_name = MODX_BASE_PATH . trim(substr($field_elements, 9));
315
+                    if(!file_exists($file_name)) {
316
+                        $custom_output = $file_name . ' does not exist';
317
+                    } else {
318
+                        ob_start();
319
+                        include $file_name;
320
+                        $custom_output = ob_get_contents();
321
+                        ob_end_clean();
322
+                    }
323
+                } elseif(substr($field_elements, 0, 6) == "@CHUNK") {
324
+                    $chunk_name = trim(substr($field_elements, 7));
325
+                    $chunk_body = $modx->getChunk($chunk_name);
326
+                    if($chunk_body == false) {
327
+                        $custom_output = $_lang['chunk_no_exist'] . '(' . $_lang['htmlsnippet_name'] . ':' . $chunk_name . ')';
328
+                    } else {
329
+                        $custom_output = $chunk_body;
330
+                    }
331
+                } elseif(substr($field_elements, 0, 5) == "@EVAL") {
332
+                    $eval_str = trim(substr($field_elements, 6));
333
+                    $custom_output = eval($eval_str);
334
+                } else {
335
+                    $custom_output = $field_elements;
336
+                }
337
+                $replacements = array(
338
+                    '[+field_type+]' => $field_type,
339
+                    '[+field_id+]' => $field_id,
340
+                    '[+default_text+]' => $default_text,
341
+                    '[+field_value+]' => $modx->htmlspecialchars($field_value),
342
+                    '[+field_style+]' => $field_style,
343
+                );
344
+                $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
345
+                $modx->documentObject = $content;
346
+                $modx->documentIdentifier = $content['id'];
347
+                $custom_output = $modx->parseDocumentSource($custom_output);
348
+                $field_html .= $custom_output;
349
+                break;
350 350
 
351
-			default: // the default handler -- for errors, mostly
352
-				$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' onchange="documentDirty=true;" />';
351
+            default: // the default handler -- for errors, mostly
352
+                $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' onchange="documentDirty=true;" />';
353 353
 
354
-		} // end switch statement
355
-	} else {
356
-		$custom = explode(":", $field_type);
357
-		$custom_output = '';
358
-		$file_name = MODX_BASE_PATH . 'assets/tvs/' . $custom['1'] . '/' . $custom['1'] . '.customtv.php';
359
-		if(!file_exists($file_name)) {
360
-			$custom_output = $file_name . ' does not exist';
361
-		} else {
362
-			ob_start();
363
-			include $file_name;
364
-			$custom_output = ob_get_contents();
365
-			ob_end_clean();
366
-		}
367
-		$replacements = array(
368
-			'[+field_type+]' => $field_type,
369
-			'[+field_id+]' => $field_id,
370
-			'[+default_text+]' => $default_text,
371
-			'[+field_value+]' => $modx->htmlspecialchars($field_value),
372
-			'[+field_style+]' => $field_style,
373
-		);
374
-		$custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
375
-		$modx->documentObject = $content;
376
-		$custom_output = $modx->parseDocumentSource($custom_output);
377
-		$field_html .= $custom_output;
378
-	}
354
+        } // end switch statement
355
+    } else {
356
+        $custom = explode(":", $field_type);
357
+        $custom_output = '';
358
+        $file_name = MODX_BASE_PATH . 'assets/tvs/' . $custom['1'] . '/' . $custom['1'] . '.customtv.php';
359
+        if(!file_exists($file_name)) {
360
+            $custom_output = $file_name . ' does not exist';
361
+        } else {
362
+            ob_start();
363
+            include $file_name;
364
+            $custom_output = ob_get_contents();
365
+            ob_end_clean();
366
+        }
367
+        $replacements = array(
368
+            '[+field_type+]' => $field_type,
369
+            '[+field_id+]' => $field_id,
370
+            '[+default_text+]' => $default_text,
371
+            '[+field_value+]' => $modx->htmlspecialchars($field_value),
372
+            '[+field_style+]' => $field_style,
373
+        );
374
+        $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
375
+        $modx->documentObject = $content;
376
+        $custom_output = $modx->parseDocumentSource($custom_output);
377
+        $field_html .= $custom_output;
378
+    }
379 379
 
380
-	return $field_html;
380
+    return $field_html;
381 381
 } // end renderFormElement function
382 382
 
383 383
 /**
@@ -386,13 +386,13 @@  discard block
 block discarded – undo
386 386
  */
387 387
 function ParseIntputOptions($v) {
388 388
     $modx = DocumentParser::getInstance();
389
-	$a = array();
390
-	if(is_array($v)) {
391
-		return $v;
392
-	} else if($modx->db->isResult($v)) {
393
-		while($cols = $modx->db->getRow($v, 'num')) $a[] = $cols;
394
-	} else {
395
-		$a = explode("||", $v);
396
-	}
397
-	return $a;
389
+    $a = array();
390
+    if(is_array($v)) {
391
+        return $v;
392
+    } else if($modx->db->isResult($v)) {
393
+        while($cols = $modx->db->getRow($v, 'num')) $a[] = $cols;
394
+    } else {
395
+        $a = explode("||", $v);
396
+    }
397
+    return $a;
398 398
 }
Please login to merge, or discard this patch.
manager/media/browser/mcpuk/core/uploader.php 1 patch
Indentation   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -1,16 +1,16 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 /** This file is part of KCFinder project
4
-  *
5
-  *      @desc Uploader class
6
-  *   @package KCFinder
7
-  *   @version 2.54
8
-  *    @author Pavel Tzonkov <[email protected]>
9
-  * @copyright 2010-2014 KCFinder Project
10
-  *   @license http://www.opensource.org/licenses/gpl-2.0.php GPLv2
11
-  *   @license http://www.opensource.org/licenses/lgpl-2.1.php LGPLv2
12
-  *      @link http://kcfinder.sunhater.com
13
-  */
4
+ *
5
+ *      @desc Uploader class
6
+ *   @package KCFinder
7
+ *   @version 2.54
8
+ *    @author Pavel Tzonkov <[email protected]>
9
+ * @copyright 2010-2014 KCFinder Project
10
+ *   @license http://www.opensource.org/licenses/gpl-2.0.php GPLv2
11
+ *   @license http://www.opensource.org/licenses/lgpl-2.1.php LGPLv2
12
+ *      @link http://kcfinder.sunhater.com
13
+ */
14 14
 
15 15
 class uploader {
16 16
 
@@ -18,92 +18,92 @@  discard block
 block discarded – undo
18 18
     const VERSION = "2.54";
19 19
 
20 20
 /** Config session-overrided settings
21
-  * @var array */
21
+ * @var array */
22 22
     protected $config = array();
23 23
 
24 24
 /** Default image driver
25
-  * @var string */
25
+ * @var string */
26 26
     protected $imageDriver = "gd";
27 27
 
28 28
 /** Opener applocation properties
29
-  *   $opener['name']                 Got from $_GET['opener'];
30
-  *   $opener['CKEditor']['funcNum']  CKEditor function number (got from $_GET)
31
-  *   $opener['TinyMCE']              Boolean
32
-  * @var array */
29
+ *   $opener['name']                 Got from $_GET['opener'];
30
+ *   $opener['CKEditor']['funcNum']  CKEditor function number (got from $_GET)
31
+ *   $opener['TinyMCE']              Boolean
32
+ * @var array */
33 33
     protected $opener = array();
34 34
 
35 35
 /** Got from $_GET['type'] or first one $config['types'] array key, if inexistant
36
-  * @var string */
36
+ * @var string */
37 37
     protected $type;
38 38
 
39 39
 /** Helper property. Local filesystem path to the Type Directory
40
-  * Equivalent: $config['uploadDir'] . "/" . $type
41
-  * @var string */
40
+ * Equivalent: $config['uploadDir'] . "/" . $type
41
+ * @var string */
42 42
     protected $typeDir;
43 43
 
44 44
 /** Helper property. Web URL to the Type Directory
45
-  * Equivalent: $config['uploadURL'] . "/" . $type
46
-  * @var string */
45
+ * Equivalent: $config['uploadURL'] . "/" . $type
46
+ * @var string */
47 47
     protected $typeURL;
48 48
 
49 49
 /** Linked to $config['types']
50
-  * @var array */
50
+ * @var array */
51 51
     protected $types = array();
52 52
 
53 53
 /** Settings which can override default settings if exists as keys in $config['types'][$type] array
54
-  * @var array */
54
+ * @var array */
55 55
     protected $typeSettings = array('disabled', 'theme', 'dirPerms', 'filePerms', 'denyZipDownload', 'maxImageWidth', 'maxImageHeight', 'thumbWidth', 'thumbHeight', 'jpegQuality', 'access', 'filenameChangeChars', 'dirnameChangeChars', 'denyExtensionRename', 'deniedExts', 'watermark');
56 56
 
57 57
 /** Got from language file
58
-  * @var string */
58
+ * @var string */
59 59
     protected $charset;
60 60
 
61 61
 /** The language got from $_GET['lng'] or $_GET['lang'] or... Please see next property
62
-  * @var string */
62
+ * @var string */
63 63
     protected $lang = 'en';
64 64
 
65 65
 /** Possible language $_GET keys
66
-  * @var array */
66
+ * @var array */
67 67
     protected $langInputNames = array('lang', 'langCode', 'lng', 'language', 'lang_code');
68 68
 
69 69
 /** Uploaded file(s) info. Linked to first $_FILES element
70
-  * @var array */
70
+ * @var array */
71 71
     protected $file;
72 72
 
73 73
 /** Next three properties are got from the current language file
74
-  * @var string */
74
+ * @var string */
75 75
     protected $dateTimeFull;   // Currently not used
76 76
     protected $dateTimeMid;    // Currently not used
77 77
     protected $dateTimeSmall;
78 78
 
79 79
 /** Contain Specified language labels
80
-  * @var array */
80
+ * @var array */
81 81
     protected $labels = array();
82 82
 
83 83
 /** Contain unprocessed $_GET array. Please use this instead of $_GET
84
-  * @var array */
84
+ * @var array */
85 85
     protected $get;
86 86
 
87 87
 /** Contain unprocessed $_POST array. Please use this instead of $_POST
88
-  * @var array */
88
+ * @var array */
89 89
     protected $post;
90 90
 
91 91
 /** Contain unprocessed $_COOKIE array. Please use this instead of $_COOKIE
92
-  * @var array */
92
+ * @var array */
93 93
     protected $cookie;
94 94
 
95 95
 /** Session array. Please use this property instead of $_SESSION
96
-  * @var array */
96
+ * @var array */
97 97
     protected $session;
98 98
 
99 99
 /** CMS integration attribute (got from $_GET['cms'])
100
-  * @var string */
100
+ * @var string */
101 101
     protected $cms = "";
102 102
 
103 103
     protected $modx = null;
104 104
 /** Magic method which allows read-only access to protected or private class properties
105
-  * @param string $property
106
-  * @return mixed */
105
+     * @param string $property
106
+     * @return mixed */
107 107
     public function __get($property) {
108 108
         return property_exists($this, $property) ? $this->$property : null;
109 109
     }
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
         )
133 133
             $this->cms = $this->get['cms'];
134 134
 
135
-		// LINKING UPLOADED FILE
135
+        // LINKING UPLOADED FILE
136 136
         if (count($_FILES))
137 137
             $this->file = &$_FILES[key($_FILES)];
138 138
 
@@ -228,8 +228,8 @@  discard block
 block discarded – undo
228 228
             $this->config['uploadDir'] = strlen($this->config['uploadDir'])
229 229
                 ? path::normalize($this->config['uploadDir'])
230 230
                 : path::url2fullPath("/$path");
231
-         $this->typeDir = "{$this->config['uploadDir']}/{$this->type}";
232
-         $this->typeURL = "{$this->config['siteURL']}/{$this->config['uploadURL']}/{$this->type}";
231
+            $this->typeDir = "{$this->config['uploadDir']}/{$this->type}";
232
+            $this->typeURL = "{$this->config['siteURL']}/{$this->config['uploadURL']}/{$this->type}";
233 233
 
234 234
         // SITE ROOT
235 235
         } elseif ($this->config['uploadURL'] == "/") {
@@ -365,36 +365,36 @@  discard block
 block discarded – undo
365 365
     }
366 366
 
367 367
 
368
-	protected function getTransaliasSettings() {
369
-		$modx = DocumentParser::getInstance();
370
-
371
-		// Cleaning uploaded filename?
372
-		$setting = $modx->db->select('count(*)', $modx->getFullTableName('system_settings'), 'setting_name="clean_uploaded_filename" AND setting_value=1');
373
-		if ($modx->db->getValue($setting)>0) {
374
-			// Transalias plugin active?
375
-			$res = $modx->db->select('properties', $modx->getFullTableName('site_plugins'), 'name="TransAlias" AND disabled=0');
376
-			if ($properties = $modx->db->getValue($res)) {
377
-				$properties = $modx->parseProperties($properties, 'TransAlias', 'plugin');
378
-			} else {
379
-				$properties = NULL;
380
-			}
381
-		} else {
382
-			$properties = NULL;
383
-		}
384
-		return $properties;
385
-	}
386
-
387
-
388
-	protected function normalizeFilename($filename) {
389
-		if ($this->getTransaliasSettings()) {
390
-        		$format = strrchr($filename, ".");
391
-        		$filename = str_replace($format, "", $filename);
392
-            		$filename = $this->modx->stripAlias($filename).$format;
393
-        	}
394
-        	return $filename;
395
-	}
396
-
397
-	protected function normalizeDirname($dirname) {
368
+    protected function getTransaliasSettings() {
369
+        $modx = DocumentParser::getInstance();
370
+
371
+        // Cleaning uploaded filename?
372
+        $setting = $modx->db->select('count(*)', $modx->getFullTableName('system_settings'), 'setting_name="clean_uploaded_filename" AND setting_value=1');
373
+        if ($modx->db->getValue($setting)>0) {
374
+            // Transalias plugin active?
375
+            $res = $modx->db->select('properties', $modx->getFullTableName('site_plugins'), 'name="TransAlias" AND disabled=0');
376
+            if ($properties = $modx->db->getValue($res)) {
377
+                $properties = $modx->parseProperties($properties, 'TransAlias', 'plugin');
378
+            } else {
379
+                $properties = NULL;
380
+            }
381
+        } else {
382
+            $properties = NULL;
383
+        }
384
+        return $properties;
385
+    }
386
+
387
+
388
+    protected function normalizeFilename($filename) {
389
+        if ($this->getTransaliasSettings()) {
390
+                $format = strrchr($filename, ".");
391
+                $filename = str_replace($format, "", $filename);
392
+                    $filename = $this->modx->stripAlias($filename).$format;
393
+            }
394
+            return $filename;
395
+    }
396
+
397
+    protected function normalizeDirname($dirname) {
398 398
         return $this->modx->stripAlias($dirname);
399 399
     }
400 400
 
@@ -472,10 +472,10 @@  discard block
 block discarded – undo
472 472
             return $this->label("The image is too big and/or cannot be resized.");
473 473
 
474 474
 
475
-	// CHECK FOR MODX MAX FILE SIZE
476
-	$actualfilesize=filesize($file['tmp_name']);
477
-	if (isset($this->config['maxfilesize']) && $actualfilesize > $this->config['maxfilesize'])
478
-	    return $this->label("File is too big: ".$actualfilesize." Bytes. (max ".$this->config['maxfilesize']." Bytes)");
475
+    // CHECK FOR MODX MAX FILE SIZE
476
+    $actualfilesize=filesize($file['tmp_name']);
477
+    if (isset($this->config['maxfilesize']) && $actualfilesize > $this->config['maxfilesize'])
478
+        return $this->label("File is too big: ".$actualfilesize." Bytes. (max ".$this->config['maxfilesize']." Bytes)");
479 479
 
480 480
         return true;
481 481
     }
@@ -627,7 +627,7 @@  discard block
 block discarded – undo
627 627
             $top = isset($this->config['watermark']['top'])
628 628
                 ? $this->config['watermark']['top'] : false;
629 629
             $img->watermark($this->config['watermark']['file'], $left, $top);
630
-		}
630
+        }
631 631
 
632 632
         $options = array( 'file' => $file );
633 633
 
Please login to merge, or discard this patch.
manager/media/calendar/datepicker.inc.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -1,13 +1,13 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 class DATEPICKER {
4
-	function __construct() {
5
-	}
4
+    function __construct() {
5
+    }
6 6
 
7
-	function getDP() {
8
-		$modx = DocumentParser::getInstance(); global $_lang;
7
+    function getDP() {
8
+        $modx = DocumentParser::getInstance(); global $_lang;
9 9
 
10
-		$tpl = file_get_contents(dirname(__FILE__) . '/datepicker.tpl');
11
-		return $modx->parseText($tpl, $_lang, '[%', '%]');
12
-	}
10
+        $tpl = file_get_contents(dirname(__FILE__) . '/datepicker.tpl');
11
+        return $modx->parseText($tpl, $_lang, '[%', '%]');
12
+    }
13 13
 }
Please login to merge, or discard this patch.
manager/actions/mutate_role.dynamic.php 1 patch
Indentation   +126 added lines, -126 removed lines patch added patch discarded remove patch
@@ -1,21 +1,21 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 
6 6
 switch((int) $modx->manager->action) {
7
-	case 35:
8
-		if(!$modx->hasPermission('edit_role')) {
9
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
10
-		}
11
-		break;
12
-	case 38:
13
-		if(!$modx->hasPermission('new_role')) {
14
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
15
-		}
16
-		break;
17
-	default:
18
-		$modx->webAlertAndQuit($_lang["error_no_privileges"]);
7
+    case 35:
8
+        if(!$modx->hasPermission('edit_role')) {
9
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
10
+        }
11
+        break;
12
+    case 38:
13
+        if(!$modx->hasPermission('new_role')) {
14
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
15
+        }
16
+        break;
17
+    default:
18
+        $modx->webAlertAndQuit($_lang["error_no_privileges"]);
19 19
 }
20 20
 
21 21
 $role = isset($_REQUEST['id']) ? (int)$_REQUEST['id'] : 0;
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 
25 25
 // check to see the snippet editor isn't locked
26 26
 if($lockedEl = $modx->elementIsLocked(8, $role)) {
27
-	$modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['role']));
27
+    $modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['role']));
28 28
 }
29 29
 // end check for lock
30 30
 
@@ -32,15 +32,15 @@  discard block
 block discarded – undo
32 32
 $modx->lockElement(8, $role);
33 33
 
34 34
 if($modx->manager->action == '35') {
35
-	$rs = $modx->db->select('*', $tbl_user_roles, "id='{$role}'");
36
-	$roledata = $modx->db->getRow($rs);
37
-	if(!$roledata) {
38
-		$modx->webAlertAndQuit("No role returned!");
39
-	}
40
-	$_SESSION['itemname'] = $roledata['name'];
35
+    $rs = $modx->db->select('*', $tbl_user_roles, "id='{$role}'");
36
+    $roledata = $modx->db->getRow($rs);
37
+    if(!$roledata) {
38
+        $modx->webAlertAndQuit("No role returned!");
39
+    }
40
+    $_SESSION['itemname'] = $roledata['name'];
41 41
 } else {
42
-	$roledata = 0;
43
-	$_SESSION['itemname'] = $_lang["new_role"];
42
+    $roledata = 0;
43
+    $_SESSION['itemname'] = $_lang["new_role"];
44 44
 }
45 45
 
46 46
 // Add lock-element JS-Script
@@ -107,63 +107,63 @@  discard block
 block discarded – undo
107 107
 							<div class="form-group">
108 108
 								<h3><?= $_lang['page_data_general'] ?></h3>
109 109
 								<?php
110
-								echo render_form('frames', $_lang['role_frames'], 'disabled');
111
-								echo render_form('home', $_lang['role_home'], 'disabled');
112
-								echo render_form('messages', $_lang['role_messages']);
113
-								echo render_form('logout', $_lang['role_logout'], 'disabled');
114
-								echo render_form('help', $_lang['role_help']);
115
-								echo render_form('action_ok', $_lang['role_actionok'], 'disabled');
116
-								echo render_form('error_dialog', $_lang['role_errors'], 'disabled');
117
-								echo render_form('about', $_lang['role_about'], 'disabled');
118
-								echo render_form('credits', $_lang['role_credits'], 'disabled');
119
-								echo render_form('change_password', $_lang['role_change_password']);
120
-								echo render_form('save_password', $_lang['role_save_password']);
121
-								?>
110
+                                echo render_form('frames', $_lang['role_frames'], 'disabled');
111
+                                echo render_form('home', $_lang['role_home'], 'disabled');
112
+                                echo render_form('messages', $_lang['role_messages']);
113
+                                echo render_form('logout', $_lang['role_logout'], 'disabled');
114
+                                echo render_form('help', $_lang['role_help']);
115
+                                echo render_form('action_ok', $_lang['role_actionok'], 'disabled');
116
+                                echo render_form('error_dialog', $_lang['role_errors'], 'disabled');
117
+                                echo render_form('about', $_lang['role_about'], 'disabled');
118
+                                echo render_form('credits', $_lang['role_credits'], 'disabled');
119
+                                echo render_form('change_password', $_lang['role_change_password']);
120
+                                echo render_form('save_password', $_lang['role_save_password']);
121
+                                ?>
122 122
 							</div>
123 123
 						</div>
124 124
 						<div class="col-sm-6 col-lg-3">
125 125
 							<div class="form-group">
126 126
 								<h3><?= $_lang['role_content_management'] ?></h3>
127 127
 								<?php
128
-								echo render_form('view_document', $_lang['role_view_docdata'], 'disabled');
129
-								echo render_form('new_document', $_lang['role_create_doc']);
130
-								echo render_form('edit_document', $_lang['role_edit_doc']);
131
-								echo render_form('change_resourcetype', $_lang['role_change_resourcetype']);
132
-								echo render_form('save_document', $_lang['role_save_doc']);
133
-								echo render_form('publish_document', $_lang['role_publish_doc']);
134
-								echo render_form('delete_document', $_lang['role_delete_doc']);
135
-								echo render_form('empty_trash', $_lang['role_empty_trash']);
136
-								echo render_form('empty_cache', $_lang['role_cache_refresh']);
137
-								echo render_form('view_unpublished', $_lang['role_view_unpublished']);
138
-								?>
128
+                                echo render_form('view_document', $_lang['role_view_docdata'], 'disabled');
129
+                                echo render_form('new_document', $_lang['role_create_doc']);
130
+                                echo render_form('edit_document', $_lang['role_edit_doc']);
131
+                                echo render_form('change_resourcetype', $_lang['role_change_resourcetype']);
132
+                                echo render_form('save_document', $_lang['role_save_doc']);
133
+                                echo render_form('publish_document', $_lang['role_publish_doc']);
134
+                                echo render_form('delete_document', $_lang['role_delete_doc']);
135
+                                echo render_form('empty_trash', $_lang['role_empty_trash']);
136
+                                echo render_form('empty_cache', $_lang['role_cache_refresh']);
137
+                                echo render_form('view_unpublished', $_lang['role_view_unpublished']);
138
+                                ?>
139 139
 							</div>
140 140
 						</div>
141 141
 						<div class="col-sm-6 col-lg-3 form-group">
142 142
 							<div class="form-group">
143 143
 								<h3><?= $_lang['role_file_management'] ?></h3>
144 144
 								<?php
145
-								echo render_form('file_manager', $_lang['role_file_manager']);
146
-								echo render_form('assets_files', $_lang['role_assets_files']);
147
-								echo render_form('assets_images', $_lang['role_assets_images']);
148
-								?>
145
+                                echo render_form('file_manager', $_lang['role_file_manager']);
146
+                                echo render_form('assets_files', $_lang['role_assets_files']);
147
+                                echo render_form('assets_images', $_lang['role_assets_images']);
148
+                                ?>
149 149
 							</div>
150 150
 							<div class="form-group">
151 151
 								<h3><?= $_lang['category_management'] ?></h3>
152 152
 								<?php
153
-								echo render_form('category_manager', $_lang['role_category_manager']);
154
-								?>
153
+                                echo render_form('category_manager', $_lang['role_category_manager']);
154
+                                ?>
155 155
 							</div>
156 156
 						</div>
157 157
 						<div class="col-sm-6 col-lg-3">
158 158
 							<div class="form-group">
159 159
 								<h3><?= $_lang['role_module_management'] ?></h3>
160 160
 								<?php
161
-								echo render_form('new_module', $_lang['role_new_module']);
162
-								echo render_form('edit_module', $_lang['role_edit_module']);
163
-								echo render_form('save_module', $_lang['role_save_module']);
164
-								echo render_form('delete_module', $_lang['role_delete_module']);
165
-								echo render_form('exec_module', $_lang['role_run_module']);
166
-								?>
161
+                                echo render_form('new_module', $_lang['role_new_module']);
162
+                                echo render_form('edit_module', $_lang['role_edit_module']);
163
+                                echo render_form('save_module', $_lang['role_save_module']);
164
+                                echo render_form('delete_module', $_lang['role_delete_module']);
165
+                                echo render_form('exec_module', $_lang['role_run_module']);
166
+                                ?>
167 167
 							</div>
168 168
 						</div>
169 169
 					</div>
@@ -173,44 +173,44 @@  discard block
 block discarded – undo
173 173
 							<div class="form-group">
174 174
 								<h3><?= $_lang['role_template_management'] ?></h3>
175 175
 								<?php
176
-								echo render_form('new_template', $_lang['role_create_template']);
177
-								echo render_form('edit_template', $_lang['role_edit_template']);
178
-								echo render_form('save_template', $_lang['role_save_template']);
179
-								echo render_form('delete_template', $_lang['role_delete_template']);
180
-								?>
176
+                                echo render_form('new_template', $_lang['role_create_template']);
177
+                                echo render_form('edit_template', $_lang['role_edit_template']);
178
+                                echo render_form('save_template', $_lang['role_save_template']);
179
+                                echo render_form('delete_template', $_lang['role_delete_template']);
180
+                                ?>
181 181
 							</div>
182 182
 						</div>
183 183
 						<div class="col-sm-6 col-lg-3">
184 184
 							<div class="form-group">
185 185
 								<h3><?= $_lang['role_snippet_management'] ?></h3>
186 186
 								<?php
187
-								echo render_form('new_snippet', $_lang['role_create_snippet']);
188
-								echo render_form('edit_snippet', $_lang['role_edit_snippet']);
189
-								echo render_form('save_snippet', $_lang['role_save_snippet']);
190
-								echo render_form('delete_snippet', $_lang['role_delete_snippet']);
191
-								?>
187
+                                echo render_form('new_snippet', $_lang['role_create_snippet']);
188
+                                echo render_form('edit_snippet', $_lang['role_edit_snippet']);
189
+                                echo render_form('save_snippet', $_lang['role_save_snippet']);
190
+                                echo render_form('delete_snippet', $_lang['role_delete_snippet']);
191
+                                ?>
192 192
 							</div>
193 193
 						</div>
194 194
 						<div class="col-sm-6 col-lg-3">
195 195
 							<div class="form-group">
196 196
 								<h3><?= $_lang['role_chunk_management'] ?></h3>
197 197
 								<?php
198
-								echo render_form('new_chunk', $_lang['role_create_chunk']);
199
-								echo render_form('edit_chunk', $_lang['role_edit_chunk']);
200
-								echo render_form('save_chunk', $_lang['role_save_chunk']);
201
-								echo render_form('delete_chunk', $_lang['role_delete_chunk']);
202
-								?>
198
+                                echo render_form('new_chunk', $_lang['role_create_chunk']);
199
+                                echo render_form('edit_chunk', $_lang['role_edit_chunk']);
200
+                                echo render_form('save_chunk', $_lang['role_save_chunk']);
201
+                                echo render_form('delete_chunk', $_lang['role_delete_chunk']);
202
+                                ?>
203 203
 							</div>
204 204
 						</div>
205 205
 						<div class="col-sm-6 col-lg-3">
206 206
 							<div class="form-group">
207 207
 								<h3><?= $_lang['role_plugin_management'] ?></h3>
208 208
 								<?php
209
-								echo render_form('new_plugin', $_lang['role_create_plugin']);
210
-								echo render_form('edit_plugin', $_lang['role_edit_plugin']);
211
-								echo render_form('save_plugin', $_lang['role_save_plugin']);
212
-								echo render_form('delete_plugin', $_lang['role_delete_plugin']);
213
-								?>
209
+                                echo render_form('new_plugin', $_lang['role_create_plugin']);
210
+                                echo render_form('edit_plugin', $_lang['role_edit_plugin']);
211
+                                echo render_form('save_plugin', $_lang['role_save_plugin']);
212
+                                echo render_form('delete_plugin', $_lang['role_delete_plugin']);
213
+                                ?>
214 214
 							</div>
215 215
 						</div>
216 216
 					</div>
@@ -220,42 +220,42 @@  discard block
 block discarded – undo
220 220
 							<div class="form-group">
221 221
 								<h3><?= $_lang['role_user_management'] ?></h3>
222 222
 								<?php
223
-								echo render_form('new_user', $_lang['role_new_user']);
224
-								echo render_form('edit_user', $_lang['role_edit_user']);
225
-								echo render_form('save_user', $_lang['role_save_user']);
226
-								echo render_form('delete_user', $_lang['role_delete_user']);
227
-								?>
223
+                                echo render_form('new_user', $_lang['role_new_user']);
224
+                                echo render_form('edit_user', $_lang['role_edit_user']);
225
+                                echo render_form('save_user', $_lang['role_save_user']);
226
+                                echo render_form('delete_user', $_lang['role_delete_user']);
227
+                                ?>
228 228
 							</div>
229 229
 						</div>
230 230
 						<div class="col-sm-6 col-lg-3">
231 231
 							<div class="form-group">
232 232
 								<h3><?= $_lang['role_web_user_management'] ?></h3>
233 233
 								<?php
234
-								echo render_form('new_web_user', $_lang['role_new_web_user']);
235
-								echo render_form('edit_web_user', $_lang['role_edit_web_user']);
236
-								echo render_form('save_web_user', $_lang['role_save_web_user']);
237
-								echo render_form('delete_web_user', $_lang['role_delete_web_user']);
238
-								?>
234
+                                echo render_form('new_web_user', $_lang['role_new_web_user']);
235
+                                echo render_form('edit_web_user', $_lang['role_edit_web_user']);
236
+                                echo render_form('save_web_user', $_lang['role_save_web_user']);
237
+                                echo render_form('delete_web_user', $_lang['role_delete_web_user']);
238
+                                ?>
239 239
 							</div>
240 240
 						</div>
241 241
 						<div class="col-sm-6 col-lg-3">
242 242
 							<div class="form-group">
243 243
 								<h3><?= $_lang['role_udperms'] ?></h3>
244 244
 								<?php
245
-								echo render_form('access_permissions', $_lang['role_access_persmissions']);
246
-								echo render_form('web_access_permissions', $_lang['role_web_access_persmissions']);
247
-								?>
245
+                                echo render_form('access_permissions', $_lang['role_access_persmissions']);
246
+                                echo render_form('web_access_permissions', $_lang['role_web_access_persmissions']);
247
+                                ?>
248 248
 							</div>
249 249
 						</div>
250 250
 						<div class="col-sm-6 col-lg-3">
251 251
 							<div class="form-group">
252 252
 								<h3><?= $_lang['role_role_management'] ?></h3>
253 253
 								<?php
254
-								echo render_form('new_role', $_lang['role_new_role']);
255
-								echo render_form('edit_role', $_lang['role_edit_role']);
256
-								echo render_form('save_role', $_lang['role_save_role']);
257
-								echo render_form('delete_role', $_lang['role_delete_role']);
258
-								?>
254
+                                echo render_form('new_role', $_lang['role_new_role']);
255
+                                echo render_form('edit_role', $_lang['role_edit_role']);
256
+                                echo render_form('save_role', $_lang['role_save_role']);
257
+                                echo render_form('delete_role', $_lang['role_delete_role']);
258
+                                ?>
259 259
 							</div>
260 260
 						</div>
261 261
 					</div>
@@ -265,23 +265,23 @@  discard block
 block discarded – undo
265 265
 							<div class="form-group">
266 266
 								<h3><?= $_lang['role_eventlog_management'] ?></h3>
267 267
 								<?php
268
-								echo render_form('view_eventlog', $_lang['role_view_eventlog']);
269
-								echo render_form('delete_eventlog', $_lang['role_delete_eventlog']);
270
-								?>
268
+                                echo render_form('view_eventlog', $_lang['role_view_eventlog']);
269
+                                echo render_form('delete_eventlog', $_lang['role_delete_eventlog']);
270
+                                ?>
271 271
 							</div>
272 272
 						</div>
273 273
 						<div class="col-sm-6 col-lg-3">
274 274
 							<div class="form-group">
275 275
 								<h3><?= $_lang['role_config_management'] ?></h3>
276 276
 								<?php
277
-								echo render_form('logs', $_lang['role_view_logs']);
278
-								echo render_form('settings', $_lang['role_edit_settings']);
279
-								echo render_form('bk_manager', $_lang['role_bk_manager']);
280
-								echo render_form('import_static', $_lang['role_import_static']);
281
-								echo render_form('export_static', $_lang['role_export_static']);
282
-								echo render_form('remove_locks', $_lang['role_remove_locks']);
283
-								echo render_form('display_locks', $_lang['role_display_locks']);
284
-								?>
277
+                                echo render_form('logs', $_lang['role_view_logs']);
278
+                                echo render_form('settings', $_lang['role_edit_settings']);
279
+                                echo render_form('bk_manager', $_lang['role_bk_manager']);
280
+                                echo render_form('import_static', $_lang['role_import_static']);
281
+                                echo render_form('export_static', $_lang['role_export_static']);
282
+                                echo render_form('remove_locks', $_lang['role_remove_locks']);
283
+                                echo render_form('display_locks', $_lang['role_display_locks']);
284
+                                ?>
285 285
 							</div>
286 286
 						</div>
287 287
 					</div>
@@ -300,32 +300,32 @@  discard block
 block discarded – undo
300 300
  * @return string
301 301
  */
302 302
 function render_form($name, $label, $status = '') {
303
-	$modx = DocumentParser::getInstance(); global $roledata;
303
+    $modx = DocumentParser::getInstance(); global $roledata;
304 304
 
305
-	$tpl = '<label class="d-block" for="[+name+]check">
305
+    $tpl = '<label class="d-block" for="[+name+]check">
306 306
 		<input name="[+name+]check" id="[+name+]check" class="click" type="checkbox" onchange="changestate(document.userform.[+name+])" [+checked+] [+status+]>
307 307
 		<input type="hidden" class="[+set+]" name="[+name+]" value="[+value+]">
308 308
 		[+label+]
309 309
 	</label>';
310 310
 
311
-	$checked = ($roledata[$name] == 1) ? 'checked' : '';
312
-	$value = ($roledata[$name] == 1) ? 1 : 0;
313
-	if($status == 'disabled') {
314
-		$checked = 'checked';
315
-		$value = 1;
316
-		$set = 'fix';
317
-	} else {
318
-		$set = 'set';
319
-	}
311
+    $checked = ($roledata[$name] == 1) ? 'checked' : '';
312
+    $value = ($roledata[$name] == 1) ? 1 : 0;
313
+    if($status == 'disabled') {
314
+        $checked = 'checked';
315
+        $value = 1;
316
+        $set = 'fix';
317
+    } else {
318
+        $set = 'set';
319
+    }
320 320
 
321
-	$ph = array(
322
-		'name' => $name,
323
-		'checked' => $checked,
324
-		'status' => $status,
325
-		'value' => $value,
326
-		'label' => $label,
327
-		'set' => $set
328
-	);
321
+    $ph = array(
322
+        'name' => $name,
323
+        'checked' => $checked,
324
+        'status' => $status,
325
+        'value' => $value,
326
+        'label' => $label,
327
+        'set' => $set
328
+    );
329 329
 
330
-	return $modx->parseText($tpl, $ph);
330
+    return $modx->parseText($tpl, $ph);
331 331
 }
Please login to merge, or discard this patch.
manager/actions/import_site.static.php 1 patch
Indentation   +333 added lines, -333 removed lines patch added patch discarded remove patch
@@ -1,17 +1,17 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 if(!$modx->hasPermission('import_static')) {
6
-	$modx->webAlertAndQuit($_lang["error_no_privileges"]);
6
+    $modx->webAlertAndQuit($_lang["error_no_privileges"]);
7 7
 }
8 8
 
9 9
 // Files to upload
10 10
 $allowedfiles = array(
11
-	'html',
12
-	'htm',
13
-	'shtml',
14
-	'xml'
11
+    'html',
12
+    'htm',
13
+    'shtml',
14
+    'xml'
15 15
 );
16 16
 ?>
17 17
 	<script language="javascript">
@@ -43,9 +43,9 @@  discard block
 block discarded – undo
43 43
 	<div class="tab-page">
44 44
 		<div class="container container-body">
45 45
 			<?php
46
-			if(!isset($_POST['import'])) {
47
-				echo "<div class=\"element-edit-message\">" . $_lang['import_site_message'] . "</div>";
48
-				?>
46
+            if(!isset($_POST['import'])) {
47
+                echo "<div class=\"element-edit-message\">" . $_lang['import_site_message'] . "</div>";
48
+                ?>
49 49
 				<form action="index.php" method="post" name="importFrm">
50 50
 					<input type="hidden" name="import" value="import" />
51 51
 					<input type="hidden" name="a" value="95" />
@@ -85,18 +85,18 @@  discard block
 block discarded – undo
85 85
 					<a href="javascript:;" class="btn btn-primary" onclick="window.importFrm.submit();"><i class="<?= $_style["actions_save"] ?>"></i> <?= $_lang["import_site_start"] ?></a>
86 86
 				</form>
87 87
 			<?php
88
-			} else {
89
-			run();
90
-			$modx->clearCache('full');
91
-			?>
88
+            } else {
89
+            run();
90
+            $modx->clearCache('full');
91
+            ?>
92 92
 				<a href="javascript:;" class="btn btn-primary" onclick="window.location.href='index.php?a=2';"><i class="<?= $_style["actions_close"] ?>"></i> <?= $_lang["close"] ?></a>
93 93
 				<script type="text/javascript">
94 94
 					top.mainMenu.reloadtree();
95 95
 					parent.tree.ca = 'open';
96 96
 				</script>
97 97
 				<?php
98
-			}
99
-			?>
98
+            }
99
+            ?>
100 100
 		</div>
101 101
 	</div>
102 102
 
@@ -105,64 +105,64 @@  discard block
 block discarded – undo
105 105
  * @return string
106 106
  */
107 107
 function run() {
108
-	$modx = DocumentParser::getInstance(); global $_lang;
108
+    $modx = DocumentParser::getInstance(); global $_lang;
109 109
 
110
-	$tbl_site_content = $modx->getFullTableName('site_content');
111
-	$output = '';
112
-	$maxtime = $_POST['maxtime'];
110
+    $tbl_site_content = $modx->getFullTableName('site_content');
111
+    $output = '';
112
+    $maxtime = $_POST['maxtime'];
113 113
 
114
-	if(!is_numeric($maxtime)) {
115
-		$maxtime = 30;
116
-	}
114
+    if(!is_numeric($maxtime)) {
115
+        $maxtime = 30;
116
+    }
117 117
 
118
-	@set_time_limit($maxtime);
118
+    @set_time_limit($maxtime);
119 119
 
120
-	$mtime = microtime();
121
-	$mtime = explode(' ', $mtime);
122
-	$mtime = $mtime[1] + $mtime[0];
123
-	$importstart = $mtime;
120
+    $mtime = microtime();
121
+    $mtime = explode(' ', $mtime);
122
+    $mtime = $mtime[1] + $mtime[0];
123
+    $importstart = $mtime;
124 124
 
125
-	if($_POST['reset'] == 'on') {
126
-		$modx->db->truncate($tbl_site_content);
127
-		$modx->db->query("ALTER TABLE {$tbl_site_content} AUTO_INCREMENT = 1");
128
-	}
125
+    if($_POST['reset'] == 'on') {
126
+        $modx->db->truncate($tbl_site_content);
127
+        $modx->db->query("ALTER TABLE {$tbl_site_content} AUTO_INCREMENT = 1");
128
+    }
129 129
 
130
-	$parent = (int)$_POST['parent'];
130
+    $parent = (int)$_POST['parent'];
131 131
 
132
-	if(is_dir(MODX_BASE_PATH . 'temp/import')) {
133
-		$filedir = MODX_BASE_PATH . 'temp/import/';
134
-	} elseif(is_dir(MODX_BASE_PATH . 'assets/import')) {
135
-		$filedir = MODX_BASE_PATH . 'assets/import/';
136
-	} else {
132
+    if(is_dir(MODX_BASE_PATH . 'temp/import')) {
133
+        $filedir = MODX_BASE_PATH . 'temp/import/';
134
+    } elseif(is_dir(MODX_BASE_PATH . 'assets/import')) {
135
+        $filedir = MODX_BASE_PATH . 'assets/import/';
136
+    } else {
137 137
         $filedir = '';
138 138
     }
139 139
 
140
-	$filesfound = 0;
140
+    $filesfound = 0;
141 141
 
142
-	$files = getFiles($filedir);
143
-	$files = pop_index($files);
142
+    $files = getFiles($filedir);
143
+    $files = pop_index($files);
144 144
 
145
-	// no. of files to import
146
-	$output .= sprintf('<p>' . $_lang['import_files_found'] . '</p>', $filesfound);
145
+    // no. of files to import
146
+    $output .= sprintf('<p>' . $_lang['import_files_found'] . '</p>', $filesfound);
147 147
 
148
-	// import files
149
-	if(0 < count($files)) {
150
-		$modx->db->update(array('isfolder' => 1), $tbl_site_content, "id='{$parent}'");
151
-		importFiles($parent, $filedir, $files, 'root');
152
-	}
148
+    // import files
149
+    if(0 < count($files)) {
150
+        $modx->db->update(array('isfolder' => 1), $tbl_site_content, "id='{$parent}'");
151
+        importFiles($parent, $filedir, $files, 'root');
152
+    }
153 153
 
154
-	$mtime = microtime();
155
-	$mtime = explode(' ', $mtime);
156
-	$mtime = $mtime[1] + $mtime[0];
157
-	$importend = $mtime;
158
-	$totaltime = ($importend - $importstart);
159
-	$output .= sprintf('<p>' . $_lang['import_site_time'] . '</p>', round($totaltime, 3));
154
+    $mtime = microtime();
155
+    $mtime = explode(' ', $mtime);
156
+    $mtime = $mtime[1] + $mtime[0];
157
+    $importend = $mtime;
158
+    $totaltime = ($importend - $importstart);
159
+    $output .= sprintf('<p>' . $_lang['import_site_time'] . '</p>', round($totaltime, 3));
160 160
 
161
-	if($_POST['convert_link'] == 'on') {
162
-		convertLink();
163
-	}
161
+    if($_POST['convert_link'] == 'on') {
162
+        convertLink();
163
+    }
164 164
 
165
-	return $output;
165
+    return $output;
166 166
 }
167 167
 
168 168
 /**
@@ -172,144 +172,144 @@  discard block
 block discarded – undo
172 172
  * @param string $mode
173 173
  */
174 174
 function importFiles($parent, $filedir, $files, $mode) {
175
-	$modx = DocumentParser::getInstance();
176
-	global $_lang, $allowedfiles;
177
-	global $search_default, $cache_default, $publish_default;
178
-
179
-	$tbl_site_content = $modx->getFullTableName('site_content');
180
-	$tbl_system_settings = $modx->getFullTableName('system_settings');
181
-
182
-	$createdby = $modx->getLoginUserID();
183
-	if(!is_array($files)) {
184
-		return;
185
-	}
186
-	if($_POST['object'] === 'all') {
187
-		$modx->config['default_template'] = '0';
188
-		$richtext = '0';
189
-	} else {
190
-		$richtext = '1';
191
-	}
192
-
193
-	foreach($files as $id => $value) {
194
-		if(is_array($value)) {
195
-			// create folder
196
-			$alias = $id;
197
-			printf('<span>' . $_lang['import_site_importing_document'] . '</span>', $alias);
198
-			$field = array();
199
-			$field['type'] = 'document';
200
-			$field['contentType'] = 'text/html';
201
-			$field['published'] = $publish_default;
202
-			$field['parent'] = $parent;
203
-			$field['alias'] = $modx->stripAlias($alias);
204
-			$field['richtext'] = $richtext;
205
-			$field['template'] = $modx->config['default_template'];
206
-			$field['searchable'] = $search_default;
207
-			$field['cacheable'] = $cache_default;
208
-			$field['createdby'] = $createdby;
209
-			$field['isfolder'] = 1;
210
-			$field['menuindex'] = 1;
211
-			$find = false;
212
-			foreach(array(
213
-						'index.html',
214
-						'index.htm'
215
-					) as $filename) {
216
-				$filepath = $filedir . $alias . '/' . $filename;
217
-				if($find === false && file_exists($filepath)) {
218
-					$file = getFileContent($filepath);
219
-					list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
220
-
221
-					$date = filemtime($filepath);
222
-					$field['pagetitle'] = $pagetitle;
223
-					$field['longtitle'] = $pagetitle;
224
-					$field['description'] = $description;
225
-					$field['content'] = $modx->db->escape($content);
226
-					$field['createdon'] = $date;
227
-					$field['editedon'] = $date;
228
-					$newid = $modx->db->insert($field, $tbl_site_content);
229
-					if($newid) {
230
-						$find = true;
231
-						echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
232
-						importFiles($newid, $filedir . $alias . '/', $value, 'sub');
233
-					} else {
234
-						echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
235
-						exit;
236
-					}
237
-				}
238
-			}
239
-			if($find === false) {
240
-				$date = time();
241
-				$field['pagetitle'] = '---';
242
-				$field['content'] = '';
243
-				$field['createdon'] = $date;
244
-				$field['editedon'] = $date;
245
-				$field['hidemenu'] = '1';
246
-				$newid = $modx->db->insert($field, $tbl_site_content);
247
-				if($newid) {
248
-					$find = true;
249
-					echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
250
-					importFiles($newid, $filedir . $alias . '/', $value, 'sub');
251
-				} else {
252
-					echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
253
-					exit;
254
-				}
255
-			}
256
-		} else {
257
-			// create document
258
-			if($mode == 'sub' && $value == 'index.html') {
259
-				continue;
260
-			}
261
-			$filename = $value;
262
-			$fparts = explode('.', $value);
263
-			$alias = $fparts[0];
264
-			$ext = (count($fparts) > 1) ? $fparts[count($fparts) - 1] : "";
265
-			printf("<span>" . $_lang['import_site_importing_document'] . "</span>", $filename);
266
-
267
-			if(!in_array($ext, $allowedfiles)) {
268
-				echo ' - <span class="fail">' . $_lang["import_site_skip"] . '</span><br />' . "\n";
269
-			} else {
270
-				$filepath = $filedir . $filename;
271
-				$file = getFileContent($filepath);
272
-				list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
273
-
274
-				$date = filemtime($filepath);
275
-				$field = array();
276
-				$field['type'] = 'document';
277
-				$field['contentType'] = 'text/html';
278
-				$field['pagetitle'] = $pagetitle;
279
-				$field['longtitle'] = $pagetitle;
280
-				$field['description'] = $description;
281
-				$field['alias'] = $modx->stripAlias($alias);
282
-				$field['published'] = $publish_default;
283
-				$field['parent'] = $parent;
284
-				$field['content'] = $modx->db->escape($content);
285
-				$field['richtext'] = $richtext;
286
-				$field['template'] = $modx->config['default_template'];
287
-				$field['searchable'] = $search_default;
288
-				$field['cacheable'] = $cache_default;
289
-				$field['createdby'] = $createdby;
290
-				$field['createdon'] = $date;
291
-				$field['editedon'] = $date;
292
-				$field['isfolder'] = 0;
293
-				$field['menuindex'] = ($alias == 'index') ? 0 : 2;
294
-				$newid = $modx->db->insert($field, $tbl_site_content);
295
-				if($newid) {
296
-					echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
297
-				} else {
298
-					echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
299
-					exit;
300
-				}
301
-
302
-				$is_site_start = false;
303
-				if($filename == 'index.html') {
304
-					$is_site_start = true;
305
-				}
306
-				if($is_site_start == true && $_POST['reset'] == 'on') {
307
-					$modx->db->update(array('setting_value' => $newid), $tbl_system_settings, "setting_name='site_start'");
308
-					$modx->db->update(array('menuindex' => 0), $tbl_site_content, "id='{$newid}'");
309
-				}
310
-			}
311
-		}
312
-	}
175
+    $modx = DocumentParser::getInstance();
176
+    global $_lang, $allowedfiles;
177
+    global $search_default, $cache_default, $publish_default;
178
+
179
+    $tbl_site_content = $modx->getFullTableName('site_content');
180
+    $tbl_system_settings = $modx->getFullTableName('system_settings');
181
+
182
+    $createdby = $modx->getLoginUserID();
183
+    if(!is_array($files)) {
184
+        return;
185
+    }
186
+    if($_POST['object'] === 'all') {
187
+        $modx->config['default_template'] = '0';
188
+        $richtext = '0';
189
+    } else {
190
+        $richtext = '1';
191
+    }
192
+
193
+    foreach($files as $id => $value) {
194
+        if(is_array($value)) {
195
+            // create folder
196
+            $alias = $id;
197
+            printf('<span>' . $_lang['import_site_importing_document'] . '</span>', $alias);
198
+            $field = array();
199
+            $field['type'] = 'document';
200
+            $field['contentType'] = 'text/html';
201
+            $field['published'] = $publish_default;
202
+            $field['parent'] = $parent;
203
+            $field['alias'] = $modx->stripAlias($alias);
204
+            $field['richtext'] = $richtext;
205
+            $field['template'] = $modx->config['default_template'];
206
+            $field['searchable'] = $search_default;
207
+            $field['cacheable'] = $cache_default;
208
+            $field['createdby'] = $createdby;
209
+            $field['isfolder'] = 1;
210
+            $field['menuindex'] = 1;
211
+            $find = false;
212
+            foreach(array(
213
+                        'index.html',
214
+                        'index.htm'
215
+                    ) as $filename) {
216
+                $filepath = $filedir . $alias . '/' . $filename;
217
+                if($find === false && file_exists($filepath)) {
218
+                    $file = getFileContent($filepath);
219
+                    list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
220
+
221
+                    $date = filemtime($filepath);
222
+                    $field['pagetitle'] = $pagetitle;
223
+                    $field['longtitle'] = $pagetitle;
224
+                    $field['description'] = $description;
225
+                    $field['content'] = $modx->db->escape($content);
226
+                    $field['createdon'] = $date;
227
+                    $field['editedon'] = $date;
228
+                    $newid = $modx->db->insert($field, $tbl_site_content);
229
+                    if($newid) {
230
+                        $find = true;
231
+                        echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
232
+                        importFiles($newid, $filedir . $alias . '/', $value, 'sub');
233
+                    } else {
234
+                        echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
235
+                        exit;
236
+                    }
237
+                }
238
+            }
239
+            if($find === false) {
240
+                $date = time();
241
+                $field['pagetitle'] = '---';
242
+                $field['content'] = '';
243
+                $field['createdon'] = $date;
244
+                $field['editedon'] = $date;
245
+                $field['hidemenu'] = '1';
246
+                $newid = $modx->db->insert($field, $tbl_site_content);
247
+                if($newid) {
248
+                    $find = true;
249
+                    echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
250
+                    importFiles($newid, $filedir . $alias . '/', $value, 'sub');
251
+                } else {
252
+                    echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
253
+                    exit;
254
+                }
255
+            }
256
+        } else {
257
+            // create document
258
+            if($mode == 'sub' && $value == 'index.html') {
259
+                continue;
260
+            }
261
+            $filename = $value;
262
+            $fparts = explode('.', $value);
263
+            $alias = $fparts[0];
264
+            $ext = (count($fparts) > 1) ? $fparts[count($fparts) - 1] : "";
265
+            printf("<span>" . $_lang['import_site_importing_document'] . "</span>", $filename);
266
+
267
+            if(!in_array($ext, $allowedfiles)) {
268
+                echo ' - <span class="fail">' . $_lang["import_site_skip"] . '</span><br />' . "\n";
269
+            } else {
270
+                $filepath = $filedir . $filename;
271
+                $file = getFileContent($filepath);
272
+                list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
273
+
274
+                $date = filemtime($filepath);
275
+                $field = array();
276
+                $field['type'] = 'document';
277
+                $field['contentType'] = 'text/html';
278
+                $field['pagetitle'] = $pagetitle;
279
+                $field['longtitle'] = $pagetitle;
280
+                $field['description'] = $description;
281
+                $field['alias'] = $modx->stripAlias($alias);
282
+                $field['published'] = $publish_default;
283
+                $field['parent'] = $parent;
284
+                $field['content'] = $modx->db->escape($content);
285
+                $field['richtext'] = $richtext;
286
+                $field['template'] = $modx->config['default_template'];
287
+                $field['searchable'] = $search_default;
288
+                $field['cacheable'] = $cache_default;
289
+                $field['createdby'] = $createdby;
290
+                $field['createdon'] = $date;
291
+                $field['editedon'] = $date;
292
+                $field['isfolder'] = 0;
293
+                $field['menuindex'] = ($alias == 'index') ? 0 : 2;
294
+                $newid = $modx->db->insert($field, $tbl_site_content);
295
+                if($newid) {
296
+                    echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
297
+                } else {
298
+                    echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
299
+                    exit;
300
+                }
301
+
302
+                $is_site_start = false;
303
+                if($filename == 'index.html') {
304
+                    $is_site_start = true;
305
+                }
306
+                if($is_site_start == true && $_POST['reset'] == 'on') {
307
+                    $modx->db->update(array('setting_value' => $newid), $tbl_system_settings, "setting_name='site_start'");
308
+                    $modx->db->update(array('menuindex' => 0), $tbl_site_content, "id='{$newid}'");
309
+                }
310
+            }
311
+        }
312
+    }
313 313
 }
314 314
 
315 315
 /**
@@ -319,27 +319,27 @@  discard block
 block discarded – undo
319 319
  * @return array
320 320
  */
321 321
 function getFiles($directory, $listing = array(), $count = 0) {
322
-	global $_lang;
323
-	global $filesfound;
324
-	$dummy = $count;
325
-	if( ! empty($directory) && $files = scandir($directory)) {
326
-		foreach($files as $file) {
327
-			if($file == '.' || $file == '..') {
328
-				continue;
329
-			} elseif($h = @opendir($directory . $file . "/")) {
330
-				closedir($h);
331
-				$count = -1;
332
-				$listing[$file] = getFiles($directory . $file . "/", array(), $count + 1);
333
-			} elseif(strpos($file, '.htm') !== false) {
334
-				$listing[$dummy] = $file;
335
-				$dummy = $dummy + 1;
336
-				$filesfound++;
337
-			}
338
-		}
339
-	} else {
340
-		echo '<p><span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_no_open_dir"] . $directory . ".</p>";
341
-	}
342
-	return ($listing);
322
+    global $_lang;
323
+    global $filesfound;
324
+    $dummy = $count;
325
+    if( ! empty($directory) && $files = scandir($directory)) {
326
+        foreach($files as $file) {
327
+            if($file == '.' || $file == '..') {
328
+                continue;
329
+            } elseif($h = @opendir($directory . $file . "/")) {
330
+                closedir($h);
331
+                $count = -1;
332
+                $listing[$file] = getFiles($directory . $file . "/", array(), $count + 1);
333
+            } elseif(strpos($file, '.htm') !== false) {
334
+                $listing[$dummy] = $file;
335
+                $dummy = $dummy + 1;
336
+                $filesfound++;
337
+            }
338
+        }
339
+    } else {
340
+        echo '<p><span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_no_open_dir"] . $directory . ".</p>";
341
+    }
342
+    return ($listing);
343 343
 }
344 344
 
345 345
 /**
@@ -347,13 +347,13 @@  discard block
 block discarded – undo
347 347
  * @return bool|string
348 348
  */
349 349
 function getFileContent($filepath) {
350
-	global $_lang;
351
-	// get the file
352
-	if(!$buffer = file_get_contents($filepath)) {
353
-		echo '<p><span class="fail">' . $_lang['import_site_failed'] . "</span> " . $_lang["import_site_failed_no_retrieve_file"] . $filepath . ".</p>";
354
-	} else {
355
-		return $buffer;
356
-	}
350
+    global $_lang;
351
+    // get the file
352
+    if(!$buffer = file_get_contents($filepath)) {
353
+        echo '<p><span class="fail">' . $_lang['import_site_failed'] . "</span> " . $_lang["import_site_failed_no_retrieve_file"] . $filepath . ".</p>";
354
+    } else {
355
+        return $buffer;
356
+    }
357 357
 }
358 358
 
359 359
 /**
@@ -361,20 +361,20 @@  discard block
 block discarded – undo
361 361
  * @return array
362 362
  */
363 363
 function pop_index($array) {
364
-	$new_array = array();
365
-	foreach($array as $k => $v) {
366
-		if($v !== 'index.html' && $v !== 'index.htm') {
367
-			$new_array[$k] = $v;
368
-		} else {
369
-			array_unshift($new_array, $v);
370
-		}
371
-	}
372
-	foreach($array as $k => $v) {
373
-		if(is_array($v)) {
374
-			$new_array[$k] = $v;
375
-		}
376
-	}
377
-	return $new_array;
364
+    $new_array = array();
365
+    foreach($array as $k => $v) {
366
+        if($v !== 'index.html' && $v !== 'index.htm') {
367
+            $new_array[$k] = $v;
368
+        } else {
369
+            array_unshift($new_array, $v);
370
+        }
371
+    }
372
+    foreach($array as $k => $v) {
373
+        if(is_array($v)) {
374
+            $new_array[$k] = $v;
375
+        }
376
+    }
377
+    return $new_array;
378 378
 }
379 379
 
380 380
 /**
@@ -384,108 +384,108 @@  discard block
 block discarded – undo
384 384
  * @return array
385 385
  */
386 386
 function treatContent($src, $filename, $alias) {
387
-	$modx = DocumentParser::getInstance();
388
-
389
-	$src = mb_convert_encoding($src, $modx->config['modx_charset'], 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,ASCII');
390
-
391
-	if(preg_match("@<title>(.*)</title>@i", $src, $matches)) {
392
-		$pagetitle = ($matches[1] !== '') ? $matches[1] : $filename;
393
-		$pagetitle = str_replace('[*pagetitle*]', '', $pagetitle);
394
-	} else {
395
-		$pagetitle = $alias;
396
-	}
397
-	if(!$pagetitle) {
398
-		$pagetitle = $alias;
399
-	}
400
-
401
-	if(preg_match('@<meta[^>]+"description"[^>]+content=[\'"](.*)[\'"].+>@i', $src, $matches)) {
402
-		$description = ($matches[1] !== '') ? $matches[1] : $filename;
403
-		$description = str_replace('[*description*]', '', $description);
404
-	} else {
405
-		$description = '';
406
-	}
407
-
408
-	if((preg_match("@<body[^>]*>(.*)[^<]+</body>@is", $src, $matches)) && $_POST['object'] == 'body') {
409
-		$content = $matches[1];
410
-	} else {
411
-		$content = $src;
412
-		$s = '/(<meta[^>]+charset\s*=)[^>"\'=]+(.+>)/i';
413
-		$r = '$1' . $modx->config['modx_charset'] . '$2';
414
-		$content = preg_replace($s, $r, $content);
415
-		$content = preg_replace('@<title>.*</title>@i', "<title>[*pagetitle*]</title>", $content);
416
-	}
417
-	$content = str_replace('[*content*]', '[ *content* ]', $content);
418
-	$content = trim($content);
419
-	$pagetitle = $modx->db->escape($pagetitle);
420
-	return array(
421
-		$pagetitle,
422
-		$content,
423
-		$description
424
-	);
387
+    $modx = DocumentParser::getInstance();
388
+
389
+    $src = mb_convert_encoding($src, $modx->config['modx_charset'], 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,ASCII');
390
+
391
+    if(preg_match("@<title>(.*)</title>@i", $src, $matches)) {
392
+        $pagetitle = ($matches[1] !== '') ? $matches[1] : $filename;
393
+        $pagetitle = str_replace('[*pagetitle*]', '', $pagetitle);
394
+    } else {
395
+        $pagetitle = $alias;
396
+    }
397
+    if(!$pagetitle) {
398
+        $pagetitle = $alias;
399
+    }
400
+
401
+    if(preg_match('@<meta[^>]+"description"[^>]+content=[\'"](.*)[\'"].+>@i', $src, $matches)) {
402
+        $description = ($matches[1] !== '') ? $matches[1] : $filename;
403
+        $description = str_replace('[*description*]', '', $description);
404
+    } else {
405
+        $description = '';
406
+    }
407
+
408
+    if((preg_match("@<body[^>]*>(.*)[^<]+</body>@is", $src, $matches)) && $_POST['object'] == 'body') {
409
+        $content = $matches[1];
410
+    } else {
411
+        $content = $src;
412
+        $s = '/(<meta[^>]+charset\s*=)[^>"\'=]+(.+>)/i';
413
+        $r = '$1' . $modx->config['modx_charset'] . '$2';
414
+        $content = preg_replace($s, $r, $content);
415
+        $content = preg_replace('@<title>.*</title>@i', "<title>[*pagetitle*]</title>", $content);
416
+    }
417
+    $content = str_replace('[*content*]', '[ *content* ]', $content);
418
+    $content = trim($content);
419
+    $pagetitle = $modx->db->escape($pagetitle);
420
+    return array(
421
+        $pagetitle,
422
+        $content,
423
+        $description
424
+    );
425 425
 }
426 426
 
427 427
 /**
428 428
  * @return void
429 429
  */
430 430
 function convertLink() {
431
-	$modx = DocumentParser::getInstance();
432
-	$tbl_site_content = $modx->getFullTableName('site_content');
431
+    $modx = DocumentParser::getInstance();
432
+    $tbl_site_content = $modx->getFullTableName('site_content');
433 433
 
434
-	$rs = $modx->db->select('id,content', $tbl_site_content);
435
-	$p = array();
434
+    $rs = $modx->db->select('id,content', $tbl_site_content);
435
+    $p = array();
436 436
     $target = array();
437
-	$dir = '';
438
-	while($row = $modx->db->getRow($rs)) {
439
-		$id = $row['id'];
440
-		$array = explode('<a href=', $row['content']);
441
-		$c = 0;
442
-		foreach($array as $v) {
443
-			if($v[0] === '"') {
444
-				$v = substr($v, 1);
445
-				list($href, $v) = explode('"', $v, 2);
446
-				$_ = $href;
447
-				if(strpos($_, $modx->config['site_url']) !== false) {
448
-					$_ = $modx->config['base_url'] . str_replace($modx->config['site_url'], '', $_);
449
-				}
450
-				if($_[0] === '/') {
451
-					$_ = substr($_, 1);
452
-				}
453
-				$_ = str_replace('/index.html', '.html', $_);
454
-				$level = substr_count($_, '../');
455
-				if(1 < $level) {
456
-					if(!isset($p[$id])) {
457
-						$p[$id] = $modx->getParentIds($id);
458
-					}
459
-					$k = array_keys($p[$id]);
460
-					while(0 < $level) {
461
-						$dir = array_shift($k);
462
-						$level--;
463
-					}
464
-					if($dir != '') {
465
-						$dir .= '/';
466
-					}
467
-				} else {
468
-					$dir = '';
469
-				}
470
-
471
-				$_ = trim($_, './');
472
-				if(strpos($_, '/') !== false) {
473
-					$_ = substr($_, strrpos($_, '/'));
474
-				}
475
-				$_ = $dir . str_replace('.html', '', $_);
476
-				if(!isset($target[$_])) {
477
-					$target[$_] = $modx->getIdFromAlias($_);
478
-				}
479
-				$target[$_] = trim($target[$_]);
480
-				if(!empty($target[$_])) {
481
-					$href = '[~' . $target[$_] . '~]';
482
-				}
483
-				$array[$c] = '<a href="' . $href . '"' . $v;
484
-			}
485
-			$c++;
486
-		}
487
-		$content = implode('', $array);
488
-		$f['content'] = $modx->db->escape($content);
489
-		$modx->db->update($f, $tbl_site_content, "id='{$id}'");
490
-	}
437
+    $dir = '';
438
+    while($row = $modx->db->getRow($rs)) {
439
+        $id = $row['id'];
440
+        $array = explode('<a href=', $row['content']);
441
+        $c = 0;
442
+        foreach($array as $v) {
443
+            if($v[0] === '"') {
444
+                $v = substr($v, 1);
445
+                list($href, $v) = explode('"', $v, 2);
446
+                $_ = $href;
447
+                if(strpos($_, $modx->config['site_url']) !== false) {
448
+                    $_ = $modx->config['base_url'] . str_replace($modx->config['site_url'], '', $_);
449
+                }
450
+                if($_[0] === '/') {
451
+                    $_ = substr($_, 1);
452
+                }
453
+                $_ = str_replace('/index.html', '.html', $_);
454
+                $level = substr_count($_, '../');
455
+                if(1 < $level) {
456
+                    if(!isset($p[$id])) {
457
+                        $p[$id] = $modx->getParentIds($id);
458
+                    }
459
+                    $k = array_keys($p[$id]);
460
+                    while(0 < $level) {
461
+                        $dir = array_shift($k);
462
+                        $level--;
463
+                    }
464
+                    if($dir != '') {
465
+                        $dir .= '/';
466
+                    }
467
+                } else {
468
+                    $dir = '';
469
+                }
470
+
471
+                $_ = trim($_, './');
472
+                if(strpos($_, '/') !== false) {
473
+                    $_ = substr($_, strrpos($_, '/'));
474
+                }
475
+                $_ = $dir . str_replace('.html', '', $_);
476
+                if(!isset($target[$_])) {
477
+                    $target[$_] = $modx->getIdFromAlias($_);
478
+                }
479
+                $target[$_] = trim($target[$_]);
480
+                if(!empty($target[$_])) {
481
+                    $href = '[~' . $target[$_] . '~]';
482
+                }
483
+                $array[$c] = '<a href="' . $href . '"' . $v;
484
+            }
485
+            $c++;
486
+        }
487
+        $content = implode('', $array);
488
+        $f['content'] = $modx->db->escape($content);
489
+        $modx->db->update($f, $tbl_site_content, "id='{$id}'");
490
+    }
491 491
 }
Please login to merge, or discard this patch.
manager/actions/resources/mgrResources.class.php 1 patch
Indentation   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
     /**
8 8
      * @var array
9 9
      */
10
-	public $types = array();
10
+    public $types = array();
11 11
     /**
12 12
      * @var array
13 13
      */
@@ -25,73 +25,73 @@  discard block
 block discarded – undo
25 25
      * mgrResources constructor.
26 26
      */
27 27
     public function __construct() {
28
-		$this->setTypes();
29
-		$this->queryItemsFromDB();
30
-		$this->prepareCategoryArrays();
31
-	}
28
+        $this->setTypes();
29
+        $this->queryItemsFromDB();
30
+        $this->prepareCategoryArrays();
31
+    }
32 32
 
33 33
     /**
34 34
      * @return void
35 35
      */
36 36
     public function setTypes() {
37
-		global $_lang;
38
-		$this->types['site_templates']    = array(
39
-			'title'=>$_lang["manage_templates"],
40
-			'actions'=>array( 'edit'=>array(16,'edit_template'), 'duplicate'=>array(96,'new_template'), 'remove'=>array(21,'delete_template') ),
41
-			'permissions'=>array('new_template','edit_template'),
42
-			'name'=>'templatename'
43
-		);
44
-		$this->types['site_tmplvars']     = array(
45
-			'title'=>$_lang["tmplvars"],
46
-			'actions'=>array('edit'=>array(301,'edit_template'), 'duplicate'=>array(304,'edit_template'), 'remove'=>array(303,'edit_template')),
47
-			'permissions'=>array('new_template','edit_template'),
48
-		);
49
-		$this->types['site_htmlsnippets'] = array(
50
-			'title'=>$_lang["manage_htmlsnippets"],
51
-			'actions'=>array('edit'=>array(78,'edit_chunk'), 'duplicate'=>array(97,'new_chunk'), 'remove'=>array(80,'delete_chunk')),
52
-			'permissions'=>array('new_chunk','edit_chunk'),
53
-		);
54
-		$this->types['site_snippets']     = array(
55
-			'title'=>$_lang["manage_snippets"],
56
-			'actions'=>array('edit'=>array(22,'edit_snippet'), 'duplicate'=>array(98,'new_snippet'), 'remove'=>array(25,'delete_snippet')),
57
-			'permissions'=>array('new_snippet','edit_snippet'),
58
-		);
59
-		$this->types['site_plugins']      = array(
60
-			'title'=>$_lang["manage_plugins"],
61
-			'actions'=>array('edit'=>array(102,'edit_plugin'), 'duplicate'=>array(105,'new_plugin'), 'remove'=>array(104,'delete_plugin')),
62
-			'permissions'=>array('new_plugin','edit_plugin'),
63
-		);
64
-		$this->types['site_modules']      = array(
65
-			'title'=>$_lang["manage_modules"],
66
-			'actions'=>array('edit'=>array(108,'edit_module'), 'duplicate'=>array(111,'new_module'), 'remove'=>array(110,'delete_module')),
67
-			'permissions'=>array('new_module','edit_module'),
68
-		);
69
-	}
37
+        global $_lang;
38
+        $this->types['site_templates']    = array(
39
+            'title'=>$_lang["manage_templates"],
40
+            'actions'=>array( 'edit'=>array(16,'edit_template'), 'duplicate'=>array(96,'new_template'), 'remove'=>array(21,'delete_template') ),
41
+            'permissions'=>array('new_template','edit_template'),
42
+            'name'=>'templatename'
43
+        );
44
+        $this->types['site_tmplvars']     = array(
45
+            'title'=>$_lang["tmplvars"],
46
+            'actions'=>array('edit'=>array(301,'edit_template'), 'duplicate'=>array(304,'edit_template'), 'remove'=>array(303,'edit_template')),
47
+            'permissions'=>array('new_template','edit_template'),
48
+        );
49
+        $this->types['site_htmlsnippets'] = array(
50
+            'title'=>$_lang["manage_htmlsnippets"],
51
+            'actions'=>array('edit'=>array(78,'edit_chunk'), 'duplicate'=>array(97,'new_chunk'), 'remove'=>array(80,'delete_chunk')),
52
+            'permissions'=>array('new_chunk','edit_chunk'),
53
+        );
54
+        $this->types['site_snippets']     = array(
55
+            'title'=>$_lang["manage_snippets"],
56
+            'actions'=>array('edit'=>array(22,'edit_snippet'), 'duplicate'=>array(98,'new_snippet'), 'remove'=>array(25,'delete_snippet')),
57
+            'permissions'=>array('new_snippet','edit_snippet'),
58
+        );
59
+        $this->types['site_plugins']      = array(
60
+            'title'=>$_lang["manage_plugins"],
61
+            'actions'=>array('edit'=>array(102,'edit_plugin'), 'duplicate'=>array(105,'new_plugin'), 'remove'=>array(104,'delete_plugin')),
62
+            'permissions'=>array('new_plugin','edit_plugin'),
63
+        );
64
+        $this->types['site_modules']      = array(
65
+            'title'=>$_lang["manage_modules"],
66
+            'actions'=>array('edit'=>array(108,'edit_module'), 'duplicate'=>array(111,'new_module'), 'remove'=>array(110,'delete_module')),
67
+            'permissions'=>array('new_module','edit_module'),
68
+        );
69
+    }
70 70
 
71 71
     /**
72 72
      * @return void
73 73
      */
74 74
     public function queryItemsFromDB() {
75
-		foreach($this->types as $resourceTable=>$type) {
76
-			if($this->hasAnyPermissions($type['permissions'])) {
77
-				$nameField = isset($type['name']) ? $type['name'] : 'name';
78
-				$this->items[$resourceTable] = $this->queryResources($resourceTable, $nameField);
79
-		   }
80
-		 }
81
-	}
75
+        foreach($this->types as $resourceTable=>$type) {
76
+            if($this->hasAnyPermissions($type['permissions'])) {
77
+                $nameField = isset($type['name']) ? $type['name'] : 'name';
78
+                $this->items[$resourceTable] = $this->queryResources($resourceTable, $nameField);
79
+            }
80
+            }
81
+    }
82 82
 
83 83
     /**
84 84
      * @param array $permissions
85 85
      * @return bool
86 86
      */
87 87
     public function hasAnyPermissions($permissions) {
88
-		$modx = DocumentParser::getInstance();
88
+        $modx = DocumentParser::getInstance();
89 89
 
90
-		foreach($permissions as $p)
91
-			if($modx->hasPermission($p)) return true;
90
+        foreach($permissions as $p)
91
+            if($modx->hasPermission($p)) return true;
92 92
 
93
-		return false;
94
-	}
93
+        return false;
94
+    }
95 95
 
96 96
     /**
97 97
      * @param string $resourceTable
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
      * @return array|bool
100 100
      */
101 101
     public function queryResources($resourceTable, $nameField = 'name') {
102
-		$modx = DocumentParser::getInstance(); global $_lang;
102
+        $modx = DocumentParser::getInstance(); global $_lang;
103 103
 
104 104
         $allowed = array(
105 105
             'site_htmlsnippets',
@@ -107,59 +107,59 @@  discard block
 block discarded – undo
107 107
             'site_plugins',
108 108
             'site_modules'
109 109
         );
110
-		$pluginsql = !empty($resourceTable) && in_array($resourceTable, $allowed) ? $resourceTable . '.disabled, ' : '';
111
-
112
-		$tvsql  = '';
113
-		$tvjoin = '';
114
-		if ($resourceTable === 'site_tmplvars') {
115
-			$tvsql    = 'site_tmplvars.caption, ';
116
-			$tvjoin   = sprintf('LEFT JOIN %s AS stt ON site_tmplvars.id=stt.tmplvarid GROUP BY site_tmplvars.id,reltpl', $modx->getFullTableName('site_tmplvar_templates'));
117
-			$sttfield = 'IF(stt.templateid,1,0) AS reltpl,';
118
-		}
119
-		else $sttfield = '';
120
-
121
-		$selectableTemplates = $resourceTable === 'site_templates' ? "{$resourceTable}.selectable, " : "";
122
-
123
-		$rs = $modx->db->select(
124
-			"{$sttfield} {$pluginsql} {$tvsql} {$resourceTable}.{$nameField} as name, {$resourceTable}.id, {$resourceTable}.description, {$resourceTable}.locked, {$selectableTemplates}IF(isnull(categories.category),'{$_lang['no_category']}',categories.category) as category, categories.id as catid",
125
-			$modx->getFullTableName($resourceTable) . " AS {$resourceTable}
110
+        $pluginsql = !empty($resourceTable) && in_array($resourceTable, $allowed) ? $resourceTable . '.disabled, ' : '';
111
+
112
+        $tvsql  = '';
113
+        $tvjoin = '';
114
+        if ($resourceTable === 'site_tmplvars') {
115
+            $tvsql    = 'site_tmplvars.caption, ';
116
+            $tvjoin   = sprintf('LEFT JOIN %s AS stt ON site_tmplvars.id=stt.tmplvarid GROUP BY site_tmplvars.id,reltpl', $modx->getFullTableName('site_tmplvar_templates'));
117
+            $sttfield = 'IF(stt.templateid,1,0) AS reltpl,';
118
+        }
119
+        else $sttfield = '';
120
+
121
+        $selectableTemplates = $resourceTable === 'site_templates' ? "{$resourceTable}.selectable, " : "";
122
+
123
+        $rs = $modx->db->select(
124
+            "{$sttfield} {$pluginsql} {$tvsql} {$resourceTable}.{$nameField} as name, {$resourceTable}.id, {$resourceTable}.description, {$resourceTable}.locked, {$selectableTemplates}IF(isnull(categories.category),'{$_lang['no_category']}',categories.category) as category, categories.id as catid",
125
+            $modx->getFullTableName($resourceTable) . " AS {$resourceTable}
126 126
 	            LEFT JOIN " . $modx->getFullTableName('categories') . " AS categories ON {$resourceTable}.category = categories.id {$tvjoin}",
127
-			"",
128
-			"category,name"
129
-		);
130
-		$limit = $modx->db->getRecordCount($rs);
127
+            "",
128
+            "category,name"
129
+        );
130
+        $limit = $modx->db->getRecordCount($rs);
131 131
 
132
-		if($limit < 1) return false;
132
+        if($limit < 1) return false;
133 133
 
134
-		$result = array();
135
-		while ($row = $modx->db->getRow($rs)) {
136
-			$result[] = $row;
137
-		}
138
-		return $result;
139
-	}
134
+        $result = array();
135
+        while ($row = $modx->db->getRow($rs)) {
136
+            $result[] = $row;
137
+        }
138
+        return $result;
139
+    }
140 140
 
141 141
     /**
142 142
      * @return void
143 143
      */
144 144
     public function prepareCategoryArrays() {
145
-		foreach($this->items as $type=>$items) {
146
-			foreach((array)$items as $item) {
147
-				$catid = $item['catid'] ? $item['catid'] : 0;
148
-				$this->categories[$catid] = $item['category'];
149
-
150
-				$item['type'] = $type;
151
-				$this->itemsPerCategory[$catid][] = $item;
152
-			}
153
-		}
154
-
155
-		// Sort categories by name
156
-		natcasesort($this->categories);
157
-
158
-		// Now sort by name
159
-		foreach($this->itemsPerCategory as $catid=>$items) {
160
-			usort($this->itemsPerCategory[$catid], function ($a, $b) {
161
-				return strcasecmp($a['name'], $b['name']);
162
-			});
163
-		}
164
-	}
145
+        foreach($this->items as $type=>$items) {
146
+            foreach((array)$items as $item) {
147
+                $catid = $item['catid'] ? $item['catid'] : 0;
148
+                $this->categories[$catid] = $item['category'];
149
+
150
+                $item['type'] = $type;
151
+                $this->itemsPerCategory[$catid][] = $item;
152
+            }
153
+        }
154
+
155
+        // Sort categories by name
156
+        natcasesort($this->categories);
157
+
158
+        // Now sort by name
159
+        foreach($this->itemsPerCategory as $catid=>$items) {
160
+            usort($this->itemsPerCategory[$catid], function ($a, $b) {
161
+                return strcasecmp($a['name'], $b['name']);
162
+            });
163
+        }
164
+    }
165 165
 }
Please login to merge, or discard this patch.
manager/actions/resources/functions.inc.php 1 patch
Indentation   +165 added lines, -165 removed lines patch added patch discarded remove patch
@@ -1,14 +1,14 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 
6 6
 $tpl = array(
7
-	'viewForm' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_viewForm.tpl'),
8
-	'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
9
-	'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
10
-	'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
11
-	'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl')
7
+    'viewForm' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_viewForm.tpl'),
8
+    'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
9
+    'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
10
+    'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
11
+    'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl')
12 12
 );
13 13
 
14 14
 /**
@@ -17,9 +17,9 @@  discard block
 block discarded – undo
17 17
  * @return string
18 18
  */
19 19
 function parsePh($tpl, $ph) {
20
-	$modx = DocumentParser::getInstance(); global $_lang;
21
-	$tpl = $modx->parseText($tpl, $_lang, '[%', '%]');
22
-	return $modx->parseText($tpl, $ph);
20
+    $modx = DocumentParser::getInstance(); global $_lang;
21
+    $tpl = $modx->parseText($tpl, $_lang, '[%', '%]');
22
+    return $modx->parseText($tpl, $ph);
23 23
 }
24 24
 
25 25
 /**
@@ -27,11 +27,11 @@  discard block
 block discarded – undo
27 27
  * @return string
28 28
  */
29 29
 function renderViewSwitchButtons($cssId) {
30
-	$modx = DocumentParser::getInstance(); global $_lang, $tpl;
30
+    $modx = DocumentParser::getInstance(); global $_lang, $tpl;
31 31
 
32
-	return parsePh($tpl['viewForm'], array(
33
-		'cssId' => $cssId
34
-	));
32
+    return parsePh($tpl['viewForm'], array(
33
+        'cssId' => $cssId
34
+    ));
35 35
 }
36 36
 
37 37
 /**
@@ -40,52 +40,52 @@  discard block
 block discarded – undo
40 40
  * @return string
41 41
  */
42 42
 function createResourceList($resourceTable, $resources) {
43
-	$modx = DocumentParser::getInstance(); global $_lang, $_style, $modx_textdir, $tpl;
43
+    $modx = DocumentParser::getInstance(); global $_lang, $_style, $modx_textdir, $tpl;
44 44
 
45
-	$items = isset($resources->items[$resourceTable]) ? $resources->items[$resourceTable] : false;
45
+    $items = isset($resources->items[$resourceTable]) ? $resources->items[$resourceTable] : false;
46 46
 
47
-	if( ! is_array($items) || empty($items)) {
48
-		return $_lang['no_results'];
49
-	}
47
+    if( ! is_array($items) || empty($items)) {
48
+        return $_lang['no_results'];
49
+    }
50 50
 
51
-	// Prepare elements- and categories-list
52
-	$elements = array();
53
-	$categories = array();
54
-	foreach($items as $row) {
55
-		$catid = $row['catid'] ? $row['catid'] : 0;
56
-		$categories[$catid] = array('name' => stripslashes($row['category']));
57
-		$elements[$catid][] = prepareElementRowPh($row, $resourceTable, $resources);
58
-	}
51
+    // Prepare elements- and categories-list
52
+    $elements = array();
53
+    $categories = array();
54
+    foreach($items as $row) {
55
+        $catid = $row['catid'] ? $row['catid'] : 0;
56
+        $categories[$catid] = array('name' => stripslashes($row['category']));
57
+        $elements[$catid][] = prepareElementRowPh($row, $resourceTable, $resources);
58
+    }
59 59
 
60
-	// Now render categories / panel-collapse
61
-	$panelGroup = '';
62
-	foreach($elements as $catid => $elList) {
63
-		// Add panel-heading / category-collapse to output
64
-		$panelGroup .= parsePh($tpl['panelHeading'], array(
65
-			'tab' => $resourceTable,
66
-			'category' => $categories[$catid]['name'],
67
-			'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
68
-			'catid' => $catid,
69
-		));
60
+    // Now render categories / panel-collapse
61
+    $panelGroup = '';
62
+    foreach($elements as $catid => $elList) {
63
+        // Add panel-heading / category-collapse to output
64
+        $panelGroup .= parsePh($tpl['panelHeading'], array(
65
+            'tab' => $resourceTable,
66
+            'category' => $categories[$catid]['name'],
67
+            'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
68
+            'catid' => $catid,
69
+        ));
70 70
 
71
-		// Prepare content for panel-collapse
72
-		$panelCollapse = '';
73
-		foreach($elList as $el) {
74
-			$panelCollapse .= parsePh($tpl['elementsRow'], $el);
75
-		}
71
+        // Prepare content for panel-collapse
72
+        $panelCollapse = '';
73
+        foreach($elList as $el) {
74
+            $panelCollapse .= parsePh($tpl['elementsRow'], $el);
75
+        }
76 76
 
77
-		// Add panel-collapse with elements to output
78
-		$panelGroup .= parsePh($tpl['panelCollapse'], array(
79
-			'tab' => $resourceTable,
80
-			'catid' => $catid,
81
-			'wrapper' => $panelCollapse,
82
-		));
83
-	}
77
+        // Add panel-collapse with elements to output
78
+        $panelGroup .= parsePh($tpl['panelCollapse'], array(
79
+            'tab' => $resourceTable,
80
+            'catid' => $catid,
81
+            'wrapper' => $panelCollapse,
82
+        ));
83
+    }
84 84
 
85
-	return parsePh($tpl['panelGroup'], array(
86
-		'resourceTable' => $resourceTable,
87
-		'wrapper' => $panelGroup
88
-	));
85
+    return parsePh($tpl['panelGroup'], array(
86
+        'resourceTable' => $resourceTable,
87
+        'wrapper' => $panelGroup
88
+    ));
89 89
 }
90 90
 
91 91
 /**
@@ -93,54 +93,54 @@  discard block
 block discarded – undo
93 93
  * @return string
94 94
  */
95 95
 function createCombinedView($resources) {
96
-	$modx = DocumentParser::getInstance(); global $_lang, $_style, $modx_textdir;
96
+    $modx = DocumentParser::getInstance(); global $_lang, $_style, $modx_textdir;
97 97
 
98
-	$itemsPerCategory = isset($resources->itemsPerCategory) ? $resources->itemsPerCategory : false;
99
-	$types = isset($resources->types) ? $resources->types : false;
100
-	$categories = isset($resources->categories) ? $resources->categories : false;
98
+    $itemsPerCategory = isset($resources->itemsPerCategory) ? $resources->itemsPerCategory : false;
99
+    $types = isset($resources->types) ? $resources->types : false;
100
+    $categories = isset($resources->categories) ? $resources->categories : false;
101 101
 
102
-	if(!$itemsPerCategory) {
103
-		return $_lang['no_results'];
104
-	}
102
+    if(!$itemsPerCategory) {
103
+        return $_lang['no_results'];
104
+    }
105 105
 
106
-	$tpl = array(
107
-		'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
108
-		'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
109
-		'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
110
-		'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl'),
111
-	);
106
+    $tpl = array(
107
+        'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
108
+        'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
109
+        'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
110
+        'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl'),
111
+    );
112 112
 
113
-	// Easily loop through $itemsPerCategory-Array
114
-	$panelGroup = '';
115
-	foreach($categories as $catid => $category) {
116
-		// Prepare collapse content / elements-list
117
-		$panelCollapse = '';
118
-		foreach($itemsPerCategory[$catid] as $el) {
119
-			$resourceTable = $el['type'];
120
-			$ph = prepareElementRowPh($el, $resourceTable, $resources);
121
-			$panelCollapse .= parsePh($tpl['elementsRow'], $ph);
122
-		}
113
+    // Easily loop through $itemsPerCategory-Array
114
+    $panelGroup = '';
115
+    foreach($categories as $catid => $category) {
116
+        // Prepare collapse content / elements-list
117
+        $panelCollapse = '';
118
+        foreach($itemsPerCategory[$catid] as $el) {
119
+            $resourceTable = $el['type'];
120
+            $ph = prepareElementRowPh($el, $resourceTable, $resources);
121
+            $panelCollapse .= parsePh($tpl['elementsRow'], $ph);
122
+        }
123 123
 
124
-		// Add panel-heading / button
125
-		$panelGroup .= parsePh($tpl['panelHeading'], array(
126
-			'tab' => 'categories_list',
127
-			'category' => $categories[$catid],
128
-			'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
129
-			'catid' => $catid,
130
-		));
124
+        // Add panel-heading / button
125
+        $panelGroup .= parsePh($tpl['panelHeading'], array(
126
+            'tab' => 'categories_list',
127
+            'category' => $categories[$catid],
128
+            'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
129
+            'catid' => $catid,
130
+        ));
131 131
 
132
-		// Add panel
133
-		$panelGroup .= parsePh($tpl['panelCollapse'], array(
134
-			'tab' => 'categories_list',
135
-			'catid' => $catid,
136
-			'wrapper' => $panelCollapse,
137
-		));
138
-	}
132
+        // Add panel
133
+        $panelGroup .= parsePh($tpl['panelCollapse'], array(
134
+            'tab' => 'categories_list',
135
+            'catid' => $catid,
136
+            'wrapper' => $panelCollapse,
137
+        ));
138
+    }
139 139
 
140
-	return parsePh($tpl['panelGroup'], array(
141
-		'resourceTable' => 'categories_list',
142
-		'wrapper' => $panelGroup
143
-	));
140
+    return parsePh($tpl['panelGroup'], array(
141
+        'resourceTable' => 'categories_list',
142
+        'wrapper' => $panelGroup
143
+    ));
144 144
 }
145 145
 
146 146
 /**
@@ -150,13 +150,13 @@  discard block
 block discarded – undo
150 150
  * @return array
151 151
  */
152 152
 function prepareElementRowPh($row, $resourceTable, $resources) {
153
-	$modx = DocumentParser::getInstance(); global $modx_textdir, $_style, $_lang;
153
+    $modx = DocumentParser::getInstance(); global $modx_textdir, $_style, $_lang;
154 154
 
155
-	$types = isset($resources->types[$resourceTable]) ? $resources->types[$resourceTable] : false;
155
+    $types = isset($resources->types[$resourceTable]) ? $resources->types[$resourceTable] : false;
156 156
 
157
-	$_lang["confirm_delete"] = $_lang["delete"];
157
+    $_lang["confirm_delete"] = $_lang["delete"];
158 158
 
159
-	switch($resourceTable){
159
+    switch($resourceTable){
160 160
         case 'site_templates':
161 161
             $class = $row['selectable'] ? '' : 'disabledPlugin';
162 162
             $lockElementType = 1;
@@ -190,77 +190,77 @@  discard block
 block discarded – undo
190 190
             return array();
191 191
     }
192 192
 
193
-	// Prepare displaying user-locks
194
-	$lockedByUser = '';
195
-	$rowLock = $modx->elementIsLocked($lockElementType, $row['id'], true);
196
-	if($rowLock && $modx->hasPermission('display_locks')) {
197
-		if($rowLock['sid'] == $modx->sid) {
198
-			$title = $modx->parseText($_lang["lock_element_editing"], array(
199
-				'element_type' => $_lang["lock_element_type_" . $lockElementType],
200
-				'lasthit_df' => $rowLock['lasthit_df']
201
-			));
202
-			$lockedByUser = '<span title="' . $title . '" class="editResource" style="cursor:context-menu;">' . $_style['tree_preview_resource'] . '</span>&nbsp;';
203
-		} else {
204
-			$title = $modx->parseText($_lang["lock_element_locked_by"], array(
205
-				'element_type' => $_lang["lock_element_type_" . $lockElementType],
206
-				'username' => $rowLock['username'],
207
-				'lasthit_df' => $rowLock['lasthit_df']
208
-			));
209
-			if($modx->hasPermission('remove_locks')) {
210
-				$lockedByUser = '<a href="javascript:;" onclick="unlockElement(' . $lockElementType . ', ' . $row['id'] . ', this);return false;" title="' . $title . '" class="lockedResource"><i class="' . $_style['icons_secured'] . '"></i></a>';
211
-			} else {
212
-				$lockedByUser = '<span title="' . $title . '" class="lockedResource" style="cursor:context-menu;"><i class="' . $_style['icons_secured'] . '"></i></span>';
213
-			}
214
-		}
215
-	}
216
-	if($lockedByUser) {
217
-		$lockedByUser = '<div class="lockCell">' . $lockedByUser . '</div>';
218
-	}
193
+    // Prepare displaying user-locks
194
+    $lockedByUser = '';
195
+    $rowLock = $modx->elementIsLocked($lockElementType, $row['id'], true);
196
+    if($rowLock && $modx->hasPermission('display_locks')) {
197
+        if($rowLock['sid'] == $modx->sid) {
198
+            $title = $modx->parseText($_lang["lock_element_editing"], array(
199
+                'element_type' => $_lang["lock_element_type_" . $lockElementType],
200
+                'lasthit_df' => $rowLock['lasthit_df']
201
+            ));
202
+            $lockedByUser = '<span title="' . $title . '" class="editResource" style="cursor:context-menu;">' . $_style['tree_preview_resource'] . '</span>&nbsp;';
203
+        } else {
204
+            $title = $modx->parseText($_lang["lock_element_locked_by"], array(
205
+                'element_type' => $_lang["lock_element_type_" . $lockElementType],
206
+                'username' => $rowLock['username'],
207
+                'lasthit_df' => $rowLock['lasthit_df']
208
+            ));
209
+            if($modx->hasPermission('remove_locks')) {
210
+                $lockedByUser = '<a href="javascript:;" onclick="unlockElement(' . $lockElementType . ', ' . $row['id'] . ', this);return false;" title="' . $title . '" class="lockedResource"><i class="' . $_style['icons_secured'] . '"></i></a>';
211
+            } else {
212
+                $lockedByUser = '<span title="' . $title . '" class="lockedResource" style="cursor:context-menu;"><i class="' . $_style['icons_secured'] . '"></i></span>';
213
+            }
214
+        }
215
+    }
216
+    if($lockedByUser) {
217
+        $lockedByUser = '<div class="lockCell">' . $lockedByUser . '</div>';
218
+    }
219 219
 
220
-	// Caption
221
-	if($resourceTable == 'site_tmplvars') {
222
-		$caption = !empty($row['description']) ? ' ' . $row['caption'] . ' &nbsp; <small>(' . $row['description'] . ')</small>' : ' ' . $row['caption'];
223
-	} else {
224
-		$caption = !empty($row['description']) ? ' ' . $row['description'] : '';
225
-	}
220
+    // Caption
221
+    if($resourceTable == 'site_tmplvars') {
222
+        $caption = !empty($row['description']) ? ' ' . $row['caption'] . ' &nbsp; <small>(' . $row['description'] . ')</small>' : ' ' . $row['caption'];
223
+    } else {
224
+        $caption = !empty($row['description']) ? ' ' . $row['description'] : '';
225
+    }
226 226
 
227
-	// Special marks
228
-	$tplInfo = array();
229
-	if($row['locked']) {
230
-		$tplInfo[] = $_lang['locked'];
231
-	}
232
-	if($row['id'] == $modx->config['default_template'] && $resourceTable == 'site_templates') {
233
-		$tplInfo[] = $_lang['defaulttemplate_title'];
234
-	}
235
-	$marks = !empty($tplInfo) ? ' <em>(' . implode(', ', $tplInfo) . ')</em>' : '';
227
+    // Special marks
228
+    $tplInfo = array();
229
+    if($row['locked']) {
230
+        $tplInfo[] = $_lang['locked'];
231
+    }
232
+    if($row['id'] == $modx->config['default_template'] && $resourceTable == 'site_templates') {
233
+        $tplInfo[] = $_lang['defaulttemplate_title'];
234
+    }
235
+    $marks = !empty($tplInfo) ? ' <em>(' . implode(', ', $tplInfo) . ')</em>' : '';
236 236
 
237
-	/* row buttons */
238
-	$buttons = '';
239
-	if($modx->hasPermission($types['actions']['edit'][1])) {
240
-		$buttons .= '<li><a title="' . $_lang["edit_resource"] . '" href="index.php?a=' . $types['actions']['edit'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-edit fa-fw"></i></a></li>';
241
-	}
242
-	if($modx->hasPermission($types['actions']['duplicate'][1])) {
243
-		$buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_duplicate_record"] . '\')" title="' . $_lang["resource_duplicate"] . '" href="index.php?a=' . $types['actions']['duplicate'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-clone fa-fw"></i></a></li>';
244
-	}
245
-	if($modx->hasPermission($types['actions']['remove'][1])) {
246
-		$buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_delete"] . '\')" title="' . $_lang["delete"] . '" href="index.php?a=' . $types['actions']['remove'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-trash fa-fw"></i></a></li>';
247
-	}
248
-	$buttons = $buttons ? '<div class="btnCell"><ul class="elements_buttonbar">' . $buttons . '</ul></div>' : '';
237
+    /* row buttons */
238
+    $buttons = '';
239
+    if($modx->hasPermission($types['actions']['edit'][1])) {
240
+        $buttons .= '<li><a title="' . $_lang["edit_resource"] . '" href="index.php?a=' . $types['actions']['edit'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-edit fa-fw"></i></a></li>';
241
+    }
242
+    if($modx->hasPermission($types['actions']['duplicate'][1])) {
243
+        $buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_duplicate_record"] . '\')" title="' . $_lang["resource_duplicate"] . '" href="index.php?a=' . $types['actions']['duplicate'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-clone fa-fw"></i></a></li>';
244
+    }
245
+    if($modx->hasPermission($types['actions']['remove'][1])) {
246
+        $buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_delete"] . '\')" title="' . $_lang["delete"] . '" href="index.php?a=' . $types['actions']['remove'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-trash fa-fw"></i></a></li>';
247
+    }
248
+    $buttons = $buttons ? '<div class="btnCell"><ul class="elements_buttonbar">' . $buttons . '</ul></div>' : '';
249 249
 
250
-	$catid = $row['catid'] ? $row['catid'] : 0;
250
+    $catid = $row['catid'] ? $row['catid'] : 0;
251 251
 
252
-	// Placeholders for elements-row
253
-	return array(
254
-		'class' => $class ? ' class="' . $class . '"' : '',
255
-		'lockedByUser' => $lockedByUser,
256
-		'name' => $row['name'],
257
-		'caption' => $caption,
258
-		'buttons' => $buttons,
259
-		'marks' => $marks,
260
-		'id' => $row['id'],
261
-		'resourceTable' => $resourceTable,
262
-		'actionEdit' => $types['actions']['edit'][0],
263
-		'catid' => $catid,
264
-		'textdir' => $modx_textdir ? '&rlm;' : '',
265
-	);
252
+    // Placeholders for elements-row
253
+    return array(
254
+        'class' => $class ? ' class="' . $class . '"' : '',
255
+        'lockedByUser' => $lockedByUser,
256
+        'name' => $row['name'],
257
+        'caption' => $caption,
258
+        'buttons' => $buttons,
259
+        'marks' => $marks,
260
+        'id' => $row['id'],
261
+        'resourceTable' => $resourceTable,
262
+        'actionEdit' => $types['actions']['edit'][0],
263
+        'catid' => $catid,
264
+        'textdir' => $modx_textdir ? '&rlm;' : '',
265
+    );
266 266
 }
Please login to merge, or discard this patch.