array( array( 'text' => 'Example', 'title' => 'Example Title', 'start' => '', 'end' => '' ) ) ); add_option('rmnlQuicktagSettings', $rmnlQuicktagSettings); } /** * install options in table _options * * @package AddQuicktag */ function wpaq_reset() { $rmnlQuicktagSettings = array( 'buttons' => array( array( 'text' => 'Reset', 'title' => 'Reset Title', 'start' => '', 'end' => '' ) ) ); update_option('rmnlQuicktagSettings', $rmnlQuicktagSettings); } /** * uninstall options in table _options * * @package AddQuicktag */ function wpaq_uninstall() { delete_option('rmnlQuicktagSettings'); } /** * export options in file * * @package AddQuicktag */ function wpaq_export() { global $wpdb; $filename = 'wpaq_export-' . date('Y-m-d_G-i-s') . '.wpaq'; header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename=" . urlencode($filename)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header('Content-Type: text/wpaq; charset=' . get_option('blog_charset'), true); flush(); $wpaq_data = mysql_query("SELECT option_value FROM $wpdb->options WHERE option_name = 'rmnlQuicktagSettings'"); $wpaq_data = mysql_result($wpaq_data, 0); echo $wpaq_data; flush(); } /** * import options in table _options * * @package AddQuicktag */ function wpaq_import() { if ( !current_user_can('manage_options') ) wp_die( __('Options not update - you don‘t have the privilidges to do this!', 'secure_wp') ); //cross check the given referer check_admin_referer('rmnl_nonce'); // check file extension $str_file_name = $_FILES['datei']['name']; $str_file_ext = explode(".", $str_file_name); if ($str_file_ext[1] != 'wpaq') { $addreferer = 'notexist'; } elseif (file_exists($_FILES['datei']['name'])) { $addreferer = 'exist'; } else { // path for file $str_ziel = WP_CONTENT_DIR . '/' . $_FILES['datei']['name']; // 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); wpaq_reset(); $import_file = unserialize($import_file); update_option('rmnlQuicktagSettings', $import_file); unlink($str_ziel); $addreferer = 'true'; } $referer = str_replace('&update=true&update=true', '', $_POST['_wp_http_referer'] ); wp_redirect($referer . '&update=' . $addreferer ); } /** * options page in backend of WP * * @package AddQuicktag */ function wpaq_options_page() { global $wp_version; if ($_POST['wpaq']) { if ( 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['title'] = $b['title']; $b['start'] = stripslashes($b['start']); $b['end'] = stripslashes($b['end']); $buttons[] = $b; } } $_POST['wpaq']['buttons'] = $buttons; update_option('rmnlQuicktagSettings', $_POST['wpaq']); $message = '

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

'; } else { wp_die('

'.__('You do not have sufficient permissions to edit plugins for this blog.', FB_WPAQ_TEXTDOMAIN ).'

'); } } // Uninstall options if ( ($_POST['action'] == 'uninstall') ) { if ( current_user_can('edit_plugins') ) { check_admin_referer('rmnl_nonce'); wpaq_uninstall(); $message_export = '

'; $message_export.= __('AddQuicktag options have been deleted!', FB_WPAQ_TEXTDOMAIN ); $message_export.= '

'; } else { wp_die('

'.__('You do not have sufficient permissions to edit plugins for this blog.', FB_WPAQ_TEXTDOMAIN ).'

'); } } $string1 = __('Add or delete Quicktag buttons', FB_WPAQ_TEXTDOMAIN ); $string2 = __('Fill in the fields below to add or edit the quicktags. Fields with * are required. To delete a tag simply empty all fields.', FB_WPAQ_TEXTDOMAIN ); $field1 = __('Button Label*', FB_WPAQ_TEXTDOMAIN ); $field2 = __('Title Attribute', FB_WPAQ_TEXTDOMAIN ); $field3 = __('Start Tag(s)*', FB_WPAQ_TEXTDOMAIN ); $field4 = __('End Tag(s)', FB_WPAQ_TEXTDOMAIN ); $button1 = __('Update Options »', FB_WPAQ_TEXTDOMAIN ); // Export strings $button2 = __('Export »', FB_WPAQ_TEXTDOMAIN ); $export1 = __('Export/Import AddQuicktag buttons options', FB_WPAQ_TEXTDOMAIN ); $export2 = __('You can save a .wpaq file with your options.', FB_WPAQ_TEXTDOMAIN ); $export3 = __('Export', FB_WPAQ_TEXTDOMAIN ); // Import strings $button3 = __('Upload file and import »', FB_WPAQ_TEXTDOMAIN ); $import1 = __('Import', FB_WPAQ_TEXTDOMAIN ); $import2 = __('Choose a Quicktag (.wpaq) file to upload, then click Upload file and import.', FB_WPAQ_TEXTDOMAIN ); $import3 = __('Choose a file from your computer: ', FB_WPAQ_TEXTDOMAIN ); // Uninstall strings $button4 = __('Uninstall Options »', FB_WPAQ_TEXTDOMAIN ); $uninstall1 = __('Uninstall options', FB_WPAQ_TEXTDOMAIN ); $uninstall2 = __('This button deletes all options of the WP-AddQuicktag plugin. Attention: You cannot undo this!', FB_WPAQ_TEXTDOMAIN ); // Info $info0 = __('About the plugin', FB_WPAQ_TEXTDOMAIN ); $info1 = __('Further information: Visit the plugin homepage for further information or to grab the latest version of this plugin.', FB_WPAQ_TEXTDOMAIN ); $info2 = __('You want to thank me? Visit my wishlist or donate.', FB_WPAQ_TEXTDOMAIN ); // message for import, after redirect if ( strpos($_SERVER['REQUEST_URI'], 'addquicktag.php') && $_GET['update'] && !$_POST['uninstall'] ) { $message_export = '

'; if ( $_GET['update'] == 'true' ) { $message_export .= __('AddQuicktag options imported!', FB_WPAQ_TEXTDOMAIN ); } elseif( $_GET['update'] == 'exist' ) { $message_export .= __('File is exist!', FB_WPAQ_TEXTDOMAIN ); } elseif( $_GET['update'] == 'notexist' ) { $message_export .= __('Invalid file extension!', FB_WPAQ_TEXTDOMAIN ); } $message_export .= '

'; } $o = get_option('rmnlQuicktagSettings'); ?>




'; } ?>





© Copyright 2007 - Frank Bültge |

0) { ?> > 0x06) + 0xC0) . chr(($num & 0x3F) + 128); } elseif ($num <= 0xFFFF) { return chr(($num >> 0x0C) + 0xE0) . chr((($num >> 0x06) & 0x3F) + 0x80) . chr(($num & 0x3F) + 0x80); } elseif ($num <= 0x1FFFFF) { return chr(($num >> 0x12) + 0xF0) . chr((($num >> 0x0C) & 0x3F) + 0x80) . chr((($num >> 0x06) & 0x3F) + 0x80) . chr(($num & 0x3F) + 0x80); } return ''; } /** * html_entity_decode for PHP 4 * * @package AddQuicktag */ function wpaq_html_entity_decode_php4($str) { $htmlentities = array ( "Á" => chr(195).chr(129), "á" => chr(195).chr(161), "Â" => chr(195).chr(130), "â" => chr(195).chr(162), "´" => chr(194).chr(180), "Æ" => chr(195).chr(134), "æ" => chr(195).chr(166), "À" => chr(195).chr(128), "à" => chr(195).chr(160), "ℵ" => chr(226).chr(132).chr(181), "Α" => chr(206).chr(145), "α" => chr(206).chr(177), "&" => chr(38), "∧" => chr(226).chr(136).chr(167), "∠" => chr(226).chr(136).chr(160), "Å" => chr(195).chr(133), "å" => chr(195).chr(165), "≈" => chr(226).chr(137).chr(136), "Ã" => chr(195).chr(131), "ã" => chr(195).chr(163), "Ä" => chr(195).chr(132), "ä" => chr(195).chr(164), "„" => chr(226).chr(128).chr(158), "Β" => chr(206).chr(146), "β" => chr(206).chr(178), "¦" => chr(194).chr(166), "•" => chr(226).chr(128).chr(162), "∩" => chr(226).chr(136).chr(169), "Ç" => chr(195).chr(135), "ç" => chr(195).chr(167), "¸" => chr(194).chr(184), "¢" => chr(194).chr(162), "Χ" => chr(206).chr(167), "χ" => chr(207).chr(135), "ˆ" => chr(203).chr(134), "♣" => chr(226).chr(153).chr(163), "≅" => chr(226).chr(137).chr(133), "©" => chr(194).chr(169), "↵" => chr(226).chr(134).chr(181), "∪" => chr(226).chr(136).chr(170), "¤" => chr(194).chr(164), "†" => chr(226).chr(128).chr(160), "‡" => chr(226).chr(128).chr(161), "↓" => chr(226).chr(134).chr(147), "⇓" => chr(226).chr(135).chr(147), "°" => chr(194).chr(176), "Δ" => chr(206).chr(148), "δ" => chr(206).chr(180), "♦" => chr(226).chr(153).chr(166), "÷" => chr(195).chr(183), "É" => chr(195).chr(137), "é" => chr(195).chr(169), "Ê" => chr(195).chr(138), "ê" => chr(195).chr(170), "È" => chr(195).chr(136), "è" => chr(195).chr(168), "∅" => chr(226).chr(136).chr(133), " " => chr(226).chr(128).chr(131), " " => chr(226).chr(128).chr(130), "Ε" => chr(206).chr(149), "ε" => chr(206).chr(181), "≡" => chr(226).chr(137).chr(161), "Η" => chr(206).chr(151), "η" => chr(206).chr(183), "Ð" => chr(195).chr(144), "ð" => chr(195).chr(176), "Ë" => chr(195).chr(139), "ë" => chr(195).chr(171), "€" => chr(226).chr(130).chr(172), "∃" => chr(226).chr(136).chr(131), "ƒ" => chr(198).chr(146), "∀" => chr(226).chr(136).chr(128), "½" => chr(194).chr(189), "¼" => chr(194).chr(188), "¾" => chr(194).chr(190), "⁄" => chr(226).chr(129).chr(132), "Γ" => chr(206).chr(147), "γ" => chr(206).chr(179), "≥" => chr(226).chr(137).chr(165), "↔" => chr(226).chr(134).chr(148), "⇔" => chr(226).chr(135).chr(148), "♥" => chr(226).chr(153).chr(165), "…" => chr(226).chr(128).chr(166), "Í" => chr(195).chr(141), "í" => chr(195).chr(173), "Î" => chr(195).chr(142), "î" => chr(195).chr(174), "¡" => chr(194).chr(161), "Ì" => chr(195).chr(140), "ì" => chr(195).chr(172), "ℑ" => chr(226).chr(132).chr(145), "∞" => chr(226).chr(136).chr(158), "∫" => chr(226).chr(136).chr(171), "Ι" => chr(206).chr(153), "ι" => chr(206).chr(185), "¿" => chr(194).chr(191), "∈" => chr(226).chr(136).chr(136), "Ï" => chr(195).chr(143), "ï" => chr(195).chr(175), "Κ" => chr(206).chr(154), "κ" => chr(206).chr(186), "Λ" => chr(206).chr(155), "λ" => chr(206).chr(187), "⟨" => chr(226).chr(140).chr(169), "«" => chr(194).chr(171), "←" => chr(226).chr(134).chr(144), "⇐" => chr(226).chr(135).chr(144), "⌈" => chr(226).chr(140).chr(136), "“" => chr(226).chr(128).chr(156), "≤" => chr(226).chr(137).chr(164), "⌊" => chr(226).chr(140).chr(138), "∗" => chr(226).chr(136).chr(151), "◊" => chr(226).chr(151).chr(138), "‎" => chr(226).chr(128).chr(142), "‹" => chr(226).chr(128).chr(185), "‘" => chr(226).chr(128).chr(152), "¯" => chr(194).chr(175), "—" => chr(226).chr(128).chr(148), "µ" => chr(194).chr(181), "·" => chr(194).chr(183), "−" => chr(226).chr(136).chr(146), "Μ" => chr(206).chr(156), "μ" => chr(206).chr(188), "∇" => chr(226).chr(136).chr(135), " " => chr(194).chr(160), "–" => chr(226).chr(128).chr(147), "≠" => chr(226).chr(137).chr(160), "∋" => chr(226).chr(136).chr(139), "¬" => chr(194).chr(172), "∉" => chr(226).chr(136).chr(137), "⊄" => chr(226).chr(138).chr(132), "Ñ" => chr(195).chr(145), "ñ" => chr(195).chr(177), "Ν" => chr(206).chr(157), "ν" => chr(206).chr(189), "Ó" => chr(195).chr(147), "ó" => chr(195).chr(179), "Ô" => chr(195).chr(148), "ô" => chr(195).chr(180), "Œ" => chr(197).chr(146), "œ" => chr(197).chr(147), "Ò" => chr(195).chr(146), "ò" => chr(195).chr(178), "‾" => chr(226).chr(128).chr(190), "Ω" => chr(206).chr(169), "ω" => chr(207).chr(137), "Ο" => chr(206).chr(159), "ο" => chr(206).chr(191), "⊕" => chr(226).chr(138).chr(149), "∨" => chr(226).chr(136).chr(168), "ª" => chr(194).chr(170), "º" => chr(194).chr(186), "Ø" => chr(195).chr(152), "ø" => chr(195).chr(184), "Õ" => chr(195).chr(149), "õ" => chr(195).chr(181), "⊗" => chr(226).chr(138).chr(151), "Ö" => chr(195).chr(150), "ö" => chr(195).chr(182), "¶" => chr(194).chr(182), "∂" => chr(226).chr(136).chr(130), "‰" => chr(226).chr(128).chr(176), "⊥" => chr(226).chr(138).chr(165), "Φ" => chr(206).chr(166), "φ" => chr(207).chr(134), "Π" => chr(206).chr(160), "π" => chr(207).chr(128), "ϖ" => chr(207).chr(150), "±" => chr(194).chr(177), "£" => chr(194).chr(163), "′" => chr(226).chr(128).chr(178), "″" => chr(226).chr(128).chr(179), "∏" => chr(226).chr(136).chr(143), "∝" => chr(226).chr(136).chr(157), "Ψ" => chr(206).chr(168), "ψ" => chr(207).chr(136), "√" => chr(226).chr(136).chr(154), "⟩" => chr(226).chr(140).chr(170), "»" => chr(194).chr(187), "→" => chr(226).chr(134).chr(146), "⇒" => chr(226).chr(135).chr(146), "⌉" => chr(226).chr(140).chr(137), "”" => chr(226).chr(128).chr(157), "ℜ" => chr(226).chr(132).chr(156), "®" => chr(194).chr(174), "⌋" => chr(226).chr(140).chr(139), "Ρ" => chr(206).chr(161), "ρ" => chr(207).chr(129), "‏" => chr(226).chr(128).chr(143), "›" => chr(226).chr(128).chr(186), "’" => chr(226).chr(128).chr(153), "‚" => chr(226).chr(128).chr(154), "Š" => chr(197).chr(160), "š" => chr(197).chr(161), "⋅" => chr(226).chr(139).chr(133), "§" => chr(194).chr(167), "­" => chr(194).chr(173), "Σ" => chr(206).chr(163), "σ" => chr(207).chr(131), "ς" => chr(207).chr(130), "∼" => chr(226).chr(136).chr(188), "♠" => chr(226).chr(153).chr(160), "⊂" => chr(226).chr(138).chr(130), "⊆" => chr(226).chr(138).chr(134), "∑" => chr(226).chr(136).chr(145), "¹" => chr(194).chr(185), "²" => chr(194).chr(178), "³" => chr(194).chr(179), "⊃" => chr(226).chr(138).chr(131), "⊇" => chr(226).chr(138).chr(135), "ß" => chr(195).chr(159), "Τ" => chr(206).chr(164), "τ" => chr(207).chr(132), "∴" => chr(226).chr(136).chr(180), "Θ" => chr(206).chr(152), "θ" => chr(206).chr(184), "ϑ" => chr(207).chr(145), " " => chr(226).chr(128).chr(137), "Þ" => chr(195).chr(158), "þ" => chr(195).chr(190), "˜" => chr(203).chr(156), "×" => chr(195).chr(151), "™" => chr(226).chr(132).chr(162), "Ú" => chr(195).chr(154), "ú" => chr(195).chr(186), "↑" => chr(226).chr(134).chr(145), "⇑" => chr(226).chr(135).chr(145), "Û" => chr(195).chr(155), "û" => chr(195).chr(187), "Ù" => chr(195).chr(153), "ù" => chr(195).chr(185), "¨" => chr(194).chr(168), "ϒ" => chr(207).chr(146), "Υ" => chr(206).chr(165), "υ" => chr(207).chr(133), "Ü" => chr(195).chr(156), "ü" => chr(195).chr(188), "℘" => chr(226).chr(132).chr(152), "Ξ" => chr(206).chr(158), "ξ" => chr(206).chr(190), "Ý" => chr(195).chr(157), "ý" => chr(195).chr(189), "¥" => chr(194).chr(165), "ÿ" => chr(195).chr(191), "Ÿ" => chr(197).chr(184), "Ζ" => chr(206).chr(150), "ζ" => chr(206).chr(182), "‍" => chr(226).chr(128).chr(141), "‌" => chr(226).chr(128).chr(140), ">" => ">", "<" => "<" ); $return = strtr($str, $htmlentities); $return = preg_replace("~&#x([0-9a-f]+);~ei", "wpaq_code_to_utf8(hexdec(\\1))", $return); $return = preg_replace("~&#([0-9]+);~e", "wpaq_code_to_utf8(\\1)", $return); return $return; } /** * hook in WP * * @package AddQuicktag */ 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('admin_post_wpaq_import', 'wpaq_import' ); } /** * Add action link(s) to plugins page * Thanks Dion Hulse -- http://dd32.id.au/wordpress-plugins/?configure-link * * @package AddQuicktag */ 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 * * @package Secure WordPress * * @param $links, $file * @return $links */ function wpaq_filter_plugin_actions_new($links, $file) { /* create link */ if ( $file == FB_WPAQ_BASENAME ) { array_unshift( $links, sprintf( '%s', FB_WPAQ_BASENAME, __('Settings') ) ); } return $links; } /** * Images/ Icons in base64-encoding * @use function wpag_get_resource_url() for display * * @package AddQuicktag */ 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 * * @package AddQuicktag */ function wpag_get_resource_url($resourceID) { return trailingslashit( get_bloginfo('url') ) . '?resource=' . $resourceID; } /** * settings in plugin-admin-page * * @package AddQuicktag */ 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 .= __('AddQuicktag', FB_WPAQ_TEXTDOMAIN ); add_options_page( __('WP-Quicktag – AddQuicktag', FB_WPAQ_TEXTDOMAIN ), $menutitle, 9, $plugin, 'wpaq_options_page'); if ( version_compare( $wp_version, '2.7alpha', '<' ) ) { add_filter('plugin_action_links', 'wpaq_filter_plugin_actions', 10, 2); } else { add_filter( 'plugin_action_links_' . $plugin, 'wpaq_filter_plugin_actions_new', 10, 2 ); if ( version_compare( $wp_version, '2.8alpha', '>' ) ) add_filter( 'plugin_row_meta', 'wpaq_filter_plugin_actions_new', 10, 2 ); } } } /** * credit in wp-footer * * @package AddQuicktag */ 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
', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author']); } } ?>