header and footer, add PHP code snippets with conditional logic, insert ads pixel, custom content, and more.
* License: GPLv2 or later
*
* Text Domain: insert-headers-and-footers
* Domain Path: /languages
*
* @package WPCode
*/
/*
Copyright 2019 WPBeginner
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Don't allow multiple versions to be active.
if ( function_exists( 'WPCode' ) ) {
if ( ! function_exists( 'wpcode_pro_just_activated' ) ) {
/**
* When we activate a Pro version, we need to do additional operations:
* 1) deactivate a Lite version;
* 2) register option which help to run all activation process for Pro version (custom tables creation, etc.).
*/
function wpcode_pro_just_activated() {
wpcode_deactivate();
add_option( 'wpcode_install', 1 );
}
}
add_action( 'activate_wpcode-premium/wpcode.php', 'wpcode_pro_just_activated' );
if ( ! function_exists( 'wpcode_lite_just_activated' ) ) {
/**
* Store temporarily that the Lite version of the plugin was activated.
* This is needed because WP does a redirect after activation and
* we need to preserve this state to know whether user activated Lite or not.
*/
function wpcode_lite_just_activated() {
set_transient( 'wpcode_lite_just_activated', true );
}
}
add_action( 'activate_insert-headers-and-footers/ihaf.php', 'wpcode_lite_just_activated' );
if ( ! function_exists( 'wpcode_lite_just_deactivated' ) ) {
/**
* Store temporarily that Lite plugin was deactivated.
* Convert temporary "activated" value to a global variable,
* so it is available through the request. Remove from the storage.
*/
function wpcode_lite_just_deactivated() {
global $wpcode_lite_just_activated, $wpcode_lite_just_deactivated;
$wpcode_lite_just_activated = (bool) get_transient( 'wpcode_lite_just_activated' );
$wpcode_lite_just_deactivated = true;
delete_transient( 'wpcode_lite_just_activated' );
}
}
add_action( 'deactivate_insert-headers-and-footers/ihaf.php', 'wpcode_lite_just_deactivated' );
if ( ! function_exists( 'wpcode_deactivate' ) ) {
/**
* Deactivate Lite if WPCode already activated.
*/
function wpcode_deactivate() {
$plugin = 'insert-headers-and-footers/ihaf.php';
deactivate_plugins( $plugin );
do_action( 'wpcode_plugin_deactivated', $plugin );
}
}
add_action( 'admin_init', 'wpcode_deactivate' );
if ( ! function_exists( 'wpcode_lite_notice' ) ) {
/**
* Display the notice after deactivation when Pro is still active
* and user wanted to activate the Lite version of the plugin.
*/
function wpcode_lite_notice() {
global $wpcode_lite_just_activated, $wpcode_lite_just_deactivated;
if (
empty( $wpcode_lite_just_activated ) ||
empty( $wpcode_lite_just_deactivated )
) {
return;
}
// Currently tried to activate Lite with Pro still active, so display the message.
printf(
'
%1$s
%2$s
',
esc_html__( 'Heads up!', 'insert-headers-and-footers' ),
esc_html__( 'Your site already has WPCode Pro activated. If you want to switch to WPCode Lite, please first go to Plugins → Installed Plugins and deactivate WPCode. Then, you can activate WPCode Lite.', 'insert-headers-and-footers' )
);
if ( isset( $_GET['activate'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
unset( $_GET['activate'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
}
unset( $wpcode_lite_just_activated, $wpcode_lite_just_deactivated );
}
}
add_action( 'admin_notices', 'wpcode_lite_notice' );
// Do not process the plugin code further.
return;
}
/**
* Main WPCode Class
*/
class WPCode {
/**
* Holds the instance of the plugin.
*
* @since 2.0.0
*
* @var WPCode The one true WPCode
*/
private static $instance;
/**
* Plugin version.
*
* @since 2.0.0
*
* @var string
*/
public $version = '';
/**
* The auto-insert instance.
*
* @var WPCode_Auto_Insert
*/
public $auto_insert;
/**
* The snippet execution instance.
*
* @var WPCode_Snippet_Execute
*/
public $execute;
/**
* The error handling instance.
*
* @var WPCode_Error
*/
public $error;
/**
* The conditional logic instance.
*
* @var WPCode_Conditional_Logic
*/
public $conditional_logic;
/**
* The conditional logic instance.
*
* @var WPCode_Snippet_Cache
*/
public $cache;
/**
* The snippet library.
*
* @var WPCode_Library
*/
public $library;
/**
* The Snippet Generator.
*
* @var WPCode_Generator
*/
public $generator;
/**
* The plugin settings.
*
* @var WPCode_Settings
*/
public $settings;
/**
* The plugin importers.
*
* @var WPCode_Importers
*/
public $importers;
/**
* The file cache class.
*
* @var WPCode_File_Cache
*/
public $file_cache;
/**
* The notifications instance (admin-only).
*
* @var WPCode_Notifications
*/
public $notifications;
/**
* The admin page loader.
*
* @var WPCode_Admin_Page_Loader
*/
public $admin_page_loader;
/**
* The library auth instance.
*
* @var WPCode_Library_Auth
*/
public $library_auth;
/**
* The admin notices instance.
*
* @var WPCode_Notice
*/
public $notice;
/**
* Instance for logging errors.
*
* @var WPCode_File_Logger
*/
public $logger;
/**
* Load the smart tags.
*
* @var WPCode_Smart_Tags
*/
public $smart_tags;
/**
* Main instance of WPCode.
*
* @return WPCode
* @since 2.0.0
*/
public static function instance() {
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WPCode ) ) {
self::$instance = new WPCode();
}
return self::$instance;
}
/**
* Constructor.
*/
private function __construct() {
$this->setup_constants();
$this->includes();
add_action( 'plugins_loaded', array( $this, 'load_components' ), - 1 );
}
/**
* Set up global constants.
*
* @return void
*/
private function setup_constants() {
define( 'WPCODE_FILE', __FILE__ );
$plugin_headers = get_file_data( WPCODE_FILE, array( 'version' => 'Version' ) );
define( 'WPCODE_VERSION', $plugin_headers['version'] );
define( 'WPCODE_PLUGIN_BASENAME', plugin_basename( WPCODE_FILE ) );
define( 'WPCODE_PLUGIN_URL', plugin_dir_url( WPCODE_FILE ) );
define( 'WPCODE_PLUGIN_PATH', plugin_dir_path( WPCODE_FILE ) );
$this->version = WPCODE_VERSION;
}
/**
* Require the files needed for the plugin.
*
* @return void
*/
private function includes() {
// Load the safe mode logic first.
require_once WPCODE_PLUGIN_PATH . 'includes/safe-mode.php';
// Plugin helper functions.
require_once WPCODE_PLUGIN_PATH . 'includes/helpers.php';
// Functions for global headers & footers output.
require_once WPCODE_PLUGIN_PATH . 'includes/global-output.php';
// Use the old class name for backwards compatibility.
require_once WPCODE_PLUGIN_PATH . 'includes/legacy.php';
// Add backwards compatibility for older versions of PHP or WP.
require_once WPCODE_PLUGIN_PATH . 'includes/compat.php';
// Register code snippets post type.
require_once WPCODE_PLUGIN_PATH . 'includes/post-type.php';
// The snippet class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-snippet.php';
// Auto-insert options.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-auto-insert.php';
// Execute snippets.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-snippet-execute.php';
// Handle PHP errors.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-error.php';
// [wpcode] shortcode.
require_once WPCODE_PLUGIN_PATH . 'includes/shortcode.php';
// Conditional logic.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-conditional-logic.php';
// Snippet Cache.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-snippet-cache.php';
// Settings class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-settings.php';
// Custom capabilities.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-capabilities.php';
// Map capabilities for backwards compatibility.
require_once WPCODE_PLUGIN_PATH . 'includes/capabilities.php';
// Install routines.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-install.php';
// Logging class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-file-logger.php';
// Smart tags class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-smart-tags.php';
// Admin bar info class.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-admin-bar-info.php';
if ( is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
require_once WPCODE_PLUGIN_PATH . 'includes/icons.php'; // This is not needed in the frontend atm.
// Code Editor class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-code-editor.php';
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-admin-page-loader.php';
require_once WPCODE_PLUGIN_PATH . 'includes/admin/admin-scripts.php';
require_once WPCODE_PLUGIN_PATH . 'includes/admin/admin-ajax-handlers.php';
// Always used just in the backend.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-generator.php';
// Snippet Library.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-library.php';
// Authentication for the library site.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-library-auth.php';
// Importers.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-importers.php';
// File cache.
require_once WPCODE_PLUGIN_PATH . 'includes/class-wpcode-file-cache.php';
// The docs.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-docs.php';
// Notifications class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-notifications.php';
// Upgrade page.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-upgrade-welcome.php';
// Metabox class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-metabox-snippets.php';
// Metabox class.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-admin-notice.php';
// Ask for some love.
require_once WPCODE_PLUGIN_PATH . 'includes/admin/class-wpcode-review.php';
}
// Load lite-specific files.
require_once WPCODE_PLUGIN_PATH . 'includes/lite/loader.php';
}
/**
* Load the Generator on demand.
*
* @return WPCode_Generator
*/
public function generator() {
if ( ! isset( $this->generator ) ) {
$this->generator = new WPCode_Generator();
}
return $this->generator;
}
/**
* Load components in the main plugin instance.
*
* @return void
*/
public function load_components() {
$this->auto_insert = new WPCode_Auto_Insert();
$this->execute = new WPCode_Snippet_Execute();
$this->error = new WPCode_Error();
$this->conditional_logic = new WPCode_Conditional_Logic();
$this->cache = new WPCode_Snippet_Cache();
$this->settings = new WPCode_Settings();
$this->logger = new WPCode_File_Logger();
if ( is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
$this->file_cache = new WPCode_File_Cache();
$this->library = new WPCode_Library();
$this->library_auth = new WPCode_Library_Auth();
$this->importers = new WPCode_Importers();
$this->notifications = new WPCode_Notifications();
$this->admin_page_loader = new WPCode_Admin_Page_Loader_Lite();
$this->notice = new WPCode_Notice();
$this->smart_tags = new WPCode_Smart_Tags_Lite();
// Metabox class.
new WPCode_Metabox_Snippets_Lite();
// Usage tracking class.
new WPCode_Usage_Tracking_Lite();
}
new WPCode_Admin_Bar_Info_Lite();
do_action( 'wpcode_loaded' );
// Load the pluggable functions late to allow plugins to hook in.
require_once WPCODE_PLUGIN_PATH . 'includes/pluggable.php';
}
}
require_once dirname( __FILE__ ) . '/includes/ihaf.php';
WPCode();
Cườm nước - Big Family PharmacySkip to content
Cườm nước (glaucoma) hay còn được gọi là tăng nhãn áp, là một bệnh xảy ra khi áp lực thủy dịch trong nhãn cầu tăng lên khiến tăng áp lực lên mắt. Hiện tượng này làm cho mắt bị mờ và đau đầu.
Tìm hiểu chung
Cườm nước là gì?
Cườm nước (glaucoma) hay còn được gọi là tăng nhãn áp, là một bệnh xảy ra khi áp lực thủy dịch trong nhãn cầu tăng lên khiến tăng áp lực lên mắt. Hiện tượng này làm cho mắt bị mờ và đau đầu. Tình trạng kéo dài có thể dẫn đến tổn thương hệ thần kinh thị giác và sau cùng là bị mù mắt.
Triệu chứng thường gặp
Những dấu hiệu và triệu chứng của cườm nước
Hiện nay, y học thống kê có khoảng 2 loại cườm nước (tăng nhãn áp). Ở mỗi loại cườm nước khác nhau thì sẽ có những triệu chứng và dấu hiệu khác nhau.
Cườm nước góc mở: Góc thoát thủy dịch bị tắc nghẽn không hoàn toàn làm tăng áp suất lên mắt và lâu ngày ảnh hưởng đến các dây thần kinh thị giác. Quá trị này diễn ra rất chậm, không gây đau đớn nên thường thì người bệnh không cảm nhận được và rất khó để nhận biết các biến đổi của mắt.
Cườm nước góc đóng: Góc thoát dịch của mắt bị đóng lại làm gia tăng áp lực lên mắt một cách đột ngột nên cực kì nguy hiểm. Cườm nước góc đóng thường khiến người bệnh đau mắt, đau đầu, buồn nôn, xuất hiện quầng sáng khi nhìn vào bóng đèn.
Các dạng bệnh cườm nước:
Hội chứng giả bong bao: Gần giống với cườm nước góc mở nhưng có hiện tượng chất màu trắng trên thủy tinh thể và góc thoát dịch bị tích tụ bất thường. Chất này kết hợp với sắc tố từ phía sau mống mắt khiến đường thoát thuỷ dịch bị tắc nghẽn.
Bệnh tăng nhãn áp sắc tố: Gặp chủ yếu ở trẻ em và người bị cận thị. Các hạt sắc tố từ các tế bào lót mặt sau của mống mắt bị vỡ ra và làm tắc nghẽn đường thoát thủy dịch.
Khi nào cần gặp bác sĩ?
Tăng nhãn áp lâu ngày có thể làm ảnh hưởng đến thị lực, thậm chí gây mù lòa. Vì thế, khi bạn có dấu hiệu đau đầu, đau mắt, mắt mờ hoặc thậm chí khi bạn cảm thấy có những dấu hiệu bất thường ở mắt, bạn nên đến các cơ sở y tế chuyên khoa mắt để được kiểm tra. Đặc biệt với người đã bị tật khúc xạ hoặc người trên 40 tuổi thì càng nên đi kiểm tra mắt định kỳ 1 – 2 lần/1 năm để tầm soát các vấn đề khác của mắt.
Nguyên nhân gây bệnh
Nguyên nhân dẫn đến cườm nước
Tùy vào loại cườm nước sẽ có những nguyên nhân khác nhau gây bệnh.
Cườm nước góc mở và cườm nước hay gặp ở trẻ sơ sinh thường là do di truyền. Trong khi cườm nước góc đóng là do sự tác nghẽn đường thoát thủy dịch làm tăng áp lực lên mắt.
Nguy cơ mắc phải
Những ai có nguy cơ bị cườm nước?
Người trên 40 tuổi có khả năng mắc cườm nước cao, và tỉ lệ mắc bệnh ở nữ giới thường cao hơn nam.
Với những người đã từng bị tật khúc xạ mắt như cận thị, từng gặp các chấn thương ảnh hưởng đến mắt, hoặc có tiền sử bệnh trong gia đình cũng có nguy cơ mắc bệnh cao hơn người khác.
Khi có các yếu tố này, bạn cần nên chú ý đến đôi mắt của mình nhiều hơn:
Trên 40 tuổi.
Trong gia đình từng có người bị tăng nhãn áp.
Mắc các bện phải sử dụng corticosteroid trong thời gian dài.
Bệnh tiểu đường, cao huyết áp, tim mạch, hồng cầu lưỡi liền.
Bị cận thị hoặc từng gặp các chấn thương ảnh hưởng đến mắt.
Điều trị hiệu quả
Phương pháp xét nghiệm và chẩn đoán cườm nước
Chứng bệnh cườm nước có thể được phát hiện khi:
Kiểm tra thị lực: Giúp đo lường khả năng nhìn thấy sự vật ở những khoảng cách khác nhau.
Soi cấu trúc mắt: Dùng kính lúp chuyên dụng để kiểm tra võng mạch và hệ thần kinh thị giác.
Đo áp lực mắt (đo nhãn áp): Đo áp suất bên trong mắt bằng phương pháp Tonometry.
Đo độ dày giác mạc.
Phương pháp điều trị cườm nước hiệu quả
Việc phát hiện và điều trị sớm sẽ giúp bệnh nhân tránh khỏi nguy cơ bị mù lòa. Tùy vào việc bệnh nhân mắc phải loại cườm nước nào mà bác sĩ sẽ đưa ra biện pháp điều trị thích hợp. Sau đây là những phương pháp dùng trong điều trị cườm nước:
Phẫu thuật thông thường: Bác sĩ dùng công cụ phẫu thuật để tạo ra lỗ hở dưới kết mạc mắt để thủy dịch có thể chảy ra ngoài và đi vào máu.
Phẫu thuật bằng laser: Dùng laser argon để tạo ra vùng bè. Trong khi lành vết thương cũng sẽ làm co kéo các sợi collagen vùng bè làm tăng khả năng thoát thủy dịch.
Bên cạnh điều trị cho mắt bị cườm nước, các bác sĩ có thể sẽ tiến hành ngăn chặn tình trạng này xuất hiện ở mắt còn lại. Việc điều trị bằng phẫu thật có thể được kết hợp với dùng thuốc uống và thuốc nhỏ mắt để tăng hiệu quả điều trị và bảo vệ đôi mắt sau phẫu thuật.
Vì cườm mắt không để lại nhiều dấu hiệu bên ngoài nên đôi khi trong điều trị, người bệnh hay bỏ ngang liệu trình điều trị bằng thuốc khiến bệnh có thể tái phát. Bạn nên tuân thủ đúng lịch trình uống thuốc để mắt được khỏi hẳn.
Chế độ sinh hoạt phù hợp
Những thói quen sinh hoạt có thể giúp bạn hạn chế diễn tiến của cườm nước
Những thói quen sinh hoạt hợp lý, khoa học có thể giúp bệnh tình của bạn diễn tiến tốt hơn:
Khám mắt thường xuyên và điều trị theo hướng dẫn của bác sĩ chuyên khóa.
Nói với bác sĩ về các căn bệnh bạn đang gặp phải, những loại thuốc bạn đang dùng hay những thành phần thuốc bạn bị dị ứng.
Dùng kính bảo hộ sau khi phẫu thuật hoặc khi tham gia các môn thể thao mạnh để bảo vệ an toàn cho mắt.
Gọi bác sĩ khi trong quá trình điều trị xuất hiện những biến chứng khác thường.
Mọi thông tin trên đây chỉ mang tính chất tham khảo. Việc sử dụng thuốc phải tuân theo hướng dẫn của bác sĩ chuyên môn.