Commit Graph

223 Commits (3.0)

Author SHA1 Message Date
Cerdic d8066021b4 sql_quote n'est pas utilisable sur des entier car il produit un '2' invalide en pgsql 13 years ago
Cerdic 8583e134e8 Intégration d'une gestion de files de taches (initialement le plugin job_queue) en remplacement du système de cron periodique
La declaration de taches periodiques reste identique a auparavant (pipeline taches_generales_cron)

La balise #SPIP_CRON disparait, remplacee par un declenchement en fin de hit uniquement quand une tache
est en attente. Pour le declenchement, on utilise preferentiellement un socket, et a defaut une image background comme avant.

Lors d'un appel, le sequenceur execute autant de taches en attente que possible, dans la limite d'un temps donné. Des appels concurents peuvent se jouer, mais chaque tache est executee une unique fois par une seule instance. L'unicité de l'execution est garantie par un sql_delete.

SI jamais le nombre de taches en attente depasse un seuil (10000 par defaut) la file est purgee par un appel en fin de hit, synchrone.
Une page d'aministration est accesible aux administrateurs depuis le menu maintenance.

L'API est 
/**
 * Ajout d'une tache dans la file d'attente
 *
 * @param $function
 *   The function name to call.
 * @param $description
 *   A human-readable description of the queued job.
 * @param $arguments
 *   Optional array of arguments to pass to the function.
 * @param $file
 *   Optional file path which needs to be included for $fucntion.
 * @param $no_duplicate
 *   If TRUE, do not add the job to the queue if one with the same function and
 *   arguments already exists.
 * @param $time
 *		time for starting the job. If 0, job will start as soon as possible
 * @param $priority
 *		-10 (low priority) to +10 (high priority), 0 is the default
 * @return int
 *	id of job
 */
function job_queue_add($function, $description, $arguments = array(), $file = '', $no_duplicate = FALSE, $time=0, $priority=0)

/**
 * Supprimer une tache de la file d'attente
 * @param int $id_job
 *  id of jonb to delete
 * @return bool
 */
function job_queue_remove($id_job)

/**
 * Associer une tache a un/des objets de SPIP
 * @param int $id_job
 *	id of job to link
 * @param array $objets
 *  can be a simple array('objet'=>'article','id_objet'=>23)
 *  or an array of simple array to link multiples objet in one time
 */
function job_queue_link($id_job,$objets)
13 years ago
Cerdic 08ff6aa79c suivi editorial pour les admins restreints aussi ! 13 years ago
Cerdic f0c45f8c27 il faut qu'un article existe pour qu'on ait le droit de le modifier ! 13 years ago
Cerdic 9d47ebe533 pas de rubrique, pas de bouton de creation d'article ! 13 years ago
Cerdic f78732cd70 page de rubrique (voir et editer) en squelette 13 years ago
Cerdic aec1c6e7ec une autorisation 'changerlangue' utilisee par #FORMULAIRE_TRADUIRE qui permet eventuellement de donner des droits a un traducteur, differents de ceux de modification 13 years ago
Cerdic 070d138f2a evacuer les dernieres utilisations directes de la globale table_statut 13 years ago
Cerdic fab895e81f coquille (guy cesaro) 13 years ago
Cerdic 754903688d evacuer definitivement la fonction voir_en_ligne qui oblige a centraliser et doublonner la definition de ce qu'est un objet publie. On s'appuie a la place sur une boucle de test et un appel a autoriser(previsualiser,type,id,'',array(statut=>$statut)) qui permet a chaque extension de definir ses conditions de publication pour ses objets 13 years ago
Cerdic e05734baba une autorisation pour instituer un article, c'est plus secure 13 years ago
Eric Lupinacci bc785da6fa On déplace l'autorisation rubrique_creersitedans dans l'extension sites 13 years ago
Cerdic 947614e9fb articles_page en php est remplacee par mes_articles, qui dit bien ce qu'elle veut dire
et pas d'articles, pas d'acces a la page dans le menu !
13 years ago
Cerdic 5defa5a762 autoriser(previsualiser) peut etre appelle en lui passant le type de l'objet et le statut en option,
dans ce cas l'autorisation cherche dans la globale table_statut la definition des statuts autorises en previsu
et adapte l'autorisation au cas demande
=> permet d'ecrire un code generique sur l'affichage d'un lien de previsu, qui est synchro avec la definition des boucles
13 years ago
Cerdic 6fc9d08150 extensibilite de SPIP :
r17112 a introduit le filtre statuts_articles_visibles pour filtrer les listes d'article en fonction du statut auteur,
mais ça doublonne fonctionnellement avec autoriser('voir','article') qui doit etre la seule reference car personalisable.
On revise donc le filtre pour lui faire tester un a un les statuts d'article existant avec la fonction autoriser qui garantit
la coherence de comportement (guy cesaro)
13 years ago
Cerdic ecece2afa8 une autorisation qui concerne l'extension mots 13 years ago
Cerdic 8cbdc6172d supprimer les documents du core.
Preliminaires : il reste du code intrique et la gestion des logos qui est batarde. En l'etat le core ne fonctionne pas encore sans l'extension medias
13 years ago
Committo,Ergo:sum 1c4a8a50d1 Bonne année, donc modification du copyright.
Je profite de cette écriture massive pour normaliser quelque chose de trompeur lorsqu'on compare deux versions, savoir l'usage de " ou ' dans le premier argument de define et defined. Comme les chaînes entre apostrophes sont plus rapidement analysées que celles entre guillemets, je choisis l'apostrophe.

