class mk_control_panel {
public function __construct() {
$this->store_theme_current_version();
$this->api_url = 'https://artbees.net/api/v1/';
add_filter( 'upload_mimes', array( &$this, 'mime_types' ) );
add_filter( 'getimagesize_mimes_to_exts', array( &$this, 'mime_to_ext' ) );
add_action( 'wp_ajax_mka_cp_load_pane_action', array( & $this, 'mka_cp_load_pane_action' ) );
add_action( 'wp_ajax_mka_cp_register_revoke_api_action', array( &$this, 'mka_cp_register_revoke_api_action' ) );
add_action( 'wp_ajax_abb_save_image_sizes', array( &$this, 'abb_save_image_sizes' ) );
add_action( 'wp_ajax_abb_get_icon_list_action', array( &$this, 'abb_get_icon_list_action' ) );
$this->mk_verify_envato_hosted();
}
/**
* This hook will allow WordPress to accept .zip formats in media library
*
* @author Bob Ulusoy
*/
public function mime_types( $mimes ) {
$mimes['zip'] = 'application/zip';
return $mimes;
}
/**
* Map the "image/vnd.microsoft.icon" MIME type to the ico file extension, instead of
* modifying the expected MIME types of WordPress in the WordPress wp_get_mime_types()
* function.
*
* This is work-around for a bug in WordPress when the PHP version returns MIME
* type of "image/vnd.microsoft.icon" instead of "image/x-icon"
* that WordPress expects.
*
* @author Dominique Mariano
*
* @since 5.6 Introduced.
*/
public function mime_to_ext( $mimes_to_text ) {
$mimes_to_text['image/vnd.microsoft.icon'] = 'ico';
return $mimes_to_text;
}
public function get_image_size_data() {
$options = get_option( IMAGE_SIZE_OPTION );
if ( empty( $options ) ) {
$options = array(
array(
'size_w' => 500,
'size_h' => 500,
'size_n' => 'Image Size 500x500',
'size_c' => 'on',
),
);
}
return $options;
}
public function abb_save_image_sizes() {
check_ajax_referer( 'ajax-image-sizes-options', 'security' );
$options = isset( $_POST['options'] ) ? $_POST['options'] : array();
$options_array = array();
if ( ! empty( $options ) ) {
foreach ( $options as $sizes ) {
parse_str( $sizes, $output );
$options_array[] = $output;
}
}
if ( update_option( IMAGE_SIZE_OPTION, $options_array ) ) {
update_option( THEME_OPTIONS_BUILD, uniqid() );
wp_die( 1 );
} else {
wp_die( 2 );
}
}
public function abb_get_icon_list_action() {
include_once( 'icons-list.php' );
$from = isset( $_POST['from'] ) ? $_POST['from'] : 0;
$count = isset( $_POST['count'] ) ? $_POST['count'] : 500;
$category = isset( $_POST['category'] ) ? $_POST['category'] : false;
$keyword = isset( $_POST['keyword'] ) ? $_POST['keyword'] : false;
if ( ! empty( $category ) ) {
$mk_icon_list = $this->get_icon_by_library( $mk_icon_list, $category );
}
if ( ! empty( $keyword ) ) {
$mk_icon_list = $this->get_icon_by_keyword( $mk_icon_list, $keyword );
}
$prepare_list = array_slice( $mk_icon_list, $from, $count );
$return_count = count( $prepare_list );
$response = array(
'status' => true,
'return_count' => $return_count,
'data' => $this->generate_icon_list( $prepare_list ),
);
wp_die( json_encode( $response ) );
}
public function generate_icon_list( $library ) {
$icon_html = '';
if ( ! empty( $library ) ) {
foreach ( $library as $icon ) {
$icon_html .= '
' . Mk_SVG_Icons::get_svg_icon_by_class_name( false, $icon['n'], 32 ) . '
';
}
}
return $icon_html;
}
public function get_icon_by_library( $library, $category ) {
if ( $category ) {
$new_list = array();
foreach ( $library as $icon ) {
if ( $icon['l'] == $category ) {
$new_list[] = $icon;
}
}
return $new_list;
}
return $library;
}
public function get_icon_by_keyword( $library, $keyword ) {
if ( $keyword ) {
$new_list = array();
foreach ( $library as $icon ) {
if ( strpos( $icon['n'], $keyword ) !== false ) {
$new_list[] = $icon;
}
}
return $new_list;
}
return $library;
}
/**
*
* Artbees API Key Verifier
*
* @param string $apikey Api key.
* @since Updated 6.0.2 Added Envato parameter for api verification.
* @return array.
*/
public function verify_artbees_apikey( $apikey ) {
return true;
$envato = ( defined( 'SUBSCRIPTION_CODE' ) && defined( 'ENVATO_HOSTED_SITE' ) ) ? true : false;
$data = array(
'timeout' => 10,
'httpversion' => '1.1',
'body' => array(
'apikey' => $apikey,
'domain' => $_SERVER['SERVER_NAME'],
'envato' => $envato,
),
);
$query = wp_remote_post( $this->api_url . 'verify', $data );
if ( ! is_wp_error( $query ) ) {
$result = json_decode( $query['body'], true );
return $result;
}
return array(
'message' => $query->get_error_message() . ' Please contact Artbees Support',
);
}
/**
* Gets the result for api key verification.
*
* @param string $api_key api key string.
* @return array|mixed|object returns false if testdrive mod is defined or disable test drive session is true.
*
* @author Ugur Mirza ZEYREK
* @copyright Artbees LTD (c)
* @link http://artbees.net
* @since Version 6.0 Added for test drive specific sites.
*/
private function mka_cp_get_api_result( $api_key ) {
$mk_testdrive = ( defined( 'MK_TESTDRIVE' ) && true === MK_TESTDRIVE );
$mk_dis_td_session = ( isset( $_SESSION['mk_disable_testdrive'] ) && 'true' === $_SESSION['mk_disable_testdrive'] );
$result['is_verified'] = false;
if ( false === $mk_testdrive || true === $mk_dis_td_session ) {
$result = $this->verify_artbees_apikey( $api_key );
}
return $result;
}
/**
* Verifies envato hosted users.
* @since 6.0.2
* @author Ugur Mirza Zeyrek
*/
private function mk_verify_envato_hosted() {
if ( defined( 'ENVATO_HOSTED_SITE' ) && defined( 'SUBSCRIPTION_CODE' ) ) {
$api_key = SUBSCRIPTION_CODE;
$result = $this->mka_cp_get_api_result( $api_key );
if ( $result['is_verified'] ) {
update_option( 'artbees_api_key', $api_key, 'yes' );
$message = __( 'Your product registration was successful.', 'mk_framework' );
$status = true;
} else {
delete_option( 'artbees_api_key' );
$message = __( 'Your API key could not be verified. ', 'mk_framework' ) . (isset( $result['message'] ) ? $result['message'] : __( 'An error occured', 'mk_framework' )) . '.';
$status = false;
}
}
}
public function mka_cp_register_revoke_api_action() {
check_ajax_referer( 'mka-cp-ajax-register-api', 'security' );
$method = $_POST['method'];
if ( $method == 'register' ) {
$api_key = $_POST['api_key'];
$result = $this->mka_cp_get_api_result( $api_key );
if ( $result['is_verified'] ) {
update_option( 'artbees_api_key', $api_key, 'yes' );
$message = __( 'Your product registration was successful.', 'mk_framework' );
$status = true;
} else {
delete_option( 'artbees_api_key' );
$message = __( 'Your API key could not be verified. ', 'mk_framework' ) . ( isset( $result['message'] ) ? $result['message'] : __( 'An error occured', 'mk_framework' ) ) . '.';
$status = false;
}
} elseif ( $method == 'revoke' ) {
delete_option( 'artbees_api_key' );
$message = __( 'Your API key has been successfully revoked.', 'mk_framework' );
$status = true;
}
echo json_encode(
array(
'message' => $message,
'status' => $status,
)
);
wp_die();
}
/**
* Stores theme current version into options table to be used in multiple instances
*/
public function store_theme_current_version() {
$theme_data = wp_get_theme( get_option( 'template' ) );
$theme_version = $theme_data->Version;
if ( get_option( 'mk_jupiter_theme_current_version' ) != $theme_version ) {
update_option( 'mk_jupiter_theme_current_version', $theme_version );
}
}
/**
*
*
* Check if Current Customer is verified
*/
public function is_verified_artbees_customer( $localhost = true ) {
return true;
$result = $this->verify_artbees_apikey( get_option( 'artbees_api_key' ) );
if ( defined( 'MK_DEV' ) ) {
return true;
}
if ( self::isLocalHost() && $localhost == true ) {
return true;
}
return ( isset( $result['status'] ) && 202 == $result['status'] ) ? true : false;
}
public function is_api_key_exists( $localhost = true ) {
$api_key = get_option( 'artbees_api_key' );
if ( ! empty( $api_key ) ) {
return true;
}
return false;
}
public function mka_cp_load_pane_action() {
$slug = esc_attr( $_POST['slug'] );
ob_start();
include_once( THEME_CONTROL_PANEL . "/v2/panes/{$slug}.php" );
$pane_html = ob_get_clean();
wp_send_json_success( $pane_html );
wp_die();
}
/**
* Fetch Announcements from artbees themes API, store them in transients. So they get updated once a day
*
* @copyright ArtbeesLTD (c)
* @link http://artbees.net
* @since Version 5.1
* @last_update Version 5.1
* @package artbees
* @author Bob Ulusoy
*/
public function get_announcements() {
// set_transient('mk_artbees_themes_announcements', null);
if ( false == get_transient( 'mk_artbees_themes_announcements' ) ) {
global $wp_version;
$data = array(
'user-agent' => 'WordPress/' . $wp_version . '; ' . esc_url( home_url( '/' ) ),
);
$raw_response = wp_remote_get( $this->api_url . 'announcements', $data );
if ( ! is_wp_error( $raw_response ) && ($raw_response['response']['code'] == 200) ) {
$response = $raw_response['body'];
} else {
$response = is_wp_error( $raw_response );
}
// Transient will be cleared after 1 day.
set_transient( 'mk_artbees_themes_announcements', $response, DAY_IN_SECONDS );
}
return unserialize( get_transient( 'mk_artbees_themes_announcements' ) );
}
private static function let_to_num( $size ) {
$l = substr( $size, -1 );
$ret = substr( $size, 0, -1 );
switch ( strtoupper( $l ) ) {
case 'P':
$ret *= 1024;
case 'T':
$ret *= 1024;
case 'G':
$ret *= 1024;
case 'M':
$ret *= 1024;
case 'K':
$ret *= 1024;
}
return $ret;
}
public static function makeBoolStr( $var ) {
if ( $var == false || $var == 'false' || $var == 0 || $var == '0' || $var == '' || empty( $var ) ) {
return 'false';
} else {
return 'true';
}
}
public static function isLocalHost() {
return ($_SERVER['REMOTE_ADDR'] === '127.0.0.1' || $_SERVER['REMOTE_ADDR'] === 'localhost' || $_SERVER['REMOTE_ADDR'] === '::1') ? 1 : 0;
}
public static function isWpDebug() {
return (defined( 'WP_DEBUG' ) && WP_DEBUG == true);
}
public static function compileSystemStatus( $json_output = false, $remote_checks = false ) {
global $wpdb;
$sysinfo = array();
$sysinfo['home_url'] = esc_url( home_url( '/' ) );
$sysinfo['site_url'] = esc_url( site_url( '/' ) );
// Only is a file-write check
$sysinfo['wp_content_url'] = WP_CONTENT_URL;
$sysinfo['wp_ver'] = get_bloginfo( 'version' );
$sysinfo['wp_multisite'] = is_multisite();
$sysinfo['permalink_structure'] = get_option( 'permalink_structure' ) ? get_option( 'permalink_structure' ) : 'Default';
$sysinfo['front_page_display'] = get_option( 'show_on_front' );
if ( $sysinfo['front_page_display'] == 'page' ) {
$front_page_id = get_option( 'page_on_front' );
$blog_page_id = get_option( 'page_for_posts' );
$sysinfo['front_page'] = $front_page_id != 0 ? get_the_title( $front_page_id ) . ' (#' . $front_page_id . ')' : 'Unset';
$sysinfo['posts_page'] = $blog_page_id != 0 ? get_the_title( $blog_page_id ) . ' (#' . $blog_page_id . ')' : 'Unset';
}
$sysinfo['wp_mem_limit']['raw'] = self::let_to_num( WP_MEMORY_LIMIT );
$sysinfo['wp_mem_limit']['size'] = size_format( $sysinfo['wp_mem_limit']['raw'] );
$sysinfo['db_table_prefix'] = 'Length: ' . strlen( $wpdb->prefix ) . ' - Status: ' . (strlen( $wpdb->prefix ) > 16 ? 'ERROR: Too long' : 'Acceptable');
$sysinfo['wp_debug'] = 'false';
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
$sysinfo['wp_debug'] = 'true';
}
$sysinfo['wp_lang'] = get_locale();
if ( ! class_exists( 'Browser' ) ) {
$file_path = pathinfo( __FILE__ );
require_once $file_path['dirname'] . '/browser.php';
}
$browser = new Browser();
$sysinfo['browser'] = array(
'agent' => $browser->getUserAgent(),
'browser' => $browser->getBrowser(),
'version' => $browser->getVersion(),
'platform' => $browser->getPlatform(),
// 'mobile' => $browser->isMobile() ? 'true' : 'false',
);
$sysinfo['server_info'] = esc_html( $_SERVER['SERVER_SOFTWARE'] );
$sysinfo['localhost'] = self::makeBoolStr( self::isLocalHost() );
$sysinfo['php_ver'] = function_exists( 'phpversion' ) ? esc_html( phpversion() ) : 'phpversion() function does not exist.';
$sysinfo['abspath'] = ABSPATH;
if ( function_exists( 'ini_get' ) ) {
$sysinfo['php_mem_limit'] = size_format( self::let_to_num( ini_get( 'memory_limit' ) ) );
$sysinfo['php_post_max_size'] = size_format( self::let_to_num( ini_get( 'post_max_size' ) ) );
$sysinfo['php_time_limit'] = ini_get( 'max_execution_time' );
$sysinfo['php_max_input_var'] = ini_get( 'max_input_vars' );
$sysinfo['suhosin_request_max_vars'] = ini_get( 'suhosin.request.max_vars' );
$sysinfo['suhosin_post_max_vars'] = ini_get( 'suhosin.post.max_vars' );
$sysinfo['php_display_errors'] = self::makeBoolStr( ini_get( 'display_errors' ) );
}
$sysinfo['suhosin_installed'] = extension_loaded( 'suhosin' );
$sysinfo['mysql_ver'] = $wpdb->db_version();
$sysinfo['max_upload_size'] = size_format( wp_max_upload_size() );
$sysinfo['def_tz_is_utc'] = 'true';
if ( date_default_timezone_get() !== 'UTC' ) {
$sysinfo['def_tz_is_utc'] = 'false';
}
$sysinfo['fsockopen_curl'] = 'false';
if ( function_exists( 'fsockopen' ) || function_exists( 'curl_init' ) ) {
$sysinfo['fsockopen_curl'] = 'true';
}
$sysinfo['soap_client'] = 'false';
if ( class_exists( 'SoapClient' ) ) {
$sysinfo['soap_client'] = 'true';
}
$sysinfo['dom_document'] = 'false';
if ( class_exists( 'DOMDocument' ) ) {
$sysinfo['dom_document'] = 'true';
}
$sysinfo['gzip'] = 'false';
if ( is_callable( 'gzopen' ) ) {
$sysinfo['gzip'] = 'true';
}
$sysinfo['mbstring'] = 'false';
if ( extension_loaded( 'mbstring' ) && function_exists( 'mb_eregi' ) && function_exists( 'mb_ereg_match' ) ) {
$sysinfo['mbstring'] = 'true';
}
$sysinfo['simplexml'] = 'false';
if ( class_exists( 'SimpleXMLElement' ) && function_exists( 'simplexml_load_string' ) ) {
$sysinfo['simplexml'] = 'true';
}
$sysinfo['phpxml'] = 'false';
if ( function_exists( 'xml_parse' ) ) {
$sysinfo['phpxml'] = 'true';
}
if ( $remote_checks == true ) {
$response = wp_remote_post(
'https://www.paypal.com/cgi-bin/webscr', array(
'sslverify' => false,
'timeout' => 60,
'user-agent' => 'MkFramework/',
'body' => array(
'cmd' => '_notify-validate',
),
)
);
if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
$sysinfo['wp_remote_post'] = 'true';
$sysinfo['wp_remote_post_error'] = '';
} else {
$sysinfo['wp_remote_post'] = 'false';
try {
if ( is_wp_error( $response ) ) {
$sysinfo['wp_remote_post_error'] = $response->get_error_message();
}
} catch ( Exception $e ) {
$sysinfo['wp_remote_post_error'] = $e->getMessage();
}
}
$response = wp_remote_get( 'http://reduxframework.com/wp-admin/admin-ajax.php?action=get_redux_extensions' );
if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
$sysinfo['wp_remote_get'] = 'true';
$sysinfo['wp_remote_get_error'] = '';
} else {
$sysinfo['wp_remote_get'] = 'false';
try {
if ( is_wp_error( $response ) ) {
$sysinfo['wp_remote_get_error'] = $response->get_error_message();
}
} catch ( Exception $e ) {
$sysinfo['wp_remote_get_error'] = $e->getMessage();
}
}
}
$active_plugins = (array) get_option( 'active_plugins', array() );
if ( is_multisite() ) {
$active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
}
$sysinfo['plugins'] = array();
foreach ( $active_plugins as $plugin ) {
$plugin_data = @get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
$plugin_name = esc_html( $plugin_data['Name'] );
$sysinfo['plugins'][ $plugin_name ] = $plugin_data;
}
$active_theme = wp_get_theme();
$sysinfo['theme']['name'] = $active_theme->Name;
$sysinfo['theme']['version'] = $active_theme->Version;
$sysinfo['theme']['author_uri'] = $active_theme->{'Author URI'};
$sysinfo['theme']['is_child'] = self::makeBoolStr( is_child_theme() );
if ( is_child_theme() ) {
$parent_theme = wp_get_theme( $active_theme->Template );
$sysinfo['theme']['parent_name'] = $parent_theme->Name;
$sysinfo['theme']['parent_version'] = $parent_theme->Version;
$sysinfo['theme']['parent_author_uri'] = $parent_theme->{'Author URI'};
}
return $sysinfo;
}
}
new mk_control_panel();
Lay Kim and Corazon Foundation was formed - Nature's Spring Foundation Inc.
Lay Kim and Corazon Foundation was formed
Posted June 16, 2020
In
Lay Kim and Corazon Foundation was formed 2020-06-16 2020-06-16 /wp-content/uploads/2020/05/logo-header-01-1.svg Nature's Spring Foundation Inc. /wp-content/uploads/2020/05/logo-header-01-1.svg 200px 200px
The natural extension of the compassion of our founders compelled the establishment of the Lay Kim and Corazon Foundation. It started with providing educational grants and scholarships to deserving students within the Cebu area.
Official Launching of Nature’s Spring Foundation
Pioneer Batch of College Scholars.