WP 5.3.2
Buddypress 5.1.2
Website https://connect.commium.fr/
Theme : Woffice wordpress
Hi guys,
I’m beginner developper and i have a problem which i’m trying to solve on my website, i created a function to show groups website statistics on their group -> stats tab on group page, the thing work perfectly with an embedded public stats API, but i want to show theses tab on user dashboard too, not only on group -> stats tab, so i tried to copy past the function display() but it didn’t work, the $setting variable and $setting2 variable are NULL..
Someone can help me on this problem please, you can check the code below for more informations :
function stats() {
if ( bp_is_active( 'groups' ) ) :
class Entreprise_Statistiques extends BP_Group_Extension {
/**
* Your __construct() method will contain configuration options for
* your extension, and will pass them to parent::init()
*/
function __construct() {
$args = array(
'slug' => 'entreprise_statistiques',
'name' => 'Statistiques',
);
parent::init( $args );
}
/**
* display() contains the markup that will be displayed on the main
* plugin tab
*/
function display( $group_id = NULL ) {
$setting = groups_get_groupmeta( $group_id, 'entreprise_statistiques_setting' );
$setting2 = groups_get_groupmeta( $group_id, 'entreprise_statistiques_setting2' );
$group_id = bp_get_group_id();
?>
<script>
StatHatEmbed=new function(){function d(){var a=document.getElementsByTagName("script");return a[a.length-1]}function e(a,b){var d=document.createElement("script"),c="//www.stathat.com/embed/"+a+"/"+b.s1;b.dev&&(c="//localhost:8081/embed/"+a+"/"+b.s1);b.s2&&(c+="/"+b.s2);b.s3&&(c+="/"+b.s3);c+="?w="+b.w+"&h="+b.h+"&tf="+b.tf;b.style&&(c+="&style="+b.style);b.dev&&(c+="&dev=1");b.title&&(c+="&title="+b.title);d.src=c;d.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(d)}function f(a){return[a.s1,
a.s2,a.s3,a.w,a.h,a.tf,a.style].join("_")}this.render_graph=function(a){DIV_ID="statd_embed_graph_"+f(a);d().insertAdjacentHTML("AfterEnd","<div id='"+DIV_ID+"' style='display:none'></div>");e("graph",a)};this.render_histogram=function(a){DIV_ID="statd_embed_histogram_"+f(a);d().insertAdjacentHTML("AfterEnd","<div id='"+DIV_ID+"' style='display:none'></div>");e("histogram",a)};this.render_data=function(a){DIV_ID="statd_embed_data_"+f(a);d().insertAdjacentHTML("AfterEnd","<div id='"+DIV_ID+"' style='display:none'></div>");
e("data",a)};this.render_table=function(a){DIV_ID="statd_embed_table_"+f(a);d().insertAdjacentHTML("AfterEnd","<div id='"+DIV_ID+"' style='display:none'></div>");e("table",a)};this.render_text=function(a){DIV_ID=["statd_embed_text",a.s1,a.u].join("_");d().insertAdjacentHTML("AfterEnd","<div id='"+DIV_ID+"' style='display:none'></div>");e("text",a)};this.render=function(a){a.tf||(a.tf="week_compare");a.kind||(a.kind="graph");switch(a.kind){case "graph":this.render_graph(a);break;case "histogram":this.render_histogram(a);
break;default:this.render_graph(a)}}};
</script>
<div id="stats">
<script>StatHatEmbed.render({s1: '<?php echo($setting); ?>', w: 760, h: 235, tf:'month_compare', style:'fill', title:'<?php echo($setting2); ?>'});</script>
</div>
<?php
if ($setting == NULL) {
echo ("Aucun site internet détecté, merci de contacter l'équipe COMMIUM.");
}
}
/**
* Création
*/
function settings_screen( $group_id = NULL ) {
$setting = groups_get_groupmeta( $group_id, 'entreprise_statistiques_setting' );
$setting2 = groups_get_groupmeta( $group_id, 'entreprise_statistiques_setting2' );
?>
<input type="text" name="entreprise_statistiques_setting2" id="entreprise_statistiques_setting2" placeholder="Nom d'entreprise"><?php echo esc_attr( $setting2 ) ?></input>
<input type="text" name="entreprise_statistiques_setting" id="entreprise_statistiques_setting"placeholder="Code suivi"><?php echo esc_attr( $setting ) ?></input>
<?php
$settingInfo = $_POST['entreprise_statistiques_setting'];
$settingInfo2 = $_POST['entreprise_statistiques_setting2'];
}
function settings_screen_save( $group_id = NULL ) {
$setting = '';
$setting2 = '';
if ( isset( $_POST['entreprise_statistiques_setting']) && isset($_POST['entreprise_statistiques_setting2'] ) ) {
$setting = $_POST['entreprise_statistiques_setting'];
$setting2 = $_POST['entreprise_statistiques_setting2'];
}
groups_update_groupmeta( $group_id, 'entreprise_statistiques_setting', $setting );
groups_update_groupmeta( $group_id, 'entreprise_statistiques_setting2', $setting2 );
}
}
bp_register_group_extension( 'Entreprise_Statistiques' );
endif; // if ( bp_is_active( 'groups' ) )
}
echo stats();