当前位置: 首页>>代码示例>>PHP>>正文


PHP _q函数代码示例

本文整理汇总了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))";
}
开发者ID:rhertzog,项目名称:lcs,代码行数:26,代码来源:url_.php

示例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);
        }
    }
}
开发者ID:BoOz,项目名称:podcast_client,代码行数:29,代码来源:podcast_pipelines.php

示例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);
    }
}
开发者ID:nursit,项目名称:SPIP,代码行数:33,代码来源:v016.php

示例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;
    }
}
开发者ID:rougerose,项目名称:cfl,代码行数:9,代码来源:article_fonctions.php

示例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);
		}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:9,代码来源:glossaire_fonctions.php

示例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;
    }
}
开发者ID:genma,项目名称:spip_ynh,代码行数:24,代码来源:info_.php

示例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]";
}
开发者ID:jazzman346,项目名称:CAC_Site,代码行数:19,代码来源:socialtags.js_fonctions.php

示例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}))";
}
开发者ID:nursit,项目名称:SPIP,代码行数:21,代码来源:url_.php

示例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);
}
开发者ID:nursit,项目名称:SPIP,代码行数:38,代码来源:etape_ldap5.php

示例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)) {
//.........这里部分代码省略.........
开发者ID:nursit,项目名称:SPIP,代码行数:101,代码来源:v019_pre193.php

示例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");
        }
    }
}
开发者ID:nursit,项目名称:SPIP,代码行数:24,代码来源:v019.php

示例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);

}
开发者ID:rhertzog,项目名称:lcs,代码行数:32,代码来源:autoriser.php

示例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;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:69,代码来源:logo_.php

示例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");
开发者ID:rhertzog,项目名称:lcs,代码行数:67,代码来源:compiler.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);
}
开发者ID:phenix-factory,项目名称:SPIP,代码行数:20,代码来源:mysql.php


注:本文中的_q函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。