Issues (1686)

themes/default/ManageSmileys.template.php (1 issue)

1
<?php
2
3
/**
4
 * @package   ElkArte Forum
5
 * @copyright ElkArte Forum contributors
6
 * @license   BSD http://opensource.org/licenses/BSD-3-Clause (see accompanying LICENSE.txt file)
7
 *
8
 * This file contains code covered by:
9
 * copyright: 2011 Simple Machines (http://www.simplemachines.org)
10
 *
11
 * @version 2.0 dev
12
 *
13
 */
14
15
/**
16
 * Editing the smiley sets.
17
 */
18
function template_editsets()
19
{
20
	echo '
21
	<div id="admincenter">';
22
23
	template_show_list('smiley_set_list');
24
25
	echo '
26
	</div>';
27
}
28
29
/**
30
 * Modifying a smiley set.
31
 */
32
function template_modifyset()
33
{
34
	global $context, $scripturl, $txt, $modSettings;
35
36
	echo '
37
	<div id="admincenter">
38
		<form id="admin_form_wrapper" action="', $scripturl, '?action=admin;area=smileys;sa=editsets" method="post" accept-charset="UTF-8">
39
			<h2 class="category_header">
40
			', $context['current_set']['is_new'] ? $txt['smiley_set_new'] : $txt['smiley_set_modify_existing'], '
41
			</h2>';
42
43
	// If this is an existing set, and there are still un-added smileys - offer an import opportunity.
44
	if (!empty($context['current_set']['can_import']))
45
	{
46
		echo '
47
			<div class="information">
48
				', $context['current_set']['can_import'] == 1 ? $txt['smiley_set_import_single'] : $txt['smiley_set_import_multiple'], ' <a href="', $scripturl, '?action=admin;area=smileys;sa=import;set=', $context['current_set']['id'], ';', $context['session_var'], '=', $context['session_id'], ';', $context['admin-mss_token_var'], '=', $context['admin-mss_token'], '">', $txt['here'], '</a> ', $context['current_set']['can_import'] == 1 ? $txt['smiley_set_to_import_single'] : $txt['smiley_set_to_import_multiple'], '
49
			</div>';
50
	}
51
52
	echo '
53
			<div class="content">
54
				<dl class="settings">
55
					<dt>
56
						<label for="smiley_sets_name">', $txt['smiley_sets_name'], '</label>:
57
					</dt>
58
					<dd>
59
						<input type="text" name="smiley_sets_name" id="smiley_sets_name" value="', $context['current_set']['name'], '" class="input_text" />
60
					</dd>
61
					<dt>
62
						<label for="smiley_sets_path">', $txt['smiley_sets_url'], '</label>:
63
					</dt>
64
					<dd>
65
						', $modSettings['smileys_url'], '/';
66
67
	if ($context['current_set']['id'] === 'default')
68
	{
69
		echo '
70
						<strong>default</strong>
71
						<input type="hidden" name="smiley_sets_path" id="smiley_sets_path" value="default" />';
72
	}
73
	elseif (empty($context['smiley_set_dirs']))
74
	{
75
		echo '
76
						<input type="text" name="smiley_sets_path" id="smiley_sets_path" value="', $context['current_set']['path'], '" class="input_text" /> ';
77
	}
78
	else
79
	{
80
		echo '
81
						<select name="smiley_sets_path" id="smiley_sets_path">';
82
83
		foreach ($context['smiley_set_dirs'] as $smiley_set_dir)
84
		{
85
			echo '
86
							<option value="', $smiley_set_dir['id'], '"', $smiley_set_dir['current'] ? ' selected="selected"' : '', $smiley_set_dir['selectable'] ? '' : ' disabled="disabled"', '>', $smiley_set_dir['id'], '</option>';
87
		}
88
89
		echo '
90
						</select>';
91
	}
92
93
	echo '
94
						/..
95
					</dd>
96
					<dt>
97
						<label for="smiley_sets_default">', $txt['smiley_set_select_default'], '</label>:
98
					</dt>
99
					<dd>
100
						<input type="checkbox" name="smiley_sets_default" id="smiley_sets_default" value="1"', $context['current_set']['selected'] ? ' checked="checked"' : '', ' />
101
					</dd>';
102
103
	// If this is a new smiley set they have the option to import smileys already in the directory.
104
	if ($context['current_set']['is_new'])
105
	{
106
		echo '
107
					<dt>
108
						<label for="smiley_sets_import">', $txt['smiley_set_import_directory'], '</label>:
109
					</dt>
110
					<dd>
111
						<input type="checkbox" name="smiley_sets_import" id="smiley_sets_import" value="1" />
112
					</dd>';
113
	}
114
115
	echo '
116
				</dl>
117
				<div class="submitbutton">
118
					<input type="submit" name="smiley_save" value="', $txt['smiley_sets_save'], '" />
119
					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
120
					<input type="hidden" name="', $context['admin-mss_token_var'], '" value="', $context['admin-mss_token'], '" />
121
					<input type="hidden" name="set" value="', $context['current_set']['id'], '" />
122
				</div>
123
			</div>
124
		</form>
125
	</div>';
126
}
127
128
/**
129
 * Editing an individual smiley.
130
 */
