Duplicate Page - Version 2.5

Version Description

(5th Feb, 2018) =

  • Translations issue resolve.

=

Download this release

Release Info

Developer mndpsingh287
Plugin Icon 128x128 Duplicate Page
Version 2.5
Comparing to
See all releases

Code changes from version 1.1 to 2.5

admin-settings.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2
+ <div class="wrap duplicate_page_settings">
3
+ <h1><?php _e('Duplicate Page Settings ', 'duplicate-page')?><a href="http://www.webdesi9.com/product/duplicate-page-pro/" target="_blank" class="button button-primary"><?php _e('Buy PRO', 'duplicate-page')?></a></h1>
4
+
5
+ <?php $duplicatepageoptions = array();
6
+ $opt = get_option('duplicate_page_options');
7
+ $msg = isset($_GET['msg']) ? $_GET['msg'] : '';
8
+ if(isset($_POST['submit_duplicate_page']) && wp_verify_nonce( $_POST['duplicatepage_nonce_field'], 'duplicatepage_action' )):
9
+ _e("<strong>Saving Please wait...</strong>", 'duplicate-page');
10
+ $needToUnset = array('submit_duplicate_page');//no need to save in Database
11
+ foreach($needToUnset as $noneed):
12
+ unset($_POST[$noneed]);
13
+ endforeach;
14
+ foreach($_POST as $key => $val):
15
+ $duplicatepageoptions[$key] = $val;
16
+ endforeach;
17
+ $saveSettings = update_option('duplicate_page_options', $duplicatepageoptions );
18
+ if($saveSettings)
19
+ {
20
+ duplicate_page::dp_redirect('options-general.php?page=duplicate_page_settings&msg=1');
21
+ }
22
+ else
23
+ {
24
+ duplicate_page::dp_redirect('options-general.php?page=duplicate_page_settings&msg=2');
25
+ }
26
+ endif;
27
+ if(!empty($msg) && $msg == 1):
28
+ _e( '<div class="updated settings-error notice is-dismissible" id="setting-error-settings_updated">
29
+ <p><strong>Settings saved.</strong></p><button class="notice-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', 'duplicate-page');
30
+ elseif(!empty($msg) && $msg == 2):
31
+ _e( '<div class="error settings-error notice is-dismissible" id="setting-error-settings_updated">
32
+ <p><strong>Settings not saved.</strong></p><button class="notice-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', 'duplicate-page');
33
+ endif;
34
+ ?>
35
+ <div id="poststuff">
36
+ <div id="post-body" class="metabox-holder columns-2">
37
+ <div id="post-body-content" style="position: relative;">
38
+ <form action="" method="post" name="duplicate_page_form">
39
+ <?php wp_nonce_field( 'duplicatepage_action', 'duplicatepage_nonce_field' ); ?>
40
+ <table class="form-table">
41
+ <tbody>
42
+ <tr>
43
+ <th scope="row"><label for="duplicate_post_status"><?php _e('Duplicate Post Status', 'duplicate-page')?></label></th>
44
+ <td>
45
+ <select id="duplicate_post_status" name="duplicate_post_status">
46
+ <option value="draft" <?php echo($opt['duplicate_post_status'] == 'draft' ) ? "selected = 'selected'" : ""; ?>><?php _e('Draft', 'duplicate-page')?></option>
47
+ <option value="publish" <?php echo($opt['duplicate_post_status'] == 'publish' ) ? "selected = 'selected'" : ""; ?>><?php _e('Publish', 'duplicate-page')?></option>
48
+ <option value="private" <?php echo($opt['duplicate_post_status'] == 'private' ) ? "selected = 'selected'" : ""; ?>><?php _e('Private', 'duplicate-page')?></option>
49
+ <option value="pending" <?php echo($opt['duplicate_post_status'] == 'pending' ) ? "selected = 'selected'" : ""; ?>><?php _e('Pending', 'duplicate-page')?></option>
50
+ </select>
51
+ <p><?php _e('Please select any post status you want to assign for duplicate post. <strong>Default:</strong> Draft.', 'duplicate-page')?></p>
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <th scope="row"><label for="duplicate_post_redirect"><?php _e('Redirect to after click on <strong>Duplicate This Link</strong>', 'duplicate-page')?></label></th>
56
+ <td><select id="duplicate_post_redirect" name="duplicate_post_redirect">
57
+ <option value="to_list" <?php echo($opt['duplicate_post_redirect'] == 'to_list' ) ? "selected = 'selected'" : ""; ?>><?php _e('To All Posts List', 'duplicate-page')?></option>
58
+ <option value="to_page" <?php echo($opt['duplicate_post_redirect'] == 'to_page' ) ? "selected = 'selected'" : ""; ?>><?php _e('To Duplicate Edit Screen', 'duplicate-page')?></option>
59
+ </select>
60
+ <p><?php _e('Please select any post redirection, redirect you to selected after click on duplicate this link. <strong>Default:</strong> To current list.', 'duplicate-page')?></p>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <th scope="row"><label for="duplicate_post_suffix"><?php _e('Duplicate Post Suffix', 'duplicate-page')?></label></th>
65
+ <td>
66
+ <input type="text" class="regular-text" value="<?php echo !empty($opt['duplicate_post_suffix']) ? $opt['duplicate_post_suffix'] : ''?>" id="duplicate_post_suffix" name="duplicate_post_suffix">
67
+ <p><?php _e('Add a suffix for duplicate or clone post as Copy, Clone etc. It will show after title.', 'duplicate-page')?></p>
68
+ </td>
69
+ </tr>
70
+ </tbody></table>
71
+ <p class="submit"><input type="submit" value="Save Changes" class="button button-primary" id="submit" name="submit_duplicate_page"></p>
72
+ </form>
73
+ </div>
74
+ <div id="postbox-container-1" class="postbox-container">
75
+ <div id="side-sortables" class="meta-box-sortables ui-sortable">
76
+ <div id="submitdiv" class="postbox" style="padding: 6px;">
77
+ <p><strong style="color:#F00"><?php _e('Contribute some donation, to make plugin more stable. You can pay amount of your choice.', 'duplicate-page')?></strong></p>
78
+ <form name="_xclick" action="https://www.paypal.com/yt/cgi-bin/webscr" method="post">
79
+ <input type="hidden" name="cmd" value="_xclick">
80
+ <input type="hidden" name="business" value="mndpsingh287@gmail.com">
81
+ <input type="hidden" name="item_name" value="Duplicate Page Plugin - Donation">
82
+ <input type="hidden" name="currency_code" value="USD">
83
+ <code>$</code> <input type="text" name="amount" value="" required="required" placeholder="Enter amount">
84
+ <input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-butcc-donate.gif" border="0" name="submit" alt="Make Donations with Paypal">
85
+ </form>
86
+ <hr />
87
+ </div>
88
+ <?php echo $this->duplicate_page_adsense();?>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </div>
duplicate-page/duplicatepage.php DELETED
@@ -1,102 +0,0 @@
1
- <?php
2
- /*
3
- Plugin Name: Duplicate Page
4
- Plugin URI: http://mysenseinc.com/
5
- Description: It will duplicate Posts and Pages only.
6
- Author: mndpsingh287
7
- Version: 1.1
8
- Author URI: https://profiles.wordpress.org/mndpsingh287/
9
- License: GPLv2
10
- Text Domain: trackpage
11
- */
12
- function dt_duplicate_post_as_draft(){
13
- global $wpdb;
14
- if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'dt_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) {
15
- wp_die('No post to duplicate has been supplied!');
16
- }
17
- /*
18
- * get the original post id
19
- */
20
- $post_id = (isset($_GET['post']) ? $_GET['post'] : $_POST['post']);
21
- /*
22
- * and all the original post data then
23
- */
24
- $post = get_post( $post_id );
25
- /*
26
- * if you don't want current user to be the new post author,
27
- * then change next couple of lines to this: $new_post_author = $post->post_author;
28
- */
29
- $current_user = wp_get_current_user();
30
- $new_post_author = $current_user->ID;
31
- /*
32
- * if post data exists, create the post duplicate
33
- */
34
- if (isset( $post ) && $post != null) {
35
- /*
36
- * new post data array
37
- */
38
- $args = array(
39
- 'comment_status' => $post->comment_status,
40
- 'ping_status' => $post->ping_status,
41
- 'post_author' => $new_post_author,
42
- 'post_content' => $post->post_content,
43
- 'post_excerpt' => $post->post_excerpt,
44
- 'post_name' => $post->post_name,
45
- 'post_parent' => $post->post_parent,
46
- 'post_password' => $post->post_password,
47
- 'post_status' => 'draft',
48
- 'post_title' => $post->post_title,
49
- 'post_type' => $post->post_type,
50
- 'to_ping' => $post->to_ping,
51
- 'menu_order' => $post->menu_order
52
- );
53
- /*
54
- * insert the post by wp_insert_post() function
55
- */
56
- $new_post_id = wp_insert_post( $args );
57
- /*
58
- * get all current post terms ad set them to the new post draft
59
- */
60
- $taxonomies = get_object_taxonomies($post->post_type);
61
- if(!empty($taxonomies) && is_array($taxonomies)):
62
- foreach ($taxonomies as $taxonomy) {
63
- $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs'));
64
- wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
65
- }
66
- endif;
67
- /*
68
- * duplicate all post meta
69
- */
70
- $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
71
- if (count($post_meta_infos)!=0) {
72
- $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
73
- foreach ($post_meta_infos as $meta_info) {
74
- $meta_key = $meta_info->meta_key;
75
- $meta_value = addslashes($meta_info->meta_value);
76
- $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'";
77
- }
78
- $sql_query.= implode(" UNION ALL ", $sql_query_sel);
79
- $wpdb->query($sql_query);
80
- }
81
- /*
82
- * finally, redirect to the edit post screen for the new draft
83
- */
84
- wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) );
85
- exit;
86
- } else {
87
- wp_die('Error! Post creation failed, could not find original post: ' . $post_id);
88
- }
89
- }
90
- add_action( 'admin_action_dt_duplicate_post_as_draft', 'dt_duplicate_post_as_draft' );
91
- /*
92
- * Add the duplicate link to action list for post_row_actions
93
- */
94
- function dt_duplicate_post_link( $actions, $post ) {
95
- if (current_user_can('edit_posts')) {
96
- $actions['duplicate'] = '<a href="admin.php?action=dt_duplicate_post_as_draft&amp;post=' . $post->ID . '" title="Duplicate This as Draft" rel="permalink">Duplicate This</a>';
97
- }
98
- return $actions;
99
- }
100
- add_filter( 'post_row_actions', 'dt_duplicate_post_link', 10, 2); /* for posts */
101
- add_filter( 'page_row_actions', 'dt_duplicate_post_link', 10, 2); /* for pages */
102
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
duplicate-page/readme.txt DELETED
@@ -1,54 +0,0 @@
1
- === Duplicate Page ===
2
- Contributors: mndpsingh287
3
- Tags: Page Duplicate, Post duplicate, duplicate custom posts, duplicate page, duplicate post, duplicate ,custom posts, post, page, duplicate this, duplicate
4
- Requires at least: 3.4
5
- Tested up to: 4.5
6
- Stable tag: 1.1
7
- License: GPLv2 or later
8
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
-
10
- It will duplicate Posts, Pages and Custom Posts.
11
-
12
- == Description ==
13
-
14
- It will duplicate Posts, Pages and Custom Posts. You can duplicate you pages, posts and custom post by just one click and it will save as draft.
15
-
16
-
17
- == Installation ==
18
-
19
- 1. Upload the `duplicatepage` folder to the directory `/wp-content/plugins/`.
20
- 2. Activate the plugin using the 'Plugins' menu in WordPress. =
21
-
22
- == Frequently asked questions ==
23
-
24
- ## How to use
25
-
26
- 1. First create New Post/Page Or Use old.
27
- 2. After click on duplicate this link, then duplicate post/ page will be created and saved as draft.
28
-
29
- == Screenshots ==
30
-
31
- 1. Duplicate this icon
32
- 2. Duplicate Post/page
33
-
34
- == Changelog ==
35
-
36
- = 1.1 (04th May,2016) =
37
-
38
- * fix some Bug in 1.0
39
-
40
-
41
- == Other Notes ==
42
-
43
- = Minimum requirements for Gallery Bank. =
44
- * Wordpress 3.3+
45
- * PHP 5.x
46
- * MySQL 5.x
47
-
48
- If any problem occurs, please contact us at [mandeep.singh@mysenseinc.com](mailto:mandeep.singh@mysenseinc.com).
49
-
50
-
51
-
52
-
53
-
54
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
duplicate-page/screenshot/screenshot-1.png DELETED
Binary file
duplicate-page/screenshot/screenshot-2.png DELETED
Binary file
duplicatepage.php ADDED
@@ -0,0 +1,242 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Duplicate Page
4
+ Plugin URI: https://wordpress.org/plugins/duplicate-page/
5
+ Description: Duplicate Posts, Pages and Custom Posts using single click.
6
+ Author: mndpsingh287
7
+ Version: 2.5
8
+ Author URI: https://profiles.wordpress.org/mndpsingh287/
9
+ License: GPLv2
10
+ Text Domain: duplicate-page
11
+ */
12
+ if (!defined("DUPLICATE_PAGE_PLUGIN_DIRNAME")) define("DUPLICATE_PAGE_PLUGIN_DIRNAME", plugin_basename(dirname(__FILE__)));
13
+ if(!class_exists('duplicate_page')):
14
+ class duplicate_page
15
+ {
16
+ /*
17
+ * AutoLoad Hooks
18
+ */
19
+ public function __construct(){
20
+ register_activation_hook(__FILE__, array(&$this, 'duplicate_page_install'));
21
+ add_action('admin_menu', array(&$this, 'duplicate_page_options_page'));
22
+ add_filter( 'plugin_action_links', array(&$this, 'duplicate_page_plugin_action_links'), 10, 2 );
23
+ add_action( 'admin_action_dt_duplicate_post_as_draft', array(&$this,'dt_duplicate_post_as_draft') );
24
+ add_filter( 'post_row_actions', array(&$this,'dt_duplicate_post_link'), 10, 2);
25
+ add_filter( 'page_row_actions', array(&$this,'dt_duplicate_post_link'), 10, 2);
26
+ add_action( 'post_submitbox_misc_actions', array(&$this,'duplicate_page_custom_button'));
27
+ add_action( 'wp_before_admin_bar_render', array(&$this, 'duplicate_page_admin_bar_link'));
28
+ add_action('init', array(&$this, 'duplicate_page_load_text_domain'));
29
+ }
30
+ /*
31
+ * Localization - 19-dec-2016
32
+ */
33
+ public function duplicate_page_load_text_domain(){
34
+ load_plugin_textdomain('duplicate-page', false, DUPLICATE_PAGE_PLUGIN_DIRNAME . "/languages");
35
+ }
36
+ /*
37
+ * Activation Hook
38
+ */
39
+ public function duplicate_page_install(){
40
+ $defaultsettings = array(
41
+ 'duplicate_post_status' => 'draft',
42
+ 'duplicate_post_redirect' => 'to_list',
43
+ 'duplicate_post_suffix' => ''
44
+ );
45
+ $opt = get_option('duplicate_page_options');
46
+ if(!$opt['duplicate_post_status']) {
47
+ update_option('duplicate_page_options', $defaultsettings);
48
+ }
49
+ }
50
+ /*
51
+ Action Links
52
+ */
53
+ public function duplicate_page_plugin_action_links($links, $file){
54
+ if ( $file == plugin_basename( __FILE__ ) ) {
55
+ $duplicate_page_links = '<a href="'.get_admin_url().'options-general.php?page=duplicate_page_settings">'.__('Settings', 'duplicate-page').'</a>';
56
+ $duplicate_page_donate = '<a href="http://www.webdesi9.com/donate/?plugin=duplicate-page" title="Donate Now" target="_blank" style="font-weight:bold">'.__('Donate', 'duplicate-page').'</a>';
57
+ array_unshift( $links, $duplicate_page_donate );
58
+ array_unshift( $links, $duplicate_page_links );
59
+ }
60
+
61
+ return $links;
62
+ }
63
+ /*
64
+ * Admin Menu
65
+ */
66
+ public function duplicate_page_options_page(){
67
+ add_options_page( __( 'Duplicate Page', 'duplicate-page' ), __( 'Duplicate Page', 'duplicate-page' ), 'manage_options', 'duplicate_page_settings',array(&$this, 'duplicate_page_settings'));
68
+ }
69
+ /*
70
+ * Duplicate Page Admin Settings
71
+ */
72
+ public function duplicate_page_settings(){
73
+ if(current_user_can( 'manage_options' )){
74
+ include('admin-settings.php');
75
+ }
76
+ }
77
+ /*
78
+ * Main function
79
+ */
80
+ public function dt_duplicate_post_as_draft(){
81
+ global $wpdb;
82
+ $opt = get_option('duplicate_page_options');
83
+ $suffix = !empty($opt['duplicate_post_suffix']) ? ' -- '.$opt['duplicate_post_suffix'] : '';
84
+ $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status'] : 'draft';
85
+ $redirectit = !empty($opt['duplicate_post_redirect']) ? $opt['duplicate_post_redirect'] : 'to_list';
86
+ if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'dt_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) {
87
+ wp_die('No post to duplicate has been supplied!');
88
+ }
89
+ $returnpage = '';
90
+ /*
91
+ * get the original post id
92
+ */
93
+ $post_id = (isset($_GET['post']) ? $_GET['post'] : $_POST['post']);
94
+ /*
95
+ * and all the original post data then
96
+ */
97
+ $post = get_post( $post_id );
98
+ /*
99
+ * if you don't want current user to be the new post author,
100
+ * then change next couple of lines to this: $new_post_author = $post->post_author;
101
+ */
102
+ $current_user = wp_get_current_user();
103
+ $new_post_author = $current_user->ID;
104
+ /*
105
+ * if post data exists, create the post duplicate
106
+ */
107
+ if (isset( $post ) && $post != null) {
108
+ /*
109
+ * new post data array
110
+ */
111
+ $args = array(
112
+ 'comment_status' => $post->comment_status,
113
+ 'ping_status' => $post->ping_status,
114
+ 'post_author' => $new_post_author,
115
+ 'post_content' => $post->post_content,
116
+ 'post_excerpt' => $post->post_excerpt,
117
+ //'post_name' => $post->post_name,
118
+ 'post_parent' => $post->post_parent,
119
+ 'post_password' => $post->post_password,
120
+ 'post_status' => $post_status,
121
+ 'post_title' => $post->post_title.$suffix,
122
+ 'post_type' => $post->post_type,
123
+ 'to_ping' => $post->to_ping,
124
+ 'menu_order' => $post->menu_order
125
+ );
126
+ /*
127
+ * insert the post by wp_insert_post() function
128
+ */
129
+ $new_post_id = wp_insert_post( $args );
130
+ /*
131
+ * get all current post terms ad set them to the new post draft
132
+ */
133
+ $taxonomies = get_object_taxonomies($post->post_type);
134
+ if(!empty($taxonomies) && is_array($taxonomies)):
135
+ foreach ($taxonomies as $taxonomy) {
136
+ $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs'));
137
+ wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
138
+ }
139
+ endif;
140
+ /*
141
+ * duplicate all post meta
142
+ */
143
+ $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
144
+ if (count($post_meta_infos)!=0) {
145
+ $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
146
+ foreach ($post_meta_infos as $meta_info) {
147
+ $meta_key = $meta_info->meta_key;
148
+ $meta_value = addslashes($meta_info->meta_value);
149
+ $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'";
150
+ }
151
+ $sql_query.= implode(" UNION ALL ", $sql_query_sel);
152
+ $wpdb->query($sql_query);
153
+ }
154
+ /*
155
+ * finally, redirecting to your choice
156
+ */
157
+ if($post->post_type != 'post'):
158
+ $returnpage = '?post_type='.$post->post_type;
159
+ endif;
160
+ if(!empty($redirectit) && $redirectit == 'to_list'):
161
+ wp_redirect( admin_url( 'edit.php'.$returnpage ) );
162
+ elseif(!empty($redirectit) && $redirectit == 'to_page'):
163
+ wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) );
164
+ else:
165
+ wp_redirect( admin_url( 'edit.php'.$returnpage ) );
166
+ endif;
167
+ exit;
168
+ } else {
169
+ wp_die('Error! Post creation failed, could not find original post: ' . $post_id);
170
+ }
171
+ }
172
+ /*
173
+ * Add the duplicate link to action list for post_row_actions
174
+ */
175
+ public function dt_duplicate_post_link( $actions, $post ) {
176
+ $opt = get_option('duplicate_page_options');
177
+ $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status'] : 'draft';
178
+ if (current_user_can('edit_posts')) {
179
+ $actions['duplicate'] = '<a href="admin.php?action=dt_duplicate_post_as_draft&amp;post=' . $post->ID . '" title="Duplicate this as '.$post_status.'" rel="permalink">'.__( "Duplicate This", "duplicate-page" ).'</a>';
180
+ }
181
+ return $actions;
182
+ }
183
+ /*
184
+ * Add the duplicate link to edit screen
185
+ */
186
+ public function duplicate_page_custom_button(){
187
+ global $post;
188
+ $opt = get_option('duplicate_page_options');
189
+ $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status'] : 'draft';
190
+ $html = '<div id="major-publishing-actions">';
191
+ $html .= '<div id="export-action">';
192
+ $html .= '<a href="admin.php?action=dt_duplicate_post_as_draft&amp;post=' . $post->ID . '" title="Duplicate this as '.$post_status.'" rel="permalink">'.__( "Duplicate This", "duplicate-page" ).'</a>';
193
+ $html .= '</div>';
194
+ $html .= '</div>';
195
+ echo $html;
196
+ }
197
+ /*
198
+ * Admin Bar Duplicate This Link
199
+ */
200
+ public function duplicate_page_admin_bar_link(){
201
+ global $wp_admin_bar, $post;
202
+ $opt = get_option('duplicate_page_options');
203
+ $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status'] : 'draft';
204
+ $current_object = get_queried_object();
205
+ if ( empty($current_object) )
206
+ return;
207
+ if ( ! empty( $current_object->post_type )
208
+ && ( $post_type_object = get_post_type_object( $current_object->post_type ) )
209
+ && ( $post_type_object->show_ui || $current_object->post_type == 'attachment') )
210
+ {
211
+ $wp_admin_bar->add_menu( array(
212
+ 'parent' => 'edit',
213
+ 'id' => 'duplicate_this',
214
+ 'title' => __("Duplicate this as ".$post_status."", 'duplicate-page'),
215
+ 'href' => admin_url().'admin.php?action=dt_duplicate_post_as_draft&amp;post='. $post->ID
216
+ ) );
217
+ }
218
+ }
219
+ public function duplicate_page_adsense() {
220
+ $API = "http://www.webdesi9.com/adsense/";
221
+ $curl = curl_init();
222
+ curl_setopt($curl, CURLOPT_URL, $API);
223
+ curl_setopt($curl, CURLOPT_POST, 1);
224
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
225
+ curl_setopt($curl, CURLOPT_POSTFIELDS, "ad_token=DUP_3951m8635u6542n3819i69130s9372h5602");
226
+ $result = curl_exec ($curl);
227
+ $data = json_decode($result, true);
228
+ curl_close ($curl);
229
+ if(!empty($data) && $data['status'] == 1 && !empty($data['image'])) {
230
+ return '<a href="'.$data['link'].'" target="_blank" title="Click here"><img src="'.$data['image'].'" width="100%"></a>';
231
+ }
232
+ }
233
+ /*
234
+ * Redirect function
235
+ */
236
+ static function dp_redirect($url){
237
+ echo '<script>window.location.href="'.$url.'"</script>';
238
+ }
239
+ }
240
+ new duplicate_page;
241
+ endif;
242
+ ?>
languages/duplicate-page-cs_CZ.mo ADDED
Binary file
languages/duplicate-page-cs_CZ.po ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Duplicate Page v Češtině (v2)\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2017-01-12 19:23+0100\n"
6
+ "PO-Revision-Date: 2018-02-05 16:32+0530\n"
7
+ "Language-Team: LeBaux <lebaux@gmail.com>\n"
8
+ "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.4\n"
13
+ "Last-Translator: Pierre LeBaux (EN>SK>CS) <lebaux@gmail.com>\n"
14
+ "Language: cs_CZ\n"
15
+
16
+ #: admin-settings.php:3
17
+ msgid "Duplicate Page Settings"
18
+ msgstr "Nastavení duplikátoru obsahu"
19
+
20
+ #: admin-settings.php:8
21
+ msgid "<strong>Saving Please wait...</strong>"
22
+ msgstr "<strong>Ukládám nastavení...</strong>"
23
+
24
+ #: admin-settings.php:27
25
+ msgid ""
26
+ "<div class=\"updated settings-error notice is-dismissible\" id=\"setting-"
27
+ "error-settings_updated\"> \n"
28
+ "<p><strong>Settings saved.</strong></p><button class=\"notice-dismiss\" type="
29
+ "\"button\"><span class=\"screen-reader-text\">Dismiss this notice.</span></"
30
+ "button></div>"
31
+ msgstr ""
32
+ "<div class=\"updated settings-error notice is-dismissible\" id=\"setting-"
33
+ "error-settings_updated\"> \n"
34
+ "<p><strong>Nastavení uloženo.</strong></p><button class=\"notice-dismiss\" "
35
+ "type=\"button\"><span class=\"screen-reader-text\">Rozumím.</span></button></"
36
+ "div>"
37
+
38
+ #: admin-settings.php:30
39
+ msgid ""
40
+ "<div class=\"error settings-error notice is-dismissible\" id=\"setting-error-"
41
+ "settings_updated\"> \n"
42
+ "<p><strong>Settings not saved.</strong></p><button class=\"notice-dismiss\" "
43
+ "type=\"button\"><span class=\"screen-reader-text\">Dismiss this notice.</"
44
+ "span></button></div>"
45
+ msgstr ""
46
+ "<div class=\"error settings-error notice is-dismissible\" id=\"setting-error-"
47
+ "settings_updated\"> \n"
48
+ "<p><strong>Nastavení nebylo uloženo!</strong></p><button class=\"notice-"
49
+ "dismiss\" type=\"button\"><span class=\"screen-reader-text\">Rozumím.</"
50
+ "span></button></div>"
51
+
52
+ #: admin-settings.php:43
53
+ msgid "Duplicate Post Status"
54
+ msgstr "Stav duplikátu po vytvoření"
55
+
56
+ #: admin-settings.php:50
57
+ msgid ""
58
+ "Please select any post status you want to assign for duplicate post. "
59
+ "<strong>Default:</strong> Draft."
60
+ msgstr ""
61
+ "Když se vytvoří duplikát, je potřeba mu nastavit stav publikovaní. "
62
+ "<strong>Výchozí:</strong> Koncept"
63
+
64
+ #: admin-settings.php:54
65
+ msgid "Redirect to after click on <strong>Duplicate This Link</strong>"
66
+ msgstr "Kam přesměrovat potom, co se vytvoří <strong>duplikát</strong>"
67
+
68
+ #: admin-settings.php:56
69
+ msgid "To All Posts List"
70
+ msgstr "Zůstat kde jste byli"
71
+
72
+ #: admin-settings.php:57
73
+ msgid "To Duplicate Edit Screen"
74
+ msgstr "Otevřít duplikát pro editaci"
75
+
76
+ #: admin-settings.php:59
77
+ msgid ""
78
+ "Please select any post redirection, redirect you to selected after click on "
79
+ "duplicate this link. <strong>Default:</strong> To current list."
80
+ msgstr ""
81
+ "Co se stane poté, co kliknete na tlačítko duplikovat. <strong>Výchozí:</"
82
+ "strong> Zůstat kde jste byli"
83
+
84
+ #: admin-settings.php:63
85
+ msgid "Duplicate Post Suffix"
86
+ msgstr "Přípona duplikovaného obsahu"
87
+
88
+ #: admin-settings.php:66
89
+ msgid ""
90
+ "Add a suffix for duplicate or clone post as Copy, Clone etc. It will show "
91
+ "after title."
92
+ msgstr ""
93
+ "Zde si můžete zvolit příponu, kterou plugin připojí k názvu duplikované "
94
+ "položky. Může zůstat prázdné, nebo například: kopie."
95
+
96
+ #: admin-settings.php:76
97
+ msgid ""
98
+ "Contribute some donation, to make plugin more stable. You can pay amount of "
99
+ "your choice."
100
+ msgstr ""
101
+ "Pokud je pro vás tento plugin užitečný, můžete vývojářovi třeba přispět na "
102
+ "jedno orosené."
103
+
104
+ #. Name of the plugin
105
+ msgid "Duplicate Page"
106
+ msgstr "Duplikátor obsahu"
107
+
108
+ #. Description of the plugin
109
+ msgid "Duplicate Posts, Pages and Custom Posts using single click."
110
+ msgstr "Duplikujte Příspěvky, Stránky a Custom Posty jedním kliknutím."
111
+
112
+ #. URI of the plugin
113
+ msgid "https://wordpress.org/plugins/duplicate-page/"
114
+ msgstr "https://wordpress.org/plugins/duplicate-page/"
115
+
116
+ #. Author of the plugin
117
+ msgid "mndpsingh287"
118
+ msgstr "mndpsingh287"
119
+
120
+ #. Author URI of the plugin
121
+ msgid "https://profiles.wordpress.org/mndpsingh287/"
122
+ msgstr "https://profiles.wordpress.org/mndpsingh287/"
languages/duplicate-page-hi_IN.mo ADDED
Binary file
languages/duplicate-page-hi_IN.po ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Duplicate Page\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2016-12-19 12:43+0000\n"
6
+ "PO-Revision-Date: 2016-12-19 12:52+0000\n"
7
+ "Last-Translator: admin <munishthedeveloper48@gmail.com>\n"
8
+ "Language-Team: Hindi\n"
9
+ "Language: hi-IN\n"
10
+ "Plural-Forms: nplurals=2; plural=n != 1\n"
11
+ "MIME-Version: 1.0\n"
12
+ "Content-Type: text/plain; charset=UTF-8\n"
13
+ "Content-Transfer-Encoding: 8bit\n"
14
+ "X-Generator: Loco - https://localise.biz/"
15
+
16
+ #: admin-settings.php:3
17
+ msgid "Duplicate Page Settings"
18
+ msgstr "डुप्लिकेट पृष्ठ सेटिंग"
19
+
20
+ #: admin-settings.php:8
21
+ msgid "<strong>Saving Please wait...</strong>"
22
+ msgstr "<strong>सुरक्षित कर रहा है कृपया प्रतीक्षा करें...</strong>"
23
+
24
+ #: admin-settings.php:27
25
+ msgid ""
26
+ "<div class=\"updated settings-error notice is-dismissible\" id=\"setting-"
27
+ "error-settings_updated\"> \n"
28
+ "<p><strong>Settings saved.</strong></p><button class=\"notice-dismiss\" "
29
+ "type=\"button\"><span class=\"screen-reader-text\">Dismiss this notice."
30
+ "</span></button></div>"
31
+ msgstr ""
32
+ "<div class=\"updated settings-error notice is-dismissible\" id=\"setting-"
33
+ "error-settings_updated\"> \n"
34
+ "<p><strong>सेटिंग्स को सहेजा गया।</strong></p><button class=\"notice-"
35
+ "dismiss\" type=\"button\"><span class=\"screen-reader-text\">इस नोटिस को "
36
+ "खारिज करें।</span></button></div>"
37
+
38
+ #: admin-settings.php:30
39
+ msgid ""
40
+ "<div class=\"error settings-error notice is-dismissible\" id=\"setting-error-"
41
+ "settings_updated\"> \n"
42
+ "<p><strong>Settings not saved.</strong></p><button class=\"notice-dismiss\" "
43
+ "type=\"button\"><span class=\"screen-reader-text\">Dismiss this notice."
44
+ "</span></button></div>"
45
+ msgstr ""
46
+ "<div class=\"error settings-error notice is-dismissible\" id=\"setting-error-"
47
+ "settings_updated\"> \n"
48
+ "<p><strong>सेटिंग सहेजा नहीं।</strong></p><button class=\"notice-dismiss\" "
49
+ "type=\"button\"><span class=\"screen-reader-text\">इस नोटिस को खारिज "
50
+ "करें।</span></button></div>"
51
+
52
+ #: admin-settings.php:43
53
+ msgid "Duplicate Post Status"
54
+ msgstr "पोस्ट की स्थिति डुप्लिकेट"
55
+
56
+ #: admin-settings.php:50
57
+ msgid ""
58
+ "Please select any post status you want to assign for duplicate post. <strong>"
59
+ "Default:</strong> Draft."
60
+ msgstr ""
61
+ "कृपया किसी भी पोस्ट की स्थिति आप दोहरे पद के लिए प्रदान करना चाहते हैं का "
62
+ "चयन करें।<strong>चूक:</strong> प्रारूप।"
63
+
64
+ #: admin-settings.php:54
65
+ msgid "Redirect to after click on <strong>Duplicate This Link</strong>"
66
+ msgstr ""
67
+ "पर क्लिक करने के बाद पुन: निर्देशित करने के लिए <strong> डुप्लिकेट इस लिंक "
68
+ "</ strong>"
69
+
70
+ #: admin-settings.php:56
71
+ msgid "To All Posts List"
72
+ msgstr "सभी पदों की सूची के लिए"
73
+
74
+ #: admin-settings.php:57
75
+ msgid "To Duplicate Edit Screen"
76
+ msgstr "स्क्रीन संपादित करने के लिए डुप्लिकेट"
77
+
78
+ #: admin-settings.php:59
79
+ msgid ""
80
+ "Please select any post redirection, redirect you to selected after click on "
81
+ "duplicate this link. <strong>Default:</strong> To current list."
82
+ msgstr ""
83
+ "कृपया किसी भी पद पुनर्निर्देशन का चयन करें, आप इस लिंक पर क्लिक करने के बाद "
84
+ "नकल चयनित करने के लिए भेज दें। <Strong> डिफ़ॉल्ट: </ strong> वर्तमान सूची पर।"
85
+
86
+ #: admin-settings.php:63
87
+ msgid "Duplicate Post Suffix"
88
+ msgstr "दोहरे पद प्रत्यय"
89
+
90
+ #: admin-settings.php:66
91
+ msgid ""
92
+ "Add a suffix for duplicate or clone post as Copy, Clone etc. It will show "
93
+ "after title."
94
+ msgstr ""
95
+ "कॉपी, क्लोन आदि के रूप में डुप्लिकेट या क्लोन के बाद यह खिताब के बाद दिखाएगा "
96
+ "के लिए एक प्रत्यय जोड़ें।"
97
+
98
+ #: admin-settings.php:76
99
+ msgid ""
100
+ "Contribute some donation, to make plugin more stable. You can pay amount of "
101
+ "your choice."
102
+ msgstr ""
103
+ "कुछ दान योगदान, प्लगइन अधिक स्थिर बनाने के लिए। आप अपनी पसंद की राशि का "
104
+ "भुगतान कर सकते हैं।"
105
+
106
+ #. Name of the plugin
107
+ msgid "Duplicate Page"
108
+ msgstr "डुप्लिकेट पृष्ठ"
109
+
110
+ #. Description of the plugin
111
+ msgid "Duplicate Posts, Pages and Custom Posts using single click."
112
+ msgstr "डुप्लिकेट पोस्ट, पन्ने और कस्टम पदों सिंगल क्लिक का उपयोग कर"
113
+
114
+ #. URI of the plugin
115
+ msgid "https://wordpress.org/plugins/duplicate-page/"
116
+ msgstr ""
117
+
118
+ #. Author of the plugin
119
+ msgid "mndpsingh287"
120
+ msgstr ""
121
+
122
+ #. Author URI of the plugin
123
+ msgid "https://profiles.wordpress.org/mndpsingh287/"
124
+ msgstr ""
languages/duplicate-page.mo ADDED
Binary file
languages/duplicate-page.po ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file was generated by WPML
2
+ # WPML is a WordPress plugin that can turn any WordPress site into a full featured multilingual content management system.
3
+ # https://wpml.org
4
+ msgid ""
5
+ msgstr ""
6
+ "Content-Type: text/plain; charset=utf-8\n"
7
+ "Content-Transfer-Encoding: 8bit\n"
8
+ "Project-Id-Version: WPML_EXPORT\n"
9
+ "POT-Creation-Date: \n"
10
+ "PO-Revision-Date: \n"
11
+ "Last-Translator: \n"
12
+ "Language-Team: \n"
13
+ "Language: en\n"
14
+ "MIME-Version: 1.0\n"
15
+ "X-Generator: Poedit 2.0.4\n"
16
+
17
+ # <div class="wrap duplicate_page_settings">
18
+ # <h1><?php _e('Duplicate Page Settings', 'duplicate-page')?></h1>
19
+ # <?php $duplicatepageoptions = array();
20
+ msgid "Duplicate Page Settings"
21
+ msgstr ""
22
+
23
+ # if(isset($_POST['submit_duplicate_page']) && wp_verify_nonce( $_POST['duplicatepage_nonce_field'], 'duplicatepage_action' )):
24
+ # _e("<strong>Saving Please wait...</strong>", 'duplicate-page');
25
+ # $needToUnset = array('submit_duplicate_page');//no need to save in Database
26
+ msgid "<strong>Saving Please wait...</strong>"
27
+ msgstr ""
28
+
29
+ # if(!empty($msg) && $msg == 1):
30
+ # _e( '<div class="updated settings-error notice is-dismissible" id="setting-error-settings_updated">
31
+ # <p><strong>Settings saved.</strong></p><button class="notice-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', 'duplicate-page');
32
+ msgid ""
33
+ "<div class=\"updated settings-error notice is-dismissible\" id=\"setting-error-settings_updated\"> \r\n"
34
+ "<p><strong>Settings saved.</strong></p><button class=\"notice-dismiss\" type=\"button\"><span class=\"screen-reader-text\">Dismiss this notice.</span></button></div>"
35
+ msgstr ""
36
+
37
+ # elseif(!empty($msg) && $msg == 2):
38
+ # _e( '<div class="error settings-error notice is-dismissible" id="setting-error-settings_updated">
39
+ # <p><strong>Settings not saved.</strong></p><button class="notice-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice.</span></button></div>', 'duplicate-page');
40
+ msgid ""
41
+ "<div class=\"error settings-error notice is-dismissible\" id=\"setting-error-settings_updated\"> \r\n"
42
+ "<p><strong>Settings not saved.</strong></p><button class=\"notice-dismiss\" type=\"button\"><span class=\"screen-reader-text\">Dismiss this notice.</span></button></div>"
43
+ msgstr ""
44
+
45
+ # <tr>
46
+ # <th scope="row"><label for="duplicate_post_status"><?php _e('Duplicate Post Status', 'duplicate-page')?></label></th>
47
+ # <td><select id="duplicate_post_status" name="duplicate_post_status">
48
+ msgid "Duplicate Post Status"
49
+ msgstr ""
50
+
51
+ # </select>
52
+ # <p><?php _e('Please select any post status you want to assign for duplicate post. <strong>Default:</strong> Draft.', 'duplicate-page')?></p>
53
+ # </td>
54
+ msgid "Please select any post status you want to assign for duplicate post. <strong>Default:</strong> Draft."
55
+ msgstr ""
56
+
57
+ # <tr>
58
+ # <th scope="row"><label for="duplicate_post_redirect"><?php _e('Redirect to after click on <strong>Duplicate This Link</strong>', 'duplicate-page')?></label></th>
59
+ # <td><select id="duplicate_post_redirect" name="duplicate_post_redirect">
60
+ msgid "Redirect to after click on <strong>Duplicate This Link</strong>"
61
+ msgstr ""
62
+
63
+ # <td><select id="duplicate_post_redirect" name="duplicate_post_redirect">
64
+ # <option value="to_list" <?php echo($opt['duplicate_post_redirect'] == 'to_list' ) ? "selected = 'selected'" : ""; ?>><?php _e('To All Posts List', 'duplicate-page')?></option>
65
+ # <option value="to_page" <?php echo($opt['duplicate_post_redirect'] == 'to_page' ) ? "selected = 'selected'" : ""; ?>><?php _e('To Duplicate Edit Screen', 'duplicate-page')?></option>
66
+ msgid "To All Posts List"
67
+ msgstr ""
68
+
69
+ # <option value="to_list" <?php echo($opt['duplicate_post_redirect'] == 'to_list' ) ? "selected = 'selected'" : ""; ?>><?php _e('To All Posts List', 'duplicate-page')?></option>
70
+ # <option value="to_page" <?php echo($opt['duplicate_post_redirect'] == 'to_page' ) ? "selected = 'selected'" : ""; ?>><?php _e('To Duplicate Edit Screen', 'duplicate-page')?></option>
71
+ # </select>
72
+ msgid "To Duplicate Edit Screen"
73
+ msgstr ""
74
+
75
+ # </select>
76
+ # <p><?php _e('Please select any post redirection, redirect you to selected after click on duplicate this link. <strong>Default:</strong> To current list.', 'duplicate-page')?></p>
77
+ # </td>
78
+ msgid "Please select any post redirection, redirect you to selected after click on duplicate this link. <strong>Default:</strong> To current list."
79
+ msgstr ""
80
+
81
+ # <tr>
82
+ # <th scope="row"><label for="duplicate_post_suffix"><?php _e('Duplicate Post Suffix', 'duplicate-page')?></label></th>
83
+ # <td>
84
+ msgid "Duplicate Post Suffix"
85
+ msgstr ""
86
+
87
+ # <input type="text" class="regular-text" value="<?php echo !empty($opt['duplicate_post_suffix']) ? $opt['duplicate_post_suffix'] : ''?>" id="duplicate_post_suffix" name="duplicate_post_suffix">
88
+ # <p><?php _e('Add a suffix for duplicate or clone post as Copy, Clone etc. It will show after title.', 'duplicate-page')?></p>
89
+ # </td>
90
+ msgid "Add a suffix for duplicate or clone post as Copy, Clone etc. It will show after title."
91
+ msgstr ""
92
+
93
+ # <div id="submitdiv" class="postbox" style="padding: 6px;">
94
+ # <p><strong style="color:#F00"><?php _e('Contribute some donation, to make plugin more stable. You can pay amount of your choice.', 'duplicate-page')?></strong></p>
95
+ # <form name="_xclick" action="https://www.paypal.com/yt/cgi-bin/webscr" method="post">
96
+ msgid "Contribute some donation, to make plugin more stable. You can pay amount of your choice."
97
+ msgstr ""
98
+
99
+ # if ( $file == plugin_basename( __FILE__ ) ) {
100
+ # $duplicate_page_links = '<a href="'.get_admin_url().'options-general.php?page=duplicate_page_settings">'.__('Settings', 'duplicate-page').'</a>';
101
+ # $duplicate_page_donate = '<a href="http://www.webdesi9.com/donate/?plugin=duplicate-page" title="Donate Now" target="_blank" style="font-weight:bold">'.__('Donate', 'duplicate-page').'</a>';
102
+ msgid "Settings"
103
+ msgstr ""
104
+
105
+ # $duplicate_page_links = '<a href="'.get_admin_url().'options-general.php?page=duplicate_page_settings">'.__('Settings', 'duplicate-page').'</a>';
106
+ # $duplicate_page_donate = '<a href="http://www.webdesi9.com/donate/?plugin=duplicate-page" title="Donate Now" target="_blank" style="font-weight:bold">'.__('Donate', 'duplicate-page').'</a>';
107
+ # array_unshift( $links, $duplicate_page_donate );
108
+ msgid "Donate"
109
+ msgstr ""
110
+
111
+ # public function duplicate_page_options_page(){
112
+ # add_options_page( __( 'Duplicate Page', 'duplicate-page' ), __( 'Duplicate Page', 'duplicate-page' ), 'manage_options', 'duplicate_page_settings',array(&$this, 'duplicate_page_settings'));
113
+ # }
114
+ msgid "Duplicate Page"
115
+ msgstr ""
116
+
117
+ # if (current_user_can('edit_posts')) {
118
+ # $actions['duplicate'] = '<a href="admin.php?action=dt_duplicate_post_as_draft&amp;post=' . $post->ID . '" title="Duplicate this as '.$post_status.'" rel="permalink">'.__( "Duplicate This", "duplicate-page" ).'</a>';
119
+ # }
120
+ msgid "Duplicate This"
121
+ msgstr ""
languages/duplicate-page.pot ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Duplicate Page\n"
6
+ "Report-Msgid-Bugs-To: \n"
7
+ "POT-Creation-Date: 2016-12-19 12:43+0000\n"
8
+ "PO-Revision-Date: 2016-12-19 12:52+0000\n"
9
+ "Last-Translator: admin <munishthedeveloper48@gmail.com>\n"
10
+ "Language-Team: Hindi\n"
11
+ "Language: hi-IN\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "X-Generator: Loco - https://localise.biz/"
17
+ #: admin-settings.php:3
18
+ msgid "Duplicate Page Settings"
19
+ msgstr "डुप्लिकेट पृष्ठ सेटिंग"
20
+ #: admin-settings.php:8
21
+ msgid "<strong>Saving Please wait...</strong>"
22
+ msgstr "<strong>सुरक्षित कर रहा है कृपया प्रतीक्षा करें...</strong>"
23
+ #: admin-settings.php:27
24
+ msgid ""
25
+ "<div class=\"updated settings-error notice is-dismissible\" id=\"setting-"
26
+ "error-settings_updated\"> \n"
27
+ "<p><strong>Settings saved.</strong></p><button class=\"notice-dismiss\" "
28
+ "type=\"button\"><span class=\"screen-reader-text\">Dismiss this notice."
29
+ "</span></button></div>"
30
+ msgstr ""
31
+ "<div class=\"updated settings-error notice is-dismissible\" id=\"setting-"
32
+ "error-settings_updated\"> \n"
33
+ "<p><strong>सेटिंग्स को सहेजा गया।</strong></p><button class=\"notice-"
34
+ "dismiss\" type=\"button\"><span class=\"screen-reader-text\">इस नोटिस को "
35
+ "खारिज करें।</span></button></div>"
36
+ #: admin-settings.php:30
37
+ msgid ""
38
+ "<div class=\"error settings-error notice is-dismissible\" id=\"setting-error-"
39
+ "settings_updated\"> \n"
40
+ "<p><strong>Settings not saved.</strong></p><button class=\"notice-dismiss\" "
41
+ "type=\"button\"><span class=\"screen-reader-text\">Dismiss this notice."
42
+ "</span></button></div>"
43
+ msgstr ""
44
+ "<div class=\"error settings-error notice is-dismissible\" id=\"setting-error-"
45
+ "settings_updated\"> \n"
46
+ "<p><strong>सेटिंग सहेजा नहीं।</strong></p><button class=\"notice-dismiss\" "
47
+ "type=\"button\"><span class=\"screen-reader-text\">इस नोटिस को खारिज "
48
+ "करें।</span></button></div>"
49
+ #: admin-settings.php:43
50
+ msgid "Duplicate Post Status"
51
+ msgstr "पोस्ट की स्थिति डुप्लिकेट"
52
+ #: admin-settings.php:50
53
+ msgid ""
54
+ "Please select any post status you want to assign for duplicate post. <strong>"
55
+ "Default:</strong> Draft."
56
+ msgstr ""
57
+ "कृपया किसी भी पोस्ट की स्थिति आप दोहरे पद के लिए प्रदान करना चाहते हैं का "
58
+ "चयन करें।<strong>चूक:</strong> प्रारूप।"
59
+ #: admin-settings.php:54
60
+ msgid "Redirect to after click on <strong>Duplicate This Link</strong>"
61
+ msgstr ""
62
+ "पर क्लिक करने के बाद पुन: निर्देशित करने के लिए <strong> डुप्लिकेट इस लिंक "
63
+ "</ strong>"
64
+ #: admin-settings.php:56
65
+ msgid "To All Posts List"
66
+ msgstr "सभी पदों की सूची के लिए"
67
+ #: admin-settings.php:57
68
+ msgid "To Duplicate Edit Screen"
69
+ msgstr "स्क्रीन संपादित करने के लिए डुप्लिकेट"
70
+ #: admin-settings.php:59
71
+ msgid ""
72
+ "Please select any post redirection, redirect you to selected after click on "
73
+ "duplicate this link. <strong>Default:</strong> To current list."
74
+ msgstr ""
75
+ "कृपया किसी भी पद पुनर्निर्देशन का चयन करें, आप इस लिंक पर क्लिक करने के बाद "
76
+ "नकल चयनित करने के लिए भेज दें। <Strong> डिफ़ॉल्ट: </ strong> वर्तमान सूची पर।"
77
+ #: admin-settings.php:63
78
+ msgid "Duplicate Post Suffix"
79
+ msgstr "दोहरे पद प्रत्यय"
80
+ #: admin-settings.php:66
81
+ msgid ""
82
+ "Add a suffix for duplicate or clone post as Copy, Clone etc. It will show "
83
+ "after title."
84
+ msgstr ""
85
+ "कॉपी, क्लोन आदि के रूप में डुप्लिकेट या क्लोन के बाद यह खिताब के बाद दिखाएगा "
86
+ "के लिए एक प्रत्यय जोड़ें।"
87
+ #: admin-settings.php:76
88
+ msgid ""
89
+ "Contribute some donation, to make plugin more stable. You can pay amount of "
90
+ "your choice."
91
+ msgstr ""
92
+ "कुछ दान योगदान, प्लगइन अधिक स्थिर बनाने के लिए। आप अपनी पसंद की राशि का "
93
+ "भुगतान कर सकते हैं।"
94
+ #. Name of the plugin
95
+ msgid "Duplicate Page"
96
+ msgstr "डुप्लिकेट पृष्ठ"
97
+ #. Description of the plugin
98
+ msgid "Duplicate Posts, Pages and Custom Posts using single click."
99
+ msgstr "डुप्लिकेट पोस्ट, पन्ने और कस्टम पदों सिंगल क्लिक का उपयोग कर"
100
+ #. URI of the plugin
101
+ msgid "https://wordpress.org/plugins/duplicate-page/"
102
+ msgstr ""
103
+ #. Author of the plugin
104
+ msgid "mndpsingh287"
105
+ msgstr ""
106
+ #. Author URI of the plugin
107
+ msgid "https://profiles.wordpress.org/mndpsingh287/"
108
+ msgstr ""
readme.txt ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Duplicate Page ===
2
+ Contributors: mndpsingh287
3
+ Tags: Page Duplicate, Post duplicate, duplicate custom posts, duplicate page, duplicate post, duplicate ,custom posts, post, page, duplicate this, duplicate, content duplicate, duplicate content, data duplicate, duplicate data, copy page, clone page,wordpress page duplicate, wordpress post duplicate, Copy post, wordpress page duplicator, wordpress post duplicator, Cloner
4
+ Requires at least: 3.4
5
+ Tested up to: 4.9.2
6
+ Stable tag: 2.5
7
+ License: GPLv2 or later
8
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
+
10
+ Duplicate Posts, Pages and Custom Posts easily using single click
11
+
12
+ == Description ==
13
+
14
+ Duplicate Posts, Pages and Custom Posts easily using single click. You can duplicate your pages, posts and custom post by just one click and it will save as your selected options (draft, private, public, pending).
15
+
16
+ = Key Features in Duplicate Page Pro Editions =
17
+
18
+ * **User Roles:** Allow User Roles To access Duplicate Page.
19
+ * **Post Types:** Filter to show Duplicate Page link in post types.
20
+ * **Clone Link Location:** Option where to show clone link.
21
+ * **Status:** Option to select Duplicate Posts Status.
22
+ * **Redirection:** Option to Redirect after click on clone link..
23
+ * **Clone Link Title:** Option to change Duplicate Post Link Title.
24
+ * **Post Prefix:** Option to add Post Prefix.
25
+ * **Post Suffix:** Option to add Post Suffix.
26
+ * **Editor**: And Many More Filters and Features.
27
+
28
+ > <strong>[Buy Pro Version](http://www.webdesi9.com/product/duplicate-page-pro/)</strong> with various features & support.
29
+ > <strong>[Contact us](http://www.webdesi9.com/support/)</strong> for Support Only Pro Version Users.
30
+
31
+ **[Upgrade to Pro Version](http://www.webdesi9.com/product/duplicate-page-pro/)**
32
+
33
+ https://www.youtube.com/watch?v=Fj8BHxvebXs&feature=youtu.be
34
+
35
+ == Installation ==
36
+
37
+ 1. Upload the `duplicatepage` folder to the directory `/wp-content/plugins/`.
38
+ 2. Activate the plugin using the 'Plugins' menu in WordPress.
39
+
40
+ == Frequently asked questions ==
41
+
42
+ ## How to use
43
+
44
+ 1. First Activate Plugin.
45
+ 2. Go Select to Duplicate Page settings Menu from Settings Tab and savings settings .
46
+ 1. Then Create New Post/Page Or Use old.
47
+ 2. After click on duplicate this link, then duplicate post/ page will be created and saved as draft,publish,pending,private depending upon settings.
48
+
49
+ == Screenshots ==
50
+
51
+ 1. Activate Screen
52
+ 2. Duplicate Page Settings Screen
53
+ 3. Select Option from Settings Page.
54
+ 4. Click on Duplicate This.
55
+ 5. Duplicate Post / Page will Appear.
56
+
57
+ == Changelog ==
58
+
59
+ = 1.1 (04th May ,2016) =
60
+
61
+ * fix some Bug in 1.0
62
+
63
+ = 1.2 (05th May, 2016) =
64
+
65
+ * Duplicate Page Settings Menu Added.
66
+
67
+ = 1.3 (23th May, 2016) =
68
+
69
+ * New Features added
70
+
71
+ = 1.4 (18th Jun, 2016) =
72
+
73
+ * New Features added
74
+
75
+ = 2.1 (25th Aug, 2016) =
76
+
77
+ * New Text field added in settings page for duplicate post title suffix to remove confusion of currently duplicate page.
78
+
79
+ = 2.2 (28th Jan, 2017) =
80
+
81
+ * Strings Translations
82
+
83
+ = 2.3 (27st april, 2017) =
84
+
85
+ * Minor Fixes
86
+
87
+ = 2.4 (29th Nov, 2017) =
88
+
89
+ * Duplicate Page appends original post name issue fixed.
90
+
91
+ = 2.5 (5th Feb, 2018) =
92
+
93
+ * Translations issue resolve.
94
+
95
+ == Other Notes ==
96
+
97
+ == Minimum requirements for Duplicate Page ==
98
+ * Wordpress 3.3+
99
+ * PHP 5.x
100
+ * MySQL 5.x
101
+
102
+ If any problem occurs, please contact us at [mandeep.singh@mysenseinc.com](mailto:mandeep.singh@mysenseinc.com).