本文整理汇总了PHP中_q函数的典型用法代码示例。如果您正苦于以下问题:PHP _q函数的具体用法?PHP _q怎么用?PHP _q使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_q函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generer_generer_url_arg
function generer_generer_url_arg($type, $p, $_id)
{
$s = $p->id_boucle;
if ($s !== '' AND $s = $p->boucles[$s]->sql_serveur) {
// si une fonction de generation des url a ete definie pour ce connect l'utiliser
if (function_exists($f = 'generer_generer_url_'.$s)){
return $f($type, $_id, $s);
}
if (!$GLOBALS['connexions'][strtolower($s)]['spip_connect_version']) {
return NULL;
}
$s = _q($s);
if ($type == 'document') {
return
"quete_meta('adresse_site', $s) . '/' .\n\t" .
"quete_meta('dir_img', $s) . \n\t" .
"quete_fichier($_id,$s)";
}
$s = ", '', '', $s, quete_meta('type_urls', $s)";
}
else
$s = ", '', '', true";
return "urlencode_1738(generer_url_entite($_id, '$type'$s))";
}
示例2: inserer_document_syndic_article
function inserer_document_syndic_article($liens, $id_syndic_article, $date, $titre_parent)
{
include_spip("base/abstract_sql");
$id_article_syndic = sql_getfetsel("id_syndic_article", "spip_syndic_articles", "id_syndic_article=" . _q($id_syndic_article), "", "date desc", "0,1");
if (!$date) {
$date = date("Y-m-d h:i:s");
}
foreach ($liens as $link) {
$id3 = recuperer_id3($link);
$champs = array('titre' => $titre_parent, 'fichier' => $link, 'tag_auteur' => $id3['artiste'], 'tag_titre' => $id3['titre'], 'date' => date("Y-m-d H:i:s", $date), 'distant' => 'oui', 'statut' => 'publie', 'date' => $date, 'extension' => 'mp3');
$s = sql_getfetsel("id_document", "spip_documents", "fichier=" . _q($champs['fichier']), "", "date desc", "0,1");
if ($s) {
// maj le document distant
sql_updateq('spip_documents', $champs, 'id_document=' . intval($s));
// a t'on un lien entre ce doc et cet article ?
$l = sql_getfetsel("id_document", "spip_documents_liens", "id_document=" . _q($s) . " and id_objet=" . _q($id_article_syndic));
if (!$l) {
$champs_liens = array('id_document' => $s, 'id_objet' => $id_article_syndic, 'objet' => 'syndic_article');
sql_insertq('spip_documents_liens', $champs_liens);
}
} else {
// enregistrer le document distant
$id_document = sql_insertq('spip_documents', $champs);
// le lier a son syndic article
$champs_liens = array('id_document' => $id_document, 'id_objet' => $id_article_syndic, 'objet' => 'syndic_article');
sql_insertq('spip_documents_liens', $champs_liens);
}
}
}
示例3: maj_v016_dist
function maj_v016_dist($version_installee, $version_cible)
{
if (upgrade_vers(1.6, $version_installee, $version_cible)) {
#8/08/07 plus d'indexation dans le core
# include_spip('inc/indexation');
# purger_index();
# creer_liste_indexation();
maj_version(1.6);
}
if (upgrade_vers(1.601, $version_installee, $version_cible)) {
spip_query("ALTER TABLE spip_forum ADD INDEX id_syndic (id_syndic)");
maj_version(1.601);
}
if (upgrade_vers(1.603, $version_installee, $version_cible)) {
// supprimer les fichiers deplaces
spip_unlink('inc_meta_cache.php');
spip_unlink('inc_meta_cache.php3');
spip_unlink('data/engines-list.ini');
maj_version(1.603);
}
if (upgrade_vers(1.604, $version_installee, $version_cible)) {
spip_query("ALTER TABLE spip_auteurs ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
$u = spip_query("SELECT * FROM spip_auteurs WHERE prefs LIKE '%spip_lang%'");
while ($row = sql_fetch($u)) {
$prefs = unserialize($row['prefs']);
$l = $prefs['spip_lang'];
unset($prefs['spip_lang']);
spip_query("UPDATE spip_auteurs SET lang=" . _q($l) . ", prefs='" . addslashes(serialize($prefs)) . "' WHERE id_auteur=" . $row['id_auteur']);
}
$u = spip_query("SELECT lang FROM spip_auteurs");
maj_version(1.604, $u);
}
}
示例4: affiche_auteur_diff
function affiche_auteur_diff($auteur)
{
// Si c'est un nombre, c'est un auteur de la table spip_auteurs
if ($auteur == intval($auteur) and $s = sql_query("SELECT * FROM spip_auteurs WHERE id_auteur=" . _q($auteur)) and $t = sql_fetch($s)) {
return typo($t['nom']);
} else {
return $auteur;
}
}
示例5: glossaire_groupes
function glossaire_groupes() {
$groupes = trim($GLOBALS['glossaire_groupes']);
if(!strlen($groupes)) return _q('Glossaire');
else {
$groupes = explode(':', $groupes);
foreach($groupes as $i=>$g) $groupes[$i] = _q(trim($g));
return join(" OR type=", $groupes);
}
}
示例6: balise_INFO__dist
/**
* Generer n'importe quel info pour un objet : #INFO_TITRE{article, #ENV{id_article}}
* Utilise la fonction generer_info_entite() de inc/filtres
* se reporter a sa documentation
*
*/
function balise_INFO__dist($p)
{
$info = $p->nom_champ;
$type_objet = interprete_argument_balise(1, $p);
$id_objet = interprete_argument_balise(2, $p);
if ($info === 'INFO_' or !$type_objet or !$id_objet) {
$msg = _T('zbug_balise_sans_argument', array('balise' => ' INFO_'));
erreur_squelette($msg, $p);
$p->interdire_scripts = true;
return $p;
} else {
$info_sql = strtolower(substr($info, 5));
$code = "generer_info_entite({$id_objet}, {$type_objet}, '{$info_sql}'" . ($p->etoile ? "," . _q($p->etoile) : "") . ")";
$p->code = champ_sql($info, $p, $code);
$p->interdire_scripts = true;
return $p;
}
}
示例7: socialtags_json
function socialtags_json($cfg)
{
if (!is_array($cfg)) {
return '[]';
}
$json = array();
include_spip('socialtags_fonctions');
foreach (socialtags_liste() as $service) {
if (in_array($a = $service['lesauteurs'], $cfg)) {
$t = _q($service['titre']);
$u = _q($service['url']);
$d = isset($service['descriptif']) ? _q($service['descriptif']) : $t;
$u_site = _q($GLOBALS['meta']['adresse_site']);
$i = _q('data:image/png;base64,' . base64_encode(file_get_contents(find_in_path('images/' . $a . '.png'))));
$json[] = "{ a: '{$a}', n: {$t}, i: {$i}, u: {$u}, u_site: {$u_site}}";
}
}
return "[\n" . join(",\n", $json) . "\n]";
}
示例8: generer_generer_url_arg
function generer_generer_url_arg($type, $p, $_id)
{
if ($s = trouver_nom_serveur_distant($p)) {
// si une fonction de generation des url a ete definie pour ce connect l'utiliser
if (function_exists($f = 'generer_generer_url_' . $s)) {
return $f($type, $_id, $s);
}
if (!$GLOBALS['connexions'][strtolower($s)]['spip_connect_version']) {
return NULL;
}
$s = _q($s);
# exception des urls de documents sur un serveur distant...
if ($type == 'document') {
return "quete_meta('adresse_site', {$s}) . '/' .\n\t" . "quete_meta('dir_img', {$s}) . \n\t" . "quete_fichier({$_id},{$s})";
}
$s = ", '', '', {$s}, quete_meta('type_urls', {$s})";
} else {
$s = ", '', '', true";
}
return "urlencode_1738(generer_url_entite({$_id}, '{$type}'{$s}))";
}
示例9: etape_ldap5_save
function etape_ldap5_save()
{
if (!@file_exists(_FILE_CONNECT_TMP)) {
redirige_url_ecrire('install');
}
ecrire_meta('ldap_statut_import', _request('statut_ldap'));
lire_fichier(_FILE_CONNECT_TMP, $conn);
if ($p = strpos($conn, "'');")) {
ecrire_fichier(_FILE_CONNECT_TMP, substr($conn, 0, $p + 1) . _FILE_LDAP . substr($conn, $p + 1));
}
$adresse_ldap = addcslashes(_request('adresse_ldap'), "'\\");
$login_ldap = addcslashes(_request('login_ldap'), "'\\");
$pass_ldap = addcslashes(_request('pass_ldap'), "'\\");
$port_ldap = addcslashes(_request('port_ldap'), "'\\");
$tls_ldap = addcslashes(_request('tls_ldap'), "'\\");
$protocole_ldap = addcslashes(_request('protocole_ldap'), "'\\");
$base_ldap = addcslashes(_request('base_ldap'), "'\\");
$base_ldap_text = addcslashes(_request('base_ldap_text'), "'\\");
$conn = "\$GLOBALS['ldap_base'] = '{$base_ldap}';\n" . "\$GLOBALS['ldap_link'] = @ldap_connect('{$adresse_ldap}','{$port_ldap}');\n" . "@ldap_set_option(\$GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,'{$protocole_ldap}');\n" . ($tls_ldap != 'oui' ? '' : "@ldap_start_tls(\$GLOBALS['ldap_link']);\n") . "@ldap_bind(\$GLOBALS['ldap_link'],'{$login_ldap}','{$pass_ldap}');\n";
$champs = is_array($GLOBALS['ldap_attributes']) ? $GLOBALS['ldap_attributes'] : array();
$res = '';
foreach ($champs as $champ => $v) {
$nom = 'ldap_' . $champ;
$val = trim(_request($nom));
if (preg_match('/^\\w*$/', $val)) {
if ($val) {
$val = _q($val);
}
} else {
$val = "array(" . _q(preg_split('/\\W+/', $val)) . ')';
}
if ($val) {
$res .= "'{$champ}' => " . $val . ",";
}
}
$conn .= "\$GLOBALS['ldap_champs'] = array({$res});\n";
install_fichier_connexion(_DIR_CONNECT . _FILE_LDAP, $conn);
}
示例10: v019_pre193
function v019_pre193($version_installee, $version_cible)
{
// Syndication : ajout de l'option resume=oui/non et de la langue
if (upgrade_vers(1.901, $version_installee, $version_cible)) {
spip_query("ALTER TABLE spip_syndic ADD `resume` VARCHAR(3) DEFAULT 'oui'");
spip_query("ALTER TABLE spip_syndic_articles ADD `lang` VARCHAR(10) DEFAULT '' NOT NULL");
maj_version(1.901);
}
// Syndication : ajout de source, url_source, tags
if (upgrade_vers(1.902, $version_installee, $version_cible)) {
spip_query("ALTER TABLE spip_syndic_articles ADD `url_source` TINYTEXT DEFAULT '' NOT NULL");
spip_query("ALTER TABLE spip_syndic_articles ADD `source` TINYTEXT DEFAULT '' NOT NULL");
spip_query("ALTER TABLE spip_syndic_articles ADD `tags` TEXT DEFAULT '' NOT NULL");
maj_version(1.902);
}
// URLs propres des sites (sait-on jamais)
// + oubli des KEY url_propre sur les auteurs si installation neuve
if (upgrade_vers(1.903, $version_installee, $version_cible)) {
spip_query("ALTER TABLE spip_syndic ADD `url_propre` VARCHAR(255) NOT NULL");
spip_query("ALTER TABLE spip_syndic ADD INDEX `url_propre` (`url_propre`)");
spip_query("ALTER TABLE spip_auteurs ADD INDEX `url_propre` (`url_propre`)");
maj_version(1.903);
}
// suppression des anciennes tables temporaires des visites
// (maintenant stockees sous forme de fichiers)
if (upgrade_vers(1.904, $version_installee, $version_cible)) {
spip_query("DROP TABLE IF EXISTS spip_visites_temp");
spip_query("DROP TABLE IF EXISTS spip_referers_temp");
maj_version(1.904);
}
// fusion des 10 tables index en une seule
// pour fonctions futures evoluees du moteur de recherche
if (upgrade_vers(1.905, $version_installee, $version_cible)) {
// agrandir le champ "valeur" de spip_meta pour pouvoir y stocker
// des choses plus sympa
spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`");
spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT");
// table des correspondances table->id_table
$liste_tables = array();
$liste_tables[1] = 'spip_articles';
$liste_tables[2] = 'spip_auteurs';
$liste_tables[3] = 'spip_breves';
$liste_tables[4] = 'spip_documents';
$liste_tables[5] = 'spip_forum';
$liste_tables[6] = 'spip_mots';
$liste_tables[7] = 'spip_rubriques';
$liste_tables[8] = 'spip_signatures';
$liste_tables[9] = 'spip_syndic';
ecrire_meta('index_table', serialize($liste_tables));
## devenu inutile car suppression totale de l'indexation
/*
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_article` as id_objet,'1' as id_table FROM spip_index_articles");
spip_query("DROP TABLE IF EXISTS spip_index_articles");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_auteur` as id_objet,'2' as id_table FROM spip_index_auteurs");
spip_query("DROP TABLE IF EXISTS spip_index_auteurs");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_breve` as id_objet,'3' as id_table FROM spip_index_breves");
spip_query("DROP TABLE IF EXISTS spip_index_breves");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_document` as id_objet,'4' as id_table FROM spip_index_documents");
spip_query("DROP TABLE IF EXISTS spip_index_documents");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_forum` as id_objet,'5' as id_table FROM spip_index_forum");
spip_query("DROP TABLE IF EXISTS spip_index_forum");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_mot` as id_objet,'6' as id_table FROM spip_index_mots");
spip_query("DROP TABLE IF EXISTS spip_index_mots");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_rubrique` as id_objet,'7' as id_table FROM spip_index_rubriques");
spip_query("DROP TABLE IF EXISTS spip_index_rubriques");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_signature` as id_objet,'8' as id_table FROM spip_index_signatures");
spip_query("DROP TABLE IF EXISTS spip_index_signatures");
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_syndic` as id_objet,'9' as `id_table FROM spip_index_syndic");
spip_query("DROP TABLE IF EXISTS spip_index_syndic");
*/
maj_version(1.905);
}
// cette table est desormais geree par le plugin "podcast_client", on la
// supprime si le plugin n'est pas active ; risque inherent a l'utilisation
// de versions alpha :-)
if (upgrade_vers(1.906, $version_installee, $version_cible)) {
if (!@in_array('podcast_client', $GLOBALS['plugins'])) {
spip_query("DROP TABLE spip_documents_syndic");
}
maj_version(1.906);
}
if (upgrade_vers(1.907, $version_installee, $version_cible)) {
spip_query("ALTER TABLE spip_forum ADD INDEX `idx` (`idx`)");
maj_version(1.907);
}
// Oups ! on stockait les tags de syndication sous la forme rel="category"
// au lieu de rel="directory" - http://microformats.org/wiki/rel-directory
if (upgrade_vers(1.908, $version_installee, $version_cible)) {
spip_query("UPDATE spip_syndic_articles SET `tags` = REPLACE(`tags`, 'rel=\"category\">', 'rel=\"directory\">') WHERE `tags` like '%category%'");
maj_version(1.908);
}
if (upgrade_vers(1.909, $version_installee, $version_cible)) {
//.........这里部分代码省略.........
示例11: maj_1_938
function maj_1_938()
{
$res = sql_select('extension', 'spip_documents', "extension='' OR extension is NULL");
if ($n = sql_count($res)) {
$repli = false;
// verifier que la colonne id_type est toujours la (update post 1.938)
$desc = sql_showtable('spip_documents');
if (!$desc or !isset($desc['field']['id_type'])) {
$repli = true;
}
$s = sql_select('extension' . ($repli ? '' : ',id_type'), 'spip_types_documents');
while ($t = sql_fetch($s)) {
if (isset($t['id_type'])) {
spip_query("UPDATE spip_documents\tSET `extension`=" . _q($t['extension']) . " WHERE `id_type`=" . _q($t['id_type']));
} else {
spip_query("UPDATE spip_documents\tSET `extension`=" . _q($t['extension']) . " WHERE fichier LIKE " . _q("%." . $t['extension']));
}
}
$res = sql_select('extension', 'spip_documents', "extension='' OR extension is NULL");
if ($n = sql_count($res)) {
spip_log("Table spip_documents : Colonne extension incomplete : {$n} lignes vides");
}
}
}
示例12: autoriser_forum_modifier
function autoriser_forum_modifier($faire, $type, $id, $qui, $opt) {
// Le webmestre
if ($GLOBALS['autorite']['editer_forums'] >= 1
AND autoriser('webmestre', $type, $id, $qui, $opt))
return true;
// Les admins
if (
$GLOBALS['autorite']['editer_forums'] >= 2
AND $qui['statut'] == '0minirezo'
AND !$qui['restreint']
)
return true;
// L'auteur du message (enregistre')
// 2 = avec une periode de grace d'une heure
// 3 = ad vitam
if ($GLOBALS['autorite']['editer_forums'] >= 3
AND isset($qui['id_auteur'])) {
$q = "SELECT id_forum FROM spip_forum WHERE id_forum="._q($id)." AND id_auteur="._q($qui['id_auteur']);
if ($GLOBALS['autorite']['editer_forums'] == 3)
$q .= " AND date_heure > DATE_SUB(NOW(), INTERVAL 1 HOUR)";
$s = spip_query($q);
if (sql_count($s))
return true;
}
// par defaut
return autoriser_forum_modifier_dist($faire, $type, $id, $qui, $opt);
}
示例13: balise_LOGO__dist
function balise_LOGO__dist($p)
{
preg_match(",^LOGO_([A-Z_]+?)(|_NORMAL|_SURVOL|_RUBRIQUE)\$,i", $p->nom_champ, $regs);
$type = strtolower($regs[1]);
$suite_logo = $regs[2];
// cas de #LOGO_SITE_SPIP
if ($type == 'site_spip') {
$type = 'site';
$_id_objet = "\"'0'\"";
}
$id_objet = id_table_objet($type);
if (!isset($_id_objet) or !$_id_objet) {
$_id_objet = champ_sql($id_objet, $p);
}
$fichier = $p->etoile === '**' ? -1 : 0;
$coord = array();
$align = $lien = '';
$mode_logo = '';
if ($p->param and !$p->param[0][0]) {
$params = $p->param[0];
array_shift($params);
foreach ($params as $a) {
if ($a[0]->type === 'texte') {
$n = $a[0]->texte;
if (is_numeric($n)) {
$coord[] = $n;
} elseif (in_array($n, array('top', 'left', 'right', 'center', 'bottom'))) {
$align = $n;
} elseif (in_array($n, array('auto', 'icone', 'apercu', 'vignette'))) {
$mode_logo = $n;
}
} else {
$lien = calculer_liste($a, $p->descr, $p->boucles, $p->id_boucle);
}
}
}
$coord_x = !$coord ? 0 : intval(array_shift($coord));
$coord_y = !$coord ? 0 : intval(array_shift($coord));
if ($p->etoile === '*') {
include_spip('balise/url_');
$lien = generer_generer_url_arg($type, $p, $_id_objet);
}
$connect = $p->id_boucle ? $p->boucles[$p->id_boucle]->sql_serveur : '';
if ($type == 'document') {
$qconnect = _q($connect);
$doc = "quete_document({$_id_objet}, {$qconnect})";
if ($fichier) {
$code = "quete_logo_file({$doc}, {$qconnect})";
} else {
$code = "quete_logo_document({$doc}, " . ($lien ? $lien : "''") . ", '{$align}', '{$mode_logo}', {$coord_x}, {$coord_y}, {$qconnect})";
}
// (x=non-faux ? y : '') pour affecter x en retournant y
if ($p->descr['documents']) {
$code = '(($doublons["documents"] .= ",". ' . $_id_objet . ") ? {$code} : '')";
}
} elseif ($connect) {
$code = "''";
spip_log("Les logos distants ne sont pas prevus");
} else {
$code = logo_survol($id_objet, $_id_objet, $type, $align, $fichier, $lien, $p, $suite_logo);
}
// demande de reduction sur logo avec ecriture spip 2.1 : #LOGO_xxx{200, 0}
if ($coord_x or $coord_y) {
$code = "filtrer('image_graver',filtrer('image_reduire'," . $code . ", '{$coord_x}', '{$coord_y}'))";
}
$p->code = $code;
$p->interdire_scripts = false;
return $p;
}
示例14: compiler_squelette
//.........这里部分代码省略.........
// ne pas tenter d'assembler le code final
// (mais compiler le corps pour detection d'erreurs)
if (is_array($crit))
$boucles[$id]->type_requete = false;
}
}
// idem pour la racine
$descr['id_mere'] = '';
$corps = calculer_liste($squelette, $descr, $boucles);
$debug = (isset($GLOBALS['var_mode']) AND $GLOBALS['var_mode']=='debug');
if ($debug){
include_spip('public/decompiler');
include_spip('public/format_' . _EXTENSION_SQUELETTES);
}
// Calcul du corps de toutes les fonctions PHP,
// en particulier les requetes SQL et TOTAL_BOUCLE
// de'terminables seulement maintenant
foreach ($boucles as $id => $boucle){
$boucle = $boucles[$id] = pipeline('pre_boucle', $boucle);
if ($boucle->return===false) continue;
// appeler la fonction de definition de la boucle
if ($req = $boucle->type_requete){
$f = 'boucle_' . strtoupper($req);
// si pas de definition perso, definition spip
if (!function_exists($f)) $f = $f . '_dist';
// laquelle a une definition par defaut
if (!function_exists($f)) $f = 'boucle_DEFAUT';
if (!function_exists($f)) $f = 'boucle_DEFAUT_dist';
$req = "\n\n\tstatic \$connect = " .
_q($boucle->sql_serveur) .
";" .
$f($id, $boucles);
} else $req = ("\n\treturn '';");
$boucles[$id]->return =
"function BOUCLE" . strtr($id, "-", "_") . $nom .
'(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) {' .
$req .
"\n}\n\n";
if ($debug)
$GLOBALS['debug_objets']['code'][$nom . $id] = $boucles[$id]->return;
}
// Au final, si le corps ou un critere au moins s'est mal compile
// retourner False, sinon inserer leur decompilation
if (is_bool($corps)) return false;
foreach ($boucles as $id => $boucle){
if ($boucle->return===false) return false;
$boucle->return = "\n\n/* BOUCLE " .
$boucle->type_requete .
" " .
(!$debug ? '' :
str_replace('*/', '* /',
decompiler_criteres($boucle->param,
$boucle->criteres))) .
" */\n\n " .
$boucle->return;
}
$secondes = spip_timer('calcul_skel');
spip_log("COMPIL ($secondes) [$sourcefile] $nom.php");
示例15: spip_release_lock
/**
* Relâcher un verrou SQL local
*
* @deprecated Pas d'équivalence actuellement en dehors de MySQL
* @see spip_get_lock()
*
* @param string $nom
* Inutilisé. Le nom est calculé en fonction de la connexion principale
* @return string|bool
* True si réussite, false sinon.
*/
function spip_release_lock($nom)
{
$connexion =& $GLOBALS['connexions'][0];
$bd = $connexion['db'];
$prefixe = $connexion['prefixe'];
$nom = "{$bd}:{$prefixe}:{$nom}" . _LOCK_TIME;
$connexion['last'] = $q = "SELECT RELEASE_LOCK(" . _q($nom) . ")";
@mysql_query($q);
}