????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.138.154.250 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/www.astacus.se/wp-content/plugins/cornerstone/includes/settings/general/ |
Upload File : |
<?php /** * 1. Setup definition.php with `ui` function * 2. Create defaults.php with keys for the attributes to be used * 3. Create controls.php to map controls. If dynamic options are needed, use * `$this->control_options('key_name')` so they can be fetched later * 4. Setup a condition_filter method returning true/false for every key in defaults * 5. Setup get_data method returning any information already stored (don't return defaults) */ class CS_Settings_General { public $priority = 10; public $manager; public function ui() { return array( 'title' => __( 'General', 'cornerstone' ) ); } public function condition_filter( $key ) { global $post; if ( 'custom_js' === $key ) { return current_user_can( 'unfiltered_html' ); } if ( 'post_title' === $key ) { return post_type_supports( $post->post_type, 'title' ); } if ( 'post_status' === $key ) { return current_user_can( $this->manager->post_type_object->cap->publish_posts ); } if ( 'manual_excerpt' === $key ) { return post_type_supports( $post->post_type, 'excerpt' ); } if ( 'allow_comments' === $key ) { return post_type_supports( $post->post_type, 'comments' ); } $has_page_attributes = post_type_supports( $post->post_type, 'page-attributes' ); if ( 'post_parent' === $key ) { return ( $has_page_attributes && $this->manager->post_type_object->hierarchical ); } if ( 'page_template' === $key ) { return ( $has_page_attributes && count( wp_get_theme()->get_page_templates( $post ) ) > 0 ); } // Give a pass to anything else (custom_css) return true; } public function get_data( $key ) { global $post; $settings = array(); if ( isset( $this->manager->post_meta['_cornerstone_settings'] ) ) { $settings = cs_maybe_json_decode( maybe_unserialize( $this->manager->post_meta['_cornerstone_settings'][0] ) ); $settings = ( is_array( $settings ) ) ? $settings : array(); } if ( 'custom_css' === $key && isset( $settings['custom_css'] ) ) { return $settings['custom_css']; } if ( 'custom_js' === $key && isset( $settings['custom_js'] ) ) { return $settings['custom_js']; } if ( 'post_title' === $key && isset( $post->post_title ) ) { return $post->post_title; } if ( 'post_status' === $key && isset( $post->post_status ) ) { return $post->post_status; } if ( 'allow_comments' === $key && isset( $post->comment_status ) ) { return ( 'open' === $post->comment_status ); } if ( 'manual_excerpt' === $key && isset( $post->post_excerpt ) ) { return ( $post->post_excerpt ); } if ( 'post_parent' === $key && isset( $post->post_parent ) ) { return "{$post->post_parent}"; } if ( 'page_template' === $key && isset( $this->manager->post_meta['_wp_page_template'] ) ) { return $this->manager->post_meta['_wp_page_template'][0]; } return null; } public function post_status_choices() { if ( ! $this->manager->can_use( 'post_status' ) ) { return null; } global $post; $choices = array(); $choices[] = array( 'value' => 'publish', 'label' => __( 'Publish', 'cornerstone' ) ); switch ($post->post_status) { case 'private': $choices[] = array( 'value' => 'private', 'label' => __( 'Privately Published', 'cornerstone' ) ); break; case 'future': $choices[] = array( 'value' => 'future', 'label' => __( 'Scheduled', 'cornerstone' ) ); break; case 'pending': $choices[] = array( 'value' => 'pending', 'label' => __( 'Pending Review', 'cornerstone' ) ); break; default: $choices[] = array( 'value' => 'draft', 'label' => __( 'Draft', 'cornerstone' ) ); break; } return $choices; } public function post_parent_markup() { if ( ! $this->manager->can_use( 'post_status' ) ) { return null; } global $post; $dropdown_args = array( 'post_type' => $post->post_type, 'exclude_tree' => $post->ID, 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __( '(no parent)', 'cornerstone' ), 'sort_column' => 'menu_order, post_title', 'echo' => 0, ); return wp_dropdown_pages( apply_filters( 'page_attributes_dropdown_pages_args', $dropdown_args, $post ) ); } public function page_template_choices() { if ( ! $this->manager->can_use( 'post_status' ) ) { return null; } global $post; $choices = array(); $page_templates = wp_get_theme()->get_page_templates( $post ); ksort( $page_templates ); $choices[] = array( 'value' => 'default', 'label' => apply_filters( 'default_page_template_title', __( 'Default Template' ), 'cornerstone' ) ); foreach ($page_templates as $value => $label) { $choices[] = array( 'value' => $value, 'label' => $label ); } return $choices; } public function handler( $data ) { global $post; $settings = CS()->common()->get_post_settings( $post->ID ); $update = array(); if ( isset( $data['post_title'] ) ) { $update['post_title'] = $data['post_title']; } if ( isset( $data['allow_comments'] ) ) { $update['comment_status'] = ( true === $data['allow_comments'] ) ? 'open' : 'closed'; } if ( post_type_supports( $post->post_type, 'excerpt' ) && isset( $data['manual_excerpt'] ) ) { $update['post_excerpt'] = $data['manual_excerpt']; } if ( current_user_can( $this->manager->post_type_object->cap->publish_posts ) ) { $update['post_status'] = $data['post_status']; } if ( post_type_supports( $post->post_type, 'page-attributes' ) ) { $page_templates = wp_get_theme()->get_page_templates( $post ); $update['page_template'] = 'default'; if ( isset( $data['page_template'] ) && isset( $page_templates[ $data['page_template'] ] ) ) { $update['page_template'] = $data['page_template']; } if ( isset( $data['post_parent'] ) ) { $update['post_parent'] = (int) $data['post_parent']; } } if ( isset( $data['custom_css'] ) ) { $settings['custom_css'] = $data['custom_css']; } // Update Custom JS if ( isset( $data['custom_js'] ) && current_user_can( 'unfiltered_html' ) ) { $settings['custom_js'] = $data['custom_js']; } // Minify JS if ( isset( $settings['custom_js'] ) ) { require( CS()->path( 'includes/utility/jsqueeze.php' ) ); $jz = new JSqueeze; $minified = $jz->squeeze( $settings['custom_js'] ); if ( ';' === $minified ) { $minified = ''; } $settings['custom_js_mini'] = $minified; } //jsond( $settings); if ( ! empty( $update ) ) { $update['ID'] = $post->ID; $result = wp_update_post( $update, true ); if ( is_wp_error( $result ) ) { return $result; } } cs_update_serialized_post_meta( $post->ID, '_cornerstone_settings', $settings ); } }