Project

General

Profile

Evolution #4445

Permettre de savoir si espace privé depuis tous les JS

Added by RastaPopoulos ♥ about 1 year ago. Updated about 1 month ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Category:
javascript
Target version:
Start date:
02/22/2020
Due date:
% Done:

0%

Resolution:
fixed

Description

En JS, il semble que SPIP ne fournisse rien pour savoir si on est dans l'admin ou pas. Or c'est indispensable au moins pour certains appels d'URL, savoir si on doit avoir ../ avant ou pas (par ex pour les API mais pas que).

Le plugin Sélecteur générique fait ça en ajoutant depuis PHP une globale JS selecteur_test_espace_prive booléenne. Mais c'est pourri que chaque plugin doive faire ça. C'est SPIP qui devrait le fournir, comme test_espace_prive() en PHP quoi.

Du coup soit faut fournir une globale du même style, mais en plus propre SPIP fournit déjà une classe "jquery.spip", du coup ça devrait être un attribut ou une méthode de cette classe.

Par contre pour la place, à priori c'est pas dans ajaxCallback, puisque pour le faire solidement, c'est sûrement mieux que ce soit en utilisant la fonction PHP. Donc il faudrait que SPIP ajoute ça après le chargement de ajaxCallback, et qu'en PHP, ça rajoute un mini morceau de JS pour compléter jquery.spip avec un attribut qui dit où on est.

Après dans n'importe quel JS de plugin, on ferait facilement if ($.spip.test_espace_prive()) { …


Related issues

Related to SPIP - Evolution #4531: Encapsuler toutes les variables JS utiles à SPIP (et plugins !) dans une même globale extensible Nouveau 07/23/2020

History

#2 Updated by b b about 1 year ago

  • Status changed from Nouveau to En cours

Paye ta PR :)

#3 Updated by cedric - 2 months ago

le vrai bug c'est que les api qui sont des action ne sont pas appelables depuis ecrire/ et on est obligé de les appeler uniquement depuis une url publique, non ?

#4 Updated by RastaPopoulos ♥ 2 months ago

Oui ça aussi ça pourrait être corrigé, et ça faciliterait pour ce point. Mais ça n'enlève rien à ce ticket qui disait "au moins" pour cette utilisation, mais pas que. J'ai déjà croisé d'autres besoins où il me fallait savoir si j'étais en admin ou public et c'est toujours bien d'avoir cette info dispo directement.

Sinon ce ticket est plus généralement lié à #4531 qui serait pas mal plus propre, ya ça ailleurs, Drupal, WP aussi… (tout comme jquery a son objet cloisonnant tout le reste).

#5 Updated by RastaPopoulos ♥ 2 months ago

  • Related to Evolution #4531: Encapsuler toutes les variables JS utiles à SPIP (et plugins !) dans une même globale extensible added

#6 Updated by RastaPopoulos ♥ about 2 months ago

b b a écrit :

Paye ta PR :)

Here : https://git.spip.net/spip/spip/pulls/128

Avec un début d'explication de comment compléter pour résoudre vraiment #4531 aussi.

#7 Updated by cedric - about 1 month ago

  • Status changed from En cours to Fermé
  • Resolution set to fixed

intégrée

Also available in: Atom PDF