Completed
Push — master ( b3fce7...c570af )
by Michael
02:32
created
include/projax/classes/Scriptaculous.php 2 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -248,7 +248,7 @@
 block discarded – undo
248 248
     /**
249 249
      * @param $field_id
250 250
      * @param $options
251
-     * @return mixed
251
+     * @return string
252 252
      */
253 253
     public function auto_complete_field($field_id, $options)
254 254
     {
Please login to merge, or discard this patch.
Indentation   +317 added lines, -317 removed lines patch added patch discarded remove patch
@@ -15,322 +15,322 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class Scriptaculous extends Prototype
17 17
 {
18
-    public $TOGGLE_EFFECTS = ['toggle_appear', 'toggle_slide', 'toggle_blind'];
19
-
20
-    /**
21
-     * Scriptaculous constructor.
22
-     */
23
-    public function __construct()
24
-    {
25
-    }
26
-
27
-    /**
28
-     * @param         $element_id
29
-     * @param  null   $options
30
-     * @return string
31
-     */
32
-    public function dragable_element($element_id, $options = null)
33
-    {
34
-        return $this->tag($this->_dragable_element_js($element_id, $options));
35
-    }
36
-
37
-    /**
38
-     * @param         $element_id
39
-     * @param  null   $options
40
-     * @return string
41
-     */
42
-    public function drop_receiving_element($element_id, $options = null)
43
-    {
44
-        return $this->tag($this->_drop_receiving_element($element_id, $options));
45
-    }
46
-
47
-    /**
48
-     * @param         $name
49
-     * @param  bool   $element_id
50
-     * @param  null   $js_options
51
-     * @return string
52
-     */
53
-    public function visual_effect($name, $element_id = false, $js_options = null)
54
-    {
55
-        $element = $element_id ? "'$element_id'" : 'element';
56
-
57
-        $js_queue = '';
58
-        if (isset($js_options) && is_array($js_options['queue'])) {
59
-        } elseif (isset($js_options)) {
60
-            $js_queue = "'$js_options'";
61
-        }
62
-
63
-        if (in_array($name, $this->TOGGLE_EFFECTS)) {
64
-            return "Effect.toggle($element,'" . str_replace('toggle_', '', $name) . "'," . $this->_options_for_javascript($js_options) . ')';
65
-        } else {
66
-            return 'new Effect.' . ucwords($name) . "($element," . $this->_options_for_javascript($js_options) . ')';
67
-        }
68
-    }
69
-
70
-    /**
71
-     * @param         $element_id
72
-     * @param  null   $options
73
-     * @return string
74
-     */
75
-    public function sortabe_element($element_id, $options = null)
76
-    {
77
-        return $this->tag($this->_sortabe_element($element_id, $options));
78
-    }
79
-
80
-    /////////////////////////////////////////////////////////////////////////////////////
81
-    //                             Private functions
82
-    /////////////////////////////////////////////////////////////////////////////////////
83
-
84
-    /**
85
-     * @param $element_id
86
-     * @param $options
87
-     * @return string
88
-     */
89
-
90
-    public function _sortabe_element($element_id, $options)
91
-    {
92
-        //if (isset($options['with']))
93
-        {
94
-            $options['with'] = "Sortable.serialize('$element_id')";
95
-        }
96
-
97
-        //if (isset($option['onUpdate']))
98
-        {
99
-            $options['onUpdate'] = 'function(){' . $this->remote_function($options) . '}';
100
-        }
101
-
102
-        foreach ($options as $var => $val) {
103
-            if (in_array($var, $this->AJAX_OPTIONS)) {
104
-                unset($options[$var]);
105
-            }
106
-        }
107
-
108
-        $arr = ['tag', 'overlap', 'contraint', 'handle'];
109
-
110
-        foreach ($arr as $var) {
111
-            if (isset($options[$var])) {
112
-                $options[$var] = "'" . $options[$var] . "'";
113
-            }
114
-        }
115
-
116
-        if (isset($options['containment'])) {
117
-            $options['containment'] = $this->_array_or_string_for_javascript($options['containment']);
118
-        }
119
-
120
-        if (isset($options['only'])) {
121
-            $options['only'] = $this->_array_or_string_for_javascript($options['only']);
122
-        }
123
-
124
-        return "Sortable.create('$element_id'," . $this->_options_for_javascript($options) . ')';
125
-    }
126
-
127
-    /**
128
-     * @param $element_id
129
-     * @param $options
130
-     * @return string
131
-     */
132
-    public function _dragable_element_js($element_id, $options)
133
-    {
134
-        return 'new Draggable(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
135
-    }
136
-
137
-    /**
138
-     * @param $element_id
139
-     * @param $options
140
-     * @return string
141
-     */
142
-    public function _drop_receiving_element($element_id, $options)
143
-    {
144
-
145
-        //if (isset($options['with']))
146
-        {
147
-            $options['with'] = '\'id=\' + encodeURIComponent(element.id)';
148
-        }
149
-
150
-        //if (isset($option['onDrop']))
151
-        {
152
-            $options['onDrop'] = 'function(element){' . $this->remote_function($options) . '}';
153
-        }
154
-
155
-        if (is_array($options)) {
156
-            foreach ($options as $var => $val) {
157
-                if (in_array($var, $this->AJAX_OPTIONS)) {
158
-                    unset($options[$var]);
159
-                }
160
-            }
161
-        }
162
-
163
-        if (isset($options['accept'])) {
164
-            $options['accept'] = $this->_array_or_string_for_javascript($options['accept']);
165
-        }
166
-
167
-        if (isset($options['hoverclass'])) {
168
-            $options['hoverclass'] = "'" . $options['hoverclass'] . "'";
169
-        }
170
-
171
-        return 'Droppables.add(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
172
-    }
173
-
174
-    /////////////////////////////////////////////////////////////////////////////////////
175
-    //                            Merged Javascript macro
176
-    /////////////////////////////////////////////////////////////////////////////////////
177
-
178
-    /**
179
-     * @param         $field_id
180
-     * @param         $options
181
-     * @param  bool   $tag
182
-     * @return string
183
-     */
184
-    public function in_place_editor($field_id, $options, $tag = true)
185
-    {
186
-        $function = 'new Ajax.InPlaceEditor(';
187
-        $function .= "'$field_id', ";
188
-        $function .= "'" . $options['url'] . "'";
189
-
190
-        $js_options = [];
191
-        if (isset($options['cancel_text'])) {
192
-            $js_options['cancelText'] = $options['cancel_text'];
193
-        }
194
-        if (isset($options['save_text'])) {
195
-            $js_options['okText'] = $options['save_text'];
196
-        }
197
-        if (isset($options['loading_text'])) {
198
-            $js_options['loadingText'] = $options['loading_text'];
199
-        }
200
-        if (isset($options['rows'])) {
201
-            $js_options['rows'] = $options['rows'];
202
-        }
203
-        if (isset($options['cols'])) {
204
-            $js_options['cols'] = $options['cols'];
205
-        }
206
-        if (isset($options['size'])) {
207
-            $js_options['size'] = $options['size'];
208
-        }
209
-        if (isset($options['external_control'])) {
210
-            $js_options['externalControl'] = "'" . $options['external_control'] . "'";
211
-        }
212
-        if (isset($options['load_text_url'])) {
213
-            $js_options['loadTextURL'] = "'" . $options['load_text_url'] . "'";
214
-        }
215
-        if (isset($options['options'])) {
216
-            $js_options['ajaxOptions'] = $options['options'];
217
-        }
218
-        if (isset($options['script'])) {
219
-            $js_options['evalScripts'] = $options['script'];
220
-        }
221
-        if (isset($options['with'])) {
222
-            $js_options['callback'] = 'function(form) { return ' . $options['with'] . ' }';
223
-        }
224
-
225
-        $function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
226
-        if ($tag) {
227
-            return $this->tag($function);
228
-        } else {
229
-            return $function;
230
-        }
231
-    }
232
-
233
-    /**
234
-     * @param         $object
235
-     * @param  null   $tag_options
236
-     * @param  null   $in_place_editor_options
237
-     * @return string
238
-     */
239
-    public function in_place_editor_field($object, $tag_options = null, $in_place_editor_options = null)
240
-    {
241
-        $ret_val = '';
242
-        $ret_val .= '<span id="' . $object . '" class="in_place_editor_field">' . (isset($tag_options['value']) ? $tag_options['value'] : '') . '</span>';
243
-        $ret_val .= $this->in_place_editor($object, $in_place_editor_options);
244
-
245
-        return $ret_val;
246
-    }
247
-
248
-    /**
249
-     * @param $field_id
250
-     * @param $options
251
-     * @return mixed
252
-     */
253
-    public function auto_complete_field($field_id, $options)
254
-    {
255
-        $function = "var $field_id" . '_auto_completer = new Ajax.Autocompleter(';
256
-        $function .= "'$field_id', ";
257
-        $function .= "'" . (isset($options['update']) ? $options['update'] : $field_id . '_auto_complete') . "', ";
258
-        $function .= "'" . $options['url'] . "'";
259
-
260
-        $js_options = [];
261
-        if (isset($options['tokens'])) {
262
-            $js_options['tokens'] = $this->javascript->_array_or_string_for_javascript($options['tokens']);
263
-        }
264
-        if (isset($options['with'])) {
265
-            $js_options['callback'] = 'function(element, value) { return ' . $options['with'] . ' }';
266
-        }
267
-        if (isset($options['indicator'])) {
268
-            $js_options['indicator'] = "'" . $options['indicator'] . "'";
269
-        }
270
-        if (isset($options['select'])) {
271
-            $js_options['select'] = "'" . $options['select'] . "'";
272
-        }
273
-
274
-        foreach (['on_show' => 'onShow', 'on_hide' => 'onHide', 'min_chars' => 'min_chars'] as $var => $val) {
275
-            if (isset($options[$var])) {
276
-                $js_options['$val'] = $options['var'];
277
-            }
278
-        }
279
-
280
-        $function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
281
-
282
-        return $this->tag($function);
283
-    }
284
-
285
-    /**
286
-     * @param      $entries
287
-     * @param      $field
288
-     * @param null $phrase
289
-     */
290
-    public function auto_complete_results($entries, $field, $phrase = null)
291
-    {
292
-        if (!is_array($entries)) {
293
-            return;
294
-        }
295
-        $ret_val = '<ul>';
296
-        //  Complete this function
297
-    }
298
-
299
-    /**
300
-     * @param         $object
301
-     * @param  null   $tag_options
302
-     * @param  null   $completion_options
303
-     * @return string
304
-     */
305
-    public function text_field_with_auto_complete($object, $tag_options = null, $completion_options = null)
306
-    {
307
-        $ret_val = isset($completion_options['skip_style']) ? '' : $this->_auto_complete_stylesheet();
308
-        $ret_val .= '<input autocomplete="off" id="'
309
-                    . $object
310
-                    . '" name="'
311
-                    . $object
312
-                    . '" size="'
313
-                    . (isset($tag_options['size']) ? $tag_options['size'] : 30)
314
-                    . '" type="text" value="'
315
-                    . (isset($tag_options['size']) ? $tag_options['value'] : '')
316
-                    . '" '
317
-                    . (isset($tag_options['class']) ? 'class = "'
318
-                                                      . $tag_options['class']
319
-                                                      . '" ' : '')
320
-                    . '>';
321
-
322
-        $ret_val .= '<div id="' . $object . '_auto_complete" class="auto_complete"></div>';
323
-        $ret_val .= $this->auto_complete_field($object, $completion_options);
324
-
325
-        return $ret_val;
326
-    }
327
-
328
-    /**
329
-     * @return string
330
-     */
331
-    public function _auto_complete_stylesheet()
332
-    {
333
-        return '<style> div.auto_complete {
18
+	public $TOGGLE_EFFECTS = ['toggle_appear', 'toggle_slide', 'toggle_blind'];
19
+
20
+	/**
21
+	 * Scriptaculous constructor.
22
+	 */
23
+	public function __construct()
24
+	{
25
+	}
26
+
27
+	/**
28
+	 * @param         $element_id
29
+	 * @param  null   $options
30
+	 * @return string
31
+	 */
32
+	public function dragable_element($element_id, $options = null)
33
+	{
34
+		return $this->tag($this->_dragable_element_js($element_id, $options));
35
+	}
36
+
37
+	/**
38
+	 * @param         $element_id
39
+	 * @param  null   $options
40
+	 * @return string
41
+	 */
42
+	public function drop_receiving_element($element_id, $options = null)
43
+	{
44
+		return $this->tag($this->_drop_receiving_element($element_id, $options));
45
+	}
46
+
47
+	/**
48
+	 * @param         $name
49
+	 * @param  bool   $element_id
50
+	 * @param  null   $js_options
51
+	 * @return string
52
+	 */
53
+	public function visual_effect($name, $element_id = false, $js_options = null)
54
+	{
55
+		$element = $element_id ? "'$element_id'" : 'element';
56
+
57
+		$js_queue = '';
58
+		if (isset($js_options) && is_array($js_options['queue'])) {
59
+		} elseif (isset($js_options)) {
60
+			$js_queue = "'$js_options'";
61
+		}
62
+
63
+		if (in_array($name, $this->TOGGLE_EFFECTS)) {
64
+			return "Effect.toggle($element,'" . str_replace('toggle_', '', $name) . "'," . $this->_options_for_javascript($js_options) . ')';
65
+		} else {
66
+			return 'new Effect.' . ucwords($name) . "($element," . $this->_options_for_javascript($js_options) . ')';
67
+		}
68
+	}
69
+
70
+	/**
71
+	 * @param         $element_id
72
+	 * @param  null   $options
73
+	 * @return string
74
+	 */
75
+	public function sortabe_element($element_id, $options = null)
76
+	{
77
+		return $this->tag($this->_sortabe_element($element_id, $options));
78
+	}
79
+
80
+	/////////////////////////////////////////////////////////////////////////////////////
81
+	//                             Private functions
82
+	/////////////////////////////////////////////////////////////////////////////////////
83
+
84
+	/**
85
+	 * @param $element_id
86
+	 * @param $options
87
+	 * @return string
88
+	 */
89
+
90
+	public function _sortabe_element($element_id, $options)
91
+	{
92
+		//if (isset($options['with']))
93
+		{
94
+			$options['with'] = "Sortable.serialize('$element_id')";
95
+		}
96
+
97
+		//if (isset($option['onUpdate']))
98
+		{
99
+			$options['onUpdate'] = 'function(){' . $this->remote_function($options) . '}';
100
+		}
101
+
102
+		foreach ($options as $var => $val) {
103
+			if (in_array($var, $this->AJAX_OPTIONS)) {
104
+				unset($options[$var]);
105
+			}
106
+		}
107
+
108
+		$arr = ['tag', 'overlap', 'contraint', 'handle'];
109
+
110
+		foreach ($arr as $var) {
111
+			if (isset($options[$var])) {
112
+				$options[$var] = "'" . $options[$var] . "'";
113
+			}
114
+		}
115
+
116
+		if (isset($options['containment'])) {
117
+			$options['containment'] = $this->_array_or_string_for_javascript($options['containment']);
118
+		}
119
+
120
+		if (isset($options['only'])) {
121
+			$options['only'] = $this->_array_or_string_for_javascript($options['only']);
122
+		}
123
+
124
+		return "Sortable.create('$element_id'," . $this->_options_for_javascript($options) . ')';
125
+	}
126
+
127
+	/**
128
+	 * @param $element_id
129
+	 * @param $options
130
+	 * @return string
131
+	 */
132
+	public function _dragable_element_js($element_id, $options)
133
+	{
134
+		return 'new Draggable(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
135
+	}
136
+
137
+	/**
138
+	 * @param $element_id
139
+	 * @param $options
140
+	 * @return string
141
+	 */
142
+	public function _drop_receiving_element($element_id, $options)
143
+	{
144
+
145
+		//if (isset($options['with']))
146
+		{
147
+			$options['with'] = '\'id=\' + encodeURIComponent(element.id)';
148
+		}
149
+
150
+		//if (isset($option['onDrop']))
151
+		{
152
+			$options['onDrop'] = 'function(element){' . $this->remote_function($options) . '}';
153
+		}
154
+
155
+		if (is_array($options)) {
156
+			foreach ($options as $var => $val) {
157
+				if (in_array($var, $this->AJAX_OPTIONS)) {
158
+					unset($options[$var]);
159
+				}
160
+			}
161
+		}
162
+
163
+		if (isset($options['accept'])) {
164
+			$options['accept'] = $this->_array_or_string_for_javascript($options['accept']);
165
+		}
166
+
167
+		if (isset($options['hoverclass'])) {
168
+			$options['hoverclass'] = "'" . $options['hoverclass'] . "'";
169
+		}
170
+
171
+		return 'Droppables.add(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
172
+	}
173
+
174
+	/////////////////////////////////////////////////////////////////////////////////////
175
+	//                            Merged Javascript macro
176
+	/////////////////////////////////////////////////////////////////////////////////////
177
+
178
+	/**
179
+	 * @param         $field_id
180
+	 * @param         $options
181
+	 * @param  bool   $tag
182
+	 * @return string
183
+	 */
184
+	public function in_place_editor($field_id, $options, $tag = true)
185
+	{
186
+		$function = 'new Ajax.InPlaceEditor(';
187
+		$function .= "'$field_id', ";
188
+		$function .= "'" . $options['url'] . "'";
189
+
190
+		$js_options = [];
191
+		if (isset($options['cancel_text'])) {
192
+			$js_options['cancelText'] = $options['cancel_text'];
193
+		}
194
+		if (isset($options['save_text'])) {
195
+			$js_options['okText'] = $options['save_text'];
196
+		}
197
+		if (isset($options['loading_text'])) {
198
+			$js_options['loadingText'] = $options['loading_text'];
199
+		}
200
+		if (isset($options['rows'])) {
201
+			$js_options['rows'] = $options['rows'];
202
+		}
203
+		if (isset($options['cols'])) {
204
+			$js_options['cols'] = $options['cols'];
205
+		}
206
+		if (isset($options['size'])) {
207
+			$js_options['size'] = $options['size'];
208
+		}
209
+		if (isset($options['external_control'])) {
210
+			$js_options['externalControl'] = "'" . $options['external_control'] . "'";
211
+		}
212
+		if (isset($options['load_text_url'])) {
213
+			$js_options['loadTextURL'] = "'" . $options['load_text_url'] . "'";
214
+		}
215
+		if (isset($options['options'])) {
216
+			$js_options['ajaxOptions'] = $options['options'];
217
+		}
218
+		if (isset($options['script'])) {
219
+			$js_options['evalScripts'] = $options['script'];
220
+		}
221
+		if (isset($options['with'])) {
222
+			$js_options['callback'] = 'function(form) { return ' . $options['with'] . ' }';
223
+		}
224
+
225
+		$function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
226
+		if ($tag) {
227
+			return $this->tag($function);
228
+		} else {
229
+			return $function;
230
+		}
231
+	}
232
+
233
+	/**
234
+	 * @param         $object
235
+	 * @param  null   $tag_options
236
+	 * @param  null   $in_place_editor_options
237
+	 * @return string
238
+	 */
239
+	public function in_place_editor_field($object, $tag_options = null, $in_place_editor_options = null)
240
+	{
241
+		$ret_val = '';
242
+		$ret_val .= '<span id="' . $object . '" class="in_place_editor_field">' . (isset($tag_options['value']) ? $tag_options['value'] : '') . '</span>';
243
+		$ret_val .= $this->in_place_editor($object, $in_place_editor_options);
244
+
245
+		return $ret_val;
246
+	}
247
+
248
+	/**
249
+	 * @param $field_id
250
+	 * @param $options
251
+	 * @return mixed
252
+	 */
253
+	public function auto_complete_field($field_id, $options)
254
+	{
255
+		$function = "var $field_id" . '_auto_completer = new Ajax.Autocompleter(';
256
+		$function .= "'$field_id', ";
257
+		$function .= "'" . (isset($options['update']) ? $options['update'] : $field_id . '_auto_complete') . "', ";
258
+		$function .= "'" . $options['url'] . "'";
259
+
260
+		$js_options = [];
261
+		if (isset($options['tokens'])) {
262
+			$js_options['tokens'] = $this->javascript->_array_or_string_for_javascript($options['tokens']);
263
+		}
264
+		if (isset($options['with'])) {
265
+			$js_options['callback'] = 'function(element, value) { return ' . $options['with'] . ' }';
266
+		}
267
+		if (isset($options['indicator'])) {
268
+			$js_options['indicator'] = "'" . $options['indicator'] . "'";
269
+		}
270
+		if (isset($options['select'])) {
271
+			$js_options['select'] = "'" . $options['select'] . "'";
272
+		}
273
+
274
+		foreach (['on_show' => 'onShow', 'on_hide' => 'onHide', 'min_chars' => 'min_chars'] as $var => $val) {
275
+			if (isset($options[$var])) {
276
+				$js_options['$val'] = $options['var'];
277
+			}
278
+		}
279
+
280
+		$function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
281
+
282
+		return $this->tag($function);
283
+	}
284
+
285
+	/**
286
+	 * @param      $entries
287
+	 * @param      $field
288
+	 * @param null $phrase
289
+	 */
290
+	public function auto_complete_results($entries, $field, $phrase = null)
291
+	{
292
+		if (!is_array($entries)) {
293
+			return;
294
+		}
295
+		$ret_val = '<ul>';
296
+		//  Complete this function
297
+	}
298
+
299
+	/**
300
+	 * @param         $object
301
+	 * @param  null   $tag_options
302
+	 * @param  null   $completion_options
303
+	 * @return string
304
+	 */
305
+	public function text_field_with_auto_complete($object, $tag_options = null, $completion_options = null)
306
+	{
307
+		$ret_val = isset($completion_options['skip_style']) ? '' : $this->_auto_complete_stylesheet();
308
+		$ret_val .= '<input autocomplete="off" id="'
309
+					. $object
310
+					. '" name="'
311
+					. $object
312
+					. '" size="'
313
+					. (isset($tag_options['size']) ? $tag_options['size'] : 30)
314
+					. '" type="text" value="'
315
+					. (isset($tag_options['size']) ? $tag_options['value'] : '')
316
+					. '" '
317
+					. (isset($tag_options['class']) ? 'class = "'
318
+													  . $tag_options['class']
319
+													  . '" ' : '')
320
+					. '>';
321
+
322
+		$ret_val .= '<div id="' . $object . '_auto_complete" class="auto_complete"></div>';
323
+		$ret_val .= $this->auto_complete_field($object, $completion_options);
324
+
325
+		return $ret_val;
326
+	}
327
+
328
+	/**
329
+	 * @return string
330
+	 */
331
+	public function _auto_complete_stylesheet()
332
+	{
333
+		return '<style> div.auto_complete {
334 334
                   width: 350px;
335 335
                   background: #fff;
336 336
                  }
@@ -354,5 +354,5 @@  discard block
 block discarded – undo
354 354
                    padding:0;
355 355
                  }
356 356
                  </style>';
357
-    }
357
+	}
358 358
 }
