post_type ) return; wp_enqueue_style('academizer_settings', ACADEMIZER_PLUGIN_PATH . 'css/academizer-settings.css'); } function academizer_metabox_enqueue_scripts() { if( 'academizer_reference' !== get_current_screen()->post_type ) return; wp_enqueue_style('academizer_css_settings', ACADEMIZER_PLUGIN_PATH . 'css/academizer-settings.css'); wp_enqueue_script('academizer_bibtexParser', ACADEMIZER_PLUGIN_PATH . 'js/bibtexParse.js'); wp_enqueue_script('academizer_clientMetabox', ACADEMIZER_PLUGIN_PATH . 'js/clientMetabox.js'); wp_localize_script('academizer_clientMetabox', 'academizer', array('pluginPath' => ACADEMIZER_PLUGIN_PATH, 'ajax_url' => admin_url('admin-ajax.php'))); } add_action('admin_enqueue_scripts', 'academizer_metabox_enqueue_scripts'); add_action('add_meta_boxes_academizer_reference', 'academizer_add_reference_meta_boxes'); add_action('save_post_academizer_reference', 'academizer_save_reference_meta_box_data'); add_action('wp_ajax_academizer_ajax_render_bibtex', 'academizer_ajax_render_bibtex'); add_action('wp_ajax_academizer_ajax_query_terms', 'academizer_ajax_query_terms'); function academizer_ajax_query_terms() { $terms = academizer_retrieve_terms($_POST['entry_type']); echo sizeof($terms); } function academizer_ajax_render_bibtex() { $parser = new AcademizerBibtexParser(); $json_string = stripslashes($_POST['bibtex']); $json_obj = json_decode($json_string); if (empty($json_obj)) { wp_die(json_encode(array( 'message' => "Bibtex is invalid.", 'result' => -1))); } $entry_type = $json_obj[0]->entryType; $terms = academizer_retrieve_terms($entry_type); $term = $terms[0]; $term_id = $term->term_id; if (sizeof($term_id) == 0 && empty($_POST['format'])) { wp_die(json_encode(array( 'message' => "Bibtex type: {$entry_type} not found. Please add a Reference Type first.", 'result' => -1))); } if (empty($_POST['format'])) { $format = array(get_term_meta($term_id, 'academizer_format_full', true)); if (empty($format)) wp_die(json_encode(array( 'message' => "No format specified for {$json_obj[0]->entryType}.", 'result' => -1))); } else $format = array($_POST['format']); $options = get_option('academizer_options'); $ref = AcademizerReference::Create( $options['name'], $json_string, $format ); $parser->set($ref); wp_die(json_encode(array( 'message' => $parser->fullCitation(), 'result' => 1))); } function academizer_reference_build_meta_box($post) { global $pagenow; wp_nonce_field(basename(__FILE__), 'academizer_meta_box_nonce'); $options = get_option('academizer_options'); if (($pagenow == 'post.php') && ($_GET['action'] == 'edit')) { $terms = get_the_terms($post->ID, 'academizer_reftype'); $entry_term = $terms[0]; $ref = AcademizerReference::Create( $options['name'], get_post_meta($post->ID, 'academizer_bibtex_json', true), get_term_meta($entry_term->term_id, 'academizer_format', true), get_post_meta($post->ID, 'academizer_links', true) ); } else { $ref = new AcademizerReference(); $ref->me_full_name = $options['name']; } ?>