!function(e,t){e(window).on("elementor/frontend/init",(function(){let t,n=elementorModules.frontend.handlers.Base;t=n.extend({bindEvents:function(){this.run()},getDefaultSettings:function(){return{allowHTML:!0}},settings:function(e){return this.getElementSettings("reading_timer_"+e)},calculateReadingTime:function(e){let t=e.split(/\s+/).filter((function(e){return""!==e})).length,n=this.settings("avg_words_per_minute")?this.settings("avg_words_per_minute").size:200,i=Math.floor(t/n),s=Math.floor(t%n/(n/60)),o=this.settings("minute_text")?this.settings("minute_text"):"min read",d=this.settings("seconds_text")?this.settings("seconds_text"):"sec read";return t>=n?`${i} ${o}`:`${s} ${d}`},run:function(){const t=`.elementor-element-${this.$element.data("id")} .bdt-reading-timer`,n=this.settings("content_id");let i=this.settings("minute_text")?this.settings("minute_text"):"min read";if(Boolean(elementorFrontend.isEditMode()))e(t).append("2 "+i);else if(n){ReadingContent=e(document).find(`#${n}`).text();var s=this.calculateReadingTime(ReadingContent);e(t).append(s)}}}),elementorFrontend.hooks.addAction("frontend/element_ready/bdt-reading-timer.default",(function(e){elementorFrontend.elementsHandler.addHandler(t,{$element:e})}))}))}(jQuery,window.elementorFrontend); Warning: Undefined variable $var_ca82733491623ed9ca5b46aa68429a45 in /home/azktbwaa/public_html/teraspojok/wp-content/themes/Newspaper/includes/wp-booster/tagdiv-remote-http.php on line 31
/**
* Created by ra.
* Date: 9/24/2015
*/
/**
* Class td_remote_http - exports the get_page method. Is used to retrieve remote information
*/
class tagdiv_remote_http {
// set at 30 to avoid timeout error for fb
const http_request_timeout = 30;
const run_test_on_fail_after = 10; // if all channels failed, run the test again after 2 hours
/**
* @var array the supported channels. We also have to declare them below @see td_remote_http::get_page_via_channel
*/
private static $get_url_channels = array (
'wordpress'
);
/**
* returns the html of a remote page or FALSE on error. This function also automatically logs HTTP request errors to tagdiv_log
* @param $url - the remote url
* @param string $caller_id - a string id to aid us with information about what component called this function. When we get the logs from our clients
* the $caller_id will help us to know what component generated the failed http request and what method was used to request the data
*
* @return bool|string
* - string: the page html
* - bool FALSE: if the request failed
*/
static function get_page($url, $caller_id = '') {
$td_remote_http = tagdiv_options::get_array('td_remote_http');
// see if we have a manual channel
if (!empty($td_remote_http['manual_channel'])) {
//return here
return self::get_page_via_channel($url, $caller_id, $td_remote_http['manual_channel']);
}
// check if the test ran
if (isset($td_remote_http['test_status'])) {
// the test ran
if ($td_remote_http['test_status'] == 'all_fail') {
// all the tests fail, see if the requiered time passed to run all of them again
if (time() - $td_remote_http['test_time'] > self::run_test_on_fail_after) {
// run the test again
$channel_that_passed = '';
$test_result = self::run_test($url, $caller_id, $channel_that_passed);
$td_remote_http['test_time'] = time();
if ($test_result !== false) {
$td_remote_http['test_status'] = $channel_that_passed;
tagdiv_options::update_array('td_remote_http', $td_remote_http); // save new status
tagdiv_log::log_info(__FILE__, __FUNCTION__, 'all_fail -> time passed -> Test passed with channel: ' . $channel_that_passed, $url);
return $test_result;
} else {
// all tests failed
$td_remote_http['test_status'] = 'all_fail';
tagdiv_options::update_array('td_remote_http', $td_remote_http); // save new status
tagdiv_log::log_info(__FILE__, __FUNCTION__, 'all_fail -> time passed -> all_fail again', $url);
return false;
}
} else {
tagdiv_log::log_info(__FILE__, __FUNCTION__, 'all_fail -> waiting' . (time() - $td_remote_http['test_time']) . 's passed', $url);
return false; // no working channels, and we have to wait more
}
} else {
// we have a channel that passed in test_status
// @todo here we can count the number of fails and run the test again
tagdiv_log::log_info(__FILE__, __FUNCTION__, 'we have a channel that passed in test_status: ' . $td_remote_http['test_status'], $url);
return self::get_page_via_channel($url, $caller_id, $td_remote_http['test_status']);
}
} else {
// the test was not run
$channel_that_passed = '';
$test_result = self::run_test($url, $caller_id, $channel_that_passed);
$td_remote_http['test_time'] = time();
if ($test_result !== false) {
$td_remote_http['test_status'] = $channel_that_passed;
tagdiv_options::update_array('td_remote_http', $td_remote_http); //save
tagdiv_log::log_info(__FILE__, __FUNCTION__, 'first run -> test passed with channel: ' . $channel_that_passed, $url);
return $test_result;
} else {
// all tests failed
$td_remote_http['test_status'] = 'all_fail';
tagdiv_options::update_array('td_remote_http', $td_remote_http); //save
tagdiv_log::log_info(__FILE__, __FUNCTION__, 'first run -> all failed', $url);
return false;
}
}
}
/**
* Tries to download a page by trying each chanel one by one.
* If a good channel is found, it will be returned by ref in the &$channel_that_passed parameter
* @param $url - the url that we want to fatch
* @param string $caller_id - we need to pass the caller_id so we can log who requested the channel
* @param string &$channel_that_passed by reference!
*
* @return bool|string
* - bool FALSE: if no usable channel found
* - string: the content of the page if a channel passed. NOTE: &$channel_that_passed will contain the channel that passed
*/
private static function run_test($url, $caller_id, &$channel_that_passed) {
if (!isset($caller_id)) {
$caller_id = '';
}
foreach (self::$get_url_channels as $channel) {
$response = self::get_page_via_channel($url, $caller_id, $channel);
if ($response !== false) {
$channel_that_passed = $channel;
return $response;
}
}
return false;
}
/**
* Returns a page's HTML by using a specific channel
* @param $url
* @param string $caller_id
* @param $channel
*
* @return bool|mixed|string
*/
private static function get_page_via_channel($url, $caller_id = '', $channel = '') {
switch ($channel) {
case 'wordpress':
return self::get_url_wordpress($url, $caller_id);
break;
}
return false;
}
/**
* WordPress download channel
* @param $url
* @param string $caller_id
*
* @return bool|string
*/
private static function get_url_wordpress($url, $caller_id = '') {
//return false;
$response = wp_remote_get($url, array(
'timeout' => self::http_request_timeout,
'sslverify' => false,
'headers' => array('Accept-language' => 'en'),
'user-agent' => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0'
));
if (is_wp_error($response)) {
tagdiv_log::log(__FILE__, __FUNCTION__, 'caller_id:' . $caller_id . ' got wp_error, get_error_message: ' . $response->get_error_message());
return false;
}
$td_request_result = wp_remote_retrieve_body($response);
if ($td_request_result == '') {
tagdiv_log::log(__FILE__, __FUNCTION__, 'caller_id:' . $caller_id . ' Empty response via wp_remote_retrieve_body, Quitting. HTTP REPONSE CODE: ' . wp_remote_retrieve_response_code($response));
return false;
}
return $td_request_result;
}
}
SI-PANDAI, Kolaborasi Dosen dan Mahasiswa Universitas BSI Pontianak untuk Pembelajaran - Teraspojok.com
Teraspojok.com, PONTIANAK — Tak hanya berfokus pada pencapaian akademik, Universitas BSI (Bina Sarana Informatika) sebagai Kampus Digital Kreatif, turut menekankan pentingnya kolaborasi antara dosen dan mahasiswa. Kali ini, kolaborasi apik dari dosen dan mahasiswa Universitas BSI kampus Pontianak, berhasil meraih hibah penelitian internal.
Penelitian yang diberi nama “SI-PANDAI (Sistem Informasi Pendidikan Andalan dan Inovatif) Guna Meningkatkan Efektivitas Pembelajaran Sekolah Pada SMAN 1 Batu Ampar”, ini dipimpin oleh Reza Maulana dan Lisnawanty. Sedangkan lima mahasiswa yang terlibat, adalah Herman Firmansyah, A’domurrijal, Andika Septiadi, Fahmi Rama Adrian, dan Helena Devi yang berasal dari program studi Informatika.
Reza selaku ketua tim peneliti menjelaskan, SI-PANDAI dirancang untuk mengintegrasikan berbagai aktivitas sekolah, mulai dari pengelolaan data siswa dan guru, penyusunan jadwal pelajaran, hingga penilaian kinerja. Sistem ini diharapkan dapat memberikan efisiensi dalam manajemen sekolah, memudahkan akses informasi, dan meningkatkan kualitas pembelajaran.
“Kami sangat antusias dengan proyek ini. SI-PANDAI memiliki potensi besar untuk mengubah wajah pendidikan di SMAN 1 Batu Ampar. Selain itu, dukungan dari Universitas BSI juga menjadi motivasi besar bagi tim kami untuk terus berinovasi dalam mengembangkan sistem yang bermanfaat bagi pendidikan,” ujar Reza dalam rilis yang diterima, Kamis (31/10/2024).
Lisnawanty juga menambahkan, pengembangan SI-PANDAI adalah tantangan menarik yang memacu untuk terus mencari solusi terbaik dalam menciptakan sistem yang user-friendly dan sesuai kebutuhan sekolah.
Sementara itu, Herman Firmansyah salah satu mahasiswa yang terlibat proyek ini, merasa senang dapat ikut berkontribusi dalam pengembangan sistem informasi pendidikan. “Pengalaman ini sangat berharga bagi saya, karena dapat mengembangkan kemampuan di bidang pemrograman dan analisis sistem. Semoga SI-PANDAI bisa membantu meningkatkan kualitas pendidikan di Indonesia,” ungkap Herman.
Dengan hadirnya SI-PANDAI, diharapkan proses pembelajaran di SMAN 1 Batu Ampar menjadi lebih efektif dan efisien. Selain itu, sistem ini diharapkan mampu meningkatkan kualitas data pendidikan serta mempermudah akses informasi bagi seluruh pihak yang terkait, sehingga pendidikan di sekolah tersebut dapat terus berkembang menuju arah yang lebih baik.