233 lines
15 KiB
PHP
233 lines
15 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Script affichant un formulaire permettant de modifier / supprimer un hub
|
||
|
* dont l'id a été passé en paramètre
|
||
|
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||
|
*
|
||
|
**/
|
||
|
$ajax_on=false;
|
||
|
if(!empty($_GET["ajax"]))
|
||
|
{
|
||
|
$ajax_on=true;
|
||
|
session_save_path(SESSIONS_REP);
|
||
|
ini_set("session.use_only_cookies",1);
|
||
|
session_start();
|
||
|
header('Content-Type: text/html; charset=utf-8');
|
||
|
require_once("../modele/FclFlux_hub.php");
|
||
|
}
|
||
|
if($_SESSION["statut"]!="administrateur")
|
||
|
$msg_form[]=ERREUR_IMPREVUE;
|
||
|
else
|
||
|
{
|
||
|
$id_hub=intval(trim($_GET["id_hub"]));
|
||
|
if(empty($Bd))
|
||
|
require("../modele/connexion-bd.php");
|
||
|
$hub_infos=FclFlux_hub::recherche($id_hub,"id_hub","nom,publication_ok,index_ok,description,illustration,langue,mots_cles,memo");
|
||
|
if(!empty($hub_infos))
|
||
|
{
|
||
|
$access_rapides="<p class='liste_liens_btn'>Accès rapide : <a href='".PAGE_REPERTOIRE_HUB_INFO."$id_hub' title='Voir la page du hub' class='btn btn-info btn-xs' target='_blank'>Voir le hub.</a> <a href='#maj_hub' class='btn btn-info btn-xs' title='Infos du hub'>Informations générales.</a> <a href='#maj_hub_illustration' class='btn btn-info btn-xs' title='Illustration du hub'>Illustrations.</a> <a href='#post_hub' class='btn btn-info btn-xs' title='Ajouter un post dans ce hub'>+ Nouveau post.</a> <a href='#rubriques_hub' class='btn btn-info btn-xs' title='Classement du hub'>Le classement.</a> <a href='#flux_hub' class='btn btn-info btn-xs' title='Les flux à importer dans ce hub'>Flux à importer.</a> <a href='#admin_hub' class='btn btn-info btn-xs' title='Désigner les administrateurs du hub'>Administrateurs.</a> </p>";
|
||
|
$stats_txt="";
|
||
|
$hub_stats=new FclFlux_hub();
|
||
|
$hub_stats->id_hub=$id_hub;
|
||
|
$stats=$hub_stats->get_liste_abonnes();
|
||
|
$stats["nb_clics"]=$hub_stats->get_nb_clics();
|
||
|
if(!empty($stats))
|
||
|
$stats_txt="<div class='col-sm-12'><p class='help-block'><strong>Ce bureau de poste compte ".count($stats["actifs"])." abonnés actifs, ".count($stats["inactifs"])." abonnements désactivés et ".count($stats["en_pause"])." abonnés en pause. Depuis le début ses flux ont reçu ".$stats["nb_clics"]." clics.</strong></p></div>";
|
||
|
unset($hub_stats);unset($stats);
|
||
|
$form_html[0]["nom"]="Informations actuelles sur ce hub ($id_hub).";
|
||
|
$form_html[0]["champs"]="$stats_txt$access_rapides<form method='post' id='maj_hub' name='maj_hub' action='".PAGE_MAJ_HUB."?id_hub=$id_hub' role='form'>
|
||
|
<div class='form-group'>
|
||
|
<label for='nom'>Désignation.</label>
|
||
|
<input class='form-control' type='text' maxlength='".HUB_MAX_NOM."' name='nom' id='nom' value=\"".htmlspecialchars($hub_infos["nom"])."\" required>
|
||
|
<p class='help-block'><b>Obligatoire</b>.</p>
|
||
|
</div>
|
||
|
<div class='form-group'>
|
||
|
<label for='description'>Description.</label>
|
||
|
<input class='form-control' type='text' maxlength='".HUB_MAX_DESCRIPTION."' name='description' id='description' value=\"".htmlspecialchars($hub_infos["description"])."\">
|
||
|
<p class='help-block'><b>Facultatif</b>.</p>
|
||
|
</div>
|
||
|
<div class='form-group'>
|
||
|
<label for='mots_cles'>Mots-clés.</label>
|
||
|
<textarea class='form-control' rows='4' name='mots_cles' id='mots_cles'>".htmlspecialchars($hub_infos["mots_cles"])."</textarea>
|
||
|
<p class='help-block'><b>Facultatif</b>. Utile pour les recherches des utilisateurs. À séparer par des virgules.</p>
|
||
|
</div>";
|
||
|
$langues=explode("|",HUB_LANGUES);
|
||
|
$form_html[0]["champs"].="<div class='form-group'><label for='langue'>Langue principale du hub :".$hub_infos["langue"]."</label>";
|
||
|
foreach ($langues as $langue)
|
||
|
{
|
||
|
if($langue==$hub_infos["langue"])
|
||
|
$form_html[0]["champs"].="<label class='checkbox-inline'><input type='radio' name='langue' value='$langue' checked='checked'> ".$langue."</label>";
|
||
|
else
|
||
|
$form_html[0]["champs"].="<label class='checkbox-inline'><input type='radio' name='langue' value='$langue'> ".$langue."</label>";
|
||
|
}
|
||
|
$form_html[0]["champs"].="<p class='help-block'><b>Obligatoire</b>.</p></div>";
|
||
|
if($hub_infos["publication_ok"]==1)
|
||
|
$form_html[0]["champs"].="<div class='form-group'><label class='checkbox-inline'><input type='checkbox' id='publication_ok' name='publication_ok' value='1' checked='checked'> Publication autorisée.</label></div>";
|
||
|
else
|
||
|
$form_html[0]["champs"].="<div class='form-group'><label class='checkbox-inline'><input type='checkbox' id='publication_ok' name='publication_ok' value='1'> Publication autorisée.</label></div>";
|
||
|
if($hub_infos["index_ok"]==1)
|
||
|
$form_html[0]["champs"].="<div class='form-group'><label class='checkbox-inline'><input type='checkbox' id='index_ok' name='index_ok' value='1' checked='checked'> Indexation autorisée.</label></div>";
|
||
|
else
|
||
|
$form_html[0]["champs"].="<div class='form-group'><label class='checkbox-inline'><input type='checkbox' id='index_ok' name='index_ok' value='1'> Indexation autorisée.</label></div>";
|
||
|
$form_html[0]["champs"].="
|
||
|
<div class='form-group'>
|
||
|
<label for='memo'>Mémo.</label>
|
||
|
<input class='form-control' type='text' maxlength='".HUB_MAX_MEMO."' name='memo' id='memo' value=\"".htmlspecialchars($hub_infos["memo"])."\">
|
||
|
<p class='help-block'><b>Facultatif</b>. Mémo interne non publié.</p>
|
||
|
</div>
|
||
|
<div class='form-group'><label class='checkbox-inline' for='suppr_ok'><input type='checkbox' id='suppr_ok' name='suppr_ok' value='1'> Je souhaite supprimer ce hub si il n'a pas de dépendances.</label></div>
|
||
|
<div class='form-group'><label class='checkbox-inline text-danger' for='suppr_ok_tot'><input type='checkbox' id='suppr_ok_tot' name='suppr_ok_tot' value='1'> Je souhaite supprimer ce hub, <u>y compris si il a des dépendances (abonnements...)</u>.</label></div>
|
||
|
<input type='hidden' name='id_hub' id='id_hub' value='$id_hub'>
|
||
|
<button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button>
|
||
|
<p><br><br><a href='".PAGE_MAJ_HUB."' title='Saisir un nouveau hub' class='btn btn-info btn-sm'>+ Nouveau hub.</a></p>
|
||
|
</form>";
|
||
|
// les divers éléments annexes au hub
|
||
|
$hub=new FclFlux_hub();
|
||
|
$hub->id_hub=$id_hub;
|
||
|
// éventuelle illustration
|
||
|
if(!empty($hub_infos["illustration"]))
|
||
|
{
|
||
|
$fichier=$hub_infos["illustration"];
|
||
|
$adresse_illustration=HUB_ILLUS_REP."/".$fichier[0]."/".$fichier;
|
||
|
}
|
||
|
$form_html[1]["nom"]="Illustration du hub.";
|
||
|
$form_html[1]["champs"]="$access_rapides<form method='post' id='maj_hub_illustration' action='".PAGE_MAJ_HUB_ILLUSTRATION_ADMIN."' enctype='multipart/form-data' role='form' class='form-horizontal' target='uploadFrame'>";
|
||
|
if((!empty($adresse_illustration))&&(file_exists($adresse_illustration)))
|
||
|
{
|
||
|
$form_html[1]["champs"].="
|
||
|
<p><strong>Illustration actuelle.</strong><br>
|
||
|
<img src='".SITE_URL."/".$adresse_illustration."' alt='Illustration actuelle' class='img-responsive'>
|
||
|
</p>
|
||
|
<div class='form-group'>
|
||
|
<label for='illustration' class='col-sm-3 control-label'>Téléchargez une nouvelle image :</label>
|
||
|
<div class='col-sm-9'><input type='file' name='illustration' id='illustration'></div>
|
||
|
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Facultatif</b>. Vous pouvez télécharger une nouvelle image pour remplacer celle actuelle. Formats autorisés : ".str_replace("|",", ",HUB_ILLUS_EXTENSIONS).".</p></div>
|
||
|
</div>
|
||
|
<div class='form-group'>
|
||
|
<div class='col-sm-offset-3 col-sm-9'>
|
||
|
<div class='checkbox'>
|
||
|
<label for='suppr_illustration'>
|
||
|
<input name='suppr_illustration' type='checkbox' id='suppr_illustration' value='1'> Je souhaite supprimer l'illustration actuelle sans en télécharger une nouvelle.
|
||
|
</label>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>";
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$form_html[1]["champs"].="
|
||
|
<div class='form-group'>
|
||
|
<label for='illustration' class='col-sm-3 control-label'>Téléchargez une illustration :</label>
|
||
|
<div class='col-sm-9'><input type='file' name='illustration' id='illustration'></div>
|
||
|
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Facultatif</b>. Vous pouvez télécharger une image pour illustrer ce hub. Formats autorisés : ".str_replace("|",", ",HUB_ILLUS_EXTENSIONS).".</p></div>
|
||
|
</div>";
|
||
|
}
|
||
|
$form_html[1]["champs"].="<iframe id='uploadFrame' name='uploadFrame' src='#' style='width:90%;height:100px;border:0 solid;'></iframe>
|
||
|
<div id='msg_illustration'></div>
|
||
|
<input type='hidden' name='nom' id='nom' value='".htmlspecialchars($hub_infos["nom"])."'>
|
||
|
<input type='hidden' name='id_hub' id='id_hub' value='$id_hub'>
|
||
|
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'>
|
||
|
<button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button>
|
||
|
</div></div>
|
||
|
</form>\n";
|
||
|
//ajout d'une annonce dans ce hub.
|
||
|
$form_html[2]["nom"]="Saisir une nouvelle annonce dans ce hub.";
|
||
|
$form_html[2]["champs"]="$access_rapides<div id='msg_form_post'></div><form method='post' id='post_hub' name='post_hub' action='".PAGE_MAJ_HUB."' role='form'>
|
||
|
<div class='form-group'>
|
||
|
<label for='ancre'>Ancre.</label>
|
||
|
<input class='form-control' type='text' maxlength='".POST_MAX_ANCRE."' name='ancre' id='ancre' required>
|
||
|
<p class='help-block'><b>Obligatoire</b>.</p>
|
||
|
</div>
|
||
|
<div class='form-group'>
|
||
|
<label for='url'>Adresse (url).</label>
|
||
|
<input class='form-control' type='url' maxlength='".POST_MAX_URL."' name='url' id='url'>
|
||
|
<p class='help-block'><b>Obligatoire si pas de texte d'annonce</b>.</p>
|
||
|
</div>
|
||
|
<div class='form-group'>
|
||
|
<label for='annonce'>Annonce.</label>
|
||
|
<textarea class='form-control' rows='4' name='annonce' id='annonce'></textarea>
|
||
|
<p class='help-block'><b>Obligatoire si pas d'adresse pour l'article</b>.</p>
|
||
|
</div>
|
||
|
<input type='hidden' name='id_hub' id='id_hub' value='$id_hub'>
|
||
|
<button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button></form>";
|
||
|
//classement du hub en rubriques
|
||
|
$rubriques=$hub->get_rubriques_infos();
|
||
|
$suppr_rubrique="";
|
||
|
if(!empty($rubriques))
|
||
|
{
|
||
|
foreach ($rubriques as $rubrique_info)
|
||
|
{
|
||
|
$suppr_rubrique.="<div class='form-group'><ul><a href='".PAGE_MAJ_RUBRIQUES."?id_rubrique=".$rubrique_info["id_rubrique"]."' title=\"+ d'infos sur la rubrique\" target='_blank'>".$rubrique_info["nom"]."</a><li><label class='checkbox-inline' for='suppr_rubrique[]'><input name='suppr_rubrique[]' type='checkbox' id='suppr_rubrique_".$rubrique_info["id_rubrique"]."' value='".$rubrique_info["id_rubrique"]."'>Supprimer ce classement.</label></li>";
|
||
|
if($rubrique_info["reference_ok"]==1)
|
||
|
$suppr_rubrique.="<li><label class='checkbox-inline' for='suppr_reference_ok[]'><input name='suppr_reference_ok[]' type='checkbox' id='suppr_reference_ok_".$rubrique_info["id_rubrique"]."' value='".$rubrique_info["id_rubrique"]."'> Ne plus être un des hubs de référence de cette rubrique.</label></li>";
|
||
|
else
|
||
|
$suppr_rubrique.="<li><label class='checkbox-inline' for='ajout_reference_ok[]'><input name='ajout_reference_ok[]' type='checkbox' id='ajout_reference_ok_".$rubrique_info["id_rubrique"]."' value='".$rubrique_info["id_rubrique"]."'> Désigné comme hub de référence de cette rubrique.</label></li>";
|
||
|
$suppr_rubrique.="</ul></div>\n";
|
||
|
}
|
||
|
}
|
||
|
$form_html[3]["nom"]="Classement du hub.";
|
||
|
$form_html[3]["champs"]=" $access_rapides<div id='msg_form_classement'></div><form method='post' id='rubriques_hub' name='rubriques_hub' action='".PAGE_MAJ_HUB."' role='form'>
|
||
|
<div class='form-group'>
|
||
|
<label for='recherche_rubrique'>Nouvelle rubrique où classer le hub.</label>
|
||
|
<input class='form-control' type='text' maxlength='20' name='recherche_rubrique' id='recherche_rubrique'>
|
||
|
</div>
|
||
|
<div id='select_rubriques'></div>
|
||
|
<div class='form-group'><label class='checkbox-inline' for='reference_ok'><input type='checkbox' id='reference_ok' name='reference_ok' value='1'> Désigné comme hub de référence dans cette rubrique.</label></div>";
|
||
|
if(!empty($suppr_rubrique))
|
||
|
$form_html[3]["champs"].="<p><strong>Classement actuel.</strong></p>$suppr_rubrique";
|
||
|
$form_html[3]["champs"].="<input type='hidden' name='id_hub' id='id_hub' value='$id_hub'>
|
||
|
<button type='submit' class='btn btn-success btn-lg'>Enregistrer le nouveau classement.</button></form>";
|
||
|
//désignation des flux importés dans ce hub.
|
||
|
$flux=$hub->get_flux();
|
||
|
$suppr_flux="";
|
||
|
if(!empty($flux))
|
||
|
{
|
||
|
foreach ($flux as $flux_id)
|
||
|
{
|
||
|
$flux_infos=FclFlux_flux::recherche($flux_id["id_flux"],"id_flux","nom");
|
||
|
if(!empty($flux_infos))
|
||
|
$suppr_flux.="<div class='form-group'><label class='checkbox-inline' for='suppr_flux[]'><input name='suppr_flux[]' type='checkbox' id='suppr_flux_".$flux_id["id_flux"]."' value='".$flux_id["id_flux"]."'><a href='".PAGE_MAJ_FLUX."?id_flux=".$flux_id["id_flux"]."' title=\"+ d'infos sur ce flux\" target='_blank'>".$flux_infos["nom"]."</a>.</label></div>\n";
|
||
|
}
|
||
|
}
|
||
|
$form_html[4]["nom"]="Flux importés dans ce hub.";
|
||
|
$form_html[4]["champs"]="$access_rapides<div id='msg_form_flux'></div><form method='post' id='flux_hub' name='flux_hub' action='".PAGE_MAJ_HUB."' role='form'>
|
||
|
<div class='form-group'>
|
||
|
<label for='recherche_flux'>Nouveau flux à importer dans ce hub.</label>
|
||
|
<input class='form-control' type='text' maxlength='20' name='recherche_flux' id='recherche_flux'>
|
||
|
</div>
|
||
|
<div id='select_flux'></div>";
|
||
|
if(!empty($suppr_flux))
|
||
|
$form_html[4]["champs"].="<p><strong>Flux déjà importés (cocher ceux à supprimer) :</strong></p>$suppr_flux";
|
||
|
$form_html[4]["champs"].="<input type='hidden' name='id_hub' id='id_hub' value='$id_hub'>
|
||
|
<button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button></form>";
|
||
|
//désignation des administrateurs du hub
|
||
|
$admins=$hub->get_admins();
|
||
|
$suppr_admins="";
|
||
|
if(!empty($admins))
|
||
|
{
|
||
|
foreach ($admins as $admin_id)
|
||
|
{
|
||
|
$admin_infos=FclFlux_utilisateur::recherche($admin_id["id_utilisateur"],"id_utilisateur","pseudo,email");
|
||
|
if(!empty($admin_infos))
|
||
|
$suppr_admins.="<div class='form-group'><label class='checkbox-inline' for='suppr_admin[]'><input name='suppr_admin[]' type='checkbox' id='suppr_admin_".$admin_id["id_utilisateur"]."' value='".$admin_id["id_utilisateur"]."'><a href='".PAGE_MAJ_COMPTES."?id_utilisateur=".$admin_id["id_utilisateur"]."' title=\"+ d'infos sur cet utilisateur\" target='_blank'>".$admin_infos["pseudo"]." (".$admin_infos["email"].")</a>.</label></div>\n";
|
||
|
}
|
||
|
}
|
||
|
$form_html[5]["nom"]="Administrateurs du hub.";
|
||
|
$form_html[5]["champs"]="$access_rapides<div id='msg_form_admin'></div><form method='post' id='admin_hub' name='admin_hub' action='".PAGE_MAJ_HUB."' role='form'>
|
||
|
<div class='form-group'>
|
||
|
<label for='recherche_admin'>Nouvel administrateur pour ce hub.</label>
|
||
|
<input class='form-control' type='text' maxlength='20' name='recherche_admin' id='recherche_admin'>
|
||
|
</div>
|
||
|
<div id='select_admins'></div>";
|
||
|
if(!empty($suppr_admins))
|
||
|
$form_html[5]["champs"].="<p><strong>Administrateurs actuels (cocher ceux à supprimer) :</strong></p>$suppr_admins";
|
||
|
$form_html[5]["champs"].="<input type='hidden' name='id_hub' id='id_hub' value='$id_hub'>
|
||
|
<button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button></form>";
|
||
|
if($ajax_on)
|
||
|
echo get_html_form($form_html,false);
|
||
|
}
|
||
|
else
|
||
|
$msg_form[]=ERREUR_SQL_ENREG_ABSENT;
|
||
|
}
|
||
|
if((!empty($msg_form))&&($ajax_on))
|
||
|
echo get_html_alerte_msg($msg_form);
|