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 = '
Chcete si prezrieť naše zariadenia naživo, dozvedieť sa viac o výhodách a využiť zľavu na ich nákup?
To všetko na vás čaká, ak nás navštívite na výstave DOMEXPO a GARDENIA 2015.
Výstavisko Agrokomplex Nitra v tomto roku hostí obľúbené výstavy zamerané na všetko, čo potrebujete pri výstavbe a starostlivosti o rodinný dom a záhradu.
Termín výstavy je 16. – 19. 4. 2015
Zavlažovanie a úprava vody sú jedným z dôležitých článkov fungovania v rodinných domoch. Príďte sa informovať o možnostiach pre vaše konkrétne podmienky a zároveň využiť zľavu 10% na nákup automatických závlah a zariadení na úpravu vody, ktorá platí pre návštevníkov výstavy.
Viac info si môžete prečítať na oficiálnej stránke výstaviska Agrokomplex.
Okrem iného si na svoje prídu aj tí, ktorí sa zaujímajú o pestovanie. Výstava je totiž združená s výstavami Gardenia a Bonsaj Slovakia.
Tí, ktorých lákajú alternatívne zdroje energie, určite zavítajú do pavilónu s výstavou Solaris, ktorá sa zaoberá využitím slnečnej energie pre potreby výroby elektriny a ohrev vody.
Podtitul: | 10. ročník kompletnej stavebnej výstavy ,,Postav si svoj dom!” |
Termín konania: | 16.04.2015 – 19.04.2015 |
Miesto konania: | Agrokomplex Nitra |
Organizátor: | Agrokomplex – Výstavníctvo Nitra, š.p. |
Otváracie hodiny: | 16. až 18. apríla 2015 od 9.00 do 18.00 19. apríla 2015 od 9.00 do 16.00 |
Podtitul: | 19. ročník medzinárodnej predajnej výstavy pre záhradníctvo, záhradkárov, priateľov bonsajov i kvetov a životného prostredia |
Termín konania: | 16.04.2015 – 19.04.2015 |
Miesto konania: | Agrokomplex Nitra |
Organizátor: | Agrokomplex – Výstavníctvo Nitra, š.p. |
Štatistika za rok: | 2014 |
Počet návštevníkov: | 40870 |
Počet firiem: | 260 |
Výstavná plocha: | 22730 m2 |
Otváracie hodiny: | 16. až 18. apríla 2015 od 9.00 do 18.00 19. apríla 2015 od 9.00 do 16.00 |
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.