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


PHP objet_info函数代码示例

本文整理汇总了PHP中objet_info函数的典型用法代码示例。如果您正苦于以下问题:PHP objet_info函数的具体用法?PHP objet_info怎么用?PHP objet_info使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了objet_info函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: auteur_modifier

/**
 * Appelle toutes les fonctions de modification d'un auteur
 *
 * @param int $id_auteur
 * @param array $set
 * @param bool $force_update
 *   permet de forcer la maj en base des champs fournis, sans passer par instancier
 *   utilise par auth/spip
 * @return string
 */
function auteur_modifier($id_auteur, $set = null, $force_update = false)
{
    include_spip('inc/modifier');
    include_spip('inc/filtres');
    $c = collecter_requests(objet_info('auteur', 'champs_editables'), $force_update ? array() : array('webmestre', 'pass', 'login'), $set);
    if ($err = objet_modifier_champs('auteur', $id_auteur, array('nonvide' => array('nom' => _T('ecrire:item_nouvel_auteur'))), $c)) {
        return $err;
    }
    $session = $c;
    $err = '';
    if (!$force_update) {
        // Modification de statut, changement de rubrique ?
        $c = collecter_requests(array('statut', 'new_login', 'new_pass', 'login', 'pass', 'webmestre', 'restreintes', 'id_parent'), array(), $set);
        if (isset($c['new_login']) and !isset($c['login'])) {
            $c['login'] = $c['new_login'];
        }
        if (isset($c['new_pass']) and !isset($c['pass'])) {
            $c['pass'] = $c['new_pass'];
        }
        $err = auteur_instituer($id_auteur, $c);
        $session = array_merge($session, $c);
    }
    // .. mettre a jour les sessions de cet auteur
    include_spip('inc/session');
    $session['id_auteur'] = $id_auteur;
    unset($session['new_login']);
    unset($session['new_pass']);
    actualiser_sessions($session);
    return $err;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:40,代码来源:editer_auteur.php

示例2: afficher_diff_jointure_dist

/**
 * Afficher le diff d'un champ texte generique
 * @param string $champ
 * @param string $old
 * @param string $new
 * @param string $format
 *   apercu, diff ou complet
 * @return string
 */
function afficher_diff_jointure_dist($champ, $old, $new, $format = 'diff')
{
    $join = substr($champ, 9);
    $objet = objet_type($join);
    $old = explode(',', $old);
    $new = explode(',', $new);
    $liste = array();
    // les communs
    $intersection = array_intersect($new, $old);
    foreach ($intersection as $id) {
        if ($id = intval(trim($id))) {
            $liste[$id] = "<a href='" . generer_url_entite($id, $objet) . "' title='" . _T(objet_info($objet, 'texte_objet')) . " {$id}'>" . generer_info_entite($id, $objet, 'titre') . "</a>";
        }
    }
    // les supprimes
    $old = array_diff($old, $intersection);
    foreach ($old as $id) {
        if ($id = intval(trim($id))) {
            $liste[$id] = "<span class='diff-supprime'>" . "<a href='" . generer_url_entite($id, $objet) . "' title='" . _T(objet_info($objet, 'texte_objet')) . " {$id}'>" . generer_info_entite($id, $objet, 'titre') . "</a>" . "</span>";
        }
    }
    // les ajoutes
    $new = array_diff($new, $intersection);
    foreach ($new as $id) {
        if ($id = intval(trim($id))) {
            $liste[$id] = "<span class='diff-ajoute'>" . "<a href='" . generer_url_entite($id, $objet) . "' title='" . _T(objet_info($objet, 'texte_objet')) . " {$id}'>" . generer_info_entite($id, $objet, 'titre') . "</a>" . "</span>";
        }
    }
    ksort($liste);
    $liste = implode(', ', $liste);
    return $liste;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:41,代码来源:jointure.php

示例3: html_f3666965c018303599bb64189cbac96c

function html_f3666965c018303599bb64189cbac96c($Cache, $Pile, $doublons = array(), $Numrows = array(), $SP = 0)
{
    if (isset($Pile[0]["doublons"]) and is_array($Pile[0]["doublons"])) {
        $doublons = nettoyer_env_doublons($Pile[0]["doublons"]);
    }
    $connect = '';
    $page = ' <div' . (($t1 = strval(interdire_scripts(entites_html(sinon(table_valeur(@$Pile[0], (string) 'divclass', null), 'spip-admin-bloc'), true)))) !== '' ? ' class="' . $t1 . '"' : '') . ' id=\'spip-admin\' dir="' . lang_dir(@$Pile[0]['lang'], 'ltr', 'rtl') . '">' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'analyser', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="analyser">' . _T('public|spip|ecrire:analyse_xml') . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'xhtml_error', null), true)))) !== '' ? ' (' . $t2 . ')' : '') . '</a>') : '') . '
	' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true) ? ' ' : ''))) !== '' ? $t1 . ('
		' . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'id_objet', null), true)))) !== '' ? '<a href="' . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) ('voir_' . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true))), null), true)) . '" class="spip-admin-boutons"
		id="voir_' . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true)) . '">' . interdire_scripts(_T(objet_info(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true), 'texte_objet'))) . '
			(' . $t2 . ')</a>' : '') . '
	') : '') . '<!--extra-->' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'ecrire', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="ecrire">' . _T('public|spip|ecrire:espace_prive') . '</a>') : '') . '
	<a href="' . parametre_url(self(), 'var_mode', interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'calcul', null), true))) . '" class="spip-admin-boutons"
		id="var_mode">' . _T('public|spip|ecrire:admin_recalculer') . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'use_cache', null), true)) . '</a>' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'preview', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="preview">' . _T('public|spip|ecrire:previsualisation') . '</a>') : '') . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'debug', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="debug">' . _T('public|spip|ecrire:admin_debug') . '</a>') : '') . '
