1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
<?php
/**
* @version $Revision: 1.10 $
* $Header: /cvsroot/bitweaver/_bit_liberty/plugins/data.img.php,v 1.10 2006/11/01 08:36:47 squareing Exp $
* @package liberty
* @subpackage plugins_data
*/
/**
* definitions
*/
define( 'PLUGIN_GUID_DATAIMG', 'dataimg' );
global $gLibertySystem;
$pluginParams = array (
'tag' => 'img',
'auto_activate' => TRUE,
'requires_pair' => FALSE,
'load_function' => 'data_img',
'title' => 'Image',
'help_page' => 'DataPluginImg',
'description' => tra( "Allows you to insert an image into your page with little effort and a multitude of styling options." ),
'help_function' => 'data_img_help',
'syntax' => "{img src=http://www.google.at/logos/olympics06_ski_jump.gif}",
'path' => LIBERTY_PKG_PATH.'plugins/data.img.php',
'security' => 'registered',
'plugin_type' => DATA_PLUGIN,
'biticon' => '{biticon iclass="quicktag icon" ipackage=quicktags iname=image iexplain="Image"}',
'taginsert' => '{img src= width= height= align= desc= link=}'
);
$gLibertySystem->registerPlugin( PLUGIN_GUID_DATAIMG, $pluginParams );
$gLibertySystem->registerDataTag( $pluginParams['tag'], PLUGIN_GUID_DATAIMG );
function data_img_help() {
return
'<table class="data help">'
.'<tr>'
.'<th>'.tra( "Key" ).'</th>'
.'<th>'.tra( "Type" ).'</th>'
.'<th>'.tra( "Comments" ).'</th>'
.'</tr>'
.'<tr class="odd">'
.'<td>src</td>'
.'<td>'.tra( "string").'<br />'.tra("(required)").'</td>'
.'<td>'.tra( "Specify where the path to the image.").'</td>'
.'</tr>'
.'<tr class="even">'
.'<td>link</td>'
.'<td>'.tra( "string").'<br />'.tra("(optional)").'</td>'
.'<td>'.tra( "If you want your image to link to a web address, use link='link/to/page'." ).'</td>'
.'</tr>'
.'<tr class="odd">'
.'<td>'.tra( "styling" ).'</td>'
.'<td>'.tra( "string").'<br />'.tra("(optional)").'</td>'
.'<td>'.tra( "Multiple styling options available: padding, margin, background, border, text-align, color, font, font-size, font-weight, font-family, align. Please view CSS guidelines on what values these settings take.").'</td>'
.'</tr>'
.'</table>'
. tra( "Example: ")."{img src=http://www.google.at/logos/olympics06_ski_jump.gif float=right border=\"3px solid blue\"}";
}
function data_img($data, $params) {
$imgdata = array();
$imgdata['img_style'] = '';
$imgdata['div_style'] = '';
foreach( $params as $key => $value ) {
if( !empty( $value ) ) {
switch( $key ) {
// rename a couple of parameters
case 'background-color':
$key = 'background';
case 'description':
$key = 'desc';
case 'width':
case 'height':
if( preg_match( "/^\d/", $value ) ) {
$imgdata['img_style'] .= $key.':'.$value.';';
}
break;
case 'class':
$class = $value;
break;
case 'float':
case 'padding':
case 'margin':
case 'background':
case 'border':
case 'text-align':
case 'color':
case 'font':
case 'font-size':
case 'font-weight':
case 'font-family':
$imgdata['div_style'] .= $key.':'.$value.';';
break;
case 'align':
if( $value == 'center' || $value == 'middle' ) {
$imgdata['div_style'] .= 'text-align:center;';
} else {
$imgdata['div_style'] .= 'float:'.$value.';';
}
break;
default:
$imgdata[$key] = $value;
break;
}
}
}
// check if we have a source to load an image from
if( !empty( $imgdata['src'] ) ) {
// set up image first
$ret = '<img'.
' alt="'. ( !empty( $imgdata['desc'] ) ? $imgdata['desc'] : tra( 'Image' ) ).'"'.
' title="'.( !empty( $imgdata['desc'] ) ? $imgdata['desc'] : tra( 'Image' ) ).'"'.
' src="' .$imgdata['src'].'"'.
' style="'.$imgdata['img_style'].'"'.
' />';
// if this image is linking to something, wrap the image with the <a>
if( !empty( $imgdata['link'] ) ) {
$ret = '<a href="'.trim( $imgdata['link'] ).'">'.$ret.'</a>';
}
// finally, wrap the image with a div
if( !empty( $imgdata['div_style'] ) || !empty( $class ) || !empty( $imgdata['desc'] ) ) {
$ret = '<div class="'.( !empty( $class ) ? $class : "img-plugin" ).'" style="'.$imgdata['div_style'].'">'.$ret.'<br />'.( !empty( $imgdata['desc'] ) ? $imgdata['desc'] : '' ).'</div>';
}
} else {
$ret = '<span class="warning">'.tra( 'When using <strong>{img}</strong> the <strong>src</strong> parameter is required.' ).'</span>';
}
return $ret;
}
?>
|