";s:3:"end";s:10:"";}}}';
$autoload = 'yes';
$wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES ('$name', '$value', '$autoload')");
}
}
// unsinstall options in table options
function wpaq_uninstall() {
delete_option('rmnlQuicktagSettings');
}
// options-page in wp-backend
function wpaq_options_page() {
global $wpdb, $wp_version;
$wpaq_document_root = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI'];
$wpaq_document_root = str_replace("/wp-admin/options-general.php?page=addquicktag.php", WP_CONTENT_FOLDER, $wpaq_document_root);
$wpaq_link = $_SERVER['REQUEST_URI'];
$wpaq_link = str_replace("\\", "/", $wpaq_link);
if ($_POST['wpaq']) {
if ( function_exists('current_user_can') && current_user_can('edit_plugins') ) {
check_admin_referer('rmnl_nonce');
$buttons = array();
for ($i = 0; $i < count($_POST['wpaq']['buttons']); $i++){
$b = $_POST['wpaq']['buttons'][$i];
if ($b['text'] != '' && $b['start'] != '') {
$b['text'] = ($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') . '
'.__('You do not have sufficient permissions to edit plugins for this blog.').'
'); } } // Export sql-option if (($_POST['action'] == 'export')) { if ( function_exists('current_user_can') && current_user_can('edit_plugins') ) { check_admin_referer('rmnl_nonce'); $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') . ' - ' . get_bloginfo('url') . WP_CONTENT_FOLDER . '
' . __('Can not write!', 'addquicktag') . '
' . __('AddQuicktag options saved!', 'addquicktag') . '
';
$message_export.= __('Saved in: ', 'addquicktag') . $file_name;
$message_export.= '
'.__('You do not have sufficient permissions to edit plugins for this blog.').'
'); } } // Import the sql-file if (($_POST['action'] == 'import')) { if ( function_exists('current_user_can') && current_user_can('edit_plugins') ) { check_admin_referer('rmnl_nonce'); $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_FOLDER, $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.= '
'.__('You do not have sufficient permissions to edit plugins for this blog.').'
'); } } // Uninstall options if (($_POST['action'] == 'uninstall')) { if ( function_exists('current_user_can') && current_user_can('edit_plugins') ) { check_admin_referer('rmnl_nonce'); wpaq_uninstall(); $message_export = ''; $message_export.= __('AddQuicktag options have been deleted!', 'addquicktag'); $message_export.= '
'.__('You do not have sufficient permissions to edit plugins for this blog.').'
'); } } $string1 = __('Add or delete Quicktag buttons', 'addquicktag'); $string2 = __('Fill in the fields below to add or edit the quicktags. Fields with * are required. To delete a tag simply empty all fields.', 'addquicktag'); $field1 = __('Button Label*', '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 ', 'addquicktag') . WP_CONTENT_FOLDER . __('/wpaq_export.wpaq', 'addquicktag'); // Import strings $button3 = __('Upload file and import »', 'addquicktag'); $import1 = __('Import Quicktag buttons options', 'addquicktag'); $import2 = __('Choose a Quicktag (.wpaq) file to upload, then click Upload file and import.', 'addquicktag'); $import3 = __('Choose a file from your computer: ', 'addquicktag'); // Uninstall strings $button4 = __('Uninstall Options »', 'addquicktag'); $uninstall1 = __('Uninstall options', 'addquicktag'); $uninstall2 = __('This button deletes all options of the WP-AddQuicktag plugin. Attention: You cannot undo this!', 'addquicktag'); // Info $info0 = __('About the plugin', 'addquicktag'); $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'); ?> 0) { echo ' '; } } //End wpaq_addsome } // End if // add to wp if ( function_exists('register_activation_hook') ) register_activation_hook(__FILE__, 'wpaq_install'); if ( function_exists('register_uninstall_hook') ) register_uninstall_hook(__FILE__, 'wpaq_uninstall'); if ( is_admin() ) { add_action('init', 'wpaq_textdomain'); add_action('admin_menu', 'wpaq_add_settings_page'); add_action('in_admin_footer', 'wpaq_admin_footer'); } /** * Add action link(s) to plugins page * Thanks Dion Hulse -- http://dd32.id.au/wordpress-plugins/?configure-link */ function wpaq_filter_plugin_actions($links, $file){ static $this_plugin; if( ! $this_plugin ) $this_plugin = plugin_basename(__FILE__); if( $file == $this_plugin ){ $settings_link = '' . __('Settings') . ''; $links = array_merge( array($settings_link), $links); // before other links } return $links; } /** * @version WP 2.7 * Add action link(s) to plugins page */ function wpaq_filter_plugin_actions_new($links) { $settings_link = '' . __('Settings') . ''; array_unshift( $links, $settings_link ); return $links; } /** * Images/ Icons in base64-encoding * @use function wpag_get_resource_url() for display */ if( isset($_GET['resource']) && !empty($_GET['resource'])) { # base64 encoding performed by base64img.php from http://php.holtsmark.no $resources = array( 'addquicktag.gif' => 'R0lGODlhCwAJALMPAPL19Y2cnLzNzZempsXV1VpfX6WysrS/v5'. '+trXmDg9Xh4drr66W5uay6urnHx////yH5BAEAAA8ALAAAAAAL'. 'AAkAAARA8D0gmBMESMUIK0XAVNzQOE6QCIJhIMOANMRCHG+MuI'. '5yG4PAzjDyORqyxKwh8AlUAEUiQVswqBINIHEIHCSPCAA7'. ''); if(array_key_exists($_GET['resource'], $resources)) { $content = base64_decode($resources[ $_GET['resource'] ]); $lastMod = filemtime(__FILE__); $client = ( isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : false ); // Checking if the client is validating his cache and if it is current. if (isset($client) && (strtotime($client) == $lastMod)) { // Client's cache IS current, so we just respond '304 Not Modified'. header('Last-Modified: '.gmdate('D, d M Y H:i:s', $lastMod).' GMT', true, 304); exit; } else { // Image not cached or cache outdated, we respond '200 OK' and output the image. header('Last-Modified: '.gmdate('D, d M Y H:i:s', $lastMod).' GMT', true, 200); header('Content-Length: '.strlen($content)); header('Content-Type: image/' . substr(strrchr($_GET['resource'], '.'), 1) ); echo $content; exit; } } } /** * Display Images/ Icons in base64-encoding * @return $resourceID */ function wpag_get_resource_url($resourceID) { return trailingslashit( get_bloginfo('url') ) . '?resource=' . $resourceID; } /** * settings in plugin-admin-page */ function wpaq_add_settings_page() { global $wp_version; if ( function_exists('add_options_page') && current_user_can('manage_options') ) { $plugin = plugin_basename(__FILE__); $menutitle = ''; if ( version_compare( $wp_version, '2.6.999', '>' ) ) { $menutitle = '
' . ' ';
}
$menutitle .= __('Add Quicktag', 'addquicktag');
add_options_page( __('WP-Quicktag – Add Quicktag', 'addquicktag'), $menutitle, 9, $plugin, 'wpaq_options_page');
if ( version_compare( $wp_version, '2.6.999', '<' ) ) {
add_filter('plugin_action_links', 'wpaq_filter_plugin_actions', 10, 2);
} else {
add_filter( 'plugin_action_links_' . $plugin, 'wpaq_filter_plugin_actions_new' );
}
}
}
/**
* credit in wp-footer
*/
function wpaq_admin_footer() {
if( basename($_SERVER['REQUEST_URI']) == 'addquicktag.php') {
$plugin_data = get_plugin_data( __FILE__ );
printf('%1$s plugin | ' . __('Version') . ' %2$s | ' . __('Author') . ' %3$s