amélioration de la page rapport complet, issue #0000477
This commit is contained in:
parent
af625882a3
commit
41f3d8e13f
@ -171,9 +171,10 @@ function commentaires_graphique_couleur($content){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function commentaires_graphique($content){
|
function commentaires_graphique($content)
|
||||||
global $siret, $siren, $idEntreprise;
|
{
|
||||||
$pattern = '/\[GRAPHIQUE id=(.*?) titre=\'(.*?)\',(.*)]/';
|
global $siret, $siren, $idEntreprise; //FB::log($content, 'G');
|
||||||
|
$pattern = '/\[GRAPHIQUE id=(.*?) titre=\'(.*?)\',(.*)\]/';
|
||||||
if( preg_match($pattern, $content, $matches) ){
|
if( preg_match($pattern, $content, $matches) ){
|
||||||
//FB::log($matches,'graphique');
|
//FB::log($matches,'graphique');
|
||||||
$image_id = $matches[1];
|
$image_id = $matches[1];
|
||||||
@ -188,10 +189,10 @@ function commentaires_graphique($content){
|
|||||||
//Determine le type du graphique
|
//Determine le type du graphique
|
||||||
$type = '';
|
$type = '';
|
||||||
$typePattern = array(
|
$typePattern = array(
|
||||||
'projection' => '/(R\[.*]#H,.*_Y#L)/',
|
'projection' => '/(R\[.*\]#H,.*_Y#L)/',
|
||||||
'stacked' => '/((R\[.*]#HS,?){1,};?){1,}/',
|
'stacked' => '/((R\[.*\]#HS,?){1,};?){1,}/',
|
||||||
'histo' => '/(Rs?\[.*]#[H|L],?){1,}/',
|
'histo' => '/(Rs?\[.*\]#[H|L],?){1,}/',
|
||||||
'radar' => '/(R\[.*]#R,?){1,}/',
|
'radar' => '/(R\[.*\]#R,?){1,}/',
|
||||||
);
|
);
|
||||||
foreach($typePattern as $type => $pattern){
|
foreach($typePattern as $type => $pattern){
|
||||||
if (preg_match($pattern,$matches[3], $match_type)>0){
|
if (preg_match($pattern,$matches[3], $match_type)>0){
|
||||||
@ -200,7 +201,7 @@ function commentaires_graphique($content){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FB::log($titre, 'Graphique');
|
//FB::log($type, 'Graphique');
|
||||||
|
|
||||||
switch($type){
|
switch($type){
|
||||||
case 'histo':
|
case 'histo':
|
||||||
|
@ -137,8 +137,7 @@ function scoresws_annonces($siret, $siren, $idEntreprise, $vue, $idan)
|
|||||||
|
|
||||||
function scoresws_ratios($siret, $siren, $idEntreprise)
|
function scoresws_ratios($siret, $siren, $idEntreprise)
|
||||||
{
|
{
|
||||||
global $client, $fileName, $bilansInfos, $ratiosSecteur, $ratiosEntrep,
|
global $client, $page;
|
||||||
$ratiosInfos, $ratiosSecteur, $page, $firephp;
|
|
||||||
|
|
||||||
$fileName = 'ratios-';
|
$fileName = 'ratios-';
|
||||||
if (($siret*1) == 0 || ($siren*1) < 100) {
|
if (($siret*1) == 0 || ($siren*1) < 100) {
|
||||||
@ -425,9 +424,10 @@ function scoresws_evenements($siren, $nic = 0, $idEntreprise = 0, $vue = '') {
|
|||||||
$fileName = 'evenements-'.$idEntreprise;
|
$fileName = 'evenements-'.$idEntreprise;
|
||||||
} else {
|
} else {
|
||||||
$fileName = 'evenements-'.$siret;
|
$fileName = 'evenements-'.$siret;
|
||||||
if (!empty($vue)) { $fileName.= $vue; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($vue)) { $fileName.= '-'.$vue; }
|
||||||
|
|
||||||
cache_filename($fileName);
|
cache_filename($fileName);
|
||||||
if( cache_exist() && !hasModeEdition() ) {
|
if( cache_exist() && !hasModeEdition() ) {
|
||||||
$return = cache_get('evens');
|
$return = cache_get('evens');
|
||||||
@ -447,3 +447,91 @@ function scoresws_evenements($siren, $nic = 0, $idEntreprise = 0, $vue = '') {
|
|||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function scoresws_rapport($siren, $idEntreprise, $niveau = 3) {
|
||||||
|
global $client;
|
||||||
|
|
||||||
|
if ( intval($siren) == 0 && intval($siren) < 100) {
|
||||||
|
$fileName = 'rapport-'.$idEntreprise;
|
||||||
|
} else {
|
||||||
|
$fileName = 'rapport-'.$siren;
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!empty($niveau)) { $fileName.= '-'.$niveau; }
|
||||||
|
|
||||||
|
cache_filename($fileName);
|
||||||
|
if( cache_exist() && !hasModeEdition() ) {
|
||||||
|
$return['Identite'] = cache_get('Identite');
|
||||||
|
$return['Dirigeants'] = cache_get('Dirigeants');
|
||||||
|
$return['Liens'] = cache_get('Liens');
|
||||||
|
$return['Ratios'] = cache_get('Ratios');
|
||||||
|
$return['IndiScore'] = cache_get('IndiScore');
|
||||||
|
$return['Annonces'] = cache_get('Annonces');
|
||||||
|
} else {
|
||||||
|
$return = null;
|
||||||
|
try {
|
||||||
|
$O = $client->getRapport($siren, $niveau, $idEntreprise);
|
||||||
|
$elements = array(
|
||||||
|
'Identite',
|
||||||
|
'Dirigeants',
|
||||||
|
'Liens',
|
||||||
|
'IndiScore',
|
||||||
|
'Annonces'
|
||||||
|
);
|
||||||
|
$return = array();
|
||||||
|
cache_delete();
|
||||||
|
foreach ($elements as $elem){
|
||||||
|
if (array_key_exists('get'.$elem, $O['results'])) {
|
||||||
|
$return[$elem] = $O['results']['get'.$elem]['result'];
|
||||||
|
} else {
|
||||||
|
$return[$elem] = null;
|
||||||
|
}
|
||||||
|
cache_add($elem, $return[$elem]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (array_key_exists('getRatios', $O['results'])) {
|
||||||
|
$result = $O['results']['getRatios']['result'];
|
||||||
|
|
||||||
|
$bilansInfos = $result['BilansInfos'];
|
||||||
|
$ratiosInfos = $result['RatiosInfos'];
|
||||||
|
$ratiosEntrep = $result['RatiosEntrep'];
|
||||||
|
$ratiosEntrepEvol = $result['RatiosEntrepEvol'];
|
||||||
|
$ratiosSecteur = $result['RatiosSecteur'];
|
||||||
|
$nbEntNaf = $result['NbEntNaf'];
|
||||||
|
if(count($bilansInfos)>0)
|
||||||
|
{
|
||||||
|
$format = formatRatios(
|
||||||
|
$bilansInfos,
|
||||||
|
$ratiosEntrep,
|
||||||
|
$ratiosEntrepEvol,
|
||||||
|
$ratiosInfos,
|
||||||
|
$ratiosSecteur
|
||||||
|
);
|
||||||
|
while ( list($key, $val) = each( $format ) )
|
||||||
|
{
|
||||||
|
${$key} = $val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$return['Ratios'] = array(
|
||||||
|
'bilansInfos' => $bilansInfos,
|
||||||
|
'ratiosEntrep' => $ratiosEntrep,
|
||||||
|
'ratiosEntrepEvol' => $ratiosEntrepEvol,
|
||||||
|
'ratiosInfos' => $ratiosInfos,
|
||||||
|
'ratiosSecteur' => $ratiosSecteur,
|
||||||
|
'nbEntNaf' => $nbEntNaf,
|
||||||
|
'dataActif' => $dataActif,
|
||||||
|
'dataPassif' => $dataPassif,
|
||||||
|
'dataSIG' => $dataSIG
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$return['Ratios'] = null;
|
||||||
|
}
|
||||||
|
cache_add('Ratios', $return['Ratios']);
|
||||||
|
} catch (SoapFault $fault) {
|
||||||
|
require_once 'soaperror.php';
|
||||||
|
processSoapFault($client,$fault,$_SESSION['tabInfo']);
|
||||||
|
$return = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,20 @@
|
|||||||
//Traitement des paramètres
|
//Traitement des paramètres
|
||||||
if (!page_checkParams()) die('Paramètres incorrects !');
|
if (!page_checkParams()) die('Paramètres incorrects !');
|
||||||
|
|
||||||
$niveau = isset($_REQUEST['niveau']) ? $_REQUEST['niveau'] : '';
|
$niveau = isset($_REQUEST['niveau']) ? $_REQUEST['niveau'] : 3;
|
||||||
|
$niveau = 3;
|
||||||
|
|
||||||
|
require_once 'ratios/ratios.php';
|
||||||
|
require_once 'scoresws/scoresws.php';
|
||||||
|
|
||||||
|
$O = scoresws_rapport($siren, $idEntreprise, $niveau);
|
||||||
|
$etab = $O['Identite'];
|
||||||
|
$annonces = $O['Annonces'];
|
||||||
|
$dirs = $O['Dirigeants'];
|
||||||
|
$liens = $O['Liens'];
|
||||||
|
$ratios = $O['Ratios'];
|
||||||
|
$indiscore = $O['IndiScore'];
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div id="center">
|
<div id="center">
|
||||||
<?php
|
<?php
|
||||||
@ -13,7 +26,7 @@ require_once 'logos/logos.php';
|
|||||||
require_once 'scoresws/scoresws.php';
|
require_once 'scoresws/scoresws.php';
|
||||||
require_once 'scoresws/identite.php';
|
require_once 'scoresws/identite.php';
|
||||||
//=> BLOC IDENTITE
|
//=> BLOC IDENTITE
|
||||||
$etab = scoresws_identite($siret, $siren, $idEntreprise);
|
//$etab = scoresws_identite($siret, $siren, $idEntreprise);
|
||||||
?>
|
?>
|
||||||
<h1>RAPPORT COMPLET</h1>
|
<h1>RAPPORT COMPLET</h1>
|
||||||
|
|
||||||
@ -23,80 +36,42 @@ require_once 'identite/content.php';
|
|||||||
//=> FIN BLOC IDENTITE
|
//=> FIN BLOC IDENTITE
|
||||||
|
|
||||||
//=> BLOC ANNONCES
|
//=> BLOC ANNONCES
|
||||||
require_once 'cache/cache.php';
|
require_once 'annonces/annonces.php';
|
||||||
require_once 'partenaires/classMTva.php';
|
$objAnnonces = new Annonces($annonces);
|
||||||
require_once 'partenaires/classMMap.php';
|
|
||||||
require_once 'partenaires/classMCoface.php';
|
|
||||||
require_once 'common/dates.php';
|
|
||||||
require_once 'scoresws/scoresws.php';
|
|
||||||
|
|
||||||
//Récupération des infos du webservice
|
|
||||||
$annonces = scoresws_annonces($siret, $siren, $idEntreprise, $vue, $idan);
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<h1 class="titre page">ANNONCES LÉGALES</h1>
|
<h1 class="titre page">ANNONCES LÉGALES</h1>
|
||||||
<?php
|
<?php
|
||||||
if (count($annonces) > 0)
|
if (count($annonces) > 0)
|
||||||
{
|
{
|
||||||
//Tri des annonces dans des tableaux différents
|
$typeAnnonces = array(
|
||||||
$annoncesBodacc = array();
|
'Bodacc' => 'EVÉNEMENTS LÉGAUX',
|
||||||
$annoncesBalo = array();
|
'Balo' => 'BALO',
|
||||||
$annoncesAsso = array();
|
'Bomp' => 'Marchés publics',
|
||||||
foreach ($annonces as $i => $ann) {
|
'Asso' => 'Associations',
|
||||||
if ($ann['BodaccCode']=='BODA' || $ann['BodaccCode']=='BODB' || $ann['BodaccCode']=='BODC') {
|
);
|
||||||
$annoncesBodacc[] = $ann;
|
|
||||||
}elseif ($ann['BodaccCode']=='BALO') {
|
foreach ($typeAnnonces as $type => $titre)
|
||||||
$annoncesBalo[] = $ann;
|
{
|
||||||
}elseif ($ann['BodaccCode']=='ASSO') {
|
$classType = 'annonces'.$type;
|
||||||
$annoncesAsso[] = $ann;
|
if (count($objAnnonces->$classType)>0)
|
||||||
}else {
|
|
||||||
$annoncesBodacc[] = $ann;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Affichage de la liste des annonces
|
|
||||||
//Affiche annonces Bodacc
|
|
||||||
if (count($annoncesBodacc)>0)
|
|
||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<h2>EVÉNEMENTS LÉGAUX</h2>
|
<h2><?=$titre?></h2>
|
||||||
<table>
|
<table>
|
||||||
<?php
|
<?php
|
||||||
foreach($annoncesBodacc as $i => $ann)
|
foreach($objAnnonces->$classType as $i => $ann)
|
||||||
{
|
{
|
||||||
|
$resume = $objAnnonces->getAnnonceResume($ann);
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="30"> </td>
|
<td width="30"> </td>
|
||||||
<td width="140" class="StyleInfoLib">
|
<td width="140" class="StyleInfoLib">
|
||||||
<span id="annoncesDate"><p>Le <?=WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']);?></p></span>
|
<span id="annoncesDate">Le <?=$resume['date']?> </span>
|
||||||
<span id="annoncesImg">
|
<span id="annoncesImg"><?=$resume['logo']?></span>
|
||||||
<?php
|
|
||||||
$tabSource=explode('-', $ann['BodaccCode']);
|
|
||||||
$source=$tabSource[0];
|
|
||||||
$idSource=@$tabSource[1];
|
|
||||||
if ($source[0] == 'B'){
|
|
||||||
print '<img src="./img/logo_jo.png" title="Source BODACC '.$ann['BodaccNum'].' '.substr($source,-1).' '.substr($ann['DateParution'],0,4).'"/>';
|
|
||||||
}elseif ($source[0] == 'G' || $source[0] == 'T'){
|
|
||||||
print '<img src="./img/logo_greffe.png" title="Source Collecte Greffe"/>';
|
|
||||||
}elseif ($source[0] == 'P'){
|
|
||||||
print '<img src="./img/logo_inpi.png" title="Source Collecte RNCS"/>';
|
|
||||||
}else{
|
|
||||||
print '<img src="./img/logo_jal.png" title="Source Collecte JAL';
|
|
||||||
if ($idSource>0) print ' $idSource';
|
|
||||||
print '"/>';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</span>
|
|
||||||
</td>
|
</td>
|
||||||
<td width="450" colspan="2" class="StyleInfoData">
|
<td width="450" colspan="2" class="StyleInfoData">
|
||||||
<a href="/?page=annonces&siret=<?=$siret?>&idan=<?=$ann['id']?>&vue=bodacc">
|
<a href="/?page=annonces&siret=<?=$siret?>&idEntreprise=<?=$idEntreprise?>&<?=$resume['href']?>">
|
||||||
<?php
|
<?=$resume['lib']?>
|
||||||
foreach ($ann['evenements'] as $i=>$even) {
|
|
||||||
print $even['LibEven'];
|
|
||||||
$numEven=$even['CodeEven']*1;
|
|
||||||
if ($numEven>3000 && $numEven<3999) print ' (clôture au '.WDate::dateT('Y-m-d','d/m/Y',$ann['dateEffet']).')';
|
|
||||||
print '<br/>';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -106,88 +81,11 @@ if (count($annonces)>0)
|
|||||||
</table>
|
</table>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
//Affiche annonces Balo
|
|
||||||
if (count($annoncesBalo)>0)
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<h2>BALO</h2>
|
|
||||||
<table>
|
|
||||||
<?php
|
|
||||||
foreach($annoncesBalo as $i => $ann){?>
|
|
||||||
<tr>
|
|
||||||
<td width="30"> </td>
|
|
||||||
<td width="140" class="StyleInfoLib">
|
|
||||||
<span id="annoncesDate">Le <?=WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']);?></span>
|
|
||||||
<span id="annoncesImg">
|
|
||||||
<?php
|
|
||||||
if ($ann['BodaccCode'] == 'BALO'){
|
|
||||||
print '<img src="./img/logo_jo.png" title="Source BALO n°'.$ann['BodaccNum'].'"/>';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<td width="450" colspan="2" class="StyleInfoData">
|
|
||||||
<a href="/?page=annonces&siret=<?=$siret?>&idan=<?=$ann['id']?>&vue=balo">
|
|
||||||
<?php
|
|
||||||
foreach ($ann['evenements'] as $i=>$even) {
|
|
||||||
print $even['LibEven'];
|
|
||||||
$numEven=$even['CodeEven']*1;
|
|
||||||
if ($numEven>3000 && $numEven<3999) print ' (clôture au '.WDate::dateT('Y-m-d','d/m/Y',$ann['dateEffet']).')';
|
|
||||||
print '<br/>';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</a></td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</table>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
||||||
//Affiche annonces Asso
|
|
||||||
if (count($annoncesAsso)>0)
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<h2>Associations</h2>
|
|
||||||
<table>
|
|
||||||
<?php
|
|
||||||
foreach($annoncesAsso as $i => $ann){ ?>
|
|
||||||
<tr>
|
|
||||||
<td width="30"> </td>
|
|
||||||
<td width="140" class="StyleInfoLib">
|
|
||||||
<span id="annoncesDate">Le <?=WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']);?></span>
|
|
||||||
<span id="annoncesImg">
|
|
||||||
<?php
|
|
||||||
if ($ann['BodaccCode'] == 'ASSO'){
|
|
||||||
print '<img src="./img/logo_jo.png" title="Source JO ASSOCIATION n°'.$ann['BodaccNum'].'"/>';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<td width="450" colspan="2" class="StyleInfoData">
|
|
||||||
<a href="/?page=annonces&siret=<?=$siret?>&idan=<?=$ann['id']?>&vue=asso">
|
|
||||||
<?php
|
|
||||||
foreach ($ann['evenements'] as $i=>$even) {
|
|
||||||
print $even['LibEven'];
|
|
||||||
$numEven=$even['CodeEven']*1;
|
|
||||||
if ($numEven>3000 && $numEven<3999) print ' (clôture au '.WDate::dateT('Y-m-d','d/m/Y',$ann['dateEffet']).')';
|
|
||||||
print '<br/>';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</a></td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</table>
|
|
||||||
<?php
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Aucune annonce bodacc pour cette entreprise
|
/** Aucune annonce bodacc pour cette entreprise **/
|
||||||
?>
|
?>
|
||||||
<h2>Evénements légaux</h2>
|
<h2>Evénements légaux</h2>
|
||||||
<table>
|
<table>
|
||||||
@ -211,7 +109,7 @@ require_once 'common/dates.php';
|
|||||||
require_once 'cache/cache.php';
|
require_once 'cache/cache.php';
|
||||||
require_once 'scoresws/scoresws.php';
|
require_once 'scoresws/scoresws.php';
|
||||||
|
|
||||||
$dirs = scoresws_dirigeants($siret, $siren, $idEntreprise);
|
//$dirs = scoresws_dirigeants($siret, $siren, $idEntreprise);
|
||||||
?>
|
?>
|
||||||
<h1 class="page">DIRIGEANTS</h1>
|
<h1 class="page">DIRIGEANTS</h1>
|
||||||
<h2>Liste des dirigeants actifs</h2>
|
<h2>Liste des dirigeants actifs</h2>
|
||||||
@ -292,7 +190,8 @@ require_once 'cache/cache.php';
|
|||||||
require_once 'ratios/ratios.php';
|
require_once 'ratios/ratios.php';
|
||||||
require_once 'scoresws/scoresws.php';
|
require_once 'scoresws/scoresws.php';
|
||||||
|
|
||||||
$result = scoresws_ratios($siret, $siren, $idEntreprise);
|
//$result = scoresws_ratios($siret, $siren, $idEntreprise);
|
||||||
|
$result = $ratios;
|
||||||
$bilansInfos = $result['bilansInfos'];
|
$bilansInfos = $result['bilansInfos'];
|
||||||
$ratiosInfos = $result['ratiosInfos'];
|
$ratiosInfos = $result['ratiosInfos'];
|
||||||
$ratiosEntrep = $result['ratiosEntrep'];
|
$ratiosEntrep = $result['ratiosEntrep'];
|
||||||
@ -1338,7 +1237,8 @@ require_once 'scoresws/scoresws.php';
|
|||||||
|
|
||||||
$tabInfo = $_SESSION['tabInfo'];
|
$tabInfo = $_SESSION['tabInfo'];
|
||||||
|
|
||||||
$etab = scoresws_indiscore($siret, $siren, $idEntreprise, $niveau);
|
//$etab = scoresws_indiscore($siret, $siren, $idEntreprise, $niveau);
|
||||||
|
$etab = $indiscore;
|
||||||
$tabCommentaires = $etab['tabCommentaires'];
|
$tabCommentaires = $etab['tabCommentaires'];
|
||||||
$tabProjection = $etab['tabVariables'];
|
$tabProjection = $etab['tabVariables'];
|
||||||
FB::log($tabProjection, 'tabProjection');
|
FB::log($tabProjection, 'tabProjection');
|
||||||
@ -1364,7 +1264,8 @@ if(count($tabCommentaires)>0){
|
|||||||
if(!is_array($commentaires) && !empty($commentaires)){
|
if(!is_array($commentaires) && !empty($commentaires)){
|
||||||
//Traitement préalable des lignes
|
//Traitement préalable des lignes
|
||||||
$commentaires = html_entity_decode($commentaires,
|
$commentaires = html_entity_decode($commentaires,
|
||||||
ENT_COMPAT,'utf-8');
|
ENT_QUOTES,'utf-8');
|
||||||
|
FB::log($commentaires, 'T');
|
||||||
//Traitement des balises siren
|
//Traitement des balises siren
|
||||||
$commentaires = commentaires_siren($commentaires);
|
$commentaires = commentaires_siren($commentaires);
|
||||||
//Traitement des balises lien
|
//Traitement des balises lien
|
||||||
|
Loading…
x
Reference in New Issue
Block a user