Please login to merge, or discard this patch.
include/custom_code/footer_start.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -2,5 +2,5 @@
 block discarded – undo
2 2
 
3 3
 function smarthook_footer_start()
4 4
 {
5
-    // code...
5
+	// code...
6 6
 }
Please login to merge, or discard this patch.
include/common.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -14,22 +14,22 @@
 block discarded – undo
14 14
  * SmartObject library path
15 15
  */
16 16
 if (!defined('SMARTOBJECT_URL')) {
17
-    define('SMARTOBJECT_URL', XOOPS_URL . '/modules/smartobject/');
17
+	define('SMARTOBJECT_URL', XOOPS_URL . '/modules/smartobject/');
18 18
 }
19 19
 if (!defined('SMARTOBJECT_ROOT_PATH')) {
20
-    define('SMARTOBJECT_ROOT_PATH', XOOPS_ROOT_PATH . '/modules/smartobject/');
20
+	define('SMARTOBJECT_ROOT_PATH', XOOPS_ROOT_PATH . '/modules/smartobject/');
21 21
 }
22 22
 if (!defined('SMARTOBJECT_IMAGES_URL')) {
23
-    define('SMARTOBJECT_IMAGES_URL', SMARTOBJECT_URL . 'assets/images/');
23
+	define('SMARTOBJECT_IMAGES_URL', SMARTOBJECT_URL . 'assets/images/');
24 24
 }
25 25
 if (!defined('SMARTOBJECT_IMAGES_ROOT_PATH')) {
26
-    define('SMARTOBJECT_IMAGES_ROOT_PATH', SMARTOBJECT_ROOT_PATH . 'assets/images/');
26
+	define('SMARTOBJECT_IMAGES_ROOT_PATH', SMARTOBJECT_ROOT_PATH . 'assets/images/');
27 27
 }
28 28
 if (!defined('SMARTOBJECT_IMAGES_ACTIONS_URL')) {
29
-    define('SMARTOBJECT_IMAGES_ACTIONS_URL', SMARTOBJECT_URL . 'assets/images/actions/');
29
+	define('SMARTOBJECT_IMAGES_ACTIONS_URL', SMARTOBJECT_URL . 'assets/images/actions/');
30 30
 }
31 31
 if (!defined('SMARTOBJECT_IMAGES_ACTIONS_ROOT_PATH')) {
32
-    define('SMARTOBJECT_IMAGES_ACTIONS_ROOT_PATH', SMARTOBJECT_ROOT_PATH . 'assets/images/actions/');
32
+	define('SMARTOBJECT_IMAGES_ACTIONS_ROOT_PATH', SMARTOBJECT_ROOT_PATH . 'assets/images/actions/');
33 33
 }
34 34
 
35 35
 /**
Please login to merge, or discard this patch.
include/projax_/classes/Scriptaculous.php 2 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -248,7 +248,7 @@
 block discarded – undo
248 248
     /**
249 249
      * @param $field_id
250 250
      * @param $options
251
-     * @return mixed
251
+     * @return string
252 252
      */
253 253
     public function auto_complete_field($field_id, $options)
