Membuat Viewboard iCP 8

Hello TimUr ^^

Pada CerMi kali ini Dwi akan menceritakan sedikit tentang kontribusi Dwi dalam membuat Viewboard iCP 8. Sebelumnya Dwi juga sudah membuat CerMi kontribusi membuat viewboard pada iME iCM yang bisa dibaca DISINI ^^ .

Pada CerMi tersebut Dwi sudah menjelaskan secara detail mengenai proses untuk dapat membuat Viewboard. Sebenarnya Viewboard yang Dwi buat sudah jadi, akan tetapi Kak Hap meminta Dwi untuk membuat Viewboard untuk iCP 8 saja bukan Viewboard iME iCM keseluruhan, jadi Dwi pun kembali membuat ViewBoard untuk iCP 8.

Maka dwi pun menemui Kak Lilis untuk menanyakan seputar Viewboard pada hari selasa. Dan setelah berdiskusi Kak Lilis mengarahkan agar dwi mengubah terlebih dahulu Role Author pada iMe iCP 8 agar bisa menarik data. Maka setelah itu dwi pun membuat Role baru yang di namakan iCP 8.

Akhirnya dengan melihat SKUP iCP 8, dwi merubah Role Author peserta yang ada di SKUP tersebut menjadi iCP 8. maka dwi pun merubah Role peserta iCM 8 dengan total 9 orang seperti dibawah ini :

selanjutnya dwi membuat kembali Snippet baru pada PHPCode dengan kodingan seperti dibawah ini :

  <? //CHART POSTING ?>

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
<title>Dashboard</title>

<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js”></script>
<style type=”text/css”>
${demo.css}
</style>

</head>

<script src=”https://code.highcharts.com/highcharts.js”></script>
<script src=”https://code.highcharts.com/highcharts-3d.js”></script>
<script src=”https://code.highcharts.com/modules/exporting.js”></script>

<?php
$author= ‘icp8’;

//include kedalam file koneksi WP, mungkin didalam iMe sama filenya sepert ini
include “wp-config.php”;

//Sintak Koneksi mysql
$conn = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD ) or die (“tidak bisa connect ke database: ” . mysql_error());
mysql_select_db (DB_NAME) or die (“tidak bisa pilih database: ” . mysql_error());

//Situs yang akan dijalankan
$site = “$_SERVER[HTTP_HOST]”;

//”Query” (di sesuaikan dengan kebutuhan)
$sql = “SELECT blog_id
FROM wp_blogs
WHERE domain =’$site'”;
$query=mysql_query($sql);
$r = mysql_fetch_array($query);

$sql1 = “SELECT COUNT(ID)-(SELECT COUNT(ID)
FROM wp_$r[0]_posts WHERE post_status = ‘publish’ AND post_type = ‘page’) as p, SUM(comment_count) as c
FROM wp_$r[0]_posts
WHERE post_status = ‘publish’
AND post_type = ‘post’ OR post_type = ‘page'”;
$query1=mysql_query($sql1);
$r1 = mysql_fetch_array($query1);

$sql2 = “SELECT wp_users.user_login, wp_users.display_name,
COUNT(wp_$r[0]_posts.post_content) as Post,
SUM(wp_$r[0]_posts.comment_count) as Comment,
wp_usermeta.meta_value
FROM wp_$r[0]_posts LEFT JOIN wp_users
ON wp_$r[0]_posts.post_author = wp_users.ID
INNER JOIN wp_usermeta
ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = ‘wp_$r[0]_capabilities’ AND
wp_usermeta.meta_value LIKE ‘%$author%’ AND
wp_$r[0]_posts.post_status = ‘publish’
AND wp_$r[0]_posts.post_type = ‘post’
group by wp_users.display_name
ORDER BY Post DESC LIMIT 10″;
$query2=mysql_query($sql2);

?>

