'; $xml .= "\n" . '' . "\n"; for ( $i = 0; $i < count( $options['buttons'] ); $i++ ) { $xml .= "\t" . '' . "\n"; foreach( $options['buttons'][$i] as $name => $value ) { $value = stripslashes( $value ); if ( empty( $value ) ) { $xml .= "\t\t" . '<' . $name . '/>' . "\n"; } elseif ( preg_match( '/^[0-9]*$/', $value ) ) { $xml .= "\t\t" . '<' . $name . '>' . $value . '' . "\n"; } else { $xml .= "\t\t" . '<' . $name . '>' . "\n"; } } $xml .= "\t" . '' . "\n"; } $xml .= ''; } else { $xml = 'We dont find settings in database'; } $filename = urlencode( 'addquicktag.' . date('Y-m-d') . '.xml' ); $filesize = strlen( $xml ); $this -> export_xml( $filename, $filesize, $filetype = 'text/xml' ); echo $xml; exit; } /** * Create download file * * @access public * @since 2.0.0 * @param string $filename * @param string $filesize * @param string $filetype * @uses get_option * @return void */ public function export_xml( $filename, $filesize, $filetype ) { header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $filename ); header( 'Content-Length: ' . $filesize ); header( 'Content-type: ' . $filetype . '; charset=' . get_option('blog_charset'), TRUE ); flush(); } /** * Import XML and update settings * * @access public * @since 2.0.0 * @param string $filename * @uses current_user_can, wp_die, is_plugin_active_for_network, update_site_option, update_option * @return void */ public function import_file( $filename = FALSE ) { if ( ! current_user_can( 'manage_options' ) ) wp_die( __('Options not update - you don‘t have the privilidges to do this!', parent :: get_textdomain() ) ); // use tmp file if ( ! $filename ) $filename = $_FILES['xml']['tmp_name']; $filename = preg_replace( "/\<\!\[CDATA\[(.*?)\]\]\>/ies", "'[CDATA]' . base64_encode('$1') . '[/CDATA]'", $filename ); $matches = simplexml_load_file( $filename ); // create array from xml $button = array(); foreach ( $matches -> quicktag as $key ) { foreach ($key as $value) { $buttons[$value -> getName()] = $value; } $button[] = $buttons; } $options['buttons'] = $button; // validate the values from xml $options = parent :: validate_settings($options); // update settings in database if ( is_multisite() && is_plugin_active_for_network( parent :: get_plugin_string() ) ) update_site_option( parent :: get_option_string(), $options ); else update_option( parent :: get_option_string(), $options ); } } // end class $add_quicktag_im_export = Add_Quicktag_Im_Export :: get_object();