254 254
     {
Please login to merge, or discard this patch.
Indentation   +314 added lines, -314 removed lines patch added patch discarded remove patch
@@ -15,319 +15,319 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class Scriptaculous extends Prototype
17 17
 {
18
-    public $TOGGLE_EFFECTS = ['toggle_appear', 'toggle_slide', 'toggle_blind'];
19
-
20
-    /**
21
-     * Scriptaculous constructor.
22
-     */
23
-    public function __construct()
24
-    {
25
-    }
26
-
27
-    /**
28
-     * @param         $element_id
29
-     * @param  null   $options
30
-     * @return string
31
-     */
32
-    public function dragable_element($element_id, $options = null)
33
-    {
34
-        return $this->tag($this->_dragable_element_js($element_id, $options));
35
-    }
36
-
37
-    /**
38
-     * @param         $element_id
39
-     * @param  null   $options
40
-     * @return string
41
-     */
42
-    public function drop_receiving_element($element_id, $options = null)
43
-    {
44
-        return $this->tag($this->_drop_receiving_element($element_id, $options));
45
-    }
46
-
47
-    /**
48
-     * @param         $name
49
-     * @param  bool   $element_id
50
-     * @param  null   $js_options
51
-     * @return string
52
-     */
53
-    public function visual_effect($name, $element_id = false, $js_options = null)
54
-    {
55
-        $element = $element_id ? "'$element_id'" : 'element';
56
-
57
-        $js_queue = '';
58
-        if (isset($js_options) && is_array($js_options['queue'])) {
59
-        } elseif (isset($js_options)) {
60
-            $js_queue = "'$js_options'";
61
-        }
62
-
63
-        if (in_array($name, $this->TOGGLE_EFFECTS)) {
64
-            return "Effect.toggle($element,'" . str_replace('toggle_', '', $name) . "'," . $this->_options_for_javascript($js_options) . ')';
65
-        } else {
66
-            return 'new Effect.' . ucwords($name) . "($element," . $this->_options_for_javascript($js_options) . ')';
67
-        }
68
-    }
69
-
70
-    /**
71
-     * @param         $element_id
72
-     * @param  null   $options
73
-     * @return string
74
-     */
75
-    public function sortabe_element($element_id, $options = null)
76
-    {
77
-        return $this->tag($this->_sortabe_element($element_id, $options));
78
-    }
79
-
80
-    /////////////////////////////////////////////////////////////////////////////////////
81
-    //                             Private functions
82
-    /////////////////////////////////////////////////////////////////////////////////////
83
-
84
-    /**
85
-     * @param $element_id
86
-     * @param $options
87
-     * @return string
88
-     */
89
-    public function _sortabe_element($element_id, $options)
90
-    {
91
-        //if (isset($options['with'])) {
92
-        $options['with'] = "Sortable.serialize('$element_id')";
93
-        //    }
94
-
95
-        //if (isset($option['onUpdate'])) {
96
-        $options['onUpdate'] = 'function(){' . $this->remote_function($options) . '}';
97
-        //}
98
-
99
-        foreach ($options as $var => $val) {
100
-            if (in_array($var, $this->AJAX_OPTIONS)) {
101
-                unset($options[$var]);
102
-            }
103
-        }
104
-
105
-        $arr = ['tag', 'overlap', 'contraint', 'handle'];
106
-
107
-        foreach ($arr as $var) {
108
-            if (isset($options[$var])) {
109
-                $options[$var] = "'" . $options[$var] . "'";
110
-            }
111
-        }
112
-
113
-        if (isset($options['containment'])) {
114
-            $options['containment'] = $this->_array_or_string_for_javascript($options['containment']);
115
-        }
116
-
117
-        if (isset($options['only'])) {
118
-            $options['only'] = $this->_array_or_string_for_javascript($options['only']);
119
-        }
120
-
121
-        return "Sortable.create('$element_id'," . $this->_options_for_javascript($options) . ')';
122
-    }
123
-
124
-    /**
125
-     * @param $element_id
126
-     * @param $options
127
-     * @return string
128
-     */
129
-    public function _dragable_element_js($element_id, $options)
130
-    {
131
-        return 'new Draggable(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
132
-    }
133
-
134
-    /**
135
-     * @param $element_id
136
-     * @param $options
137
-     * @return string
138
-     */
139
-    public function _drop_receiving_element($element_id, $options)
140
-    {
141
-
142
-        //if (isset($options['with'])) {
143
-        $options['with'] = '\'id=\' + encodeURIComponent(element.id)';
144
-        //    }
145
-
146
-        //if (isset($option['onDrop']))
147
-
148
-        {
149
-            $options['onDrop'] = 'function(element){' . $this->remote_function($options) . '}';
150
-        }
151
-
152
-        if (is_array($options)) {
153
-            foreach ($options as $var => $val) {
154
-                if (in_array($var, $this->AJAX_OPTIONS)) {
155
-                    unset($options[$var]);
156
-                }
157
-            }
158
-        }
159
-
160
-        if (isset($options['accept'])) {
161
-            $options['accept'] = $this->_array_or_string_for_javascript($options['accept']);
162
-        }
163
-
164
-        if (isset($options['hoverclass'])) {
165
-            $options['hoverclass'] = "'" . $options['hoverclass'] . "'";
166
-        }
167
-
168
-        return 'Droppables.add(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
169
-    }
170
-
171
-    /////////////////////////////////////////////////////////////////////////////////////
172
-    //                            Merged Javascript macro
173
-    /////////////////////////////////////////////////////////////////////////////////////
174
-
175
-    /**
176
-     * @param         $field_id
177
-     * @param         $options
178
-     * @param  bool   $tag
179
-     * @return string
180
-     */
181
-    public function in_place_editor($field_id, $options, $tag = true)
182
-    {
183
-        $function = 'new Ajax.InPlaceEditor(';
184
-        $function .= "'$field_id', ";
185
-        $function .= "'" . $options['url'] . "'";
186
-
187
-        $js_options = [];
188
-        if (isset($options['cancel_text'])) {
189
-            $js_options['cancelText'] = $options['cancel_text'];
190
-        }
191
-        if (isset($options['save_text'])) {
192
-            $js_options['okText'] = $options['save_text'];
193
-        }
194
-        if (isset($options['loading_text'])) {
195
-            $js_options['loadingText'] = $options['loading_text'];
196
-        }
197
-        if (isset($options['rows'])) {
198
-            $js_options['rows'] = $options['rows'];
199
-        }
200
-        if (isset($options['cols'])) {
201
-            $js_options['cols'] = $options['cols'];
202
-        }
203
-        if (isset($options['size'])) {
204
-            $js_options['size'] = $options['size'];
205
-        }
206
-        if (isset($options['external_control'])) {
207
-            $js_options['externalControl'] = "'" . $options['external_control'] . "'";
208
-        }
209
-        if (isset($options['load_text_url'])) {
210
-            $js_options['loadTextURL'] = "'" . $options['load_text_url'] . "'";
211
-        }
212
-        if (isset($options['options'])) {
213
-            $js_options['ajaxOptions'] = $options['options'];
214
-        }
215
-        if (isset($options['script'])) {
216
-            $js_options['evalScripts'] = $options['script'];
217
-        }
218
-        if (isset($options['with'])) {
219
-            $js_options['callback'] = 'function(form) { return ' . $options['with'] . ' }';
220
-        }
221
-
222
-        $function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
223
-        if ($tag) {
224
-            return $this->tag($function);
225
-        } else {
226
-            return $function;
227
-        }
228
-    }
229
-
230
-    /**
231
-     * @param         $object
232
-     * @param  null   $tag_options
233
-     * @param  null   $in_place_editor_options
234
-     * @return string
235
-     */
236
-    public function in_place_editor_field($object, $tag_options = null, $in_place_editor_options = null)
237
-    {
238
-        $ret_val = '';
239
-        $ret_val .= '<span id="' . $object . '" class="in_place_editor_field">' . (isset($tag_options['value']) ? $tag_options['value'] : '') . '</span>';
240
-        $ret_val .= $this->in_place_editor($object, $in_place_editor_options);
241
-
242
-        return $ret_val;
243
-    }
244
-
245
-    /**
246
-     * @param $field_id
247
-     * @param $options
248
-     * @return mixed
249
-     */
250
-    public function auto_complete_field($field_id, $options)
251
-    {
252
-        $function = "var $field_id" . '_auto_completer = new Ajax.Autocompleter(';
253
-        $function .= "'$field_id', ";
254
-        $function .= "'" . (isset($options['update']) ? $options['update'] : $field_id . '_auto_complete') . "', ";
255
-        $function .= "'" . $options['url'] . "'";
256
-
257
-        $js_options = [];
258
-        if (isset($options['tokens'])) {
259
-            $js_options['tokens'] = $this->javascript->_array_or_string_for_javascript($options['tokens']);
260
-        }
261
-        if (isset($options['with'])) {
262
-            $js_options['callback'] = 'function(element, value) { return ' . $options['with'] . ' }';
263
-        }
264
-        if (isset($options['indicator'])) {
265
-            $js_options['indicator'] = "'" . $options['indicator'] . "'";
266
-        }
267
-        if (isset($options['select'])) {
268
-            $js_options['select'] = "'" . $options['select'] . "'";
269
-        }
270
-
271
-        foreach (['on_show' => 'onShow', 'on_hide' => 'onHide', 'min_chars' => 'min_chars'] as $var => $val) {
272
-            if (isset($options[$var])) {
273
-                $js_options['$val'] = $options['var'];
274
-            }
275
-        }
276
-
277
-        $function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
278
-
279
-        return $this->tag($function);
280
-    }
281
-
282
-    /**
283
-     * @param      $entries
284
-     * @param      $field
285
-     * @param null $phrase
286
-     */
287
-    public function auto_complete_results($entries, $field, $phrase = null)
288
-    {
289
-        if (!is_array($entries)) {
290
-            return;
291
-        }
292
-        $ret_val = '<ul>';
293
-        //  Complete this function
294
-    }
295
-
296
-    /**
297
-     * @param         $object
298
-     * @param  null   $tag_options
299
-     * @param  null   $completion_options
300
-     * @return string
301
-     */
302
-    public function text_field_with_auto_complete($object, $tag_options = null, $completion_options = null)
303
-    {
304
-        $ret_val = isset($completion_options['skip_style']) ? '' : $this->_auto_complete_stylesheet();
305
-        $ret_val .= '<input autocomplete="off" id="'
306
-                    . $object
307
-                    . '" name="'
308
-                    . $object
309
-                    . '" size="'
310
-                    . (isset($tag_options['size']) ? $tag_options['size'] : 30)
311
-                    . '" type="text" value="'
312
-                    . (isset($tag_options['size']) ? $tag_options['value'] : '')
313
-                    . '" '
314
-                    . (isset($tag_options['class']) ? 'class = "'
315
-                                                      . $tag_options['class']
316
-                                                      . '" ' : '')
317
-                    . '>';
318
-
319
-        $ret_val .= '<div id="' . $object . '_auto_complete" class="auto_complete"></div>';
320
-        $ret_val .= $this->auto_complete_field($object, $completion_options);
321
-
322
-        return $ret_val;
323
-    }
324
-
325
-    /**
326
-     * @return string
327
-     */
328
-    public function _auto_complete_stylesheet()
329
-    {
330
-        return '<style> div.auto_complete {
18
+	public $TOGGLE_EFFECTS = ['toggle_appear', 'toggle_slide', 'toggle_blind'];
19
+
20
+	/**
21
+	 * Scriptaculous constructor.
22
+	 */
23
+	public function __construct()
24
+	{
25
+	}
26
+
27
+	/**
28
+	 * @param         $element_id
29
+	 * @param  null   $options
30
+	 * @return string
31
+	 */
32
+	public function dragable_element($element_id, $options = null)
33
+	{
34
+		return $this->tag($this->_dragable_element_js($element_id, $options));
35
+	}
36
+
37
+	/**
38
+	 * @param         $element_id
39
+	 * @param  null   $options
40
+	 * @return string
41
+	 */
42
+	public function drop_receiving_element($element_id, $options = null)
43
+	{
44
+		return $this->tag($this->_drop_receiving_element($element_id, $options));
45
+	}
46
+
47
+	/**
48
+	 * @param         $name
49
+	 * @param  bool   $element_id
50
+	 * @param  null   $js_options
51
+	 * @return string
52
+	 */
53
+	public function visual_effect($name, $element_id = false, $js_options = null)
54
+	{
55
+		$element = $element_id ? "'$element_id'" : 'element';
56
+
57
+		$js_queue = '';
58
+		if (isset($js_options) && is_array($js_options['queue'])) {
59
+		} elseif (isset($js_options)) {
60
+			$js_queue = "'$js_options'";
61
+		}
62
+
63
+		if (in_array($name, $this->TOGGLE_EFFECTS)) {
64
+			return "Effect.toggle($element,'" . str_replace('toggle_', '', $name) . "'," . $this->_options_for_javascript($js_options) . ')';
65
+		} else {
66
+			return 'new Effect.' . ucwords($name) . "($element," . $this->_options_for_javascript($js_options) . ')';
67
+		}
68
+	}
69
+
70
+	/**
71
+	 * @param         $element_id
72
+	 * @param  null   $options
73
+	 * @return string
74
+	 */
75
+	public function sortabe_element($element_id, $options = null)
76
+	{
77
+		return $this->tag($this->_sortabe_element($element_id, $options));
78
+	}
79
+
80
+	/////////////////////////////////////////////////////////////////////////////////////
81
+	//                             Private functions
82
+	/////////////////////////////////////////////////////////////////////////////////////
83
+
84
+	/**
85
+	 * @param $element_id
86
+	 * @param $options
87
+	 * @return string
88
+	 */
89
+	public function _sortabe_element($element_id, $options)
90
+	{
91
+		//if (isset($options['with'])) {
92
+		$options['with'] = "Sortable.serialize('$element_id')";
93
+		//    }
94
+
95
+		//if (isset($option['onUpdate'])) {
96
+		$options['onUpdate'] = 'function(){' . $this->remote_function($options) . '}';
97
+		//}
98
+
99
+		foreach ($options as $var => $val) {
100
+			if (in_array($var, $this->AJAX_OPTIONS)) {
101
+				unset($options[$var]);
102
+			}
103
+		}
104
+
105
+		$arr = ['tag', 'overlap', 'contraint', 'handle'];
106
+
107
+		foreach ($arr as $var) {
108
+			if (isset($options[$var])) {
109
+				$options[$var] = "'" . $options[$var] . "'";
110
+			}
111
+		}
112
+
113
+		if (isset($options['containment'])) {
114
+			$options['containment'] = $this->_array_or_string_for_javascript($options['containment']);
115
+		}
116
+
117
+		if (isset($options['only'])) {
118
+			$options['only'] = $this->_array_or_string_for_javascript($options['only']);
119
+		}
120
+
121
+		return "Sortable.create('$element_id'," . $this->_options_for_javascript($options) . ')';
122
+	}
123
+
124
+	/**
125
+	 * @param $element_id
126
+	 * @param $options
127
+	 * @return string
128
+	 */
129
+	public function _dragable_element_js($element_id, $options)
130
+	{
131
+		return 'new Draggable(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
132
+	}
133
+
134
+	/**
135
+	 * @param $element_id
136
+	 * @param $options
137
+	 * @return string
138
+	 */
139
+	public function _drop_receiving_element($element_id, $options)
140
+	{
141
+
142
+		//if (isset($options['with'])) {
143
+		$options['with'] = '\'id=\' + encodeURIComponent(element.id)';
144
+		//    }
145
+
146
+		//if (isset($option['onDrop']))
147
+
148
+		{
149
+			$options['onDrop'] = 'function(element){' . $this->remote_function($options) . '}';
150
+		}
151
+
152
+		if (is_array($options)) {
153
+			foreach ($options as $var => $val) {
154
+				if (in_array($var, $this->AJAX_OPTIONS)) {
155
+					unset($options[$var]);
156
+				}
157
+			}
158
+		}
159
+
160
+		if (isset($options['accept'])) {
161
+			$options['accept'] = $this->_array_or_string_for_javascript($options['accept']);
162
+		}
163
+
164
+		if (isset($options['hoverclass'])) {
165
+			$options['hoverclass'] = "'" . $options['hoverclass'] . "'";
166
+		}
167
+
168
+		return 'Droppables.add(\'' . $element_id . '\',' . $this->_options_for_javascript($options) . ')';
169
+	}
170
+
171
+	/////////////////////////////////////////////////////////////////////////////////////
172
+	//                            Merged Javascript macro
173
+	/////////////////////////////////////////////////////////////////////////////////////
174
+
175
+	/**
176
+	 * @param         $field_id
177
+	 * @param         $options
178
+	 * @param  bool   $tag
179
+	 * @return string
180
+	 */
181
+	public function in_place_editor($field_id, $options, $tag = true)
182
+	{
183
+		$function = 'new Ajax.InPlaceEditor(';
184
+		$function .= "'$field_id', ";
185
+		$function .= "'" . $options['url'] . "'";
186
+
187
+		$js_options = [];
188
+		if (isset($options['cancel_text'])) {
189
+			$js_options['cancelText'] = $options['cancel_text'];
190
+		}
191
+		if (isset($options['save_text'])) {
192
+			$js_options['okText'] = $options['save_text'];
193
+		}
194
+		if (isset($options['loading_text'])) {
195
+			$js_options['loadingText'] = $options['loading_text'];
196
+		}
197
+		if (isset($options['rows'])) {
198
+			$js_options['rows'] = $options['rows'];
199
+		}
200
+		if (isset($options['cols'])) {
201
+			$js_options['cols'] = $options['cols'];
202
+		}
203
+		if (isset($options['size'])) {
204
+			$js_options['size'] = $options['size'];
205
+		}
206
+		if (isset($options['external_control'])) {
207
+			$js_options['externalControl'] = "'" . $options['external_control'] . "'";
208
+		}
209
+		if (isset($options['load_text_url'])) {
210
+			$js_options['loadTextURL'] = "'" . $options['load_text_url'] . "'";
211
+		}
212
+		if (isset($options['options'])) {
213
+			$js_options['ajaxOptions'] = $options['options'];
214
+		}
215
+		if (isset($options['script'])) {
216
+			$js_options['evalScripts'] = $options['script'];
217
+		}
218
+		if (isset($options['with'])) {
219
+			$js_options['callback'] = 'function(form) { return ' . $options['with'] . ' }';
220
+		}
221
+
222
+		$function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
223
+		if ($tag) {
224
+			return $this->tag($function);
225
+		} else {
226
+			return $function;
227
+		}
228
+	}
229
+
230
+	/**
231
+	 * @param         $object
232
+	 * @param  null   $tag_options
233
+	 * @param  null   $in_place_editor_options
234
+	 * @return string
235
+	 */
236
+	public function in_place_editor_field($object, $tag_options = null, $in_place_editor_options = null)
237
+	{
238
+		$ret_val = '';
239
+		$ret_val .= '<span id="' . $object . '" class="in_place_editor_field">' . (isset($tag_options['value']) ? $tag_options['value'] : '') . '</span>';
240
+		$ret_val .= $this->in_place_editor($object, $in_place_editor_options);
241
+
242
+		return $ret_val;
243
+	}
244
+
245
+	/**
246
+	 * @param $field_id
247
+	 * @param $options
248
+	 * @return mixed
249
+	 */
250
+	public function auto_complete_field($field_id, $options)
251
+	{
252
+		$function = "var $field_id" . '_auto_completer = new Ajax.Autocompleter(';
253
+		$function .= "'$field_id', ";
254
+		$function .= "'" . (isset($options['update']) ? $options['update'] : $field_id . '_auto_complete') . "', ";
255
+		$function .= "'" . $options['url'] . "'";
256
+
257
+		$js_options = [];
258
+		if (isset($options['tokens'])) {
259
+			$js_options['tokens'] = $this->javascript->_array_or_string_for_javascript($options['tokens']);
260
+		}
261
+		if (isset($options['with'])) {
262
+			$js_options['callback'] = 'function(element, value) { return ' . $options['with'] . ' }';
263
+		}
264
+		if (isset($options['indicator'])) {
265
+			$js_options['indicator'] = "'" . $options['indicator'] . "'";
266
+		}
267
+		if (isset($options['select'])) {
268
+			$js_options['select'] = "'" . $options['select'] . "'";
269
+		}
270
+
271
+		foreach (['on_show' => 'onShow', 'on_hide' => 'onHide', 'min_chars' => 'min_chars'] as $var => $val) {
272
+			if (isset($options[$var])) {
273
+				$js_options['$val'] = $options['var'];
274
+			}
275
+		}
276
+
277
+		$function .= ', ' . $this->_options_for_javascript($js_options) . ' )';
278
+
279
+		return $this->tag($function);
280
+	}
281
+
282
+	/**
283
+	 * @param      $entries
284
+	 * @param      $field
285
+	 * @param null $phrase
286
+	 */
287
+	public function auto_complete_results($entries, $field, $phrase = null)
288
+	{
289
+		if (!is_array($entries)) {
290
+			return;
291
+		}
292
+		$ret_val = '<ul>';
293
+		//  Complete this function
294
+	}
295
+
296
+	/**
297
+	 * @param         $object
298
+	 * @param  null   $tag_options
299
+	 * @param  null   $completion_options
300
+	 * @return string
301
+	 */
302
+	public function text_field_with_auto_complete($object, $tag_options = null, $completion_options = null)
303
+	{
304
+		$ret_val = isset($completion_options['skip_style']) ? '' : $this->_auto_complete_stylesheet();
305
+		$ret_val .= '<input autocomplete="off" id="'
306
+					. $object
307
+					. '" name="'
308
+					. $object
309
+					. '" size="'
310
+					. (isset($tag_options['size']) ? $tag_options['size'] : 30)
311
+					. '" type="text" value="'
312
+					. (isset($tag_options['size']) ? $tag_options['value'] : '')
313
+					. '" '
314
+					. (isset($tag_options['class']) ? 'class = "'
315
+													  . $tag_options['class']
316
+													  . '" ' : '')
317
+					. '>';
318
+
319
+		$ret_val .= '<div id="' . $object . '_auto_complete" class="auto_complete"></div>';
320
+		$ret_val .= $this->auto_complete_field($object, $completion_options);
321
+
322
+		return $ret_val;
323
+	}
324
+
325
+	/**
326
+	 * @return string
327
+	 */
328
+	public function _auto_complete_stylesheet()
329
+	{
330
+		return '<style> div.auto_complete {
331 331
                   width: 350px;
332 332
                   background: #fff;
333 333
                  }
@@ -351,5 +351,5 @@  discard block
 block discarded – undo
351 351
                    padding:0;
352 352
                  }
353 353
                  </style>';
354
-    }
354
+	}
355 355
 }
