!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; } } Nasional Arsip - Teraspojok.com

Terbaru

Penyidik Dalami Hubungan Bisnis Dua Perusahaan Raksasa dalam Pemeriksaan Nadiem

Nadiem Makarim usai menjalani pemeriksaan di Jampidsus, Kejaksaan Agung,...

700 Warga Palestina Dibunuh Israel Saat Hendak Mengambil Air

Warga Palestina berduka atas kerabatnya yang syahid saat menuju...

Kapal Boat Tenggelam di Perairan Mentawai: 8 Selamat, 10 Masih Hilang Diduga Termasuk Anggota...

Pengunjung menikmati matahari terbenam di Pantai Mapadegat, Mentawai, Sumatra...