Dépot obtenu avec le script Shell:
{{{
a=$(find . -name "*.php" |grep -v extensions/ | grep -v /config/ | grep -v index.php | grep -v public.php | grep -v prive.php )
echo -n "Fichiers: "
echo $a|wc -w
for i in $a
do
sed -f ~/Sites/spip/spip.sed $i > /tmp/f.php
if diff -q $i /tmp/f.php
then 
    :
else
       diff $i /tmp/f.php
#     echo $i;   php /tmp/f.php
#    mv /tmp/f.php $i
fi
done
}}}
et le script Sed:
{{{
s/Copyright (c) 2001-20../Copyright (c) 2001-2011/
s,\(if [(]!*\)*\(defined* *[(]\)"\([^"]*\)"\(.*\);[[:space:]]*[#/]*.*$,\1\2'\3'\4;,
}}}
13 years ago
Cerdic 60b361e2b2 utiliser calcul_branche_in avec une legere amelioration plutot que doublonner son code avec qui plus est un presupose sur la conformite entre la table de liens et la table des rubriques 13 years ago
Cerdic 94130e4745 Unification de la table des liens auteurs en spip_auteurs_liens qui remplace ainsi les 3 spip_auteurs_articles, spip_auteurs_rubriques et spip_auteurs_messages
et permettra aussi de gerer les liens auteur sur n'importe quel objet. On a en plus un champ vu sur la table de liaison, qui est utilise dans la messagerie.
On pourra avoir plus tard un champ role permettant de distinguer les roles des auteurs.

