Browse Source

1er jet du POC : on dpélace tout le merdier de affiche_milieu et de afficher_config_objet dans la colonne extra. Pour l'instant, testé uniquement sur les articles

prive_affiche_connexe
Charles Razack 1 year ago
parent
commit
199bd1d97d
8 changed files with 182 additions and 40 deletions
  1. +60
    -22
      ecrire/inc/pipelines_ecrire.php
  2. +0
    -8
      prive/squelettes/contenu/article.html
  3. +18
    -3
      prive/squelettes/extra/article.html
  4. +6
    -1
      prive/squelettes/extra/dist.html
  5. +0
    -2
      prive/squelettes/navigation/article.html
  6. +94
    -0
      prive/themes/spip/affiche_connexe.css.html
  7. +3
    -3
      prive/themes/spip/layout.css
  8. +1
    -1
      prive/themes/spip/style_prive.css.html

+ 60
- 22
ecrire/inc/pipelines_ecrire.php View File

@ -142,33 +142,64 @@ function f_afficher_blocs_ecrire($flux) {
$flux['args']['contexte']['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'];
}
$typepage = (isset($flux['args']['contexte']['type-page']) ? $flux['args']['contexte']['type-page'] : $exec);
// Navigation / affiche_gauche
if ($fond == "prive/squelettes/navigation/$typepage") {
$flux['data']['texte'] = pipeline('affiche_gauche',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']));
$flux['data']['texte'] = pipeline(
'affiche_gauche',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte'])
);
// Extra / affiche_milieu / affiche_droite
} elseif ($fond == "prive/squelettes/extra/$typepage") {
include_spip('inc/presentation_mini');
$flux['data']['texte'] = pipeline('affiche_droite',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte'])) . liste_objets_bloques($exec,
$flux['args']['contexte']);
// 1) affiche_milieu
/*if (!strpos($flux['data']['texte'], "<!--affiche_milieu-->")) {
$flux['data']['texte'] = preg_replace(
',<div id=["\']wysiwyg,',
"<!--affiche_milieu-->\\0",
$flux['data']['texte']
);
}*/
if ($o[$exec]
and $objet = $o[$exec]['type']
and $o[$exec]['edition'] == false
and isset($flux['args']['contexte'][$o[$exec]['id_table_objet']])
and $id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']])
) {
// inserer le formulaire de traduction
$flux['data']['texte'] = str_replace("<!--affiche_milieu-->", recuperer_fond('prive/objets/editer/traductions',
array('objet' => $objet, 'id_objet' => $id, 'espace_prive' => 1)) . "<!--affiche_milieu-->", $flux['data']['texte']);
}
$flux['data']['texte'] = pipeline(
'affiche_milieu',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte'])
);
// 2) affiche_droite
$flux['data']['texte'] = pipeline(
'affiche_droite',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte'])
) . liste_objets_bloques($exec,$flux['args']['contexte']);
// Hierarchie / afficher_hierarchie
} elseif ($fond == "prive/squelettes/hierarchie/$typepage" and $o[$exec]) {
// id non defini sur les formulaire de nouveaux objets
$id = isset($flux['args']['contexte'][$o[$exec]['id_table_objet']]) ? intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]) : 0;
$flux['data']['texte'] = pipeline('affiche_hierarchie',
array('args' => array('objet' => $o[$exec]['type'], 'id_objet' => $id), 'data' => $flux['data']['texte']));
$flux['data']['texte'] = pipeline(
'affiche_hierarchie',
array('args' => array('objet' => $o[$exec]['type'], 'id_objet' => $id), 'data' => $flux['data']['texte'])
);
// Contenu : afficher_fiche_objet (suppression de affiche_milieu)
} elseif ($fond == "prive/squelettes/contenu/$typepage") {
if (!strpos($flux['data']['texte'], "<!--affiche_milieu-->")) {
$flux['data']['texte'] = preg_replace(',<div id=["\']wysiwyg,', "<!--affiche_milieu-->\\0",
$flux['data']['texte']);
}
if ($o[$exec]
and $objet = $o[$exec]['type']
and $o[$exec]['edition'] == false
and isset($flux['args']['contexte'][$o[$exec]['id_table_objet']])
and $id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']])
) {
// inserer le formulaire de traduction
$flux['data']['texte'] = str_replace("<!--affiche_milieu-->", recuperer_fond('prive/objets/editer/traductions',
array('objet' => $objet, 'id_objet' => $id, 'espace_prive' => 1)) . "<!--affiche_milieu-->", $flux['data']['texte']);
$flux['data']['texte'] = pipeline('afficher_fiche_objet', array(
'args' => array(
'contexte' => $flux['args']['contexte'],
@ -178,11 +209,15 @@ function f_afficher_blocs_ecrire($flux) {
'data' => $flux['data']['texte']
));
}
$flux['data']['texte'] = pipeline('affiche_milieu',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']));
// Pied / affiche_pied
} elseif ($fond == "prive/squelettes/inclure/pied") {
$flux['data']['texte'] = pipeline('affiche_pied',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']));
$flux['data']['texte'] = pipeline(
'affiche_pied',
array('args' => $flux['args']['contexte'], 'data' => $flux['data']['texte'])
);
// Wysiwyg / afficher_contenu_objet
} elseif (strncmp($fond, "prive/objets/contenu/", 21) == 0
and $objet = basename($fond)
and $objet == substr($fond, 21)
@ -190,10 +225,13 @@ function f_afficher_blocs_ecrire($flux) {
and $o[$objet]
) {
$id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]);
$flux['data']['texte'] = pipeline('afficher_contenu_objet', array(
'args' => array('type' => $objet, 'id_objet' => $id, 'contexte' => $flux['args']['contexte']),
'data' => $flux['data']['texte']
));
$flux['data']['texte'] = pipeline(
'afficher_contenu_objet',
array(
'args' => array('type' => $objet, 'id_objet' => $id, 'contexte' => $flux['args']['contexte']),
'data' => $flux['data']['texte'],
)
);
}
}


+ 0
- 8
prive/squelettes/contenu/article.html View File

@ -19,15 +19,7 @@
[(#REM|changer_typo)]
#SET{options,#ARRAY}
[(#STATUT|=={prop}|oui)[(#SET{options,[(#ARRAY{label_date,<:texte_date_publication_objet:>})]})] ]
<div class="ajax">
#FORMULAIRE_DATER{article,#ID_ARTICLE,'',#GET{options}}
</div>
<div class="ajax">
#FORMULAIRE_EDITER_LIENS{auteurs,article,#ID_ARTICLE}
</div>
<!--affiche_milieu-->
<BOUCLE_proposer(ARTICLES)
{id_article}
{statut=prepa}


+ 18
- 3
prive/squelettes/extra/article.html View File

@ -1,7 +1,22 @@
<BOUCLE_extra(ARTICLES){id_article}{statut?}{si #ENV{exec}|=={article}}>
#SET{statut,#SESSION{statut}|statuts_articles_visibles}
#SET{where,#VAL{id_article!=}|concat{#ID_ARTICLE}}
<INCLURE{fond=prive/objets/liste/articles-memerubrique,id_rubrique=#ID_RUBRIQUE,where=#GET{where},statut=#GET{statut},env,ajax}>
<div class="affiche_connexe">
<div class="ajax">
#FORMULAIRE_DATER{article,#ID_ARTICLE,'',#GET{options}}
</div>
<div class="ajax">
#FORMULAIRE_EDITER_LIENS{auteurs,article,#ID_ARTICLE}
</div>
<!--affiche_milieu-->
#PIPELINE{afficher_config_objet,#ARRAY{args,#ARRAY{type,article,id,#ID_ARTICLE},data,''}}
</div>
<div class="affiche_extra">
#SET{statut,#SESSION{statut}|statuts_articles_visibles}
#SET{where,#VAL{id_article!=}|concat{#ID_ARTICLE}}
<INCLURE{fond=prive/objets/liste/articles-memerubrique,id_rubrique=#ID_RUBRIQUE,where=#GET{where},statut=#GET{statut},env,ajax}>
<!-- extra -->
</div>
</BOUCLE_extra>
[(#ENV{exec}|=={article_edit}|oui)<INCLURE{fond=prive/squelettes/extra/article_edit,env}>]

+ 6
- 1
prive/squelettes/extra/dist.html View File

@ -5,4 +5,9 @@
Distribue sous licence GPL
]
<!-- extra -->
<div class="affiche_connexe">
<!--affiche_milieu-->
</div>
<div class="affiche_extra">
<!-- extra -->
</div>

+ 0
- 2
prive/squelettes/navigation/article.html View File

@ -7,8 +7,6 @@
#FORMULAIRE_EDITER_LOGO{article,#ID_ARTICLE,'',#ENV**}
</div>
#PIPELINE{afficher_config_objet,#ARRAY{args,#ARRAY{type,article,id,#ID_ARTICLE},data,''}}
<div class="ajax">
#FORMULAIRE_REDIRIGER_ARTICLE{#ENV{id_article}}
</div>


+ 94
- 0
prive/themes/spip/affiche_connexe.css.html View File

@ -0,0 +1,94 @@
[(#REM)<style>]#CACHE{3600*100,cache-client}
#HTTP_HEADER{Content-Type: text/css;charset=utf-8}
#HTTP_HEADER{Vary: Accept-Encoding}
/**
* ================================
* Ajustements pour affiche_connexe
* ================================
*/
.affiche_connexe,
.affiche_connexe * {
box-sizing: border-box;
}
.affiche_connexe {
margin-top: 2em;
}
/* Liste d'objets */
.affiche_connexe .liste-objets {
background-color: white;
word-break: break-all;
}
.affiche_connexe .liste-objets thead {
display: none;
}
.affiche_connexe .liste-objets caption {
background-color: transparent;
}
.affiche_connexe .liste-objets .caption {
background-image: none !important;
padding-left: 5px !important;
font-size: 1em;
}
.affiche_connexe .liste-objets tr > .picto {
width: 0;
}
.affiche_connexe .liste-objets tr > .picto img {
display: none;
}
/* Liste d'objets spécifiques */
.affiche_connexe .liste-objets.auteurs .email,
.affiche_connexe .liste-objets.auteurs .nombre {
display: none;
}
/* Headings normalisés */
.affiche_connexe h4,
.affiche_connexe .h4,
.affiche_connexe caption,
.affiche_connexe .caption-wrap {
font-size: 0.9em;
}
/* Formulaires */
.affiche_connexe .formulaire_spip {
border-color: #ddd;
background-color: white;
margin: 1.5em 0;
}
.affiche_connexe .formulaire_editer_liens .liste-objets {
margin-left: -5px;
margin-right: -5px;
}
.lat .affiche_connexe .formulaire_traduire .editer label {
font-weight: bold;
}
.affiche_connexe input.recherche {
width: 100%;
}
/* Marges autour du wysiwyg */
#wysiwyg {
margin: 2.0775em 0;
}
/**
* ==========================
* Correctifs SPIP génériques
* ==========================
*/
/* Liste objets qui dépasse */
.lat .formulaire_editer_liens .liste-objets-lies {
margin-left: -5px;
margin-right: -5px;
}
/**
* ==================
* Correctifs plugins
* ==================
*/
.formulaire_editer_composition_objet h4 {
background: none !important;
padding-left: 5px !important;
}

+ 3
- 3
prive/themes/spip/layout.css View File

@ -101,7 +101,7 @@ body.large .largeur {
minmax(auto, calc(100% - (8em + 8vw)));*/
grid-template-rows: auto 1fr; /* la 1ère ligne doit se collapser */
grid-template-columns:
calc(8em + 8%) /* navigation & extra */
calc(8em + 12%) /* navigation & extra */
1fr; /* contenu */
grid-template-areas:
"navigation contenu "
@ -144,9 +144,9 @@ body.large .largeur {
minmax(auto, calc(100% - (8em + 8vw)))
min-content;*/
grid-template-columns:
calc(8em + 8%) /* navigation */
calc(8em + 12%) /* navigation */
1fr /* contenu */
calc(8em + 8%); /* extra */
calc(8em + 12%); /* extra */
grid-template-areas:
"navigation contenu extra"
"navigation contenu extra";


+ 1
- 1
prive/themes/spip/style_prive.css.html View File

@ -32,7 +32,7 @@ Valeurs par defaut :
[(#INCLURE{#VAL{clear.css}|find_in_theme|direction_css{#GET{dir}}|substr{#CONST{_DIR_RACINE}|strlen}})]
[(#INCLURE{#VAL{layout.css}|find_in_theme|direction_css{#GET{dir}}|substr{#CONST{_DIR_RACINE}|strlen}})]
<BOUCLE_css(POUR){tableau #LISTE{typo.css,grids.css,bando.css,icons.css,lists.css,forms.css,picker.css,box_skins.css,jquery-ui.css,content.css,exceptions.css,theme.css}}>
<BOUCLE_css(POUR){tableau #LISTE{typo.css,grids.css,bando.css,icons.css,lists.css,forms.css,picker.css,box_skins.css,jquery-ui.css,content.css,exceptions.css,theme.css,affiche_connexe.css}}>
[(#SET{fond,[(#VALEUR|concat{.html}|find_in_theme|substr{[(#CONST{_DIR_RACINE}|strlen)],[(#VAL{-5}|intval)]})]})]
/*
* #VALEUR::[(#GET{fond})]


Loading…
Cancel
Save