Not logged in. · Lost password · Register
Forum: Non-English Discussion French discussion RSS
[PLUG-IN PHPRESTRICT] - Utilisation
Avatar
wild-dagger #1
Member since Feb 2014 · 37 posts · Location: France
Group memberships: Members
Show profile · Link to this post
Subject: [PLUG-IN PHPRESTRICT] - Utilisation

Bonjour,

Est-ce que quelqu'un a réussi a faire fonctionner cette extension ?

J'essaye de tester le simple code :

<php>
echo 'Hello world ';
</php>

mais le php n'est pas exécuté.

Dans la configuration de l'extension, j'ai indiqué ce nom de page (en partant de l'exemple donné) :

"logiciels:php:programmation:helloworld",
This post was edited 4 times, last on 2016-09-15, 11:49 by wild-dagger.
Avatar
wild-dagger #2
Member since Feb 2014 · 37 posts · Location: France
Group memberships: Members
Show profile · Link to this post
Erreur stupide ...

il ne faut pas écrire les guillemets dans la configuration

"logiciels:php:programmation:helloworld",

devient

logiciels:php:programmation:helloworld

Problème résolu.
Avatar
Digitalin #3
Member since Feb 2014 · 186 posts
Group memberships: Members
Show profile · Link to this post
Bonjour,

oui :-) je viens de l'installer par curiosité, les guillemets peuvent en effet induire en erreur.

Evidemment, la plus grande précaution d'usage est de mise, sur des espaces de noms ou des pages strictement réservés à un groupe d'utilisateurs, comme tu l'as fait dans ton exemple. Cela m'intéresserait de connaître des cas d'usage de ce greffon.

Le code "Hello World" est bien interprété, phpinfo aussi. En revanche, l'option par défaut dans le gestionnaire de paramètres qui permet de désactiver l'affichage, l'export et les anciennes révision des pages est inopérante dans mon cas. Je ne vois pas de différence quand elle est cochée ou non (les révisions marchent, l'export aussi et View (affichage), j'ai un doute sur le sens,  rendu du code php ou simplement le code php qui apparaît comme un texte brut.

Peut-être un problème de compatibilité avec le template Bootstrap3 ou un autre greffon.
Avatar
wild-dagger #4
Member since Feb 2014 · 37 posts · Location: France
Group memberships: Members
Show profile · Link to this post
J'ai réalisé quelques tests, je ne pensais pas qu'il fallait faire ce genre de chose quand on mettait en ligne un plug-in ...

?do=export_raw -> Command disabled: export_raw
?export_xhtml -> fonctionne quand même
?do=export_xhtml -> fonctionne quand même
?export_xhtmlbody -> fonctionne quand même
?do=export_xhtmlbody -> fonctionne quand même
?do=edit -> fonctionne quand même


Effectivement .... il vaut mieux faire confiance aux options de configuration interne à Dokuwiki plutôt qu'à cette fameuse case à cocher pour le moment et penser à cocher dans "Actions à désactiver dans DokuWiki" -> Afficher le texte source

Un autre détail, il ne faut pas oublier le ; dans son code php (la barre d'outils de Bootstrap3 (template par défaut) disparait purement et simplement), du coup ca devient pénalisant quand on veut développer en php (je ne sais pas si ca vient de son plug-in ou de la balise <php> (mode débug activé ou non l'erreur se produit)

A priori l'auteur du plug-in est très actif dans le fil de discussion de son plug-in
This post was edited on 2016-09-14, 17:22 by wild-dagger.
Avatar
Digitalin #5
Member since Feb 2014 · 186 posts
Group memberships: Members
Show profile · Link to this post
désactiver les fonctions dans DokuWiki, c'est embêtant quand même car c'est pour tout le wiki et pas seulement pour un espace de noms, d’où l'intérêt de l'option par défaut du greffon qui ne s'applique qu'aux pages ou catégorie de pages déclarées dans le gestionnaire de paramètres.

Peut-être un petit rapport de bug sur son compte github.

View pour afficher le code source de la page ;-)

je n'ai pas de problème d'affichage de Bootstrap avec l'omission du ; à la fin d'une instruction . Le code n'est pas interprété et l'affichage de la page n'en tient pas compte.
Avatar
wild-dagger #6
Member since Feb 2014 · 37 posts · Location: France
Group memberships: Members
Show profile · Link to this post
Quote by Digitalin:
Peut-être un petit rapport de bug sur son compte github.

Mince je n'avais pas lu ton message du coup j'ai du polluer son fil de discussion, je ne sais pas si tu as vu il y a une requête de traduction de plug-in  :-D