131
function template_modifysmiley()
132
{
133
	global $context, $scripturl, $txt, $modSettings;
134
135
	echo '
136
	<div id="admincenter">
137
		<form id="admin_form_wrapper" action="', $scripturl, '?action=admin;area=smileys;sa=editsmileys" method="post" accept-charset="UTF-8" name="smileyForm">
138
			<h2 class="category_header">', $txt['smiley_modify_existing'], '</h2>
139
			<div class="content">
140
				<dl class="settings">
141
					<dt>
142
						<label>', $txt['smiley_preview'], ': </label>
143
					</dt>
144
					<dd>
145
						<img src="', $modSettings['smileys_url'], '/', $modSettings['smiley_sets_default'], '/', $context['current_smiley']['filename'] . '.' . $context['smiley_extension'], '" id="preview" alt="" /> (', $txt['smiley_preview_using'], ': <select id="set" name="set" onchange="updatePreview();">';
146
147
	foreach ($context['smiley_sets'] as $smiley_set)
148
	{
149
		echo '
150
							<option data-ext="' . $smiley_set['ext'] . '" value="', $smiley_set['path'], '"', $context['selected_set'] === $smiley_set['path'] ? ' selected="selected"' : '', '>', $smiley_set['name'], '</option>';
151
	}
152
153
	echo '
154
						</select>)
155
					</dd>
156
					<dt>
157
						<label for="smiley_code">', $txt['smileys_code'], '</label>:
158
					</dt>
159
					<dd>
160
						<input type="text" name="smiley_code" id="smiley_code" value="', $context['current_smiley']['code'], '" class="input_text" />
161
					</dd>
162
					<dt>
163
						<label for="smiley_filename">', $txt['smileys_filename'], '</label>:
164
					</dt>
165
					<dd>';
166
167
	if (empty($context['filenames']))
168
	{
169
		echo '
170
						<input type="text" name="smiley_filename" id="smiley_filename" value="', $context['current_smiley']['filename'], '" class="input_text" />';
171
	}
172
	else
173
	{
174
		echo '
175
						<select name="smiley_filename" id="smiley_filename" onchange="updatePreview();">';
176
177
		foreach ($context['filenames'] as $filename)
178
		{
179
			echo '
180
							<option value="', $filename['id'], '"', $filename['selected'] ? ' selected="selected"' : '', '>', $filename['id'], '</option>';
181
		}
182
183
		echo '
184
						</select>';
185
	}
186
187
	echo '
188
					</dd>
189
					<dt>
190
						<label for="smiley_description">', $txt['smileys_description'], '</label>:
191
					</dt>
192
					<dd>
193
						<input type="text" name="smiley_description" id="smiley_description" value="', $context['current_smiley']['description'], '" class="input_text" />
194
					</dd>
195
					<dt>
196
						<label for="smiley_location">', $txt['smileys_location'], '</label>:
197
					</dt>
198
					<dd>
199
						<select name="smiley_location" id="smiley_location">
200
							<option value="0"', $context['current_smiley']['location'] == 0 ? ' selected="selected"' : '', '>
201
								', $txt['smileys_location_form'], '
202
							</option>
203
							<option value="1"', $context['current_smiley']['location'] == 1 ? ' selected="selected"' : '', '>
204
								', $txt['smileys_location_hidden'], '
205
							</option>
206
							<option value="2"', $context['current_smiley']['location'] == 2 ? ' selected="selected"' : '', '>
207
								', $txt['smileys_location_popup'], '
208
							</option>
209
						</select>
210
					</dd>
211
				</dl>
212
				<hr />
213
				<div class="submitbutton">
214
					<input type="submit" name="smiley_save" value="', $txt['smileys_save'], '" />
215
					<input type="submit" name="deletesmiley" value="', $txt['smileys_delete'], '" onclick="return confirm(\'', $txt['smileys_delete_confirm'], '\');" />
216
					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
217
					<input type="hidden" name="smiley" value="', $context['current_smiley']['id'], '" />
218
				</div>
219
			</div>
220
		</form>
221
	</div>';
222
}
223
224
/**
225
 * Adding a new smiley.
226
 */
