コード例 #1
0
 /**
  * Constructor, init on defined hooks of WP and include second class
  *
  * @access  public
  * @since   0.0.2
  * @uses    register_activation_hook, register_uninstall_hook, add_action
  * @return \Add_Quicktag_Im_Export
  */
 private function __construct()
 {
     // textdomain from parent class
     self::$textdomain = parent::get_textdomain();
     self::$option_string = parent::get_option_string();
     self::$plugin = parent::get_plugin_string();
     self::$post_types_for_js = parent::get_post_types_for_js();
     if (isset($_GET['addquicktag_download']) && check_admin_referer(parent::$nonce_string)) {
         $this->get_export_file();
     }
     //add_action( 'init', array( $this, 'get_export_file' ) );
     if (isset($_POST['addquicktag_import']) && check_admin_referer(parent::$nonce_string)) {
         $this->import_file();
     }
     //add_action( 'init', array( $this, 'import_file' ) );
     add_action('addquicktag_settings_page', array($this, 'get_im_export_part'));
 }
コード例 #2
0
ファイル: class-imexport.php プロジェクト: nil-vn/beautysite
 /**
  * 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);
     $filename = utf8_encode($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);
     }
 }