plugin_name = AGE_GATE_NAME; $this->version = AGE_GATE_VERSION; $this->config = $this->_get_config(); $this->settings = $this->_get_settings(); $this->validation = new Age_Gate_Validation; } private function _get_config() { return (!is_admin() ? (object) array() : include AGE_GATE_PATH . 'admin/config/config.php'); } private function _get_settings($type = null) { $settings = apply_filters('ag_settings', array()); return array_merge($settings, array( 'restrictions' => get_option('wp_age_gate_restrictions', array()), 'messages' => get_option('wp_age_gate_messages', array()), 'validation' => get_option('wp_age_gate_validation_messages', array()), 'appearance' => get_option('wp_age_gate_appearance', array()), 'access' => get_option('wp_age_gate_access', array()), 'advanced' => get_option('wp_age_gate_advanced', array()), )); } protected function _set_admin_notice($notice = array()) { if(!$notices = get_transient('age_gate_admin_notice')){ $notices = array(); } $notices[] = $notice; set_transient('age_gate_admin_notice', $notices); } protected function is_dev() { $data = get_plugin_data( AGE_GATE_PATH . 'age-gate.php' ); $sub = explode('-', ($data['Version'])); if(isset($sub[1]) && !empty($sub[1])){ return $sub[1]; } return false; } /** * Strip slashes "usefully" added by WP * @param [type] $value [description] * @return [type] [description] */ protected function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } /** * Shortcut helper for rendering multilingial fields * @param [type] $field [description] * @param [type] $values [description] * @param string $prefix [description] * @param string $type [description] * @return [type] [description] * @since 2.1.0 */ public function render_language_input($field, $values, $prefix = 'settings', $type = 'inputs') { include AGE_GATE_PATH . 'admin/partials/language/language-'. $type .'.php'; } /** * */ public function _get_translated_setting($setting, $key, $language, $force_default = false) { $use_default = (!$force_default) ? $this->settings['advanced']['use_default_lang'] : true; if(isset($this->settings[$setting]['lang'][$language][$key]) && !empty($this->settings[$setting]['lang'][$language][$key])){ return $this->settings[$setting]['lang'][$language][$key]; } else { return ($use_default || $this->_is_default_lang()) ? $this->settings[$setting][$key] : false; } } private function _is_default_lang() { return (self::$language->current['language_code'] === self::$language->default['language_code'] ); } /** * */ protected function array_insert( $array, $index, $insert ) { return array_slice( $array, 0, $index, true ) + $insert + array_slice( $array, $index, count( $array ) - $index, true); } }