227
function template_addsmiley()
228
{
229
	global $context, $scripturl, $txt, $modSettings;
230
231
	echo '
232
	<div id="admincenter">
233
		<form id="admin_form_wrapper" action="', $scripturl, '?action=admin;area=smileys;sa=addsmiley" method="post" accept-charset="UTF-8" name="smileyForm" id="smileyForm" enctype="multipart/form-data">
234
			<h2 class="category_header">', $txt['smileys_add_method'], '</h2>
235
			<div class="content">
236
				<ul>
237
					<li>
238
						<label for="method-existing">
239
							<input type="radio" onclick="switchType();" name="method" id="method-existing" value="existing" checked="checked" /> ', $txt['smileys_add_existing'], '
240
						</label>
241
					</li>
242
					<li>
243
						<label for="method-upload">
244
							<input type="radio" onclick="switchType();" name="method" id="method-upload" value="upload" /> ', $txt['smileys_add_upload'], '
245
						</label>
246
					</li>
247
				</ul>
248
				<br />
249
				<fieldset id="ex_settings">
250
					<dl class="settings">
251
						<dt>
252
							<label for="set">', $txt['smiley_sets_preview'], '</label>
253
						</dt>
254
						<dd>
255
							<img src="', $modSettings['smileys_url'], '/', $modSettings['smiley_sets_default'], '/', $context['filenames'][0]['id'] . '.' . $context['smiley_extension'], '" id="preview" alt="" />
256
							', $txt['smiley_preview_using'], ': 
257
							<select id="set" name="set" onchange="updatePreview();selectMethod(\'existing\');">';
258
259
	foreach ($context['smiley_sets'] as $smiley_set)
260
	{
261
		echo '
262
								<option data-ext="' . $smiley_set['ext'] . '" value="', $smiley_set['path'], '"', $context['selected_set'] === $smiley_set['path'] ? ' selected="selected"' : '', '>', $smiley_set['name'], '</option>';
263
	}
264
265
	echo '
266
							</select>
267
						</dd>
268
						<dt>
269
							<label for="smiley_filename">', $txt['smileys_filename'], '</label>:
270
						</dt>
271
						<dd>';
272
273
	if (empty($context['filenames']))
274
	{
275
		echo '
276
							<input type="text" name="smiley_filename" id="smiley_filename" value="', $context['current_smiley']['filename'], '" onchange="selectMethod(\'existing\');" class="input_text" />';
277
	}
278
	else
279
	{
280
		echo '
281
							<select name="smiley_filename" id="smiley_filename" onchange="updatePreview();selectMethod(\'existing\');">';
282
283
		foreach ($context['filenames'] as $filename)
284
		{
285
			echo '
286
								<option value="', $filename['id'], '"', $filename['selected'] ? ' selected="selected"' : '', '>', $filename['id'], '</option>';
287
		}
288
289
		echo '
290
							</select>';
291
	}
292
293
	echo '
294
						</dd>
295
					</dl>
296
				</fieldset>
297
				<fieldset id="ul_settings" class="hide">
298
					<dl class="settings">
299
						<dt>
300
							<label>', $txt['smileys_add_upload_choose'], ':</label><br />
301
							<span class="smalltext">', $txt['smileys_add_upload_choose_desc'], '</span>
302
						</dt>
303
						<dd>
304
							<input type="file" name="uploadSmiley" id="uploadSmiley" onchange="selectMethod(\'upload\');" class="input_file" />
305
						</dd>
306
						<dt>
307
							<label for="sameall">', $txt['smileys_add_upload_all'], ':</label>
308
						</dt>
309
						<dd>
310
							<input type="checkbox" name="sameall" id="sameall" checked="checked" onclick="swapUploads(); selectMethod(\'upload\');" />
311
						</dd>
312
					</dl>
313
				</fieldset>
314
				<dl id="uploadMore" class="settings hide">';
315
316
	foreach ($context['smiley_sets'] as $smiley_set)
317
	{
318
		echo '
319
					<dt>',
320
						sprintf($txt['smileys_add_upload_for'], $smiley_set['name']), '
321
					</dt>
322
					<dd>
323
						<input type="file" name="individual_', $smiley_set['name'], '" onchange="selectMethod(\'upload\');" class="input_file" />
324
					</dd>';
325
	}
326
327
	echo '
328
				</dl>
329
			</div>
330
			<h2 class="category_header">', $txt['smiley_new'], '</h2>
331
			<div class="content">
332
				<dl class="settings">
333
					<dt>
334
						<label for="smiley_code">', $txt['smileys_code'], '</label>:
335
					</dt>
336
					<dd>
337
						<input type="text" name="smiley_code" id="smiley_code" value="" class="input_text" />
338
					</dd>
339
					<dt>
340
						<label for="smiley_description">', $txt['smileys_description'], '</label>:
341
					</dt>
342
					<dd>
343
						<input type="text" name="smiley_description" id="smiley_description" value="" class="input_text" />
344
					</dd>
345
					<dt>
346
						<label for="smiley_location">', $txt['smileys_location'], '</label>:
347
					</dt>
348
					<dd>
349
						<select name="smiley_location" id="smiley_location">
350
							<option value="0" selected="selected">
351
								', $txt['smileys_location_form'], '
352
							</option>
353
							<option value="1">
354
								', $txt['smileys_location_hidden'], '
355
							</option>
356
							<option value="2">
357
								', $txt['smileys_location_popup'], '
358
							</option>
359
						</select>
360
					</dd>
361
				</dl>
362
				<div class="submitbutton">
363
					<input type="submit" name="smiley_save" value="', $txt['smileys_save'], '" />
364
					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
365
				</div>
366
			</div>
367
		</form>
368
	</div>';
369
}
370
371
/**
372
 * Ordering smileys.
373
 */