<script type=”text/javascript”>
$(function () {
// Set up the chart
var chart = new Highcharts.Chart({
chart: {
renderTo: ‘containerpost’,
type: ‘column’,
options3d: {
enabled: true,
alpha: 0,
beta: 0,
depth: 100,
viewDistance: 25
}
},
title: {
text: ’10 Penulis Artikel Terbanyak’
},
plotOptions: {
column: {
depth: 25
}
},
xAxis: {
categories: [
‘Penulis’
]
},
yAxis: {
min: 0,
title: {
text: ‘Jumlah’
}
},
series: [
<?php
while($r2=mysql_fetch_array($query2)){
$nama = str_replace(“‘”,””,$r2[‘1’]);
echo “{ name: ‘”.$nama.”‘,data: [“.$r2[‘2’].”]},”;
}
?>
]
});

function showValues() {
$(‘#alpha-value’).html(chart.options.chart.options3d.alpha);
$(‘#beta-value’).html(chart.options.chart.options3d.beta);
$(‘#depth-value’).html(chart.options.chart.options3d.depth);
}

// Activate the sliders
$(‘#sliderspost input’).on(‘input change’, function () {
chart.options.chart.options3d[this.id] = this.value;
showValues();
chart.redraw(false);
});

showValues();
});
</script>
<style>
#containerpost, #sliderspost {
min-width: 310px;
max-width: 800px;
margin: 0 auto;
}
#containerpost {
height: 400px;
}
</style>

<div id=”containerpost”></div>

<? //CHART COMMENT ?>

<?php
$author= ‘icp8’;

//”include kedalam file koneksi WP, mungkin didalam iMe sama filenya sepert ini”
include “wp-config.php”;

//”Sintak Koneksi mysql”
$conn = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD ) or die (“tidak bisa connect ke database: ” . mysql_error());
mysql_select_db (DB_NAME) or die (“tidak bisa pilih database: ” . mysql_error());

//Situs yang akan dijalankan
$site = “$_SERVER[HTTP_HOST]”;

//”Query” (di sesuaikan dengan kebutuhan)
$sql = “SELECT blog_id
FROM wp_blogs
WHERE domain =’$site'”;
$query=mysql_query($sql);
$r = mysql_fetch_array($query);

$sql2 = “SELECT wp_users.user_login, wp_users.display_name,
COUNT(wp_$r[0]_comments.comment_content) as Jumlah,
wp_usermeta.meta_value
FROM wp_$r[0]_comments LEFT JOIN wp_users ON wp_$r[0]_comments.user_id = wp_users.ID
INNER JOIN wp_usermeta
ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = ‘wp_$r[0]_capabilities’ AND
wp_usermeta.meta_value LIKE ‘%$author%’ AND
wp_$r[0]_comments.comment_approved = ‘1’
group by wp_users.display_name ORDER BY Jumlah DESC LIMIT 10″;
$query2=mysql_query($sql2);

?>
<script type=”text/javascript”>
$(function () {
$(‘#containercom’).highcharts({
chart: {
type: ‘pie’,
options3d: {
enabled: true,
alpha: 45
}
},
title: {
text: ’10 Komentator Terbanyak’
},
plotOptions: {
pie: {
innerSize: 100,
depth: 45
}
},
series: [{ name: ‘Jumlah’,
data: [
<?php
while($r2=mysql_fetch_array($query2)){
$nama = str_replace(“‘”,””,$r2[‘1’]);
echo “[‘”.$nama.”‘,”.$r2[‘2’].”],”;
}
?>
] }
]
});
});
</script>
<div id=”containercom” style=”height: 400px”></div>

<? //LIST ?>
<?php

$author= ‘icp8’;
$kelas= ‘icp8’;

//include kedalam file koneksi WP, mungkin didalam iMe sama filenya sepert ini
include “wp-config.php”;

//Sintak Koneksi mysql
$conn = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD ) or die (“tidak bisa connect ke database: ” . mysql_error());
mysql_select_db (DB_NAME) or die (“tidak bisa pilih database: ” . mysql_error());

//Situs yang akan dijalankan
$site = “$_SERVER[HTTP_HOST]”;

//”Query” (di sesuaikan dengan kebutuhan)
$sql = “SELECT blog_id
FROM wp_blogs
WHERE domain =’$site'”;
$query=mysql_query($sql);
$r = mysql_fetch_array($query);

