function sws_sc_moreinfo() { $post_id = intval($_REQUEST['ID']); if ($post_id == 0) { $this->send_error_die('Post ID is not valid.'); } //----------- $this->verify_nonce_and_access($post_id); //------------- global $wpdb; $code = $_REQUEST['code']; $sco = new ImportExport(); $obj = $sco->string_to_obj($code); if (false === $obj) { $this->send_error_die('Error reading code. (2)'); } if (false === $sco->check_shortcode_obj($obj, $error)) { $this->send_error_die($error . print_r($obj, true)); } $categories = array(); if (isset($obj->sc_terms) && is_array($obj->sc_terms) && count($obj->sc_terms) > 0) { foreach ($obj->sc_terms as $t) { $categories[] = $t->name; } } $data = (object) array(); $data->name = $obj->post_title; $data->shortcode = $obj->sc_shortcode; $data->category = $categories; $data->bundle = $obj->sc_bundle; $data->info = property_exists($obj, 'sc_info') ? $obj->sc_info : array('author' => '', 'url' => ''); $data->warnings = array(); $sql = "SELECT P.ID FROM `{$wpdb->postmeta}` M INNER JOIN `{$wpdb->posts}` P ON P.ID = M.post_id WHERE P.ID!={$post_id} AND M.meta_key = \"sc_shortcode\" AND M.meta_value=\"{$obj->sc_shortcode}\" AND P.post_status IN ('publish', 'draft')"; $data->duplicate_posts = $wpdb->get_col($sql, 0); $data->duplicate_links = array(); if (is_array($data->duplicate_posts) && count($data->duplicate_posts) > 0) { foreach ($data->duplicate_posts as $duplicate_id) { $data->duplicate_links[] = sprintf("<a href=\"%s\">%s</a>", html_entity_decode(get_edit_post_link($duplicate_id)), $duplicate_id); } } //---check that a required script is present if (property_exists($obj, 'sc_scripts') && is_array($obj->sc_scripts) && count($obj->sc_scripts) > 0) { global $wp_scripts; foreach ($obj->sc_scripts as $handle) { if (!array_key_exists($handle, $wp_scripts->registered)) { $data->warnings[] = sprintf("Shortcode requires a registered javascript library (%s), but it is not active in the system.", $handle); } } } if (property_exists($obj, 'sc_styles') && is_array($obj->sc_styles) && count($obj->sc_styles) > 0) { global $wp_styles; foreach ($obj->sc_styles as $handle) { if (!array_key_exists($handle, $wp_styles->registered)) { $data->warnings[] = sprintf("Shortcode requires a registered stylesheet (%s), but it is not active in the system.", $handle); } } } $ret = array('R' => 'OK', 'MSG' => '', 'DATA' => $data); die(json_encode($ret)); }
$post_id = intval($_REQUEST['ID']); if ($post_id == 0) { send_error_die('Post ID is not valid.'); } //----------- if (!wp_verify_nonce($_REQUEST['nonce'], 'csshortcode-css-nonce')) { send_error_die('Settings error, no access.'); } if (!current_user_can('edit_post', $post_id)) { send_error_die('No access.'); } //------------- global $wpdb; $code = $_REQUEST['code']; $sco = new ImportExport(); $obj = $sco->string_to_obj($code); if (false === $obj) { send_error_die('Error reading code. (2)'); } if (false === $sco->check_shortcode_obj($obj, $error)) { send_error_die($error . print_r($obj, true)); } $categories = array(); if (isset($obj->sc_terms) && is_array($obj->sc_terms) && count($obj->sc_terms) > 0) { foreach ($obj->sc_terms as $t) { $categories[] = $t->name; } } $data = (object) array(); $data->name = $obj->post_title; $data->shortcode = $obj->sc_shortcode;