Options --> Add Quicktags by Roel Meurders and Frank Bueltge */ // SCRIPT INFO /////////////////////////////////////////////////////////////////////////// /* WP-AddQuicktag for Wordpress is in originally by (C) 2005 Roel Meurders - GNU General Public License AddQuicktag is an newer version with more functions and worked in WP 2.1 (C) 2007 Frank Bueltge This Wordpress plugin is released under a GNU General Public License. A complete version of this license can be found here: http://www.gnu.org/licenses/gpl.txt This Wordpress plugin has been tested with Wordpress 2.0, 2.1 and Wordpress 2.3; This Wordpress plugin is released "as is". Without any warranty. The authors cannot be held responsible for any damage that this script might cause. */ // NO EDITING HERE!!!!! //////////////////////////////////////////////////////////////// if(function_exists('load_plugin_textdomain')) load_plugin_textdomain('addquicktag','wp-content/plugins'); function wpaq_install() { global $wpdb; if (!get_option('rmnlQuicktagSettings') != '') { $name = 'rmnlQuicktagSettings'; $value = 'a:1:{s:7:"buttons";a:1:{i:0;a:3:{s:4:"text";s:7:"Example";s:5:"start";s:9:"";s:3:"end";s:10:"";}}}'; $description = ''; $autoload = 'yes'; $wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, option_description, autoload) VALUES ('$name', '$value', '$description', '$autoload')"); } return; } if (function_exists('add_action')) { add_action('admin_menu', 'wpaq_admin_menu'); if (strpos($_SERVER['REQUEST_URI'], 'addquicktag.php')) { add_action('init', 'wpaq_install'); } } function wpaq_admin_menu(){ add_options_page('WP-Quicktag - Add Quicktags', 'Add Quicktags', 9, basename(__FILE__), 'wpaq_options_page'); } function wpaq_options_page(){ global $wpdb; $wpaq_document_root = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI']; $wpaq_document_root = str_replace("/wp-admin/options-general.php?page=addquicktag.php", "/wp-content", $wpaq_document_root); $wpaq_link = $_SERVER['REQUEST_URI']; $wpaq_link = str_replace("\\", "/", $wpaq_link); if ($_POST['wpaq']){ $buttons = array(); for ($i = 0; $i < count($_POST['wpaq']['buttons']); $i++){ $b = $_POST['wpaq']['buttons'][$i]; if ($b['text'] != '' && $b['start'] != ''){ $b['text'] = htmlentities($b['text']); $b['start'] = stripslashes($b['start']); $b['end'] = stripslashes($b['end']); $buttons[] = $b; } } $_POST['wpaq']['buttons'] = $buttons; update_option('rmnlQuicktagSettings', $_POST['wpaq']); $message = '

' . __('Options saved.', 'addquicktag') . '

'; } // Export sql-option if (($_POST['action'] == 'export')) { $wpaq_data = mysql_query("SELECT option_value FROM $wpdb->options WHERE option_name = 'rmnlQuicktagSettings'"); $wpaq_data = mysql_result($wpaq_data, 0); $file_name = $wpaq_document_root . '/wpaq_export-' . date('Y-m-d_G-i-s') . '.wpaq'; $file_name = str_replace("//", "/", $file_name); $fh = @ fopen($file_name, 'w'); if ($fh == false) { $message_export = '

' . __('Can not open for write!', 'addquicktag') . '

'; } else { @flock($fh, LOCK_EXCLUSIVE); $err = @fputs($fh, $wpaq_data); @fclose($fh); if ($err === false) { $message_export = '

' . __('Can not write!', 'addquicktag') . '

'; } $message_export = '

' . __('AddQuicktag options saved!', 'addquicktag') . '
'; $message_export.= __('Saved in: ', 'addquicktag') . $file_name; $message_export.= '

'; } } // Import the sql-file if (($_POST['action'] == 'import')) { $message_export = '

'; // check file extension sql $str_file_name = $_FILES['datei']['name']; $str_file_ext = explode(".", $str_file_name); if ($str_file_ext[1] != 'wpaq') { $message_export.= __('Invalid file extension!', 'addquicktag'); } elseif (file_exists($_FILES['datei']['name'])) { $message_export.= __('File is exist!', 'addquicktag'); } else { // path for file $wpaq_document_root = str_replace("/wp-admin/options-general.php?page=addquicktag.php", "/wp-content/", $wpaq_document_root); $str_ziel = $wpaq_document_root . '/' . $_FILES['datei']['name']; $str_ziel = str_replace("//", "/", $str_ziel); // transfer move_uploaded_file($_FILES['datei']['tmp_name'], $str_ziel); // access authorisation chmod($str_ziel, 0644); // SQL import ini_set('default_socket_timeout', 120); $import_file = file_get_contents($str_ziel); $wpdb->query("UPDATE $wpdb->options SET `option_value` = '$import_file' WHERE `option_name` = 'rmnlQuicktagSettings'"); unlink($str_ziel); $message_export.= __('AddQuicktag options imported!', 'addquicktag'); } $message_export.= '

'; } $string1 = __('Adding or deleting Quicktag-buttons', 'addquicktag'); $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'); $field1 = __('Buttonstring*', 'addquicktag'); $field2 = __('Start tag(s)*', 'addquicktag'); $field3 = __('End tag(s)', 'addquicktag'); $button1 = __('Update Options »', 'addquicktag'); // Export strings $button2 = __('Export »', 'addquicktag'); $export1 = __('Export Quicktag-buttons options', 'addquicktag'); $export2 = __('You can save a wpaq-File with your options in /wp-content/', 'addquicktag'); // Import strings $button3 = __('Upload file and import »', 'addquicktag'); $import1 = __('Import Quicktag-buttons options', 'addquicktag'); $import2 = __('Choose a AddQuicktag (wpaq) file to upload, then click Upload file and import.', 'addquicktag'); $import3 = __('Choose a file from your computer: ', 'addquicktag'); // Info $info1 = __('Further information: Visit the plugin homepage for further information or to grab the latest version of this plugin.', 'addquicktag'); $info2 = __('You want to thank me? Visit my wishlist.', 'addquicktag'); $o = get_option('rmnlQuicktagSettings'); echo <<

WP-Quicktag Management

{$message} {$message_export}
{$string1}

{$string2}

EOT; for ($i = 0; $i < count($o['buttons']); $i++){ $b = $o['buttons'][$i]; $nr = $i + 1; echo << EOT; } echo <<
{$field1} {$field2} {$field3}

{$export1}

{$export2}

{$import1}

{$import2}


{$info1}
© Copyright 2007 Frank Bültge | {$info2}

EOT; } //End function wpaq_options_page 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')) { add_action('admin_footer', 'wpaq_addsome'); function wpaq_addsome(){ $o = get_option('rmnlQuicktagSettings'); if(count($o['buttons']) > 0){ echo << EOT; } } //End wpaq_addsome } // End if ?>