[Spip-en] Authentication and more in the public site

From : thomas@... , the 9th September 2008 12:35

Hi folks, We're working on (another) site that needs to authenticate   (reasonably easy) and authorise (harder) users in the public web-  site. The scenario is this: along with the normal information   available to the general public, we also have a number of rubriques   that need to be protected. These protected rubriques can only be   accessed: 1) by an administrator; 2) by an editor; 3) by a visitor which has been assigned to the rubrique in   spip_auteurs_rubriques. To make things easier for the administrators, I've modified a few of   the core files in /ecrire/ to always allow users to be added as   visitors (without allowing people to sign themselves up) and to be   able to restrict any user to one or more rubriques (rather than only   administrators). Add a relatively simple PHP function to query the   database tables that this UI maintains and a single  can   ensure that only authorised users access it. This all works pretty   well (though I anticipate hating the login form just as much as last   time). A slightly trickier requirement is that many visitor accounts will be   valid only until a certain date, after which they should   automatically disable themselves. I'm writing a plug-in (tentatively   called "auteurs_expire" though I'm told this is a bit ugly) to   accomplish this task.  Currently the plug-in can install/uninstall   its database table and add an expandable box to author pages in the   back-end though affiche_gauche, though I did have a bit of trouble   figuring out how to generate markup that will look like SPIP. The   next step is adding the form for the user to enter a date and record   it in the database table and then adding the cron task to disable   accounts after they expire... While the documentation on http://doc.spip.net/ and inspecting the   source for the Forms et Tables plug-in has been very helpful so far   (I'm getting better at interpreting automatically translated   English :-), I can't find an example or documentation of the Right Way  (TM) to add a form in my expandable box. I looked at a small example   (ARNO*'s couleur_rubrique plugin) and saw that it has some code in   its _fonctions.php file to check $_POST and save the submitted form   values. I have three questions: • Is there a tutorial or similar (in English or French) on creating   back-end interfaces for plug-ins? I'm particularly interested in   using SPIP's built-in AJAX functionality... • Is there a "better" way to save my form data than just checking if   $_POST["my_form_value_name"] is set and saving? This probably ties in   with wanting to get AJAX working... • Is this the sort of plug-in that would be useful to release? Thanks, Thomas Sutton Web Developer bouncingorange graphic + web design