374
function template_setorder()
375
{
376
	global $context, $scripturl, $txt, $modSettings;
377
378
	echo '
379
	<div id="admincenter">';
380
381
	foreach ($context['smileys'] as $location)
382
	{
383
		echo '
384
		<form id="admin_form_wrapper" action="', $scripturl, '?action=admin;area=smileys;sa=editsmileys" method="post" accept-charset="UTF-8">
385
			<h2 class="category_header">', $location['title'], '</h2>
386
			<div class="information">
387
				', $location['description'], '
388
			</div>
389
			<div class="content">
390
				<strong>', empty($context['move_smiley']) ? $txt['smileys_move_select_smiley'] : $txt['smileys_move_select_destination'], '...</strong><br />';
391
392
		foreach ($location['rows'] as $key => $row)
393
		{
394
			echo '
395
				<ul id="smiley_' . $location['id'] . '|' . $key . '" class="sortable_smiley">';
396
397
			if (!empty($context['move_smiley']))
398
			{
399
				echo '
400
					<li>
401
						<a href="', $scripturl, '?action=admin;area=smileys;sa=setorder;location=', $location['id'], ';source=', $context['move_smiley'], ';row=', $row[0]['row'], ';reorder=1;', $context['session_var'], '=', $context['session_id'], '">
402
							<i class="icon i-arrow-down"></i>
403
						</a>
404
					</li>';
405
			}
406
407
			foreach ($row as $smiley)
408
			{
409
				if (empty($context['move_smiley']))
410
				{
411
					$image = (isset($smiley['emoji']) ? $context['emoji_path'] : $context['smiley_path']) . $smiley['filename'];
412
413
					echo '
414
					<li id="smile_' . $smiley['id'] . '">
415
						<a href="', $scripturl, '?action=admin;area=smileys;sa=setorder;move=', $smiley['id'], '">
416
							<img src="', $image, '" style="padding: 2px; border: 0px solid black;" alt="', $smiley['description'], '" />
417
						</a>
418
					</li>';
419
				}
420
				else
421
				{
422
					echo '
423
					<img src="', $modSettings['smileys_url'], '/', $modSettings['smiley_sets_default'], '/', $smiley['filename'], '" style="padding: 2px; border: ', $smiley['selected'] ? '2px solid red' : '0px solid black', ';" alt="', $smiley['description'], '" />
424
					<a href="', $scripturl, '?action=admin;area=smileys;sa=setorder;location=', $location['id'], ';source=', $context['move_smiley'], ';after=', $smiley['id'], ';reorder=1;', $context['session_var'], '=', $context['session_id'], '" title="', $txt['smileys_move_here'], '">
425
						<i class="icon i-arrow-down"></i>
426
					</a>';
427
				}
428
			}
429
430
			echo '
431
				</ul>';
432
		}
433
434
		// Add an empty row for dropping items as a new row
435
		echo '
436
				<ul id="smiley_' . $location['id'] . '|' . ($key + 1) . '" class="sortable_smiley"><li></li></ul>';
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $key does not seem to be defined for all execution paths leading up to this point.
Loading history...
437
438
		if (!empty($context['move_smiley']))
439
		{
440
			echo '
441
				<a href="', $scripturl, '?action=admin;area=smileys;sa=setorder;location=', $location['id'], ';source=', $context['move_smiley'], ';row=', $location['last_row'], ';reorder=1;', $context['session_var'], '=', $context['session_id'], '">
442
					<i class="icon i-arrow-down"></i>
443
				</a>';
444
		}
445
446
		echo '
447
			</div>
448
			<input type="hidden" name="reorder" value="1" />
449
		</form>';
450
	}
451
452
	echo '
453
	</div>';
454
455
	if (empty($context['move_smiley']))
456
	{
457
		echo '
458
	<script>
459
		$().elkSortable({
460
			sa: "smileyorder",
461
			error: "' . $txt['admin_order_error'] . '",
462
			title: "' . $txt['admin_order_title'] . '",
463
			tag: "[id^=smiley_]",
464
			connect: ".sortable_smiley",
465
			containment: "document",
466
			href: "?action=admin;area=smileys;sa=setorder",
467
			axis: "",
468
			placeholder: "ui-state-highlight",
469
			token: {token_var: "' . $context['admin-sort_token_var'] . '", token_id: "' . $context['admin-sort_token'] . '"}
470
		});
471
	</script>';
472
	}
473
}
474
475
/**
476
 * Editing an individual message icon.
477
 */
