You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

142 lines
3.7 KiB

<?php
/**
* Gestion de l'action compagnon
*
* @package SPIP\Compagnon\Pipelines
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Définition des messages de compagnon par défaut en fonction
*
* Retourne une liste de messages d'aides en fonction du pipeline
* demandé
*
* @pipeline compagnon_messages
*
* @param array $flux
* Données du pipeline
* @return array $flux
* Données du pipeline
**/
function compagnon_compagnon_messages($flux) {
$exec = $flux['args']['exec'];
$pipeline = $flux['args']['pipeline'];
$vus = $flux['args']['deja_vus'];
$aides = &$flux['data'];
switch ($pipeline) {
case 'affiche_milieu':
switch ($exec) {
case 'accueil':
$aides[] = [
'id' => 'accueil',
'inclure' => 'compagnon/accueil',
'statuts' => ['1comite', '0minirezo', 'webmestre']
];
$aides[] = [
'id' => 'accueil_configurer',
'titre' => _T('compagnon:c_accueil_configurer_site'),
'texte' => _T('compagnon:c_accueil_configurer_site_texte', ['nom' => $GLOBALS['meta']['nom_site']]),
'statuts' => ['webmestre'],
'target' => '#bando_identite .nom_site_spip .nom',
];
$aides[] = [
'id' => 'accueil_publication',
'titre' => _T('compagnon:c_accueil_publication'),
'texte' => _T('compagnon:c_accueil_publication_texte'),
'statuts' => ['webmestre'],
'target' => '#bando1_menu_edition',
];
break;
case 'rubriques':
// eviter si possible une requete sql.
if (!isset($vus['rubriques']) and !sql_countsel('spip_rubriques')) {
$aides[] = [
'id' => 'rubriques',
'titre' => _T('compagnon:c_rubriques_creer'),
'texte' => _T('compagnon:c_rubriques_creer_texte'),
'statuts' => ['webmestre'],
'target' => '#contenu .icone:first-of-type',
];
}
break;
case 'rubrique':
// eviter si possible une requete sql.
if (!isset($vus['rubrique'])) {
$statut = sql_getfetsel('statut', 'spip_rubriques', 'id_rubrique=' . $flux['args']['id_rubrique']);
if ($statut != 'publie') {
$aides[] = [
'id' => 'rubrique',
'titre' => _T('compagnon:c_rubrique_publier'),
'texte' => _T('compagnon:c_rubrique_publier_texte'),
'statuts' => ['webmestre'],
'target' => '#contenu .icone.article-new-24'
];
}
}
break;
case 'articles':
// eviter si possible une requete sql.
if (!isset($vus['articles']) and !sql_countsel('spip_rubriques')) {
$aides[] = [
'id' => 'articles',
'titre' => _T('compagnon:c_articles_creer'),
'texte' => _T('compagnon:c_articles_creer_texte'),
'statuts' => ['webmestre']
];
}
break;
case 'sites':
// eviter si possible une requete sql.
if (!isset($vus['sites']) and !sql_countsel('spip_rubriques')) {
$aides[] = [
'id' => 'sites',
'titre' => _T('compagnon:c_sites_creer'),
'texte' => _T('compagnon:c_sites_creer_texte'),
'statuts' => ['webmestre']
];
}
break;
case 'article':
$aides[] = [
'id' => 'article_redaction',
'inclure' => 'compagnon/article_redaction',
'statuts' => ['0minirezo', 'webmestre']
];
$aides[] = [
'id' => 'article_redaction_redacteur',
'inclure' => 'compagnon/article_redaction_redacteur',
'statuts' => ['1comite']
];
break;
}
break;
case 'affiche_gauche':
switch ($exec) {
case 'job_queue':
$aides[] = [
'id' => 'job_queue',
'titre' => _T('compagnon:c_job'),
'texte' => _T('compagnon:c_job_texte'),
'statuts' => ['webmestre']
];
break;
}
break;
}
return $flux;
}