Please login to merge, or discard this patch.
include/projax/classes/JavaScript.php 2 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
 
28 28
     /**
29 29
      * @param $javascript
30
-     * @return mixed|string
30
+     * @return string
31 31
      */
32 32
     public function escape($javascript)
33 33
     {
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 
49 49
     /**
50 50
      * @param         $name
51
-     * @param         $function
51
+     * @param         string $function
52 52
      * @param  null   $html_options
53 53
      * @return string
54 54
      */
Please login to merge, or discard this patch.
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -15,90 +15,90 @@
 block discarded – undo
15 15
  */
16 16
 class JavaScript
17 17
 {
18
-    /**
19
-     * @param         $name
20
-     * @param  null   $function
21
-     * @return string
22
-     */
23
-    public function button_to_function($name, $function = null)
24
-    {
25
-        return '<input type="button" value="' . $name . '" onclick="' . $function . '">';
26
-    }
18
+	/**
19
+	 * @param         $name
20
+	 * @param  null   $function
21
+	 * @return string
22
+	 */
23
+	public function button_to_function($name, $function = null)
24
+	{
25
+		return '<input type="button" value="' . $name . '" onclick="' . $function . '">';
26
+	}
27 27
 
28
-    /**
29
-     * @param $javascript
30
-     * @return mixed|string
31
-     */
32
-    public function escape($javascript)
33
-    {
34
-        $javascript = addslashes($javascript);
35
-        $javascript = str_replace(["\r\n", "\n", "\r"], ["\n"], $javascript);
28
+	/**
29
+	 * @param $javascript
30
+	 * @return mixed|string
31
+	 */
32
+	public function escape($javascript)
33
+	{
34
+		$javascript = addslashes($javascript);
35
+		$javascript = str_replace(["\r\n", "\n", "\r"], ["\n"], $javascript);
36 36
 
37
-        return $javascript;
38
-    }
37
+		return $javascript;
38
+	}
39 39
 
40
-    /**
41
-     * @param $content
42
-     * @return string
43
-     */
44
-    public function tag($content)
45
-    {
46
-        return '<script type="text/javascript">' . $content . '</script>';
47
-    }
40
+	/**
41
+	 * @param $content
42
+	 * @return string
43
+	 */
44
+	public function tag($content)
45
+	{
46
+		return '<script type="text/javascript">' . $content . '</script>';
47
+	}
48 48
 
49
-    /**
50
-     * @param         $name
51
-     * @param         $function
52
-     * @param  null   $html_options
53
-     * @return string
54
-     */
55
-    public function link_to_function($name, $function, $html_options = null)
56
-    {
57
-        return '<a href="' . (isset($html_options['href']) ? $html_options['href'] : '#') . '" onclick="' . (isset($html_options['onclick']) ? $html_options['onclick'] . ';' : '') . $function . '; return false;">' . $name . '</a>';
58
-    }
49
+	/**
50
+	 * @param         $name
51
+	 * @param         $function
52
+	 * @param  null   $html_options
53
+	 * @return string
54
+	 */
55
+	public function link_to_function($name, $function, $html_options = null)
56
+	{
57
+		return '<a href="' . (isset($html_options['href']) ? $html_options['href'] : '#') . '" onclick="' . (isset($html_options['onclick']) ? $html_options['onclick'] . ';' : '') . $function . '; return false;">' . $name . '</a>';
58
+	}
59 59
 
60
-    /////////////////////////////////////////////////////////////////////////////////////
61
-    //                             Private functions
62
-    /////////////////////////////////////////////////////////////////////////////////////
60
+	/////////////////////////////////////////////////////////////////////////////////////
61
+	//                             Private functions
62
+	/////////////////////////////////////////////////////////////////////////////////////
63 63
 
64
-    /**
65
-     * @param $option
66
-     * @return string
67
-     */
68
-    public function _array_or_string_for_javascript($option)
69
-    {
70
-        $return_val = '';
71
-        if (is_array($option)) {
72
-            foreach ($option as $value) {
73
-                if (!empty($return_val)) {
74
-                    $ret_val .= ', ';
75
-                }
76
-                $return_val .= $value;
77
-            }
64
+	/**
65
+	 * @param $option
66
+	 * @return string
67
+	 */
68
+	public function _array_or_string_for_javascript($option)
69
+	{
70
+		$return_val = '';
71
+		if (is_array($option)) {
72
+			foreach ($option as $value) {
73
+				if (!empty($return_val)) {
74
+					$ret_val .= ', ';
75
+				}
76
+				$return_val .= $value;
77
+			}
78 78
 
79
-            return '[' . $return_val . ']';
80
-        }
79
+			return '[' . $return_val . ']';
80
+		}
81 81
 
82
-        return "'$option'";
83
-    }
82
+		return "'$option'";
83
+	}
84 84
 
85
-    /**
86
-     * @param $options
87
-     * @return string
88
-     */
89
-    public function _options_for_javascript($options)
90
-    {
91
-        $return_val = '';
85
+	/**
86
+	 * @param $options
87
+	 * @return string
88
+	 */
89
+	public function _options_for_javascript($options)
90
+	{
91
+		$return_val = '';
92 92
 
93
-        if (is_array($options)) {
94
-            foreach ($options as $var => $val) {
95
-                if (!empty($return_val)) {
96
-                    $return_val .= ', ';
97
-                }
98
-                $return_val .= "$var:$val";
99
-            }
100
-        }
93
+		if (is_array($options)) {
94
+			foreach ($options as $var => $val) {
95
+				if (!empty($return_val)) {
96
+					$return_val .= ', ';
97
+				}
98
+				$return_val .= "$var:$val";
99
+			}
100
+		}
101 101
 
102
-        return '{' . $return_val . '}';
103
-    }
102
+		return '{' . $return_val . '}';
103
+	}
104 104
 }
Please login to merge, or discard this patch.
include/projax/classes/Prototype.php 2 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
     }
213 213
 
214 214
     /**
215
-     * @param         $klass
215
+     * @param         string $klass
216 216
      * @param         $name
217 217
      * @param  null   $options
218 218
      * @return string
@@ -311,7 +311,7 @@  discard block
 block discarded – undo
311 311
     }
312 312
 
313 313
     /**
314
-     * @param $variable
314
+     * @param string $variable
315 315
      * @param $value
316 316
      * @return string
317 317
      */
@@ -321,7 +321,7 @@  discard block
 block discarded – undo
321 321
     }
322 322
 
323 323
     /**
324
-     * @param         $function
324
+     * @param         string $function
325 325
      * @param  null   $args
326 326
      * @return string
327 327
      */
Please login to merge, or discard this patch.
Indentation   +448 added lines, -448 removed lines patch added patch discarded remove patch
@@ -15,452 +15,452 @@
 block discarded – undo
15 15
  */
16 16
 class Prototype extends JavaScript
