bbcsystem

file untuk routing dalam framework, sudah dipanggil secara otomatis dan masuk ke dalam variable $sys yang akan menjadi variable global

includes/system/bbcsystem.php

bbcsystem

file untuk routing dalam framework, sudah dipanggil secara otomatis dan masuk ke dalam variable $sys yang akan menjadi variable global

Class ini tidak perlu anda panggil secara manual, karena sudah dipanggil secara otomatis oleh framework kemudian dimasukkan ke dalam variable $sys sebagai variable global framework

Anda hanya perlu memanggil method2 yang ada di dalam nya menggunakan variable object $sys tersebut

set_layout

merubah file template pada site template yang akan digunakan untuk menampilkan output dari module

set_layout($file = '');

layout_fetch

mengambil nama template yang aktif saat itu

layout_fetch();
akan mereturn kan String nama dari template yang ada pada database table "bbc_template"

layout_change

untuk merubah site template yang aktif menggunakan template lain. Hanya berlaku bagi pengunjung yang aktif saat itu

layout_change($template);

module_change

merubah module yang saat itu aktif menjadi module lain, digunakan untuk mengambil library language, email template dll

module_change($modulename);

method ini akan merubah orientasi framework bahwa script di bawah nya di proses dalam module dengan nama $modulename, sehingga semua Language, config, email template dll. akan mengambil dari module $modulename tersebut

module_clear

mengembalikan kondisi module saat sebelumnya telah diubah dengan menggunakan bbcsystem::module_change

module_clear();

get_module_id

mengambil ID dari module yang aktif saat itu, ID yang diambil adalah ID dari database table bbc_module

get_module_id($name = '');

denied

me-redirect halaman ke url denied yang sudah ditentukan pada file _setting.php pada DocRoot

denied($url='');

nav_list

mengambil semua link navigasi dalam bentuk Array

nav_list($menu_id);

nav_change

merubah navigasi default yang anda di navigation link

nav_change($title, $link = '');

nav_add

menambah kan link halaman pada navigasi menu

nav_add($title, $link = '');

nav_show

menampilkan link navigasi untuk memberitahu pengunjung saat itu dia sedang membuka halaman dari dan di menu apa

nav_show();
method ini akan me-return kan navigasi jadi perlu di echo jika ingin langsung di output kan

menu_get_all

mengambil semua menu yang tersedia bagi pengunjung yang saat itu akses, baik sudah login maupun belum

menu_get_all();

menu_fetch

fitur pencarian menu yang sudah tersedia bagi pengunjung saat itu baik sudah login maupun belum

menu_fetch($field, $value, $method = '=');

link_set

menggantikan script default dari javascript maupun style css. Function ini tidak perlu digunakan apabila sudah menggunakan nama templates/[namatemplate]/js/script.js atau templates/[namatemplate]/css/style.css

link_set($file, $type = 'css');

link_css

menambahkan script CSS Style kedalam halaman HTML. function ini bisa di singkat menggunakan function link_css

link_css($css, $is_meta = true);

link_js

menambahkan script javascript kedalam halaman HTML. function ini bisa di singkat menggunakan function link_js

link_js($js, $is_meta = true);

meta

menampilkan semua meta yang biasanya dipanggil di dalam script site template

meta($is_header_js = true);

penggunaan function / method ini digunakan pada template contoh echo $sys->meta(); dan apabila argument berisi FALSE maka pada akhir template setelah mengecho bootstrap.min.js andapun juga perlu meng-echo echo $sys->template_js; karena semua file javascript tidak lagi ditampilkan di header melainkan di body HTML bagian paling bawah, tujuannya untuk mempercepat load halaman pertama kali dibuka melalui browser. Untuk lebih jelasnya dalam penggunaan method ini silahkan ada buka halaman ini

meta_add

menambah meta data pada halaman website yang bisa di panggil dari dalam module tanpa merubah script template

meta_add($txt = '');

button

manampilkan button yang akan me-link ke halaman lain

button($link, $text = '', $icon='send');

msg

menampilkan pesan text ke halaman website baik berupa error message, warning message, info message dll. Tetapi bisa menggunakan shortcut function msg

msg($Msg, $type='info' /*success|info|warning|danger*/);

stop

menentukan script menampilkan output menggunakan template ataukah tidak

stop($bool = true);

curl

mangambil isi content dari url luar, atau dengan istilah lain meng-grab content dari website lain

curl($url, $param=array(), $option=array(), $is_debug = false);

contoh:
$url  = 'http://anydomain.ltd/any/path';
$post = array(
	'username' => 'my_username',
	'password' => 'my_secret'
	);
$header = array(
	'CURLOPT_USERAGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Safari/605.1.15'
	);
$output = $sys->curl($url, $post, $header);