</div>
';
    return analyse_resultat_skel('html_f3666965c018303599bb64189cbac96c', $Cache, $page, 'squelettes-dist/formulaires/administration.html');
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:26,代码来源:html_f3666965c018303599bb64189cbac96c.php

示例4: label_champ

/**
 * Trouver le label d'un champ de révision
 * 
 * Quelques champs ont un label dans dans les chaînes de langue de SPIP
 * Pour un champ particulier d'un objet particulier, le pipeline revisions_chercher_label
 * peut être utilisé
 * 
 * @param string $champ
 * 		Le nom du champ révisionné
 * @param string $objet
 * 		Le type d'objet révisionné
 * @return string $label
 * 		Le label du champ
 */
function label_champ($champ, $objet = false)
{
    $label = "";
    // si jointure: renvoyer le nom des objets joints
    if (strncmp($champ, 'jointure_', 9) == 0) {
        return _T(objet_info(objet_type(substr($champ, 9)), 'texte_objets'));
    }
    switch ($champ) {
        case 'surtitre':
            $label = "texte_sur_titre";
            break;
        case 'soustitre':
            $label = "texte_sous_titre";
            break;
        case 'nom_site':
            $label = "lien_voir_en_ligne";
            break;
        case 'email':
            $label = "entree_adresse_email_2";
            break;
        case 'login':
            $label = "item_login";
            break;
        case 'chapo':
            $champ = "chapeau";
        default:
            $label = pipeline('revisions_chercher_label', array('args' => array('champ' => $champ, 'objet' => $objet), 'data' => $label ? $label : 'info_' . $champ));
            break;
    }
    return $label ? _T($label) : "";
}
开发者ID:genma,项目名称:spip_ynh,代码行数:45,代码来源:revision_fonctions.php

示例5: inc_forum_insert_dist

/**
 * Un parametre permet de forcer le statut (exemple: plugin antispam)
 *
 * http://code.spip.net/@inc_forum_insert_dist
 *
 * @param $objet
 * @param $id_objet
 * @param $id_forum
 *   en reponse a
 * @param null $force_statut
 * @return bool
 */
