本文整理汇总了PHP中spip_log函数的典型用法代码示例。如果您正苦于以下问题:PHP spip_log函数的具体用法?PHP spip_log怎么用?PHP spip_log使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了spip_log函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: svp_descriptions_paquets_locaux
/**
* Calcule la description de chaque paquet local
*
* Les paquets peuvent être stockés à 3 endroits :
* plugins, plugins-dist, plugins-supp définis par les constantes respectives
* _DIR_PLUGINS, _DIR_PLUGINS_DIST, _DIR_PLUGINS_SUPP
*
* @param array $erreurs_xml
* Les erreurs XML éventuelles des paquet.xml se retrouvent dedans s'il y en a
* @return array
* Descriptions des paquets (intégrant un hash), stockés par
* constante, puis par chemin.
* array[_DIR_PLUGIN*][$chemin] = description
**/
function svp_descriptions_paquets_locaux(&$erreurs_xml = array())
{
include_spip('inc/plugin');
liste_plugin_files(_DIR_PLUGINS);
liste_plugin_files(_DIR_PLUGINS_DIST);
$get_infos = charger_fonction('get_infos', 'plugins');
$paquets_locaux = array('_DIR_PLUGINS' => $get_infos(array(), false, _DIR_PLUGINS), '_DIR_PLUGINS_DIST' => $get_infos(array(), false, _DIR_PLUGINS_DIST));
if (defined('_DIR_PLUGINS_SUPPL') and _DIR_PLUGINS_SUPPL) {
liste_plugin_files(_DIR_PLUGINS_SUPPL);
$paquets_locaux['_DIR_PLUGINS_SUPPL'] = $get_infos(array(), false, _DIR_PLUGINS_SUPPL);
}
// creer la liste des signatures
foreach ($paquets_locaux as $const_dir => $paquets) {
foreach ($paquets as $chemin => $paquet) {
// on propose le paquet uniquement s'il n'y a pas eu d'erreur de lecture XML bloquante
if (!isset($paquet['erreur'])) {
$paquets_locaux[$const_dir][$chemin]['signature'] = md5($const_dir . $chemin . serialize($paquet));
} else {
// Erreur XML !
unset($paquets_locaux[$const_dir][$chemin]);
spip_log("Impossible de lire la description XML de {$chemin} . Erreurs :", 'svp.' . _LOG_ERREUR);
spip_log($paquet['erreur'], 'svp.' . _LOG_ERREUR);
$erreurs_xml[] = $paquet['erreur'][0];
}
}
}
return $paquets_locaux;
}
示例2: action_dereferencer_traduction_rubrique_dist
function action_dereferencer_traduction_rubrique_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
list($type, $id_objet) = explode('/', $arg);
if (!$type = objet_type($type) or !$id_objet = intval($id_objet)) {
if (!_AJAX) {
include_spip('inc/minipres');
minipres('Arguments incompris');
}
else {
spip_log('Arguments incompris dans action dereferencer_traduction_rubrique');
return false;
}
}
$objet = table_objet($type);
$_id_objet = id_table_objet($objet);
$table = table_objet_sql($objet);
$id_trad_old = sql_getfetsel('id_trad', $table, "$_id_objet = " . sql_quote($id_objet));
if ($id_trad_old) {
include_spip('inc/modifier');
modifier_contenu($objet, $id_objet, array('invalideur' => "id='$objet/$id_objet'"), array('id_trad' => 0));
// si la deliaison fait qu'il ne reste plus que la source
// dans le groupe de traduction on lui remet l'id_trad a 0
if (1 == $nb_dans_groupe = sql_countsel($table, array('id_trad = ' . sql_quote($id_trad_old)))) {
modifier_contenu($objet, $id_trad_old, array('invalideur' => "id='$objet/$id_trad_old'"), array('id_trad' => 0));
}
}
}
示例3: action_editer_auteur_dist
/**
* Editer ou créer un auteur
*
* @link http://doc.spip.org/@action_editer_auteur_dist
* @global array $GLOBALS['visiteur_session']
* @param array $arg
* @return array
*/
function action_editer_auteur_dist($arg = null)
{
if (is_null($arg)) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
// si id_auteur n'est pas un nombre, c'est une creation
if (!($id_auteur = intval($arg))) {
if (($id_auteur = auteur_inserer()) > 0) {
# cf. GROS HACK
# recuperer l'eventuel logo charge avant la creation
# ils ont un id = 0-id_auteur de la session
$id_hack = 0 - $GLOBALS['visiteur_session']['id_auteur'];
$chercher_logo = charger_fonction('chercher_logo', 'inc');
if (list($logo) = $chercher_logo($id_hack, 'id_auteur', 'on')) {
rename($logo, str_replace($id_hack, $id_auteur, $logo));
}
if (list($logo) = $chercher_logo($id_hack, 'id_auteur', 'off')) {
rename($logo, str_replace($id_hack, $id_auteur, $logo));
}
}
}
// Enregistre l'envoi dans la BD
$err = "";
if ($id_auteur > 0) {
$err = auteur_modifier($id_auteur);
}
if ($err) {
spip_log("echec editeur auteur: {$err}", _LOG_ERREUR);
}
return array($id_auteur, $err);
}
示例4: genie_clevermail_auto_ajout_abonnes_dist
function genie_clevermail_auto_ajout_abonnes_dist()
{
if ($autoListes = sql_select("lst_id, lst_name, lst_auto_subscribers, lst_auto_subscribers_mode", "spip_cm_lists", "lst_auto_subscribers != '' AND lst_auto_subscribers_updated < " . (time() - 60 * 60 * 24))) {
include_spip('inc/distant');
while ($liste = sql_fetch($autoListes)) {
if ($adresses = recuperer_page($liste['lst_auto_subscribers'])) {
if (!clevermail_verification_adresses_email($adresses)) {
// XXX : log en chaîne de langue
spip_log('Le format des adresses e-mail ne semble pas bon dans le fichier distant d\'adresses de la liste « ' . $liste['lst_name'] . ' » (id=' . $liste['lst_id'] . ') : ' . $liste['lst_auto_subscribers'], 'clevermail');
} else {
$retour = clevermail_abonnes_ajout(array($liste['lst_id']), intval($liste['lst_auto_subscribers_mode']), $adresses);
sql_updateq("spip_cm_lists", array('lst_auto_subscribers_updated' => time()), "lst_id=" . $liste['lst_id']);
// XXX : log en chaîne de langue
$msg = 'Ajout automatique d\'abonnés à la liste « ' . $liste['lst_name'] . ' » (id=' . $liste['lst_id'] . ') à partir du fichier ' . $liste['lst_auto_subscribers'] . ' : ';
if ($retour === false) {
$msg .= _T('clevermail:aucun_nouvel_abonne');
} else {
$msg .= $retour['nb_nouv'] > 0 ? $retour['nb_nouv'] . _T('clevermail:n_nouveaux_abonnes') : _T('clevermail:aucun_nouvel_abonne');
$msg .= $retour['nb_nouv'] > 0 && $retour['nb_maj'] > 0 ? _T('clevermail:nouveaux_abonnes_et') : '';
$msg .= $retour['nb_maj'] > 0 ? $retour['nb_maj'] . _T('clevermail:changements_mode_abonnement') : '';
spip_log($msg, 'clevermail');
}
}
} else {
// XXX : log en chaîne de langue
spip_log('Impossible de télécharger le fichier distant d\'adresses de la liste « ' . $liste['lst_name'] . ' » (id=' . $liste['lst_id'] . ') : ' . $liste['lst_auto_subscribers'], 'clevermail');
}
}
}
return 1;
}
示例5: enregistre_modif_plugin
/**
* mise a jour des donnees si envoi via formulaire
*
* @link http://doc.spip.org/@enregistre_modif_plugin
* @global array $GLOBALS['visiteur_session']
* @global array $GLOBALS['meta']
* @return void
*/
function enregistre_modif_plugin()
{
include_spip('inc/plugin');
// recuperer les plugins dans l'ordre des $_POST
$test = array();
foreach (liste_plugin_files() as $file) {
$test['s' . substr(md5($file), 0, 16)] = $file;
}
$plugin = array();
foreach ($_POST as $choix => $val) {
if (isset($test[$choix]) && $val == 'O') {
$plugin[] = $test[$choix];
}
}
spip_log("Changement des plugins actifs par l'auteur " . $GLOBALS['visiteur_session']['id_auteur'] . ": " . join(',', $plugin));
ecrire_plugin_actifs($plugin);
// Chaque fois que l'on valide des plugins, on memorise la liste de ces plugins comme etant "interessants", avec un score initial, qui sera decremente a chaque tour : ainsi un plugin active pourra reter visible a l'ecran, jusqu'a ce qu'il tombe dans l'oubli.
$plugins_interessants = @unserialize($GLOBALS['meta']['plugins_interessants']);
if (!is_array($plugins_interessants)) {
$plugins_interessants = array();
}
$plugins_interessants2 = array();
foreach ($plugins_interessants as $plug => $score) {
if ($score > 1) {
$plugins_interessants2[$plug] = $score - 1;
}
}
foreach ($plugin as $plug) {
$plugins_interessants2[$plug] = 10;
}
// score initial
ecrire_meta('plugins_interessants', serialize($plugins_interessants2));
}
示例6: 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);
}
}
示例7: action_copier_local_post
/**
* http://code.spip.net/@action_copier_local_post
*
* @param $id_document
* @return bool|mixed|string
*/
function action_copier_local_post($id_document)
{
// Il faut la source du document pour le copier
$row = sql_fetsel("mode,fichier, descriptif, credits", "spip_documents", "id_document={$id_document}");
$source = $row['fichier'];
include_spip('inc/distant');
// pour 'copie_locale'
$fichier = copie_locale($source);
if ($fichier) {
$fichier = _DIR_RACINE . $fichier;
$files[] = array('tmp_name' => $fichier, 'name' => basename($fichier));
$ajouter_documents = charger_fonction('ajouter_documents', 'action');
spip_log("convertit doc {$id_document} en local: {$source} => {$fichier}");
$liste = array();
$ajouter_documents($id_document, $files, '', 0, $row['mode'], $liste);
spip_unlink($fichier);
// ajouter l'origine du document aux credits
include_spip('action/editer_document');
document_modifier($id_document, array('credits' => ($row['credits'] ? $row['credits'] . ', ' : '') . $source));
return true;
} else {
spip_log("echec copie locale {$source}");
}
return _T('medias:erreur_copie_fichier', array('nom' => $source));
}
示例8: pack_cQuery
function pack_cQuery($chemin) {
$flux = spip_file_get_contents($chemin);
$flux = str_replace('jQuery', 'cQuery', $flux);
// On ne compacte PAS deux fois (c'est inutile et en plus ca bugge)
if (!strlen($flux)
// mode debug des crayons
OR _request('debug_crayons')
// le vieil auto_compress_js
OR ($GLOBALS['meta']['auto_compress_js'] == 'oui'
AND @file_exists(_DIR_RESTREINT.'inc/compacte_js.php'))
// ou l'espace prive
OR !function_exists('test_espace_prive')
OR test_espace_prive())
return $flux;
include_spip('lib/JavaScriptPacker/class.JavaScriptPacker');
$packer = new JavaScriptPacker($flux, 0, true, false);
// en cas d'echec (?) renvoyer l'original
if (strlen($t = $packer->pack()))
return $t;
// erreur
spip_log('erreur de pack_js');
return $flux;
}
示例9: extras_log
/**
* Log une information
*
* @param mixed $contenu
* Contenu à loger
* @param bool $important
* Est-ce une info importante à loger ?
*/
function extras_log($contenu, $important=false) {
if ($important) {
spip_log($contenu, 'extras.'. _LOG_INFO);
} else {
spip_log($contenu, 'extras.'. _LOG_INFO_IMPORTANTE);
}
}
示例10: presta_stripe_call_resilier_abonnement_dist
/**
* Jamais appele directement dans le plugin bank/
* mais par une eventuelle methode abos/resilier d'un plugin externe
*
* @param string $uid
* @param array|string $config
* @return bool
*/
function presta_stripe_call_resilier_abonnement_dist($uid, $config = 'stripe')
{
include_spip('inc/bank');
$trans = sql_fetsel("mode, pay_id", "spip_transactions", "abo_uid=" . sql_quote($uid) . " AND mode LIKE " . sql_quote($config . '%'), '', 'id_transaction', '0,1');
if (!is_array($config)) {
$config = bank_config($trans['mode']);
}
$mode = $config['presta'];
// charger l'API Stripe avec la cle
stripe_init_api($config);
$erreur = $erreur_code = '';
try {
if ($sub = \Stripe\Subscription::retrieve($uid)) {
$res = $sub->cancel();
if ($res->status != 'canceled') {
$erreur = 'cancel failed' . var_export((array) $res, true);
}
} else {
$erreur = "unknown subscription";
}
} catch (Exception $e) {
if ($body = $e->getJsonBody()) {
$err = $body['error'];
list($erreur_code, $erreur) = stripe_error_code($err);
} else {
$erreur = $e->getMessage();
$erreur_code = 'error';
}
}
if ($erreur or $erreur_code) {
spip_log($s = "call_resilier_abonnement {$uid} : erreur {$erreur_code} - {$erreur}", $mode . _LOG_ERREUR);
return false;
}
return true;
}
示例11: notifications_instituerarticle_dist
function notifications_instituerarticle_dist($quoi, $id_article, $options)
{
// ne devrait jamais se produire
if ($options['statut'] == $options['statut_ancien']) {
spip_log("statut inchange", 'notifications');
return;
}
include_spip('inc/texte');
$modele = "";
if ($options['statut'] == 'publie') {
if ($GLOBALS['meta']["post_dates"] == 'non' and strtotime($options['date']) > time()) {
$modele = "notifications/article_valide";
} else {
$modele = "notifications/article_publie";
}
}
if ($options['statut'] == 'prop' and $options['statut_ancien'] != 'publie') {
$modele = "notifications/article_propose";
}
if ($modele) {
$destinataires = array();
if ($GLOBALS['meta']["suivi_edito"] == "oui") {
$destinataires = explode(',', $GLOBALS['meta']["adresse_suivi"]);
}
$destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_article, 'options' => $options), 'data' => $destinataires));
$texte = email_notification_article($id_article, $modele);
notifications_envoyer_mails($destinataires, $texte);
}
}
示例12: action_clevermail_list_subscriber_clear_dist
function action_clevermail_list_subscriber_clear_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
if (sql_countsel("spip_cm_lists_subscribers AS list, spip_cm_subscribers AS sub", "list.sub_id = sub.sub_id AND sub.sub_email LIKE '%@example.com'")) {
$subscribers = sql_select("sub.sub_id", "spip_cm_lists_subscribers AS list, spip_cm_subscribers AS sub", "list.sub_id = sub.sub_id AND sub.sub_email LIKE '%@example.com'", "list.sub_id", "", "");
$sub_deleted = "";
while ($subscriber = sql_fetch($subscribers)) {
sql_delete("spip_cm_lists_subscribers", "sub_id = " . intval($subscriber['sub_id']));
sql_delete("spip_cm_pending", "sub_id = " . intval($subscriber['sub_id']));
$sub_deleted = $sub_deleted . ' ' . intval($subscriber['sub_id']);
}
spip_log('Suppression des abonnements ' . $sub_deleted, 'clevermail');
} else {
spip_log('Il n\'y a pas d\'abonnement à supprimer', 'clevermail');
}
if (sql_countsel("spip_cm_lists_subscribers", "", "lsr_id", "count(lsr_id) > 1") > 1) {
$doublons = sql_select("lsr_id", "spip_cm_lists_subscribers", "", "lsr_id", "", "", "count(lsr_id) > 1");
while ($doublon = sql_fetch($doublons)) {
$lists = sql_select("lst_id, sub_id", "spip_cm_lists_subscribers", "lsr_id ='" . $doublon['lsr_id'] . "'");
while ($list = sql_fetch($lists)) {
sql_updateq("spip_cm_lists_subscribers", array('lsr_id' => md5('subscribe#' . intval($list['lst_id']) . '#' . intval($list['sub_id']) . '#' . time())), "lst_id=" . sql_quote($list['lst_id']) . " AND sub_id=" . sql_quote($list['sub_id']));
}
}
}
//Récupération du timestamp du mois dernier
$today = time();
$date_today = date("d:m:Y", $today);
$today_exploded = explode(":", $date_today);
$mois = (int) $today_exploded[1];
$mois = --$mois;
$valid_date = mktime(0, 0, 0, $mois, $today_exploded[0], $today_exploded[2]);
sql_delete("spip_cm_pending", "pnd_action_date <" . $valid_date);
spip_log('Suppression des abonnements en attente depuis plus d\'un mois', 'clevermail');
}
示例13: verifier_crash_tables
/**
* Vérifier si une table a crashé
*
* Pour cela, on vérifie si on peut se connecter à la base de données.
*
* @see message_crash_tables()
*
* @return bool|array
* Si pas de table de crashée, on retourne `false`.
* Sinon, retourne un tableau contenant tous les noms
* des tables qui ont crashé.
*/
function verifier_crash_tables()
{
if (spip_connect()) {
include_spip('base/serial');
include_spip('base/auxiliaires');
$crash = array();
foreach (array('tables_principales', 'tables_auxiliaires') as $com) {
foreach ($GLOBALS[$com] as $table => $desc) {
if (!sql_select('*', $table, '', '', '', 1) and !defined('spip_interdire_cache')) {
# cas "LOST CONNECTION"
$crash[] = $table;
}
}
}
#$crash[] = 'test';
if ($crash) {
ecrire_meta('message_crash_tables', serialize($crash));
spip_log('crash des tables', 'err');
spip_log($crash, 'err');
} else {
effacer_meta('message_crash_tables');
}
return $crash;
}
return false;
}
示例14: action_autoriser_dist
function action_autoriser_dist()
{
$arg = intval(_request('arg'));
if (!autoriser('voir', 'document', $arg) or !($row = sql_fetsel("fichier", "spip_documents", "id_document=" . intval($arg))) or !($file = $row['fichier']) or !file_exists($file)) {
spip_log("Acces refuse (restreint) au document " . $arg . ': ' . $file);
redirige_par_entete('./?page=404');
} else {
if (!function_exists('mime_content_type')) {
// http://doc.spip.org/@mime_content_type
function mime_content_type($f)
{
preg_match("/\\.(\\w+)/", $f, $r);
return $r[1];
}
}
$ct = mime_content_type($file);
$cl = filesize($file);
$filename = basename($file);
header("Content-Type: " . $ct);
header("Content-Disposition: attachment; filename=\"" . $filename . "\";");
if ($dcc) {
header("Content-Description: " . $dcc);
}
if ($cl) {
header("Content-Length: " . $cl);
}
header("Content-Transfer-Encoding: binary");
readfile($file);
}
}
示例15: profils_creer_auteur
function profils_creer_auteur($set)
{
include_spip("action/editer_auteur");
include_spip('inc/acces');
$id_auteur = auteur_inserer();
spip_log($id_auteur, 'profils');
spip_log($set, 'profils');
if ($id_auteur) {
$set['pass'] = creer_pass_aleatoire();
$set['statut'] = '6forum';
autoriser_exception('modifier', 'auteur', $id_auteur);
autoriser_exception('instituer', 'auteur', $id_auteur);
auteur_modifier($id_auteur, $set);
autoriser_exception('modifier', 'auteur', $id_auteur, false);
autoriser_exception('instituer', 'auteur', $id_auteur, false);
// verifier
$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
if (!$row['login'] or !$row['email']) {
spip_log("Erreur creation profil {$id_auteur} " . var_export($set, true), "profils" . _LOG_ERREUR);
return false;
}
$row['pass'] = $set['pass'];
return $row;
}
return false;
}