本文整理汇总了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;
}
示例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;
}
示例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');
}
示例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) : "";
}
示例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;
}
示例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 . "']))))");
}
示例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;
}
示例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;
}
}
示例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);
}
示例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;
}
示例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}'");
}
}
示例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;
}
示例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);
}
示例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;
}
示例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;
}