17 17
 {
18
-    public $CALLBACKS = [
19
-        'uninitialized',
20
-        'loading',
21
-        'loaded',
22
-        'interactive',
23
-        'complete',
24
-        'failure',
25
-        'success'
26
-    ];
27
-
28
-    public $AJAX_OPTIONS = [
29
-        'before',
30
-        'after',
31
-        'condition',
32
-        'url',
33
-        'asynchronous',
34
-        'method',
35
-        'insertion',
36
-        'position',
37
-        'form',
38
-        'with',
39
-        'update',
40
-        'script',
41
-        'uninitialized',
42
-        'loading',
43
-        'loaded',
44
-        'interactive',
45
-        'complete',
46
-        'failure',
47
-        'success'
48
-    ];
49
-
50
-    /**
51
-     * @return string
52
-     */
53
-    public function evaluate_remote_response()
54
-    {
55
-        return 'eval(request.responseText)';
56
-    }
57
-
58
-    /**
59
-     * @param $options
60
-     * @return string
61
-     */
62
-    public function form_remote_tag($options)
63
-    {
64
-        $options['form'] = true;
65
-
66
-        return '<form action="' . $options['url'] . '" onsubmit="' . $this->remote_function($options) . '; return false;" method="' . (isset($options['method']) ? $options['method'] : 'post') . '"  >';
67
-    }
68
-
69
-    /**
70
-     * @param         $name
71
-     * @param  null   $options
72
-     * @param  null   $html_options
73
-     * @return string
74
-     */
75
-    public function link_to_remote($name, $options = null, $html_options = null)
76
-    {
77
-        return $this->link_to_function($name, $this->remote_function($options), $html_options);
78
-    }
79
-
80
-    /**
81
-     * @param         $field_id
82
-     * @param  null   $options
83
-     * @return string
84
-     */
85
-    public function observe_field($field_id, $options = null)
86
-    {
87
-        if (isset($options['frequency']) && $options['frequency'] > 0) {
88
-            return $this->_build_observer('Form.Element.Observer', $field_id, $options);
89
-        } else {
90
-            return $this->_build_observer('Form.Element.EventObserver', $field_id, $options);
91
-        }
92
-    }
93
-
94
-    /**
95
-     * @param         $form_id
96
-     * @param  null   $options
97
-     * @return string
98
-     */
99
-    public function observe_form($form_id, $options = null)
100
-    {
101
-        if (isset($options['frequency'])) {
102
-            return $this->_build_observer('Form.Observer', $form_id, $options);
103
-        } else {
104
-            return $this->_build_observer('Form.EventObserver', $form_id, $options);
105
-        }
106
-    }
107
-
108
-    /**
109
-     * @param  null $options
110
-     * @return string
111
-     */
112
-    public function periodically_call_remote($options = null)
113
-    {
114
-        $frequency = isset($options['frequency']) ? $options['frequency'] : 10;
115
-        $code      = 'new PeriodicalExecuter(function() {' . $this->remote_function($options) . '},' . $frequency . ')';
116
-
117
-        return $code;
118
-    }
119
-
120
-    /**
121
-     * @param $options
122
-     * @return string
123
-     */
124
-    public function remote_function($options)
125
-    {
126
-        $javascript_options = $this->_options_for_ajax($options);
127
-
128
-        $update = '';
129
-
130
-        if (isset($options['update']) && is_array($options['update'])) {
131
-            $update = isset($options['update']['success']) ? 'success: ' . $options['update']['success'] : '';
132
-            $update .= empty($update) ? '' : ',';
133
-            $update .= isset($options['update']['failure']) ? 'failure: ' . $options['update']['failure'] : '';
134
-        } else {
135
-            $update .= isset($options['update']) ? $options['update'] : '';
136
-        }
137
-
138
-        $ajax_function = empty($update) ? 'new Ajax.Request(' : 'new Ajax.Updater(\'' . $update . '\',';
139
-
140
-        $ajax_function .= "'" . $options['url'] . "'";
141
-        $ajax_function .= ',' . $javascript_options . ')';
142
-
143
-        $ajax_function = isset($options['before']) ? $options['before'] . ';' . $ajax_function : $ajax_function;
144
-        $ajax_function = isset($options['after']) ? $ajax_function . ';' . $options['after'] : $ajax_function;
145
-        $ajax_function = isset($options['condition']) ? 'if (' . $options['condition'] . ') {' . $ajax_function . '}' : $ajax_function;
146
-        $ajax_function = isset($options['confirm']) ? 'if ( confirm(\'' . $options['confirm'] . '\' ) ) { ' . $ajax_function . ' } ' : $ajax_function;
147
-
148
-        return $ajax_function;
149
-    }
150
-
151
-    /**
152
-     * @param $name
153
-     * @param $value
154
-     * @param $options
155
-     * @return string
156
-     */
157
-    public function submit_to_remote($name, $value, $options)
158
-    {
159
-        if (isset($options['with'])) {
160
-            $options['with'] = 'Form.serialize(this.form)';
161
-        }
162
-
163
-        return '<input type="button" onclick="' . $this->remote_function($options) . '" name="' . $name . '" value ="' . $value . '">';
164
-    }
165
-
166
-    /**
167
-     * @param      $element_id
168
-     * @param null $options
169
-     * @param      $block
170
-     */
171
-    public function update_element_function($element_id, $options = null, $block)
172
-    {
173
-        $content = isset($options['content']) ? $options['content'] : '';
174
-        $content = $this->escape($content);
175
-    }
176
-
177
-    /**
178
-     * @param $block
179
-     */
180
-    public function update_page($block)
181
-    {
182
-    }
183
-
184
-    /**
185
-     * @param $block
186
-     * @return string
187
-     */
188
-    public function update_page_tag(& $block)
189
-    {
190
-        return $this->tag($block);
191
-    }
192
-
193
-    /////////////////////////////////////////////////////////////////////////////////////
194
-    //                             Private functions
195
-    /////////////////////////////////////////////////////////////////////////////////////
196
-
197
-    /**
198
-     * @param $options
199
-     * @return array
200
-     */
201
-    public function _build_callbacks($options)
202
-    {
203
-        $callbacks = [];
204
-        foreach ($options as $callback => $code) {
205
-            if (in_array($callback, $this->CALLBACKS)) {
206
-                $name             = 'on' . ucfirst($callback);
207
-                $callbacks[$name] = 'function(request){' . $code . '}';
208
-            }
209
-        }
210
-
211
-        return $callbacks;
212
-    }
213
-
214
-    /**
215
-     * @param         $klass
216
-     * @param         $name
217
-     * @param  null   $options
218
-     * @return string
219
-     */
220
-    public function _build_observer($klass, $name, $options = null)
221
-    {
222
-        if (isset($options['with']) && false === strpos($options['with'], '=')) {
223
-            $options['with'] = '\'' . $options['with'] . '=\' + value';
224
-        } elseif (isset($options['with']) && isset($options['update'])) {
225
-            $options['with'] = 'value';
226
-        }
227
-
228
-        $callback = $options['function'] ?: $this->remote_function($options);
229
-
230
-        $javascript = "new $klass('$name', ";
231
-        $javascript .= isset($options['frequency']) ? $options['frequency'] . ', ' : '';
232
-        $javascript .= 'function (element,value) { ';
233
-        $javascript .= $callback;
234
-        $javascript .= isset($options['on']) ? ', ' . $options['on'] : '';
235
-        $javascript .= '})';
236
-
237
-        return $javascript;
238
-    }
239
-
240
-    /**
241
-     * @param $method
242
-     * @return string
243
-     */
244
-    public function _method_option_to_s($method)
245
-    {
246
-        return false !== strpos($method, "'") ? $method : "'$method'";
247
-    }
248
-
249
-    /**
250
-     * @param $options
251
-     * @return string
252
-     */
253
-    public function _options_for_ajax($options)
254
-    {
255
-        $js_options = is_array($options) ? $this->_build_callbacks($options) : [];
256
-
257
-        if (isset($options['type']) && 'synchronous' === $option['type']) {
258
-            $js_options['asynchronous'] = 'false';
259
-        }
260
-
261
-        if (isset($options['method'])) {
262
-            $js_options['method'] = $this->_method_option_to_s($options['method']);
263
-        }
264
-
265
-        if (isset($options['position'])) {
266
-            $js_options['insertion'] = 'Insertion.' . ucfirst($options['position']);
267
-        }
268
-
269
-        $js_options['evalScripts'] = isset($options['script']) ? $options['script'] : 'true';
270
-
271
-        if (isset($options['form'])) {
272
-            $js_options['parameters'] = 'Form.serialize(this)';
273
-        } elseif (isset($options['parameters'])) {
274
-            $js_options['parameters'] = 'Form.serialize(\'' . $options['submit'] . '\')';
275
-        } elseif (isset($options['with'])) {
276
-            $js_options['parameters'] = $options['with'];
277
-        }
278
-
279
-        return $this->_options_for_javascript($js_options);
280
-    }
281
-
282
-    /////////////////////////////////////////////////////////////////////////////////////
283
-    //                            Mergerd Javascript Generator helpers
284
-    /////////////////////////////////////////////////////////////////////////////////////
285
-
286
-    /**
287
-     * @param $javascript
288
-     */
289
-    public function dump($javascript)
290
-    {
291
-        echo $javascript;
292
-    }
293
-
294
-    /**
295
-     * @param         $id
296
-     * @param  null   $extend
297
-     * @return string
298
-     */
299
-    public function ID($id, $extend = null)
300
-    {
301
-        return "$('$id')" . (!empty($extend)) ? '.' . $extend . '()' : '';
302
-    }
303
-
304
-    /**
305
-     * @param $message
306
-     * @return string
307
-     */
308
-    public function alert($message)
309
-    {
310
-        return $this->call('alert', $message);
311
-    }
312
-
313
-    /**
314
-     * @param $variable
315
-     * @param $value
316
-     * @return string
317
-     */
318
-    public function assign($variable, $value)
319
-    {
320
-        return "$variable = $value;";
321
-    }
322
-
323
-    /**
324
-     * @param         $function
325
-     * @param  null   $args
326
-     * @return string
327
-     */
328
-    public function call($function, $args = null)
329
-    {
330
-        $arg_str = '';
331
-        if (is_array($args)) {
332
-            foreach ($args as $arg) {
333
-                if (!empty($arg_str)) {
334
-                    $arg_str .= ', ';
335
-                }
336
-                if (is_string($arg)) {
337
-                    $arg_str .= "'$arg'";
338
-                } else {
339
-                    $arg_str .= $arg;
340
-                }
341
-            }
342
-        } else {
343
-            if (is_string($args)) {
344
-                $arg_str .= "'$args'";
345
-            } else {
346
-                $arg_str .= $args;
347
-            }
348
-        }
349
-
350
-        return "$function($arg_str)";
351
-    }
352
-
353
-    /**
354
-     * @param  int    $seconds
355
-     * @param  string $script
356
-     * @return string
357
-     */
358
-    public function delay($seconds = 1, $script = '')
359
-    {
360
-        return "setTimeout( function() { $script } , " . ($seconds * 1000) . ' )';
361
-    }
362
-
363
-    /**
364
-     * @param $id
365
-     * @return string
366
-     */
367
-    public function hide($id)
368
-    {
369
-        return $this->call('Element.hide', $id);
370
-    }
371
-
372
-    /**
373
-     * @param         $position
374
-     * @param         $id
375
-     * @param  null   $options_for_render
376
-     * @return string
377
-     */
378
-    public function insert_html($position, $id, $options_for_render = null)
379
-    {
380
-        $args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
381
-
382
-        return $this->call('new Insertion.' . ucfirst($position), $args);
383
-    }
384
-
385
-    /**
386
-     * @param $location
387
-     * @return string
388
-     */
389
-    public function redirect_to($location)
390
-    {
391
-        return $this->assign('window.location.href', $location);
392
-    }
393
-
394
-    /**
395
-     * @param $id
396
-     * @return string
397
-     */
398
-    public function remove($id)
399
-    {
400
-        if (is_array($id)) {
401
-            $arr_str = '';
402
-            foreach ($id as $obj) {
403
-                if (!empty($arg_str)) {
404
-                    $arg_str .= ', ';
405
-                }
406
-                $arg_str .= "'$arg'";
407
-            }
408
-
409
-            return "$A[$arg_str].each(Element.remove)";
410
-        } else {
411
-            return "Element.remove('$id')";
412
-        }
413
-    }
414
-
415
-    /**
416
-     * @param $id
417
-     * @param $options_for_render
418
-     * @return string
419
-     */
420
-    public function replace($id, $options_for_render)
421
-    {
422
-        $args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
423
-
424
-        return $this->call('Element.replace', $args);
425
-    }
426
-
427
-    /**
428
-     * @param $id
429
-     * @param $options_for_render
430
-     * @return string
431
-     */
432
-    public function replace_html($id, $options_for_render)
433
-    {
434
-        $args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
435
-
436
-        return $this->call('Element.update', $args);
437
-    }
438
-
439
-    /**
440
-     * @param         $pattern
441
-     * @param  null   $extend
442
-     * @return string
443
-     */
444
-    public function select($pattern, $extend = null)
445
-    {
446
-        return "$$('$pattern')" . (!empty($extend)) ? '.' . $extend : '';
447
-    }
448
-
449
-    /**
450
-     * @param $id
451
-     * @return string
452
-     */
453
-    public function show($id)
454
-    {
455
-        return $this->call('Element.show', $id);
456
-    }
457
-
458
-    /**
459
-     * @param $id
460
-     * @return string
461
-     */
462
-    public function toggle($id)
463
-    {
464
-        return $this->call('Element.toggle', $id);
465
-    }
18
+	public $CALLBACKS = [
19
+		'uninitialized',
20
+		'loading',
21
+		'loaded',
22
+		'interactive',
23
+		'complete',
24
+		'failure',
25
+		'success'
26
+	];
27
+
28
+	public $AJAX_OPTIONS = [
29
+		'before',
30
+		'after',
31
+		'condition',
32
+		'url',
33
+		'asynchronous',
34
+		'method',
35
+		'insertion',
36
+		'position',
37
+		'form',
38
+		'with',
39
+		'update',
40
+		'script',
41
+		'uninitialized',
42
+		'loading',
43
+		'loaded',
44
+		'interactive',
45
+		'complete',
46
+		'failure',
47
+		'success'
48
+	];
49
+
50
+	/**
51
+	 * @return string
52
+	 */
53
+	public function evaluate_remote_response()
54
+	{
55
+		return 'eval(request.responseText)';
56
+	}
57
+
58
+	/**
59
+	 * @param $options
60
+	 * @return string
61
+	 */
62
+	public function form_remote_tag($options)
63
+	{
64
+		$options['form'] = true;
65
+
66
+		return '<form action="' . $options['url'] . '" onsubmit="' . $this->remote_function($options) . '; return false;" method="' . (isset($options['method']) ? $options['method'] : 'post') . '"  >';
67
+	}
68
+
69
+	/**
70
+	 * @param         $name
71
+	 * @param  null   $options
72
+	 * @param  null   $html_options
73
+	 * @return string
74
+	 */
75
+	public function link_to_remote($name, $options = null, $html_options = null)
76
+	{
77
+		return $this->link_to_function($name, $this->remote_function($options), $html_options);
78
+	}
79
+
80
+	/**
81
+	 * @param         $field_id
82
+	 * @param  null   $options
83
+	 * @return string
84
+	 */
85
+	public function observe_field($field_id, $options = null)
86
+	{
87
+		if (isset($options['frequency']) && $options['frequency'] > 0) {
88
+			return $this->_build_observer('Form.Element.Observer', $field_id, $options);
89
+		} else {
90
+			return $this->_build_observer('Form.Element.EventObserver', $field_id, $options);
91
+		}
92
+	}
93
+
94
+	/**
95
+	 * @param         $form_id
96
+	 * @param  null   $options
97
+	 * @return string
98
+	 */
99
+	public function observe_form($form_id, $options = null)
100
+	{
101
+		if (isset($options['frequency'])) {
102
+			return $this->_build_observer('Form.Observer', $form_id, $options);
103
+		} else {
104
+			return $this->_build_observer('Form.EventObserver', $form_id, $options);
105
+		}
106
+	}
107
+
108
+	/**
109
+	 * @param  null $options
110
+	 * @return string
111
+	 */
112
+	public function periodically_call_remote($options = null)
113
+	{
114
+		$frequency = isset($options['frequency']) ? $options['frequency'] : 10;
115
+		$code      = 'new PeriodicalExecuter(function() {' . $this->remote_function($options) . '},' . $frequency . ')';
116
+
117
+		return $code;
118
+	}
119
+
120
+	/**
121
+	 * @param $options
122
+	 * @return string
123
+	 */
124
+	public function remote_function($options)
125
+	{
126
+		$javascript_options = $this->_options_for_ajax($options);
127
+
128
+		$update = '';
129
+
130
+		if (isset($options['update']) && is_array($options['update'])) {
131
+			$update = isset($options['update']['success']) ? 'success: ' . $options['update']['success'] : '';
132
+			$update .= empty($update) ? '' : ',';
133
+			$update .= isset($options['update']['failure']) ? 'failure: ' . $options['update']['failure'] : '';
134
+		} else {
135
+			$update .= isset($options['update']) ? $options['update'] : '';
136
+		}
137
+
138
+		$ajax_function = empty($update) ? 'new Ajax.Request(' : 'new Ajax.Updater(\'' . $update . '\',';
139
+
140
+		$ajax_function .= "'" . $options['url'] . "'";
141
+		$ajax_function .= ',' . $javascript_options . ')';
142
+
143
+		$ajax_function = isset($options['before']) ? $options['before'] . ';' . $ajax_function : $ajax_function;
144
+		$ajax_function = isset($options['after']) ? $ajax_function . ';' . $options['after'] : $ajax_function;
145
+		$ajax_function = isset($options['condition']) ? 'if (' . $options['condition'] . ') {' . $ajax_function . '}' : $ajax_function;
146
+		$ajax_function = isset($options['confirm']) ? 'if ( confirm(\'' . $options['confirm'] . '\' ) ) { ' . $ajax_function . ' } ' : $ajax_function;
147
+
148
+		return $ajax_function;
149
+	}
150
+
151
+	/**
152
+	 * @param $name
153
+	 * @param $value
154
+	 * @param $options
155
+	 * @return string
156
+	 */
157
+	public function submit_to_remote($name, $value, $options)
158
+	{
159
+		if (isset($options['with'])) {
160
+			$options['with'] = 'Form.serialize(this.form)';
161
+		}
162
+
163
+		return '<input type="button" onclick="' . $this->remote_function($options) . '" name="' . $name . '" value ="' . $value . '">';
164
+	}
165
+
166
+	/**
167
+	 * @param      $element_id
168
+	 * @param null $options
169
+	 * @param      $block
170
+	 */
171
+	public function update_element_function($element_id, $options = null, $block)
172
+	{
173
+		$content = isset($options['content']) ? $options['content'] : '';
174
+		$content = $this->escape($content);
175
+	}
176
+
177
+	/**
178
+	 * @param $block
179
+	 */
180
+	public function update_page($block)
181
+	{
182
+	}
183
+
184
+	/**
185
+	 * @param $block
186
+	 * @return string
187
+	 */
188
+	public function update_page_tag(& $block)
189
+	{
190
+		return $this->tag($block);
191
+	}
192
+
193
+	/////////////////////////////////////////////////////////////////////////////////////
194
+	//                             Private functions
195
+	/////////////////////////////////////////////////////////////////////////////////////
196
+
197
+	/**
198
+	 * @param $options
199
+	 * @return array
200
+	 */
201
+	public function _build_callbacks($options)
202
+	{
203
+		$callbacks = [];
204
+		foreach ($options as $callback => $code) {
205
+			if (in_array($callback, $this->CALLBACKS)) {
206
+				$name             = 'on' . ucfirst($callback);
207
+				$callbacks[$name] = 'function(request){' . $code . '}';
208
+			}
209
+		}
210
+
211
+		return $callbacks;
212
+	}
213
+
214
+	/**
215
+	 * @param         $klass
216
+	 * @param         $name
217
+	 * @param  null   $options
218
+	 * @return string
219
+	 */
220
+	public function _build_observer($klass, $name, $options = null)
221
+	{
222
+		if (isset($options['with']) && false === strpos($options['with'], '=')) {
223
+			$options['with'] = '\'' . $options['with'] . '=\' + value';
224
+		} elseif (isset($options['with']) && isset($options['update'])) {
225
+			$options['with'] = 'value';
226
+		}
227
+
228
+		$callback = $options['function'] ?: $this->remote_function($options);
229
+
230
+		$javascript = "new $klass('$name', ";
231
+		$javascript .= isset($options['frequency']) ? $options['frequency'] . ', ' : '';
232
+		$javascript .= 'function (element,value) { ';
233
+		$javascript .= $callback;
234
+		$javascript .= isset($options['on']) ? ', ' . $options['on'] : '';
235
+		$javascript .= '})';
236
+
237
+		return $javascript;
238
+	}
239
+
240
+	/**
241
+	 * @param $method
242
+	 * @return string
243
+	 */
244
+	public function _method_option_to_s($method)
245
+	{
246
+		return false !== strpos($method, "'") ? $method : "'$method'";
247
+	}
248
+
249
+	/**
250
+	 * @param $options
251
+	 * @return string
252
+	 */
253
+	public function _options_for_ajax($options)
254
+	{
255
+		$js_options = is_array($options) ? $this->_build_callbacks($options) : [];
256
+
257
+		if (isset($options['type']) && 'synchronous' === $option['type']) {
258
+			$js_options['asynchronous'] = 'false';
259
+		}
260
+
261
+		if (isset($options['method'])) {
262
+			$js_options['method'] = $this->_method_option_to_s($options['method']);
263
+		}
264
+
265
+		if (isset($options['position'])) {
266
+			$js_options['insertion'] = 'Insertion.' . ucfirst($options['position']);
267
+		}
268
+
269
+		$js_options['evalScripts'] = isset($options['script']) ? $options['script'] : 'true';
270
+
271
+		if (isset($options['form'])) {
272
+			$js_options['parameters'] = 'Form.serialize(this)';
273
+		} elseif (isset($options['parameters'])) {
274
+			$js_options['parameters'] = 'Form.serialize(\'' . $options['submit'] . '\')';
275
+		} elseif (isset($options['with'])) {
276
+			$js_options['parameters'] = $options['with'];
277
+		}
278
+
279
+		return $this->_options_for_javascript($js_options);
280
+	}
281
+
282
+	/////////////////////////////////////////////////////////////////////////////////////
283
+	//                            Mergerd Javascript Generator helpers
284
+	/////////////////////////////////////////////////////////////////////////////////////
285
+
286
+	/**
287
+	 * @param $javascript
288
+	 */
289
+	public function dump($javascript)
290
+	{
291
+		echo $javascript;
292
+	}
293
+
294
+	/**
295
+	 * @param         $id
296
+	 * @param  null   $extend
297
+	 * @return string
298
+	 */
299
+	public function ID($id, $extend = null)
300
+	{
301
+		return "$('$id')" . (!empty($extend)) ? '.' . $extend . '()' : '';
302
+	}
303
+
304
+	/**
305
+	 * @param $message
306
+	 * @return string
307
+	 */
308
+	public function alert($message)
309
+	{
310
+		return $this->call('alert', $message);
311
+	}
312
+
313
+	/**
314
+	 * @param $variable
315
+	 * @param $value
316
+	 * @return string
317
+	 */
318
+	public function assign($variable, $value)
319
+	{
320
+		return "$variable = $value;";
321
+	}
322
+
323
+	/**
324
+	 * @param         $function
325
+	 * @param  null   $args
326
+	 * @return string
327
+	 */
328
+	public function call($function, $args = null)
329
+	{
330
+		$arg_str = '';
331
+		if (is_array($args)) {
332
+			foreach ($args as $arg) {
333
+				if (!empty($arg_str)) {
334
+					$arg_str .= ', ';
335
+				}
336
+				if (is_string($arg)) {
337
+					$arg_str .= "'$arg'";
338
+				} else {
339
+					$arg_str .= $arg;
340
+				}
341
+			}
342
+		} else {
343
+			if (is_string($args)) {
344
+				$arg_str .= "'$args'";
345
+			} else {
346
+				$arg_str .= $args;
347
+			}
348
+		}
349
+
350
+		return "$function($arg_str)";
351
+	}
352
+
353
+	/**
354
+	 * @param  int    $seconds
355
+	 * @param  string $script
356
+	 * @return string
357
+	 */
358
+	public function delay($seconds = 1, $script = '')
359
+	{
360
+		return "setTimeout( function() { $script } , " . ($seconds * 1000) . ' )';
361
+	}
362
+
363
+	/**
364
+	 * @param $id
365
+	 * @return string
366
+	 */
367
+	public function hide($id)
368
+	{
369
+		return $this->call('Element.hide', $id);
370
+	}
371
+
372
+	/**
373
+	 * @param         $position
374
+	 * @param         $id
375
+	 * @param  null   $options_for_render
376
+	 * @return string
377
+	 */
378
+	public function insert_html($position, $id, $options_for_render = null)
379
+	{
380
+		$args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
381
+
382
+		return $this->call('new Insertion.' . ucfirst($position), $args);
383
+	}
384
+
385
+	/**
386
+	 * @param $location
387
+	 * @return string
388
+	 */
389
+	public function redirect_to($location)
390
+	{
391
+		return $this->assign('window.location.href', $location);
392
+	}
393
+
394
+	/**
395
+	 * @param $id
396
+	 * @return string
397
+	 */
398
+	public function remove($id)
399
+	{
400
+		if (is_array($id)) {
401
+			$arr_str = '';
402
+			foreach ($id as $obj) {
403
+				if (!empty($arg_str)) {
404
+					$arg_str .= ', ';
405
+				}
406
+				$arg_str .= "'$arg'";
407
+			}
408
+
409
+			return "$A[$arg_str].each(Element.remove)";
410
+		} else {
411
+			return "Element.remove('$id')";
412
+		}
413
+	}
414
+
415
+	/**
416
+	 * @param $id
417
+	 * @param $options_for_render
418
+	 * @return string
419
+	 */
420
+	public function replace($id, $options_for_render)
421
+	{
422
+		$args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
423
+
424
+		return $this->call('Element.replace', $args);
425
+	}
426
+
427
+	/**
428
+	 * @param $id
429
+	 * @param $options_for_render
430
+	 * @return string
431
+	 */
432
+	public function replace_html($id, $options_for_render)
433
+	{
434
+		$args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
435
+
436
+		return $this->call('Element.update', $args);
437
+	}
438
+
439
+	/**
440
+	 * @param         $pattern
441
+	 * @param  null   $extend
442
+	 * @return string
443
+	 */
444
+	public function select($pattern, $extend = null)
445
+	{
446
+		return "$$('$pattern')" . (!empty($extend)) ? '.' . $extend : '';
447
+	}
448
+
449
+	/**
450
+	 * @param $id
451
+	 * @return string
452
+	 */
453
+	public function show($id)
454
+	{
455
+		return $this->call('Element.show', $id);
456
+	}
457
+
458
+	/**
459
+	 * @param $id
460
+	 * @return string
461
+	 */
462
+	public function toggle($id)
463
+	{
464
+		return $this->call('Element.toggle', $id);
465
+	}
466 466
 }
