PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.17.20
Shortcodes and extra features for Phlox theme v2.17.20
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 5 months ago class-auxels-archive-menu-links.php 5 months ago class-auxels-envato-elements.php 5 months ago class-auxels-import-parser.php 3 years ago class-auxels-import.php 3 years ago class-auxels-search-post-type.php 5 months ago class-auxels-wc-attribute-nav-menu.php 5 months ago class-auxin-admin-dashboard.php 5 months ago class-auxin-demo-importer.php 2 days ago class-auxin-dependency-sorting.php 3 years ago class-auxin-import.php 5 months ago class-auxin-install.php 5 months ago class-auxin-master-nav-menu-admin.php 5 months ago class-auxin-page-template.php 5 months ago class-auxin-permalink.php 5 months ago class-auxin-plugin-requirements.php 3 years ago class-auxin-post-type-base.php 5 months ago class-auxin-svg-support-allowedattributes.php 7 years ago class-auxin-svg-support-allowedtags.php 7 years ago class-auxin-svg-support.php 1 year ago class-auxin-walker-nav-menu-back.php 5 months ago class-auxin-welcome-sections.php 1 year ago class-auxin-welcome.php 1 month ago class-auxin-whitelabel.php 3 years ago class-auxin-widget-indie.php 5 months ago class-auxin-widget-shortcode-map.php 5 months ago class-auxin-widget.php 5 months ago
class-auxels-import.php
152 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 public 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 esc_html_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 $result = $wpdb->get_results( $wpdb->prepare("SELECT option_name, option_value FROM $wpdb->options WHERE option_name = %s", $option_import_name ) );
68
69 if( ! empty( $result[0]->option_value ) ){
70 ?>
71 <wp:option>
72 <wp:option_key><?php echo $this->wxr_cdata( $option_export_name ); ?></wp:option_key>
73 <wp:option_value><?php echo $this->wxr_cdata( $result[0]->option_value ); ?></wp:option_value>
74 </wp:option>
75 <?php
76 }
77
78 }
79 }
80
81 /**
82 * Retrieves the list of options we intended to include in export file
83 */
84 public function get_export_option_list(){
85 return array(
86 'theme_options' => THEME_ID . '_theme_options'
87 );
88 }
89
90
91 /**
92 * Import the options based on parsed data from xml file
93 */
94 public function import_start(){
95 global $wp_import;
96
97 $options_ref = $this->get_export_option_list();
98
99 $file = get_attached_file( $wp_import->id );
100 // if export file is not uploaded and is a link to a file in theme files
101 if( empty( $file ) && property_exists( $wp_import, 'import_file' ) ){
102 $file = $wp_import->import_file;
103 }
104
105 include 'class-auxels-import-parser.php';
106
107 $parser = new Auxels_Import_Parser;
108 $options = $parser->parse( $file );
109
110 foreach ( $options as $option_key => $option_value ){
111 if( ! empty( $options_ref[ $option_key ] ) ){
112 update_option( $options_ref[ $option_key ], maybe_unserialize( $option_value ) );
113 }
114 }
115
116 }
117
118 /**
119 * Print the data in cdata and utf8 format
120 * @param string $str
121 * @return string
122 */
123 public function wxr_cdata( $str ) {
124 if ( ! seems_utf8( $str ) ) {
125 $str = utf8_encode( $str );
126 }
127
128 $str = '<![CDATA[' . str_replace( ']]>', ']]]]><![CDATA[>', $str ) . ']]>';
129
130 return $str;
131 }
132
133
134 /**
135 * Return an instance of this class.
136 *
137 * @return object A single instance of this class.
138 */
139 public static function get_instance() {
140
141 // If the single instance hasn't been set, set it now.
142 if ( null == self::$instance ) {
143 self::$instance = new self;
144 }
145
146 return self::$instance;
147 }
148
149 }
150
151 new Auxels_Import();
152