Quote by Digitalin:
désactiver les fonctions dans DokuWiki, c'est embêtant quand même car c'est pour tout le wiki et pas seulement pour un espace de noms, d’où l'intérêt de l'option par défaut du greffon qui ne s'applique qu'aux pages ou catégorie de pages déclarées dans le gestionnaire de paramètres.

Je suis complétement d'accord avec toi surtout si l'auteur a cet objectif.

Quote by Digitalin:
View pour afficher le code source de la page ;-)

Via son option ça n’empêche pas l'affichage du code source
?do=edit -> fonctionne quand même


Quote by Digitalin:
je n'ai pas de problème d'affichage de Bootstrap avec l'omission du ; à la fin d'une instruction . Le code n'est pas interprété et l'affichage de la page n'en tient pas compte.

Bootstrap = template par défaut de dokuwiki ?
This post was edited on 2016-09-14, 18:19 by wild-dagger.
Avatar
Digitalin #7
Member since Feb 2014 · 186 posts
Group memberships: Members
Show profile · Link to this post
Mince je n'avais pas lu ton message du coup j'ai du polluer son fil de discussion, je ne sais pas si tu as vu il y a une requête de traduction de plug-in  :-D

ce devrait pas être trop long :-)
$lang['paths'] = 'PHP-enabled pages (comma / newline delimited):<br /><br />Examples:<br /><br />"namespace:", "namespace:page", "namespace:prefix*"';
$lang['hide'] = "Disable view/export/revisions on PHP-enabled pages?";

Bootstrap = template par défaut de dokuwiki ?

Ce n'est pas le thème fourni de base avec DokuWiki, c'est un autre thème assez récent,  qui a gagné  rapidement en popularité avec une communauté active autour du développeur  :cool:
Avatar
wild-dagger #8
Member since Feb 2014 · 37 posts · Location: France
Group memberships: Members
Show profile · Link to this post
C'est juste trop beau Digitalin, merci pour cette découverte. Je l'adopte ce template (même le plan du site est trop beau) ;-)

Bon par contre chez moi la boite à outils de droite disparait en cas d'erreur   :-/
Avatar
Digitalin #9
Member since Feb 2014 · 186 posts
Group memberships: Members
Show profile · Link to this post
Ce template donne des ailes à DokuWiki, en plus d'être dans un "format actuel" avec un choix parmi les thèmes de bootstrap. Tout le monde n'aime pas le style bootstrap, affaire de goût. Content que cela te convienne :-)

Une chose vraiment pratique, c'est la possibilité d'avoir différents menus (navbar, pageheader, pagefooter, footer, rightsidebar, et topbar officieusement pour le moment) par espaces de noms en créant juste une page wiki (comme le fait sidebar par défaut dans le thème fourni par défaut dans DokuWiki). En cas de plusieurs espaces privés à gérer selon des groupes différents, c'est très facile de créer et de faire évoluer des menus internes et personnalisés. Et bientôt, il sera possible de switcher d'un thème bootstrap à un autre thème boostrap par espaces de noms.  :cool:
J'espère que les autres templates vont intégrer en natif cette possibilité à partir des hooks DokuWiki car c'est vraiment une fonctionnalité géniale (quand tu l'as essayé, cela devient un standard en fait, difficile de s'en passer ensuite)

Bon par contre chez moi la boite à outils de droite disparaît en cas d'erreur   :-/
Bizarre, j'ai essayé sur plusieurs pages et rien ne disparaît de mon côté.

Tu n'as pas répondu sur les cas d'usage du plugin phprestrict ;-) ça m'intéresse si tu veux en dire un mot. Cela pourrait donner des idées intéressantes, à moi  :blush: et d'autres.
Avatar
wild-dagger #10
Member since Feb 2014 · 37 posts · Location: France
Group memberships: Members
Show profile · Link to this post
Je pense que la discussion sur le template bootstrap3 devrait faire l'objet d'un nouveau sujet dans le forum français pour éviter les digressions mais en tous cas merci beaucoup je vais m'y intéresser de très près et sous toutes ses coutures  ;-) .

Quote by Digitalin:
Tu n'as pas répondu sur les cas d'usage du plugin phprestrict ;-) ça m'intéresse si tu veux en dire un mot. Cela pourrait donner des idées intéressantes, à moi  :blush: et d'autres.

[edit 22h45]
Vu les derniers commentaires de l'auteur, je me demande aussi ce que ça peut apporter que de placer une application php dans un dokuwiki ouvert. Le plug-in n'est pas du tout adapté pour les dokuwiki fermés car les utilisateurs ayant un droit de lecture (c'est à dire l'autorisation la plus basse dans un dokuwiki fermé) peuvent afficher le texte source.

Donc obligation d'activer l'option "Afficher le texte source" dans "Actions à désactiver dans DokuWiki" dans le panneau de configuration (pour un dokuwiki fermé), l'option du plug-in phprestrict ne servant que pour les utilisateurs non enregistrés dans un dokuwiki public.