Ce premier commit met a jour toutes les requetes SQL, et prend en charge l'upgrade de la base.
Mais il n'est pas encore totalement fonctionnel. 
debug a suivre.
13 years ago
Cerdic 4a5a3c657f suffixe _dist manquant sur des autorisations 13 years ago
Cerdic d1d4303415 verifier une autorisation autoassocierdocument avant de faire l'operation.
Definir cette autorisation par defaut a true pour tout le monde, tous les objets
13 years ago
Matthieu Marcillaud 69bf168f4d Ajouts des brèves sur les rubriques et page d'accueil et autorisations (http://zone.spip.org/trac/spip-zone/changeset/41285) 13 years ago
Cerdic 88670de4e7 utiliser objet_type() 13 years ago
Matthieu Marcillaud eb07998396 Déplacement des déclarations de bases, autorisations, taches périodiques des disparus, boucles et recherche dans le plugin sites. (http://zone.spip.org/trac/spip-zone/changeset/41117) 13 years ago
Matthieu Marcillaud 74348a1e70 Urls des mots dans le plugin mots. + une autorisation avec (http://zone.spip.org/trac/spip-zone/changeset/41099) 13 years ago
Matthieu Marcillaud 0fb8d07b73 Suite au début de migration des mots en plugin (http://zone.spip.org/trac/spip-zone/changeset/41050), on se déleste des fichiers et parties intégrées (telles quelles) 13 years ago
Cerdic 547441f60a maintenance de la base (admin_tech) en squelette.
Il reste le cas du formulaire de declaration d'une autre base, issu de l'installation. Mais il faudra traiter son cas specifiquement, on le laisse donc comme ca pour le moment.
13 years ago
Cerdic 823cfcd808 report des autorisations de la branche 2.1 13 years ago
Fil 5d3f645e16 report de [15960] [15961] sur les autorisations 13 years ago
b_b e79bee82e5 on continu de sortir les pétitions du core suite de http://zone.spip.org/trac/spip-zone/changeset/38541 14 years ago
Cerdic e84b9129e2 affichage ou non des acces agenda et messagerie en fonction de la configuration 14 years ago
Matthieu Marcillaud ecb8d80436 Reports de [15435] [15436] [15437] [15438] [15461] et [15471] 14 years ago
Cerdic 6e4059d86c Report de [15240] [15241] [15245] [15257] [15248] [15249] [15250] [15251] [15252] 14 years ago
Cerdic 768b7f24eb report de [15090] 14 years ago
Cerdic dec661f919 report de [15045] 14 years ago
Cerdic af4bf26dea Tempus fugit 14 years ago
Cerdic 843819a459 il ne faut pas presenter le bouton de creation rapide de mots cles si les mots de sont actives 14 years ago
Cerdic d60dc7ff3c les onglets sur la page infos_perso sont visibles de tous 14 years ago
Fil f8bfdc7f40 mise au carre des verifications faites sur les mots-cles, en concentrant la logique dans autoriser() 14 years ago
Fil f713899391 passage des revisions en plugin (premiere passe), cf. http://zone.spip.org/trac/spip-zone/changeset/30830 14 years ago
Committo,Ergo:sum 5c4e2400d2 La sauvegarde n'était plus permise pour les admins restreints à partir de la page d'admin, en revanche le script de sauvegarde pouvait être appelé directement sans précaution, d'où un résultat de dump placé n'importe où. On rééquilibre les conrôles. 14 years ago
Cerdic 0e37e92bdd Integration de
http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/bandeau?rev=29095
dans le core pour permettre de fixer l'ossature de la navigation et que les plugins s'y raccrochent

Integration de la skins/spip.
Les skins passent dans prive/ pour l'occasion
La navigation est definie dans prive/navigation.xml
15 years ago
Cerdic 8b60844227 Les webmestres ne sont pas forcement des geeks et ont le droit a une interface decente pour gerer le statut webmestre, donc.
Un champ webmestre est ajoute a la table spip_auteurs, et vaut oui ou non. Les droits de webmestre necessitent d'avoir ce champ a oui ET le statut 0minirezo, et pas de etre un admin restreint.

A l'upgrade, si _ID_WEBMESTRES est defini, les auteurs concernes sont statues webmestres, sinon seul l'auteur qui fait l'upgrade est promu webmestre.
Il est possible de se promouvoir webmestre en refaisant l'installation (suppression du fichier connect.php).

Un webmestre peut ensuite promouvoir ou degrader un autre webmestre. Un admin normal ne peut pas changer le statut d'un webmestre.
15 years ago
Cerdic 111b355788 "un core sans forum ou presque.
Restent :
- les meta de config a deplacer dans le plugin forum
- quelques jointures explicites mais conditionnees a la presence du plugin"
15 years ago
Matthieu Marcillaud 5ba9520a63 Passage en plugin des stats (http://zone.spip.org/trac/spip-zone/changeset/26021). Les nouvelles icones du bandeau privé sont ajoutées avant l'icone de configuration et non après.
Introduction de 2 pipelines pour cela :
-* affichage_entetes_final() reçevant le tableau php d'entêtes de la page et permettant d'agir dessus.
-* configurer_liste_metas() reçevant le tableau des valeurs par défaut des metas de SPIP et permettant d'agir dessus (et servant à la sauvegarde des fichiers de configurations actuels de SPIP)

Reste à corriger :
-* le formulaire d'administration,
-* les images,
-* les chaines de langues,
-* les bugs non vus...
15 years ago
Committo,Ergo:sum d222863d4b Bonne année vieille branche!
Dépot obtenu par:

{{{
for i in $(grep  -l '(c) 2001-' * */* */*/* 2> /dev/null)
do
sed 's/(c) 2001-2008/(c) 2001-2009/' $i > /tmp/x
mv /tmp/x $i
done
}}}
15 years ago
Committo,Ergo:sum ecfa625c8b Eviter de tout compter quand on veut juste un test d'existence. (meme que requete que [13121] 15 years ago
Committo,Ergo:sum 799dcab53b Avec l'ERROR_REPORTING_ALL on aurait évité d'interdir aux admins restreints de modifier la légende des documents qu'ils postent. 15 years ago
Cerdic a055ad04ab report de [12734] 15 years ago
Cerdic 490faba36a "ne pas laisser les admin se degrader eux meme" 15 years ago
Fil 03d19fd1a3 le meme en un peu plus generique 15 years ago
Fil 926958bc15 prendre en compte les documents de forum, cf. #1403 15 years ago
Fil d5fbd286cf gros bug dans autoriser_voir_document 15 years ago
Committo,Ergo:sum 171f06b211 Préférer sql_allfetsel plutôt que de retourner sql_select, car l'interface SPIP-SQL se charge d'appeler sql_free 15 years ago
Committo,Ergo:sum b8f05c60b9 Eviter sql_count. 15 years ago
Cerdic 89ca99bb9f la table spip_documents_liens unifiee sur le modele (id_document,id_objet,objet)
ce qui la rend extensible et utilisable par les plugins pour tout type d'objet
l'upgrade devrait se faire a partir de la table spip_documents_liens precedente ou des anciennes tables spip_documents_xxx selon le point de depart
15 years ago
Fil 17cb910624 bug sur les liens documents dans la fonction d'autorisation document_modifier (esj) 15 years ago
amemo d8023fb0cf autodoc 15 years ago
Cerdic 88c15df116 clore #1127
il est maintenant possible de personaliser le rendu des objets par rubrique,
le formulaire de saisie des objets par rubrique
et donc les groupes de mots cles utilises par rubrique, 
a l'aide de la fonction
autoriser_xxx_editermots($faire,$quoi,$id,$qui,$opts)
$opts recoit l'id_groupe du groupe de mot concerne, et les champs connus de ce groupe au moment de l'appel
par defaut la fonction ne fait que verifier la coherence du statut de l'auteur avec les droits necessaire pour ce groupe
15 years ago
Fil 4181f34b33 unification de la table de jointure des documents avec 'autre chose', quel qu'il soit ; et affichage des docs de forum dans le contrle_forum 15 years ago
Committo,Ergo:sum 171f81fecd Remplacement de IN par sql_in 15 years ago
Matthieu Marcillaud f115cc0682 Permettre d'afficher les documents même si la meta 'creer_htaccess' n'est pas présente.
Devrait corriger #1340 (introduit par [11740])
16 years ago
Committo,Ergo:sum e385f17ae5 Utiliser systématiquement sql_fetsel plutôt que sql_fetch quand c'est possible, afin de profiter de l'optimisation de [11738], qui évite en particulier des opérations bêtement interdites par SQLite à cause de son compteur de références. 16 years ago
Committo,Ergo:sum 9770534164 PHP me rendra fou:
{{{
<?php  error_reporting(E_ALL); $x = "2345"; echo $x'id_document'] ?>
}}}
ne déclenche aucun avertissement et affiche tranquilement "2".

Une bardée d'indéfinis en moins, qui étaient sans grandes conséquences.
16 years ago
Fil 1f9862e94d oups (1) 16 years ago
Fil 940934285f un admin restreint ne doit modifier un site que dans les rubriques qu'il administre (klaus) 16 years ago
Fil da60dfd40a relacher un peu la securite sur $id dans autoriser() : le principe de precaution interdisait d'utiliser une cle non numerique sur une table (ex: spip_meta, cf les crayons) 16 years ago
Christian Lefebvre 64a8541127 autodoc 16 years ago
Cerdic acdb1043ae "exceptions d'autorisation :
permettre a un plugin qui veut realiser une action 
normalement interdite a l'utilisateur connecte
d'accorder temporairement (sur le hit ou meme moins)
une exception sans pour autant surcharger la fonction.

Utile par exemple pour creer un article et le publier avec l'api articles_set 
sans pour autant bypasser les autorisations dans l'espace prive
Une exception se delivre avec la syntaxe
autoriser_exception('publierdans','rubrique',3);
et peut s'annuler aussitot l'action faite avec
autoriser_exception('publierdans','rubrique',3,false);
"
16 years ago
Fil d42a56b387 le bug sur [<doc1>->URL] etait revenu 16 years ago
Committo,Ergo:sum fb0973070f 4 Warnings dont un était une vraie erreur. 16 years ago
Committo,Ergo:sum 4bb1e0f949 genere_url_document et encore un peu CSV.
Le changement de stratégie sur la protection des documents rebondit encore.
Si un modèle a besoin d'incruster un document dont il ne connait que l'URL, le site exécutant la fonction copie_locale va échouer sur son propre appel car un serveur n'est pas son propre client. On repère donc la situation suffisamment en amont pour pouvoir faire sauter la auto-protection.

Par ailleurs, le filtre d'incrustation d'un CSV admet aussi la tabulation comme séparateur de colonne, et le {{{^M}}} comme unique séparateur de ligne (j'espère que le nombre de tableurs qui réinventent le RFC de CSV est strictement inférieur à mon nombre de collègues, je commence à en douter).

Précision sur [11111]: le raccourci pour Caption est {{{||}}} qu'il faut écrire entre triple accolade sur le Wiki de Trac.
16 years ago
Committo,Ergo:sum aaa022de00 Accès au documents. [11072] avait réintroduit maladroitement l'appel à autoriser_voir disparu avec [10998]: il est inutilement couteux de produire une clé s'il n'y a pas de .htaccess, on améliore.
Mais [10998] pose un autre problème: le code compilé des balises #URL_* sur base externe ne permet plus d'accéder à un document du site distant puisque ce script refuse à présent toute demande non émise par son espace privé. 

Du coup, on introduit _DIR_IMG comme nouvelle meta, permettant de demander à un site distant le répertoire de ses documents. Le code compilé des balises #URL_* l'utilise pour produire la bonne URL. Evidemment si un .htaccess est présent, cette URL conduira à un 403.

A moyen terme, cette meta devrait permettre de résoudre le problème de l'accès aux vignettes et logos du site distant.
16 years ago
Committo,Ergo:sum bb6b022d7c D'accord avec [10998] pour que l'accès aux documents soit donnée par une clé en amont (d'autant que ça évite de produire des icones menant systématiquement à un accès interdit) mais du coup le autoriser_document_voir devait y migrer aussi plutot que de disparaitre complètement. 16 years ago
Committo,Ergo:sum e3ddfdadfb Depuis [8104] qu'on ne l'avait pas fait, il n'y a plus une minute à perdre.... 16 years ago
Fil 08d85b1056 vertebrer ?page=table:toto est reserve aux adultes (membres de _ID_WEBMESTRES) 16 years ago
Fil 8b3ae3336f renommage de tous les auteur_session en visiteur_session ; la variable auteur_session n'est de nouveau activee que dans le cas ou la visite est authentifiee (ainsi on rebouche les eventuels trous de securite crees par les changements precedents) ; a noter, cette variable auteur_session est declaree obsolete (mais sera maintenue) 16 years ago
Christian Lefebvre 2b6eafd422 autodoc 16 years ago
Cerdic 605074aa02 "grrr, doublon" 16 years ago
Cerdic a68e925b82 report de [10791] 16 years ago
Committo,Ergo:sum 17cd028f1c Le standard SQL précise qu'une chaîne avec apostrophe se code avec une double apostrophe et non un \ ce que SQLite fait aussi, contrairement à MySQL et PG.
En prévision des portages utilisant cette réprésentation, l'interface s'enrichit de la fonction {{{sql_quote}}}, qui s'ajoute à celles définies dans [10707] [10667], [10433], [10131], [10146], [10154] et [10113]

{{{
quote => fonction d'abstraction de la citation d'une constante SQL
}}}

Pour MySQL et PG, cette fonction est donc équivalente à {{{_q()}}} qui reste disponible, mais doit être considérée comme obsolète. Le présent dépôt a été obtenu par le script ci-dessous, dont on peut faire usage pour ses extensions personnelles:

{{{
for i in $(grep  -l '_q(' [bigpeau]*/*p)
do
	sed 's/_q(/sql_quote(/g' $i > x
	mv  x $i
done
}}}

Un ajustement manuel a été nécessaire pour le critère "=", le compilateur testant si le code qu'il a produit contient la fonction de citation.
16 years ago
Committo,Ergo:sum e341792eaf Include manquant pour le Debug (Mathieu) 16 years ago
Committo,Ergo:sum 4beaec16c4 Abstraction de WHERE et ORDER (plus aucun spip_query-SELECT avec eux hormis les inévitables, et ils sont compatibles avec PG). 16 years ago
Committo,Ergo:sum c1fc6da099 Abstraction de requêtes avec WHERE. Application du sed précédent après mise en page au carré de qq occurrences de spip_query. 16 years ago
Committo,Ergo:sum f7392a66f1 Abstraction de tous les appels {{{ spip_query("SELECT ..... WHERE ... }}} pour que les champs de type Date dans la clause WHERE soient transformé pour Postgres.
La Regexp précédent était trop restrictive dans sa manière d'exclure les requêtes avec GROUP BY, ORDER BY et LIMIT.

Dépot obtenu par: 

{{{
for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^YT]*;' [a-i]*/*php)
do
# Pour la clause DISTINCT, laisser intact pour le moment.
sed 's/spip_query..SELECT *\([^D]*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^YT]*;\)$/sql_select("\1", "\2", "\3/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x
echo $i
mv x $i
done
}}}

et une suppressions manuelle de lourdeurs syntaxiques résultantes, et ajout d'une Include.
Pas d'intervention sur le fichier inc/meta: au test, include manquant. À controler.
16 years ago
Committo,Ergo:sum 01e52a0cde Abstraction de tous les appels {{{ spip_query("SELECT ..... WHERE ... }}} pour que les champs de type Date dans la clause WHERE soient transformé pour Postgres.
Dépot obtenu par: 

{{{
for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^A-Z]*;$' [a-i]*/*php)
do
# Pour la clause DISTINCT, laisser intact pour le moment.
sed 's/spip_query..SELECT *\([^D]*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^A-Z]*;\)$/sql_select("\1", "\2", "\3/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x
echo $i
mv x $i
done
#}}}

et deux suppressions manuelles de lourdeurs syntaxiques résultantes.
Pas d'intervention sur le fichier inc/meta: au test, include manquant. À controler.
16 years ago
Committo,Ergo:sum 9b366fee80 #209: spip_num_rows passe en vieilles_defs, sql_count ayant la supériorité d'indiquer le serveur SQL par défaut. Dépot obtenu par:
{{{
for i in $(grep  -l spip_num_rows [aegim]*/*.php)
do
sed s/spip_num_rows/sql_count/g $i > x
mv x $i
done  
}}}
16 years ago
Fil e394139864 ameliorations dans les urls propres :
- factorisation de code
- introduction d'un pipeline pour le calcul du texte
- gestion des caracteres non latins (arabe etc)
- possibilite de chiper une vieille URL d'article pour l'affecter a un autre article (ou a une rubrique, pourquoi pas)
- fonction d'autorisation specifique
- retour aux urls sans ',id' quand c'est possible
- debugs divers et varies
16 years ago
Committo,Ergo:sum 586f3002ae Evidemment, les documents associés aux brèves, ça se fait pas beaucoup. Mais ça n'empêche pas ce bug d'arriver. 16 years ago
Committo,Ergo:sum deae178e3d préférer countsel à spip_num_rows 16 years ago
Christian Lefebvre b909bc322a autodoc 16 years ago
Cerdic 48f34433a5 homogeneiser auteurs_infos : le logo y etait sur la colonne de droite au contraire de toutes les autres pages
passer par le pipeline pour la boite info
16 years ago
Committo,Ergo:sum f38734d5b7 Renommage de toutes les fonctions '''spip_abstract_''' en '''sql_''', c'est plus court et plus parlant puisqu'il s'agit des fonctions d'interfaces avec un serveur SQL. De nouveau attention il faut vider le cache (en fait seulement celui des squelettes: tmp/cache/skel) car ce sont des fonctions que le compilateur place dans le code compilé.
En conséquence, l'annonce de [9852] est modifiée: '''spip_fetch_array''' est remplacée par '''sql_fetch'''. Rien de modifié en revanche en ce qui concerne le fait que spip_fetch_array avec un deuxième argument égal à SPIP_NUM n'a pas d'équivalent et doit être réécrit si on éviter le recours à vieilles_def.php.

Dépot obtenu par le script suivant:
{{{
grep  -v '// http://doc.spip.org/@spip_abstract_' base/abstract_sql.php > b
mv b base/abstract_sql.php 

for i in $(grep -l "spip_abstract_" */*p|grep -v vieilles_def)
do
sed "s/spip_abstract_/sql_/g" $i > x; mv  x $i
done
}}}

et intervention manuelle sur vieilles_def.php.
16 years ago
Committo,Ergo:sum a8ee88ffd7 #209: Afin que les plugins utilisant '''SPIP_NUM''' ou '''SPIP_ASSOC''' dans les appels de '''spip_fetch_array''' continuent à fonctionner sans perturber le portage en PostGres, cette fonction passe en vieille_def avec une définition appellant explicitement '''mysql_fetch_array'''. Elle est remplacée dans tout le code de SPIP par '''spip_abstract_fetch''' auparavant utilisée seulement par le compilateur de squelettes. Les plugins voulant tourner en PostGres à terme sont invités à renommer cette fonction, et à ramener à un seul argument tous ses appels.
Ce dépot résulte donc du retrait des deux définitions de '''spip_fetch_array''' présentes dans source:spip/ecrire/base/db_mysql.php et source:spip/ecrire/base/db_pg.php (qui peuvent donc être chargés simultanément à présent si nécessaire) et de l'application du script suivant dans le répertoire '''ecrire''':

{{{
for i in $(grep -l spip_fetch_array */*p|grep -v vieilles_def)
do 
sed s/spip_fetch_array/spip_abstract_fetch/g $i > x
mv  x $i
done    
}}}
16 years ago
Committo,Ergo:sum c0440255ad Un champ 'en_ligne' non nul est plus pertinent que le statut en cours pour savoir si un auteur a (eu) accès à l'espace privé. 16 years ago
Committo,Ergo:sum ecb71a25ed Réécriture du formulaire d'autorisation de prévisualisation sous forme de cases à cocher dans la liste des statuts. 16 years ago
Fil a3ee524674 ne marchait qu'avec autorite, a cause du autoriser(webmestre) (mortimer, azerttyu) 16 years ago
Fil 7fb71c8e29 le pipeline vide peut servir a charger des definitions complementaires (pour les API inc/notifications et inc/autoriser par exemple) 16 years ago
Fil f766a4ced0 l'autorisation d'editer un document, c'est un beau melange de choses compliquees... si on n'avait deja qu'une seule et unique table de jointure pour trouver nos liens on gagnerait du temps, a revoir 16 years ago