Group website stats API on BuddyPress
-
WP 5.3.2
Buddypress 5.1.2
Website https://connect.commium.fr/
Theme : Woffice wordpressHi 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();
- You must be logged in to reply to this topic.