untuk kondisi tertentu, terkadang server pihak ke 3 memerlukan urlencode dalam untuk CURLOPT_HTTPHEADER jadi anda perlu untuk meng-encode
$url  = 'http://anydomain.ltd/any/path';
$post = array(
	'username' => 'my_username',
	'password' => 'my_secret'
	);
$header = array(
	'CURLOPT_USERAGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Safari/605.1.15',
	'CURLOPT_HTTPHEADER' => array(
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
		'Accept-Language: en-US,en;q=0.5',
		'Accept-Encoding: gzip, deflate',
		'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
		'Keep-Alive: 300',
		'Connection: keep-alive',
		'Content-Type: application/x-www-form-urlencoded')
	);
$header['CURLOPT_HTTPHEADER'] = urlencode_r($header['CURLOPT_HTTPHEADER']);
$output = $sys->curl($url, $post, $header);

tetapi jika header ingin menggunakan nilai default dan hanya ingin menggunakan urlencode saja anda bisa mengganti argument ke 3 menjadi angka satu, contoh:
$output = $sys->curl($url, $post, 1);

block_show

menampilkan semua block berdasarkan posisi blockyang di request. Posisi block ada di database table 'bbc_block_position'

block_show($str = '', $html = 'none');

avatar

menampilkan gambar avatar berdasarkan alamat email yang diinput kan

avatar($email = '', $size=50);

method ini bisa disingkat dengan menggunakan function avatar

text_replace

menggantikan semua text yang ada di dalam square bracket ([anytext]) menjadi value dari variable yang di masukkan di argument ke 2

text_replace( $content, $params = array() );

Contoh penggunaan:
$TextFrom = array(
  'title' => 'may name is [name]',
  'detail' => 'dear [recipient], please introduce me my name is [name]'
  );
$params = array(
  'name'      => 'Danang Widiantoro',
  'recipient' => 'Syafiq Achmad'
 );
$output = $sys->text_replace($TextFrom, $params);
pr($output);
Script di atas akan meng-outputkan:
Array
(
    [title] => may name is Danang Widiantoro
    [detail] => dear Syafiq Achmad, please introduce me my name is Danang Widiantoro
)

mail_fetch

menampilkan isi content dari database table bbc_email dan bbc_email_text

mail_fetch( $name, $module_id = '' );

output akan di return kan sehingga anda perlu meng echo untuk melihat hasilnya

mail_send

mengirimkan email menggunakan function sendmail yang telah terisi input variable dari table `bbc_email` dan `bbc_email_text`

mail_send($to, $email_tpl, $debug = false);

contoh penggunaan:
$params = array(
  'title' => 'nama file download',
 'url' => 'http://domain.ext/download-file.html',
 );
$sys->mail_send(array($email), 'download_register', $params);
pada script diatas jika dieksekusi pada module "content" maka akan mengirimkan email yang berisi sesuai dengan email template (di admin panel: Control Panel / Email Template) dengan nama template "download_register"
Apabila anda ingin menggunakan template tersebut pada module selain "content" maka anda harus merubah terlebih dahulu ke module "content" baru mengeksekusi script tersebut, tanpa itu maka system akan mencari email template pada module yang aktif. Berikut contoh pemanggilan template email di module lain
$sys->module_change('content');
$params = array(
  'title' => 'nama file download',
 'url' => 'http://domain.ext/download-file.html',
 );
$sys->mail_send(array($email), 'download_register', $params);
$sys->module_clear();

clean_cache

menghapus folder images/cache supaya semua MySQL query kembali menggunakan live database dan tidak menggunakan cache yang sudah ada

clean_cache();

login

fitur login menggunakan pihak ke 3 seperti google, facebook dll

login($sitename = '', $redirect='');

Untuk service apa saja yang tersedia bagi variable $sitename bisa anda lihat di auth.fisip.net
contoh penggunaan:
$output = $sys->login('google');
pr($output);
maka output dari script di atas akan menjadi seperti di bawah:
Array
(
    [id] => 115321076735735459739
    [email] => danang@fisip.net
    [verified_email] => 1
    [name] => Danang Widiantoro
    [given_name] => Danang
    [family_name] => Widiantoro
    [link] => https://plus.google.com/+DanangWidiantoro
    [picture] => https://lh5.googleusercontent.com/-n5Aq4ZySDY8/AAAAAAAAAAI/AAAAAAAAAGY/qkD_lqWJj78/photo.jpg
    [gender] => male
    [locale] => en
    [hd] => fisip.net
    [image] => https://lh5.googleusercontent.com/-n5Aq4ZySDY8/AAAAAAAAAAI/AAAAAAAAAGY/qkD_lqWJj78/photo.jpg
    [auth] => google
)
sehingga anda bisa memanfaatkan $output['email'] untuk verifikasi login di database table `bbc_user` atau `bbc_account`, dan key dari contoh output diatas akan selalu berbeda tergantung $sitename mana yang anda gunakan. Adapun key yang pasti tersedia disetiap service ($sitename) adalah: id, name, email dan image