PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.6.0
Shortcodes and extra features for Phlox theme v2.6.0
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / classes / class-auxels-import.php
auxin-elements / includes / classes Last commit date
class-auxels-admin-assets.php 6 years ago class-auxels-archive-menu-links.php 6 years ago class-auxels-envato-elements.php 6 years ago class-auxels-import-parser.php 8 years ago class-auxels-import.php 6 years ago class-auxels-search-post-type.php 6 years ago class-auxin-admin-dashboard.php 6 years ago class-auxin-demo-importer.php 6 years ago class-auxin-dependency-sorting.php 8 years ago class-auxin-import.php 6 years ago class-auxin-install.php 6 years ago class-auxin-master-nav-menu-admin.php 6 years ago class-auxin-page-template.php 6 years ago class-auxin-permalink.php 6 years ago class-auxin-plugin-requirements.php 6 years ago class-auxin-post-type-base.php 6 years ago class-auxin-siteorigin-widget.php 6 years ago class-auxin-svg-support-allowedattributes.php 7 years ago class-auxin-svg-support-allowedtags.php 7 years ago class-auxin-svg-support.php 7 years ago class-auxin-walker-nav-menu-back.php 6 years ago class-auxin-welcome-sections.php 6 years ago class-auxin-welcome.php 6 years ago class-auxin-whitelabel.php 6 years ago class-auxin-widget-indie.php 6 years ago class-auxin-widget-shortcode-map.php 6 years ago class-auxin-widget.php 6 years ago
class-auxels-import.php
153 lines
1 <?php
2 /**
3 * Class for importing and exporting theme options
4 */
5 class Auxels_Import {
6
7 /**
8 * Instance of this class.
9 *
10 * @var object
11 */
12 protected static $instance = null;
13
14
15 function __construct(){
16 // Add a radio option for exporting auxin options to wp export options.
17 add_action( 'export_filters', array( $this, 'export_filters' ) );
18 // Process the check field for auxin options while export submitted
19 add_filter( 'export_args', array( $this, 'export_args' ) );
20
21 // adding options to export file
22 add_action( 'rss2_head', array( $this, 'add_xml_tag_option_in_export' ) );
23 // Import the options based on parsed data from xml file
24 add_action( 'import_start', array( $this, 'import_start' ) );
25 }
26
27 /**
28 * Add a radio option for exporting auxin options to available export options.
29 *
30 * @return void
31 */
32 public function export_filters() {
33 ?>
34 <hr />
35 <p><label>
36 <input type="checkbox" name="auxin-options" checked="checked" aria-describedby="all-content-desc" />
37 <?php _e( 'Include theme options', 'auxin-elements' ); ?>
38 </label></p>
39 <?php
40 }
41
42 /**
43 * Process the check field for auxin options
44 *
45 * @param array $args
46 * @return mixed
47 */
48 public function export_args( $args ){
49
50 if ( ! empty( $_GET['auxin-options'] ) ) {
51 $args['auxin-options'] = true;
52 }
53
54 return $args;
55 }
56
57
58 /**
59 * Generate option page for wp options in xml format
60 */
61 public function add_xml_tag_option_in_export(){
62 global $wpdb;
63
64 $options_ref = $this->get_export_option_list();
65
66 foreach ( $options_ref as $option_export_name => $option_import_name ) {
67 $sql = $wpdb->prepare("SELECT option_name, option_value FROM $wpdb->options WHERE option_name = %s", $option_import_name );
68 $result = $wpdb->get_results( $sql );
69
70 if( ! empty( $result[0]->option_value ) ){
71 ?>
72 <wp:option>
73 <wp:option_key><?php echo $this->wxr_cdata( $option_export_name ); ?></wp:option_key>
74 <wp:option_value><?php echo $this->wxr_cdata( $result[0]->option_value ); ?></wp:option_value>
75 </wp:option>
76 <?php
77 }
78
79 }
80 }
81
82 /**
83 * Retrieves the list of options we intended to include in export file
84 */
85 public function get_export_option_list(){
86 return array(
87 'theme_options' => THEME_ID . '_theme_options'
88 );
89 }
90
91
92 /**
93 * Import the options based on parsed data from xml file
94 */
95 public function import_start(){
96 global $wp_import;
97
98 $options_ref = $this->get_export_option_list();
99
100 $file = get_attached_file( $wp_import->id );
101 // if export file is not uploaded and is a link to a file in theme files
102 if( empty( $file ) && property_exists( $wp_import, 'import_file' ) ){
103 $file = $wp_import->import_file;
104 }
105
106 include 'class-auxels-import-parser.php';
107
108 $parser = new Auxels_Import_Parser;
109 $options = $parser->parse( $file );
110
111 foreach ( $options as $option_key => $option_value ){
112 if( ! empty( $options_ref[ $option_key ] ) ){
113 update_option( $options_ref[ $option_key ], maybe_unserialize( $option_value ) );
114 }
115 }
116
117 }
118
119 /**
120 * Print the data in cdata and utf8 format
121 * @param string $str
122 * @return string
123 */
124 function wxr_cdata( $str ) {
125 if ( ! seems_utf8( $str ) ) {
126 $str = utf8_encode( $str );
127 }
128
129 $str = '<![CDATA[' . str_replace( ']]>', ']]]]><![CDATA[>', $str ) . ']]>';
130
131 return $str;
132 }
133
134
135 /**
136 * Return an instance of this class.
137 *
138 * @return object A single instance of this class.
139 */
140 public static function get_instance() {
141
142 // If the single instance hasn't been set, set it now.
143 if ( null == self::$instance ) {
144 self::$instance = new self;
145 }
146
147 return self::$instance;
148 }
149
150 }
151
152 new Auxels_Import();
153