function inc_forum_insert_dist($objet, $id_objet, $id_forum, $force_statut = null)
{
    if (!in_array($force_statut, array('privrac', 'privadm'))) {
        if (!strlen($objet) or !intval($id_objet)) {
            spip_log("Erreur insertion forum sur objet='{$objet}', id_objet={$id_objet}", 'forum.' . _LOG_ERREUR);
            return 0;
        }
    }
    spip_log("insertion de forum {$force_statut} sur {$objet} {$id_objet} (+{$id_forum})", 'forum');
    include_spip('inc/filtres');
    include_spip('inc/modifier');
    include_spip('inc/session');
    $champs = objet_info('forum', 'champs_editables');
    $c = collecter_requests($champs, array());
    $c['statut'] = 'off';
    $c['objet'] = $objet;
    $c['id_objet'] = $id_objet;
    $c['auteur'] = sinon(session_get('nom'), session_get('session_nom'));
    $c['email_auteur'] = sinon(session_get('email'), session_get('session_email'));
    $c = pipeline('pre_edition', array('args' => array('table' => 'spip_forum', 'id_objet' => $id_forum, 'action' => 'instituer'), 'data' => forum_insert_statut($c, $force_statut)));
    $id_reponse = forum_insert_base($c, $id_forum, $objet, $id_objet, $c['statut'], _request('ajouter_mot'));
    if (!$id_reponse) {
        spip_log("Echec insertion forum sur {$objet} {$id_objet} (+{$id_forum})", 'forum.' . _LOG_ERREUR);
    } else {
        spip_log("forum insere' {$id_reponse} sur {$objet} {$id_objet} (+{$id_forum})", 'forum');
    }
    return $id_reponse;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:40,代码来源:forum_insert.php

示例6: critere_archives

function critere_archives($idb, &$boucles, $crit)
{
    $boucle =& $boucles[$idb];
    $objet = objet_type($boucle->id_table);
    $date = objet_info($objet, 'date');
    $champ_date = "'" . $boucle->id_table . "." . $date . "'";
    $boucle->where[] = array('REGEXP', $champ_date, "sql_quote(('^' . interdire_scripts(entites_html(\$Pile[0]['" . VAR_DATE . "']))))");
}
开发者ID:jazzman346,项目名称:CAC_Site,代码行数:8,代码来源:calendriermini_fonctions.php

示例7: urls_afficher_fiche_objet

function urls_afficher_fiche_objet($flux)
{
    if (isset($GLOBALS['meta']['urls_activer_controle']) and $GLOBALS['meta']['urls_activer_controle'] == 'oui' and $objet = $flux['args']['type'] and $id_objet = $flux['args']['id'] and objet_info($objet, 'page')) {
        $p = strpos($flux['data'], 'fiche_objet');
        $p = strpos($flux['data'], '<!--/hd-->', $p);
        //$p = strrpos(substr($flux['data'],0,$p),'<div');
        $res = recuperer_fond('prive/objets/editer/url', array('id_objet' => $id_objet, 'objet' => $objet), array('ajax' => true));
        $flux['data'] = substr_replace($flux['data'], $res, $p, 0);
    }
    return $flux;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:11,代码来源:urls_pipeline.php

示例8: souscription_modifier

/**
 * Modifier une souscription
 *
 * $c est un contenu (par defaut on prend le contenu via _request())
 *
 * @param int $id_souscription
 * @param array|bool $set
 * @return string
 */
function souscription_modifier($id_souscription, $set = false)
{
    include_spip('inc/modifier');
    $c = collecter_requests(objet_info('souscription', 'champs_editables'), array(), $set);
    /* Récupération du nom du pays */
    $code_pays = _request('pays');
    $pays = sql_getfetsel(sql_multi("nom", $GLOBALS['spip_lang']), 'spip_pays', "code=" . sql_quote($code_pays));
    $c = array_merge($c, array("pays" => $pays));
    if ($err = objet_modifier_champs('souscription', $id_souscription, array(), $c)) {
        return $err;
    }
}
开发者ID:attacfr,项目名称:spip_souscription,代码行数:21,代码来源:editer_souscription.php

示例9: signale_edition

/**
 * J'edite tel objet
 * si l'objet est non editable dans l'espace prive, ne pas retenir le signalement
 * qui correspond a un process unique
 *
 * http://doc.spip.org/@signale_edition
 *
 * @param int $id
 * @param $auteur
 * @param string $type
 * @return mixed
 */
function signale_edition($id, $auteur, $type = 'article')
{
    include_spip('base/objets');
    include_spip('inc/filtres');
    if (objet_info($type, 'editable') !== 'oui') {
        return;
    }
    $edition = lire_tableau_edition();
    if (isset($auteur['id_auteur']) and $id_a = $auteur['id_auteur']) {
        $nom = $auteur['nom'];
    } else {
        $nom = $id_a = $GLOBALS['ip'];
    }
    if (!is_array($edition[$type][$id])) {
        $edition[$type][$id] = array();
    }
    $edition[$type][$id][$id_a][$nom] = time();
    ecrire_tableau_edition($edition);
}
开发者ID:nursit,项目名称:SPIP,代码行数:31,代码来源:drapeau_edition.php

示例10: article_modifier

/**
 * Appelle toutes les fonctions de modification d'un article
 * $err est de la forme chaine de langue ou vide si pas d'erreur
 * http://doc.spip.org/@articles_set
 *
 * @param  $id_article
 * @param null $set
 * @return string
 */
function article_modifier($id_article, $set = null)
{
    // unifier $texte en cas de texte trop long
    trop_longs_articles();
    include_spip('inc/modifier');
    include_spip('inc/filtres');
    $c = collecter_requests(objet_info('article', 'champs_editables'), array('date', 'statut', 'id_parent'), $set);
    // Si l'article est publie, invalider les caches et demander sa reindexation
    $t = sql_getfetsel("statut", "spip_articles", "id_article=" . intval($id_article));
    $invalideur = $indexation = false;
    if ($t == 'publie') {
        $invalideur = "id='article/{$id_article}'";
        $indexation = true;
    }
    if ($err = objet_modifier_champs('article', $id_article, array('nonvide' => array('titre' => _T('info_nouvel_article') . " " . _T('info_numero_abbreviation') . $id_article), 'invalideur' => $invalideur, 'indexation' => $indexation, 'date_modif' => 'date_modif'), $c)) {
        return $err;
    }
    // Modification de statut, changement de rubrique ?
    $c = collecter_requests(array('date', 'statut', 'id_parent'), array(), $set);
    $err = article_instituer($id_article, $c);
    return $err;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:31,代码来源:editer_article.php

示例11: document_modifier

/**
 * Enregistre une revision de document.
 * $set est un contenu (par defaut on prend le contenu via _request())
 *
 * @param int $id_document
 * @param array|bool $set
 */
function document_modifier($id_document, $set = false)
{
    include_spip('inc/modifier');
    include_spip('inc/filtres');
    // champs normaux
    $champs = collecter_requests(objet_info('document', 'champs_editables'), array('parents', 'ajout_parents'), $set);
    $invalideur = "";
    $indexation = false;
    // Si le document est publie, invalider les caches et demander sa reindexation
    $t = sql_getfetsel("statut", "spip_documents", 'id_document=' . intval($id_document));
    if ($t == 'publie') {
        $invalideur = "id='id_document/{$id_document}'";
        $indexation = true;
    }
    $ancien_fichier = "";
    // si le fichier est modifie, noter le nom de l'ancien pour faire le menage
    if (isset($champs['fichier'])) {
        $ancien_fichier = sql_getfetsel('fichier', 'spip_documents', 'id_document=' . intval($id_document));
    }
    if ($err = objet_modifier_champs('document', $id_document, array('invalideur' => $invalideur, 'indexation' => $indexation), $champs)) {
        return $err;
    }
    // nettoyer l'ancien fichier si necessaire
    if ($champs['fichier'] and $ancien_fichier and $ancien_fichier !== $champs['fichier'] and @file_exists($f = get_spip_doc($ancien_fichier))) {
        spip_unlink($f);
    }
    // Changer le statut du document ?
    // le statut n'est jamais fixe manuellement mais decoule de celui des objets lies
    $champs = collecter_requests(array('parents', 'ajouts_parents'), array(), $set);
    if (document_instituer($id_document, $champs)) {
        //
        // Post-modifications
        //
        // Invalider les caches
        include_spip('inc/invalideur');
        suivre_invalideur("id='id_document/{$id_document}'");
    }
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:45,代码来源:editer_document.php

示例12: renseigner_taille_dimension_image

/**
 * Renseigner les informations de taille et dimension d'un document
 * 
 * Récupère les informations de taille (largeur / hauteur / type_image / taille) d'un document
 * Utilise pour cela les fonctions du répertoire metadatas/*
 * 
 * Ces fonctions de récupérations peuvent retourner d'autres champs si ces champs sont définis
 * comme editable dans la déclaration de la table spip_documents
 * 
 * TODO Renommer cette fonction sans "_image"
 *
 * @param string $fichier 
 * 		Le fichier à examiner 
 * @param string $ext
 * 		L'extension du fichier à examiner
 * @return array|string $infos
 * 		Si c'est une chaine, c'est une erreur
 * 		Si c'est un tableau, l'ensemble des informations récupérées du fichier
 */
function renseigner_taille_dimension_image($fichier, $ext)
{
    $infos = array('largeur' => 0, 'hauteur' => 0, 'type_image' => '', 'taille' => 0);
    // Quelques infos sur le fichier
    if (!$fichier or !@file_exists($fichier) or !($infos['taille'] = @intval(filesize($fichier)))) {
        spip_log("Echec copie du fichier {$fichier}");
        return _T('medias:erreur_copie_fichier', array('nom' => $fichier));
    }
    // chercher une fonction de description
    $meta = array();
    if ($metadata = charger_fonction($ext, "metadata", true)) {
        $meta = $metadata($fichier);
    } else {
        $media = sql_getfetsel('media_defaut', 'spip_types_documents', 'extension=' . sql_quote($ext));
        if ($metadata = charger_fonction($media, "metadata", true)) {
            $meta = $metadata($fichier);
        }
    }
    $meta = pipeline('renseigner_document', array('args' => array('extension' => $ext, 'fichier' => $fichier), 'data' => $meta));
    include_spip('inc/filtres');
    # pour objet_info()
    $editables = objet_info('document', 'champs_editables');
    foreach ($meta as $m => $v) {
        if (isset($infos[$m]) or in_array($m, $editables)) {
            $infos[$m] = $v;
        }
    }
    return $infos;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:48,代码来源:renseigner_document.php

示例13: autoriser_changerlangue_dist

/**
 * Autorisation de changer de langue un contenu
 *
 * @param  string $faire Action demandée
 * @param  string $type Type d'objet sur lequel appliquer l'action
 * @param  int $id Identifiant de l'objet
 * @param  array $qui Description de l'auteur demandant l'autorisation
 * @param  array $opt Options de cette autorisation
 * @return bool          true s'il a le droit, false sinon
 **/
function autoriser_changerlangue_dist($faire, $type, $id, $qui, $opt)
{
    $multi_objets = explode(',', lire_config('multi_objets'));
    $gerer_trad_objets = explode(',', lire_config('gerer_trad_objets'));
    $table = table_objet_sql($type);
    if (in_array($table, $multi_objets) or in_array($table, $gerer_trad_objets)) {
        // affichage du formulaire si la configuration l'accepte
        $multi_secteurs = lire_config('multi_secteurs');
        $champs = objet_info($type, 'field');
        if ($multi_secteurs == 'oui' and array_key_exists('id_rubrique', $champs)) {
            // multilinguisme par secteur et objet rattaché à une rubrique
            $primary = id_table_objet($type);
            if ($table != 'spip_rubriques') {
                $id_rubrique = sql_getfetsel('id_rubrique', "{$table}", "{$primary}=" . intval($id));
            } else {
                $id_rubrique = $id;
            }
            $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
            if (!$id_secteur > 0) {
                $id_secteur = $id_rubrique;
            }
            $langue_secteur = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_secteur));
            $langue_objet = sql_getfetsel('lang', "{$table}", "{$primary}=" . intval($id));
            if ($langue_secteur != $langue_objet) {
                // configuration incohérente, on laisse l'utilisateur corriger la situation
                return true;
            }
            if ($table != 'spip_rubriques') {
                // le choix de la langue se fait seulement sur les rubriques
                return false;
            } else {
                $id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id));
                if ($id_parent != 0) {
                    // sous-rubriques : pas de choix de langue
                    return false;
                }
            }
        }
    } else {
        return false;
    }
    return autoriser('modifier', $type, $id, $qui, $opt);
}
开发者ID:spip,项目名称:SPIP,代码行数:53,代码来源:autoriser.php

示例14: rubrique_modifier

/**
 * Modifier une rubrique en base
 *
 * @param int $id_rubrique
 *     Identifiant de la rubrique modifiée
 * @param array|null $set
 *     Tableau qu'on peut proposer en lieu et place de _request()
 * @return bool|string
 *     - false  : Aucune modification, aucun champ n'est à modifier
 *     - chaîne vide : Vide si tout s'est bien passé
 *     - chaîne : Texte d'un message d'erreur
 */
function rubrique_modifier($id_rubrique, $set = null)
{
    include_spip('inc/autoriser');
    include_spip('inc/filtres');
    include_spip('inc/modifier');
    $c = collecter_requests(objet_info('rubrique', 'champs_editables'), array('id_parent', 'confirme_deplace'), $set);
    if ($err = objet_modifier_champs('rubrique', $id_rubrique, array('data' => $set, 'nonvide' => array('titre' => _T('titre_nouvelle_rubrique') . " " . _T('info_numero_abbreviation') . $id_rubrique)), $c)) {
        return $err;
    }
    $c = collecter_requests(array('id_parent', 'confirme_deplace'), array(), $set);
    // Deplacer la rubrique
    if (isset($c['id_parent'])) {
        $err = rubrique_instituer($id_rubrique, $c);
    }
    // invalider les caches marques de cette rubrique
    include_spip('inc/invalideur');
    suivre_invalideur("id='rubrique/{$id_rubrique}'");
    // et celui de menu_rubriques
    effacer_meta("date_calcul_rubriques");
    return $err;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:33,代码来源:editer_rubrique.php

示例15: formulaires_editer_logo_charger_dist

/**
 * Chargement du formulaire d'édition de logo
 *
 * @param string $objet Objet SPIP auquel sera lie le document (ex. article)
 * @param int $id_objet Identifiant de l'objet
 * @param string $retour Url de redirection apres traitement
 * @param array $options Tableau d'option (exemple : image_reduire => 50)
 * @return array               Variables d'environnement pour le fond
 */
function formulaires_editer_logo_charger_dist($objet, $id_objet, $retour = '', $options = array())
{
    // pas dans une boucle ? formulaire pour le logo du site
    // dans ce cas, il faut chercher un 'siteon0.ext'
    if (!$objet) {
        $objet = 'site';
    }
    $objet = objet_type($objet);
    $_id_objet = id_table_objet($objet);
    if (!is_array($options)) {
        $options = unserialize($options);
    }
    if (!isset($options['titre'])) {
        $balise_img = chercher_filtre('balise_img');
        $img = $balise_img(chemin_image('image-24.png'), "", 'cadre-icone');
        $libelles = pipeline('libeller_logo', $GLOBALS['logo_libelles']);
        $libelle = ($id_objet or $objet != 'rubrique') ? $objet : 'racine';
        if (isset($libelles[$libelle])) {
            $libelle = $libelles[$libelle];
        } elseif ($libelle = objet_info($objet, 'texte_logo_objet')) {
            $libelle = _T($libelle);
        } else {
            $libelle = _L('Logo');
        }
        switch ($objet) {
            case 'article':
                $libelle .= " " . aide("logoart");
                break;
            case 'breve':
                $libelle .= " " . aide("breveslogo");
                break;
            case 'rubrique':
                $libelle .= " " . aide("rublogo");
                break;
            default:
                break;
        }
        $options['titre'] = $img . $libelle;
    }
    if (!isset($options['editable'])) {
        include_spip('inc/autoriser');
        $options['editable'] = autoriser('iconifier', $objet, $id_objet);
    }
    $res = array('editable' => ($GLOBALS['meta']['activer_logos'] == 'oui' ? ' ' : '') && (!isset($options['editable']) or $options['editable']), 'logo_survol' => $GLOBALS['meta']['activer_logos_survol'] == 'oui' ? ' ' : '', 'objet' => $objet, 'id_objet' => $id_objet, '_options' => $options, '_show_upload_off' => '');
    // rechercher le logo de l'objet
    // la fonction prend un parametre '_id_objet' etrange :
    // le nom de la cle primaire (et non le nom de la table)
    // ou directement le nom du raccourcis a chercher
    $chercher_logo = charger_fonction('chercher_logo', 'inc');
    $etats = $res['logo_survol'] ? array('on', 'off') : array('on');
    foreach ($etats as $etat) {
        $logo = $chercher_logo($id_objet, $_id_objet, $etat);
        if ($logo) {
            $res['logo_' . $etat] = $logo[0];
        }
    }
    // pas de logo_on -> pas de formulaire pour le survol
    if (!isset($res['logo_on'])) {
        $res['logo_survol'] = '';
    } elseif (!isset($res['logo_off']) and _request('logo_up')) {
        $res['_show_upload_off'] = ' ';
    }
    // si le logo n'est pas editable et qu'il n'y en a pas, on affiche pas du tout le formulaire
    if (!$res['editable'] and !isset($res['logo_off']) and !isset($res['logo_on'])) {
        return false;
    }
    return $res;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:77,代码来源:editer_logo.php


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