Please login to merge, or discard this patch.
include/projax/projax.php 1 patch
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -14,16 +14,16 @@
 block discarded – undo
14 14
  */
15 15
 
16 16
 if (!class_exists('Projax')) {
17
-    include __DIR__ . '/classes/JavaScript.php';
18
-    include __DIR__ . '/classes/Prototype.php';
19
-    include __DIR__ . '/classes/Scriptaculous.php';
17
+	include __DIR__ . '/classes/JavaScript.php';
18
+	include __DIR__ . '/classes/Prototype.php';
19
+	include __DIR__ . '/classes/Scriptaculous.php';
20 20
 
21
-    // For $projax = new Projax();
21
+	// For $projax = new Projax();
22 22
 
23
-    /**
24
-     * Class projax
25
-     */
26
-    class projax extends Scriptaculous
27
-    {
28
-    }
23
+	/**
24
+	 * Class projax
25
+	 */
26
+	class projax extends Scriptaculous
27
+	{
28
+	}
29 29
 }
Please login to merge, or discard this patch.
include/projax_/classes/JavaScript.php 2 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
 
28 28
     /**
29 29
      * @param $javascript
30
-     * @return mixed|string
30
+     * @return string
31 31
      */
32 32
     public function escape($javascript)
33 33
     {
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 
49 49
     /**
50 50
      * @param         $name
51
-     * @param         $function
51
+     * @param         string $function
52 52
      * @param  null   $html_options
53 53
      * @return string
54 54
      */
Please login to merge, or discard this patch.
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -15,90 +15,90 @@
 block discarded – undo
15 15
  */
16 16
 class JavaScript
17 17
 {
18
-    /**
19
-     * @param         $name
20
-     * @param  null   $function
21
-     * @return string
22
-     */
23
-    public function button_to_function($name, $function = null)
24
-    {
25
-        return '<input type="button" value="' . $name . '" onclick="' . $function . '">';
26
-    }
18
+	/**
19
+	 * @param         $name
20
+	 * @param  null   $function
21
+	 * @return string
22
+	 */
23
+	public function button_to_function($name, $function = null)
24
+	{
25
+		return '<input type="button" value="' . $name . '" onclick="' . $function . '">';
26
+	}
27 27
 
28
-    /**
29
-     * @param $javascript
30
-     * @return mixed|string
31
-     */
32
-    public function escape($javascript)
33
-    {
34
-        $javascript = addslashes($javascript);
35
-        $javascript = str_replace(["\r\n", "\n", "\r"], ["\n"], $javascript);
28
+	/**
29
+	 * @param $javascript
30
+	 * @return mixed|string
31
+	 */
32
+	public function escape($javascript)
33
+	{
34
+		$javascript = addslashes($javascript);
35
+		$javascript = str_replace(["\r\n", "\n", "\r"], ["\n"], $javascript);
36 36
 
37
-        return $javascript;
38
-    }
37
+		return $javascript;
38
+	}
39 39
 
40
-    /**
41
-     * @param $content
42
-     * @return string
43
-     */
44
-    public function tag($content)
45
-    {
46
-        return '<script type="text/javascript">' . $content . '</script>';
47
-    }
40
+	/**
41
+	 * @param $content
42
+	 * @return string
43
+	 */
44
+	public function tag($content)
45
+	{
46
+		return '<script type="text/javascript">' . $content . '</script>';
47
+	}
48 48
 
49
-    /**
50
-     * @param         $name
51
-     * @param         $function
52
-     * @param  null   $html_options
53
-     * @return string
54
-     */
55
-    public function link_to_function($name, $function, $html_options = null)
56
-    {
57
-        return '<a href="' . (isset($html_options['href']) ? $html_options['href'] : '#') . '" onclick="' . (isset($html_options['onclick']) ? $html_options['onclick'] . ';' : '') . $function . '; return false;">' . $name . '</a>';
58
-    }
49
+	/**
50
+	 * @param         $name
51
+	 * @param         $function
52
+	 * @param  null   $html_options
53
+	 * @return string
54
+	 */
55
+	public function link_to_function($name, $function, $html_options = null)
56
+	{
57
+		return '<a href="' . (isset($html_options['href']) ? $html_options['href'] : '#') . '" onclick="' . (isset($html_options['onclick']) ? $html_options['onclick'] . ';' : '') . $function . '; return false;">' . $name . '</a>';
58
+	}
59 59
 
60
-    /////////////////////////////////////////////////////////////////////////////////////
61
-    //                             Private functions
62
-    /////////////////////////////////////////////////////////////////////////////////////
60
+	/////////////////////////////////////////////////////////////////////////////////////
61
+	//                             Private functions
62
+	/////////////////////////////////////////////////////////////////////////////////////
63 63
 
64
-    /**
65
-     * @param $option
66
-     * @return string
67
-     */
68
-    public function _array_or_string_for_javascript($option)
69
-    {
70
-        $return_val = '';
71
-        if (is_array($option)) {
72
-            foreach ($option as $value) {
73
-                if (!empty($return_val)) {
74
-                    $ret_val .= ', ';
75
-                }
76
-                $return_val .= $value;
77
-            }
64
+	/**
65
+	 * @param $option
66
+	 * @return string
67
+	 */
68
+	public function _array_or_string_for_javascript($option)
69
+	{
70
+		$return_val = '';
71
+		if (is_array($option)) {
72
+			foreach ($option as $value) {
73
+				if (!empty($return_val)) {
74
+					$ret_val .= ', ';
75
+				}
76
+				$return_val .= $value;
77
+			}
78 78
 
79
-            return '[' . $return_val . ']';
80
-        }
79
+			return '[' . $return_val . ']';
80
+		}
81 81
 
82
-        return "'$option'";
83
-    }
82
+		return "'$option'";
83
+	}
84 84
 
85
-    /**
86
-     * @param $options
87
-     * @return string
88
-     */
89
-    public function _options_for_javascript($options)
90
-    {
91
-        $return_val = '';
85
+	/**
86
+	 * @param $options
87
+	 * @return string
88
+	 */
89
+	public function _options_for_javascript($options)
90
+	{
91
+		$return_val = '';
92 92
 
93
-        if (is_array($options)) {
94
-            foreach ($options as $var => $val) {
95
-                if (!empty($return_val)) {
96
-                    $return_val .= ', ';
97
-                }
98
-                $return_val .= "$var:$val";
99
-            }
100
-        }
93
+		if (is_array($options)) {
94
+			foreach ($options as $var => $val) {
95
+				if (!empty($return_val)) {
96
+					$return_val .= ', ';
97
+				}
98
+				$return_val .= "$var:$val";
99
+			}
100
+		}
101 101
 
102
-        return '{' . $return_val . '}';
103
-    }
102
+		return '{' . $return_val . '}';
103
+	}
104 104
 }
Please login to merge, or discard this patch.
include/projax_/classes/Prototype.php 2 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
     }
