PluginProbe
HAL / 2.0
HAL v2.0
trunk 1.0 1.1 1.2 1.3 1.4 1.4.2 1.4.3 1.4.4 2.0 2.0.1 2.0.10 2.0.2 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.2 2.3 2.4 2.4.1 2.4.2 2.5 All 30 releases
← All changes | wp-hal.php +442 -832 2.4.22.0 View file →
@@ -2,10 +2,10 @@
2 2 /**
3 3 * Plugin Name: HAL
4 4 * Plugin URI: http://www.ccsd.cnrs.fr
5 5 * Description: Crée une page qui remonte les publications d'un auteur ou d'une structure en relation avec HAL et un widget des dernières publications d'un auteur ou d'une structure.
6 - * Version: 2.4.2
7 - * Author: CCSD
6 + * Version: 2.0
7 + * Author: Baptiste Blondelle
8 8 * Author URI: http://www.ccsd.cnrs.fr
9 9 * Text Domain: wp-hal
10 10 * Domain Path: /lang/
11 11 */
@@ -17,38 +17,28 @@
17 17 //Récupère les constantes
18 18 require_once("constantes.php");
19 19
20 20
21 -if (wphal_locale == 'fr_FR') {
22 - define('wphal_lang', 'fr');
23 -} elseif (wphal_locale == 'es_ES') {
24 - define('wphal_lang', 'es');
21 +if (locale == 'fr_FR') {
22 + define('lang', 'fr');
23 +} elseif (locale == 'es_ES') {
24 + define('lang', 'es');
25 25 } else {
26 - define('wphal_lang', 'en');
26 + define('lang', 'en');
27 27 }
28 28
29 -function wphal_is_curl_installed() {
30 - $loaded_extentions = get_loaded_extensions();
31 - if (in_array ('curl', $loaded_extentions)) {
32 - return true;
33 - }
34 - else {
35 - return false;
36 - }
37 -}
38 -
39 29 // Création du shortcode ('nom du shortcode', 'fonction appelée')
40 -add_shortcode( 'cv-hal', 'wphal_cv_hal' );
41 -add_shortcode( 'nb-doc', 'wphal_nb_doc' );
30 +add_shortcode( 'cv-hal', 'cv_hal' );
31 +add_shortcode( 'nb-doc', 'nb_doc' );
42 32
43 33
44 -function wphal_charger_languages() {
34 +function charger_languages() {
45 35 load_plugin_textdomain('wp-hal', false, dirname(plugin_basename(__FILE__)) . '/lang/');
46 36 }
47 37
48 -add_action('plugins_loaded', 'wphal_charger_languages');
38 +add_action('plugins_loaded', 'charger_languages');
49 39
50 -function wphal_action_links( $links, $file ) {
40 +function hal_plugin_action_links( $links, $file ) {
51 41 if ( $file != plugin_basename( __FILE__ ))
52 42 return $links;
53 43
54 44 $settings_link = '<a href="admin.php?page=wp-hal.php">' . __( 'Paramètres', 'wp-hal' ) . '</a>';
@@ -57,77 +47,18 @@
57 47
58 48 return $links;
59 49 }
60 50
61 -add_filter( 'query_vars', 'wphal_query_vars' );
62 -function wphal_query_vars( $query_vars ) {
63 - $query_vars[] = 'hal_page';
64 - return $query_vars;
65 -}
66 51
67 -add_filter( 'plugin_action_links', 'wphal_action_links',10,2);
68 -/**
69 - * @param $url
70 - * @return object
71 - */
72 -function wphal_do_common_curl_call($url) {
73 - $response = wp_remote_get($url, [
74 - 'timeout'=>20,
75 - 'user-agent'=>"HAL Plugin Wordpress " . wphal_version,
76 - 'headers' => ['Content-type'=> 'application/json']
77 - ]);
78 - // we could ve parsed the response but if in general if no results then we get empty content
79 - $body = wp_remote_retrieve_body($response);
80 - // Récupération du résultat JSON
81 - $json = json_decode($body);
82 - return $json;
83 -}
52 +add_filter( 'plugin_action_links', 'hal_plugin_action_links',10,2);
84 53
85 -function wphal_clear_transients()
86 -{
87 - global $wpdb;
88 - // delete all "hal namespace" transients
89 - $sql = "
90 - DELETE
91 - FROM {$wpdb->options}
92 - WHERE option_name like '\_transient\_hal\_%'
93 - OR option_name like '\_transient\_timeout\_hal\_%'
94 - ";
95 54
96 - $wpdb->query($sql);
97 -}
98 -
99 -/**
100 - * fetches data from cache or download data from HAL API
101 - * @param $url
102 - * @return object
103 - */
104 -function wphal_do_get_data($url) {
105 - $transient_id = 'hal_'.md5($url);
106 - if(!empty(get_option('option_erase_cache'))){
107 - // we reset cache transient for hal namespace
108 - wphal_clear_transients();
109 - update_option('option_erase_cache', '');
110 - }
111 - $cache_expiration = empty(get_option('option_cache_timeout')) ? 1 * DAY_IN_SECONDS : intval(get_option('option_cache_timeout')) * MINUTE_IN_SECONDS;
112 - if ( false === ( $value = get_transient( $transient_id ) ) ) {
113 - $json = wphal_do_common_curl_call($url);
114 - if($json)
115 - set_transient( $transient_id, $json, $cache_expiration);
116 - return $json;
117 - } else{
118 - return $value;
119 - }
120 -}
121 -
122 -/**
55 +/***********************************************************************************************************************
123 56 * PLUGIN SHORTCODE ND-DOC
124 - * @param $param
125 - * @return int
126 -*/
127 -function wphal_nb_doc($param)
57 + **********************************************************************************************************************/
58 +function nb_doc($param)
128 59 {
129 - $idhal = wphal_verifSolr(get_option('option_idhal'));
60 + $idhal = verifSolr(get_option('option_idhal'));
130 61 extract(shortcode_atts(array(
131 62 'type' => get_option('option_type'),
132 63 'id' => $idhal
133 64 ),
@@ -132,136 +63,126 @@
132 63 'id' => $idhal
133 64 ),
134 65 $param
135 66 ));
136 - /**
137 - * @var $id : defined by extract
138 - * @var string $type : defined by extract
139 - */
140 - $id = wphal_verifSolr($id);
67 + $id = verifSolr($id);
141 68
142 - $url = wphal_api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&rows=0&wt=json';
69 + $url = api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&rows=0&wt=json';
70 + $ch = curl_init($url);
71 + // Options
72 + $options = array(
73 + CURLOPT_RETURNTRANSFER => true,
74 + CURLOPT_HTTPHEADER => array('Content-type: application/json'),
75 + CURLOPT_TIMEOUT => 10,
76 + CURLOPT_USERAGENT => "HAL Plugin Wordpress " . version
77 + );
143 78
144 - $json =wphal_do_get_data($url);
79 + // Bind des options et de l'objet cURL que l'on va utiliser
80 + curl_setopt_array($ch, $options);
81 + // Récupération du résultat JSON
82 + $json = json_decode(curl_exec($ch));
83 + curl_close($ch);
84 +
145 85 return $json->response->numFound;
146 86 }
147 -/**
87 +/***********************************************************************************************************************
148 88 * PLUGIN SHORTCODE CV-HAL
149 - * @param $param
150 - * @return string
151 - */
152 -function wphal_cv_hal($param){
153 - $content = '';
154 - if ( !wphal_is_curl_installed() ) {
155 - $content = 'CURL not installed, please check the <a href="https://wordpress.org/plugins/hal/faq/" target="_blank" id="curl">FAQ</a> with the code : CURL';
89 + **********************************************************************************************************************/
90 +function cv_hal($param){
91 + if ( !function_exists('curl_init' ) ) {
92 + echo 'Please check the';?> <a href="https://wordpress.org/plugins/hal/faq/" target="_blank" id="curl">FAQ</a><?php echo ' with the code : CURL';
156 93 } else {
157 - $possible_ids = ["authIdHal_s", "structId_i", "anrProjectId_i", "europeanProjectId_i", "collCode_s"];
158 - $option_choix = !empty(get_option('option_choix')) ? get_option('option_choix') : [];
159 - if(in_array('disciplines', $option_choix)){ //Lance les scripts pour le Graphique
160 - wp_enqueue_style('wp-hal-style2');
94 + if (get_option('option_idhal') != '') {
95 + $idhal = verifSolr(get_option('option_idhal'));
96 + extract(shortcode_atts(array(
97 + 'type' => get_option('option_type'),
98 + 'id' => $idhal,
99 + 'contact' => get_option('option_infocontact')
100 + ),
101 + $param
102 + ));
103 + $id = verifSolr($id);
161 104
162 - wp_enqueue_script('wp-hal-script1');
163 - wp_enqueue_script('wp-hal-script2');
164 - wp_enqueue_script('wp-hal-script3');
165 - }
166 - $facetdomain = null;
167 -
168 - // those parameters are configured from plusing settings
169 - $default_id = wphal_verifSolr(get_option('option_idhal'));
170 - $default_type = get_option('option_type');
171 - $default_contact = get_option('option_infocontact');
172 - // here we merge with shortcode parameters
173 - extract(shortcode_atts(array(
174 - 'type' => $default_type,
175 - 'id' => $default_id,
176 - 'contact' => $default_contact
177 - ),
178 - $param
179 - ));
180 -
181 - /** @var $id : defined by extract
182 - * @var string $type : defined by extract
183 - * @var string $contact : defined by extract
184 - */
185 - if (!empty($id) && in_array($type, $possible_ids)) {
186 - $id = wphal_verifSolr($id);
187 -
188 - // in case the type is struct we need to split in order to build facet and display it back
189 - $structIDs =[];
190 - if($type=="structId_i"){
191 - $structIDs = explode(' OR ', $id);
192 - }
193 -
194 - $facets = wphal_buildfacet($option_choix, $structIDs);
195 - $facetQuery = !empty($facets) ? 'facet.field='.implode("&facet.field=", $facets).'&facet.limit=200&facet.mincount=1&facet=true':'';
196 -
197 105 if (get_option('option_groupe') == 'grouper') {
198 106 //cURL sur l'API pour récupérer les données
199 - $url = wphal_api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&group=true&group.field=docType_s&group.limit=1000&fl=docid,citationFull_s&'.$facetQuery.'&sort=' . wphal_producedDateY . '&wt=json&json.nl=arrarr';
107 + $url = api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&group=true&group.field=docType_s&group.limit=1000&fl=docid,citationFull_s&facet.field=' . lang . '_domainAllCodeLabel_fs&facet.field=keyword_s&facet.field=journalIdTitle_fs&facet.field=producedDateY_i&facet.field=authIdLastNameFirstName_fs&facet.field=instStructIdName_fs&facet.field=labStructIdName_fs&facet.field=deptStructIdName_fs&facet.field=rteamStructIdName_fs&facet.mincount=1&facet=true&sort=' . producedDateY . '&wt=json&json.nl=arrarr';
200 108 } elseif (get_option('option_groupe') == 'paginer') {
201 - $url = wphal_api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&fl=docid,citationFull_s&'.$facetQuery.'&sort=' . wphal_producedDateY . '&wt=json&json.nl=arrarr';
109 + $url = api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&fl=docid,citationFull_s&facet.field=' . lang . '_domainAllCodeLabel_fs&facet.field=keyword_s&facet.field=journalIdTitle_fs&facet.field=producedDateY_i&facet.field=authIdLastNameFirstName_fs&facet.field=instStructIdName_fs&facet.field=labStructIdName_fs&facet.field=deptStructIdName_fs&facet.field=rteamStructIdName_fs&facet.mincount=1&facet=true&sort=' . producedDateY . '&wt=json&json.nl=arrarr';
202 110 }
203 111
204 - $json = wphal_do_get_data($url);
205 - $hal_page = (get_query_var('hal_page')) ? get_query_var('hal_page') : 1;
112 + $ch = curl_init($url);
113 + // Options
114 + $options = array(
115 + CURLOPT_RETURNTRANSFER => true,
116 + CURLOPT_HTTPHEADER => array('Content-type: application/json'),
117 + CURLOPT_TIMEOUT => 10,
118 + CURLOPT_USERAGENT => "HAL Plugin Wordpress " . version
119 + );
206 120
207 - $content = '<div id="wphal-content">';
208 - if (is_array($option_choix) && !empty($option_choix)){
209 - $content .= '<ul id="wphal-menu">';
210 - $content .= '<li><a href="#publications" onclick="displayElem(\'publications\'); return false;" style="font-size:18px; text-decoration: none;">' . __('Publications', 'wp-hal') . '</a></li>';
121 + // Bind des options et de l'objet cURL que l'on va utiliser
122 + curl_setopt_array($ch, $options);
123 + // Récupération du résultat JSON
124 + $json = json_decode(curl_exec($ch));
125 + curl_close($ch);
211 126
127 + $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
128 +
129 + $choix = 0;
130 + for ($i = 1; $i < 10; $i++) {
131 + if (get_option('option_choix')[$i] != null) {
132 + $choix = $choix + 1;
133 + }
134 + }
135 +
136 + $content = '<div id="wphal-content">
137 + <ul id="wphal-menu">';
138 + $content .= '<li><a href="#publications" onclick="displayElem(\'publications\'); return false;" style="font-size:18px; text-decoration: none;">' . __('Publications', 'wp-hal') . '</a></li>';
139 + if ($choix != 0) {
212 140 $content .= '<li><a href="#filtres" onclick="return false;" style="font-size:18px; text-decoration: none; cursor:default;">' . __('Filtres', 'wp-hal') . '</a>';
213 141 $content .= '<ul id="wphal-filtres">';
214 - foreach ($option_choix as $option) {
215 - if ($option == 'contact') {
216 - $content .= '<li><a href="#contact" onclick="displayElem(\'wphal-contact\'); return false;" style="margin:1px; text-decoration: none;">' . __('Contact', 'wp-hal');
217 - $content .= '</a></li>';
218 - }
219 - if ($option == 'disciplines') {
220 - $content .= '<li><a href="#disciplines" onclick="displayElem(\'wphal-disciplines\'); return false;" style="margin:1px; text-decoration: none;">' . __('Disciplines', 'wp-hal');
221 - $content .= '</a></li>';
222 - }
223 - if ($option == 'mots-clefs') {
224 - $content .= '<li><a href="#keywords" onclick="displayElem(\'wphal-keywords\'); return false;" style="margin:1px; text-decoration: none;">' . __('Mots-clefs', 'wp-hal');
225 - $content .= '</a></li>';
226 - }
227 - if ($option == 'auteurs') {
228 - $content .= '<li><a href="#auteurs" onclick="displayElem(\'wphal-auteurs\'); return false;" style="margin:1px; text-decoration: none;">' . __('Auteurs', 'wp-hal');
229 - $content .= '</a></li>';
230 - }
231 - if ($option == 'affiliated') {
232 - $content .= '<li><a href="#affiliated" onclick="displayElem(\'wphal-affiliated\'); return false;" style="margin:1px; text-decoration: none;">' . __('Auteurs de la structure', 'wp-hal');
233 - $content .= '</a></li>';
234 - }
235 - if ($option == 'revues') {
236 - $content .= '<li><a href="#revues" onclick="displayElem(\'wphal-revues\'); return false;" style="margin:1px; text-decoration: none;">' . __('Revues', 'wp-hal');
237 - $content .= '</a></li>';
238 - }
239 - if ($option == 'annee') {
240 - $content .= '<li><a href="#annees" onclick="displayElem(\'wphal-annees\'); return false;" style="margin:1px; text-decoration: none;">' . __('Année de production', 'wp-hal');
241 - $content .= '</a></li>';
242 - }
243 - if ($option == 'institution') {
244 - $content .= '<li><a href="#insts" onclick="displayElem(\'wphal-insts\'); return false;" style="margin:1px; text-decoration: none;">' . __('Institutions', 'wp-hal');
245 - $content .= '</a></li>';
246 - }
247 - if ($option == 'laboratoire') {
248 - $content .= '<li><a href="#labs" onclick="displayElem(\'wphal-labs\'); return false;" style="margin:1px; text-decoration: none;">' . __('Laboratoires', 'wp-hal');
249 - $content .= '</a></li>';
250 - }
251 - if ($option == 'departement') {
252 - $content .= '<li><a href="#depts" onclick="displayElem(\'wphal-depts\'); return false;" style="margin:1px; text-decoration: none;">' . __('Départements', 'wp-hal');
253 - $content .= '</a></li>';
254 - }
255 - if ($option == 'equipe') {
256 - $content .= '<li><a href="#equipes" onclick="displayElem(\'wphal-equipes\'); return false;" style="margin:1px; text-decoration: none;">' . __('Équipes de recherche', 'wp-hal');
257 - $content .= '</a></li>';
258 - }
142 + if (get_option('option_choix')[1] == 'contact') {
143 + $content .= '<li><a href="#contact" onclick="displayElem(\'wphal-contact\'); return false;" style="margin:1px; text-decoration: none;">' . __('Contact', 'wp-hal');
144 + $content .= '</a></li>';
259 145 }
146 + if (get_option('option_choix')[2] == 'disciplines') {
147 + $content .= '<li><a href="#disciplines" onclick="displayElem(\'wphal-disciplines\'); return false;" style="margin:1px; text-decoration: none;">' . __('Disciplines', 'wp-hal');
148 + $content .= '</a></li>';
149 + }
150 + if (get_option('option_choix')[3] == 'mots-clefs') {
151 + $content .= '<li><a href="#keywords" onclick="displayElem(\'wphal-keywords\'); return false;" style="margin:1px; text-decoration: none;">' . __('Mots-clefs', 'wp-hal');
152 + $content .= '</a></li>';
153 + }
154 + if (get_option('option_choix')[4] == 'auteurs') {
155 + $content .= '<li><a href="#auteurs" onclick="displayElem(\'wphal-auteurs\'); return false;" style="margin:1px; text-decoration: none;">' . __('Auteurs', 'wp-hal');
156 + $content .= '</a></li>';
157 + }
158 + if (get_option('option_choix')[5] == 'revues') {
159 + $content .= '<li><a href="#revues" onclick="displayElem(\'wphal-revues\'); return false;" style="margin:1px; text-decoration: none;">' . __('Revues', 'wp-hal');
160 + $content .= '</a></li>';
161 + }
162 + if (get_option('option_choix')[6] == 'annee') {
163 + $content .= '<li><a href="#annees" onclick="displayElem(\'wphal-annees\'); return false;" style="margin:1px; text-decoration: none;">' . __('Année de production', 'wp-hal');
164 + $content .= '</a></li>';
165 + }
166 + if (get_option('option_choix')[7] == 'institution') {
167 + $content .= '<li><a href="#insts" onclick="displayElem(\'wphal-insts\'); return false;" style="margin:1px; text-decoration: none;">' . __('Institutions', 'wp-hal');
168 + $content .= '</a></li>';
169 + }
170 + if (get_option('option_choix')[8] == 'laboratoire') {
171 + $content .= '<li><a href="#labs" onclick="displayElem(\'wphal-labs\'); return false;" style="margin:1px; text-decoration: none;">' . __('Laboratoires', 'wp-hal');
172 + $content .= '</a></li>';
173 + }
174 + if (get_option('option_choix')[9] == 'departement') {
175 + $content .= '<li><a href="#depts" onclick="displayElem(\'wphal-depts\'); return false;" style="margin:1px; text-decoration: none;">' . __('Départements', 'wp-hal');
176 + $content .= '</a></li>';
177 + }
178 + if (get_option('option_choix')[10] == 'equipe') {
179 + $content .= '<li><a href="#equipes" onclick="displayElem(\'wphal-equipes\'); return false;" style="margin:1px; text-decoration: none;">' . __('Équipes de recherche', 'wp-hal');
180 + $content .= '</a></li>';
181 + }
260 182 $content .= '</ul></li>';
261 -
262 - $content .= '</ul><br/><hr>';
263 183 }
184 + $content .= '</ul><br/><hr>';
264 185
265 186 $content .= '<div id="meta">
266 187 <div class="display" id="wphal-contact" style="display: none;">
267 188 <h3 class="wphal-titre">' . __('Contact', 'wp-hal');
@@ -269,81 +190,73 @@
269 190
270 191 <ul id="wphal-cont" style="list-style-type: none;">';
271 192
272 193 if ($contact == 'yes' && $type == 'authIdHal_s') {
273 - $urlauthor = wphal_urlauthor . '?indent=true&fq=valid_s:PREFERRED&fl=fullName_s,idHal_s,hasCV_bool,arxivId_s,idrefId_s,isniId_s,orcidId_s,viafId_s&q=idHal_s:' . urlencode($id);
274 - $jsonauthor = wphal_do_get_data($urlauthor);
194 + $urlauthor = urlauthor.'?indent=true&fq=valid_s:VALID&fl=idref_s,url_s,email_s,fullName_s,arxiv_s,idHal_s,viaf_s,isni_s,orcid_s,hasCV_bool&q=idHal_s:'.urlencode($id);
195 + $ch = curl_init($urlauthor);
196 + // Options
197 + $options = array(
198 + CURLOPT_RETURNTRANSFER => true,
199 + CURLOPT_HTTPHEADER => array('Content-type: application/json'),
200 + CURLOPT_TIMEOUT => 10,
201 + CURLOPT_USERAGENT => "HAL Plugin Wordpress " . version
202 + );
275 203
276 - foreach ($jsonauthor->response->docs as $i=>$doc) {
204 + // Bind des options et de l'objet cURL que l'on va utiliser
205 + curl_setopt_array($ch, $options);
206 + // Récupération du résultat JSON
207 + $jsonauthor = json_decode(curl_exec($ch));
208 + curl_close($ch);
209 +
210 + for ($i = 0; $jsonauthor->response->docs[$i] != ''; $i++) {
277 211 $content .= '<div class="wphal-infocontact" id="wphal-infocontact'.$i.'">';
278 - if ($doc->fullName_s != '') {
279 - $content .= '<li class="wphal-fullname"><span>Nom : </span><span>'. $doc->fullName_s .'</span></li>';
212 + if ($jsonauthor->response->docs[$i]->fullName_s != '') {
213 + $content .= '<li class="wphal-fullname"><span>Nom : </span><span>'. $jsonauthor->response->docs[$i]->fullName_s .'</span></li>';
280 214 }
281 - if ($doc->idHal_s != '') {
282 - $content .= '<li class="wphal-idhal"><span>IdHAL : </span><span>' . $doc->idHal_s . '</span></li>';
215 + if ($jsonauthor->response->docs[$i]->email_s != '') {
216 + $content .= '<li class="wphal-email"><span>Email : </span><span><a href="mailto:'. $jsonauthor->response->docs[$i]->email_s .'">' . $jsonauthor->response->docs[$i]->email_s . '</a></span></li>';
283 217 }
284 - if ($doc->hasCV_bool == true){
285 - $content .= '<li class="wphal-cvhal"><span>CV HAL : </span><a href="'.esc_url(cvhal. $doc->idHal_s).'" target="_blank">CV de '.$doc->fullName_s.'</a></li>';
218 + if ($jsonauthor->response->docs[$i]->idHal_s != '') {
219 + $content .= '<li class="wphal-idhal"><span>IdHAL : </span><span>' . $jsonauthor->response->docs[$i]->idHal_s . '</span></li>';
286 220 }
287 - if (isset($doc->arxivId_s ) && is_array($doc->arxivId_s)) {
288 - $content .= '<li class="wphal-"><span>arXiv : </span><span>';
289 - foreach($doc->arxivId_s as $arxivId_s){
290 - $content .= '<a href="' . esc_url($arxivId_s) . '" target="_blank">' . substr(strrchr($arxivId_s, "/"), 1) . '</a> ,';
291 - }
292 - $content .= '</span></li>';
221 + if ($jsonauthor->response->docs[$i]->hasCV_bool == true){
222 + $content .= '<li class="wphal-cvhal"><span>CV HAL : </span><a href="'.cvhal. $jsonauthor->response->docs[$i]->idHal_s.'" target="_blank">CV de '.$jsonauthor->response->docs[$i]->fullName_s.'</a></li>';
293 223 }
294 - if (isset($doc->idrefId_s ) && is_array($doc->idrefId_s)) {
295 - $content .= '<li class="wphal-"><span>IdRef : </span><span>';
296 - foreach($doc->idrefId_s as $idref){
297 - $content .= '<a href="' . esc_url($idref) . '" target="_blank">' . substr(strrchr($idref, "/"), 1) . '</a> ,';
298 - }
299 - $content .= '</span></li>';
224 + if ($jsonauthor->response->docs[$i]->arxiv_s != '') {
225 + $content .= '<li class="wphal-"><span>arXiv : </span><span><a href="' . $jsonauthor->response->docs[$i]->arxiv_s . '" target="_blank">' . substr(strrchr($jsonauthor->response->docs[$i]->arxiv_s, "/"), 1) . '</a></span></li>';
300 226 }
301 - if (isset($doc->orcidId_s ) && $doc->orcidId_s != '') {
302 - $content .= '<li class="wphal-"><span>ORCID : </span><span>';
303 - foreach($doc->orcidId_s as $orcidId_s){
304 - $content .= '<a href="' . esc_url($orcidId_s) . '" target="_blank">' . substr(strrchr($orcidId_s, "/"), 1) . '</a> ,';
305 - }
306 - $content .= '</span></li>';
227 + if ($jsonauthor->response->docs[$i]->idref_s != '') {
228 + $content .= '<li class="wphal-"><span>IdRef : </span><span><a href="' . $jsonauthor->response->docs[$i]->idref_s . '" target="_blank">' . substr(strrchr($jsonauthor->response->docs[$i]->idref_s, "/"), 1) . '</a></span></li>';
307 229 }
308 - if (isset($doc->viafId_s ) && $doc->viafId_s != '') {
309 - $content .= '<li class="wphal-"><span>VIAF : </span><span>';
310 - foreach($doc->viafId_s as $viafId_s){
311 - $content .= '<a href="' . esc_url($viafId_s) . '" target="_blank">' . substr(strrchr($viafId_s, "/"), 1) . '</a> ,';
312 - }
313 - $content .= '</span></li>';
230 + if ($jsonauthor->response->docs[$i]->orcid_s != '') {
231 + $content .= '<li class="wphal-"><span>ORCID : </span><span><a href="' . $jsonauthor->response->docs[$i]->orcid_s . '" target="_blank">' . substr(strrchr($jsonauthor->response->docs[$i]->orcid_s, "/"), 1) . '</a></span></li>';
314 232 }
315 - if (isset($doc->isniId_s ) && $doc->isniId_s != '') {
316 - $content .= '<li class="wphal-"><span>ISNI : </span><span>';
317 - foreach($doc->isniId_s as $isniId_s){
318 - $content .= '<a href="' . esc_url($isniId_s) . '" target="_blank">' . substr(strrchr($isniId_s, "/"), 1) . '</a> ,';
319 - }
320 - $content .= '</span></li>';
233 + if ($jsonauthor->response->docs[$i]->viaf_s != '') {
234 + $content .= '<li class="wphal-"><span>VIAF : </span><span><a href="' . $jsonauthor->response->docs[$i]->viaf_s . '" target="_blank">' . substr(strrchr($jsonauthor->response->docs[$i]->viaf_s, "/"), 1) . '</a></span></li>';
321 235 }
236 + if ($jsonauthor->response->docs[$i]->isni_s != '') {
237 + $content .= '<li class="wphal-"><span>ISNI : </span><span><a href="' . $jsonauthor->response->docs[$i]->isni_s . '" target="_blank">' . substr(strrchr($jsonauthor->response->docs[$i]->isni_s, "/"), 1) . '</a></span></li>';
238 + }
322 239 $content .= '</div>';
323 240 }
324 241 }
325 242 if (get_option('option_email') != '') {
326 - $content .= '<li><img alt="mail" src=" ' . esc_url(plugin_dir_url(__FILE__) . 'img/mail.svg').' " style=" width:16px; margin-left:2px; margin-right:2px;"/><a href="'.esc_url('mailto:' . get_option('option_email')) . '" target="_blank">' . get_option('option_email') . '</a></li>';
243 + $content .= '<li><img alt="mail" src=" ' . plugin_dir_url(__FILE__) . 'img/mail.svg" style=" width:16px; margin-left:2px; margin-right:2px;"/><a href="mailto:' . get_option('option_email') . '" target="_blank">' . get_option('option_email') . '</a></li>';
327 244 }
328 245 if (get_option('option_tel') != '') {
329 - $content .= '<li><img alt="phone" src=" ' . esc_url(plugin_dir_url(__FILE__) . 'img/phone.svg'). '" style="width:16px; margin-left:2px; margin-right:2px;"/>' . get_option('option_tel') . '</li>';
246 + $content .= '<li><img alt="phone" src=" ' . plugin_dir_url(__FILE__) . 'img/phone.svg" style="width:16px; margin-left:2px; margin-right:2px;"/>' . get_option('option_tel') . '</li>';
330 247 }
331 248 if (get_option('option_social0') != '') {
332 - $content .= '<li><a href="'.esc_url('http://www.facebook.com/' . get_option('option_social0')) . '" target="_blank"><img
333 - alt="Facebook" src=" ' . esc_url(plugin_dir_url(__FILE__) . 'img/facebook.svg').'" style="width:32px; margin:4px;"/></a></li>';
249 + $content .= '<li><a href="http://www.facebook.com/' . get_option('option_social0') . '" target="_blank"><img src=" ' . plugin_dir_url(__FILE__) . 'img/facebook.svg" style="width:32px; margin:4px;"/></a></li>';
334 250 }
335 251 if (get_option('option_social1') != '') {
336 - $content .= '<li><a href="'.esc_url('http://www.twitter.com/' . get_option('option_social1')) . '" target="_blank"><img
337 - alt="Twitter" src=" ' . esc_url(plugin_dir_url(__FILE__) . 'img/twitter.svg').'" style="width:32px; margin:4px;"/></a></li>';
252 + $content .= '<li><a href="http://www.twitter.com/' . get_option('option_social1') . '" target="_blank"><img src=" ' . plugin_dir_url(__FILE__) . 'img/twitter.svg" style="width:32px; margin:4px;"/></a></li>';
338 253 }
339 254 if (get_option('option_social2') != '') {
340 - $content .= '<li><a href="'.esc_url('https://plus.google.com/u/0/+' . get_option('option_social2')) . '" target="_blank"><img
341 - alt="Google+" src=" ' . esc_url(plugin_dir_url(__FILE__) . 'img/google-plus.svg').'" style="width:32px; margin:4px;"/></a></li>';
255 + $content .= '<li><a href="https://plus.google.com/u/0/+' . get_option('option_social2') . '" target="_blank"><img src=" ' . plugin_dir_url(__FILE__) . 'img/google-plus.svg" style="width:32px; margin:4px;"/></a></li>';
342 256 }
343 257 if (get_option('option_social3') != '') {
344 - $content .= '<li><a href="'.esc_url('https://www.linkedin.com/in/' . get_option('option_social3')) . '" target="_blank"><img
345 - alt="LinkedIn" src=" ' . esc_url(plugin_dir_url(__FILE__) . 'img/linkedin.svg').'" style="width:32px; margin:4px;"/></a></li>';
258 + $content .= '<li><a href="https://www.linkedin.com/in/' . get_option('option_social3') . '" target="_blank"><img src=" ' . plugin_dir_url(__FILE__) . 'img/linkedin.svg" style="width:32px; margin:4px;"/></a></li>';
346 259 }
347 260 $content .= '</ul>
348 261 </div>
349 262 <div class="display" id="wphal-disciplines" style="display: none;">
@@ -348,26 +261,27 @@
348 261 </div>
349 262 <div class="display" id="wphal-disciplines" style="display: none;">
350 263 <h3 class="wphal-titre">' . __('Disciplines', 'wp-hal') . '</h3>';
351 264
352 - if (wphal_locale == 'fr_FR') {
353 - $facetdomain = isset($json->facet_counts->facet_fields->fr_domainAllCodeLabel_fs) ? $json->facet_counts->facet_fields->fr_domainAllCodeLabel_fs:null;
354 - } elseif (wphal_locale == 'es_ES') {
355 - $facetdomain = isset($json->facet_counts->facet_fields->es_domainAllCodeLabel_fs) ? $json->facet_counts->facet_fields->es_domainAllCodeLabel_fs:null;
265 + if (locale == 'fr_FR') {
266 + $facetdomain = $json->facet_counts->facet_fields->fr_domainAllCodeLabel_fs;
267 + } elseif (locale == 'es_ES') {
268 + $facetdomain = $json->facet_counts->facet_fields->es_domainAllCodeLabel_fs;
356 269 } else {
357 - $facetdomain = isset($json->facet_counts->facet_fields->en_domainAllCodeLabel_fs) ? $json->facet_counts->facet_fields->en_domainAllCodeLabel_fs:null;
270 + $facetdomain = $json->facet_counts->facet_fields->en_domainAllCodeLabel_fs;
358 271 }
359 272
360 273 if (!is_null($facetdomain) && !empty($facetdomain)) {
274 +
361 275 $content .= '<div id="listdisci">';
362 276 $content .= '<span id="tridisciplines">';
363 - $content .= '<button type="button" class="trial" id="tridisci" onclick="toggleSort(this, true, \'wphal-discipline\', \'wphal-discipline\', \'tridisci\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
364 - $content .= '<button type="button" class="trioc" id="trinbdisci" onclick="toggleSort(this, false, \'wphal-discipline\', \'wphal-discipline\', \'trinbdisci\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
277 + $content .= '<button type="button" class="trial" href="" id="tridisci" onclick="toggleSort(this, true, \'wphal-discipline\', \'wphal-discipline\', \'tridisci\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
278 + $content .= '<button type="button" class="trioc" href="" id="trinbdisci" onclick="toggleSort(this, false, \'wphal-discipline\', \'wphal-discipline\', \'trinbdisci\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
365 279 $content .= '</span>';
366 280 $content .= '<ul id="wphal-discipline" class="wphal-discipline">';
367 281 foreach ($facetdomain as $res) {
368 - $name = explode(wphal_delimiter, $res[0]);
369 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=domainAllCode_s:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
282 + $name = explode(delimiter, $res[0]);
283 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=domainAllCode_s:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
370 284 }
371 285 $content .= '</ul>';
372 286 $content .= '</div>';
373 287
@@ -373,15 +287,15 @@
373 287
374 288 $content .= '<div id="wphal-graph" style="display:none;">';
375 289 $content .= '<div id="wphal-piedisci"></div>';
376 290 $content .= '</div>';
377 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-disci" onclick="visibilitedisci(\'listdisci\',\'wphal-graph\',\'tridisciplines\'); return false;" >' . __('Graphique', 'wp-hal');
291 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-disci" onclick="visibilitedisci(\'listdisci\',\'wphal-graph\',\'tridisciplines\'); return false;" >' . __('Graphique', 'wp-hal');
378 292 $content .= '</button>';
379 293 }
380 294 $content .= '</div>
381 295 <div class="display" id="wphal-keywords" style="display: none;">
382 296 <h3 class="wphal-titre">' . __('Mots-clefs', 'wp-hal') . '</h3>';
383 - if (isset($json->facet_counts->facet_fields->keyword_s) && !is_null($json->facet_counts->facet_fields->keyword_s) && !empty($json->facet_counts->facet_fields->keyword_s)) {
297 + if (!is_null($json->facet_counts->facet_fields->keyword_s) && !empty($json->facet_counts->facet_fields->keyword_s)) {
384 298 $content .= '<div id="wphal-keys">';
385 299 $r = 0;
386 300 // CSS Nuage de mots
387 301 $maxsize = 25;
@@ -387,10 +301,8 @@
387 301 $maxsize = 25;
388 302 $minsize = 10;
389 303 $maxval = max(array_values($json->facet_counts->facet_fields->keyword_s[1]));
390 304 $minval = min(array_values($json->facet_counts->facet_fields->keyword_s[1]));
391 - if(!is_numeric($minval)) {$minval = 0;}
392 - if(!is_numeric($maxval)) {$maxval = 0;}
393 305 $spread = ($maxval - $minval);
394 306 $step = ($maxsize - $minsize) / $spread;
395 307 $tab = array();
396 308 foreach ($json->facet_counts->facet_fields->keyword_s as $res) {
@@ -402,34 +314,34 @@
402 314 }
403 315 asort($tab); // Tri du tableau par ordre alphabétique
404 316 foreach ($tab as $res) {
405 317 $size = round($minsize + (($res[1] - $minval) * $step));
406 - $content .= '<a style="display: inline-block; font-size:' . $size . 'px" href="' . esc_url(halv3 . '?q=keyword_s:' . urlencode('"' . $res[0] . '"') . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $res[0] . '</a>&nbsp;';
318 + $content .= '<a style="display: inline-block; font-size:' . $size . 'px" href="' . halv3 . '?q=keyword_s:' . urlencode('"' . $res[0] . '"') . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $res[0] . '</a>&nbsp;';
407 319 }
408 320 $content .= '</div>';
409 321 $content .= '<div id="keysuite" style="display:none;">';
410 322 $content .= '<span id="trikeywords">';
411 - $content .= '<button type="button" class="trial" id="trikey" onclick="toggleSort(this, true, \'wphal-keyw\', \'wphal-keyword\', \'trikey\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
412 - $content .= '<button type="button" class="trioc" id="trinbkey" onclick="toggleSort(this, false, \'wphal-keyw\', \'wphal-keyword\', \'trinbkey\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
323 + $content .= '<button type="button" class="trial" href="" id="trikey" onclick="toggleSort(this, true, \'wphal-keyw\', \'wphal-keyword\', \'trikey\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
324 + $content .= '<button type="button" class="trioc" href="" id="trinbkey" onclick="toggleSort(this, false, \'wphal-keyw\', \'wphal-keyword\', \'trinbkey\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
413 325 $content .= '</span>';
414 326 $content .= '<ul class="wphal-keyword">';
415 327 $content .= '<div id="wphal-keyw">';
416 328 foreach ($json->facet_counts->facet_fields->keyword_s as $res) {
417 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=keyword_s:' . urlencode('"' . $res[0] . '"') . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $res[0] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
329 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=keyword_s:' . urlencode('"' . $res[0] . '"') . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $res[0] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
418 330 }
419 331 $content .= '</div>';
420 332 $content .= '</ul>';
421 333 $content .= '</div>';
422 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-key" onclick="visibilitekey(\'wphal-keys\',\'keysuite\', \'trikeywords\'); return false;" >' . __('Liste complète', 'wp-hal');
334 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-key" onclick="visibilitekey(\'wphal-keys\',\'keysuite\', \'trikeywords\'); return false;" >' . __('Liste complète', 'wp-hal');
423 335 $content .= '</button>';
424 336 }
425 337 $content .= '</div>
426 338 <div class="display" id="wphal-auteurs" style="display: none;">
427 339 <h3 class="wphal-titre">' . __('Auteurs', 'wp-hal') . '</h3>';
428 - if (isset($json->facet_counts->facet_fields->authIdLastNameFirstName_fs) && !is_null($json->facet_counts->facet_fields->authIdLastNameFirstName_fs) && !empty($json->facet_counts->facet_fields->authIdLastNameFirstName_fs)) {
340 + if (!is_null($json->facet_counts->facet_fields->authIdLastNameFirstName_fs) && !empty($json->facet_counts->facet_fields->authIdLastNameFirstName_fs)) {
429 341 $content .= '<span id="triauteurs">';
430 - $content .= '<button type="button" class="trial" id="triaut" onclick="toggleSort(this, true, \'wphal-aut\', \'auteursuite\', \'triaut\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
431 - $content .= '<button type="button" class="trioc" id="trinbaut" onclick="toggleSort(this, false, \'wphal-aut\', \'auteursuite\', \'trinbaut\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
342 + $content .= '<button type="button" class="trial" href="" id="triaut" onclick="toggleSort(this, true, \'wphal-aut\', \'auteursuite\', \'triaut\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
343 + $content .= '<button type="button" class="trioc" href="" id="trinbaut" onclick="toggleSort(this, false, \'wphal-aut\', \'auteursuite\', \'trinbaut\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
432 344 $content .= '</span>';
433 345 $content .= '<ul class="wphal-auteurs" style="list-style-type: none;">';
434 346 $content .= '<div id="wphal-aut">';
435 347 $r = 0;
@@ -437,15 +349,10 @@
437 349 $r = $r + 1;
438 350 if ($r > 10) {
439 351 break;
440 352 }
441 - $name = explode(wphal_delimiter, $res[0]);
442 - if($name[0] == 0){
443 - $q = 'authLastNameFirstName_s:'.urlencode("\"".$name[1]."\"");
444 - }else{
445 - $q = "authIdPerson_i:$name[0]";
446 - }
447 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><img alt="user" src=" ' . esc_url(plugin_dir_url(__FILE__) . '/img/user.svg').'" style="width:16px; margin-left:2px; margin-right:2px;"/><a href="' . esc_url(halv3 . '?q='. $q . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
353 + $name = explode(delimiter, $res[0]);
354 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><img alt="user" src=" ' . plugin_dir_url(__FILE__) . '/img/user.svg" style="width:16px; margin-left:2px; margin-right:2px;"/><a href="' . halv3 . '?q=authId_i:' . $name[0] . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
448 355 }
449 356 $i = 1;
450 357 $content .= '<div id="auteursuite" style="display:none;">';
451 358 foreach ($json->facet_counts->facet_fields->authIdLastNameFirstName_fs as $res) {
@@ -454,15 +361,10 @@
454 361 }
455 362 if ($i < $r) {
456 363 $i = $i + 1;
457 364 } else {
458 - $name = explode(wphal_delimiter, $res[0]);
459 - if($name[0] == 0){
460 - $q = 'authLastNameFirstName_s:'.urlencode("\"".$name[1]."\"");
461 - }else{
462 - $q = "authIdPerson_i:$name[0]";
463 - }
464 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><img alt="user" src=" ' . esc_url(plugin_dir_url(__FILE__) . '/img/user.svg').'" style="width:16px; margin-left:2px; margin-right:2px;"/><a href="' . esc_url(halv3 . '?q='. $q . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
365 + $name = explode(delimiter, $res[0]);
366 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><img alt="user" src=" ' . plugin_dir_url(__FILE__) . '/img/user.svg" style="width:16px; margin-left:2px; margin-right:2px;"/><a href="' . halv3 . '?q=authId_i:' . $name[0] . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
465 367 }
466 368 }
467 369 $content .= '</div>';
468 370 $content .= '</div>';
@@ -467,70 +369,19 @@
467 369 $content .= '</div>';
468 370 $content .= '</div>';
469 371 $content .= '</ul>';
470 372 if ($r > 10) {
471 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-auteur" onclick="visibilite(\'auteursuite\'); return false;" >' . __('Liste complète', 'wp-hal');
373 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-auteur" onclick="visibilite(\'auteursuite\'); return false;" >' . __('Liste complète', 'wp-hal');
472 374 $content .= '</button>';
473 375 }
474 376 }
475 377 $content .= '</div>
476 - <div class="display" id="wphal-affiliated" style="display: none;">
477 - <h3 class="wphal-titre">' . __('Auteurs de la structure', 'wp-hal') . '</h3>';
478 - $parsed_facetfield = wphal_parse_affiliation_facet($json->facet_counts->facet_fields, $structIDs);
479 - if (!empty($parsed_facetfield)) {
480 - $content .= '<span id="triauteurs">';
481 - $content .= '<button type="button" class="trial" id="triaff" onclick="toggleSort(this, true, \'wphal-aff\', \'affiliateduite\', \'triaff\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
482 - $content .= '<button type="button" class="trioc" id="trinbaff" onclick="toggleSort(this, false, \'wphal-aff\', \'affiliateduite\', \'trinbaff\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
483 - $content .= '</span>';
484 - $content .= '<ul class="wphal-auteurs" style="list-style-type: none;">';
485 - $content .= '<div id="wphal-aff">';
486 - $r = 0;
487 - foreach ($parsed_facetfield as $author=>$count) {
488 - $r = $r + 1;
489 - if ($r > 10) {
490 - break;
491 - }
492 - $name = explode(wphal_delimiter, $author);
493 - if($name[1] == 0){
494 - $q = 'authLastNameFirstName_s:'.urlencode("\"".$name[2]."\"");
495 - }else{
496 - $q = "authIdPerson_i:$name[1]";
497 - }
498 - $content .= '<li class="metadata" data-percentage="' . $count . '"><img alt="user" src=" ' . esc_url(plugin_dir_url(__FILE__) . '/img/user.svg').'" style="width:16px; margin-left:2px; margin-right:2px;"/><a href="' . esc_url(halv3 . '?q='. $q . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[2] . '</a><span class="wphal-nbmetadata">' . $count . '</span></li>';
499 - }
500 - $i = 1;
501 - $content .= '<div id="affiliateduite" style="display:none;">';
502 - foreach ($parsed_facetfield as $author=>$count) {
503 - if ($r < 10) {
504 - break;
505 - }
506 - if ($i < $r) {
507 - $i = $i + 1;
508 - } else {
509 - $name = explode(wphal_delimiter, $author);
510 - if($name[1] == 0){
511 - $q = 'authLastNameFirstName_s:'.urlencode("\"".$name[2]."\"");
512 - }else{
513 - $q = "authIdPerson_i:$name[1]";
514 - }
515 - $content .= '<li class="metadata" data-percentage="' . $count . '"><img alt="user" src=" ' . esc_url(plugin_dir_url(__FILE__) . '/img/user.svg').'" style="width:16px; margin-left:2px; margin-right:2px;"/><a href="' . esc_url(halv3 . '?q='. $q . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[2] . '</a><span class="wphal-nbmetadata">' . $count . '</span></li>';
516 - }
517 - }
518 - $content .= '</div>';
519 - $content .= '</div>';
520 - $content .= '</ul>';
521 - if ($r > 10) {
522 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-auteur" onclick="visibilite(\'affiliateduite\'); return false;" >' . __('Liste complète', 'wp-hal');
523 - $content .= '</button>';
524 - }
525 - }
526 - $content .= '</div>
527 378 <div class="display" id="wphal-revues" style="display: none;">
528 379 <h3 class="wphal-titre">' . __('Revues', 'wp-hal') . '</h3>';
529 - if (isset($json->facet_counts->facet_fields->journalIdTitle_fs) && !is_null($json->facet_counts->facet_fields->journalIdTitle_fs) && !empty($json->facet_counts->facet_fields->journalIdTitle_fs)) {
380 + if (!is_null($json->facet_counts->facet_fields->journalIdTitle_fs) && !empty($json->facet_counts->facet_fields->journalIdTitle_fs)) {
530 381 $content .= '<span id="trirevues">';
531 - $content .= '<button type="button" class="trial" id="trirev" onclick="toggleSort(this, true, \'wphal-rev\', \'revuesuite\', \'trirev\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
532 - $content .= '<button type="button" class="trioc" id="trinbrev" onclick="toggleSort(this, false, \'wphal-rev\', \'revuesuite\', \'trinbrev\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
382 + $content .= '<button type="button" class="trial" href="" id="trirev" onclick="toggleSort(this, true, \'wphal-rev\', \'revuesuite\', \'trirev\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
383 + $content .= '<button type="button" class="trioc" href="" id="trinbrev" onclick="toggleSort(this, false, \'wphal-rev\', \'revuesuite\', \'trinbrev\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
533 384 $content .= '</span>';
534 385 $content .= '<ul class="wphal-revues">';
535 386 $content .= '<div id="wphal-rev">';
536 387 $r = 0;
@@ -538,10 +389,10 @@
538 389 $r = $r + 1;
539 390 if ($r > 10) {
540 391 break;
541 392 }
542 - $name = explode(wphal_delimiter, $res[0]);
543 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=journalId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
393 + $name = explode(delimiter, $res[0]);
394 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=journalId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
544 395 }
545 396 $i = 1;
546 397 $content .= '<div id="revuesuite" style="display:none;">';
547 398 foreach ($json->facet_counts->facet_fields->journalIdTitle_fs as $res) {
@@ -550,10 +401,10 @@
550 401 }
551 402 if ($i < $r) {
552 403 $i = $i + 1;
553 404 } else {
554 - $name = explode(wphal_delimiter, $res[0]);
555 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=journalId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
405 + $name = explode(delimiter, $res[0]);
406 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=journalId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
556 407 }
557 408 }
558 409 $content .= '</div>';
559 410 $content .= '</div>';
@@ -558,9 +409,9 @@
558 409 $content .= '</div>';
559 410 $content .= '</div>';
560 411 $content .= '</ul>';
561 412 if ($r > 10) {
562 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-revue" onclick="visibiliterevues(\'revuesuite\'); return false;" >' . __('Liste complète', 'wp-hal');
413 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-revue" onclick="visibiliterevues(\'revuesuite\'); return false;" >' . __('Liste complète', 'wp-hal');
563 414 $content .= '</button>';
564 415 }
565 416 }
566 417 $content .= '</div>
@@ -565,12 +416,12 @@
565 416 }
566 417 $content .= '</div>
567 418 <div class="display" id="wphal-annees" style="display: none;">
568 419 <h3 class="wphal-titre">' . __('Année de production', 'wp-hal') . '</h3>';
569 - if (isset($json->facet_counts->facet_fields->producedDateY_i) && !is_null($json->facet_counts->facet_fields->producedDateY_i) && !empty($json->facet_counts->facet_fields->producedDateY_i)) {
420 + if (!is_null($json->facet_counts->facet_fields->producedDateY_i) && !empty($json->facet_counts->facet_fields->producedDateY_i)) {
570 421 $content .= '<span id="triannees">';
571 - $content .= '<button type="button" class="trial" id="trian" onclick="toggleSort(this, true, \'wphal-an\', \'anneesuite\', \'trian\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
572 - $content .= '<button type="button" class="trioc" id="trinban" onclick="toggleSort(this, false, \'wphal-an\', \'anneesuite\', \'trinban\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
422 + $content .= '<button type="button" class="trial" href="" id="trian" onclick="toggleSort(this, true, \'wphal-an\', \'anneesuite\', \'trian\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
423 + $content .= '<button type="button" class="trioc" href="" id="trinban" onclick="toggleSort(this, false, \'wphal-an\', \'anneesuite\', \'trinban\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
573 424 $content .= '</span>';
574 425 $content .= '<ul class="wphal-annees">';
575 426 $content .= '<div id="wphal-an">';
576 427
@@ -580,9 +431,9 @@
580 431 $r = $r + 1;
581 432 if ($r > 10) {
582 433 break;
583 434 }
584 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=producedDateY_i:' . urlencode($res[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $res[0] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
435 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=producedDateY_i:' . urlencode($res[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $res[0] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
585 436 }
586 437 $i = 1;
587 438 $content .= '<div id="anneesuite" style="display:none;">';
588 439 foreach ($json->facet_counts->facet_fields->producedDateY_i as $res) {
@@ -591,9 +442,9 @@
591 442 }
592 443 if ($i < $r) {
593 444 $i = $i + 1;
594 445 } else {
595 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=producedDateY_i:' . urlencode($res[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $res[0] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
446 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=producedDateY_i:' . urlencode($res[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $res[0] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
596 447 }
597 448 }
598 449 $content .= '</div>';
599 450 $content .= '</div>';
@@ -598,9 +449,9 @@
598 449 $content .= '</div>';
599 450 $content .= '</div>';
600 451 $content .= '</ul>';
601 452 if ($r > 10) {
602 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-annee" onclick="visibiliteannee(\'anneesuite\'); return false;" >' . __('Liste complète', 'wp-hal');
453 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-annee" onclick="visibiliteannee(\'anneesuite\'); return false;" >' . __('Liste complète', 'wp-hal');
603 454 $content .= '</button>';
604 455 }
605 456 }
606 457 $content .= '</div>
@@ -605,12 +456,12 @@
605 456 }
606 457 $content .= '</div>
607 458 <div class="display" id="wphal-insts" style="display: none;">
608 459 <h3 class="wphal-titre">' . __('Institutions', 'wp-hal') . '</h3>';
609 - if (isset($json->facet_counts->facet_fields->instStructIdName_fs) && !is_null($json->facet_counts->facet_fields->instStructIdName_fs) && !empty($json->facet_counts->facet_fields->instStructIdName_fs)) {
460 + if (!is_null($json->facet_counts->facet_fields->instStructIdName_fs) && !empty($json->facet_counts->facet_fields->instStructIdName_fs)) {
610 461 $content .= '<span id="triinsts">';
611 - $content .= '<button type="button" class="trial" id="triinst" onclick="toggleSort(this, true, \'wphal-institu\', \'instsuite\', \'triinst\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
612 - $content .= '<button type="button" class="trioc" id="trinbinst" onclick="toggleSort(this, false, \'wphal-institu\', \'instsuite\', \'trinbinst\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
462 + $content .= '<button type="button" class="trial" href="" id="triinst" onclick="toggleSort(this, true, \'wphal-institu\', \'instsuite\', \'triinst\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
463 + $content .= '<button type="button" class="trioc" href="" id="trinbinst" onclick="toggleSort(this, false, \'wphal-institu\', \'instsuite\', \'trinbinst\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
613 464 $content .= '</span>';
614 465 $content .= '<ul class="wphal-insts">';
615 466 $content .= '<div id="wphal-institu">';
616 467 $r = 0;
@@ -618,10 +469,10 @@
618 469 $r = $r + 1;
619 470 if ($r > 10) {
620 471 break;
621 472 }
622 - $name = explode(wphal_delimiter, $res[0]);
623 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=instStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
473 + $name = explode(delimiter, $res[0]);
474 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=instStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
624 475 }
625 476 $i = 1;
626 477 $content .= '<div id="instsuite" style="display:none;">';
627 478 foreach ($json->facet_counts->facet_fields->instStructIdName_fs as $res) {
@@ -630,10 +481,10 @@
630 481 }
631 482 if ($i < $r) {
632 483 $i = $i + 1;
633 484 } else {
634 - $name = explode(wphal_delimiter, $res[0]);
635 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=instStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
485 + $name = explode(delimiter, $res[0]);
486 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=instStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
636 487 }
637 488 }
638 489 $content .= '</div>';
639 490 $content .= '</div>';
@@ -638,9 +489,9 @@
638 489 $content .= '</div>';
639 490 $content .= '</div>';
640 491 $content .= '</ul>';
641 492 if ($r > 10) {
642 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-inst" onclick="visibiliteinst(\'instsuite\'); return false;" >' . __('Liste complète', 'wp-hal');
493 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-inst" onclick="visibiliteinst(\'instsuite\'); return false;" >' . __('Liste complète', 'wp-hal');
643 494 $content .= '</button>';
644 495 }
645 496 }
646 497 $content .= '</div>
@@ -645,12 +496,12 @@
645 496 }
646 497 $content .= '</div>
647 498 <div class="display" id="wphal-labs" style="display: none;">
648 499 <h3 class="wphal-titre">' . __('Laboratoires', 'wp-hal') . '</h3>';
649 - if (isset($json->facet_counts->facet_fields->labStructIdName_fs) && !is_null($json->facet_counts->facet_fields->labStructIdName_fs) && !empty($json->facet_counts->facet_fields->labStructIdName_fs)) {
500 + if (!is_null($json->facet_counts->facet_fields->labStructIdName_fs) && !empty($json->facet_counts->facet_fields->labStructIdName_fs)) {
650 501 $content .= '<span id="trilabs">';
651 - $content .= '<button type="button" class="trial" id="trilab" onclick="toggleSort(this, true, \'wphal-labo\', \'labsuite\', \'trilab\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
652 - $content .= '<button type="button" class="trioc" id="trinblab" onclick="toggleSort(this, false, \'wphal-labo\', \'labsuite\', \'trinblab\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
502 + $content .= '<button type="button" class="trial" href="" id="trilab" onclick="toggleSort(this, true, \'wphal-labo\', \'labsuite\', \'trilab\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
503 + $content .= '<button type="button" class="trioc" href="" id="trinblab" onclick="toggleSort(this, false, \'wphal-labo\', \'labsuite\', \'trinblab\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
653 504 $content .= '</span>';
654 505 $content .= '<ul class="wphal-labs">';
655 506 $content .= '<div id="wphal-labo">';
656 507
@@ -659,10 +510,10 @@
659 510 $r = $r + 1;
660 511 if ($r > 10) {
661 512 break;
662 513 }
663 - $name = explode(wphal_delimiter, $res[0]);
664 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=labStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
514 + $name = explode(delimiter, $res[0]);
515 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=labStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
665 516 }
666 517 $i = 1;
667 518 $content .= '<div id="labsuite" style="display:none;">';
668 519 foreach ($json->facet_counts->facet_fields->labStructIdName_fs as $res) {
@@ -671,10 +522,10 @@
671 522 }
672 523 if ($i < $r) {
673 524 $i = $i + 1;
674 525 } else {
675 - $name = explode(wphal_delimiter, $res[0]);
676 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=labStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
526 + $name = explode(delimiter, $res[0]);
527 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=labStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
677 528 }
678 529 }
679 530 $content .= '</div>';
680 531 $content .= '</div>';
@@ -679,9 +530,9 @@
679 530 $content .= '</div>';
680 531 $content .= '</div>';
681 532 $content .= '</ul>';
682 533 if ($r > 10) {
683 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-lab" onclick="visibilitelab(\'labsuite\'); return false;" >' . __('Liste complète', 'wp-hal');
534 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-lab" onclick="visibilitelab(\'labsuite\'); return false;" >' . __('Liste complète', 'wp-hal');
684 535 $content .= '</button>';
685 536 }
686 537 }
687 538 $content .= '</div>
@@ -686,12 +537,12 @@
686 537 }
687 538 $content .= '</div>
688 539 <div class="display" id="wphal-depts" style="display: none;">
689 540 <h3 class="wphal-titre">' . __('Départements', 'wp-hal') . '</h3>';
690 - if (isset($json->facet_counts->facet_fields->deptStructIdName_fs) && !is_null($json->facet_counts->facet_fields->deptStructIdName_fs) && !empty($json->facet_counts->facet_fields->deptStructIdName_fs)) {
541 + if (!is_null($json->facet_counts->facet_fields->deptStructIdName_fs) && !empty($json->facet_counts->facet_fields->deptStructIdName_fs)) {
691 542 $content .= '<span id="tridept">';
692 - $content .= '<button type="button" class="trial" id="tridept" onclick="toggleSort(this, true, \'wphal-dpt\', \'deptsuite\', \'tridept\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
693 - $content .= '<button type="button" class="trioc" id="trinbdept" onclick="toggleSort(this, false, \'wphal-dpt\', \'deptsuite\', \'trinbdept\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
543 + $content .= '<button type="button" class="trial" href="" id="tridept" onclick="toggleSort(this, true, \'wphal-dpt\', \'deptsuite\', \'tridept\'); return false;" style="font-size:16px; text-decoration: none;" >Tri Alphabétique</button>';
544 + $content .= '<button type="button" class="trioc" href="" id="trinbdept" onclick="toggleSort(this, false, \'wphal-dpt\', \'deptsuite\', \'trinbdept\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
694 545 $content .= '</span>';
695 546 $content .= '<ul class="wphal-depts">';
696 547 $content .= '<div id="wphal-dpt">';
697 548 $r = 0;
@@ -699,10 +550,10 @@
699 550 $r = $r + 1;
700 551 if ($r > 10) {
701 552 break;
702 553 }
703 - $name = explode(wphal_delimiter, $res[0]);
704 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=deptStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
554 + $name = explode(delimiter, $res[0]);
555 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=deptStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
705 556 }
706 557 $i = 1;
707 558 $content .= '<div id="deptsuite" style="display:none;">';
708 559 foreach ($json->facet_counts->facet_fields->deptStructIdName_fs as $res) {
@@ -711,10 +562,10 @@
711 562 }
712 563 if ($i < $r) {
713 564 $i = $i + 1;
714 565 } else {
715 - $name = explode(wphal_delimiter, $res[0]);
716 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=deptStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
566 + $name = explode(delimiter, $res[0]);
567 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=deptStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
717 568 }
718 569 }
719 570 $content .= '</div>';
720 571 $content .= '</div>';
@@ -719,9 +570,9 @@
719 570 $content .= '</div>';
720 571 $content .= '</div>';
721 572 $content .= '</ul>';
722 573 if ($r > 10) {
723 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-dept" onclick="visibilitedept(\'deptsuite\'); return false;" >' . __('Liste complète', 'wp-hal');
574 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-dept" onclick="visibilitedept(\'deptsuite\'); return false;" >' . __('Liste complète', 'wp-hal');
724 575 $content .= '</button>';
725 576 }
726 577 }
727 578 $content .= '</div>
@@ -726,25 +577,24 @@
726 577 }
727 578 $content .= '</div>
728 579 <div class="display" id="wphal-equipes" style="display: none;">
729 580 <h3 class="wphal-titre">' . __('Équipes de recherche', 'wp-hal') . '</h3>';
730 - if (isset($json->facet_counts->facet_fields->rteamStructIdName_fs) && !is_null($json->facet_counts->facet_fields->rteamStructIdName_fs) && !empty($json->facet_counts->facet_fields->rteamStructIdName_fs)) {
581 + if (!is_null($json->facet_counts->facet_fields->rteamStructIdName_fs) && !empty($json->facet_counts->facet_fields->rteamStructIdName_fs)) {
731 582 $content .= '<span id="triequipe">';
732 - $content .= '<button type="button" class="trial" id="triequipe" onclick="toggleSort(this, true, \'wphal-rteam\', \'equipesuite\', \'triequipe\'); return false;" style="font-size:16px;text-decoration: none;" >Tri Alphabétique</button>';
733 - $content .= '<button type="button" class="trioc" id="trinbequipe" onclick="toggleSort(this, false, \'wphal-rteam\', \'equipesuite\', \'trinbequipe\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
583 + $content .= '<button type="button" class="trial" href="" id="triequipe" onclick="toggleSort(this, true, \'wphal-rteam\', \'equipesuite\', \'triequipe\'); return false;" style="font-size:16px;text-decoration: none;" >Tri Alphabétique</button>';
584 + $content .= '<button type="button" class="trioc" href="" id="trinbequipe" onclick="toggleSort(this, false, \'wphal-rteam\', \'equipesuite\', \'trinbequipe\'); return false;" style="font-size:16px; text-decoration: none;">Tri Occurrence</button>';
734 585 $content .= '</span>';
735 586 $content .= '<ul class="wphal-equipes">';
736 587 $content .= '<div id="wphal-rteam">';
737 588
738 589 $r = 0;
739 - $name=[];
740 590 foreach ($json->facet_counts->facet_fields->rteamStructIdName_fs as $res) {
741 591 $r = $r + 1;
742 592 if ($r > 10) {
743 593 break;
744 594 }
745 - $name = explode(wphal_delimiter, $res[0]);
746 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=rteamStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
595 + $name = explode(delimiter, $res[0]);
596 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=rteamStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
747 597 }
748 598 $i = 1;
749 599 $content .= '<div id="equipesuite" style="display:none;">';
750 600 foreach ($json->facet_counts->facet_fields->rteamStructIdName_fs as $res) {
@@ -753,10 +603,9 @@
753 603 }
754 604 if ($i < $r) {
755 605 $i = $i + 1;
756 606 } else {
757 - $name = explode(wphal_delimiter, $res[0]);
758 - $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . esc_url(halv3 . '?q=rteamStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')').'" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
607 + $content .= '<li class="metadata" data-percentage="' . $res[1] . '"><a href="' . halv3 . '?q=rteamStructId_i:' . urlencode($name[0]) . "+AND+" . $type . ':(' . $id . ')" target="_blank">' . $name[1] . '</a><span class="wphal-nbmetadata">' . $res[1] . '</span></li>';
759 608 }
760 609 }
761 610 $content .= '</div>';
762 611 $content .= '</div>';
@@ -761,9 +610,9 @@
761 610 $content .= '</div>';
762 611 $content .= '</div>';
763 612 $content .= '</ul>';
764 613 if ($r > 10) {
765 - $content .= '<button type="button" style="text-decoration: none;" id="wphal-equipe" onclick="visibiliteequipe(\'equipesuite\'); return false;" >' . __('Liste complète', 'wp-hal');
614 + $content .= '<button type="button" href="" style="text-decoration: none;" id="wphal-equipe" onclick="visibiliteequipe(\'equipesuite\'); return false;" >' . __('Liste complète', 'wp-hal');
766 615 $content .= '</button>';
767 616 }
768 617 }
769 618 $content .= '</div>
@@ -768,9 +617,9 @@
768 617 }
769 618 $content .= '</div>
770 619 <div class="display" id="publications">';
771 620 if (get_option('option_groupe') == 'grouper') {
772 - $doctype = file_get_contents(plugin_dir_path( __FILE__ ).'json'. DIRECTORY_SEPARATOR .'doctype_fr.json');
621 + $doctype = file_get_contents(plugin_dir_path( __FILE__ ).'json'. DIRECTORY_SEPARATOR .'doctype_'.lang.'.json');
773 622 $jsontype = json_decode($doctype);
774 623
775 624 //LISTE DES DOCUMENTS PAR GROUPE
776 625
@@ -775,13 +624,14 @@
775 624 //LISTE DES DOCUMENTS PAR GROUPE
776 625
777 626 $content .= '<div class="counter-doc"><span class="wphal-nbtot">' . $json->grouped->docType_s->matches . ' </span>';
778 627 $content .= __('documents', 'wp-hal'). '</div><br>';
779 - for ($i = 0; !empty($jsontype->response->result->doc[$i]); $i++) {
780 - for ($d = 0; !empty($json->grouped->docType_s->groups[$d]); $d++) {
628 + $content .= '<ul style="list-style-type: none;">';
629 + for ($i = 0; $jsontype->response->result->doc[$i] != null; $i++) {
630 + for ($d = 0; $json->grouped->docType_s->groups[$d] != null; $d++) {
781 631 if ($json->grouped->docType_s->groups[$d]->groupValue == $jsontype->response->result->doc[$i]->str[0]){
782 632 $titre = $jsontype->response->result->doc[$i]->str[1];
783 - $content .= '<div class="grp-div"><h3 class="wphal-titre-groupe">' . __($titre, 'wp-hal') . '<span class="wphal-nbmetadata" style="margin-left:10px;">' . $json->grouped->docType_s->groups[$d]->doclist->numFound . ' ' . _n('document', 'documents', $json->grouped->docType_s->groups[$d]->doclist->numFound, 'wp-hal') . '</span></h3>';
633 + $content .= '<li><div class="grp-div-'. $jsontype->response->result->doc[$i]->str[0] .'"><h3 class="wphal-titre-groupe">' . $titre . '<span class="wphal-nbmetadata" style="margin-left:10px;">' . $json->grouped->docType_s->groups[$d]->doclist->numFound . ' ' . _n('document', 'documents', $json->grouped->docType_s->groups[$d]->doclist->numFound, 'wp-hal') . '</span></h3>';
784 634 $content .= '<div class="grp-content">';
785 635 $content .= '<ul>';
786 636 foreach ($json->grouped->docType_s->groups[$d]->doclist->docs as $result) {
787 637 $content .= '<li>' . $result->citationFull_s . '</li>';
@@ -786,13 +636,14 @@
786 636 foreach ($json->grouped->docType_s->groups[$d]->doclist->docs as $result) {
787 637 $content .= '<li>' . $result->citationFull_s . '</li>';
788 638 }
789 639 $content .= '</ul></div>';
790 - $content .= '</div><br>';
640 + $content .= '</div></li><br>';
791 641 break;
792 642 }
793 643 }
794 644 }
645 + $content .= '</ul>';
795 646 } elseif (get_option('option_groupe') == 'paginer') {
796 647
797 648 //LISTE DES DOCUMENTS AVEC PAGINATION
798 649 $content .= '<div class="counter-doc"><span class="wphal-nbtot">' . $json->response->numFound . ' </span>';
@@ -804,10 +655,10 @@
804 655 $total = $json->response->numFound;
805 656
806 657 $nombreDePages = ceil($total / $messagesParPage);
807 658
808 - if (isset($hal_page)) {
809 - $pageActuelle = intval($hal_page);
659 + if (isset($paged)) {
660 + $pageActuelle = intval($paged);
810 661
811 662 if ($pageActuelle > $nombreDePages) {
812 663 $pageActuelle = $nombreDePages;
813 664 }
@@ -815,247 +666,124 @@
815 666 $pageActuelle = 1;
816 667 }
817 668 $premiereEntree = ($pageActuelle - 1) * $messagesParPage;
818 669
819 - $url = wphal_api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&fl=docid,citationFull_s,keyword_s,bookTitle_s,producedDate_s,authFullName_s&start=' . $premiereEntree . '&rows=' . $messagesParPage . '&sort=' . wphal_producedDateY . '&wt=json';
820 - $json = wphal_do_get_data($url);
670 + $url = api . '?q=*:*&fq=' . $type . ':(' . urlencode($id) . ')&fl=docid,citationFull_s,keyword_s,bookTitle_s,producedDate_s,authFullName_s&start=' . $premiereEntree . '&rows=' . $messagesParPage . '&sort=' . producedDateY . '&wt=json';
671 + $ch = curl_init($url);
672 +// Options
673 + $options = array(
674 + CURLOPT_RETURNTRANSFER => true,
675 + CURLOPT_HTTPHEADER => array('Content-type: application/json'),
676 + CURLOPT_TIMEOUT => 10,
677 + CURLOPT_USERAGENT => "HAL Plugin Wordpress " . version
678 + );
821 679
680 +// Bind des options et de l'objet cURL que l'on va utiliser
681 + curl_setopt_array($ch, $options);
682 +// Récupération du résultat JSON
683 + $json = json_decode(curl_exec($ch));
684 + curl_close($ch);
685 +
822 686 //--MODULE PAGINATION--//
823 - $count_results = count($json->response->docs);
824 - if($count_results>0) {
825 - $content .= '<ul>';
826 - for ( $i = 0; $i <= $count_results - 1; $i ++ ) {
827 - $content .= '<li>' . $json->response->docs[ $i ]->citationFull_s . '</li>';
828 - }
829 - $content .= '</ul>';
687 +
688 + $content .= '<ul>';
689 + for ($i = 0; $json->response->docs[$i] != ''; $i++) {
690 + $content .= '<li>' . $json->response->docs[$i]->citationFull_s . '</li>';
691 + }
692 + $content .= '</ul>';
693 +
694 +//--AFFICHAGE PAGINATION--//
695 + $precedents = $pageActuelle - 2;
696 + $suivants = $pageActuelle + 2;
697 + $precedent = $pageActuelle - 1;
698 + $suivant = $pageActuelle + 1;
699 + $penultimate = $nombreDePages - 1;
700 +
701 + $content .= '<ul class="wphal-pagination">';
702 +//--BOUTON PRECEDENT--//
703 + if ($pageActuelle == 1) {
704 + $content .= '<li class="disabled"><a href="#">&laquo;</a></li>';
830 705 } else {
831 - $content = '<div> no results !</div>';
706 + $content .= '<li><a href="?paged=' . $precedent . '">&laquo;</a></li>';
832 707 }
833 - if($total> $messagesParPage) {
834 - $base_url = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on' ? 'https' : 'http' ) . '://' . $_SERVER['HTTP_HOST'];
835 - $url = $base_url . $_SERVER["REQUEST_URI"];
836 - $explodedURL= explode('?', $url);
837 - $queryString = isset($explodedURL[1])?$explodedURL[1]:"";
838 - $pagedHref = $explodedURL[0];
839 - if(!empty($queryString)){
840 - $parsedQueryString = [];
841 - parse_str($queryString, $parsedQueryString);
842 - if(isset($parsedQueryString["hal_page"])){
843 - unset($parsedQueryString["hal_page"]);
708 + if ($nombreDePages <= 6) {// Cas 1 : 6 pages ou moins - Pas de troncature
709 + for ($i = 1; $i <= $nombreDePages; $i++) {
710 + if ($i == $pageActuelle) {
711 + $content .= '<li class="active"><a href="#">' . $i . '</a></li>';
712 + } else {
713 + $content .= ' <li><a href="?paged=' . $i . '">' . $i . '</a></li> ';
844 714 }
845 - $pagedHref .= '?';
846 - foreach($parsedQueryString as $name => $value){
847 - $pagedHref .= $name.'='.$value.'&';
715 + }
716 + } elseif ($nombreDePages >= 7) {// Cas 2 : 7 pages ou plus - Troncature
717 + if ($pageActuelle <= 3) {// Lorsque l'on est sur les trois premières pages
718 + for ($i = 1; $i <= 4; $i++) {
719 + if ($i == $pageActuelle) {
720 + $content .= '<li class="active"><a href="#">' . $i . '</a></li>';
721 + } else {
722 + $content .= '<li><a href="?paged=' . $i . '">' . $i . '</a></li>';
723 + }
848 724 }
849 - // we add it back..
850 - $pagedHref .= 'hal_page=';
851 - }else {
852 - $pagedHref .= '?hal_page=';
725 + $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
726 + $content .= '<li><a href="?paged=' . $penultimate . '">' . $penultimate . '</a></li>';
727 + $content .= '<li><a href="?paged=' . $nombreDePages . '">' . $nombreDePages . '</a></li>';
853 728 }
854 -
855 - //--AFFICHAGE PAGINATION--//
856 - $precedents = $pageActuelle - 2;
857 - $suivants = $pageActuelle + 2;
858 - $precedent = $pageActuelle - 1;
859 - $suivant = $pageActuelle + 1;
860 - $penultimate = $nombreDePages - 1;
861 -
862 - $content .= '<ul class="wphal-pagination">';
863 - //--BOUTON PRECEDENT--//
864 - if ( $pageActuelle != 1 ) {
865 - $content .= '<li><a href="'. $pagedHref . $precedent . '">&laquo;</a></li>';
729 + if ($pageActuelle >= 4 && $pageActuelle <= $penultimate - 2) {//Lorsque l'on arrive sur la quatrième page
730 + $content .= '<li><a href="?paged=">1</a></li>';
731 + $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
732 + $content .= '<li><a href="?paged=' . $precedents . '">' . $precedents . '</a></li>';
733 + $content .= '<li><a href="?paged=' . $precedent . '">' . $precedent . '</a></li>';
734 + $content .= '<li class="active"><a href="#">' . $pageActuelle . '</a></li>';
735 + $content .= '<li><a href="?paged=' . $suivant . '">' . $suivant . '</a></li>';
736 + $content .= '<li><a href="?paged=' . $suivants . '">' . $suivants . '</a></li>';
737 + $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
738 + $content .= '<li><a href="?paged=' . $nombreDePages . '">' . $nombreDePages . '</a></li>';
866 739 }
867 - if ( $nombreDePages <= 6 ) {// Cas 1 : 6 pages ou moins - Pas de troncature
868 - for ( $i = 1; $i <= $nombreDePages; $i ++ ) {
869 - if ( $i == $pageActuelle ) {
740 + if ($pageActuelle >= $penultimate - 1) {
741 + $content .= '<li><a href="?paged=1">1</a></li>';
742 + $content .= '<li><a href="?paged=2">2</a></li>';
743 + $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
744 + for ($i = $penultimate - 2; $i <= $nombreDePages; $i++) {
745 + if ($i == $pageActuelle) {
870 746 $content .= '<li class="active"><a href="#">' . $i . '</a></li>';
871 747 } else {
872 - $content .= ' <li><a href="'. $pagedHref . $i . '">' . $i . '</a></li> ';
748 + $content .= '<li><a href="?paged=' . $i . '">' . $i . '</a></li>';
873 749 }
874 750 }
875 - } elseif ( $nombreDePages >= 7 ) {// Cas 2 : 7 pages ou plus - Troncature
876 - if ( $pageActuelle <= 3 ) {// Lorsque l'on est sur les trois premières pages
877 - for ( $i = 1; $i <= 4; $i ++ ) {
878 - if ( $i == $pageActuelle ) {
879 - $content .= '<li class="active"><a href="#">' . $i . '</a></li>';
880 - } else {
881 - $content .= '<li><a href="'. $pagedHref . $i . '">' . $i . '</a></li>';
882 - }
883 - }
884 - $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
885 - $content .= '<li><a href="'. $pagedHref . $penultimate . '">' . $penultimate . '</a></li>';
886 - $content .= '<li><a href="'. $pagedHref . $nombreDePages . '">' . $nombreDePages . '</a></li>';
887 - }
888 - if ( $pageActuelle >= 4 && $pageActuelle <= $penultimate - 2 ) {//Lorsque l'on arrive sur la quatrième page
889 - $content .= '<li><a href="'.$pagedHref.'1">1</a></li>';
890 - $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
891 - $content .= '<li><a href="'. $pagedHref . $precedents . '">' . $precedents . '</a></li>';
892 - $content .= '<li><a href="'. $pagedHref . $precedent . '">' . $precedent . '</a></li>';
893 - $content .= '<li class="active"><a href="#">' . $pageActuelle . '</a></li>';
894 - $content .= '<li><a href="'. $pagedHref . $suivant . '">' . $suivant . '</a></li>';
895 - $content .= '<li><a href="'. $pagedHref . $suivants . '">' . $suivants . '</a></li>';
896 - $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
897 - $content .= '<li><a href="'. $pagedHref . $nombreDePages . '">' . $nombreDePages . '</a></li>';
898 - }
899 - if ( $pageActuelle >= $penultimate - 1 ) {
900 - $content .= '<li><a href="'.$pagedHref.'1">1</a></li>';
901 - $content .= '<li><a href="'.$pagedHref.'2">2</a></li>';
902 - $content .= '<li class="disabled"><a href="#">&hellip;</a></li>';
903 - for ( $i = $penultimate - 2; $i <= $nombreDePages; $i ++ ) {
904 - if ( $i == $pageActuelle ) {
905 - $content .= '<li class="active"><a href="#">' . $i . '</a></li>';
906 - } else {
907 - $content .= '<li><a href="'. $pagedHref . $i . '">' . $i . '</a></li>';
908 - }
909 - }
910 - }
911 751 }
912 - //--BOUTON SUIVANT--//
913 - if ( $pageActuelle < $nombreDePages ) {
914 - $content .= '<li><a href="'. $pagedHref . $suivant . '">&raquo;</a></li>';
915 - }
916 - $content .= '</ul>';
917 - //--AFFICHAGE PAGINATION--//
918 752 }
753 +//--BOUTON SUIVANT--//
754 + if ($pageActuelle < $nombreDePages) {
755 + $content .= '<li><a href="?paged=' . $suivant . '">&raquo;</a></li>';
756 + } else {
757 + $content .= '<li class="disabled"><a href="#">&raquo;</a></li>';
758 + }
759 + $content .= '</ul>';
760 +//--AFFICHAGE PAGINATION--//
919 761 }
920 762 $content .= '</div>
921 763 </div>
922 764 </div>';
923 - }else{
924 - $content = 'Plugin is not configured correctly or shortcode parameters are not valid, please check the <a href="https://doc.archives-ouvertes.fr/afficher-une-liste-de-publications-dans-wordpress/" target="_blank" id="wrong_params">documentation</a>';
925 765 }
926 766 $content .= '<div class="wphal-footer">';
927 - $content .= '<p style="color:#B3B2B0">' . __("Documents récupérés de l'archive ouverte HAL", 'wp-hal') . '&nbsp;<a href="' . wphal_site . '" target="_blank"><img alt="logo" src=" ' . esc_url(plugin_dir_url(__FILE__) . 'img/logo-hal.png').'" style="width:90px;"></a></p>';
767 + $content .= '<p style="color:#B3B2B0">' . __("Documents récupérés de l'archive ouverte HAL", 'wp-hal') . '&nbsp;<a href="' . site . '" target="_blank"><img alt="logo" src=" ' . plugin_dir_url(__FILE__) . 'img/logo-hal.svg" style="width:32px;"></a></p>';
928 768 $content .= '</div>';
929 769
930 770 //--AFFICHAGE GRAPHIQUE DOMAINE--//
931 771 if (!is_null($facetdomain)) {
932 772 foreach ($facetdomain as $res) {
933 - $name = explode(wphal_delimiter, $res[0])[1];
773 + $name = explode(delimiter, $res[0])[1];
934 774 $value = $res[1];
935 775 $array[] = array($name, $value);
936 776 }
937 - wp_localize_script('wp-hal-script4', 'WPWallSettings', $array);
938 777 }
778 + wp_localize_script('wp-hal-script4', 'WPWallSettings', json_encode($array));
939 779 $translation = array('liste' => __('Liste', 'wp-hal'), 'compl' => __('Liste complète', 'wp-hal'), 'princ' => __('Liste principale', 'wp-hal'), 'graph' => __('Graphique', 'wp-hal'), 'nuage' => __('Nuage de mots', 'wp-hal'));
940 780 wp_localize_script('wp-hal-script4', 'translate', $translation);
941 781 }
942 - // tags other that those will be stripped
943 - $allowed_html_tags = array(
944 - 'div' => array(
945 - 'class' => array(),
946 - 'id' => array(),
947 - 'style' => array(),
948 - ),
949 - "span"=> array(
950 - 'class' => array(),
951 - 'id' => array(),
952 - 'style' => array(),
953 - ),
954 - "img"=> array(
955 - 'alt' => array(),
956 - 'src' => array(),
957 - 'style' => array(),
958 -
959 - ),
960 - 'p' => array(
961 - 'style' => array(),
962 - 'id' => array(),
963 - ),
964 - 'h3' => array(
965 - 'id' => array(),
966 - 'class' => array(),
967 - 'style' => array()
968 - ),
969 - 'a' => array(
970 - 'href' => array(),
971 - 'target' => array(),
972 - 'title' => array(),
973 - 'id' => array(),
974 - 'class' => array(),
975 - 'style' => array(),
976 - 'onclick' => array(),
977 - ),
978 - 'ul' => array(
979 - 'class' => array(),
980 - 'id' => array(),
981 - 'style' => array(),
982 - ),
983 - 'li' => array(
984 - 'class' => array(),
985 - 'id' => array(),
986 - 'data-percentage' => array()
987 - ),
988 - 'button' => array(
989 - 'class' => array(),
990 - 'id' => array(),
991 - 'type' => array(),
992 - 'style' => array(),
993 - 'onclick' => array()
994 - )
995 - ,'br' => array()
996 - ,'hr' => array()
997 - ,'i' => array(),
998 - );
999 - add_filter( 'safe_style_css', function( $styles ) {
1000 - $styles[] = 'display';
1001 - return $styles;
1002 - } );
1003 - return wp_kses($content, $allowed_html_tags);
782 + return $content;
1004 783 }
1005 784
1006 -/**
1007 - * build facet query based on the option choice
1008 - *
1009 - * @param array $option_choix
1010 - * @param array $structIDs to build prefixed facet
1011 - * @return array
1012 - */
1013 -function wphal_buildfacet($option_choix, $structIDs)
1014 -{
1015 - $facetQuery = [];
1016 - if (is_array($option_choix) && !empty($option_choix)) {
1017 - foreach ($option_choix as $option) {
1018 - if ($option == 'disciplines') {
1019 - $facetQuery[] = wphal_lang . '_domainAllCodeLabel_fs';
1020 - }
1021 - if ($option == 'mots-clefs') {
1022 - $facetQuery[] = 'keyword_s';
1023 - }
1024 - if ($option == 'auteurs') {
1025 - $facetQuery[] = 'authIdLastNameFirstName_fs';
1026 - }
1027 - if ($option == 'revues') {
1028 - $facetQuery[] = 'journalIdTitle_fs';
1029 - }
1030 - if ($option == 'annee') {
1031 - $facetQuery[] = 'producedDateY_i';
1032 - }
1033 - if ($option == 'institution') {
1034 - $facetQuery[] = 'instStructIdName_fs';
1035 - }
1036 - if ($option == 'laboratoire') {
1037 - $facetQuery[] = 'labStructIdName_fs';
1038 - }
1039 - if ($option == 'departement') {
1040 - $facetQuery[] = 'deptStructIdName_fs';
1041 - }
1042 - if ($option == 'equipe') {
1043 - $facetQuery[] = 'rteamStructIdName_fs';
1044 - }
1045 - if ($option == 'affiliated') {
1046 - $facetField = 'structHasAuthIdHalPersonid_s';
1047 - foreach($structIDs as $k => $structID){
1048 - $facetPrefix = $structID . wphal_delimiter;
1049 - $facetQuery[] = '&facet.field={!key=affiliated_' . $k . '+facet.prefix=' . urlencode($facetPrefix) . '}' . urlencode($facetField);
1050 - }
1051 - }
1052 - }
1053 - }
1054 - return $facetQuery;
1055 -}
1056 -
1057 -function wphal_verifSolr($values){
785 +function verifSolr($values){
1058 786 $verifsolr = explode(',',$values);
1059 787 $numverif = count($verifsolr);
1060 788 $solrsql = '';
1061 789 if ($numverif<1024){
@@ -1074,40 +802,17 @@
1074 802
1075 803 return $solrsql;
1076 804 }
1077 805
1078 -
1079 -/**
1080 - * parses the affiliation facet
1081 - *
1082 - * @return array
1083 - */
1084 -function wphal_parse_affiliation_facet($facet_fields, $structIDs)
1085 -{
1086 - $result=[];
1087 - foreach($structIDs as $k => $structID){
1088 - if(isset($facet_fields->{'affiliated_'.$k}) && !empty($facet_fields->{'affiliated_'.$k})){
1089 - foreach($facet_fields->{'affiliated_'.$k} as $r){
1090 - $t = explode(wphal_delimiter_join, $r[0]);
1091 - if (isset($result[$t[1]])){
1092 - $result[$t[1]] = $r[1];
1093 - }else {
1094 - $result[$t[1]] += $r[1];
1095 - }
1096 - }
1097 - }
1098 - }
1099 - return $result;
1100 -}
1101 -
1102 -function wphal_adding_style() {
806 +function wp_adding_style() {
1103 807 wp_register_style('wp-hal-style1', plugins_url('/css/style.css', __FILE__));
1104 808 wp_register_style('wp-hal-style2', plugins_url('/css/jquery.jqplot.css', __FILE__));
1105 809
1106 810 wp_enqueue_style('wp-hal-style1');
811 + wp_enqueue_style('wp-hal-style2');
1107 812 }
1108 813
1109 -function wphal_adding_script() {
814 +function wp_adding_script() {
1110 815 wp_register_script('wp-hal-script1',plugins_url('/js/jquery.jqplot.js', __FILE__));
1111 816 wp_register_script('wp-hal-script2',plugins_url('/js/jqplot.highlighter.js', __FILE__));
1112 817 wp_register_script('wp-hal-script3',plugins_url('/js/jqplot.pieRenderer.js', __FILE__));
1113 818 wp_register_script('wp-hal-script4',plugins_url('/js/cv-hal.js', __FILE__));
@@ -1113,8 +818,11 @@
1113 818 wp_register_script('wp-hal-script4',plugins_url('/js/cv-hal.js', __FILE__));
1114 819
1115 820
1116 821 wp_enqueue_script("jquery");
822 + wp_enqueue_script('wp-hal-script1');
823 + wp_enqueue_script('wp-hal-script2');
824 + wp_enqueue_script('wp-hal-script3');
1117 825 wp_enqueue_script('wp-hal-script4', false, array(), false, true);
1118 826 }
1119 827
1120 828 /**
@@ -1119,17 +827,17 @@
1119 827
1120 828 /**
1121 829 * Récupère les fichiers css et js
1122 830 */
1123 -if ( wphal_is_curl_installed() ) {
1124 - add_action('wp_enqueue_scripts', 'wphal_adding_style');
1125 - add_action('wp_enqueue_scripts', 'wphal_adding_script');
831 +if ( function_exists('curl_init' ) ) {
832 + add_action('wp_enqueue_scripts', 'wp_adding_style');
833 + add_action('wp_enqueue_scripts', 'wp_adding_script');
1126 834 }
1127 835
1128 836 /**
1129 837 * Charge lorsque le plugin est désactivé
1130 838 */
1131 -register_deactivation_hook( __FILE__, 'wphal_reset_option' );
839 +register_deactivation_hook( __FILE__, 'reset_option' );
1132 840
1133 841 /**
1134 842 * Ajoute le widget wphal à l'initialisation des widgets
1135 843 */
@@ -1145,9 +853,9 @@
1145 853 */
1146 854 function wphal_menu() {
1147 855 add_menu_page( 'Options', 'Hal', 'manage_options', 'wp-hal.php', 'wphal_option' , '', 21);
1148 856
1149 - add_action( 'admin_init', 'wphal_register_settings' );
857 + add_action( 'admin_init', 'register_settings' );
1150 858 }
1151 859
1152 860
1153 861 /**
@@ -1165,12 +873,14 @@
1165 873 * Classe du widget wphal
1166 874 */
1167 875
1168 876 class wphal_widget extends WP_widget{
877 +
878 +
1169 879 /**
1170 880 * Défini les propriétés du widget
1171 881 */
1172 - function __construct(){
882 + function wphal_widget(){
1173 883 $options = array(
1174 884 "classname" => "wphal-publications",
1175 885 "description" => __("Afficher les dernières publications d'un auteur ou d'une structure.", 'wp-hal')
1176 886 );
@@ -1176,9 +886,9 @@
1176 886 );
1177 887
1178 888 parent::__construct(
1179 889 'hal-publications',
1180 - __("Publications HAL", 'wp-hal'),
890 + __("Publications récentes", 'wp-hal'),
1181 891 $options
1182 892 );
1183 893 }
1184 894
@@ -1187,72 +897,51 @@
1187 897 * @param $args
1188 898 * @param $instance
1189 899 */
1190 900 function widget($args, $instance){
1191 - if(isset($instance['idhal']) && !empty($instance['idhal'])) {
1192 - $content = '';
901 + if ( !function_exists('curl_init' ) ) {
902 + $content = 'Please check the <a href="https://wordpress.org/plugins/hal/faq/" target="_blank" id="FAQ">FAQ</a> with the code : CURL';
1193 903 extract($args);
1194 - /**
1195 - * @var $before_widget : defined by extract
1196 - * @var $before_title : defined by extract
1197 - * @var $after_title : defined by extract
1198 - * @var $after_widget : defined by extract
1199 - */
1200 - if (!wphal_is_curl_installed()) {
1201 - $content = 'Please check the <a href="https://wordpress.org/plugins/hal/faq/" target="_blank" id="FAQ">FAQ</a> with the code : CURL';
904 + echo $before_widget;
905 + echo $before_title . $instance['titre'] . $after_title;
906 + echo $content;
907 + echo $after_widget;
908 + } else {
909 + $instance['idhal'] = verifSolr($instance['idhal']);
1202 910
1203 - } else {
1204 - $instance['idhal'] = wphal_verifSolr($instance['idhal']);
1205 - $fieldName = $instance['typetext'] == 'title_s' ? 'title_s':'citationFull_s';
911 + $url = api . '?q=*:*&fq=' . $instance['select'] . ':' . urlencode($instance['idhal']) . '&fl=uri_s,'. $instance['typetext'] .'&sort=' . producedDateY . '&rows=' . $instance['nbdoc'] . '&wt=json';
1206 912
1207 - $url = wphal_api . '?q=*:*&fq=' . $instance['select'] . ':' . urlencode($instance['idhal']) . '&fl=uri_s,' . $fieldName . '&sort=' . wphal_producedDateY . '&rows=' . $instance['nbdoc'] . '&wt=json';
1208 - $json = wphal_do_get_data($url);
913 + $ch = curl_init($url);
914 + // Options
915 + $options = array(
916 + CURLOPT_RETURNTRANSFER => true,
917 + CURLOPT_HTTPHEADER => array('Content-type: application/json'),
918 + CURLOPT_TIMEOUT => 10,
919 + CURLOPT_USERAGENT => "HAL Plugin Wordpress " . version
920 + );
1209 921
1210 - $count_results = count($json->response->docs);
1211 - if ($count_results > 0) {
1212 - $content = '<ul class="widhal-ul">';
1213 - for ($i = 0; $i < $count_results - 1; $i++) {
1214 - if ($fieldName == 'title_s') {
1215 - $typetext = $json->response->docs[$i]->title_s[0];
1216 - } else {
1217 - $typetext = $json->response->docs[$i]->citationFull_s;
1218 - }
1219 - $content .= '<li class="widhal-li"><a href="' . esc_url($json->response->docs[$i]->uri_s) . '" target="_blank">' . $typetext . '</a></li>';
1220 - }
1221 - $content .= '</ul>';
922 + // Bind des options et de l'objet cURL que l'on va utiliser
923 + curl_setopt_array($ch, $options);
924 + // Récupération du résultat JSON
925 + $json = json_decode(curl_exec($ch));
926 + curl_close($ch);
927 +
928 + $content = '<ul class="widhal-ul">';
929 + for ($i = 0; $i < $instance['nbdoc']; $i++) {
930 + if ($instance['typetext']=='citationRef_s') {
931 + $typetext = $json->response->docs[$i]->citationRef_s;
1222 932 } else {
1223 - $content = '<div> no results !</div>';
933 + $typetext = $json->response->docs[$i]->title_s[0];
1224 934 }
935 + $content .= '<li class="widhal-li"><a href="' . $json->response->docs[$i]->uri_s . '" target="_blank">' . $typetext . '</a></li>';
1225 936 }
1226 - // tags other that those will be stripped
1227 - $allowed_html_tags = array(
1228 - 'div' => array(
1229 - 'class' => array(),
1230 - 'id' => array(),
1231 - ),
1232 - 'h2' => array(),
1233 - 'section' => array(),
1234 - 'a' => array(
1235 - 'href' => array(),
1236 - 'target' => array(),
1237 - 'title' => array(),
1238 - 'id' => array(),
1239 - 'class' => array(),
1240 - ),
1241 - 'ul' => array(
1242 - 'class' => array(),
1243 - 'id' => array(),
1244 - ),
1245 - 'li' => array(
1246 - 'class' => array(),
1247 - 'id' => array(),
1248 - )
1249 - );
1250 - $widget_block = $before_widget;
1251 - $widget_block .= $before_title . $instance['titre'] . $after_title;
1252 - $widget_block .= $content;
1253 - $widget_block .= $after_widget;
1254 - echo wp_kses($widget_block, $allowed_html_tags);
937 + $content .= '</ul>';
938 +
939 + extract($args);
940 + echo $before_widget;
941 + echo $before_title . $instance['titre'] . $after_title;
942 + echo $content;
943 + echo $after_widget;
1255 944 }
1256 945 }
1257 946
1258 947 /**
@@ -1260,15 +949,9 @@
1260 949 * @param $new
1261 950 * @param $old
1262 951 */
1263 952 function update($new, $old){
1264 - //the id must be provided
1265 - if(isset($new['idhal']) && !empty($new['idhal'])) {
1266 - $new['idhal'] = wphal_sanitize_username($new['idhal']);
1267 - $new['nbdoc'] = wphal_sanitize_id($new['nbdoc']);
1268 - return $new;
1269 - }else
1270 - return false;
953 + return $new;
1271 954 }
1272 955
1273 956 /**
1274 957 * Formulaire du widget
@@ -1276,44 +959,43 @@
1276 959 */
1277 960 function form($instance){
1278 961
1279 962 $defaut = array(
1280 - 'titre' => __("Publications Hal", 'wp-hal'),
963 + 'titre' => __("Publications récentes", 'wp-hal'),
1281 964 'select' => "authIdHal_s",
1282 965 'typetext' => "title_s",
1283 - 'idhal' => "",
1284 966 'nbdoc' => 5
1285 967 );
1286 968 $instance = wp_parse_args($instance,$defaut);
1287 969 ?>
1288 970 <p>
1289 - <label for="<?php echo esc_attr($this->get_field_id("titre"));?>"><?php echo esc_html(__('Titre','wp-hal')) .' :'?></label>
1290 - <input value="<?php echo esc_js($instance['titre']);?>" name="<?php echo esc_attr($this->get_field_name("titre"));?>" id="<?php echo esc_attr($this->get_field_id("titre"));?>" class="widefat" type="text"/>
971 + <label for="<?php echo $this->get_field_id("titre");?>"><?php echo __('Titre','wp-hal') .' :'?></label>
972 + <input value="<?php echo $instance['titre'];?>" name="<?php echo $this->get_field_name("titre");?>" id="<?php echo $this->get_field_id("titre");?>" class="widefat" type="text"/>
1291 973 </p>
1292 974 <p>
1293 - <label for="<?php echo esc_attr($this->get_field_id("nbdoc"));?>"><?php echo esc_html(__("Nombre de documents affichés",'wp-hal')) .' :'?></label>
1294 - <input class="tiny-text" id="<?php echo esc_attr($this->get_field_id("nbdoc"));?>" name="<?php echo esc_attr($this->get_field_name("nbdoc"));?>" type="number" step="1" min="1" max="10" value="<?php echo esc_js($instance['nbdoc']);?>" size="3">
975 + <label for="<?php echo $this->get_field_id("nbdoc");?>"><?php echo __("Nombre de documents affichés",'wp-hal') .' :'?></label>
976 + <input class="tiny-text" id="<?php echo $this->get_field_id("nbdoc");?>" name="<?php echo $this->get_field_name("nbdoc");?>" type="number" step="1" min="1" max="10" value="<?php echo $instance['nbdoc'];?>" size="3">
1295 977 </p>
1296 978 <p>
1297 - <label for="<?php echo esc_attr($this->get_field_id("typetext"));?>"><?php echo esc_html(__("Type d'affichage",'wp-hal')) .' :'?></label>
1298 - <select id="<?php echo esc_attr($this->get_field_id("typetext"));?>" name="<?php echo esc_attr($this->get_field_name("typetext"));?>">
1299 - <option id="<?php echo esc_attr($this->get_field_id("Title"));?>" value="title_s" <?php echo esc_attr(($instance["typetext"] == "title_s")?'selected':''); ?>><label for="<?php echo wp_kses($this->get_field_id("Title"), []);?>"><?php echo esc_html(__("Titre", 'wp-hal'))?></label></option>
1300 - <option id="<?php echo esc_attr($this->get_field_id("Citation"));?>" value="citationFull_s" <?php echo esc_attr(($instance["typetext"] == "citationFull_s")?'selected':''); ?>><label for="<?php echo esc_attr($this->get_field_id("Citation"));?>"><?php echo esc_html(__("Citation", 'wp-hal'), [])?></label></option>
979 + <label for="<?php echo $this->get_field_id("typetext");?>"><?php echo __("Type d'affichage",'wp-hal') .' :'?></label>
980 + <select id="<?php echo $this->get_field_id("typetext");?>" name="<?php echo $this->get_field_name("typetext");?>">
981 + <option id="<?php echo $this->get_field_id("Title");?>" value="title_s" <?php echo ($instance["typetext"] == "title_s")?'selected':''; ?>><label for="<?php echo $this->get_field_id("Title");?>"><?php echo __("Titre", 'wp-hal')?></label></option>
982 + <option id="<?php echo $this->get_field_id("Citation");?>" value="citationRef_s" <?php echo ($instance["typetext"] == "citationRef_s")?'selected':''; ?>><label for="<?php echo $this->get_field_id("Citation");?>"><?php echo __("Citation", 'wp-hal')?></label></option>
1301 983 </select>
1302 984 </p>
1303 985 <p>
1304 - <label for="<?php echo esc_attr($this->get_field_id("select"));?>"><?php echo esc_html(__("Type d'Id",'wp-hal') .' :')?></label>
1305 - <select id="<?php echo esc_attr($this->get_field_id("select"));?>" name="<?php echo esc_attr($this->get_field_name("select"));?>">
1306 - <option id="<?php echo esc_attr($this->get_field_id("Idhal"));?>" value="authIdHal_s" <?php echo esc_attr(($instance["select"] == "authIdHal_s")?'selected':''); ?>><label for="<?php echo esc_attr($this->get_field_id("Idhal"));?>">Id Hal</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : laurent-capelli)','wp-hal'));?></span></option>
1307 - <option id="<?php echo esc_attr($this->get_field_id("StructId"));?>" value="structId_i" <?php echo esc_attr(($instance["select"] == "structId_i")?'selected':''); ?>><label for="<?php echo esc_attr($this->get_field_id("StructId"));?>">Struct Id</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : 413106)','wp-hal'));?></span></option>
1308 - <option id="<?php echo esc_attr($this->get_field_id("Anrproject"));?>" value="anrProjectId_i" <?php echo esc_attr(($instance["select"] == "anrProjectId_i")?'selected':''); ?>><label for="<?php echo esc_attr($this->get_field_id("Anrproject"));?>">anrProject Id</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : 1646)','wp-hal'));?></span></option>
1309 - <option id="<?php echo esc_attr($this->get_field_id("Europeanproject"));?>" value="europeanProjectId_i" <?php echo esc_attr(($instance["select"] == "europeanProjectId_i")?'selected':''); ?>><label for="<?php echo esc_attr($this->get_field_id("Europeanproject"));?>">europeanProject Id</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : 17877)','wp-hal'));?></span></option>
1310 - <option id="<?php echo esc_attr($this->get_field_id("Collection"));?>" value="collCode_s" <?php echo esc_attr(($instance["select"] == "collCode_s")?'selected':''); ?>><label for="<?php echo esc_attr($this->get_field_id("Collection"));?>">Collection</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : TICE2014)','wp-hal'));?></span></option>
986 + <label for="<?php echo $this->get_field_id("select");?>"><?php echo __("Type d'Id",'wp-hal') .' :'?></label>
987 + <select id="<?php echo $this->get_field_id("select");?>" name="<?php echo $this->get_field_name("select");?>">
988 + <option id="<?php echo $this->get_field_id("Idhal");?>" value="authIdHal_s" <?php echo ($instance["select"] == "authIdHal_s")?'selected':''; ?>><label for="<?php echo $this->get_field_id("Idhal");?>">Id Hal</label><span style="font-style: italic;"> <?php echo __('(Exemple : laurent-capelli)','wp-hal');?></span></option>
989 + <option id="<?php echo $this->get_field_id("Structid");?>" value="authStructId_i" <?php echo ($instance["select"] == "authStructId_i")?'selected':''; ?>><label for="<?php echo $this->get_field_id("Structid");?>">Struct Id</label><span style="font-style: italic;"> <?php echo __('(Exemple : 129)','wp-hal');?></span></option>
990 + <option id="<?php echo $this->get_field_id("Anrproject");?>" value="anrProjectId_i" <?php echo ($instance["select"] == "anrProjectId_i")?'selected':''; ?>><label for="<?php echo $this->get_field_id("Anrproject");?>">anrProject Id</label><span style="font-style: italic;"> <?php echo __('(Exemple : 1646)','wp-hal');?></span></option>
991 + <option id="<?php echo $this->get_field_id("Europeanproject");?>" value="europeanProjectId_i" <?php echo ($instance["select"] == "europeanProjectId_i")?'selected':''; ?>><label for="<?php echo $this->get_field_id("Europeanproject");?>">europeanProject Id</label><span style="font-style: italic;"> <?php echo __('(Exemple : 17877)','wp-hal');?></span></option>
992 + <option id="<?php echo $this->get_field_id("Collection");?>" value="collCode_s" <?php echo ($instance["select"] == "collCode_s")?'selected':''; ?>><label for="<?php echo $this->get_field_id("Collection");?>">Collection</label><span style="font-style: italic;"> <?php echo __('(Exemple : TICE2014)','wp-hal');?></span></option>
1311 993 </select>
1312 994 </p>
1313 995 <p>
1314 - <label for="<?php echo esc_attr($this->get_field_id("idhal"));?>"><?php echo esc_html(__("Id",'wp-hal')) .' :'?></label>
1315 - <input value="<?php echo esc_js($instance['idhal']);?>" name="<?php echo esc_attr($this->get_field_name("idhal"));?>" id="<?php echo esc_attr($this->get_field_id("idhal"));?>" type="text"/>
996 + <label for="<?php echo $this->get_field_id("idhal");?>"><?php echo __("Id",'wp-hal') .' :'?></label>
997 + <input value="<?php echo $instance['idhal'];?>" name="<?php echo $this->get_field_name("idhal");?>" id="<?php echo $this->get_field_id("idhal");?>" type="text"/>
1316 998 </p>
1317 999 <?php
1318 1000 }
1319 1001 }
@@ -1318,79 +1000,21 @@
1318 1000 }
1319 1001 }
1320 1002
1321 1003
1322 -function wphal_sanitize_id( $input ){
1323 - if(is_numeric($input)){
1324 - return $input;
1325 - }
1326 -}
1327 -
1328 -function wphal_sanitize_username($input)
1329 -{
1330 - $allowed = array(".", "-", "_"); // you can add here more value, you want to allow.
1331 - if(ctype_alnum(str_replace($allowed, '', $input ))) {
1332 - return $input;
1333 - }
1334 -}
1335 -
1336 -function wphal_sanitize_phone( $input ){
1337 - $phone_num = $input;
1338 - $phone_num = preg_replace('/[^0-9]/', '', $phone_num);
1339 - if(strlen($phone_num) === 10) {
1340 - //Phone is 10 characters in length
1341 - return $input;
1342 - }
1343 -}
1344 -
1345 -
1346 -function wphal_register_settings() {
1004 +function register_settings() {
1347 1005 register_setting( 'wphal_option', 'option_choix' );
1348 1006 register_setting( 'wphal_option', 'option_type' );
1349 1007 register_setting( 'wphal_option', 'option_groupe' );
1350 - register_setting( 'wphal_option', 'option_idhal' , array(
1351 - 'type' => 'string',
1352 - 'sanitize_callback' => 'wphal_sanitize_username',
1353 - 'default' => NULL,
1354 - ));
1008 + register_setting( 'wphal_option', 'option_idhal' );
1355 1009 register_setting( 'wphal_option', 'option_lang' );
1356 1010 register_setting( 'wphal_option', 'option_infocontact' );
1357 - register_setting( 'wphal_option', 'option_email' , array(
1358 - 'type' => 'string',
1359 - 'sanitize_callback' => 'sanitize_email',
1360 - 'default' => NULL,
1361 - ));
1362 - register_setting( 'wphal_option', 'option_tel' , array(
1363 - 'type' => 'string',
1364 - 'sanitize_callback' => 'wphal_sanitize_phone',
1365 - 'default' => NULL,
1366 - ));
1367 - register_setting( 'wphal_option', 'option_social0' , array(
1368 - 'type' => 'string',
1369 - 'sanitize_callback' => 'wphal_sanitize_username',
1370 - 'default' => NULL,
1371 - ));
1372 - register_setting( 'wphal_option', 'option_social1' , array(
1373 - 'type' => 'string',
1374 - 'sanitize_callback' => 'wphal_sanitize_username',
1375 - 'default' => NULL,
1376 - ));
1377 - register_setting( 'wphal_option', 'option_social2' , array(
1378 - 'type' => 'string',
1379 - 'sanitize_callback' => 'wphal_sanitize_username',
1380 - 'default' => NULL,
1381 - ));
1382 - register_setting( 'wphal_option', 'option_social3' , array(
1383 - 'type' => 'string',
1384 - 'sanitize_callback' => 'wphal_sanitize_username',
1385 - 'default' => NULL,
1386 - ));
1387 - register_setting( 'wphal_option', 'option_cache_timeout' , array(
1388 - 'type' => 'string',
1389 - 'sanitize_callback' => 'wphal_sanitize_id',
1390 - 'default' => NULL,
1391 - ));
1392 - register_setting( 'wphal_option', 'option_erase_cache' );
1011 + register_setting( 'wphal_option', 'option_email' );
1012 + register_setting( 'wphal_option', 'option_tel' );
1013 + register_setting( 'wphal_option', 'option_social0' );
1014 + register_setting( 'wphal_option', 'option_social1' );
1015 + register_setting( 'wphal_option', 'option_social2' );
1016 + register_setting( 'wphal_option', 'option_social3' );
1393 1017 }
1394 1018
1395 1019 /**
1396 1020 * Crée le menu d'option du plugin
@@ -1404,9 +1028,9 @@
1404 1028 update_option('option_groupe', 'paginer');
1405 1029 }
1406 1030 ?>
1407 1031 <div class="wrap">
1408 - <h2><?php echo esc_html(__('Plugin HAL','wp-hal'));?></h2>
1032 + <h2><?php echo __('Plugin HAL','wp-hal');?></h2>
1409 1033 <form method="post" enctype="multipart/form-data" action="options.php">
1410 1034 <div id="poststuff">
1411 1035 <div id="post-body" class="metabox-holder columns-2">
1412 1036 <div id="post-body-content">
@@ -1412,86 +1036,75 @@
1412 1036 <div id="post-body-content">
1413 1037 <?php settings_fields( 'wphal_option' ); ?>
1414 1038 <?php do_settings_sections( 'wphal_option' ); ?>
1415 1039 <table class="form-table">
1416 - <tr style="vertical-align:top;">
1417 - <th scope="row" style="font-size: 18px;"><?php echo esc_html(__('Paramètre de la page :','wp-hal'));?></th>
1040 + <tr valign="top">
1041 + <th scope="row" style="font-size: 18px;"><?php echo __('Paramètre de la page :','wp-hal');?></th>
1418 1042 </tr>
1419 - <tr style="vertical-align:top;">
1420 - <th scope="row"><label for="option_type"><?php echo esc_html(__('Type d\'Id','wp-hal'));?></label></th>
1043 + <tr valign="top">
1044 + <th scope="row"><?php echo __('Type d\'Id','wp-hal');?></th>
1421 1045 <td><select name="option_type">
1422 - <option id="Idhal" value="authIdHal_s" <?php echo esc_attr(((get_option('option_type') == "authIdHal_s")?'selected':'')); ?>><label for="Idhal">Id Hal</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : laurent-capelli)','wp-hal'));?></span></option>
1423 - <option id="StructId" value="structId_i" <?php echo esc_attr(((get_option('option_type') == "structId_i")?'selected':'')); ?>><label for="StructId">Struct Id</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : 413106)','wp-hal'));?></span></option>
1424 - <option id="Anrproject" value="anrProjectId_i" <?php echo esc_attr(((get_option('option_type') == "anrProjectId_i")?'selected':'')); ?>><label for="Anrproject">anrProject Id</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : 1646)','wp-hal'));?></span></option>
1425 - <option id="Europeanproject" value="europeanProjectId_i" <?php echo esc_attr(((get_option('option_type') == "europeanProjectId_i")?'selected':'')); ?>><label for="Europeanproject">europeanProject Id</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : 17877)','wp-hal'));?></span></option>
1426 - <option id="Collection" value="collCode_s" <?php echo esc_attr(((get_option('option_type') == "collCode_s")?'selected':'')); ?>><label for="Collection">Collection</label><span style="font-style: italic;"> <?php echo esc_html(__('(Exemple : TICE2014)','wp-hal'));?></span></option>
1046 + <option id="Idhal" value="authIdHal_s" <?php echo (get_option('option_type') == "authIdHal_s")?'selected':''; ?>><label for="Idhal">Id Hal</label><span style="font-style: italic;"> <?php echo __('(Exemple : laurent-capelli)','wp-hal');?></span></option>
1047 + <option id="Structid" value="authStructId_i" <?php echo (get_option('option_type') == "authStructId_i")?'selected':''; ?>><label for="Structid">Struct Id</label><span style="font-style: italic;"> <?php echo __('(Exemple : 129)','wp-hal');?></span></option>
1048 + <option id="Anrproject" value="anrProjectId_i" <?php echo (get_option('option_type') == "anrProjectId_i")?'selected':''; ?>><label for="Anrproject">anrProject Id</label><span style="font-style: italic;"> <?php echo __('(Exemple : 1646)','wp-hal');?></span></option>
1049 + <option id="Europeanproject" value="europeanProjectId_i" <?php echo (get_option('option_type') == "europeanProjectId_i")?'selected':''; ?>><label for="Europeanproject">europeanProject Id</label><span style="font-style: italic;"> <?php echo __('(Exemple : 17877)','wp-hal');?></span></option>
1050 + <option id="Collection" value="collCode_s" <?php echo (get_option('option_type') == "collCode_s")?'selected':''; ?>><label for="Collection">Collection</label><span style="font-style: italic;"> <?php echo __('(Exemple : TICE2014)','wp-hal');?></span></option>
1427 1051 </select>
1428 - <input type="text" name="option_idhal" id="option_idhal" value="<?php echo esc_js(get_option('option_idhal')); ?>"/>
1052 + <input type="text" name="option_idhal" id="option_idhal" value="<?php echo get_option('option_idhal'); ?>"/>
1429 1053 </td>
1430 1054 </tr>
1431 - <tr style="vertical-align:top;">
1432 - <th scope="row"><?php echo esc_html(__('Affichage des documents','wp-hal'));?></th>
1433 - <td><input type="radio" name="option_groupe" id="paginer" value="paginer" <?php echo esc_attr((get_option('option_groupe') == "paginer")?'checked':''); ?>><label for="paginer"><?php echo esc_html(__('Documents avec pagination','wp-hal'));?></label><br>
1434 - <input type="radio" name="option_groupe" id="grouper" value="grouper" <?php echo esc_js((get_option('option_groupe') == "grouper")?'checked':''); ?>><label for="grouper"><?php echo esc_html(__('Documents groupés par type','wp-hal'));?></label><br>
1055 + <tr valign="top">
1056 + <th scope="row"><?php echo __('Affichage des documents','wp-hal');?></th>
1057 + <td><input type="radio" name="option_groupe" id="paginer" value="paginer" <?php echo (get_option('option_groupe') == "paginer")?'checked':''; ?>><label for="paginer"><?php echo __('Documents avec pagination','wp-hal');?></label><br>
1058 + <input type="radio" name="option_groupe" id="grouper" value="grouper" <?php echo (get_option('option_groupe') == "grouper")?'checked':''; ?>><label for="grouper"><?php echo __('Documents groupés par type','wp-hal');?></label><br>
1435 1059 </td>
1436 1060 </tr>
1437 - <tr style="vertical-align:top;">
1438 - <th scope="row"><?php echo esc_html(__('Choix des éléments menu(facette)','wp-hal'));?></th>
1439 - <?php $option_choix = get_option('option_choix'); ?>
1440 - <td><input type="checkbox" name="option_choix[1]" id="Contact" value="contact" <?php echo esc_attr((isset($option_choix[1]) && $option_choix[1] == "contact")?'checked':''); ?>><label for="Contact"><?php echo esc_html(__('Contact','wp-hal'));?></label><br/>
1441 - <input type="checkbox" name="option_choix[2]" id="Disciplines" value="disciplines" <?php echo esc_attr((isset($option_choix[2]) && $option_choix[2] == "disciplines")?'checked':''); ?>><label for="Disciplines"><?php echo esc_html(__('Disciplines','wp-hal'));?></label><br/>
1442 - <input type="checkbox" name="option_choix[3]" id="Mots-clefs" value="mots-clefs" <?php echo esc_attr((isset($option_choix[3]) && $option_choix[3] == "mots-clefs")?'checked':''); ?>><label for="Mots-clefs"><?php echo esc_html(__('Mots-clefs','wp-hal'));?></label><br/>
1443 - <input type="checkbox" name="option_choix[4]" id="Auteurs" value="auteurs" <?php echo esc_attr((isset($option_choix[4]) && $option_choix[4] == "auteurs")?'checked':''); ?>><label for="Auteurs"><?php echo esc_html(__('Auteurs','wp-hal'));?></label><br/>
1444 - <input type="checkbox" name="option_choix[5]" id="Affiliated" value="affiliated" <?php echo esc_attr((isset($option_choix[5]) && $option_choix[5] == "affiliated")?'checked':''); ?>><label for="Affiliated"><?php echo esc_html(__('Auteurs de la structure','wp-hal'));?></label><br/>
1445 - <input type="checkbox" name="option_choix[6]" id="Revues" value="revues" <?php echo esc_attr((isset($option_choix[6]) && $option_choix[6] == "revues")?'checked':''); ?>><label for="Revues"><?php echo esc_html(__('Revues','wp-hal'));?></label><br/>
1446 - <input type="checkbox" name="option_choix[7]" id="Annee" value="annee" <?php echo esc_attr((isset($option_choix[7]) && $option_choix[7] == "annee")?'checked':''); ?>><label for="Annee"><?php echo esc_html(__('Année de production','wp-hal'));?></label><br/>
1447 - <input type="checkbox" name="option_choix[8]" id="Institution" value="institution" <?php echo esc_attr((isset($option_choix[8]) && $option_choix[8] == "institution")?'checked':''); ?>><label for="Institution"><?php echo esc_html(__('Institutions','wp-hal'));?></label><br/>
1448 - <input type="checkbox" name="option_choix[9]" id="Laboratoire" value="laboratoire" <?php echo esc_attr((isset($option_choix[9]) && $option_choix[9] == "laboratoire")?'checked':''); ?>><label for="Laboratoire"><?php echo esc_html(__('Laboratoires','wp-hal'));?></label><br/>
1449 - <input type="checkbox" name="option_choix[10]" id="Departement" value="departement" <?php echo esc_attr((isset($option_choix[10]) && $option_choix[10] == "departement")?'checked':''); ?>><label for="Departement"><?php echo esc_html(__('Départements','wp-hal'));?></label><br/>
1450 - <input type="checkbox" name="option_choix[11]" id="Equipe" value="equipe" <?php echo esc_attr((isset($option_choix[11]) && $option_choix[11] == "equipe")?'checked':''); ?>><label for="Equipe"><?php echo esc_html(__('Équipes de recherche','wp-hal'));?></label>
1061 + <tr valign="top">
1062 + <th scope="row"><?php echo __('Choix des éléments menu','wp-hal');?></th>
1063 + <td><input type="checkbox" name="option_choix[1]" id="Contact" value="contact" <?php echo (get_option('option_choix')[1] == "contact")?'checked':''; ?>><label for="Contact"><?php echo __('Contact','wp-hal');?></label><br/>
1064 + <input type="checkbox" name="option_choix[2]" id="Disciplines" value="disciplines" <?php echo (get_option('option_choix')[2] == "disciplines")?'checked':''; ?>><label for="Disciplines"><?php echo __('Disciplines','wp-hal');?></label><br/>
1065 + <input type="checkbox" name="option_choix[3]" id="Mots-clefs" value="mots-clefs" <?php echo (get_option('option_choix')[3] == "mots-clefs")?'checked':''; ?>><label for="Mots-clefs"><?php echo __('Mots-clefs','wp-hal');?></label><br/>
1066 + <input type="checkbox" name="option_choix[4]" id="Auteurs" value="auteurs" <?php echo (get_option('option_choix')[4] == "auteurs")?'checked':''; ?>><label for="Auteurs"><?php echo __('Auteurs','wp-hal');?></label><br/>
1067 + <input type="checkbox" name="option_choix[5]" id="Revues" value="revues" <?php echo (get_option('option_choix')[5] == "revues")?'checked':''; ?>><label for="Revues"><?php echo __('Revues','wp-hal');?></label><br/>
1068 + <input type="checkbox" name="option_choix[6]" id="Annee" value="annee" <?php echo (get_option('option_choix')[6] == "annee")?'checked':''; ?>><label for="Annee"><?php echo __('Année de production','wp-hal');?></label><br/>
1069 + <input type="checkbox" name="option_choix[7]" id="Institution" value="institution" <?php echo (get_option('option_choix')[7] == "institution")?'checked':''; ?>><label for="Institution"><?php echo __('Institutions','wp-hal');?></label><br/>
1070 + <input type="checkbox" name="option_choix[8]" id="Laboratoire" value="laboratoire" <?php echo (get_option('option_choix')[8] == "laboratoire")?'checked':''; ?>><label for="Laboratoire"><?php echo __('Laboratoires','wp-hal');?></label><br/>
1071 + <input type="checkbox" name="option_choix[9]" id="Departement" value="departement" <?php echo (get_option('option_choix')[9] == "departement")?'checked':''; ?>><label for="Departement"><?php echo __('Départements','wp-hal');?></label><br/>
1072 + <input type="checkbox" name="option_choix[10]" id="Equipe" value="equipe" <?php echo (get_option('option_choix')[10] == "equipe")?'checked':''; ?>><label for="Equipe"><?php echo __('Équipes de recherche','wp-hal');?></label>
1451 1073 </td>
1452 1074 </tr>
1453 - <tr style="vertical-align:top;">
1454 - <th scope="row" style="font-size: 18px;"><?php echo esc_html(__('Contact :','wp-hal'));?></th>
1075 + <tr valign="top">
1076 + <th scope="row" style="font-size: 18px;"><?php echo __('Contact :','wp-hal');?></th>
1455 1077 </tr>
1456 1078 <tr>
1457 - <th scope="row"><?php echo esc_html(__("Afficher les informations d'un chercheur ayant un IdHal ?",'wp-hal'));?></th>
1458 - <td><input type="radio" name="option_infocontact" id="wphal-yes" value="yes" <?php echo esc_attr((get_option('option_infocontact') == "yes")?'checked':''); ?>><label for="wphal-yes"><?php echo esc_html(__("Oui",'wp-hal'))?></label><br>
1459 - <input type="radio" name="option_infocontact" id="wphal-no" value="no" <?php echo esc_attr((get_option('option_infocontact') == "no")?'checked':''); ?>><label for="wphal-no"><?php echo esc_html(__("Non",'wp-hal'))?></label><br>
1079 + <th scope="row"><?php echo __("Afficher les informations d'un chercheur ayant un IdHal ?",'wp-hal');?></th>
1080 + <td><input type="radio" name="option_infocontact" id="wphal-yes" value="yes" <?php echo (get_option('option_infocontact') == "yes")?'checked':''; ?>><label for="wphal-yes"><?php echo __("Oui",'wp-hal')?></label><br>
1081 + <input type="radio" name="option_infocontact" id="wphal-no" value="no" <?php echo (get_option('option_infocontact') == "no")?'checked':''; ?>><label for="wphal-no"><?php echo __("Non",'wp-hal')?></label><br>
1460 1082 </td>
1461 - </tr>
1462 1083 <tr>
1463 - <th scope="row"><label for="option_cache_timeout"><?php echo esc_html(__('Expiration cache (minutes)','wp-hal'));?></label></th>
1464 - <td><input type="number" min="1440" style="width:300px;" placeholder="Default(1 day) : 1440" name="option_cache_timeout" id="option_cache_timeout" value="<?php echo esc_js(get_option('option_cache_timeout')); ?>"/><img alt="cache" src="<?php echo esc_url(plugin_dir_url( __FILE__ ).'img/clock.svg'); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1084 + <th scope="row"><?php echo __('Email','wp-hal');?></th>
1085 + <td><input type="text" style="width:300px;" placeholder="Exemple : hi@mail.com" name="option_email" id="option_email" value="<?php echo get_option('option_email'); ?>"/><img alt="email" src="<?php echo plugin_dir_url( __FILE__ ) ?>img/mail.svg" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1465 1086 </tr>
1466 1087 <tr>
1467 - <th scope="row"><label for="option_erase_cache"><?php echo esc_html(__('Reinitialiser le cache','wp-hal'));?></label></th>
1468 - <td><input type="checkbox" name="option_erase_cache" id="option_erase_cache" value="1"/><img alt="option_erase_cache" src="<?php echo esc_url(plugin_dir_url( __FILE__ )."img/groom.svg"); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1088 + <th scope="row"><?php echo __('Téléphone','wp-hal');?></th>
1089 + <td><input type="text" style="width:300px;" placeholder="Exemple : 06-01-02-03-04" name="option_tel" id="option_tel" value="<?php echo get_option('option_tel');?>"/><img alt="phone" src="<?php echo plugin_dir_url( __FILE__ ) ?>img/phone.svg" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1469 1090 </tr>
1470 1091 <tr>
1471 - <th scope="row"><label for="option_email"><?php echo esc_html(__('Email','wp-hal'));?></label></th>
1472 - <td><input type="text" style="width:300px;" placeholder="Exemple : hi@mail.com" name="option_email" id="option_email" value="<?php echo esc_js(get_option('option_email')); ?>"/><img alt="email" src="<?php echo esc_url(plugin_dir_url( __FILE__ )."img/mail.svg"); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1092 + <th>Facebook (http://www.facebook.com/)</th>
1093 + <td><input type="text" style="width:300px;" placeholder="Exemple : fa.book" name="option_social0" id="option_social0" value="<?php echo get_option('option_social0'); ?>"/><img alt="facebook" src="<?php echo plugin_dir_url( __FILE__ ) ?>img/facebook.svg" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1473 1094 </tr>
1474 1095 <tr>
1475 - <th scope="row"><label for="option_tel"><?php echo esc_html(__('Téléphone','wp-hal'));?></label></th>
1476 - <td><input type="text" style="width:300px;" placeholder="Exemple : 06-01-02-03-04" name="option_tel" id="option_tel" value="<?php echo esc_js(get_option('option_tel'));?>"/><img alt="phone" src="<?php echo esc_url(plugin_dir_url( __FILE__ )."img/phone.svg"); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1096 + <th>Twitter (http://www.twitter.com/)</th>
1097 + <td><input type="text" style="width:300px;" placeholder="Exemple : tweet_heure" name="option_social1" id="option_social1" value="<?php echo get_option('option_social1'); ?>"/><img alt="twitter" src="<?php echo plugin_dir_url( __FILE__ ) ?>img/twitter.svg" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1477 1098 </tr>
1478 1099 <tr>
1479 - <th><label for="option_social0">Facebook (http://www.facebook.com/)</label></th>
1480 - <td><input type="text" style="width:300px;" placeholder="Exemple : fa.book" name="option_social0" id="option_social0" value="<?php echo esc_js(get_option('option_social0')); ?>"/><img alt="facebook" src="<?php echo esc_url(plugin_dir_url( __FILE__ )."img/facebook.svg"); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1100 + <th>Google + (https://plus.google.com/u/0/+)</th>
1101 + <td><input type="text" style="width:300px;" placeholder="Exemple : goo.plus" name="option_social2" id="option_social2" value="<?php echo get_option('option_social2'); ?>"/><img alt="google" src="<?php echo plugin_dir_url( __FILE__ ) ?>img/google-plus.svg" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1481 1102 </tr>
1482 1103 <tr>
1483 - <th><label for="option_social1">Twitter (http://www.twitter.com/)</label></th>
1484 - <td><input type="text" style="width:300px;" placeholder="Exemple : tweet_heure" name="option_social1" id="option_social1" value="<?php echo esc_js(get_option('option_social1')); ?>"/><img alt="twitter" src="<?php echo esc_url(plugin_dir_url( __FILE__ )."img/twitter.svg"); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1104 + <th>LinkedIn (https://www.linkedin.com/in/)</th>
1105 + <td><input type="text" style="width:300px;" placeholder="Exemple : link.dine" name="option_social3" id="option_social3" value="<?php echo get_option('option_social3'); ?>"/><img alt="linkedin" src="<?php echo plugin_dir_url( __FILE__ ) ?>img/linkedin.svg" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1485 1106 </tr>
1486 - <tr>
1487 - <th><label for="option_social2">Google + (https://plus.google.com/u/0/+)</label></th>
1488 - <td><input type="text" style="width:300px;" placeholder="Exemple : goo.plus" name="option_social2" id="option_social2" value="<?php echo esc_js(get_option('option_social2')); ?>"/><img alt="google" src="<?php echo esc_url(plugin_dir_url( __FILE__ )."img/google-plus.svg"); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1489 - </tr>
1490 - <tr>
1491 - <th><label for="option_social3">LinkedIn (https://www.linkedin.com/in/)</label></th>
1492 - <td><input type="text" style="width:300px;" placeholder="Exemple : link.dine" name="option_social3" id="option_social3" value="<?php echo esc_js(get_option('option_social3')); ?>"/><img alt="linkedin" src="<?php echo esc_url(plugin_dir_url( __FILE__ )."img/linkedin.svg"); ?>" style="vertical-align:middle; width:32px; margin-left:2px; margin-right:2px;"/></td>
1493 - </tr>
1494 1107 </table>
1495 1108 <?php
1496 1109 submit_button(__('Enregistrer','wp-hal'), 'primary large', 'submit', true); ?>
1497 1110 </div>
@@ -1511,9 +1124,9 @@
1511 1124
1512 1125 /**
1513 1126 * Reset les données Hal
1514 1127 */
1515 -function wphal_reset_option() {
1128 +function reset_option() {
1516 1129 delete_option('option_choix');
1517 1130 delete_option('option_type');
1518 1131 delete_option('option_groupe');
1519 1132 delete_option('option_idhal');
@@ -1524,9 +1137,6 @@
1524 1137 delete_option('option_social0');
1525 1138 delete_option('option_social1');
1526 1139 delete_option('option_social2');
1527 1140 delete_option('option_social3');
1528 - delete_option('option_cache_timeout');
1529 - delete_option('option_erase_cache');
1530 1141 }
1531 -
1532 -?>
1142 +?>