if (!defined('DUPLICATE_PAGE_PLUGIN_DIRNAME')) { define('DUPLICATE_PAGE_PLUGIN_DIRNAME', plugin_basename(dirname(__FILE__))); } if (!defined('DUPLICATE_PAGE_PLUGIN_VERSION')) { define('DUPLICATE_PAGE_PLUGIN_VERSION', '4.5.3'); } if (!class_exists('duplicate_page')): class duplicate_page { /* * AutoLoad Hooks */ public function __construct() { $opt = get_option('duplicate_page_options'); register_activation_hook(__FILE__, array(&$this, 'duplicate_page_install')); add_action('admin_menu', array(&$this, 'duplicate_page_options_page')); add_filter('plugin_action_links', array(&$this, 'duplicate_page_plugin_action_links'), 10, 2); add_action('admin_action_dt_duplicate_post_as_draft', array(&$this, 'dt_duplicate_post_as_draft')); add_filter('post_row_actions', array(&$this, 'dt_duplicate_post_link'), 10, 2); add_filter('page_row_actions', array(&$this, 'dt_duplicate_post_link'), 10, 2); if (isset($opt['duplicate_post_editor']) && $opt['duplicate_post_editor'] == 'gutenberg') { add_action('admin_head', array(&$this, 'duplicate_page_custom_button_guten')); } elseif(isset($opt['duplicate_post_editor']) && $opt['duplicate_post_editor'] == 'all'){ add_action('admin_head', array(&$this, 'duplicate_page_custom_button_guten')); add_action('post_submitbox_misc_actions', array(&$this, 'duplicate_page_custom_button_classic')); } else { add_action('post_submitbox_misc_actions', array(&$this, 'duplicate_page_custom_button_classic')); } add_action('wp_before_admin_bar_render', array(&$this, 'duplicate_page_admin_bar_link')); add_action('init', array(&$this, 'duplicate_page_load_text_domain')); add_action('wp_ajax_mk_dp_close_dp_help', array($this, 'mk_dp_close_dp_help')); } /* * Localization - 19-dec-2016 */ public function duplicate_page_load_text_domain() { load_plugin_textdomain('duplicate-page', false, DUPLICATE_PAGE_PLUGIN_DIRNAME.'/languages'); } /* * Activation Hook */ public function duplicate_page_install() { $defaultsettings = array( 'duplicate_post_status' => 'draft', 'duplicate_post_redirect' => 'to_list', 'duplicate_post_suffix' => '', 'duplicate_post_editor' => 'classic', ); $opt = get_option('duplicate_page_options'); if (!isset($opt['duplicate_post_status'])) { update_option('duplicate_page_options', $defaultsettings); } } /* Action Links */ public function duplicate_page_plugin_action_links($links, $file) { if ($file == plugin_basename(__FILE__)) { $duplicate_page_links = ''.__('Settings', 'duplicate-page').''; $duplicate_page_donate = ''.__('Donate', 'duplicate-page').''; array_unshift($links, $duplicate_page_donate); array_unshift($links, $duplicate_page_links); } return $links; } /* * Admin Menu */ public function duplicate_page_options_page() { add_options_page(__('Duplicate Page', 'duplicate-page'), __('Duplicate Page', 'duplicate-page'), 'manage_options', 'duplicate_page_settings', array(&$this, 'duplicate_page_settings')); } /* * Duplicate Page Admin Settings */ public function duplicate_page_settings() { if (current_user_can('manage_options')) { include 'inc/admin-settings.php'; } } /* * Main function */ public function dt_duplicate_post_as_draft() { /* * get Nonce value */ $nonce = sanitize_text_field($_REQUEST['nonce']); /* * get the original post id */ $post_id = (isset($_GET['post']) ? intval($_GET['post']) : intval($_POST['post'])); $post = get_post($post_id); $current_user_id = get_current_user_id(); if(wp_verify_nonce( $nonce, 'dt-duplicate-page-'.$post_id)) { if (current_user_can('manage_options') || current_user_can('edit_others_posts')) { $this->duplicate_edit_post($post_id); } else if (current_user_can('contributor') && $current_user_id == $post->post_author){ $this->duplicate_edit_post($post_id, 'pending'); } else if (current_user_can('edit_posts') && $current_user_id == $post->post_author ){ $this->duplicate_edit_post($post_id); } else { wp_die(__('Unauthorized Access.','duplicate-page')); } } else { wp_die(__('Security check issue, Please try again.','duplicate-page')); } } /** * Duplicate edit post */ public function duplicate_edit_post($post_id,$post_status_update='') { global $wpdb; $opt = get_option('duplicate_page_options'); $suffix = isset($opt['duplicate_post_suffix']) && !empty($opt['duplicate_post_suffix']) ? ' -- '.esc_attr($opt['duplicate_post_suffix']) : ''; if($post_status_update == ''){ $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; }else{ $post_status = $post_status_update; } $redirectit = !empty($opt['duplicate_post_redirect']) ? esc_attr($opt['duplicate_post_redirect']) : 'to_list'; if (!(isset($_GET['post']) || isset($_POST['post']) || (isset($_REQUEST['action']) && 'dt_duplicate_post_as_draft' == sanitize_text_field($_REQUEST['action'])))) { wp_die(__('No post to duplicate has been supplied!','duplicate-page')); } $returnpage = ''; /* * and all the original post data then */ $post = get_post($post_id); /* * if you don't want current user to be the new post author, * then change next couple of lines to this: $new_post_author = $post->post_author; */ $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * if post data exists, create the post duplicate */ if (isset($post) && $post != null) { /* * new post data array */ $args = array( 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_author' => $new_post_author, 'post_content' => (isset($opt['duplicate_post_editor']) && $opt['duplicate_post_editor'] == 'gutenberg') ? wp_slash($post->post_content) : $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_parent' => $post->post_parent, 'post_password' => $post->post_password, 'post_status' => $post_status, 'post_title' => $post->post_title.$suffix, 'post_type' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order, ); /* * insert the post by wp_insert_post() function */ $new_post_id = wp_insert_post($args); if(is_wp_error($new_post_id)){ wp_die(__($new_post_id->get_error_message(),'duplicate-page')); } /* * get all current post terms ad set them to the new post draft */ $taxonomies = array_map('sanitize_text_field',get_object_taxonomies($post->post_type)); if (!empty($taxonomies) && is_array($taxonomies)): foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } endif; /* * duplicate all post meta */ $post_meta_keys = get_post_custom_keys( $post_id ); if(!empty($post_meta_keys)){ foreach ( $post_meta_keys as $meta_key ) { $meta_values = get_post_custom_values( $meta_key, $post_id ); foreach ( $meta_values as $meta_value ) { $meta_value = maybe_unserialize( $meta_value ); update_post_meta( $new_post_id, $meta_key, wp_slash( $meta_value ) ); } } } /** * Elementor compatibility fixes */ if(is_plugin_active( 'elementor/elementor.php' )){ $css = Elementor\Core\Files\CSS\Post::create( $new_post_id ); $css->update(); } /* * finally, redirecting to your choice */ if ($post->post_type != 'post'){ $returnpage = '?post_type='.$post->post_type; } if (!empty($redirectit) && $redirectit == 'to_list'){ wp_redirect(esc_url_raw(admin_url('edit.php'.$returnpage))); } elseif (!empty($redirectit) && $redirectit == 'to_page'){ wp_redirect(esc_url_raw(admin_url('post.php?action=edit&post='.$new_post_id))); } else { wp_redirect(esc_url_raw(admin_url('edit.php'.$returnpage))); } exit; } else { wp_die(__('Error! Post creation failed, could not find original post: ','duplicate-page').$post_id); } } /* * Add the duplicate link to action list for post_row_actions */ public function dt_duplicate_post_link($actions, $post) { // Skip acf-field-group post type if($post->post_type == 'acf-field-group'){ return $actions; } $opt = get_option('duplicate_page_options'); $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; if (current_user_can('edit_posts')) { $actions['duplicate'] = isset($post) ? ''.__('Duplicate This', 'duplicate-page').'' : ''; } return $actions; } /* * Add the duplicate link to edit screen - classic editor */ public function duplicate_page_custom_button_classic() { global $post; $opt = get_option('duplicate_page_options'); $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; $html = '
Viete aká je najlepšia ochrana pred vodným kameňom a hrdzou pre teplú a studenú vodu?
Istotne to dobre poznáte aj vy. Veľmi vážnym a najčastejším problémom v každej domácnosti býva porucha domáceho spotrebiča. Skonštatovanie odborníka je väčšinou rovnaké : „Spotrebič nefunguje kvôli veľkému množstvu hrdze a vodného kameňa“.
Hrdza a vodný kameň dokážu znefunkčniť nie jeden domáci spotrebič. Pre nás spotrebiteľov to značí zvýšené finančné zaťaženie kvôli ďalším nečakaným výdavkom na opravu.
Dnes však môžete aj vy úspešne a jednoducho ochrániť vodovodné potrubie a tým aj spotrebič v dome alebo v byte pred zákerným vodným kameňom a hrdzou. Oveľa jednoduchším a účinnejším spôsobom, ako ste poznali doposiaľ.
A navyše ide o ekologické riešenie jednak pre vašu domácnosť, ako aj pre priemysel, poľnohospodárstvo a potravinovú výrobu.
V konečnom dôsledku je toto riešenie šetrné i pre celú okolitú prírodu. Okrem iného sa nemusíte spoliehať na stálu dodávku elektrickej energie, ani na inú chémiu, či soľ, ktoré sú potrebné na obnovu pri iných riešeniach, ktoré ste poznali doposiaľ.
Povedzte už dnes STOP vodnému kameňu a hrdzi vytvárajúcej sa v rozvodoch vody a tiež v rozvodoch spotrebičov. Využite najmodernejšiu technológiu 21. storočia, ktorým je takzvaný vodný kondicionér STOP KALK určený pre vašu domácnosť.
Tvrdá voda vie narobiť nemalé problémy a škody, to už vie snáď každý. A preto ju nemá z nás nikto rád, no samozrejme nepomáha ani našim spotrebičom. STOP KALK predstavuje nenáročnú metódu, ako sa vyslobodiť spod bremien tvrdej vody, respektíve umožňuje mať hodnotnú a prvotriednu vodu z hociktorého vodovodného kohútika.
V súčasnej dobe možno patríte aj vy k tým ľuďom, ktorí neberú vážne situáciu vo svojej domácnosti, respektíve si nevšímajú ujmy a straty, ktoré vám vznikajú práve tvrdou vodou. A pritom stačí tak málo. Na začiatku jedna investícia do jednoduchého a dlhodobého riešenia, ktoré vás zbaví problémov s tvrdou vodou, ako aj s vodným kameňom a tiež veľmi problematickou hrdzou.
Môžeme potvrdiť, že samotná investícia sa vám vráti už po niekoľkých mesiacoch, takže sa nemusíte obávať samotnej návratnosti.
V závere nášho článku si zhrňme hlavné dôvody, prečo mať namontované zariadenie STOP KALK vo svojej domácnosti:
Pre aký STOP KALK sa máte rozhodnúť bude závisieť hneď od viacerých faktorov. Jedným z nich je prietok vody vo vašej domácnosti. Samotná svetlosť potrubia môže byť zmenšená s cieľom prispôsobenia pre montáž tohto zariadenia (napríklad od 1/2˝ / 15 mm až po 2˝ / 50 mm). Najvhodnejšie zariadenie pre vašu domácnosť nájdete na stránkach kondicionéra STOP KALK.
Je osmotický filter to najlepšie riešenie pre úpravu mestskej, alebo studničnej vody ? Ako filtruje vodu? Čo dokáže filtrovať ? Ako filtruje vodu ? Čo je to reverzná osmóza? Je naozaj voda po filtrácii bez minerálov?
Vybrali ste si filtráciu alebo úpravu vody? Našli sme pre vás riešenie ako upraviť vašu mestskú, alebo studničnú vodu? To čo sme navrhli, alebo ste si vybrali vám aj nainštalujeme. Je pripravených 8 technikov čo denne inštalujú, servisujú technológie na úpravu vody.
Voda v našich domácnostiach sa používa na veľa účelov, ako na pitie, varenie, kúpanie, pranie, kúrenie. Ale mať dnes kvalitnú vodu je v dnešnej dobe nie otázkou šance, ale voľby. Každý z nás sa môže rozhodnúť akú kvalitnú vodu bude mať na dennodenné používanie.
Ak vo vyhľadávači zadáte, aby vám našlo zmäkčovač vody, nie vždy sa Vám naozaj ukážu skutočné zmäkčovače vody.