Quantcast
Channel: bbPress.org » All Posts
Viewing all articles
Browse latest Browse all 3669

Group website stats API on BuddyPress

$
0
0

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();

Viewing all articles
Browse latest Browse all 3669

Trending Articles