コード例 #1
0
 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());
 }
コード例 #2
0
ファイル: functions.php プロジェクト: efueger/wordlift-plugin
/**
 * 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;
}
コード例 #3
0
/**
 * 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' );
}
コード例 #4
0
/**
 * 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}";
}
コード例 #5
0
/**
 * 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')));
    }
}
コード例 #6
0
ファイル: test-post.php プロジェクト: Byrlyne/wordlift-plugin
 /**
  * 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');
 }