AddQuicktag - Version 0.6

Version Description

Download this release

Release Info

Developer Bueltge
Plugin Icon wp plugin AddQuicktag
Version 0.6
Comparing to
See all releases

Version 0.6

Files changed (1) hide show
  1. addquicktag.php +261 -0
addquicktag.php ADDED
@@ -0,0 +1,261 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: AddQuicktag
4
+ Version: 0.6
5
+ Plugin URI: http://bueltge.de/wp-addquicktags-de-plugin/120
6
+ Description: This plugin make it easy, Quicktags add to the editor. It is possible to ex- and import your Quicktags. Use it <a href="options-general.php?page=addquicktag.php">Options --> Add Quicktags</a> by <a href="http://roel.meurders.nl/" >Roel Meurders</a> and <a href="http://bueltge.de" >Frank Bueltge</a>
7
+ */
8
+
9
+ // SCRIPT INFO ///////////////////////////////////////////////////////////////////////////
10
+ /*
11
+ WP-AddQuicktag for Wordpress is in originally by
12
+ (C) 2005 Roel Meurders - GNU General Public License
13
+
14
+ AddQuicktag is an newer version with more functions and worked in WP 2.1
15
+ (C) 2007 Frank Bueltge
16
+
17
+ This Wordpress plugin is released under a GNU General Public License. A complete version of this license
18
+ can be found here: http://www.gnu.org/licenses/gpl.txt
19
+
20
+ This Wordpress plugin has been tested with Wordpress 2.0, 2.1 and Wordpress 2.3;
21
+
22
+ This Wordpress plugin is released "as is". Without any warranty. The authors cannot
23
+ be held responsible for any damage that this script might cause.
24
+
25
+ */
26
+
27
+ // NO EDITING HERE!!!!! ////////////////////////////////////////////////////////////////
28
+ if(function_exists('load_plugin_textdomain'))
29
+ load_plugin_textdomain('addquicktag','wp-content/plugins');
30
+
31
+ function wpaq_install() {
32
+ global $wpdb;
33
+
34
+ if (!get_option('rmnlQuicktagSettings') != '') {
35
+ $name = 'rmnlQuicktagSettings';
36
+ $value = 'a:1:{s:7:"buttons";a:1:{i:0;a:3:{s:4:"text";s:7:"Example";s:5:"start";s:9:"<example>";s:3:"end";s:10:"</example>";}}}';
37
+ $description = '';
38
+ $autoload = 'yes';
39
+ $wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, option_description, autoload) VALUES ('$name', '$value', '$description', '$autoload')");
40
+ }
41
+
42
+ return;
43
+ }
44
+
45
+ if (function_exists('add_action')) {
46
+ add_action('admin_menu', 'wpaq_admin_menu');
47
+
48
+ if (strpos($_SERVER['REQUEST_URI'], 'addquicktag.php')) {
49
+ add_action('init', 'wpaq_install');
50
+ }
51
+ }
52
+
53
+ function wpaq_admin_menu(){
54
+ add_options_page('WP-Quicktag - Add Quicktags', 'Add Quicktags', 9, basename(__FILE__), 'wpaq_options_page');
55
+ }
56
+
57
+ function wpaq_options_page(){
58
+ global $wpdb;
59
+ $wpaq_document_root = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI'];
60
+ $wpaq_document_root = str_replace("/wp-admin/options-general.php?page=addquicktag.php", "/wp-content", $wpaq_document_root);
61
+
62
+ $wpaq_link = $_SERVER['REQUEST_URI'];
63
+ $wpaq_link = str_replace("\\", "/", $wpaq_link);
64
+
65
+ if ($_POST['wpaq']){
66
+ $buttons = array();
67
+ for ($i = 0; $i < count($_POST['wpaq']['buttons']); $i++){
68
+ $b = $_POST['wpaq']['buttons'][$i];
69
+ if ($b['text'] != '' && $b['start'] != ''){
70
+ $b['text'] = htmlentities($b['text']);
71
+ $b['start'] = stripslashes($b['start']);
72
+ $b['end'] = stripslashes($b['end']);
73
+ $buttons[] = $b;
74
+ }
75
+ }
76
+ $_POST['wpaq']['buttons'] = $buttons;
77
+ update_option('rmnlQuicktagSettings', $_POST['wpaq']);
78
+ $message = '<div class="updated"><p><strong>' . __('Options saved.', 'addquicktag') . '</strong></p></div>';
79
+ }
80
+
81
+ // Export in sql-file
82
+ if (($_POST['action'] == 'export')) {
83
+ if (file_exists(ABSPATH . '/wp-content/wpaq_export.wpaq')) {
84
+ $message_export = '<div class="error"><p><strong>' . __('wpaq_export.wpaq is exist!', 'addquicktag') . '</strong></p></div>';
85
+ } else {
86
+ $wpdb->query("SELECT option_value INTO OUTFILE '" . $wpaq_document_root . "/wpaq_export.wpaq' FROM $wpdb->options WHERE option_name = 'rmnlQuicktagSettings'");
87
+ $message_export = '<div class="updated"><p><strong>' . __('AddQuicktag options saved!', 'addquicktag') . '</strong><br />';
88
+ $message_export.= __('Saved in: ', 'addquicktag') . $wpaq_document_root . '/wpaq_export.wpaq';
89
+ $message_export.= '</p></div>';
90
+ }
91
+ }
92
+
93
+ // Import the sql-file
94
+ if (($_POST['action'] == 'import')) {
95
+ $message_export = '<div class="updated"><p><strong>';
96
+
97
+ // check file extension sql
98
+ $str_file_name = $_FILES['datei']['name'];
99
+ $str_file_ext = explode(".", $str_file_name);
100
+
101
+ if ($str_file_ext[1] != 'wpaq') {
102
+ $message_export.= __('Invalid file extension!', 'addquicktag');
103
+ } else {
104
+ // path for file
105
+ $wpaq_document_root = str_replace("/wp-admin/options-general.php?page=addquicktag.php", "/wp-content/", $wpaq_document_root);
106
+ $str_ziel = $wpaq_document_root . $_FILES['datei']['name'];
107
+ // transfer
108
+ move_uploaded_file($_FILES['datei']['tmp_name'], $str_ziel);
109
+ // access authorisation
110
+ chmod($str_ziel, 0644);
111
+
112
+ // SQL import
113
+ ini_set('default_socket_timeout', 120);
114
+ $import_file = file_get_contents($str_ziel);
115
+ $wpdb->query("UPDATE $wpdb->options SET `option_value` = '$import_file' WHERE `option_name` = 'rmnlQuicktagSettings'");
116
+ unlink($str_ziel);
117
+ $message_export.= __('AddQuicktag options imported!', 'addquicktag');
118
+ }
119
+ $message_export.= '</strong></p></div>';
120
+ }
121
+
122
+ $string1 = __('Adding or deleting Quicktag-buttons', 'addquicktag');
123
+ $string2 = __('Fill in the fields below to add or edit the quicktags. Fields with * are compulsary. To delete a tag simply empty all fields.', 'addquicktag');
124
+ $field1 = __('Buttonstring*', 'addquicktag');
125
+ $field2 = __('Start tag(s)*', 'addquicktag');
126
+ $field3 = __('End tag(s)', 'addquicktag');
127
+ $button1 = __('Update Options &raquo;', 'addquicktag');
128
+
129
+ // Export strings
130
+ $button2 = __('Export &raquo;', 'addquicktag');
131
+ $export1 = __('Export Quicktag-buttons options', 'addquicktag');
132
+ $export2 = __('You can save a wpaq-File with your options in <em>/wp-content/wpaq_export.wpaq</em>', 'addquicktag');
133
+
134
+ // Import strings
135
+ $button3 = __('Upload file and import &raquo;', 'addquicktag');
136
+ $import1 = __('Import Quicktag-buttons options', 'addquicktag');
137
+ $import2 = __('Choose a AddQuicktag (<em>wpaq</em>) file to upload, then click Upload file and import.', 'addquicktag');
138
+ $import3 = __('Choose a file from your computer: ', 'addquicktag');
139
+
140
+ // Info
141
+ $info1 = __('Further information: Visit the <a href=\'http://bueltge.de/wp-addquicktags-de-plugin/120\'>plugin homepage</a> for further information or to grab the latest version of this plugin.', 'addquicktag');
142
+ $info2 = __('You want to thank me? Visit my <a href=\'http://bueltge.de/wunschliste/\'>wishlist</a>.', 'addquicktag');
143
+
144
+ $o = get_option('rmnlQuicktagSettings');
145
+
146
+ echo <<<EOT
147
+ <div class="wrap">
148
+ <h2>WP-Quicktag Management</h2>
149
+ {$message}
150
+ {$message_export}
151
+ <form name="form1" method="post" action="options-general.php?page=addquicktag.php">
152
+ <fieldset class="options">
153
+ <legend>{$string1}</legend>
154
+ <p>{$string2}</p>
155
+ <table width="100%" cellspacing="2" cellpadding="5" class="editform">
156
+ <tr>
157
+ <th style="text-align: center;">{$field1}</th>
158
+ <th style="text-align: center;">{$field2}</th>
159
+ <th style="text-align: center;">{$field3}</th>
160
+ </tr>
161
+ EOT;
162
+ for ($i = 0; $i < count($o['buttons']); $i++){
163
+ $b = $o['buttons'][$i];
164
+ $nr = $i + 1;
165
+ echo <<<EOT
166
+ <tr valign="top" style="text-align: center;">
167
+ <td><input type="text" name="wpaq[buttons][{$i}][text]" value="{$b['text']}" style="width: 95%;" /></td>
168
+ <td><textarea name="wpaq[buttons][{$i}][start]" rows="2" cols="25" style="width: 95%;">{$b['start']}</textarea></td>
169
+ <td><textarea name="wpaq[buttons][{$i}][end]" rows="2" cols="25" style="width: 95%;">{$b['end']}</textarea></td>
170
+ </tr>
171
+ EOT;
172
+ }
173
+ echo <<<EOT
174
+ <tr valign="top" style="text-align: center;">
175
+ <td><input type="text" name="wpaq[buttons][{$i}][text]" value="" style="width: 95%;" /></td>
176
+ <td><textarea name="wpaq[buttons][{$i}][start]" rows="2" cols="25" style="width: 95%;"></textarea></td>
177
+ <td><textarea name="wpaq[buttons][{$i}][end]" rows="2" cols="25" style="width: 95%;"></textarea></td>
178
+ </tr>
179
+ </table>
180
+ </fieldset>
181
+ <p class="submit">
182
+ <input type="submit" name="Submit" value="{$button1}" />
183
+ </p>
184
+ </form>
185
+ <form name="form2" method="post" action="options-general.php?page=addquicktag.php">
186
+ <fieldset class="options">
187
+ <legend>{$export1}</legend>
188
+ <p>{$export2}</p>
189
+ <p class="submit">
190
+ <input type="submit" name="Submit_export" value="{$button2}" />
191
+ <input type="hidden" name="action" value="export" />
192
+ </p>
193
+ </fieldset>
194
+ </form>
195
+
196
+ <form name="form3" enctype="multipart/form-data" method="post" action="options-general.php?page=addquicktag.php">
197
+ <fieldset class="options">
198
+ <legend>{$import1}</legend>
199
+ <p>{$import2}</p>
200
+ <p>
201
+ <label for="datei_id">{$import3}</label>
202
+ <input name="datei" id="datei_id" type="file" />
203
+ </p>
204
+ <p class="submit">
205
+ <input type="submit" name="Submit_import" value="{$button3}" />
206
+ <input type="hidden" name="action" value="import" />
207
+ </p>
208
+ </fieldset>
209
+ </form>
210
+ <hr />
211
+ <p><small>{$info1}<br />&copy; Copyright 2007 <a href="http://bueltge.de">Frank B&uuml;ltge</a> | {$info2}</small></p>
212
+ </div>
213
+ EOT;
214
+ } //End function wpaq_options_page
215
+
216
+ if (strpos($_SERVER['REQUEST_URI'], 'post.php') || strpos($_SERVER['REQUEST_URI'], 'post-new.php') || strpos($_SERVER['REQUEST_URI'], 'page-new.php') || strpos($_SERVER['REQUEST_URI'], 'page.php')) {
217
+ add_action('admin_footer', 'wpaq_addsome');
218
+
219
+ function wpaq_addsome(){
220
+ $o = get_option('rmnlQuicktagSettings');
221
+ if(count($o['buttons']) > 0){
222
+ echo <<<EOT
223
+ <script type="text/javascript">
224
+ <!--
225
+ if(wpaqToolbar = document.getElementById("ed_toolbar")){
226
+ var wpaqNr, wpaqBut, wpaqStart, wpaqEnd;
227
+ EOT;
228
+ for ($i = 0; $i < count($o['buttons']); $i++){
229
+ $b = $o['buttons'][$i];
230
+ $start = preg_replace('![\n\r]+!', "\\n", $b['start']);
231
+ $start = str_replace("'", "\'", $start);
232
+ $end = preg_replace('![\n\r]+!', "\\n", $b['end']);
233
+ $end = str_replace("'", "\'", $end);
234
+ echo <<<EOT
235
+ wpaqStart = '{$start}';
236
+ wpaqEnd = '{$end}';
237
+ wpaqNr = edButtons.length;
238
+ edButtons[wpaqNr] = new edButton('ed_wpaq{$i}','{$b['txt']}',wpaqStart, wpaqEnd,'');
239
+ var wpaqBut = wpaqToolbar.lastChild;
240
+ while (wpaqBut.nodeType != 1){
241
+ wpaqBut = wpaqBut.previousSibling;
242
+ }
243
+ wpaqBut = wpaqBut.cloneNode(true);
244
+ wpaqToolbar.appendChild(wpaqBut);
245
+ wpaqBut.value = '{$b['text']}';
246
+ wpaqBut.title = wpaqNr;
247
+ wpaqBut.onclick = function () {edInsertTag(edCanvas, parseInt(this.title));}
248
+ wpaqBut.id = "ed_wpaq{$i}";
249
+ EOT;
250
+ }
251
+ echo <<<EOT
252
+ }
253
+
254
+ //-->
255
+ </script>
256
+ EOT;
257
+ }
258
+ } //End wpaq_addsome
259
+ } // End if
260
+
261
+ ?>