本文整理汇总了PHP中lire_metas函数的典型用法代码示例。如果您正苦于以下问题:PHP lire_metas函数的具体用法?PHP lire_metas怎么用?PHP lire_metas使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了lire_metas函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: formulaires_configurer_preferences_charger
function formulaires_configurer_preferences_charger()
{
// travailler sur des meta fraiches
include_spip('inc/meta');
lire_metas();
$valeurs = array();
$valeurs['display_navigation'] = isset($GLOBALS['visiteur_session']['prefs']['display_navigation']) ? $GLOBALS['visiteur_session']['prefs']['display_navigation'] : 'navigation_avec_icones';
$valeurs['display_outils'] = isset($GLOBALS['visiteur_session']['prefs']['display_outils']) ? $GLOBALS['visiteur_session']['prefs']['display_outils'] : 'oui';
$valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) and $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
$valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) and $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
$valeurs['spip_ecran'] = $GLOBALS['spip_ecran'];
// Ajout TinyMCE
//var_export($GLOBALS['visiteur_session']['prefs']);
$valeurs['tinymce'] = isset($GLOBALS['visiteur_session']['prefs']['tinymce']) ? $GLOBALS['visiteur_session']['prefs']['tinymce'] : 'oui';
// ! Ajout TinyMCE
$couleurs = charger_fonction('couleurs', 'inc');
$les_couleurs = $couleurs(array(), true);
$i = 1;
foreach ($les_couleurs as $k => $c) {
$valeurs['couleurs_url'][$i] = generer_url_public('style_prive.css', 'ltr=' . $GLOBALS['spip_lang_left'] . '&' . $couleurs($k));
$valeurs['couleurs'][$i++] = $c;
}
$valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
return $valeurs;
}
示例2: inc_meta_dist
function inc_meta_dist($table='meta')
{
// Lire les meta, en cache si present, valide et lisible
// en cas d'install ne pas faire confiance au meta_cache eventuel
$cache = cache_meta($table);
if ((_request('exec')!=='install' OR !test_espace_prive())
AND $new = jeune_fichier($cache, _META_CACHE_TIME)
AND lire_fichier_securise($cache, $meta)
AND $meta = @unserialize($meta))
$GLOBALS[$table] = $meta;
if (isset($GLOBALS[$table]['touch'])
AND ($GLOBALS[$table]['touch']<time()-_META_CACHE_TIME))
$GLOBALS[$table] = array();
// sinon lire en base
if (!$GLOBALS[$table]) $new = !lire_metas($table);
// renouveller l'alea general si trop vieux ou sur demande explicite
if ((test_espace_prive() || isset($_GET['renouvelle_alea']))
AND $GLOBALS[$table]
AND (time() > _RENOUVELLE_ALEA + $GLOBALS['meta']['alea_ephemere_date'])) {
// si on n'a pas l'acces en ecriture sur le cache,
// ne pas renouveller l'alea sinon le cache devient faux
if (supprimer_fichier($cache)) {
include_spip('inc/acces');
renouvelle_alea();
$new = false;
} else spip_log("impossible d'ecrire dans " . $cache);
}
// et refaire le cache si on a du lire en base
if (!$new) touch_meta(false, $table);
}
示例3: expliquer_config
/**
* Expliquer une configuration :
* analyser le cfg pour determiner la table, le casier et le sous-casier eventuel
*
* @param string $cfg
* @return array
*/
function expliquer_config($cfg)
{
// par defaut, sur la table des meta
$table = 'meta';
$casier = null;
$sous_casier = array();
if (strlen($cfg)) {
$cfg = explode('/', $cfg);
// si le premier argument est vide, c'est une syntaxe /table/ ou un appel vide ''
if (!reset($cfg) and count($cfg) > 1) {
array_shift($cfg);
$table = array_shift($cfg);
if (!isset($GLOBALS[$table])) {
lire_metas($table);
}
}
// si on a demande #CONFIG{/meta,'',0}
if (count($cfg)) {
$casier = array_shift($cfg);
}
if (count($cfg)) {
$sous_casier = $cfg;
}
}
return array($table, $casier, $sous_casier);
}
示例4: formulaires_configurer_identite_charger_dist
function formulaires_configurer_identite_charger_dist()
{
// travailler sur des meta fraiches
include_spip('inc/meta');
lire_metas();
$valeurs = array();
foreach (array('nom_site', 'adresse_site', 'slogan_site', 'descriptif_site', 'email_webmaster') as $k) {
$valeurs[$k] = isset($GLOBALS['meta'][$k]) ? $GLOBALS['meta'][$k] : '';
}
return $valeurs;
}
示例5: action_activer_plugins_dist
/**
* Fonction d'initialisation : vérifie les droits et met à jour les méta avant de lancer l'activation des plugins
*
* @link http://doc.spip.org/@action_activer_plugins_dist
* @return void
*/
function action_activer_plugins_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$securiser_action();
if (!autoriser('configurer', '_plugins')) {
die('erreur');
}
// forcer la maj des meta pour les cas de modif de numero de version base via phpmyadmin
lire_metas();
enregistre_modif_plugin();
}
示例6: exec_acces_restreint_config
function exec_acces_restreint_config(){
if (!autoriser('webmestre')) {
include_spip('inc/minipres');
echo minipres();
exit;
}
include_spip('inc/config');
inc_config_dist();
if (_request('changer_config') == 'oui')
accesrestreint_appliquer_modifs_config();
pipeline('exec_init',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));
$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page(_T('titre_page_config'), "configuration", "configuration");
echo gros_titre(_T('titre_config_fonctions'),'',false);
echo debut_gauche('',true);
echo pipeline('affiche_gauche',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));
echo creer_colonne_droite('',true);
echo pipeline('affiche_droite',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));
//Raccourcis
$res = icone_horizontale(_T('accesrestreint:voir_toutes'), generer_url_ecrire("acces_restreint",''), "../"._DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif", 'rien.gif',false);
echo bloc_des_raccourcis($res);
echo debut_droite('',true);
lire_metas();
$action = generer_url_ecrire('acces_restreint_config');
echo "<form action='$action' method='post'><div>", form_hidden($action);
echo "<input type='hidden' name='changer_config' value='oui' />";
accesrestreint_htaccess_config();
accesrestreint_htpasswd_config();
echo '</div></form>';
echo pipeline('affiche_milieu',array('args'=>array('exec'=>'acces_restreint_config'),'data'=>''));
echo fin_gauche(), fin_page();
}
示例7: maj_vieille_base_create_dist
function maj_vieille_base_create_dist($version_cible){
$charger = charger_fonction('charger','maj/vieille_base');
$version = $charger($version_cible);
// choisir un nouveau prefixe de table, le noter, et switcher en redefinissant le serveur
$new_prefixe = "XXspip$version";
// ici on ecrit la meta dans la table 'officielle'
ecrire_meta('restauration_table_prefix',$new_prefixe,'non');
ecrire_meta('vieille_version_installee',$version_cible,'non');
$metas = $GLOBALS['meta'];
$prefixe_source = $GLOBALS['connexions'][0]['prefixe'];
$GLOBALS['serveur_vieille_base'] = 0;
$GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']] = $GLOBALS['connexions'][0];
$GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']]['prefixe'] = $new_prefixe;
lire_metas();
if (!isset($GLOBALS['meta']['restauration_table_prefix_source'])) {
$create = charger_fonction('create',"maj/vieille_base/$version");
$create();
// reecrire les metas dans la table provisoire
foreach($metas as $k=>$v)
ecrire_meta($k,$v);
ecrire_meta('restauration_table_prefix_source',$prefixe_source,'non');
// noter le numero de version installee
//
// Exception lorsque la version est entre 10000 et 12000
// car ce qui est utilise est la base au moment du SVN 10000
// qui avait url_propre dans les champs de tous les objets
// mais un spip_version type 1.945 (et non 10000).
// si on laisse 10000, les mise a jour de url_propre ne se font pas.
if ($version == 10000) $version = 1.945;
ecrire_meta('version_installee',$version,'non');
}
if ($version_cible!=$GLOBALS['meta']['version_installee']) {
// upgrader jusqu'a la cible
include_spip('base/upgrade');
maj_base($version_cible);
}
}
示例8: do_action
/**
* Effectue l'action en attente.
*
* Appelle une methode do_{todo} de l'Actionneur où todo
* est le type d'action à faire.
*
* Place dans la clé 'done' de description courte du paquet
* le résultat de l'action (un booléen indiquant si elle s'est bien
* déroulée).
**/
public function do_action()
{
if ($do = $this->work) {
$todo = 'do_' . $do['todo'];
lire_metas();
// avoir les metas a jour
$this->log("Faire {$todo} avec {$do['n']}");
$do['done'] = $this->{$todo}($do);
$this->done[] = $do;
$this->work = array();
$this->sauver_actions();
}
}
示例9: cvtconf_configurer_stocker
/**
* Stocker les metas
* @param string $form
* @param array $valeurs
* @param array $store
* @return string
*/
function cvtconf_configurer_stocker($form, $valeurs, $store)
{
$trace = '';
list($table, $casier, $prefixe, $stockage) = cvtconf_definir_configurer_conteneur($form, $valeurs);
// stocker en base
// par defaut, dans un casier serialize dans spip_meta (idem CFG)
if (!isset($GLOBALS[$table])) {
lire_metas($table);
}
$prefixe = $prefixe ? $prefixe . '_' : '';
$table = $table ? "/{$table}/" : "";
$casier = $casier ? rtrim($casier, '/') . '/' : "";
// slash final, sinon rien
foreach ($store as $k => $v) {
ecrire_config("{$stockage}{$table}{$prefixe}{$casier}{$k}", $v);
if (_request('var_mode') == 'configurer' and autoriser('webmestre')) {
$trace .= "<br />table {$table} : " . $prefixe . $k . " = {$v};";
}
}
return $trace;
}
示例10: install_etape_3b_dist
function install_etape_3b_dist()
{
$login = _request('login');
$email = _request('email');
$nom = _request('nom');
$pass = _request('pass');
$pass_verif = _request('pass_verif');
$server_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : _request('server_db');
if (!defined('_PASS_LONGUEUR_MINI')) {
define('_PASS_LONGUEUR_MINI', 6);
}
if (!defined('_LOGIN_TROP_COURT')) {
define('_LOGIN_TROP_COURT', 4);
}
if ($login) {
$echec = $pass != $pass_verif ? _T('info_passes_identiques') : (strlen($pass) < _PASS_LONGUEUR_MINI ? _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI)) : (strlen($login) < _LOGIN_TROP_COURT ? _T('info_login_trop_court') : ''));
include_spip('inc/filtres');
if (!$echec and $email and !email_valide($email)) {
$echec = _T('form_email_non_valide');
}
if ($echec) {
echo minipres('AUTO', info_progression_etape(3, 'etape_', 'install/', true) . "<div class='error'><h3>{$echec}</h3>\n" . "<p>" . _T('avis_connexion_echec_2') . "</p>" . "</div>");
exit;
}
}
if (@file_exists(_FILE_CHMOD_TMP)) {
include _FILE_CHMOD_TMP;
} else {
redirige_url_ecrire('install');
}
if (!@file_exists(_FILE_CONNECT_TMP)) {
redirige_url_ecrire('install');
}
# maintenant on connait le vrai charset du site s'il est deja configure
# sinon par defaut lire_meta reglera _DEFAULT_CHARSET
# (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET)
lire_metas();
if ($login) {
include_spip('inc/charsets');
$nom = importer_charset($nom, _DEFAULT_CHARSET);
$login = importer_charset($login, _DEFAULT_CHARSET);
$email = importer_charset($email, _DEFAULT_CHARSET);
# pour le passwd, bizarrement il faut le convertir comme s'il avait
# ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js
$pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1');
include_spip('auth/sha256.inc');
include_spip('inc/acces');
$htpass = generer_htpass($pass);
$alea_actuel = creer_uniqid();
$alea_futur = creer_uniqid();
$shapass = _nano_sha256($alea_actuel . $pass);
// prelablement, creer le champ webmestre si il n'existe pas (install neuve
// sur une vieille base
$t = sql_showtable("spip_auteurs", true);
if (!isset($t['field']['webmestre'])) {
@sql_alter("TABLE spip_auteurs ADD webmestre varchar(3) DEFAULT 'non' NOT NULL");
}
$id_auteur = sql_getfetsel("id_auteur", "spip_auteurs", "login=" . sql_quote($login));
if ($id_auteur !== null) {
sql_updateq('spip_auteurs', array("nom" => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'htpass' => $htpass, 'statut' => '0minirezo'), "id_auteur={$id_auteur}");
} else {
$id_auteur = sql_insertq('spip_auteurs', array('nom' => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'htpass' => $htpass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'statut' => '0minirezo'));
}
// le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne
@sql_updateq('spip_auteurs', array('webmestre' => 'oui'), "id_auteur={$id_auteur}");
// inserer email comme email webmaster principal
// (sauf s'il est vide: cas de la re-installation)
if ($email) {
ecrire_meta('email_webmaster', $email);
}
// Connecter directement celui qui vient de (re)donner son login
// mais sans cookie d'admin ni connexion longue
include_spip('inc/auth');
if (!($auteur = auth_identifier_login($login, $pass)) or !auth_loger($auteur, true)) {
spip_log("login automatique impossible {$auth_spip} {$session}" . count($row));
}
}
// installer les metas
$config = charger_fonction('config', 'inc');
$config();
// activer les plugins
// leur installation ne peut pas se faire sur le meme hit, il faudra donc
// poursuivre au hit suivant
include_spip('inc/plugin');
actualise_plugins_actifs();
include_spip('inc/distant');
redirige_par_entete(parametre_url(self(), 'etape', '4', '&'));
}
示例11: secret_du_site
/**
* Renvoyer le secret du site, et le generer si il n'existe pas encore
* Le secret du site doit rester aussi secret que possible, et est eternel
* On ne doit pas l'exporter
*
* http://doc.spip.org/@secret_du_site
*
* @return string
*/
function secret_du_site()
{
if (!isset($GLOBALS['meta']['secret_du_site'])) {
include_spip('base/abstract_sql');
$GLOBALS['meta']['secret_du_site'] = sql_getfetsel('valeur', 'spip_meta', "nom='secret_du_site'");
}
if (!isset($GLOBALS['meta']['secret_du_site']) or strlen($GLOBALS['meta']['secret_du_site']) < 64) {
include_spip('inc/acces');
include_spip('auth/sha256.inc');
ecrire_meta('secret_du_site', _nano_sha256($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SERVER_SIGNATURE"] . creer_uniqid()), 'non');
lire_metas();
// au cas ou ecrire_meta() ne fonctionne pas
}
return $GLOBALS['meta']['secret_du_site'];
}
示例12: spip_bonux_lire_config
/**
* Lecture de la configuration
*
* lire_config() permet de recuperer une config depuis le php<br>
* memes arguments que la balise (forcement)<br>
* $cfg: la config, lire_config('montruc') est un tableau<br>
* lire_config('/table/champ') lit le valeur de champ dans la table des meta 'table'<br>
* lire_config('montruc/sub') est l'element "sub" de cette config equivalent a lire_config('/meta/montruc/sub')<br>
*
* $unserialize est mis par l'histoire
*
* @param string $cfg la config
* @param mixed $def un défaut optionnel
* @param boolean $unserialize n'affecte que le dépôt 'meta'
* @return string
*/
function spip_bonux_lire_config($cfg='', $def=null, $unserialize=true) {
// lire le stockage sous la forme /table/valeur
// ou valeur qui est en fait implicitement /meta/valeur
// ou casier/valeur qui est en fait implicitement /meta/casier/valeur
if ($cfg AND strpos($cfg,'/')===false){
return isset($GLOBALS['meta'][$cfg])?
((!$unserialize OR ($t=unserialize($GLOBALS['meta'][$cfg]))===false)?$GLOBALS['meta'][$cfg]:$t)
:$def;
}
// par defaut, sur la table des meta
$table = 'meta';
$cfg = explode('/',$cfg);
// si le premier argument est vide, c'est une syntaxe /table/ ou un appel vide ''
if (!reset($cfg) AND count($cfg)>1) {
array_shift($cfg);
if (count($cfg)) $table = array_shift($cfg);
if (!isset($GLOBALS[$table]))
lire_metas($table);
if (!isset($GLOBALS[$table]))
return $def;
}
$r = $GLOBALS[$table];
// si on a demande #CONFIG{/meta,'',0}
if (!count($cfg))
return $unserialize ? $r : serialize($r);
$deserialize = false; // on ne deserialise qu'une seule fois...
while($casier = array_shift($cfg)) {
$r = isset($r[$casier])?$r[$casier]:null;
// deserializer tant que c'est necessaire
if (!$deserialize AND $r AND is_string($r) AND (count($cfg) OR $unserialize)) {
$deserialize = true;
$r = unserialize($r);
}
}
if (is_null($r)) return $def;
return $r;
}
示例13: import_tables
function import_tables($request, $archive) {
global $import_ok, $abs_pos, $affiche_progression_pourcent;
// regarder si on est pas en train d'importer dans une copie des tables
if (isset($GLOBALS['meta']['restauration_table_prefix'])) {
$charger = charger_fonction('charger','maj/vieille_base');
$charger($GLOBALS['meta']['vieille_version_installee']);
$GLOBALS['serveur_vieille_base'] = 0;
$prefix = $GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']]['prefixe'];
$GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']]['prefixe'] = $GLOBALS['meta']['restauration_table_prefix'];
// verifier qu'une table meta existe bien
// sinon c'est une restauration anterieure echouee
if (!sql_getfetsel('valeur','spip_meta','','','','0,1')){
$GLOBALS['connexions'][$GLOBALS['serveur_vieille_base']]['prefixe'] = $prefix;
return;
}
// recharger les metas
lire_metas();
}
$abs_pos = (!isset($GLOBALS['meta']["restauration_status"])) ? 0 :
$GLOBALS['meta']["restauration_status"];
// au premier appel destruction des tables a restaurer
// ou initialisation de la table des translations,
// mais pas lors d'une reprise.
if ($request['insertion']=='on') {
include_spip('inc/import_insere');
$request['init'] = (!$abs_pos) ? 'insere_1_init' : 'insere_1bis_init';
$request['boucle'] = 'import_insere';
} elseif ($request['insertion']=='passe2') {
$request['init'] = 'insere_2_init';
$request['boucle'] = 'import_translate';
} else {
$request['init'] = (!$abs_pos) ? 'import_init_tables' : 'import_table_choix';
$request['boucle'] = 'import_replace';
}
if (strncmp(".gz", substr($archive,-3),3)==0) {
$size = false;
$taille = taille_en_octets($abs_pos);
$file = gzopen($archive, 'rb');
$gz = 'gzread';
} else {
$size = @filesize($archive);
$taille = @floor(100 * $abs_pos / $size)." %";
$file = fopen($archive, 'rb');
$gz = 'fread';
}
if ($abs_pos==0) {
list($tag, $atts, $charset) = import_debut($file, $gz);
// improbable: fichier correct avant debut_admin et plus apres
if (!$tag) return !($import_ok = true);
$version_archive = import_init_meta($tag, $atts, $charset, $request);
} else {
$version_archive = $GLOBALS['meta']['restauration_version_archive'];
$atts = unserialize($GLOBALS['meta']['restauration_attributs_archive']);
spip_log("Reprise de l'importation interrompue en $abs_pos");
$_fseek = ($gz=='gzread') ? 'gzseek' : 'fseek';
$_fseek($file, $abs_pos);
}
// placer la connexion sql dans le bon charset
if (isset($GLOBALS['meta']['restauration_charset_sql_connexion']))
sql_set_charset($GLOBALS['meta']['restauration_charset_sql_connexion']);
if (!defined('_DEBUG_IMPORT')) define('_DEBUG_IMPORT', false);
if (_DEBUG_IMPORT)
ecrire_fichier(_DIR_TMP."debug_import.log","#####".date('Y-m-d H:i:s')."\n",false,false);
$fimport = import_charge_version($version_archive);
if ($request['insertion'] !== 'passe2')
import_affiche_javascript($taille);
if (function_exists('ob_flush')) @ob_flush();
flush();
$oldtable ='';
$cpt = 0;
$pos = $abs_pos;
// BOUCLE principale qui tourne en rond jusqu'a le fin du fichier
while ($table = $fimport($file, $request, $gz, $atts)) {
// memoriser pour pouvoir reprendre en cas d'interrupt,
// mais pas d'ecriture sur fichier, ca ralentit trop
ecrire_meta("restauration_status", "$abs_pos",'non');
if ($oldtable != $table) {
if (_DEBUG_IMPORT){
ecrire_fichier(_DIR_TMP."debug_import.log","----\n".$GLOBALS['debug_import_avant']."\n<<<<\n$table\n>>>>\n".$GLOBALS['debug_import_apres']."\n----\n",false,false);
}
if ($oldtable) spip_log("$cpt entrees","import");
spip_log("Analyse de $table (commence en $pos)","import");
affiche_progression_javascript($abs_pos,$size,$table);
$oldtable = $table;
$cpt = 0;
$pos = $abs_pos;
}
//.........这里部分代码省略.........
示例14: wdgcfg
/**
* Obtenir la configuration des crayons
*
* @note wdgcfg = widget config :-)
*
* @return array
* Couples : attribut => valeur
**/
function wdgcfg()
{
$php = function_exists('crayons_config') ? crayons_config() : array();
include_spip('inc/meta');
lire_metas();
global $meta;
$metacrayons = empty($meta['crayons']) ? array() : unserialize($meta['crayons']);
$wdgcfg = array();
foreach (array('msgNoChange' => false, 'msgAbandon' => false, 'filet' => false, 'yellow_fade' => false, 'clickhide' => false) as $cfgi => $def) {
$wdgcfg[$cfgi] = isset($php[$cfgi]) ? $php[$cfgi] : isset($metacrayons[$cfgi]) ? $metacrayons[$cfgi] : $def;
}
return $wdgcfg;
}
示例15: installer_table_meta
/**
* Une fonction pour installer une table de configuration supplementaire
* @param string $table
*/
function installer_table_meta($table)
{
$trouver_table = charger_fonction('trouver_table', 'base');
if (!$trouver_table("spip_{$table}")) {
include_spip('base/auxiliaires');
include_spip('base/create');
creer_ou_upgrader_table("spip_{$table}", $GLOBALS['tables_auxiliaires']['spip_meta'], false, false);
$trouver_table('');
}
lire_metas($table);
}