478
function template_editicon()
479
{
480
	global $context, $scripturl, $txt;
481
482
	echo '
483
	<div id="admincenter">
484
		<form action="', $scripturl, '?action=admin;area=smileys;sa=editicon;icon=', $context['new_icon'] ? '0' : $context['icon']['id'], '" method="post" accept-charset="UTF-8">
485
			<h2 class="category_header">
486
				', $context['new_icon'] ? $txt['icons_new_icon'] : $txt['icons_edit_icon'], '
487
			</h2>
488
			<div class="content">
489
				<dl class="settings">';
490
491
	if (!$context['new_icon'])
492
	{
493
		echo '
494
					<dt>
495
						<label>', $txt['smiley_preview'], ': </label>
496
					</dt>
497
					<dd>
498
						<img src="', $context['icon']['image_url'], '" alt="', $context['icon']['title'], '" />
499
					</dd>';
500
	}
501
502
	echo '
503
					<dt>
504
						<label for="icon_filename">', $txt['smileys_filename'], '</label>:<br /><span class="smalltext">', $txt['icons_filename_all_png'], '</span>
505
					</dt>
506
					<dd>
507
						<input type="text" name="icon_filename" id="icon_filename" value="', empty($context['icon']['filename']) ? '' : $context['icon']['filename'] . '.png', '" class="input_text" />
508
					</dd>
509
					<dt>
510
						<label for="icon_description">', $txt['smileys_description'], '</label>:
511
					</dt>
512
					<dd>
513
						<input type="text" name="icon_description" id="icon_description" value="', empty($context['icon']['title']) ? '' : $context['icon']['title'], '" class="input_text" />
514
					</dd>
515
					<dt>
516
						<label for="icon_board_select">', $txt['icons_board'], '</label>:
517
					</dt>
518
					<dd>', template_select_boards('icon_board', '', '', true), '
519
					</dd>
520
					<dt>
521
						<label for="icon_location">', $txt['smileys_location'], '</label>:
522
					</dt>
523
					<dd>
524
						<select name="icon_location" id="icon_location">
525
							<option value="0"', empty($context['icon']['after']) ? ' selected="selected"' : '', '>', $txt['icons_location_first_icon'], '</option>';
526
527
	// Print the list of all the icons it can be put after...
528
	foreach ($context['icons'] as $id => $data)
529
	{
530
		if (empty($context['icon']['id']) || $id != $context['icon']['id'])
531
		{
532
			echo '
533
							<option value="', $id, '"', !empty($context['icon']['after']) && $id == $context['icon']['after'] ? ' selected="selected"' : '', '>', $txt['icons_location_after'], ': ', $data['title'], '</option>';
534
		}
535
	}
536
537
	echo '
538
						</select>
539
					</dd>
540
				</dl>';
541
542
	if (!$context['new_icon'])
543
	{
544
		echo '
545
					<input type="hidden" name="icon" value="', $context['icon']['id'], '" />';
546
	}
547
548
	echo '
549
				<div class="submitbutton">
550
					<input type="submit" name="icons_save" value="', $txt['smileys_save'], '" />
551
					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
552
				</div>
553
			</div>
554
		</form>
555
	</div>';
556
}
557