$sql1 = ”
SELECT
SUM(Post) as p,
SUM(Comment) as c
FROM
(SELECT wp_users.user_login, wp_users.display_name,
COUNT(wp_$r[0]_posts.post_content) as Post,
SUM(wp_$r[0]_posts.comment_count) as Comment,
wp_usermeta.meta_value
FROM wp_$r[0]_posts LEFT JOIN wp_users
ON wp_$r[0]_posts.post_author = wp_users.ID
INNER JOIN wp_usermeta
ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = ‘wp_$r[0]_capabilities’ AND
wp_usermeta.meta_value LIKE ‘%$author%’ AND
wp_$r[0]_posts.post_status = ‘publish’
AND wp_$r[0]_posts.post_type = ‘post’
group by wp_users.display_name) as poster”;
$query1=mysql_query($sql1);
$r1 = mysql_fetch_array($query1);

$sql2 = “SELECT
wp_users.user_login,
wp_users.display_name,
COUNT(wp_$r[0]_posts.post_content) as Post,
SUM(wp_$r[0]_posts.comment_count) as Comment,
wp_usermeta.meta_value
FROM wp_$r[0]_posts LEFT JOIN wp_users
ON wp_$r[0]_posts.post_author = wp_users.ID
INNER JOIN wp_usermeta
ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = ‘wp_$r[0]_capabilities’ AND
wp_usermeta.meta_value LIKE ‘%$author%’ AND
wp_$r[0]_posts.post_status = ‘publish’
AND wp_$r[0]_posts.post_type = ‘post’
group by wp_users.display_name
ORDER BY Post DESC”;
$query2=mysql_query($sql2);
$date= date(“d M Y”);
$no=1;

//”View berupa variabel” disesuaikan dengan kebutuhan
echo ”
<h4><center>Total Artikel dari kelas $kelas yang tercatat dalam iMe Class sampai tanggal $date,
yaitu sebanyak <span style=’color: #00fa9a;’><b>$r1[p]</b></span> artikel. <br/></h4>
<div style=’border: 2px solid #FFF; height: 380px; overflow: auto; padding: 3px; width: 100%; text-align: justify;’>
<table><tr><th>No</th><th style=’text-align:center;’>Nama</th><th style=’text-align:center;’>Jumlah Artikel</th>
<th style=’text-align:center;’>Jumlah Komentar Dalam Artikel</th><th style=’text-align:center;’>Kelas</th></tr>”;
while($r2 = mysql_fetch_array($query2)){

echo ”
<tr>
<td>$no</td>
<td><a href=’http://pl102.ilearning.me/author/$r2[user_login]/’ style=’text-decoration:none;’>
<span style=’color: #00fa9a;’>$r2[display_name]</span></a></td>
<td style=’text-align:center;’>$r2[Post]</td>
<td style=’text-align:center;’>$r2[Comment]</td>
<td style=’text-align:center;’>$kelas</td>
</tr>”;
$no = $no + 1;
}
?>
</table></div></center><br/>

<?php
$sql11 = “SELECT SUM(Jumlah) as c
FROM
(SELECT wp_users.user_login, wp_users.display_name,
COUNT(wp_$r[0]_comments.comment_content) as Jumlah,
wp_usermeta.meta_value
FROM wp_$r[0]_comments LEFT JOIN wp_users ON wp_$r[0]_comments.user_id = wp_users.ID
INNER JOIN wp_usermeta
ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = ‘wp_$r[0]_capabilities’ AND
wp_usermeta.meta_value LIKE ‘%$author%’ AND
wp_$r[0]_comments.comment_approved = ‘1’
group by wp_users.display_name) as comment”;
$query11=mysql_query($sql11);
$r11 = mysql_fetch_array($query11);

$sql12 = “SELECT wp_users.user_login, wp_users.display_name,
COUNT(wp_$r[0]_comments.comment_content) as Jumlah,
wp_usermeta.meta_value
FROM wp_$r[0]_comments LEFT JOIN wp_users ON wp_$r[0]_comments.user_id = wp_users.ID
INNER JOIN wp_usermeta
ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = ‘wp_$r[0]_capabilities’ AND
wp_usermeta.meta_value LIKE ‘%$author%’ AND
wp_$r[0]_comments.comment_approved = ‘1’
group by wp_users.display_name ORDER BY Jumlah DESC”;
$query12=mysql_query($sql12);
$no=1;