Et pour les utilisateurs en lecture seule dans un dokuwiki fermé ... et bien on a activé le php donc pour les autres pages vous ne pourrez plus afficher le texte source.  :-p

Digitalin, concrètement (et à priori) on peut avec ce plug-in mettre des applications php dans un dokuwiki fermé sans se soucier de la sécurité du projet (normalement, l'intranet étant de mise dans ces cas là pour éviter le piratage extérieur en cas de doute).
This post was edited 5 times, last on 2016-09-15, 11:29 by wild-dagger.
Avatar
Digitalin #11
Member since Feb 2014 · 186 posts
Group memberships: Members
Show profile · Link to this post
Désolé pour la digression concernant Bootstrap3 qui mérite, tu as raison, un fil à part entière sur le forum français.

De ton côté, évite les éditions multiples de post. J'étais en train de répondre hier pendant tes changements majeurs d'édition ;-)

Après nouveau test, en effet, l'option fait ce qu'on attend d'elle sur les pages indiquées pour le groupe @all sur une page en lecture.
Pour un utilisateur enregistré, n'ayant qu'un droit de lecture sur la page, ce n'est pas le cas mais cela pourrait l'être, il me semble.
Des groupes d'utilisateurs inscrits peuvent aussi n'avoir aucun droit (0) sur certains espaces de noms. A ce stade, je ne saurais dire si c'est une fonctionnalité utile à demander à l'auteur du greffon.

As-tu testé l'appel d'une autre page du wiki dans le code php (include) ? 

J'ai déjà intégré dans un espace privé de DokuWiki une application entière avec le greffon Iframe (deux sites en https) mais c'est un autre propos.

j'aimais bien la cerise sur le gâteau  mais tu l'as mangé :-D
Avatar
MadOverlord #12
Member since May 2016 · 6 posts
Group memberships: Members
Show profile · Link to this post
Subject: Possible useful tool
Please excuse my writing in English.

I'm the author of the phprestrict plugin. After reading the translation of this page and the comments on the plugin page I got inspired to play around this afternoon and built a simple plugin I'm calling INLAY.

What it does is fetch a dokuwiki webpage, strip out all the non-content packaging, and include it in the current page. The fetch capability is restricted to a single path.

What this means is you can use phprestrict to limit php to a restricted namespace with trusted editors, but then non-trusted editors can include the resulting functionality in their pages, without being able to see or edit the code.

You can find the plugin here: https://www.dropbox.com/s/pbh9aecf8x67fzv/inlay.zip?dl=0

If you think its useful, let me know and I'll polish it up and properly publish it.

Best,
Robert
Avatar
Digitalin #13
Member since Feb 2014 · 186 posts
Group memberships: Members
Show profile · Link to this post
Thanks to share :-)

After installing inlay, I am not yet sure how it works (meanly, how it works with phprestrict). I think I got the design but in settings, it is said :

plugin»inlay»path
Path prefix for inlay fetch requests:
Example:

http://localhost/wiki/doku.php/

for instance :

in :foo:bar:php:* which is a secure namespace (only some users can see and edit) I have some pages with php code, as :
:foo:bar:php:page1 and :foo:bar:php:page2
now I would like rendering the result of :foo:bar:php:page2 in a public page :foo e.g. or give to non-trusted editors the right to include the resulting functionality in their pages. How to do that ? What I  have to put in inlay settings in this case (with http://localhost/ if you want) ? path is it the whole wiki or a specific namespace ?

Additional questions :
- why two plugins as you see it  ? I don't think from the plugin names already given, I am more in exploring mind before doing things.
- would it be complex to override DokuWiki mecanism in order to restrict view/export/revisions to trusted users with read access only ?
- would it be possible to link a wiki page with php code to an another one ?
Avatar
MadOverlord #14
Member since May 2016 · 6 posts
Group memberships: Members
Show profile · Link to this post
Sorry I did not notice the question.

The point of inlay is that it lets you take the output of any page on your wiki and include it in another page. The path prefix restricts it to particular urls; ie: http://localhost/wiki/doku.php/foo:bar:php: would limit it to pages inside foo:bar:php:

You would use also phprestrict to limit the use of <PHP> code to foo:bar:php:

So you could be the only person who can see and edit foo:bar:php:* pages, and create some PHP functionality there. Think of them as modules that generate HTML.

Then less-trusted editors could inlay (include) those pages in their pages.

They couldn't see or edit the PHP code. You would just say "If you inlay this page, you will get this functionality"

Thus you can give specific PHP "superpowers" to mere mortal editors. And nobody but those with access to foo:bar:php: could write PHP code that runs on your dokuwiki.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2018-09-18, 23:38:43 (UTC +02:00)