2
// ================================================
3
// SPAW PHP WYSIWYG editor control
4
// ================================================
5
// Table cell properties dialog
6
// ================================================
7
// Developed: Alan Mendelevich, alan@solmetra.lt
8
// Copyright: Solmetra (c)2003 All rights reserved.
9
// ------------------------------------------------
11
// ================================================
13
// ================================================
15
// include wysiwyg config
16
include '../config/spaw_control.config.php';
17
include $spaw_root.'class/util.class.php';
18
include $spaw_root.'class/lang.class.php';
20
$theme = empty($HTTP_GET_VARS['theme'])?$spaw_default_theme:$HTTP_GET_VARS['theme'];
21
$theme_path = $spaw_dir.'lib/themes/'.$theme.'/';
23
$l = new SPAW_Lang($HTTP_GET_VARS['lang']);
24
$l->setBlock('table_cell_prop');
26
$request_uri = urldecode(empty($HTTP_POST_VARS['request_uri'])?(empty($HTTP_GET_VARS['request_uri'])?'':$HTTP_GET_VARS['request_uri']):$HTTP_POST_VARS['request_uri']);
28
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
32
<meta http-equiv="Pragma" content="no-cache">
33
<title><?php echo $l->m('title')?></title>
34
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $l->getCharset()?>">
35
<link rel="stylesheet" type="text/css" href="<?php echo $theme_path.'css/'?>dialog.css">
36
<?php if (SPAW_Util::getBrowser() == 'Gecko') { ?>
37
<script language="javascript" src="utils.gecko.js"></script>
39
<script language="javascript" src="utils.js"></script>
41
<script language="javascript">
43
function showColorPicker(curcolor) {
45
<?php if (SPAW_Util::getBrowser() == 'Gecko') { ?>
47
var wnd = window.open('<?php echo $spaw_dir?>dialogs/colorpicker.php?lang=<?php echo $_GET["lang"]?>&theme=<?php echo $_GET["theme"]?>&editor=<?php echo $_GET["editor"]?>&callback=showColorPicker_callback',
49
'status=no,modal=yes,width=350,height=250');
50
wnd.dialogArguments = curcolor;
54
var newcol = showModalDialog('colorpicker.php?theme=<?php echo $theme?>&lang=<?php echo $l->lang?>', curcolor,
55
'dialogHeight:250px; dialogWidth:366px; resizable:no; status:no');
57
td_prop.cbgcolor.value = newcol;
58
td_prop.color_sample.style.backgroundColor = td_prop.cbgcolor.value;
65
function showColorPicker_callback(editor, sender)
67
var bCol = sender.returnValue;
70
document.getElementById('cbgcolor').value = bCol;
71
document.getElementById('color_sample').style.backgroundColor = document.getElementById('cbgcolor').value;
76
function showImgPicker()
78
<?php if (SPAW_Util::getBrowser() == 'Gecko') { ?>
80
var wnd = window.open('<?php echo $spaw_dir?>dialogs/img_library.php?lang=<?php echo $_GET["lang"]?>&theme=<?php echo $_GET["theme"]?>&editor=<?php echo $_GET["editor"]?>&callback=showImgPicker_callback',
82
'status=no,modal=yes,width=420,height=420');
86
var imgSrc = showModalDialog('<?php echo $spaw_dir?>dialogs/img_library.php?theme=<?php echo $theme?>&lang=<?php echo $l->lang?>&request_uri=<?php echo $request_uri?>', '',
87
'dialogHeight:420px; dialogWidth:420px; resizable:no; status:no');
91
td_prop.cbackground.value = imgSrc;
97
function showImgPicker_callback(editor, sender)
99
var imgSrc = sender.returnValue;
102
document.getElementById('cbackground').value = imgSrc;
108
var cProps = window.dialogArguments;
111
// set attribute values
112
document.getElementById('cbgcolor').value = cProps.bgColor;
113
document.getElementById('color_sample').style.backgroundColor = document.getElementById('cbgcolor').value;
114
document.getElementById('cbackground').value = cProps.background;
116
if (!isNaN(cProps.width) || (cProps.width.substr(cProps.width.length-2,2).toLowerCase() == "px"))
119
if (!isNaN(cProps.width))
120
document.getElementById('cwidth').value = cProps.width;
122
document.getElementById('cwidth').value = cProps.width.substr(0,cProps.width.length-2);
123
document.getElementById('cwunits').options[0].selected = false;
124
document.getElementById('cwunits').options[1].selected = true;
129
document.getElementById('cwidth').value = cProps.width.substr(0,cProps.width.length-1);
130
document.getElementById('cwunits').options[0].selected = true;
131
document.getElementById('cwunits').options[1].selected = false;
135
if (!isNaN(cProps.height) || (cProps.height.substr(cProps.height.length-2,2).toLowerCase() == "px"))
138
if (!isNaN(cProps.height))
139
document.getElementById('cheight').value = cProps.height;
141
document.getElementById('cheight').value = cProps.height.substr(0,cProps.height.length-2);
142
document.getElementById('chunits').options[0].selected = false;
143
document.getElementById('chunits').options[1].selected = true;
148
document.getElementById('cheight').value = cProps.height.substr(0,cProps.height.length-1);
149
document.getElementById('chunits').options[0].selected = true;
150
document.getElementById('chunits').options[1].selected = false;
154
setHAlign(cProps.align);
155
setVAlign(cProps.vAlign);
158
document.getElementById('cnowrap').checked = true;
161
/* spec styles for td will be used
162
if (cProps.styleOptions) {
163
for (i=1; i<cProps.styleOptions.length; i++)
165
var oOption = document.createElement("OPTION");
166
td_prop.ccssclass.add(oOption);
167
oOption.innerText = cProps.styleOptions[i].innerText;
168
oOption.value = cProps.styleOptions[i].value;
170
if (cProps.className) {
171
td_prop.ccssclass.value = cProps.className;
177
if (cProps.className) {
178
document.getElementById('ccssclass').value = cProps.className;
182
resizeDialogToContent();
185
function validateParams()
187
// check width and height
188
if (isNaN(parseInt(document.getElementById('cwidth').value)) && document.getElementById('cwidth').value != '')
190
alert('<?php echo $l->m('error').': '.$l->m('error_width_nan')?>');
191
document.getElementById('cwidth').focus();
194
if (isNaN(parseInt(document.getElementById('cheight').value)) && document.getElementById('cheight').value != '')
196
alert('<?php echo $l->m('error').': '.$l->m('error_height_nan')?>');
197
document.getElementById('cheight').focus();
205
// validate paramters
206
if (validateParams())
209
cprops.className = (document.getElementById('ccssclass').value != 'default')?document.getElementById('ccssclass').value:'';
210
if (!document.getElementById('cwidth').disabled)
212
cprops.align = (document.getElementById('chalign').value)?(document.getElementById('chalign').value):'';
213
cprops.vAlign = (document.getElementById('cvalign').value)?(document.getElementById('cvalign').value):'';
214
cprops.width = (document.getElementById('cwidth').value)?(document.getElementById('cwidth').value + document.getElementById('cwunits').value):'';
215
cprops.height = (document.getElementById('cheight').value)?(document.getElementById('cheight').value + document.getElementById('chunits').value):'';
216
cprops.bgColor = document.getElementById('cbgcolor').value;
217
cprops.noWrap = (document.getElementById('cnowrap').checked)?true:false;
218
cprops.background = document.getElementById('cbackground').value;
220
window.returnValue = cprops;
223
if (!empty($_GET['callback']))
224
echo "opener.".$_GET['callback']."('".$_GET['editor']."',this);\n";
229
function cancelClick() {
236
document.getElementById('color_sample').style.backgroundColor = document.getElementById('cbgcolor').value;
241
function setHAlign(alignment)
245
document.getElementById('ha_left').className = "align_on";
246
document.getElementById('ha_center').className = "align_off";
247
document.getElementById('ha_right').className = "align_off";
250
document.getElementById('ha_left').className = "align_off";
251
document.getElementById('ha_center').className = "align_on";
252
document.getElementById('ha_right').className = "align_off";
255
document.getElementById('ha_left').className = "align_off";
256
document.getElementById('ha_center').className = "align_off";
257
document.getElementById('ha_right').className = "align_on";
260
document.getElementById('chalign').value = alignment;
263
function setVAlign(alignment)
267
document.getElementById('ha_middle').className = "align_on";
268
document.getElementById('ha_baseline').className = "align_off";
269
document.getElementById('ha_bottom').className = "align_off";
270
document.getElementById('ha_top').className = "align_off";
273
document.getElementById('ha_middle').className = "align_off";
274
document.getElementById('ha_baseline').className = "align_on";
275
document.getElementById('ha_bottom').className = "align_off";
276
document.getElementById('ha_top').className = "align_off";
279
document.getElementById('ha_middle').className = "align_off";
280
document.getElementById('ha_baseline').className = "align_off";
281
document.getElementById('ha_bottom').className = "align_on";
282
document.getElementById('ha_top').className = "align_off";
285
document.getElementById('ha_middle').className = "align_off";
286
document.getElementById('ha_baseline').className = "align_off";
287
document.getElementById('ha_bottom').className = "align_off";
288
document.getElementById('ha_top').className = "align_on";
291
document.getElementById('cvalign').value = alignment;
294
function css_class_changed()
296
if (<?php echo (isset($spaw_disable_style_controls) && $spaw_disable_style_controls)?'true':'false'?>)
298
// disable/enable non-css class controls
299
if (document.getElementById('ccssclass').value && document.getElementById('ccssclass').value!='default')
301
// disable all controls
302
document.getElementById('cwidth').disabled = true;
303
document.getElementById('cwunits').disabled = true;
304
document.getElementById('cheight').disabled = true;
305
document.getElementById('chunits').disabled = true;
306
document.getElementById('cnowrap').disabled = true;
307
document.getElementById('cbgcolor').disabled = true;
308
document.getElementById('ha_left').src = '<?php echo $theme_path.'img/'?>tb_left_off.gif';
309
document.getElementById('ha_left').disabled = true;
310
document.getElementById('ha_center').src = '<?php echo $theme_path.'img/'?>tb_center_off.gif';
311
document.getElementById('ha_center').disabled = true;
312
document.getElementById('ha_right').src = '<?php echo $theme_path.'img/'?>tb_right_off.gif';
313
document.getElementById('ha_right').disabled = true;
314
document.getElementById('ha_top').src = '<?php echo $theme_path.'img/'?>tb_top_off.gif';
315
document.getElementById('ha_top').disabled = true;
316
document.getElementById('ha_middle').src = '<?php echo $theme_path.'img/'?>tb_middle_off.gif';
317
document.getElementById('ha_middle').disabled = true;
318
document.getElementById('ha_bottom').src = '<?php echo $theme_path.'img/'?>tb_bottom_off.gif';
319
document.getElementById('ha_bottom').disabled = true;
320
document.getElementById('ha_baseline').src = '<?php echo $theme_path.'img/'?>tb_baseline_off.gif';
321
document.getElementById('ha_baseline').disabled = true;
322
document.getElementById('ccolorpicker').src = '<?php echo $theme_path.'img/'?>tb_colorpicker_off.gif';
323
document.getElementById('ccolorpicker').disabled = true;
324
document.getElementById('cbackground').disabled = true;
325
document.getElementById('cimg_picker').src = '<?php echo $theme_path.'img/'?>tb_image_insert_off.gif';
326
document.getElementById('cimg_picker').disabled = true;
330
// enable all controls
331
document.getElementById('cwidth').disabled = false;
332
document.getElementById('cwunits').disabled = false;
333
document.getElementById('cheight').disabled = false;
334
document.getElementById('chunits').disabled = false;
335
document.getElementById('cnowrap').disabled = false;
336
document.getElementById('cbgcolor').disabled = false;
337
document.getElementById('ha_left').src = '<?php echo $theme_path.'img/'?>tb_left.gif';
338
document.getElementById('ha_left').disabled = false;
339
document.getElementById('ha_center').src = '<?php echo $theme_path.'img/'?>tb_center.gif';
340
document.getElementById('ha_center').disabled = false;
341
document.getElementById('ha_right').src = '<?php echo $theme_path.'img/'?>tb_right.gif';
342
document.getElementById('ha_right').disabled = false;
343
document.getElementById('ha_top').src = '<?php echo $theme_path.'img/'?>tb_top.gif';
344
document.getElementById('ha_top').disabled = false;
345
document.getElementById('ha_middle').src = '<?php echo $theme_path.'img/'?>tb_middle.gif';
346
document.getElementById('ha_middle').disabled = false;
347
document.getElementById('ha_bottom').src = '<?php echo $theme_path.'img/'?>tb_bottom.gif';
348
document.getElementById('ha_bottom').disabled = false;
349
document.getElementById('ha_baseline').src = '<?php echo $theme_path.'img/'?>tb_baseline.gif';
350
document.getElementById('ha_baseline').disabled = false;
351
document.getElementById('ccolorpicker').src = '<?php echo $theme_path.'img/'?>tb_colorpicker.gif';
352
document.getElementById('ccolorpicker').disabled = false;
353
document.getElementById('cbackground').disabled = false;
354
document.getElementById('cimg_picker').src = '<?php echo $theme_path.'img/'?>tb_image_insert.gif';
355
document.getElementById('cimg_picker').disabled = false;
363
<body onLoad="Init()" dir="<?php echo $l->getDir();?>">
364
<table border="0" cellspacing="0" cellpadding="2" width="336">
365
<form name="td_prop">
367
<td nowrap><?php echo $l->m('css_class')?>:</td>
368
<td nowrap colspan="3">
369
<select id="ccssclass" name="ccssclass" id="ccssclass" size="1" class="input" onchange="css_class_changed();">
371
foreach($spaw_dropdown_data["td_style"] as $key => $text)
373
echo '<option value="'.$key.'">'.$text.'</option>'."\n";
380
<td colspan="2"><?php echo $l->m('horizontal_align')?>:</td>
381
<td colspan="2" align="right"><input type="hidden" name="chalign" id="chalign">
382
<img id="ha_left" src="<?php echo $theme_path.'img/'?>tb_left.gif" class="align_off" onClick="setHAlign('left');" alt="<?php echo $l->m('left')?>">
383
<img id="ha_center" src="<?php echo $theme_path.'img/'?>tb_center.gif" class="align_off" onClick="setHAlign('center');" alt="<?php echo $l->m('center')?>">
384
<img id="ha_right" src="<?php echo $theme_path.'img/'?>tb_right.gif" class="align_off" onClick="setHAlign('right');" alt="<?php echo $l->m('right')?>">
388
<td colspan="2"><?php echo $l->m('vertical_align')?>:</td>
389
<td colspan="2" align="right"><input type="hidden" name="cvalign" id="cvalign">
390
<img id="ha_top" src="<?php echo $theme_path.'img/'?>tb_top.gif" class="align_off" onClick="setVAlign('top');" alt="<?php echo $l->m('top')?>">
391
<img id="ha_middle" src="<?php echo $theme_path.'img/'?>tb_middle.gif" class="align_off" onClick="setVAlign('middle');" alt="<?php echo $l->m('middle')?>">
392
<img id="ha_bottom" src="<?php echo $theme_path.'img/'?>tb_bottom.gif" class="align_off" onClick="setVAlign('bottom');" alt="<?php echo $l->m('bottom')?>">
393
<img id="ha_baseline" src="<?php echo $theme_path.'img/'?>tb_baseline.gif" class="align_off" onClick="setVAlign('baseline');" alt="<?php echo $l->m('baseline')?>">
397
<td><?php echo $l->m('width')?>:</td>
399
<input type="text" name="cwidth" id="cwidth" size="3" maxlength="3" class="input_small">
400
<select size="1" name="cwunits" id="cwunits" class="input">
401
<option value="%">%</option>
402
<option value="px">px</option>
405
<td><?php echo $l->m('height')?>:</td>
407
<input type="text" name="cheight" id="cheight" size="3" maxlength="3" class="input_small">
408
<select size="1" name="chunits" id="chunits" class="input">
409
<option value="%">%</option>
410
<option value="px">px</option>
415
<td nowrap><?php echo $l->m('no_wrap')?>:</td>
417
<input type="checkbox" name="cnowrap" id="cnowrap">
419
<td colspan="2"> </td>
422
<td colspan="4"><?php echo $l->m('bg_color')?>: <img src="spacer.gif" id="color_sample" border="1" width="30" height="18" align="absbottom"> <input type="text" name="cbgcolor" id="cbgcolor" size="7" maxlength="7" class="input_color" onKeyUp="setSample()">
423
<img id="ccolorpicker" src="<?php echo $theme_path.'img/'?>tb_colorpicker.gif" border="0" onClick="showColorPicker(cbgcolor.value)" align="absbottom">
428
<?php echo $l->m('background')?>: <input type="text" name="cbackground" id="cbackground" size="20" class="input" > <img id="cimg_picker" src="<?php echo $theme_path.'img/'?>tb_image_insert.gif" border="0" onClick="showImgPicker();" align="absbottom">
432
<td colspan="4" nowrap>
437
<td colspan="4" align="right" valign="bottom" nowrap>
438
<input type="button" value="<?php echo $l->m('ok')?>" onClick="okClick()" class="bt">
439
<input type="button" value="<?php echo $l->m('cancel')?>" onClick="cancelClick()" class="bt">