213 213
 
214 214
     /**
215
-     * @param         $klass
215
+     * @param         string $klass
216 216
      * @param         $name
217 217
      * @param  null   $options
218 218
      * @return string
@@ -311,7 +311,7 @@  discard block
 block discarded – undo
311 311
     }
312 312
 
313 313
     /**
314
-     * @param $variable
314
+     * @param string $variable
315 315
      * @param $value
316 316
      * @return string
317 317
      */
@@ -321,7 +321,7 @@  discard block
 block discarded – undo
321 321
     }
322 322
 
323 323
     /**
324
-     * @param         $function
324
+     * @param         string $function
325 325
      * @param  null   $args
326 326
      * @return string
327 327
      */
Please login to merge, or discard this patch.
Indentation   +448 added lines, -448 removed lines patch added patch discarded remove patch
@@ -15,452 +15,452 @@
 block discarded – undo
15 15
  */
16 16
 class Prototype extends JavaScript
17 17
 {
18
-    public $CALLBACKS = [
19
-        'uninitialized',
20
-        'loading',
21
-        'loaded',
22
-        'interactive',
23
-        'complete',
24
-        'failure',
25
-        'success'
26
-    ];
27
-
28
-    public $AJAX_OPTIONS = [
29
-        'before',
30
-        'after',
31
-        'condition',
32
-        'url',
33
-        'asynchronous',
34
-        'method',
35
-        'insertion',
36
-        'position',
37
-        'form',
38
-        'with',
39
-        'update',
40
-        'script',
41
-        'uninitialized',
42
-        'loading',
43
-        'loaded',
44
-        'interactive',
45
-        'complete',
46
-        'failure',
47
-        'success'
48
-    ];
49
-
50
-    /**
51
-     * @return string
52
-     */
53
-    public function evaluate_remote_response()
54
-    {
55
-        return 'eval(request.responseText)';
56
-    }
57
-
58
-    /**
59
-     * @param $options
60
-     * @return string
61
-     */
62
-    public function form_remote_tag($options)
63
-    {
64
-        $options['form'] = true;
65
-
66
-        return '<form action="' . $options['url'] . '" onsubmit="' . $this->remote_function($options) . '; return false;" method="' . (isset($options['method']) ? $options['method'] : 'post') . '"  >';
67
-    }
68
-
69
-    /**
70
-     * @param         $name
71
-     * @param  null   $options
72
-     * @param  null   $html_options
73
-     * @return string
74
-     */
75
-    public function link_to_remote($name, $options = null, $html_options = null)
76
-    {
77
-        return $this->link_to_function($name, $this->remote_function($options), $html_options);
78
-    }
79
-
80
-    /**
81
-     * @param         $field_id
82
-     * @param  null   $options
83
-     * @return string
84
-     */
85
-    public function observe_field($field_id, $options = null)
86
-    {
87
-        if (isset($options['frequency']) && $options['frequency'] > 0) {
88
-            return $this->_build_observer('Form.Element.Observer', $field_id, $options);
89
-        } else {
90
-            return $this->_build_observer('Form.Element.EventObserver', $field_id, $options);
91
-        }
92
-    }
93
-
94
-    /**
95
-     * @param         $form_id
96
-     * @param  null   $options
97
-     * @return string
98
-     */
99
-    public function observe_form($form_id, $options = null)
100
-    {
101
-        if (isset($options['frequency'])) {
102
-            return $this->_build_observer('Form.Observer', $form_id, $options);
103
-        } else {
104
-            return $this->_build_observer('Form.EventObserver', $form_id, $options);
105
-        }
106
-    }
107
-
108
-    /**
109
-     * @param  null $options
110
-     * @return string
111
-     */
112
-    public function periodically_call_remote($options = null)
113
-    {
114
-        $frequency = isset($options['frequency']) ? $options['frequency'] : 10;
115
-        $code      = 'new PeriodicalExecuter(function() {' . $this->remote_function($options) . '},' . $frequency . ')';
116
-
117
-        return $code;
118
-    }
119
-
120
-    /**
121
-     * @param $options
122
-     * @return string
123
-     */
124
-    public function remote_function($options)
125
-    {
126
-        $javascript_options = $this->_options_for_ajax($options);
127
-
128
-        $update = '';
129
-
130
-        if (isset($options['update']) && is_array($options['update'])) {
131
-            $update = isset($options['update']['success']) ? 'success: ' . $options['update']['success'] : '';
132
-            $update .= empty($update) ? '' : ',';
133
-            $update .= isset($options['update']['failure']) ? 'failure: ' . $options['update']['failure'] : '';
134
-        } else {
135
-            $update .= isset($options['update']) ? $options['update'] : '';
136
-        }
137
-
138
-        $ajax_function = empty($update) ? 'new Ajax.Request(' : 'new Ajax.Updater(\'' . $update . '\',';
139
-
140
-        $ajax_function .= "'" . $options['url'] . "'";
141
-        $ajax_function .= ',' . $javascript_options . ')';
142
-
143
-        $ajax_function = isset($options['before']) ? $options['before'] . ';' . $ajax_function : $ajax_function;
144
-        $ajax_function = isset($options['after']) ? $ajax_function . ';' . $options['after'] : $ajax_function;
145
-        $ajax_function = isset($options['condition']) ? 'if (' . $options['condition'] . ') {' . $ajax_function . '}' : $ajax_function;
146
-        $ajax_function = isset($options['confirm']) ? 'if ( confirm(\'' . $options['confirm'] . '\' ) ) { ' . $ajax_function . ' } ' : $ajax_function;
147
-
148
-        return $ajax_function;
149
-    }
150
-
151
-    /**
152
-     * @param $name
153
-     * @param $value
154
-     * @param $options
155
-     * @return string
156
-     */
157
-    public function submit_to_remote($name, $value, $options)
158
-    {
159
-        if (isset($options['with'])) {
160
-            $options['with'] = 'Form.serialize(this.form)';
161
-        }
162
-
163
-        return '<input type="button" onclick="' . $this->remote_function($options) . '" name="' . $name . '" value ="' . $value . '">';
164
-    }
165
-
166
-    /**
167
-     * @param      $element_id
168
-     * @param null $options
169
-     * @param      $block
170
-     */
171
-    public function update_element_function($element_id, $options = null, $block)
172
-    {
173
-        $content = isset($options['content']) ? $options['content'] : '';
174
-        $content = $this->escape($content);
175
-    }
176
-
177
-    /**
178
-     * @param $block
179
-     */
180
-    public function update_page($block)
181
-    {
182
-    }
183
-
184
-    /**
185
-     * @param $block
186
-     * @return string
187
-     */
188
-    public function update_page_tag(& $block)
189
-    {
190
-        return $this->tag($block);
191
-    }
192
-
193
-    /////////////////////////////////////////////////////////////////////////////////////
194
-    //                             Private functions
195
-    /////////////////////////////////////////////////////////////////////////////////////
196
-
197
-    /**
198
-     * @param $options
199
-     * @return array
200
-     */
201
-    public function _build_callbacks($options)
202
-    {
203
-        $callbacks = [];
204
-        foreach ($options as $callback => $code) {
205
-            if (in_array($callback, $this->CALLBACKS)) {
206
-                $name             = 'on' . ucfirst($callback);
207
-                $callbacks[$name] = 'function(request){' . $code . '}';
208
-            }
209
-        }
210
-
211
-        return $callbacks;
212
-    }
213
-
214
-    /**
215
-     * @param         $klass
216
-     * @param         $name
217
-     * @param  null   $options
218
-     * @return string
219
-     */
220
-    public function _build_observer($klass, $name, $options = null)
221
-    {
222
-        if (isset($options['with']) && false === strpos($options['with'], '=')) {
223
-            $options['with'] = '\'' . $options['with'] . '=\' + value';
224
-        } elseif (isset($options['with']) && isset($options['update'])) {
225
-            $options['with'] = 'value';
226
-        }
227
-
228
-        $callback = $options['function'] ?: $this->remote_function($options);
229
-
230
-        $javascript = "new $klass('$name', ";
231
-        $javascript .= isset($options['frequency']) ? $options['frequency'] . ', ' : '';
232
-        $javascript .= 'function (element,value) { ';
233
-        $javascript .= $callback;
234
-        $javascript .= isset($options['on']) ? ', ' . $options['on'] : '';
235
-        $javascript .= '})';
236
-
237
-        return $javascript;
238
-    }
239
-
240
-    /**
241
-     * @param $method
242
-     * @return string
243
-     */
244
-    public function _method_option_to_s($method)
245
-    {
246
-        return false !== strpos($method, "'") ? $method : "'$method'";
247
-    }
248
-
249
-    /**
250
-     * @param $options
251
-     * @return string
252
-     */
253
-    public function _options_for_ajax($options)
254
-    {
255
-        $js_options = is_array($options) ? $this->_build_callbacks($options) : [];
256
-
257
-        if (isset($options['type']) && 'synchronous' === $option['type']) {
258
-            $js_options['asynchronous'] = 'false';
259
-        }
260
-
261
-        if (isset($options['method'])) {
262
-            $js_options['method'] = $this->_method_option_to_s($options['method']);
263
-        }
264
-
265
-        if (isset($options['position'])) {
266
-            $js_options['insertion'] = 'Insertion.' . ucfirst($options['position']);
267
-        }
268
-
269
-        $js_options['evalScripts'] = isset($options['script']) ? $options['script'] : 'true';
270
-
271
-        if (isset($options['form'])) {
272
-            $js_options['parameters'] = 'Form.serialize(this)';
273
-        } elseif (isset($options['parameters'])) {
274
-            $js_options['parameters'] = 'Form.serialize(\'' . $options['submit'] . '\')';
275
-        } elseif (isset($options['with'])) {
276
-            $js_options['parameters'] = $options['with'];
277
-        }
278
-
279
-        return $this->_options_for_javascript($js_options);
280
-    }
281
-
282
-    /////////////////////////////////////////////////////////////////////////////////////
283
-    //                            Mergerd Javascript Generator helpers
284
-    /////////////////////////////////////////////////////////////////////////////////////
285
-
286
-    /**
287
-     * @param $javascript
288
-     */
289
-    public function dump($javascript)
290
-    {
291
-        echo $javascript;
292
-    }
293
-
294
-    /**
295
-     * @param         $id
296
-     * @param  null   $extend
297
-     * @return string
298
-     */
299
-    public function ID($id, $extend = null)
300
-    {
301
-        return "$('$id')" . (!empty($extend)) ? '.' . $extend . '()' : '';
302
-    }
303
-
304
-    /**
305
-     * @param $message
306
-     * @return string
307
-     */
308
-    public function alert($message)
309
-    {
310
-        return $this->call('alert', $message);
311
-    }
312
-
313
-    /**
314
-     * @param $variable
315
-     * @param $value
316
-     * @return string
317
-     */
318
-    public function assign($variable, $value)
319
-    {
320
-        return "$variable = $value;";
321
-    }
322
-
323
-    /**
324
-     * @param         $function
325
-     * @param  null   $args
326
-     * @return string
327
-     */
328
-    public function call($function, $args = null)
329
-    {
330
-        $arg_str = '';
331
-        if (is_array($args)) {
332
-            foreach ($args as $arg) {
333
-                if (!empty($arg_str)) {
334
-                    $arg_str .= ', ';
335
-                }
336
-                if (is_string($arg)) {
337
-                    $arg_str .= "'$arg'";
338
-                } else {
339
-                    $arg_str .= $arg;
340
-                }
341
-            }
342
-        } else {
343
-            if (is_string($args)) {
344
-                $arg_str .= "'$args'";
345
-            } else {
346
-                $arg_str .= $args;
347
-            }
348
-        }
349
-
350
-        return "$function($arg_str)";
351
-    }
352
-
353
-    /**
354
-     * @param  int    $seconds
355
-     * @param  string $script
356
-     * @return string
357
-     */
358
-    public function delay($seconds = 1, $script = '')
359
-    {
360
-        return "setTimeout( function() { $script } , " . ($seconds * 1000) . ' )';
361
-    }
362
-
363
-    /**
364
-     * @param $id
365
-     * @return string
366
-     */
367
-    public function hide($id)
368
-    {
369
-        return $this->call('Element.hide', $id);
370
-    }
371
-
372
-    /**
373
-     * @param         $position
374
-     * @param         $id
375
-     * @param  null   $options_for_render
376
-     * @return string
377
-     */
378
-    public function insert_html($position, $id, $options_for_render = null)
379
-    {
380
-        $args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
381
-
382
-        return $this->call('new Insertion.' . ucfirst($position), $args);
383
-    }
384
-
385
-    /**
386
-     * @param $location
387
-     * @return string
388
-     */
389
-    public function redirect_to($location)
390
-    {
391
-        return $this->assign('window.location.href', $location);
392
-    }
393
-
394
-    /**
395
-     * @param $id
396
-     * @return string
397
-     */
398
-    public function remove($id)
399
-    {
400
-        if (is_array($id)) {
401
-            $arr_str = '';
402
-            foreach ($id as $obj) {
403
-                if (!empty($arg_str)) {
404
-                    $arg_str .= ', ';
405
-                }
406
-                $arg_str .= "'$arg'";
407
-            }
408
-
409
-            return "$A[$arg_str].each(Element.remove)";
410
-        } else {
411
-            return "Element.remove('$id')";
412
-        }
413
-    }
414
-
415
-    /**
416
-     * @param $id
417
-     * @param $options_for_render
418
-     * @return string
419
-     */
420
-    public function replace($id, $options_for_render)
421
-    {
422
-        $args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
423
-
424
-        return $this->call('Element.replace', $args);
425
-    }
426
-
427
-    /**
428
-     * @param $id
429
-     * @param $options_for_render
430
-     * @return string
431
-     */
432
-    public function replace_html($id, $options_for_render)
433
-    {
434
-        $args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
435
-
436
-        return $this->call('Element.update', $args);
437
-    }
438
-
439
-    /**
440
-     * @param         $pattern
441
-     * @param  null   $extend
442
-     * @return string
443
-     */
444
-    public function select($pattern, $extend = null)
445
-    {
446
-        return "$$('$pattern')" . (!empty($extend)) ? '.' . $extend : '';
447
-    }
448
-
449
-    /**
450
-     * @param $id
451
-     * @return string
452
-     */
453
-    public function show($id)
454
-    {
455
-        return $this->call('Element.show', $id);
456
-    }
457
-
458
-    /**
459
-     * @param $id
460
-     * @return string
461
-     */
462
-    public function toggle($id)
463
-    {
464
-        return $this->call('Element.toggle', $id);
465
-    }
18
+	public $CALLBACKS = [
19
+		'uninitialized',
20
+		'loading',
21
+		'loaded',
22
+		'interactive',
23
+		'complete',
24
+		'failure',
25
+		'success'
26
+	];
27
+
28
+	public $AJAX_OPTIONS = [
29
+		'before',
30
+		'after',
31
+		'condition',
32
+		'url',
33
+		'asynchronous',
34
+		'method',
35
+		'insertion',
36
+		'position',
37
+		'form',
38
+		'with',
39
+		'update',
40
+		'script',
41
+		'uninitialized',
42
+		'loading',
43
+		'loaded',
44
+		'interactive',
45
+		'complete',
46
+		'failure',
47
+		'success'
48
+	];
49
+
50
+	/**
51
+	 * @return string
52
+	 */
53
+	public function evaluate_remote_response()
54
+	{
55
+		return 'eval(request.responseText)';
56
+	}
57
+
58
+	/**
59
+	 * @param $options
60
+	 * @return string
61
+	 */
62
+	public function form_remote_tag($options)
63
+	{
64
+		$options['form'] = true;
65
+
66
+		return '<form action="' . $options['url'] . '" onsubmit="' . $this->remote_function($options) . '; return false;" method="' . (isset($options['method']) ? $options['method'] : 'post') . '"  >';
67
+	}
68
+
69
+	/**
70
+	 * @param         $name
71
+	 * @param  null   $options
72
+	 * @param  null   $html_options
73
+	 * @return string
74
+	 */
75
+	public function link_to_remote($name, $options = null, $html_options = null)
76
+	{
77
+		return $this->link_to_function($name, $this->remote_function($options), $html_options);
78
+	}
79
+
80
+	/**
81
+	 * @param         $field_id
82
+	 * @param  null   $options
83
+	 * @return string
84
+	 */
85
+	public function observe_field($field_id, $options = null)
86
+	{
87
+		if (isset($options['frequency']) && $options['frequency'] > 0) {
88
+			return $this->_build_observer('Form.Element.Observer', $field_id, $options);
89
+		} else {
90
+			return $this->_build_observer('Form.Element.EventObserver', $field_id, $options);
91
+		}
92
+	}
93
+
94
+	/**
95
+	 * @param         $form_id
96
+	 * @param  null   $options
97
+	 * @return string
98
+	 */
99
+	public function observe_form($form_id, $options = null)
100
+	{
101
+		if (isset($options['frequency'])) {
102
+			return $this->_build_observer('Form.Observer', $form_id, $options);
103
+		} else {
104
+			return $this->_build_observer('Form.EventObserver', $form_id, $options);
105
+		}
106
+	}
107
+
108
+	/**
109
+	 * @param  null $options
110
+	 * @return string
111
+	 */
112
+	public function periodically_call_remote($options = null)
113
+	{
114
+		$frequency = isset($options['frequency']) ? $options['frequency'] : 10;
115
+		$code      = 'new PeriodicalExecuter(function() {' . $this->remote_function($options) . '},' . $frequency . ')';
116
+
117
+		return $code;
118
+	}
119
+
120
+	/**
121
+	 * @param $options
122
+	 * @return string
123
+	 */
124
+	public function remote_function($options)
125
+	{
126
+		$javascript_options = $this->_options_for_ajax($options);
127
+
128
+		$update = '';
129
+
130
+		if (isset($options['update']) && is_array($options['update'])) {
131
+			$update = isset($options['update']['success']) ? 'success: ' . $options['update']['success'] : '';
132
+			$update .= empty($update) ? '' : ',';
133
+			$update .= isset($options['update']['failure']) ? 'failure: ' . $options['update']['failure'] : '';
134
+		} else {
135
+			$update .= isset($options['update']) ? $options['update'] : '';
136
+		}
137
+
138
+		$ajax_function = empty($update) ? 'new Ajax.Request(' : 'new Ajax.Updater(\'' . $update . '\',';
139
+
140
+		$ajax_function .= "'" . $options['url'] . "'";
141
+		$ajax_function .= ',' . $javascript_options . ')';
142
+
143
+		$ajax_function = isset($options['before']) ? $options['before'] . ';' . $ajax_function : $ajax_function;
144
+		$ajax_function = isset($options['after']) ? $ajax_function . ';' . $options['after'] : $ajax_function;
145
+		$ajax_function = isset($options['condition']) ? 'if (' . $options['condition'] . ') {' . $ajax_function . '}' : $ajax_function;
146
+		$ajax_function = isset($options['confirm']) ? 'if ( confirm(\'' . $options['confirm'] . '\' ) ) { ' . $ajax_function . ' } ' : $ajax_function;
147
+
148
+		return $ajax_function;
149
+	}
150
+
151
+	/**
152
+	 * @param $name
153
+	 * @param $value
154
+	 * @param $options
155
+	 * @return string
156
+	 */
157
+	public function submit_to_remote($name, $value, $options)
158
+	{
159
+		if (isset($options['with'])) {
160
+			$options['with'] = 'Form.serialize(this.form)';
161
+		}
162
+
163
+		return '<input type="button" onclick="' . $this->remote_function($options) . '" name="' . $name . '" value ="' . $value . '">';
164
+	}
165
+
166
+	/**
167
+	 * @param      $element_id
168
+	 * @param null $options
169
+	 * @param      $block
170
+	 */
171
+	public function update_element_function($element_id, $options = null, $block)
172
+	{
173
+		$content = isset($options['content']) ? $options['content'] : '';
174
+		$content = $this->escape($content);
175
+	}
176
+
177
+	/**
178
+	 * @param $block
179
+	 */
180
+	public function update_page($block)
181
+	{
182
+	}
183
+
184
+	/**
185
+	 * @param $block
186
+	 * @return string
187
+	 */
188
+	public function update_page_tag(& $block)
189
+	{
190
+		return $this->tag($block);
191
+	}
192
+
193
+	/////////////////////////////////////////////////////////////////////////////////////
194
+	//                             Private functions
195
+	/////////////////////////////////////////////////////////////////////////////////////
196
+
197
+	/**
198
+	 * @param $options
199
+	 * @return array
200
+	 */
201
+	public function _build_callbacks($options)
202
+	{
203
+		$callbacks = [];
204
+		foreach ($options as $callback => $code) {
205
+			if (in_array($callback, $this->CALLBACKS)) {
206
+				$name             = 'on' . ucfirst($callback);
207
+				$callbacks[$name] = 'function(request){' . $code . '}';
208
+			}
209
+		}
210
+
211
+		return $callbacks;
212
+	}
213
+
214
+	/**
215
+	 * @param         $klass
216
+	 * @param         $name
217
+	 * @param  null   $options
218
+	 * @return string
219
+	 */
220
+	public function _build_observer($klass, $name, $options = null)
221
+	{
222
+		if (isset($options['with']) && false === strpos($options['with'], '=')) {
223
+			$options['with'] = '\'' . $options['with'] . '=\' + value';
224
+		} elseif (isset($options['with']) && isset($options['update'])) {
225
+			$options['with'] = 'value';
226
+		}
227
+
228
+		$callback = $options['function'] ?: $this->remote_function($options);
229
+
230
+		$javascript = "new $klass('$name', ";
231
+		$javascript .= isset($options['frequency']) ? $options['frequency'] . ', ' : '';
232
+		$javascript .= 'function (element,value) { ';
233
+		$javascript .= $callback;
234
+		$javascript .= isset($options['on']) ? ', ' . $options['on'] : '';
235
+		$javascript .= '})';
236
+
237
+		return $javascript;
238
+	}
239
+
240
+	/**
241
+	 * @param $method
242
+	 * @return string
243
+	 */
244
+	public function _method_option_to_s($method)
245
+	{
246
+		return false !== strpos($method, "'") ? $method : "'$method'";
247
+	}
248
+
249
+	/**
250
+	 * @param $options
251
+	 * @return string
252
+	 */
253
+	public function _options_for_ajax($options)
254
+	{
255
+		$js_options = is_array($options) ? $this->_build_callbacks($options) : [];
256
+
257
+		if (isset($options['type']) && 'synchronous' === $option['type']) {
258
+			$js_options['asynchronous'] = 'false';
259
+		}
260
+
261
+		if (isset($options['method'])) {
262
+			$js_options['method'] = $this->_method_option_to_s($options['method']);
263
+		}
264
+
265
+		if (isset($options['position'])) {
266
+			$js_options['insertion'] = 'Insertion.' . ucfirst($options['position']);
267
+		}
268
+
269
+		$js_options['evalScripts'] = isset($options['script']) ? $options['script'] : 'true';
270
+
271
+		if (isset($options['form'])) {
272
+			$js_options['parameters'] = 'Form.serialize(this)';
273
+		} elseif (isset($options['parameters'])) {
274
+			$js_options['parameters'] = 'Form.serialize(\'' . $options['submit'] . '\')';
275
+		} elseif (isset($options['with'])) {
276
+			$js_options['parameters'] = $options['with'];
277
+		}
278
+
279
+		return $this->_options_for_javascript($js_options);
280
+	}
281
+
282
+	/////////////////////////////////////////////////////////////////////////////////////
283
+	//                            Mergerd Javascript Generator helpers
284
+	/////////////////////////////////////////////////////////////////////////////////////
285
+
286
+	/**
287
+	 * @param $javascript
288
+	 */
289
+	public function dump($javascript)
290
+	{
291
+		echo $javascript;
292
+	}
293
+
294
+	/**
295
+	 * @param         $id
296
+	 * @param  null   $extend
297
+	 * @return string
298
+	 */
299
+	public function ID($id, $extend = null)
300
+	{
301
+		return "$('$id')" . (!empty($extend)) ? '.' . $extend . '()' : '';
302
+	}
303
+
304
+	/**
305
+	 * @param $message
306
+	 * @return string
307
+	 */
308
+	public function alert($message)
309
+	{
310
+		return $this->call('alert', $message);
311
+	}
312
+
313
+	/**
314
+	 * @param $variable
315
+	 * @param $value
316
+	 * @return string
317
+	 */
318
+	public function assign($variable, $value)
319
+	{
320
+		return "$variable = $value;";
321
+	}
322
+
323
+	/**
324
+	 * @param         $function
325
+	 * @param  null   $args
326
+	 * @return string
327
+	 */
328
+	public function call($function, $args = null)
329
+	{
330
+		$arg_str = '';
331
+		if (is_array($args)) {
332
+			foreach ($args as $arg) {
333
+				if (!empty($arg_str)) {
334
+					$arg_str .= ', ';
335
+				}
336
+				if (is_string($arg)) {
337
+					$arg_str .= "'$arg'";
338
+				} else {
339
+					$arg_str .= $arg;
340
+				}
341
+			}
342
+		} else {
343
+			if (is_string($args)) {
344
+				$arg_str .= "'$args'";
345
+			} else {
346
+				$arg_str .= $args;
347
+			}
348
+		}
349
+
350
+		return "$function($arg_str)";
351
+	}
352
+
353
+	/**
354
+	 * @param  int    $seconds
355
+	 * @param  string $script
356
+	 * @return string
357
+	 */
358
+	public function delay($seconds = 1, $script = '')
359
+	{
360
+		return "setTimeout( function() { $script } , " . ($seconds * 1000) . ' )';
361
+	}
362
+
363
+	/**
364
+	 * @param $id
365
+	 * @return string
366
+	 */
367
+	public function hide($id)
368
+	{
369
+		return $this->call('Element.hide', $id);
370
+	}
371
+
372
+	/**
373
+	 * @param         $position
374
+	 * @param         $id
375
+	 * @param  null   $options_for_render
376
+	 * @return string
377
+	 */
378
+	public function insert_html($position, $id, $options_for_render = null)
379
+	{
380
+		$args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
381
+
382
+		return $this->call('new Insertion.' . ucfirst($position), $args);
383
+	}
384
+
385
+	/**
386
+	 * @param $location
387
+	 * @return string
388
+	 */
389
+	public function redirect_to($location)
390
+	{
391
+		return $this->assign('window.location.href', $location);
392
+	}
393
+
394
+	/**
395
+	 * @param $id
396
+	 * @return string
397
+	 */
398
+	public function remove($id)
399
+	{
400
+		if (is_array($id)) {
401
+			$arr_str = '';
402
+			foreach ($id as $obj) {
403
+				if (!empty($arg_str)) {
404
+					$arg_str .= ', ';
405
+				}
406
+				$arg_str .= "'$arg'";
407
+			}
408
+
409
+			return "$A[$arg_str].each(Element.remove)";
410
+		} else {
411
+			return "Element.remove('$id')";
412
+		}
413
+	}
414
+
415
+	/**
416
+	 * @param $id
417
+	 * @param $options_for_render
418
+	 * @return string
419
+	 */
420
+	public function replace($id, $options_for_render)
421
+	{
422
+		$args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
423
+
424
+		return $this->call('Element.replace', $args);
425
+	}
426
+
427
+	/**
428
+	 * @param $id
429
+	 * @param $options_for_render
430
+	 * @return string
431
+	 */
432
+	public function replace_html($id, $options_for_render)
433
+	{
434
+		$args = array_merge([$id], (is_array($options_for_render) ? $options_for_render : [$options_for_render]));
435
+
436
+		return $this->call('Element.update', $args);
437
+	}
438
+
439
+	/**
440
+	 * @param         $pattern
441
+	 * @param  null   $extend
442
+	 * @return string
443
+	 */
444
+	public function select($pattern, $extend = null)
445
+	{
446
+		return "$$('$pattern')" . (!empty($extend)) ? '.' . $extend : '';
447
+	}
448
+
449
+	/**
450
+	 * @param $id
451
+	 * @return string
452
+	 */
453
+	public function show($id)
454
+	{
455
+		return $this->call('Element.show', $id);
456
+	}
457
+
458
+	/**
459
+	 * @param $id
460
+	 * @return string
461
+	 */
462
+	public function toggle($id)
463
+	{
464
+		return $this->call('Element.toggle', $id);
465
+	}
466 466
 }
Please login to merge, or discard this patch.