function test_wl_configuration_redlink_dataset_name() { $value = uniqid(); wl_configuration_set_redlink_dataset_name($value); $this->assertEquals($value, wl_configuration_get_redlink_dataset_name()); }
/** * Get the Redlink URL to delete a dataset data (doesn't delete the dataset itself). * @return string */ function rl_empty_dataset_url() { // get the configuration. $dataset_id = wl_configuration_get_redlink_dataset_name(); $app_key = wl_configuration_get_redlink_key(); // construct the API URL. $url = sprintf('%s/data/%s?key=%s', wl_configuration_get_api_url(), $dataset_id, $app_key); return $url; }
/** * This function is called by the *wl_sparql_query_add_meta_box* callback in order to display the metabox contents. * * @since 3.0.0 * * @param object $post The post instance. */ function wl_sparql_query_meta_box_callback($post) { // Add an nonce field so we can check for it later. wp_nonce_field(WL_SPARQL_QUERY_META_BOX_NONCE_ACTION, WL_SPARQL_QUERY_META_BOX_NONCE_NAME); /* * Use get_post_meta() to retrieve an existing value * from the database and use the value for the form. */ $sparql = get_post_meta($post->ID, WL_SPARQL_QUERY_META_KEY, true); $sparql_j = json_encode($sparql); $sparql_h = esc_html($sparql); $dataset = get_post_meta($post->ID, WL_SPARQL_QUERY_DATASET_META_KEY, true); // Set the default dataset if the value isn't yet set. $dataset = empty($dataset) ? wl_configuration_get_redlink_dataset_name() : $dataset; $dataset_h = esc_html($dataset); // TODO: see if we can use Squebi // echo<<<EOF // <script type='text/javascript'> // SQUEBI = { // "configurable": false, // "selectService": "http://wordpress391.localhost/wp-admin/admin-ajax.php?action=wl_sparql_select", // "updateService": "http://wordpress391.localhost/wp-admin/admin-ajax.php?action=wl_sparql_update", // "samples": [ $value_j ] // }; // </script> // <div id="squebi"> // <div style="position: relative" ng-controller="QueryCtrl" class="jumbotron"> // <a href="https://github.com/tkurz/squebi"><img style="position: absolute; top: 0; right: 0; border: 0;z-index: 20" src="https://camo.githubusercontent.com/652c5b9acfaddf3a9c326fa6bde407b87f7be0f4/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6f72616e67655f6666373630302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"></a> // // <div id="query-container"> // <textarea id="input" name="wl_sparql_query" ng-model="query" ui-codemirror="editorOptions"></textarea> // </div> // <a class="btn btn-lg btn-success btn-query" ng-click="triggerQuery()"> // <i class="fa fa-play-circle"></i> Run // </a> // <a id="redlink" href="http://redlink.co" style="position: absolute;right:40px;bottom:98px"> // <div style="color:#888;padding-right: 5px;display: inline; font-size: 16px">powered by</div><img title="Redlink" style="width: 25px;margin-top:-5px;" src="R-logo.png"> // </a> // </div> // // </div> //EOF; ?> <label for="wl_sparql_query_dataset"> <?php _e('Dataset', 'wordlift'); ?> </label><br/> <input style="width: 100%;" type="text" id="<?php echo WL_SPARQL_QUERY_DATASET_META_BOX_FIELD_NAME; ?> " name="<?php echo WL_SPARQL_QUERY_DATASET_META_BOX_FIELD_NAME; ?> " value="<?php echo $dataset_h; ?> " /><br /> <label for="wl_sparql_query"> <?php _e('Edit the SPARQL Query', 'wordlift'); ?> </label><br/> <textarea style="width: 100%; height: 200px;" id="<?php echo WL_SPARQL_QUERY_META_BOX_FIELD_NAME; ?> " name="<?php echo WL_SPARQL_QUERY_META_BOX_FIELD_NAME; ?> "><?php echo $sparql_h; ?> </textarea> <?php // echo '<input type="text" id="myplugin_new_field" name="myplugin_new_field" value="' . esc_attr( $value ) . '" size="25" />'; // add_action( 'wp_print_scripts', 'wl_sparql_meta_box_print_scripts' ); }
/** * Get the URL to perform indexing operations. * * @since 3.0.0 * * @return string The URL to call to perform the indexing operation. */ function wl_configuration_get_dataset_index_url() { // If the WordLift Key is set, we use WordLift. $key = wl_configuration_get_key(); if (!empty($key)) { return WL_CONFIG_WORDLIFT_API_URL_DEFAULT_VALUE . "datasets/key={$key}/index"; } // get the configuration. $redlink_dataset = wl_configuration_get_redlink_dataset_name(); $redlink_key = wl_configuration_get_redlink_key(); // construct the API URL. return wl_configuration_get_api_url() . "/data/{$redlink_dataset}/release?key={$redlink_key}"; }
/** * Configure all the configuration parameters. The configuration parameters are grouped in two tabs: * * General * * Advanced (only available if the WL_ENABLE_ADVANCED_CONFIGURATION constant exists and is set to True) * * Called by the *admin_init* hook. * * @since 3.0.0 */ function wl_configuration_settings() { register_setting('wl_general_settings', 'wl_general_settings', 'wl_configuration_sanitize_settings'); add_settings_section('wl_general_settings_section', 'General Settings', 'wl_configuration_general_settings_section_callback', 'wl_general_settings'); add_settings_field(WL_CONFIG_WORDLIFT_KEY, __('WordLift Key', 'wordlift'), 'wl_configuration_input_box', 'wl_general_settings', 'wl_general_settings_section', array('id' => 'wl-key', 'name' => 'wl_general_settings[key]', 'value' => wl_configuration_get_key(), 'description' => __('Insert the WordLift Key', 'wordlift'))); add_settings_field(WL_CONFIG_SITE_LANGUAGE_NAME, __('Site Language', 'wordlift'), 'wl_configuration_select', 'wl_general_settings', 'wl_general_settings_section', array('id' => 'wl-site-language', 'name' => 'wl_general_settings[site_language]', 'value' => wl_configuration_get_site_language(), 'description' => __('The site language', 'wordlift'), 'options' => wl_configuration_get_languages())); if (defined('WL_ENABLE_ADVANCED_CONFIGURATION') && WL_ENABLE_ADVANCED_CONFIGURATION) { register_setting('wl_advanced_settings', 'wl_advanced_settings', 'wl_configuration_sanitize_settings'); add_settings_section('wl_advanced_settings_section', 'Advanced', 'wl_configuration_advanced_settings_section_callback', 'wl_advanced_settings'); add_settings_field(WL_CONFIG_API_URL, __('API URL', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-api-url', 'name' => 'wl_advanced_settings[api_url]', 'value' => wl_configuration_get_api_url(), 'description' => __('The API URL', 'wordlift'))); add_settings_field(WL_CONFIG_APPLICATION_KEY_NAME, __('Redlink Key', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-key', 'name' => 'wl_advanced_settings[redlink_key]', 'value' => wl_configuration_get_redlink_key(), 'description' => __('The Redlink key', 'wordlift'))); add_settings_field(WL_CONFIG_USER_ID_NAME, __('Redlink User Id', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-user-id', 'name' => 'wl_advanced_settings[redlink_user_id]', 'value' => wl_configuration_get_redlink_user_id(), 'description' => __('The Redlink User Id', 'wordlift'))); add_settings_field(WL_CONFIG_DATASET_NAME, __('Redlink Dataset name', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-dataset-name', 'name' => 'wl_advanced_settings[redlink_dataset_name]', 'value' => wl_configuration_get_redlink_dataset_name(), 'description' => __('The Redlink Dataset Name', 'wordlift'))); add_settings_field(WL_CONFIG_DATASET_BASE_URI_NAME, __('Redlink Dataset URI', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-dataset-uri', 'name' => 'wl_advanced_settings[redlink_dataset_uri]', 'value' => wl_configuration_get_redlink_dataset_uri(), 'description' => __('The Redlink Dataset URI', 'wordlift'))); add_settings_field(WL_CONFIG_ANALYSIS_NAME, __('Redlink Application Name', 'wordlift'), 'wl_configuration_input_box', 'wl_advanced_settings', 'wl_advanced_settings_section', array('id' => 'wl-redlink-application-name', 'name' => 'wl_advanced_settings[redlink_application_name]', 'value' => wl_configuration_get_redlink_application_name(), 'description' => __('The Redlink Application Name', 'wordlift'))); } }
/** * Test a simple sparql query against Redlink to check whether SPARQL queries work fine. */ function testSPARQLQueries() { // Get the SPARQL template from the file. $filename = dirname(__FILE__) . '/linked_data.sparql.template'; $sparql_template = file_get_contents($filename); // Get the user ID and dataset name. $user_id = wl_configuration_get_redlink_user_id(); $dataset_name = wl_configuration_get_redlink_dataset_name(); // Set the entity URI. $uri = sprintf("http://data.redlink.io/%s/%s/entity/Linked_Open_Data", $user_id, $dataset_name); // Apply the URI to the SPARQL template. $sparql = str_replace('{uri}', $uri, $sparql_template); // Run the query. $result = wl_execute_sparql_query($sparql); $this->assertTrue($result); $this->checkEntityWithData($uri, 'Linked Open Data', 'http://example.org/?post_type=entity&p=1978'); }