//”View berupa variabel” disesuaikan dengan kebutuhan
echo ”
<h4><center>Total Komentar dari kelas $kelas yang tercatat dalam iMe Class sampai tanggal $date,
yaitu sebanyak <span style=’color: #00fa9a;’><b>$r11[c]</b></span> komentar<br/></h4>
<div style=’border: 2px solid #FFF; height: 380px; overflow: auto; padding: 3px; width: 100%; text-align: justify;’>
<table><tr><th>No</th><th style=’text-align:center;’>Nama</th>
<th style=’text-align:center;’>Jumlah</th><th style=’text-align:center;’>Kelas</th></tr>”;
while($r12 = mysql_fetch_array($query12)){

echo ”
<tr>
<td>$no</td>
<td><a href=’http://pl102.ilearning.me/author/$r12[user_login]/’ style=’text-decoration:none;’>
<span style=’color: #00fa9a;’>$r12[display_name]</span></a></td>
<td style=’text-align:center;’>$r12[Jumlah]</td>
<td style=’text-align:center;’>$kelas</td>
</tr>”;
$no = $no + 1;
}
?>
</table></div></center><br/>

<?php
$sql22 = “SELECT wp_$r[0]_posts.post_title, wp_users.display_name,
COUNT(wp_$r[0]_comments.comment_content) as jumlah,
SUM(length(wp_$r[0]_comments.comment_content)) as isi,
length(wp_$r[0]_posts.post_content) as post,
COUNT(wp_$r[0]_comments.comment_content) + SUM(length(wp_$r[0]_comments.comment_content)) + length(wp_$r[0]_posts.post_content) as total,
wp_usermeta.meta_value
FROM wp_$r[0]_comments
LEFT JOIN wp_$r[0]_posts ON wp_$r[0]_comments.comment_post_id = wp_$r[0]_posts.ID
INNER JOIN wp_users ON wp_$r[0]_posts.post_author = wp_users.ID
INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = ‘wp_$r[0]_capabilities’ AND
wp_usermeta.meta_value LIKE ‘%$author%’ AND
wp_$r[0]_comments.comment_approved = ‘1’
group by wp_$r[0]_posts.ID
ORDER BY total DESC limit 10″;
$query22=mysql_query($sql22);
$no=1;

//”View berupa variabel” disesuaikan dengan kebutuhan
echo ”
<h4><center></h4>
<div style=’border: 2px solid #FFF; height: 380px; overflow: auto; padding: 3px; width: 100%; text-align: justify;’>
<table>”;

?>
</table></div></center>

Untuk bisa membuat Viewboard berdasarkan Author maka ubah koding $author=” “ menjadi nama Role yang telah di buat sebelumnya. Karena dwi membuat Role dengan nama icp8, maka pada bagian koding dwi tulis seperti ini :  $author=”icp8″: .Namun jika yang ingin dibuat Viewboard untuk keseluruhan, bisa memakai kode $author=”author” .

Setelah Snippet untuk ViewBoard iCP 8 jadi, dwi tinggal memasukkan kode snippet pada page ViewBoard iCM yang telah di buat sebelumnya. Dan hasil akhir Viewboard iCP 8 bisa di lihat DISINI .

Berikut tampilan ViewBoard iCP 8 :

Tampilan Chart Penulis Artikel Terbanyak

Tampilan Chart Komentator Terbanyak

Tampilan Tabel Penulis Artikel Terbanyak

Tampilan Tabel Komentator Terbanyak

Sekian CerM dwi kali ini tentang Kontribusi dalam membuat ViewBoard iCM 8. Semoga cermi ini bisa bermanfaat bagi yang ingin membuat ViewBoard ^^

Terimakasih ^^

2 Responses

  1. Hi Dwi
    Yeaaayyyyy berhasil yah menerapkan VB pada iMe iCP
    Jago ni Dwi dalam hal VB next moment sharing sharing ya Dwi^^

    Ohya memang dengan adanya VB dalam sebuah iMe untuk bisa mengukur kerajinan author didalamnya ya hehehe tanpa harus dipahami manual dengan ada nya VB semakin mudah dipahami siapa rajin buat cermi cermi comment juga.. Semangat selalu Dwi pastikan dengan kontribus dimana saja akan menambah pengetahuan dan pengalaman baru untuk Dwi^..

  2. Good job wi^^
    Kontribusinya lancar ya wi, akhirnya VBnya jadi juga hehe^^
    Thank u udah sharing ya wi, jadi dapet ilmu baru deh..

Leave a Reply

You must be logged in to post a comment.