Version Description
Download this release
Release Info
Developer | codeinwp |
Plugin | Revive Old Posts – Auto Post to Social Media |
Version | 7.3.5 |
Comparing to | |
See all releases |
Code changes from version 7.2 to 7.3.5
- CHANGELOG.md +170 -170
- assets/rop-custom-icon-font.svg +11 -11
- css/custom_dashboard_icon.css +13 -13
- css/style.css +1141 -861
- img/rop-delete-icons.png +0 -0
- img/rop-edit-icons.png +0 -0
- img/rop-facebook-icn.png +0 -0
- img/rop-linkedin-icn.png +0 -0
- img/rop-tumblr-icn.png +0 -0
- img/rop-twitter-icn.png +0 -0
- img/rop-xing-icn.png +0 -0
- inc/class-remote-notification-client.php +380 -380
- inc/config.php +438 -438
- inc/core.php +3312 -3057
- inc/exclude-posts.php +346 -346
- inc/oAuth/OAuth.php +937 -937
- inc/oAuth/twitteroauth.php +355 -355
- inc/view-accounts.php +39 -39
- inc/view-advancedscheduling.php +172 -0
- inc/view-exclude.php +25 -25
- inc/view-postformat.php +42 -44
- inc/view-postschedule.php +91 -85
- inc/view.php +388 -382
- inc/xml.php +129 -129
- js/countdown.js +397 -397
- js/master.js +1091 -1076
- languages/tweet-old-post-de_DE.po +692 -692
- languages/tweet-old-post-es_ES.po +683 -683
- languages/tweet-old-post-fr_FR.po +564 -564
- languages/tweet-old-post-pt_BR.po +686 -686
- languages/tweet-old-post-pt_PT.po +686 -686
- languages/tweet-old-post-sk_SK.po +658 -658
- languages/tweet-old-post.po +617 -617
- readme.txt +812 -786
- tweet-old-post.php +41 -40
CHANGELOG.md
CHANGED
@@ -1,170 +1,170 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
### 7.0.4 - 25/05/2015
|
4 |
-
|
5 |
-
Changes:
|
6 |
-
|
7 |
-
|
8 |
-
* * fixed issue with tweet length
|
9 |
-
* fixed issue with facebook hashtag
|
10 |
-
* * added bussines version
|
11 |
-
|
12 |
-
|
13 |
-
### 7.0.4 - 16/04/2015
|
14 |
-
|
15 |
-
Changes:
|
16 |
-
|
17 |
-
|
18 |
-
* * fixed bug with the new facebook api changes.
|
19 |
-
* changed pro banner
|
20 |
-
* Merge branch 'development' of https://github.com/Codeinwp/tweet-old-post into development
|
21 |
-
|
22 |
-
|
23 |
-
### 7.0.3 - 03/04/2015
|
24 |
-
|
25 |
-
Changes:
|
26 |
-
|
27 |
-
|
28 |
-
* * fixed problem with media_id
|
29 |
-
* * fixed bug with logs reporting in system info where there is no log available.
|
30 |
-
* Update readme.txt
|
31 |
-
* Update readme.txt
|
32 |
-
|
33 |
-
|
34 |
-
### 7.0.2 - 26/03/2015
|
35 |
-
|
36 |
-
Changes:
|
37 |
-
|
38 |
-
|
39 |
-
* * Removed twitter update_with_media call.
|
40 |
-
* Fixed activation error notices when WP_DEBUG was enabled
|
41 |
-
* Merge remote-tracking branch 'origin/development' into development
|
42 |
-
|
43 |
-
|
44 |
-
### 7.0.1 - 06/03/2015
|
45 |
-
|
46 |
-
Changes:
|
47 |
-
|
48 |
-
|
49 |
-
* http bug
|
50 |
-
* Final version of tweet old post
|
51 |
-
* final vers
|
52 |
-
* Added Top 5.7 version
|
53 |
-
* added strlower
|
54 |
-
* Tweets now are posted immediately, fixed scheduling and added debug messages
|
55 |
-
* latest stable version 6.2
|
56 |
-
* added exclude posts back
|
57 |
-
* latest major fixes
|
58 |
-
* fixed interrupted posting
|
59 |
-
* Added settings link, fixed tweet cutting and added cron debug messages
|
60 |
-
|
61 |
-
Added settings link, fixed tweet cutting and added cron debug messages
|
62 |
-
* latest top fixes [stable version ]
|
63 |
-
* almost added fb
|
64 |
-
* stable version with linkedin + facebook
|
65 |
-
* custom icon, final fixes
|
66 |
-
* fixed fb instructions + small css things
|
67 |
-
* Set up localization and translation
|
68 |
-
* 6.8.1 with multi-language + cpt support
|
69 |
-
* fix post issue
|
70 |
-
* various small fixes to encoding
|
71 |
-
* various fixes
|
72 |
-
|
73 |
-
* fix for coma on the exclude post page
|
74 |
-
* fixed the shortner problem that was not adding the analytics.
|
75 |
-
* fixed the cron issue
|
76 |
-
* increased notification time check by *5
|
77 |
-
|
78 |
-
increased notification time check by *5
|
79 |
-
* * Added post format per network
|
80 |
-
* Rearranged the options
|
81 |
-
* Merge remote-tracking branch 'origin/development' into development
|
82 |
-
* * Fixes for no account post sharing issue
|
83 |
-
* Added immediately share after start
|
84 |
-
* redesign and on/off button
|
85 |
-
* * Improved tabs graphic
|
86 |
-
* Added remote cron check
|
87 |
-
* * added pro badge for linkedin post format
|
88 |
-
* fixed compatibility issue with older versions
|
89 |
-
* * added pro badge for linkedin post format
|
90 |
-
* fixed compatibility issue with older versions
|
91 |
-
* * fixed the relative path issue
|
92 |
-
* Update readme.txt
|
93 |
-
* * fixed issue with notices
|
94 |
-
* solved some cron compatibilty problems
|
95 |
-
* * fixed double posting issue for cron
|
96 |
-
* * fixed backwards compatibility issue
|
97 |
-
* Removed useless spaces in post format
|
98 |
-
* fixed custom field from url issue
|
99 |
-
* * fixed problem with oauth time
|
100 |
-
* fixed problem with cron time
|
101 |
-
* * fixed problem with oauth time
|
102 |
-
* fixed problem with cron time
|
103 |
-
* Merge remote-tracking branch 'origin/development' into development
|
104 |
-
* Update core.php
|
105 |
-
* Update tweet-old-post.php
|
106 |
-
* Update view.php
|
107 |
-
* Update OAuth.php
|
108 |
-
* Update tweet-old-post.php
|
109 |
-
* * added more complex log system
|
110 |
-
* improved cron schedule
|
111 |
-
* Merge remote-tracking branch 'origin/development' into development
|
112 |
-
* * fixed sample tweet
|
113 |
-
* added support for pro version
|
114 |
-
* * added clock feature
|
115 |
-
* * fix for old cron
|
116 |
-
* fix sample tweet image
|
117 |
-
* * removed console clock
|
118 |
-
* Update readme.txt
|
119 |
-
* Fixed https request
|
120 |
-
* Update tweet-old-post.php
|
121 |
-
* Update core.php
|
122 |
-
* Update style.css
|
123 |
-
* Update tweet-old-post.php
|
124 |
-
* * fixed typo bugs.
|
125 |
-
* Update readme.txt
|
126 |
-
* * fixed excluded post bug
|
127 |
-
* fixed cron time issue
|
128 |
-
* added more log types messages
|
129 |
-
* improved system info
|
130 |
-
* Merge remote-tracking branch 'origin/development' into development
|
131 |
-
* * update version
|
132 |
-
* * added sib banner
|
133 |
-
* * updated changelog
|
134 |
-
* * fixed bug with share more than once.
|
135 |
-
* Update tweet-old-post.php
|
136 |
-
* Update view.php
|
137 |
-
* * Fixed issue cron stop
|
138 |
-
* Fixed issue for excluded post
|
139 |
-
* Added exclude posts from custom post types.
|
140 |
-
* Merge remote-tracking branch 'origin/development' into development
|
141 |
-
* * Fixed issue cron stop
|
142 |
-
* Fixed issue for excluded post
|
143 |
-
* Added exclude posts from custom post types.
|
144 |
-
* updated version
|
145 |
-
* * fixed sample post issue
|
146 |
-
* * fixed tweet custom field url
|
147 |
-
* * changed version
|
148 |
-
* fixed minutes typo
|
149 |
-
* * rollback generate tweet
|
150 |
-
* Merge remote-tracking branch 'origin/development' into development
|
151 |
-
* * fixed image compatibility
|
152 |
-
* * fixed pro compatibility
|
153 |
-
* Update readme.txt
|
154 |
-
* buttons added: Google Plus, XING , Stumbleupon , Tumblr
|
155 |
-
* strip html response.
|
156 |
-
* * rewrite the tweet generation
|
157 |
-
* added usefull filtes and hooks
|
158 |
-
* * Fixed issue with duplicate posting
|
159 |
-
* Added Xing and Tumbr Networks
|
160 |
-
* Fixed issue with random posts on large databases.
|
161 |
-
* * Fixed issue with duplicate posting
|
162 |
-
* Added Xing and Tumbr Networks
|
163 |
-
* Fixed issue with random posts on large databases.
|
164 |
-
* * Fixed no link issue
|
165 |
-
* Added new info to System Log
|
166 |
-
* * FIxed compatibilty issues with old pro version
|
167 |
-
* * added chacter count when media is active
|
168 |
-
* * fixed link position in tweets.
|
169 |
-
* * removed only pro badge on custom schedule secundar tabs
|
170 |
-
* * fixed problem with strange chars in tweets.
|
1 |
+
|
2 |
+
|
3 |
+
### 7.0.4 - 25/05/2015
|
4 |
+
|
5 |
+
Changes:
|
6 |
+
|
7 |
+
|
8 |
+
* * fixed issue with tweet length
|
9 |
+
* fixed issue with facebook hashtag
|
10 |
+
* * added bussines version
|
11 |
+
|
12 |
+
|
13 |
+
### 7.0.4 - 16/04/2015
|
14 |
+
|
15 |
+
Changes:
|
16 |
+
|
17 |
+
|
18 |
+
* * fixed bug with the new facebook api changes.
|
19 |
+
* changed pro banner
|
20 |
+
* Merge branch 'development' of https://github.com/Codeinwp/tweet-old-post into development
|
21 |
+
|
22 |
+
|
23 |
+
### 7.0.3 - 03/04/2015
|
24 |
+
|
25 |
+
Changes:
|
26 |
+
|
27 |
+
|
28 |
+
* * fixed problem with media_id
|
29 |
+
* * fixed bug with logs reporting in system info where there is no log available.
|
30 |
+
* Update readme.txt
|
31 |
+
* Update readme.txt
|
32 |
+
|
33 |
+
|
34 |
+
### 7.0.2 - 26/03/2015
|
35 |
+
|
36 |
+
Changes:
|
37 |
+
|
38 |
+
|
39 |
+
* * Removed twitter update_with_media call.
|
40 |
+
* Fixed activation error notices when WP_DEBUG was enabled
|
41 |
+
* Merge remote-tracking branch 'origin/development' into development
|
42 |
+
|
43 |
+
|
44 |
+
### 7.0.1 - 06/03/2015
|
45 |
+
|
46 |
+
Changes:
|
47 |
+
|
48 |
+
|
49 |
+
* http bug
|
50 |
+
* Final version of tweet old post
|
51 |
+
* final vers
|
52 |
+
* Added Top 5.7 version
|
53 |
+
* added strlower
|
54 |
+
* Tweets now are posted immediately, fixed scheduling and added debug messages
|
55 |
+
* latest stable version 6.2
|
56 |
+
* added exclude posts back
|
57 |
+
* latest major fixes
|
58 |
+
* fixed interrupted posting
|
59 |
+
* Added settings link, fixed tweet cutting and added cron debug messages
|
60 |
+
|
61 |
+
Added settings link, fixed tweet cutting and added cron debug messages
|
62 |
+
* latest top fixes [stable version ]
|
63 |
+
* almost added fb
|
64 |
+
* stable version with linkedin + facebook
|
65 |
+
* custom icon, final fixes
|
66 |
+
* fixed fb instructions + small css things
|
67 |
+
* Set up localization and translation
|
68 |
+
* 6.8.1 with multi-language + cpt support
|
69 |
+
* fix post issue
|
70 |
+
* various small fixes to encoding
|
71 |
+
* various fixes
|
72 |
+
|
73 |
+
* fix for coma on the exclude post page
|
74 |
+
* fixed the shortner problem that was not adding the analytics.
|
75 |
+
* fixed the cron issue
|
76 |
+
* increased notification time check by *5
|
77 |
+
|
78 |
+
increased notification time check by *5
|
79 |
+
* * Added post format per network
|
80 |
+
* Rearranged the options
|
81 |
+
* Merge remote-tracking branch 'origin/development' into development
|
82 |
+
* * Fixes for no account post sharing issue
|
83 |
+
* Added immediately share after start
|
84 |
+
* redesign and on/off button
|
85 |
+
* * Improved tabs graphic
|
86 |
+
* Added remote cron check
|
87 |
+
* * added pro badge for linkedin post format
|
88 |
+
* fixed compatibility issue with older versions
|
89 |
+
* * added pro badge for linkedin post format
|
90 |
+
* fixed compatibility issue with older versions
|
91 |
+
* * fixed the relative path issue
|
92 |
+
* Update readme.txt
|
93 |
+
* * fixed issue with notices
|
94 |
+
* solved some cron compatibilty problems
|
95 |
+
* * fixed double posting issue for cron
|
96 |
+
* * fixed backwards compatibility issue
|
97 |
+
* Removed useless spaces in post format
|
98 |
+
* fixed custom field from url issue
|
99 |
+
* * fixed problem with oauth time
|
100 |
+
* fixed problem with cron time
|
101 |
+
* * fixed problem with oauth time
|
102 |
+
* fixed problem with cron time
|
103 |
+
* Merge remote-tracking branch 'origin/development' into development
|
104 |
+
* Update core.php
|
105 |
+
* Update tweet-old-post.php
|
106 |
+
* Update view.php
|
107 |
+
* Update OAuth.php
|
108 |
+
* Update tweet-old-post.php
|
109 |
+
* * added more complex log system
|
110 |
+
* improved cron schedule
|
111 |
+
* Merge remote-tracking branch 'origin/development' into development
|
112 |
+
* * fixed sample tweet
|
113 |
+
* added support for pro version
|
114 |
+
* * added clock feature
|
115 |
+
* * fix for old cron
|
116 |
+
* fix sample tweet image
|
117 |
+
* * removed console clock
|
118 |
+
* Update readme.txt
|
119 |
+
* Fixed https request
|
120 |
+
* Update tweet-old-post.php
|
121 |
+
* Update core.php
|
122 |
+
* Update style.css
|
123 |
+
* Update tweet-old-post.php
|
124 |
+
* * fixed typo bugs.
|
125 |
+
* Update readme.txt
|
126 |
+
* * fixed excluded post bug
|
127 |
+
* fixed cron time issue
|
128 |
+
* added more log types messages
|
129 |
+
* improved system info
|
130 |
+
* Merge remote-tracking branch 'origin/development' into development
|
131 |
+
* * update version
|
132 |
+
* * added sib banner
|
133 |
+
* * updated changelog
|
134 |
+
* * fixed bug with share more than once.
|
135 |
+
* Update tweet-old-post.php
|
136 |
+
* Update view.php
|
137 |
+
* * Fixed issue cron stop
|
138 |
+
* Fixed issue for excluded post
|
139 |
+
* Added exclude posts from custom post types.
|
140 |
+
* Merge remote-tracking branch 'origin/development' into development
|
141 |
+
* * Fixed issue cron stop
|
142 |
+
* Fixed issue for excluded post
|
143 |
+
* Added exclude posts from custom post types.
|
144 |
+
* updated version
|
145 |
+
* * fixed sample post issue
|
146 |
+
* * fixed tweet custom field url
|
147 |
+
* * changed version
|
148 |
+
* fixed minutes typo
|
149 |
+
* * rollback generate tweet
|
150 |
+
* Merge remote-tracking branch 'origin/development' into development
|
151 |
+
* * fixed image compatibility
|
152 |
+
* * fixed pro compatibility
|
153 |
+
* Update readme.txt
|
154 |
+
* buttons added: Google Plus, XING , Stumbleupon , Tumblr
|
155 |
+
* strip html response.
|
156 |
+
* * rewrite the tweet generation
|
157 |
+
* added usefull filtes and hooks
|
158 |
+
* * Fixed issue with duplicate posting
|
159 |
+
* Added Xing and Tumbr Networks
|
160 |
+
* Fixed issue with random posts on large databases.
|
161 |
+
* * Fixed issue with duplicate posting
|
162 |
+
* Added Xing and Tumbr Networks
|
163 |
+
* Fixed issue with random posts on large databases.
|
164 |
+
* * Fixed no link issue
|
165 |
+
* Added new info to System Log
|
166 |
+
* * FIxed compatibilty issues with old pro version
|
167 |
+
* * added chacter count when media is active
|
168 |
+
* * fixed link position in tweets.
|
169 |
+
* * removed only pro badge on custom schedule secundar tabs
|
170 |
+
* * fixed problem with strange chars in tweets.
|
assets/rop-custom-icon-font.svg
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3 |
-
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
-
<metadata>Generated by Fontastic.me</metadata>
|
5 |
-
<defs>
|
6 |
-
<font id="untitled-font-2" horiz-adv-x="512">
|
7 |
-
<font-face font-family="untitled-font-2" units-per-em="512" ascent="480" descent="-32"/>
|
8 |
-
<missing-glyph horiz-adv-x="512" />
|
9 |
-
|
10 |
-
<glyph unicode="a" d="M264 478c-132 0-239-107-239-239 0-132 107-239 239-239 131 0 239 107 239 239 0 132-108 239-239 239z m0-72c94 0 171-68 171-170l-61 0-43-37-109 114-68-77-62 0c0 102 77 170 172 170z m0-343c-87 0-158 70-170 147l72 0 57 66 107-114 55 48 49 0c-13-77-84-147-170-147z"/>
|
11 |
-
</font></defs></svg>
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Generated by Fontastic.me</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="untitled-font-2" horiz-adv-x="512">
|
7 |
+
<font-face font-family="untitled-font-2" units-per-em="512" ascent="480" descent="-32"/>
|
8 |
+
<missing-glyph horiz-adv-x="512" />
|
9 |
+
|
10 |
+
<glyph unicode="a" d="M264 478c-132 0-239-107-239-239 0-132 107-239 239-239 131 0 239 107 239 239 0 132-108 239-239 239z m0-72c94 0 171-68 171-170l-61 0-43-37-109 114-68-77-62 0c0 102 77 170 172 170z m0-343c-87 0-158 70-170 147l72 0 57 66 107-114 55 48 49 0c-13-77-84-147-170-147z"/>
|
11 |
+
</font></defs></svg>
|
css/custom_dashboard_icon.css
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
-
@font-face {
|
2 |
-
font-family: "rop-custom-icon-font";
|
3 |
-
src: url("../assets/rop-custom-icon-font.eot");
|
4 |
-
src: url("../assets/rop-custom-icon-font.eot?#iefix") format("embedded-opentype"), url("../assets/rop-custom-icon-font.woff") format("woff"), url("../assets/rop-custom-icon-font.ttf") format("truetype"), url("../assets/rop-custom-icon-font.svg#rop-custom-icon-font") format("svg");
|
5 |
-
font-weight: normal;
|
6 |
-
font-style: normal;
|
7 |
-
}
|
8 |
-
|
9 |
-
|
10 |
-
#adminmenu #toplevel_page_TweetOldPost .wp-menu-image:before {
|
11 |
-
font-family: "rop-custom-icon-font" !important;
|
12 |
-
content: "a" !important;
|
13 |
-
}
|
1 |
+
@font-face {
|
2 |
+
font-family: "rop-custom-icon-font";
|
3 |
+
src: url("../assets/rop-custom-icon-font.eot");
|
4 |
+
src: url("../assets/rop-custom-icon-font.eot?#iefix") format("embedded-opentype"), url("../assets/rop-custom-icon-font.woff") format("woff"), url("../assets/rop-custom-icon-font.ttf") format("truetype"), url("../assets/rop-custom-icon-font.svg#rop-custom-icon-font") format("svg");
|
5 |
+
font-weight: normal;
|
6 |
+
font-style: normal;
|
7 |
+
}
|
8 |
+
|
9 |
+
|
10 |
+
#adminmenu #toplevel_page_TweetOldPost .wp-menu-image:before {
|
11 |
+
font-family: "rop-custom-icon-font" !important;
|
12 |
+
content: "a" !important;
|
13 |
+
}
|
css/style.css
CHANGED
@@ -1,861 +1,1141 @@
|
|
1 |
-
/* Clearfix */
|
2 |
-
.clearfix:after { content: "\00A0"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
|
3 |
-
.clearfix{ display: inline-block;}
|
4 |
-
html[xmlns] .clearfix { display: block;}
|
5 |
-
* html .clearfix{ height: 1%;}
|
6 |
-
.clearfix { display: block; }
|
7 |
-
strong {
|
8 |
-
font-weight: 900;
|
9 |
-
}
|
10 |
-
*:focus {
|
11 |
-
outline: 0;
|
12 |
-
}
|
13 |
-
/* Padding Fix */
|
14 |
-
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
|
15 |
-
|
16 |
-
/* Main Wrapper */
|
17 |
-
.cwp_top_wrapper { width: 1080px;}
|
18 |
-
|
19 |
-
/* Tweet Old Post Status */
|
20 |
-
.cwp_top_wrapper .cwp_top_status { }
|
21 |
-
.cwp_top_wrapper .cwp_top_status p { margin: 0; padding: 10px; text-align: center; font-family: "Roboto", sans-serif; color:#fff; }
|
22 |
-
.cwp_top_wrapper .cwp_top_status p.active { background: rgb(185, 243, 203);box-shadow: inset 0px 0px 6px rgba(8, 61, 8, 0.1);border-top: 1px solid rgba(97, 209, 101, 0.4);color: #218618;font-weight: bold;text-shadow: 0px 1px 0px rgba(255,255,255,1.3);border-bottom: 1px solid #fff; }
|
23 |
-
.cwp_top_wrapper .cwp_top_status p.inactive { background: rgb(240, 240, 240);border-top: 1px solid rgba(255,255,255,0.4);color: #494949;font-weight: bold;text-shadow: 0px 1px 0px rgba(255,255,255,1.3);border-bottom: 1px solid #E2E2E2; }
|
24 |
-
.cwp_top_wrapper a {
|
25 |
-
text-decoration: none!important;
|
26 |
-
}
|
27 |
-
/* Ajax Animation */
|
28 |
-
.cwp_top_wrapper .ajaxAnimation { background: url("../img/loader.gif") no-repeat center center, rgba(255,255,255,0.8); position: absolute;top: 0; left: 0; right: 0; bottom: 0; display: none;}
|
29 |
-
|
30 |
-
.pro-ver .right { position: relative; }
|
31 |
-
.pro-ver .left { position: relative; }
|
32 |
-
|
33 |
-
/* Twitter Login Button */
|
34 |
-
.cwp_top_container button#twitter-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
35 |
-
.cwp_top_container button#twitter-login:hover { cursor: pointer; background: #56acee; color: rgba(255,255,255, 0.9); }
|
36 |
-
.cwp_top_container button#twitter-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); background-color: #56acee; background-position: 5px 5px; }
|
37 |
-
.cwp_top_container button#twitter-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
38 |
-
.cwp_top_container button#twitter-login.another-account:before { content: ""; height: 35px; background-position: 5px 7px; }
|
39 |
-
.cwp_top_container button#twitter-login.another-account:hover { opacity: 1; }
|
40 |
-
|
41 |
-
/* Facebook Login Button */
|
42 |
-
.cwp_top_container button#facebook-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
43 |
-
.cwp_top_container button#facebook-login:hover { cursor: pointer; background: #436ba9; color: rgba(255,255,255, 0.9); }
|
44 |
-
.cwp_top_container button#facebook-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); background-color: #436ba9; background-position: -26px 5px; }
|
45 |
-
.cwp_top_container button#facebook-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
46 |
-
.cwp_top_container button#facebook-login.another-account:before { content: ""; height: 35px; background-position: -26px 7px; }
|
47 |
-
.cwp_top_container button#facebook-login.another-account:hover { opacity: 1; }
|
48 |
-
|
49 |
-
/* Linkedin Login Button */
|
50 |
-
.cwp_top_container button#linkedin-login { cursor:pointer; font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
51 |
-
.cwp_top_container button#linkedin-login:hover { cursor: pointer; background: #308cc5; color: rgba(255,255,255, 0.9); }
|
52 |
-
.cwp_top_container button#linkedin-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #308cc5; background-position: -58px 5px; }
|
53 |
-
.cwp_top_container button#linkedin-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
54 |
-
.cwp_top_container button#linkedin-login.another-account:before { content: ""; height: 35px; background-position: -58px 7px; }
|
55 |
-
.cwp_top_container button#linkedin-login.another-account:hover { opacity: 1; }
|
56 |
-
.cwp_top_container .pro-ver button#linkedin-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
57 |
-
.cwp_top_container .pro-ver button#linkedin-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -58px -34px; }
|
58 |
-
.cwp_top_container .pro-ver button#linkedin-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
59 |
-
|
60 |
-
/* Google Plus Login Button */
|
61 |
-
.cwp_top_container button#googleplus-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
62 |
-
.cwp_top_container button#googleplus-login:hover { cursor: pointer; background: #de4b39; color: rgba(255,255,255, 0.9); }
|
63 |
-
.cwp_top_container button#googleplus-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #de4b39; background-position: -88px 5px; }
|
64 |
-
.cwp_top_container button#googleplus-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
65 |
-
.cwp_top_container button#googleplus-login.another-account:before { content: ""; height: 35px; background-position: -88px 7px; }
|
66 |
-
.cwp_top_container button#googleplus-login.another-account:hover { opacity: 1; }
|
67 |
-
.cwp_top_container .pro-ver button#googleplus-login { background: #fcfcfc; color: #c9c9c9;}
|
68 |
-
.cwp_top_container .pro-ver button#googleplus-login:before { content: ""; background-color: #e3e3e3; background-position: -88px -34px; }
|
69 |
-
.cwp_top_container .pro-ver button#googleplus-login:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
70 |
-
|
71 |
-
/* XING Login Button */
|
72 |
-
.cwp_top_container button#xing-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
73 |
-
.cwp_top_container button#xing-login:hover { cursor: pointer; background: #00605e; color: rgba(255,255,255, 0.9); }
|
74 |
-
.cwp_top_container button#xing-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #00605e; background-position: -119px 5px; }
|
75 |
-
.cwp_top_container button#xing-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
76 |
-
.cwp_top_container button#xing-login.another-account:before { content: ""; height: 35px; background-position: -119px 7px; }
|
77 |
-
.cwp_top_container button#xing-login.another-account:hover { opacity: 1; }
|
78 |
-
.cwp_top_container .pro-ver button#xing-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
79 |
-
.cwp_top_container .pro-ver button#xing-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -119px -34px; }
|
80 |
-
.cwp_top_container .pro-ver button#xing-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
81 |
-
|
82 |
-
/* Stumbleupon Login Button */
|
83 |
-
.cwp_top_container button#stumbleupon-login { cursor:pointer;font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
84 |
-
.cwp_top_container button#stumbleupon-login:hover { cursor: pointer; background: #f3471f; color: rgba(255,255,255, 0.9); }
|
85 |
-
.cwp_top_container button#stumbleupon-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #f3471f; background-position: -150px 5px; }
|
86 |
-
.cwp_top_container button#stumbleupon-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
87 |
-
.cwp_top_container button#stumbleupon-login.another-account:before { content: ""; height: 35px; background-position: -150px 7px; }
|
88 |
-
.cwp_top_container button#stumbleupon-login.another-account:hover { opacity: 1; }
|
89 |
-
.cwp_top_container .pro-ver button#stumbleupon-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
90 |
-
.cwp_top_container .pro-ver button#stumbleupon-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -150px -34px; }
|
91 |
-
.cwp_top_container .pro-ver button#stumbleupon-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
92 |
-
|
93 |
-
/* Tumblr Login Button */
|
94 |
-
.cwp_top_container button#tumblr-login { cursor:pointer; font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
95 |
-
.cwp_top_container button#tumblr-login:hover { cursor: pointer; background: #3b5c7b; color: rgba(255,255,255, 0.9); }
|
96 |
-
.cwp_top_container button#tumblr-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #3b5c7b; background-position: -181px 5px; }
|
97 |
-
.cwp_top_container button#tumblr-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
98 |
-
.cwp_top_container button#tumblr-login.another-account:before { content: ""; height: 35px; background-position: -181px 7px; }
|
99 |
-
.cwp_top_container button#tumblr-login.another-account:hover { opacity: 1; }
|
100 |
-
.cwp_top_container .pro-ver button#tumblr-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
101 |
-
.cwp_top_container .pro-ver button#tumblr-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -181px -34px; }
|
102 |
-
.cwp_top_container .pro-ver button#tumblr-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
103 |
-
|
104 |
-
/* Logged In User */
|
105 |
-
.cwp_top_container .user_details { margin-top: 10px; height: 35px; border: 1px solid #fff; float: left; overflow: hidden; background:#fff; border: 1px solid #ddd; border-radius: 5px; margin-right: 10px;}
|
106 |
-
.cwp_top_container .right .user_details:first-child { margin-top: 0; }
|
107 |
-
.cwp_top_container .right .another-account { margin-top: 10px; }
|
108 |
-
.cwp_top_container .right .another-account:nth-child(2) { margin-top: 0; }
|
109 |
-
.cwp_top_container .user_details .user_avatar { float: left; width: 35px;}
|
110 |
-
.cwp_top_container .user_details .user_avatar img { width: 100%; }
|
111 |
-
.cwp_top_container .user_details .user_name { float: left; font-family: Roboto, "Helvetica Neue", HelveticaNeue, sans-serif; font-weight: 400; font-size:14px; line-height: 2.4; padding: 0px 10px; color:#5C5C5C; min-width: 130px; }
|
112 |
-
.cwp_top_container .user_details .remove_user { display:block; width: 35px; height: 35px; float: left; border-left: 1px solid #ddd; }
|
113 |
-
.cwp_top_container .user_details .remove_user .logout_user { display: block; width: 100%; height: 100%; background:url("../img/remove_account.png") no-repeat center center, #fff; }
|
114 |
-
.cwp_top_container .user_details .remove_user .logout_user:hover { background:url("../img/remove_account_hover.png") no-repeat center center, #fff; }
|
115 |
-
|
116 |
-
/* Announcement */
|
117 |
-
.cwp_top_wrapper .announcement { width: 100%; background: url("../img/reviewgine_announcement.png") no-repeat left -10px top -45px, #f16848; margin-top: 20px;}
|
118 |
-
.cwp_top_wrapper .announcement h2 { width:85%; float: left; font-family: "Helvetica Neue", HelveticaNeue, sans-serif; color:#fff; font-weight: 100; font-size: 17px; line-height: 1; padding-left: 180px; }
|
119 |
-
.cwp_top_wrapper .announcement h2 b { font-weight: bold; }
|
120 |
-
.cwp_top_wrapper .announcement .show-me { float: right; background:#fff; border-radius: 5px; font-family: "Helvetica Neue", HelveticaNeue, sans-serif; color:#5c5c5c; text-decoration: none; text-transform: uppercase;padding: 7px 15px; margin-top: 9px; margin-right: 20px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; line-height: 1;}
|
121 |
-
.cwp_top_wrapper .announcement .show-me:hover { cursor: pointer; opacity: 0.8; }
|
122 |
-
|
123 |
-
/* Header Styles */
|
124 |
-
.cwp_top_wrapper #cwp_top_header { background:#fff; border-top: 5px solid #52aae2; border-bottom: 1px solid #d4d4d4; margin-top: 10px; padding: 20px 10px;}
|
125 |
-
.cwp_top_wrapper #cwp_top_header .top_logo { margin: 0; padding: 0; float: left; font-family: "Open Sans", sans-serif; font-weight: bold; color:#3c3c3c; padding-left: 55px; background:url("../img/logo.png") no-repeat left center; padding: 20px; padding-left: 60px; padding-right: 0; letter-spacing: -1px; margin-left: 14px; }
|
126 |
-
.cwp_top_wrapper #cwp_top_header .slogan { float: left; margin: 0; padding: 0; font-size: 17px; color:#858585; font-family: "Open Sans", sans-serif; line-height: 3.5; margin-left: 10px; }
|
127 |
-
.cwp_top_wrapper #cwp_top_header .slogan a { color:#858585; font-weight: 600; text-decoration: none; font-style: italic; -webkit-transition: all 0.250s ease-in-out; -moz-transition: all 0.250s ease-in-out; -o-transition: all 0.250s ease-in-out; transition: all 0.250s ease-in-out; }
|
128 |
-
.cwp_top_wrapper #cwp_top_header .slogan a:hover { color:#52aae2; }
|
129 |
-
|
130 |
-
/* Header Actions */
|
131 |
-
.cwp_top_wrapper #cwp_top_header .cwp_top_actions { float: right; margin-right: 6px; margin-top: 14px; }
|
132 |
-
.cwp_top_wrapper #cwp_top_header .tweet-about-it { background:#52c4ef; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; text-shadow: 0px 1px 0px #33a4ce; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
133 |
-
.cwp_top_wrapper #cwp_top_header .tweet-about-it span { background:url("../img/twitter_icon.png") no-repeat center center, #3eaed8; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
134 |
-
.cwp_top_wrapper #cwp_top_header .leave-a-review { background:#f9866b; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; text-shadow: 0px 1px 0px #e46b3d; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
135 |
-
.cwp_top_wrapper #cwp_top_header .leave-a-review span { background:url("../img/review_icon.png") no-repeat center center, #f16848; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
136 |
-
|
137 |
-
/* Container and form styles */
|
138 |
-
.cwp_top_wrapper .cwp_top_container { border-bottom: 5px solid #52aae2; position: relative;}
|
139 |
-
.cwp_top_wrapper .cwp_top_container form { width: 100%; float: left; /* border-right: 1px solid #d4d4d4;*/ }
|
140 |
-
.cwp_top_wrapper .option { width: 100%; margin: 15px 0px; }
|
141 |
-
.cwp_top_wrapper .option .left { float: left; width: 45%; }
|
142 |
-
.cwp_top_wrapper .option .left .select-all { float: right; background: none; border: none; background:#ddd; border-radius: 3px; padding: 5px 10px; }
|
143 |
-
.cwp_top_wrapper .option .left .select-all:hover { cursor: pointer; }
|
144 |
-
.cwp_top_wrapper .option label { font-family: "Helvetica Neue", HelveticaNeue, sans-serif; font-size: 15px; color:#525252; }
|
145 |
-
.cwp_top_wrapper .option input[type=text], .cwp_top_wrapper .cwp_top_container form .option select { height: 35px; border-radius: 3px; border: 1px solid #d7d7d7; box-shadow: none; font-family: "Roboto", sans-serif; }
|
146 |
-
.cwp_top_wrapper .option input[type=text] { width: 90%; }
|
147 |
-
.cwp_top_wrapper .option .left * { display: block; text-align: right; }
|
148 |
-
.cwp_top_wrapper .option .right { float: left; width: 55%; padding-left: 20px; }
|
149 |
-
.cwp_top_wrapper .option .categories-list { padding-top: 4px; }
|
150 |
-
.cwp_top_wrapper .option .categories-list .cwp-cat { float: left; width: 50%; margin-bottom: 5px; }
|
151 |
-
.cwp_top_wrapper .option .categories-list .cwp-cat label { font-size: 13px; }
|
152 |
-
|
153 |
-
.cwp_top_wrapper .option .post-type-list { padding-top: 4px; }
|
154 |
-
.cwp_top_wrapper .option .post-type-list .cwp-cat { float: left; width: 50%; margin-bottom: 5px; }
|
155 |
-
.cwp_top_wrapper .option .post-type-list .cwp-cat label { font-size: 13px; }
|
156 |
-
|
157 |
-
/* Sidebar Styles */
|
158 |
-
.cwp_top_wrapper .cwp_top_container .sidebar { float: left; width: 27%; padding: 10px}
|
159 |
-
.cwp_top_wrapper .cwp_top_container .sidebar ul { display: block; margin: 0; padding: 0; }
|
160 |
-
.cwp_top_wrapper .cwp_top_container .sidebar ul li { display: block; }
|
161 |
-
.cwp_top_wrapper .cwp_top_container .sidebar ul li.upgrade a { display: block; background:url("../img/upgrade-top.png") no-repeat top left; width: 270px; height: 101px; text-indent: -9999px; }
|
162 |
-
.cwp_top_wrapper .cwp_top_container .sidebar ul li.readythemes a { display: block; background:url("../img/top_banner_themeisle.png") no-repeat left; width: 270px; height: 101px; text-indent: -9999px; }
|
163 |
-
.cwp_top_wrapper .cwp_top_container .sidebar ul li.sib a { display: block; background:url("../img/sib.png") no-repeat left; width: 270px; height: 225px; text-indent: -9999px; }
|
164 |
-
.cwp_top_wrapper .cwp_top_container .sidebar ul li.affiliate-readythemes a { display: block; background:url("../img/affiliate.png") no-repeat left; width: 270px; height: 101px; text-indent: -9999px; }
|
165 |
-
|
166 |
-
/* Footer Styles */
|
167 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer { width: 100%; background:#fff; padding: 20px 10px 10px; border: 1px solid #EAEAEA; border-top: 1px solid #d4d4d4;}
|
168 |
-
.cwp_top_wrapper .update-options { background:#707070; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
169 |
-
.cwp_top_wrapper .update-options span { background:url("../img/update_icon.png") no-repeat center center, #464646; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
170 |
-
|
171 |
-
/* Tweet Now Button Style */
|
172 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .tweet-now { background:#52c4ef; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
173 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .tweet-now span { background:url("../img/twitter_icon.png") no-repeat center center, #3eaed8; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
174 |
-
.top_close_popup {margin-left:37%;float:left;}
|
175 |
-
/* Stop Tweet Button Styles */
|
176 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .stop-tweet-old-post { background:#f9866b; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
177 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .stop-tweet-old-post span { background:url("../img/twitter_icon.png") no-repeat center center, #f16848; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
178 |
-
|
179 |
-
/* Tweet Now Button Style */
|
180 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .see-sample-tweet { background:#52c4ef; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
181 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .see-sample-tweet span { background:url("../img/twitter_icon.png") no-repeat center center, #3eaed8; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
182 |
-
|
183 |
-
/* Reset Settings Button Styles */
|
184 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .reset-settings { background:#f9866b; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
185 |
-
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .reset-settings span { background:url("../img/reset_icon.png") no-repeat center center, #f16848; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
186 |
-
.cwp_top_wrapper a { margin: 0 !important; padding: 0; margin-right: 10px !important; margin-bottom:10px!important;}
|
187 |
-
|
188 |
-
/* Sample Tweet Preview Modal */
|
189 |
-
.cwp_top_wrapper .cwp_lkapp_preview, .cwp_top_wrapper .cwp_xingapp_preview, .cwp_top_wrapper .cwp_tumblrapp_preview, .cwp_top_wrapper .cwp_not_version_preview,.cwp_top_wrapper .cwp_user_pages { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background:rgba(0,0,0,0.2); display: none; }
|
190 |
-
|
191 |
-
.cwp_top_wrapper .cwp_fbapp_preview,.cwp_top_wrapper .cwp_user_pages { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background:rgba(0,0,0,0.2); display: none; }
|
192 |
-
.cwp_top_wrapper .cwp_sample_tweet_preview_inner h2 { text-align: center; font-weight: bold;color:#7d7d7d; font-family: "HelveticaNeue", "Helvetica Neue", sans-serif; }
|
193 |
-
.cwp_top_wrapper .cwp_sample_tweet_preview_inner { background:#fff; width: 80%; margin: 0 auto; margin-top: 109px; padding: 20px; border-radius: 5px;box-shadow: 0px 5px 5px rgba(0,0,0,0.1); }
|
194 |
-
.cwp_top_wrapper .cwp_sample_tweet_preview_inner .sample_tweet { min-height:60px; display: block; width: 100%; border: 1px solid #e8e8e8; padding: 10px; border-radius: 5px; font-family: "Helvetica Neue", HelveticaNeue, sans-serif; font-size: 14px;}
|
195 |
-
.cwp_top_wrapper .cwp_sample_tweet_preview_inner .sample_tweet a { text-decoration: none; }
|
196 |
-
.cwp_top_wrapper .cwp_sample_tweet_preview_inner button { display: block; margin-top: 17px; background:#52c4ef; border: none; border-radius: 3px; padding: 5px 10px; margin-left:10px;margin-right:10px;color:#fff; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; }
|
197 |
-
.cwp_top_wrapper .cwp_sample_tweet_preview_inner button:hover { cursor: pointer; }
|
198 |
-
|
199 |
-
.cwp_top_wrapper .cwp_sample_tweet_preview { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background:rgba(0,0,0,0.2); display: none; }
|
200 |
-
|
201 |
-
|
202 |
-
.cwp_user_pages .cwp_preview_page {
|
203 |
-
width: 175px;
|
204 |
-
margin-right: 25px;
|
205 |
-
float: left;
|
206 |
-
height: 75px;
|
207 |
-
margin-bottom: 25px;
|
208 |
-
border-bottom: 1px solid #F1F1F1;
|
209 |
-
}
|
210 |
-
|
211 |
-
.cwp_user_pages_inner {
|
212 |
-
height: 340px;
|
213 |
-
}
|
214 |
-
.cwp_user_pages .page_name {
|
215 |
-
font-weight: bold;
|
216 |
-
font-size: 15px;
|
217 |
-
padding-bottom: 10px;
|
218 |
-
}
|
219 |
-
.cwp_user_pages .page_avatar {
|
220 |
-
width: 50px;
|
221 |
-
height: 50px;
|
222 |
-
margin-right: 5px;
|
223 |
-
float: left;
|
224 |
-
}
|
225 |
-
.cwp_user_pages .page_category {
|
226 |
-
|
227 |
-
color:grey;
|
228 |
-
}
|
229 |
-
.top_preview {
|
230 |
-
width: 40px;
|
231 |
-
height: 40px;
|
232 |
-
padding: 5px;
|
233 |
-
float: left;}
|
234 |
-
.cwp_top_wrapper_full {
|
235 |
-
|
236 |
-
width: 90%;
|
237 |
-
float: left;
|
238 |
-
border-right: none;
|
239 |
-
margin: 5px 15px 2px;
|
240 |
-
}
|
241 |
-
|
242 |
-
.cwp_top_wrapper_full .cwp_top_container form {
|
243 |
-
|
244 |
-
width: 99%;
|
245 |
-
float: left;
|
246 |
-
border-right: none;
|
247 |
-
}
|
248 |
-
|
249 |
-
|
250 |
-
.top_left_instructions {
|
251 |
-
float: left;
|
252 |
-
width: 50%;
|
253 |
-
}
|
254 |
-
.top_auth_form {
|
255 |
-
width:50%;
|
256 |
-
float: left;
|
257 |
-
}
|
258 |
-
.top_sample_auth{
|
259 |
-
height: 370px;
|
260 |
-
}
|
261 |
-
.top_auth_inner {
|
262 |
-
height: 500px;
|
263 |
-
}
|
264 |
-
.top_authorize{
|
265 |
-
margin-left:50px;
|
266 |
-
}
|
267 |
-
@media all and (max-width:1280px) {
|
268 |
-
.cwp_top_wrapper {
|
269 |
-
width:100%;
|
270 |
-
}
|
271 |
-
.cwp_top_wrapper .cwp_top_container form {
|
272 |
-
width:100%;
|
273 |
-
border-right: none;
|
274 |
-
}
|
275 |
-
|
276 |
-
|
277 |
-
}
|
278 |
-
@media all and (max-width:970px) {
|
279 |
-
.slogan {
|
280 |
-
display: none;
|
281 |
-
}
|
282 |
-
}
|
283 |
-
|
284 |
-
/* Tabbed Nav */
|
285 |
-
#cwp_top_tabs ul#tabs_menu {
|
286 |
-
margin: 0;
|
287 |
-
margin-bottom: -1px;
|
288 |
-
}
|
289 |
-
|
290 |
-
#cwp_top_tabs ul#tabs_menu li {
|
291 |
-
display: inline-block;
|
292 |
-
font-weight: bold;
|
293 |
-
font-family: "Roboto",sans-serif;
|
294 |
-
font-size: 13px;
|
295 |
-
padding: 15px;
|
296 |
-
line-height: 1;
|
297 |
-
border: 1px solid #EAEAEA;
|
298 |
-
border-bottom: none;
|
299 |
-
margin: 0;
|
300 |
-
background: rgb(252, 252, 252);
|
301 |
-
border-radius: 2px 2px 0 0
|
302 |
-
}
|
303 |
-
|
304 |
-
#cwp_top_tabs ul#tabs_menu li.active,
|
305 |
-
#cwp_top_tabs ul#tabs_menu li:hover {
|
306 |
-
background: none repeat scroll 0% 0% #FFF;
|
307 |
-
cursor: pointer;
|
308 |
-
border: 1px solid #EAEAEA;
|
309 |
-
border-bottom: none;
|
310 |
-
}
|
311 |
-
|
312 |
-
#cwp_top_tabs div.tab {
|
313 |
-
display: none;
|
314 |
-
width: 100%;
|
315 |
-
float: left;
|
316 |
-
background: #FFF;
|
317 |
-
border: 1px solid #EAEAEA;
|
318 |
-
border-bottom: 0;
|
319 |
-
}
|
320 |
-
.tab .cwp_top_tabs_vertical .tab-vertical {
|
321 |
-
width:80%;
|
322 |
-
float:left;
|
323 |
-
|
324 |
-
}
|
325 |
-
#cwp_top_tabs div.tab.active {
|
326 |
-
display: block;
|
327 |
-
}
|
328 |
-
.cwp_top_tabs_vertical {
|
329 |
-
display:block;
|
330 |
-
width:100%;
|
331 |
-
|
332 |
-
}
|
333 |
-
.cwp_top_tabs_vertical .tab-vertical.active{
|
334 |
-
display:block;
|
335 |
-
|
336 |
-
}
|
337 |
-
.cwp_top_tabs_vertical .tab-vertical{
|
338 |
-
width:100%;
|
339 |
-
display:none;
|
340 |
-
|
341 |
-
}
|
342 |
-
.tab.active .cwp_top_tabs_vertical form {
|
343 |
-
width:80% ;
|
344 |
-
float:left;
|
345 |
-
|
346 |
-
|
347 |
-
}
|
348 |
-
.cwp_top_tabs_vertical .cwp_top_tabs_btns li:hover:not(.not-tab),
|
349 |
-
.cwp_top_tabs_vertical .cwp_top_tabs_btns li.active:not(.not-tab){
|
350 |
-
background:#fff;
|
351 |
-
|
352 |
-
}
|
353 |
-
.cwp_top_tabs_vertical .cwp_top_tabs_btns li.not-tab{
|
354 |
-
cursor: default;
|
355 |
-
|
356 |
-
}
|
357 |
-
.cwp_top_tabs_vertical .cwp_top_tabs_btns li{
|
358 |
-
cursor: pointer;
|
359 |
-
display: inline-block;
|
360 |
-
font-weight: bold;
|
361 |
-
font-family: "Roboto",sans-serif;
|
362 |
-
font-size: 13px;
|
363 |
-
padding: 15px;
|
364 |
-
line-height: 1;
|
365 |
-
width:100%;
|
366 |
-
margin: 0;
|
367 |
-
text-transform: capitalize;
|
368 |
-
|
369 |
-
}
|
370 |
-
.cwp_top_tabs_vertical .cwp_top_tabs_btns{
|
371 |
-
width:20%;
|
372 |
-
padding-top:30px;
|
373 |
-
float:left;
|
374 |
-
margin-top:0px;
|
375 |
-
padding-bottom:20px;
|
376 |
-
background: none repeat scroll 0% 0% #F0F0F0;
|
377 |
-
cursor: pointer;
|
378 |
-
border-right: 1px solid #ddd;
|
379 |
-
border-bottom: 1px solid #ddd;
|
380 |
-
border-left: 1px solid #ddd;
|
381 |
-
}
|
382 |
-
.cwp-top-premium-placeholder{
|
383 |
-
text-align:center;
|
384 |
-
padding-top:20px;
|
385 |
-
font-size:20px;
|
386 |
-
text-align: center;
|
387 |
-
}
|
388 |
-
.cwp-according-item {
|
389 |
-
margin:2%;
|
390 |
-
|
391 |
-
}
|
392 |
-
.cwp-according-item.active .cwp-according-body{
|
393 |
-
display:block;
|
394 |
-
|
395 |
-
}
|
396 |
-
.cwp-according-item .cwp-according-body{
|
397 |
-
display:none;
|
398 |
-
}
|
399 |
-
.cwp-according-item .cwp-according-body {
|
400 |
-
background:#f0f0f0;
|
401 |
-
width:96%;
|
402 |
-
padding:2%;
|
403 |
-
|
404 |
-
}
|
405 |
-
.cwp-according-item .cwp-according-header:hover,
|
406 |
-
.cwp-according-item.active .cwp-according-header{
|
407 |
-
|
408 |
-
background:#444;
|
409 |
-
color:#f0f0f0;
|
410 |
-
|
411 |
-
}
|
412 |
-
.cwp-according-item.active .cwp-according-header:before,
|
413 |
-
.cwp-according-item:hover .cwp-according-header:before{
|
414 |
-
border-color:#fff;
|
415 |
-
}
|
416 |
-
.cwp-according-item.active .cwp-according-header span:before,
|
417 |
-
.cwp-according-item:hover .cwp-according-header span:before {
|
418 |
-
|
419 |
-
content:"";
|
420 |
-
position:absolute;
|
421 |
-
background:#fff;
|
422 |
-
top: 18px;
|
423 |
-
left: 50px;
|
424 |
-
border-radius:50%;
|
425 |
-
width:10px;
|
426 |
-
height:10px;
|
427 |
-
}
|
428 |
-
.cwp-according-item .cwp-according-header:before{
|
429 |
-
content:"";
|
430 |
-
position:absolute;
|
431 |
-
border:4px solid #444;
|
432 |
-
top: 9px;
|
433 |
-
left: 41px;
|
434 |
-
border-radius:50%;
|
435 |
-
width:20px;
|
436 |
-
height:20px;
|
437 |
-
|
438 |
-
}
|
439 |
-
.cwp-according-item .cwp-according-header{
|
440 |
-
width:96%;
|
441 |
-
position:relative;
|
442 |
-
display:block;
|
443 |
-
background:#f0f0f0;
|
444 |
-
text-align: center;
|
445 |
-
color:#444;
|
446 |
-
font-size: 20px;
|
447 |
-
cursor:pointer;
|
448 |
-
padding: 14px;
|
449 |
-
|
450 |
-
}
|
451 |
-
.cwp-schedule-days li:first-child{
|
452 |
-
border-bottom-left-radius: 4px;
|
453 |
-
border-top-left-radius: 4px;
|
454 |
-
}
|
455 |
-
.cwp-schedule-days li:last-child{
|
456 |
-
border-bottom-right-radius: 8px;
|
457 |
-
border-top-right-radius: 8px;
|
458 |
-
|
459 |
-
}
|
460 |
-
.cwp-schedule-days li:hover {
|
461 |
-
color: #f0f0f0;
|
462 |
-
background: rgb(247,245,246); /* Old browsers */
|
463 |
-
background: -moz-linear-gradient(top, rgba(247,245,246,1) 0%, rgba(192,192,192,1) 100%); /* FF3.6+ */
|
464 |
-
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(247,245,246,1)), color-stop(100%,rgba(192,192,192,1))); /* Chrome,Safari4+ */
|
465 |
-
background: -webkit-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* Chrome10+,Safari5.1+ */
|
466 |
-
background: -o-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* Opera 11.10+ */
|
467 |
-
background: -ms-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* IE10+ */
|
468 |
-
background: linear-gradient(to bottom, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* W3C */
|
469 |
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f5f6', endColorstr='#c0c0c0',GradientType=0 ); /* IE6-9 */
|
470 |
-
}
|
471 |
-
.cwp-schedule-days li.active {
|
472 |
-
text-decoration: none;
|
473 |
-
color: #f0f0f0;
|
474 |
-
box-shadow: none;
|
475 |
-
background: rgb(119,119,119); /* Old browsers */
|
476 |
-
background: -moz-linear-gradient(top, rgba(119,119,119,1) 0%, rgba(68,68,68,1) 100%); /* FF3.6+ */
|
477 |
-
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(119,119,119,1)), color-stop(100%,rgba(68,68,68,1))); /* Chrome,Safari4+ */
|
478 |
-
background: -webkit-linear-gradient(top, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* Chrome10+,Safari5.1+ */
|
479 |
-
background: -o-linear-gradient(top, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* Opera 11.10+ */
|
480 |
-
background: -ms-linear-gradient(top, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* IE10+ */
|
481 |
-
background: linear-gradient(to bottom, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* W3C */
|
482 |
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#777777', endColorstr='#444444',GradientType=0 ); /* IE6-9 */
|
483 |
-
border-top: 1px solid #666;
|
484 |
-
border-bottom: 1px solid #333;
|
485 |
-
border-right: 1px solid #444;
|
486 |
-
border-left: 1px solid #777;
|
487 |
-
}
|
488 |
-
.cwp-schedule-days li{
|
489 |
-
overflow: hidden;
|
490 |
-
display: inline-block;
|
491 |
-
float: left;
|
492 |
-
border-top: 1px solid #666;
|
493 |
-
border-bottom: 1px solid #333;
|
494 |
-
border-right: 1px solid #ABABAB;
|
495 |
-
border-left: 1px solid #D8D8D8;
|
496 |
-
color: #444;
|
497 |
-
cursor: pointer;
|
498 |
-
width: 14.2%;
|
499 |
-
text-align: center;
|
500 |
-
padding-top: 10px;
|
501 |
-
padding-bottom: 10px;
|
502 |
-
background: rgb(247,245,246);
|
503 |
-
background: -moz-linear-gradient(top, rgba(247,245,246,1) 0%, rgba(192,192,192,1) 100%);
|
504 |
-
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(247,245,246,1)), color-stop(100%,rgba(192,192,192,1)));
|
505 |
-
background: -webkit-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
506 |
-
background: -o-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
507 |
-
background: -ms-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
508 |
-
background: linear-gradient(to bottom, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
509 |
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f5f6', endColorstr='#c0c0c0',GradientType=0 );
|
510 |
-
color: #E8E8E8;
|
511 |
-
text-shadow: 1px 1px 1px #7C7C7C;
|
512 |
-
box-shadow: inset 5px 0px 10px #D5D5D5;
|
513 |
-
border-top: 1px solid #CBCBCB;
|
514 |
-
border-bottom: 1px solid #ABABAB;
|
515 |
-
|
516 |
-
}
|
517 |
-
.cwp-pro-string{
|
518 |
-
|
519 |
-
margin: auto;
|
520 |
-
display: block;
|
521 |
-
text-align: left;
|
522 |
-
}
|
523 |
-
.cwp-posts-time-info{
|
524 |
-
text-align: center;
|
525 |
-
margin-top: -9px;
|
526 |
-
font-size: 14px;
|
527 |
-
}
|
528 |
-
a.cwp-primary:hover,
|
529 |
-
a.cwp-primary{
|
530 |
-
|
531 |
-
background: #52c4ef;
|
532 |
-
color: #fff;
|
533 |
-
}
|
534 |
-
a.cwp-btn{
|
535 |
-
text-decoration: none;
|
536 |
-
border-radius: 3px;
|
537 |
-
display: block;
|
538 |
-
height: 30px;
|
539 |
-
border-radius: 3px;
|
540 |
-
font-family: "Open Sans", sans-serif;
|
541 |
-
text-transform: uppercase;
|
542 |
-
font-weight: bold;
|
543 |
-
line-height: 2.3;
|
544 |
-
padding-right: 10px;
|
545 |
-
padding-left: 10px;
|
546 |
-
display: inline-block;
|
547 |
-
margin-top: 14px;
|
548 |
-
margin-right: 5px;
|
549 |
-
|
550 |
-
}
|
551 |
-
.cwp-top-times-choice .cwp-top-times-close:hover{
|
552 |
-
color:#000;
|
553 |
-
|
554 |
-
}
|
555 |
-
#cwp-top-container-form{
|
556 |
-
width:73%;
|
557 |
-
float:left;
|
558 |
-
|
559 |
-
}
|
560 |
-
.cwp-top-times-choice .cwp-top-times-close{
|
561 |
-
|
562 |
-
margin-left: 20px;
|
563 |
-
font-size: 15px;
|
564 |
-
font-weight: bold;
|
565 |
-
cursor: pointer;
|
566 |
-
}
|
567 |
-
.cwp-top-times-choice select{
|
568 |
-
width:100px;
|
569 |
-
|
570 |
-
}
|
571 |
-
|
572 |
-
.cwp-hidden{
|
573 |
-
display:none;
|
574 |
-
|
575 |
-
}
|
576 |
-
|
577 |
-
.inactive.cwp-error-label {
|
578 |
-
border-bottom: none !important;
|
579 |
-
}
|
580 |
-
|
581 |
-
.pro-version {
|
582 |
-
position: relative;
|
583 |
-
}
|
584 |
-
.pro-version:before {
|
585 |
-
content: "";
|
586 |
-
position: absolute;
|
587 |
-
width: 45px;
|
588 |
-
height: 45px;
|
589 |
-
top: 0;
|
590 |
-
background-repeat: no-repeat;
|
591 |
-
right: 0;
|
592 |
-
background: url(../img/pro-version-badge.png);
|
593 |
-
}
|
594 |
-
a.on-off-button {
|
595 |
-
float: left;
|
596 |
-
width: 76px;
|
597 |
-
height: 39px;
|
598 |
-
background-image: url(../img/on-off-button.png);
|
599 |
-
background-repeat: no-repeat;
|
600 |
-
margin-top: -4px !important;
|
601 |
-
cursor: pointer;
|
602 |
-
-webkit-transition: all 0;
|
603 |
-
-moz-transition: all 0;
|
604 |
-
-o-transition: all 0;
|
605 |
-
transition: all 0;
|
606 |
-
}
|
607 |
-
a.on-off-button.on {
|
608 |
-
background-position: 0 0;
|
609 |
-
}
|
610 |
-
a.on-off-button.off {
|
611 |
-
background-position: 0 -40px;
|
612 |
-
}
|
613 |
-
.cwp-remote-check-info{
|
614 |
-
float:left;
|
615 |
-
margin-right:5px;
|
616 |
-
margin-top:4px;
|
617 |
-
font-size: 15px;
|
618 |
-
color: #858585;
|
619 |
-
font-weight: 600;
|
620 |
-
font-style: italic;
|
621 |
-
}
|
622 |
-
.rop-error-log{
|
623 |
-
position:relative;
|
624 |
-
}
|
625 |
-
.rop-error-log span.no-error{
|
626 |
-
display:none;
|
627 |
-
|
628 |
-
}
|
629 |
-
.rop-error-log span{
|
630 |
-
background:#F16848;
|
631 |
-
padding:2px;
|
632 |
-
position:absolute;
|
633 |
-
top:0px;
|
634 |
-
right:0px;
|
635 |
-
color:#fff;
|
636 |
-
border-bottom-left-radius: 10px;
|
637 |
-
}
|
638 |
-
|
639 |
-
#rop-clear-log{
|
640 |
-
padding: 10px 15px 10px 15px;
|
641 |
-
font-weight: bold;
|
642 |
-
font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
|
643 |
-
font-size: 1em;
|
644 |
-
line-height: 1;
|
645 |
-
color: #696969;
|
646 |
-
border-radius: 10px;
|
647 |
-
border: 1px solid #F7F7F7;
|
648 |
-
-webkit-transition: all 0.3s ease-in-out;
|
649 |
-
-moz-transition: all 0.3s ease-in-out;
|
650 |
-
-o-transition: all 0.3s ease-in-out;
|
651 |
-
transition: all 0.3s ease-in-out;
|
652 |
-
box-shadow: inset 0px 0px 3px rgba(0, 0, 0, 0.5);
|
653 |
-
float:right;
|
654 |
-
margin:10px !important;
|
655 |
-
margin-top:20px !important;
|
656 |
-
}
|
657 |
-
.rop-log-item .rop-log-date{
|
658 |
-
font-weight: bold;
|
659 |
-
}
|
660 |
-
.rop-log-item.rop-notice{
|
661 |
-
background:#52C4EF;
|
662 |
-
}
|
663 |
-
.rop-log-item.rop-error{
|
664 |
-
|
665 |
-
background:#F9866B;
|
666 |
-
}
|
667 |
-
.rop-log-item{
|
668 |
-
width:100%;
|
669 |
-
padding:5px;
|
670 |
-
color:#fff;
|
671 |
-
}
|
672 |
-
#rop-log-list{
|
673 |
-
text-align: center;
|
674 |
-
width:100%;
|
675 |
-
float:right;
|
676 |
-
background:none;
|
677 |
-
}
|
678 |
-
.clearfix:after{
|
679 |
-
|
680 |
-
clear:both;
|
681 |
-
}
|
682 |
-
.rop-log-text{
|
683 |
-
word-wrap: break-word;
|
684 |
-
|
685 |
-
}
|
686 |
-
.rop-log-container{
|
687 |
-
width:100%;
|
688 |
-
display: block;
|
689 |
-
|
690 |
-
}
|
691 |
-
.active-rop-error-label b{
|
692 |
-
color:#F9866B;
|
693 |
-
|
694 |
-
}
|
695 |
-
.active-rop-error-label{
|
696 |
-
display: none;
|
697 |
-
background: #F0F0F0;
|
698 |
-
border-top: 1px solid rgba(255, 255, 255, 0.4);
|
699 |
-
color: #494949 !important;
|
700 |
-
font-weight: bold;
|
701 |
-
text-shadow: 0px 1px 0px #FFF;
|
702 |
-
border-bottom: 1px solid #E2E2E2;
|
703 |
-
}
|
704 |
-
.rop-twitter-clock{
|
705 |
-
margin-top:-10px;
|
706 |
-
text-align: center;
|
707 |
-
color: #494949;
|
708 |
-
font-weight: bold;
|
709 |
-
text-shadow: 0px 1px 0px #FFF;
|
710 |
-
background: none;
|
711 |
-
padding: 12px 0 8px;
|
712 |
-
}
|
713 |
-
|
714 |
-
.rop-network-countdown{
|
715 |
-
background: #B9F3CB;
|
716 |
-
box-shadow: inset 0px 0px 6px rgba(8, 61, 8, 0.1);
|
717 |
-
border-top: 1px solid rgba(97, 209, 101, 0.4);
|
718 |
-
color: #218618;
|
719 |
-
text-shadow: 0px 1px 0px #FFF;
|
720 |
-
border-bottom: 1px solid #FFF;
|
721 |
-
padding:4px;
|
722 |
-
}
|
723 |
-
.rop-exclude-filter label{
|
724 |
-
padding-right:20px;
|
725 |
-
float: left;
|
726 |
-
}
|
727 |
-
.rop-exclude-filter{
|
728 |
-
float:left;
|
729 |
-
margin:0px;
|
730 |
-
margin-right:10px;
|
731 |
-
line-height: 26px;
|
732 |
-
}
|
733 |
-
button.login{
|
734 |
-
cursor:pointer;
|
735 |
-
}
|
736 |
-
.cwp_top_container .right button.another-account.pro-only{
|
737 |
-
-webkit-transition: all 0s ease-in-out !important;
|
738 |
-
-moz-transition: all 0s ease-in-out !important;
|
739 |
-
-o-transition: all 0s ease-in-out !important;
|
740 |
-
transition: all 0s ease-in-out !important;
|
741 |
-
width:68px !important;
|
742 |
-
|
743 |
-
}
|
744 |
-
.cwp_top_container .right button.another-account.pro-only:hover{
|
745 |
-
|
746 |
-
background: url(../img/only-pro-budge.png) center right no-repeat #f1f1f1 !important;
|
747 |
-
text-indent:-9999px;
|
748 |
-
}
|
749 |
-
|
750 |
-
|
751 |
-
.rop-clear{
|
752 |
-
clear:both;
|
753 |
-
|
754 |
-
}
|
755 |
-
.rop-left{
|
756 |
-
float:left;
|
757 |
-
|
758 |
-
}
|
759 |
-
.rop-right{
|
760 |
-
float:right;
|
761 |
-
}
|
762 |
-
.rop-beta-user .rop-right.on {
|
763 |
-
|
764 |
-
background-position: 0 0px;
|
765 |
-
}
|
766 |
-
.rop-beta-user .rop-right.off {
|
767 |
-
background-position: 0 -40px;
|
768 |
-
}
|
769 |
-
|
770 |
-
.rop-beta-user .rop-right {
|
771 |
-
width: 76px;
|
772 |
-
height: 39px;
|
773 |
-
background-image: url(../img/on-off-button.png);
|
774 |
-
background-repeat: no-repeat;
|
775 |
-
margin-top: -4px !important;
|
776 |
-
cursor: pointer;
|
777 |
-
-webkit-transition: all 0s;
|
778 |
-
-moz-transition: all 0s;
|
779 |
-
-o-transition: all 0s;
|
780 |
-
transition: all 0s;
|
781 |
-
|
782 |
-
}
|
783 |
-
.rop-beta-user .rop-right{
|
784 |
-
width:30%;
|
785 |
-
}
|
786 |
-
.rop-beta-user .rop-left span{
|
787 |
-
font-style: italic;
|
788 |
-
font-size:12px;
|
789 |
-
font-style: italic;
|
790 |
-
font-size: 10px;
|
791 |
-
font-weight: normal;
|
792 |
-
width: 100%;
|
793 |
-
display: block;
|
794 |
-
line-height: 10px;
|
795 |
-
|
796 |
-
}
|
797 |
-
.rop-beta-user .rop-left{
|
798 |
-
width:66%;
|
799 |
-
color: #858585;
|
800 |
-
font-weight: 600;
|
801 |
-
font-size:15px;
|
802 |
-
|
803 |
-
line-height: 29px;
|
804 |
-
|
805 |
-
}
|
806 |
-
.rop-beta-user .rop-beta-desc{
|
807 |
-
font-style: italic;
|
808 |
-
font-size: 13px;
|
809 |
-
font-weight: normal;
|
810 |
-
width: 100%;
|
811 |
-
display: block;
|
812 |
-
line-height: 15px;
|
813 |
-
color: #858585;
|
814 |
-
|
815 |
-
}
|
816 |
-
.cwp_top_wrapper .cwp_not_version_preview .top_auth_inner{
|
817 |
-
height:160px;
|
818 |
-
|
819 |
-
}
|
820 |
-
.cwp_top_wrapper .cwp_not_version_preview .top_close_popup
|
821 |
-
{
|
822 |
-
|
823 |
-
margin: auto;
|
824 |
-
float: none;
|
825 |
-
|
826 |
-
}
|
827 |
-
.cwp_top_wrapper .cwp_not_version_preview h2{
|
828 |
-
line-height: 26px;
|
829 |
-
font-size: 17px;
|
830 |
-
font-weight: 500;
|
831 |
-
|
832 |
-
}
|
833 |
-
|
834 |
-
[data-icon]:before {
|
835 |
-
font-family: "rop-custom-icon-font" !important;
|
836 |
-
content: attr(data-icon);
|
837 |
-
font-style: normal !important;
|
838 |
-
font-weight: normal !important;
|
839 |
-
font-variant: normal !important;
|
840 |
-
text-transform: none !important;
|
841 |
-
speak: none;
|
842 |
-
line-height: 1;
|
843 |
-
-webkit-font-smoothing: antialiased;
|
844 |
-
-moz-osx-font-smoothing: grayscale;
|
845 |
-
}
|
846 |
-
|
847 |
-
[class^="rop-icon-"]:before, [class*=" rop-icon-"]:before {
|
848 |
-
font-family: "rop-custom-icon-font" !important;
|
849 |
-
font-style: normal !important;
|
850 |
-
font-weight: normal !important;
|
851 |
-
font-variant: normal !important;
|
852 |
-
text-transform: none !important;
|
853 |
-
speak: none;
|
854 |
-
line-height: 1;
|
855 |
-
-webkit-font-smoothing: antialiased;
|
856 |
-
-moz-osx-font-smoothing: grayscale;
|
857 |
-
}
|
858 |
-
|
859 |
-
.rop-icon-dashboard:before {
|
860 |
-
content: "a";
|
861 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Clearfix */
|
2 |
+
.clearfix:after { content: "\00A0"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
|
3 |
+
.clearfix{ display: inline-block;}
|
4 |
+
html[xmlns] .clearfix { display: block;}
|
5 |
+
* html .clearfix{ height: 1%;}
|
6 |
+
.clearfix { display: block; }
|
7 |
+
strong {
|
8 |
+
font-weight: 900;
|
9 |
+
}
|
10 |
+
*:focus {
|
11 |
+
outline: 0;
|
12 |
+
}
|
13 |
+
/* Padding Fix */
|
14 |
+
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
|
15 |
+
|
16 |
+
/* Main Wrapper */
|
17 |
+
.cwp_top_wrapper { width: 1080px;}
|
18 |
+
|
19 |
+
/* Tweet Old Post Status */
|
20 |
+
.cwp_top_wrapper .cwp_top_status { }
|
21 |
+
.cwp_top_wrapper .cwp_top_status p { margin: 0; padding: 10px; text-align: center; font-family: "Roboto", sans-serif; color:#fff; }
|
22 |
+
.cwp_top_wrapper .cwp_top_status p.active { background: rgb(185, 243, 203);box-shadow: inset 0px 0px 6px rgba(8, 61, 8, 0.1);border-top: 1px solid rgba(97, 209, 101, 0.4);color: #218618;font-weight: bold;text-shadow: 0px 1px 0px rgba(255,255,255,1.3);border-bottom: 1px solid #fff; }
|
23 |
+
.cwp_top_wrapper .cwp_top_status p.inactive { background: rgb(240, 240, 240);border-top: 1px solid rgba(255,255,255,0.4);color: #494949;font-weight: bold;text-shadow: 0px 1px 0px rgba(255,255,255,1.3);border-bottom: 1px solid #E2E2E2; }
|
24 |
+
.cwp_top_wrapper a {
|
25 |
+
text-decoration: none!important;
|
26 |
+
}
|
27 |
+
/* Ajax Animation */
|
28 |
+
.cwp_top_wrapper .ajaxAnimation { background: url("../img/loader.gif") no-repeat center center, rgba(255,255,255,0.8); position: absolute;top: 0; left: 0; right: 0; bottom: 0; display: none;}
|
29 |
+
|
30 |
+
.pro-ver .right { position: relative; }
|
31 |
+
.pro-ver .left { position: relative; }
|
32 |
+
|
33 |
+
/* Twitter Login Button */
|
34 |
+
.cwp_top_container button#twitter-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
35 |
+
.cwp_top_container button#twitter-login:hover { cursor: pointer; background: #56acee; color: rgba(255,255,255, 0.9); }
|
36 |
+
.cwp_top_container button#twitter-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); background-color: #56acee; background-position: 5px 5px; }
|
37 |
+
.cwp_top_container button#twitter-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
38 |
+
.cwp_top_container button#twitter-login.another-account:before { content: ""; height: 35px; background-position: 5px 7px; }
|
39 |
+
.cwp_top_container button#twitter-login.another-account:hover { opacity: 1; }
|
40 |
+
|
41 |
+
/* Facebook Login Button */
|
42 |
+
.cwp_top_container button#facebook-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
43 |
+
.cwp_top_container button#facebook-login:hover { cursor: pointer; background: #436ba9; color: rgba(255,255,255, 0.9); }
|
44 |
+
.cwp_top_container button#facebook-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); background-color: #436ba9; background-position: -26px 5px; }
|
45 |
+
.cwp_top_container button#facebook-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
46 |
+
.cwp_top_container button#facebook-login.another-account:before { content: ""; height: 35px; background-position: -26px 7px; }
|
47 |
+
.cwp_top_container button#facebook-login.another-account:hover { opacity: 1; }
|
48 |
+
|
49 |
+
/* Linkedin Login Button */
|
50 |
+
.cwp_top_container button#linkedin-login { cursor:pointer; font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
51 |
+
.cwp_top_container button#linkedin-login:hover { cursor: pointer; background: #308cc5; color: rgba(255,255,255, 0.9); }
|
52 |
+
.cwp_top_container button#linkedin-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #308cc5; background-position: -58px 5px; }
|
53 |
+
.cwp_top_container button#linkedin-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
54 |
+
.cwp_top_container button#linkedin-login.another-account:before { content: ""; height: 35px; background-position: -58px 7px; }
|
55 |
+
.cwp_top_container button#linkedin-login.another-account:hover { opacity: 1; }
|
56 |
+
.cwp_top_container .pro-ver button#linkedin-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
57 |
+
.cwp_top_container .pro-ver button#linkedin-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -58px -34px; }
|
58 |
+
.cwp_top_container .pro-ver button#linkedin-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
59 |
+
|
60 |
+
/* Google Plus Login Button */
|
61 |
+
.cwp_top_container button#googleplus-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
62 |
+
.cwp_top_container button#googleplus-login:hover { cursor: pointer; background: #de4b39; color: rgba(255,255,255, 0.9); }
|
63 |
+
.cwp_top_container button#googleplus-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #de4b39; background-position: -88px 5px; }
|
64 |
+
.cwp_top_container button#googleplus-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
65 |
+
.cwp_top_container button#googleplus-login.another-account:before { content: ""; height: 35px; background-position: -88px 7px; }
|
66 |
+
.cwp_top_container button#googleplus-login.another-account:hover { opacity: 1; }
|
67 |
+
.cwp_top_container .pro-ver button#googleplus-login { background: #fcfcfc; color: #c9c9c9;}
|
68 |
+
.cwp_top_container .pro-ver button#googleplus-login:before { content: ""; background-color: #e3e3e3; background-position: -88px -34px; }
|
69 |
+
.cwp_top_container .pro-ver button#googleplus-login:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
70 |
+
|
71 |
+
/* XING Login Button */
|
72 |
+
.cwp_top_container button#xing-login { font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
73 |
+
.cwp_top_container button#xing-login:hover { cursor: pointer; background: #00605e; color: rgba(255,255,255, 0.9); }
|
74 |
+
.cwp_top_container button#xing-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #00605e; background-position: -119px 5px; }
|
75 |
+
.cwp_top_container button#xing-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
76 |
+
.cwp_top_container button#xing-login.another-account:before { content: ""; height: 35px; background-position: -119px 7px; }
|
77 |
+
.cwp_top_container button#xing-login.another-account:hover { opacity: 1; }
|
78 |
+
.cwp_top_container .pro-ver button#xing-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
79 |
+
.cwp_top_container .pro-ver button#xing-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -119px -34px; }
|
80 |
+
.cwp_top_container .pro-ver button#xing-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
81 |
+
|
82 |
+
/* Stumbleupon Login Button */
|
83 |
+
.cwp_top_container button#stumbleupon-login { cursor:pointer;font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
84 |
+
.cwp_top_container button#stumbleupon-login:hover { cursor: pointer; background: #f3471f; color: rgba(255,255,255, 0.9); }
|
85 |
+
.cwp_top_container button#stumbleupon-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #f3471f; background-position: -150px 5px; }
|
86 |
+
.cwp_top_container button#stumbleupon-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
87 |
+
.cwp_top_container button#stumbleupon-login.another-account:before { content: ""; height: 35px; background-position: -150px 7px; }
|
88 |
+
.cwp_top_container button#stumbleupon-login.another-account:hover { opacity: 1; }
|
89 |
+
.cwp_top_container .pro-ver button#stumbleupon-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
90 |
+
.cwp_top_container .pro-ver button#stumbleupon-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -150px -34px; }
|
91 |
+
.cwp_top_container .pro-ver button#stumbleupon-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
92 |
+
|
93 |
+
/* Tumblr Login Button */
|
94 |
+
.cwp_top_container button#tumblr-login { cursor:pointer; font-weight: bold; font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif; font-size: 1em; line-height: 1; color:#696969; border-radius: 10px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; border-radius: 3px; background: #f1f1f1; min-width: 160px; text-align: left; position: relative; padding: 9px 15px 9px 40px; border: none; box-shadow: none; }
|
95 |
+
.cwp_top_container button#tumblr-login:hover { cursor: pointer; background: #3b5c7b; color: rgba(255,255,255, 0.9); }
|
96 |
+
.cwp_top_container button#tumblr-login:before { content: ""; position: absolute; left: 0; top: 0; width: 30px; height: 31px; border-radius: 3px 0 0 3px; background-image: url(../img/social-icons-login.png); border-right: 1px solid rgba(255,255,255, 0.2); content: ""; background-color: #3b5c7b; background-position: -181px 5px; }
|
97 |
+
.cwp_top_container button#tumblr-login.another-account { box-shadow: none; float: left; border-radius: 3px; background-image: none; display: block; height: 35px; width: 60px; min-width: 10px; padding: 9px 15px 9px 40px; font-weight: bold; text-align: center; font-size: 16px; line-height: 20px; }
|
98 |
+
.cwp_top_container button#tumblr-login.another-account:before { content: ""; height: 35px; background-position: -181px 7px; }
|
99 |
+
.cwp_top_container button#tumblr-login.another-account:hover { opacity: 1; }
|
100 |
+
.cwp_top_container .pro-ver button#tumblr-login:hover { background: #fcfcfc; color: #c9c9c9;}
|
101 |
+
.cwp_top_container .pro-ver button#tumblr-login:hover:before { content: ""; background-color: #e3e3e3; background-position: -181px -34px; }
|
102 |
+
.cwp_top_container .pro-ver button#tumblr-login:hover:after { content: ""; background: url(../img/only-pro-budge.png) center right no-repeat; position: absolute; right: 0; top: 0; width: 50px; height: 31px; }
|
103 |
+
|
104 |
+
/* Logged In User */
|
105 |
+
.cwp_top_container .user_details { margin-top: 10px; height: 35px; border: 1px solid #fff; float: left; overflow: hidden; background:#fff; border: 1px solid #ddd; border-radius: 5px; margin-right: 10px;}
|
106 |
+
.cwp_top_container .right .user_details:first-child { margin-top: 0; }
|
107 |
+
.cwp_top_container .right .another-account { margin-top: 10px; }
|
108 |
+
.cwp_top_container .right .another-account:nth-child(2) { margin-top: 0; }
|
109 |
+
.cwp_top_container .user_details .user_avatar { float: left; width: 35px;}
|
110 |
+
.cwp_top_container .user_details .user_avatar img { width: 100%; }
|
111 |
+
.cwp_top_container .user_details .user_name { float: left; font-family: Roboto, "Helvetica Neue", HelveticaNeue, sans-serif; font-weight: 400; font-size:14px; line-height: 2.4; padding: 0px 10px; color:#5C5C5C; min-width: 130px; }
|
112 |
+
.cwp_top_container .user_details .remove_user { display:block; width: 35px; height: 35px; float: left; border-left: 1px solid #ddd; }
|
113 |
+
.cwp_top_container .user_details .remove_user .logout_user { display: block; width: 100%; height: 100%; background:url("../img/remove_account.png") no-repeat center center, #fff; }
|
114 |
+
.cwp_top_container .user_details .remove_user .logout_user:hover { background:url("../img/remove_account_hover.png") no-repeat center center, #fff; }
|
115 |
+
|
116 |
+
/* Announcement */
|
117 |
+
.cwp_top_wrapper .announcement { width: 100%; background: url("../img/reviewgine_announcement.png") no-repeat left -10px top -45px, #f16848; margin-top: 20px;}
|
118 |
+
.cwp_top_wrapper .announcement h2 { width:85%; float: left; font-family: "Helvetica Neue", HelveticaNeue, sans-serif; color:#fff; font-weight: 100; font-size: 17px; line-height: 1; padding-left: 180px; }
|
119 |
+
.cwp_top_wrapper .announcement h2 b { font-weight: bold; }
|
120 |
+
.cwp_top_wrapper .announcement .show-me { float: right; background:#fff; border-radius: 5px; font-family: "Helvetica Neue", HelveticaNeue, sans-serif; color:#5c5c5c; text-decoration: none; text-transform: uppercase;padding: 7px 15px; margin-top: 9px; margin-right: 20px; -webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out; line-height: 1;}
|
121 |
+
.cwp_top_wrapper .announcement .show-me:hover { cursor: pointer; opacity: 0.8; }
|
122 |
+
|
123 |
+
/* Header Styles */
|
124 |
+
.cwp_top_wrapper #cwp_top_header { background:#fff; border-top: 5px solid #52aae2; border-bottom: 1px solid #d4d4d4; margin-top: 10px; padding: 20px 10px;}
|
125 |
+
.cwp_top_wrapper #cwp_top_header .top_logo { margin: 0; padding: 0; float: left; font-family: "Open Sans", sans-serif; font-weight: bold; color:#3c3c3c; padding-left: 55px; background:url("../img/logo.png") no-repeat left center; padding: 20px; padding-left: 60px; padding-right: 0; letter-spacing: -1px; margin-left: 14px; }
|
126 |
+
.cwp_top_wrapper #cwp_top_header .slogan { float: left; margin: 0; padding: 0; font-size: 17px; color:#858585; font-family: "Open Sans", sans-serif; line-height: 3.5; margin-left: 10px; }
|
127 |
+
.cwp_top_wrapper #cwp_top_header .slogan a { color:#858585; font-weight: 600; text-decoration: none; font-style: italic; -webkit-transition: all 0.250s ease-in-out; -moz-transition: all 0.250s ease-in-out; -o-transition: all 0.250s ease-in-out; transition: all 0.250s ease-in-out; }
|
128 |
+
.cwp_top_wrapper #cwp_top_header .slogan a:hover { color:#52aae2; }
|
129 |
+
|
130 |
+
/* Header Actions */
|
131 |
+
.cwp_top_wrapper #cwp_top_header .cwp_top_actions { float: right; margin-right: 6px; margin-top: 14px; }
|
132 |
+
.cwp_top_wrapper #cwp_top_header .tweet-about-it { background:#52c4ef; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; text-shadow: 0px 1px 0px #33a4ce; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
133 |
+
.cwp_top_wrapper #cwp_top_header .tweet-about-it span { background:url("../img/twitter_icon.png") no-repeat center center, #3eaed8; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
134 |
+
.cwp_top_wrapper #cwp_top_header .leave-a-review { background:#f9866b; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; text-shadow: 0px 1px 0px #e46b3d; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
135 |
+
.cwp_top_wrapper #cwp_top_header .leave-a-review span { background:url("../img/review_icon.png") no-repeat center center, #f16848; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
136 |
+
|
137 |
+
/* Container and form styles */
|
138 |
+
.cwp_top_wrapper .cwp_top_container { border-bottom: 5px solid #52aae2; position: relative;}
|
139 |
+
.cwp_top_wrapper .cwp_top_container form { width: 100%; float: left; /* border-right: 1px solid #d4d4d4;*/ }
|
140 |
+
.cwp_top_wrapper .option { width: 100%; margin: 15px 0px; }
|
141 |
+
.cwp_top_wrapper .option .left { float: left; width: 45%; }
|
142 |
+
.cwp_top_wrapper .option .left .select-all { float: right; background: none; border: none; background:#ddd; border-radius: 3px; padding: 5px 10px; }
|
143 |
+
.cwp_top_wrapper .option .left .select-all:hover { cursor: pointer; }
|
144 |
+
.cwp_top_wrapper .option label { font-family: "Helvetica Neue", HelveticaNeue, sans-serif; font-size: 15px; color:#525252; }
|
145 |
+
.cwp_top_wrapper .option input[type=text], .cwp_top_wrapper .cwp_top_container form .option select { height: 35px; border-radius: 3px; border: 1px solid #d7d7d7; box-shadow: none; font-family: "Roboto", sans-serif; }
|
146 |
+
.cwp_top_wrapper .option input[type=text] { width: 90%; }
|
147 |
+
.cwp_top_wrapper .option .left * { display: block; text-align: right; }
|
148 |
+
.cwp_top_wrapper .option .right { float: left; width: 55%; padding-left: 20px; }
|
149 |
+
.cwp_top_wrapper .option .categories-list { padding-top: 4px; }
|
150 |
+
.cwp_top_wrapper .option .categories-list .cwp-cat { float: left; width: 50%; margin-bottom: 5px; }
|
151 |
+
.cwp_top_wrapper .option .categories-list .cwp-cat label { font-size: 13px; }
|
152 |
+
|
153 |
+
.cwp_top_wrapper .option .post-type-list { padding-top: 4px; }
|
154 |
+
.cwp_top_wrapper .option .post-type-list .cwp-cat { float: left; width: 50%; margin-bottom: 5px; }
|
155 |
+
.cwp_top_wrapper .option .post-type-list .cwp-cat label { font-size: 13px; }
|
156 |
+
|
157 |
+
/* Sidebar Styles */
|
158 |
+
.cwp_top_wrapper .cwp_top_container .sidebar { float: left; width: 27%; padding: 10px}
|
159 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul { display: block; margin: 0; padding: 0; }
|
160 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li { display: block; }
|
161 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li.upgrade a { display: block; background:url("../img/upgrade-top.png") no-repeat top left; width: 270px; height: 101px; text-indent: -9999px; }
|
162 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li.readythemes a { display: block; background:url("../img/top_banner_themeisle.png") no-repeat left; width: 270px; height: 101px; text-indent: -9999px; }
|
163 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li.sib a { display: block; background:url("../img/sib.png") no-repeat left; width: 270px; height: 225px; text-indent: -9999px; }
|
164 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li.affiliate-readythemes a { display: block; background:url("../img/affiliate.png") no-repeat left; width: 270px; height: 101px; text-indent: -9999px; }
|
165 |
+
|
166 |
+
/* Footer Styles */
|
167 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer { width: 100%; background:#fff; padding: 20px 10px 10px; border: 1px solid #EAEAEA; border-top: 1px solid #d4d4d4;}
|
168 |
+
.cwp_top_wrapper .update-options { background:#707070; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
169 |
+
.cwp_top_wrapper .update-options span { background:url("../img/update_icon.png") no-repeat center center, #464646; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
170 |
+
|
171 |
+
/* Tweet Now Button Style */
|
172 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .tweet-now { background:#52c4ef; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
173 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .tweet-now span { background:url("../img/twitter_icon.png") no-repeat center center, #3eaed8; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
174 |
+
.top_close_popup {margin-left:37%;float:left;}
|
175 |
+
/* Stop Tweet Button Styles */
|
176 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .stop-tweet-old-post { background:#f9866b; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
177 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .stop-tweet-old-post span { background:url("../img/twitter_icon.png") no-repeat center center, #f16848; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
178 |
+
|
179 |
+
/* Tweet Now Button Style */
|
180 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .see-sample-tweet { background:#52c4ef; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
181 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .see-sample-tweet span { background:url("../img/twitter_icon.png") no-repeat center center, #3eaed8; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
182 |
+
|
183 |
+
/* Reset Settings Button Styles */
|
184 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .reset-settings { background:#f9866b; text-decoration: none; border-radius: 3px; display: block; height: 30px; border-radius: 3px; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; line-height: 2.3; padding-right: 10px; display:inline-block; margin-top: 14px; margin-right: 5px; }
|
185 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer .reset-settings span { background:url("../img/reset_icon.png") no-repeat center center, #f16848; width: 30px; height: 30px; display: block; float: left; border-radius: 3px 0px 0px 3px; margin-right: 10px; }
|
186 |
+
.cwp_top_wrapper a { margin: 0 !important; padding: 0; margin-right: 10px !important; margin-bottom:10px!important;}
|
187 |
+
|
188 |
+
/* Sample Tweet Preview Modal */
|
189 |
+
.cwp_top_wrapper .cwp_lkapp_preview, .cwp_top_wrapper .cwp_xingapp_preview, .cwp_top_wrapper .cwp_tumblrapp_preview, .cwp_top_wrapper .cwp_not_version_preview,.cwp_top_wrapper .cwp_user_pages { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background:rgba(0,0,0,0.2); display: none; }
|
190 |
+
|
191 |
+
.cwp_top_wrapper .cwp_fbapp_preview,.cwp_top_wrapper .cwp_user_pages { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background:rgba(0,0,0,0.2); display: none; }
|
192 |
+
.cwp_top_wrapper .cwp_sample_tweet_preview_inner h2 { text-align: center; font-weight: bold;color:#7d7d7d; font-family: "HelveticaNeue", "Helvetica Neue", sans-serif; }
|
193 |
+
.cwp_top_wrapper .cwp_sample_tweet_preview_inner { background:#fff; width: 80%; margin: 0 auto; margin-top: 109px; padding: 20px; border-radius: 5px;box-shadow: 0px 5px 5px rgba(0,0,0,0.1); }
|
194 |
+
.cwp_top_wrapper .cwp_sample_tweet_preview_inner .sample_tweet { min-height:60px; display: block; width: 100%; border: 1px solid #e8e8e8; padding: 10px; border-radius: 5px; font-family: "Helvetica Neue", HelveticaNeue, sans-serif; font-size: 14px;}
|
195 |
+
.cwp_top_wrapper .cwp_sample_tweet_preview_inner .sample_tweet a { text-decoration: none; }
|
196 |
+
.cwp_top_wrapper .cwp_sample_tweet_preview_inner button { display: block; margin-top: 17px; background:#52c4ef; border: none; border-radius: 3px; padding: 5px 10px; margin-left:10px;margin-right:10px;color:#fff; font-family: "Open Sans", sans-serif; color:#fff; text-transform: uppercase; font-weight: bold; }
|
197 |
+
.cwp_top_wrapper .cwp_sample_tweet_preview_inner button:hover { cursor: pointer; }
|
198 |
+
|
199 |
+
.cwp_top_wrapper .cwp_sample_tweet_preview { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background:rgba(0,0,0,0.2); display: none; }
|
200 |
+
|
201 |
+
|
202 |
+
.cwp_user_pages .cwp_preview_page {
|
203 |
+
width: 175px;
|
204 |
+
margin-right: 25px;
|
205 |
+
float: left;
|
206 |
+
height: 75px;
|
207 |
+
margin-bottom: 25px;
|
208 |
+
border-bottom: 1px solid #F1F1F1;
|
209 |
+
}
|
210 |
+
|
211 |
+
.cwp_user_pages_inner {
|
212 |
+
height: 340px;
|
213 |
+
}
|
214 |
+
.cwp_user_pages .page_name {
|
215 |
+
font-weight: bold;
|
216 |
+
font-size: 15px;
|
217 |
+
padding-bottom: 10px;
|
218 |
+
}
|
219 |
+
.cwp_user_pages .page_avatar {
|
220 |
+
width: 50px;
|
221 |
+
height: 50px;
|
222 |
+
margin-right: 5px;
|
223 |
+
float: left;
|
224 |
+
}
|
225 |
+
.cwp_user_pages .page_category {
|
226 |
+
|
227 |
+
color:grey;
|
228 |
+
}
|
229 |
+
.top_preview {
|
230 |
+
width: 40px;
|
231 |
+
height: 40px;
|
232 |
+
padding: 5px;
|
233 |
+
float: left;}
|
234 |
+
.cwp_top_wrapper_full {
|
235 |
+
|
236 |
+
width: 90%;
|
237 |
+
float: left;
|
238 |
+
border-right: none;
|
239 |
+
margin: 5px 15px 2px;
|
240 |
+
}
|
241 |
+
|
242 |
+
.cwp_top_wrapper_full .cwp_top_container form {
|
243 |
+
|
244 |
+
width: 99%;
|
245 |
+
float: left;
|
246 |
+
border-right: none;
|
247 |
+
}
|
248 |
+
|
249 |
+
|
250 |
+
.top_left_instructions {
|
251 |
+
float: left;
|
252 |
+
width: 50%;
|
253 |
+
}
|
254 |
+
.top_auth_form {
|
255 |
+
width:50%;
|
256 |
+
float: left;
|
257 |
+
}
|
258 |
+
.top_sample_auth{
|
259 |
+
height: 370px;
|
260 |
+
}
|
261 |
+
.top_auth_inner {
|
262 |
+
height: 500px;
|
263 |
+
}
|
264 |
+
.top_authorize{
|
265 |
+
margin-left:50px;
|
266 |
+
}
|
267 |
+
@media all and (max-width:1280px) {
|
268 |
+
.cwp_top_wrapper {
|
269 |
+
width:100%;
|
270 |
+
}
|
271 |
+
.cwp_top_wrapper .cwp_top_container form {
|
272 |
+
width:100%;
|
273 |
+
border-right: none;
|
274 |
+
}
|
275 |
+
|
276 |
+
|
277 |
+
}
|
278 |
+
@media all and (max-width:970px) {
|
279 |
+
.slogan {
|
280 |
+
display: none;
|
281 |
+
}
|
282 |
+
}
|
283 |
+
|
284 |
+
/* Tabbed Nav */
|
285 |
+
#cwp_top_tabs ul#tabs_menu {
|
286 |
+
margin: 0;
|
287 |
+
margin-bottom: -1px;
|
288 |
+
}
|
289 |
+
|
290 |
+
#cwp_top_tabs ul#tabs_menu li {
|
291 |
+
display: inline-block;
|
292 |
+
font-weight: bold;
|
293 |
+
font-family: "Roboto",sans-serif;
|
294 |
+
font-size: 13px;
|
295 |
+
padding: 15px;
|
296 |
+
line-height: 1;
|
297 |
+
border: 1px solid #EAEAEA;
|
298 |
+
border-bottom: none;
|
299 |
+
margin: 0;
|
300 |
+
background: rgb(252, 252, 252);
|
301 |
+
border-radius: 2px 2px 0 0
|
302 |
+
}
|
303 |
+
|
304 |
+
#cwp_top_tabs ul#tabs_menu li.active,
|
305 |
+
#cwp_top_tabs ul#tabs_menu li:hover {
|
306 |
+
background: none repeat scroll 0% 0% #FFF;
|
307 |
+
cursor: pointer;
|
308 |
+
border: 1px solid #EAEAEA;
|
309 |
+
border-bottom: none;
|
310 |
+
}
|
311 |
+
|
312 |
+
#cwp_top_tabs div.tab {
|
313 |
+
display: none;
|
314 |
+
width: 100%;
|
315 |
+
float: left;
|
316 |
+
background: #FFF;
|
317 |
+
border: 1px solid #EAEAEA;
|
318 |
+
border-bottom: 0;
|
319 |
+
}
|
320 |
+
.tab .cwp_top_tabs_vertical .tab-vertical {
|
321 |
+
width:80%;
|
322 |
+
float:left;
|
323 |
+
|
324 |
+
}
|
325 |
+
#cwp_top_tabs div.tab.active {
|
326 |
+
display: block;
|
327 |
+
}
|
328 |
+
.cwp_top_tabs_vertical {
|
329 |
+
display:block;
|
330 |
+
width:100%;
|
331 |
+
|
332 |
+
}
|
333 |
+
.cwp_top_tabs_vertical .tab-vertical.active{
|
334 |
+
display:block;
|
335 |
+
|
336 |
+
}
|
337 |
+
.cwp_top_tabs_vertical .tab-vertical{
|
338 |
+
width:100%;
|
339 |
+
display:none;
|
340 |
+
|
341 |
+
}
|
342 |
+
.tab.active .cwp_top_tabs_vertical form {
|
343 |
+
width:80% ;
|
344 |
+
float:left;
|
345 |
+
|
346 |
+
|
347 |
+
}
|
348 |
+
.cwp_top_tabs_vertical .cwp_top_tabs_btns li:hover:not(.not-tab),
|
349 |
+
.cwp_top_tabs_vertical .cwp_top_tabs_btns li.active:not(.not-tab){
|
350 |
+
background:#fff;
|
351 |
+
|
352 |
+
}
|
353 |
+
.cwp_top_tabs_vertical .cwp_top_tabs_btns li.not-tab{
|
354 |
+
cursor: default;
|
355 |
+
|
356 |
+
}
|
357 |
+
.cwp_top_tabs_vertical .cwp_top_tabs_btns li{
|
358 |
+
cursor: pointer;
|
359 |
+
display: inline-block;
|
360 |
+
font-weight: bold;
|
361 |
+
font-family: "Roboto",sans-serif;
|
362 |
+
font-size: 13px;
|
363 |
+
padding: 15px;
|
364 |
+
line-height: 1;
|
365 |
+
width:100%;
|
366 |
+
margin: 0;
|
367 |
+
text-transform: capitalize;
|
368 |
+
|
369 |
+
}
|
370 |
+
.cwp_top_tabs_vertical .cwp_top_tabs_btns{
|
371 |
+
width:20%;
|
372 |
+
padding-top:30px;
|
373 |
+
float:left;
|
374 |
+
margin-top:0px;
|
375 |
+
padding-bottom:20px;
|
376 |
+
background: none repeat scroll 0% 0% #F0F0F0;
|
377 |
+
cursor: pointer;
|
378 |
+
border-right: 1px solid #ddd;
|
379 |
+
border-bottom: 1px solid #ddd;
|
380 |
+
border-left: 1px solid #ddd;
|
381 |
+
}
|
382 |
+
.cwp-top-premium-placeholder{
|
383 |
+
text-align:center;
|
384 |
+
padding-top:20px;
|
385 |
+
font-size:20px;
|
386 |
+
text-align: center;
|
387 |
+
}
|
388 |
+
.cwp-according-item {
|
389 |
+
margin:2%;
|
390 |
+
|
391 |
+
}
|
392 |
+
.cwp-according-item.active .cwp-according-body{
|
393 |
+
display:block;
|
394 |
+
|
395 |
+
}
|
396 |
+
.cwp-according-item .cwp-according-body{
|
397 |
+
display:none;
|
398 |
+
}
|
399 |
+
.cwp-according-item .cwp-according-body {
|
400 |
+
background:#f0f0f0;
|
401 |
+
width:96%;
|
402 |
+
padding: 13px 2%;
|
403 |
+
|
404 |
+
}
|
405 |
+
.cwp-according-item .cwp-according-header:hover,
|
406 |
+
.cwp-according-item.active .cwp-according-header{
|
407 |
+
|
408 |
+
background:#444;
|
409 |
+
color:#f0f0f0;
|
410 |
+
|
411 |
+
}
|
412 |
+
.cwp-according-item.active .cwp-according-header:before,
|
413 |
+
.cwp-according-item:hover .cwp-according-header:before{
|
414 |
+
border-color:#fff;
|
415 |
+
}
|
416 |
+
.cwp-according-item.active .cwp-according-header span:before,
|
417 |
+
.cwp-according-item:hover .cwp-according-header span:before {
|
418 |
+
|
419 |
+
content:"";
|
420 |
+
position:absolute;
|
421 |
+
background:#fff;
|
422 |
+
top: 18px;
|
423 |
+
left: 50px;
|
424 |
+
border-radius:50%;
|
425 |
+
width:10px;
|
426 |
+
height:10px;
|
427 |
+
}
|
428 |
+
.cwp-according-item .cwp-according-header:before{
|
429 |
+
content:"";
|
430 |
+
position:absolute;
|
431 |
+
border:4px solid #444;
|
432 |
+
top: 9px;
|
433 |
+
left: 41px;
|
434 |
+
border-radius:50%;
|
435 |
+
width:20px;
|
436 |
+
height:20px;
|
437 |
+
|
438 |
+
}
|
439 |
+
.cwp-according-item .cwp-according-header{
|
440 |
+
width:96%;
|
441 |
+
position:relative;
|
442 |
+
display:block;
|
443 |
+
background:#f0f0f0;
|
444 |
+
text-align: center;
|
445 |
+
color:#444;
|
446 |
+
font-size: 20px;
|
447 |
+
cursor:pointer;
|
448 |
+
padding: 14px;
|
449 |
+
|
450 |
+
}
|
451 |
+
.cwp-schedule-days li:first-child{
|
452 |
+
border-bottom-left-radius: 4px;
|
453 |
+
border-top-left-radius: 4px;
|
454 |
+
}
|
455 |
+
.cwp-schedule-days li:last-child{
|
456 |
+
border-bottom-right-radius: 8px;
|
457 |
+
border-top-right-radius: 8px;
|
458 |
+
|
459 |
+
}
|
460 |
+
.cwp-schedule-days li:hover {
|
461 |
+
color: #f0f0f0;
|
462 |
+
background: rgb(247,245,246); /* Old browsers */
|
463 |
+
background: -moz-linear-gradient(top, rgba(247,245,246,1) 0%, rgba(192,192,192,1) 100%); /* FF3.6+ */
|
464 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(247,245,246,1)), color-stop(100%,rgba(192,192,192,1))); /* Chrome,Safari4+ */
|
465 |
+
background: -webkit-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* Chrome10+,Safari5.1+ */
|
466 |
+
background: -o-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* Opera 11.10+ */
|
467 |
+
background: -ms-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* IE10+ */
|
468 |
+
background: linear-gradient(to bottom, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%); /* W3C */
|
469 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f5f6', endColorstr='#c0c0c0',GradientType=0 ); /* IE6-9 */
|
470 |
+
}
|
471 |
+
.cwp-schedule-days li.active {
|
472 |
+
text-decoration: none;
|
473 |
+
color: #f0f0f0;
|
474 |
+
box-shadow: none;
|
475 |
+
background: rgb(119,119,119); /* Old browsers */
|
476 |
+
background: -moz-linear-gradient(top, rgba(119,119,119,1) 0%, rgba(68,68,68,1) 100%); /* FF3.6+ */
|
477 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(119,119,119,1)), color-stop(100%,rgba(68,68,68,1))); /* Chrome,Safari4+ */
|
478 |
+
background: -webkit-linear-gradient(top, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* Chrome10+,Safari5.1+ */
|
479 |
+
background: -o-linear-gradient(top, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* Opera 11.10+ */
|
480 |
+
background: -ms-linear-gradient(top, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* IE10+ */
|
481 |
+
background: linear-gradient(to bottom, rgba(119,119,119,1) 0%,rgba(68,68,68,1) 100%); /* W3C */
|
482 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#777777', endColorstr='#444444',GradientType=0 ); /* IE6-9 */
|
483 |
+
border-top: 1px solid #666;
|
484 |
+
border-bottom: 1px solid #333;
|
485 |
+
border-right: 1px solid #444;
|
486 |
+
border-left: 1px solid #777;
|
487 |
+
}
|
488 |
+
.cwp-schedule-days li{
|
489 |
+
overflow: hidden;
|
490 |
+
display: inline-block;
|
491 |
+
float: left;
|
492 |
+
border-top: 1px solid #666;
|
493 |
+
border-bottom: 1px solid #333;
|
494 |
+
border-right: 1px solid #ABABAB;
|
495 |
+
border-left: 1px solid #D8D8D8;
|
496 |
+
color: #444;
|
497 |
+
cursor: pointer;
|
498 |
+
width: 14.2%;
|
499 |
+
text-align: center;
|
500 |
+
padding-top: 10px;
|
501 |
+
padding-bottom: 10px;
|
502 |
+
background: rgb(247,245,246);
|
503 |
+
background: -moz-linear-gradient(top, rgba(247,245,246,1) 0%, rgba(192,192,192,1) 100%);
|
504 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(247,245,246,1)), color-stop(100%,rgba(192,192,192,1)));
|
505 |
+
background: -webkit-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
506 |
+
background: -o-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
507 |
+
background: -ms-linear-gradient(top, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
508 |
+
background: linear-gradient(to bottom, rgba(247,245,246,1) 0%,rgba(192,192,192,1) 100%);
|
509 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f5f6', endColorstr='#c0c0c0',GradientType=0 );
|
510 |
+
color: #E8E8E8;
|
511 |
+
text-shadow: 1px 1px 1px #7C7C7C;
|
512 |
+
box-shadow: inset 5px 0px 10px #D5D5D5;
|
513 |
+
border-top: 1px solid #CBCBCB;
|
514 |
+
border-bottom: 1px solid #ABABAB;
|
515 |
+
|
516 |
+
}
|
517 |
+
.cwp-pro-string{
|
518 |
+
|
519 |
+
margin: auto;
|
520 |
+
display: block;
|
521 |
+
text-align: left;
|
522 |
+
}
|
523 |
+
.cwp-posts-time-info{
|
524 |
+
text-align: center;
|
525 |
+
margin-top: -9px;
|
526 |
+
font-size: 14px;
|
527 |
+
}
|
528 |
+
a.cwp-primary:hover,
|
529 |
+
a.cwp-primary{
|
530 |
+
|
531 |
+
background: #52c4ef;
|
532 |
+
color: #fff;
|
533 |
+
}
|
534 |
+
a.cwp-btn{
|
535 |
+
text-decoration: none;
|
536 |
+
border-radius: 3px;
|
537 |
+
display: block;
|
538 |
+
height: 30px;
|
539 |
+
border-radius: 3px;
|
540 |
+
font-family: "Open Sans", sans-serif;
|
541 |
+
text-transform: uppercase;
|
542 |
+
font-weight: bold;
|
543 |
+
line-height: 2.3;
|
544 |
+
padding-right: 10px;
|
545 |
+
padding-left: 10px;
|
546 |
+
display: inline-block;
|
547 |
+
margin-top: 14px;
|
548 |
+
margin-right: 5px;
|
549 |
+
|
550 |
+
}
|
551 |
+
.cwp-top-times-choice .cwp-top-times-close:hover{
|
552 |
+
color:#000;
|
553 |
+
|
554 |
+
}
|
555 |
+
#cwp-top-container-form{
|
556 |
+
width:73%;
|
557 |
+
float:left;
|
558 |
+
|
559 |
+
}
|
560 |
+
.cwp-top-times-choice .cwp-top-times-close{
|
561 |
+
|
562 |
+
margin-left: 20px;
|
563 |
+
font-size: 15px;
|
564 |
+
font-weight: bold;
|
565 |
+
cursor: pointer;
|
566 |
+
}
|
567 |
+
.cwp-top-times-choice select{
|
568 |
+
width:100px;
|
569 |
+
|
570 |
+
}
|
571 |
+
|
572 |
+
.cwp-hidden{
|
573 |
+
display:none;
|
574 |
+
|
575 |
+
}
|
576 |
+
|
577 |
+
.inactive.cwp-error-label {
|
578 |
+
border-bottom: none !important;
|
579 |
+
}
|
580 |
+
|
581 |
+
.pro-version {
|
582 |
+
position: relative;
|
583 |
+
}
|
584 |
+
.pro-version:before {
|
585 |
+
content: "";
|
586 |
+
position: absolute;
|
587 |
+
width: 45px;
|
588 |
+
height: 45px;
|
589 |
+
top: 0;
|
590 |
+
background-repeat: no-repeat;
|
591 |
+
right: 0;
|
592 |
+
background: url(../img/pro-version-badge.png);
|
593 |
+
}
|
594 |
+
a.on-off-button {
|
595 |
+
float: left;
|
596 |
+
width: 76px;
|
597 |
+
height: 39px;
|
598 |
+
background-image: url(../img/on-off-button.png);
|
599 |
+
background-repeat: no-repeat;
|
600 |
+
margin-top: -4px !important;
|
601 |
+
cursor: pointer;
|
602 |
+
-webkit-transition: all 0;
|
603 |
+
-moz-transition: all 0;
|
604 |
+
-o-transition: all 0;
|
605 |
+
transition: all 0;
|
606 |
+
}
|
607 |
+
a.on-off-button.on {
|
608 |
+
background-position: 0 0;
|
609 |
+
}
|
610 |
+
a.on-off-button.off {
|
611 |
+
background-position: 0 -40px;
|
612 |
+
}
|
613 |
+
.cwp-remote-check-info{
|
614 |
+
float:left;
|
615 |
+
margin-right:5px;
|
616 |
+
margin-top:4px;
|
617 |
+
font-size: 15px;
|
618 |
+
color: #858585;
|
619 |
+
font-weight: 600;
|
620 |
+
font-style: italic;
|
621 |
+
}
|
622 |
+
.rop-error-log{
|
623 |
+
position:relative;
|
624 |
+
}
|
625 |
+
.rop-error-log span.no-error{
|
626 |
+
display:none;
|
627 |
+
|
628 |
+
}
|
629 |
+
.rop-error-log span{
|
630 |
+
background:#F16848;
|
631 |
+
padding:2px;
|
632 |
+
position:absolute;
|
633 |
+
top:0px;
|
634 |
+
right:0px;
|
635 |
+
color:#fff;
|
636 |
+
border-bottom-left-radius: 10px;
|
637 |
+
}
|
638 |
+
|
639 |
+
#rop-clear-log{
|
640 |
+
padding: 10px 15px 10px 15px;
|
641 |
+
font-weight: bold;
|
642 |
+
font-family: "HelveticaNeue", "Helvetica Neue", Arial, sans-serif;
|
643 |
+
font-size: 1em;
|
644 |
+
line-height: 1;
|
645 |
+
color: #696969;
|
646 |
+
border-radius: 10px;
|
647 |
+
border: 1px solid #F7F7F7;
|
648 |
+
-webkit-transition: all 0.3s ease-in-out;
|
649 |
+
-moz-transition: all 0.3s ease-in-out;
|
650 |
+
-o-transition: all 0.3s ease-in-out;
|
651 |
+
transition: all 0.3s ease-in-out;
|
652 |
+
box-shadow: inset 0px 0px 3px rgba(0, 0, 0, 0.5);
|
653 |
+
float:right;
|
654 |
+
margin:10px !important;
|
655 |
+
margin-top:20px !important;
|
656 |
+
}
|
657 |
+
.rop-log-item .rop-log-date{
|
658 |
+
font-weight: bold;
|
659 |
+
}
|
660 |
+
.rop-log-item.rop-notice{
|
661 |
+
background:#52C4EF;
|
662 |
+
}
|
663 |
+
.rop-log-item.rop-error{
|
664 |
+
|
665 |
+
background:#F9866B;
|
666 |
+
}
|
667 |
+
.rop-log-item{
|
668 |
+
width:100%;
|
669 |
+
padding:5px;
|
670 |
+
color:#fff;
|
671 |
+
}
|
672 |
+
#rop-log-list{
|
673 |
+
text-align: center;
|
674 |
+
width:100%;
|
675 |
+
float:right;
|
676 |
+
background:none;
|
677 |
+
}
|
678 |
+
.clearfix:after{
|
679 |
+
|
680 |
+
clear:both;
|
681 |
+
}
|
682 |
+
.rop-log-text{
|
683 |
+
word-wrap: break-word;
|
684 |
+
|
685 |
+
}
|
686 |
+
.rop-log-container{
|
687 |
+
width:100%;
|
688 |
+
display: block;
|
689 |
+
|
690 |
+
}
|
691 |
+
.active-rop-error-label b{
|
692 |
+
color:#F9866B;
|
693 |
+
|
694 |
+
}
|
695 |
+
.active-rop-error-label{
|
696 |
+
display: none;
|
697 |
+
background: #F0F0F0;
|
698 |
+
border-top: 1px solid rgba(255, 255, 255, 0.4);
|
699 |
+
color: #494949 !important;
|
700 |
+
font-weight: bold;
|
701 |
+
text-shadow: 0px 1px 0px #FFF;
|
702 |
+
border-bottom: 1px solid #E2E2E2;
|
703 |
+
}
|
704 |
+
.rop-twitter-clock{
|
705 |
+
margin-top:-10px;
|
706 |
+
text-align: center;
|
707 |
+
color: #494949;
|
708 |
+
font-weight: bold;
|
709 |
+
text-shadow: 0px 1px 0px #FFF;
|
710 |
+
background: none;
|
711 |
+
padding: 12px 0 8px;
|
712 |
+
}
|
713 |
+
|
714 |
+
.rop-network-countdown{
|
715 |
+
background: #B9F3CB;
|
716 |
+
box-shadow: inset 0px 0px 6px rgba(8, 61, 8, 0.1);
|
717 |
+
border-top: 1px solid rgba(97, 209, 101, 0.4);
|
718 |
+
color: #218618;
|
719 |
+
text-shadow: 0px 1px 0px #FFF;
|
720 |
+
border-bottom: 1px solid #FFF;
|
721 |
+
padding:4px;
|
722 |
+
}
|
723 |
+
.rop-exclude-filter label{
|
724 |
+
padding-right:20px;
|
725 |
+
float: left;
|
726 |
+
}
|
727 |
+
.rop-exclude-filter{
|
728 |
+
float:left;
|
729 |
+
margin:0px;
|
730 |
+
margin-right:10px;
|
731 |
+
line-height: 26px;
|
732 |
+
}
|
733 |
+
button.login{
|
734 |
+
cursor:pointer;
|
735 |
+
}
|
736 |
+
.cwp_top_container .right button.another-account.pro-only{
|
737 |
+
-webkit-transition: all 0s ease-in-out !important;
|
738 |
+
-moz-transition: all 0s ease-in-out !important;
|
739 |
+
-o-transition: all 0s ease-in-out !important;
|
740 |
+
transition: all 0s ease-in-out !important;
|
741 |
+
width:68px !important;
|
742 |
+
|
743 |
+
}
|
744 |
+
.cwp_top_container .right button.another-account.pro-only:hover{
|
745 |
+
|
746 |
+
background: url(../img/only-pro-budge.png) center right no-repeat #f1f1f1 !important;
|
747 |
+
text-indent:-9999px;
|
748 |
+
}
|
749 |
+
|
750 |
+
|
751 |
+
.rop-clear{
|
752 |
+
clear:both;
|
753 |
+
|
754 |
+
}
|
755 |
+
.rop-left{
|
756 |
+
float:left;
|
757 |
+
|
758 |
+
}
|
759 |
+
.rop-right{
|
760 |
+
float:right;
|
761 |
+
}
|
762 |
+
.rop-beta-user .rop-right.on {
|
763 |
+
|
764 |
+
background-position: 0 0px;
|
765 |
+
}
|
766 |
+
.rop-beta-user .rop-right.off {
|
767 |
+
background-position: 0 -40px;
|
768 |
+
}
|
769 |
+
|
770 |
+
.rop-beta-user .rop-right {
|
771 |
+
width: 76px;
|
772 |
+
height: 39px;
|
773 |
+
background-image: url(../img/on-off-button.png);
|
774 |
+
background-repeat: no-repeat;
|
775 |
+
margin-top: -4px !important;
|
776 |
+
cursor: pointer;
|
777 |
+
-webkit-transition: all 0s;
|
778 |
+
-moz-transition: all 0s;
|
779 |
+
-o-transition: all 0s;
|
780 |
+
transition: all 0s;
|
781 |
+
|
782 |
+
}
|
783 |
+
.rop-beta-user .rop-right{
|
784 |
+
width:30%;
|
785 |
+
}
|
786 |
+
.rop-beta-user .rop-left span{
|
787 |
+
font-style: italic;
|
788 |
+
font-size:12px;
|
789 |
+
font-style: italic;
|
790 |
+
font-size: 10px;
|
791 |
+
font-weight: normal;
|
792 |
+
width: 100%;
|
793 |
+
display: block;
|
794 |
+
line-height: 10px;
|
795 |
+
|
796 |
+
}
|
797 |
+
.rop-beta-user .rop-left{
|
798 |
+
width:66%;
|
799 |
+
color: #858585;
|
800 |
+
font-weight: 600;
|
801 |
+
font-size:15px;
|
802 |
+
|
803 |
+
line-height: 29px;
|
804 |
+
|
805 |
+
}
|
806 |
+
.rop-beta-user .rop-beta-desc{
|
807 |
+
font-style: italic;
|
808 |
+
font-size: 13px;
|
809 |
+
font-weight: normal;
|
810 |
+
width: 100%;
|
811 |
+
display: block;
|
812 |
+
line-height: 15px;
|
813 |
+
color: #858585;
|
814 |
+
|
815 |
+
}
|
816 |
+
.cwp_top_wrapper .cwp_not_version_preview .top_auth_inner{
|
817 |
+
height:160px;
|
818 |
+
|
819 |
+
}
|
820 |
+
.cwp_top_wrapper .cwp_not_version_preview .top_close_popup
|
821 |
+
{
|
822 |
+
|
823 |
+
margin: auto;
|
824 |
+
float: none;
|
825 |
+
|
826 |
+
}
|
827 |
+
.cwp_top_wrapper .cwp_not_version_preview h2{
|
828 |
+
line-height: 26px;
|
829 |
+
font-size: 17px;
|
830 |
+
font-weight: 500;
|
831 |
+
|
832 |
+
}
|
833 |
+
|
834 |
+
[data-icon]:before {
|
835 |
+
font-family: "rop-custom-icon-font" !important;
|
836 |
+
content: attr(data-icon);
|
837 |
+
font-style: normal !important;
|
838 |
+
font-weight: normal !important;
|
839 |
+
font-variant: normal !important;
|
840 |
+
text-transform: none !important;
|
841 |
+
speak: none;
|
842 |
+
line-height: 1;
|
843 |
+
-webkit-font-smoothing: antialiased;
|
844 |
+
-moz-osx-font-smoothing: grayscale;
|
845 |
+
}
|
846 |
+
|
847 |
+
[class^="rop-icon-"]:before, [class*=" rop-icon-"]:before {
|
848 |
+
font-family: "rop-custom-icon-font" !important;
|
849 |
+
font-style: normal !important;
|
850 |
+
font-weight: normal !important;
|
851 |
+
font-variant: normal !important;
|
852 |
+
text-transform: none !important;
|
853 |
+
speak: none;
|
854 |
+
line-height: 1;
|
855 |
+
-webkit-font-smoothing: antialiased;
|
856 |
+
-moz-osx-font-smoothing: grayscale;
|
857 |
+
}
|
858 |
+
|
859 |
+
.rop-icon-dashboard:before {
|
860 |
+
content: "a";
|
861 |
+
}
|
862 |
+
|
863 |
+
/* Added by Ash/Upwork */
|
864 |
+
.cwp_top_wrapper .option.cwp_restrict_image .rop_left {
|
865 |
+
width: 105px;
|
866 |
+
padding-left: 60px;
|
867 |
+
float: left;
|
868 |
+
position: relative;
|
869 |
+
z-index: 99;
|
870 |
+
padding-top: 10px;
|
871 |
+
}
|
872 |
+
.cwp_top_wrapper .option.cwp_restrict_image .rop_right {
|
873 |
+
width: 100%;
|
874 |
+
background: #f8f8f8;
|
875 |
+
position: relative;
|
876 |
+
padding: 10px 10px 10px 110px;
|
877 |
+
}
|
878 |
+
.cwp_top_wrapper .option.cwp_restrict_image .rop_right .cwp_quick_edit {margin: 5px 5px 0px 0px;}
|
879 |
+
.cwp_top_wrapper .option.cwp_restrict_image .rop_right .cwp_quick_edit .cwp_quick_edit_actions {float: left;}
|
880 |
+
.cwp_top_wrapper .option.cwp_restrict_image .rop_right .cwp_quick_edit .cwp_post_time { float: right; font-style: italic; color: #999999; }
|
881 |
+
.cwp_top_wrapper .option.cwp_restrict_image .rop_right.cwp_extend_post { width: 100%; background: #f8f8f8; position: relative; padding: 10px 10px 10px 60px; }
|
882 |
+
.cwp-quick-edit-text {width: 100%;}
|
883 |
+
.cwp_post_image {cursor: pointer;}
|
884 |
+
.cwp_delete_table {width: 95%; margin: auto;}
|
885 |
+
.cwp_quick_edit_actions_after {display: none;}
|
886 |
+
.cwp_restrict_image:nth-child(odd) {background-color: #f5f5f5;}
|
887 |
+
.cwp_top_tabs_vertical.hide_top_tabs_btns .cwp_top_tabs_btns{display: none}
|
888 |
+
.cwp_top_tabs_vertical.hide_top_tabs_btns .tab-vertical{width: 100%}
|
889 |
+
.rop_date_container {
|
890 |
+
border: 1px solid #EAEAEA;
|
891 |
+
margin: 15px 15px 0px 15px;
|
892 |
+
border-radius: 2px;
|
893 |
+
}
|
894 |
+
.cwp_top_wrapper .rop_date_container .option {
|
895 |
+
margin: 2px 0 2px;
|
896 |
+
position: relative;
|
897 |
+
}
|
898 |
+
/* Added by Ash/Upwork */
|
899 |
+
|
900 |
+
.rop-post-twitter:after,
|
901 |
+
.rop-post-facebook:after,
|
902 |
+
.rop-post-linkedin:after,
|
903 |
+
.rop-post-xing:after,
|
904 |
+
.rop-post-tumblr:after {
|
905 |
+
content: "";
|
906 |
+
width: 50px;
|
907 |
+
height: 100%;
|
908 |
+
position: absolute;
|
909 |
+
top: 0;
|
910 |
+
left: 0;
|
911 |
+
}
|
912 |
+
.rop-post-twitter:after {
|
913 |
+
background: url(../img/rop-twitter-icn.png) center no-repeat #f1f1f1;
|
914 |
+
}
|
915 |
+
.rop-post-facebook:after {
|
916 |
+
background: url(../img/rop-facebook-icn.png) center no-repeat #f1f1f1;
|
917 |
+
}
|
918 |
+
.rop-post-linkedin:after {
|
919 |
+
background: url(../img/rop-linkedin-icn.png) center no-repeat #f1f1f1;
|
920 |
+
}
|
921 |
+
.rop-post-xing:after {
|
922 |
+
background: url(../img/rop-xing-icn.png) center no-repeat #f1f1f1;
|
923 |
+
}
|
924 |
+
.rop-post-tumblr:after {
|
925 |
+
background: url(../img/rop-tumblr-icn.png) center no-repeat #f1f1f1;
|
926 |
+
}
|
927 |
+
.rop_date_container .rop_tweet_date {
|
928 |
+
background: #444;
|
929 |
+
color: #f0f0f0;
|
930 |
+
padding: 10px;
|
931 |
+
margin: -1px -1px 0 -1px;
|
932 |
+
border-radius: 2px 2px 0 0;
|
933 |
+
}
|
934 |
+
.rop-box-with-padding { padding: 20px; }
|
935 |
+
.cwp_top_wrapper .cwp_quick_edit_actions_before a {
|
936 |
+
margin: 0 7px 0 0 !important;
|
937 |
+
float: left;
|
938 |
+
}
|
939 |
+
.cwp_top_wrapper .cwp-quick-edit-span {
|
940 |
+
padding-bottom: 10px;
|
941 |
+
float: left;
|
942 |
+
width: 100%;
|
943 |
+
|
944 |
+
}
|
945 |
+
.cwp_top_wrapper .cwp_quick_edit_actions_before a.cwp-quick-edit {
|
946 |
+
text-indent: -999999px;
|
947 |
+
overflow: hidden;
|
948 |
+
height: 15px;
|
949 |
+
width: 15px;
|
950 |
+
background: url(../img/rop-edit-icons.png) no-repeat;
|
951 |
+
background-position: center 2px;
|
952 |
+
-webkit-transition: all 0s;
|
953 |
+
-moz-transition: all 0s;
|
954 |
+
-o-transition: all 0s;
|
955 |
+
transition: all 0s;
|
956 |
+
}
|
957 |
+
.cwp_top_wrapper .cwp_quick_edit_actions_before a.cwp-quick-edit:hover {
|
958 |
+
background-position: center -19px;
|
959 |
+
}
|
960 |
+
.cwp_top_wrapper .cwp_quick_edit_actions_before a.cwp-quick-delete {
|
961 |
+
text-indent: -999999px;
|
962 |
+
overflow: hidden;
|
963 |
+
height: 15px;
|
964 |
+
width: 15px;
|
965 |
+
background: url(../img/rop-delete-icons.png) no-repeat;
|
966 |
+
background-position: center 2px;
|
967 |
+
-webkit-transition: all 0s;
|
968 |
+
-moz-transition: all 0s;
|
969 |
+
-o-transition: all 0s;
|
970 |
+
transition: all 0s;
|
971 |
+
}
|
972 |
+
.cwp_top_wrapper .cwp_quick_edit_actions_before a.cwp-quick-delete:hover {
|
973 |
+
background-position: center -19px;
|
974 |
+
}
|
975 |
+
.rop-features-available {
|
976 |
+
margin: 15px;
|
977 |
+
text-align: center;
|
978 |
+
border-radius: 3px;
|
979 |
+
background: rgb(129,191,232); /* Old browsers */
|
980 |
+
background: -moz-linear-gradient(top, rgba(129,191,232,1) 0%, rgba(67,155,223,1) 100%); /* FF3.6-15 */
|
981 |
+
background: -webkit-linear-gradient(top, rgba(129,191,232,1) 0%,rgba(67,155,223,1) 100%); /* Chrome10-25,Safari5.1-6 */
|
982 |
+
background: linear-gradient(to bottom, rgba(129,191,232,1) 0%,rgba(67,155,223,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
983 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#81bfe8', endColorstr='#439bdf',GradientType=0 ); /* IE6-9 */
|
984 |
+
border: 1px solid #54A5E1;
|
985 |
+
padding: 7px 25px;
|
986 |
+
}
|
987 |
+
.rop-features-available p {
|
988 |
+
border-radius: 2px;
|
989 |
+
color: #000;
|
990 |
+
font-size: 13px;
|
991 |
+
font-weight: bold;
|
992 |
+
margin: 0;
|
993 |
+
position: relative;
|
994 |
+
z-index: 9;
|
995 |
+
display: inline-block;
|
996 |
+
background: #fff;
|
997 |
+
}
|
998 |
+
.rop-features-available p span {
|
999 |
+
position: relative;
|
1000 |
+
z-index: 9;
|
1001 |
+
padding: 5px 15px;
|
1002 |
+
float: left;
|
1003 |
+
-webkit-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.15);
|
1004 |
+
-moz-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.15);
|
1005 |
+
box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.15);
|
1006 |
+
background: rgb(255,255,255);
|
1007 |
+
background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(244,243,244,1) 100%);
|
1008 |
+
background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(244,243,244,1) 100%);
|
1009 |
+
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(244,243,244,1) 100%);
|
1010 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f4f3f4',GradientType=0 );
|
1011 |
+
color: #777777;
|
1012 |
+
text-shadow: 2px 2px 2px #FFFFFF;
|
1013 |
+
}
|
1014 |
+
.rop-features-available p:before {
|
1015 |
+
content: "";
|
1016 |
+
position: absolute;
|
1017 |
+
left: -15px;
|
1018 |
+
bottom: -4px;
|
1019 |
+
width: 25px;
|
1020 |
+
height: 27px;
|
1021 |
+
background: #F3F3F3;
|
1022 |
+
}
|
1023 |
+
.rop-features-available p:after {
|
1024 |
+
content: "";
|
1025 |
+
position: absolute;
|
1026 |
+
right: -15px;
|
1027 |
+
bottom: -4px;
|
1028 |
+
width: 25px;
|
1029 |
+
height: 27px;
|
1030 |
+
background: #F3F3F3;
|
1031 |
+
}
|
1032 |
+
.rop-features-available strong {
|
1033 |
+
color: #F16848;
|
1034 |
+
}
|
1035 |
+
.cwp-quick-edit-text input,
|
1036 |
+
.cwp-quick-edit-text textarea {
|
1037 |
+
font-size: 14px;
|
1038 |
+
}
|
1039 |
+
|
1040 |
+
@media (max-width: 1200px) {
|
1041 |
+
|
1042 |
+
#cwp-top-container-form {
|
1043 |
+
width: 100%;
|
1044 |
+
}
|
1045 |
+
.cwp_top_wrapper .cwp_top_container .sidebar {
|
1046 |
+
padding: 0;
|
1047 |
+
width: 100%;
|
1048 |
+
}
|
1049 |
+
.rop-beta-user {
|
1050 |
+
width: 50%;
|
1051 |
+
display: inline-block;
|
1052 |
+
float: left;
|
1053 |
+
padding-bottom: 14px;
|
1054 |
+
}
|
1055 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li.upgrade a {
|
1056 |
+
margin: 0 auto !important;
|
1057 |
+
float: none;
|
1058 |
+
}
|
1059 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li.upgrade {
|
1060 |
+
float: left;
|
1061 |
+
width: 100%;
|
1062 |
+
margin-bottom: 15px;
|
1063 |
+
}
|
1064 |
+
|
1065 |
+
}
|
1066 |
+
|
1067 |
+
@media (max-width: 992px) {
|
1068 |
+
|
1069 |
+
|
1070 |
+
|
1071 |
+
}
|
1072 |
+
|
1073 |
+
@media (max-width: 768px) {
|
1074 |
+
|
1075 |
+
.rop-beta-user {
|
1076 |
+
width: 100%;
|
1077 |
+
}
|
1078 |
+
.cwp_top_wrapper .cwp_top_container .sidebar ul li.upgrade a {
|
1079 |
+
margin: 0 auto !important;
|
1080 |
+
}
|
1081 |
+
.cwp_top_wrapper .cwp_top_container .cwp_top_footer {
|
1082 |
+
text-align: center;
|
1083 |
+
}
|
1084 |
+
.cwp_top_wrapper .option .left,
|
1085 |
+
.cwp_top_wrapper .option .right {
|
1086 |
+
width: 100%;
|
1087 |
+
text-align: left;
|
1088 |
+
padding-left: 20px;
|
1089 |
+
padding-right: 20px;
|
1090 |
+
margin-bottom: 5px;
|
1091 |
+
}
|
1092 |
+
.cwp_top_wrapper .option .left * {
|
1093 |
+
text-align: left;
|
1094 |
+
float: left;
|
1095 |
+
clear: left;
|
1096 |
+
}
|
1097 |
+
#cwp_top_tabs ul#tabs_menu {
|
1098 |
+
text-align: center;
|
1099 |
+
}
|
1100 |
+
#cwp_top_tabs ul#tabs_menu li {
|
1101 |
+
margin-bottom: 5px;
|
1102 |
+
}
|
1103 |
+
.cwp_top_tabs_vertical .cwp_top_tabs_btns {
|
1104 |
+
width: 100%;
|
1105 |
+
padding: 0;
|
1106 |
+
}
|
1107 |
+
.cwp_top_tabs_vertical .cwp_top_tabs_btns li {
|
1108 |
+
border-bottom: 1px solid #fff;
|
1109 |
+
}
|
1110 |
+
.cwp-according-item .cwp-according-body,
|
1111 |
+
.cwp-according-item .cwp-according-header {
|
1112 |
+
width: 100%;
|
1113 |
+
}
|
1114 |
+
.tab .cwp_top_tabs_vertical .tab-vertical {
|
1115 |
+
width: 100%;
|
1116 |
+
}
|
1117 |
+
.rop-beta-user .rop-left {
|
1118 |
+
width: 100%;
|
1119 |
+
margin-left: -100px;
|
1120 |
+
padding-left: 100px;
|
1121 |
+
}
|
1122 |
+
.rop-beta-user .rop-right {
|
1123 |
+
width: 80px;
|
1124 |
+
}
|
1125 |
+
.cwp_top_wrapper #cwp_top_header .cwp_top_actions {
|
1126 |
+
float: left;
|
1127 |
+
clear: left;
|
1128 |
+
}
|
1129 |
+
|
1130 |
+
}
|
1131 |
+
.tab .cwp_top_tabs_vertical.rop-tab-full-width .tab-vertical{
|
1132 |
+
width:100%;
|
1133 |
+
}
|
1134 |
+
.tab .cwp_top_tabs_vertical.rop-tab-with-sidebar .tab-vertical{
|
1135 |
+
width:80%;
|
1136 |
+
}
|
1137 |
+
.rop-message-tab{
|
1138 |
+
text-align: center;
|
1139 |
+
font-weight: bold;
|
1140 |
+
}
|
1141 |
+
|
img/rop-delete-icons.png
ADDED
Binary file
|
img/rop-edit-icons.png
ADDED
Binary file
|
img/rop-facebook-icn.png
ADDED
Binary file
|
img/rop-linkedin-icn.png
ADDED
Binary file
|
img/rop-tumblr-icn.png
ADDED
Binary file
|
img/rop-twitter-icn.png
ADDED
Binary file
|
img/rop-xing-icn.png
ADDED
Binary file
|
inc/class-remote-notification-client.php
CHANGED
@@ -1,381 +1,381 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Remote Dashobard Notifications.
|
4 |
-
*
|
5 |
-
* This class is part of the Remote Dashboard Notifications plugin.
|
6 |
-
* This plugin allows you to send notifications to your client's
|
7 |
-
* WordPress dashboard easily.
|
8 |
-
*
|
9 |
-
* Notification you send will be displayed as admin notifications
|
10 |
-
* using the standard WordPress hooks. A "dismiss" option is added
|
11 |
-
* in order to let the user hide the notification.
|
12 |
-
*
|
13 |
-
* @package Remote Dashboard Notifications
|
14 |
-
* @author ThemeAvenue <web@themeavenue.net>
|
15 |
-
* @license GPL-2.0+
|
16 |
-
* @link http://themeavenue.net
|
17 |
-
* @link http://wordpress.org/plugins/remote-dashboard-notifications/
|
18 |
-
* @link https://github.com/ThemeAvenue/Remote-Dashboard-Notifications
|
19 |
-
* @copyright 2014 ThemeAvenue
|
20 |
-
*/
|
21 |
-
|
22 |
-
// If this file is called directly, abort.
|
23 |
-
if ( ! defined( 'WPINC' ) ) {
|
24 |
-
die;
|
25 |
-
}
|
26 |
-
|
27 |
-
class TAV_Remote_Notification_Client {
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Class version.
|
31 |
-
*
|
32 |
-
* @since 0.1.0
|
33 |
-
*
|
34 |
-
* @var string
|
35 |
-
*/
|
36 |
-
protected static $version = '0.1.2';
|
37 |
-
|
38 |
-
public function __construct( $channel_id = false, $channel_key = false, $server = false, $debug = false ) {
|
39 |
-
|
40 |
-
/* Don't continue during Ajax process */
|
41 |
-
if( !is_admin() || defined( 'DOING_AJAX' ) && DOING_AJAX )
|
42 |
-
return;
|
43 |
-
|
44 |
-
$this->id = intval( $channel_id );
|
45 |
-
$this->key = sanitize_key( $channel_key );
|
46 |
-
$this->server = esc_url( $server );
|
47 |
-
$this->notice = false;
|
48 |
-
$this->cache = apply_filters( 'rn_notice_caching_time', 6 );
|
49 |
-
$this->debug = $debug;
|
50 |
-
$this->error = null;
|
51 |
-
|
52 |
-
/* The plugin can't work without those 2 parameters */
|
53 |
-
if( false === ( $this->id || $this->key || $this->server ) )
|
54 |
-
return;
|
55 |
-
|
56 |
-
/* Call the dismiss method before testing for Ajax */
|
57 |
-
if( isset( $_GET['rn'] ) && isset( $_GET['notification'] ) )
|
58 |
-
add_action( 'init', array( $this, 'dismiss' ) );
|
59 |
-
|
60 |
-
add_action( 'init', array( $this, 'request_server' ) );
|
61 |
-
|
62 |
-
}
|
63 |
-
|
64 |
-
/**
|
65 |
-
* Send a request to notification server
|
66 |
-
*
|
67 |
-
* The distant WordPress notification server is
|
68 |
-
* queried using the WordPress HTTP API.
|
69 |
-
*
|
70 |
-
* @since 0.1.0
|
71 |
-
*/
|
72 |
-
public function request_server() {
|
73 |
-
|
74 |
-
/* Current channel ID */
|
75 |
-
$channel_id = $this->id;
|
76 |
-
|
77 |
-
/* Current channel key */
|
78 |
-
$channel_key = $this->key;
|
79 |
-
|
80 |
-
/* Generate a unique identifyer used for the transient */
|
81 |
-
$uniqid = $channel_id . substr( $channel_key, 0, 5 );
|
82 |
-
|
83 |
-
/* Prepare the payload to send to server */
|
84 |
-
$payload = base64_encode( json_encode( array( 'channel' => $channel_id, 'key' => $channel_key ) ) );
|
85 |
-
|
86 |
-
/* Get the endpoint URL ready */
|
87 |
-
$url = add_query_arg( array( 'payload' => $payload ), $this->server );
|
88 |
-
|
89 |
-
/* Content is false at first */
|
90 |
-
$content = get_transient( "rn_last_notification_$uniqid" );
|
91 |
-
|
92 |
-
/* Set the request response to null */
|
93 |
-
$request = null;
|
94 |
-
|
95 |
-
/* If no notice is present in DB we query the server */
|
96 |
-
if( false === $content || defined( 'RDN_DEV' ) && RDN_DEV ) {
|
97 |
-
|
98 |
-
/* Query the server */
|
99 |
-
$request = wp_remote_get( $url, array( 'timeout' => apply_filters( 'rn_http_request_timeout', 5 ) ) );
|
100 |
-
|
101 |
-
/* If we have a WP_Error object we abort */
|
102 |
-
if( is_wp_error( $request ) )
|
103 |
-
return;
|
104 |
-
|
105 |
-
/* Check if we have a valid response */
|
106 |
-
if( is_array( $request ) && isset( $request['response']['code'] ) && 200 === intval( $request['response']['code'] ) ) {
|
107 |
-
|
108 |
-
/* Get the response body */
|
109 |
-
if( isset( $request['body'] ) ) {
|
110 |
-
|
111 |
-
/**
|
112 |
-
* Decode the response JSON string
|
113 |
-
*/
|
114 |
-
$content = json_decode( $request['body'] );
|
115 |
-
|
116 |
-
/**
|
117 |
-
* Check if the payload is in a usable JSON format
|
118 |
-
*/
|
119 |
-
if( version_compare( phpversion(), '5.3.0', '>=' ) ) {
|
120 |
-
|
121 |
-
if( ! ( json_last_error() == JSON_ERROR_NONE ) )
|
122 |
-
return false;
|
123 |
-
|
124 |
-
} else {
|
125 |
-
|
126 |
-
if( $content == NULL )
|
127 |
-
return false;
|
128 |
-
|
129 |
-
}
|
130 |
-
|
131 |
-
set_transient( "rn_last_notification_$uniqid", $content, $this->cache*60*60*5 );
|
132 |
-
|
133 |
-
}
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
}
|
138 |
-
|
139 |
-
/**
|
140 |
-
* If the JSON string has been decoded we can go ahead
|
141 |
-
*/
|
142 |
-
if( is_object( $content ) ) {
|
143 |
-
|
144 |
-
if( isset( $content->error ) ) {
|
145 |
-
|
146 |
-
/* Display debug info in the admin footer */
|
147 |
-
if( true === $this->debug ) {
|
148 |
-
|
149 |
-
/* Save the error message */
|
150 |
-
$this->error = $content->error;
|
151 |
-
|
152 |
-
/* Display it commented in the footer */
|
153 |
-
add_action( 'admin_footer', array( $this, 'debug_info' ) );
|
154 |
-
|
155 |
-
}
|
156 |
-
|
157 |
-
/* Stop */
|
158 |
-
return;
|
159 |
-
|
160 |
-
}
|
161 |
-
|
162 |
-
$this->notice = $content;
|
163 |
-
|
164 |
-
/**
|
165 |
-
* Check if notice has already been dismissed
|
166 |
-
*/
|
167 |
-
$dismissed = get_option( '_rn_dismissed' );
|
168 |
-
|
169 |
-
if( is_array( $dismissed ) && in_array( $content->slug, $dismissed ) )
|
170 |
-
return;
|
171 |
-
|
172 |
-
/**
|
173 |
-
* Add the notice style
|
174 |
-
*/
|
175 |
-
add_action( 'admin_print_styles', array( $this, 'style' ), 100 );
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Add the notice to WP dashboard
|
179 |
-
*/
|
180 |
-
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
181 |
-
|
182 |
-
} else {
|
183 |
-
|
184 |
-
return false;
|
185 |
-
|
186 |
-
}
|
187 |
-
|
188 |
-
}
|
189 |
-
|
190 |
-
/**
|
191 |
-
* Display the admin notice
|
192 |
-
*
|
193 |
-
* The function will do some checks to verify if
|
194 |
-
* the notice can be displayed on the current page.
|
195 |
-
* If all the checks are passed, the notice
|
196 |
-
* is added to the page.
|
197 |
-
*
|
198 |
-
* @since 0.1.0
|
199 |
-
*/
|
200 |
-
public function show_notice() {
|
201 |
-
|
202 |
-
$content = $this->notice;
|
203 |
-
|
204 |
-
/* If there is no content we abort */
|
205 |
-
if( false === $content )
|
206 |
-
return;
|
207 |
-
|
208 |
-
/* If the type array isn't empty we have a limitation */
|
209 |
-
if( isset( $content->type ) && is_array( $content->type ) && !empty( $content->type ) ) {
|
210 |
-
|
211 |
-
/* Get current post type */
|
212 |
-
$pt = get_post_type();
|
213 |
-
|
214 |
-
/**
|
215 |
-
* If the current post type can't be retrieved
|
216 |
-
* or if it's not in the allowed post types,
|
217 |
-
* then we don't display the admin notice.
|
218 |
-
*/
|
219 |
-
if( false === $pt || !in_array( $pt, $content->type ) )
|
220 |
-
return;
|
221 |
-
|
222 |
-
}
|
223 |
-
|
224 |
-
/* Prepare alert class */
|
225 |
-
$style = isset( $content->style ) ? $content->style : 'updated';
|
226 |
-
|
227 |
-
if( 'updated' == $style )
|
228 |
-
$class = $style;
|
229 |
-
|
230 |
-
elseif( 'error' == $style )
|
231 |
-
$class = 'updated error';
|
232 |
-
|
233 |
-
else
|
234 |
-
$class = "updated rn-alert rn-alert-$style";
|
235 |
-
|
236 |
-
/**
|
237 |
-
* Prepare the dismiss URL
|
238 |
-
*
|
239 |
-
* @var (string) URL
|
240 |
-
* @todo get a more accurate URL of the current page
|
241 |
-
*/
|
242 |
-
$args = array();
|
243 |
-
$nonce = wp_create_nonce( 'rn-dismiss' );
|
244 |
-
$slug = $content->slug;
|
245 |
-
|
246 |
-
array_push( $args, "rn=$nonce" );
|
247 |
-
array_push( $args, "notification=$slug" );
|
248 |
-
|
249 |
-
foreach( $_GET as $key => $value ) {
|
250 |
-
|
251 |
-
array_push( $args, "$key=$value" );
|
252 |
-
|
253 |
-
}
|
254 |
-
|
255 |
-
$args = implode( '&', $args );
|
256 |
-
$url = "?$args";
|
257 |
-
?>
|
258 |
-
|
259 |
-
<div class="<?php echo $class; ?>">
|
260 |
-
<?php if( !in_array( $style, array( 'updated', 'error' ) ) ): ?><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-btn" title="<?php _e( 'Dismiss notification', 'remote-notifications' ); ?>">×</a><?php endif; ?>
|
261 |
-
<p><?php echo html_entity_decode( $content->message ); ?></p>
|
262 |
-
<?php if( in_array( $style, array( 'updated', 'error' ) ) ): ?><p><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-button button-secondary"><?php _e( 'Dismiss', 'remote-notifications' ); ?></a></p><?php endif; ?>
|
263 |
-
</div>
|
264 |
-
<?php
|
265 |
-
|
266 |
-
}
|
267 |
-
|
268 |
-
/**
|
269 |
-
* Dismiss notice
|
270 |
-
*
|
271 |
-
* When the user dismisses a notice, its slug
|
272 |
-
* is added to the _rn_dismissed entry in the DB options table.
|
273 |
-
* This entry is then used to check if a notie has been dismissed
|
274 |
-
* before displaying it on the dashboard.
|
275 |
-
*
|
276 |
-
* @since 0.1.0
|
277 |
-
*/
|
278 |
-
public function dismiss() {
|
279 |
-
|
280 |
-
/* Check if we have all the vars */
|
281 |
-
if( !isset( $_GET['rn'] ) || !isset( $_GET['notification'] ) )
|
282 |
-
return;
|
283 |
-
|
284 |
-
/* Validate nonce */
|
285 |
-
if( !wp_verify_nonce( sanitize_key( $_GET['rn'] ), 'rn-dismiss' ) )
|
286 |
-
return;
|
287 |
-
|
288 |
-
/* Get dismissed list */
|
289 |
-
$dismissed = get_option( '_rn_dismissed', array() );
|
290 |
-
|
291 |
-
/* Add the current notice to the list if needed */
|
292 |
-
if( is_array( $dismissed ) && !in_array( $_GET['notification'], $dismissed ) )
|
293 |
-
array_push( $dismissed, $_GET['notification'] );
|
294 |
-
|
295 |
-
/* Update option */
|
296 |
-
update_option( '_rn_dismissed', $dismissed );
|
297 |
-
|
298 |
-
/* Get redirect URL */
|
299 |
-
$args = array();
|
300 |
-
|
301 |
-
/* Get URL args */
|
302 |
-
foreach( $_GET as $key => $value ) {
|
303 |
-
|
304 |
-
if( in_array( $key, array( 'rn', 'notification' ) ) )
|
305 |
-
continue;
|
306 |
-
|
307 |
-
array_push( $args, "$key=$value" );
|
308 |
-
|
309 |
-
}
|
310 |
-
|
311 |
-
$args = implode( '&', $args );
|
312 |
-
$url = "?$args";
|
313 |
-
|
314 |
-
/* Redirect */
|
315 |
-
wp_redirect( $url );
|
316 |
-
|
317 |
-
}
|
318 |
-
|
319 |
-
/**
|
320 |
-
* Adds inline style for non standard notices
|
321 |
-
*
|
322 |
-
* This function will only be called if the notice style is not standard.
|
323 |
-
*
|
324 |
-
* @since 0.1.0
|
325 |
-
*/
|
326 |
-
public function style() { ?>
|
327 |
-
|
328 |
-
<style type="text/css">div.rn-alert{padding:15px;padding-right:35px;margin-bottom:20px;border:1px solid transparent;-webkit-box-shadow:none;box-shadow:none}div.rn-alert p:empty{display:none}div.rn-alert ul,div.rn-alert ul li,div.rn-alert ol,div.rn-alert ol li{list-style:inherit !important}div.rn-alert ul,div.rn-alert ol{padding-left:30px}div.rn-alert hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}div.rn-alert h1,h2,h3,h4,h5,h6{margin-top:0;color:inherit}div.rn-alert a{font-weight:700}div.rn-alert a:hover{text-decoration:underline}div.rn-alert>p{margin:0;padding:0;line-height:1}div.rn-alert>p,div.rn-alert>ul{margin-bottom:0}div.rn-alert>p+p{margin-top:5px}div.rn-alert .rn-dismiss-btn{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;top:-2px;right:-21px;padding:0;cursor:pointer;background:0;border:0;-webkit-appearance:none;float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20);text-decoration:none}div.rn-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}div.rn-alert-success hr{border-top-color:#c9e2b3}div.rn-alert-success a{color:#2b542c}div.rn-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}div.rn-alert-info hr{border-top-color:#a6e1ec}div.rn-alert-info a{color:#245269}div.rn-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}div.rn-alert-warning hr{border-top-color:#f7e1b5}div.rn-alert-warning a{color:#66512c}div.rn-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}div.rn-alert-danger hr{border-top-color:#e4b9c0}div.rn-alert-danger a{color:#843534}</style>
|
329 |
-
|
330 |
-
<?php }
|
331 |
-
|
332 |
-
/**
|
333 |
-
* Dismiss notice using Ajax
|
334 |
-
*
|
335 |
-
* This function is NOT used. Testing only.
|
336 |
-
*/
|
337 |
-
public function script() {
|
338 |
-
|
339 |
-
$url = admin_url();
|
340 |
-
?>
|
341 |
-
|
342 |
-
<script type="text/javascript">
|
343 |
-
jQuery(document).ready(function($) {
|
344 |
-
|
345 |
-
var prout = 'prout';
|
346 |
-
|
347 |
-
$('#rn-dismiss').on('click', function(event) {
|
348 |
-
event.preventDefault();
|
349 |
-
$.ajax({
|
350 |
-
type: "GET",
|
351 |
-
url: <?php echo $url; ?>,
|
352 |
-
data: prout
|
353 |
-
});
|
354 |
-
console.log('clicked');
|
355 |
-
});
|
356 |
-
|
357 |
-
return false;
|
358 |
-
|
359 |
-
});
|
360 |
-
</script>
|
361 |
-
|
362 |
-
<?php
|
363 |
-
|
364 |
-
}
|
365 |
-
|
366 |
-
/**
|
367 |
-
* Debug info.
|
368 |
-
*
|
369 |
-
* Display an error message commented in the admin footer.
|
370 |
-
*
|
371 |
-
* @since 0.1.2
|
372 |
-
*/
|
373 |
-
public function debug_info() {
|
374 |
-
|
375 |
-
$error = $this->error;
|
376 |
-
|
377 |
-
echo "<!-- RDN Debug Info: $error -->";
|
378 |
-
|
379 |
-
}
|
380 |
-
|
381 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Remote Dashobard Notifications.
|
4 |
+
*
|
5 |
+
* This class is part of the Remote Dashboard Notifications plugin.
|
6 |
+
* This plugin allows you to send notifications to your client's
|
7 |
+
* WordPress dashboard easily.
|
8 |
+
*
|
9 |
+
* Notification you send will be displayed as admin notifications
|
10 |
+
* using the standard WordPress hooks. A "dismiss" option is added
|
11 |
+
* in order to let the user hide the notification.
|
12 |
+
*
|
13 |
+
* @package Remote Dashboard Notifications
|
14 |
+
* @author ThemeAvenue <web@themeavenue.net>
|
15 |
+
* @license GPL-2.0+
|
16 |
+
* @link http://themeavenue.net
|
17 |
+
* @link http://wordpress.org/plugins/remote-dashboard-notifications/
|
18 |
+
* @link https://github.com/ThemeAvenue/Remote-Dashboard-Notifications
|
19 |
+
* @copyright 2014 ThemeAvenue
|
20 |
+
*/
|
21 |
+
|
22 |
+
// If this file is called directly, abort.
|
23 |
+
if ( ! defined( 'WPINC' ) ) {
|
24 |
+
die;
|
25 |
+
}
|
26 |
+
|
27 |
+
class TAV_Remote_Notification_Client {
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Class version.
|
31 |
+
*
|
32 |
+
* @since 0.1.0
|
33 |
+
*
|
34 |
+
* @var string
|
35 |
+
*/
|
36 |
+
protected static $version = '0.1.2';
|
37 |
+
|
38 |
+
public function __construct( $channel_id = false, $channel_key = false, $server = false, $debug = false ) {
|
39 |
+
|
40 |
+
/* Don't continue during Ajax process */
|
41 |
+
if( !is_admin() || defined( 'DOING_AJAX' ) && DOING_AJAX )
|
42 |
+
return;
|
43 |
+
|
44 |
+
$this->id = intval( $channel_id );
|
45 |
+
$this->key = sanitize_key( $channel_key );
|
46 |
+
$this->server = esc_url( $server );
|
47 |
+
$this->notice = false;
|
48 |
+
$this->cache = apply_filters( 'rn_notice_caching_time', 6 );
|
49 |
+
$this->debug = $debug;
|
50 |
+
$this->error = null;
|
51 |
+
|
52 |
+
/* The plugin can't work without those 2 parameters */
|
53 |
+
if( false === ( $this->id || $this->key || $this->server ) )
|
54 |
+
return;
|
55 |
+
|
56 |
+
/* Call the dismiss method before testing for Ajax */
|
57 |
+
if( isset( $_GET['rn'] ) && isset( $_GET['notification'] ) )
|
58 |
+
add_action( 'init', array( $this, 'dismiss' ) );
|
59 |
+
|
60 |
+
add_action( 'init', array( $this, 'request_server' ) );
|
61 |
+
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Send a request to notification server
|
66 |
+
*
|
67 |
+
* The distant WordPress notification server is
|
68 |
+
* queried using the WordPress HTTP API.
|
69 |
+
*
|
70 |
+
* @since 0.1.0
|
71 |
+
*/
|
72 |
+
public function request_server() {
|
73 |
+
|
74 |
+
/* Current channel ID */
|
75 |
+
$channel_id = $this->id;
|
76 |
+
|
77 |
+
/* Current channel key */
|
78 |
+
$channel_key = $this->key;
|
79 |
+
|
80 |
+
/* Generate a unique identifyer used for the transient */
|
81 |
+
$uniqid = $channel_id . substr( $channel_key, 0, 5 );
|
82 |
+
|
83 |
+
/* Prepare the payload to send to server */
|
84 |
+
$payload = base64_encode( json_encode( array( 'channel' => $channel_id, 'key' => $channel_key ) ) );
|
85 |
+
|
86 |
+
/* Get the endpoint URL ready */
|
87 |
+
$url = add_query_arg( array( 'payload' => $payload ), $this->server );
|
88 |
+
|
89 |
+
/* Content is false at first */
|
90 |
+
$content = get_transient( "rn_last_notification_$uniqid" );
|
91 |
+
|
92 |
+
/* Set the request response to null */
|
93 |
+
$request = null;
|
94 |
+
|
95 |
+
/* If no notice is present in DB we query the server */
|
96 |
+
if( false === $content || defined( 'RDN_DEV' ) && RDN_DEV ) {
|
97 |
+
|
98 |
+
/* Query the server */
|
99 |
+
$request = wp_remote_get( $url, array( 'timeout' => apply_filters( 'rn_http_request_timeout', 5 ) ) );
|
100 |
+
|
101 |
+
/* If we have a WP_Error object we abort */
|
102 |
+
if( is_wp_error( $request ) )
|
103 |
+
return;
|
104 |
+
|
105 |
+
/* Check if we have a valid response */
|
106 |
+
if( is_array( $request ) && isset( $request['response']['code'] ) && 200 === intval( $request['response']['code'] ) ) {
|
107 |
+
|
108 |
+
/* Get the response body */
|
109 |
+
if( isset( $request['body'] ) ) {
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Decode the response JSON string
|
113 |
+
*/
|
114 |
+
$content = json_decode( $request['body'] );
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Check if the payload is in a usable JSON format
|
118 |
+
*/
|
119 |
+
if( version_compare( phpversion(), '5.3.0', '>=' ) ) {
|
120 |
+
|
121 |
+
if( ! ( json_last_error() == JSON_ERROR_NONE ) )
|
122 |
+
return false;
|
123 |
+
|
124 |
+
} else {
|
125 |
+
|
126 |
+
if( $content == NULL )
|
127 |
+
return false;
|
128 |
+
|
129 |
+
}
|
130 |
+
|
131 |
+
set_transient( "rn_last_notification_$uniqid", $content, $this->cache*60*60*5 );
|
132 |
+
|
133 |
+
}
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* If the JSON string has been decoded we can go ahead
|
141 |
+
*/
|
142 |
+
if( is_object( $content ) ) {
|
143 |
+
|
144 |
+
if( isset( $content->error ) ) {
|
145 |
+
|
146 |
+
/* Display debug info in the admin footer */
|
147 |
+
if( true === $this->debug ) {
|
148 |
+
|
149 |
+
/* Save the error message */
|
150 |
+
$this->error = $content->error;
|
151 |
+
|
152 |
+
/* Display it commented in the footer */
|
153 |
+
add_action( 'admin_footer', array( $this, 'debug_info' ) );
|
154 |
+
|
155 |
+
}
|
156 |
+
|
157 |
+
/* Stop */
|
158 |
+
return;
|
159 |
+
|
160 |
+
}
|
161 |
+
|
162 |
+
$this->notice = $content;
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Check if notice has already been dismissed
|
166 |
+
*/
|
167 |
+
$dismissed = get_option( '_rn_dismissed' );
|
168 |
+
|
169 |
+
if( is_array( $dismissed ) && in_array( $content->slug, $dismissed ) )
|
170 |
+
return;
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Add the notice style
|
174 |
+
*/
|
175 |
+
add_action( 'admin_print_styles', array( $this, 'style' ), 100 );
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Add the notice to WP dashboard
|
179 |
+
*/
|
180 |
+
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
181 |
+
|
182 |
+
} else {
|
183 |
+
|
184 |
+
return false;
|
185 |
+
|
186 |
+
}
|
187 |
+
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Display the admin notice
|
192 |
+
*
|
193 |
+
* The function will do some checks to verify if
|
194 |
+
* the notice can be displayed on the current page.
|
195 |
+
* If all the checks are passed, the notice
|
196 |
+
* is added to the page.
|
197 |
+
*
|
198 |
+
* @since 0.1.0
|
199 |
+
*/
|
200 |
+
public function show_notice() {
|
201 |
+
|
202 |
+
$content = $this->notice;
|
203 |
+
|
204 |
+
/* If there is no content we abort */
|
205 |
+
if( false === $content )
|
206 |
+
return;
|
207 |
+
|
208 |
+
/* If the type array isn't empty we have a limitation */
|
209 |
+
if( isset( $content->type ) && is_array( $content->type ) && !empty( $content->type ) ) {
|
210 |
+
|
211 |
+
/* Get current post type */
|
212 |
+
$pt = get_post_type();
|
213 |
+
|
214 |
+
/**
|
215 |
+
* If the current post type can't be retrieved
|
216 |
+
* or if it's not in the allowed post types,
|
217 |
+
* then we don't display the admin notice.
|
218 |
+
*/
|
219 |
+
if( false === $pt || !in_array( $pt, $content->type ) )
|
220 |
+
return;
|
221 |
+
|
222 |
+
}
|
223 |
+
|
224 |
+
/* Prepare alert class */
|
225 |
+
$style = isset( $content->style ) ? $content->style : 'updated';
|
226 |
+
|
227 |
+
if( 'updated' == $style )
|
228 |
+
$class = $style;
|
229 |
+
|
230 |
+
elseif( 'error' == $style )
|
231 |
+
$class = 'updated error';
|
232 |
+
|
233 |
+
else
|
234 |
+
$class = "updated rn-alert rn-alert-$style";
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Prepare the dismiss URL
|
238 |
+
*
|
239 |
+
* @var (string) URL
|
240 |
+
* @todo get a more accurate URL of the current page
|
241 |
+
*/
|
242 |
+
$args = array();
|
243 |
+
$nonce = wp_create_nonce( 'rn-dismiss' );
|
244 |
+
$slug = $content->slug;
|
245 |
+
|
246 |
+
array_push( $args, "rn=$nonce" );
|
247 |
+
array_push( $args, "notification=$slug" );
|
248 |
+
|
249 |
+
foreach( $_GET as $key => $value ) {
|
250 |
+
|
251 |
+
array_push( $args, "$key=$value" );
|
252 |
+
|
253 |
+
}
|
254 |
+
|
255 |
+
$args = implode( '&', $args );
|
256 |
+
$url = "?$args";
|
257 |
+
?>
|
258 |
+
|
259 |
+
<div class="<?php echo $class; ?>">
|
260 |
+
<?php if( !in_array( $style, array( 'updated', 'error' ) ) ): ?><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-btn" title="<?php _e( 'Dismiss notification', 'remote-notifications' ); ?>">×</a><?php endif; ?>
|
261 |
+
<p><?php echo html_entity_decode( $content->message ); ?></p>
|
262 |
+
<?php if( in_array( $style, array( 'updated', 'error' ) ) ): ?><p><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-button button-secondary"><?php _e( 'Dismiss', 'remote-notifications' ); ?></a></p><?php endif; ?>
|
263 |
+
</div>
|
264 |
+
<?php
|
265 |
+
|
266 |
+
}
|
267 |
+
|
268 |
+
/**
|
269 |
+
* Dismiss notice
|
270 |
+
*
|
271 |
+
* When the user dismisses a notice, its slug
|
272 |
+
* is added to the _rn_dismissed entry in the DB options table.
|
273 |
+
* This entry is then used to check if a notie has been dismissed
|
274 |
+
* before displaying it on the dashboard.
|
275 |
+
*
|
276 |
+
* @since 0.1.0
|
277 |
+
*/
|
278 |
+
public function dismiss() {
|
279 |
+
|
280 |
+
/* Check if we have all the vars */
|
281 |
+
if( !isset( $_GET['rn'] ) || !isset( $_GET['notification'] ) )
|
282 |
+
return;
|
283 |
+
|
284 |
+
/* Validate nonce */
|
285 |
+
if( !wp_verify_nonce( sanitize_key( $_GET['rn'] ), 'rn-dismiss' ) )
|
286 |
+
return;
|
287 |
+
|
288 |
+
/* Get dismissed list */
|
289 |
+
$dismissed = get_option( '_rn_dismissed', array() );
|
290 |
+
|
291 |
+
/* Add the current notice to the list if needed */
|
292 |
+
if( is_array( $dismissed ) && !in_array( $_GET['notification'], $dismissed ) )
|
293 |
+
array_push( $dismissed, $_GET['notification'] );
|
294 |
+
|
295 |
+
/* Update option */
|
296 |
+
update_option( '_rn_dismissed', $dismissed );
|
297 |
+
|
298 |
+
/* Get redirect URL */
|
299 |
+
$args = array();
|
300 |
+
|
301 |
+
/* Get URL args */
|
302 |
+
foreach( $_GET as $key => $value ) {
|
303 |
+
|
304 |
+
if( in_array( $key, array( 'rn', 'notification' ) ) )
|
305 |
+
continue;
|
306 |
+
|
307 |
+
array_push( $args, "$key=$value" );
|
308 |
+
|
309 |
+
}
|
310 |
+
|
311 |
+
$args = implode( '&', $args );
|
312 |
+
$url = "?$args";
|
313 |
+
|
314 |
+
/* Redirect */
|
315 |
+
wp_redirect( $url );
|
316 |
+
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Adds inline style for non standard notices
|
321 |
+
*
|
322 |
+
* This function will only be called if the notice style is not standard.
|
323 |
+
*
|
324 |
+
* @since 0.1.0
|
325 |
+
*/
|
326 |
+
public function style() { ?>
|
327 |
+
|
328 |
+
<style type="text/css">div.rn-alert{padding:15px;padding-right:35px;margin-bottom:20px;border:1px solid transparent;-webkit-box-shadow:none;box-shadow:none}div.rn-alert p:empty{display:none}div.rn-alert ul,div.rn-alert ul li,div.rn-alert ol,div.rn-alert ol li{list-style:inherit !important}div.rn-alert ul,div.rn-alert ol{padding-left:30px}div.rn-alert hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}div.rn-alert h1,h2,h3,h4,h5,h6{margin-top:0;color:inherit}div.rn-alert a{font-weight:700}div.rn-alert a:hover{text-decoration:underline}div.rn-alert>p{margin:0;padding:0;line-height:1}div.rn-alert>p,div.rn-alert>ul{margin-bottom:0}div.rn-alert>p+p{margin-top:5px}div.rn-alert .rn-dismiss-btn{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;top:-2px;right:-21px;padding:0;cursor:pointer;background:0;border:0;-webkit-appearance:none;float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20);text-decoration:none}div.rn-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}div.rn-alert-success hr{border-top-color:#c9e2b3}div.rn-alert-success a{color:#2b542c}div.rn-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}div.rn-alert-info hr{border-top-color:#a6e1ec}div.rn-alert-info a{color:#245269}div.rn-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}div.rn-alert-warning hr{border-top-color:#f7e1b5}div.rn-alert-warning a{color:#66512c}div.rn-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}div.rn-alert-danger hr{border-top-color:#e4b9c0}div.rn-alert-danger a{color:#843534}</style>
|
329 |
+
|
330 |
+
<?php }
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Dismiss notice using Ajax
|
334 |
+
*
|
335 |
+
* This function is NOT used. Testing only.
|
336 |
+
*/
|
337 |
+
public function script() {
|
338 |
+
|
339 |
+
$url = admin_url();
|
340 |
+
?>
|
341 |
+
|
342 |
+
<script type="text/javascript">
|
343 |
+
jQuery(document).ready(function($) {
|
344 |
+
|
345 |
+
var prout = 'prout';
|
346 |
+
|
347 |
+
$('#rn-dismiss').on('click', function(event) {
|
348 |
+
event.preventDefault();
|
349 |
+
$.ajax({
|
350 |
+
type: "GET",
|
351 |
+
url: <?php echo $url; ?>,
|
352 |
+
data: prout
|
353 |
+
});
|
354 |
+
console.log('clicked');
|
355 |
+
});
|
356 |
+
|
357 |
+
return false;
|
358 |
+
|
359 |
+
});
|
360 |
+
</script>
|
361 |
+
|
362 |
+
<?php
|
363 |
+
|
364 |
+
}
|
365 |
+
|
366 |
+
/**
|
367 |
+
* Debug info.
|
368 |
+
*
|
369 |
+
* Display an error message commented in the admin footer.
|
370 |
+
*
|
371 |
+
* @since 0.1.2
|
372 |
+
*/
|
373 |
+
public function debug_info() {
|
374 |
+
|
375 |
+
$error = $this->error;
|
376 |
+
|
377 |
+
echo "<!-- RDN Debug Info: $error -->";
|
378 |
+
|
379 |
+
}
|
380 |
+
|
381 |
}
|
inc/config.php
CHANGED
@@ -1,439 +1,439 @@
|
|
1 |
-
<?php
|
2 |
-
define("CURRENTURL", top_current_page());
|
3 |
-
|
4 |
-
if(class_exists("CWP_TOP_Core_PRO")){
|
5 |
-
define("CWP_TOP_PRO", TRUE);
|
6 |
-
}else{
|
7 |
-
define("CWP_TOP_PRO", FALSE);
|
8 |
-
}
|
9 |
-
// Settings Array
|
10 |
-
$cwp_top_settings = array(
|
11 |
-
'name' => "Revive Old Post",
|
12 |
-
'slug' => "TweetOldPost",
|
13 |
-
'oAuth_settings' => array( // Based on TOP Dev Application settings.
|
14 |
-
'oauth_access_token' => "2256465193-KDpAFIYfxpWugX2OU025b1CPs3WB0RJpgA4Gd4h",
|
15 |
-
'oauth_access_token_secret' => "abx4Er8qEJ4jI7XDW8a90obzgy8cEtovPXCUNSjmwlpb9",
|
16 |
-
'consumer_key' => "ofaYongByVpa3NDEbXa2g",
|
17 |
-
'consumer_secret' => "vTzszlMujMZCY3mVtTE6WovUKQxqv3LVgiVku276M"
|
18 |
-
)
|
19 |
-
);
|
20 |
-
$cwp_rop_remote_trigger_url = "http://portal.themeisle.com/remote_trigger";
|
21 |
-
$cwp_rop_beta_trigger_url = "http://portal.themeisle.com/beta_user";
|
22 |
-
// Added by Ash/Upwork
|
23 |
-
$cwp_rop_self_endpoint = "rop_checking_schedule";
|
24 |
-
// Added by Ash/Upwork
|
25 |
-
$cwp_top_global_schedule = array();
|
26 |
-
if(!defined('ROP_PRO_VERSION'))
|
27 |
-
$cwp_top_networks = array();
|
28 |
-
define("CWP_TOP_PRO_STRING",'<span class="cwp-pro-string">'.__("This is only available in the",'tweet-old-post')."<a href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=imagepro&utm_medium=link&utm_campaign=top&upgrade=true' target='_blank'> ".__("PRO version")."</a></span>");
|
29 |
-
define("CWP_TOP_PRO_BUSINESS_STRING",'<span class="cwp-pro-string">'.__("This is only available in the",'tweet-old-post')."<a href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=imagepro&utm_medium=link&utm_campaign=top&upgrade=true' target='_blank'> ".__("BUSINESS version")."</a></span>");
|
30 |
-
|
31 |
-
$cwp_rop_all_networks = array("twitter"=>false,"facebook"=>false,"linkedin"=>true, "xing"=>true,"tumblr"=>true);
|
32 |
-
$cwp_rop_restricted_show = array("bitly-key","bitly-user");
|
33 |
-
$cwp_format_fields = array(
|
34 |
-
|
35 |
-
'tweet-content' => array(
|
36 |
-
'id' => '1',
|
37 |
-
'name' => __('Post Content', 'tweet-old-post'),
|
38 |
-
'type' => 'select',
|
39 |
-
'slug' => 'tweet-content',
|
40 |
-
'option' => 'top_opt_tweet_type',
|
41 |
-
'description' => __('What do you want to share?', 'tweet-old-post'),
|
42 |
-
'options' => array(
|
43 |
-
'title' => __('Title Only', 'tweet-old-post'),
|
44 |
-
'body' => __('Body Only', 'tweet-old-post'),
|
45 |
-
'titlenbody' => __('Title & Body', 'tweet-old-post'),
|
46 |
-
'custom-field' => __('Custom Field', 'tweet-old-post')
|
47 |
-
),
|
48 |
-
'default_value'=>'title'
|
49 |
-
),
|
50 |
-
'top_opt_tweet_length' => array(
|
51 |
-
'id' => '1',
|
52 |
-
'name' => __('Length', 'tweet-old-post'),
|
53 |
-
'type' => 'number',
|
54 |
-
'slug' => 'tweet-length',
|
55 |
-
'option' => 'top_opt_tweet_length',
|
56 |
-
'description' => __('The length of the tweet', 'tweet-old-post'),
|
57 |
-
'max-length' => 140,
|
58 |
-
'default_value' =>140
|
59 |
-
),
|
60 |
-
|
61 |
-
'tweet-content-field' => array(
|
62 |
-
'id' => '2',
|
63 |
-
'name' => __('Post Content Custom Field', 'tweet-old-post'),
|
64 |
-
'type' => 'text',
|
65 |
-
'slug' => 'tweet-content-field',
|
66 |
-
'option' => 'top_opt_tweet_type_custom_field',
|
67 |
-
'description' => __('Which custom field do you want to fetch info from?', 'tweet-old-post'),
|
68 |
-
'options' => array(),
|
69 |
-
'default_value'=>""
|
70 |
-
),
|
71 |
-
|
72 |
-
'additional-text' => array(
|
73 |
-
'id' => '3',
|
74 |
-
'name' => __('Additional Text', 'tweet-old-post'),
|
75 |
-
'type' => 'text',
|
76 |
-
'slug' => 'additional-text',
|
77 |
-
'option' => 'top_opt_add_text',
|
78 |
-
'description' => __('Text added to your auto posts', 'tweet-old-post'),
|
79 |
-
'options' => array(),
|
80 |
-
'default_value'=>''
|
81 |
-
),
|
82 |
-
|
83 |
-
'additional-text-at' => array(
|
84 |
-
'id' => '4',
|
85 |
-
'name' => __('Additional Text At', 'tweet-old-post'),
|
86 |
-
'type' => 'select',
|
87 |
-
'slug' => 'additional-text-at',
|
88 |
-
'option' => 'top_opt_add_text_at',
|
89 |
-
'description' => __('Where do you want the text to be added?', 'tweet-old-post'),
|
90 |
-
'options' => array(
|
91 |
-
'beginning' => __('Beginning of Post', 'tweet-old-post'),
|
92 |
-
'end' => __('End of Post', 'tweet-old-post')
|
93 |
-
),
|
94 |
-
"default_value"=>"beginning"
|
95 |
-
),
|
96 |
-
|
97 |
-
'include-link' => array(
|
98 |
-
'id' => '5',
|
99 |
-
'name' => __('Include Link', 'tweet-old-post'),
|
100 |
-
'type' => 'select',
|
101 |
-
'slug' => 'include-link',
|
102 |
-
'option' => 'top_opt_include_link',
|
103 |
-
'description' => __('Include a link to your post?', 'tweet-old-post'),
|
104 |
-
'options' => array(
|
105 |
-
'true' => __('Yes', 'tweet-old-post'),
|
106 |
-
'false' => __('No', 'tweet-old-post')
|
107 |
-
),
|
108 |
-
'dependency'=> array(
|
109 |
-
"url-from-custom-field"=>"true",
|
110 |
-
"use-url-shortner"=>"true",
|
111 |
-
),
|
112 |
-
'default_value' =>"yes"
|
113 |
-
|
114 |
-
|
115 |
-
),
|
116 |
-
|
117 |
-
'url-from-custom-field' => array(
|
118 |
-
'id' => '6',
|
119 |
-
'name' => __('Fetch URL From Custom Field', 'tweet-old-post'),
|
120 |
-
'type' => 'checkbox',
|
121 |
-
'slug' => 'url-from-custom-field',
|
122 |
-
'option' => 'top_opt_custom_url_option',
|
123 |
-
'description' => __('URL will be fetched from a custom field.', 'tweet-old-post'),
|
124 |
-
'options' => '',
|
125 |
-
'dependency'=> array(
|
126 |
-
"custom-field-url"=>"true"
|
127 |
-
),
|
128 |
-
'default_value'=>''
|
129 |
-
|
130 |
-
),
|
131 |
-
|
132 |
-
'custom-field-url' => array(
|
133 |
-
'id' => '7',
|
134 |
-
'name' => __('URL Custom Field', 'tweet-old-post'),
|
135 |
-
'type' => 'text',
|
136 |
-
'slug' => 'custom-field-url',
|
137 |
-
'option' => 'top_opt_custom_url_field',
|
138 |
-
'description' => __('URL will be fetched from the specified custom field.', 'tweet-old-post'),
|
139 |
-
'options' => array(),
|
140 |
-
'default_value'=>""
|
141 |
-
),
|
142 |
-
|
143 |
-
'use-url-shortner' => array(
|
144 |
-
'id' => '8',
|
145 |
-
'name' => __('Use URL Shortner', 'tweet-old-post'),
|
146 |
-
'type' => 'checkbox',
|
147 |
-
'slug' => 'use-url-shortner',
|
148 |
-
'option' => 'top_opt_use_url_shortner',
|
149 |
-
'description' => '',
|
150 |
-
'options' => '',
|
151 |
-
'dependency'=> array(
|
152 |
-
"url-shortner"=>"true"
|
153 |
-
),
|
154 |
-
'default_value'=>"off"
|
155 |
-
),
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
'url-shortner' => array(
|
160 |
-
'id' => '9',
|
161 |
-
'name' => __('URL Shortner Service', 'tweet-old-post'),
|
162 |
-
'type' => 'select',
|
163 |
-
'slug' => 'url-shortner',
|
164 |
-
'option' => 'top_opt_url_shortner',
|
165 |
-
'description' => __('Shorten the link to your post.', 'tweet-old-post'),
|
166 |
-
'options' => array(
|
167 |
-
'wp_short_url' => __('wp short url', 'tweet-old-post'),
|
168 |
-
//'t.co' => __('t.co', 'tweet-old-post'),
|
169 |
-
'is.gd' => __('is.gd', 'tweet-old-post'),
|
170 |
-
'bit.ly' => __('bit.ly', 'tweet-old-post'),
|
171 |
-
//'tr.im' => __('tr.im', 'tweet-old-post'),
|
172 |
-
//'3.ly' => __('3.ly', 'tweet-old-post'),
|
173 |
-
//'u.nu' => __('u.nu', 'tweet-old-post'),
|
174 |
-
//'1click.at' => __('1click.at', 'tweet-old-post'),
|
175 |
-
//'tinyurl' => __('TinyUrl', 'tweet-old-post')
|
176 |
-
|
177 |
-
),
|
178 |
-
'dependency'=> array(
|
179 |
-
"bitly-key"=>"bit.ly",
|
180 |
-
"bitly-user"=>"bit.ly"
|
181 |
-
),
|
182 |
-
'default_value'=>'wp_short_url'
|
183 |
-
),
|
184 |
-
|
185 |
-
'bitly-key' => array(
|
186 |
-
'id' => '22',
|
187 |
-
'name' => __('Bitly Key', 'tweet-old-post'),
|
188 |
-
'type' => 'text',
|
189 |
-
'slug' => 'bitly-key',
|
190 |
-
'option' => 'top_opt_bitly_key',
|
191 |
-
'description' => '',
|
192 |
-
'options' => '',
|
193 |
-
'default_value' => '',
|
194 |
-
),
|
195 |
-
|
196 |
-
'bitly-user' => array(
|
197 |
-
'id' => '23',
|
198 |
-
'name' => __('Bitly User', 'tweet-old-post'),
|
199 |
-
'type' => 'text',
|
200 |
-
'slug' => 'bitly-user',
|
201 |
-
'option' => 'top_opt_bitly_user',
|
202 |
-
'description' => '',
|
203 |
-
'options' => '',
|
204 |
-
'default_value' => '',
|
205 |
-
),
|
206 |
-
|
207 |
-
'custom-hashtag-option' => array(
|
208 |
-
'id' => '10',
|
209 |
-
'name' => __('Hashtags', 'tweet-old-post'),
|
210 |
-
'type' => 'select',
|
211 |
-
'slug' => 'custom-hashtag-option',
|
212 |
-
'option' => 'top_opt_custom_hashtag_option',
|
213 |
-
'description' => __('Include #hashtags in your auto posts?', 'tweet-old-post'),
|
214 |
-
'options' => array(
|
215 |
-
'nohashtag' => __('Don\'t add any hashtags', 'tweet-old-post'),
|
216 |
-
'common' => __('Common hashtags for all shares', 'tweet-old-post'),
|
217 |
-
'categories'=> __('Create hashtags from Categories', 'tweet-old-post'),
|
218 |
-
'tags' => __('Create hashtags from Tags', 'tweet-old-post'),
|
219 |
-
'custom' => __('Create hashtags from Custom Fields', 'tweet-old-post')
|
220 |
-
),
|
221 |
-
'dependency'=> array(
|
222 |
-
"common-hashtags" =>"common",
|
223 |
-
"hashtags-length" =>"common,categories,tags,custom",
|
224 |
-
"common-hashtags" =>"common",
|
225 |
-
"custom-hashtag-field"=>"custom"
|
226 |
-
),
|
227 |
-
'default_value'=>'nohashtag'
|
228 |
-
),
|
229 |
-
|
230 |
-
'common-hashtags' => array(
|
231 |
-
'id' => '11',
|
232 |
-
'name' => __('Common Hashtags', 'tweet-old-post'),
|
233 |
-
'type' => 'text',
|
234 |
-
'slug' => 'common-hashtags',
|
235 |
-
'option' => 'top_opt_hashtags',
|
236 |
-
'description' => __('Specify which hashtags you want to be used. eg. #example, #example2', 'tweet-old-post'),
|
237 |
-
'options' => array(),
|
238 |
-
'default_value'=>''
|
239 |
-
),
|
240 |
-
|
241 |
-
'hashtags-length' => array(
|
242 |
-
'id' => '12',
|
243 |
-
'name' => __('Maximum Hashtags Length', 'tweet-old-post'),
|
244 |
-
'type' => 'text',
|
245 |
-
'slug' => 'hashtags-length',
|
246 |
-
'option' => 'top_opt_hashtag_length',
|
247 |
-
'description' => __('Set to 0 (characters) to include all.', 'tweet-old-post'),
|
248 |
-
'options' => array(),
|
249 |
-
'default_value'=>'20'
|
250 |
-
),
|
251 |
-
|
252 |
-
'custom-hashtag-field' => array(
|
253 |
-
'id' => '13',
|
254 |
-
'name' => __('Hashtag Custom Field', 'tweet-old-post'),
|
255 |
-
'type' => 'text',
|
256 |
-
'slug' => 'custom-hashtag-field',
|
257 |
-
'option' => 'top_opt_custom_hashtag_field',
|
258 |
-
'description' => __('Fetch hashtags from specified custom field', 'tweet-old-post'),
|
259 |
-
'options' => array(),
|
260 |
-
'default_value'=>'',
|
261 |
-
|
262 |
-
)
|
263 |
-
,
|
264 |
-
'use-image' => array(
|
265 |
-
'id' => '24',
|
266 |
-
'name' => __('Post with Image', 'tweet-old-post'),
|
267 |
-
'type' => 'checkbox',
|
268 |
-
'slug' => 'post-with-image',
|
269 |
-
'option' => 'top_opt_post_with_image',
|
270 |
-
'description' => __('Check if you want to add the post featured image to the share', 'tweet-old-post'),
|
271 |
-
'options' => array(),
|
272 |
-
"available_pro" => "yes",
|
273 |
-
'default_value'=>"off"
|
274 |
-
)
|
275 |
-
);
|
276 |
-
|
277 |
-
$cwp_top_fields = array(
|
278 |
-
|
279 |
-
|
280 |
-
'interval' => array(
|
281 |
-
'id' => '14',
|
282 |
-
'name' => __('Minimum interval between shares', 'tweet-old-post'),
|
283 |
-
'type' => 'text',
|
284 |
-
'slug' => 'interval',
|
285 |
-
'option' => 'top_opt_interval',
|
286 |
-
"available_pro" =>"no",
|
287 |
-
'description' => __('Minimum time between shares (Hour/Hours), 0.4 can be used also.', 'tweet-old-post'),
|
288 |
-
'options' => array()
|
289 |
-
|
290 |
-
),
|
291 |
-
|
292 |
-
'age-limit' => array(
|
293 |
-
'id' => '15',
|
294 |
-
'name' => __('Minimum age of post to be eligible for sharing', 'tweet-old-post'),
|
295 |
-
'type' => 'text',
|
296 |
-
'slug' => 'age-limit',
|
297 |
-
'option' => 'top_opt_age_limit',
|
298 |
-
'description' => __('Day/Days - 0 for Disabled', 'tweet-old-post'),
|
299 |
-
'options' => array()
|
300 |
-
),
|
301 |
-
|
302 |
-
'max-age-limit' => array(
|
303 |
-
'id' => '16',
|
304 |
-
'name' => __('Maximum age of post to be eligible for sharing', 'tweet-old-post'),
|
305 |
-
'type' => 'text',
|
306 |
-
'slug' => 'max-age-limit',
|
307 |
-
'option' => 'top_opt_max_age_limit',
|
308 |
-
'description' => __('Day/Days - 0 for Disabled', 'tweet-old-post'),
|
309 |
-
'options' => array()
|
310 |
-
),
|
311 |
-
|
312 |
-
'no-of-tweet' => array(
|
313 |
-
'id' => '17',
|
314 |
-
'name' => __('Number of Posts to share', 'tweet-old-post'),
|
315 |
-
'type' => 'text',
|
316 |
-
'slug' => 'no-of-tweet',
|
317 |
-
'option' => 'top_opt_no_of_tweet',
|
318 |
-
'description' => __('Number of posts to share each time', 'tweet-old-post'),
|
319 |
-
'options' => array()
|
320 |
-
),
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
'tweet-multiple-times' => array(
|
326 |
-
'id' => '25',
|
327 |
-
'name' => __('Share old posts more than once', 'tweet-old-post'),
|
328 |
-
'type' => 'checkbox',
|
329 |
-
'slug' => 'tweet-multiple-times',
|
330 |
-
'option' => 'top_opt_tweet_multiple_times',
|
331 |
-
'description' => __('By default once a post is shared it will not be shared again until you stop/start the plugin', 'tweet-old-post'),
|
332 |
-
'options' => array()
|
333 |
-
),
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
'post-type' => array(
|
338 |
-
'id' => '18',
|
339 |
-
'name' => __('Post Type', 'tweet-old-post'),
|
340 |
-
'type' => 'custom-post-type',
|
341 |
-
'slug' => 'post-type',
|
342 |
-
'option' => 'top_opt_post_type',
|
343 |
-
'description' => __('What type of items do you want to share?', 'tweet-old-post'),
|
344 |
-
'options' => array(),
|
345 |
-
"available_pro" => "yes"
|
346 |
-
|
347 |
-
),
|
348 |
-
|
349 |
-
'analytics-tracking' => array(
|
350 |
-
'id' => '26',
|
351 |
-
'name' => __('Google Analytics Campaign Tracking', 'tweet-old-post'),
|
352 |
-
'type' => 'checkbox',
|
353 |
-
'slug' => 'ga-tracking',
|
354 |
-
'option' => 'top_opt_ga_tracking',
|
355 |
-
'description' => __('Enabling Campaign Tracking you would be able to see how much traffic Revive Old Post generated.', 'tweet-old-post'),
|
356 |
-
'options' => array()
|
357 |
-
),
|
358 |
-
|
359 |
-
'exclude-specific-categories' => array(
|
360 |
-
'id' => '21',
|
361 |
-
'name' => __('Exclude Specific Categories', 'tweet-old-post'),
|
362 |
-
'type' => 'categories-list',
|
363 |
-
'slug' => 'exclude-specific-category',
|
364 |
-
'option' => 'top_opt_omit_cats',
|
365 |
-
'description' => __('Select which categories do you want to exclude to share from? Blank - None', 'tweet-old-post'),
|
366 |
-
'options' => array()
|
367 |
-
),
|
368 |
-
'image-size'=>array(
|
369 |
-
'id' => '22',
|
370 |
-
'name' => __('Select image size ', 'tweet-old-post'),
|
371 |
-
'type' => 'image-list',
|
372 |
-
'slug' => 'image-sizes',
|
373 |
-
'option' => 'top_image_size_selected',
|
374 |
-
'description' => __('Select which image size you would like to use <br/> when posting on social networks', 'tweet-old-post'),
|
375 |
-
'options' => array(),
|
376 |
-
"available_pro" => "yes",
|
377 |
-
'default_value'=>"full"
|
378 |
-
)
|
379 |
-
|
380 |
-
);
|
381 |
-
|
382 |
-
// Default option values
|
383 |
-
$defaultOptions = array(
|
384 |
-
'top_opt_tweet_type' => 'title',
|
385 |
-
'top_opt_tweet_type_custom_field' => '',
|
386 |
-
'top_opt_add_text' => '',
|
387 |
-
'top_opt_add_text_at' => 'beginning',
|
388 |
-
'top_opt_include_link' => 'true',
|
389 |
-
'top_opt_custom_url_option' => 'off',
|
390 |
-
'top_opt_use_url_shortner' => 'off',
|
391 |
-
'top_opt_ga_tracking' =>'on',
|
392 |
-
'top_opt_url_shortner' => 'is.gd',
|
393 |
-
'top_opt_custom_hashtag_option' => 'nohashtag',
|
394 |
-
'top_opt_hashtags' => '',
|
395 |
-
'top_opt_hashtag_length' => '0',
|
396 |
-
'top_opt_custom_hashtag_field' => '',
|
397 |
-
'top_opt_interval' => '4',
|
398 |
-
'top_opt_age_limit' => '30',
|
399 |
-
'top_opt_max_age_limit' => '0',
|
400 |
-
'top_opt_no_of_tweet' => '1',
|
401 |
-
'top_opt_post_type' => 'post',
|
402 |
-
'top_opt_post_type_value' => 'post',
|
403 |
-
'top_opt_custom_url_field' => '',
|
404 |
-
//'top_opt_tweet_specific_category' => '',
|
405 |
-
'top_opt_omit_cats' => '',
|
406 |
-
|
407 |
-
// Not field related
|
408 |
-
'cwp_topnew_active_status' => 'false'
|
409 |
-
);
|
410 |
-
|
411 |
-
// Define "array_column" function for PHP versions older than 5.5
|
412 |
-
if(!function_exists("array_column")) {
|
413 |
-
function array_column($array, $column)
|
414 |
-
{
|
415 |
-
$ret = array();
|
416 |
-
foreach ($array as $row) $ret[] = $row[$column];
|
417 |
-
return $ret;
|
418 |
-
}
|
419 |
-
}
|
420 |
-
|
421 |
-
function top_current_page(){
|
422 |
-
$pageURL = 'http';
|
423 |
-
if (array_key_exists('HTTPS', $_SERVER) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
|
424 |
-
$pageURL .= "://";
|
425 |
-
if (@$_SERVER["SERVER_PORT"] != "80") {
|
426 |
-
$pageURL .= @$_SERVER["SERVER_NAME"].":".@$_SERVER["SERVER_PORT"].@$_SERVER["REQUEST_URI"];
|
427 |
-
} else {
|
428 |
-
$pageURL .= @$_SERVER["SERVER_NAME"].@$_SERVER["REQUEST_URI"];
|
429 |
-
}
|
430 |
-
return $pageURL;
|
431 |
-
}
|
432 |
-
|
433 |
-
function top_settings_url(){
|
434 |
-
$pageURL = get_admin_url( get_current_blog_id(), "admin.php?page=TweetOldPost" );;
|
435 |
-
return str_replace(":80","",$pageURL);
|
436 |
-
}
|
437 |
-
|
438 |
-
// Store all options in array.
|
439 |
$cwp_top_options_list = array_column($cwp_top_fields, 'option');
|
1 |
+
<?php
|
2 |
+
define("CURRENTURL", top_current_page());
|
3 |
+
|
4 |
+
if(class_exists("CWP_TOP_Core_PRO")){
|
5 |
+
define("CWP_TOP_PRO", TRUE);
|
6 |
+
}else{
|
7 |
+
define("CWP_TOP_PRO", FALSE);
|
8 |
+
}
|
9 |
+
// Settings Array
|
10 |
+
$cwp_top_settings = array(
|
11 |
+
'name' => "Revive Old Post",
|
12 |
+
'slug' => "TweetOldPost",
|
13 |
+
'oAuth_settings' => array( // Based on TOP Dev Application settings.
|
14 |
+
'oauth_access_token' => "2256465193-KDpAFIYfxpWugX2OU025b1CPs3WB0RJpgA4Gd4h",
|
15 |
+
'oauth_access_token_secret' => "abx4Er8qEJ4jI7XDW8a90obzgy8cEtovPXCUNSjmwlpb9",
|
16 |
+
'consumer_key' => "ofaYongByVpa3NDEbXa2g",
|
17 |
+
'consumer_secret' => "vTzszlMujMZCY3mVtTE6WovUKQxqv3LVgiVku276M"
|
18 |
+
)
|
19 |
+
);
|
20 |
+
$cwp_rop_remote_trigger_url = "http://portal.themeisle.com/remote_trigger";
|
21 |
+
$cwp_rop_beta_trigger_url = "http://portal.themeisle.com/beta_user";
|
22 |
+
// Added by Ash/Upwork
|
23 |
+
$cwp_rop_self_endpoint = "rop_checking_schedule";
|
24 |
+
// Added by Ash/Upwork
|
25 |
+
$cwp_top_global_schedule = array();
|
26 |
+
if(!defined('ROP_PRO_VERSION'))
|
27 |
+
$cwp_top_networks = array();
|
28 |
+
define("CWP_TOP_PRO_STRING",'<span class="cwp-pro-string">'.__("This is only available in the",'tweet-old-post')."<a href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=imagepro&utm_medium=link&utm_campaign=top&upgrade=true' target='_blank'> ".__("PRO version")."</a></span>");
|
29 |
+
define("CWP_TOP_PRO_BUSINESS_STRING",'<span class="cwp-pro-string">'.__("This is only available in the",'tweet-old-post')."<a href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=imagepro&utm_medium=link&utm_campaign=top&upgrade=true' target='_blank'> ".__("BUSINESS version")."</a></span>");
|
30 |
+
|
31 |
+
$cwp_rop_all_networks = array("twitter"=>false,"facebook"=>false,"linkedin"=>true, "xing"=>true,"tumblr"=>true);
|
32 |
+
$cwp_rop_restricted_show = array("bitly-key","bitly-user");
|
33 |
+
$cwp_format_fields = array(
|
34 |
+
|
35 |
+
'tweet-content' => array(
|
36 |
+
'id' => '1',
|
37 |
+
'name' => __('Post Content', 'tweet-old-post'),
|
38 |
+
'type' => 'select',
|
39 |
+
'slug' => 'tweet-content',
|
40 |
+
'option' => 'top_opt_tweet_type',
|
41 |
+
'description' => __('What do you want to share?', 'tweet-old-post'),
|
42 |
+
'options' => array(
|
43 |
+
'title' => __('Title Only', 'tweet-old-post'),
|
44 |
+
'body' => __('Body Only', 'tweet-old-post'),
|
45 |
+
'titlenbody' => __('Title & Body', 'tweet-old-post'),
|
46 |
+
'custom-field' => __('Custom Field', 'tweet-old-post')
|
47 |
+
),
|
48 |
+
'default_value'=>'title'
|
49 |
+
),
|
50 |
+
'top_opt_tweet_length' => array(
|
51 |
+
'id' => '1',
|
52 |
+
'name' => __('Length', 'tweet-old-post'),
|
53 |
+
'type' => 'number',
|
54 |
+
'slug' => 'tweet-length',
|
55 |
+
'option' => 'top_opt_tweet_length',
|
56 |
+
'description' => __('The length of the tweet', 'tweet-old-post'),
|
57 |
+
'max-length' => 140,
|
58 |
+
'default_value' =>140
|
59 |
+
),
|
60 |
+
|
61 |
+
'tweet-content-field' => array(
|
62 |
+
'id' => '2',
|
63 |
+
'name' => __('Post Content Custom Field', 'tweet-old-post'),
|
64 |
+
'type' => 'text',
|
65 |
+
'slug' => 'tweet-content-field',
|
66 |
+
'option' => 'top_opt_tweet_type_custom_field',
|
67 |
+
'description' => __('Which custom field do you want to fetch info from?', 'tweet-old-post'),
|
68 |
+
'options' => array(),
|
69 |
+
'default_value'=>""
|
70 |
+
),
|
71 |
+
|
72 |
+
'additional-text' => array(
|
73 |
+
'id' => '3',
|
74 |
+
'name' => __('Additional Text', 'tweet-old-post'),
|
75 |
+
'type' => 'text',
|
76 |
+
'slug' => 'additional-text',
|
77 |
+
'option' => 'top_opt_add_text',
|
78 |
+
'description' => __('Text added to your auto posts', 'tweet-old-post'),
|
79 |
+
'options' => array(),
|
80 |
+
'default_value'=>''
|
81 |
+
),
|
82 |
+
|
83 |
+
'additional-text-at' => array(
|
84 |
+
'id' => '4',
|
85 |
+
'name' => __('Additional Text At', 'tweet-old-post'),
|
86 |
+
'type' => 'select',
|
87 |
+
'slug' => 'additional-text-at',
|
88 |
+
'option' => 'top_opt_add_text_at',
|
89 |
+
'description' => __('Where do you want the text to be added?', 'tweet-old-post'),
|
90 |
+
'options' => array(
|
91 |
+
'beginning' => __('Beginning of Post', 'tweet-old-post'),
|
92 |
+
'end' => __('End of Post', 'tweet-old-post')
|
93 |
+
),
|
94 |
+
"default_value"=>"beginning"
|
95 |
+
),
|
96 |
+
|
97 |
+
'include-link' => array(
|
98 |
+
'id' => '5',
|
99 |
+
'name' => __('Include Link', 'tweet-old-post'),
|
100 |
+
'type' => 'select',
|
101 |
+
'slug' => 'include-link',
|
102 |
+
'option' => 'top_opt_include_link',
|
103 |
+
'description' => __('Include a link to your post?', 'tweet-old-post'),
|
104 |
+
'options' => array(
|
105 |
+
'true' => __('Yes', 'tweet-old-post'),
|
106 |
+
'false' => __('No', 'tweet-old-post')
|
107 |
+
),
|
108 |
+
'dependency'=> array(
|
109 |
+
"url-from-custom-field"=>"true",
|
110 |
+
"use-url-shortner"=>"true",
|
111 |
+
),
|
112 |
+
'default_value' =>"yes"
|
113 |
+
|
114 |
+
|
115 |
+
),
|
116 |
+
|
117 |
+
'url-from-custom-field' => array(
|
118 |
+
'id' => '6',
|
119 |
+
'name' => __('Fetch URL From Custom Field', 'tweet-old-post'),
|
120 |
+
'type' => 'checkbox',
|
121 |
+
'slug' => 'url-from-custom-field',
|
122 |
+
'option' => 'top_opt_custom_url_option',
|
123 |
+
'description' => __('URL will be fetched from a custom field.', 'tweet-old-post'),
|
124 |
+
'options' => '',
|
125 |
+
'dependency'=> array(
|
126 |
+
"custom-field-url"=>"true"
|
127 |
+
),
|
128 |
+
'default_value'=>''
|
129 |
+
|
130 |
+
),
|
131 |
+
|
132 |
+
'custom-field-url' => array(
|
133 |
+
'id' => '7',
|
134 |
+
'name' => __('URL Custom Field', 'tweet-old-post'),
|
135 |
+
'type' => 'text',
|
136 |
+
'slug' => 'custom-field-url',
|
137 |
+
'option' => 'top_opt_custom_url_field',
|
138 |
+
'description' => __('URL will be fetched from the specified custom field.', 'tweet-old-post'),
|
139 |
+
'options' => array(),
|
140 |
+
'default_value'=>""
|
141 |
+
),
|
142 |
+
|
143 |
+
'use-url-shortner' => array(
|
144 |
+
'id' => '8',
|
145 |
+
'name' => __('Use URL Shortner', 'tweet-old-post'),
|
146 |
+
'type' => 'checkbox',
|
147 |
+
'slug' => 'use-url-shortner',
|
148 |
+
'option' => 'top_opt_use_url_shortner',
|
149 |
+
'description' => '',
|
150 |
+
'options' => '',
|
151 |
+
'dependency'=> array(
|
152 |
+
"url-shortner"=>"true"
|
153 |
+
),
|
154 |
+
'default_value'=>"off"
|
155 |
+
),
|
156 |
+
|
157 |
+
|
158 |
+
|
159 |
+
'url-shortner' => array(
|
160 |
+
'id' => '9',
|
161 |
+
'name' => __('URL Shortner Service', 'tweet-old-post'),
|
162 |
+
'type' => 'select',
|
163 |
+
'slug' => 'url-shortner',
|
164 |
+
'option' => 'top_opt_url_shortner',
|
165 |
+
'description' => __('Shorten the link to your post.', 'tweet-old-post'),
|
166 |
+
'options' => array(
|
167 |
+
'wp_short_url' => __('wp short url', 'tweet-old-post'),
|
168 |
+
//'t.co' => __('t.co', 'tweet-old-post'),
|
169 |
+
'is.gd' => __('is.gd', 'tweet-old-post'),
|
170 |
+
'bit.ly' => __('bit.ly', 'tweet-old-post'),
|
171 |
+
//'tr.im' => __('tr.im', 'tweet-old-post'),
|
172 |
+
//'3.ly' => __('3.ly', 'tweet-old-post'),
|
173 |
+
//'u.nu' => __('u.nu', 'tweet-old-post'),
|
174 |
+
//'1click.at' => __('1click.at', 'tweet-old-post'),
|
175 |
+
//'tinyurl' => __('TinyUrl', 'tweet-old-post')
|
176 |
+
|
177 |
+
),
|
178 |
+
'dependency'=> array(
|
179 |
+
"bitly-key"=>"bit.ly",
|
180 |
+
"bitly-user"=>"bit.ly"
|
181 |
+
),
|
182 |
+
'default_value'=>'wp_short_url'
|
183 |
+
),
|
184 |
+
|
185 |
+
'bitly-key' => array(
|
186 |
+
'id' => '22',
|
187 |
+
'name' => __('Bitly Key', 'tweet-old-post'),
|
188 |
+
'type' => 'text',
|
189 |
+
'slug' => 'bitly-key',
|
190 |
+
'option' => 'top_opt_bitly_key',
|
191 |
+
'description' => '',
|
192 |
+
'options' => '',
|
193 |
+
'default_value' => '',
|
194 |
+
),
|
195 |
+
|
196 |
+
'bitly-user' => array(
|
197 |
+
'id' => '23',
|
198 |
+
'name' => __('Bitly User', 'tweet-old-post'),
|
199 |
+
'type' => 'text',
|
200 |
+
'slug' => 'bitly-user',
|
201 |
+
'option' => 'top_opt_bitly_user',
|
202 |
+
'description' => '',
|
203 |
+
'options' => '',
|
204 |
+
'default_value' => '',
|
205 |
+
),
|
206 |
+
|
207 |
+
'custom-hashtag-option' => array(
|
208 |
+
'id' => '10',
|
209 |
+
'name' => __('Hashtags', 'tweet-old-post'),
|
210 |
+
'type' => 'select',
|
211 |
+
'slug' => 'custom-hashtag-option',
|
212 |
+
'option' => 'top_opt_custom_hashtag_option',
|
213 |
+
'description' => __('Include #hashtags in your auto posts?', 'tweet-old-post'),
|
214 |
+
'options' => array(
|
215 |
+
'nohashtag' => __('Don\'t add any hashtags', 'tweet-old-post'),
|
216 |
+
'common' => __('Common hashtags for all shares', 'tweet-old-post'),
|
217 |
+
'categories'=> __('Create hashtags from Categories', 'tweet-old-post'),
|
218 |
+
'tags' => __('Create hashtags from Tags', 'tweet-old-post'),
|
219 |
+
'custom' => __('Create hashtags from Custom Fields', 'tweet-old-post')
|
220 |
+
),
|
221 |
+
'dependency'=> array(
|
222 |
+
"common-hashtags" =>"common",
|
223 |
+
"hashtags-length" =>"common,categories,tags,custom",
|
224 |
+
"common-hashtags" =>"common",
|
225 |
+
"custom-hashtag-field"=>"custom"
|
226 |
+
),
|
227 |
+
'default_value'=>'nohashtag'
|
228 |
+
),
|
229 |
+
|
230 |
+
'common-hashtags' => array(
|
231 |
+
'id' => '11',
|
232 |
+
'name' => __('Common Hashtags', 'tweet-old-post'),
|
233 |
+
'type' => 'text',
|
234 |
+
'slug' => 'common-hashtags',
|
235 |
+
'option' => 'top_opt_hashtags',
|
236 |
+
'description' => __('Specify which hashtags you want to be used. eg. #example, #example2', 'tweet-old-post'),
|
237 |
+
'options' => array(),
|
238 |
+
'default_value'=>''
|
239 |
+
),
|
240 |
+
|
241 |
+
'hashtags-length' => array(
|
242 |
+
'id' => '12',
|
243 |
+
'name' => __('Maximum Hashtags Length', 'tweet-old-post'),
|
244 |
+
'type' => 'text',
|
245 |
+
'slug' => 'hashtags-length',
|
246 |
+
'option' => 'top_opt_hashtag_length',
|
247 |
+
'description' => __('Set to 0 (characters) to include all.', 'tweet-old-post'),
|
248 |
+
'options' => array(),
|
249 |
+
'default_value'=>'20'
|
250 |
+
),
|
251 |
+
|
252 |
+
'custom-hashtag-field' => array(
|
253 |
+
'id' => '13',
|
254 |
+
'name' => __('Hashtag Custom Field', 'tweet-old-post'),
|
255 |
+
'type' => 'text',
|
256 |
+
'slug' => 'custom-hashtag-field',
|
257 |
+
'option' => 'top_opt_custom_hashtag_field',
|
258 |
+
'description' => __('Fetch hashtags from specified custom field', 'tweet-old-post'),
|
259 |
+
'options' => array(),
|
260 |
+
'default_value'=>'',
|
261 |
+
|
262 |
+
)
|
263 |
+
,
|
264 |
+
'use-image' => array(
|
265 |
+
'id' => '24',
|
266 |
+
'name' => __('Post with Image', 'tweet-old-post'),
|
267 |
+
'type' => 'checkbox',
|
268 |
+
'slug' => 'post-with-image',
|
269 |
+
'option' => 'top_opt_post_with_image',
|
270 |
+
'description' => __('Check if you want to add the post featured image to the share', 'tweet-old-post'),
|
271 |
+
'options' => array(),
|
272 |
+
"available_pro" => "yes",
|
273 |
+
'default_value'=>"off"
|
274 |
+
)
|
275 |
+
);
|
276 |
+
|
277 |
+
$cwp_top_fields = array(
|
278 |
+
|
279 |
+
|
280 |
+
'interval' => array(
|
281 |
+
'id' => '14',
|
282 |
+
'name' => __('Minimum interval between shares', 'tweet-old-post'),
|
283 |
+
'type' => 'text',
|
284 |
+
'slug' => 'interval',
|
285 |
+
'option' => 'top_opt_interval',
|
286 |
+
"available_pro" =>"no",
|
287 |
+
'description' => __('Minimum time between shares (Hour/Hours), 0.4 can be used also.', 'tweet-old-post'),
|
288 |
+
'options' => array()
|
289 |
+
|
290 |
+
),
|
291 |
+
|
292 |
+
'age-limit' => array(
|
293 |
+
'id' => '15',
|
294 |
+
'name' => __('Minimum age of post to be eligible for sharing', 'tweet-old-post'),
|
295 |
+
'type' => 'text',
|
296 |
+
'slug' => 'age-limit',
|
297 |
+
'option' => 'top_opt_age_limit',
|
298 |
+
'description' => __('Day/Days - 0 for Disabled', 'tweet-old-post'),
|
299 |
+
'options' => array()
|
300 |
+
),
|
301 |
+
|
302 |
+
'max-age-limit' => array(
|
303 |
+
'id' => '16',
|
304 |
+
'name' => __('Maximum age of post to be eligible for sharing', 'tweet-old-post'),
|
305 |
+
'type' => 'text',
|
306 |
+
'slug' => 'max-age-limit',
|
307 |
+
'option' => 'top_opt_max_age_limit',
|
308 |
+
'description' => __('Day/Days - 0 for Disabled', 'tweet-old-post'),
|
309 |
+
'options' => array()
|
310 |
+
),
|
311 |
+
|
312 |
+
'no-of-tweet' => array(
|
313 |
+
'id' => '17',
|
314 |
+
'name' => __('Number of Posts to share', 'tweet-old-post'),
|
315 |
+
'type' => 'text',
|
316 |
+
'slug' => 'no-of-tweet',
|
317 |
+
'option' => 'top_opt_no_of_tweet',
|
318 |
+
'description' => __('Number of posts to share each time', 'tweet-old-post'),
|
319 |
+
'options' => array()
|
320 |
+
),
|
321 |
+
|
322 |
+
|
323 |
+
|
324 |
+
|
325 |
+
'tweet-multiple-times' => array(
|
326 |
+
'id' => '25',
|
327 |
+
'name' => __('Share old posts more than once', 'tweet-old-post'),
|
328 |
+
'type' => 'checkbox',
|
329 |
+
'slug' => 'tweet-multiple-times',
|
330 |
+
'option' => 'top_opt_tweet_multiple_times',
|
331 |
+
'description' => __('By default once a post is shared it will not be shared again until you stop/start the plugin', 'tweet-old-post'),
|
332 |
+
'options' => array()
|
333 |
+
),
|
334 |
+
|
335 |
+
|
336 |
+
|
337 |
+
'post-type' => array(
|
338 |
+
'id' => '18',
|
339 |
+
'name' => __('Post Type', 'tweet-old-post'),
|
340 |
+
'type' => 'custom-post-type',
|
341 |
+
'slug' => 'post-type',
|
342 |
+
'option' => 'top_opt_post_type',
|
343 |
+
'description' => __('What type of items do you want to share?', 'tweet-old-post'),
|
344 |
+
'options' => array(),
|
345 |
+
"available_pro" => "yes"
|
346 |
+
|
347 |
+
),
|
348 |
+
|
349 |
+
'analytics-tracking' => array(
|
350 |
+
'id' => '26',
|
351 |
+
'name' => __('Google Analytics Campaign Tracking', 'tweet-old-post'),
|
352 |
+
'type' => 'checkbox',
|
353 |
+
'slug' => 'ga-tracking',
|
354 |
+
'option' => 'top_opt_ga_tracking',
|
355 |
+
'description' => __('Enabling Campaign Tracking you would be able to see how much traffic Revive Old Post generated.', 'tweet-old-post'),
|
356 |
+
'options' => array()
|
357 |
+
),
|
358 |
+
|
359 |
+
'exclude-specific-categories' => array(
|
360 |
+
'id' => '21',
|
361 |
+
'name' => __('Exclude Specific Categories', 'tweet-old-post'),
|
362 |
+
'type' => 'categories-list',
|
363 |
+
'slug' => 'exclude-specific-category',
|
364 |
+
'option' => 'top_opt_omit_cats',
|
365 |
+
'description' => __('Select which categories do you want to exclude to share from? Blank - None', 'tweet-old-post'),
|
366 |
+
'options' => array()
|
367 |
+
),
|
368 |
+
'image-size'=>array(
|
369 |
+
'id' => '22',
|
370 |
+
'name' => __('Select image size ', 'tweet-old-post'),
|
371 |
+
'type' => 'image-list',
|
372 |
+
'slug' => 'image-sizes',
|
373 |
+
'option' => 'top_image_size_selected',
|
374 |
+
'description' => __('Select which image size you would like to use <br/> when posting on social networks', 'tweet-old-post'),
|
375 |
+
'options' => array(),
|
376 |
+
"available_pro" => "yes",
|
377 |
+
'default_value'=>"full"
|
378 |
+
)
|
379 |
+
|
380 |
+
);
|
381 |
+
|
382 |
+
// Default option values
|
383 |
+
$defaultOptions = array(
|
384 |
+
'top_opt_tweet_type' => 'title',
|
385 |
+
'top_opt_tweet_type_custom_field' => '',
|
386 |
+
'top_opt_add_text' => '',
|
387 |
+
'top_opt_add_text_at' => 'beginning',
|
388 |
+
'top_opt_include_link' => 'true',
|
389 |
+
'top_opt_custom_url_option' => 'off',
|
390 |
+
'top_opt_use_url_shortner' => 'off',
|
391 |
+
'top_opt_ga_tracking' =>'on',
|
392 |
+
'top_opt_url_shortner' => 'is.gd',
|
393 |
+
'top_opt_custom_hashtag_option' => 'nohashtag',
|
394 |
+
'top_opt_hashtags' => '',
|
395 |
+
'top_opt_hashtag_length' => '0',
|
396 |
+
'top_opt_custom_hashtag_field' => '',
|
397 |
+
'top_opt_interval' => '4',
|
398 |
+
'top_opt_age_limit' => '30',
|
399 |
+
'top_opt_max_age_limit' => '0',
|
400 |
+
'top_opt_no_of_tweet' => '1',
|
401 |
+
'top_opt_post_type' => 'post',
|
402 |
+
'top_opt_post_type_value' => 'post',
|
403 |
+
'top_opt_custom_url_field' => '',
|
404 |
+
//'top_opt_tweet_specific_category' => '',
|
405 |
+
'top_opt_omit_cats' => '',
|
406 |
+
|
407 |
+
// Not field related
|
408 |
+
'cwp_topnew_active_status' => 'false'
|
409 |
+
);
|
410 |
+
|
411 |
+
// Define "array_column" function for PHP versions older than 5.5
|
412 |
+
if(!function_exists("array_column")) {
|
413 |
+
function array_column($array, $column)
|
414 |
+
{
|
415 |
+
$ret = array();
|
416 |
+
foreach ($array as $row) $ret[] = $row[$column];
|
417 |
+
return $ret;
|
418 |
+
}
|
419 |
+
}
|
420 |
+
|
421 |
+
function top_current_page(){
|
422 |
+
$pageURL = 'http';
|
423 |
+
if (array_key_exists('HTTPS', $_SERVER) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
|
424 |
+
$pageURL .= "://";
|
425 |
+
if (@$_SERVER["SERVER_PORT"] != "80") {
|
426 |
+
$pageURL .= @$_SERVER["SERVER_NAME"].":".@$_SERVER["SERVER_PORT"].@$_SERVER["REQUEST_URI"];
|
427 |
+
} else {
|
428 |
+
$pageURL .= @$_SERVER["SERVER_NAME"].@$_SERVER["REQUEST_URI"];
|
429 |
+
}
|
430 |
+
return $pageURL;
|
431 |
+
}
|
432 |
+
|
433 |
+
function top_settings_url(){
|
434 |
+
$pageURL = get_admin_url( get_current_blog_id(), "admin.php?page=TweetOldPost" );;
|
435 |
+
return str_replace(":80","",$pageURL);
|
436 |
+
}
|
437 |
+
|
438 |
+
// Store all options in array.
|
439 |
$cwp_top_options_list = array_column($cwp_top_fields, 'option');
|
inc/core.php
CHANGED
@@ -1,3057 +1,3312 @@
|
|
1 |
-
<?php
|
2 |
-
// Basic configuration
|
3 |
-
require_once(ROPPLUGINPATH."/inc/config.php");
|
4 |
-
// RopTwitterOAuth class
|
5 |
-
require_once(ROPPLUGINPATH."/inc/oAuth/twitteroauth.php");
|
6 |
-
|
7 |
-
// Added by Ash/Upwork
|
8 |
-
define("ROP_IS_TEST", false);
|
9 |
-
// Added by Ash/Upwork
|
10 |
-
|
11 |
-
|
12 |
-
if (!class_exists('CWP_TOP_Core')) {
|
13 |
-
class CWP_TOP_Core {
|
14 |
-
|
15 |
-
// All fields
|
16 |
-
public static $fields;
|
17 |
-
public static $networks;
|
18 |
-
// Number of fields
|
19 |
-
public static $noFields;
|
20 |
-
public $notices;
|
21 |
-
// Consumer key, Consumer Secret key, oAuth Callback Key
|
22 |
-
public $consumer;
|
23 |
-
public $lastID;
|
24 |
-
public $consumerSecret;
|
25 |
-
public $oAuthCallback;
|
26 |
-
public $bitly_key;
|
27 |
-
public $bitly_user;
|
28 |
-
// Access token, oAuth Token, oAuth Token Secret and User Information
|
29 |
-
private $cwp_top_access_token;
|
30 |
-
private $cwp_top_oauth_token;
|
31 |
-
private $cwp_top_oauth_token_secret;
|
32 |
-
|
33 |
-
public $users;
|
34 |
-
private $user_info;
|
35 |
-
|
36 |
-
// Plugin Status
|
37 |
-
public $pluginStatus;
|
38 |
-
// Interval Set
|
39 |
-
public $intervalSet;
|
40 |
-
public $cwp_twitter;
|
41 |
-
public static $date_format;
|
42 |
-
public function __construct() {
|
43 |
-
// Get all fields
|
44 |
-
global $cwp_top_fields;
|
45 |
-
global $cwp_top_networks;
|
46 |
-
|
47 |
-
|
48 |
-
$this->setAlloAuthSettings();
|
49 |
-
// Load all hooks
|
50 |
-
$this->loadAllHooks();
|
51 |
-
|
52 |
-
// Set all authentication settings
|
53 |
-
// Check if the user added any account
|
54 |
-
$this->afterAddAccountCheck();
|
55 |
-
|
56 |
-
// Save all fields in static var
|
57 |
-
self::$fields = $cwp_top_fields;
|
58 |
-
self::$networks = $cwp_top_networks;
|
59 |
-
|
60 |
-
// Save all number of fields in static var
|
61 |
-
self::$noFields = count(self::$fields);
|
62 |
-
}
|
63 |
-
public static function addNotice($message,$type){
|
64 |
-
$errors = get_option('rop_notice_active');
|
65 |
-
if(count($errors) > 30) $errors = array();
|
66 |
-
$errors[] = array(
|
67 |
-
"time"=>date('j-m-Y h:i:s A'),
|
68 |
-
'message'=>$message,
|
69 |
-
"type" => $type
|
70 |
-
);
|
71 |
-
update_option("rop_notice_active",$errors);
|
72 |
-
|
73 |
-
}
|
74 |
-
public static function clearLog(){
|
75 |
-
if(!is_admin()) return false;
|
76 |
-
update_option("rop_notice_active",array());
|
77 |
-
|
78 |
-
}
|
79 |
-
public static function addLog($m){
|
80 |
-
$m .= date('l jS \of F Y h:i:s A')." - ".$m." \n\n ";
|
81 |
-
file_put_contents("rop.log",$m,FILE_APPEND);
|
82 |
-
|
83 |
-
}
|
84 |
-
public function addLocalization() {
|
85 |
-
|
86 |
-
load_plugin_textdomain('tweet-old-post', false, dirname(ROPPLUGINBASENAME).'/languages/');
|
87 |
-
}
|
88 |
-
function checkUsers(){
|
89 |
-
if(!is_array($this->users)) $this->users = array();
|
90 |
-
if(count($this->users) == 0){
|
91 |
-
|
92 |
-
self::addNotice(__("You have no account set to post !", 'tweet-old-post'),"error");
|
93 |
-
die();
|
94 |
-
}
|
95 |
-
|
96 |
-
}
|
97 |
-
public function startTweetOldPost( )
|
98 |
-
{
|
99 |
-
if(!is_admin()) return false;
|
100 |
-
$this->checkUsers();
|
101 |
-
if($this->pluginStatus !== 'true' ) {
|
102 |
-
do_action("rop_start_posting");
|
103 |
-
}
|
104 |
-
die();
|
105 |
-
}
|
106 |
-
public function startPosting(){
|
107 |
-
|
108 |
-
update_option('cwp_topnew_active_status', 'true');
|
109 |
-
update_option('top_opt_already_tweeted_posts',array());
|
110 |
-
update_option('top_last_tweets',array());
|
111 |
-
$timeNow = $this->getTime();
|
112 |
-
$timeNow = $timeNow+15;
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
$
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
// Added by Ash/Upwork
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
//
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
}
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
foreach($
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
$
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
$
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
$
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
$
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
$
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
$
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
$
|
817 |
-
$
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
if(CWP_TOP_PRO){
|
948 |
-
global $CWP_TOP_Core_PRO;
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
}
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
$
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
?>
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
?>
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
<?php
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
$
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
$
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
-
|
1508 |
-
|
1509 |
-
|
1510 |
-
|
1511 |
-
|
1512 |
-
|
1513 |
-
|
1514 |
-
|
1515 |
-
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
1519 |
-
|
1520 |
-
|
1521 |
-
|
1522 |
-
|
1523 |
-
|
1524 |
-
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
-
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
|
1538 |
-
}
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
-
|
1560 |
-
|
1561 |
-
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
|
1636 |
-
header("Location: " .
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
-
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
-
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
-
|
1726 |
-
|
1727 |
-
|
1728 |
-
|
1729 |
-
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
update_option(
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
$
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
-
|
1767 |
-
|
1768 |
-
|
1769 |
-
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
1782 |
-
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
-
|
1791 |
-
|
1792 |
-
|
1793 |
-
|
1794 |
-
|
1795 |
-
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
-
|
1800 |
-
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
-
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
-
|
1842 |
-
|
1843 |
-
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
-
|
1851 |
-
$
|
1852 |
-
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
-
|
1889 |
-
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
$this->
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
}
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
|
1921 |
-
|
1922 |
-
|
1923 |
-
|
1924 |
-
|
1925 |
-
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
|
1953 |
-
|
1954 |
-
|
1955 |
-
|
1956 |
-
|
1957 |
-
|
1958 |
-
|
1959 |
-
|
1960 |
-
|
1961 |
-
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
-
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
1983 |
-
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
-
|
1988 |
-
|
1989 |
-
|
1990 |
-
|
1991 |
-
$
|
1992 |
-
|
1993 |
-
|
1994 |
-
|
1995 |
-
|
1996 |
-
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
|
2012 |
-
|
2013 |
-
|
2014 |
-
|
2015 |
-
|
2016 |
-
|
2017 |
-
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
-
|
2024 |
-
|
2025 |
-
|
2026 |
-
|
2027 |
-
|
2028 |
-
|
2029 |
-
|
2030 |
-
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
|
2036 |
-
|
2037 |
-
|
2038 |
-
|
2039 |
-
|
2040 |
-
$
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
|
2046 |
-
|
2047 |
-
|
2048 |
-
|
2049 |
-
|
2050 |
-
|
2051 |
-
|
2052 |
-
|
2053 |
-
|
2054 |
-
|
2055 |
-
if(!
|
2056 |
-
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
|
2061 |
-
|
2062 |
-
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
|
2068 |
-
|
2069 |
-
|
2070 |
-
|
2071 |
-
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
|
2079 |
-
|
2080 |
-
|
2081 |
-
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
-
|
2086 |
-
|
2087 |
-
|
2088 |
-
|
2089 |
-
|
2090 |
-
|
2091 |
-
|
2092 |
-
|
2093 |
-
|
2094 |
-
|
2095 |
-
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
-
|
2101 |
-
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
2106 |
-
|
2107 |
-
|
2108 |
-
|
2109 |
-
$
|
2110 |
-
|
2111 |
-
|
2112 |
-
|
2113 |
-
|
2114 |
-
|
2115 |
-
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
|
2123 |
-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
-
|
2129 |
-
|
2130 |
-
|
2131 |
-
|
2132 |
-
|
2133 |
-
|
2134 |
-
|
2135 |
-
|
2136 |
-
}
|
2137 |
-
|
2138 |
-
|
2139 |
-
|
2140 |
-
|
2141 |
-
|
2142 |
-
|
2143 |
-
|
2144 |
-
|
2145 |
-
|
2146 |
-
|
2147 |
-
|
2148 |
-
|
2149 |
-
|
2150 |
-
|
2151 |
-
|
2152 |
-
|
2153 |
-
|
2154 |
-
|
2155 |
-
|
2156 |
-
|
2157 |
-
|
2158 |
-
|
2159 |
-
}
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
|
2165 |
-
if(!is_admin()) return false;
|
2166 |
-
|
2167 |
-
$
|
2168 |
-
|
2169 |
-
|
2170 |
-
|
2171 |
-
|
2172 |
-
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
-
|
2177 |
-
|
2178 |
-
|
2179 |
-
'
|
2180 |
-
|
2181 |
-
|
2182 |
-
|
2183 |
-
'
|
2184 |
-
|
2185 |
-
|
2186 |
-
|
2187 |
-
'
|
2188 |
-
|
2189 |
-
|
2190 |
-
|
2191 |
-
'
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
'
|
2196 |
-
|
2197 |
-
|
2198 |
-
|
2199 |
-
|
2200 |
-
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
-
|
2205 |
-
|
2206 |
-
)
|
2207 |
-
|
2208 |
-
|
2209 |
-
|
2210 |
-
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
2219 |
-
|
2220 |
-
|
2221 |
-
|
2222 |
-
|
2223 |
-
|
2224 |
-
|
2225 |
-
|
2226 |
-
|
2227 |
-
|
2228 |
-
|
2229 |
-
|
2230 |
-
|
2231 |
-
|
2232 |
-
|
2233 |
-
|
2234 |
-
|
2235 |
-
|
2236 |
-
|
2237 |
-
|
2238 |
-
|
2239 |
-
|
2240 |
-
|
2241 |
-
|
2242 |
-
|
2243 |
-
|
2244 |
-
|
2245 |
-
|
2246 |
-
|
2247 |
-
|
2248 |
-
|
2249 |
-
|
2250 |
-
|
2251 |
-
|
2252 |
-
|
2253 |
-
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
|
2258 |
-
|
2259 |
-
|
2260 |
-
|
2261 |
-
|
2262 |
-
|
2263 |
-
|
2264 |
-
|
2265 |
-
|
2266 |
-
|
2267 |
-
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
2273 |
-
|
2274 |
-
|
2275 |
-
|
2276 |
-
|
2277 |
-
|
2278 |
-
|
2279 |
-
|
2280 |
-
|
2281 |
-
|
2282 |
-
|
2283 |
-
|
2284 |
-
|
2285 |
-
|
2286 |
-
|
2287 |
-
|
2288 |
-
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
2292 |
-
|
2293 |
-
|
2294 |
-
|
2295 |
-
|
2296 |
-
|
2297 |
-
|
2298 |
-
|
2299 |
-
|
2300 |
-
|
2301 |
-
|
2302 |
-
|
2303 |
-
|
2304 |
-
|
2305 |
-
|
2306 |
-
|
2307 |
-
|
2308 |
-
|
2309 |
-
|
2310 |
-
|
2311 |
-
|
2312 |
-
|
2313 |
-
|
2314 |
-
|
2315 |
-
|
2316 |
-
|
2317 |
-
|
2318 |
-
|
2319 |
-
|
2320 |
-
|
2321 |
-
|
2322 |
-
|
2323 |
-
|
2324 |
-
|
2325 |
-
|
2326 |
-
|
2327 |
-
|
2328 |
-
|
2329 |
-
|
2330 |
-
|
2331 |
-
|
2332 |
-
|
2333 |
-
|
2334 |
-
|
2335 |
-
|
2336 |
-
|
2337 |
-
|
2338 |
-
|
2339 |
-
|
2340 |
-
|
2341 |
-
|
2342 |
-
|
2343 |
-
|
2344 |
-
|
2345 |
-
|
2346 |
-
|
2347 |
-
|
2348 |
-
|
2349 |
-
|
2350 |
-
|
2351 |
-
|
2352 |
-
|
2353 |
-
|
2354 |
-
|
2355 |
-
|
2356 |
-
|
2357 |
-
|
2358 |
-
|
2359 |
-
|
2360 |
-
|
2361 |
-
|
2362 |
-
|
2363 |
-
|
2364 |
-
|
2365 |
-
|
2366 |
-
|
2367 |
-
|
2368 |
-
|
2369 |
-
|
2370 |
-
|
2371 |
-
|
2372 |
-
|
2373 |
-
|
2374 |
-
|
2375 |
-
|
2376 |
-
|
2377 |
-
|
2378 |
-
|
2379 |
-
|
2380 |
-
|
2381 |
-
|
2382 |
-
|
2383 |
-
|
2384 |
-
|
2385 |
-
|
2386 |
-
|
2387 |
-
|
2388 |
-
|
2389 |
-
|
2390 |
-
|
2391 |
-
|
2392 |
-
|
2393 |
-
|
2394 |
-
|
2395 |
-
|
2396 |
-
}
|
2397 |
-
|
2398 |
-
|
2399 |
-
|
2400 |
-
|
2401 |
-
|
2402 |
-
|
2403 |
-
|
2404 |
-
|
2405 |
-
$
|
2406 |
-
|
2407 |
-
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
2411 |
-
|
2412 |
-
|
2413 |
-
|
2414 |
-
|
2415 |
-
|
2416 |
-
|
2417 |
-
|
2418 |
-
|
2419 |
-
|
2420 |
-
|
2421 |
-
|
2422 |
-
|
2423 |
-
|
2424 |
-
|
2425 |
-
$
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
2429 |
-
|
2430 |
-
|
2431 |
-
|
2432 |
-
|
2433 |
-
|
2434 |
-
|
2435 |
-
|
2436 |
-
|
2437 |
-
|
2438 |
-
|
2439 |
-
|
2440 |
-
|
2441 |
-
|
2442 |
-
|
2443 |
-
|
2444 |
-
|
2445 |
-
|
2446 |
-
|
2447 |
-
|
2448 |
-
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
-
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
|
2460 |
-
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
2467 |
-
|
2468 |
-
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
2472 |
-
|
2473 |
-
|
2474 |
-
|
2475 |
-
|
2476 |
-
|
2477 |
-
|
2478 |
-
|
2479 |
-
|
2480 |
-
|
2481 |
-
|
2482 |
-
|
2483 |
-
|
2484 |
-
|
2485 |
-
|
2486 |
-
|
2487 |
-
|
2488 |
-
|
2489 |
-
|
2490 |
-
|
2491 |
-
|
2492 |
-
|
2493 |
-
|
2494 |
-
|
2495 |
-
|
2496 |
-
|
2497 |
-
|
2498 |
-
|
2499 |
-
|
2500 |
-
|
2501 |
-
|
2502 |
-
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
-
|
2511 |
-
|
2512 |
-
|
2513 |
-
|
2514 |
-
|
2515 |
-
|
2516 |
-
|
2517 |
-
|
2518 |
-
|
2519 |
-
|
2520 |
-
|
2521 |
-
|
2522 |
-
|
2523 |
-
|
2524 |
-
|
2525 |
-
|
2526 |
-
|
2527 |
-
|
2528 |
-
|
2529 |
-
|
2530 |
-
|
2531 |
-
|
2532 |
-
|
2533 |
-
|
2534 |
-
|
2535 |
-
|
2536 |
-
|
2537 |
-
|
2538 |
-
|
2539 |
-
|
2540 |
-
|
2541 |
-
|
2542 |
-
|
2543 |
-
|
2544 |
-
|
2545 |
-
|
2546 |
-
|
2547 |
-
|
2548 |
-
|
2549 |
-
|
2550 |
-
|
2551 |
-
|
2552 |
-
|
2553 |
-
|
2554 |
-
|
2555 |
-
|
2556 |
-
|
2557 |
-
|
2558 |
-
|
2559 |
-
|
2560 |
-
|
2561 |
-
|
2562 |
-
|
2563 |
-
|
2564 |
-
|
2565 |
-
|
2566 |
-
|
2567 |
-
|
2568 |
-
|
2569 |
-
|
2570 |
-
|
2571 |
-
|
2572 |
-
|
2573 |
-
$
|
2574 |
-
|
2575 |
-
|
2576 |
-
|
2577 |
-
|
2578 |
-
|
2579 |
-
|
2580 |
-
|
2581 |
-
|
2582 |
-
|
2583 |
-
|
2584 |
-
|
2585 |
-
|
2586 |
-
|
2587 |
-
|
2588 |
-
|
2589 |
-
|
2590 |
-
|
2591 |
-
|
2592 |
-
|
2593 |
-
|
2594 |
-
|
2595 |
-
|
2596 |
-
|
2597 |
-
|
2598 |
-
|
2599 |
-
|
2600 |
-
|
2601 |
-
|
2602 |
-
|
2603 |
-
|
2604 |
-
|
2605 |
-
|
2606 |
-
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
-
|
2611 |
-
|
2612 |
-
|
2613 |
-
|
2614 |
-
|
2615 |
-
|
2616 |
-
|
2617 |
-
|
2618 |
-
|
2619 |
-
|
2620 |
-
|
2621 |
-
|
2622 |
-
|
2623 |
-
|
2624 |
-
|
2625 |
-
|
2626 |
-
|
2627 |
-
|
2628 |
-
|
2629 |
-
|
2630 |
-
|
2631 |
-
|
2632 |
-
|
2633 |
-
//
|
2634 |
-
|
2635 |
-
|
2636 |
-
|
2637 |
-
|
2638 |
-
|
2639 |
-
|
2640 |
-
|
2641 |
-
|
2642 |
-
|
2643 |
-
|
2644 |
-
|
2645 |
-
|
2646 |
-
|
2647 |
-
|
2648 |
-
|
2649 |
-
|
2650 |
-
|
2651 |
-
|
2652 |
-
|
2653 |
-
|
2654 |
-
|
2655 |
-
|
2656 |
-
|
2657 |
-
|
2658 |
-
|
2659 |
-
|
2660 |
-
|
2661 |
-
|
2662 |
-
|
2663 |
-
|
2664 |
-
|
2665 |
-
|
2666 |
-
|
2667 |
-
|
2668 |
-
|
2669 |
-
|
2670 |
-
|
2671 |
-
|
2672 |
-
|
2673 |
-
|
2674 |
-
|
2675 |
-
|
2676 |
-
|
2677 |
-
|
2678 |
-
|
2679 |
-
|
2680 |
-
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
|
2686 |
-
|
2687 |
-
|
2688 |
-
|
2689 |
-
|
2690 |
-
|
2691 |
-
|
2692 |
-
|
2693 |
-
|
2694 |
-
|
2695 |
-
|
2696 |
-
|
2697 |
-
|
2698 |
-
|
2699 |
-
|
2700 |
-
|
2701 |
-
$
|
2702 |
-
|
2703 |
-
|
2704 |
-
|
2705 |
-
|
2706 |
-
|
2707 |
-
|
2708 |
-
|
2709 |
-
|
2710 |
-
|
2711 |
-
|
2712 |
-
|
2713 |
-
|
2714 |
-
|
2715 |
-
|
2716 |
-
|
2717 |
-
|
2718 |
-
|
2719 |
-
|
2720 |
-
|
2721 |
-
|
2722 |
-
|
2723 |
-
|
2724 |
-
|
2725 |
-
|
2726 |
-
|
2727 |
-
|
2728 |
-
|
2729 |
-
|
2730 |
-
|
2731 |
-
|
2732 |
-
|
2733 |
-
|
2734 |
-
|
2735 |
-
|
2736 |
-
|
2737 |
-
|
2738 |
-
|
2739 |
-
|
2740 |
-
|
2741 |
-
|
2742 |
-
|
2743 |
-
|
2744 |
-
|
2745 |
-
|
2746 |
-
|
2747 |
-
|
2748 |
-
|
2749 |
-
|
2750 |
-
|
2751 |
-
|
2752 |
-
|
2753 |
-
|
2754 |
-
|
2755 |
-
|
2756 |
-
|
2757 |
-
|
2758 |
-
|
2759 |
-
|
2760 |
-
|
2761 |
-
|
2762 |
-
|
2763 |
-
|
2764 |
-
|
2765 |
-
|
2766 |
-
|
2767 |
-
|
2768 |
-
|
2769 |
-
|
2770 |
-
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
|
2781 |
-
|
2782 |
-
|
2783 |
-
|
2784 |
-
|
2785 |
-
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
2790 |
-
|
2791 |
-
|
2792 |
-
|
2793 |
-
|
2794 |
-
|
2795 |
-
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
2799 |
-
|
2800 |
-
|
2801 |
-
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
-
|
2812 |
-
|
2813 |
-
|
2814 |
-
|
2815 |
-
|
2816 |
-
|
2817 |
-
|
2818 |
-
|
2819 |
-
|
2820 |
-
|
2821 |
-
|
2822 |
-
|
2823 |
-
|
2824 |
-
|
2825 |
-
|
2826 |
-
|
2827 |
-
|
2828 |
-
|
2829 |
-
|
2830 |
-
|
2831 |
-
|
2832 |
-
|
2833 |
-
|
2834 |
-
|
2835 |
-
|
2836 |
-
|
2837 |
-
|
2838 |
-
|
2839 |
-
|
2840 |
-
|
2841 |
-
|
2842 |
-
|
2843 |
-
|
2844 |
-
|
2845 |
-
|
2846 |
-
|
2847 |
-
|
2848 |
-
|
2849 |
-
|
2850 |
-
|
2851 |
-
|
2852 |
-
|
2853 |
-
|
2854 |
-
);
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
-
|
2859 |
-
|
2860 |
-
|
2861 |
-
//
|
2862 |
-
|
2863 |
-
|
2864 |
-
|
2865 |
-
|
2866 |
-
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
-
|
2891 |
-
|
2892 |
-
|
2893 |
-
|
2894 |
-
|
2895 |
-
|
2896 |
-
|
2897 |
-
|
2898 |
-
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
-
|
2903 |
-
|
2904 |
-
|
2905 |
-
|
2906 |
-
|
2907 |
-
|
2908 |
-
|
2909 |
-
|
2910 |
-
|
2911 |
-
|
2912 |
-
|
2913 |
-
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
-
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
-
|
2923 |
-
|
2924 |
-
|
2925 |
-
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
-
|
2932 |
-
|
2933 |
-
|
2934 |
-
|
2935 |
-
|
2936 |
-
|
2937 |
-
|
2938 |
-
|
2939 |
-
|
2940 |
-
|
2941 |
-
|
2942 |
-
|
2943 |
-
|
2944 |
-
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
-
|
2951 |
-
|
2952 |
-
|
2953 |
-
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
-
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
2968 |
-
|
2969 |
-
|
2970 |
-
|
2971 |
-
|
2972 |
-
|
2973 |
-
|
2974 |
-
|
2975 |
-
|
2976 |
-
|
2977 |
-
|
2978 |
-
|
2979 |
-
|
2980 |
-
|
2981 |
-
|
2982 |
-
|
2983 |
-
|
2984 |
-
|
2985 |
-
|
2986 |
-
|
2987 |
-
|
2988 |
-
|
2989 |
-
|
2990 |
-
|
2991 |
-
|
2992 |
-
|
2993 |
-
|
2994 |
-
|
2995 |
-
|
2996 |
-
|
2997 |
-
|
2998 |
-
|
2999 |
-
|
3000 |
-
|
3001 |
-
|
3002 |
-
|
3003 |
-
|
3004 |
-
|
3005 |
-
|
3006 |
-
|
3007 |
-
|
3008 |
-
|
3009 |
-
|
3010 |
-
|
3011 |
-
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
-
|
3016 |
-
|
3017 |
-
|
3018 |
-
|
3019 |
-
|
3020 |
-
|
3021 |
-
|
3022 |
-
|
3023 |
-
|
3024 |
-
|
3025 |
-
|
3026 |
-
|
3027 |
-
|
3028 |
-
|
3029 |
-
|
3030 |
-
|
3031 |
-
|
3032 |
-
|
3033 |
-
|
3034 |
-
|
3035 |
-
|
3036 |
-
|
3037 |
-
|
3038 |
-
|
3039 |
-
|
3040 |
-
|
3041 |
-
|
3042 |
-
|
3043 |
-
|
3044 |
-
|
3045 |
-
|
3046 |
-
{
|
3047 |
-
|
3048 |
-
|
3049 |
-
|
3050 |
-
|
3051 |
-
|
3052 |
-
|
3053 |
-
|
3054 |
-
|
3055 |
-
|
3056 |
-
|
3057 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Basic configuration
|
3 |
+
require_once(ROPPLUGINPATH."/inc/config.php");
|
4 |
+
// RopTwitterOAuth class
|
5 |
+
require_once(ROPPLUGINPATH."/inc/oAuth/twitteroauth.php");
|
6 |
+
|
7 |
+
// Added by Ash/Upwork
|
8 |
+
define("ROP_IS_TEST", false);
|
9 |
+
// Added by Ash/Upwork
|
10 |
+
|
11 |
+
|
12 |
+
if (!class_exists('CWP_TOP_Core')) {
|
13 |
+
class CWP_TOP_Core {
|
14 |
+
|
15 |
+
// All fields
|
16 |
+
public static $fields;
|
17 |
+
public static $networks;
|
18 |
+
// Number of fields
|
19 |
+
public static $noFields;
|
20 |
+
public $notices;
|
21 |
+
// Consumer key, Consumer Secret key, oAuth Callback Key
|
22 |
+
public $consumer;
|
23 |
+
public $lastID;
|
24 |
+
public $consumerSecret;
|
25 |
+
public $oAuthCallback;
|
26 |
+
public $bitly_key;
|
27 |
+
public $bitly_user;
|
28 |
+
// Access token, oAuth Token, oAuth Token Secret and User Information
|
29 |
+
private $cwp_top_access_token;
|
30 |
+
private $cwp_top_oauth_token;
|
31 |
+
private $cwp_top_oauth_token_secret;
|
32 |
+
|
33 |
+
public $users;
|
34 |
+
private $user_info;
|
35 |
+
|
36 |
+
// Plugin Status
|
37 |
+
public $pluginStatus;
|
38 |
+
// Interval Set
|
39 |
+
public $intervalSet;
|
40 |
+
public $cwp_twitter;
|
41 |
+
public static $date_format;
|
42 |
+
public function __construct() {
|
43 |
+
// Get all fields
|
44 |
+
global $cwp_top_fields;
|
45 |
+
global $cwp_top_networks;
|
46 |
+
|
47 |
+
|
48 |
+
$this->setAlloAuthSettings();
|
49 |
+
// Load all hooks
|
50 |
+
$this->loadAllHooks();
|
51 |
+
|
52 |
+
// Set all authentication settings
|
53 |
+
// Check if the user added any account
|
54 |
+
$this->afterAddAccountCheck();
|
55 |
+
|
56 |
+
// Save all fields in static var
|
57 |
+
self::$fields = $cwp_top_fields;
|
58 |
+
self::$networks = $cwp_top_networks;
|
59 |
+
|
60 |
+
// Save all number of fields in static var
|
61 |
+
self::$noFields = count(self::$fields);
|
62 |
+
}
|
63 |
+
public static function addNotice($message,$type){
|
64 |
+
$errors = get_option('rop_notice_active');
|
65 |
+
if(count($errors) > 30) $errors = array();
|
66 |
+
$errors[] = array(
|
67 |
+
"time"=>date('j-m-Y h:i:s A'),
|
68 |
+
'message'=>$message,
|
69 |
+
"type" => $type
|
70 |
+
);
|
71 |
+
update_option("rop_notice_active",$errors);
|
72 |
+
|
73 |
+
}
|
74 |
+
public static function clearLog(){
|
75 |
+
if(!is_admin()) return false;
|
76 |
+
update_option("rop_notice_active",array());
|
77 |
+
|
78 |
+
}
|
79 |
+
public static function addLog($m){
|
80 |
+
$m .= date('l jS \of F Y h:i:s A')." - ".$m." \n\n ";
|
81 |
+
file_put_contents("rop.log",$m,FILE_APPEND);
|
82 |
+
|
83 |
+
}
|
84 |
+
public function addLocalization() {
|
85 |
+
|
86 |
+
load_plugin_textdomain('tweet-old-post', false, dirname(ROPPLUGINBASENAME).'/languages/');
|
87 |
+
}
|
88 |
+
function checkUsers(){
|
89 |
+
if(!is_array($this->users)) $this->users = array();
|
90 |
+
if(count($this->users) == 0){
|
91 |
+
|
92 |
+
self::addNotice(__("You have no account set to post !", 'tweet-old-post'),"error");
|
93 |
+
die();
|
94 |
+
}
|
95 |
+
|
96 |
+
}
|
97 |
+
public function startTweetOldPost( )
|
98 |
+
{
|
99 |
+
if(!is_admin()) return false;
|
100 |
+
$this->checkUsers();
|
101 |
+
if($this->pluginStatus !== 'true' ) {
|
102 |
+
do_action("rop_start_posting");
|
103 |
+
}
|
104 |
+
die();
|
105 |
+
}
|
106 |
+
public function startPosting(){
|
107 |
+
|
108 |
+
update_option('cwp_topnew_active_status', 'true');
|
109 |
+
update_option('top_opt_already_tweeted_posts',array());
|
110 |
+
update_option('top_last_tweets',array());
|
111 |
+
$timeNow = $this->getTime();
|
112 |
+
$timeNow = $timeNow+15;
|
113 |
+
// Added by Ash/Upwork for advanced scheduling
|
114 |
+
set_transient('top_firstpost_time', $timeNow, 15);
|
115 |
+
//error_log("first post time " . date("g:i:s A", $timeNow));
|
116 |
+
// Added by Ash/Upwork for advanced scheduling
|
117 |
+
|
118 |
+
$this->clearScheduledTweets();
|
119 |
+
$networks = $this->getAvailableNetworks();
|
120 |
+
|
121 |
+
foreach($networks as $network){
|
122 |
+
wp_schedule_single_event($timeNow,$network.'roptweetcron',array($network));
|
123 |
+
}
|
124 |
+
|
125 |
+
}
|
126 |
+
|
127 |
+
public function stopPosting(){
|
128 |
+
|
129 |
+
// Set it to inactive status
|
130 |
+
update_option('cwp_topnew_active_status', 'false');
|
131 |
+
update_option('cwp_topnew_notice', '');
|
132 |
+
update_option('top_opt_already_tweeted_posts',array());
|
133 |
+
|
134 |
+
// Clear all scheduled tweets
|
135 |
+
$this->clearScheduledTweets();
|
136 |
+
}
|
137 |
+
public function stopTweetOldPost()
|
138 |
+
{
|
139 |
+
if(!is_admin()) return false;
|
140 |
+
//echo $this->pluginStatus;
|
141 |
+
// If the plugin is active
|
142 |
+
if($this->pluginStatus !== 'false') {
|
143 |
+
do_action("rop_stop_posting");
|
144 |
+
}
|
145 |
+
|
146 |
+
die(); // Required for AJAX
|
147 |
+
}
|
148 |
+
|
149 |
+
public function getExcludedPosts($ntk=null) {
|
150 |
+
|
151 |
+
$postQueryPosts = "";
|
152 |
+
$postPosts = get_option('top_opt_excluded_post');
|
153 |
+
|
154 |
+
if(!empty($postPosts) && is_array($postPosts)) {
|
155 |
+
$postQueryPosts = implode(',',$postPosts);
|
156 |
+
}
|
157 |
+
else
|
158 |
+
$postQueryPosts = get_option('top_opt_excluded_post');
|
159 |
+
|
160 |
+
// Added by Ash/Upwork
|
161 |
+
if($ntk){
|
162 |
+
$excludePosts = get_option("cwp_top_exclude_from_" . $ntk);
|
163 |
+
if(!is_array($excludePosts)){
|
164 |
+
$excludePosts = array();
|
165 |
+
}
|
166 |
+
if(!is_array($postQueryPosts)){
|
167 |
+
$postQueryPosts = explode(",", $postQueryPosts);
|
168 |
+
}
|
169 |
+
if(!is_array($postQueryPosts)){
|
170 |
+
$postQueryPosts = array();
|
171 |
+
}
|
172 |
+
$postQueryPosts = array_merge($postQueryPosts, $excludePosts);
|
173 |
+
$postQueryPosts = implode(",", $postQueryPosts);
|
174 |
+
}
|
175 |
+
// Added by Ash/Upwork
|
176 |
+
return $postQueryPosts;
|
177 |
+
|
178 |
+
}
|
179 |
+
|
180 |
+
public function getTweetsFromDBbyID($id)
|
181 |
+
{
|
182 |
+
global $wpdb;
|
183 |
+
$query = "
|
184 |
+
SELECT * FROM {$wpdb->prefix}posts where ID = '{$id}'";
|
185 |
+
$returnedPost = $wpdb->get_results($query);
|
186 |
+
//echo $query;
|
187 |
+
return $returnedPost;
|
188 |
+
}
|
189 |
+
|
190 |
+
// Added by Ash/Upwork
|
191 |
+
/**
|
192 |
+
* This will get the postIDs for the particular network
|
193 |
+
*/
|
194 |
+
private function getAlreadyTweetedPosts($ntk){
|
195 |
+
$array = array();
|
196 |
+
if(!$ntk) return $array;
|
197 |
+
|
198 |
+
$opt = get_option("top_opt_posts_buffer_" . $ntk, array());
|
199 |
+
if(!$opt || !is_array($opt)) return $array;
|
200 |
+
|
201 |
+
return $opt;
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* This will add the postID to the network buffer to note which post was posted on which network
|
206 |
+
*/
|
207 |
+
public function setAlreadyTweetedPosts($ntk, $postID){
|
208 |
+
if(!$ntk || !$postID) return;
|
209 |
+
$opt = get_option("top_opt_posts_buffer_" . $ntk, array());
|
210 |
+
if(!$opt || !is_array($opt)){
|
211 |
+
$opt = array();
|
212 |
+
}
|
213 |
+
$opt[] = $postID;
|
214 |
+
|
215 |
+
|
216 |
+
update_option("top_opt_posts_buffer_" . $ntk, $opt);
|
217 |
+
}
|
218 |
+
|
219 |
+
/**
|
220 |
+
* This will clear the network buffer
|
221 |
+
*/
|
222 |
+
private function clearAlreadyTweetedPosts($ntk){
|
223 |
+
if(!$ntk) return;
|
224 |
+
delete_option("top_opt_posts_buffer_" . $ntk);
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* This is a test method that will be fired on admin_init. Only to be used for testing.
|
229 |
+
* In production, this function will just return harmlessly
|
230 |
+
*/
|
231 |
+
public function doTestAction(){
|
232 |
+
if(!ROP_IS_TEST) return;
|
233 |
+
|
234 |
+
$networks = array("twitter", "facebook", "linkedin", "tumblr");
|
235 |
+
$ntk = $networks[array_rand($networks)];
|
236 |
+
for($x = 0; $x < rand(0,5); $x++) $this->setAlreadyTweetedPosts($ntk, rand(0,100));
|
237 |
+
echo "<pre>network=".$ntk.print_r($this->getAlreadyTweetedPosts($ntk),true). "</pre>";
|
238 |
+
}
|
239 |
+
|
240 |
+
// Added by Ash/Upwork
|
241 |
+
|
242 |
+
public function getTweetsFromDB($ntk=null, $clearNetworkBuffer=false, $tweetCount=null)
|
243 |
+
{
|
244 |
+
global $wpdb;
|
245 |
+
$limit = 50;
|
246 |
+
// Generate the Tweet Post Date Range
|
247 |
+
$dateQuery = $this->getTweetPostDateRange();
|
248 |
+
if(!is_array($dateQuery)) return false;
|
249 |
+
// Get the number of tweets to be tweeted each interval.
|
250 |
+
if($tweetCount){
|
251 |
+
$limit = $tweetCount;
|
252 |
+
}else{
|
253 |
+
$tweetCount = intval(get_option('top_opt_no_of_tweet'));
|
254 |
+
}
|
255 |
+
if($tweetCount == 0 ) {
|
256 |
+
self::addNotice("Invalid number for Number of Posts to share. It must be a value greater than 0 ",'error');
|
257 |
+
return false;
|
258 |
+
}
|
259 |
+
// Get post categories set.
|
260 |
+
// $postQueryCategories = $this->getTweetCategories();
|
261 |
+
$excludedIds = "";
|
262 |
+
// Added by Ash/Upwork
|
263 |
+
$tweetedPosts = $this->getAlreadyTweetedPosts($ntk);
|
264 |
+
/*
|
265 |
+
$tweetedPosts = get_option("top_opt_already_tweeted_posts");
|
266 |
+
if(!is_array($tweetedPosts)) $tweetedPosts = array();
|
267 |
+
|
268 |
+
if (get_option('top_opt_tweet_multiple_times')=="on") {
|
269 |
+
|
270 |
+
$tweetedPosts = array();
|
271 |
+
}
|
272 |
+
*/
|
273 |
+
$postQueryExcludedPosts = $this->getExcludedPosts($ntk);
|
274 |
+
$postQueryExcludedPosts = explode (',',$postQueryExcludedPosts);
|
275 |
+
$excluded = array_merge($tweetedPosts,$postQueryExcludedPosts);
|
276 |
+
$excluded = array_unique($excluded);
|
277 |
+
$excluded = array_filter($excluded);
|
278 |
+
$postQueryExcludedCategories = $this->getExcludedCategories();
|
279 |
+
$somePostType = $this->getTweetPostType();
|
280 |
+
// Generate dynamic query.
|
281 |
+
$query = "
|
282 |
+
SELECT {$wpdb->prefix}posts.ID
|
283 |
+
FROM {$wpdb->prefix}posts
|
284 |
+
LEFT JOIN {$wpdb->prefix}term_relationships ON ({$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id)
|
285 |
+
WHERE 1=1 ";
|
286 |
+
|
287 |
+
// Added by Ash/Upwork
|
288 |
+
if(array_key_exists("before", $dateQuery)){
|
289 |
+
$query .= "AND post_date >= '{$dateQuery['before']}' ";
|
290 |
+
}
|
291 |
+
if(array_key_exists("after", $dateQuery)){
|
292 |
+
$query .= "AND post_date <= '{$dateQuery['after']}' ";
|
293 |
+
}
|
294 |
+
// Added by Ash/Upwork
|
295 |
+
|
296 |
+
// If there are no categories set, select the post from all.
|
297 |
+
//if(!empty($postQueryCategories)) {
|
298 |
+
// $query .= "AND (wp_term_relationships.term_taxonomy_id IN ({$postQueryCategories})) ";
|
299 |
+
// }
|
300 |
+
|
301 |
+
if(!empty($postQueryExcludedCategories)) {
|
302 |
+
$query .= "AND ( {$wpdb->prefix}posts.ID NOT IN (
|
303 |
+
SELECT object_id
|
304 |
+
FROM {$wpdb->prefix}term_relationships
|
305 |
+
INNER JOIN {$wpdb->prefix}term_taxonomy ON ( {$wpdb->prefix}term_relationships.term_taxonomy_id = {$wpdb->prefix}term_taxonomy.term_taxonomy_id )
|
306 |
+
WHERE {$wpdb->prefix}term_taxonomy.term_id IN ({$postQueryExcludedCategories}))) ";
|
307 |
+
}
|
308 |
+
|
309 |
+
if(!empty($excluded)) {
|
310 |
+
$excluded = implode(',',$excluded);
|
311 |
+
$query .= "AND ( {$wpdb->prefix}posts.ID NOT IN ({$excluded})) ";
|
312 |
+
}
|
313 |
+
if(!empty($somePostType)){
|
314 |
+
$somePostType = explode(',',$somePostType);
|
315 |
+
$somePostType = "'".implode("','",$somePostType)."'";
|
316 |
+
}
|
317 |
+
|
318 |
+
// Added by Ash/Upwork
|
319 |
+
// Use a more efficient = condition than a costly IN condition if only one type is present
|
320 |
+
if(!empty($somePostType)){
|
321 |
+
if(strpos($somePostType, ",") !== FALSE){
|
322 |
+
$query .= "AND {$wpdb->prefix}posts.post_type IN ({$somePostType}) ";
|
323 |
+
}else{
|
324 |
+
$query .= "AND {$wpdb->prefix}posts.post_type = ({$somePostType}) ";
|
325 |
+
}
|
326 |
+
}
|
327 |
+
// Added by Ash/Upwork
|
328 |
+
|
329 |
+
$query .= "AND ({$wpdb->prefix}posts.post_status = 'publish')
|
330 |
+
GROUP BY {$wpdb->prefix}posts.ID ";
|
331 |
+
if(!ROP_IS_TEST){
|
332 |
+
$query .= "order by RAND() ";
|
333 |
+
}
|
334 |
+
$query .= "limit {$limit}";
|
335 |
+
|
336 |
+
$returnedPost = $wpdb->get_results( $query);
|
337 |
+
|
338 |
+
//self::addLog("rows " . count($returnedPost) . " from " . $query);
|
339 |
+
|
340 |
+
// Added by Ash/Upwork
|
341 |
+
// If the number of posts found is zero and a post can be shared multiple times, lets clear the buffer and fetch again
|
342 |
+
if($ntk && !$clearNetworkBuffer && count($returnedPost) == 0 && get_option('top_opt_tweet_multiple_times') == "on"){
|
343 |
+
//self::addLog("clearing for $ntk!!");
|
344 |
+
$this->clearAlreadyTweetedPosts($ntk);
|
345 |
+
return $this->getTweetsFromDB($ntk, true);
|
346 |
+
}
|
347 |
+
// Added by Ash/Upwork
|
348 |
+
|
349 |
+
if(count($returnedPost) > $tweetCount) {
|
350 |
+
$rand_keys = array_rand( $returnedPost, $tweetCount );
|
351 |
+
|
352 |
+
if ( is_int( $rand_keys ) ) {
|
353 |
+
$rand_keys = array( $rand_keys );
|
354 |
+
}
|
355 |
+
$return = array();
|
356 |
+
|
357 |
+
foreach ( $rand_keys as $rk ) {
|
358 |
+
$return[] = $returnedPost[ $rk ];
|
359 |
+
}
|
360 |
+
$returnedPost = $return;
|
361 |
+
if ( count( $returnedPost ) > $tweetCount ) {
|
362 |
+
$returnedPost = array_slice( $returnedPost, 0, $tweetCount );
|
363 |
+
}
|
364 |
+
}
|
365 |
+
$ids = array();
|
366 |
+
foreach($returnedPost as $rp){
|
367 |
+
$ids[] = $rp->ID;
|
368 |
+
|
369 |
+
}
|
370 |
+
|
371 |
+
|
372 |
+
$returnedPost = array();
|
373 |
+
if(!empty($ids))
|
374 |
+
$returnedPost = $wpdb->get_results("select * from {$wpdb->prefix}posts where ID in (".implode(",",$ids).") ");
|
375 |
+
|
376 |
+
return $returnedPost;
|
377 |
+
|
378 |
+
}
|
379 |
+
public function isPostWithImageEnabled ($ntk = "twitter") {
|
380 |
+
$options = get_option("top_opt_post_formats");
|
381 |
+
$format_fields = $this->getFormatFields();
|
382 |
+
$value = isset($options[$ntk."_".$format_fields[$ntk]["use-image"]['option']]) ? $options[$ntk."_".$format_fields[$ntk]["use-image"]['option']] : get_option("top_opt_post_with_image") ;
|
383 |
+
if ($value !='on')
|
384 |
+
return false;
|
385 |
+
else
|
386 |
+
return true;
|
387 |
+
}
|
388 |
+
public function getUsers(){
|
389 |
+
$users = apply_filters("rop_users_filter",get_option('cwp_top_logged_in_users'));
|
390 |
+
return is_array($users) ? $users : array();
|
391 |
+
|
392 |
+
|
393 |
+
}
|
394 |
+
public function checkNetworkLock($ntk){
|
395 |
+
if ( wp_using_ext_object_cache() ) {
|
396 |
+
$value = wp_cache_get( $ntk.'roplock', 'transient', true );
|
397 |
+
return ( false !== $value) ;
|
398 |
+
} else {
|
399 |
+
|
400 |
+
|
401 |
+
return (false !== ( $value = get_transient( $ntk.'roplock' ) ));
|
402 |
+
}
|
403 |
+
|
404 |
+
|
405 |
+
|
406 |
+
|
407 |
+
}
|
408 |
+
public function setNetworkLock($ntk){
|
409 |
+
if ( wp_using_ext_object_cache() ) {
|
410 |
+
wp_cache_set( $ntk.'roplock', "lock", 'transient', 5 * MINUTE_IN_SECONDS );
|
411 |
+
} else {
|
412 |
+
set_transient( $ntk.'roplock' , "lock",5 * MINUTE_IN_SECONDS);
|
413 |
+
}
|
414 |
+
|
415 |
+
}
|
416 |
+
public function deleteNetworkLock($ntk){
|
417 |
+
if ( wp_using_ext_object_cache() ) {
|
418 |
+
wp_cache_delete($ntk.'roplock','transient');
|
419 |
+
} else {
|
420 |
+
delete_transient($ntk.'roplock');
|
421 |
+
}
|
422 |
+
|
423 |
+
}
|
424 |
+
|
425 |
+
public function tweetOldPost($ntk = "",$byID = false)
|
426 |
+
|
427 |
+
{
|
428 |
+
if ( $this->checkNetworkLock($ntk) && $byID === false ) return false;
|
429 |
+
|
430 |
+
|
431 |
+
$this->setNetworkLock($ntk);
|
432 |
+
if ($byID!==false) {
|
433 |
+
|
434 |
+
$returnedPost = $this->getTweetsFromDBbyID($byID);
|
435 |
+
}else{
|
436 |
+
$returnedPost = $this->getTweetsFromDB($ntk);
|
437 |
+
if(!is_array($returnedPost)) return false;
|
438 |
+
}
|
439 |
+
if (count($returnedPost) == 0 ) {
|
440 |
+
self::addNotice(__('There is no suitable post to tweet make sure you excluded correct categories and selected the right dates.','tweet-old-post'),'error');
|
441 |
+
}
|
442 |
+
$users = $this->getUsers();
|
443 |
+
foreach($returnedPost as $post){
|
444 |
+
$oknet = false;
|
445 |
+
foreach($users as $u){
|
446 |
+
if($u['service'] == $ntk){
|
447 |
+
$oknet = true;
|
448 |
+
break;
|
449 |
+
}
|
450 |
+
}
|
451 |
+
if(!$oknet) return false;
|
452 |
+
$finalTweet = $this->generateTweetFromPost($post,$ntk);
|
453 |
+
$this->tweetPost( $finalTweet, $ntk, $post );
|
454 |
+
$this->setAlreadyTweetedPosts($ntk, $post->ID);
|
455 |
+
}
|
456 |
+
if ($byID===false) {
|
457 |
+
$this->scheduleTweet($ntk);
|
458 |
+
}
|
459 |
+
|
460 |
+
|
461 |
+
$this->deleteNetworkLock($ntk);
|
462 |
+
}
|
463 |
+
|
464 |
+
public function scheduleTweet($ntk){
|
465 |
+
$time = $this->getNextTweetTime( $ntk );
|
466 |
+
|
467 |
+
if($time != 0 && $time > $this->getTime()){
|
468 |
+
if(wp_next_scheduled( $ntk.'roptweetcron',array($ntk) ) === false) {
|
469 |
+
wp_schedule_single_event( $time, $ntk . 'roptweetcron', array( $ntk ) );
|
470 |
+
}
|
471 |
+
}else{
|
472 |
+
self::addNotice(__("Invalid next schedule: ",'tweet-old-post').date ( 'M j, Y @ G:i',$time),'error');
|
473 |
+
}
|
474 |
+
}
|
475 |
+
public function getAvailableNetworks(){
|
476 |
+
$networks = array();
|
477 |
+
$users = is_array($this->users) ? $this->users : array();
|
478 |
+
foreach($users as $u){
|
479 |
+
if(!in_array($u['service'],$networks))
|
480 |
+
$networks[] = $u['service'];
|
481 |
+
}
|
482 |
+
|
483 |
+
return $networks;
|
484 |
+
}
|
485 |
+
|
486 |
+
public function getAllNetworks($all = false){
|
487 |
+
global $cwp_rop_all_networks;
|
488 |
+
if(empty($cwp_rop_all_networks)) return array();
|
489 |
+
|
490 |
+
return ($all) ? $cwp_rop_all_networks : array_keys($cwp_rop_all_networks);
|
491 |
+
}
|
492 |
+
public function findInString($where,$what) {
|
493 |
+
if (!is_string($where)) {
|
494 |
+
return false;
|
495 |
+
}
|
496 |
+
else
|
497 |
+
return strpos($where,$what);
|
498 |
+
}
|
499 |
+
|
500 |
+
public function getNotice() {
|
501 |
+
if(!is_admin()) return false;
|
502 |
+
$notice = get_option('rop_notice_active');
|
503 |
+
if(!is_array($notice)) $notice = array();
|
504 |
+
|
505 |
+
foreach($notice as $k=>$n){
|
506 |
+
$notice[$k]['message'] = strip_tags($n['message']);
|
507 |
+
}
|
508 |
+
echo json_encode($notice);
|
509 |
+
die();
|
510 |
+
}
|
511 |
+
|
512 |
+
public function tweetNow() {
|
513 |
+
if(!is_admin()) return false;
|
514 |
+
$networks = $this->getAvailableNetworks();
|
515 |
+
foreach($networks as $net){
|
516 |
+
|
517 |
+
$this->tweetOldPost($net,get_option('top_lastID'));
|
518 |
+
}
|
519 |
+
die();
|
520 |
+
}
|
521 |
+
|
522 |
+
public function viewSampleTweet()
|
523 |
+
{
|
524 |
+
|
525 |
+
if(!is_admin()) return false;
|
526 |
+
$returnedTweets = $this->getTweetsFromDB();
|
527 |
+
|
528 |
+
$messages = array();
|
529 |
+
$networks = $this->getAvailableNetworks();
|
530 |
+
|
531 |
+
if(count($returnedTweets) == 0) {
|
532 |
+
foreach($networks as $net){
|
533 |
+
$messages[$net] = __("No posts to share",'tweet-old-post');
|
534 |
+
}
|
535 |
+
$networks = array();
|
536 |
+
}
|
537 |
+
foreach($networks as $n) {
|
538 |
+
|
539 |
+
$finalTweetsPreview = $this->generateTweetFromPost($returnedTweets[0],$n);
|
540 |
+
if (is_array($finalTweetsPreview)){
|
541 |
+
$finalTweetsPreview = $finalTweetsPreview['message']." ".$finalTweetsPreview['link'];
|
542 |
+
}
|
543 |
+
$messages[$n] = $finalTweetsPreview;
|
544 |
+
}
|
545 |
+
if(isset($returnedTweets[0]))
|
546 |
+
update_option( 'top_lastID', $returnedTweets[0]->ID);
|
547 |
+
|
548 |
+
foreach($networks as $n) {
|
549 |
+
$image = $this->getImageForPost($n, $returnedTweets[0]->ID);
|
550 |
+
if(!empty($image)){
|
551 |
+
$messages[$n] = '<img class="top_preview" src="'.$image.'"/>'.$messages[$n];
|
552 |
+
}
|
553 |
+
}
|
554 |
+
|
555 |
+
echo json_encode($messages);
|
556 |
+
|
557 |
+
|
558 |
+
die(); // required
|
559 |
+
}
|
560 |
+
|
561 |
+
// Added by Ash/Upwork
|
562 |
+
function sortPosts($all){
|
563 |
+
uasort($all, array($this, "sortPostsByTimeDesc"));
|
564 |
+
return $all;
|
565 |
+
}
|
566 |
+
|
567 |
+
function sortPostsByTimeDesc($x, $y){
|
568 |
+
if($x["time"] == $y["time"]) return 0;
|
569 |
+
|
570 |
+
return $x["time"] < $y["time"] ? -1 : 1;
|
571 |
+
}
|
572 |
+
|
573 |
+
function getImageForPost($n, $postID){
|
574 |
+
if (ROP_IS_TEST || (CWP_TOP_PRO && $this->isPostWithImageEnabled($n))) {
|
575 |
+
if(defined('ROP_PRO_VERSION')){
|
576 |
+
global $CWP_TOP_Core_PRO;
|
577 |
+
$image = $CWP_TOP_Core_PRO->getPostImage($postID, $n);
|
578 |
+
|
579 |
+
}else {
|
580 |
+
if ( has_post_thumbnail($postID) ) :
|
581 |
+
|
582 |
+
$image_array = wp_get_attachment_image_src( get_post_thumbnail_id($postID) );
|
583 |
+
|
584 |
+
$image = $image_array[0];
|
585 |
+
else :
|
586 |
+
$post = get_post($postID);
|
587 |
+
$image = '';
|
588 |
+
ob_start();
|
589 |
+
ob_end_clean();
|
590 |
+
$output = preg_match_all( '/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches );
|
591 |
+
if(isset($matches [1] [0]))
|
592 |
+
$image = $matches [1] [0];
|
593 |
+
|
594 |
+
endif;
|
595 |
+
}
|
596 |
+
|
597 |
+
$top_opt_saved_images = get_option("top_opt_saved_images");
|
598 |
+
if($top_opt_saved_images && is_array($top_opt_saved_images) && in_array($postID, $top_opt_saved_images)){
|
599 |
+
$imageID = get_post_meta($postID, "top_opt_saved_post_image_" . $n, true);
|
600 |
+
if($imageID){
|
601 |
+
$image = wp_get_attachment_url($imageID);
|
602 |
+
}
|
603 |
+
}
|
604 |
+
|
605 |
+
if(!empty($image)){
|
606 |
+
return '<img class="top_preview" src="'.$image.'"/>';
|
607 |
+
}
|
608 |
+
}
|
609 |
+
return null;
|
610 |
+
}
|
611 |
+
|
612 |
+
function getFutureTime($network_name, $time, $array){
|
613 |
+
$firstPostTime = get_transient('top_firstpost_time');
|
614 |
+
if($firstPostTime !== false){
|
615 |
+
delete_transient('top_firstpost_time');
|
616 |
+
return $firstPostTime;
|
617 |
+
}
|
618 |
+
|
619 |
+
if(array_key_exists("time", $array)){
|
620 |
+
$time = $array["time"];
|
621 |
+
}else{
|
622 |
+
$time = CWP_TOP_Core::getNextTweetTime($network_name, $time ? $time : $this->getTime());
|
623 |
+
}
|
624 |
+
return $time;
|
625 |
+
}
|
626 |
+
// Added by Ash/Upwork
|
627 |
+
|
628 |
+
/**
|
629 |
+
* Returns if the post is already tweeted
|
630 |
+
* @param [type] $postId Post ID
|
631 |
+
* @return boolean True if not already tweeted / False if already tweeted
|
632 |
+
*/
|
633 |
+
|
634 |
+
public function isNotAlreadyTweeted($postId) {
|
635 |
+
// Get all already tweeted posts
|
636 |
+
|
637 |
+
$tweetedPosts = get_option("top_opt_already_tweeted_posts");
|
638 |
+
|
639 |
+
if (!$tweetedPosts) {
|
640 |
+
add_option("top_opt_already_tweeted_posts");
|
641 |
+
return true;
|
642 |
+
}
|
643 |
+
|
644 |
+
// If the new post ID is in the array, which means that is already tweeted
|
645 |
+
if (!empty($tweetedPosts) && is_array($tweetedPosts) ) {
|
646 |
+
|
647 |
+
if (in_array($postId, $tweetedPosts))
|
648 |
+
return false;
|
649 |
+
else
|
650 |
+
return true;
|
651 |
+
}
|
652 |
+
else
|
653 |
+
{
|
654 |
+
return true;
|
655 |
+
}
|
656 |
+
}
|
657 |
+
|
658 |
+
public function getStrLen($string) {
|
659 |
+
// multibyte string support for multibyte strings: DO NOT REMOVE
|
660 |
+
if (function_exists("mb_strlen"))
|
661 |
+
return mb_strlen($string);
|
662 |
+
else
|
663 |
+
return strlen($string);
|
664 |
+
}
|
665 |
+
|
666 |
+
public function ropSubstr($string,$nr1,$nr2 ) {
|
667 |
+
// multibyte string support for multibyte strings: DO NOT REMOVE
|
668 |
+
if (function_exists("mb_substr")) {
|
669 |
+
return mb_substr($string, $nr1,$nr2);
|
670 |
+
} else {
|
671 |
+
return substr($string, $nr1, $nr2);
|
672 |
+
}
|
673 |
+
}
|
674 |
+
|
675 |
+
/**
|
676 |
+
* Author Daniel Brown (contact info at http://ymb.tc/contact)
|
677 |
+
* Includes hashtag in $tweet_content if possible
|
678 |
+
* to save space, avoid redundancy, and allow more hashtags
|
679 |
+
* @param [string] $tweetContent The regular text in the Tweet
|
680 |
+
* @param [string] $hashtag The hashtag to include in $tweetContent, if possible
|
681 |
+
* @return [mixed] The new $tweetContent or FALSE if the $tweetContent doesn't contain the hashtag
|
682 |
+
*/
|
683 |
+
|
684 |
+
public function tweetContentHashtag ($tweetContent, $hashtag) {
|
685 |
+
$location = stripos($tweetContent, ' ' . $hashtag . ' ');
|
686 |
+
if ( $location !== false ) $location++; // the actual # location will be past the space
|
687 |
+
elseif ( stripos($tweetContent, $hashtag . ' ') === 0 ) { // see if the hashtag is at the beginning
|
688 |
+
$location = 0;
|
689 |
+
}
|
690 |
+
elseif ( stripos($tweetContent, ' ' . $hashtag) + strlen(' ' . $hashtag) == strlen($tweetContent) ) { // see if the hashtag is at the end
|
691 |
+
$location = stripos($tweetContent, ' ' . $hashtag) + 1;
|
692 |
+
}
|
693 |
+
if ( $location !== false ) {
|
694 |
+
return substr_replace($tweetContent, '#', $location, 0);
|
695 |
+
}
|
696 |
+
else return false;
|
697 |
+
}
|
698 |
+
|
699 |
+
/**
|
700 |
+
* Generates the tweet based on the user settings
|
701 |
+
* @param [type] $postQuery Returned post from database
|
702 |
+
* @return [type] Generated Tweet
|
703 |
+
*/
|
704 |
+
|
705 |
+
public function generateTweetFromPost($postQuery, $network, $fromManageQueue=false)
|
706 |
+
{
|
707 |
+
|
708 |
+
$format_fields = $this->getFormatFields();
|
709 |
+
$tweetedPosts = get_option("top_opt_already_tweeted_posts");
|
710 |
+
$formats = get_option('top_opt_post_formats');
|
711 |
+
$tweet_content = isset($formats[$network."_"."top_opt_tweet_type"]) ? $formats[$network."_"."top_opt_tweet_type"] : get_option( 'top_opt_tweet_type' );
|
712 |
+
$tweet_content_custom_field = isset($formats[$network."_"."top_opt_tweet_type_custom_field"]) ? $formats[$network."_"."top_opt_tweet_type_custom_field"] : get_option( 'top_opt_tweet_type_custom_field' );
|
713 |
+
$additional_text = isset($formats[$network."_"."top_opt_add_text"]) ? $formats[$network."_"."top_opt_add_text"] : get_option( 'top_opt_tweet_type_custom_field' );
|
714 |
+
$additional_text_at = isset($formats[$network."_"."top_opt_add_text_at"]) ? $formats[$network."_"."top_opt_add_text_at"] : get_option( 'top_opt_add_text_at' );
|
715 |
+
$max_length = isset($formats[$network."_"."top_opt_tweet_length"]) ? $formats[$network."_"."top_opt_tweet_length"] : $format_fields[$network]['top_opt_tweet_length']['default_value'];
|
716 |
+
$include_link = isset($formats[$network."_"."top_opt_include_link"]) ? $formats[$network."_"."top_opt_include_link"] : get_option( 'top_opt_include_link' ); get_option( 'top_opt_include_link' );
|
717 |
+
$fetch_url_from_custom_field = isset($formats[$network."_"."top_opt_custom_url_option"]) ? $formats[$network."_"."top_opt_custom_url_option"] : get_option( 'top_opt_custom_url_option' );
|
718 |
+
$custom_field_url = isset($formats[$network."_"."top_opt_custom_url_field"]) ? $formats[$network."_"."top_opt_custom_url_field"] : get_option( 'top_opt_custom_url_field' ); get_option( 'top_opt_custom_url_field' );
|
719 |
+
$use_url_shortner = isset($formats[$network."_"."top_opt_use_url_shortner"]) ? $formats[$network."_"."top_opt_use_url_shortner"] : get_option( 'top_opt_use_url_shortner' );
|
720 |
+
$url_shortner_service = isset($formats[$network."_"."top_opt_url_shortner"]) ? $formats[$network."_"."top_opt_url_shortner"] : get_option( 'top_opt_url_shortner' );
|
721 |
+
$hashtags = isset($formats[$network."_"."top_opt_custom_hashtag_option"]) ? $formats[$network."_"."top_opt_custom_hashtag_option"] : get_option( 'top_opt_custom_hashtag_option' );
|
722 |
+
$common_hashtags = isset($formats[$network."_"."top_opt_hashtags"]) ? $formats[$network."_"."top_opt_hashtags"] : get_option( 'top_opt_hashtags' );
|
723 |
+
$maximum_hashtag_length = isset($formats[$network."_"."top_opt_hashtag_length"]) ? $formats[$network."_"."top_opt_hashtag_length"] : get_option( 'top_opt_hashtag_length' );
|
724 |
+
$hashtag_custom_field = isset($formats[$network."_"."top_opt_custom_hashtag_field"]) ? $formats[$network."_"."top_opt_custom_hashtag_field"] : get_option( 'top_opt_custom_hashtag_field' );
|
725 |
+
$bitly_key = isset($formats[$network."_"."top_opt_bitly_key"]) ? $formats[$network."_"."top_opt_bitly_key"] : get_option( 'top_opt_bitly_key' );
|
726 |
+
$bitly_user = isset($formats[$network."_"."top_opt_bitly_user"]) ? $formats[$network."_"."top_opt_bitly_user"] : get_option( 'top_opt_bitly_user' );
|
727 |
+
$post_with_image = isset($formats[$network."_". 'top_opt_post_with_image']) ? $formats[$network."_". 'top_opt_post_with_image'] : get_option( 'top_opt_bitly_user' );
|
728 |
+
$ga_tracking = get_option( 'top_opt_ga_tracking' );
|
729 |
+
$additionalTextBeginning = "";
|
730 |
+
$additionalTextEnd = "";
|
731 |
+
|
732 |
+
// If the user set to not use hashtags, set it to empty variable.
|
733 |
+
if ( $hashtags == 'nohashtag' ) {
|
734 |
+
$newHashtags = "";
|
735 |
+
}
|
736 |
+
// Generate the tweet content.
|
737 |
+
switch ( $tweet_content ) {
|
738 |
+
case 'title':
|
739 |
+
$tweetContent = $postQuery->post_title;
|
740 |
+
break;
|
741 |
+
case 'body':
|
742 |
+
$tweetContent = get_post_field( 'post_content', $postQuery->ID );
|
743 |
+
break;
|
744 |
+
case 'titlenbody':
|
745 |
+
$tweetContent = $postQuery->post_title . " " . get_post_field( 'post_content', $postQuery->ID );
|
746 |
+
break;
|
747 |
+
case 'custom-field':
|
748 |
+
$tweetContent = get_post_meta( $postQuery->ID, $tweet_content_custom_field, true );
|
749 |
+
break;
|
750 |
+
default:
|
751 |
+
$tweetContent = "";
|
752 |
+
break;
|
753 |
+
}
|
754 |
+
// Trim new empty lines.
|
755 |
+
if(!is_string($tweetContent)) $tweetContent = '';
|
756 |
+
$tweetContent = strip_tags( html_entity_decode( $tweetContent,ENT_QUOTES ) );
|
757 |
+
//$tweetContent = esc_html($tweetContent);
|
758 |
+
//$tweetContent = esc_html($tweetContent);
|
759 |
+
//$tweetContent = trim(preg_replace('/\s+/', ' ', $tweetContent));
|
760 |
+
// Remove html entinies.
|
761 |
+
//$tweetContent = preg_replace("/&#?[a-z0-9]+;/i","", $tweetContent);
|
762 |
+
// Strip all shortcodes from content.
|
763 |
+
$tweetContent = strip_shortcodes( $tweetContent );
|
764 |
+
$fTweet = array();
|
765 |
+
$post_url = get_permalink( $postQuery->ID );
|
766 |
+
// Generate the post link.
|
767 |
+
if ( $include_link == 'true' ) {
|
768 |
+
if ( $fetch_url_from_custom_field == 'on' ) {
|
769 |
+
//$post_url = preg_replace('/https?:\/\/[^\s"<>]+/', '$0', );
|
770 |
+
preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', get_post_meta( $postQuery->ID, $custom_field_url, true ), $match);
|
771 |
+
if(isset($match[0])){
|
772 |
+
if(isset($match[0][0]))
|
773 |
+
$post_url = $match[0][0];
|
774 |
+
}
|
775 |
+
} else {
|
776 |
+
$post_url = "" . get_permalink( $postQuery->ID );
|
777 |
+
}
|
778 |
+
if ( $post_url == "" ) {
|
779 |
+
$post_url = "" . get_permalink( $postQuery->ID );
|
780 |
+
}
|
781 |
+
if ( $ga_tracking == "on" ) {
|
782 |
+
$param = 'utm_source=ReviveOldPost&utm_medium=social&utm_campaign=ReviveOldPost';
|
783 |
+
$post_url = rtrim( $post_url );
|
784 |
+
if ( strpos( $post_url, "?" ) === false ) {
|
785 |
+
$post_url .= '?' . $param;
|
786 |
+
} else {
|
787 |
+
$post_url .= '&' . $param;
|
788 |
+
}
|
789 |
+
}
|
790 |
+
if ( $use_url_shortner == 'on' ) {
|
791 |
+
if ($fromManageQueue) {
|
792 |
+
// Added by Ash/Upwork so that the pro version can use this to generate the shortened url when required
|
793 |
+
update_post_meta($postQuery->ID, "rop_post_url_" . $network, $post_url);
|
794 |
+
// Added by Ash/Upwork
|
795 |
+
}
|
796 |
+
// $fromManageQueue Added by Ash/Upwork
|
797 |
+
$post_url = "" . self::shortenURL( $post_url, $url_shortner_service, $postQuery->ID, $bitly_key, $bitly_user, $fromManageQueue );
|
798 |
+
// $fromManageQueue Added by Ash/Upwork
|
799 |
+
}
|
800 |
+
if ( $post_url == "" ) {
|
801 |
+
$post_url = "" . get_permalink( $postQuery->ID );
|
802 |
+
}
|
803 |
+
$post_url = $post_url . "";
|
804 |
+
} else {
|
805 |
+
$post_url = "";
|
806 |
+
}
|
807 |
+
// Generate the hashtags
|
808 |
+
$newHashtags = "";
|
809 |
+
if ( $hashtags != 'nohashtag' ) {
|
810 |
+
switch ( $hashtags ) {
|
811 |
+
case 'common':
|
812 |
+
$newHashtags = $common_hashtags;
|
813 |
+
break;
|
814 |
+
case 'categories':
|
815 |
+
if ( $postQuery->post_type == "post" ) {
|
816 |
+
$postCategories = get_the_category( $postQuery->ID );
|
817 |
+
foreach ( $postCategories as $category ) {
|
818 |
+
$thisHashtag = $category->slug;
|
819 |
+
if ( $this->tweetContentHashtag($tweetContent, $thisHashtag) !== false ) { // if the hashtag exists in $tweetContent
|
820 |
+
$tweetContent = $this->tweetContentHashtag($tweetContent, $thisHashtag); // simply add a # there
|
821 |
+
$maximum_hashtag_length--; // subtract 1 for the # we added to $tweetContent
|
822 |
+
}
|
823 |
+
elseif ( strlen( $thisHashtag . $newHashtags ) <= $maximum_hashtag_length || $maximum_hashtag_length == 0 ) {
|
824 |
+
$newHashtags = $newHashtags . " #" . preg_replace( '/-/', '', strtolower( $thisHashtag ) );
|
825 |
+
}
|
826 |
+
}
|
827 |
+
} else {
|
828 |
+
if ( CWP_TOP_PRO ) {
|
829 |
+
global $CWP_TOP_Core_PRO;
|
830 |
+
$newHashtags = $CWP_TOP_Core_PRO->topProGetCustomCategories( $postQuery, $maximum_hashtag_length );
|
831 |
+
}
|
832 |
+
}
|
833 |
+
break;
|
834 |
+
case 'tags':
|
835 |
+
$postTags = wp_get_post_tags( $postQuery->ID );
|
836 |
+
foreach ( $postTags as $postTag ) {
|
837 |
+
$thisHashtag = $postTag->slug;
|
838 |
+
if ( $this->tweetContentHashtag($tweetContent, $thisHashtag) !== false ) { // if the hashtag exists in $tweetContent
|
839 |
+
$tweetContent = $this->tweetContentHashtag($tweetContent, $thisHashtag); // simply add a # there
|
840 |
+
$maximum_hashtag_length--; // subtract 1 for the # we added to $tweetContent
|
841 |
+
}
|
842 |
+
elseif ( strlen( $thisHashtag . $newHashtags ) <= $maximum_hashtag_length || $maximum_hashtag_length == 0 ) {
|
843 |
+
$newHashtags = $newHashtags . " #" . preg_replace( '/-/', '', strtolower( $thisHashtag ) );
|
844 |
+
}
|
845 |
+
}
|
846 |
+
break;
|
847 |
+
case 'custom':
|
848 |
+
$newHashtags = get_post_meta( $postQuery->ID, $hashtag_custom_field, true );
|
849 |
+
if($maximum_hashtag_length != 0){
|
850 |
+
if(strlen( $newHashtags ) <= $maximum_hashtag_length)
|
851 |
+
{
|
852 |
+
$newHashtags = $this->ropSubstr($newHashtags,0,$maximum_hashtag_length);
|
853 |
+
}
|
854 |
+
}
|
855 |
+
break;
|
856 |
+
default:
|
857 |
+
break;
|
858 |
+
}
|
859 |
+
}
|
860 |
+
// Generate the additional text
|
861 |
+
if ( $additional_text_at == 'beginning' ) {
|
862 |
+
$additionalTextBeginning = $additional_text . " ";
|
863 |
+
}
|
864 |
+
if ( $additional_text_at == 'end' ) {
|
865 |
+
$additionalTextEnd = " " . $additional_text;
|
866 |
+
}
|
867 |
+
|
868 |
+
$fTweet['link'] = $post_url;
|
869 |
+
$adTextELength = 0;
|
870 |
+
if(is_string($additionalTextEnd)){
|
871 |
+
$adTextELength = $this->getStrLen($additionalTextEnd);
|
872 |
+
}
|
873 |
+
$adTextBLength = 0;
|
874 |
+
if(is_string($additionalTextBeginning)){
|
875 |
+
$adTextBLength = $this->getStrLen($additionalTextBeginning);
|
876 |
+
}
|
877 |
+
$hashLength = 0;
|
878 |
+
if(is_string($newHashtags) && $network != 'tumblr'){
|
879 |
+
$hashLength = $this->getStrLen($newHashtags);
|
880 |
+
}
|
881 |
+
$finalTweetSize = $max_length - $hashLength - $adTextELength - $adTextBLength ;
|
882 |
+
if($network == 'twitter' && !empty($fTweet['link']) ){
|
883 |
+
$finalTweetSize = $finalTweetSize - 25;
|
884 |
+
|
885 |
+
|
886 |
+
}
|
887 |
+
if($network == 'twitter' && CWP_TOP_PRO && $this->isPostWithImageEnabled($network)){
|
888 |
+
$finalTweetSize = $finalTweetSize - 25;
|
889 |
+
}
|
890 |
+
$tweetContent = $this->ropSubstr( $tweetContent,0,$finalTweetSize);
|
891 |
+
if($network == 'twitter'){
|
892 |
+
if(!empty($fTweet['link'])) $fTweet['link'] = " ".$fTweet['link']." ";
|
893 |
+
|
894 |
+
$finalTweet = $additionalTextBeginning . $tweetContent .$fTweet['link'].$newHashtags . $additionalTextEnd;
|
895 |
+
$fTweet['link'] = '';
|
896 |
+
$finalTweet = preg_replace('/\s+/', ' ', trim( $finalTweet));
|
897 |
+
|
898 |
+
}else{
|
899 |
+
if($network === 'tumblr') {
|
900 |
+
$fTweet['tags'] = implode(",",array_filter(explode("#", $newHashtags)));
|
901 |
+
$finalTweet = $additionalTextBeginning . $tweetContent . $additionalTextEnd;
|
902 |
+
}else{
|
903 |
+
$finalTweet = $additionalTextBeginning . $tweetContent .$newHashtags . $additionalTextEnd;
|
904 |
+
}
|
905 |
+
}
|
906 |
+
|
907 |
+
// Added by Ash/Upwork
|
908 |
+
$top_opt_saved_posts = get_option("top_opt_saved_posts");
|
909 |
+
if($top_opt_saved_posts && is_array($top_opt_saved_posts) && in_array($postQuery->ID, $top_opt_saved_posts)){
|
910 |
+
$newContent = get_post_meta($postQuery->ID, "top_opt_saved_post_content_" . $network, true);
|
911 |
+
if($newContent){
|
912 |
+
$finalTweet = $newContent;
|
913 |
+
}
|
914 |
+
}
|
915 |
+
// Added by Ash/Upwork
|
916 |
+
|
917 |
+
$fTweet['message'] = $finalTweet ;
|
918 |
+
|
919 |
+
return $fTweet;
|
920 |
+
}
|
921 |
+
|
922 |
+
/**
|
923 |
+
* Tweets the returned post from generateTweetFromPost()
|
924 |
+
* @param [type] $finalTweet Generated tweet
|
925 |
+
*/
|
926 |
+
|
927 |
+
public function tweetPost($finalTweet,$network = 'twitter',$post)
|
928 |
+
{
|
929 |
+
// Added by Ash/Upwork
|
930 |
+
if(ROP_IS_TEST){
|
931 |
+
self::addLog("Not posting because ROP_IS_TEST is set");
|
932 |
+
return;
|
933 |
+
}
|
934 |
+
// Added by Ash/Upwork
|
935 |
+
|
936 |
+
$users = $this->getUsers();
|
937 |
+
foreach ($users as $user) {
|
938 |
+
if($network == $user['service'] ){
|
939 |
+
|
940 |
+
switch ($user['service']) {
|
941 |
+
case 'twitter':
|
942 |
+
// Create a new twitter connection using the stored user credentials.
|
943 |
+
$connection = new RopTwitterOAuth($this->consumer, $this->consumerSecret, $user['oauth_token'], $user['oauth_token_secret']);
|
944 |
+
$args = array('status' => $finalTweet['message'].$finalTweet['link']);
|
945 |
+
$response = false;
|
946 |
+
//self::addNotice(strlen($args["status"]),"error");
|
947 |
+
if($this->isPostWithImageEnabled($network) && CWP_TOP_PRO) {
|
948 |
+
global $CWP_TOP_Core_PRO;
|
949 |
+
|
950 |
+
|
951 |
+
if(defined('ROP_IMAGE_CHECK')){
|
952 |
+
$args = $CWP_TOP_Core_PRO->topProImage( $connection, $finalTweet, $post->ID, $network );
|
953 |
+
// Added by Ash/Upwork: !empty($args['media[]'])
|
954 |
+
if ( isset( $args['media[]'] ) && !empty($args['media[]'])) {
|
955 |
+
$image = array("media"=>$args['media[]']);
|
956 |
+
$response = $connection->upload( 'https://upload.twitter.com/1.1/media/upload.json', $image );
|
957 |
+
unset($args['media[]']);
|
958 |
+
$args["media_ids"] = $response->media_id_string;
|
959 |
+
$response = $connection->post( 'statuses/update', $args );
|
960 |
+
} else {
|
961 |
+
$response = $connection->post( 'statuses/update', $args );
|
962 |
+
}
|
963 |
+
}else{
|
964 |
+
$response = $CWP_TOP_Core_PRO->topProImage( $connection, $finalTweet['message']. " " .$finalTweet['link'], $post->ID, $network );
|
965 |
+
}
|
966 |
+
}else{
|
967 |
+
|
968 |
+
$response = $connection->post('statuses/update',$args);
|
969 |
+
}
|
970 |
+
|
971 |
+
if($response !== false){
|
972 |
+
$status = '';
|
973 |
+
if(!is_object($response))
|
974 |
+
$status = json_decode($response);
|
975 |
+
if(!is_object($status)){
|
976 |
+
|
977 |
+
// self::addNotice("Error for post ".$post->post_title." when sending to Twitter: Invalid response - ".$response,'error');
|
978 |
+
|
979 |
+
}
|
980 |
+
else{
|
981 |
+
|
982 |
+
if($status->errors[0]->code != 200) {
|
983 |
+
// self::addNotice("Error for post ".$post->post_title." when sending to Twitter: ".$status->errors[0]->message,'error');
|
984 |
+
|
985 |
+
|
986 |
+
}
|
987 |
+
else{
|
988 |
+
|
989 |
+
}
|
990 |
+
}
|
991 |
+
if($connection->http_code == 200 ){
|
992 |
+
self::addNotice("Post ".$post->post_title." has been successfully sent to Twitter.",'notice');
|
993 |
+
|
994 |
+
}
|
995 |
+
}
|
996 |
+
break;
|
997 |
+
case 'facebook':
|
998 |
+
|
999 |
+
$args = array(
|
1000 |
+
|
1001 |
+
'body' => array( 'message' => $finalTweet['message'],'link' => $finalTweet['link']),
|
1002 |
+
'timeout'=>20
|
1003 |
+
|
1004 |
+
);
|
1005 |
+
if($this->isPostWithImageEnabled($network) && CWP_TOP_PRO){
|
1006 |
+
global $CWP_TOP_Core_PRO;
|
1007 |
+
if(defined('ROP_IMAGE_CHECK'))
|
1008 |
+
$args = $CWP_TOP_Core_PRO->topProImage($connection, $finalTweet, $post->ID,$network);
|
1009 |
+
}
|
1010 |
+
|
1011 |
+
$pp=wp_remote_post("https://graph.facebook.com/".ROP_TOP_FB_API_VERSION."/".$user['id']."/feed?access_token=".$user['oauth_token'],$args);
|
1012 |
+
if(is_wp_error( $pp )){
|
1013 |
+
self::addNotice(__("Error for posting on facebook for:",'tweet-old-post')." ".$post->post_title."".$pp->get_error_message(),'error' );
|
1014 |
+
|
1015 |
+
}else{
|
1016 |
+
if($pp['response']['code'] == 200){
|
1017 |
+
|
1018 |
+
self::addNotice(sprintf(__("Post %s has been successfully sent to facebook",'tweet-old-post'), $post->post_title),'notice');
|
1019 |
+
}else{
|
1020 |
+
self::addNotice(__("Error for facebook share on post ",'tweet-old-post'). $post->post_title." ".$pp['response']['message']." @".$user['oauth_user_details']->name,'error');
|
1021 |
+
|
1022 |
+
}
|
1023 |
+
|
1024 |
+
}
|
1025 |
+
|
1026 |
+
break;
|
1027 |
+
|
1028 |
+
case 'linkedin':
|
1029 |
+
|
1030 |
+
$lk_message = str_replace("&", "&",$finalTweet['message']);
|
1031 |
+
$sharedLink = str_replace("&", "&",$finalTweet['link']);
|
1032 |
+
$content_xml = "";
|
1033 |
+
$visibility="anyone";
|
1034 |
+
$content_xml.="<content><title>".$lk_message."</title><submitted-url>".$sharedLink."</submitted-url></content>";
|
1035 |
+
$url = 'https://api.linkedin.com/v1/people/~/shares?oauth2_access_token='.$user["oauth_token"];
|
1036 |
+
|
1037 |
+
|
1038 |
+
$xml = '<?xml version="1.0" encoding="UTF-8"?><share>
|
1039 |
+
' . $content_xml . '
|
1040 |
+
<visibility>
|
1041 |
+
<code>' . $visibility . '</code>
|
1042 |
+
</visibility>
|
1043 |
+
</share>';
|
1044 |
+
$headers = array(
|
1045 |
+
"Content-type: text/xml",
|
1046 |
+
"Content-length: " . strlen($xml),
|
1047 |
+
"Connection: close",
|
1048 |
+
);
|
1049 |
+
|
1050 |
+
if (!function_exists('curl_version'))
|
1051 |
+
self::addNotice(__("Your host does not support CURL",'tweet-old-post'),'error');
|
1052 |
+
$ch = curl_init();
|
1053 |
+
curl_setopt($ch, CURLOPT_URL,$url);
|
1054 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
1055 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
|
1056 |
+
curl_setopt($ch, CURLOPT_POST, true);
|
1057 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
|
1058 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
1059 |
+
|
1060 |
+
$data = curl_exec($ch);
|
1061 |
+
|
1062 |
+
|
1063 |
+
if(curl_errno($ch))
|
1064 |
+
{
|
1065 |
+
|
1066 |
+
self::addNotice("Curl error: ". curl_error($ch),'error');
|
1067 |
+
}
|
1068 |
+
else{
|
1069 |
+
self::addNotice("Post ". $post->post_title." has been successfully sent to LinkedIN.",'notice');
|
1070 |
+
curl_close($ch);
|
1071 |
+
}
|
1072 |
+
break;
|
1073 |
+
default:
|
1074 |
+
if(CWP_TOP_PRO){
|
1075 |
+
global $CWP_TOP_Core_PRO;
|
1076 |
+
if(method_exists($CWP_TOP_Core_PRO,"tweetPostPro")){
|
1077 |
+
$CWP_TOP_Core_PRO->tweetPostPro($finalTweet,$network ,$post,$user);
|
1078 |
+
}
|
1079 |
+
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
break;
|
1083 |
+
|
1084 |
+
|
1085 |
+
|
1086 |
+
}
|
1087 |
+
|
1088 |
+
}
|
1089 |
+
|
1090 |
+
}
|
1091 |
+
}
|
1092 |
+
public function getRestrictedShowFields(){
|
1093 |
+
|
1094 |
+
global $cwp_rop_restricted_show;
|
1095 |
+
return $cwp_rop_restricted_show;
|
1096 |
+
}
|
1097 |
+
public function system_info(){
|
1098 |
+
|
1099 |
+
global $wpdb;
|
1100 |
+
$restricted = $this->getRestrictedShowFields();
|
1101 |
+
|
1102 |
+
if(CWP_TOP_PRO){
|
1103 |
+
|
1104 |
+
$pro = get_plugin_data(ROPPROPLUGINPATH."/tweet-old-post-pro.php");
|
1105 |
+
}
|
1106 |
+
$lite = get_plugin_data(ROPPLUGINPATH."/tweet-old-post.php");
|
1107 |
+
if ( get_bloginfo( 'version' ) < '3.4' ) {
|
1108 |
+
$theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' );
|
1109 |
+
$theme = $theme_data['Name'] . ' ' . $theme_data['Version'];
|
1110 |
+
} else {
|
1111 |
+
$theme_data = wp_get_theme();
|
1112 |
+
$theme = $theme_data->Name . ' ' . $theme_data->Version;
|
1113 |
+
}
|
1114 |
+
|
1115 |
+
// Try to identifty the hosting provider
|
1116 |
+
$host = false;
|
1117 |
+
if( defined( 'WPE_APIKEY' ) ) {
|
1118 |
+
$host = 'WP Engine';
|
1119 |
+
} elseif( defined( 'PAGELYBIN' ) ) {
|
1120 |
+
$host = 'Pagely';
|
1121 |
+
}
|
1122 |
+
|
1123 |
+
?>
|
1124 |
+
<div class="wrap">
|
1125 |
+
<h2><?php _e( 'System Information', 'tweet-old-post'); ?></h2><br/>
|
1126 |
+
<form action="" method="post" dir="ltr">
|
1127 |
+
<textarea readonly="readonly" onclick="this.focus();this.select()" cols="100" id="system-info-textarea" name="cwp-top-sysinfo" rows="20" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'tweet-old-post' ); ?>">
|
1128 |
+
|
1129 |
+
## Please include this information when posting support requests ##
|
1130 |
+
|
1131 |
+
## BEGIN ROP CONFIGS ##
|
1132 |
+
|
1133 |
+
<?php
|
1134 |
+
$options = $this->getPostFormatValues();
|
1135 |
+
$cwp_top_global_schedule = $this->getSchedule();
|
1136 |
+
$cwp_rop_all_networks = $this->getFormatFields();
|
1137 |
+
echo "## ROP POST FORMAT";
|
1138 |
+
foreach($cwp_rop_all_networks as $n=>$d){
|
1139 |
+
echo "\n \n \n ##".$n." \n \n \n";
|
1140 |
+
|
1141 |
+
|
1142 |
+
|
1143 |
+
|
1144 |
+
foreach($d as $fname => $f){
|
1145 |
+
if(!in_array($fname,$restricted))
|
1146 |
+
echo $f['name']. " : ". $options[$n."_".$f['option']]." \n";
|
1147 |
+
}
|
1148 |
+
|
1149 |
+
}
|
1150 |
+
?>
|
1151 |
+
|
1152 |
+
## END ROP CONFIGS ##
|
1153 |
+
|
1154 |
+
|
1155 |
+
## Begin Remote Data
|
1156 |
+
|
1157 |
+
Beta User: <?php echo $this->getBetaUserStatus(); ?><?php echo "\n"; ?>
|
1158 |
+
Remote Check: <?php echo $this->getRemoteCheck(); ?><?php echo "\n"; ?>
|
1159 |
+
|
1160 |
+
## End Remote Data
|
1161 |
+
|
1162 |
+
|
1163 |
+
|
1164 |
+
## Begin CRON Info
|
1165 |
+
|
1166 |
+
CRON Active: <?php echo (defined("DISABLE_WP_CRON") ? ((DISABLE_WP_CRON) ? "no" : "yes") : "yes" ); ?><?php echo "\n"; ?>
|
1167 |
+
Alternate WP Cron: <?php echo defined("ALTERNATE_WP_CRON") ? ((ALTERNATE_WP_CRON) ? "yes" : "no" ) : "no"; ?><?php echo "\n";
|
1168 |
+
|
1169 |
+
?>
|
1170 |
+
Time now: <?php echo date ( 'M j, Y @ G:i',time()); ?> <?php echo "\n"; ?>
|
1171 |
+
ROP Crons:
|
1172 |
+
<?php
|
1173 |
+
$all = $this->getAllNetworks();
|
1174 |
+
foreach($all as $nn ){
|
1175 |
+
if(wp_next_scheduled($nn.'roptweetcron',array($nn)) === false) continue;
|
1176 |
+
echo date ( 'M j, Y @ G:i', wp_next_scheduled($nn.'roptweetcron',array($nn)) );
|
1177 |
+
}
|
1178 |
+
|
1179 |
+
?>
|
1180 |
+
|
1181 |
+
## End Cron Info
|
1182 |
+
|
1183 |
+
##Begin General Settings:
|
1184 |
+
|
1185 |
+
<?php
|
1186 |
+
$cwp_top_fields = $this->getGeneralFields();
|
1187 |
+
foreach($cwp_top_fields as $general_field){
|
1188 |
+
echo $general_field['name']. " : ";
|
1189 |
+
if(is_array(get_option($general_field['option'])))
|
1190 |
+
echo implode(",",get_option($general_field['option']))." \n" ;
|
1191 |
+
else
|
1192 |
+
echo get_option($general_field['option'])." \n";
|
1193 |
+
}
|
1194 |
+
?>
|
1195 |
+
|
1196 |
+
##End General Settings
|
1197 |
+
|
1198 |
+
|
1199 |
+
<?php
|
1200 |
+
if(CWP_TOP_PRO):?>
|
1201 |
+
##Begin Custom schedule settings:
|
1202 |
+
|
1203 |
+
<?php foreach($all as $a) {
|
1204 |
+
|
1205 |
+
if( $cwp_top_global_schedule[$a.'_schedule_type_selected'] == 'each')
|
1206 |
+
{
|
1207 |
+
echo strtoupper($a)." post on every ".$cwp_top_global_schedule[$a.'_top_opt_interval']." hours"." \n" ;
|
1208 |
+
}else{
|
1209 |
+
echo strtoupper($a)." post each ".$cwp_top_global_schedule[$a.'_top_opt_interval']['days']." days of the week at: "." \n" ;
|
1210 |
+
foreach($cwp_top_global_schedule[$a.'_top_opt_interval']['times'] as $time){
|
1211 |
+
echo ''.$time['hour']." : ".$time['minute']." \n " ;
|
1212 |
+
|
1213 |
+
|
1214 |
+
}
|
1215 |
+
}
|
1216 |
+
?>
|
1217 |
+
<?php } ?>
|
1218 |
+
|
1219 |
+
##End Custom schedule settings
|
1220 |
+
<?php endif;
|
1221 |
+
?>
|
1222 |
+
|
1223 |
+
### Begin System Info ###
|
1224 |
+
|
1225 |
+
|
1226 |
+
Multisite: <?php echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n" ?>
|
1227 |
+
|
1228 |
+
SITE_URL: <?php echo site_url() . "\n"; ?>
|
1229 |
+
HOME_URL: <?php echo home_url() . "\n"; ?>
|
1230 |
+
<?php if(CWP_TOP_PRO): ?>
|
1231 |
+
ROP PRO Version: <?php echo $pro['Version'] . "\n"; ?>
|
1232 |
+
<?php endif; ?>
|
1233 |
+
ROP Lite Version: <?php echo $lite['Version'] . "\n"; ?>
|
1234 |
+
WordPress Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
|
1235 |
+
Permalink Structure: <?php echo get_option( 'permalink_structure' ) . "\n"; ?>
|
1236 |
+
Active Theme: <?php echo $theme . "\n"; ?>
|
1237 |
+
<?php if( $host ) : ?>
|
1238 |
+
Host: <?php echo $host . "\n"; ?>
|
1239 |
+
<?php endif; ?>
|
1240 |
+
PHP Version: <?php echo PHP_VERSION . "\n"; ?>
|
1241 |
+
MySQL Version: <?php echo mysqli_get_client_info() . "\n"; ?>
|
1242 |
+
Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
|
1243 |
+
WordPress Memory Limit: <?php echo WP_MEMORY_LIMIT ; ?><?php echo "\n"; ?>
|
1244 |
+
PHP Safe Mode: <?php echo ini_get( 'safe_mode' ) ? "Yes" : "No\n"; ?>
|
1245 |
+
PHP Memory Limit: <?php echo ini_get( 'memory_limit' ) . "\n"; ?>
|
1246 |
+
PHP Upload Max Size: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
1247 |
+
PHP Post Max Size: <?php echo ini_get( 'post_max_size' ) . "\n"; ?>
|
1248 |
+
PHP Upload Max Filesize: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
1249 |
+
PHP Time Limit: <?php echo ini_get( 'max_execution_time' ) . "\n"; ?>
|
1250 |
+
PHP Max Input Vars: <?php echo ini_get( 'max_input_vars' ) . "\n"; ?>
|
1251 |
+
PHP Arg Separator: <?php echo ini_get( 'arg_separator.output' ) . "\n"; ?>
|
1252 |
+
PHP Allow URL File Open: <?php echo (ini_get( 'allow_url_fopen' ) ? "Yes" : "No" ). "\n"; ?>
|
1253 |
+
WP_DEBUG: <?php echo defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n" ?>
|
1254 |
+
WP Table Prefix: <?php echo "Length: ". strlen( $wpdb->prefix ); echo " Status:"; if ( strlen( $wpdb->prefix )>16 ) {echo " ERROR: Too Long";} else {echo " Acceptable";} echo "\n"; ?>
|
1255 |
+
Show On Front: <?php echo get_option( 'show_on_front' ) . "\n" ?>
|
1256 |
+
Page On Front: <?php $id = get_option( 'page_on_front' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
1257 |
+
Page For Posts: <?php $id = get_option( 'page_for_posts' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
1258 |
+
Session: <?php echo isset( $_SESSION ) ? 'Enabled' : 'Disabled'; ?><?php echo "\n"; ?>
|
1259 |
+
Session Name: <?php echo esc_html( ini_get( 'session.name' ) ); ?><?php echo "\n"; ?>
|
1260 |
+
Cookie Path: <?php echo esc_html( ini_get( 'session.cookie_path' ) ); ?><?php echo "\n"; ?>
|
1261 |
+
Save Path: <?php echo esc_html( ini_get( 'session.save_path' ) ); ?><?php echo "\n"; ?>
|
1262 |
+
Use Cookies: <?php echo ini_get( 'session.use_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
1263 |
+
Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
1264 |
+
DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
|
1265 |
+
FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.'; ?><?php echo "\n"; ?>
|
1266 |
+
cURL: <?php echo ( function_exists( 'curl_init' ) ) ? 'Your server supports cURL.' : 'Your server does not support cURL.'; ?><?php echo "\n"; ?>
|
1267 |
+
SOAP Client: <?php echo ( class_exists( 'SoapClient' ) ) ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.'; ?><?php echo "\n"; ?>
|
1268 |
+
|
1269 |
+
ACTIVE PLUGINS:
|
1270 |
+
|
1271 |
+
|
1272 |
+
<?php
|
1273 |
+
$plugins = get_plugins();
|
1274 |
+
$active_plugins = get_option( 'active_plugins', array() );
|
1275 |
+
|
1276 |
+
foreach ( $plugins as $plugin_path => $plugin ) {
|
1277 |
+
// If the plugin isn't active, don't show it.
|
1278 |
+
if ( ! in_array( $plugin_path, $active_plugins ) )
|
1279 |
+
continue;
|
1280 |
+
|
1281 |
+
echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
|
1282 |
+
}
|
1283 |
+
|
1284 |
+
if ( is_multisite() ) :
|
1285 |
+
?>
|
1286 |
+
|
1287 |
+
NETWORK ACTIVE PLUGINS:
|
1288 |
+
|
1289 |
+
<?php
|
1290 |
+
$plugins = wp_get_active_network_plugins();
|
1291 |
+
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
1292 |
+
|
1293 |
+
foreach ( $plugins as $plugin_path ) {
|
1294 |
+
$plugin_base = plugin_basename( $plugin_path );
|
1295 |
+
|
1296 |
+
// If the plugin isn't active, don't show it.
|
1297 |
+
if ( ! array_key_exists( $plugin_base, $active_plugins ) )
|
1298 |
+
continue;
|
1299 |
+
|
1300 |
+
$plugin = get_plugin_data( $plugin_path );
|
1301 |
+
|
1302 |
+
echo "\t"."\t"."\t"."\t".$plugin['Name'] . ' :' . $plugin['Version'] ."\n";
|
1303 |
+
}
|
1304 |
+
|
1305 |
+
endif;
|
1306 |
+
?>
|
1307 |
+
|
1308 |
+
|
1309 |
+
|
1310 |
+
### End System Info ###
|
1311 |
+
|
1312 |
+
##Begin Log info
|
1313 |
+
|
1314 |
+
<?php $logs = get_option('rop_notice_active');
|
1315 |
+
if(!is_array($logs)) $logs = array();
|
1316 |
+
foreach($logs as $log){
|
1317 |
+
echo strtoupper($log['type']). " @ ".$log['time']. ' - '. $log['message']." \n ";
|
1318 |
+
}
|
1319 |
+
?>
|
1320 |
+
<?php ?>
|
1321 |
+
|
1322 |
+
#End log info
|
1323 |
+
|
1324 |
+
##Begin user info
|
1325 |
+
|
1326 |
+
<?php
|
1327 |
+
$users = $this->getUsers();
|
1328 |
+
foreach($all as $a ){
|
1329 |
+
if(!isset($$a)) $$a = 0;
|
1330 |
+
foreach($users as $us){
|
1331 |
+
if($us['service'] == $a) $$a ++;
|
1332 |
+
|
1333 |
+
}
|
1334 |
+
|
1335 |
+
}
|
1336 |
+
foreach($all as $a){
|
1337 |
+
echo strtoupper($a)." accounts - ".$$a." \n";
|
1338 |
+
|
1339 |
+
}
|
1340 |
+
|
1341 |
+
?>
|
1342 |
+
|
1343 |
+
##End user info
|
1344 |
+
|
1345 |
+
</textarea>
|
1346 |
+
<p class="submit">
|
1347 |
+
<input type="hidden" name="cwp-action" value="download_sysinfo" />
|
1348 |
+
<?php submit_button( __('Download System Info File','tweet-old-post'), 'primary', 'cwp-download-sysinfo', false ); ?>
|
1349 |
+
</p>
|
1350 |
+
</form>
|
1351 |
+
</div>
|
1352 |
+
</div>
|
1353 |
+
<?php
|
1354 |
+
}
|
1355 |
+
/*public function tweetPostwithImage($finalTweet, $id,$ntk = 'twitter')
|
1356 |
+
{
|
1357 |
+
|
1358 |
+
$k=1;
|
1359 |
+
$tw=0;
|
1360 |
+
$nrOfUsers = count($this->users);
|
1361 |
+
$time = get_option("top_last_tweets");
|
1362 |
+
|
1363 |
+
foreach ($this->users as $user) {
|
1364 |
+
|
1365 |
+
if($ntk == $user['service'] ){
|
1366 |
+
if(isset($time[$ntk])){
|
1367 |
+
if(time() - $time[$ntk] < 60)
|
1368 |
+
return false;
|
1369 |
+
|
1370 |
+
}
|
1371 |
+
|
1372 |
+
$time[$ntk] = time();
|
1373 |
+
update_option("top_last_tweets",$time);
|
1374 |
+
switch ($user['service']) {
|
1375 |
+
case 'twitter':
|
1376 |
+
// Create a new twitter connection using the stored user credentials.
|
1377 |
+
$connection = new RopTwitterOAuth($this->consumer, $this->consumerSecret, $user['oauth_token'], $user['oauth_token_secret']);
|
1378 |
+
// Post the new tweet
|
1379 |
+
if (CWP_TOP_PRO){
|
1380 |
+
global $CWP_TOP_Core_PRO;
|
1381 |
+
$status = $CWP_TOP_Core_PRO->topProImage($connection, $finalTweet['message'], $id);
|
1382 |
+
}
|
1383 |
+
//var_dump($status);
|
1384 |
+
//$tw++;
|
1385 |
+
//} else {
|
1386 |
+
/// //$connection = new RopTwitterOAuth($this->consumer, $this->consumerSecret, $user['oauth_token'], $user['oauth_token_secret']);
|
1387 |
+
//$status = $connection->post('statuses/update', array('status' => "acesta e un tweet"));
|
1388 |
+
//$tw++;
|
1389 |
+
//}
|
1390 |
+
|
1391 |
+
if ($nrOfUsers == $k)
|
1392 |
+
return $status;
|
1393 |
+
else
|
1394 |
+
$k++;
|
1395 |
+
|
1396 |
+
case 'facebook':
|
1397 |
+
$args = array(
|
1398 |
+
|
1399 |
+
'body' => array( 'message' => $finalTweet['message'],'link' => $finalTweet['link']),
|
1400 |
+
|
1401 |
+
);
|
1402 |
+
|
1403 |
+
$pp=wp_remote_post("https://graph.facebook.com/".ROP_TOP_FB_API_VERSION."/$user[id]/feed?access_token=$user[oauth_token]",$args);
|
1404 |
+
if ($nrOfUsers == $k)
|
1405 |
+
return $pp['response']['message'];
|
1406 |
+
else
|
1407 |
+
$k++;
|
1408 |
+
|
1409 |
+
break;
|
1410 |
+
|
1411 |
+
case 'linkedin':
|
1412 |
+
|
1413 |
+
$lk_message = str_replace("&", "&",$finalTweet['message']);
|
1414 |
+
$sharedLink = str_replace("&", "&",$finalTweet['link']);
|
1415 |
+
$content_xml = "";
|
1416 |
+
$visibility="anyone";
|
1417 |
+
$content_xml.="<content><title>".$lk_message."</title><submitted-url>".$sharedLink."</submitted-url></content>";
|
1418 |
+
$url = 'https://api.linkedin.com/v1/people/~/shares?oauth2_access_token='.$user["oauth_token"];
|
1419 |
+
|
1420 |
+
|
1421 |
+
$xml = '<?xml version="1.0" encoding="UTF-8"?><share>
|
1422 |
+
' . $content_xml . '
|
1423 |
+
<visibility>
|
1424 |
+
<code>' . $visibility . '</code>
|
1425 |
+
</visibility>
|
1426 |
+
</share>';
|
1427 |
+
$headers = array(
|
1428 |
+
"Content-type: text/xml",
|
1429 |
+
"Content-length: " . strlen($xml),
|
1430 |
+
"Connection: close",
|
1431 |
+
);
|
1432 |
+
if (!function_exists('curl_version'))
|
1433 |
+
update_option('cwp_topnew_notice',"You host does not support CURL");
|
1434 |
+
$ch = curl_init();
|
1435 |
+
curl_setopt($ch, CURLOPT_URL,$url);
|
1436 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
1437 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
|
1438 |
+
curl_setopt($ch, CURLOPT_POST, true);
|
1439 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
|
1440 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
1441 |
+
|
1442 |
+
$data = curl_exec($ch);
|
1443 |
+
|
1444 |
+
if ($nrOfUsers == $k)
|
1445 |
+
return $data;
|
1446 |
+
else
|
1447 |
+
$k++;
|
1448 |
+
|
1449 |
+
if(curl_errno($ch))
|
1450 |
+
print curl_error($ch);
|
1451 |
+
else
|
1452 |
+
curl_close($ch);
|
1453 |
+
|
1454 |
+
break;
|
1455 |
+
default:
|
1456 |
+
$connection = new RopTwitterOAuth($this->consumer, $this->consumerSecret, $user['oauth_token'], $user['oauth_token_secret']);
|
1457 |
+
// Post the new tweet
|
1458 |
+
if (CWP_TOP_PRO) {
|
1459 |
+
global $$CWP_TOP_Core_PRO;
|
1460 |
+
$status = $CWP_TOP_Core_PRO->topProImage( $connection, $finalTweet['message'], $id );
|
1461 |
+
}
|
1462 |
+
if ($nrOfUsers == $k)
|
1463 |
+
return $status;
|
1464 |
+
else
|
1465 |
+
$k++;
|
1466 |
+
|
1467 |
+
|
1468 |
+
}
|
1469 |
+
}
|
1470 |
+
//sleep(100);
|
1471 |
+
}
|
1472 |
+
}*/
|
1473 |
+
|
1474 |
+
// Generates the tweet date range based on the user input.
|
1475 |
+
// Corrected by Ash/Upwork: added a few efficiencies
|
1476 |
+
public function getTweetPostDateRange()
|
1477 |
+
{
|
1478 |
+
$max = intval(get_option('top_opt_max_age_limit'));
|
1479 |
+
|
1480 |
+
if( !is_int($max) ) {
|
1481 |
+
self::addNotice(__("Incorect value for Maximum age of post to be eligible for sharing. Please check the value to be a number greater or equal than 0 ",'tweet-old-post'),'error');
|
1482 |
+
return false;
|
1483 |
+
}
|
1484 |
+
|
1485 |
+
$min = intval(get_option('top_opt_age_limit'));
|
1486 |
+
|
1487 |
+
if(!is_int($min) ){
|
1488 |
+
self::addNotice(__("Incorect value for Minimum age of post to be eligible for sharing. Please check the value to be a number greater or equal than 0 ",'tweet-old-post'),'error');
|
1489 |
+
return false;
|
1490 |
+
|
1491 |
+
}
|
1492 |
+
if($max > 0 && $min > 0 && $max < $min){
|
1493 |
+
self::addNotice(__("Maximum age of post to be eligible for sharing must be greater than Minimum age of post to be eligible for sharing. Please check the value to be a number greater or equal than 0 ",'tweet-old-post'),'error');
|
1494 |
+
return false;
|
1495 |
+
|
1496 |
+
}
|
1497 |
+
|
1498 |
+
$dateQuery = array();
|
1499 |
+
if($max > 0){
|
1500 |
+
$maxLimit = time() - $max*24*60*60;
|
1501 |
+
$dateQuery['before'] = date("Y-m-d H:i:s", $maxLimit);
|
1502 |
+
}
|
1503 |
+
|
1504 |
+
if($min > 0){
|
1505 |
+
$minLimit = time() - $min*24*60*60;
|
1506 |
+
$dateQuery['after'] = date("Y-m-d H:i:s", $minLimit);
|
1507 |
+
}
|
1508 |
+
|
1509 |
+
return $dateQuery;
|
1510 |
+
|
1511 |
+
|
1512 |
+
}
|
1513 |
+
|
1514 |
+
// Gets the omited tweet categories
|
1515 |
+
|
1516 |
+
public function getExcludedCategories()
|
1517 |
+
{
|
1518 |
+
$postQueryCategories = "";
|
1519 |
+
$postCategories = get_option('top_opt_omit_cats');
|
1520 |
+
|
1521 |
+
if(!empty($postCategories) && is_array($postCategories)) {
|
1522 |
+
$postQueryCategories = implode(',',$postCategories);
|
1523 |
+
}
|
1524 |
+
else
|
1525 |
+
$postQueryCategories = get_option('top_opt_omit_cats');
|
1526 |
+
|
1527 |
+
return $postQueryCategories;
|
1528 |
+
}
|
1529 |
+
|
1530 |
+
// Gets the tweet post type.
|
1531 |
+
public function getTweetPostType()
|
1532 |
+
{
|
1533 |
+
$postQueryPostTypes = "";
|
1534 |
+
$top_opt_post_type = get_option('top_opt_post_type');
|
1535 |
+
|
1536 |
+
if(!empty($top_opt_post_type) && is_array($top_opt_post_type)) {
|
1537 |
+
$postQueryPostTypes = implode(',',$top_opt_post_type);
|
1538 |
+
}
|
1539 |
+
else
|
1540 |
+
$postQueryPostTypes = get_option('top_opt_post_type');
|
1541 |
+
|
1542 |
+
return $postQueryPostTypes;
|
1543 |
+
|
1544 |
+
}
|
1545 |
+
|
1546 |
+
|
1547 |
+
// Creates a custom Tweet Old Post schedule
|
1548 |
+
public function createCustomSchedule($schedules)
|
1549 |
+
{
|
1550 |
+
$schedules['cwp_top_schedule'] = array(
|
1551 |
+
'interval' => floatval($this->intervalSet) * 60 * 60,
|
1552 |
+
'display' => __("Custom Tweet User Interval", 'tweet-old-post')
|
1553 |
+
);
|
1554 |
+
|
1555 |
+
return $schedules;
|
1556 |
+
}
|
1557 |
+
|
1558 |
+
// Clears the custom Tweet Old Post cron job.
|
1559 |
+
public function clearScheduledTweets()
|
1560 |
+
{
|
1561 |
+
$all = $this->getAllNetworks();
|
1562 |
+
foreach($all as $n){
|
1563 |
+
wp_clear_scheduled_hook($n.'roptweetcron',array($n));
|
1564 |
+
}
|
1565 |
+
}
|
1566 |
+
|
1567 |
+
// Deactivation hook
|
1568 |
+
public function deactivationHook()
|
1569 |
+
{
|
1570 |
+
$this->clearScheduledTweets();
|
1571 |
+
$this->deleteAllOptions();
|
1572 |
+
$this->remoteTrigger("off");
|
1573 |
+
}
|
1574 |
+
|
1575 |
+
// Sets all authentication settings
|
1576 |
+
public function setAlloAuthSettings()
|
1577 |
+
{
|
1578 |
+
global $cwp_top_settings;
|
1579 |
+
|
1580 |
+
$this->consumer = $cwp_top_settings['oAuth_settings']['consumer_key'];
|
1581 |
+
$this->consumerSecret = $cwp_top_settings['oAuth_settings']['consumer_secret'];
|
1582 |
+
$this->oAuthCallback = CURRENTURL;
|
1583 |
+
|
1584 |
+
$this->cwp_top_access_token = get_option('cwp_top_access_token');
|
1585 |
+
$this->cwp_top_oauth_token = get_option('cwp_top_oauth_token');
|
1586 |
+
$this->cwp_top_oauth_token_secret = get_option('cwp_top_oauth_token_secret');
|
1587 |
+
|
1588 |
+
$this->user_info = get_option('cwp_top_oauth_user_details');
|
1589 |
+
$this->users = apply_filters("rop_users_filter",get_option('cwp_top_logged_in_users'));
|
1590 |
+
|
1591 |
+
$this->pluginStatus = get_option('cwp_topnew_active_status');
|
1592 |
+
$this->intervalSet = get_option('top_opt_interval');
|
1593 |
+
|
1594 |
+
self::$date_format = 'M j, Y @ G:i';
|
1595 |
+
//update_option('cwp_top_logged_in_users', '');
|
1596 |
+
}
|
1597 |
+
|
1598 |
+
// Checks if twitter returned any temporary credentials to log in the user.
|
1599 |
+
public function afterAddAccountCheck()
|
1600 |
+
{
|
1601 |
+
if( time() - get_option("top_reauthorize") > 2592000 )
|
1602 |
+
$this->reAuthorize();
|
1603 |
+
global $cwp_top_settings;
|
1604 |
+
$code="";
|
1605 |
+
if(isset($_REQUEST['code']))
|
1606 |
+
$code = $_REQUEST["code"];
|
1607 |
+
$cnetwork = self::getCurrentNetwork();
|
1608 |
+
if(isset($_REQUEST['oauth_token']) && $cnetwork == 'twitter') {
|
1609 |
+
|
1610 |
+
if($_REQUEST['oauth_token'] == $this->cwp_top_oauth_token) {
|
1611 |
+
|
1612 |
+
$twitter = new RopTwitterOAuth($this->consumer, $this->consumerSecret, $this->cwp_top_oauth_token, $this->cwp_top_oauth_token_secret );
|
1613 |
+
$access_token = $twitter->getAccessToken($_REQUEST['oauth_verifier']);
|
1614 |
+
$user_details = $twitter->get('account/verify_credentials');
|
1615 |
+
$user_details->status = array();
|
1616 |
+
|
1617 |
+
$newUser = array(
|
1618 |
+
'user_id' => $user_details->id,
|
1619 |
+
'oauth_token' => $access_token['oauth_token'],
|
1620 |
+
'oauth_token_secret' => $access_token['oauth_token_secret'],
|
1621 |
+
'oauth_user_details' => $user_details,
|
1622 |
+
'service' => 'twitter'
|
1623 |
+
);
|
1624 |
+
|
1625 |
+
$loggedInUsers = get_option('cwp_top_logged_in_users');
|
1626 |
+
if(empty($loggedInUsers)) { $loggedInUsers = array(); }
|
1627 |
+
|
1628 |
+
|
1629 |
+
if(in_array($newUser, $loggedInUsers)) {
|
1630 |
+
echo "You already added that user! no can do !";
|
1631 |
+
} else {
|
1632 |
+
array_push($loggedInUsers, $newUser);
|
1633 |
+
update_option('cwp_top_logged_in_users', $loggedInUsers);
|
1634 |
+
}
|
1635 |
+
|
1636 |
+
header("Location: " . top_settings_url());
|
1637 |
+
exit;
|
1638 |
+
}
|
1639 |
+
}
|
1640 |
+
if(isset($_REQUEST['state']) && (get_option('top_fb_session_state') === $_REQUEST['state'])) {
|
1641 |
+
|
1642 |
+
$token_url = "https://graph.facebook.com/".ROP_TOP_FB_API_VERSION."/oauth/access_token?"
|
1643 |
+
. "client_id=" . get_option('cwp_top_app_id') . "&redirect_uri=" . top_settings_url()
|
1644 |
+
. "&client_secret=" . get_option('cwp_top_app_secret') . "&code=" . $code;
|
1645 |
+
|
1646 |
+
$params = null;$access_token="";
|
1647 |
+
$response = wp_remote_get($token_url);
|
1648 |
+
|
1649 |
+
if(is_array($response))
|
1650 |
+
{
|
1651 |
+
if(isset($response['body']))
|
1652 |
+
{
|
1653 |
+
parse_str($response['body'], $params);
|
1654 |
+
if(isset($params['access_token']))
|
1655 |
+
$access_token = $params['access_token'];
|
1656 |
+
}
|
1657 |
+
}
|
1658 |
+
|
1659 |
+
if($access_token!="")
|
1660 |
+
{
|
1661 |
+
update_option('top_fb_token',$access_token);
|
1662 |
+
|
1663 |
+
}
|
1664 |
+
header("Location: " . top_settings_url().'&fbadd');
|
1665 |
+
}
|
1666 |
+
|
1667 |
+
if (isset($_GET['code'])&&isset($_GET['state'])&&get_option('top_lk_session_state') == $_GET['state']) {
|
1668 |
+
|
1669 |
+
$lk_auth_token = get_option('cwp_top_lk_app_id');
|
1670 |
+
$lk_auth_secret = get_option('cwp_top_lk_app_secret');
|
1671 |
+
$params = array('grant_type' => 'authorization_code',
|
1672 |
+
'client_id' => $lk_auth_token,
|
1673 |
+
'client_secret' => $lk_auth_secret,
|
1674 |
+
'code' => $_GET['code'],
|
1675 |
+
'redirect_uri' => top_settings_url(),
|
1676 |
+
);
|
1677 |
+
|
1678 |
+
$url = 'https://www.linkedin.com/uas/oauth2/accessToken?' . http_build_query($params);
|
1679 |
+
//echo $url;
|
1680 |
+
$response = wp_remote_post($url);
|
1681 |
+
$token = json_decode($response['body']);
|
1682 |
+
//print_r($response);
|
1683 |
+
//print_r($token);
|
1684 |
+
if($token->access_token) {
|
1685 |
+
// the request went through without an error, gather user's 'access' tokens
|
1686 |
+
//AQVBBQ6_ggJaUVFYmJ5oVF_kSH-wn6VNREGgC_sYPWp0YV0U4r2CFwptnLXUbJra5Glp0ZMax96CrD2azzf_HkJ2UdLp5q5zoiT_rbl5bmTMf50XnDfRcdm8Vl2k2XoYhGQ-LkYTnddFz1K-OBcW0CWsapzgZH2hepMVMhc1Lw7bhwTab04"
|
1687 |
+
update_option('top_linkedin_token',$token->access_token);
|
1688 |
+
update_option('top_linkedin_token_expires',$token->expires_in);
|
1689 |
+
}
|
1690 |
+
|
1691 |
+
$url = 'https://api.linkedin.com/v1/people/~:(id,picture-url,first_name,last_name)?oauth2_access_token='.$token->access_token;
|
1692 |
+
//echo $url;
|
1693 |
+
$response = wp_remote_get($url);
|
1694 |
+
$response = wp_remote_retrieve_body($response);
|
1695 |
+
//print_r($response);
|
1696 |
+
$person = simplexml_load_string($response);
|
1697 |
+
|
1698 |
+
if (isset($person->id)) {
|
1699 |
+
$user_details = array('profile_image_url' => (string)$person->{'picture-url'},'name'=> (string)$person->{'first-name'} );
|
1700 |
+
|
1701 |
+
$newUser = array(
|
1702 |
+
'user_id' => (string)$person->id,
|
1703 |
+
'oauth_token' => $token->access_token,
|
1704 |
+
'oauth_token_secret' => '',
|
1705 |
+
'oauth_user_details' => (object)$user_details,
|
1706 |
+
'service' => 'linkedin'
|
1707 |
+
);
|
1708 |
+
|
1709 |
+
$loggedInUsers = get_option('cwp_top_logged_in_users');
|
1710 |
+
if(empty($loggedInUsers)) { $loggedInUsers = array(); }
|
1711 |
+
|
1712 |
+
foreach ($loggedInUsers as $key=>$user) {
|
1713 |
+
if ($user['user_id'] == $person->id)
|
1714 |
+
unset($loggedInUsers[$key]);
|
1715 |
+
}
|
1716 |
+
|
1717 |
+
if(in_array($newUser, $loggedInUsers)) {
|
1718 |
+
echo "You already added that user! no can do !";
|
1719 |
+
} else {
|
1720 |
+
array_push($loggedInUsers, $newUser);
|
1721 |
+
update_option('cwp_top_logged_in_users', $loggedInUsers);
|
1722 |
+
}
|
1723 |
+
}
|
1724 |
+
|
1725 |
+
|
1726 |
+
|
1727 |
+
header("Location: " . top_settings_url());
|
1728 |
+
}
|
1729 |
+
|
1730 |
+
if(CWP_TOP_PRO){
|
1731 |
+
global $CWP_TOP_Core_PRO;
|
1732 |
+
if(method_exists($CWP_TOP_Core_PRO,"afterCheckPro")){
|
1733 |
+
$CWP_TOP_Core_PRO->afterCheckPro();
|
1734 |
+
}
|
1735 |
+
|
1736 |
+
}
|
1737 |
+
}
|
1738 |
+
|
1739 |
+
// Used to display the login buttons
|
1740 |
+
public function displayLoginButton($social_network)
|
1741 |
+
{
|
1742 |
+
// display the twitter login button
|
1743 |
+
if($this->userIsLoggedIn($social_network)) {
|
1744 |
+
$this->setAlloAuthSettings($social_network);
|
1745 |
+
return true;
|
1746 |
+
} else {
|
1747 |
+
return false;
|
1748 |
+
}
|
1749 |
+
}
|
1750 |
+
|
1751 |
+
public function reAuthorize() {
|
1752 |
+
$top_session_state = uniqid('', true);
|
1753 |
+
update_option('top_reauthorize',time());
|
1754 |
+
$loggedInUsers = get_option('cwp_top_logged_in_users');
|
1755 |
+
if(empty($loggedInUsers)) { $loggedInUsers = array(); }
|
1756 |
+
$lk = 0;
|
1757 |
+
$fb = 0;
|
1758 |
+
|
1759 |
+
foreach ($loggedInUsers as $key=>$user) {
|
1760 |
+
if ($user['service'] === "linkedin"&&$lk===0) {
|
1761 |
+
$lk++;
|
1762 |
+
$url = 'https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id='.get_option("cwp_top_lk_app_id").'&scope=w_share&state='.$top_session_state.'&redirect_uri='.top_settings_url();
|
1763 |
+
header("Location: " . $url);
|
1764 |
+
|
1765 |
+
update_option('top_lk_session_state',$top_session_state);
|
1766 |
+
|
1767 |
+
}
|
1768 |
+
|
1769 |
+
if ($user['service'] === "facebook"&&$fb===0) {
|
1770 |
+
$top_session_state_fb = md5(uniqid(rand(), TRUE));
|
1771 |
+
$fb++;
|
1772 |
+
update_option('top_fb_session_state',$top_session_state_fb);
|
1773 |
+
$dialog_url = "https://www.facebook.com/".ROP_TOP_FB_API_VERSION."/dialog/oauth?client_id="
|
1774 |
+
. get_option("cwp_top_app_id") . "&redirect_uri=" . top_settings_url() . "&state="
|
1775 |
+
. $top_session_state_fb . "&scope=publish_actions,manage_pages,publish_pages,user_posts,user_photos";
|
1776 |
+
|
1777 |
+
header("Location: " . $dialog_url);
|
1778 |
+
}
|
1779 |
+
}
|
1780 |
+
|
1781 |
+
}
|
1782 |
+
|
1783 |
+
// Adds pages
|
1784 |
+
public function displayPages()
|
1785 |
+
{
|
1786 |
+
|
1787 |
+
if(!is_admin()) return false;
|
1788 |
+
$social_network = $_POST['social_network'];
|
1789 |
+
$access_token = get_option('top_fb_token');
|
1790 |
+
|
1791 |
+
switch ($social_network) {
|
1792 |
+
case 'facebook':
|
1793 |
+
$result1="";$pagearray1="";
|
1794 |
+
$pp=wp_remote_get("https://graph.facebook.com/".ROP_TOP_FB_API_VERSION."/me/accounts?access_token=$access_token&limit=100&offset=0");
|
1795 |
+
//print_r($pp);
|
1796 |
+
$me=wp_remote_get("https://graph.facebook.com/".ROP_TOP_FB_API_VERSION."/me/?access_token=$access_token&limit=100&offset=0");
|
1797 |
+
if(is_array($pp))
|
1798 |
+
{
|
1799 |
+
$result1=$pp['body'];
|
1800 |
+
$result2 = $me['body'];
|
1801 |
+
$pagearray2 = json_decode($result2);
|
1802 |
+
//print_r($pagearray2);
|
1803 |
+
$pagearray1 = json_decode($result1);
|
1804 |
+
$profile['name'] = $pagearray2->first_name.' '.$pagearray2->last_name;
|
1805 |
+
$profile['id'] = $pagearray2->id;
|
1806 |
+
$profile['category'] ='profile';
|
1807 |
+
$profile['access_token'] = $access_token;
|
1808 |
+
if(is_array($pagearray1->data))
|
1809 |
+
array_unshift($pagearray1->data, $profile);
|
1810 |
+
//$pagearray1->data[count($pagearray1->data)] = $profile;
|
1811 |
+
$result1 = json_encode($pagearray1);
|
1812 |
+
//print_r($results1);
|
1813 |
+
echo $result1;
|
1814 |
+
|
1815 |
+
}
|
1816 |
+
break;
|
1817 |
+
}
|
1818 |
+
die(); // Required
|
1819 |
+
}
|
1820 |
+
public function adminNotice(){
|
1821 |
+
if(is_array($this->notices)){
|
1822 |
+
|
1823 |
+
foreach($this->notices as $n){
|
1824 |
+
?>
|
1825 |
+
<div class="error">
|
1826 |
+
<p><?php _e( $n, 'tweet-old-post' ); ?></p>
|
1827 |
+
</div>
|
1828 |
+
<?php
|
1829 |
+
}
|
1830 |
+
}
|
1831 |
+
|
1832 |
+
}
|
1833 |
+
public function checkVersion(){
|
1834 |
+
if(!defined("ROP_PRO_VERSION") && CWP_TOP_PRO) echo 'rop-not-version';
|
1835 |
+
|
1836 |
+
}
|
1837 |
+
public function addPages()
|
1838 |
+
{
|
1839 |
+
|
1840 |
+
if(!is_admin()) return false;
|
1841 |
+
$social_network = $_POST['social_network'];
|
1842 |
+
$access_token = $_POST['page_token'];
|
1843 |
+
$page_id= $_POST['page_id'];
|
1844 |
+
|
1845 |
+
switch ($social_network) {
|
1846 |
+
case 'facebook':
|
1847 |
+
$user_details['profile_image_url'] = $_POST['picture_url'];
|
1848 |
+
$user_details['name'] = $_POST['page_name'];
|
1849 |
+
$user_details = (object) $user_details;
|
1850 |
+
$newUser = array(
|
1851 |
+
'user_id' => $page_id,
|
1852 |
+
'oauth_token' => $access_token,
|
1853 |
+
'oauth_token_secret' => "",
|
1854 |
+
'oauth_user_details' => $user_details,
|
1855 |
+
'service' => 'facebook'
|
1856 |
+
);
|
1857 |
+
|
1858 |
+
$loggedInUsers = get_option('cwp_top_logged_in_users');
|
1859 |
+
if(empty($loggedInUsers)) { $loggedInUsers = array(); }
|
1860 |
+
|
1861 |
+
foreach ($loggedInUsers as $key=>$user) {
|
1862 |
+
if ($user['user_id'] == $page_id)
|
1863 |
+
unset($loggedInUsers[$key]);
|
1864 |
+
}
|
1865 |
+
|
1866 |
+
if(in_array($newUser, $loggedInUsers)) {
|
1867 |
+
echo "You already added that user! no can do !";
|
1868 |
+
} else {
|
1869 |
+
array_push($loggedInUsers, $newUser);
|
1870 |
+
update_option('cwp_top_logged_in_users', $loggedInUsers);
|
1871 |
+
echo top_settings_url();
|
1872 |
+
}
|
1873 |
+
|
1874 |
+
|
1875 |
+
break;
|
1876 |
+
}
|
1877 |
+
die(); // Required
|
1878 |
+
}
|
1879 |
+
public static function setCurrentNetwork($network){
|
1880 |
+
update_option("rop_current_network_oauth",$network);
|
1881 |
+
|
1882 |
+
}
|
1883 |
+
public static function getCurrentNetwork(){
|
1884 |
+
$network = get_option("rop_current_network_oauth");
|
1885 |
+
if($network == false) return '';
|
1886 |
+
return $network;
|
1887 |
+
}
|
1888 |
+
// Adds new account
|
1889 |
+
public function addNewAccount()
|
1890 |
+
{
|
1891 |
+
|
1892 |
+
if(!is_admin()) return false;
|
1893 |
+
if(!function_exists('curl_version')){
|
1894 |
+
|
1895 |
+
self::addNotice(__("You need to have cURL library enabled in order to use our plugin! Please check it with your hosting company to enable this."),'tweet-old-post');
|
1896 |
+
return false;
|
1897 |
+
}
|
1898 |
+
global $cwp_top_settings;
|
1899 |
+
$social_network = $_POST['social_network'];
|
1900 |
+
self::setCurrentNetwork($social_network);
|
1901 |
+
$networks = $this->getAvailableNetworks();
|
1902 |
+
$allnetworks = $this->getAllNetworks(true);
|
1903 |
+
$response = array();
|
1904 |
+
|
1905 |
+
if($allnetworks[$social_network] && !CWP_TOP_PRO){
|
1906 |
+
self::addNotice("You need to <a target='_blank' href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=topplusacc&utm_medium=announce&utm_campaign=top&upgrade=true'>upgrade to the PRO version</a> in order to add a ".ucwords($social_network)." account, fellow pirate!",'error');
|
1907 |
+
|
1908 |
+
}else if(in_array($social_network,$networks) && !CWP_TOP_PRO) {
|
1909 |
+
self::addNotice("You need to <a target='_blank' href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=topplusacc&utm_medium=announce&utm_campaign=top&upgrade=true'>upgrade to the PRO version</a> in order to add more accounts, fellow pirate!",'error');
|
1910 |
+
|
1911 |
+
|
1912 |
+
}else{
|
1913 |
+
switch ($social_network) {
|
1914 |
+
case 'twitter':
|
1915 |
+
$this->oAuthCallback = $_POST['currentURL'];
|
1916 |
+
$twitter = new RopTwitterOAuth($this->consumer, $this->consumerSecret);
|
1917 |
+
$requestToken = $twitter->getRequestToken($this->oAuthCallback);
|
1918 |
+
|
1919 |
+
update_option('cwp_top_oauth_token', $requestToken['oauth_token']);
|
1920 |
+
update_option('cwp_top_oauth_token_secret', $requestToken['oauth_token_secret']);
|
1921 |
+
|
1922 |
+
switch ($twitter->http_code) {
|
1923 |
+
case 200:
|
1924 |
+
$url = $twitter->getAuthorizeURL($requestToken['oauth_token']);
|
1925 |
+
$response['url'] = $url;
|
1926 |
+
break;
|
1927 |
+
|
1928 |
+
default:
|
1929 |
+
self::addNotice(__("Could not connect to Twitter!"),'tweet-old-post');
|
1930 |
+
|
1931 |
+
break;
|
1932 |
+
}
|
1933 |
+
break;
|
1934 |
+
case 'facebook':
|
1935 |
+
if (empty($_POST['extra']['app_id'])){
|
1936 |
+
self::addNotice(__("Could not connect to Facebook! You need to add the App ID",'tweet-old-post'),'error');
|
1937 |
+
}else
|
1938 |
+
if (empty($_POST['extra']['app_secret'])){
|
1939 |
+
self::addNotice(__("Could not connect to Facebook! You need to add the App Secret",'tweet-old-post'),'error');
|
1940 |
+
|
1941 |
+
}else{
|
1942 |
+
update_option('cwp_top_app_id', $_POST['extra']['app_id']);
|
1943 |
+
update_option('cwp_top_app_secret', $_POST['extra']['app_secret']);
|
1944 |
+
|
1945 |
+
$top_session_state = md5(uniqid(rand(), TRUE));
|
1946 |
+
|
1947 |
+
update_option('top_fb_session_state',$top_session_state);
|
1948 |
+
$dialog_url = "https://www.facebook.com/".ROP_TOP_FB_API_VERSION."/dialog/oauth?client_id="
|
1949 |
+
. $_POST['extra']['app_id'] . "&redirect_uri=" . top_settings_url() . "&state="
|
1950 |
+
. $top_session_state . "&scope=publish_actions,manage_pages,publish_pages,user_posts,user_photos";
|
1951 |
+
|
1952 |
+
$response['url'] = $dialog_url;
|
1953 |
+
|
1954 |
+
}
|
1955 |
+
|
1956 |
+
break;
|
1957 |
+
default:
|
1958 |
+
if(CWP_TOP_PRO){
|
1959 |
+
global $CWP_TOP_Core_PRO;
|
1960 |
+
$CWP_TOP_Core_PRO->topProAddNewAccount();
|
1961 |
+
}
|
1962 |
+
}
|
1963 |
+
|
1964 |
+
}
|
1965 |
+
|
1966 |
+
echo json_encode($response);
|
1967 |
+
|
1968 |
+
die(); // Required
|
1969 |
+
}
|
1970 |
+
|
1971 |
+
// Adds more than one account
|
1972 |
+
public function addNewAccountPro()
|
1973 |
+
{
|
1974 |
+
|
1975 |
+
if(!is_admin()) return false;
|
1976 |
+
if (CWP_TOP_PRO) {
|
1977 |
+
global $CWP_TOP_Core_PRO;
|
1978 |
+
$CWP_TOP_Core_PRO->topProAddNewAccount($_POST['social_network']);
|
1979 |
+
}
|
1980 |
+
else{
|
1981 |
+
update_option('cwp_topnew_notice',"You need to <a target='_blank' href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=topplusacc&utm_medium=announce&utm_campaign=top&upgrade=true'>upgrade to the PRO version</a> in order to add more accounts, fellow pirate!");
|
1982 |
+
echo "You need to <a target='_blank' href='https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=topplusacc&utm_medium=announce&utm_campaign=top&upgrade=true'>upgrade to the PRO version</a> in order to add more accounts, fellow pirate!";
|
1983 |
+
|
1984 |
+
}
|
1985 |
+
die(); // Required
|
1986 |
+
}
|
1987 |
+
|
1988 |
+
// Gets the next tweet interval.
|
1989 |
+
public function getNextTweetInterval()
|
1990 |
+
{
|
1991 |
+
$timestamp = wp_next_scheduled( 'cwptoptweetcronnew' );
|
1992 |
+
|
1993 |
+
//echo $timestamp;
|
1994 |
+
//$timestamp = date("Y-m-d H:i:s", $timestamp);
|
1995 |
+
//$timeLeft = get_date_from_gmt($timestamp);
|
1996 |
+
//$timeLeft = strtotime($timeLeft);
|
1997 |
+
echo $timestamp;
|
1998 |
+
}
|
1999 |
+
|
2000 |
+
// Checks if the user is logged in/
|
2001 |
+
public function userIsLoggedIn()
|
2002 |
+
{
|
2003 |
+
if(!empty($this->cwp_top_oauth_token) && !empty($this->cwp_top_oauth_token_secret)) {
|
2004 |
+
return true;
|
2005 |
+
} else {
|
2006 |
+
return false;
|
2007 |
+
}
|
2008 |
+
}
|
2009 |
+
|
2010 |
+
// Clears all Twitter user credentials.
|
2011 |
+
public function logOutUser()
|
2012 |
+
{
|
2013 |
+
if(!is_admin()) return false;
|
2014 |
+
$userID = $_POST['user_id'];
|
2015 |
+
|
2016 |
+
$users = get_option('cwp_top_logged_in_users');
|
2017 |
+
|
2018 |
+
foreach ($users as $id => $user) {
|
2019 |
+
foreach ($user as $key => $value) {
|
2020 |
+
if($userID == $value) {
|
2021 |
+
$user_id = array_search($user, $users);
|
2022 |
+
unset($users[$user_id]);
|
2023 |
+
}
|
2024 |
+
}
|
2025 |
+
}
|
2026 |
+
|
2027 |
+
update_option('cwp_top_logged_in_users', $users);
|
2028 |
+
|
2029 |
+
$this->setAlloAuthSettings();
|
2030 |
+
die();
|
2031 |
+
}
|
2032 |
+
|
2033 |
+
function getUpperDays($day,$days){
|
2034 |
+
$tmp = array();
|
2035 |
+
foreach($days as $d){
|
2036 |
+
if($day <= $d){
|
2037 |
+
$tmp[] = $d;
|
2038 |
+
}
|
2039 |
+
}
|
2040 |
+
return $tmp;
|
2041 |
+
}
|
2042 |
+
public function getSchedule(){
|
2043 |
+
$db = get_option("cwp_top_global_schedule" ) ;
|
2044 |
+
if(!is_array($db)) $db = array();
|
2045 |
+
$networks = $this->getAllNetworks();
|
2046 |
+
foreach($networks as $network){
|
2047 |
+
if(!isset($db[$network.'_schedule_type_selected'])) $db[$network.'_schedule_type_selected'] = "each";
|
2048 |
+
if(!isset($db[$network.'_top_opt_interval'])) $db[$network.'_top_opt_interval'] = 8;
|
2049 |
+
|
2050 |
+
}
|
2051 |
+
return $db;
|
2052 |
+
}
|
2053 |
+
function getNextTweetTime($network, $nowTime=null){
|
2054 |
+
$time = 0;
|
2055 |
+
if(!CWP_TOP_PRO){
|
2056 |
+
$time = $this->getTime($nowTime) + ( floatval(get_option('top_opt_interval')) * 3600 ) ;
|
2057 |
+
if($time > $this->getTime($nowTime)) {
|
2058 |
+
return $time;
|
2059 |
+
}else{
|
2060 |
+
return 0;
|
2061 |
+
}
|
2062 |
+
}
|
2063 |
+
$cwp_top_global_schedule = $this->getSchedule();
|
2064 |
+
$type = $cwp_top_global_schedule[$network.'_schedule_type_selected'];
|
2065 |
+
if($type == 'each'){
|
2066 |
+
$time = $this->getTime($nowTime) + floatval($cwp_top_global_schedule[$network.'_top_opt_interval']) * 3600;
|
2067 |
+
if($time > $this->getTime($nowTime)) {
|
2068 |
+
return $time;
|
2069 |
+
}else{
|
2070 |
+
return 0;
|
2071 |
+
}
|
2072 |
+
}else{
|
2073 |
+
if (date('N', $this->getTime($nowTime)) == 1){
|
2074 |
+
$start = strtotime("monday this week",$this->getTime($nowTime)) ;
|
2075 |
+
}else{
|
2076 |
+
$start = strtotime("last Monday",$this->getTime($nowTime)) ;
|
2077 |
+
}
|
2078 |
+
|
2079 |
+
$days = explode(",",$cwp_top_global_schedule[$network.'_top_opt_interval']['days']);
|
2080 |
+
|
2081 |
+
$times = $cwp_top_global_schedule[$network.'_top_opt_interval']['times'];
|
2082 |
+
$schedules_days = array();
|
2083 |
+
if(count($times) == 0 ) return false;
|
2084 |
+
if(count($days) == 0 ) return false;
|
2085 |
+
foreach($days as $rday){
|
2086 |
+
$schedules_days[] = $start + ($rday-1) * 3600 * 24;
|
2087 |
+
|
2088 |
+
}
|
2089 |
+
$schedules = array();
|
2090 |
+
foreach($schedules_days as $schedule){
|
2091 |
+
|
2092 |
+
foreach($times as $time){
|
2093 |
+
|
2094 |
+
$schedules[] = $schedule + floatval($time['hour']) * 3600 + floatval($time['minute']) * 60;
|
2095 |
+
|
2096 |
+
}
|
2097 |
+
|
2098 |
+
}
|
2099 |
+
sort($schedules,SORT_REGULAR);
|
2100 |
+
$ctime = $this->getTime($nowTime);
|
2101 |
+
|
2102 |
+
foreach($schedules as $s ){
|
2103 |
+
if($s > $ctime ) {
|
2104 |
+
return $s;
|
2105 |
+
}
|
2106 |
+
|
2107 |
+
}
|
2108 |
+
foreach($schedules as $s){
|
2109 |
+
$s += 7 * 24 * 3600;
|
2110 |
+
if($s > $ctime) return $s;
|
2111 |
+
|
2112 |
+
}
|
2113 |
+
return 0;
|
2114 |
+
}
|
2115 |
+
return 0;
|
2116 |
+
}
|
2117 |
+
public function getAllOptions(){
|
2118 |
+
$options = array();
|
2119 |
+
|
2120 |
+
$format_fields = $this->getFormatFields();
|
2121 |
+
$all = $this->getAllNetworks();
|
2122 |
+
foreach($format_fields as $n=>$detail){
|
2123 |
+
foreach($detail as $df){
|
2124 |
+
|
2125 |
+
$options[] = $n."_".$df['option'];
|
2126 |
+
|
2127 |
+
}
|
2128 |
+
}
|
2129 |
+
foreach($all as $a){
|
2130 |
+
|
2131 |
+
$options[] = $a."_schedule_type_selected";
|
2132 |
+
$options[] = $a."_top_schedule_days";
|
2133 |
+
$options[] = $a."_time_choice_hour";
|
2134 |
+
$options[] = $a."_top_opt_interval";
|
2135 |
+
$options[] = $a."_time_choice_min";
|
2136 |
+
}
|
2137 |
+
$cwp_top_fields = $this->getGeneralFields();
|
2138 |
+
foreach ($cwp_top_fields as $field)
|
2139 |
+
{
|
2140 |
+
$options[] = $field['option'];
|
2141 |
+
}
|
2142 |
+
return $options;
|
2143 |
+
}
|
2144 |
+
public function sanitizeRequest(){
|
2145 |
+
|
2146 |
+
$dataSent = $_POST['dataSent']['dataSent'];
|
2147 |
+
$valid = array();
|
2148 |
+
parse_str($dataSent, $options);
|
2149 |
+
$all_options = $this->getAllOptions();
|
2150 |
+
$invalid = array();
|
2151 |
+
foreach($options as $k => $option ){
|
2152 |
+
if(in_array($k,$all_options)){
|
2153 |
+
$valid[$k] = $option;
|
2154 |
+
|
2155 |
+
}else{
|
2156 |
+
$invalid[] = $k;
|
2157 |
+
}
|
2158 |
+
|
2159 |
+
}
|
2160 |
+
$_POST['dataSent']['dataSent'] = http_build_query($valid);
|
2161 |
+
}
|
2162 |
+
// Updates all options.
|
2163 |
+
public function updateAllOptions()
|
2164 |
+
{
|
2165 |
+
if(!is_admin()) return false;
|
2166 |
+
$dataSent = $_POST['dataSent']['dataSent'];
|
2167 |
+
$this->sanitizeRequest();
|
2168 |
+
$options = array();
|
2169 |
+
|
2170 |
+
parse_str($dataSent, $options);
|
2171 |
+
foreach ($options as $option => $newValue) {
|
2172 |
+
//$newValue = sanitize_text_field($newValue);
|
2173 |
+
update_option($option, $newValue);
|
2174 |
+
}
|
2175 |
+
|
2176 |
+
//update_option('top_opt_post_type', 'post');
|
2177 |
+
|
2178 |
+
if(!array_key_exists('top_opt_custom_url_option', $options)) {
|
2179 |
+
update_option('top_opt_custom_url_option', 'off');
|
2180 |
+
}
|
2181 |
+
|
2182 |
+
if(!array_key_exists('top_opt_use_url_shortner', $options)) {
|
2183 |
+
update_option('top_opt_use_url_shortner', 'off');
|
2184 |
+
}
|
2185 |
+
|
2186 |
+
if(!array_key_exists('top_opt_post_with_image', $options)) {
|
2187 |
+
update_option('top_opt_post_with_image', 'off');
|
2188 |
+
}
|
2189 |
+
|
2190 |
+
if(!array_key_exists('top_opt_tweet_multiple_times', $options)) {
|
2191 |
+
update_option('top_opt_tweet_multiple_times', 'off');
|
2192 |
+
}
|
2193 |
+
|
2194 |
+
if(!array_key_exists('top_opt_ga_tracking', $options)) {
|
2195 |
+
update_option('top_opt_ga_tracking', 'off');
|
2196 |
+
}
|
2197 |
+
|
2198 |
+
//if(!array_key_exists('top_opt_tweet_specific_category', $options)) {
|
2199 |
+
// update_option('top_opt_tweet_specific_category', '');
|
2200 |
+
//}
|
2201 |
+
|
2202 |
+
if(!array_key_exists('top_opt_omit_cats', $options)) {
|
2203 |
+
update_option('top_opt_omit_cats', '');
|
2204 |
+
}
|
2205 |
+
|
2206 |
+
if(!array_key_exists('top_opt_post_type', $options)) {
|
2207 |
+
update_option('top_opt_post_type', 'post');
|
2208 |
+
}
|
2209 |
+
|
2210 |
+
//update_option("top_opt_already_tweeted_posts", array());
|
2211 |
+
$this->updateAllPostFormat();
|
2212 |
+
if(CWP_TOP_PRO){
|
2213 |
+
|
2214 |
+
global $CWP_TOP_Core_PRO;
|
2215 |
+
$CWP_TOP_Core_PRO->updateTopProAjax();
|
2216 |
+
}
|
2217 |
+
die();
|
2218 |
+
}
|
2219 |
+
|
2220 |
+
public function updateAllPostFormat()
|
2221 |
+
{
|
2222 |
+
$all = $this->getAllNetworks();
|
2223 |
+
$dataSent = $_POST['dataSent']['dataSent'];
|
2224 |
+
|
2225 |
+
$options = array();
|
2226 |
+
parse_str($dataSent, $options);
|
2227 |
+
|
2228 |
+
//print_r($options);
|
2229 |
+
foreach($all as $n){
|
2230 |
+
|
2231 |
+
if(!array_key_exists($n.'_top_opt_custom_url_option', $options)) {
|
2232 |
+
$options[$n.'_top_opt_custom_url_option'] = 'off';
|
2233 |
+
}
|
2234 |
+
|
2235 |
+
if(!array_key_exists($n.'_top_opt_use_url_shortner', $options)) {
|
2236 |
+
$options[$n.'_top_opt_use_url_shortner'] = 'off';
|
2237 |
+
}
|
2238 |
+
|
2239 |
+
if(!array_key_exists($n.'_top_opt_post_with_image', $options)) {
|
2240 |
+
$options[$n.'_top_opt_post_with_image'] = 'off';
|
2241 |
+
}
|
2242 |
+
|
2243 |
+
if(!array_key_exists($n.'_top_opt_tweet_multiple_times', $options)) {
|
2244 |
+
$options[$n.'_top_opt_tweet_multiple_times'] = 'off';
|
2245 |
+
}
|
2246 |
+
|
2247 |
+
if(!array_key_exists($n.'_top_opt_ga_tracking', $options)) {
|
2248 |
+
$options[$n.'_top_opt_ga_tracking'] = 'off';
|
2249 |
+
}
|
2250 |
+
|
2251 |
+
//if(!array_key_exists('top_opt_tweet_specific_category', $options)) {
|
2252 |
+
// update_option('top_opt_tweet_specific_category', '');
|
2253 |
+
//}
|
2254 |
+
|
2255 |
+
if(!array_key_exists($n.'_top_opt_omit_cats', $options)) {
|
2256 |
+
$options[$n.'_top_opt_omit_cats'] = '';
|
2257 |
+
}
|
2258 |
+
|
2259 |
+
if(!array_key_exists($n.'_top_opt_post_type', $options)) {
|
2260 |
+
$options[$n.'_top_opt_post_type'] = 'post';
|
2261 |
+
}
|
2262 |
+
|
2263 |
+
}
|
2264 |
+
|
2265 |
+
update_option('top_opt_post_formats', $options);
|
2266 |
+
|
2267 |
+
}
|
2268 |
+
|
2269 |
+
public function top_admin_notice() {
|
2270 |
+
global $current_user ;
|
2271 |
+
$user_id = $current_user->ID;
|
2272 |
+
/* Check that the user hasn't already clicked to ignore the message */
|
2273 |
+
if ( ! get_user_meta($user_id, 'top_ignore_notice3') ) {
|
2274 |
+
// echo '<div class="error"><p>';
|
2275 |
+
// printf(__(' We just fixed the interrupted posting issue and scheduling issue, if you don\'t see any tweets you need to re-authentificate your twitter accounts. | <a href="'.SETTINGSURL.'&top_nag_ignore=0">Hide Notice</a>'));
|
2276 |
+
// echo "</p></div>";
|
2277 |
+
}
|
2278 |
+
}
|
2279 |
+
public function top_nag_ignore() {
|
2280 |
+
|
2281 |
+
global $current_user;
|
2282 |
+
$user_id = $current_user->ID;
|
2283 |
+
/* If user clicks to ignore the notice, add that to their user meta */
|
2284 |
+
if ( isset($_GET['top_nag_ignore']) && '0' == $_GET['top_nag_ignore'] ) {
|
2285 |
+
add_user_meta($user_id, 'top_ignore_notice3', 'true', true);
|
2286 |
+
}
|
2287 |
+
}
|
2288 |
+
|
2289 |
+
public function resetAllOptions()
|
2290 |
+
{
|
2291 |
+
|
2292 |
+
if(!is_admin()) return false;
|
2293 |
+
|
2294 |
+
$defaultOptions = array(
|
2295 |
+
'top_opt_tweet_type' => 'title',
|
2296 |
+
'top_opt_post_with_image' => 'off',
|
2297 |
+
'top_opt_bitly_user' =>'',
|
2298 |
+
'top_opt_bitly_key' =>'',
|
2299 |
+
'top_opt_post_type_custom_field' => '',
|
2300 |
+
'top_opt_add_text' => '',
|
2301 |
+
'top_opt_add_text_at' => 'beginning',
|
2302 |
+
'top_opt_include_link' => 'true',
|
2303 |
+
'top_opt_custom_url_option' => 'off',
|
2304 |
+
'top_opt_use_url_shortner' => 'off',
|
2305 |
+
'top_opt_ga_tracking' => 'on',
|
2306 |
+
'top_opt_url_shortner' => 'is.gd',
|
2307 |
+
'top_opt_custom_hashtag_option' => 'nohashtag',
|
2308 |
+
'top_opt_hashtags' => '',
|
2309 |
+
'top_opt_hashtag_length' => '0',
|
2310 |
+
'top_opt_custom_hashtag_field' => '',
|
2311 |
+
'top_opt_interval' => '8',
|
2312 |
+
'top_opt_age_limit' => '30',
|
2313 |
+
'top_opt_max_age_limit' => '0',
|
2314 |
+
'top_opt_no_of_tweet' => '1',
|
2315 |
+
'top_opt_post_type' => 'post',
|
2316 |
+
'top_opt_post_type_value' => 'post',
|
2317 |
+
'top_opt_custom_url_field' => '',
|
2318 |
+
'top_opt_omit_cats' => '',
|
2319 |
+
'cwp_topnew_active_status' => 'false',
|
2320 |
+
'cwp_topnew_notice' => '',
|
2321 |
+
'top_opt_excluded_post' => '',
|
2322 |
+
'top_opt_tweet-multiple-times' => 'off',
|
2323 |
+
'cwp_top_logged_in_users' => '',
|
2324 |
+
'top_fb_token' =>'',
|
2325 |
+
'top_opt_post_formats' =>'',
|
2326 |
+
// Added by Ash/Upwork
|
2327 |
+
'top_opt_posts_buffer_twitter' => '',
|
2328 |
+
'top_opt_posts_buffer_facebook' => '',
|
2329 |
+
'top_opt_posts_buffer_linkedin' => '',
|
2330 |
+
'top_opt_posts_buffer_tumblr' => '',
|
2331 |
+
'top_opt_posts_buffer_xing' => '',
|
2332 |
+
// Added by Ash/Upwork
|
2333 |
+
);
|
2334 |
+
|
2335 |
+
foreach ($defaultOptions as $option => $defaultValue) {
|
2336 |
+
update_option($option, $defaultValue);
|
2337 |
+
}
|
2338 |
+
|
2339 |
+
|
2340 |
+
update_option("top_opt_post_formats",array());
|
2341 |
+
update_option("cwp_top_global_schedule",array());
|
2342 |
+
$this->clearScheduledTweets();
|
2343 |
+
//die();
|
2344 |
+
}
|
2345 |
+
public function getPostFormatValues(){
|
2346 |
+
$cwp_rop_all_networks = $this->getFormatFields();
|
2347 |
+
$options = get_option("top_opt_post_formats");
|
2348 |
+
$return = array();
|
2349 |
+
foreach($cwp_rop_all_networks as $n=>$d){
|
2350 |
+
|
2351 |
+
foreach($d as $fname => $f){
|
2352 |
+
|
2353 |
+
if(!isset($options[$n."_".$f['option']])){
|
2354 |
+
$return[$n."_".$f['option']] = $f['default_value'];
|
2355 |
+
|
2356 |
+
}else{
|
2357 |
+
$return[$n."_".$f['option']] = $options[$n."_".$f['option']];
|
2358 |
+
|
2359 |
+
}
|
2360 |
+
|
2361 |
+
}
|
2362 |
+
|
2363 |
+
}
|
2364 |
+
|
2365 |
+
return $return;
|
2366 |
+
|
2367 |
+
|
2368 |
+
}
|
2369 |
+
public function deleteAllOptions()
|
2370 |
+
{
|
2371 |
+
global $defaultOptions;
|
2372 |
+
foreach ($defaultOptions as $option => $defaultValue) {
|
2373 |
+
delete_option($option);
|
2374 |
+
}
|
2375 |
+
// Added by Ash/Upwork
|
2376 |
+
do_action("rop_pro_deactivateFree");
|
2377 |
+
// Added by Ash/Upwork
|
2378 |
+
}
|
2379 |
+
|
2380 |
+
// Generate all fields based on settings
|
2381 |
+
public static function generateFieldType($field)
|
2382 |
+
{
|
2383 |
+
$disabled = "";
|
2384 |
+
$pro = "";
|
2385 |
+
|
2386 |
+
switch ($field['type']) {
|
2387 |
+
case 'image-list':
|
2388 |
+
$pro = "";
|
2389 |
+
$disabled = "";
|
2390 |
+
if (isset($field['available_pro'])) {
|
2391 |
+
|
2392 |
+
|
2393 |
+
if(!CWP_TOP_PRO){
|
2394 |
+
$pro = CWP_TOP_PRO_STRING;
|
2395 |
+
$disabled = "disabled='disabled'";
|
2396 |
+
}
|
2397 |
+
}
|
2398 |
+
if(isset($field['available_business'])){
|
2399 |
+
if(!apply_filters('rop_is_business_user', false)){
|
2400 |
+
$pro = $field["pro_text"];
|
2401 |
+
$disabled = "disabled='disabled'";
|
2402 |
+
}
|
2403 |
+
}
|
2404 |
+
$images = array();
|
2405 |
+
$images[] = "full";
|
2406 |
+
$images = array_merge($images,get_intermediate_image_sizes());
|
2407 |
+
|
2408 |
+
echo "<select name='".$field['option']."' id='".$field['option']."' ".$disabled ." >";
|
2409 |
+
foreach($images as $image){
|
2410 |
+
echo "<option ".(($field["option_value"] == $image) ? "selected" : "")." value='".$image."'>".$image."</option>";
|
2411 |
+
}
|
2412 |
+
|
2413 |
+
echo "</select><br/>".$pro;
|
2414 |
+
break;
|
2415 |
+
case 'text':
|
2416 |
+
if (isset($field['available_pro'])) {
|
2417 |
+
|
2418 |
+
|
2419 |
+
if(!CWP_TOP_PRO && $field['available_pro'] == 'yes') {
|
2420 |
+
if ( isset( $field["pro_text"] ) ) {
|
2421 |
+
$pro = __($field["pro_text"],'tweet-old-post');
|
2422 |
+
} else {
|
2423 |
+
$pro = CWP_TOP_PRO_STRING;
|
2424 |
+
}
|
2425 |
+
$disabled = "disabled='disabled'";
|
2426 |
+
}
|
2427 |
+
}
|
2428 |
+
|
2429 |
+
if(isset($field['available_business'])){
|
2430 |
+
|
2431 |
+
if(!apply_filters('rop_is_business_user', false)){
|
2432 |
+
$pro = $field["pro_text"];
|
2433 |
+
$disabled = "disabled='disabled'";
|
2434 |
+
|
2435 |
+
}
|
2436 |
+
}
|
2437 |
+
echo "<input type='text' placeholder='".__($field['description'],'tweet-old-post')."' ".$disabled." value='".$field['option_value']."' name='".$field['option']."' id='".$field['option']."'><br/>".$pro;
|
2438 |
+
break;
|
2439 |
+
|
2440 |
+
case 'number':
|
2441 |
+
if (isset($field['available_pro'])) {
|
2442 |
+
|
2443 |
+
|
2444 |
+
if(!CWP_TOP_PRO){
|
2445 |
+
$pro = CWP_TOP_PRO_STRING;
|
2446 |
+
$disabled = "disabled='disabled'";
|
2447 |
+
}
|
2448 |
+
}
|
2449 |
+
if(isset($field['available_business'])){
|
2450 |
+
if(!apply_filters('rop_is_business_user', false)){
|
2451 |
+
$pro = $field["pro_text"];
|
2452 |
+
$disabled = "disabled='disabled'";
|
2453 |
+
}
|
2454 |
+
}
|
2455 |
+
echo "<input type='number' placeholder='".__($field['description'],'tweet-old-post')."' ".$disabled." value='".$field['option_value']."' max='".$field['max-length']."' name='".$field['option']."' id='".$field['option']."'><br/>".$pro;
|
2456 |
+
break;
|
2457 |
+
|
2458 |
+
case 'select':
|
2459 |
+
$noFieldOptions = intval(count($field['options']));
|
2460 |
+
$fieldOptions = array_keys($field['options']);
|
2461 |
+
if (isset($field['available_pro'])) {
|
2462 |
+
|
2463 |
+
|
2464 |
+
if(!CWP_TOP_PRO && $field['available_pro'] == 'yes'){
|
2465 |
+
$pro = CWP_TOP_PRO_STRING;
|
2466 |
+
$disabled = "disabled='disabled'";
|
2467 |
+
}
|
2468 |
+
}
|
2469 |
+
if(isset($field['available_business'])){
|
2470 |
+
if(!apply_filters('rop_is_business_user', false)){
|
2471 |
+
$pro = $field["pro_text"];
|
2472 |
+
$disabled = "disabled='disabled'";
|
2473 |
+
}
|
2474 |
+
}
|
2475 |
+
//if ($field['option']=='top_opt_post_type') $disabled = "disabled";
|
2476 |
+
print "<select id='".$field['option']."' name='".$field['option']."'".$disabled.">";
|
2477 |
+
for ($i=0; $i < $noFieldOptions; $i++) {
|
2478 |
+
print "<option value=".$fieldOptions[$i];
|
2479 |
+
if($field['option_value'] == $fieldOptions[$i]) { echo " selected='selected'"; }
|
2480 |
+
print ">".__($field['options'][$fieldOptions[$i]],'tweet-old-post')."</option>";
|
2481 |
+
}
|
2482 |
+
print "</select>".$pro;
|
2483 |
+
break;
|
2484 |
+
|
2485 |
+
case 'checkbox':
|
2486 |
+
|
2487 |
+
if (isset($field['available_pro'])) {
|
2488 |
+
|
2489 |
+
if(!CWP_TOP_PRO){
|
2490 |
+
$pro = CWP_TOP_PRO_STRING;
|
2491 |
+
$disabled = "disabled='disabled'";
|
2492 |
+
}
|
2493 |
+
}
|
2494 |
+
if(isset($field['available_business'])){
|
2495 |
+
if(!apply_filters('rop_is_business_user', false)){
|
2496 |
+
$pro = $field["pro_text"];
|
2497 |
+
$disabled = "disabled='disabled'";
|
2498 |
+
}
|
2499 |
+
}
|
2500 |
+
print "<input id='".$field['option']."' type='checkbox' ".$disabled." name='".$field['option']."'";
|
2501 |
+
if($field['option_value'] == 'on') { echo "checked=checked"; }
|
2502 |
+
print " />".$pro;
|
2503 |
+
|
2504 |
+
|
2505 |
+
break;
|
2506 |
+
|
2507 |
+
case 'categories-list':
|
2508 |
+
|
2509 |
+
$taxs = get_taxonomies(array(
|
2510 |
+
'public' => true
|
2511 |
+
),"object","and");
|
2512 |
+
|
2513 |
+
$post_types = get_post_types( array(
|
2514 |
+
'public' => true,
|
2515 |
+
), "object","and");
|
2516 |
+
$post_types["post"] = get_post_type_object( 'post' );
|
2517 |
+
$post_types["page"] = get_post_type_object( 'page' );
|
2518 |
+
|
2519 |
+
foreach($post_types as $pt=>$pd){
|
2520 |
+
foreach($taxs as $tx){
|
2521 |
+
|
2522 |
+
if(in_array($pt,$tx->object_type)){
|
2523 |
+
|
2524 |
+
$terms = get_terms($tx->name, array(
|
2525 |
+
'hide_empty' => true,
|
2526 |
+
'number' =>400
|
2527 |
+
|
2528 |
+
) );
|
2529 |
+
if(!empty($terms)){
|
2530 |
+
print "<div class='categories-list cwp-hidden cwp-tax-".$pt."'><p class='rop-category-header'>".$tx->labels->name." </p>";
|
2531 |
+
foreach ($terms as $t) {
|
2532 |
+
|
2533 |
+
if (!is_array(get_option('top_opt_omit_cats')))
|
2534 |
+
$top_opt_omit_specific_cats = explode(',',get_option('top_opt_omit_cats'));
|
2535 |
+
else
|
2536 |
+
$top_opt_omit_specific_cats = get_option('top_opt_omit_cats');
|
2537 |
+
|
2538 |
+
print "<div class='cwp-cat'>";
|
2539 |
+
print "<input type='checkbox' data-posttype='".$pt."' name='".$field['option']."[]' value='".$t->term_id."' id='".$field['option']."_cat_".$t->term_id."'";
|
2540 |
+
|
2541 |
+
if($field['option'] == 'top_opt_omit_cats') {
|
2542 |
+
if(is_array($top_opt_omit_specific_cats)) {
|
2543 |
+
if(in_array($t->term_id, $top_opt_omit_specific_cats)) {
|
2544 |
+
print "checked=checked";
|
2545 |
+
}
|
2546 |
+
}
|
2547 |
+
}
|
2548 |
+
|
2549 |
+
|
2550 |
+
print ">";
|
2551 |
+
print "<label for='".$field['option']."_cat_".$t->term_id."'>".$t->name."</label>";
|
2552 |
+
print "</div>";
|
2553 |
+
}
|
2554 |
+
print "<div class='clear'></div></div>";
|
2555 |
+
}
|
2556 |
+
|
2557 |
+
}
|
2558 |
+
|
2559 |
+
}
|
2560 |
+
|
2561 |
+
}
|
2562 |
+
|
2563 |
+
|
2564 |
+
break;
|
2565 |
+
|
2566 |
+
case 'custom-post-type':
|
2567 |
+
print "<div class='post-type-list clearfix'>";
|
2568 |
+
$args = array(
|
2569 |
+
'public' => true,
|
2570 |
+
'_builtin' => false
|
2571 |
+
);
|
2572 |
+
|
2573 |
+
$output = 'names'; // names or objects, note names is the default
|
2574 |
+
$operator = 'and'; // 'and' or 'or'
|
2575 |
+
if (isset($field['available_pro'])) {
|
2576 |
+
if(!CWP_TOP_PRO){
|
2577 |
+
$pro = CWP_TOP_PRO_STRING;
|
2578 |
+
$disabled = "disabled='disabled'";
|
2579 |
+
}
|
2580 |
+
}
|
2581 |
+
if(isset($field['available_business'])){
|
2582 |
+
if(!apply_filters('rop_is_business_user', false)){
|
2583 |
+
$pro = $field["pro_text"];
|
2584 |
+
$disabled = "disabled='disabled'";
|
2585 |
+
}
|
2586 |
+
}
|
2587 |
+
$post_types = get_post_types( $args, $output, $operator );
|
2588 |
+
array_push($post_types,"post","page");
|
2589 |
+
foreach ($post_types as $post_type) {
|
2590 |
+
|
2591 |
+
//$top_opt_tweet_specific_category = get_option('top_opt_tweet_specific_category');
|
2592 |
+
|
2593 |
+
if (!is_array(get_option('top_opt_post_type')))
|
2594 |
+
$top_opt_post_types = explode(',',get_option('top_opt_post_type'));
|
2595 |
+
else
|
2596 |
+
$top_opt_post_types = get_option('top_opt_post_type');
|
2597 |
+
|
2598 |
+
print "<div class='cwp-cat '>";
|
2599 |
+
print "<input ".$disabled." type='checkbox' class='cwp-cpt-checkbox' name='".$field['option']."[]' value='".$post_type."' id='".$field['option']."_cat_".$post_type."'";
|
2600 |
+
|
2601 |
+
if($field['option'] == 'top_opt_post_type') {
|
2602 |
+
if(is_array($top_opt_post_types)) {
|
2603 |
+
if(in_array($post_type, $top_opt_post_types)) {
|
2604 |
+
print "checked=checked";
|
2605 |
+
}
|
2606 |
+
}
|
2607 |
+
}
|
2608 |
+
|
2609 |
+
|
2610 |
+
print ">";
|
2611 |
+
print "<label for='".$field['option']."_cat_".$post_type."'>".$post_type."</label>";
|
2612 |
+
print "</div>";
|
2613 |
+
|
2614 |
+
}
|
2615 |
+
print "</div> ".$pro;
|
2616 |
+
break;
|
2617 |
+
|
2618 |
+
}
|
2619 |
+
|
2620 |
+
}
|
2621 |
+
|
2622 |
+
|
2623 |
+
public function echoTime() {
|
2624 |
+
|
2625 |
+
echo $this->getTime();
|
2626 |
+
|
2627 |
+
die();
|
2628 |
+
}
|
2629 |
+
public function getTime($nowTime=null) {
|
2630 |
+
if($nowTime) return $nowTime;
|
2631 |
+
return time() ;
|
2632 |
+
|
2633 |
+
//return time() - 253214 + 2 * 3600 + 24 * 3600;
|
2634 |
+
}
|
2635 |
+
|
2636 |
+
function top_plugin_action_links($links, $file) {
|
2637 |
+
|
2638 |
+
if ($file == ROPPLUGINBASENAME) {
|
2639 |
+
// The "page" query string value must be equal to the slug
|
2640 |
+
// of the Settings admin page we defined earlier, which in
|
2641 |
+
// this case equals "myplugin-settings".
|
2642 |
+
$settings_link = '<a href="' . get_bloginfo('wpurl') . '/wp-admin/admin.php?page=TweetOldPost">Settings</a>';
|
2643 |
+
array_unshift($links, $settings_link);
|
2644 |
+
}
|
2645 |
+
|
2646 |
+
return $links;
|
2647 |
+
}
|
2648 |
+
public function getRemoteCheck(){
|
2649 |
+
$remote_check = get_option("cwp_rop_remote_trigger");
|
2650 |
+
if($remote_check === false) $remote_check = "off";
|
2651 |
+
return $remote_check;
|
2652 |
+
}
|
2653 |
+
public function getBetaUserStatus(){
|
2654 |
+
$beta_user = get_option("cwp_rop_beta_user");
|
2655 |
+
if($beta_user === false) $beta_user = "off";
|
2656 |
+
return $beta_user;
|
2657 |
+
}
|
2658 |
+
public function fixCron() {
|
2659 |
+
update_option('cwp_topnew_notice','');
|
2660 |
+
|
2661 |
+
if ( defined( 'ALTERNATE_WP_CRON' ) ) {
|
2662 |
+
|
2663 |
+
//delete_option( 'hmbkp_wp_cron_test_failed' );
|
2664 |
+
|
2665 |
+
//echo 1;
|
2666 |
+
|
2667 |
+
return 0;
|
2668 |
+
|
2669 |
+
}
|
2670 |
+
else {
|
2671 |
+
|
2672 |
+
$response = wp_remote_head( site_url( 'wp-cron.php' ), array( 'timeout' => 30 ) );
|
2673 |
+
|
2674 |
+
if ( is_wp_error( $response ) ) {
|
2675 |
+
|
2676 |
+
update_option('cwp_topnew_notice', "Looks like there is an issue with your WP Cron and Tweet Old Post relies on wp-cron to schedule tweets, see the <a href='http://wordpress.org/plugins/tweet-old-post/faq/'>FAQ</a> for more details!");
|
2677 |
+
|
2678 |
+
} elseif ( wp_remote_retrieve_response_code( $response ) != 200 ) {
|
2679 |
+
|
2680 |
+
update_option('cwp_topnew_notice', "Looks like there is an issue with your WP Cron and Tweet Old Post relies on wp-cron to schedule tweets, see the <a href='http://wordpress.org/plugins/tweet-old-post/faq/'>FAQ</a> for more details!");
|
2681 |
+
|
2682 |
+
}
|
2683 |
+
|
2684 |
+
|
2685 |
+
|
2686 |
+
}
|
2687 |
+
}
|
2688 |
+
public function clearOldCron(){
|
2689 |
+
if(isset($_POST['cwp-action'])){
|
2690 |
+
if($_POST['cwp-action'] == 'download_sysinfo'){
|
2691 |
+
header('Content-Disposition: attachment; filename="report.txt"');
|
2692 |
+
header('Content-type: text/plain');
|
2693 |
+
echo $_POST['cwp-top-sysinfo'];
|
2694 |
+
die();
|
2695 |
+
|
2696 |
+
}
|
2697 |
+
|
2698 |
+
}
|
2699 |
+
if ( false === ( $remote_calls = get_transient( 'rop_remote_calls' ) ) ) {
|
2700 |
+
$beta_user = $this->getBetaUserStatus();
|
2701 |
+
if($beta_user == "on" ) {
|
2702 |
+
$this->sendBetaUserTrigger($beta_user);
|
2703 |
+
}
|
2704 |
+
$remote_call = $this->getRemoteCheck();
|
2705 |
+
if($remote_call == "on" ) {
|
2706 |
+
$this->sendBetaUserTrigger($remote_call);
|
2707 |
+
}
|
2708 |
+
|
2709 |
+
$this->sendRemoteTrigger($this->getRemoteCheck());
|
2710 |
+
set_transient( 'rop_remote_calls', "done", 24 * HOUR_IN_SECONDS );
|
2711 |
+
}
|
2712 |
+
if(!defined("VERSION_CHECK") && function_exists('topProImage')){
|
2713 |
+
$this->notices[] = "You need to have the latest version of the Revive Old Post Pro addon in order to use it. Please download it from the themeisle.com account";
|
2714 |
+
|
2715 |
+
}
|
2716 |
+
$all = $this->getAllNetworks();
|
2717 |
+
|
2718 |
+
if($this->pluginStatus !== 'true'){
|
2719 |
+
|
2720 |
+
foreach($all as $a){
|
2721 |
+
|
2722 |
+
wp_clear_scheduled_hook($a.'roptweetcron',array($a));
|
2723 |
+
|
2724 |
+
|
2725 |
+
}
|
2726 |
+
return false;
|
2727 |
+
}
|
2728 |
+
|
2729 |
+
|
2730 |
+
$networks = $this->getAvailableNetworks();
|
2731 |
+
if(wp_next_scheduled( 'cwp_top_tweet_cron' ) !== false) {
|
2732 |
+
|
2733 |
+
$timestamp = wp_next_scheduled( 'cwp_top_tweet_cron' );
|
2734 |
+
wp_clear_scheduled_hook('cwp_top_tweet_cron');
|
2735 |
+
foreach($networks as $network){
|
2736 |
+
wp_schedule_single_event($timestamp,$network.'roptweetcron',array($network));
|
2737 |
+
}
|
2738 |
+
|
2739 |
+
}else{
|
2740 |
+
|
2741 |
+
if(wp_next_scheduled( 'cwptoptweetcronnew' ) !== false) {
|
2742 |
+
$timestamp = wp_next_scheduled( 'cwptoptweetcronnew' );
|
2743 |
+
wp_clear_scheduled_hook('cwptoptweetcronnew');
|
2744 |
+
foreach($networks as $network){
|
2745 |
+
wp_schedule_single_event($timestamp,$network.'roptweetcron',array($network));
|
2746 |
+
}
|
2747 |
+
}
|
2748 |
+
else{
|
2749 |
+
|
2750 |
+
foreach($all as $a){
|
2751 |
+
if(wp_next_scheduled( $a.'cwptoptweetcron',array($a) ) !== false) {
|
2752 |
+
|
2753 |
+
$timestamp = wp_next_scheduled($a.'cwptoptweetcron',array($a) );
|
2754 |
+
wp_clear_scheduled_hook($a.'cwptoptweetcron',array($a));
|
2755 |
+
wp_schedule_single_event($timestamp,$a.'roptweetcron',array($a));
|
2756 |
+
}
|
2757 |
+
}
|
2758 |
+
foreach($all as $a){
|
2759 |
+
if(!in_array($a,$networks)){
|
2760 |
+
wp_clear_scheduled_hook($a.'roptweetcron',array($a));
|
2761 |
+
}
|
2762 |
+
|
2763 |
+
}
|
2764 |
+
|
2765 |
+
}
|
2766 |
+
|
2767 |
+
}
|
2768 |
+
|
2769 |
+
if($this->pluginStatus === 'true'){
|
2770 |
+
foreach($networks as $avn){
|
2771 |
+
if(wp_next_scheduled( $avn.'roptweetcron',array($avn) ) === false) {
|
2772 |
+
$this->scheduleTweet($avn);
|
2773 |
+
}
|
2774 |
+
}
|
2775 |
+
}
|
2776 |
+
}
|
2777 |
+
|
2778 |
+
public function clear_delete_type(){
|
2779 |
+
|
2780 |
+
update_option('cwp_top_delete_type',-1);
|
2781 |
+
}
|
2782 |
+
public function loadAllHooks()
|
2783 |
+
{
|
2784 |
+
|
2785 |
+
// loading all actions and filters
|
2786 |
+
add_action('admin_menu', array($this, 'addAdminMenuPage'));
|
2787 |
+
|
2788 |
+
add_action('admin_enqueue_scripts', array($this, 'loadAllScriptsAndStyles'));
|
2789 |
+
|
2790 |
+
add_action( 'admin_notices', array($this, 'adminNotice') );
|
2791 |
+
|
2792 |
+
add_filter('plugin_action_links',array($this,'top_plugin_action_links'), 10, 2);
|
2793 |
+
|
2794 |
+
// Added by Ash/Upwork
|
2795 |
+
add_filter('cwp_check_ajax_capability', array($this, 'checkAjaxCapability'), 10, 0);
|
2796 |
+
// Added by Ash/Upwork
|
2797 |
+
|
2798 |
+
add_action( 'plugins_loaded', array($this, 'addLocalization') );
|
2799 |
+
|
2800 |
+
//ajax actions
|
2801 |
+
|
2802 |
+
// Update all options ajax action.
|
2803 |
+
add_action('wp_ajax_update_response', array($this, 'ajax'));
|
2804 |
+
|
2805 |
+
// Reset all options ajax action.
|
2806 |
+
add_action('wp_ajax_reset_options', array($this, 'ajax'));
|
2807 |
+
|
2808 |
+
// Add new twitter account ajax action
|
2809 |
+
add_action('wp_ajax_add_new_account', array($this, 'ajax'));
|
2810 |
+
|
2811 |
+
// Display managed pages ajax action
|
2812 |
+
add_action('wp_ajax_display_pages', array($this, 'ajax'));
|
2813 |
+
|
2814 |
+
// Add new account managed pages ajax action
|
2815 |
+
add_action('wp_ajax_add_pages', array($this, 'ajax'));
|
2816 |
+
|
2817 |
+
// Add more than one twitter account ajax action
|
2818 |
+
add_action('wp_ajax_add_new_account_pro', array($this, 'ajax'));
|
2819 |
+
|
2820 |
+
// Log Out Twitter user ajax action
|
2821 |
+
add_action('wp_ajax_log_out_user', array($this, 'ajax'));
|
2822 |
+
|
2823 |
+
//
|
2824 |
+
add_action("rop_stop_posting", array($this,"clear_delete_type"));
|
2825 |
+
|
2826 |
+
//start ROP
|
2827 |
+
add_action('wp_ajax_tweet_old_post_action', array($this, 'ajax'));
|
2828 |
+
|
2829 |
+
//clear Log messages
|
2830 |
+
add_action('wp_ajax_rop_clear_log', array($this, 'ajax'));
|
2831 |
+
|
2832 |
+
//remote trigger cron
|
2833 |
+
add_action('wp_ajax_remote_trigger', array($this, 'ajax'));
|
2834 |
+
add_action('wp_ajax_beta_user_trigger', array($this, 'ajax'));
|
2835 |
+
|
2836 |
+
//sample tweet messages
|
2837 |
+
add_action('wp_ajax_view_sample_tweet_action', array($this, 'ajax'));
|
2838 |
+
|
2839 |
+
// Tweet Old Post tweet now action.
|
2840 |
+
add_action('wp_ajax_tweet_now_action', array($this, 'ajax'));
|
2841 |
+
|
2842 |
+
add_action('wp_ajax_gettime_action', array($this, 'ajax'));
|
2843 |
+
|
2844 |
+
//get notice
|
2845 |
+
add_action('wp_ajax_getNotice_action', array($this, 'ajax'));
|
2846 |
+
|
2847 |
+
//stop ROP
|
2848 |
+
add_action('wp_ajax_stop_tweet_old_post', array($this, 'ajax'));
|
2849 |
+
|
2850 |
+
//custom actions
|
2851 |
+
|
2852 |
+
add_action("rop_start_posting",array($this,"startPosting"));
|
2853 |
+
add_action("rop_stop_posting",array($this,"stopPosting"));
|
2854 |
+
$networks = $this->getAllNetworks();
|
2855 |
+
|
2856 |
+
foreach($networks as $network){
|
2857 |
+
add_action($network.'roptweetcron',array($this,"tweetOldPost"));
|
2858 |
+
|
2859 |
+
}
|
2860 |
+
|
2861 |
+
//admin_init actions
|
2862 |
+
|
2863 |
+
add_action('admin_init', array($this,'top_nag_ignore'));
|
2864 |
+
add_action('admin_init', array($this,'clearOldCron'));
|
2865 |
+
// Added by Ash/Upwork
|
2866 |
+
add_filter('template_include', array($this, 'captureRewrites'), 1, 1);
|
2867 |
+
add_filter('query_vars', array($this, 'addRewriteVars'));
|
2868 |
+
// Added by Ash/Upwork
|
2869 |
+
|
2870 |
+
//filters
|
2871 |
+
|
2872 |
+
add_filter("rop_users_filter",array($this,"rop_users_filter_free"),1,1);
|
2873 |
+
|
2874 |
+
// Added by Ash/Upwork
|
2875 |
+
// test action, only to be used for testing
|
2876 |
+
//if(ROP_IS_TEST) add_action("admin_init", array($this, "doTestAction"));
|
2877 |
+
// Added by Ash/Upwork
|
2878 |
+
|
2879 |
+
if(isset($_GET['debug']) ) {
|
2880 |
+
//$this->getNextTweetTime('twitter');
|
2881 |
+
//$this->tweetOldPost("twitter"); global $CWP_TOP_Core_PRO;
|
2882 |
+
$this->tweetOldPost("twitter");
|
2883 |
+
|
2884 |
+
die();
|
2885 |
+
}
|
2886 |
+
|
2887 |
+
}
|
2888 |
+
|
2889 |
+
function checkAjaxCapability() {
|
2890 |
+
$cap = false;
|
2891 |
+
if (!current_user_can('manage_options') && $this->top_check_user_role( 'Administrator' )) {
|
2892 |
+
$cap = true;
|
2893 |
+
} else {
|
2894 |
+
$cap = current_user_can('manage_options');
|
2895 |
+
}
|
2896 |
+
return $cap;
|
2897 |
+
}
|
2898 |
+
|
2899 |
+
function ajax() {
|
2900 |
+
if (!$this->checkAjaxCapability()) wp_die();
|
2901 |
+
check_ajax_referer("cwp-top-" . ROP_VERSION, "security");
|
2902 |
+
|
2903 |
+
switch ($_POST["action"]) {
|
2904 |
+
case 'update_response':
|
2905 |
+
$this->updateAllOptions();
|
2906 |
+
break;
|
2907 |
+
case 'reset_options':
|
2908 |
+
$this->resetAllOptions();
|
2909 |
+
break;
|
2910 |
+
case 'add_new_account':
|
2911 |
+
$this->addNewAccount();
|
2912 |
+
break;
|
2913 |
+
case 'display_pages':
|
2914 |
+
$this->displayPages();
|
2915 |
+
break;
|
2916 |
+
case 'add_pages':
|
2917 |
+
$this->addPages();
|
2918 |
+
break;
|
2919 |
+
case 'add_new_account_pro':
|
2920 |
+
$this->addNewAccountPro();
|
2921 |
+
break;
|
2922 |
+
case 'log_out_user':
|
2923 |
+
$this->logOutUser();
|
2924 |
+
break;
|
2925 |
+
case 'tweet_old_post_action':
|
2926 |
+
$this->startTweetOldPost();
|
2927 |
+
break;
|
2928 |
+
case 'rop_clear_log':
|
2929 |
+
$this->clearLog();
|
2930 |
+
break;
|
2931 |
+
case 'remote_trigger':
|
2932 |
+
$this->remoteTrigger();
|
2933 |
+
break;
|
2934 |
+
case 'beta_user_trigger':
|
2935 |
+
$this->betaUserTrigger();
|
2936 |
+
break;
|
2937 |
+
case 'view_sample_tweet_action':
|
2938 |
+
$this->viewSampleTweet();
|
2939 |
+
break;
|
2940 |
+
case 'tweet_now_action':
|
2941 |
+
$this->tweetNow();
|
2942 |
+
break;
|
2943 |
+
case 'gettime_action':
|
2944 |
+
$this->echoTime();
|
2945 |
+
break;
|
2946 |
+
case 'getNotice_action':
|
2947 |
+
$this->getNotice();
|
2948 |
+
break;
|
2949 |
+
case 'stop_tweet_old_post':
|
2950 |
+
$this->stopTweetOldPost();
|
2951 |
+
break;
|
2952 |
+
}
|
2953 |
+
wp_die();
|
2954 |
+
}
|
2955 |
+
|
2956 |
+
// Added by Ash/Upwork
|
2957 |
+
function addRewriteVars($vars){
|
2958 |
+
global $cwp_rop_self_endpoint;
|
2959 |
+
$vars[] = $cwp_rop_self_endpoint;
|
2960 |
+
return $vars;
|
2961 |
+
}
|
2962 |
+
|
2963 |
+
function captureRewrites($template){
|
2964 |
+
global $wp_query, $cwp_rop_self_endpoint;
|
2965 |
+
if (get_query_var($cwp_rop_self_endpoint, false)){
|
2966 |
+
$this->processServerRequest();
|
2967 |
+
return null;
|
2968 |
+
}
|
2969 |
+
return $template;
|
2970 |
+
}
|
2971 |
+
|
2972 |
+
private function processServerRequest(){
|
2973 |
+
if(
|
2974 |
+
!get_option("cwp_rop_remote_trigger", false)
|
2975 |
+
||
|
2976 |
+
!get_option("cwp_topnew_active_status", false)
|
2977 |
+
) return;
|
2978 |
+
|
2979 |
+
$crons = _get_cron_array();
|
2980 |
+
$this->clearScheduledTweets();
|
2981 |
+
|
2982 |
+
foreach($crons as $time => $cron){
|
2983 |
+
foreach($cron as $hook => $dings){
|
2984 |
+
if(strpos($hook, "roptweetcron") === FALSE) continue;
|
2985 |
+
|
2986 |
+
$network = trim(str_replace("roptweetcron", "", $hook));
|
2987 |
+
if($time > $this->getTime()){
|
2988 |
+
// echo "FUTURE $hook for $time (current time is " . $this->getTime() . ") <br>";
|
2989 |
+
wp_schedule_single_event($time, $network.'roptweetcron', array($network));
|
2990 |
+
continue;
|
2991 |
+
}
|
2992 |
+
|
2993 |
+
//echo "NOW $hook for $network for $time (current time is " . $this->getTime() . ") <br>";
|
2994 |
+
|
2995 |
+
foreach($dings as $hash => $data){
|
2996 |
+
do_action($hook, $network);
|
2997 |
+
}
|
2998 |
+
}
|
2999 |
+
}
|
3000 |
+
}
|
3001 |
+
// Added by Ash/Upwork
|
3002 |
+
|
3003 |
+
public function rop_users_filter_free($users){
|
3004 |
+
|
3005 |
+
if(!is_array($users)) $users = array();
|
3006 |
+
foreach($users as $k=>$user){
|
3007 |
+
if(!isset($user['service'])) {
|
3008 |
+
if ( strpos( $user['oauth_user_details']->profile_image_url, 'twimg' ) ) {
|
3009 |
+
|
3010 |
+
$users[ $k ]['service'] = 'twitter';
|
3011 |
+
}
|
3012 |
+
if ( strpos( $user['oauth_user_details']->profile_image_url, 'facebook' ) ) {
|
3013 |
+
|
3014 |
+
$users[ $k ]['service'] = 'facebook';
|
3015 |
+
}
|
3016 |
+
}
|
3017 |
+
}
|
3018 |
+
|
3019 |
+
return $users;
|
3020 |
+
}
|
3021 |
+
|
3022 |
+
public function remoteTrigger($status = ""){
|
3023 |
+
if(!is_admin()) return false;
|
3024 |
+
$state = isset($_POST["state"]) ? $_POST["state"] : "";
|
3025 |
+
|
3026 |
+
if(!empty($status)) $state = $status;
|
3027 |
+
|
3028 |
+
if(!empty($state) &&( $state == "on" || $state == "off")){
|
3029 |
+
|
3030 |
+
update_option("cwp_rop_remote_trigger",$state);
|
3031 |
+
// Added by Ash/Upwork
|
3032 |
+
$response = $this->sendRemoteTrigger($state);
|
3033 |
+
if($response){
|
3034 |
+
$error = __('Error: ','tweet-old-post') . $response;
|
3035 |
+
self::addNotice($error, 'error');
|
3036 |
+
update_option("cwp_rop_remote_trigger", "off");
|
3037 |
+
// if you want to show the user an alert, make showAlert true
|
3038 |
+
wp_send_json_error(array("error" => $error, "showAlert" => false));
|
3039 |
+
}
|
3040 |
+
// Added by Ash/Upwork
|
3041 |
+
}
|
3042 |
+
|
3043 |
+
if(empty($status)) die();
|
3044 |
+
}
|
3045 |
+
|
3046 |
+
public function sendRemoteTrigger($state){
|
3047 |
+
|
3048 |
+
global $cwp_rop_remote_trigger_url;
|
3049 |
+
$state = ($state == "on") ? "yes" : "no";
|
3050 |
+
|
3051 |
+
$response = wp_remote_post( $cwp_rop_remote_trigger_url, array(
|
3052 |
+
'method' => 'POST',
|
3053 |
+
'timeout' => 1,
|
3054 |
+
'redirection' => 5,
|
3055 |
+
'httpversion' => '1.0',
|
3056 |
+
'blocking' => true,
|
3057 |
+
'headers' => array(),
|
3058 |
+
'body' => array( 'url' => get_site_url(), 'status' => $state ),
|
3059 |
+
'cookies' => array()
|
3060 |
+
)
|
3061 |
+
);
|
3062 |
+
|
3063 |
+
// Added by Ash/Upwork
|
3064 |
+
if(is_wp_error($response)){
|
3065 |
+
return $response->get_error_message();
|
3066 |
+
}
|
3067 |
+
return null;
|
3068 |
+
// Added by Ash/Upwork
|
3069 |
+
}
|
3070 |
+
|
3071 |
+
public function betaUserTrigger($status = ""){
|
3072 |
+
if(!is_admin()) return false;
|
3073 |
+
$state = $_POST["state"];
|
3074 |
+
if(!empty($status)) $state = $status;
|
3075 |
+
|
3076 |
+
if(!empty($state) &&( $state == "on" || $state == "off")){
|
3077 |
+
|
3078 |
+
update_option("cwp_rop_beta_user",$state);
|
3079 |
+
$this->sendBetaUserTrigger($state);
|
3080 |
+
|
3081 |
+
}
|
3082 |
+
|
3083 |
+
die();
|
3084 |
+
}
|
3085 |
+
|
3086 |
+
|
3087 |
+
public function sendBetaUserTrigger($state){
|
3088 |
+
|
3089 |
+
global $cwp_rop_beta_trigger_url;
|
3090 |
+
$state = ($state == "on") ? "yes" : "no";
|
3091 |
+
|
3092 |
+
wp_remote_post( $cwp_rop_beta_trigger_url, array(
|
3093 |
+
'method' => 'POST',
|
3094 |
+
'timeout' => 1,
|
3095 |
+
'redirection' => 5,
|
3096 |
+
'httpversion' => '1.0',
|
3097 |
+
'blocking' => true,
|
3098 |
+
'headers' => array(),
|
3099 |
+
'body' => array( 'email' => get_bloginfo('admin_email'), 'status' => $state ),
|
3100 |
+
'cookies' => array()
|
3101 |
+
)
|
3102 |
+
);
|
3103 |
+
|
3104 |
+
}
|
3105 |
+
public function loadAllScriptsAndStyles()
|
3106 |
+
{
|
3107 |
+
global $cwp_top_settings; // Global Tweet Old Post Settings
|
3108 |
+
|
3109 |
+
// Enqueue and register all scripts on plugin's page
|
3110 |
+
if(isset($_GET['page'])) {
|
3111 |
+
if ($_GET['page'] == $cwp_top_settings['slug'] || $_GET['page'] == "ExcludePosts") {
|
3112 |
+
|
3113 |
+
// Enqueue and Register Main CSS File
|
3114 |
+
wp_register_style( 'cwp_top_stylesheet', ROPCSSFILE, false, time() );
|
3115 |
+
wp_enqueue_style( 'cwp_top_stylesheet' );
|
3116 |
+
|
3117 |
+
// Register Main JS File
|
3118 |
+
wp_enqueue_script( 'cwp_top_js_countdown', ROPJSCOUNTDOWN, array(), time(), true );
|
3119 |
+
wp_enqueue_script( 'cwp_top_javascript', ROPJSFILE, array(), time(), true );
|
3120 |
+
wp_localize_script( 'cwp_top_javascript', 'cwp_top_ajaxload', array(
|
3121 |
+
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
3122 |
+
'ajaxnonce' => wp_create_nonce("cwp-top-" . ROP_VERSION),
|
3123 |
+
) );
|
3124 |
+
}
|
3125 |
+
}
|
3126 |
+
|
3127 |
+
}
|
3128 |
+
|
3129 |
+
function top_check_user_role( $role, $user_id = null ) {
|
3130 |
+
|
3131 |
+
if ( is_numeric( $user_id ) )
|
3132 |
+
$user = get_userdata( $user_id );
|
3133 |
+
else
|
3134 |
+
$user = wp_get_current_user();
|
3135 |
+
|
3136 |
+
if ( empty( $user ) )
|
3137 |
+
return false;
|
3138 |
+
|
3139 |
+
return in_array( $role, (array) $user->roles );
|
3140 |
+
}
|
3141 |
+
|
3142 |
+
public function addAdminMenuPage()
|
3143 |
+
{
|
3144 |
+
global $cwp_top_settings; // Global Tweet Old Post Settings
|
3145 |
+
if (!current_user_can('manage_options') && $this->top_check_user_role( 'Administrator' ))
|
3146 |
+
$cap = 1;
|
3147 |
+
else
|
3148 |
+
$cap='manage_options';
|
3149 |
+
add_menu_page($cwp_top_settings['name'], $cwp_top_settings['name'], $cap, $cwp_top_settings['slug'], array($this, 'loadMainView'), '','99.87514');
|
3150 |
+
add_submenu_page($cwp_top_settings['slug'], __('Exclude Posts','tweet-old-post'), __('Exclude Posts','tweet-old-post'), 'manage_options', 'ExcludePosts', 'rop_exclude_posts');
|
3151 |
+
|
3152 |
+
add_submenu_page($cwp_top_settings['slug'], __('System Info','tweet-old-post'), __('System Info','tweet-old-post'), 'manage_options', 'SystemInfo', array($this,'system_info'));
|
3153 |
+
|
3154 |
+
}
|
3155 |
+
|
3156 |
+
public function getFormatFields(){
|
3157 |
+
|
3158 |
+
$all = $this->getAllNetworks(true);
|
3159 |
+
global $cwp_format_fields;
|
3160 |
+
$networks_fields = array();
|
3161 |
+
|
3162 |
+
foreach($all as $network=>$pro){
|
3163 |
+
if(CWP_TOP_PRO == $pro) {
|
3164 |
+
$networks_fields[ $network ] = $cwp_format_fields;
|
3165 |
+
}else{
|
3166 |
+
foreach($cwp_format_fields as $k=>$v){
|
3167 |
+
$v[ "available_pro"] = "yes";
|
3168 |
+
$networks_fields[ $network][$k] = $v;
|
3169 |
+
}
|
3170 |
+
|
3171 |
+
}
|
3172 |
+
}
|
3173 |
+
return $networks_fields;
|
3174 |
+
}
|
3175 |
+
public function getGeneralFields(){
|
3176 |
+
global $cwp_top_fields;
|
3177 |
+
|
3178 |
+
return $cwp_top_fields;
|
3179 |
+
|
3180 |
+
}
|
3181 |
+
public function loadMainView()
|
3182 |
+
{
|
3183 |
+
$cwp_top_fields = $this->getGeneralFields();
|
3184 |
+
foreach ($cwp_top_fields as $field => $value) {
|
3185 |
+
$cwp_top_fields[$field]['option_value'] = get_option($cwp_top_fields[$field]['option']);
|
3186 |
+
}
|
3187 |
+
$all_networks = $this->getAllNetworks();
|
3188 |
+
$format_fields = $this->getFormatFields();
|
3189 |
+
$options = get_option("top_opt_post_formats");
|
3190 |
+
global $cwp_top_global_schedule;
|
3191 |
+
$cwp_top_global_schedule = $this->getSchedule();
|
3192 |
+
if($options === false ) $options = array();
|
3193 |
+
if($cwp_top_global_schedule === false ) $cwp_top_global_schedule = array();
|
3194 |
+
|
3195 |
+
$schedule = $cwp_top_fields["interval"]['option_value'];
|
3196 |
+
foreach ($format_fields as $network_name => $network_details) {
|
3197 |
+
foreach ($network_details as $field => $vvalue) {
|
3198 |
+
$value = isset($options[$network_name."_".$format_fields[$network_name][$field]['option']]) ? $options[$network_name."_".$format_fields[$network_name][$field]['option']] : false ;
|
3199 |
+
if($value === false) {
|
3200 |
+
$value = get_option($format_fields[$network_name][$field]['option']);
|
3201 |
+
if($value === false) {
|
3202 |
+
if(isset($vvalue['default_value']))
|
3203 |
+
$value = $vvalue['default_value'];
|
3204 |
+
}
|
3205 |
+
}
|
3206 |
+
$format_fields[$network_name][$field]['option_value'] = $value;
|
3207 |
+
}
|
3208 |
+
if(!isset($cwp_top_global_schedule[$network_name."_schedule_type_selected"])){
|
3209 |
+
$cwp_top_global_schedule[$network_name."_schedule_type_selected"] = "each";
|
3210 |
+
$cwp_top_global_schedule[$network_name."_top_opt_interval"] = $schedule;
|
3211 |
+
}
|
3212 |
+
}
|
3213 |
+
require_once(plugin_dir_path( __FILE__ )."view.php");
|
3214 |
+
}
|
3215 |
+
|
3216 |
+
// Sends a request to the passed URL
|
3217 |
+
public static function sendRequest($url, $method='GET', $data='', $auth_user='', $auth_pass='') {
|
3218 |
+
|
3219 |
+
$ch = curl_init($url);
|
3220 |
+
|
3221 |
+
if (strtoupper($method) == "POST") {
|
3222 |
+
curl_setopt($ch, CURLOPT_POST, 1);
|
3223 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
3224 |
+
}
|
3225 |
+
|
3226 |
+
if (ini_get('open_basedir') == '' && ini_get('safe_mode') == 'Off') {
|
3227 |
+
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
3228 |
+
}
|
3229 |
+
|
3230 |
+
curl_setopt($ch, CURLOPT_HEADER, 0);
|
3231 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
3232 |
+
|
3233 |
+
if ($auth_user != '' && $auth_pass != '') {
|
3234 |
+
curl_setopt($ch, CURLOPT_USERPWD, "{$auth_user}:{$auth_pass}");
|
3235 |
+
}
|
3236 |
+
|
3237 |
+
$response = curl_exec($ch);
|
3238 |
+
|
3239 |
+
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
3240 |
+
|
3241 |
+
curl_close($ch);
|
3242 |
+
|
3243 |
+
if ($httpcode != 200) {
|
3244 |
+
self::addNotice("Error for request: " . $url . " : ". $response,'error');
|
3245 |
+
return $httpcode;
|
3246 |
+
}
|
3247 |
+
|
3248 |
+
return $response;
|
3249 |
+
}
|
3250 |
+
|
3251 |
+
// Shortens the url.
|
3252 |
+
public static function shortenURL($url, $service, $id, $bitly_key, $bitly_user, $showPlaceholder=false) {
|
3253 |
+
// Added by Ash/Upwork
|
3254 |
+
if ($showPlaceholder) {
|
3255 |
+
return "[$service]";
|
3256 |
+
}
|
3257 |
+
// Added by Ash/Upwork
|
3258 |
+
$url = urlencode($url);
|
3259 |
+
if ($service == "bit.ly") {
|
3260 |
+
|
3261 |
+
//$shortURL = $url;
|
3262 |
+
$url = trim($url);
|
3263 |
+
$bitly_key = trim($bitly_key);
|
3264 |
+
$bitly_user = trim($bitly_user);
|
3265 |
+
$shortURL = "http://api.bit.ly/v3/shorten?format=txt&login=".$bitly_user."&apiKey=".$bitly_key."&longUrl={$url}";
|
3266 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3267 |
+
|
3268 |
+
} elseif ($service == "tr.im") {
|
3269 |
+
$shortURL = "http://api.tr.im/api/trim_simple?url={$url}";
|
3270 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3271 |
+
} elseif ($service == "3.ly") {
|
3272 |
+
$shortURL = "http://3.ly/?api=em5893833&u={$url}";
|
3273 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3274 |
+
} elseif ($service == "tinyurl") {
|
3275 |
+
$shortURL = "http://tinyurl.com/api-create.php?url=" . $url;
|
3276 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3277 |
+
} elseif ($service == "u.nu") {
|
3278 |
+
$shortURL = "http://u.nu/unu-api-simple?url={$url}";
|
3279 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3280 |
+
} elseif ($service == "1click.at") {
|
3281 |
+
$shortURL = "http://1click.at/api.php?action=shorturl&url={$url}&format=simple";
|
3282 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3283 |
+
} elseif ($service == "is.gd") {
|
3284 |
+
|
3285 |
+
$shortURL = "https://is.gd/api.php?longurl={$url}";
|
3286 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3287 |
+
} elseif ($service == "t.co") {
|
3288 |
+
$shortURL = "http://twitter.com/share?url={$url}";
|
3289 |
+
$shortURL = self::sendRequest($shortURL, 'GET');
|
3290 |
+
} else {
|
3291 |
+
$shortURL = wp_get_shortlink($id);
|
3292 |
+
}
|
3293 |
+
if($shortURL != ' 400 '&& $shortURL!="500" && $shortURL!="0") {
|
3294 |
+
return $shortURL;
|
3295 |
+
}
|
3296 |
+
else
|
3297 |
+
update_option('cwp_topnew_notice','Looks like is an error with your url shortner');
|
3298 |
+
}
|
3299 |
+
|
3300 |
+
public function rop_load_dashboard_icon()
|
3301 |
+
{
|
3302 |
+
wp_register_style( 'rop_custom_dashboard_icon', ROPCUSTOMDASHBOARDICON, false, ROP_VERSION );
|
3303 |
+
wp_enqueue_style( 'rop_custom_dashboard_icon' );
|
3304 |
+
|
3305 |
+
}
|
3306 |
+
|
3307 |
+
}
|
3308 |
+
}
|
3309 |
+
|
3310 |
+
if(class_exists('CWP_TOP_Core')) {
|
3311 |
+
$CWP_TOP_Core = new CWP_TOP_Core;
|
3312 |
+
}
|
inc/exclude-posts.php
CHANGED
@@ -1,347 +1,347 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
require_once(ROPPLUGINPATH.'/tweet-old-post.php');
|
4 |
-
require_once(ROPPLUGINPATH.'/inc/xml.php');
|
5 |
-
|
6 |
-
function rop_exclude_posts() {
|
7 |
-
|
8 |
-
if (current_user_can('manage_options'))
|
9 |
-
{
|
10 |
-
|
11 |
-
global $wpdb;
|
12 |
-
$message_updated = __("Tweet Old Post Options Updated.", 'TweetOldPost');
|
13 |
-
$records_per_page = 20;
|
14 |
-
$twp_obj = new CWP_TOP_Core;
|
15 |
-
$paged = isset($_POST['paged']) ? $_POST['paged'] : 1;
|
16 |
-
$postTypes = $twp_obj->getTweetPostType();
|
17 |
-
$postTypes = explode(',',$postTypes);
|
18 |
-
$selected_post_type = isset($_POST['rop_select_post_type']) ? $_POST['rop_select_post_type'] : $postTypes[0];
|
19 |
-
$selected_tax = isset($_POST['rop_select_category']) ? $_POST['rop_select_category'] : "none";
|
20 |
-
$displayed_posts = array();
|
21 |
-
$exclude_search = isset($_POST['s']) ? $_POST['s'] : "";
|
22 |
-
$excluded_cats=get_option('top_opt_omit_cats');
|
23 |
-
if(is_array($excluded_cats)) $excluded_cats = implode(",",$excluded_cats);
|
24 |
-
if(empty($excluded_cats)) $excluded_cats = '';
|
25 |
-
if(!is_string($excluded_cats)) $excluded_cats = '';
|
26 |
-
$excluded_cats = trim($excluded_cats);
|
27 |
-
$excluded_display_option = array("all"=>"All","excluded"=>"Excluded","unexcluded"=>"Unexcluded");
|
28 |
-
$excluded_display_selected = isset($_POST['rop_display_selection']) ? $_POST['rop_display_selection'] : key($excluded_display_option);
|
29 |
-
$taxs = get_taxonomies(array(
|
30 |
-
'public' => true,
|
31 |
-
'hierarchical' => true
|
32 |
-
),"object","and");
|
33 |
-
$available_taxonomy = array();
|
34 |
-
foreach($postTypes as $pt){
|
35 |
-
foreach($taxs as $kt=>$tx){
|
36 |
-
|
37 |
-
if(in_array($pt,$tx->object_type)){
|
38 |
-
if(!isset($available_taxonomy[$kt])){
|
39 |
-
$available_taxonomy[$kt] = array("label"=>$tx->label);
|
40 |
-
}
|
41 |
-
if(!isset($available_taxonomy[$kt]['post_types'])){
|
42 |
-
$available_taxonomy[$kt]['post_types'] = array();
|
43 |
-
|
44 |
-
}
|
45 |
-
$available_taxonomy[$kt]['post_types'] = array_merge( $available_taxonomy[$kt]['post_types'],$tx->object_type);
|
46 |
-
if(!isset($available_taxonomy[$kt]['taxs'])){
|
47 |
-
$available_taxonomy[$kt]['taxs'] = array();
|
48 |
-
|
49 |
-
}
|
50 |
-
$terms = get_terms($tx->name, array(
|
51 |
-
'hide_empty' => false,
|
52 |
-
'exclude' =>$excluded_cats
|
53 |
-
));
|
54 |
-
foreach ($terms as $t) {
|
55 |
-
$available_taxonomy[$kt]['taxs'][$t->term_id] = $t->name;
|
56 |
-
}
|
57 |
-
}
|
58 |
-
}
|
59 |
-
|
60 |
-
}
|
61 |
-
$excluded_ids = get_option('top_opt_excluded_post');
|
62 |
-
$excluded_ids = array_filter(explode(',',$excluded_ids));
|
63 |
-
if(isset($_POST['exclude']) ){
|
64 |
-
if(!isset($_POST['rop_post_id'])) $_POST['rop_post_id'] =array();
|
65 |
-
$show_items = explode(',',$_POST['rop_show_posts']);
|
66 |
-
$dif = array_diff($show_items,$_POST['rop_post_id']);
|
67 |
-
$com = array_intersect($dif,$excluded_ids);
|
68 |
-
$excluded_ids = array_diff($excluded_ids,$com);
|
69 |
-
$excluded_ids = array_merge ($excluded_ids,$_POST['rop_post_id']);
|
70 |
-
$excluded_ids = array_unique($excluded_ids);
|
71 |
-
update_option('top_opt_excluded_post',implode(',',$excluded_ids));
|
72 |
-
}
|
73 |
-
if(isset($_POST['exclude']) || isset($_POST['search'])){
|
74 |
-
$paged = 1;
|
75 |
-
|
76 |
-
}
|
77 |
-
if(isset($_POST['exclude']) ) {
|
78 |
-
print( '
|
79 |
-
<div id="message" style="margin-top:30px" class="updated fade">
|
80 |
-
<p>' . __( 'Posts excluded successfully.', 'TweetOldPost' ) . '</p>
|
81 |
-
</div>' );
|
82 |
-
}
|
83 |
-
|
84 |
-
require_once(plugin_dir_path( __FILE__ )."view-exclude.php");
|
85 |
-
|
86 |
-
|
87 |
-
$sql = "SELECT p.ID,p.post_title,p.post_date,u.user_nicename,p.guid,p.post_type FROM $wpdb->posts p join $wpdb->users u on p.post_author=u.ID WHERE (post_type = '{$selected_post_type}')
|
88 |
-
AND post_status = 'publish'";
|
89 |
-
if($selected_tax != 'none'){
|
90 |
-
$sql = $sql . " and p.ID IN ( SELECT tr.object_id FROM ".$wpdb->prefix."term_relationships AS tr INNER JOIN ".$wpdb->prefix."term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.term_id=" . $selected_tax . " ";
|
91 |
-
if(!empty($excluded_cats)){
|
92 |
-
$sql .= " and tr.object_id NOT IN ( SELECT tr.object_id FROM ".$wpdb->prefix."term_relationships AS tr INNER JOIN ".$wpdb->prefix."term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.term_id IN (" . $excluded_cats . ")) ) ";
|
93 |
-
|
94 |
-
}else{
|
95 |
-
$sql .= ")";
|
96 |
-
|
97 |
-
}
|
98 |
-
}
|
99 |
-
else
|
100 |
-
{
|
101 |
-
|
102 |
-
if(!empty($excluded_cats)){
|
103 |
-
$sql = $sql . " and p.ID NOT IN ( SELECT tr.object_id FROM ".$wpdb->prefix."term_relationships AS tr INNER JOIN ".$wpdb->prefix."term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.term_id IN (" . $excluded_cats . "))";
|
104 |
-
|
105 |
-
}
|
106 |
-
}
|
107 |
-
if($excluded_display_selected == "excluded" )
|
108 |
-
{
|
109 |
-
|
110 |
-
$sql = $sql . " and p.ID IN (".implode(",",$excluded_ids).")";
|
111 |
-
}
|
112 |
-
if($excluded_display_selected == "unexcluded" && !empty($excluded_ids))
|
113 |
-
{
|
114 |
-
|
115 |
-
$sql = $sql . " and p.ID NOT in (".implode(",",$excluded_ids).")";
|
116 |
-
}
|
117 |
-
if(!empty($exclude_search))
|
118 |
-
$sql = $sql . " and post_title like '%" . trim($exclude_search ) . "%'";
|
119 |
-
$sql = $sql . " order by post_date desc";
|
120 |
-
$posts = $wpdb->get_results($sql);
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
$from = $paged * $records_per_page - $records_per_page;
|
125 |
-
$to = min($paged * $records_per_page, count($posts));
|
126 |
-
$post_count =count($posts);
|
127 |
-
|
128 |
-
print('<form id="top_TweetOldPost" name="top_TweetOldPost" action="' . get_bloginfo('wpurl') . '/wp-admin/admin.php?page=ExcludePosts" method="post">');
|
129 |
-
print('
|
130 |
-
<script language="javascript">
|
131 |
-
|
132 |
-
function ROPshowCorectTax(){
|
133 |
-
var post_type = jQuery("#rop_select_post_type").val();
|
134 |
-
jQuery("#rop_select_category optgroup").each(function(){
|
135 |
-
var pt = jQuery(this).attr("data-post-type").split(",");
|
136 |
-
var th = jQuery(this);
|
137 |
-
if(jQuery.inArray(post_type,pt) > -1){
|
138 |
-
th.show();
|
139 |
-
}else{
|
140 |
-
th.hide();
|
141 |
-
}
|
142 |
-
|
143 |
-
|
144 |
-
});
|
145 |
-
|
146 |
-
}
|
147 |
-
jQuery(function() {
|
148 |
-
jQuery("#rop_select_post_type").on("change",function(){
|
149 |
-
ROPshowCorectTax();
|
150 |
-
|
151 |
-
});
|
152 |
-
ROPshowCorectTax();
|
153 |
-
});
|
154 |
-
function checkedAll() {
|
155 |
-
if(jQuery("rop-header-check").is("checked")){
|
156 |
-
jQuery(".rop_post_id").attr("checked","checked");
|
157 |
-
|
158 |
-
}else{
|
159 |
-
|
160 |
-
jQuery(".rop_post_id").removeAttr("checked" );
|
161 |
-
|
162 |
-
}
|
163 |
-
}
|
164 |
-
jQuery(document).ready(function(){
|
165 |
-
jQuery("#top_TweetOldPost").on("click",".page-numbers",function(){
|
166 |
-
var paged = jQuery(this).text();
|
167 |
-
jQuery("#post-search-page").val(paged);
|
168 |
-
jQuery("#top_TweetOldPost").submit();
|
169 |
-
return false;
|
170 |
-
})
|
171 |
-
})
|
172 |
-
|
173 |
-
</script>
|
174 |
-
');
|
175 |
-
print('<div class="tablenav"><div class="alignleft actions">');
|
176 |
-
?> <p class="rop-exclude-filter">
|
177 |
-
<label>View: </label>
|
178 |
-
<select name="rop_display_selection" id="selFilter" style="width:100px">
|
179 |
-
<?php foreach($excluded_display_option as $value=>$name): ?>
|
180 |
-
<option value="<?php echo $value; ?>" <?php selected($value,$excluded_display_selected); ?> > <?php echo $name; ?></option>
|
181 |
-
<?php endforeach; ?>
|
182 |
-
</select>
|
183 |
-
</p>
|
184 |
-
<p class="rop-exclude-filter">
|
185 |
-
<label>Post type</label>
|
186 |
-
<select name="rop_select_post_type" id="rop_select_post_type">
|
187 |
-
<?php
|
188 |
-
foreach($postTypes as $pt):
|
189 |
-
?>
|
190 |
-
<option value="<?php echo $pt ?>" <?php selected($pt,$selected_post_type); ?>><?php echo $pt?></option>
|
191 |
-
<?php
|
192 |
-
endforeach;
|
193 |
-
?>
|
194 |
-
|
195 |
-
</select>
|
196 |
-
</p>
|
197 |
-
|
198 |
-
<p class="rop-exclude-filter">
|
199 |
-
<label>Category</label>
|
200 |
-
<select name="rop_select_category" id="rop_select_category">
|
201 |
-
<option value="none"> All </option>
|
202 |
-
<?php
|
203 |
-
foreach($available_taxonomy as $at):
|
204 |
-
?>
|
205 |
-
<optgroup label="<?php echo $at['label']; ?>" data-post-type="<?php echo implode(',',$at['post_types']);?>">
|
206 |
-
<?php
|
207 |
-
foreach($at['taxs'] as $id=>$tax): ?>
|
208 |
-
<option value="<?php echo $id ?>" <?php selected($id,$selected_tax); ?>><?php echo $tax; ?></option>
|
209 |
-
<?php
|
210 |
-
endforeach;
|
211 |
-
?>
|
212 |
-
</optgroup>
|
213 |
-
|
214 |
-
<?php
|
215 |
-
endforeach;
|
216 |
-
?>
|
217 |
-
|
218 |
-
</select>
|
219 |
-
</p>
|
220 |
-
<?php
|
221 |
-
|
222 |
-
print('<p class="search-box" style="margin:0px">
|
223 |
-
<input type="text" id="post-search-input" name="s" value="'.$exclude_search.'" />
|
224 |
-
<input type="hidden" id="post-search-page" name="paged" value="'.$paged.'" />
|
225 |
-
<input type="submit" value="Search Posts" name="search" class="button" />
|
226 |
-
<input type="submit" value="Exclude selected" name="exclude" class="button" />
|
227 |
-
</p>');
|
228 |
-
print('</div>');
|
229 |
-
|
230 |
-
$page_links = paginate_links(array(
|
231 |
-
'base' => add_query_arg('paged', '%#%'),
|
232 |
-
'format' => '',
|
233 |
-
'prev_text' => __('«'),
|
234 |
-
'next_text' => __('»'),
|
235 |
-
'total' => ceil(count($posts) / $records_per_page),
|
236 |
-
'current' => $paged
|
237 |
-
));
|
238 |
-
|
239 |
-
if ($page_links) {
|
240 |
-
|
241 |
-
print('<div class="tablenav-pages">');
|
242 |
-
$page_links_text = sprintf('<span class="displaying-num">' . __('Displaying %s–%s of %s') . '</span>%s',
|
243 |
-
number_format_i18n(( $paged - 1 ) * $records_per_page + 1),
|
244 |
-
number_format_i18n(min($paged * $records_per_page, count($posts))),
|
245 |
-
number_format_i18n(count($posts)),
|
246 |
-
$page_links
|
247 |
-
);
|
248 |
-
echo $page_links_text;
|
249 |
-
print('</div>');
|
250 |
-
}
|
251 |
-
print('</div>');//tablenav div
|
252 |
-
if (count($posts) > 0) {
|
253 |
-
print(' <div class="wrap">
|
254 |
-
<table class="widefat fixed">
|
255 |
-
<thead>
|
256 |
-
<tr>
|
257 |
-
<th class="manage-column column-cb check-column"><input name="headchkbx" id="rop-header-check" onchange="javascript:checkedAll();" type="checkbox" value="checkall"/></th>
|
258 |
-
<th>No.</th>
|
259 |
-
<th>Id</th>
|
260 |
-
<th>Post Title</th>
|
261 |
-
<th>Author</th>
|
262 |
-
<th>Post Date</th>
|
263 |
-
</tr>
|
264 |
-
</thead>
|
265 |
-
<tbody>
|
266 |
-
');
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
for ($i = $from; $i < $to; $i++) {
|
271 |
-
|
272 |
-
$displayed_posts[] = $posts[$i]->ID;
|
273 |
-
if (in_array($posts[$i]->ID, $excluded_ids)) {
|
274 |
-
$checked = "Checked";
|
275 |
-
$bgcolor="#FFCC99";
|
276 |
-
} else {
|
277 |
-
$checked = "";
|
278 |
-
$bgcolor="#FFF";
|
279 |
-
}
|
280 |
-
$displayed_posts[] = $posts[$i]->ID;
|
281 |
-
print('
|
282 |
-
|
283 |
-
<tr style="background-color:'.$bgcolor.';">
|
284 |
-
<th class="check-column">
|
285 |
-
<input type="checkbox" name="rop_post_id[]" class="rop_post_id" id="del' . $posts[$i]->ID . '" value="' . $posts[$i]->ID . '" ' . $checked . '/>
|
286 |
-
</th>
|
287 |
-
<td>
|
288 |
-
' . ($i + 1) . '
|
289 |
-
</td>
|
290 |
-
<td>
|
291 |
-
' . $posts[$i]->ID . '
|
292 |
-
</td>
|
293 |
-
<td>
|
294 |
-
<a href=' . get_permalink($posts[$i]->ID) . ' target="_blank">' . $posts[$i]->post_title . '</a>
|
295 |
-
</td>
|
296 |
-
<td>
|
297 |
-
' . $posts[$i]->user_nicename . '
|
298 |
-
</td>
|
299 |
-
<td>
|
300 |
-
' . $posts[$i]->post_date . '
|
301 |
-
</td>
|
302 |
-
</tr>
|
303 |
-
|
304 |
-
');
|
305 |
-
}
|
306 |
-
print('
|
307 |
-
</tbody>
|
308 |
-
</table>
|
309 |
-
</div>
|
310 |
-
');
|
311 |
-
?>
|
312 |
-
<input type="hidden" name="rop_show_posts" value="<?php echo implode(',',$displayed_posts); ?>"/>
|
313 |
-
<?php
|
314 |
-
|
315 |
-
if ($page_links) {
|
316 |
-
|
317 |
-
print('<div class="tablenav"> <div class="tablenav-pages">');
|
318 |
-
$page_links_text = sprintf('<span class="displaying-num">' . __('Displaying %s–%s of %s') . '</span>%s',
|
319 |
-
number_format_i18n(( $paged - 1 ) * $records_per_page + 1),
|
320 |
-
number_format_i18n(min($paged * $records_per_page, count($posts))),
|
321 |
-
number_format_i18n(count($posts)),
|
322 |
-
$page_links
|
323 |
-
);
|
324 |
-
echo $page_links_text;
|
325 |
-
print('</div></div> ');
|
326 |
-
}
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
}
|
332 |
-
else
|
333 |
-
{
|
334 |
-
print('<div class="wrap">
|
335 |
-
<div id="message" style="margin-top:30px" class="updated fade">
|
336 |
-
<p>' . __('No Posts found. Review your search or filter criteria/term.', 'TweetOldPost') . '</p>
|
337 |
-
</div></div>');
|
338 |
-
}
|
339 |
-
print('</form></section>');
|
340 |
-
} else {
|
341 |
-
print('
|
342 |
-
<div id="message" class="updated fade">
|
343 |
-
<p>' . __('You do not have enough permission to set the option. Please contact your admin.', 'TweetOldPost') . '</p>
|
344 |
-
</div>');
|
345 |
-
}
|
346 |
-
}
|
347 |
?>
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once(ROPPLUGINPATH.'/tweet-old-post.php');
|
4 |
+
require_once(ROPPLUGINPATH.'/inc/xml.php');
|
5 |
+
|
6 |
+
function rop_exclude_posts() {
|
7 |
+
|
8 |
+
if (current_user_can('manage_options'))
|
9 |
+
{
|
10 |
+
|
11 |
+
global $wpdb;
|
12 |
+
$message_updated = __("Tweet Old Post Options Updated.", 'TweetOldPost');
|
13 |
+
$records_per_page = 20;
|
14 |
+
$twp_obj = new CWP_TOP_Core;
|
15 |
+
$paged = isset($_POST['paged']) ? $_POST['paged'] : 1;
|
16 |
+
$postTypes = $twp_obj->getTweetPostType();
|
17 |
+
$postTypes = explode(',',$postTypes);
|
18 |
+
$selected_post_type = isset($_POST['rop_select_post_type']) ? $_POST['rop_select_post_type'] : $postTypes[0];
|
19 |
+
$selected_tax = isset($_POST['rop_select_category']) ? $_POST['rop_select_category'] : "none";
|
20 |
+
$displayed_posts = array();
|
21 |
+
$exclude_search = isset($_POST['s']) ? $_POST['s'] : "";
|
22 |
+
$excluded_cats=get_option('top_opt_omit_cats');
|
23 |
+
if(is_array($excluded_cats)) $excluded_cats = implode(",",$excluded_cats);
|
24 |
+
if(empty($excluded_cats)) $excluded_cats = '';
|
25 |
+
if(!is_string($excluded_cats)) $excluded_cats = '';
|
26 |
+
$excluded_cats = trim($excluded_cats);
|
27 |
+
$excluded_display_option = array("all"=>"All","excluded"=>"Excluded","unexcluded"=>"Unexcluded");
|
28 |
+
$excluded_display_selected = isset($_POST['rop_display_selection']) ? $_POST['rop_display_selection'] : key($excluded_display_option);
|
29 |
+
$taxs = get_taxonomies(array(
|
30 |
+
'public' => true,
|
31 |
+
'hierarchical' => true
|
32 |
+
),"object","and");
|
33 |
+
$available_taxonomy = array();
|
34 |
+
foreach($postTypes as $pt){
|
35 |
+
foreach($taxs as $kt=>$tx){
|
36 |
+
|
37 |
+
if(in_array($pt,$tx->object_type)){
|
38 |
+
if(!isset($available_taxonomy[$kt])){
|
39 |
+
$available_taxonomy[$kt] = array("label"=>$tx->label);
|
40 |
+
}
|
41 |
+
if(!isset($available_taxonomy[$kt]['post_types'])){
|
42 |
+
$available_taxonomy[$kt]['post_types'] = array();
|
43 |
+
|
44 |
+
}
|
45 |
+
$available_taxonomy[$kt]['post_types'] = array_merge( $available_taxonomy[$kt]['post_types'],$tx->object_type);
|
46 |
+
if(!isset($available_taxonomy[$kt]['taxs'])){
|
47 |
+
$available_taxonomy[$kt]['taxs'] = array();
|
48 |
+
|
49 |
+
}
|
50 |
+
$terms = get_terms($tx->name, array(
|
51 |
+
'hide_empty' => false,
|
52 |
+
'exclude' =>$excluded_cats
|
53 |
+
));
|
54 |
+
foreach ($terms as $t) {
|
55 |
+
$available_taxonomy[$kt]['taxs'][$t->term_id] = $t->name;
|
56 |
+
}
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
}
|
61 |
+
$excluded_ids = get_option('top_opt_excluded_post');
|
62 |
+
$excluded_ids = array_filter(explode(',',$excluded_ids));
|
63 |
+
if(isset($_POST['exclude']) ){
|
64 |
+
if(!isset($_POST['rop_post_id'])) $_POST['rop_post_id'] =array();
|
65 |
+
$show_items = explode(',',$_POST['rop_show_posts']);
|
66 |
+
$dif = array_diff($show_items,$_POST['rop_post_id']);
|
67 |
+
$com = array_intersect($dif,$excluded_ids);
|
68 |
+
$excluded_ids = array_diff($excluded_ids,$com);
|
69 |
+
$excluded_ids = array_merge ($excluded_ids,$_POST['rop_post_id']);
|
70 |
+
$excluded_ids = array_unique($excluded_ids);
|
71 |
+
update_option('top_opt_excluded_post',implode(',',$excluded_ids));
|
72 |
+
}
|
73 |
+
if(isset($_POST['exclude']) || isset($_POST['search'])){
|
74 |
+
$paged = 1;
|
75 |
+
|
76 |
+
}
|
77 |
+
if(isset($_POST['exclude']) ) {
|
78 |
+
print( '
|
79 |
+
<div id="message" style="margin-top:30px" class="updated fade">
|
80 |
+
<p>' . __( 'Posts excluded successfully.', 'TweetOldPost' ) . '</p>
|
81 |
+
</div>' );
|
82 |
+
}
|
83 |
+
|
84 |
+
require_once(plugin_dir_path( __FILE__ )."view-exclude.php");
|
85 |
+
|
86 |
+
|
87 |
+
$sql = "SELECT p.ID,p.post_title,p.post_date,u.user_nicename,p.guid,p.post_type FROM $wpdb->posts p join $wpdb->users u on p.post_author=u.ID WHERE (post_type = '{$selected_post_type}')
|
88 |
+
AND post_status = 'publish'";
|
89 |
+
if($selected_tax != 'none'){
|
90 |
+
$sql = $sql . " and p.ID IN ( SELECT tr.object_id FROM ".$wpdb->prefix."term_relationships AS tr INNER JOIN ".$wpdb->prefix."term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.term_id=" . $selected_tax . " ";
|
91 |
+
if(!empty($excluded_cats)){
|
92 |
+
$sql .= " and tr.object_id NOT IN ( SELECT tr.object_id FROM ".$wpdb->prefix."term_relationships AS tr INNER JOIN ".$wpdb->prefix."term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.term_id IN (" . $excluded_cats . ")) ) ";
|
93 |
+
|
94 |
+
}else{
|
95 |
+
$sql .= ")";
|
96 |
+
|
97 |
+
}
|
98 |
+
}
|
99 |
+
else
|
100 |
+
{
|
101 |
+
|
102 |
+
if(!empty($excluded_cats)){
|
103 |
+
$sql = $sql . " and p.ID NOT IN ( SELECT tr.object_id FROM ".$wpdb->prefix."term_relationships AS tr INNER JOIN ".$wpdb->prefix."term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.term_id IN (" . $excluded_cats . "))";
|
104 |
+
|
105 |
+
}
|
106 |
+
}
|
107 |
+
if($excluded_display_selected == "excluded" )
|
108 |
+
{
|
109 |
+
|
110 |
+
$sql = $sql . " and p.ID IN (".implode(",",$excluded_ids).")";
|
111 |
+
}
|
112 |
+
if($excluded_display_selected == "unexcluded" && !empty($excluded_ids))
|
113 |
+
{
|
114 |
+
|
115 |
+
$sql = $sql . " and p.ID NOT in (".implode(",",$excluded_ids).")";
|
116 |
+
}
|
117 |
+
if(!empty($exclude_search))
|
118 |
+
$sql = $sql . " and post_title like '%" . trim($exclude_search ) . "%'";
|
119 |
+
$sql = $sql . " order by post_date desc";
|
120 |
+
$posts = $wpdb->get_results($sql);
|
121 |
+
|
122 |
+
|
123 |
+
|
124 |
+
$from = $paged * $records_per_page - $records_per_page;
|
125 |
+
$to = min($paged * $records_per_page, count($posts));
|
126 |
+
$post_count =count($posts);
|
127 |
+
|
128 |
+
print('<form id="top_TweetOldPost" name="top_TweetOldPost" action="' . get_bloginfo('wpurl') . '/wp-admin/admin.php?page=ExcludePosts" method="post">');
|
129 |
+
print('
|
130 |
+
<script language="javascript">
|
131 |
+
|
132 |
+
function ROPshowCorectTax(){
|
133 |
+
var post_type = jQuery("#rop_select_post_type").val();
|
134 |
+
jQuery("#rop_select_category optgroup").each(function(){
|
135 |
+
var pt = jQuery(this).attr("data-post-type").split(",");
|
136 |
+
var th = jQuery(this);
|
137 |
+
if(jQuery.inArray(post_type,pt) > -1){
|
138 |
+
th.show();
|
139 |
+
}else{
|
140 |
+
th.hide();
|
141 |
+
}
|
142 |
+
|
143 |
+
|
144 |
+
});
|
145 |
+
|
146 |
+
}
|
147 |
+
jQuery(function() {
|
148 |
+
jQuery("#rop_select_post_type").on("change",function(){
|
149 |
+
ROPshowCorectTax();
|
150 |
+
|
151 |
+
});
|
152 |
+
ROPshowCorectTax();
|
153 |
+
});
|
154 |
+
function checkedAll() {
|
155 |
+
if(jQuery("rop-header-check").is("checked")){
|
156 |
+
jQuery(".rop_post_id").attr("checked","checked");
|
157 |
+
|
158 |
+
}else{
|
159 |
+
|
160 |
+
jQuery(".rop_post_id").removeAttr("checked" );
|
161 |
+
|
162 |
+
}
|
163 |
+
}
|
164 |
+
jQuery(document).ready(function(){
|
165 |
+
jQuery("#top_TweetOldPost").on("click",".page-numbers",function(){
|
166 |
+
var paged = jQuery(this).text();
|
167 |
+
jQuery("#post-search-page").val(paged);
|
168 |
+
jQuery("#top_TweetOldPost").submit();
|
169 |
+
return false;
|
170 |
+
})
|
171 |
+
})
|
172 |
+
|
173 |
+
</script>
|
174 |
+
');
|
175 |
+
print('<div class="tablenav"><div class="alignleft actions">');
|
176 |
+
?> <p class="rop-exclude-filter">
|
177 |
+
<label>View: </label>
|
178 |
+
<select name="rop_display_selection" id="selFilter" style="width:100px">
|
179 |
+
<?php foreach($excluded_display_option as $value=>$name): ?>
|
180 |
+
<option value="<?php echo $value; ?>" <?php selected($value,$excluded_display_selected); ?> > <?php echo $name; ?></option>
|
181 |
+
<?php endforeach; ?>
|
182 |
+
</select>
|
183 |
+
</p>
|
184 |
+
<p class="rop-exclude-filter">
|
185 |
+
<label>Post type</label>
|
186 |
+
<select name="rop_select_post_type" id="rop_select_post_type">
|
187 |
+
<?php
|
188 |
+
foreach($postTypes as $pt):
|
189 |
+
?>
|
190 |
+
<option value="<?php echo $pt ?>" <?php selected($pt,$selected_post_type); ?>><?php echo $pt?></option>
|
191 |
+
<?php
|
192 |
+
endforeach;
|
193 |
+
?>
|
194 |
+
|
195 |
+
</select>
|
196 |
+
</p>
|
197 |
+
|
198 |
+
<p class="rop-exclude-filter">
|
199 |
+
<label>Category</label>
|
200 |
+
<select name="rop_select_category" id="rop_select_category">
|
201 |
+
<option value="none"> All </option>
|
202 |
+
<?php
|
203 |
+
foreach($available_taxonomy as $at):
|
204 |
+
?>
|
205 |
+
<optgroup label="<?php echo $at['label']; ?>" data-post-type="<?php echo implode(',',$at['post_types']);?>">
|
206 |
+
<?php
|
207 |
+
foreach($at['taxs'] as $id=>$tax): ?>
|
208 |
+
<option value="<?php echo $id ?>" <?php selected($id,$selected_tax); ?>><?php echo $tax; ?></option>
|
209 |
+
<?php
|
210 |
+
endforeach;
|
211 |
+
?>
|
212 |
+
</optgroup>
|
213 |
+
|
214 |
+
<?php
|
215 |
+
endforeach;
|
216 |
+
?>
|
217 |
+
|
218 |
+
</select>
|
219 |
+
</p>
|
220 |
+
<?php
|
221 |
+
|
222 |
+
print('<p class="search-box" style="margin:0px">
|
223 |
+
<input type="text" id="post-search-input" name="s" value="'.$exclude_search.'" />
|
224 |
+
<input type="hidden" id="post-search-page" name="paged" value="'.$paged.'" />
|
225 |
+
<input type="submit" value="Search Posts" name="search" class="button" />
|
226 |
+
<input type="submit" value="Exclude selected" name="exclude" class="button" />
|
227 |
+
</p>');
|
228 |
+
print('</div>');
|
229 |
+
|
230 |
+
$page_links = paginate_links(array(
|
231 |
+
'base' => add_query_arg('paged', '%#%'),
|
232 |
+
'format' => '',
|
233 |
+
'prev_text' => __('«'),
|
234 |
+
'next_text' => __('»'),
|
235 |
+
'total' => ceil(count($posts) / $records_per_page),
|
236 |
+
'current' => $paged
|
237 |
+
));
|
238 |
+
|
239 |
+
if ($page_links) {
|
240 |
+
|
241 |
+
print('<div class="tablenav-pages">');
|
242 |
+
$page_links_text = sprintf('<span class="displaying-num">' . __('Displaying %s–%s of %s') . '</span>%s',
|
243 |
+
number_format_i18n(( $paged - 1 ) * $records_per_page + 1),
|
244 |
+
number_format_i18n(min($paged * $records_per_page, count($posts))),
|
245 |
+
number_format_i18n(count($posts)),
|
246 |
+
$page_links
|
247 |
+
);
|
248 |
+
echo $page_links_text;
|
249 |
+
print('</div>');
|
250 |
+
}
|
251 |
+
print('</div>');//tablenav div
|
252 |
+
if (count($posts) > 0) {
|
253 |
+
print(' <div class="wrap">
|
254 |
+
<table class="widefat fixed">
|
255 |
+
<thead>
|
256 |
+
<tr>
|
257 |
+
<th class="manage-column column-cb check-column"><input name="headchkbx" id="rop-header-check" onchange="javascript:checkedAll();" type="checkbox" value="checkall"/></th>
|
258 |
+
<th>No.</th>
|
259 |
+
<th>Id</th>
|
260 |
+
<th>Post Title</th>
|
261 |
+
<th>Author</th>
|
262 |
+
<th>Post Date</th>
|
263 |
+
</tr>
|
264 |
+
</thead>
|
265 |
+
<tbody>
|
266 |
+
');
|
267 |
+
|
268 |
+
|
269 |
+
|
270 |
+
for ($i = $from; $i < $to; $i++) {
|
271 |
+
|
272 |
+
$displayed_posts[] = $posts[$i]->ID;
|
273 |
+
if (in_array($posts[$i]->ID, $excluded_ids)) {
|
274 |
+
$checked = "Checked";
|
275 |
+
$bgcolor="#FFCC99";
|
276 |
+
} else {
|
277 |
+
$checked = "";
|
278 |
+
$bgcolor="#FFF";
|
279 |
+
}
|
280 |
+
$displayed_posts[] = $posts[$i]->ID;
|
281 |
+
print('
|
282 |
+
|
283 |
+
<tr style="background-color:'.$bgcolor.';">
|
284 |
+
<th class="check-column">
|
285 |
+
<input type="checkbox" name="rop_post_id[]" class="rop_post_id" id="del' . $posts[$i]->ID . '" value="' . $posts[$i]->ID . '" ' . $checked . '/>
|
286 |
+
</th>
|
287 |
+
<td>
|
288 |
+
' . ($i + 1) . '
|
289 |
+
</td>
|
290 |
+
<td>
|
291 |
+
' . $posts[$i]->ID . '
|
292 |
+
</td>
|
293 |
+
<td>
|
294 |
+
<a href=' . get_permalink($posts[$i]->ID) . ' target="_blank">' . $posts[$i]->post_title . '</a>
|
295 |
+
</td>
|
296 |
+
<td>
|
297 |
+
' . $posts[$i]->user_nicename . '
|
298 |
+
</td>
|
299 |
+
<td>
|
300 |
+
' . $posts[$i]->post_date . '
|
301 |
+
</td>
|
302 |
+
</tr>
|
303 |
+
|
304 |
+
');
|
305 |
+
}
|
306 |
+
print('
|
307 |
+
</tbody>
|
308 |
+
</table>
|
309 |
+
</div>
|
310 |
+
');
|
311 |
+
?>
|
312 |
+
<input type="hidden" name="rop_show_posts" value="<?php echo implode(',',$displayed_posts); ?>"/>
|
313 |
+
<?php
|
314 |
+
|
315 |
+
if ($page_links) {
|
316 |
+
|
317 |
+
print('<div class="tablenav"> <div class="tablenav-pages">');
|
318 |
+
$page_links_text = sprintf('<span class="displaying-num">' . __('Displaying %s–%s of %s') . '</span>%s',
|
319 |
+
number_format_i18n(( $paged - 1 ) * $records_per_page + 1),
|
320 |
+
number_format_i18n(min($paged * $records_per_page, count($posts))),
|
321 |
+
number_format_i18n(count($posts)),
|
322 |
+
$page_links
|
323 |
+
);
|
324 |
+
echo $page_links_text;
|
325 |
+
print('</div></div> ');
|
326 |
+
}
|
327 |
+
|
328 |
+
|
329 |
+
|
330 |
+
|
331 |
+
}
|
332 |
+
else
|
333 |
+
{
|
334 |
+
print('<div class="wrap">
|
335 |
+
<div id="message" style="margin-top:30px" class="updated fade">
|
336 |
+
<p>' . __('No Posts found. Review your search or filter criteria/term.', 'TweetOldPost') . '</p>
|
337 |
+
</div></div>');
|
338 |
+
}
|
339 |
+
print('</form></section>');
|
340 |
+
} else {
|
341 |
+
print('
|
342 |
+
<div id="message" class="updated fade">
|
343 |
+
<p>' . __('You do not have enough permission to set the option. Please contact your admin.', 'TweetOldPost') . '</p>
|
344 |
+
</div>');
|
345 |
+
}
|
346 |
+
}
|
347 |
?>
|
inc/oAuth/OAuth.php
CHANGED
@@ -1,937 +1,937 @@
|
|
1 |
-
<?php
|
2 |
-
// vim: foldmethod=marker
|
3 |
-
|
4 |
-
/* Generic exception class
|
5 |
-
*/
|
6 |
-
if (!class_exists('RopOAuthException')) {
|
7 |
-
class RopOAuthException extends Exception {
|
8 |
-
// pass
|
9 |
-
}
|
10 |
-
}
|
11 |
-
if (!class_exists('RopOAuthConsumer')) {
|
12 |
-
class RopOAuthConsumer {
|
13 |
-
public $key;
|
14 |
-
public $secret;
|
15 |
-
|
16 |
-
function __construct($key, $secret, $callback_url=NULL) {
|
17 |
-
$this->key = $key;
|
18 |
-
$this->secret = $secret;
|
19 |
-
$this->callback_url = $callback_url;
|
20 |
-
}
|
21 |
-
|
22 |
-
function __toString() {
|
23 |
-
return "RopOAuthConsumer[key=$this->key,secret=$this->secret]";
|
24 |
-
}
|
25 |
-
}
|
26 |
-
}
|
27 |
-
if (!class_exists('RopOAuthToken')) {
|
28 |
-
class RopOAuthToken {
|
29 |
-
// access tokens and request tokens
|
30 |
-
public $key;
|
31 |
-
public $secret;
|
32 |
-
|
33 |
-
/**
|
34 |
-
* key = the token
|
35 |
-
* secret = the token secret
|
36 |
-
*/
|
37 |
-
function __construct($key, $secret) {
|
38 |
-
$this->key = $key;
|
39 |
-
$this->secret = $secret;
|
40 |
-
}
|
41 |
-
|
42 |
-
/**
|
43 |
-
* generates the basic string serialization of a token that a server
|
44 |
-
* would respond to request_token and access_token calls with
|
45 |
-
*/
|
46 |
-
function to_string() {
|
47 |
-
return "oauth_token=" .
|
48 |
-
RopOAuthUtil::urlencode_rfc3986($this->key) .
|
49 |
-
"&oauth_token_secret=" .
|
50 |
-
RopOAuthUtil::urlencode_rfc3986($this->secret);
|
51 |
-
}
|
52 |
-
|
53 |
-
function __toString() {
|
54 |
-
return $this->to_string();
|
55 |
-
}
|
56 |
-
}
|
57 |
-
}
|
58 |
-
/**
|
59 |
-
* A class for implementing a Signature Method
|
60 |
-
* See section 9 ("Signing Requests") in the spec
|
61 |
-
*/
|
62 |
-
if (!class_exists('RopOAuthSignatureMethod')) {
|
63 |
-
abstract class RopOAuthSignatureMethod {
|
64 |
-
/**
|
65 |
-
* Needs to return the name of the Signature Method (ie HMAC-SHA1)
|
66 |
-
* @return string
|
67 |
-
*/
|
68 |
-
abstract public function get_name();
|
69 |
-
|
70 |
-
/**
|
71 |
-
* Build up the signature
|
72 |
-
* NOTE: The output of this function MUST NOT be urlencoded.
|
73 |
-
* the encoding is handled in RopOAuthRequest when the final
|
74 |
-
* request is serialized
|
75 |
-
* @param RopOAuthRequest $request
|
76 |
-
* @param RopOAuthConsumer $consumer
|
77 |
-
* @param RopOAuthToken $token
|
78 |
-
* @return string
|
79 |
-
*/
|
80 |
-
abstract public function build_signature($request, $consumer, $token);
|
81 |
-
|
82 |
-
/**
|
83 |
-
* Verifies that a given signature is correct
|
84 |
-
* @param RopOAuthRequest $request
|
85 |
-
* @param RopOAuthConsumer $consumer
|
86 |
-
* @param RopOAuthToken $token
|
87 |
-
* @param string $signature
|
88 |
-
* @return bool
|
89 |
-
*/
|
90 |
-
public function check_signature($request, $consumer, $token, $signature) {
|
91 |
-
$built = $this->build_signature($request, $consumer, $token);
|
92 |
-
return $built == $signature;
|
93 |
-
}
|
94 |
-
}
|
95 |
-
}
|
96 |
-
/**
|
97 |
-
* The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104]
|
98 |
-
* where the Signature Base String is the text and the key is the concatenated values (each first
|
99 |
-
* encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&'
|
100 |
-
* character (ASCII code 38) even if empty.
|
101 |
-
* - Chapter 9.2 ("HMAC-SHA1")
|
102 |
-
*/
|
103 |
-
if (!class_exists('RopOAuthSignatureMethod_HMAC_SHA1')) {
|
104 |
-
class RopOAuthSignatureMethod_HMAC_SHA1 extends RopOAuthSignatureMethod {
|
105 |
-
function get_name() {
|
106 |
-
return "HMAC-SHA1";
|
107 |
-
}
|
108 |
-
|
109 |
-
|
110 |
-
public function build_signature($request, $consumer, $token) {
|
111 |
-
$base_string = $request->get_signature_base_string();
|
112 |
-
$request->base_string = $base_string;
|
113 |
-
|
114 |
-
$key_parts = array(
|
115 |
-
$consumer->secret,
|
116 |
-
($token) ? $token->secret : ""
|
117 |
-
);
|
118 |
-
|
119 |
-
$key_parts = RopOAuthUtil::urlencode_rfc3986($key_parts);
|
120 |
-
$key = implode('&', $key_parts);
|
121 |
-
|
122 |
-
return base64_encode(hash_hmac('sha1', $base_string, $key, true));
|
123 |
-
}
|
124 |
-
}
|
125 |
-
}
|
126 |
-
/**
|
127 |
-
* The PLAINTEXT method does not provide any security protection and SHOULD only be used
|
128 |
-
* over a secure channel such as HTTPS. It does not use the Signature Base String.
|
129 |
-
* - Chapter 9.4 ("PLAINTEXT")
|
130 |
-
*/
|
131 |
-
if (!class_exists('RopOAuthSignatureMethod_PLAINTEXT')) {
|
132 |
-
class RopOAuthSignatureMethod_PLAINTEXT extends RopOAuthSignatureMethod {
|
133 |
-
public function get_name() {
|
134 |
-
return "PLAINTEXT";
|
135 |
-
}
|
136 |
-
|
137 |
-
/**
|
138 |
-
* oauth_signature is set to the concatenated encoded values of the Consumer Secret and
|
139 |
-
* Token Secret, separated by a '&' character (ASCII code 38), even if either secret is
|
140 |
-
* empty. The result MUST be encoded again.
|
141 |
-
* - Chapter 9.4.1 ("Generating Signatures")
|
142 |
-
*
|
143 |
-
* Please note that the second encoding MUST NOT happen in the SignatureMethod, as
|
144 |
-
* RopOAuthRequest handles this!
|
145 |
-
*/
|
146 |
-
public function build_signature($request, $consumer, $token) {
|
147 |
-
$key_parts = array(
|
148 |
-
$consumer->secret,
|
149 |
-
($token) ? $token->secret : ""
|
150 |
-
);
|
151 |
-
|
152 |
-
$key_parts = RopOAuthUtil::urlencode_rfc3986($key_parts);
|
153 |
-
$key = implode('&', $key_parts);
|
154 |
-
$request->base_string = $key;
|
155 |
-
|
156 |
-
return $key;
|
157 |
-
}
|
158 |
-
}
|
159 |
-
}
|
160 |
-
|
161 |
-
/**
|
162 |
-
* The RSA-SHA1 signature method uses the RSASSA-PKCS1-v1_5 signature algorithm as defined in
|
163 |
-
* [RFC3447] section 8.2 (more simply known as PKCS#1), using SHA-1 as the hash function for
|
164 |
-
* EMSA-PKCS1-v1_5. It is assumed that the Consumer has provided its RSA public key in a
|
165 |
-
* verified way to the Service Provider, in a manner which is beyond the scope of this
|
166 |
-
* specification.
|
167 |
-
* - Chapter 9.3 ("RSA-SHA1")
|
168 |
-
*/
|
169 |
-
if (!class_exists('RopOAuthSignatureMethod_RSA_SHA1')) {
|
170 |
-
abstract class RopOAuthSignatureMethod_RSA_SHA1 extends RopOAuthSignatureMethod {
|
171 |
-
public function get_name() {
|
172 |
-
return "RSA-SHA1";
|
173 |
-
}
|
174 |
-
|
175 |
-
// Up to the SP to implement this lookup of keys. Possible ideas are:
|
176 |
-
// (1) do a lookup in a table of trusted certs keyed off of consumer
|
177 |
-
// (2) fetch via http using a url provided by the requester
|
178 |
-
// (3) some sort of specific discovery code based on request
|
179 |
-
//
|
180 |
-
// Either way should return a string representation of the certificate
|
181 |
-
protected abstract function fetch_public_cert(&$request);
|
182 |
-
|
183 |
-
// Up to the SP to implement this lookup of keys. Possible ideas are:
|
184 |
-
// (1) do a lookup in a table of trusted certs keyed off of consumer
|
185 |
-
//
|
186 |
-
// Either way should return a string representation of the certificate
|
187 |
-
protected abstract function fetch_private_cert(&$request);
|
188 |
-
|
189 |
-
public function build_signature($request, $consumer, $token) {
|
190 |
-
$base_string = $request->get_signature_base_string();
|
191 |
-
$request->base_string = $base_string;
|
192 |
-
|
193 |
-
// Fetch the private key cert based on the request
|
194 |
-
$cert = $this->fetch_private_cert($request);
|
195 |
-
|
196 |
-
// Pull the private key ID from the certificate
|
197 |
-
$privatekeyid = openssl_get_privatekey($cert);
|
198 |
-
|
199 |
-
// Sign using the key
|
200 |
-
$ok = openssl_sign($base_string, $signature, $privatekeyid);
|
201 |
-
|
202 |
-
// Release the key resource
|
203 |
-
openssl_free_key($privatekeyid);
|
204 |
-
|
205 |
-
return base64_encode($signature);
|
206 |
-
}
|
207 |
-
|
208 |
-
public function check_signature($request, $consumer, $token, $signature) {
|
209 |
-
$decoded_sig = base64_decode($signature);
|
210 |
-
|
211 |
-
$base_string = $request->get_signature_base_string();
|
212 |
-
|
213 |
-
// Fetch the public key cert based on the request
|
214 |
-
$cert = $this->fetch_public_cert($request);
|
215 |
-
|
216 |
-
// Pull the public key ID from the certificate
|
217 |
-
$publickeyid = openssl_get_publickey($cert);
|
218 |
-
|
219 |
-
// Check the computed signature against the one passed in the query
|
220 |
-
$ok = openssl_verify($base_string, $decoded_sig, $publickeyid);
|
221 |
-
|
222 |
-
// Release the key resource
|
223 |
-
openssl_free_key($publickeyid);
|
224 |
-
|
225 |
-
return $ok == 1;
|
226 |
-
}
|
227 |
-
}
|
228 |
-
}
|
229 |
-
if (!class_exists('RopOAuthRequest')) {
|
230 |
-
class RopOAuthRequest {
|
231 |
-
private $parameters;
|
232 |
-
private $http_method;
|
233 |
-
private $http_url;
|
234 |
-
// for debug purposes
|
235 |
-
public $base_string;
|
236 |
-
public static $version = '1.0';
|
237 |
-
public static $POST_INPUT = 'php://input';
|
238 |
-
|
239 |
-
function __construct($http_method, $http_url, $parameters=NULL) {
|
240 |
-
@$parameters or $parameters = array();
|
241 |
-
$parameters = array_merge( RopOAuthUtil::parse_parameters(parse_url($http_url, PHP_URL_QUERY)), $parameters);
|
242 |
-
$this->parameters = $parameters;
|
243 |
-
$this->http_method = $http_method;
|
244 |
-
$this->http_url = $http_url;
|
245 |
-
}
|
246 |
-
|
247 |
-
|
248 |
-
/**
|
249 |
-
* attempt to build up a request from what was passed to the server
|
250 |
-
*/
|
251 |
-
public static function from_request($http_method=NULL, $http_url=NULL, $parameters=NULL) {
|
252 |
-
$scheme = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on")
|
253 |
-
? 'http'
|
254 |
-
: 'https';
|
255 |
-
@$http_url or $http_url = $scheme .
|
256 |
-
'://' . $_SERVER['HTTP_HOST'] .
|
257 |
-
':' .
|
258 |
-
$_SERVER['SERVER_PORT'] .
|
259 |
-
$_SERVER['REQUEST_URI'];
|
260 |
-
@$http_method or $http_method = $_SERVER['REQUEST_METHOD'];
|
261 |
-
|
262 |
-
// We weren't handed any parameters, so let's find the ones relevant to
|
263 |
-
// this request.
|
264 |
-
// If you run XML-RPC or similar you should use this to provide your own
|
265 |
-
// parsed parameter-list
|
266 |
-
if (!$parameters) {
|
267 |
-
// Find request headers
|
268 |
-
$request_headers = RopOAuthUtil::get_headers();
|
269 |
-
|
270 |
-
// Parse the query-string to find GET parameters
|
271 |
-
$parameters = RopOAuthUtil::parse_parameters($_SERVER['QUERY_STRING']);
|
272 |
-
|
273 |
-
// It's a POST request of the proper content-type, so parse POST
|
274 |
-
// parameters and add those overriding any duplicates from GET
|
275 |
-
if ($http_method == "POST"
|
276 |
-
&& @strstr($request_headers["Content-Type"],
|
277 |
-
"application/x-www-form-urlencoded")
|
278 |
-
) {
|
279 |
-
$post_data = RopOAuthUtil::parse_parameters(
|
280 |
-
file_get_contents(self::$POST_INPUT)
|
281 |
-
);
|
282 |
-
$parameters = array_merge($parameters, $post_data);
|
283 |
-
}
|
284 |
-
|
285 |
-
// We have a Authorization-header with OAuth data. Parse the header
|
286 |
-
// and add those overriding any duplicates from GET or POST
|
287 |
-
if (@substr($request_headers['Authorization'], 0, 6) == "OAuth ") {
|
288 |
-
$header_parameters = RopOAuthUtil::split_header(
|
289 |
-
$request_headers['Authorization']
|
290 |
-
);
|
291 |
-
$parameters = array_merge($parameters, $header_parameters);
|
292 |
-
}
|
293 |
-
|
294 |
-
}
|
295 |
-
|
296 |
-
return new RopOAuthRequest($http_method, $http_url, $parameters);
|
297 |
-
}
|
298 |
-
|
299 |
-
/**
|
300 |
-
* pretty much a helper function to set up the request
|
301 |
-
*/
|
302 |
-
public static function from_consumer_and_token($consumer, $token, $http_method, $http_url, $parameters=NULL) {
|
303 |
-
@$parameters or $parameters = array();
|
304 |
-
$defaults = array("oauth_version" => RopOAuthRequest::$version,
|
305 |
-
"oauth_nonce" => RopOAuthRequest::generate_nonce(),
|
306 |
-
"oauth_timestamp" => RopOAuthRequest::generate_timestamp(),
|
307 |
-
"oauth_consumer_key" => $consumer->key);
|
308 |
-
if ($token)
|
309 |
-
$defaults['oauth_token'] = $token->key;
|
310 |
-
|
311 |
-
$parameters = array_merge($defaults, $parameters);
|
312 |
-
// print_r($parameters);
|
313 |
-
return new RopOAuthRequest($http_method, $http_url, $parameters);
|
314 |
-
}
|
315 |
-
|
316 |
-
public function set_parameter($name, $value, $allow_duplicates = true) {
|
317 |
-
if ($allow_duplicates && isset($this->parameters[$name])) {
|
318 |
-
// We have already added parameter(s) with this name, so add to the list
|
319 |
-
if (is_scalar($this->parameters[$name])) {
|
320 |
-
// This is the first duplicate, so transform scalar (string)
|
321 |
-
// into an array so we can add the duplicates
|
322 |
-
$this->parameters[$name] = array($this->parameters[$name]);
|
323 |
-
}
|
324 |
-
|
325 |
-
$this->parameters[$name][] = $value;
|
326 |
-
} else {
|
327 |
-
$this->parameters[$name] = $value;
|
328 |
-
}
|
329 |
-
}
|
330 |
-
public function set_parameters($parameters) {
|
331 |
-
// keep the oauth parameters
|
332 |
-
$oauth_parameters = Array();
|
333 |
-
foreach ($this->parameters as $k=>&$v)
|
334 |
-
if (substr($k, 0, 6) == "oauth_")
|
335 |
-
$oauth_parameters[$k] = $v;
|
336 |
-
$this->parameters = array_merge($parameters, $oauth_parameters);
|
337 |
-
}
|
338 |
-
public function get_parameter($name) {
|
339 |
-
return isset($this->parameters[$name]) ? $this->parameters[$name] : null;
|
340 |
-
}
|
341 |
-
|
342 |
-
public function get_parameters() {
|
343 |
-
return $this->parameters;
|
344 |
-
}
|
345 |
-
|
346 |
-
public function unset_parameter($name) {
|
347 |
-
unset($this->parameters[$name]);
|
348 |
-
}
|
349 |
-
|
350 |
-
/**
|
351 |
-
* The request parameters, sorted and concatenated into a normalized string.
|
352 |
-
* @return string
|
353 |
-
*/
|
354 |
-
public function get_signable_parameters() {
|
355 |
-
// Grab all parameters
|
356 |
-
$params = $this->parameters;
|
357 |
-
|
358 |
-
// Remove oauth_signature if present
|
359 |
-
// Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.")
|
360 |
-
if (isset($params['oauth_signature'])) {
|
361 |
-
unset($params['oauth_signature']);
|
362 |
-
}
|
363 |
-
|
364 |
-
return RopOAuthUtil::build_http_query($params);
|
365 |
-
}
|
366 |
-
|
367 |
-
/**
|
368 |
-
* Returns the base string of this request
|
369 |
-
*
|
370 |
-
* The base string defined as the method, the url
|
371 |
-
* and the parameters (normalized), each urlencoded
|
372 |
-
* and the concated with &.
|
373 |
-
*/
|
374 |
-
public function get_signature_base_string() {
|
375 |
-
$parts = array(
|
376 |
-
$this->get_normalized_http_method(),
|
377 |
-
$this->get_normalized_http_url(),
|
378 |
-
$this->get_signable_parameters()
|
379 |
-
);
|
380 |
-
|
381 |
-
$parts = RopOAuthUtil::urlencode_rfc3986($parts);
|
382 |
-
|
383 |
-
return implode('&', $parts);
|
384 |
-
}
|
385 |
-
|
386 |
-
/**
|
387 |
-
* just uppercases the http method
|
388 |
-
*/
|
389 |
-
public function get_normalized_http_method() {
|
390 |
-
return strtoupper($this->http_method);
|
391 |
-
}
|
392 |
-
|
393 |
-
/**
|
394 |
-
* parses the url and rebuilds it to be
|
395 |
-
* scheme://host/path
|
396 |
-
*/
|
397 |
-
public function get_normalized_http_url() {
|
398 |
-
$parts = parse_url($this->http_url);
|
399 |
-
|
400 |
-
$port = @$parts['port'];
|
401 |
-
$scheme = $parts['scheme'];
|
402 |
-
$host = $parts['host'];
|
403 |
-
$path = @$parts['path'];
|
404 |
-
|
405 |
-
$port or $port = ($scheme == 'https') ? '443' : '80';
|
406 |
-
|
407 |
-
if (($scheme == 'https' && $port != '443')
|
408 |
-
|| ($scheme == 'http' && $port != '80')) {
|
409 |
-
$host = "$host:$port";
|
410 |
-
}
|
411 |
-
return "$scheme://$host$path";
|
412 |
-
}
|
413 |
-
|
414 |
-
/**
|
415 |
-
* builds a url usable for a GET request
|
416 |
-
*/
|
417 |
-
public function to_url() {
|
418 |
-
$post_data = $this->to_postdata();
|
419 |
-
$out = $this->get_normalized_http_url();
|
420 |
-
if ($post_data) {
|
421 |
-
$out .= '?'.$post_data;
|
422 |
-
}
|
423 |
-
return $out;
|
424 |
-
}
|
425 |
-
|
426 |
-
/**
|
427 |
-
* builds the data one would send in a POST request
|
428 |
-
*/
|
429 |
-
public function to_postdata() {
|
430 |
-
return RopOAuthUtil::build_http_query($this->parameters);
|
431 |
-
}
|
432 |
-
|
433 |
-
/**
|
434 |
-
* builds the Authorization: header
|
435 |
-
*/
|
436 |
-
public function to_header($realm=null) {
|
437 |
-
$first = true;
|
438 |
-
if($realm) {
|
439 |
-
$out = 'Authorization: OAuth realm="' . RopOAuthUtil::urlencode_rfc3986($realm) . '"';
|
440 |
-
$first = false;
|
441 |
-
} else
|
442 |
-
$out = 'Authorization: OAuth';
|
443 |
-
|
444 |
-
$total = array();
|
445 |
-
foreach ($this->parameters as $k => $v) {
|
446 |
-
if (substr($k, 0, 5) != "oauth") continue;
|
447 |
-
if (is_array($v)) {
|
448 |
-
throw new RopOAuthException('Arrays not supported in headers');
|
449 |
-
}
|
450 |
-
$out .= ($first) ? ' ' : ',';
|
451 |
-
$out .= RopOAuthUtil::urlencode_rfc3986($k) .
|
452 |
-
'="' .
|
453 |
-
RopOAuthUtil::urlencode_rfc3986($v) .
|
454 |
-
'"';
|
455 |
-
$first = false;
|
456 |
-
}
|
457 |
-
return $out;
|
458 |
-
}
|
459 |
-
|
460 |
-
public function __toString() {
|
461 |
-
return $this->to_url();
|
462 |
-
}
|
463 |
-
|
464 |
-
|
465 |
-
public function sign_request($signature_method, $consumer, $token) {
|
466 |
-
$this->set_parameter(
|
467 |
-
"oauth_signature_method",
|
468 |
-
$signature_method->get_name(),
|
469 |
-
false
|
470 |
-
);
|
471 |
-
$signature = $this->build_signature($signature_method, $consumer, $token);
|
472 |
-
$this->set_parameter("oauth_signature", $signature, false);
|
473 |
-
}
|
474 |
-
|
475 |
-
public function build_signature($signature_method, $consumer, $token) {
|
476 |
-
$signature = $signature_method->build_signature($this, $consumer, $token);
|
477 |
-
return $signature;
|
478 |
-
}
|
479 |
-
|
480 |
-
/**
|
481 |
-
* util function: current timestamp
|
482 |
-
*/
|
483 |
-
private static function generate_timestamp() {
|
484 |
-
|
485 |
-
$ci = curl_init();
|
486 |
-
|
487 |
-
curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
|
488 |
-
curl_setopt($ci, CURLOPT_HEADER, TRUE);
|
489 |
-
|
490 |
-
curl_setopt($ci, CURLOPT_URL, "http://api.twitter.com/1.1/");
|
491 |
-
|
492 |
-
$response = curl_exec($ci);
|
493 |
-
|
494 |
-
$header_size = curl_getinfo($ci, CURLINFO_HEADER_SIZE);
|
495 |
-
$header = substr($response, 0, $header_size);
|
496 |
-
$headers = self::get_headers_from_curl_response($header);
|
497 |
-
$date = time();
|
498 |
-
if(isset($headers[0]['date'])){
|
499 |
-
$date = strtotime($headers[0]['date']);
|
500 |
-
}else if($headers[0]['Date']){
|
501 |
-
$date = strtotime($headers[0]['Date']);
|
502 |
-
}
|
503 |
-
return $date;
|
504 |
-
}
|
505 |
-
static function get_headers_from_curl_response($headerContent)
|
506 |
-
{
|
507 |
-
|
508 |
-
$headers = array();
|
509 |
-
|
510 |
-
// Split the string on every "double" new line.
|
511 |
-
$arrRequests = explode("\r\n\r\n", $headerContent);
|
512 |
-
|
513 |
-
// Loop of response headers. The "count() -1" is to
|
514 |
-
//avoid an empty row for the extra line break before the body of the response.
|
515 |
-
for ($index = 0; $index < count($arrRequests) -1; $index++) {
|
516 |
-
|
517 |
-
foreach (explode("\r\n", $arrRequests[$index]) as $i => $line)
|
518 |
-
{
|
519 |
-
if ($i === 0)
|
520 |
-
$headers[$index]['http_code'] = $line;
|
521 |
-
else
|
522 |
-
{
|
523 |
-
list ($key, $value) = explode(': ', $line);
|
524 |
-
$headers[$index][$key] = $value;
|
525 |
-
}
|
526 |
-
}
|
527 |
-
}
|
528 |
-
|
529 |
-
return $headers;
|
530 |
-
}
|
531 |
-
/**
|
532 |
-
* util function: current nonce
|
533 |
-
*/
|
534 |
-
public static function generate_nonce() {
|
535 |
-
$mt = microtime();
|
536 |
-
$rand = mt_rand();
|
537 |
-
|
538 |
-
return md5($mt . $rand); // md5s look nicer than numbers
|
539 |
-
}
|
540 |
-
}
|
541 |
-
}
|
542 |
-
if (!class_exists('RopOAuthServer')) {
|
543 |
-
class RopOAuthServer {
|
544 |
-
protected $timestamp_threshold = 300; // in seconds, five minutes
|
545 |
-
protected $version = '1.0'; // hi blaine
|
546 |
-
protected $signature_methods = array();
|
547 |
-
|
548 |
-
protected $data_store;
|
549 |
-
|
550 |
-
function __construct($data_store) {
|
551 |
-
$this->data_store = $data_store;
|
552 |
-
}
|
553 |
-
|
554 |
-
public function add_signature_method($signature_method) {
|
555 |
-
$this->signature_methods[$signature_method->get_name()] =
|
556 |
-
$signature_method;
|
557 |
-
}
|
558 |
-
|
559 |
-
// high level functions
|
560 |
-
|
561 |
-
/**
|
562 |
-
* process a request_token request
|
563 |
-
* returns the request token on success
|
564 |
-
*/
|
565 |
-
public function fetch_request_token(&$request) {
|
566 |
-
$this->get_version($request);
|
567 |
-
|
568 |
-
$consumer = $this->get_consumer($request);
|
569 |
-
|
570 |
-
// no token required for the initial token request
|
571 |
-
$token = NULL;
|
572 |
-
|
573 |
-
$this->check_signature($request, $consumer, $token);
|
574 |
-
|
575 |
-
// Rev A change
|
576 |
-
$callback = $request->get_parameter('oauth_callback');
|
577 |
-
$new_token = $this->data_store->new_request_token($consumer, $callback);
|
578 |
-
|
579 |
-
return $new_token;
|
580 |
-
}
|
581 |
-
|
582 |
-
/**
|
583 |
-
* process an access_token request
|
584 |
-
* returns the access token on success
|
585 |
-
*/
|
586 |
-
public function fetch_access_token(&$request) {
|
587 |
-
$this->get_version($request);
|
588 |
-
|
589 |
-
$consumer = $this->get_consumer($request);
|
590 |
-
|
591 |
-
// requires authorized request token
|
592 |
-
$token = $this->get_token($request, $consumer, "request");
|
593 |
-
|
594 |
-
$this->check_signature($request, $consumer, $token);
|
595 |
-
|
596 |
-
// Rev A change
|
597 |
-
$verifier = $request->get_parameter('oauth_verifier');
|
598 |
-
$new_token = $this->data_store->new_access_token($token, $consumer, $verifier);
|
599 |
-
|
600 |
-
return $new_token;
|
601 |
-
}
|
602 |
-
|
603 |
-
/**
|
604 |
-
* verify an api call, checks all the parameters
|
605 |
-
*/
|
606 |
-
public function verify_request(&$request) {
|
607 |
-
$this->get_version($request);
|
608 |
-
$consumer = $this->get_consumer($request);
|
609 |
-
$token = $this->get_token($request, $consumer, "access");
|
610 |
-
$this->check_signature($request, $consumer, $token);
|
611 |
-
return array($consumer, $token);
|
612 |
-
}
|
613 |
-
|
614 |
-
// Internals from here
|
615 |
-
/**
|
616 |
-
* version 1
|
617 |
-
*/
|
618 |
-
private function get_version(&$request) {
|
619 |
-
$version = $request->get_parameter("oauth_version");
|
620 |
-
if (!$version) {
|
621 |
-
// Service Providers MUST assume the protocol version to be 1.0 if this parameter is not present.
|
622 |
-
// Chapter 7.0 ("Accessing Protected Ressources")
|
623 |
-
$version = '1.0';
|
624 |
-
}
|
625 |
-
if ($version !== $this->version) {
|
626 |
-
throw new RopOAuthException("OAuth version '$version' not supported");
|
627 |
-
}
|
628 |
-
return $version;
|
629 |
-
}
|
630 |
-
|
631 |
-
/**
|
632 |
-
* figure out the signature with some defaults
|
633 |
-
*/
|
634 |
-
private function get_signature_method(&$request) {
|
635 |
-
$signature_method =
|
636 |
-
@$request->get_parameter("oauth_signature_method");
|
637 |
-
|
638 |
-
if (!$signature_method) {
|
639 |
-
// According to chapter 7 ("Accessing Protected Ressources") the signature-method
|
640 |
-
// parameter is required, and we can't just fallback to PLAINTEXT
|
641 |
-
throw new RopOAuthException('No signature method parameter. This parameter is required');
|
642 |
-
}
|
643 |
-
|
644 |
-
if (!in_array($signature_method,
|
645 |
-
array_keys($this->signature_methods))) {
|
646 |
-
throw new RopOAuthException(
|
647 |
-
"Signature method '$signature_method' not supported " .
|
648 |
-
"try one of the following: " .
|
649 |
-
implode(", ", array_keys($this->signature_methods))
|
650 |
-
);
|
651 |
-
}
|
652 |
-
return $this->signature_methods[$signature_method];
|
653 |
-
}
|
654 |
-
|
655 |
-
/**
|
656 |
-
* try to find the consumer for the provided request's consumer key
|
657 |
-
*/
|
658 |
-
private function get_consumer(&$request) {
|
659 |
-
$consumer_key = @$request->get_parameter("oauth_consumer_key");
|
660 |
-
if (!$consumer_key) {
|
661 |
-
throw new RopOAuthException("Invalid consumer key");
|
662 |
-
}
|
663 |
-
|
664 |
-
$consumer = $this->data_store->lookup_consumer($consumer_key);
|
665 |
-
if (!$consumer) {
|
666 |
-
throw new RopOAuthException("Invalid consumer");
|
667 |
-
}
|
668 |
-
|
669 |
-
return $consumer;
|
670 |
-
}
|
671 |
-
|
672 |
-
/**
|
673 |
-
* try to find the token for the provided request's token key
|
674 |
-
*/
|
675 |
-
private function get_token(&$request, $consumer, $token_type="access") {
|
676 |
-
$token_field = @$request->get_parameter('oauth_token');
|
677 |
-
$token = $this->data_store->lookup_token(
|
678 |
-
$consumer, $token_type, $token_field
|
679 |
-
);
|
680 |
-
if (!$token) {
|
681 |
-
throw new RopOAuthException("Invalid $token_type token: $token_field");
|
682 |
-
}
|
683 |
-
return $token;
|
684 |
-
}
|
685 |
-
|
686 |
-
/**
|
687 |
-
* all-in-one function to check the signature on a request
|
688 |
-
* should guess the signature method appropriately
|
689 |
-
*/
|
690 |
-
private function check_signature(&$request, $consumer, $token) {
|
691 |
-
// this should probably be in a different method
|
692 |
-
$timestamp = @$request->get_parameter('oauth_timestamp');
|
693 |
-
$nonce = @$request->get_parameter('oauth_nonce');
|
694 |
-
|
695 |
-
$this->check_timestamp($timestamp);
|
696 |
-
$this->check_nonce($consumer, $token, $nonce, $timestamp);
|
697 |
-
|
698 |
-
$signature_method = $this->get_signature_method($request);
|
699 |
-
|
700 |
-
$signature = $request->get_parameter('oauth_signature');
|
701 |
-
$valid_sig = $signature_method->check_signature(
|
702 |
-
$request,
|
703 |
-
$consumer,
|
704 |
-
$token,
|
705 |
-
$signature
|
706 |
-
);
|
707 |
-
|
708 |
-
if (!$valid_sig) {
|
709 |
-
throw new RopOAuthException("Invalid signature");
|
710 |
-
}
|
711 |
-
}
|
712 |
-
|
713 |
-
/**
|
714 |
-
* check that the timestamp is new enough
|
715 |
-
*/
|
716 |
-
private function check_timestamp($timestamp) {
|
717 |
-
if( ! $timestamp )
|
718 |
-
throw new RopOAuthException(
|
719 |
-
'Missing timestamp parameter. The parameter is required'
|
720 |
-
);
|
721 |
-
|
722 |
-
// verify that timestamp is recentish
|
723 |
-
$now = time();
|
724 |
-
if (abs($now - $timestamp) > $this->timestamp_threshold) {
|
725 |
-
throw new RopOAuthException(
|
726 |
-
"Expired timestamp, yours $timestamp, ours $now"
|
727 |
-
);
|
728 |
-
}
|
729 |
-
}
|
730 |
-
|
731 |
-
/**
|
732 |
-
* check that the nonce is not repeated
|
733 |
-
*/
|
734 |
-
private function check_nonce($consumer, $token, $nonce, $timestamp) {
|
735 |
-
if( ! $nonce )
|
736 |
-
throw new RopOAuthException(
|
737 |
-
'Missing nonce parameter. The parameter is required'
|
738 |
-
);
|
739 |
-
|
740 |
-
// verify that the nonce is uniqueish
|
741 |
-
$found = $this->data_store->lookup_nonce(
|
742 |
-
$consumer,
|
743 |
-
$token,
|
744 |
-
$nonce,
|
745 |
-
$timestamp
|
746 |
-
);
|
747 |
-
if ($found) {
|
748 |
-
throw new RopOAuthException("Nonce already used: $nonce");
|
749 |
-
}
|
750 |
-
}
|
751 |
-
|
752 |
-
}
|
753 |
-
}
|
754 |
-
if (!class_exists('RopOAuthDataStore')) {
|
755 |
-
class RopOAuthDataStore {
|
756 |
-
function lookup_consumer($consumer_key) {
|
757 |
-
// implement me
|
758 |
-
}
|
759 |
-
|
760 |
-
function lookup_token($consumer, $token_type, $token) {
|
761 |
-
// implement me
|
762 |
-
}
|
763 |
-
|
764 |
-
function lookup_nonce($consumer, $token, $nonce, $timestamp) {
|
765 |
-
// implement me
|
766 |
-
}
|
767 |
-
|
768 |
-
function new_request_token($consumer, $callback = null) {
|
769 |
-
// return a new token attached to this consumer
|
770 |
-
}
|
771 |
-
|
772 |
-
function new_access_token($token, $consumer, $verifier = null) {
|
773 |
-
// return a new access token attached to this consumer
|
774 |
-
// for the user associated with this token if the request token
|
775 |
-
// is authorized
|
776 |
-
// should also invalidate the request token
|
777 |
-
}
|
778 |
-
|
779 |
-
}
|
780 |
-
}
|
781 |
-
if (!class_exists('RopOAuthUtil')) {
|
782 |
-
class RopOAuthUtil {
|
783 |
-
public static function urlencode_rfc3986($input) {
|
784 |
-
if (is_array($input)) {
|
785 |
-
return array_map(array('RopOAuthUtil', 'urlencode_rfc3986'), $input);
|
786 |
-
} else if (is_scalar($input)) {
|
787 |
-
return str_replace(
|
788 |
-
'+',
|
789 |
-
' ',
|
790 |
-
str_replace('%7E', '~', rawurlencode($input))
|
791 |
-
);
|
792 |
-
} else {
|
793 |
-
return '';
|
794 |
-
}
|
795 |
-
}
|
796 |
-
|
797 |
-
|
798 |
-
// This decode function isn't taking into consideration the above
|
799 |
-
// modifications to the encoding process. However, this method doesn't
|
800 |
-
// seem to be used anywhere so leaving it as is.
|
801 |
-
public static function urldecode_rfc3986($string) {
|
802 |
-
return urldecode($string);
|
803 |
-
}
|
804 |
-
|
805 |
-
// Utility function for turning the Authorization: header into
|
806 |
-
// parameters, has to do some unescaping
|
807 |
-
// Can filter out any non-oauth parameters if needed (default behaviour)
|
808 |
-
public static function split_header($header, $only_allow_oauth_parameters = true) {
|
809 |
-
$pattern = '/(([-_a-z]*)=("([^"]*)"|([^,]*)),?)/';
|
810 |
-
$offset = 0;
|
811 |
-
$params = array();
|
812 |
-
while (preg_match($pattern, $header, $matches, PREG_OFFSET_CAPTURE, $offset) > 0) {
|
813 |
-
$match = $matches[0];
|
814 |
-
$header_name = $matches[2][0];
|
815 |
-
$header_content = (isset($matches[5])) ? $matches[5][0] : $matches[4][0];
|
816 |
-
if (preg_match('/^oauth_/', $header_name) || !$only_allow_oauth_parameters) {
|
817 |
-
$params[$header_name] = RopOAuthUtil::urldecode_rfc3986($header_content);
|
818 |
-
}
|
819 |
-
$offset = $match[1] + strlen($match[0]);
|
820 |
-
}
|
821 |
-
|
822 |
-
if (isset($params['realm'])) {
|
823 |
-
unset($params['realm']);
|
824 |
-
}
|
825 |
-
|
826 |
-
return $params;
|
827 |
-
}
|
828 |
-
|
829 |
-
// helper to try to sort out headers for people who aren't running apache
|
830 |
-
public static function get_headers() {
|
831 |
-
if (function_exists('apache_request_headers')) {
|
832 |
-
// we need this to get the actual Authorization: header
|
833 |
-
// because apache tends to tell us it doesn't exist
|
834 |
-
$headers = apache_request_headers();
|
835 |
-
|
836 |
-
// sanitize the output of apache_request_headers because
|
837 |
-
// we always want the keys to be Cased-Like-This and arh()
|
838 |
-
// returns the headers in the same case as they are in the
|
839 |
-
// request
|
840 |
-
$out = array();
|
841 |
-
foreach( $headers AS $key => $value ) {
|
842 |
-
$key = str_replace(
|
843 |
-
" ",
|
844 |
-
"-",
|
845 |
-
ucwords(strtolower(str_replace("-", " ", $key)))
|
846 |
-
);
|
847 |
-
$out[$key] = $value;
|
848 |
-
}
|
849 |
-
} else {
|
850 |
-
// otherwise we don't have apache and are just going to have to hope
|
851 |
-
// that $_SERVER actually contains what we need
|
852 |
-
$out = array();
|
853 |
-
if( isset($_SERVER['CONTENT_TYPE']) )
|
854 |
-
$out['Content-Type'] = $_SERVER['CONTENT_TYPE'];
|
855 |
-
if( isset($_ENV['CONTENT_TYPE']) )
|
856 |
-
$out['Content-Type'] = $_ENV['CONTENT_TYPE'];
|
857 |
-
|
858 |
-
foreach ($_SERVER as $key => $value) {
|
859 |
-
if (substr($key, 0, 5) == "HTTP_") {
|
860 |
-
// this is chaos, basically it is just there to capitalize the first
|
861 |
-
// letter of every word that is not an initial HTTP and strip HTTP
|
862 |
-
// code from przemek
|
863 |
-
$key = str_replace(
|
864 |
-
" ",
|
865 |
-
"-",
|
866 |
-
ucwords(strtolower(str_replace("_", " ", substr($key, 5))))
|
867 |
-
);
|
868 |
-
$out[$key] = $value;
|
869 |
-
}
|
870 |
-
}
|
871 |
-
}
|
872 |
-
return $out;
|
873 |
-
}
|
874 |
-
|
875 |
-
// This function takes a input like a=b&a=c&d=e and returns the parsed
|
876 |
-
// parameters like this
|
877 |
-
// array('a' => array('b','c'), 'd' => 'e')
|
878 |
-
public static function parse_parameters( $input ) {
|
879 |
-
if (!isset($input) || !$input) return array();
|
880 |
-
|
881 |
-
$pairs = explode('&', $input);
|
882 |
-
|
883 |
-
$parsed_parameters = array();
|
884 |
-
foreach ($pairs as $pair) {
|
885 |
-
$split = explode('=', $pair, 2);
|
886 |
-
$parameter = RopOAuthUtil::urldecode_rfc3986($split[0]);
|
887 |
-
$value = isset($split[1]) ? RopOAuthUtil::urldecode_rfc3986($split[1]) : '';
|
888 |
-
|
889 |
-
if (isset($parsed_parameters[$parameter])) {
|
890 |
-
// We have already recieved parameter(s) with this name, so add to the list
|
891 |
-
// of parameters with this name
|
892 |
-
|
893 |
-
if (is_scalar($parsed_parameters[$parameter])) {
|
894 |
-
// This is the first duplicate, so transform scalar (string) into an array
|
895 |
-
// so we can add the duplicates
|
896 |
-
$parsed_parameters[$parameter] = array($parsed_parameters[$parameter]);
|
897 |
-
}
|
898 |
-
|
899 |
-
$parsed_parameters[$parameter][] = $value;
|
900 |
-
} else {
|
901 |
-
$parsed_parameters[$parameter] = $value;
|
902 |
-
}
|
903 |
-
}
|
904 |
-
return $parsed_parameters;
|
905 |
-
}
|
906 |
-
|
907 |
-
public static function build_http_query($params) {
|
908 |
-
if (!$params) return '';
|
909 |
-
|
910 |
-
// Urlencode both keys and values
|
911 |
-
$keys = RopOAuthUtil::urlencode_rfc3986(array_keys($params));
|
912 |
-
$values = RopOAuthUtil::urlencode_rfc3986(array_values($params));
|
913 |
-
$params = array_combine($keys, $values);
|
914 |
-
|
915 |
-
// Parameters are sorted by name, using lexicographical byte value ordering.
|
916 |
-
// Ref: Spec: 9.1.1 (1)
|
917 |
-
uksort($params, 'strcmp');
|
918 |
-
|
919 |
-
$pairs = array();
|
920 |
-
foreach ($params as $parameter => $value) {
|
921 |
-
if (is_array($value)) {
|
922 |
-
// If two or more parameters share the same name, they are sorted by their value
|
923 |
-
// Ref: Spec: 9.1.1 (1)
|
924 |
-
natsort($value);
|
925 |
-
foreach ($value as $duplicate_value) {
|
926 |
-
$pairs[] = $parameter . '=' . $duplicate_value;
|
927 |
-
}
|
928 |
-
} else {
|
929 |
-
$pairs[] = $parameter . '=' . $value;
|
930 |
-
}
|
931 |
-
}
|
932 |
-
// For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61)
|
933 |
-
// Each name-value pair is separated by an '&' character (ASCII code 38)
|
934 |
-
return implode('&', $pairs);
|
935 |
-
}
|
936 |
-
}
|
937 |
-
}
|
1 |
+
<?php
|
2 |
+
// vim: foldmethod=marker
|
3 |
+
|
4 |
+
/* Generic exception class
|
5 |
+
*/
|
6 |
+
if (!class_exists('RopOAuthException')) {
|
7 |
+
class RopOAuthException extends Exception {
|
8 |
+
// pass
|
9 |
+
}
|
10 |
+
}
|
11 |
+
if (!class_exists('RopOAuthConsumer')) {
|
12 |
+
class RopOAuthConsumer {
|
13 |
+
public $key;
|
14 |
+
public $secret;
|
15 |
+
|
16 |
+
function __construct($key, $secret, $callback_url=NULL) {
|
17 |
+
$this->key = $key;
|
18 |
+
$this->secret = $secret;
|
19 |
+
$this->callback_url = $callback_url;
|
20 |
+
}
|
21 |
+
|
22 |
+
function __toString() {
|
23 |
+
return "RopOAuthConsumer[key=$this->key,secret=$this->secret]";
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
27 |
+
if (!class_exists('RopOAuthToken')) {
|
28 |
+
class RopOAuthToken {
|
29 |
+
// access tokens and request tokens
|
30 |
+
public $key;
|
31 |
+
public $secret;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* key = the token
|
35 |
+
* secret = the token secret
|
36 |
+
*/
|
37 |
+
function __construct($key, $secret) {
|
38 |
+
$this->key = $key;
|
39 |
+
$this->secret = $secret;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* generates the basic string serialization of a token that a server
|
44 |
+
* would respond to request_token and access_token calls with
|
45 |
+
*/
|
46 |
+
function to_string() {
|
47 |
+
return "oauth_token=" .
|
48 |
+
RopOAuthUtil::urlencode_rfc3986($this->key) .
|
49 |
+
"&oauth_token_secret=" .
|
50 |
+
RopOAuthUtil::urlencode_rfc3986($this->secret);
|
51 |
+
}
|
52 |
+
|
53 |
+
function __toString() {
|
54 |
+
return $this->to_string();
|
55 |
+
}
|
56 |
+
}
|
57 |
+
}
|
58 |
+
/**
|
59 |
+
* A class for implementing a Signature Method
|
60 |
+
* See section 9 ("Signing Requests") in the spec
|
61 |
+
*/
|
62 |
+
if (!class_exists('RopOAuthSignatureMethod')) {
|
63 |
+
abstract class RopOAuthSignatureMethod {
|
64 |
+
/**
|
65 |
+
* Needs to return the name of the Signature Method (ie HMAC-SHA1)
|
66 |
+
* @return string
|
67 |
+
*/
|
68 |
+
abstract public function get_name();
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Build up the signature
|
72 |
+
* NOTE: The output of this function MUST NOT be urlencoded.
|
73 |
+
* the encoding is handled in RopOAuthRequest when the final
|
74 |
+
* request is serialized
|
75 |
+
* @param RopOAuthRequest $request
|
76 |
+
* @param RopOAuthConsumer $consumer
|
77 |
+
* @param RopOAuthToken $token
|
78 |
+
* @return string
|
79 |
+
*/
|
80 |
+
abstract public function build_signature($request, $consumer, $token);
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Verifies that a given signature is correct
|
84 |
+
* @param RopOAuthRequest $request
|
85 |
+
* @param RopOAuthConsumer $consumer
|
86 |
+
* @param RopOAuthToken $token
|
87 |
+
* @param string $signature
|
88 |
+
* @return bool
|
89 |
+
*/
|
90 |
+
public function check_signature($request, $consumer, $token, $signature) {
|
91 |
+
$built = $this->build_signature($request, $consumer, $token);
|
92 |
+
return $built == $signature;
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
96 |
+
/**
|
97 |
+
* The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104]
|
98 |
+
* where the Signature Base String is the text and the key is the concatenated values (each first
|
99 |
+
* encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&'
|
100 |
+
* character (ASCII code 38) even if empty.
|
101 |
+
* - Chapter 9.2 ("HMAC-SHA1")
|
102 |
+
*/
|
103 |
+
if (!class_exists('RopOAuthSignatureMethod_HMAC_SHA1')) {
|
104 |
+
class RopOAuthSignatureMethod_HMAC_SHA1 extends RopOAuthSignatureMethod {
|
105 |
+
function get_name() {
|
106 |
+
return "HMAC-SHA1";
|
107 |
+
}
|
108 |
+
|
109 |
+
|
110 |
+
public function build_signature($request, $consumer, $token) {
|
111 |
+
$base_string = $request->get_signature_base_string();
|
112 |
+
$request->base_string = $base_string;
|
113 |
+
|
114 |
+
$key_parts = array(
|
115 |
+
$consumer->secret,
|
116 |
+
($token) ? $token->secret : ""
|
117 |
+
);
|
118 |
+
|
119 |
+
$key_parts = RopOAuthUtil::urlencode_rfc3986($key_parts);
|
120 |
+
$key = implode('&', $key_parts);
|
121 |
+
|
122 |
+
return base64_encode(hash_hmac('sha1', $base_string, $key, true));
|
123 |
+
}
|
124 |
+
}
|
125 |
+
}
|
126 |
+
/**
|
127 |
+
* The PLAINTEXT method does not provide any security protection and SHOULD only be used
|
128 |
+
* over a secure channel such as HTTPS. It does not use the Signature Base String.
|
129 |
+
* - Chapter 9.4 ("PLAINTEXT")
|
130 |
+
*/
|
131 |
+
if (!class_exists('RopOAuthSignatureMethod_PLAINTEXT')) {
|
132 |
+
class RopOAuthSignatureMethod_PLAINTEXT extends RopOAuthSignatureMethod {
|
133 |
+
public function get_name() {
|
134 |
+
return "PLAINTEXT";
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* oauth_signature is set to the concatenated encoded values of the Consumer Secret and
|
139 |
+
* Token Secret, separated by a '&' character (ASCII code 38), even if either secret is
|
140 |
+
* empty. The result MUST be encoded again.
|
141 |
+
* - Chapter 9.4.1 ("Generating Signatures")
|
142 |
+
*
|
143 |
+
* Please note that the second encoding MUST NOT happen in the SignatureMethod, as
|
144 |
+
* RopOAuthRequest handles this!
|
145 |
+
*/
|
146 |
+
public function build_signature($request, $consumer, $token) {
|
147 |
+
$key_parts = array(
|
148 |
+
$consumer->secret,
|
149 |
+
($token) ? $token->secret : ""
|
150 |
+
);
|
151 |
+
|
152 |
+
$key_parts = RopOAuthUtil::urlencode_rfc3986($key_parts);
|
153 |
+
$key = implode('&', $key_parts);
|
154 |
+
$request->base_string = $key;
|
155 |
+
|
156 |
+
return $key;
|
157 |
+
}
|
158 |
+
}
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* The RSA-SHA1 signature method uses the RSASSA-PKCS1-v1_5 signature algorithm as defined in
|
163 |
+
* [RFC3447] section 8.2 (more simply known as PKCS#1), using SHA-1 as the hash function for
|
164 |
+
* EMSA-PKCS1-v1_5. It is assumed that the Consumer has provided its RSA public key in a
|
165 |
+
* verified way to the Service Provider, in a manner which is beyond the scope of this
|
166 |
+
* specification.
|
167 |
+
* - Chapter 9.3 ("RSA-SHA1")
|
168 |
+
*/
|
169 |
+
if (!class_exists('RopOAuthSignatureMethod_RSA_SHA1')) {
|
170 |
+
abstract class RopOAuthSignatureMethod_RSA_SHA1 extends RopOAuthSignatureMethod {
|
171 |
+
public function get_name() {
|
172 |
+
return "RSA-SHA1";
|
173 |
+
}
|
174 |
+
|
175 |
+
// Up to the SP to implement this lookup of keys. Possible ideas are:
|
176 |
+
// (1) do a lookup in a table of trusted certs keyed off of consumer
|
177 |
+
// (2) fetch via http using a url provided by the requester
|
178 |
+
// (3) some sort of specific discovery code based on request
|
179 |
+
//
|
180 |
+
// Either way should return a string representation of the certificate
|
181 |
+
protected abstract function fetch_public_cert(&$request);
|
182 |
+
|
183 |
+
// Up to the SP to implement this lookup of keys. Possible ideas are:
|
184 |
+
// (1) do a lookup in a table of trusted certs keyed off of consumer
|
185 |
+
//
|
186 |
+
// Either way should return a string representation of the certificate
|
187 |
+
protected abstract function fetch_private_cert(&$request);
|
188 |
+
|
189 |
+
public function build_signature($request, $consumer, $token) {
|
190 |
+
$base_string = $request->get_signature_base_string();
|
191 |
+
$request->base_string = $base_string;
|
192 |
+
|
193 |
+
// Fetch the private key cert based on the request
|
194 |
+
$cert = $this->fetch_private_cert($request);
|
195 |
+
|
196 |
+
// Pull the private key ID from the certificate
|
197 |
+
$privatekeyid = openssl_get_privatekey($cert);
|
198 |
+
|
199 |
+
// Sign using the key
|
200 |
+
$ok = openssl_sign($base_string, $signature, $privatekeyid);
|
201 |
+
|
202 |
+
// Release the key resource
|
203 |
+
openssl_free_key($privatekeyid);
|
204 |
+
|
205 |
+
return base64_encode($signature);
|
206 |
+
}
|
207 |
+
|
208 |
+
public function check_signature($request, $consumer, $token, $signature) {
|
209 |
+
$decoded_sig = base64_decode($signature);
|
210 |
+
|
211 |
+
$base_string = $request->get_signature_base_string();
|
212 |
+
|
213 |
+
// Fetch the public key cert based on the request
|
214 |
+
$cert = $this->fetch_public_cert($request);
|
215 |
+
|
216 |
+
// Pull the public key ID from the certificate
|
217 |
+
$publickeyid = openssl_get_publickey($cert);
|
218 |
+
|
219 |
+
// Check the computed signature against the one passed in the query
|
220 |
+
$ok = openssl_verify($base_string, $decoded_sig, $publickeyid);
|
221 |
+
|
222 |
+
// Release the key resource
|
223 |
+
openssl_free_key($publickeyid);
|
224 |
+
|
225 |
+
return $ok == 1;
|
226 |
+
}
|
227 |
+
}
|
228 |
+
}
|
229 |
+
if (!class_exists('RopOAuthRequest')) {
|
230 |
+
class RopOAuthRequest {
|
231 |
+
private $parameters;
|
232 |
+
private $http_method;
|
233 |
+
private $http_url;
|
234 |
+
// for debug purposes
|
235 |
+
public $base_string;
|
236 |
+
public static $version = '1.0';
|
237 |
+
public static $POST_INPUT = 'php://input';
|
238 |
+
|
239 |
+
function __construct($http_method, $http_url, $parameters=NULL) {
|
240 |
+
@$parameters or $parameters = array();
|
241 |
+
$parameters = array_merge( RopOAuthUtil::parse_parameters(parse_url($http_url, PHP_URL_QUERY)), $parameters);
|
242 |
+
$this->parameters = $parameters;
|
243 |
+
$this->http_method = $http_method;
|
244 |
+
$this->http_url = $http_url;
|
245 |
+
}
|
246 |
+
|
247 |
+
|
248 |
+
/**
|
249 |
+
* attempt to build up a request from what was passed to the server
|
250 |
+
*/
|
251 |
+
public static function from_request($http_method=NULL, $http_url=NULL, $parameters=NULL) {
|
252 |
+
$scheme = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on")
|
253 |
+
? 'http'
|
254 |
+
: 'https';
|
255 |
+
@$http_url or $http_url = $scheme .
|
256 |
+
'://' . $_SERVER['HTTP_HOST'] .
|
257 |
+
':' .
|
258 |
+
$_SERVER['SERVER_PORT'] .
|
259 |
+
$_SERVER['REQUEST_URI'];
|
260 |
+
@$http_method or $http_method = $_SERVER['REQUEST_METHOD'];
|
261 |
+
|
262 |
+
// We weren't handed any parameters, so let's find the ones relevant to
|
263 |
+
// this request.
|
264 |
+
// If you run XML-RPC or similar you should use this to provide your own
|
265 |
+
// parsed parameter-list
|
266 |
+
if (!$parameters) {
|
267 |
+
// Find request headers
|
268 |
+
$request_headers = RopOAuthUtil::get_headers();
|
269 |
+
|
270 |
+
// Parse the query-string to find GET parameters
|
271 |
+
$parameters = RopOAuthUtil::parse_parameters($_SERVER['QUERY_STRING']);
|
272 |
+
|
273 |
+
// It's a POST request of the proper content-type, so parse POST
|
274 |
+
// parameters and add those overriding any duplicates from GET
|
275 |
+
if ($http_method == "POST"
|
276 |
+
&& @strstr($request_headers["Content-Type"],
|
277 |
+
"application/x-www-form-urlencoded")
|
278 |
+
) {
|
279 |
+
$post_data = RopOAuthUtil::parse_parameters(
|
280 |
+
file_get_contents(self::$POST_INPUT)
|
281 |
+
);
|
282 |
+
$parameters = array_merge($parameters, $post_data);
|
283 |
+
}
|
284 |
+
|
285 |
+
// We have a Authorization-header with OAuth data. Parse the header
|
286 |
+
// and add those overriding any duplicates from GET or POST
|
287 |
+
if (@substr($request_headers['Authorization'], 0, 6) == "OAuth ") {
|
288 |
+
$header_parameters = RopOAuthUtil::split_header(
|
289 |
+
$request_headers['Authorization']
|
290 |
+
);
|
291 |
+
$parameters = array_merge($parameters, $header_parameters);
|
292 |
+
}
|
293 |
+
|
294 |
+
}
|
295 |
+
|
296 |
+
return new RopOAuthRequest($http_method, $http_url, $parameters);
|
297 |
+
}
|
298 |
+
|
299 |
+
/**
|
300 |
+
* pretty much a helper function to set up the request
|
301 |
+
*/
|
302 |
+
public static function from_consumer_and_token($consumer, $token, $http_method, $http_url, $parameters=NULL) {
|
303 |
+
@$parameters or $parameters = array();
|
304 |
+
$defaults = array("oauth_version" => RopOAuthRequest::$version,
|
305 |
+
"oauth_nonce" => RopOAuthRequest::generate_nonce(),
|
306 |
+
"oauth_timestamp" => RopOAuthRequest::generate_timestamp(),
|
307 |
+
"oauth_consumer_key" => $consumer->key);
|
308 |
+
if ($token)
|
309 |
+
$defaults['oauth_token'] = $token->key;
|
310 |
+
|
311 |
+
$parameters = array_merge($defaults, $parameters);
|
312 |
+
// print_r($parameters);
|
313 |
+
return new RopOAuthRequest($http_method, $http_url, $parameters);
|
314 |
+
}
|
315 |
+
|
316 |
+
public function set_parameter($name, $value, $allow_duplicates = true) {
|
317 |
+
if ($allow_duplicates && isset($this->parameters[$name])) {
|
318 |
+
// We have already added parameter(s) with this name, so add to the list
|
319 |
+
if (is_scalar($this->parameters[$name])) {
|
320 |
+
// This is the first duplicate, so transform scalar (string)
|
321 |
+
// into an array so we can add the duplicates
|
322 |
+
$this->parameters[$name] = array($this->parameters[$name]);
|
323 |
+
}
|
324 |
+
|
325 |
+
$this->parameters[$name][] = $value;
|
326 |
+
} else {
|
327 |
+
$this->parameters[$name] = $value;
|
328 |
+
}
|
329 |
+
}
|
330 |
+
public function set_parameters($parameters) {
|
331 |
+
// keep the oauth parameters
|
332 |
+
$oauth_parameters = Array();
|
333 |
+
foreach ($this->parameters as $k=>&$v)
|
334 |
+
if (substr($k, 0, 6) == "oauth_")
|
335 |
+
$oauth_parameters[$k] = $v;
|
336 |
+
$this->parameters = array_merge($parameters, $oauth_parameters);
|
337 |
+
}
|
338 |
+
public function get_parameter($name) {
|
339 |
+
return isset($this->parameters[$name]) ? $this->parameters[$name] : null;
|
340 |
+
}
|
341 |
+
|
342 |
+
public function get_parameters() {
|
343 |
+
return $this->parameters;
|
344 |
+
}
|
345 |
+
|
346 |
+
public function unset_parameter($name) {
|
347 |
+
unset($this->parameters[$name]);
|
348 |
+
}
|
349 |
+
|
350 |
+
/**
|
351 |
+
* The request parameters, sorted and concatenated into a normalized string.
|
352 |
+
* @return string
|
353 |
+
*/
|
354 |
+
public function get_signable_parameters() {
|
355 |
+
// Grab all parameters
|
356 |
+
$params = $this->parameters;
|
357 |
+
|
358 |
+
// Remove oauth_signature if present
|
359 |
+
// Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.")
|
360 |
+
if (isset($params['oauth_signature'])) {
|
361 |
+
unset($params['oauth_signature']);
|
362 |
+
}
|
363 |
+
|
364 |
+
return RopOAuthUtil::build_http_query($params);
|
365 |
+
}
|
366 |
+
|
367 |
+
/**
|
368 |
+
* Returns the base string of this request
|
369 |
+
*
|
370 |
+
* The base string defined as the method, the url
|
371 |
+
* and the parameters (normalized), each urlencoded
|
372 |
+
* and the concated with &.
|
373 |
+
*/
|
374 |
+
public function get_signature_base_string() {
|
375 |
+
$parts = array(
|
376 |
+
$this->get_normalized_http_method(),
|
377 |
+
$this->get_normalized_http_url(),
|
378 |
+
$this->get_signable_parameters()
|
379 |
+
);
|
380 |
+
|
381 |
+
$parts = RopOAuthUtil::urlencode_rfc3986($parts);
|
382 |
+
|
383 |
+
return implode('&', $parts);
|
384 |
+
}
|
385 |
+
|
386 |
+
/**
|
387 |
+
* just uppercases the http method
|
388 |
+
*/
|
389 |
+
public function get_normalized_http_method() {
|
390 |
+
return strtoupper($this->http_method);
|
391 |
+
}
|
392 |
+
|
393 |
+
/**
|
394 |
+
* parses the url and rebuilds it to be
|
395 |
+
* scheme://host/path
|
396 |
+
*/
|
397 |
+
public function get_normalized_http_url() {
|
398 |
+
$parts = parse_url($this->http_url);
|
399 |
+
|
400 |
+
$port = @$parts['port'];
|
401 |
+
$scheme = $parts['scheme'];
|
402 |
+
$host = $parts['host'];
|
403 |
+
$path = @$parts['path'];
|
404 |
+
|
405 |
+
$port or $port = ($scheme == 'https') ? '443' : '80';
|
406 |
+
|
407 |
+
if (($scheme == 'https' && $port != '443')
|
408 |
+
|| ($scheme == 'http' && $port != '80')) {
|
409 |
+
$host = "$host:$port";
|
410 |
+
}
|
411 |
+
return "$scheme://$host$path";
|
412 |
+
}
|
413 |
+
|
414 |
+
/**
|
415 |
+
* builds a url usable for a GET request
|
416 |
+
*/
|
417 |
+
public function to_url() {
|
418 |
+
$post_data = $this->to_postdata();
|
419 |
+
$out = $this->get_normalized_http_url();
|
420 |
+
if ($post_data) {
|
421 |
+
$out .= '?'.$post_data;
|
422 |
+
}
|
423 |
+
return $out;
|
424 |
+
}
|
425 |
+
|
426 |
+
/**
|
427 |
+
* builds the data one would send in a POST request
|
428 |
+
*/
|
429 |
+
public function to_postdata() {
|
430 |
+
return RopOAuthUtil::build_http_query($this->parameters);
|
431 |
+
}
|
432 |
+
|
433 |
+
/**
|
434 |
+
* builds the Authorization: header
|
435 |
+
*/
|
436 |
+
public function to_header($realm=null) {
|
437 |
+
$first = true;
|
438 |
+
if($realm) {
|
439 |
+
$out = 'Authorization: OAuth realm="' . RopOAuthUtil::urlencode_rfc3986($realm) . '"';
|
440 |
+
$first = false;
|
441 |
+
} else
|
442 |
+
$out = 'Authorization: OAuth';
|
443 |
+
|
444 |
+
$total = array();
|
445 |
+
foreach ($this->parameters as $k => $v) {
|
446 |
+
if (substr($k, 0, 5) != "oauth") continue;
|
447 |
+
if (is_array($v)) {
|
448 |
+
throw new RopOAuthException('Arrays not supported in headers');
|
449 |
+
}
|
450 |
+
$out .= ($first) ? ' ' : ',';
|
451 |
+
$out .= RopOAuthUtil::urlencode_rfc3986($k) .
|
452 |
+
'="' .
|
453 |
+
RopOAuthUtil::urlencode_rfc3986($v) .
|
454 |
+
'"';
|
455 |
+
$first = false;
|
456 |
+
}
|
457 |
+
return $out;
|
458 |
+
}
|
459 |
+
|
460 |
+
public function __toString() {
|
461 |
+
return $this->to_url();
|
462 |
+
}
|
463 |
+
|
464 |
+
|
465 |
+
public function sign_request($signature_method, $consumer, $token) {
|
466 |
+
$this->set_parameter(
|
467 |
+
"oauth_signature_method",
|
468 |
+
$signature_method->get_name(),
|
469 |
+
false
|
470 |
+
);
|
471 |
+
$signature = $this->build_signature($signature_method, $consumer, $token);
|
472 |
+
$this->set_parameter("oauth_signature", $signature, false);
|
473 |
+
}
|
474 |
+
|
475 |
+
public function build_signature($signature_method, $consumer, $token) {
|
476 |
+
$signature = $signature_method->build_signature($this, $consumer, $token);
|
477 |
+
return $signature;
|
478 |
+
}
|
479 |
+
|
480 |
+
/**
|
481 |
+
* util function: current timestamp
|
482 |
+
*/
|
483 |
+
private static function generate_timestamp() {
|
484 |
+
|
485 |
+
$ci = curl_init();
|
486 |
+
|
487 |
+
curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
|
488 |
+
curl_setopt($ci, CURLOPT_HEADER, TRUE);
|
489 |
+
|
490 |
+
curl_setopt($ci, CURLOPT_URL, "http://api.twitter.com/1.1/");
|
491 |
+
|
492 |
+
$response = curl_exec($ci);
|
493 |
+
|
494 |
+
$header_size = curl_getinfo($ci, CURLINFO_HEADER_SIZE);
|
495 |
+
$header = substr($response, 0, $header_size);
|
496 |
+
$headers = self::get_headers_from_curl_response($header);
|
497 |
+
$date = time();
|
498 |
+
if(isset($headers[0]['date'])){
|
499 |
+
$date = strtotime($headers[0]['date']);
|
500 |
+
}else if($headers[0]['Date']){
|
501 |
+
$date = strtotime($headers[0]['Date']);
|
502 |
+
}
|
503 |
+
return $date;
|
504 |
+
}
|
505 |
+
static function get_headers_from_curl_response($headerContent)
|
506 |
+
{
|
507 |
+
|
508 |
+
$headers = array();
|
509 |
+
|
510 |
+
// Split the string on every "double" new line.
|
511 |
+
$arrRequests = explode("\r\n\r\n", $headerContent);
|
512 |
+
|
513 |
+
// Loop of response headers. The "count() -1" is to
|
514 |
+
//avoid an empty row for the extra line break before the body of the response.
|
515 |
+
for ($index = 0; $index < count($arrRequests) -1; $index++) {
|
516 |
+
|
517 |
+
foreach (explode("\r\n", $arrRequests[$index]) as $i => $line)
|
518 |
+
{
|
519 |
+
if ($i === 0)
|
520 |
+
$headers[$index]['http_code'] = $line;
|
521 |
+
else
|
522 |
+
{
|
523 |
+
list ($key, $value) = explode(': ', $line);
|
524 |
+
$headers[$index][$key] = $value;
|
525 |
+
}
|
526 |
+
}
|
527 |
+
}
|
528 |
+
|
529 |
+
return $headers;
|
530 |
+
}
|
531 |
+
/**
|
532 |
+
* util function: current nonce
|
533 |
+
*/
|
534 |
+
public static function generate_nonce() {
|
535 |
+
$mt = microtime();
|
536 |
+
$rand = mt_rand();
|
537 |
+
|
538 |
+
return md5($mt . $rand); // md5s look nicer than numbers
|
539 |
+
}
|
540 |
+
}
|
541 |
+
}
|
542 |
+
if (!class_exists('RopOAuthServer')) {
|
543 |
+
class RopOAuthServer {
|
544 |
+
protected $timestamp_threshold = 300; // in seconds, five minutes
|
545 |
+
protected $version = '1.0'; // hi blaine
|
546 |
+
protected $signature_methods = array();
|
547 |
+
|
548 |
+
protected $data_store;
|
549 |
+
|
550 |
+
function __construct($data_store) {
|
551 |
+
$this->data_store = $data_store;
|
552 |
+
}
|
553 |
+
|
554 |
+
public function add_signature_method($signature_method) {
|
555 |
+
$this->signature_methods[$signature_method->get_name()] =
|
556 |
+
$signature_method;
|
557 |
+
}
|
558 |
+
|
559 |
+
// high level functions
|
560 |
+
|
561 |
+
/**
|
562 |
+
* process a request_token request
|
563 |
+
* returns the request token on success
|
564 |
+
*/
|
565 |
+
public function fetch_request_token(&$request) {
|
566 |
+
$this->get_version($request);
|
567 |
+
|
568 |
+
$consumer = $this->get_consumer($request);
|
569 |
+
|
570 |
+
// no token required for the initial token request
|
571 |
+
$token = NULL;
|
572 |
+
|
573 |
+
$this->check_signature($request, $consumer, $token);
|
574 |
+
|
575 |
+
// Rev A change
|
576 |
+
$callback = $request->get_parameter('oauth_callback');
|
577 |
+
$new_token = $this->data_store->new_request_token($consumer, $callback);
|
578 |
+
|
579 |
+
return $new_token;
|
580 |
+
}
|
581 |
+
|
582 |
+
/**
|
583 |
+
* process an access_token request
|
584 |
+
* returns the access token on success
|
585 |
+
*/
|
586 |
+
public function fetch_access_token(&$request) {
|
587 |
+
$this->get_version($request);
|
588 |
+
|
589 |
+
$consumer = $this->get_consumer($request);
|
590 |
+
|
591 |
+
// requires authorized request token
|
592 |
+
$token = $this->get_token($request, $consumer, "request");
|
593 |
+
|
594 |
+
$this->check_signature($request, $consumer, $token);
|
595 |
+
|
596 |
+
// Rev A change
|
597 |
+
$verifier = $request->get_parameter('oauth_verifier');
|
598 |
+
$new_token = $this->data_store->new_access_token($token, $consumer, $verifier);
|
599 |
+
|
600 |
+
return $new_token;
|
601 |
+
}
|
602 |
+
|
603 |
+
/**
|
604 |
+
* verify an api call, checks all the parameters
|
605 |
+
*/
|
606 |
+
public function verify_request(&$request) {
|
607 |
+
$this->get_version($request);
|
608 |
+
$consumer = $this->get_consumer($request);
|
609 |
+
$token = $this->get_token($request, $consumer, "access");
|
610 |
+
$this->check_signature($request, $consumer, $token);
|
611 |
+
return array($consumer, $token);
|
612 |
+
}
|
613 |
+
|
614 |
+
// Internals from here
|
615 |
+
/**
|
616 |
+
* version 1
|
617 |
+
*/
|
618 |
+
private function get_version(&$request) {
|
619 |
+
$version = $request->get_parameter("oauth_version");
|
620 |
+
if (!$version) {
|
621 |
+
// Service Providers MUST assume the protocol version to be 1.0 if this parameter is not present.
|
622 |
+
// Chapter 7.0 ("Accessing Protected Ressources")
|
623 |
+
$version = '1.0';
|
624 |
+
}
|
625 |
+
if ($version !== $this->version) {
|
626 |
+
throw new RopOAuthException("OAuth version '$version' not supported");
|
627 |
+
}
|
628 |
+
return $version;
|
629 |
+
}
|
630 |
+
|
631 |
+
/**
|
632 |
+
* figure out the signature with some defaults
|
633 |
+
*/
|
634 |
+
private function get_signature_method(&$request) {
|
635 |
+
$signature_method =
|
636 |
+
@$request->get_parameter("oauth_signature_method");
|
637 |
+
|
638 |
+
if (!$signature_method) {
|
639 |
+
// According to chapter 7 ("Accessing Protected Ressources") the signature-method
|
640 |
+
// parameter is required, and we can't just fallback to PLAINTEXT
|
641 |
+
throw new RopOAuthException('No signature method parameter. This parameter is required');
|
642 |
+
}
|
643 |
+
|
644 |
+
if (!in_array($signature_method,
|
645 |
+
array_keys($this->signature_methods))) {
|
646 |
+
throw new RopOAuthException(
|
647 |
+
"Signature method '$signature_method' not supported " .
|
648 |
+
"try one of the following: " .
|
649 |
+
implode(", ", array_keys($this->signature_methods))
|
650 |
+
);
|
651 |
+
}
|
652 |
+
return $this->signature_methods[$signature_method];
|
653 |
+
}
|
654 |
+
|
655 |
+
/**
|
656 |
+
* try to find the consumer for the provided request's consumer key
|
657 |
+
*/
|
658 |
+
private function get_consumer(&$request) {
|
659 |
+
$consumer_key = @$request->get_parameter("oauth_consumer_key");
|
660 |
+
if (!$consumer_key) {
|
661 |
+
throw new RopOAuthException("Invalid consumer key");
|
662 |
+
}
|
663 |
+
|
664 |
+
$consumer = $this->data_store->lookup_consumer($consumer_key);
|
665 |
+
if (!$consumer) {
|
666 |
+
throw new RopOAuthException("Invalid consumer");
|
667 |
+
}
|
668 |
+
|
669 |
+
return $consumer;
|
670 |
+
}
|
671 |
+
|
672 |
+
/**
|
673 |
+
* try to find the token for the provided request's token key
|
674 |
+
*/
|
675 |
+
private function get_token(&$request, $consumer, $token_type="access") {
|
676 |
+
$token_field = @$request->get_parameter('oauth_token');
|
677 |
+
$token = $this->data_store->lookup_token(
|
678 |
+
$consumer, $token_type, $token_field
|
679 |
+
);
|
680 |
+
if (!$token) {
|
681 |
+
throw new RopOAuthException("Invalid $token_type token: $token_field");
|
682 |
+
}
|
683 |
+
return $token;
|
684 |
+
}
|
685 |
+
|
686 |
+
/**
|
687 |
+
* all-in-one function to check the signature on a request
|
688 |
+
* should guess the signature method appropriately
|
689 |
+
*/
|
690 |
+
private function check_signature(&$request, $consumer, $token) {
|
691 |
+
// this should probably be in a different method
|
692 |
+
$timestamp = @$request->get_parameter('oauth_timestamp');
|
693 |
+
$nonce = @$request->get_parameter('oauth_nonce');
|
694 |
+
|
695 |
+
$this->check_timestamp($timestamp);
|
696 |
+
$this->check_nonce($consumer, $token, $nonce, $timestamp);
|
697 |
+
|
698 |
+
$signature_method = $this->get_signature_method($request);
|
699 |
+
|
700 |
+
$signature = $request->get_parameter('oauth_signature');
|
701 |
+
$valid_sig = $signature_method->check_signature(
|
702 |
+
$request,
|
703 |
+
$consumer,
|
704 |
+
$token,
|
705 |
+
$signature
|
706 |
+
);
|
707 |
+
|
708 |
+
if (!$valid_sig) {
|
709 |
+
throw new RopOAuthException("Invalid signature");
|
710 |
+
}
|
711 |
+
}
|
712 |
+
|
713 |
+
/**
|
714 |
+
* check that the timestamp is new enough
|
715 |
+
*/
|
716 |
+
private function check_timestamp($timestamp) {
|
717 |
+
if( ! $timestamp )
|
718 |
+
throw new RopOAuthException(
|
719 |
+
'Missing timestamp parameter. The parameter is required'
|
720 |
+
);
|
721 |
+
|
722 |
+
// verify that timestamp is recentish
|
723 |
+
$now = time();
|
724 |
+
if (abs($now - $timestamp) > $this->timestamp_threshold) {
|
725 |
+
throw new RopOAuthException(
|
726 |
+
"Expired timestamp, yours $timestamp, ours $now"
|
727 |
+
);
|
728 |
+
}
|
729 |
+
}
|
730 |
+
|
731 |
+
/**
|
732 |
+
* check that the nonce is not repeated
|
733 |
+
*/
|
734 |
+
private function check_nonce($consumer, $token, $nonce, $timestamp) {
|
735 |
+
if( ! $nonce )
|
736 |
+
throw new RopOAuthException(
|
737 |
+
'Missing nonce parameter. The parameter is required'
|
738 |
+
);
|
739 |
+
|
740 |
+
// verify that the nonce is uniqueish
|
741 |
+
$found = $this->data_store->lookup_nonce(
|
742 |
+
$consumer,
|
743 |
+
$token,
|
744 |
+
$nonce,
|
745 |
+
$timestamp
|
746 |
+
);
|
747 |
+
if ($found) {
|
748 |
+
throw new RopOAuthException("Nonce already used: $nonce");
|
749 |
+
}
|
750 |
+
}
|
751 |
+
|
752 |
+
}
|
753 |
+
}
|
754 |
+
if (!class_exists('RopOAuthDataStore')) {
|
755 |
+
class RopOAuthDataStore {
|
756 |
+
function lookup_consumer($consumer_key) {
|
757 |
+
// implement me
|
758 |
+
}
|
759 |
+
|
760 |
+
function lookup_token($consumer, $token_type, $token) {
|
761 |
+
// implement me
|
762 |
+
}
|
763 |
+
|
764 |
+
function lookup_nonce($consumer, $token, $nonce, $timestamp) {
|
765 |
+
// implement me
|
766 |
+
}
|
767 |
+
|
768 |
+
function new_request_token($consumer, $callback = null) {
|
769 |
+
// return a new token attached to this consumer
|
770 |
+
}
|
771 |
+
|
772 |
+
function new_access_token($token, $consumer, $verifier = null) {
|
773 |
+
// return a new access token attached to this consumer
|
774 |
+
// for the user associated with this token if the request token
|
775 |
+
// is authorized
|
776 |
+
// should also invalidate the request token
|
777 |
+
}
|
778 |
+
|
779 |
+
}
|
780 |
+
}
|
781 |
+
if (!class_exists('RopOAuthUtil')) {
|
782 |
+
class RopOAuthUtil {
|
783 |
+
public static function urlencode_rfc3986($input) {
|
784 |
+
if (is_array($input)) {
|
785 |
+
return array_map(array('RopOAuthUtil', 'urlencode_rfc3986'), $input);
|
786 |
+
} else if (is_scalar($input)) {
|
787 |
+
return str_replace(
|
788 |
+
'+',
|
789 |
+
' ',
|
790 |
+
str_replace('%7E', '~', rawurlencode($input))
|
791 |
+
);
|
792 |
+
} else {
|
793 |
+
return '';
|
794 |
+
}
|
795 |
+
}
|
796 |
+
|
797 |
+
|
798 |
+
// This decode function isn't taking into consideration the above
|
799 |
+
// modifications to the encoding process. However, this method doesn't
|
800 |
+
// seem to be used anywhere so leaving it as is.
|
801 |
+
public static function urldecode_rfc3986($string) {
|
802 |
+
return urldecode($string);
|
803 |
+
}
|
804 |
+
|
805 |
+
// Utility function for turning the Authorization: header into
|
806 |
+
// parameters, has to do some unescaping
|
807 |
+
// Can filter out any non-oauth parameters if needed (default behaviour)
|
808 |
+
public static function split_header($header, $only_allow_oauth_parameters = true) {
|
809 |
+
$pattern = '/(([-_a-z]*)=("([^"]*)"|([^,]*)),?)/';
|
810 |
+
$offset = 0;
|
811 |
+
$params = array();
|
812 |
+
while (preg_match($pattern, $header, $matches, PREG_OFFSET_CAPTURE, $offset) > 0) {
|
813 |
+
$match = $matches[0];
|
814 |
+
$header_name = $matches[2][0];
|
815 |
+
$header_content = (isset($matches[5])) ? $matches[5][0] : $matches[4][0];
|
816 |
+
if (preg_match('/^oauth_/', $header_name) || !$only_allow_oauth_parameters) {
|
817 |
+
$params[$header_name] = RopOAuthUtil::urldecode_rfc3986($header_content);
|
818 |
+
}
|
819 |
+
$offset = $match[1] + strlen($match[0]);
|
820 |
+
}
|
821 |
+
|
822 |
+
if (isset($params['realm'])) {
|
823 |
+
unset($params['realm']);
|
824 |
+
}
|
825 |
+
|
826 |
+
return $params;
|
827 |
+
}
|
828 |
+
|
829 |
+
// helper to try to sort out headers for people who aren't running apache
|
830 |
+
public static function get_headers() {
|
831 |
+
if (function_exists('apache_request_headers')) {
|
832 |
+
// we need this to get the actual Authorization: header
|
833 |
+
// because apache tends to tell us it doesn't exist
|
834 |
+
$headers = apache_request_headers();
|
835 |
+
|
836 |
+
// sanitize the output of apache_request_headers because
|
837 |
+
// we always want the keys to be Cased-Like-This and arh()
|
838 |
+
// returns the headers in the same case as they are in the
|
839 |
+
// request
|
840 |
+
$out = array();
|
841 |
+
foreach( $headers AS $key => $value ) {
|
842 |
+
$key = str_replace(
|
843 |
+
" ",
|
844 |
+
"-",
|
845 |
+
ucwords(strtolower(str_replace("-", " ", $key)))
|
846 |
+
);
|
847 |
+
$out[$key] = $value;
|
848 |
+
}
|
849 |
+
} else {
|
850 |
+
// otherwise we don't have apache and are just going to have to hope
|
851 |
+
// that $_SERVER actually contains what we need
|
852 |
+
$out = array();
|
853 |
+
if( isset($_SERVER['CONTENT_TYPE']) )
|
854 |
+
$out['Content-Type'] = $_SERVER['CONTENT_TYPE'];
|
855 |
+
if( isset($_ENV['CONTENT_TYPE']) )
|
856 |
+
$out['Content-Type'] = $_ENV['CONTENT_TYPE'];
|
857 |
+
|
858 |
+
foreach ($_SERVER as $key => $value) {
|
859 |
+
if (substr($key, 0, 5) == "HTTP_") {
|
860 |
+
// this is chaos, basically it is just there to capitalize the first
|
861 |
+
// letter of every word that is not an initial HTTP and strip HTTP
|
862 |
+
// code from przemek
|
863 |
+
$key = str_replace(
|
864 |
+
" ",
|
865 |
+
"-",
|
866 |
+
ucwords(strtolower(str_replace("_", " ", substr($key, 5))))
|
867 |
+
);
|
868 |
+
$out[$key] = $value;
|
869 |
+
}
|
870 |
+
}
|
871 |
+
}
|
872 |
+
return $out;
|
873 |
+
}
|
874 |
+
|
875 |
+
// This function takes a input like a=b&a=c&d=e and returns the parsed
|
876 |
+
// parameters like this
|
877 |
+
// array('a' => array('b','c'), 'd' => 'e')
|
878 |
+
public static function parse_parameters( $input ) {
|
879 |
+
if (!isset($input) || !$input) return array();
|
880 |
+
|
881 |
+
$pairs = explode('&', $input);
|
882 |
+
|
883 |
+
$parsed_parameters = array();
|
884 |
+
foreach ($pairs as $pair) {
|
885 |
+
$split = explode('=', $pair, 2);
|
886 |
+
$parameter = RopOAuthUtil::urldecode_rfc3986($split[0]);
|
887 |
+
$value = isset($split[1]) ? RopOAuthUtil::urldecode_rfc3986($split[1]) : '';
|
888 |
+
|
889 |
+
if (isset($parsed_parameters[$parameter])) {
|
890 |
+
// We have already recieved parameter(s) with this name, so add to the list
|
891 |
+
// of parameters with this name
|
892 |
+
|
893 |
+
if (is_scalar($parsed_parameters[$parameter])) {
|
894 |
+
// This is the first duplicate, so transform scalar (string) into an array
|
895 |
+
// so we can add the duplicates
|
896 |
+
$parsed_parameters[$parameter] = array($parsed_parameters[$parameter]);
|
897 |
+
}
|
898 |
+
|
899 |
+
$parsed_parameters[$parameter][] = $value;
|
900 |
+
} else {
|
901 |
+
$parsed_parameters[$parameter] = $value;
|
902 |
+
}
|
903 |
+
}
|
904 |
+
return $parsed_parameters;
|
905 |
+
}
|
906 |
+
|
907 |
+
public static function build_http_query($params) {
|
908 |
+
if (!$params) return '';
|
909 |
+
|
910 |
+
// Urlencode both keys and values
|
911 |
+
$keys = RopOAuthUtil::urlencode_rfc3986(array_keys($params));
|
912 |
+
$values = RopOAuthUtil::urlencode_rfc3986(array_values($params));
|
913 |
+
$params = array_combine($keys, $values);
|
914 |
+
|
915 |
+
// Parameters are sorted by name, using lexicographical byte value ordering.
|
916 |
+
// Ref: Spec: 9.1.1 (1)
|
917 |
+
uksort($params, 'strcmp');
|
918 |
+
|
919 |
+
$pairs = array();
|
920 |
+
foreach ($params as $parameter => $value) {
|
921 |
+
if (is_array($value)) {
|
922 |
+
// If two or more parameters share the same name, they are sorted by their value
|
923 |
+
// Ref: Spec: 9.1.1 (1)
|
924 |
+
natsort($value);
|
925 |
+
foreach ($value as $duplicate_value) {
|
926 |
+
$pairs[] = $parameter . '=' . $duplicate_value;
|
927 |
+
}
|
928 |
+
} else {
|
929 |
+
$pairs[] = $parameter . '=' . $value;
|
930 |
+
}
|
931 |
+
}
|
932 |
+
// For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61)
|
933 |
+
// Each name-value pair is separated by an '&' character (ASCII code 38)
|
934 |
+
return implode('&', $pairs);
|
935 |
+
}
|
936 |
+
}
|
937 |
+
}
|
inc/oAuth/twitteroauth.php
CHANGED
@@ -1,356 +1,356 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* Abraham Williams (abraham@abrah.am) http://abrah.am
|
5 |
-
*
|
6 |
-
* The first PHP Library to support OAuth for Twitter's REST API.
|
7 |
-
*/
|
8 |
-
|
9 |
-
/* Load OAuth lib. You can find it at http://oauth.net */
|
10 |
-
require_once('OAuth.php');
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Twitter OAuth class
|
14 |
-
*/
|
15 |
-
if (!class_exists('RopTwitterOAuth')) {
|
16 |
-
class RopTwitterOAuth {
|
17 |
-
/* Contains the last HTTP status code returned. */
|
18 |
-
public $http_code;
|
19 |
-
/* Contains the last API call. */
|
20 |
-
public $url;
|
21 |
-
/* Set up the API root URL. */
|
22 |
-
public $host = "https://api.twitter.com/1.1/";
|
23 |
-
/* Set timeout default. */
|
24 |
-
public $timeout = 30;
|
25 |
-
/* Set connect timeout. */
|
26 |
-
public $connecttimeout = 30;
|
27 |
-
/* Verify SSL Cert. */
|
28 |
-
public $ssl_verifypeer = FALSE;
|
29 |
-
/* Respons format. */
|
30 |
-
public $format = 'json';
|
31 |
-
/* Decode returned json data. */
|
32 |
-
public $decode_json = TRUE;
|
33 |
-
/* Contains the last HTTP headers returned. */
|
34 |
-
public $http_info;
|
35 |
-
/* Set the useragnet. */
|
36 |
-
public $useragent = 'RopTwitterOAuth v0.2.0-beta2';
|
37 |
-
/* Immediately retry the API call if the response was not successful. */
|
38 |
-
//public $retry = TRUE;
|
39 |
-
|
40 |
-
/* caching options */
|
41 |
-
/* caching responses for an hour only with GET requests */
|
42 |
-
public $cache = 0;
|
43 |
-
/* where cache files will be stored if above is set to true */
|
44 |
-
public $cacheLocation = '/tmp';
|
45 |
-
public $oauth_host = 'https://api.twitter.com/oauth/';
|
46 |
-
/**
|
47 |
-
* Set API URLS
|
48 |
-
*/
|
49 |
-
function accessTokenURL() { return $this->oauth_host.'access_token'; }
|
50 |
-
function authenticateURL() { return $this->oauth_host.'authenticate'; }
|
51 |
-
function authorizeURL() { return $this->oauth_host.'authorize'; }
|
52 |
-
function requestTokenURL() { return $this->oauth_host.'request_token'; }
|
53 |
-
|
54 |
-
/**
|
55 |
-
* Debug helpers
|
56 |
-
*/
|
57 |
-
function lastStatusCode() { return $this->http_code; }
|
58 |
-
function lastAPICall() { return $this->last_api_call; }
|
59 |
-
|
60 |
-
/**
|
61 |
-
* construct RopTwitterOAuth object
|
62 |
-
*/
|
63 |
-
function __construct($consumer_key, $consumer_secret, $oauth_token = NULL, $oauth_token_secret = NULL) {
|
64 |
-
$this->sha1_method = new RopOAuthSignatureMethod_HMAC_SHA1();
|
65 |
-
|
66 |
-
$this->consumer = new RopOAuthConsumer($consumer_key, $consumer_secret);
|
67 |
-
if (!empty($oauth_token) && !empty($oauth_token_secret)) {
|
68 |
-
$this->token = new RopOAuthConsumer($oauth_token, $oauth_token_secret);
|
69 |
-
} else {
|
70 |
-
$this->token = NULL;
|
71 |
-
}
|
72 |
-
}
|
73 |
-
|
74 |
-
|
75 |
-
/**
|
76 |
-
* Get a request_token from Twitter
|
77 |
-
*
|
78 |
-
* @returns a key/value array containing oauth_token and oauth_token_secret
|
79 |
-
*/
|
80 |
-
function getRequestToken($oauth_callback) {
|
81 |
-
$parameters = array();
|
82 |
-
$parameters['oauth_callback'] = $oauth_callback;
|
83 |
-
$request = $this->RopOAuthRequest($this->requestTokenURL(), 'GET', $parameters);
|
84 |
-
return $this->getToken($request);
|
85 |
-
}
|
86 |
-
|
87 |
-
/**
|
88 |
-
* Get the authorize URL
|
89 |
-
*
|
90 |
-
* @returns a string
|
91 |
-
*/
|
92 |
-
function getAuthorizeURL($token, $sign_in_with_twitter = TRUE) {
|
93 |
-
if (is_array($token)) {
|
94 |
-
$token = $token['oauth_token'];
|
95 |
-
}
|
96 |
-
if (empty($sign_in_with_twitter)) {
|
97 |
-
return $this->authorizeURL() . "?oauth_token={$token}";
|
98 |
-
} else {
|
99 |
-
return $this->authenticateURL() . "?oauth_token={$token}";
|
100 |
-
}
|
101 |
-
}
|
102 |
-
|
103 |
-
/**
|
104 |
-
* Exchange request token and secret for an access token and
|
105 |
-
* secret, to sign API calls.
|
106 |
-
*
|
107 |
-
* @returns array("oauth_token" => "the-access-token",
|
108 |
-
* "oauth_token_secret" => "the-access-secret",
|
109 |
-
* "user_id" => "9436992",
|
110 |
-
* "screen_name" => "abraham")
|
111 |
-
*/
|
112 |
-
function getAccessToken($oauth_verifier,$type="GET") {
|
113 |
-
$parameters = array();
|
114 |
-
$parameters['oauth_verifier'] = $oauth_verifier;
|
115 |
-
$request = $this->RopOAuthRequest($this->accessTokenURL(), $type, $parameters);
|
116 |
-
return $this->getToken($request);
|
117 |
-
}
|
118 |
-
|
119 |
-
/**
|
120 |
-
* One time exchange of username and password for access token and secret.
|
121 |
-
*
|
122 |
-
* @returns array("oauth_token" => "the-access-token",
|
123 |
-
* "oauth_token_secret" => "the-access-secret",
|
124 |
-
* "user_id" => "9436992",
|
125 |
-
* "screen_name" => "abraham",
|
126 |
-
* "x_auth_expires" => "0")
|
127 |
-
*/
|
128 |
-
function getXAuthToken($username, $password) {
|
129 |
-
$parameters = array();
|
130 |
-
$parameters['x_auth_username'] = $username;
|
131 |
-
$parameters['x_auth_password'] = $password;
|
132 |
-
$parameters['x_auth_mode'] = 'client_auth';
|
133 |
-
$request = $this->RopOAuthRequest($this->accessTokenURL(), 'POST', $parameters);
|
134 |
-
return $this->getToken($request);
|
135 |
-
}
|
136 |
-
|
137 |
-
/**
|
138 |
-
* GET wrapper for RopOAuthRequest.
|
139 |
-
*/
|
140 |
-
function get($url, $parameters = array()) {
|
141 |
-
$response = $this->RopOAuthRequest($url, 'GET', $parameters);
|
142 |
-
if ($this->format === 'json' && $this->decode_json) {
|
143 |
-
return json_decode($response);
|
144 |
-
}
|
145 |
-
return $response;
|
146 |
-
}
|
147 |
-
|
148 |
-
/**
|
149 |
-
* POST wrapper for RopOAuthRequest.
|
150 |
-
*/
|
151 |
-
function post($url, $parameters = array()) {
|
152 |
-
$response = $this->RopOAuthRequest($url, 'POST', $parameters);
|
153 |
-
if ($this->format === 'json' && $this->decode_json) {
|
154 |
-
return json_decode($response);
|
155 |
-
}
|
156 |
-
return $response;
|
157 |
-
}
|
158 |
-
|
159 |
-
/**
|
160 |
-
* Uploads are handled slightly differently
|
161 |
-
*/
|
162 |
-
function upload($url, $parameters = array()) {
|
163 |
-
$response = $this->RopOAuthRequest($url, 'POST', $parameters, true);
|
164 |
-
if ($this->format === 'json' && $this->decode_json) {
|
165 |
-
return json_decode($response);
|
166 |
-
}
|
167 |
-
return $response;
|
168 |
-
}
|
169 |
-
|
170 |
-
/**
|
171 |
-
* DELETE wrapper for oAuthReqeust.
|
172 |
-
*/
|
173 |
-
function delete($url, $parameters = array()) {
|
174 |
-
$response = $this->RopOAuthRequest($url, 'DELETE', $parameters);
|
175 |
-
if ($this->format === 'json' && $this->decode_json) {
|
176 |
-
return json_decode($response);
|
177 |
-
}
|
178 |
-
return $response;
|
179 |
-
}
|
180 |
-
|
181 |
-
/**
|
182 |
-
* Format and sign an OAuth / API request
|
183 |
-
*/
|
184 |
-
function RopOAuthRequest($url, $method, $parameters, $upload = false) {
|
185 |
-
|
186 |
-
if (strrpos($url, 'https://') !== 0 && strrpos($url, 'http://') !== 0) {
|
187 |
-
$url = "{$this->host}{$url}.{$this->format}";
|
188 |
-
}
|
189 |
-
|
190 |
-
if ($upload) {
|
191 |
-
// we only need to sign the oauth_* parameters for this, see
|
192 |
-
// https://dev.twitter.com/discussions/1059?page=4
|
193 |
-
$signable_parameters = Array();
|
194 |
-
foreach ($parameters as $k=>&$v)
|
195 |
-
if (substr($k, 0, 6) == "oauth_")
|
196 |
-
$signable_parameters[$k] = $v;
|
197 |
-
$request = RopOAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $signable_parameters);
|
198 |
-
$request->sign_request($this->sha1_method, $this->consumer, $this->token);
|
199 |
-
$request->set_parameters($parameters);
|
200 |
-
} else {
|
201 |
-
$request = RopOAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $parameters);
|
202 |
-
$request->sign_request($this->sha1_method, $this->consumer, $this->token);
|
203 |
-
}
|
204 |
-
|
205 |
-
switch ($method) {
|
206 |
-
case 'GET':
|
207 |
-
return $this->http($request->to_url(), 'GET');
|
208 |
-
default:
|
209 |
-
return $this->http($request->get_normalized_http_url(), $method, $upload ? $request->get_parameters() : $request->to_postdata(), $upload ? $request->to_header() : false);
|
210 |
-
}
|
211 |
-
}
|
212 |
-
|
213 |
-
/**
|
214 |
-
* Make an HTTP request
|
215 |
-
*
|
216 |
-
* @return API results
|
217 |
-
*/
|
218 |
-
function http($url, $method, $postfields = NULL, $authorization_header= false) {
|
219 |
-
$this->http_info = array();
|
220 |
-
|
221 |
-
$ci = curl_init();
|
222 |
-
|
223 |
-
$headers = Array('Expect:');
|
224 |
-
|
225 |
-
curl_setopt($ci, CURLOPT_USERAGENT, $this->useragent);
|
226 |
-
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $this->connecttimeout);
|
227 |
-
curl_setopt($ci, CURLOPT_TIMEOUT, $this->timeout);
|
228 |
-
curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
|
229 |
-
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, $this->ssl_verifypeer);
|
230 |
-
curl_setopt($ci, CURLOPT_HEADERFUNCTION, array($this, 'getHeader'));
|
231 |
-
curl_setopt($ci, CURLOPT_HEADER, FALSE);
|
232 |
-
|
233 |
-
switch ($method) {
|
234 |
-
case 'POST':
|
235 |
-
curl_setopt($ci, CURLOPT_POST, TRUE);
|
236 |
-
if ($authorization_header)
|
237 |
-
$headers[] = $authorization_header;
|
238 |
-
if (!empty($postfields)) {
|
239 |
-
// print_r($postfields);
|
240 |
-
curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
|
241 |
-
}
|
242 |
-
break;
|
243 |
-
case 'DELETE':
|
244 |
-
curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE');
|
245 |
-
if (!empty($postfields)) {
|
246 |
-
$url = "{$url}?{$postfields}";
|
247 |
-
}
|
248 |
-
}
|
249 |
-
// echo '<pre>';
|
250 |
-
//print_r($headers);
|
251 |
-
curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
|
252 |
-
curl_setopt($ci, CURLOPT_URL, $url);
|
253 |
-
// echo $url;
|
254 |
-
$response = curl_exec($ci);
|
255 |
-
|
256 |
-
$this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
|
257 |
-
if ( ! in_array($this->http_code,array(200,201,301))) {
|
258 |
-
CWP_TOP_Core::addNotice( "Connection error: " . htmlentities($response), 'error' );
|
259 |
-
return false;
|
260 |
-
}
|
261 |
-
$this->http_info = array_merge( $this->http_info, curl_getinfo( $ci ) );
|
262 |
-
$this->url = $url;
|
263 |
-
curl_close( $ci );
|
264 |
-
|
265 |
-
if ( $this->cache ) {
|
266 |
-
$this->cacheFile( $response, $this->cache_file_name );
|
267 |
-
}
|
268 |
-
|
269 |
-
return $response;
|
270 |
-
}
|
271 |
-
|
272 |
-
/**
|
273 |
-
* Get the header info to store.
|
274 |
-
*/
|
275 |
-
function getHeader($ch, $header) {
|
276 |
-
$i = strpos($header, ':');
|
277 |
-
if (!empty($i)) {
|
278 |
-
$key = str_replace('-', '_', strtolower(substr($header, 0, $i)));
|
279 |
-
$value = trim(substr($header, $i + 2));
|
280 |
-
$this->http_header[$key] = $value;
|
281 |
-
}
|
282 |
-
return strlen($header);
|
283 |
-
}
|
284 |
-
|
285 |
-
function checkCache($fileName, $time) {
|
286 |
-
$fileName = $this->cacheLocation.'/'.$fileName;
|
287 |
-
|
288 |
-
if (!file_exists($fileName)) {
|
289 |
-
$this->cache_debug = $fileName . 'does not exist';
|
290 |
-
return 0;
|
291 |
-
}
|
292 |
-
|
293 |
-
if (!$fileTime = filectime($fileName)) {
|
294 |
-
$this->cache_error = 'Could not check the cache time';
|
295 |
-
return 0;
|
296 |
-
}
|
297 |
-
|
298 |
-
// check if the cache is too old
|
299 |
-
if (time() - $fileTime < $time) {
|
300 |
-
$this->cache_debug = 'cache file expired';
|
301 |
-
return 1;
|
302 |
-
}
|
303 |
-
|
304 |
-
$this->cache_debug = 'cache file still valid';
|
305 |
-
return 0;
|
306 |
-
}
|
307 |
-
|
308 |
-
function cacheFile($data, $filename) {
|
309 |
-
$new_file = $this->cacheLocation.'/'.$fileName;
|
310 |
-
$fh = fopen($new_file, 'w+');
|
311 |
-
if (!$fh) {
|
312 |
-
$this->cache_error = "Could not open cache file '$filename'";
|
313 |
-
return 0;
|
314 |
-
}
|
315 |
-
if (!fwrite($fh, $data)) {
|
316 |
-
$this->cache_error = "Could not write to cache file '$filename'";
|
317 |
-
fclose($fh);
|
318 |
-
return 0;
|
319 |
-
}
|
320 |
-
fclose($fh);
|
321 |
-
chmod($new_file, 0766);
|
322 |
-
return 1;
|
323 |
-
}
|
324 |
-
|
325 |
-
function cacheRetrieve($fileName) {
|
326 |
-
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
|
327 |
-
if (!$fh = fopen($this->cacheLocation.'/'.$fileName, 'r')) {
|
328 |
-
$this->cache_error = 'Could not open cache file';
|
329 |
-
return 0;
|
330 |
-
}
|
331 |
-
error_reporting(E_ALL ^ E_NOTICE);
|
332 |
-
|
333 |
-
$xml = "";
|
334 |
-
while (!feof($fh)) {
|
335 |
-
$xml .= fread($fh, 1024);
|
336 |
-
}
|
337 |
-
fclose($fh);
|
338 |
-
|
339 |
-
return $xml;
|
340 |
-
}
|
341 |
-
|
342 |
-
/**
|
343 |
-
* Get the token from the request
|
344 |
-
*
|
345 |
-
* @return array
|
346 |
-
* @author Justin Palmer
|
347 |
-
**/
|
348 |
-
private function getToken($request)
|
349 |
-
{
|
350 |
-
$token = RopOAuthUtil::parse_parameters($request);
|
351 |
-
if(isset($token['oauth_token'], $token['oauth_token_secret']))
|
352 |
-
$this->token = new RopOAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
|
353 |
-
return $token;
|
354 |
-
}
|
355 |
-
}
|
356 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* Abraham Williams (abraham@abrah.am) http://abrah.am
|
5 |
+
*
|
6 |
+
* The first PHP Library to support OAuth for Twitter's REST API.
|
7 |
+
*/
|
8 |
+
|
9 |
+
/* Load OAuth lib. You can find it at http://oauth.net */
|
10 |
+
require_once('OAuth.php');
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Twitter OAuth class
|
14 |
+
*/
|
15 |
+
if (!class_exists('RopTwitterOAuth')) {
|
16 |
+
class RopTwitterOAuth {
|
17 |
+
/* Contains the last HTTP status code returned. */
|
18 |
+
public $http_code;
|
19 |
+
/* Contains the last API call. */
|
20 |
+
public $url;
|
21 |
+
/* Set up the API root URL. */
|
22 |
+
public $host = "https://api.twitter.com/1.1/";
|
23 |
+
/* Set timeout default. */
|
24 |
+
public $timeout = 30;
|
25 |
+
/* Set connect timeout. */
|
26 |
+
public $connecttimeout = 30;
|
27 |
+
/* Verify SSL Cert. */
|
28 |
+
public $ssl_verifypeer = FALSE;
|
29 |
+
/* Respons format. */
|
30 |
+
public $format = 'json';
|
31 |
+
/* Decode returned json data. */
|
32 |
+
public $decode_json = TRUE;
|
33 |
+
/* Contains the last HTTP headers returned. */
|
34 |
+
public $http_info;
|
35 |
+
/* Set the useragnet. */
|
36 |
+
public $useragent = 'RopTwitterOAuth v0.2.0-beta2';
|
37 |
+
/* Immediately retry the API call if the response was not successful. */
|
38 |
+
//public $retry = TRUE;
|
39 |
+
|
40 |
+
/* caching options */
|
41 |
+
/* caching responses for an hour only with GET requests */
|
42 |
+
public $cache = 0;
|
43 |
+
/* where cache files will be stored if above is set to true */
|
44 |
+
public $cacheLocation = '/tmp';
|
45 |
+
public $oauth_host = 'https://api.twitter.com/oauth/';
|
46 |
+
/**
|
47 |
+
* Set API URLS
|
48 |
+
*/
|
49 |
+
function accessTokenURL() { return $this->oauth_host.'access_token'; }
|
50 |
+
function authenticateURL() { return $this->oauth_host.'authenticate'; }
|
51 |
+
function authorizeURL() { return $this->oauth_host.'authorize'; }
|
52 |
+
function requestTokenURL() { return $this->oauth_host.'request_token'; }
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Debug helpers
|
56 |
+
*/
|
57 |
+
function lastStatusCode() { return $this->http_code; }
|
58 |
+
function lastAPICall() { return $this->last_api_call; }
|
59 |
+
|
60 |
+
/**
|
61 |
+
* construct RopTwitterOAuth object
|
62 |
+
*/
|
63 |
+
function __construct($consumer_key, $consumer_secret, $oauth_token = NULL, $oauth_token_secret = NULL) {
|
64 |
+
$this->sha1_method = new RopOAuthSignatureMethod_HMAC_SHA1();
|
65 |
+
|
66 |
+
$this->consumer = new RopOAuthConsumer($consumer_key, $consumer_secret);
|
67 |
+
if (!empty($oauth_token) && !empty($oauth_token_secret)) {
|
68 |
+
$this->token = new RopOAuthConsumer($oauth_token, $oauth_token_secret);
|
69 |
+
} else {
|
70 |
+
$this->token = NULL;
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Get a request_token from Twitter
|
77 |
+
*
|
78 |
+
* @returns a key/value array containing oauth_token and oauth_token_secret
|
79 |
+
*/
|
80 |
+
function getRequestToken($oauth_callback) {
|
81 |
+
$parameters = array();
|
82 |
+
$parameters['oauth_callback'] = $oauth_callback;
|
83 |
+
$request = $this->RopOAuthRequest($this->requestTokenURL(), 'GET', $parameters);
|
84 |
+
return $this->getToken($request);
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Get the authorize URL
|
89 |
+
*
|
90 |
+
* @returns a string
|
91 |
+
*/
|
92 |
+
function getAuthorizeURL($token, $sign_in_with_twitter = TRUE) {
|
93 |
+
if (is_array($token)) {
|
94 |
+
$token = $token['oauth_token'];
|
95 |
+
}
|
96 |
+
if (empty($sign_in_with_twitter)) {
|
97 |
+
return $this->authorizeURL() . "?oauth_token={$token}";
|
98 |
+
} else {
|
99 |
+
return $this->authenticateURL() . "?oauth_token={$token}";
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Exchange request token and secret for an access token and
|
105 |
+
* secret, to sign API calls.
|
106 |
+
*
|
107 |
+
* @returns array("oauth_token" => "the-access-token",
|
108 |
+
* "oauth_token_secret" => "the-access-secret",
|
109 |
+
* "user_id" => "9436992",
|
110 |
+
* "screen_name" => "abraham")
|
111 |
+
*/
|
112 |
+
function getAccessToken($oauth_verifier,$type="GET") {
|
113 |
+
$parameters = array();
|
114 |
+
$parameters['oauth_verifier'] = $oauth_verifier;
|
115 |
+
$request = $this->RopOAuthRequest($this->accessTokenURL(), $type, $parameters);
|
116 |
+
return $this->getToken($request);
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* One time exchange of username and password for access token and secret.
|
121 |
+
*
|
122 |
+
* @returns array("oauth_token" => "the-access-token",
|
123 |
+
* "oauth_token_secret" => "the-access-secret",
|
124 |
+
* "user_id" => "9436992",
|
125 |
+
* "screen_name" => "abraham",
|
126 |
+
* "x_auth_expires" => "0")
|
127 |
+
*/
|
128 |
+
function getXAuthToken($username, $password) {
|
129 |
+
$parameters = array();
|
130 |
+
$parameters['x_auth_username'] = $username;
|
131 |
+
$parameters['x_auth_password'] = $password;
|
132 |
+
$parameters['x_auth_mode'] = 'client_auth';
|
133 |
+
$request = $this->RopOAuthRequest($this->accessTokenURL(), 'POST', $parameters);
|
134 |
+
return $this->getToken($request);
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* GET wrapper for RopOAuthRequest.
|
139 |
+
*/
|
140 |
+
function get($url, $parameters = array()) {
|
141 |
+
$response = $this->RopOAuthRequest($url, 'GET', $parameters);
|
142 |
+
if ($this->format === 'json' && $this->decode_json) {
|
143 |
+
return json_decode($response);
|
144 |
+
}
|
145 |
+
return $response;
|
146 |
+
}
|
147 |
+
|
148 |
+
/**
|
149 |
+
* POST wrapper for RopOAuthRequest.
|
150 |
+
*/
|
151 |
+
function post($url, $parameters = array()) {
|
152 |
+
$response = $this->RopOAuthRequest($url, 'POST', $parameters);
|
153 |
+
if ($this->format === 'json' && $this->decode_json) {
|
154 |
+
return json_decode($response);
|
155 |
+
}
|
156 |
+
return $response;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Uploads are handled slightly differently
|
161 |
+
*/
|
162 |
+
function upload($url, $parameters = array()) {
|
163 |
+
$response = $this->RopOAuthRequest($url, 'POST', $parameters, true);
|
164 |
+
if ($this->format === 'json' && $this->decode_json) {
|
165 |
+
return json_decode($response);
|
166 |
+
}
|
167 |
+
return $response;
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* DELETE wrapper for oAuthReqeust.
|
172 |
+
*/
|
173 |
+
function delete($url, $parameters = array()) {
|
174 |
+
$response = $this->RopOAuthRequest($url, 'DELETE', $parameters);
|
175 |
+
if ($this->format === 'json' && $this->decode_json) {
|
176 |
+
return json_decode($response);
|
177 |
+
}
|
178 |
+
return $response;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Format and sign an OAuth / API request
|
183 |
+
*/
|
184 |
+
function RopOAuthRequest($url, $method, $parameters, $upload = false) {
|
185 |
+
|
186 |
+
if (strrpos($url, 'https://') !== 0 && strrpos($url, 'http://') !== 0) {
|
187 |
+
$url = "{$this->host}{$url}.{$this->format}";
|
188 |
+
}
|
189 |
+
|
190 |
+
if ($upload) {
|
191 |
+
// we only need to sign the oauth_* parameters for this, see
|
192 |
+
// https://dev.twitter.com/discussions/1059?page=4
|
193 |
+
$signable_parameters = Array();
|
194 |
+
foreach ($parameters as $k=>&$v)
|
195 |
+
if (substr($k, 0, 6) == "oauth_")
|
196 |
+
$signable_parameters[$k] = $v;
|
197 |
+
$request = RopOAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $signable_parameters);
|
198 |
+
$request->sign_request($this->sha1_method, $this->consumer, $this->token);
|
199 |
+
$request->set_parameters($parameters);
|
200 |
+
} else {
|
201 |
+
$request = RopOAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $parameters);
|
202 |
+
$request->sign_request($this->sha1_method, $this->consumer, $this->token);
|
203 |
+
}
|
204 |
+
|
205 |
+
switch ($method) {
|
206 |
+
case 'GET':
|
207 |
+
return $this->http($request->to_url(), 'GET');
|
208 |
+
default:
|
209 |
+
return $this->http($request->get_normalized_http_url(), $method, $upload ? $request->get_parameters() : $request->to_postdata(), $upload ? $request->to_header() : false);
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Make an HTTP request
|
215 |
+
*
|
216 |
+
* @return API results
|
217 |
+
*/
|
218 |
+
function http($url, $method, $postfields = NULL, $authorization_header= false) {
|
219 |
+
$this->http_info = array();
|
220 |
+
|
221 |
+
$ci = curl_init();
|
222 |
+
|
223 |
+
$headers = Array('Expect:');
|
224 |
+
|
225 |
+
curl_setopt($ci, CURLOPT_USERAGENT, $this->useragent);
|
226 |
+
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $this->connecttimeout);
|
227 |
+
curl_setopt($ci, CURLOPT_TIMEOUT, $this->timeout);
|
228 |
+
curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
|
229 |
+
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, $this->ssl_verifypeer);
|
230 |
+
curl_setopt($ci, CURLOPT_HEADERFUNCTION, array($this, 'getHeader'));
|
231 |
+
curl_setopt($ci, CURLOPT_HEADER, FALSE);
|
232 |
+
|
233 |
+
switch ($method) {
|
234 |
+
case 'POST':
|
235 |
+
curl_setopt($ci, CURLOPT_POST, TRUE);
|
236 |
+
if ($authorization_header)
|
237 |
+
$headers[] = $authorization_header;
|
238 |
+
if (!empty($postfields)) {
|
239 |
+
// print_r($postfields);
|
240 |
+
curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
|
241 |
+
}
|
242 |
+
break;
|
243 |
+
case 'DELETE':
|
244 |
+
curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE');
|
245 |
+
if (!empty($postfields)) {
|
246 |
+
$url = "{$url}?{$postfields}";
|
247 |
+
}
|
248 |
+
}
|
249 |
+
// echo '<pre>';
|
250 |
+
//print_r($headers);
|
251 |
+
curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
|
252 |
+
curl_setopt($ci, CURLOPT_URL, $url);
|
253 |
+
// echo $url;
|
254 |
+
$response = curl_exec($ci);
|
255 |
+
|
256 |
+
$this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
|
257 |
+
if ( ! in_array($this->http_code,array(200,201,301))) {
|
258 |
+
CWP_TOP_Core::addNotice( "Connection error: " . htmlentities($response), 'error' );
|
259 |
+
return false;
|
260 |
+
}
|
261 |
+
$this->http_info = array_merge( $this->http_info, curl_getinfo( $ci ) );
|
262 |
+
$this->url = $url;
|
263 |
+
curl_close( $ci );
|
264 |
+
|
265 |
+
if ( $this->cache ) {
|
266 |
+
$this->cacheFile( $response, $this->cache_file_name );
|
267 |
+
}
|
268 |
+
|
269 |
+
return $response;
|
270 |
+
}
|
271 |
+
|
272 |
+
/**
|
273 |
+
* Get the header info to store.
|
274 |
+
*/
|
275 |
+
function getHeader($ch, $header) {
|
276 |
+
$i = strpos($header, ':');
|
277 |
+
if (!empty($i)) {
|
278 |
+
$key = str_replace('-', '_', strtolower(substr($header, 0, $i)));
|
279 |
+
$value = trim(substr($header, $i + 2));
|
280 |
+
$this->http_header[$key] = $value;
|
281 |
+
}
|
282 |
+
return strlen($header);
|
283 |
+
}
|
284 |
+
|
285 |
+
function checkCache($fileName, $time) {
|
286 |
+
$fileName = $this->cacheLocation.'/'.$fileName;
|
287 |
+
|
288 |
+
if (!file_exists($fileName)) {
|
289 |
+
$this->cache_debug = $fileName . 'does not exist';
|
290 |
+
return 0;
|
291 |
+
}
|
292 |
+
|
293 |
+
if (!$fileTime = filectime($fileName)) {
|
294 |
+
$this->cache_error = 'Could not check the cache time';
|
295 |
+
return 0;
|
296 |
+
}
|
297 |
+
|
298 |
+
// check if the cache is too old
|
299 |
+
if (time() - $fileTime < $time) {
|
300 |
+
$this->cache_debug = 'cache file expired';
|
301 |
+
return 1;
|
302 |
+
}
|
303 |
+
|
304 |
+
$this->cache_debug = 'cache file still valid';
|
305 |
+
return 0;
|
306 |
+
}
|
307 |
+
|
308 |
+
function cacheFile($data, $filename) {
|
309 |
+
$new_file = $this->cacheLocation.'/'.$fileName;
|
310 |
+
$fh = fopen($new_file, 'w+');
|
311 |
+
if (!$fh) {
|
312 |
+
$this->cache_error = "Could not open cache file '$filename'";
|
313 |
+
return 0;
|
314 |
+
}
|
315 |
+
if (!fwrite($fh, $data)) {
|
316 |
+
$this->cache_error = "Could not write to cache file '$filename'";
|
317 |
+
fclose($fh);
|
318 |
+
return 0;
|
319 |
+
}
|
320 |
+
fclose($fh);
|
321 |
+
chmod($new_file, 0766);
|
322 |
+
return 1;
|
323 |
+
}
|
324 |
+
|
325 |
+
function cacheRetrieve($fileName) {
|
326 |
+
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
|
327 |
+
if (!$fh = fopen($this->cacheLocation.'/'.$fileName, 'r')) {
|
328 |
+
$this->cache_error = 'Could not open cache file';
|
329 |
+
return 0;
|
330 |
+
}
|
331 |
+
error_reporting(E_ALL ^ E_NOTICE);
|
332 |
+
|
333 |
+
$xml = "";
|
334 |
+
while (!feof($fh)) {
|
335 |
+
$xml .= fread($fh, 1024);
|
336 |
+
}
|
337 |
+
fclose($fh);
|
338 |
+
|
339 |
+
return $xml;
|
340 |
+
}
|
341 |
+
|
342 |
+
/**
|
343 |
+
* Get the token from the request
|
344 |
+
*
|
345 |
+
* @return array
|
346 |
+
* @author Justin Palmer
|
347 |
+
**/
|
348 |
+
private function getToken($request)
|
349 |
+
{
|
350 |
+
$token = RopOAuthUtil::parse_parameters($request);
|
351 |
+
if(isset($token['oauth_token'], $token['oauth_token_secret']))
|
352 |
+
$this->token = new RopOAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
|
353 |
+
return $token;
|
354 |
+
}
|
355 |
+
}
|
356 |
}
|
inc/view-accounts.php
CHANGED
@@ -1,39 +1,39 @@
|
|
1 |
-
<input id="cwp_top_currenturl" type="hidden" value="<?php echo CURRENTURL; ?>" data-cnetwork="<?php echo CWP_TOP_Core::getCurrentNetwork(); ?>">
|
2 |
-
<?php
|
3 |
-
$networks = $this->getAllNetworks(true);
|
4 |
-
foreach($networks as $an => $pro){
|
5 |
-
|
6 |
-
?>
|
7 |
-
|
8 |
-
<fieldset class="option <?php if($pro !== CWP_TOP_PRO): ?> pro-ver <?php endif; ?> ">
|
9 |
-
<div class="left">
|
10 |
-
<label for="<?php echo $an; ?>-login"> <?php _e(ucwords($an)." Login", 'tweet-old-post'); ?> </label>
|
11 |
-
<span class='description'> <?php _e("Login using your ".ucwords($an)." account.", 'tweet-old-post'); ?> </span>
|
12 |
-
</div><!-- end .left -->
|
13 |
-
|
14 |
-
<div class='right'>
|
15 |
-
<?php
|
16 |
-
$tw_users = 0;
|
17 |
-
if(!empty($this->users))
|
18 |
-
foreach ($this->users as $user) {
|
19 |
-
if ($user['service']==$an|| !isset($user['service'])) {
|
20 |
-
$tw_users++;
|
21 |
-
?>
|
22 |
-
<div class="user_details">
|
23 |
-
<div class='user_avatar'><img src="<?php echo $user['oauth_user_details']->profile_image_url; ?>"></div>
|
24 |
-
<div class="user_name"><?php echo $user['oauth_user_details']->name; ?></div>
|
25 |
-
<div class="remove_user"><a href='#' id='<?php echo $user['user_id']; ?>' class='logout_user'></a></div>
|
26 |
-
</div><!-- end .user_details -->
|
27 |
-
<?php } }
|
28 |
-
if ($tw_users!==0) { ?>
|
29 |
-
<button id='<?php echo $an; ?>-login' class='another-account login <?php if(! CWP_TOP_PRO) echo 'pro-only'?>' service='<?php echo $an; ?>'>+</button>
|
30 |
-
<?php } else { ?>
|
31 |
-
<button id='<?php echo $an; ?>-login' class='login <?php $this->checkVersion(); ?> <?php if($pro && !CWP_TOP_PRO) echo 'pro-only'?>' service='<?php echo $an; ?>'> <?php _e("Add Account", 'tweet-old-post') ?> </button>
|
32 |
-
<?php } ?>
|
33 |
-
</div><!-- end .right -->
|
34 |
-
</fieldset><!-- end .option -->
|
35 |
-
|
36 |
-
<?php
|
37 |
-
}
|
38 |
-
?>
|
39 |
-
|
1 |
+
<input id="cwp_top_currenturl" type="hidden" value="<?php echo CURRENTURL; ?>" data-cnetwork="<?php echo CWP_TOP_Core::getCurrentNetwork(); ?>">
|
2 |
+
<?php
|
3 |
+
$networks = $this->getAllNetworks(true);
|
4 |
+
foreach($networks as $an => $pro){
|
5 |
+
|
6 |
+
?>
|
7 |
+
|
8 |
+
<fieldset class="option <?php if($pro !== CWP_TOP_PRO): ?> pro-ver <?php endif; ?> ">
|
9 |
+
<div class="left">
|
10 |
+
<label for="<?php echo $an; ?>-login"> <?php _e(ucwords($an)." Login", 'tweet-old-post'); ?> </label>
|
11 |
+
<span class='description'> <?php _e("Login using your ".ucwords($an)." account.", 'tweet-old-post'); ?> </span>
|
12 |
+
</div><!-- end .left -->
|
13 |
+
|
14 |
+
<div class='right'>
|
15 |
+
<?php
|
16 |
+
$tw_users = 0;
|
17 |
+
if(!empty($this->users))
|
18 |
+
foreach ($this->users as $user) {
|
19 |
+
if ($user['service']==$an|| !isset($user['service'])) {
|
20 |
+
$tw_users++;
|
21 |
+
?>
|
22 |
+
<div class="user_details">
|
23 |
+
<div class='user_avatar'><img src="<?php echo $user['oauth_user_details']->profile_image_url; ?>"></div>
|
24 |
+
<div class="user_name"><?php echo $user['oauth_user_details']->name; ?></div>
|
25 |
+
<div class="remove_user"><a href='#' id='<?php echo $user['user_id']; ?>' class='logout_user'></a></div>
|
26 |
+
</div><!-- end .user_details -->
|
27 |
+
<?php } }
|
28 |
+
if ($tw_users!==0) { ?>
|
29 |
+
<button id='<?php echo $an; ?>-login' class='another-account login <?php if(! CWP_TOP_PRO) echo 'pro-only'?>' service='<?php echo $an; ?>'>+</button>
|
30 |
+
<?php } else { ?>
|
31 |
+
<button id='<?php echo $an; ?>-login' class='login <?php $this->checkVersion(); ?> <?php if($pro && !CWP_TOP_PRO) echo 'pro-only'?>' service='<?php echo $an; ?>'> <?php _e("Add Account", 'tweet-old-post') ?> </button>
|
32 |
+
<?php } ?>
|
33 |
+
</div><!-- end .right -->
|
34 |
+
</fieldset><!-- end .option -->
|
35 |
+
|
36 |
+
<?php
|
37 |
+
}
|
38 |
+
?>
|
39 |
+
|
inc/view-advancedscheduling.php
ADDED
@@ -0,0 +1,172 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$cfgnets = $this->getAllNetworks(true);
|
3 |
+
$available = $this->getAvailableNetworks();
|
4 |
+
?>
|
5 |
+
<div class="cwp_top_tabs_vertical <?php echo (count($available) > 1) ? "rop-tab-with-sidebar" : "rop-tab-full-width"; ?> ">
|
6 |
+
<?php
|
7 |
+
if( count( $available ) > 1) : ?>
|
8 |
+
<ul class="cwp_top_tabs_btns">
|
9 |
+
<?php
|
10 |
+
$first = true;
|
11 |
+
foreach($available as $network_name) : ?>
|
12 |
+
<li class="<?php if($first){ ?>active<?php } ?>"><?php echo $network_name; ?></li>
|
13 |
+
<?php $first = false; ?>
|
14 |
+
<?php endforeach; ?>
|
15 |
+
<?php if(count($available) > 1): ?>
|
16 |
+
<li><?php _e("All", "tweet-old-post"); ?></li>
|
17 |
+
<?php endif; ?>
|
18 |
+
</ul>
|
19 |
+
<?php endif; ?>
|
20 |
+
<div id="cwp_delete_thickbox" style="display: none">
|
21 |
+
<table class="cwp_delete_table">
|
22 |
+
<tr>
|
23 |
+
<th align="center"><h3><?php _e("How should the DELETE button work for you henceforth?", "tweet-old-post");?></h3></th>
|
24 |
+
</tr>
|
25 |
+
<tr>
|
26 |
+
<th>
|
27 |
+
<input type="radio" name="delete" value="1" id="rop_delete1">
|
28 |
+
<label for="delete1"><?php _e("Exclude this post from publishing only on this network", "tweet-old-post");?></label>
|
29 |
+
</th>
|
30 |
+
</tr>
|
31 |
+
<?php if(count($available) > 1){ ?>
|
32 |
+
<tr>
|
33 |
+
<th>
|
34 |
+
<input type="radio" name="delete" value="0" id="rop_delete0">
|
35 |
+
<label for="delete0"><?php _e("Exclude this post from publishing on all networks", "tweet-old-post");?></label>
|
36 |
+
</th>
|
37 |
+
</tr>
|
38 |
+
<?php } ?>
|
39 |
+
<tr>
|
40 |
+
<th>
|
41 |
+
<input type="radio" name="delete" value="2" id="rop_delete2">
|
42 |
+
<label for="delete2"><?php _e("Just remove the post from schedule now", "tweet-old-post");?></label>
|
43 |
+
</th>
|
44 |
+
</tr>
|
45 |
+
</table>
|
46 |
+
|
47 |
+
<input type="hidden" id="rop-delete-type" value="<?php echo get_option("cwp_top_delete_type", -1);?>">
|
48 |
+
</div>
|
49 |
+
|
50 |
+
<?php
|
51 |
+
$networks = array();
|
52 |
+
$collect = array();
|
53 |
+
$first = true;
|
54 |
+
foreach($available as $network_name) {
|
55 |
+
$networks[] = $network_name;
|
56 |
+
}
|
57 |
+
$networks[] = null;
|
58 |
+
|
59 |
+
$count = 20;
|
60 |
+
if(apply_filters('rop_is_business_user', false)){
|
61 |
+
$count = 100;
|
62 |
+
}
|
63 |
+
|
64 |
+
foreach($networks as $network){
|
65 |
+
$all = null;
|
66 |
+
if(get_option("cwp_topnew_active_status", 'false') === 'true'){
|
67 |
+
$all = array();
|
68 |
+
if($network){
|
69 |
+
$posts = CWP_TOP_Core::getTweetsFromDB($network, false, $count);
|
70 |
+
foreach($posts as $post){
|
71 |
+
$all[] = array("post" => $post, "network" => $network);
|
72 |
+
}
|
73 |
+
}else{
|
74 |
+
$all = CWP_TOP_Core::sortPosts($collect);
|
75 |
+
}
|
76 |
+
}
|
77 |
+
?>
|
78 |
+
|
79 |
+
<div class="tab-vertical <?php if($first){ ?> active <?php } ?>">
|
80 |
+
<?php if(!apply_filters('rop_is_business_user', false)): ?>
|
81 |
+
<div class="rop-features-available"><p><span>Editing features are available on the <a href="<?php echo ROP_PRO_URL; ?>" target="_blank"><strong>Business version</strong></a></span></p></div>
|
82 |
+
<?php endif; ?>
|
83 |
+
<?php
|
84 |
+
if(is_null($all)){
|
85 |
+
echo '<div class="rop-box-with-padding rop-message-tab">';
|
86 |
+
_e("Please start the plugin to view the future shares", "tweet-old-post");
|
87 |
+
echo '</div>';
|
88 |
+
echo "</div>";
|
89 |
+
$first = false;
|
90 |
+
continue;
|
91 |
+
}
|
92 |
+
if(count($all) == 0){
|
93 |
+
echo '<div class="rop-box-with-padding rop-message-tab">';
|
94 |
+
_e('There is no suitable post to tweet make sure you excluded correct categories and selected the right dates.','tweet-old-post');
|
95 |
+
echo '</div>';
|
96 |
+
echo "</div>";
|
97 |
+
$first = false;
|
98 |
+
continue;
|
99 |
+
}
|
100 |
+
|
101 |
+
$time = null;
|
102 |
+
$prevDate = "";
|
103 |
+
foreach ($all as $array){
|
104 |
+
$post = $array["post"];
|
105 |
+
$network_name = $array["network"];
|
106 |
+
$finalTweet = CWP_TOP_Core::generateTweetFromPost($post, $network_name, true);
|
107 |
+
$time = CWP_TOP_Core::getFutureTime($network_name, $time, $array);
|
108 |
+
$image = CWP_TOP_Core::getImageForPost($network_name, $post->ID);
|
109 |
+
if($network){
|
110 |
+
$collect[] = array("post" => $post, "network" => $network_name, "time" => $time);
|
111 |
+
}
|
112 |
+
|
113 |
+
$tweetTime = date("g:i:s A", $time);
|
114 |
+
$tweetDate = date("j M Y", $time);
|
115 |
+
|
116 |
+
$data_postID = $post->ID . $network_name;
|
117 |
+
|
118 |
+
if($tweetDate != $prevDate){
|
119 |
+
if($prevDate != ""){
|
120 |
+
?>
|
121 |
+
</div>
|
122 |
+
<?php
|
123 |
+
}
|
124 |
+
?>
|
125 |
+
<div class="rop_date_container">
|
126 |
+
<div class="rop_tweet_date"><?php echo $tweetDate;?></div>
|
127 |
+
<?php
|
128 |
+
}
|
129 |
+
?>
|
130 |
+
<fieldset class="option twp<?php echo $key; ?> cwp_restrict_image rop-post-<?php echo $network_name; ?>">
|
131 |
+
<div class="rop_left">
|
132 |
+
<div class="cwp_post_image" data-post-id="<?php echo $post->ID;?>" data-network="<?php echo $network_name;?>">
|
133 |
+
<?php echo $image;?>
|
134 |
+
</div>
|
135 |
+
</div><!-- end .left -->
|
136 |
+
<div class="rop_right <?php echo !$image ? "cwp_extend_post" : ""?>">
|
137 |
+
<div class="cwp_post_message">
|
138 |
+
<span data-post="<?php echo $data_postID;?>" class="cwp-quick-edit-span">
|
139 |
+
<?php echo $finalTweet['message'];?>
|
140 |
+
</span>
|
141 |
+
<textarea data-post="<?php echo $data_postID;?>" data-network="<?php echo $network_name;?>" class="cwp-quick-edit-text" style="display: none" rows="3"><?php echo $finalTweet['message'];?></textarea>
|
142 |
+
</div>
|
143 |
+
<div class="cwp_quick_edit clearfix">
|
144 |
+
<div class="cwp_quick_edit_actions">
|
145 |
+
<span class="cwp_quick_edit_actions_after" style="display: none" data-post="<?php echo $data_postID;?>">
|
146 |
+
<?php submit_button(__("Save", "tweet-old-post"), "primary", "cwp-quick-save-button-" . $data_postID, false, array("data-post" => $data_postID, "data-post-id" => $post->ID));?>
|
147 |
+
<?php submit_button(__("Cancel", "tweet-old-post"), "secondary", "cwp-quick-cancel-button-" . $data_postID, false, array("data-post" => $data_postID));?>
|
148 |
+
</span>
|
149 |
+
<span class="cwp_quick_edit_actions_before" data-post="<?php echo $data_postID;?>">
|
150 |
+
<a href="#" class="cwp-quick-edit" data-post="<?php echo $data_postID;?>"><?php _e("Edit", "tweet-old-post");?></a>
|
151 |
+
<a href="#" class="cwp-quick-delete" data-post="<?php echo $data_postID;?>" data-post-id="<?php echo $post->ID;?>" data-network="<?php echo $network_name;?>"><?php _e("Delete", "tweet-old-post");?></a>
|
152 |
+
<a href="#TB_inline?width=400&height=150&inlineId=cwp_delete_thickbox" id="thickbox-<?php echo $data_postID;?>" class="thickbox"></a>
|
153 |
+
</span>
|
154 |
+
</div>
|
155 |
+
<div class="cwp_post_time">
|
156 |
+
<?php echo $tweetTime;?>
|
157 |
+
</div>
|
158 |
+
</div>
|
159 |
+
</div><!-- end .right -->
|
160 |
+
</fieldset><!-- end .option -->
|
161 |
+
<?php
|
162 |
+
$prevDate = $tweetDate;
|
163 |
+
}
|
164 |
+
?>
|
165 |
+
</div>
|
166 |
+
</div>
|
167 |
+
<?php
|
168 |
+
$first = false;
|
169 |
+
}
|
170 |
+
?>
|
171 |
+
|
172 |
+
</div>
|
inc/view-exclude.php
CHANGED
@@ -1,25 +1,25 @@
|
|
1 |
-
<?php $twp_obj = new CWP_TOP_Core; ?>
|
2 |
-
<div class="cwp_top_wrapper_full cwp_top_wrapper">
|
3 |
-
<div class="announcement clearfix">
|
4 |
-
<h2><?php _e("After 6 months of hard work, we have just released", 'tweet-old-post'); ?> <b>ThemeIsle</b>, <?php _e("the island of WordPress themes.", 'tweet-old-post'); ?></h2>
|
5 |
-
<a class="show-me" href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top"><?php _e("Show Me", 'tweet-old-post'); ?></a>
|
6 |
-
</div><!-- end .announcement -->
|
7 |
-
|
8 |
-
<header id="cwp_top_header" class='clearfix'>
|
9 |
-
<h1 class="top-logo" style="float:left">
|
10 |
-
<?php if (CWP_TOP_PRO) {
|
11 |
-
echo "Revive Old Post PRO";
|
12 |
-
} else echo "Revive Old Post"; ?>
|
13 |
-
|
14 |
-
</h1>
|
15 |
-
<span class="slogan"><?php _e("by", 'tweet-old-post'); ?> <a href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top">ThemeIsle</a></span>
|
16 |
-
|
17 |
-
<div class="cwp_top_actions">
|
18 |
-
<a href="https://twitter.com/intent/tweet?text=Check-out%20this%20awesome%20plugin%20-%20&url=http%3A%2F%2Fthemeisle.com%2Fplugins%2Ftweet-old-post-lite%2F&via=themeisle" class="tweet-about-it"><span></span> <?php _e("Show your love", 'tweet-old-post'); ?></a>
|
19 |
-
<a target="_blank" href="http://wordpress.org/support/view/plugin-reviews/tweet-old-post#postform" class="leave-a-review"><span></span> <?php _e("Leave A Review", 'tweet-old-post'); ?></a>
|
20 |
-
</div><!-- end .cwp_top_actions -->
|
21 |
-
</header><!-- end .cwp_top_header -->
|
22 |
-
|
23 |
-
<section class="cwp_top_container clearfix">
|
24 |
-
|
25 |
-
|
1 |
+
<?php $twp_obj = new CWP_TOP_Core; ?>
|
2 |
+
<div class="cwp_top_wrapper_full cwp_top_wrapper">
|
3 |
+
<div class="announcement clearfix">
|
4 |
+
<h2><?php _e("After 6 months of hard work, we have just released", 'tweet-old-post'); ?> <b>ThemeIsle</b>, <?php _e("the island of WordPress themes.", 'tweet-old-post'); ?></h2>
|
5 |
+
<a class="show-me" href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top"><?php _e("Show Me", 'tweet-old-post'); ?></a>
|
6 |
+
</div><!-- end .announcement -->
|
7 |
+
|
8 |
+
<header id="cwp_top_header" class='clearfix'>
|
9 |
+
<h1 class="top-logo" style="float:left">
|
10 |
+
<?php if (CWP_TOP_PRO) {
|
11 |
+
echo "Revive Old Post PRO";
|
12 |
+
} else echo "Revive Old Post"; ?>
|
13 |
+
|
14 |
+
</h1>
|
15 |
+
<span class="slogan"><?php _e("by", 'tweet-old-post'); ?> <a href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top">ThemeIsle</a></span>
|
16 |
+
|
17 |
+
<div class="cwp_top_actions">
|
18 |
+
<a href="https://twitter.com/intent/tweet?text=Check-out%20this%20awesome%20plugin%20-%20&url=http%3A%2F%2Fthemeisle.com%2Fplugins%2Ftweet-old-post-lite%2F&via=themeisle" class="tweet-about-it"><span></span> <?php _e("Show your love", 'tweet-old-post'); ?></a>
|
19 |
+
<a target="_blank" href="http://wordpress.org/support/view/plugin-reviews/tweet-old-post#postform" class="leave-a-review"><span></span> <?php _e("Leave A Review", 'tweet-old-post'); ?></a>
|
20 |
+
</div><!-- end .cwp_top_actions -->
|
21 |
+
</header><!-- end .cwp_top_header -->
|
22 |
+
|
23 |
+
<section class="cwp_top_container clearfix">
|
24 |
+
|
25 |
+
|
inc/view-postformat.php
CHANGED
@@ -1,45 +1,43 @@
|
|
1 |
-
<?php
|
2 |
-
global $cwp_global_schedule;
|
3 |
-
$cfgnets = $this->getAllNetworks(true);
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
$field['
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
<?php
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
</div>
|
1 |
+
<?php
|
2 |
+
global $cwp_global_schedule;
|
3 |
+
$cfgnets = $this->getAllNetworks(true);
|
4 |
+
$networks = $this->getAvailableNetworks();
|
5 |
+
?><div class="cwp_top_tabs_vertical <?php echo (count($networks) > 1) ? "rop-tab-with-sidebar" : "rop-tab-full-width"; ?>" >
|
6 |
+
<?php if(count($networks) > 1): ?>
|
7 |
+
<ul class="cwp_top_tabs_btns">
|
8 |
+
<?php $first = true; ?>
|
9 |
+
<?php foreach($networks as $network_name) : ?>
|
10 |
+
<li class="<?php if($first): ?>active<?php endif; ?>"><?php echo $network_name; ?></li>
|
11 |
+
<?php $first = false; ?>
|
12 |
+
<?php endforeach;?>
|
13 |
+
</ul>
|
14 |
+
<?php endif; ?>
|
15 |
+
<?php $first = true; foreach($format_fields as $network_name=>$network_details) { ?>
|
16 |
+
|
17 |
+
<div class="tab-vertical <?php if($first){ ?> active <?php } ?>">
|
18 |
+
|
19 |
+
<?php foreach ($network_details as $key=>$field) {
|
20 |
+
$field['option'] = $network_name."_".$field['option'];
|
21 |
+
?>
|
22 |
+
<fieldset class="option twp<?php echo $key; ?>" <?php if(isset($field['dependency'])) { ?> data-dependent='<?php echo json_encode($field['dependency']); ?>' <?php } ?>>
|
23 |
+
<div class="left">
|
24 |
+
<label for="<?php echo $field['option']; ?>"> <?php _e( $field['name'], 'tweet-old-post' ); ?> </label>
|
25 |
+
<span class="description"> <?php _e( $field['description'], 'tweet-old-post' ); ?> <?php if($field['type'] == 'number'):
|
26 |
+
?>(<?php _e("Max",'tweet-old-post'); ?>: <?php echo $field['max-length']; ?>)<?php
|
27 |
+
endif;?> </span>
|
28 |
+
|
29 |
+
<?php if($field['type'] == 'categories-list') { ?>
|
30 |
+
<button class='select-all'><?php _e( "Select All", 'tweet-old-post' );?></button>
|
31 |
+
<?php } ?>
|
32 |
+
|
33 |
+
</div><!-- end .left -->
|
34 |
+
<div class="right">
|
35 |
+
<?php CWP_TOP_Core::generateFieldType( $field ); ?>
|
36 |
+
</div><!-- end .right -->
|
37 |
+
</fieldset><!-- end .option -->
|
38 |
+
<?php } ?>
|
39 |
+
</div>
|
40 |
+
<?php $first = false; } ?>
|
41 |
+
|
42 |
+
|
|
|
|
|
43 |
</div>
|
inc/view-postschedule.php
CHANGED
@@ -1,85 +1,91 @@
|
|
1 |
-
<?php
|
2 |
-
global $cwp_top_global_schedule;
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
<?php $first =
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
<?php
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
'
|
39 |
-
'
|
40 |
-
'
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
<li class="
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
global $cwp_top_global_schedule;
|
3 |
+
$networks = $this->getAvailableNetworks();
|
4 |
+
?>
|
5 |
+
<div class="cwp_top_tabs_vertical <?php echo (count($networks) > 1) ? "rop-tab-with-sidebar" : "rop-tab-full-width"; ?> ">
|
6 |
+
<?php if(count($networks) > 1) : ?>
|
7 |
+
<ul class="cwp_top_tabs_btns">
|
8 |
+
<?php $first = true; ?>
|
9 |
+
<?php foreach($networks as $network_name ) : ?>
|
10 |
+
<li class="<?php if($first): ?>active<?php endif; ?>">
|
11 |
+
<?php echo $network_name; ?>
|
12 |
+
</li>
|
13 |
+
<?php $first = false; ?>
|
14 |
+
<?php endforeach; ?>
|
15 |
+
</ul>
|
16 |
+
<?php endif; ?>
|
17 |
+
|
18 |
+
<?php $first = true; foreach($all_networks as $network_name ) { ?>
|
19 |
+
|
20 |
+
<div class="tab-vertical <?php if($first){ ?> active <?php } ?>" data-network="<?php echo $network_name; ?>">
|
21 |
+
<input type="hidden" value="<?php echo @$cwp_top_global_schedule[$network_name.'_schedule_type_selected'];?>" id="<?php echo $network_name.'_schedule_type_selected' ?>" name="<?php echo $network_name.'_schedule_type_selected' ?>" />
|
22 |
+
<input type="hidden" value="<?php echo isset($cwp_top_global_schedule[$network_name.'_top_opt_interval']['days']) ? $cwp_top_global_schedule[$network_name.'_top_opt_interval']['days'] : '1,2,3,4,5,6,7'; ?>" id="<?php echo $network_name.'_top_schedule_days' ?>" name="<?php echo $network_name.'_top_schedule_days'; ?>" />
|
23 |
+
<div class="cwp-according-item cwp-populate-hidden-radio <?php if( $cwp_top_global_schedule[$network_name.'_schedule_type_selected'] == 'each'): ?> active <?php endif; ?>" data-hidden="<?php echo $network_name.'_schedule_type_selected' ?>" data-value="each" >
|
24 |
+
<div class="cwp-according-header cwp-populate-hidden-radio" data-hidden="<?php echo $network_name.'_schedule_type_selected' ?>" data-value="each">
|
25 |
+
<span> <?php _e("Each x hours", 'tweet-old-post'); ?></span>
|
26 |
+
</div>
|
27 |
+
<div class="cwp-according-body">
|
28 |
+
<fieldset class="option twpinterval" >
|
29 |
+
<div class="left">
|
30 |
+
<label for="<?php echo $network_name;?>_top_opt_interval"> <?php _e( "Interval", 'tweet-old-post' ); ?> </label>
|
31 |
+
<span class="description"> <?php _e('Minimum time between shares (Hour/Hours), 0.4 can be used also.', 'tweet-old-post')?> </span>
|
32 |
+
|
33 |
+
</div><!-- end .left -->
|
34 |
+
<div class="right">
|
35 |
+
|
36 |
+
<?php CWP_TOP_Core::generateFieldType(array(
|
37 |
+
'id' => '14',
|
38 |
+
'name' => __('Minimum interval between shares', 'tweet-old-post'),
|
39 |
+
'type' => 'text',
|
40 |
+
'slug' => 'interval',
|
41 |
+
'option_value' =>($cwp_top_global_schedule[$network_name.'_schedule_type_selected'] == 'each') ? $cwp_top_global_schedule[$network_name.'_top_opt_interval'] : '8',
|
42 |
+
"available_business" => "yes",
|
43 |
+
"pro_text" =>CWP_TOP_PRO_BUSINESS_STRING,
|
44 |
+
'option' => $network_name.'_top_opt_interval',
|
45 |
+
'description' => __('Minimum time between shares (Hour/Hours), 0.4 can be used also.', 'tweet-old-post'),
|
46 |
+
'options' => array()
|
47 |
+
)); ?>
|
48 |
+
</div><!-- end .right -->
|
49 |
+
</fieldset><!-- end .option -->
|
50 |
+
|
51 |
+
</div>
|
52 |
+
|
53 |
+
</div>
|
54 |
+
<div class="cwp-according-item <?php if( $cwp_top_global_schedule[$network_name.'_schedule_type_selected'] == 'custom'): ?> active <?php endif; ?>" >
|
55 |
+
<div class="cwp-according-header cwp-populate-hidden-radio" data-hidden="<?php echo $network_name.'_schedule_type_selected' ?>" data-value="custom">
|
56 |
+
|
57 |
+
<span><?php _e("Custom Schedule", 'tweet-old-post'); ?></span>
|
58 |
+
</div>
|
59 |
+
<div class="cwp-according-body">
|
60 |
+
<div class="cwp-custom-schedule-days">
|
61 |
+
|
62 |
+
<ul class="cwp-schedule-days clearfix cwp-populate-hidden-checkbox-group" data-hidden="<?php echo $network_name.'_top_schedule_days' ?>" >
|
63 |
+
<li class=" cwp-populate-hidden-checkbox" data-value="1"><?php _e("Monday", 'tweet-old-post'); ?></li>
|
64 |
+
<li class=" cwp-populate-hidden-checkbox" data-value="2"><?php _e("Tuesday", 'tweet-old-post'); ?></li>
|
65 |
+
<li class=" cwp-populate-hidden-checkbox" data-value="3"><?php _e("Wednesday", 'tweet-old-post'); ?></li>
|
66 |
+
<li class=" cwp-populate-hidden-checkbox" data-value="4"><?php _e("Thursday", 'tweet-old-post'); ?></li>
|
67 |
+
<li class=" cwp-populate-hidden-checkbox" data-value="5"><?php _e("Friday", 'tweet-old-post'); ?></li>
|
68 |
+
<li class=" cwp-populate-hidden-checkbox" data-value="6"><?php _e("Saturday", 'tweet-old-post'); ?></li>
|
69 |
+
<li class=" cwp-populate-hidden-checkbox" data-value="7"><?php _e("Sunday", 'tweet-old-post'); ?></li>
|
70 |
+
</ul>
|
71 |
+
<p class="cwp-posts-time-info"><?php _e("Posts this "); ?><b class="cwp-posts-time-info-times"></b> <?php _e(" times every"); ?> <b class="cwp-posts-time-info-days"></b></p>
|
72 |
+
<ul class="cwp-posting-times" data-times='<?php echo isset($cwp_top_global_schedule[$network_name.'_top_opt_interval']['times']) ? json_encode($cwp_top_global_schedule[$network_name.'_top_opt_interval']['times']) : "[]";?>'>
|
73 |
+
|
74 |
+
|
75 |
+
</ul>
|
76 |
+
<P><A href="#" class="cwp-btn cwp-primary cwp-add-posting-time"><?php _e("Add posting time",'tweet-old-post'); ?></a></P>
|
77 |
+
</div>
|
78 |
+
<?php
|
79 |
+
if(!apply_filters("rop_is_business_user",false)){
|
80 |
+
_e(CWP_TOP_PRO_BUSINESS_STRING,'tweet-old-post');
|
81 |
+
}
|
82 |
+
?>
|
83 |
+
</div>
|
84 |
+
|
85 |
+
</div>
|
86 |
+
</div>
|
87 |
+
<?php $first = false; } ?>
|
88 |
+
|
89 |
+
|
90 |
+
</div>
|
91 |
+
|
inc/view.php
CHANGED
@@ -1,382 +1,388 @@
|
|
1 |
-
<?php
|
2 |
-
$remote_check = $this->getRemoteCheck();
|
3 |
-
$beta_user = $this->getBetaUserStatus();
|
4 |
-
?>
|
5 |
-
<script type="text/javascript">
|
6 |
-
var ropProAvailable = <?php
|
7 |
-
echo (CWP_TOP_PRO) ? 'true' : 'false';
|
8 |
-
?>;
|
9 |
-
var cwpfbadd = <?php echo isset($_GET["fbadd"]) ? "true" : "false"; ?>;
|
10 |
-
|
11 |
-
</script>
|
12 |
-
<div class="cwp_top_wrapper">
|
13 |
-
<!--<div class="announcement clearfix">
|
14 |
-
<h2><?php _e("After 6 months of hard work, we have just released", 'tweet-old-post'); ?> <b>ThemeIsle</b>, <?php _e("the island of WordPress themes.", 'tweet-old-post'); ?></h2>
|
15 |
-
<a class="show-me" href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top"><?php _e("Show Me", 'tweet-old-post'); ?></a>
|
16 |
-
</div> end .announcement -->
|
17 |
-
|
18 |
-
<header id="cwp_top_header" class='clearfix'>
|
19 |
-
<h1 class="top_logo">
|
20 |
-
<?php if (CWP_TOP_PRO) {
|
21 |
-
echo "Revive Old Post PRO";
|
22 |
-
} else echo "Revive Old Post"; ?>
|
23 |
-
|
24 |
-
</h1>
|
25 |
-
<span class="slogan"><?php _e("by", 'tweet-old-post'); ?> <a href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top">ThemeIsle</a></span>
|
26 |
-
|
27 |
-
<div class="cwp_top_actions">
|
28 |
-
|
29 |
-
<a href="https://twitter.com/intent/tweet?text=Check-out%20this%20awesome%20plugin%20-%20&url=http%3A%2F%2Fthemeisle.com%2Fplugins%2Ftweet-old-post-lite%2F&via=themeisle" class="tweet-about-it"><span></span> <?php _e("Show your love", 'tweet-old-post'); ?></a>
|
30 |
-
<a target="_blank" href="http://wordpress.org/support/view/plugin-reviews/tweet-old-post#postform" class="leave-a-review"><span></span> <?php _e("Leave A Review", 'tweet-old-post'); ?></a>
|
31 |
-
</div><!-- end .cwp_top_actions -->
|
32 |
-
</header><!-- end .cwp_top_header -->
|
33 |
-
|
34 |
-
<section class="cwp_top_container clearfix">
|
35 |
-
|
36 |
-
|
37 |
-
<div class="cwp_top_status">
|
38 |
-
|
39 |
-
<?php if($this->pluginStatus != 'true') { ?>
|
40 |
-
<p class='inactive'>
|
41 |
-
<?php _e("Revive Old Post is not set to post!", 'tweet-old-post'); ?>
|
42 |
-
</p>
|
43 |
-
<?php } ?>
|
44 |
-
<p class='inactive cwp-error-label inactive-rop-error-label'>
|
45 |
-
|
46 |
-
<?php
|
47 |
-
_e("Here you can see errors and notifications if they exist.", 'tweet-old-post');
|
48 |
-
|
49 |
-
?>
|
50 |
-
</p>
|
51 |
-
<p class='active-rop-error-label cwp-error-label'>
|
52 |
-
|
53 |
-
</p>
|
54 |
-
|
55 |
-
</div><!-- end .cwp_top_status -->
|
56 |
-
<div id="cwp-top-container-form" class="clearfix">
|
57 |
-
<div id="cwp_top_tabs" class="clearfix">
|
58 |
-
<ul id="tabs_menu">
|
59 |
-
<li class="active" > <?php _e('Accounts','tweet-old-post'); ?> </li>
|
60 |
-
<li > <?php _e('General settings','tweet-old-post'); ?> </li>
|
61 |
-
<li ><?php _e('Post Format','tweet-old-post'); ?></li>
|
62 |
-
<li <?php if(!CWP_TOP_PRO): ?> class="pro-version" <?php endif; ?>><?php _e('Custom Schedule','tweet-old-post');
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
<?php
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
</div><!-- end .
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
<
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
<h2><?php _e('Sample Post Preview','tweet-old-post');?>
|
163 |
-
<span class="sample_tweet
|
164 |
-
<h2><?php _e('Sample Post Preview','tweet-old-post');?>
|
165 |
-
<span class="sample_tweet
|
166 |
-
<
|
167 |
-
<
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
<
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
<
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
<li><?php _e('Go on
|
192 |
-
<li><?php _e('
|
193 |
-
|
194 |
-
<
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
<
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
<div class="
|
205 |
-
<
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
<div class="
|
211 |
-
<
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
<li><?php _e('
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
<
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
<div class="
|
259 |
-
<
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
<div class="
|
265 |
-
<
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
<div class="
|
271 |
-
<
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
<
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
<div class="
|
304 |
-
<
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
<div class="
|
310 |
-
<
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
<div class="
|
316 |
-
<
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
<li><?php _e('
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
<
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
<div class="
|
349 |
-
<
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
<div class="
|
355 |
-
<
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
<div class="
|
361 |
-
<
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
<
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
<div class="
|
372 |
-
<
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$remote_check = $this->getRemoteCheck();
|
3 |
+
$beta_user = $this->getBetaUserStatus();
|
4 |
+
?>
|
5 |
+
<script type="text/javascript">
|
6 |
+
var ropProAvailable = <?php
|
7 |
+
echo (CWP_TOP_PRO) ? 'true' : 'false';
|
8 |
+
?>;
|
9 |
+
var cwpfbadd = <?php echo isset($_GET["fbadd"]) ? "true" : "false"; ?>;
|
10 |
+
|
11 |
+
</script>
|
12 |
+
<div class="cwp_top_wrapper">
|
13 |
+
<!--<div class="announcement clearfix">
|
14 |
+
<h2><?php _e("After 6 months of hard work, we have just released", 'tweet-old-post'); ?> <b>ThemeIsle</b>, <?php _e("the island of WordPress themes.", 'tweet-old-post'); ?></h2>
|
15 |
+
<a class="show-me" href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top"><?php _e("Show Me", 'tweet-old-post'); ?></a>
|
16 |
+
</div> end .announcement -->
|
17 |
+
|
18 |
+
<header id="cwp_top_header" class='clearfix'>
|
19 |
+
<h1 class="top_logo">
|
20 |
+
<?php if (CWP_TOP_PRO) {
|
21 |
+
echo "Revive Old Post PRO";
|
22 |
+
} else echo "Revive Old Post"; ?>
|
23 |
+
|
24 |
+
</h1>
|
25 |
+
<span class="slogan"><?php _e("by", 'tweet-old-post'); ?> <a href="https://themeisle.com/?utm_source=topadmin&utm_medium=announce&utm_campaign=top">ThemeIsle</a></span>
|
26 |
+
|
27 |
+
<div class="cwp_top_actions">
|
28 |
+
|
29 |
+
<a href="https://twitter.com/intent/tweet?text=Check-out%20this%20awesome%20plugin%20-%20&url=http%3A%2F%2Fthemeisle.com%2Fplugins%2Ftweet-old-post-lite%2F&via=themeisle" class="tweet-about-it"><span></span> <?php _e("Show your love", 'tweet-old-post'); ?></a>
|
30 |
+
<a target="_blank" href="http://wordpress.org/support/view/plugin-reviews/tweet-old-post#postform" class="leave-a-review"><span></span> <?php _e("Leave A Review", 'tweet-old-post'); ?></a>
|
31 |
+
</div><!-- end .cwp_top_actions -->
|
32 |
+
</header><!-- end .cwp_top_header -->
|
33 |
+
|
34 |
+
<section class="cwp_top_container clearfix">
|
35 |
+
|
36 |
+
|
37 |
+
<div class="cwp_top_status">
|
38 |
+
|
39 |
+
<?php if($this->pluginStatus != 'true') { ?>
|
40 |
+
<p class='inactive'>
|
41 |
+
<?php _e("Revive Old Post is not set to post!", 'tweet-old-post'); ?>
|
42 |
+
</p>
|
43 |
+
<?php } ?>
|
44 |
+
<p class='inactive cwp-error-label inactive-rop-error-label'>
|
45 |
+
|
46 |
+
<?php
|
47 |
+
_e("Here you can see errors and notifications if they exist.", 'tweet-old-post');
|
48 |
+
|
49 |
+
?>
|
50 |
+
</p>
|
51 |
+
<p class='active-rop-error-label cwp-error-label'>
|
52 |
+
|
53 |
+
</p>
|
54 |
+
|
55 |
+
</div><!-- end .cwp_top_status -->
|
56 |
+
<div id="cwp-top-container-form" class="clearfix">
|
57 |
+
<div id="cwp_top_tabs" class="clearfix">
|
58 |
+
<ul id="tabs_menu">
|
59 |
+
<li class="active" > <?php _e('Accounts','tweet-old-post'); ?> </li>
|
60 |
+
<li > <?php _e('General settings','tweet-old-post'); ?> </li>
|
61 |
+
<li ><?php _e('Post Format','tweet-old-post'); ?></li>
|
62 |
+
<li <?php if(!CWP_TOP_PRO): ?> class="pro-version" <?php endif; ?>><?php _e('Custom Schedule','tweet-old-post'); ?> </li>
|
63 |
+
<?php // Added by Ash/Upwork ?>
|
64 |
+
<li ><?php _e('Manage queue','tweet-old-post'); ?> </li>
|
65 |
+
<?php // Added by Ash/Upwork ?>
|
66 |
+
<li class="rop-error-log"><span class="no-error"> </span></span><?php _e('Log','tweet-old-post'); ?></li>
|
67 |
+
|
68 |
+
</ul>
|
69 |
+
|
70 |
+
<form action="" method="post" id="cwp_top_form" class="clearfix">
|
71 |
+
|
72 |
+
|
73 |
+
<div class="tab active"><?php require_once(ROPPLUGINPATH."/inc/view-accounts.php"); ?></div>
|
74 |
+
<div class="tab">
|
75 |
+
|
76 |
+
|
77 |
+
<?php foreach ($cwp_top_fields as $field) {
|
78 |
+
|
79 |
+
if(CWP_TOP_PRO){
|
80 |
+
if(isset($field['available_pro'])){
|
81 |
+
if($field['available_pro'] == 'no')
|
82 |
+
continue ;
|
83 |
+
|
84 |
+
}
|
85 |
+
|
86 |
+
}
|
87 |
+
|
88 |
+
?>
|
89 |
+
|
90 |
+
<fieldset class="option twp<?php echo $field['option']; ?>" >
|
91 |
+
<div class="left">
|
92 |
+
<label for="<?php echo $field['option']; ?>"> <?php _e($field['name'],'tweet-old-post'); ?> </label>
|
93 |
+
<span class="description"> <?php _e($field['description'],'tweet-old-post'); ?> </span>
|
94 |
+
|
95 |
+
<?php if($field['type'] == 'categories-list') { ?>
|
96 |
+
<button class='select-all'><?php _e("Select All",'tweet-old-post');?></button>
|
97 |
+
<?php } ?>
|
98 |
+
|
99 |
+
</div><!-- end .left -->
|
100 |
+
<div class="right">
|
101 |
+
<?php CWP_TOP_Core::generateFieldType( $field ); ?>
|
102 |
+
</div><!-- end .right -->
|
103 |
+
</fieldset><!-- end .option -->
|
104 |
+
<?php } ?>
|
105 |
+
|
106 |
+
|
107 |
+
</div>
|
108 |
+
|
109 |
+
<div class="tab"><?php require_once(ROPPLUGINPATH."/inc/view-postformat.php"); ?></div>
|
110 |
+
<div class="tab"><?php require_once(ROPPLUGINPATH."/inc/view-postschedule.php"); ?></div>
|
111 |
+
<?php // Added by Ash/Upwork ?>
|
112 |
+
<div class="tab"><?php require_once(ROPPLUGINPATH."/inc/view-advancedscheduling.php"); ?></div>
|
113 |
+
<?php // Added by Ash/Upwork ?>
|
114 |
+
<div class="tab clearfix">
|
115 |
+
<div class="rop-log-container clearfix">
|
116 |
+
|
117 |
+
<a href="#" id="rop-clear-log"><?php _e('Clear Log','tweet-old-post'); ?></a>
|
118 |
+
<ul id="rop-log-list">
|
119 |
+
|
120 |
+
|
121 |
+
</ul>
|
122 |
+
</div>
|
123 |
+
</div>
|
124 |
+
<!-- end #cwp_top_form -->
|
125 |
+
</div><div class="cwp_top_footer">
|
126 |
+
<a class="reset-settings" id="reset-settings" href="#"><span></span> <?php _e("Reset", 'tweet-old-post'); ?></a>
|
127 |
+
<a class="update-options" id="update-options"href="#"><span></span><?php _e("Save", 'tweet-old-post'); ?></a>
|
128 |
+
<?php if($this->pluginStatus != 'true' ): ?>
|
129 |
+
|
130 |
+
<a class="tweet-now" id="tweet-now" href="#"><span></span> <?php _e("Start Sharing", 'tweet-old-post'); ?></a>
|
131 |
+
<?php else: ?>
|
132 |
+
|
133 |
+
<a class="stop-tweet-old-post" id="stop-tweet-old-post" href="#"><span></span> <?php _e("Stop Sharing", 'tweet-old-post'); ?></a>
|
134 |
+
|
135 |
+
<?php endif; ?>
|
136 |
+
<a class="see-sample-tweet" id="see-sample-tweet" href="#"><span></span> <?php _e("See Sample Post", 'tweet-old-post'); ?></a>
|
137 |
+
</div><!-- end .cwp_top_footer -->
|
138 |
+
<p><?php _e("We are not affiliated or partner with Twitter/Facebook/Linkedin in any way.", 'tweet-old-post'); ?></p>
|
139 |
+
</form></div>
|
140 |
+
<aside class="sidebar">
|
141 |
+
<ul>
|
142 |
+
<li class="rop-twitter-clock" data-current="<?php echo $this->getTime(); ?>"><?php echo __("Now is: ",'tweet-old-post')." <b> </b> " ?></li>
|
143 |
+
<?php
|
144 |
+
if($this->pluginStatus == 'true' ): ?>
|
145 |
+
<?php
|
146 |
+
foreach($all_networks as $nn) {
|
147 |
+
if(wp_next_scheduled($nn.'roptweetcron',array($nn)) === false) continue;
|
148 |
+
?>
|
149 |
+
<li class="rop-twitter-countdown rop-network-countdown"><?php echo __("Revive Old Post will post on",'tweet-old-post')." <span class='rop-network-name'>".$nn."</span> ".__("in the next",'tweet-old-post'); ?>: <span data-timestamp="<?php echo wp_next_scheduled($nn.'roptweetcron',array($nn)) ; ?>" class='rop-network-timestamp'></span></li>
|
150 |
+
<?php } ?>
|
151 |
+
<?php endif; ?>
|
152 |
+
<li class="rop-beta-user"><div class="rop-left"><?php _e("Beta user",'tweet-old-post');?> </div><a href="#" id="rop-beta-button" class="rop-right <?php echo $beta_user; ?>"></a><div class="rop-clear" ></div><span class="rop-beta-desc"><?php _e("As a beta user you will have access to the latest stable releases before going to production",'tweet-old-post');?></span></li>
|
153 |
+
<li class="rop-beta-user"><div class="rop-left"><?php _e("Remote check",'tweet-old-post');?></div><a href="#" id="cwp_remote_check" class="<?php echo $remote_check; ?> rop-right "></a><div class="rop-clear" ></div><span class="rop-beta-desc"><?php _e("We will send you a ping each 15 minutes in order to assure that posts will be sent to social networks on time. ",'tweet-old-post');?> </span> </li>
|
154 |
+
<li class="upgrade"><a target="_blank" href="https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=bannerright&utm_medium=announce&utm_campaign=top&upgrade=true"> <?php _e("Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!", 'tweet-old-post'); ?></a></li>
|
155 |
+
|
156 |
+
</ul>
|
157 |
+
</aside><!-- end .sidebar -->
|
158 |
+
</section><!-- end .cwp_top_container -->
|
159 |
+
|
160 |
+
<div class="cwp_sample_tweet_preview">
|
161 |
+
<div class="cwp_sample_tweet_preview_inner">
|
162 |
+
<h2><?php _e('Sample Post Preview','tweet-old-post');?> Twitter</h2>
|
163 |
+
<span class="sample_tweet sample_tweet_twitter"></span>
|
164 |
+
<h2><?php _e('Sample Post Preview','tweet-old-post');?> Facebook</h2>
|
165 |
+
<span class="sample_tweet sample_tweet_facebook"></span>
|
166 |
+
<h2><?php _e('Sample Post Preview','tweet-old-post');?> LinkedIn</h2>
|
167 |
+
<span class="sample_tweet sample_tweet_linkedin"></span>
|
168 |
+
<h2><?php _e('Sample Post Preview','tweet-old-post');?> XING</h2>
|
169 |
+
<span class="sample_tweet sample_tweet_xing"></span>
|
170 |
+
<h2><?php _e('Sample Post Preview','tweet-old-post');?> Tumblr</h2>
|
171 |
+
<span class="sample_tweet sample_tweet_tumblr"></span>
|
172 |
+
<button class="top_close_popup"><?php _e('Close preview','tweet-old-post');?></button>
|
173 |
+
<button class="tweetitnow"><?php _e('Share now','tweet-old-post');?></button>
|
174 |
+
</div><!-- end .cwp_sample_tweet_preview_inner -->
|
175 |
+
</div><!-- end .cwp_sample_tweet_preview -->
|
176 |
+
|
177 |
+
<div class="cwp_user_pages">
|
178 |
+
<div class="cwp_sample_tweet_preview_inner">
|
179 |
+
<h2><?php _e('Choose a Profile or Page','tweet-old-post');?></h2>
|
180 |
+
<div class="cwp_user_pages_inner"></div>
|
181 |
+
<button class="top_close_popup"><?php _e('Close preview','tweet-old-post');?></button>
|
182 |
+
</div><!-- end .cwp_sample_tweet_preview_inner -->
|
183 |
+
</div><!-- end .cwp_sample_tweet_preview -->
|
184 |
+
|
185 |
+
<div class="cwp_fbapp_preview">
|
186 |
+
<div class="cwp_sample_tweet_preview_inner top_auth_inner">
|
187 |
+
<h2><?php _e('Add Your Facebook Account Following The Instructions On The Left','tweet-old-post');?></h2>
|
188 |
+
<span class="sample_tweet top_sample_auth">
|
189 |
+
<div class="top_left_instructions">
|
190 |
+
<ol>
|
191 |
+
<li><?php _e('Go on','tweet-old-post');?> <a href="https://developers.facebook.com/apps/" target="_blank">developers.facebook.com/apps</a> </li>
|
192 |
+
<li><?php _e('Click on <strong>Create New App</strong> from the top right corner','tweet-old-post');?> </li>
|
193 |
+
<li><?php _e('Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and click on Create App','tweet-old-post');?> </li>
|
194 |
+
<li><?php _e('Once you arrive on the app dashboard, copy your <strong>App ID</strong> and <strong>App Secret</strong> in the fields on the right','tweet-old-post');?> </li>
|
195 |
+
<li><?php _e('Go on Settings tab from the left sidebar menu add the contact email and click on <strong>Add Platform</strong> and select <strong>Website</strong>','tweet-old-post');?> </li>
|
196 |
+
<li><?php printf(__('Copy/Paste this url : <strong>%s</strong> into App Domains and Site URL fields and <strong>Save</strong>','tweet-old-post'),top_settings_url());?> </li>
|
197 |
+
<li><?php _e('Go on Status & Review tab and set your app live from the top-right switch.','tweet-old-post');?> </li>
|
198 |
+
<li><?php _e('Now everything is done, click on <strong>Authorize App</strong> button.','tweet-old-post');?> </li>
|
199 |
+
</ol>
|
200 |
+
<h3><?php _e('You can fallow this <a target="_blank" href="http://docs.themeisle.com/article/66-how-to-create-a-facebook-application" > tutorial</a> for more detailed instructions','tweet-old-post'); ?></h3>
|
201 |
+
</div>
|
202 |
+
<form action="" method="post" id="cwp_top_form" class=" top_auth_form">
|
203 |
+
<fieldset class="option twptop_opt_app_id">
|
204 |
+
<div class="left">
|
205 |
+
<label for="top_opt_app_id"><?php _e('Facebook App ID','tweet-old-post');?> </label>
|
206 |
+
<span class="description"><?php _e('ID from your app created on facebook website.','tweet-old-post');?> </span>
|
207 |
+
|
208 |
+
|
209 |
+
</div><!-- end .left -->
|
210 |
+
<div class="right">
|
211 |
+
<input type="text" placeholder="1487991504767913" value="<?php get_option('cwp_top_app_id');?>" name="top_opt_app_id" id="top_opt_app_id">
|
212 |
+
</div><!-- end .right -->
|
213 |
+
</fieldset>
|
214 |
+
|
215 |
+
<fieldset class="option twptop_opt_app_secret">
|
216 |
+
<div class="left">
|
217 |
+
<label for="top_opt_app_secret"><?php _e('Facebook App Secret','tweet-old-post');?> </label>
|
218 |
+
<span class="description"><?php _e('Secret from your app created on facebook website. ','tweet-old-post');?> </span>
|
219 |
+
|
220 |
+
</div><!-- end .left -->
|
221 |
+
<div class="right">
|
222 |
+
<input type="text" placeholder="5124ea6d46e64da3c306f12812d0e4fx" value="<?php get_option('cwp_top_app_secret');?>" name="top_opt_app_secret" id="top_opt_app_secret">
|
223 |
+
</div><!-- end .right -->
|
224 |
+
</fieldset>
|
225 |
+
|
226 |
+
<button class="top_authorize" service="facebook"><?php _e('Authorize App','tweet-old-post');?></button>
|
227 |
+
</form>
|
228 |
+
</span><button class="top_close_popup"><?php _e('Close preview','tweet-old-post');?></button>
|
229 |
+
</div><!-- end .cwp_sample_tweet_preview_inner -->
|
230 |
+
</div><!-- end .cwp_sample_tweet_preview -->
|
231 |
+
|
232 |
+
<div class="cwp_not_version_preview">
|
233 |
+
<div class="cwp_sample_tweet_preview_inner top_auth_inner">
|
234 |
+
<h2><?php _e('You need to have the latest version of Revive Old Post Pro in order to use this feature. Please update it or download for your account here <a href="https://themeisle.com/purchase-history" target="_blank">https://themeisle.com/purchase-history</a>','tweet-old-post');?></h2>
|
235 |
+
|
236 |
+
</span><button class="top_close_popup"><?php _e('Close','tweet-old-post');?></button>
|
237 |
+
</div><!-- end .cwp_sample_tweet_preview_inner -->
|
238 |
+
</div><!-- end .cwp_sample_tweet_preview -->
|
239 |
+
|
240 |
+
<div class="cwp_lkapp_preview">
|
241 |
+
<div class="cwp_sample_tweet_preview_inner top_auth_inner">
|
242 |
+
<h2><?php _e('Add Your Linkedin Account Following The Instructions On The Left','tweet-old-post');?></h2>
|
243 |
+
<span class="sample_tweet top_sample_auth">
|
244 |
+
<div class="top_left_instructions">
|
245 |
+
<ol>
|
246 |
+
<li><?php _e('Go on','tweet-old-post');?> <a href="https://www.linkedin.com/secure/developer?newapp=" target="_blank">linkedin.com/secure/developer?newapp=</a></li>
|
247 |
+
<li><?php _e('Enter the required details and pay special attention to the further fields :','tweet-old-post');?></li>
|
248 |
+
<li><?php _e('Make sure you set Live Status to LIVE','tweet-old-post');?> </li>
|
249 |
+
<li><?php _e('Default Scope should have r_basicprofile and w_share checked','tweet-old-post');?></li>
|
250 |
+
<li><?php printf(__('Copy/Paste this url : <strong>%s</strong> into OAuth 2.0 Redirect URLs field and <strong>Save</strong>','tweet-old-post'),top_settings_url());?> </li>
|
251 |
+
<li><?php _e('Once all required fields are filled click on Add Application button, get the API Key and Secret Key and paste them in the fields on the right','tweet-old-post');?></li>
|
252 |
+
|
253 |
+
<li><?php _e('Now everything is done, click on <strong>Authorize App</strong> button.','tweet-old-post');?></li>
|
254 |
+
</ol>
|
255 |
+
</div>
|
256 |
+
<form action="" method="post" id="cwp_top_form" class=" top_auth_form">
|
257 |
+
<fieldset class="option twptop_opt_app_id">
|
258 |
+
<div class="left">
|
259 |
+
<label for="top_opt_app_id"><?php _e('Linkedin API Key','tweet-old-post');?> </label>
|
260 |
+
<span class="description"><?php _e('API Key that you get once you create an app','tweet-old-post');?> </span>
|
261 |
+
|
262 |
+
|
263 |
+
</div><!-- end .left -->
|
264 |
+
<div class="right">
|
265 |
+
<input type="text" placeholder="1487991504767913" value="<?php get_option('cwp_top_lk_app_id');?>" name="top_opt_app_id" id="top_opt_app_id_lk">
|
266 |
+
</div><!-- end .right -->
|
267 |
+
</fieldset>
|
268 |
+
|
269 |
+
<fieldset class="option twptop_opt_app_secret">
|
270 |
+
<div class="left">
|
271 |
+
<label for="top_opt_app_secret"><?php _e('Linkedin Secret Key','tweet-old-post');?> </label>
|
272 |
+
<span class="description"><?php _e('Secret Key that you get once you create an app','tweet-old-post');?> </span>
|
273 |
+
|
274 |
+
|
275 |
+
</div><!-- end .left -->
|
276 |
+
<div class="right">
|
277 |
+
<input type="text" placeholder="5124ea6d46e64da3c306f12812d0e4fx" value="<?php get_option('cwp_top_lk_app_id');?>" name="top_opt_app_secret" id="top_opt_app_secret_lk">
|
278 |
+
</div><!-- end .right -->
|
279 |
+
</fieldset>
|
280 |
+
|
281 |
+
<button class="top_authorize" service="linkedin"><?php _e('Authorize App','tweet-old-post');?></button>
|
282 |
+
</form>
|
283 |
+
</span><button class="top_close_popup"><?php _e('Close preview','tweet-old-post');?></button>
|
284 |
+
</div><!-- end .cwp_sample_tweet_preview_inner -->
|
285 |
+
</div><!-- end .cwp_sample_tweet_preview -->
|
286 |
+
|
287 |
+
<div class="cwp_xingapp_preview">
|
288 |
+
<div class="cwp_sample_tweet_preview_inner top_auth_inner">
|
289 |
+
<h2><?php _e('Add Your XING Account Following The Instructions On The Left','tweet-old-post');?></h2>
|
290 |
+
<span class="sample_tweet top_sample_auth">
|
291 |
+
<div class="top_left_instructions">
|
292 |
+
<ol>
|
293 |
+
<li><?php _e('Go on','tweet-old-post');?> <a href="https://dev.xing.com/applications/dashboard" target="_blank"> https://dev.xing.com/applications/dashboard</a></li>
|
294 |
+
<li><?php _e('If you already made an application you will see it’s info here, otherwise click “Create app” button.','tweet-old-post');?></li>
|
295 |
+
<li><?php _e("Fill 'Application Name', click 'Save'",'tweet-old-post');?> </li>
|
296 |
+
<li><?php printf(__('Copy/Paste the Consumer Key and Consumer Secret in the fields from the right. ','tweet-old-post'),top_settings_url());?> </li>
|
297 |
+
|
298 |
+
<li><?php _e('Now everything is done, click on <strong>Authorize App</strong> button.','tweet-old-post');?></li>
|
299 |
+
</ol>
|
300 |
+
</div>
|
301 |
+
<form action="" method="post" id="cwp_top_form" class=" top_auth_form">
|
302 |
+
<fieldset class="option twptop_opt_app_id">
|
303 |
+
<div class="left">
|
304 |
+
<label for="top_opt_app_id"><?php _e('Consumer Key','tweet-old-post');?> </label>
|
305 |
+
<span class="description"><?php _e('Consumer Key','tweet-old-post');?> </span>
|
306 |
+
|
307 |
+
|
308 |
+
</div><!-- end .left -->
|
309 |
+
<div class="right">
|
310 |
+
<input type="text" placeholder="Consumer Key" id="top_opt_app_id_xing">
|
311 |
+
</div><!-- end .right -->
|
312 |
+
</fieldset>
|
313 |
+
|
314 |
+
<fieldset class="option twptop_opt_app_secret">
|
315 |
+
<div class="left">
|
316 |
+
<label for="top_opt_app_secret"><?php _e('Consumer Secret','tweet-old-post');?> </label>
|
317 |
+
<span class="description"><?php _e('Consumer Secret','tweet-old-post');?> </span>
|
318 |
+
|
319 |
+
|
320 |
+
</div><!-- end .left -->
|
321 |
+
<div class="right">
|
322 |
+
<input type="text" placeholder="Consumer Secret" id="top_opt_app_secret_xing">
|
323 |
+
</div><!-- end .right -->
|
324 |
+
</fieldset>
|
325 |
+
|
326 |
+
<button class="top_authorize" service="xing"><?php _e('Authorize App','tweet-old-post');?></button>
|
327 |
+
</form>
|
328 |
+
</span><button class="top_close_popup"><?php _e('Close preview','tweet-old-post');?></button>
|
329 |
+
</div><!-- end .cwp_sample_tweet_preview_inner -->
|
330 |
+
</div><!-- end .cwp_sample_tweet_preview -->
|
331 |
+
<div class="cwp_tumblrapp_preview">
|
332 |
+
<div class="cwp_sample_tweet_preview_inner top_auth_inner">
|
333 |
+
<h2><?php _e('Add Your Thumblr Account Following The Instructions On The Left','tweet-old-post');?></h2>
|
334 |
+
<span class="sample_tweet top_sample_auth">
|
335 |
+
<div class="top_left_instructions">
|
336 |
+
<ol>
|
337 |
+
<li><?php _e('Go on','tweet-old-post');?> <a href="https://www.tumblr.com/oauth/apps" target="_blank"> https://www.tumblr.com/oauth/apps</a></li>
|
338 |
+
<li><?php _e('If you already made an application you will see it’s info here, otherwise click “Register application” button.','tweet-old-post');?></li>
|
339 |
+
<li><?php _e("Click 'Register application'”' button. Fill 'Application Name', 'Application Website', all other fields (just enter your website URL to the 'Default callback URL') and click Register'.",'tweet-old-post');?> </li>
|
340 |
+
<li><?php printf(__('Copy/Paste the Consumer Key and Consumer Secret in the fields from the right. ','tweet-old-post'),top_settings_url());?> </li>
|
341 |
+
<li><?php printf(__('Fill URL of your Tumblr Blog. ','tweet-old-post'));?> </li>
|
342 |
+
|
343 |
+
<li><?php _e('Now everything is done, click on <strong>Authorize App</strong> button.','tweet-old-post');?></li>
|
344 |
+
</ol>
|
345 |
+
</div>
|
346 |
+
<form action="" method="post" id="cwp_top_form" class=" top_auth_form">
|
347 |
+
<fieldset class="option twptop_opt_app_id">
|
348 |
+
<div class="left">
|
349 |
+
<label for="top_opt_app_id"><?php _e('Consumer Key','tweet-old-post');?> </label>
|
350 |
+
<span class="description"><?php _e('Consumer Key','tweet-old-post');?> </span>
|
351 |
+
|
352 |
+
|
353 |
+
</div><!-- end .left -->
|
354 |
+
<div class="right">
|
355 |
+
<input type="text" placeholder="Consumer Key" id="top_opt_app_id_tumblr">
|
356 |
+
</div><!-- end .right -->
|
357 |
+
</fieldset>
|
358 |
+
|
359 |
+
<fieldset class="option twptop_opt_app_secret">
|
360 |
+
<div class="left">
|
361 |
+
<label for="top_opt_app_secret"><?php _e('Consumer Secret','tweet-old-post');?> </label>
|
362 |
+
<span class="description"><?php _e('Consumer Secret','tweet-old-post');?> </span>
|
363 |
+
|
364 |
+
|
365 |
+
</div><!-- end .left -->
|
366 |
+
<div class="right">
|
367 |
+
<input type="text" placeholder="Consumer Secret" id="top_opt_app_secret_tumblr">
|
368 |
+
</div><!-- end .right -->
|
369 |
+
</fieldset>
|
370 |
+
<fieldset class="option twptop_opt_app_secret">
|
371 |
+
<div class="left">
|
372 |
+
<label for="top_opt_app_secret"><?php _e('Tumblr url Blog','tweet-old-post');?> </label>
|
373 |
+
<span class="description"><?php _e('Tumblr url Blog','tweet-old-post');?> </span>
|
374 |
+
|
375 |
+
|
376 |
+
</div><!-- end .left -->
|
377 |
+
<div class="right">
|
378 |
+
<input type="text" placeholder="Tumblr url Blog" id="top_opt_app_url_tumblr">
|
379 |
+
</div><!-- end .right -->
|
380 |
+
</fieldset>
|
381 |
+
|
382 |
+
<button class="top_authorize" service="tumblr"><?php _e('Authorize App','tweet-old-post');?></button>
|
383 |
+
</form>
|
384 |
+
</span><button class="top_close_popup"><?php _e('Close preview','tweet-old-post');?></button>
|
385 |
+
</div><!-- end .cwp_sample_tweet_preview_inner -->
|
386 |
+
</div><!-- end .cwp_sample_tweet_preview -->
|
387 |
+
|
388 |
+
</div><!-- end .cwp_top_wrapper -->
|
inc/xml.php
CHANGED
@@ -1,130 +1,130 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function TOP_parsexml( $xml, $get_attributes = 1, $priority = 'tag' )
|
4 |
-
{
|
5 |
-
$parser = xml_parser_create('');
|
6 |
-
xml_parser_set_option( $parser, XML_OPTION_TARGET_ENCODING, "UTF-8" );
|
7 |
-
xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, 0 );
|
8 |
-
xml_parser_set_option( $parser, XML_OPTION_SKIP_WHITE, 1 );
|
9 |
-
xml_parse_into_struct( $parser, trim($xml), $xml_values );
|
10 |
-
xml_parser_free($parser);
|
11 |
-
|
12 |
-
if (!$xml_values)
|
13 |
-
return;
|
14 |
-
|
15 |
-
$xml_array = array ();
|
16 |
-
$parents = array ();
|
17 |
-
$opened_tags = array ();
|
18 |
-
$arr = array ();
|
19 |
-
$current = & $xml_array;
|
20 |
-
$repeated_tag_index = array ();
|
21 |
-
|
22 |
-
foreach ($xml_values as $data) {
|
23 |
-
unset ($attributes, $value);
|
24 |
-
extract($data);
|
25 |
-
$result = array ();
|
26 |
-
$attributes_data = array ();
|
27 |
-
if (isset ($value))
|
28 |
-
{
|
29 |
-
if ($priority == 'tag')
|
30 |
-
$result = $value;
|
31 |
-
else
|
32 |
-
$result['value'] = $value;
|
33 |
-
}
|
34 |
-
if (isset ($attributes) and $get_attributes)
|
35 |
-
{
|
36 |
-
foreach ($attributes as $attr => $val)
|
37 |
-
{
|
38 |
-
if ($priority == 'tag')
|
39 |
-
$attributes_data[$attr] = $val;
|
40 |
-
else
|
41 |
-
$result['attr'][$attr] = $val; //Set all the attributes in a array called 'attr'
|
42 |
-
}
|
43 |
-
}
|
44 |
-
if ($type == "open")
|
45 |
-
{
|
46 |
-
$parent[$level -1] = & $current;
|
47 |
-
if (!is_array($current) or (!in_array($tag, array_keys($current))))
|
48 |
-
{
|
49 |
-
$current[$tag] = $result;
|
50 |
-
if ($attributes_data)
|
51 |
-
$current[$tag . '_attr'] = $attributes_data;
|
52 |
-
$repeated_tag_index[$tag . '_' . $level] = 1;
|
53 |
-
$current = & $current[$tag];
|
54 |
-
}
|
55 |
-
else
|
56 |
-
{
|
57 |
-
if (isset ($current[$tag][0]))
|
58 |
-
{
|
59 |
-
$current[$tag][$repeated_tag_index[$tag . '_' . $level]] = $result;
|
60 |
-
$repeated_tag_index[$tag . '_' . $level]++;
|
61 |
-
}
|
62 |
-
else
|
63 |
-
{
|
64 |
-
$current[$tag] = array (
|
65 |
-
$current[$tag],
|
66 |
-
$result
|
67 |
-
);
|
68 |
-
$repeated_tag_index[$tag . '_' . $level] = 2;
|
69 |
-
if (isset ($current[$tag . '_attr']))
|
70 |
-
{
|
71 |
-
$current[$tag]['0_attr'] = $current[$tag . '_attr'];
|
72 |
-
unset ($current[$tag . '_attr']);
|
73 |
-
}
|
74 |
-
}
|
75 |
-
$last_item_index = $repeated_tag_index[$tag . '_' . $level] - 1;
|
76 |
-
$current = & $current[$tag][$last_item_index];
|
77 |
-
}
|
78 |
-
}
|
79 |
-
elseif ($type == "complete")
|
80 |
-
{
|
81 |
-
if (!isset ($current[$tag]))
|
82 |
-
{
|
83 |
-
$current[$tag] = $result;
|
84 |
-
$repeated_tag_index[$tag . '_' . $level] = 1;
|
85 |
-
if ($priority == 'tag' and $attributes_data)
|
86 |
-
$current[$tag . '_attr'] = $attributes_data;
|
87 |
-
}
|
88 |
-
else
|
89 |
-
{
|
90 |
-
if (isset ($current[$tag][0]) and is_array($current[$tag]))
|
91 |
-
{
|
92 |
-
$current[$tag][$repeated_tag_index[$tag . '_' . $level]] = $result;
|
93 |
-
if ($priority == 'tag' and $get_attributes and $attributes_data)
|
94 |
-
{
|
95 |
-
$current[$tag][$repeated_tag_index[$tag . '_' . $level] . '_attr'] = $attributes_data;
|
96 |
-
}
|
97 |
-
$repeated_tag_index[$tag . '_' . $level]++;
|
98 |
-
}
|
99 |
-
else
|
100 |
-
{
|
101 |
-
$current[$tag] = array (
|
102 |
-
$current[$tag],
|
103 |
-
$result
|
104 |
-
);
|
105 |
-
$repeated_tag_index[$tag . '_' . $level] = 1;
|
106 |
-
if ($priority == 'tag' and $get_attributes)
|
107 |
-
{
|
108 |
-
if (isset ($current[$tag . '_attr']))
|
109 |
-
{
|
110 |
-
$current[$tag]['0_attr'] = $current[$tag . '_attr'];
|
111 |
-
unset ($current[$tag . '_attr']);
|
112 |
-
}
|
113 |
-
if ($attributes_data)
|
114 |
-
{
|
115 |
-
$current[$tag][$repeated_tag_index[$tag . '_' . $level] . '_attr'] = $attributes_data;
|
116 |
-
}
|
117 |
-
}
|
118 |
-
$repeated_tag_index[$tag . '_' . $level]++; //0 and 1 index is already taken
|
119 |
-
}
|
120 |
-
}
|
121 |
-
}
|
122 |
-
elseif ($type == 'close')
|
123 |
-
{
|
124 |
-
$current = & $parent[$level -1];
|
125 |
-
}
|
126 |
-
}
|
127 |
-
return $xml_array;
|
128 |
-
}
|
129 |
-
|
130 |
?>
|
1 |
+
<?php
|
2 |
+
|
3 |
+
function TOP_parsexml( $xml, $get_attributes = 1, $priority = 'tag' )
|
4 |
+
{
|
5 |
+
$parser = xml_parser_create('');
|
6 |
+
xml_parser_set_option( $parser, XML_OPTION_TARGET_ENCODING, "UTF-8" );
|
7 |
+
xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, 0 );
|
8 |
+
xml_parser_set_option( $parser, XML_OPTION_SKIP_WHITE, 1 );
|
9 |
+
xml_parse_into_struct( $parser, trim($xml), $xml_values );
|
10 |
+
xml_parser_free($parser);
|
11 |
+
|
12 |
+
if (!$xml_values)
|
13 |
+
return;
|
14 |
+
|
15 |
+
$xml_array = array ();
|
16 |
+
$parents = array ();
|
17 |
+
$opened_tags = array ();
|
18 |
+
$arr = array ();
|
19 |
+
$current = & $xml_array;
|
20 |
+
$repeated_tag_index = array ();
|
21 |
+
|
22 |
+
foreach ($xml_values as $data) {
|
23 |
+
unset ($attributes, $value);
|
24 |
+
extract($data);
|
25 |
+
$result = array ();
|
26 |
+
$attributes_data = array ();
|
27 |
+
if (isset ($value))
|
28 |
+
{
|
29 |
+
if ($priority == 'tag')
|
30 |
+
$result = $value;
|
31 |
+
else
|
32 |
+
$result['value'] = $value;
|
33 |
+
}
|
34 |
+
if (isset ($attributes) and $get_attributes)
|
35 |
+
{
|
36 |
+
foreach ($attributes as $attr => $val)
|
37 |
+
{
|
38 |
+
if ($priority == 'tag')
|
39 |
+
$attributes_data[$attr] = $val;
|
40 |
+
else
|
41 |
+
$result['attr'][$attr] = $val; //Set all the attributes in a array called 'attr'
|
42 |
+
}
|
43 |
+
}
|
44 |
+
if ($type == "open")
|
45 |
+
{
|
46 |
+
$parent[$level -1] = & $current;
|
47 |
+
if (!is_array($current) or (!in_array($tag, array_keys($current))))
|
48 |
+
{
|
49 |
+
$current[$tag] = $result;
|
50 |
+
if ($attributes_data)
|
51 |
+
$current[$tag . '_attr'] = $attributes_data;
|
52 |
+
$repeated_tag_index[$tag . '_' . $level] = 1;
|
53 |
+
$current = & $current[$tag];
|
54 |
+
}
|
55 |
+
else
|
56 |
+
{
|
57 |
+
if (isset ($current[$tag][0]))
|
58 |
+
{
|
59 |
+
$current[$tag][$repeated_tag_index[$tag . '_' . $level]] = $result;
|
60 |
+
$repeated_tag_index[$tag . '_' . $level]++;
|
61 |
+
}
|
62 |
+
else
|
63 |
+
{
|
64 |
+
$current[$tag] = array (
|
65 |
+
$current[$tag],
|
66 |
+
$result
|
67 |
+
);
|
68 |
+
$repeated_tag_index[$tag . '_' . $level] = 2;
|
69 |
+
if (isset ($current[$tag . '_attr']))
|
70 |
+
{
|
71 |
+
$current[$tag]['0_attr'] = $current[$tag . '_attr'];
|
72 |
+
unset ($current[$tag . '_attr']);
|
73 |
+
}
|
74 |
+
}
|
75 |
+
$last_item_index = $repeated_tag_index[$tag . '_' . $level] - 1;
|
76 |
+
$current = & $current[$tag][$last_item_index];
|
77 |
+
}
|
78 |
+
}
|
79 |
+
elseif ($type == "complete")
|
80 |
+
{
|
81 |
+
if (!isset ($current[$tag]))
|
82 |
+
{
|
83 |
+
$current[$tag] = $result;
|
84 |
+
$repeated_tag_index[$tag . '_' . $level] = 1;
|
85 |
+
if ($priority == 'tag' and $attributes_data)
|
86 |
+
$current[$tag . '_attr'] = $attributes_data;
|
87 |
+
}
|
88 |
+
else
|
89 |
+
{
|
90 |
+
if (isset ($current[$tag][0]) and is_array($current[$tag]))
|
91 |
+
{
|
92 |
+
$current[$tag][$repeated_tag_index[$tag . '_' . $level]] = $result;
|
93 |
+
if ($priority == 'tag' and $get_attributes and $attributes_data)
|
94 |
+
{
|
95 |
+
$current[$tag][$repeated_tag_index[$tag . '_' . $level] . '_attr'] = $attributes_data;
|
96 |
+
}
|
97 |
+
$repeated_tag_index[$tag . '_' . $level]++;
|
98 |
+
}
|
99 |
+
else
|
100 |
+
{
|
101 |
+
$current[$tag] = array (
|
102 |
+
$current[$tag],
|
103 |
+
$result
|
104 |
+
);
|
105 |
+
$repeated_tag_index[$tag . '_' . $level] = 1;
|
106 |
+
if ($priority == 'tag' and $get_attributes)
|
107 |
+
{
|
108 |
+
if (isset ($current[$tag . '_attr']))
|
109 |
+
{
|
110 |
+
$current[$tag]['0_attr'] = $current[$tag . '_attr'];
|
111 |
+
unset ($current[$tag . '_attr']);
|
112 |
+
}
|
113 |
+
if ($attributes_data)
|
114 |
+
{
|
115 |
+
$current[$tag][$repeated_tag_index[$tag . '_' . $level] . '_attr'] = $attributes_data;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
$repeated_tag_index[$tag . '_' . $level]++; //0 and 1 index is already taken
|
119 |
+
}
|
120 |
+
}
|
121 |
+
}
|
122 |
+
elseif ($type == 'close')
|
123 |
+
{
|
124 |
+
$current = & $parent[$level -1];
|
125 |
+
}
|
126 |
+
}
|
127 |
+
return $xml_array;
|
128 |
+
}
|
129 |
+
|
130 |
?>
|
js/countdown.js
CHANGED
@@ -1,398 +1,398 @@
|
|
1 |
-
var timenow="";
|
2 |
-
(function() {
|
3 |
-
|
4 |
-
(function($) {
|
5 |
-
$.countdown = function(el, options) {
|
6 |
-
var getDateData,
|
7 |
-
_this = this;
|
8 |
-
this.el = el;
|
9 |
-
this.$el = $(el);
|
10 |
-
this.$el.data("countdown", this);
|
11 |
-
this.init = function() {
|
12 |
-
_this.options = $.extend({}, $.countdown.defaultOptions, options);
|
13 |
-
if (_this.options.refresh) {
|
14 |
-
_this.interval = setInterval(function() {
|
15 |
-
return _this.render();
|
16 |
-
}, _this.options.refresh);
|
17 |
-
}
|
18 |
-
_this.render();
|
19 |
-
return _this;
|
20 |
-
};
|
21 |
-
|
22 |
-
getDateData = function(endDate) {
|
23 |
-
var dateData, diff;
|
24 |
-
jQuery.ajax({
|
25 |
-
type: "POST",
|
26 |
-
url: cwp_top_ajaxload.ajaxurl,
|
27 |
-
data: {
|
28 |
-
action: "gettime_action"
|
29 |
-
},
|
30 |
-
success: function(response) {
|
31 |
-
timenow = response;
|
32 |
-
},
|
33 |
-
error: function(MLHttpRequest, textStatus, errorThrown) {
|
34 |
-
console.log("There was an error: "+errorThrown);
|
35 |
-
}
|
36 |
-
});
|
37 |
-
|
38 |
-
//var timenow = new Date(<?php echo time(); ?>*1000)
|
39 |
-
//var timenow = new Date( d1.getUTCFullYear(), d1.getUTCMonth(), d1.getUTCDate(), d1.getUTCHours(), d1.getUTCMinutes(), d1.getUTCSeconds() );
|
40 |
-
//endDate = Date.parse($.isPlainObject(_this.options.date) ? _this.options.date : new Date(_this.options.date));
|
41 |
-
endDate = _this.options.date;
|
42 |
-
|
43 |
-
if (timenow == '')
|
44 |
-
timenow = _this.options.date-20;
|
45 |
-
|
46 |
-
diff = endDate - timenow;
|
47 |
-
//diff = Math.floor(diff);
|
48 |
-
if (diff <= 0) {
|
49 |
-
diff = 0;
|
50 |
-
if (_this.interval) {
|
51 |
-
_this.stop();
|
52 |
-
}
|
53 |
-
_this.options.onEnd.apply(_this);
|
54 |
-
}
|
55 |
-
dateData = {
|
56 |
-
years: 0,
|
57 |
-
days: 0,
|
58 |
-
hours: 0,
|
59 |
-
min: 0,
|
60 |
-
sec: 0,
|
61 |
-
millisec: 0
|
62 |
-
};
|
63 |
-
if (diff >= (365.25 * 86400)) {
|
64 |
-
dateData.years = Math.floor(diff / (365.25 * 86400));
|
65 |
-
diff -= dateData.years * 365.25 * 86400;
|
66 |
-
}
|
67 |
-
if (diff >= 86400) {
|
68 |
-
dateData.days = Math.floor(diff / 86400);
|
69 |
-
diff -= dateData.days * 86400;
|
70 |
-
}
|
71 |
-
if (diff >= 3600) {
|
72 |
-
dateData.hours = Math.floor(diff / 3600);
|
73 |
-
diff -= dateData.hours * 3600;
|
74 |
-
}
|
75 |
-
if (diff >= 60) {
|
76 |
-
dateData.min = Math.floor(diff / 60);
|
77 |
-
diff -= dateData.min * 60;
|
78 |
-
}
|
79 |
-
dateData.sec = diff;
|
80 |
-
return dateData;
|
81 |
-
};
|
82 |
-
this.leadingZeros = function(num, length) {
|
83 |
-
if (length == null) {
|
84 |
-
length = 2;
|
85 |
-
}
|
86 |
-
num = String(num);
|
87 |
-
while (num.length < length) {
|
88 |
-
num = "0" + num;
|
89 |
-
}
|
90 |
-
return num;
|
91 |
-
};
|
92 |
-
this.update = function(newDate) {
|
93 |
-
_this.options.date = newDate;
|
94 |
-
return _this;
|
95 |
-
};
|
96 |
-
this.render = function() {
|
97 |
-
_this.options.render.apply(_this, [getDateData(_this.options.date)]);
|
98 |
-
return _this;
|
99 |
-
};
|
100 |
-
this.stop = function() {
|
101 |
-
if (_this.interval) {
|
102 |
-
clearInterval(_this.interval);
|
103 |
-
}
|
104 |
-
_this.interval = null;
|
105 |
-
jQuery(".cwp_top_container .nextTweet").html('Your post was just sent to social networks servers, wait 15s for a confirmation below. Refresh the page to see when the next one will be posted.');
|
106 |
-
|
107 |
-
return _this;
|
108 |
-
//return _this;
|
109 |
-
};
|
110 |
-
this.start = function(refresh) {
|
111 |
-
if (refresh == null) {
|
112 |
-
refresh = _this.options.refresh || $.countdown.defaultOptions.refresh;
|
113 |
-
}
|
114 |
-
if (_this.interval) {
|
115 |
-
clearInterval(_this.interval);
|
116 |
-
}
|
117 |
-
_this.render();
|
118 |
-
_this.options.refresh = refresh;
|
119 |
-
_this.interval = setInterval(function() {
|
120 |
-
return _this.render();
|
121 |
-
}, _this.options.refresh);
|
122 |
-
return _this;
|
123 |
-
};
|
124 |
-
return this.init();
|
125 |
-
};
|
126 |
-
$.countdown.defaultOptions = {
|
127 |
-
date: "June 7, 2087 15:03:25",
|
128 |
-
refresh: 2000,
|
129 |
-
onEnd: $.noop,
|
130 |
-
render: function(date) {
|
131 |
-
if (date.days!=0 || date.hours!=0 || date.min!=0 || date.sec!=0)
|
132 |
-
return $(this.el).html("" + date.days + " days, " + (this.leadingZeros(date.hours)) + " hours, " + (this.leadingZeros(date.min)) + " min and " + (this.leadingZeros(date.sec)) + " sec");
|
133 |
-
}
|
134 |
-
};
|
135 |
-
$.fn.countdown = function(options) {
|
136 |
-
return $.each(this, function(i, el) {
|
137 |
-
var $el;
|
138 |
-
$el = $(el);
|
139 |
-
if (!$el.data('countdown')) {
|
140 |
-
return $el.data('countdown', new $.countdown(el, options));
|
141 |
-
}
|
142 |
-
});
|
143 |
-
};
|
144 |
-
return void 0;
|
145 |
-
})(jQuery);
|
146 |
-
|
147 |
-
}).call(this);
|
148 |
-
|
149 |
-
|
150 |
-
;(function(factory) {
|
151 |
-
'use strict';
|
152 |
-
|
153 |
-
if (typeof define === 'function' && define.amd) {
|
154 |
-
define(['jquery'], factory);
|
155 |
-
} else {
|
156 |
-
factory(jQuery);
|
157 |
-
}
|
158 |
-
})(function($){
|
159 |
-
'use strict';
|
160 |
-
|
161 |
-
var PRECISION = 100; // 0.1 seconds, used to update the DOM
|
162 |
-
var instances = [],
|
163 |
-
matchers = [];
|
164 |
-
// Miliseconds
|
165 |
-
matchers.push(/^[0-9]*$/.source);
|
166 |
-
// Month/Day/Year [hours:minutes:seconds]
|
167 |
-
matchers.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/
|
168 |
-
.source);
|
169 |
-
// Year/Day/Month [hours:minutes:seconds] and
|
170 |
-
// Year-Day-Month [hours:minutes:seconds]
|
171 |
-
matchers.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/
|
172 |
-
.source);
|
173 |
-
// Cast the matchers to a regular expression object
|
174 |
-
matchers = new RegExp(matchers.join('|'));
|
175 |
-
// Parse a Date formatted has String to a native object
|
176 |
-
function parseDateString(dateString) {
|
177 |
-
// Pass through when a native object is sent
|
178 |
-
if(dateString instanceof Date) {
|
179 |
-
return dateString;
|
180 |
-
}
|
181 |
-
// Caste string to date object
|
182 |
-
if(String(dateString).match(matchers)) {
|
183 |
-
// If looks like a milisecond value cast to number before
|
184 |
-
// final casting (Thanks to @msigley)
|
185 |
-
if(String(dateString).match(/^[0-9]*$/)) {
|
186 |
-
dateString = Number(dateString);
|
187 |
-
}
|
188 |
-
// Replace dashes to slashes
|
189 |
-
if(String(dateString).match(/\-/)) {
|
190 |
-
dateString = String(dateString).replace(/\-/g, '/');
|
191 |
-
}
|
192 |
-
return new Date(dateString);
|
193 |
-
} else {
|
194 |
-
throw new Error('Couldn\'t cast `' + dateString +
|
195 |
-
'` to a date object.');
|
196 |
-
}
|
197 |
-
}
|
198 |
-
// Map to convert from a directive to offset object property
|
199 |
-
var DIRECTIVE_KEY_MAP = {
|
200 |
-
'Y': 'years',
|
201 |
-
'm': 'months',
|
202 |
-
'w': 'weeks',
|
203 |
-
'd': 'days',
|
204 |
-
'D': 'totalDays',
|
205 |
-
'H': 'hours',
|
206 |
-
'M': 'minutes',
|
207 |
-
'S': 'seconds'
|
208 |
-
};
|
209 |
-
// Returns an escaped regexp from the string
|
210 |
-
function escapedRegExp(str) {
|
211 |
-
var sanitize = str.toString().replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
|
212 |
-
return new RegExp(sanitize);
|
213 |
-
}
|
214 |
-
// Time string formatter
|
215 |
-
function strftime(offsetObject) {
|
216 |
-
return function(format) {
|
217 |
-
var directives = format.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);
|
218 |
-
if(directives) {
|
219 |
-
for(var i = 0, len = directives.length; i < len; ++i) {
|
220 |
-
var directive = directives[i]
|
221 |
-
.match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),
|
222 |
-
regexp = escapedRegExp(directive[0]),
|
223 |
-
modifier = directive[1] || '',
|
224 |
-
plural = directive[3] || '',
|
225 |
-
value = null;
|
226 |
-
// Get the key
|
227 |
-
directive = directive[2];
|
228 |
-
// Swap shot-versions directives
|
229 |
-
if(DIRECTIVE_KEY_MAP.hasOwnProperty(directive)) {
|
230 |
-
value = DIRECTIVE_KEY_MAP[directive];
|
231 |
-
value = Number(offsetObject[value]);
|
232 |
-
}
|
233 |
-
if(value !== null) {
|
234 |
-
// Pluralize
|
235 |
-
if(modifier === '!') {
|
236 |
-
value = pluralize(plural, value);
|
237 |
-
}
|
238 |
-
// Add zero-padding
|
239 |
-
if(modifier === '') {
|
240 |
-
if(value < 10) {
|
241 |
-
value = '0' + value.toString();
|
242 |
-
}
|
243 |
-
}
|
244 |
-
// Replace the directive
|
245 |
-
format = format.replace(regexp, value.toString());
|
246 |
-
}
|
247 |
-
}
|
248 |
-
}
|
249 |
-
format = format.replace(/%%/, '%');
|
250 |
-
return format;
|
251 |
-
};
|
252 |
-
}
|
253 |
-
// Pluralize
|
254 |
-
function pluralize(format, count) {
|
255 |
-
var plural = 's', singular = '';
|
256 |
-
if(format) {
|
257 |
-
format = format.replace(/(:|;|\s)/gi, '').split(/\,/);
|
258 |
-
if(format.length === 1) {
|
259 |
-
plural = format[0];
|
260 |
-
} else {
|
261 |
-
singular = format[0];
|
262 |
-
plural = format[1];
|
263 |
-
}
|
264 |
-
}
|
265 |
-
if(Math.abs(count) === 1) {
|
266 |
-
return singular;
|
267 |
-
} else {
|
268 |
-
return plural;
|
269 |
-
}
|
270 |
-
}
|
271 |
-
// The Final Countdown
|
272 |
-
var Countdown = function(el, finalDate, callback) {
|
273 |
-
this.el = el;
|
274 |
-
this.$el = $(el);
|
275 |
-
this.interval = null;
|
276 |
-
this.offset = {};
|
277 |
-
// Register this instance
|
278 |
-
this.instanceNumber = instances.length;
|
279 |
-
instances.push(this);
|
280 |
-
// Save the reference
|
281 |
-
this.$el.data('countdown-instance', this.instanceNumber);
|
282 |
-
// Register the callbacks when supplied
|
283 |
-
if(callback) {
|
284 |
-
this.$el.on('update.countdown', callback);
|
285 |
-
this.$el.on('stoped.countdown', callback);
|
286 |
-
this.$el.on('finish.countdown', callback);
|
287 |
-
}
|
288 |
-
// Set the final date and start
|
289 |
-
this.setFinalDate(finalDate);
|
290 |
-
this.start();
|
291 |
-
};
|
292 |
-
$.extend(Countdown.prototype, {
|
293 |
-
start: function() {
|
294 |
-
if(this.interval !== null) {
|
295 |
-
clearInterval(this.interval);
|
296 |
-
}
|
297 |
-
var self = this;
|
298 |
-
this.update();
|
299 |
-
this.interval = setInterval(function() {
|
300 |
-
self.update.call(self);
|
301 |
-
}, PRECISION);
|
302 |
-
},
|
303 |
-
stop: function() {
|
304 |
-
clearInterval(this.interval);
|
305 |
-
this.interval = null;
|
306 |
-
this.dispatchEvent('stoped');
|
307 |
-
},
|
308 |
-
toggle: function() {
|
309 |
-
if (this.interval) {
|
310 |
-
this.stop();
|
311 |
-
} else {
|
312 |
-
this.start();
|
313 |
-
}
|
314 |
-
},
|
315 |
-
pause: function() {
|
316 |
-
this.stop();
|
317 |
-
},
|
318 |
-
resume: function() {
|
319 |
-
this.start();
|
320 |
-
},
|
321 |
-
remove: function() {
|
322 |
-
this.stop.call(this);
|
323 |
-
instances[this.instanceNumber] = null;
|
324 |
-
// Reset the countdown instance under data attr (Thanks to @assiotis)
|
325 |
-
delete this.$el.data().countdownInstance;
|
326 |
-
},
|
327 |
-
setFinalDate: function(value) {
|
328 |
-
this.finalDate = parseDateString(value); // Cast the given date
|
329 |
-
},
|
330 |
-
update: function() {
|
331 |
-
// Stop if dom is not in the html (Thanks to @dleavitt)
|
332 |
-
if(this.$el.closest('html').length === 0) {
|
333 |
-
this.remove();
|
334 |
-
return;
|
335 |
-
}
|
336 |
-
// Calculate the remaining time
|
337 |
-
this.totalSecsLeft = this.finalDate.getTime() -
|
338 |
-
new Date().getTime(); // In miliseconds
|
339 |
-
this.totalSecsLeft = Math.ceil(this.totalSecsLeft / 1000);
|
340 |
-
this.totalSecsLeft = this.totalSecsLeft < 0 ? 0 : this.totalSecsLeft;
|
341 |
-
// Calculate the offsets
|
342 |
-
this.offset = {
|
343 |
-
seconds : this.totalSecsLeft % 60,
|
344 |
-
minutes : Math.floor(this.totalSecsLeft / 60) % 60,
|
345 |
-
hours : Math.floor(this.totalSecsLeft / 60 / 60) % 24,
|
346 |
-
days : Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,
|
347 |
-
totalDays : Math.floor(this.totalSecsLeft / 60 / 60 / 24),
|
348 |
-
weeks : Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7),
|
349 |
-
months : Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30),
|
350 |
-
years : Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 365)
|
351 |
-
};
|
352 |
-
// Dispatch an event
|
353 |
-
if(this.totalSecsLeft === 0) {
|
354 |
-
this.stop();
|
355 |
-
this.dispatchEvent('finish');
|
356 |
-
} else {
|
357 |
-
this.dispatchEvent('update');
|
358 |
-
}
|
359 |
-
},
|
360 |
-
dispatchEvent: function(eventName) {
|
361 |
-
var event = $.Event(eventName + '.countdown');
|
362 |
-
event.finalDate = this.finalDate;
|
363 |
-
event.offset = $.extend({}, this.offset);
|
364 |
-
event.strftime = strftime(this.offset);
|
365 |
-
this.$el.trigger(event);
|
366 |
-
}
|
367 |
-
});
|
368 |
-
// Register the jQuery selector actions
|
369 |
-
$.fn.countdownPlugin = function() {
|
370 |
-
var argumentsArray = Array.prototype.slice.call(arguments, 0);
|
371 |
-
return this.each(function() {
|
372 |
-
// If no data was set, jQuery.data returns undefined
|
373 |
-
var instanceNumber = $(this).data('countdown-instance');
|
374 |
-
// Verify if we already have a countdown for this node ...
|
375 |
-
// Fix issue #22 (Thanks to @romanbsd)
|
376 |
-
if (instanceNumber !== undefined) {
|
377 |
-
var instance = instances[instanceNumber],
|
378 |
-
method = argumentsArray[0];
|
379 |
-
// If method exists in the prototype execute
|
380 |
-
if(Countdown.prototype.hasOwnProperty(method)) {
|
381 |
-
instance[method].apply(instance, argumentsArray.slice(1));
|
382 |
-
// If method look like a date try to set a new final date
|
383 |
-
} else if(String(method).match(/^[$A-Z_][0-9A-Z_$]*$/i) === null) {
|
384 |
-
instance.setFinalDate.call(instance, method);
|
385 |
-
// Allow plugin to restart after finished
|
386 |
-
// Fix issue #38 (thanks to @yaoazhen)
|
387 |
-
instance.start();
|
388 |
-
} else {
|
389 |
-
$.error('Method %s does not exist on jQuery.countdown'
|
390 |
-
.replace(/\%s/gi, method));
|
391 |
-
}
|
392 |
-
} else {
|
393 |
-
// ... if not we create an instance
|
394 |
-
new Countdown(this, argumentsArray[0], argumentsArray[1]);
|
395 |
-
}
|
396 |
-
});
|
397 |
-
};
|
398 |
});
|
1 |
+
var timenow="";
|
2 |
+
(function() {
|
3 |
+
|
4 |
+
(function($) {
|
5 |
+
$.countdown = function(el, options) {
|
6 |
+
var getDateData,
|
7 |
+
_this = this;
|
8 |
+
this.el = el;
|
9 |
+
this.$el = $(el);
|
10 |
+
this.$el.data("countdown", this);
|
11 |
+
this.init = function() {
|
12 |
+
_this.options = $.extend({}, $.countdown.defaultOptions, options);
|
13 |
+
if (_this.options.refresh) {
|
14 |
+
_this.interval = setInterval(function() {
|
15 |
+
return _this.render();
|
16 |
+
}, _this.options.refresh);
|
17 |
+
}
|
18 |
+
_this.render();
|
19 |
+
return _this;
|
20 |
+
};
|
21 |
+
|
22 |
+
getDateData = function(endDate) {
|
23 |
+
var dateData, diff;
|
24 |
+
jQuery.ajax({
|
25 |
+
type: "POST",
|
26 |
+
url: cwp_top_ajaxload.ajaxurl,
|
27 |
+
data: {
|
28 |
+
action: "gettime_action"
|
29 |
+
},
|
30 |
+
success: function(response) {
|
31 |
+
timenow = response;
|
32 |
+
},
|
33 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
34 |
+
console.log("There was an error: "+errorThrown);
|
35 |
+
}
|
36 |
+
});
|
37 |
+
|
38 |
+
//var timenow = new Date(<?php echo time(); ?>*1000)
|
39 |
+
//var timenow = new Date( d1.getUTCFullYear(), d1.getUTCMonth(), d1.getUTCDate(), d1.getUTCHours(), d1.getUTCMinutes(), d1.getUTCSeconds() );
|
40 |
+
//endDate = Date.parse($.isPlainObject(_this.options.date) ? _this.options.date : new Date(_this.options.date));
|
41 |
+
endDate = _this.options.date;
|
42 |
+
|
43 |
+
if (timenow == '')
|
44 |
+
timenow = _this.options.date-20;
|
45 |
+
|
46 |
+
diff = endDate - timenow;
|
47 |
+
//diff = Math.floor(diff);
|
48 |
+
if (diff <= 0) {
|
49 |
+
diff = 0;
|
50 |
+
if (_this.interval) {
|
51 |
+
_this.stop();
|
52 |
+
}
|
53 |
+
_this.options.onEnd.apply(_this);
|
54 |
+
}
|
55 |
+
dateData = {
|
56 |
+
years: 0,
|
57 |
+
days: 0,
|
58 |
+
hours: 0,
|
59 |
+
min: 0,
|
60 |
+
sec: 0,
|
61 |
+
millisec: 0
|
62 |
+
};
|
63 |
+
if (diff >= (365.25 * 86400)) {
|
64 |
+
dateData.years = Math.floor(diff / (365.25 * 86400));
|
65 |
+
diff -= dateData.years * 365.25 * 86400;
|
66 |
+
}
|
67 |
+
if (diff >= 86400) {
|
68 |
+
dateData.days = Math.floor(diff / 86400);
|
69 |
+
diff -= dateData.days * 86400;
|
70 |
+
}
|
71 |
+
if (diff >= 3600) {
|
72 |
+
dateData.hours = Math.floor(diff / 3600);
|
73 |
+
diff -= dateData.hours * 3600;
|
74 |
+
}
|
75 |
+
if (diff >= 60) {
|
76 |
+
dateData.min = Math.floor(diff / 60);
|
77 |
+
diff -= dateData.min * 60;
|
78 |
+
}
|
79 |
+
dateData.sec = diff;
|
80 |
+
return dateData;
|
81 |
+
};
|
82 |
+
this.leadingZeros = function(num, length) {
|
83 |
+
if (length == null) {
|
84 |
+
length = 2;
|
85 |
+
}
|
86 |
+
num = String(num);
|
87 |
+
while (num.length < length) {
|
88 |
+
num = "0" + num;
|
89 |
+
}
|
90 |
+
return num;
|
91 |
+
};
|
92 |
+
this.update = function(newDate) {
|
93 |
+
_this.options.date = newDate;
|
94 |
+
return _this;
|
95 |
+
};
|
96 |
+
this.render = function() {
|
97 |
+
_this.options.render.apply(_this, [getDateData(_this.options.date)]);
|
98 |
+
return _this;
|
99 |
+
};
|
100 |
+
this.stop = function() {
|
101 |
+
if (_this.interval) {
|
102 |
+
clearInterval(_this.interval);
|
103 |
+
}
|
104 |
+
_this.interval = null;
|
105 |
+
jQuery(".cwp_top_container .nextTweet").html('Your post was just sent to social networks servers, wait 15s for a confirmation below. Refresh the page to see when the next one will be posted.');
|
106 |
+
|
107 |
+
return _this;
|
108 |
+
//return _this;
|
109 |
+
};
|
110 |
+
this.start = function(refresh) {
|
111 |
+
if (refresh == null) {
|
112 |
+
refresh = _this.options.refresh || $.countdown.defaultOptions.refresh;
|
113 |
+
}
|
114 |
+
if (_this.interval) {
|
115 |
+
clearInterval(_this.interval);
|
116 |
+
}
|
117 |
+
_this.render();
|
118 |
+
_this.options.refresh = refresh;
|
119 |
+
_this.interval = setInterval(function() {
|
120 |
+
return _this.render();
|
121 |
+
}, _this.options.refresh);
|
122 |
+
return _this;
|
123 |
+
};
|
124 |
+
return this.init();
|
125 |
+
};
|
126 |
+
$.countdown.defaultOptions = {
|
127 |
+
date: "June 7, 2087 15:03:25",
|
128 |
+
refresh: 2000,
|
129 |
+
onEnd: $.noop,
|
130 |
+
render: function(date) {
|
131 |
+
if (date.days!=0 || date.hours!=0 || date.min!=0 || date.sec!=0)
|
132 |
+
return $(this.el).html("" + date.days + " days, " + (this.leadingZeros(date.hours)) + " hours, " + (this.leadingZeros(date.min)) + " min and " + (this.leadingZeros(date.sec)) + " sec");
|
133 |
+
}
|
134 |
+
};
|
135 |
+
$.fn.countdown = function(options) {
|
136 |
+
return $.each(this, function(i, el) {
|
137 |
+
var $el;
|
138 |
+
$el = $(el);
|
139 |
+
if (!$el.data('countdown')) {
|
140 |
+
return $el.data('countdown', new $.countdown(el, options));
|
141 |
+
}
|
142 |
+
});
|
143 |
+
};
|
144 |
+
return void 0;
|
145 |
+
})(jQuery);
|
146 |
+
|
147 |
+
}).call(this);
|
148 |
+
|
149 |
+
|
150 |
+
;(function(factory) {
|
151 |
+
'use strict';
|
152 |
+
|
153 |
+
if (typeof define === 'function' && define.amd) {
|
154 |
+
define(['jquery'], factory);
|
155 |
+
} else {
|
156 |
+
factory(jQuery);
|
157 |
+
}
|
158 |
+
})(function($){
|
159 |
+
'use strict';
|
160 |
+
|
161 |
+
var PRECISION = 100; // 0.1 seconds, used to update the DOM
|
162 |
+
var instances = [],
|
163 |
+
matchers = [];
|
164 |
+
// Miliseconds
|
165 |
+
matchers.push(/^[0-9]*$/.source);
|
166 |
+
// Month/Day/Year [hours:minutes:seconds]
|
167 |
+
matchers.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/
|
168 |
+
.source);
|
169 |
+
// Year/Day/Month [hours:minutes:seconds] and
|
170 |
+
// Year-Day-Month [hours:minutes:seconds]
|
171 |
+
matchers.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/
|
172 |
+
.source);
|
173 |
+
// Cast the matchers to a regular expression object
|
174 |
+
matchers = new RegExp(matchers.join('|'));
|
175 |
+
// Parse a Date formatted has String to a native object
|
176 |
+
function parseDateString(dateString) {
|
177 |
+
// Pass through when a native object is sent
|
178 |
+
if(dateString instanceof Date) {
|
179 |
+
return dateString;
|
180 |
+
}
|
181 |
+
// Caste string to date object
|
182 |
+
if(String(dateString).match(matchers)) {
|
183 |
+
// If looks like a milisecond value cast to number before
|
184 |
+
// final casting (Thanks to @msigley)
|
185 |
+
if(String(dateString).match(/^[0-9]*$/)) {
|
186 |
+
dateString = Number(dateString);
|
187 |
+
}
|
188 |
+
// Replace dashes to slashes
|
189 |
+
if(String(dateString).match(/\-/)) {
|
190 |
+
dateString = String(dateString).replace(/\-/g, '/');
|
191 |
+
}
|
192 |
+
return new Date(dateString);
|
193 |
+
} else {
|
194 |
+
throw new Error('Couldn\'t cast `' + dateString +
|
195 |
+
'` to a date object.');
|
196 |
+
}
|
197 |
+
}
|
198 |
+
// Map to convert from a directive to offset object property
|
199 |
+
var DIRECTIVE_KEY_MAP = {
|
200 |
+
'Y': 'years',
|
201 |
+
'm': 'months',
|
202 |
+
'w': 'weeks',
|
203 |
+
'd': 'days',
|
204 |
+
'D': 'totalDays',
|
205 |
+
'H': 'hours',
|
206 |
+
'M': 'minutes',
|
207 |
+
'S': 'seconds'
|
208 |
+
};
|
209 |
+
// Returns an escaped regexp from the string
|
210 |
+
function escapedRegExp(str) {
|
211 |
+
var sanitize = str.toString().replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
|
212 |
+
return new RegExp(sanitize);
|
213 |
+
}
|
214 |
+
// Time string formatter
|
215 |
+
function strftime(offsetObject) {
|
216 |
+
return function(format) {
|
217 |
+
var directives = format.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);
|
218 |
+
if(directives) {
|
219 |
+
for(var i = 0, len = directives.length; i < len; ++i) {
|
220 |
+
var directive = directives[i]
|
221 |
+
.match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),
|
222 |
+
regexp = escapedRegExp(directive[0]),
|
223 |
+
modifier = directive[1] || '',
|
224 |
+
plural = directive[3] || '',
|
225 |
+
value = null;
|
226 |
+
// Get the key
|
227 |
+
directive = directive[2];
|
228 |
+
// Swap shot-versions directives
|
229 |
+
if(DIRECTIVE_KEY_MAP.hasOwnProperty(directive)) {
|
230 |
+
value = DIRECTIVE_KEY_MAP[directive];
|
231 |
+
value = Number(offsetObject[value]);
|
232 |
+
}
|
233 |
+
if(value !== null) {
|
234 |
+
// Pluralize
|
235 |
+
if(modifier === '!') {
|
236 |
+
value = pluralize(plural, value);
|
237 |
+
}
|
238 |
+
// Add zero-padding
|
239 |
+
if(modifier === '') {
|
240 |
+
if(value < 10) {
|
241 |
+
value = '0' + value.toString();
|
242 |
+
}
|
243 |
+
}
|
244 |
+
// Replace the directive
|
245 |
+
format = format.replace(regexp, value.toString());
|
246 |
+
}
|
247 |
+
}
|
248 |
+
}
|
249 |
+
format = format.replace(/%%/, '%');
|
250 |
+
return format;
|
251 |
+
};
|
252 |
+
}
|
253 |
+
// Pluralize
|
254 |
+
function pluralize(format, count) {
|
255 |
+
var plural = 's', singular = '';
|
256 |
+
if(format) {
|
257 |
+
format = format.replace(/(:|;|\s)/gi, '').split(/\,/);
|
258 |
+
if(format.length === 1) {
|
259 |
+
plural = format[0];
|
260 |
+
} else {
|
261 |
+
singular = format[0];
|
262 |
+
plural = format[1];
|
263 |
+
}
|
264 |
+
}
|
265 |
+
if(Math.abs(count) === 1) {
|
266 |
+
return singular;
|
267 |
+
} else {
|
268 |
+
return plural;
|
269 |
+
}
|
270 |
+
}
|
271 |
+
// The Final Countdown
|
272 |
+
var Countdown = function(el, finalDate, callback) {
|
273 |
+
this.el = el;
|
274 |
+
this.$el = $(el);
|
275 |
+
this.interval = null;
|
276 |
+
this.offset = {};
|
277 |
+
// Register this instance
|
278 |
+
this.instanceNumber = instances.length;
|
279 |
+
instances.push(this);
|
280 |
+
// Save the reference
|
281 |
+
this.$el.data('countdown-instance', this.instanceNumber);
|
282 |
+
// Register the callbacks when supplied
|
283 |
+
if(callback) {
|
284 |
+
this.$el.on('update.countdown', callback);
|
285 |
+
this.$el.on('stoped.countdown', callback);
|
286 |
+
this.$el.on('finish.countdown', callback);
|
287 |
+
}
|
288 |
+
// Set the final date and start
|
289 |
+
this.setFinalDate(finalDate);
|
290 |
+
this.start();
|
291 |
+
};
|
292 |
+
$.extend(Countdown.prototype, {
|
293 |
+
start: function() {
|
294 |
+
if(this.interval !== null) {
|
295 |
+
clearInterval(this.interval);
|
296 |
+
}
|
297 |
+
var self = this;
|
298 |
+
this.update();
|
299 |
+
this.interval = setInterval(function() {
|
300 |
+
self.update.call(self);
|
301 |
+
}, PRECISION);
|
302 |
+
},
|
303 |
+
stop: function() {
|
304 |
+
clearInterval(this.interval);
|
305 |
+
this.interval = null;
|
306 |
+
this.dispatchEvent('stoped');
|
307 |
+
},
|
308 |
+
toggle: function() {
|
309 |
+
if (this.interval) {
|
310 |
+
this.stop();
|
311 |
+
} else {
|
312 |
+
this.start();
|
313 |
+
}
|
314 |
+
},
|
315 |
+
pause: function() {
|
316 |
+
this.stop();
|
317 |
+
},
|
318 |
+
resume: function() {
|
319 |
+
this.start();
|
320 |
+
},
|
321 |
+
remove: function() {
|
322 |
+
this.stop.call(this);
|
323 |
+
instances[this.instanceNumber] = null;
|
324 |
+
// Reset the countdown instance under data attr (Thanks to @assiotis)
|
325 |
+
delete this.$el.data().countdownInstance;
|
326 |
+
},
|
327 |
+
setFinalDate: function(value) {
|
328 |
+
this.finalDate = parseDateString(value); // Cast the given date
|
329 |
+
},
|
330 |
+
update: function() {
|
331 |
+
// Stop if dom is not in the html (Thanks to @dleavitt)
|
332 |
+
if(this.$el.closest('html').length === 0) {
|
333 |
+
this.remove();
|
334 |
+
return;
|
335 |
+
}
|
336 |
+
// Calculate the remaining time
|
337 |
+
this.totalSecsLeft = this.finalDate.getTime() -
|
338 |
+
new Date().getTime(); // In miliseconds
|
339 |
+
this.totalSecsLeft = Math.ceil(this.totalSecsLeft / 1000);
|
340 |
+
this.totalSecsLeft = this.totalSecsLeft < 0 ? 0 : this.totalSecsLeft;
|
341 |
+
// Calculate the offsets
|
342 |
+
this.offset = {
|
343 |
+
seconds : this.totalSecsLeft % 60,
|
344 |
+
minutes : Math.floor(this.totalSecsLeft / 60) % 60,
|
345 |
+
hours : Math.floor(this.totalSecsLeft / 60 / 60) % 24,
|
346 |
+
days : Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,
|
347 |
+
totalDays : Math.floor(this.totalSecsLeft / 60 / 60 / 24),
|
348 |
+
weeks : Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7),
|
349 |
+
months : Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30),
|
350 |
+
years : Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 365)
|
351 |
+
};
|
352 |
+
// Dispatch an event
|
353 |
+
if(this.totalSecsLeft === 0) {
|
354 |
+
this.stop();
|
355 |
+
this.dispatchEvent('finish');
|
356 |
+
} else {
|
357 |
+
this.dispatchEvent('update');
|
358 |
+
}
|
359 |
+
},
|
360 |
+
dispatchEvent: function(eventName) {
|
361 |
+
var event = $.Event(eventName + '.countdown');
|
362 |
+
event.finalDate = this.finalDate;
|
363 |
+
event.offset = $.extend({}, this.offset);
|
364 |
+
event.strftime = strftime(this.offset);
|
365 |
+
this.$el.trigger(event);
|
366 |
+
}
|
367 |
+
});
|
368 |
+
// Register the jQuery selector actions
|
369 |
+
$.fn.countdownPlugin = function() {
|
370 |
+
var argumentsArray = Array.prototype.slice.call(arguments, 0);
|
371 |
+
return this.each(function() {
|
372 |
+
// If no data was set, jQuery.data returns undefined
|
373 |
+
var instanceNumber = $(this).data('countdown-instance');
|
374 |
+
// Verify if we already have a countdown for this node ...
|
375 |
+
// Fix issue #22 (Thanks to @romanbsd)
|
376 |
+
if (instanceNumber !== undefined) {
|
377 |
+
var instance = instances[instanceNumber],
|
378 |
+
method = argumentsArray[0];
|
379 |
+
// If method exists in the prototype execute
|
380 |
+
if(Countdown.prototype.hasOwnProperty(method)) {
|
381 |
+
instance[method].apply(instance, argumentsArray.slice(1));
|
382 |
+
// If method look like a date try to set a new final date
|
383 |
+
} else if(String(method).match(/^[$A-Z_][0-9A-Z_$]*$/i) === null) {
|
384 |
+
instance.setFinalDate.call(instance, method);
|
385 |
+
// Allow plugin to restart after finished
|
386 |
+
// Fix issue #38 (thanks to @yaoazhen)
|
387 |
+
instance.start();
|
388 |
+
} else {
|
389 |
+
$.error('Method %s does not exist on jQuery.countdown'
|
390 |
+
.replace(/\%s/gi, method));
|
391 |
+
}
|
392 |
+
} else {
|
393 |
+
// ... if not we create an instance
|
394 |
+
new Countdown(this, argumentsArray[0], argumentsArray[1]);
|
395 |
+
}
|
396 |
+
});
|
397 |
+
};
|
398 |
});
|
js/master.js
CHANGED
@@ -1,1076 +1,1091 @@
|
|
1 |
-
jQuery(document).ready(function(){
|
2 |
-
|
3 |
-
|
4 |
-
jQuery(".rop-not-version ").on("click" ,function(){
|
5 |
-
console.log('not version')
|
6 |
-
jQuery(".cwp_not_version_preview").show();
|
7 |
-
return false;
|
8 |
-
});
|
9 |
-
setInterval(function(){
|
10 |
-
var clock = jQuery(".rop-twitter-clock");
|
11 |
-
var time = parseInt(clock.attr('data-current'));
|
12 |
-
// console.log(time);
|
13 |
-
clock.attr('data-current',time+1);
|
14 |
-
clock.find("b").html(new Date(time * 1000).toUTCString());
|
15 |
-
},1000);
|
16 |
-
jQuery(".cwp_top_wrapper").append("<div class='ajaxAnimation'></div>");
|
17 |
-
jQuery("#update-options").click(function(e){
|
18 |
-
e.preventDefault();
|
19 |
-
cwpTopUpdateForm();
|
20 |
-
return false;
|
21 |
-
});
|
22 |
-
jQuery("#reset-settings").click(function(e) {
|
23 |
-
if(confirm('Are you sure you want to reset all settings? You can\'t undo this action.')) {
|
24 |
-
e.preventDefault();
|
25 |
-
startAjaxIntro();
|
26 |
-
|
27 |
-
jQuery.ajax({
|
28 |
-
type: "POST",
|
29 |
-
url: cwp_top_ajaxload.ajaxurl,
|
30 |
-
data: {
|
31 |
-
action: 'reset_options'
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
if(jQuery(this).hasClass("
|
51 |
-
jQuery(
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
if(jQuery(this).hasClass("
|
57 |
-
jQuery(
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
if(jQuery(this).hasClass("
|
63 |
-
jQuery(
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
if(jQuery(this).hasClass("
|
69 |
-
if(jQuery(this).hasClass("
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
if(jQuery(this).hasClass("
|
79 |
-
if(jQuery(this).hasClass("
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
var
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
},
|
139 |
-
|
140 |
-
console.log(
|
141 |
-
}
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
var
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
extra.
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
extra.
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
jQuery("
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
if($json .
|
523 |
-
|
524 |
-
else
|
525 |
-
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.
|
526 |
-
if($json .
|
527 |
-
|
528 |
-
else
|
529 |
-
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
jQuery("
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
})
|
770 |
-
jQuery(".cwp-
|
771 |
-
var th = jQuery(this);
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
})
|
803 |
-
|
804 |
-
|
805 |
-
var th = jQuery(this);
|
806 |
-
if(th.
|
807 |
-
var
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
}
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
var
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
return false
|
834 |
-
})
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
function
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
<option value="
|
925 |
-
<option value="
|
926 |
-
<option value="
|
927 |
-
<option value="
|
928 |
-
<option value="
|
929 |
-
<option value="
|
930 |
-
<option value="
|
931 |
-
<option value="
|
932 |
-
<option value="
|
933 |
-
</
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
<option value="
|
951 |
-
<option value="
|
952 |
-
<option value="
|
953 |
-
<option value="
|
954 |
-
<option value="
|
955 |
-
<option value="
|
956 |
-
<option value="
|
957 |
-
<option value="
|
958 |
-
<option value="
|
959 |
-
<option value="
|
960 |
-
<option value="
|
961 |
-
<option value="
|
962 |
-
<option value="
|
963 |
-
<option value="
|
964 |
-
<option value="
|
965 |
-
<option value="
|
966 |
-
<option value="
|
967 |
-
<option value="
|
968 |
-
<option value="
|
969 |
-
<option value="
|
970 |
-
<option value="
|
971 |
-
<option value="
|
972 |
-
<option value="
|
973 |
-
<option value="
|
974 |
-
<option value="
|
975 |
-
<option value="
|
976 |
-
<option value="
|
977 |
-
<option value="
|
978 |
-
<option value="
|
979 |
-
<option value="
|
980 |
-
<option value="
|
981 |
-
<option value="
|
982 |
-
<option value="
|
983 |
-
<option value="
|
984 |
-
<option value="
|
985 |
-
<option value="
|
986 |
-
<option value="
|
987 |
-
<option value="
|
988 |
-
<option value="
|
989 |
-
<option value="
|
990 |
-
<option value="
|
991 |
-
<option value="
|
992 |
-
<option value="
|
993 |
-
<option value="
|
994 |
-
<option value="
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
function
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
container
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
}
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
}
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function(){
|
2 |
+
|
3 |
+
|
4 |
+
jQuery(".rop-not-version ").on("click" ,function(){
|
5 |
+
console.log('not version')
|
6 |
+
jQuery(".cwp_not_version_preview").show();
|
7 |
+
return false;
|
8 |
+
});
|
9 |
+
setInterval(function(){
|
10 |
+
var clock = jQuery(".rop-twitter-clock");
|
11 |
+
var time = parseInt(clock.attr('data-current'));
|
12 |
+
// console.log(time);
|
13 |
+
clock.attr('data-current',time+1);
|
14 |
+
clock.find("b").html(new Date(time * 1000).toUTCString());
|
15 |
+
},1000);
|
16 |
+
jQuery(".cwp_top_wrapper").append("<div class='ajaxAnimation'></div>");
|
17 |
+
jQuery("#update-options").click(function(e){
|
18 |
+
e.preventDefault();
|
19 |
+
cwpTopUpdateForm();
|
20 |
+
return false;
|
21 |
+
});
|
22 |
+
jQuery("#reset-settings").click(function(e) {
|
23 |
+
if(confirm('Are you sure you want to reset all settings? You can\'t undo this action.')) {
|
24 |
+
e.preventDefault();
|
25 |
+
startAjaxIntro();
|
26 |
+
|
27 |
+
jQuery.ajax({
|
28 |
+
type: "POST",
|
29 |
+
url: cwp_top_ajaxload.ajaxurl,
|
30 |
+
data: {
|
31 |
+
action: 'reset_options',
|
32 |
+
security: cwp_top_ajaxload.ajaxnonce
|
33 |
+
},
|
34 |
+
success: function(response) {
|
35 |
+
console.log("Success: " + response);
|
36 |
+
//jQuery("#cwp_top_form").cwpTopUpdateForm();
|
37 |
+
location.reload();
|
38 |
+
endAjaxIntro();
|
39 |
+
},
|
40 |
+
error: function(response) {
|
41 |
+
console.log("Error: "+ response);
|
42 |
+
}
|
43 |
+
});
|
44 |
+
|
45 |
+
endAjaxIntro();
|
46 |
+
return false;
|
47 |
+
}
|
48 |
+
});
|
49 |
+
jQuery("#linkedin-login").on("click",function(){
|
50 |
+
if(jQuery(this).hasClass("pro-only")) return false;
|
51 |
+
if(jQuery(this).hasClass("rop-not-version")) return false;
|
52 |
+
jQuery(".cwp_lkapp_preview").show();
|
53 |
+
return false;
|
54 |
+
});
|
55 |
+
jQuery("#xing-login").on("click",function(){
|
56 |
+
if(jQuery(this).hasClass("pro-only")) return false;
|
57 |
+
if(jQuery(this).hasClass("rop-not-version")) return false;
|
58 |
+
jQuery(".cwp_xingapp_preview").show();
|
59 |
+
return false;
|
60 |
+
});
|
61 |
+
jQuery("#tumblr-login").on("click",function(){
|
62 |
+
if(jQuery(this).hasClass("pro-only")) return false;
|
63 |
+
if(jQuery(this).hasClass("rop-not-version")) return false;
|
64 |
+
jQuery(".cwp_tumblrapp_preview").show();
|
65 |
+
return false;
|
66 |
+
});
|
67 |
+
jQuery("#facebook-login").on("click",function(){
|
68 |
+
if(jQuery(this).hasClass("pro-only")) return false;
|
69 |
+
if(jQuery(this).hasClass("rop-not-version")) return false;
|
70 |
+
if(jQuery(this).hasClass("another-account")){
|
71 |
+
addFacebook()
|
72 |
+
}else{
|
73 |
+
jQuery(".cwp_fbapp_preview").show();
|
74 |
+
}
|
75 |
+
return false;
|
76 |
+
});
|
77 |
+
jQuery("#facebook-login").on("click",function(){
|
78 |
+
if(jQuery(this).hasClass("pro-only")) return false;
|
79 |
+
if(jQuery(this).hasClass("rop-not-version")) return false;
|
80 |
+
if(jQuery(this).hasClass("another-account")){
|
81 |
+
addFacebook()
|
82 |
+
}else{
|
83 |
+
jQuery(".cwp_fbapp_preview").show();
|
84 |
+
}
|
85 |
+
return false;
|
86 |
+
});
|
87 |
+
jQuery("#cwp_remote_check").on("click",function(){
|
88 |
+
|
89 |
+
var state = "";
|
90 |
+
var th = jQuery(this);
|
91 |
+
if(th.hasClass("on")){
|
92 |
+
state = "off";
|
93 |
+
th.addClass("off").removeClass("on");
|
94 |
+
}else{
|
95 |
+
state = "on";
|
96 |
+
th.addClass("on").removeClass("off");
|
97 |
+
}
|
98 |
+
jQuery.ajax({
|
99 |
+
type: "POST",
|
100 |
+
url: cwp_top_ajaxload.ajaxurl,
|
101 |
+
data: {
|
102 |
+
action: 'remote_trigger',
|
103 |
+
state:state,
|
104 |
+
security: cwp_top_ajaxload.ajaxnonce
|
105 |
+
},
|
106 |
+
success: function(response) {
|
107 |
+
console.log(response);
|
108 |
+
if(!response.success){
|
109 |
+
if(response.data && response.data.showAlert) alert(response.data.error);
|
110 |
+
state = "off";
|
111 |
+
th.addClass("off").removeClass("on");
|
112 |
+
}
|
113 |
+
},
|
114 |
+
error: function(response) {
|
115 |
+
console.log("Error: "+ response);
|
116 |
+
}
|
117 |
+
});
|
118 |
+
return false;
|
119 |
+
})
|
120 |
+
jQuery("#rop-beta-button").on("click",function(){
|
121 |
+
|
122 |
+
var state = "";
|
123 |
+
var th = jQuery(this);
|
124 |
+
if(th.hasClass("on")){
|
125 |
+
state = "off";
|
126 |
+
th.addClass("off").removeClass("on");
|
127 |
+
}else{
|
128 |
+
state = "on";
|
129 |
+
th.addClass("on").removeClass("off");
|
130 |
+
}
|
131 |
+
jQuery.ajax({
|
132 |
+
type: "POST",
|
133 |
+
url: cwp_top_ajaxload.ajaxurl,
|
134 |
+
data: {
|
135 |
+
action: 'beta_user_trigger',
|
136 |
+
state:state,
|
137 |
+
security: cwp_top_ajaxload.ajaxnonce
|
138 |
+
},
|
139 |
+
success: function(response) {
|
140 |
+
console.log(response);
|
141 |
+
},
|
142 |
+
error: function(response) {
|
143 |
+
console.log("Error: "+ response);
|
144 |
+
}
|
145 |
+
});
|
146 |
+
return false;
|
147 |
+
});
|
148 |
+
|
149 |
+
function cwpTopUpdateForm() {
|
150 |
+
startAjaxIntro();
|
151 |
+
var data = jQuery("#cwp_top_form").serialize();
|
152 |
+
//console.log(data);
|
153 |
+
|
154 |
+
var formData = {
|
155 |
+
action:'updateAllOptions',
|
156 |
+
dataSent:data
|
157 |
+
}
|
158 |
+
|
159 |
+
jQuery.ajax({
|
160 |
+
type: "POST",
|
161 |
+
url: cwp_top_ajaxload.ajaxurl,
|
162 |
+
async:false,
|
163 |
+
data: {
|
164 |
+
action: "update_response",
|
165 |
+
dataSent: formData,
|
166 |
+
security: cwp_top_ajaxload.ajaxnonce
|
167 |
+
},
|
168 |
+
success: function(response) {
|
169 |
+
console.log(response);
|
170 |
+
},
|
171 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
172 |
+
console.log("There was an error: "+errorThrown);
|
173 |
+
}
|
174 |
+
});
|
175 |
+
|
176 |
+
endAjaxIntro();
|
177 |
+
return false;
|
178 |
+
}
|
179 |
+
|
180 |
+
function cwpTopUpdateFormWithoIntro() {
|
181 |
+
//startAjaxIntro();
|
182 |
+
var data = jQuery("#cwp_top_form").serialize();
|
183 |
+
//console.log(data);
|
184 |
+
|
185 |
+
var formData = {
|
186 |
+
action:'updateAllOptions',
|
187 |
+
dataSent:data
|
188 |
+
}
|
189 |
+
|
190 |
+
jQuery.ajax({
|
191 |
+
type: "POST",
|
192 |
+
url: cwp_top_ajaxload.ajaxurl,
|
193 |
+
data: {
|
194 |
+
action: "update_response",
|
195 |
+
dataSent: formData,
|
196 |
+
security: cwp_top_ajaxload.ajaxnonce
|
197 |
+
},
|
198 |
+
success: function(response) {
|
199 |
+
console.log(response);
|
200 |
+
},
|
201 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
202 |
+
console.log("There was an error: "+errorThrown);
|
203 |
+
}
|
204 |
+
});
|
205 |
+
|
206 |
+
//endAjaxIntro();
|
207 |
+
return false;
|
208 |
+
}
|
209 |
+
|
210 |
+
|
211 |
+
|
212 |
+
|
213 |
+
|
214 |
+
|
215 |
+
function addFacebook(){
|
216 |
+
var service = "facebook";
|
217 |
+
|
218 |
+
startAjaxIntro();
|
219 |
+
jQuery.ajax({
|
220 |
+
type: "POST",
|
221 |
+
url: cwp_top_ajaxload.ajaxurl,
|
222 |
+
data: {
|
223 |
+
action: "display_pages",
|
224 |
+
currentURL: jQuery("#cwp_top_currenturl").val(),
|
225 |
+
social_network: service,
|
226 |
+
security: cwp_top_ajaxload.ajaxnonce
|
227 |
+
},
|
228 |
+
success: function(response) {
|
229 |
+
switch (service) {
|
230 |
+
|
231 |
+
case 'facebook':
|
232 |
+
var elem = jQuery(".cwp_top_wrapper .cwp_user_pages");
|
233 |
+
elem.fadeIn().addClass("active");
|
234 |
+
|
235 |
+
var scrollhere = elem.offset().top+(jQuery(window).height()+elem.height())/2;
|
236 |
+
jQuery('html, body').scrollTop(scrollhere);
|
237 |
+
response = JSON.parse(response);
|
238 |
+
html='';
|
239 |
+
data = response.data;
|
240 |
+
|
241 |
+
for (i = 0; i < data.length; i++) {
|
242 |
+
// if (jQuery(".remove_user a[service=facebook").attr("id")!==data[i].id) {
|
243 |
+
html+="<a href='#' class='cwp_preview_page' service='"+service+"' pagetoken='"+data[i].access_token+"' pageid='"+data[i].id+"'>";
|
244 |
+
profile_image = 'https://graph.facebook.com/'+data[i].id+'/picture';
|
245 |
+
name = data[i].name;
|
246 |
+
category = data[i].category.substr(0,9);
|
247 |
+
html+="<div class='page_avatar'><img src='"+profile_image+"'/></div><div class='page_name'>"+name+"</div><div class='page_category'>"+category+"</div></a>";
|
248 |
+
//}
|
249 |
+
}
|
250 |
+
//html+='<button class="top_close_popup">Close preview</button>';
|
251 |
+
//data.length = 3;
|
252 |
+
fheight = (Math.ceil(data.length / 4) )*95;
|
253 |
+
//if (fheight<=0) fheight = 175;
|
254 |
+
jQuery(".cwp_top_wrapper .cwp_user_pages .cwp_user_pages_inner ").html(html);
|
255 |
+
jQuery(".cwp_top_wrapper .cwp_user_pages .cwp_user_pages_inner ").height(fheight);
|
256 |
+
jQuery(".cwp_top_wrapper .cwp_user_pages .cwp_sample_tweet_preview_inner ").height(fheight+120);
|
257 |
+
|
258 |
+
endAjaxIntro();
|
259 |
+
break;
|
260 |
+
|
261 |
+
|
262 |
+
case 'linkedin':
|
263 |
+
var elem = jQuery(".cwp_top_wrapper .cwp_user_pages");
|
264 |
+
elem.fadeIn().addClass("active");
|
265 |
+
|
266 |
+
var scrollhere = elem.offset().top+(jQuery(window).height()+elem.height())/2;
|
267 |
+
jQuery('html, body').scrollTop(scrollhere);
|
268 |
+
response = JSON.parse(response);
|
269 |
+
html='';
|
270 |
+
data = response.data;
|
271 |
+
for (i = 0; i < data.length; i++) {
|
272 |
+
html+="<a href='#' class='cwp_preview_page' service='"+service+"' pagetoken='"+data[i].access_token+"' pageid='"+data[i].id+"'>";
|
273 |
+
profile_image = 'https://graph.facebook.com/'+data[i].id+'/picture';
|
274 |
+
name = data[i].name;
|
275 |
+
category = data[i].category.substr(0,9);
|
276 |
+
html+="<div class='page_avatar'><img src='"+profile_image+"'/></div><div class='page_name'>"+name+"</div><div class='page_category'>"+category+"</div></a>";
|
277 |
+
|
278 |
+
}
|
279 |
+
jQuery(".cwp_top_wrapper .cwp_user_pages .cwp_user_pages_inner ").html(html);
|
280 |
+
endAjaxIntro();
|
281 |
+
break;
|
282 |
+
}
|
283 |
+
|
284 |
+
},
|
285 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
286 |
+
console.log("There was an error: " + errorThrown);
|
287 |
+
}
|
288 |
+
});
|
289 |
+
|
290 |
+
|
291 |
+
|
292 |
+
return false;
|
293 |
+
}
|
294 |
+
|
295 |
+
// Add New Account
|
296 |
+
if ((cwpfbadd) && jQuery("#cwp_top_currenturl").attr("data-cnetwork")!= 'tumblr') {
|
297 |
+
addFacebook();
|
298 |
+
};
|
299 |
+
|
300 |
+
// Add New Twitter Account
|
301 |
+
jQuery("#twitter-login,.top_authorize").click(function(e){
|
302 |
+
|
303 |
+
if(jQuery(this).hasClass("rop-not-version")) return false;
|
304 |
+
var service = jQuery(this).attr('service');
|
305 |
+
var action = "add_new_account";
|
306 |
+
var extra = {};
|
307 |
+
if(service != 'twitter'){
|
308 |
+
e.preventDefault();
|
309 |
+
startAjaxIntro();
|
310 |
+
if (service=='facebook') {
|
311 |
+
extra.app_id = jQuery("#top_opt_app_id").val();
|
312 |
+
extra.app_secret = jQuery("#top_opt_app_secret").val();
|
313 |
+
}
|
314 |
+
|
315 |
+
if(service == 'linkedin') {
|
316 |
+
extra.app_id = jQuery("#top_opt_app_id_lk").val();
|
317 |
+
extra.app_secret = jQuery("#top_opt_app_secret_lk").val();
|
318 |
+
}
|
319 |
+
if(service == 'xing') {
|
320 |
+
extra.app_id = jQuery("#top_opt_app_id_xing").val();
|
321 |
+
extra.app_secret = jQuery("#top_opt_app_secret_xing").val();
|
322 |
+
}
|
323 |
+
if(service == 'tumblr') {
|
324 |
+
extra.app_id = jQuery("#top_opt_app_id_tumblr").val();
|
325 |
+
extra.app_secret = jQuery("#top_opt_app_secret_tumblr").val();
|
326 |
+
extra.app_url = jQuery("#top_opt_app_url_tumblr").val();
|
327 |
+
}
|
328 |
+
|
329 |
+
|
330 |
+
}
|
331 |
+
startAjaxIntro();
|
332 |
+
jQuery.ajax({
|
333 |
+
type: "POST",
|
334 |
+
url: cwp_top_ajaxload.ajaxurl,
|
335 |
+
data: {
|
336 |
+
action: action,
|
337 |
+
currentURL: jQuery("#cwp_top_currenturl").val(),
|
338 |
+
social_network: service,
|
339 |
+
extra:extra,
|
340 |
+
security: cwp_top_ajaxload.ajaxnonce
|
341 |
+
},
|
342 |
+
dataType:"json",
|
343 |
+
success: function(response) {
|
344 |
+
|
345 |
+
if(response.url){
|
346 |
+
window.location.href = response.url;
|
347 |
+
}else{
|
348 |
+
jQuery(".cwp_fbapp_preview").hide();
|
349 |
+
jQuery(".cwp_lkapp_preview").hide();
|
350 |
+
endAjaxIntro();
|
351 |
+
|
352 |
+
}
|
353 |
+
/*if (response.indexOf("upgrade to the PRO")===-1) {
|
354 |
+
switch (service) {
|
355 |
+
case 'twitter':
|
356 |
+
window.location.href = response;
|
357 |
+
break;
|
358 |
+
case 'facebook':
|
359 |
+
if (another===0) {
|
360 |
+
|
361 |
+
var elem = jQuery(".cwp_top_wrapper .cwp_fbapp_preview")
|
362 |
+
elem.fadeIn().addClass("active");
|
363 |
+
|
364 |
+
var scrollhere = elem.offset().top+(jQuery(window).height()+elem.height())/2;
|
365 |
+
jQuery('html, body').scrollTop(scrollhere);
|
366 |
+
} else {
|
367 |
+
addFacebook();
|
368 |
+
}
|
369 |
+
endAjaxIntro();
|
370 |
+
|
371 |
+
break;
|
372 |
+
case 'linkedin':
|
373 |
+
var elem = jQuery(".cwp_top_wrapper .cwp_lkapp_preview")
|
374 |
+
elem.fadeIn().addClass("active");
|
375 |
+
|
376 |
+
var scrollhere = elem.offset().top+(jQuery(window).height()+elem.height())/2;
|
377 |
+
jQuery('html, body').scrollTop(scrollhere);
|
378 |
+
// html = "<input type='text' placeholder='App key'/>";
|
379 |
+
//jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet").html(html);
|
380 |
+
endAjaxIntro();
|
381 |
+
break;
|
382 |
+
}
|
383 |
+
}else {
|
384 |
+
jQuery(".cwp_top_status .inactive").html(response);
|
385 |
+
endAjaxIntro();
|
386 |
+
}*/
|
387 |
+
|
388 |
+
|
389 |
+
},
|
390 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
391 |
+
console.log("There was an error: " + errorThrown);
|
392 |
+
}
|
393 |
+
});
|
394 |
+
|
395 |
+
return false;
|
396 |
+
});
|
397 |
+
|
398 |
+
// Log Out Twitter User
|
399 |
+
jQuery("#cwp_top_form .logout_user").click(function(e){
|
400 |
+
e.preventDefault();
|
401 |
+
startAjaxIntro();
|
402 |
+
|
403 |
+
var userID = jQuery(this).attr('id');
|
404 |
+
|
405 |
+
jQuery.ajax({
|
406 |
+
type: "POST",
|
407 |
+
url: cwp_top_ajaxload.ajaxurl,
|
408 |
+
data: {
|
409 |
+
action: "log_out_user",
|
410 |
+
user_id: userID,
|
411 |
+
security: cwp_top_ajaxload.ajaxnonce
|
412 |
+
},
|
413 |
+
success: function(response) {
|
414 |
+
window.location.href = jQuery("#cwp_top_currenturl").val();
|
415 |
+
},
|
416 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
417 |
+
console.log("There was an error: "+errorThrown);
|
418 |
+
}
|
419 |
+
});
|
420 |
+
|
421 |
+
endAjaxIntro();
|
422 |
+
});
|
423 |
+
jQuery("#rop-clear-log").on("click",function(){
|
424 |
+
clearNotices();
|
425 |
+
jQuery.ajax({
|
426 |
+
type: "POST",
|
427 |
+
url: cwp_top_ajaxload.ajaxurl,
|
428 |
+
data: {
|
429 |
+
action: "rop_clear_log",
|
430 |
+
security: cwp_top_ajaxload.ajaxnonce
|
431 |
+
}
|
432 |
+
});
|
433 |
+
return false;
|
434 |
+
})
|
435 |
+
// Start Tweet
|
436 |
+
jQuery("#tweet-now").click(function(e){
|
437 |
+
|
438 |
+
startAjaxIntro();
|
439 |
+
cwpTopUpdateForm();
|
440 |
+
|
441 |
+
jQuery.ajax({
|
442 |
+
type: "POST",
|
443 |
+
url: cwp_top_ajaxload.ajaxurl,
|
444 |
+
data: {
|
445 |
+
action: "tweet_old_post_action",
|
446 |
+
security: cwp_top_ajaxload.ajaxnonce
|
447 |
+
},
|
448 |
+
success: function(response) {
|
449 |
+
|
450 |
+
location.reload();
|
451 |
+
},
|
452 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
453 |
+
console.log("There was an error: "+errorThrown);
|
454 |
+
}
|
455 |
+
});
|
456 |
+
|
457 |
+
endAjaxIntro();
|
458 |
+
});
|
459 |
+
|
460 |
+
setInterval(function(){ jQuery.ajax({
|
461 |
+
type: "POST",
|
462 |
+
url: cwp_top_ajaxload.ajaxurl,
|
463 |
+
data: {
|
464 |
+
action: "getNotice_action",
|
465 |
+
security: cwp_top_ajaxload.ajaxnonce
|
466 |
+
},
|
467 |
+
dataType:"json",
|
468 |
+
success: function(response) {
|
469 |
+
|
470 |
+
if(response.length > 0 ){
|
471 |
+
jQuery(".inactive-rop-error-label").hide();
|
472 |
+
jQuery(".active-rop-error-label").show();
|
473 |
+
jQuery(".rop-error-log span").html(response.length).removeClass('no-error');
|
474 |
+
jQuery(".active-rop-error-label").html( " You have <b>" + response.length + " </b>new messages ! Go to Log tab to see them");
|
475 |
+
jQuery("#rop-log-list").html('');
|
476 |
+
jQuery.each(response,function(k,v){
|
477 |
+
|
478 |
+
jQuery("#rop-log-list").append('<li class="rop-log-item rop-'+ v.type +'"> <span class="rop-log-date">' + v.time + '</span> <span class="rop-log-text">'+ v.message+ '</span> </li>');
|
479 |
+
|
480 |
+
|
481 |
+
})
|
482 |
+
|
483 |
+
}else{
|
484 |
+
clearNotices();
|
485 |
+
jQuery("#rop-log-list").html('<li class="rop-log-item rop-notice"> <span class="rop-log-text">You have no messages ! </span> </li>');
|
486 |
+
|
487 |
+
}
|
488 |
+
|
489 |
+
}
|
490 |
+
} )
|
491 |
+
},3000);
|
492 |
+
|
493 |
+
jQuery("#see-sample-tweet").click(function(e){
|
494 |
+
if(!cwpTopCheckAccounts()){
|
495 |
+
jQuery("#tabs_menu li:first").trigger("click");
|
496 |
+
showCWPROPError("You need to add an account in order to start posting.");
|
497 |
+
return false;
|
498 |
+
}
|
499 |
+
e.preventDefault();
|
500 |
+
startAjaxIntro();
|
501 |
+
cwpTopUpdateFormWithoIntro();
|
502 |
+
jQuery.ajax({
|
503 |
+
type: "POST",
|
504 |
+
url: cwp_top_ajaxload.ajaxurl,
|
505 |
+
data: {
|
506 |
+
action: "view_sample_tweet_action",
|
507 |
+
security: cwp_top_ajaxload.ajaxnonce
|
508 |
+
},
|
509 |
+
success: function(response) {
|
510 |
+
if(response !== '') {
|
511 |
+
|
512 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview").fadeIn().addClass("active");
|
513 |
+
|
514 |
+
//jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview").css("top", ( jQuery(window).height() - this.height() ) / 2+jQuery(window).scrollTop() + "px");
|
515 |
+
//jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview").css("left", ( jQuery(window).width() - this.width() ) / 2+jQuery(window).scrollLeft() + "px");
|
516 |
+
var elem = jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview");
|
517 |
+
|
518 |
+
jQuery(window).scrollTop(0);
|
519 |
+
|
520 |
+
$json = JSON.parse(response);
|
521 |
+
|
522 |
+
if($json .twitter)
|
523 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_twitter").html($json .twitter);
|
524 |
+
else
|
525 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_twitter").hide().prev().hide();
|
526 |
+
if($json .facebook)
|
527 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_facebook").html( $json .facebook) ;
|
528 |
+
else
|
529 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_facebook").hide().prev().hide();
|
530 |
+
if($json .linkedin)
|
531 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_linkedin").html( $json .linkedin);
|
532 |
+
else
|
533 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_linkedin").hide().prev().hide();
|
534 |
+
if($json .xing)
|
535 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_xing").html( $json .xing);
|
536 |
+
else
|
537 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_xing").hide().prev().hide();
|
538 |
+
if($json .tumblr)
|
539 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_tumblr").html( $json .tumblr);
|
540 |
+
else
|
541 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner .sample_tweet.sample_tweet_tumblr").hide().prev().hide();
|
542 |
+
|
543 |
+
}
|
544 |
+
endAjaxIntro();
|
545 |
+
},
|
546 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
547 |
+
console.log("There was an error: "+errorThrown);
|
548 |
+
endAjaxIntro();
|
549 |
+
}
|
550 |
+
});
|
551 |
+
|
552 |
+
|
553 |
+
});
|
554 |
+
|
555 |
+
// Stop Tweet Old Post
|
556 |
+
jQuery("#stop-tweet-old-post").click(function(e){
|
557 |
+
e.preventDefault();
|
558 |
+
startAjaxIntro();
|
559 |
+
cwpTopUpdateForm();
|
560 |
+
|
561 |
+
jQuery.ajax({
|
562 |
+
type: "POST",
|
563 |
+
url: cwp_top_ajaxload.ajaxurl,
|
564 |
+
data: {
|
565 |
+
action: "stop_tweet_old_post",
|
566 |
+
security: cwp_top_ajaxload.ajaxnonce
|
567 |
+
},
|
568 |
+
success: function(response) {
|
569 |
+
if(response !== '') {
|
570 |
+
jQuery('.cwp_top_wrapper').append(response);
|
571 |
+
}
|
572 |
+
location.reload();
|
573 |
+
},
|
574 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
575 |
+
console.log("There was an error: "+errorThrown);
|
576 |
+
}
|
577 |
+
});
|
578 |
+
endAjaxIntro();
|
579 |
+
//location.reload();
|
580 |
+
});
|
581 |
+
|
582 |
+
jQuery(".cwp_sample_tweet_preview_inner button.top_close_popup").on("click",function(e){
|
583 |
+
jQuery(this).parent().parent().fadeOut().removeClass("active");
|
584 |
+
});
|
585 |
+
|
586 |
+
jQuery(".cwp_user_pages_inner button.top_close_popup").on("click",function(e){
|
587 |
+
e.preventDefault();
|
588 |
+
jQuery(this).parent().parent().parent().fadeOut().removeClass("active");
|
589 |
+
return false;
|
590 |
+
});
|
591 |
+
|
592 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview .cwp_sample_tweet_preview_inner button.tweetitnow").click(function(e){
|
593 |
+
e.preventDefault();
|
594 |
+
startAjaxIntro();
|
595 |
+
|
596 |
+
jQuery.ajax({
|
597 |
+
type: "POST",
|
598 |
+
url: cwp_top_ajaxload.ajaxurl,
|
599 |
+
data: {
|
600 |
+
action: "tweet_now_action",
|
601 |
+
security: cwp_top_ajaxload.ajaxnonce
|
602 |
+
},
|
603 |
+
success: function(response) {
|
604 |
+
endAjaxIntro();
|
605 |
+
jQuery(".cwp_top_wrapper .cwp_sample_tweet_preview").fadeOut().removeClass("active");
|
606 |
+
jQuery('html, body').animate({
|
607 |
+
scrollTop: jQuery(".cwp_top_wrapper .cwp_top_status").offset().top
|
608 |
+
}, 1000);
|
609 |
+
},
|
610 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
611 |
+
console.log("There was an error: "+errorThrown);
|
612 |
+
endAjaxIntro();
|
613 |
+
}
|
614 |
+
});
|
615 |
+
});
|
616 |
+
|
617 |
+
// Transform the date into a countdown.
|
618 |
+
var nextTweetDate = jQuery(".cwp_top_container .nextTweet").html();
|
619 |
+
jQuery(".cwp_top_container .nextTweet").html('');
|
620 |
+
if(nextTweetDate){
|
621 |
+
jQuery(".cwp_top_container .nextTweet").countdown({
|
622 |
+
date: nextTweetDate
|
623 |
+
});
|
624 |
+
}
|
625 |
+
jQuery(".rop-network-countdown").each(function() {
|
626 |
+
var span = jQuery(this).find('.rop-network-timestamp');
|
627 |
+
var timestamp = parseInt(span.attr('data-timestamp'));
|
628 |
+
|
629 |
+
if (!isNaN(timestamp)) {
|
630 |
+
span.countdownPlugin(timestamp * 1000).on('update.countdown', function(event) {
|
631 |
+
var format = '%H hr %M m %S s';
|
632 |
+
if(event.offset.days > 0) {
|
633 |
+
format = '%-d day%!d ' + format;
|
634 |
+
}
|
635 |
+
if(event.offset.weeks > 0) {
|
636 |
+
format = '%-w week%!w ' + format;
|
637 |
+
}
|
638 |
+
jQuery(this).html(event.strftime(format));
|
639 |
+
}).on('finish.countdown', function(event) {
|
640 |
+
var th = jQuery(this).parent();
|
641 |
+
th.html("Please wait ....");
|
642 |
+
setTimeout(function(){
|
643 |
+
th.html("You can refresh the page to see the next schedule !");
|
644 |
+
|
645 |
+
},1000)
|
646 |
+
|
647 |
+
});
|
648 |
+
span.parent().show();
|
649 |
+
}else{
|
650 |
+
span.parent().hide();
|
651 |
+
}
|
652 |
+
})
|
653 |
+
|
654 |
+
jQuery(".cwp-cpt-checkbox").click(function(){
|
655 |
+
var ck = false;
|
656 |
+
var th = jQuery(this);
|
657 |
+
var val = th.val();
|
658 |
+
if(th.is(":checked")){
|
659 |
+
|
660 |
+
ck = true;
|
661 |
+
}else{
|
662 |
+
|
663 |
+
ck = false;
|
664 |
+
}
|
665 |
+
if(ck){
|
666 |
+
|
667 |
+
jQuery(".cwp-tax-"+val).show();
|
668 |
+
|
669 |
+
}else{
|
670 |
+
|
671 |
+
jQuery(".cwp-tax-"+val + " input").removeAttr("checked");
|
672 |
+
jQuery(".cwp-tax-"+val).hide();
|
673 |
+
|
674 |
+
}
|
675 |
+
|
676 |
+
});
|
677 |
+
// Starting the AJAX intro animation
|
678 |
+
function startAjaxIntro() {
|
679 |
+
jQuery(".cwp_top_wrapper .ajaxAnimation").fadeIn();
|
680 |
+
}
|
681 |
+
|
682 |
+
// Ending the AJAX intro animation
|
683 |
+
function endAjaxIntro() {
|
684 |
+
jQuery(".cwp_top_wrapper .ajaxAnimation").fadeOut();
|
685 |
+
}
|
686 |
+
|
687 |
+
// Reset all checkboxes and clear textareas
|
688 |
+
jQuery.fn.cwpTopResetForm = function() {
|
689 |
+
//jQuery(this).find("input[type=text], textarea").val("");
|
690 |
+
//jQuery(this).find("input[type=radio], input[type=checkbox]").checked = false;
|
691 |
+
}
|
692 |
+
|
693 |
+
jQuery("body").on('click',function(e){
|
694 |
+
|
695 |
+
|
696 |
+
if (jQuery(e.target).parent().hasClass("cwp_preview_page")) {
|
697 |
+
e.preventDefault();
|
698 |
+
|
699 |
+
startAjaxIntro();
|
700 |
+
var service = jQuery(e.target).parent().attr('service');
|
701 |
+
var access_token = jQuery(e.target).parent().attr('pagetoken');
|
702 |
+
var page_id = jQuery(e.target).parent().attr('pageid');
|
703 |
+
|
704 |
+
jQuery.ajax({
|
705 |
+
type: "POST",
|
706 |
+
url: cwp_top_ajaxload.ajaxurl,
|
707 |
+
data: {
|
708 |
+
action: "add_pages",
|
709 |
+
currentURL: jQuery("#cwp_top_currenturl").val(),
|
710 |
+
social_network: service,
|
711 |
+
page_token:access_token,
|
712 |
+
page_id:page_id,
|
713 |
+
picture_url: jQuery(e.target).parent().children().children('img').attr('src'),
|
714 |
+
page_name: jQuery(e.target).parent().children('.page_name').text(),
|
715 |
+
security: cwp_top_ajaxload.ajaxnonce
|
716 |
+
},
|
717 |
+
success: function(response) {
|
718 |
+
switch (service) {
|
719 |
+
|
720 |
+
case 'facebook':
|
721 |
+
endAjaxIntro();
|
722 |
+
jQuery(".cwp_top_wrapper .cwp_user_pages").fadeOut().removeClass("active");
|
723 |
+
window.location.href = response;
|
724 |
+
break;
|
725 |
+
|
726 |
+
case 'linkedin':
|
727 |
+
endAjaxIntro();
|
728 |
+
jQuery(".cwp_top_wrapper .cwp_user_pages").fadeOut().removeClass("active");
|
729 |
+
window.location.href = response;
|
730 |
+
break;
|
731 |
+
}
|
732 |
+
|
733 |
+
},
|
734 |
+
error: function(MLHttpRequest, textStatus, errorThrown) {
|
735 |
+
console.log("There was an error: " + errorThrown);
|
736 |
+
}
|
737 |
+
});
|
738 |
+
return false;
|
739 |
+
}
|
740 |
+
|
741 |
+
});
|
742 |
+
|
743 |
+
// Select all function
|
744 |
+
jQuery("button.select-all").click(function(e){
|
745 |
+
e.preventDefault();
|
746 |
+
if(jQuery(this).hasClass('active')) {
|
747 |
+
jQuery(this).removeClass('active').text('Select All');
|
748 |
+
jQuery(this).parent().parent().find('.right input[type=checkbox]').attr('checked', false);
|
749 |
+
} else {
|
750 |
+
jQuery(this).addClass('active').text('Deselect All');
|
751 |
+
jQuery(this).parent().parent().find('.right input[type=checkbox]').attr('checked', true);
|
752 |
+
}
|
753 |
+
});
|
754 |
+
jQuery(".option[data-dependent] select, .option[data-dependent] input[type='checkbox']").change(function(){
|
755 |
+
cwpDependeField(jQuery(this).closest('.option'));
|
756 |
+
});
|
757 |
+
|
758 |
+
jQuery("#cwp_top_tabs ul#tabs_menu li ").not(".not-tab").click(function() {
|
759 |
+
jQuery("#cwp_top_tabs ul#tabs_menu li").removeClass("active");
|
760 |
+
jQuery("#cwp_top_tabs div.tab").removeClass("active");
|
761 |
+
var th = jQuery(this);
|
762 |
+
var index = th.index();
|
763 |
+
th.addClass("active");
|
764 |
+
|
765 |
+
|
766 |
+
jQuery("#cwp_top_tabs div.tab").eq(index).addClass("active");
|
767 |
+
|
768 |
+
return false
|
769 |
+
});
|
770 |
+
jQuery(".cwp-schedule-days li").click(function(){
|
771 |
+
var th = jQuery(this);
|
772 |
+
if(th.hasClass("active")){
|
773 |
+
th.removeClass('active');
|
774 |
+
}else{
|
775 |
+
|
776 |
+
th.addClass('active');
|
777 |
+
}
|
778 |
+
|
779 |
+
})
|
780 |
+
jQuery(".cwp-schedule-days li").click(function(){
|
781 |
+
var container = jQuery(this).parent().parent();
|
782 |
+
cwpTopRefreshPostingDays(container);
|
783 |
+
|
784 |
+
})
|
785 |
+
jQuery(".cwp-populate-hidden-radio").click(function(){
|
786 |
+
var th = jQuery(this);
|
787 |
+
var id = th.attr('data-hidden');
|
788 |
+
var value = th.attr('data-value');
|
789 |
+
jQuery("#"+id).val(value);
|
790 |
+
|
791 |
+
})
|
792 |
+
jQuery(".cwp-populate-hidden-checkbox").click(function(){
|
793 |
+
var th = jQuery(this);
|
794 |
+
var id = th.parent().attr('data-hidden');
|
795 |
+
var values = [];
|
796 |
+
th.parent().find('.active').each(function(){
|
797 |
+
var ith = jQuery(this);
|
798 |
+
values.push(ith.attr('data-value'));
|
799 |
+
});
|
800 |
+
jQuery("#"+id).val(values.join(','));
|
801 |
+
|
802 |
+
})
|
803 |
+
jQuery(".cwp-according-item .cwp-according-header").click(function(){
|
804 |
+
|
805 |
+
var th = jQuery(this).parent();
|
806 |
+
if(th.hasClass('active')) return false;
|
807 |
+
var active = th.parent().children(".active");
|
808 |
+
|
809 |
+
|
810 |
+
active.find(".cwp-according-body").slideUp(100,function(){
|
811 |
+
active.removeClass('active');
|
812 |
+
});
|
813 |
+
th.find(".cwp-according-body").slideDown(100,function(){
|
814 |
+
th.addClass('active');
|
815 |
+
});
|
816 |
+
return false;
|
817 |
+
});
|
818 |
+
jQuery(".cwp_top_tabs_vertical .cwp_top_tabs_btns li ").not('.not-tab').click(function() {
|
819 |
+
|
820 |
+
var th = jQuery(this);
|
821 |
+
if(th.parent().parent().find(".tab-vertical").is(":animated")) return false;
|
822 |
+
var index = th.index();
|
823 |
+
th.parent().parent().find(".tab-vertical.active").fadeOut(200,function(){
|
824 |
+
jQuery(this).removeClass("active");
|
825 |
+
th.parent().find("li").removeClass("active");
|
826 |
+
th.parent().parent().find(".tab-vertical").eq(index).fadeIn(200,function(){
|
827 |
+
jQuery(this).addClass("active");
|
828 |
+
th.parent().find("li").eq(index).addClass("active");
|
829 |
+
} );
|
830 |
+
} );
|
831 |
+
|
832 |
+
|
833 |
+
return false
|
834 |
+
});
|
835 |
+
|
836 |
+
jQuery("#cwp_top_tabs").on("click",".cwp-top-times-close",function(){
|
837 |
+
var li = jQuery(this).parent();
|
838 |
+
li.remove();
|
839 |
+
cwpTopRefreshPostingDays( );
|
840 |
+
})
|
841 |
+
jQuery(".cwp-add-posting-time").click(function(){
|
842 |
+
|
843 |
+
var container = jQuery(this).parent().parent();
|
844 |
+
var network = jQuery(this).closest('.tab-vertical').attr('data-network');
|
845 |
+
container.find(".cwp-posting-times").append(getCwpTopTimeHTML(network));
|
846 |
+
|
847 |
+
cwpTopRefreshPostingDays(container);
|
848 |
+
return false;
|
849 |
+
})
|
850 |
+
cwpBindCheckedHidden();
|
851 |
+
cwpLoadPostFormaFields();
|
852 |
+
|
853 |
+
cwpTopBindTimes();
|
854 |
+
jQuery(".cwp-custom-schedule-days").each(function(){
|
855 |
+
var container = jQuery(this);
|
856 |
+
cwpTopRefreshPostingDays(container);
|
857 |
+
});
|
858 |
+
|
859 |
+
jQuery(".cwp-cpt-checkbox").each(function(){
|
860 |
+
var th = jQuery(this);
|
861 |
+
if(th.is(":checked")){
|
862 |
+
|
863 |
+
jQuery(".cwp-tax-"+th.val()).show();
|
864 |
+
|
865 |
+
}
|
866 |
+
|
867 |
+
});
|
868 |
+
|
869 |
+
jQuery(".login.pro-only").click(function(e){
|
870 |
+
if(!ropProAvailable){
|
871 |
+
window.open(
|
872 |
+
'https://themeisle.com/plugins/tweet-old-post-pro/?utm_source=imagepro&utm_medium=link&utm_campaign=top&upgrade=true',
|
873 |
+
'_blank'
|
874 |
+
);
|
875 |
+
return false;
|
876 |
+
}
|
877 |
+
});
|
878 |
+
});
|
879 |
+
|
880 |
+
function cwpDependeField(field,second){
|
881 |
+
|
882 |
+
var dvalues = field.attr("data-dependent");
|
883 |
+
if(dvalues === undefined) return false;
|
884 |
+
var value;
|
885 |
+
|
886 |
+
if(field.find("select").length != 0 ){
|
887 |
+
|
888 |
+
value = field.find("select").val();
|
889 |
+
|
890 |
+
}
|
891 |
+
if(field.find("input[type='checkbox']").length != 0 ){
|
892 |
+
if(field.find("input[type='checkbox']").is(":checked")){
|
893 |
+
|
894 |
+
value = 'true';
|
895 |
+
|
896 |
+
}else{
|
897 |
+
|
898 |
+
value = 'false';
|
899 |
+
}
|
900 |
+
|
901 |
+
}
|
902 |
+
var json = JSON.parse(dvalues);
|
903 |
+
var item;
|
904 |
+
|
905 |
+
var tmpvalues;
|
906 |
+
jQuery.each(json,function(k,v){
|
907 |
+
item = field.parent().find(".twp"+k);
|
908 |
+
v = v.split(',');
|
909 |
+
if(jQuery.inArray(value,v) > -1 && !second){
|
910 |
+
item.slideDown('fast');
|
911 |
+
cwpDependeField(item);
|
912 |
+
}else{
|
913 |
+
|
914 |
+
item.slideUp('fast');
|
915 |
+
cwpDependeField(item,true);
|
916 |
+
}
|
917 |
+
|
918 |
+
});
|
919 |
+
|
920 |
+
}
|
921 |
+
function getCwpTopTimeHTML(network){
|
922 |
+
var cwp_top_time = '<li class="clearfix cwp-top-times-choice">\
|
923 |
+
<select class="cwp-top-times-hours" name="'+network+'_time_choice_hour[]">\
|
924 |
+
<option value="00">00</option>\
|
925 |
+
<option value="01">01</option>\
|
926 |
+
<option value="02">02</option>\
|
927 |
+
<option value="03">03</option>\
|
928 |
+
<option value="04">04</option>\
|
929 |
+
<option value="05">05</option>\
|
930 |
+
<option value="06">06</option>\
|
931 |
+
<option value="07">07</option>\
|
932 |
+
<option value="08">08</option>\
|
933 |
+
<option value="09">09</option>\
|
934 |
+
<option value="10">10</option>\
|
935 |
+
<option value="11">11</option>\
|
936 |
+
<option value="12">12</option>\
|
937 |
+
<option value="13">13</option>\
|
938 |
+
<option value="14">14</option>\
|
939 |
+
<option value="15">15</option>\
|
940 |
+
<option value="16">16</option>\
|
941 |
+
<option value="17">17</option>\
|
942 |
+
<option value="18">18</option>\
|
943 |
+
<option value="19">19</option>\
|
944 |
+
<option value="20">20</option>\
|
945 |
+
<option value="21">21</option>\
|
946 |
+
<option value="22">22</option>\
|
947 |
+
<option value="23">23</option>\
|
948 |
+
</select> : \
|
949 |
+
<select class="cwp-top-times-hours" name="'+network+'_time_choice_min[]">\
|
950 |
+
<option value="00">00</option>\
|
951 |
+
<option value="01">01</option>\
|
952 |
+
<option value="02">02</option>\
|
953 |
+
<option value="03">03</option>\
|
954 |
+
<option value="04">04</option>\
|
955 |
+
<option value="05">05</option>\
|
956 |
+
<option value="06">06</option>\
|
957 |
+
<option value="07">07</option>\
|
958 |
+
<option value="08">08</option>\
|
959 |
+
<option value="09">09</option>\
|
960 |
+
<option value="10">10</option>\
|
961 |
+
<option value="11">11</option>\
|
962 |
+
<option value="12">12</option>\
|
963 |
+
<option value="13">13</option>\
|
964 |
+
<option value="14">14</option>\
|
965 |
+
<option value="15">15</option>\
|
966 |
+
<option value="16">16</option>\
|
967 |
+
<option value="17">17</option>\
|
968 |
+
<option value="18">18</option>\
|
969 |
+
<option value="19">19</option>\
|
970 |
+
<option value="20">20</option>\
|
971 |
+
<option value="21">21</option>\
|
972 |
+
<option value="22">22</option>\
|
973 |
+
<option value="23">23</option>\
|
974 |
+
<option value="24">24</option>\
|
975 |
+
<option value="25">25</option>\
|
976 |
+
<option value="26">26</option>\
|
977 |
+
<option value="27">27</option>\
|
978 |
+
<option value="28">28</option>\
|
979 |
+
<option value="29">29</option>\
|
980 |
+
<option value="30">30</option>\
|
981 |
+
<option value="31">31</option>\
|
982 |
+
<option value="32">32</option>\
|
983 |
+
<option value="33">33</option>\
|
984 |
+
<option value="34">34</option>\
|
985 |
+
<option value="35">35</option>\
|
986 |
+
<option value="36">36</option>\
|
987 |
+
<option value="37">37</option>\
|
988 |
+
<option value="38">38</option>\
|
989 |
+
<option value="39">39</option>\
|
990 |
+
<option value="40">40</option>\
|
991 |
+
<option value="41">41</option>\
|
992 |
+
<option value="42">42</option>\
|
993 |
+
<option value="43">43</option>\
|
994 |
+
<option value="44">44</option>\
|
995 |
+
<option value="45">45</option>\
|
996 |
+
<option value="46">46</option>\
|
997 |
+
<option value="47">47</option>\
|
998 |
+
<option value="48">48</option>\
|
999 |
+
<option value="49">49</option>\
|
1000 |
+
<option value="50">50</option>\
|
1001 |
+
<option value="51">51</option>\
|
1002 |
+
<option value="52">52</option>\
|
1003 |
+
<option value="53">53</option>\
|
1004 |
+
<option value="54">54</option>\
|
1005 |
+
<option value="55">55</option>\
|
1006 |
+
<option value="56">56</option>\
|
1007 |
+
<option value="57">57</option>\
|
1008 |
+
<option value="58">58</option>\
|
1009 |
+
<option value="59">59</option>\
|
1010 |
+
</select><span class="cwp-top-times-close">x</span>\
|
1011 |
+
</li>';
|
1012 |
+
return cwp_top_time;
|
1013 |
+
}
|
1014 |
+
function cwpBindCheckedHidden(){
|
1015 |
+
jQuery(".cwp-populate-hidden-checkbox-group").each(function(){
|
1016 |
+
var th = jQuery(this);
|
1017 |
+
var field = th.attr('data-hidden');
|
1018 |
+
var values = jQuery("#"+field).val();
|
1019 |
+
values = values.split(',');
|
1020 |
+
|
1021 |
+
jQuery.each(values,function(k,v){
|
1022 |
+
th.find(".cwp-populate-hidden-checkbox[data-value='"+v+"']").addClass('active');
|
1023 |
+
});
|
1024 |
+
|
1025 |
+
})
|
1026 |
+
|
1027 |
+
}
|
1028 |
+
|
1029 |
+
function cwpTopBindTimes(){
|
1030 |
+
|
1031 |
+
jQuery(".cwp-posting-times").each(function(){
|
1032 |
+
var network = jQuery(this).closest('.tab-vertical').attr('data-network');
|
1033 |
+
var values = jQuery(this).attr('data-times');
|
1034 |
+
var th = jQuery(this);
|
1035 |
+
values = jQuery.parseJSON(values);
|
1036 |
+
if(values[0]){
|
1037 |
+
if(values[0].hour){
|
1038 |
+
jQuery.each(values,function(k,v){
|
1039 |
+
th.append(getCwpTopTimeHTML(network) );
|
1040 |
+
th.find("li:last select:first").val(v.hour);
|
1041 |
+
th.find("li:last select:last").val(v.minute);
|
1042 |
+
});
|
1043 |
+
}
|
1044 |
+
}
|
1045 |
+
|
1046 |
+
})
|
1047 |
+
|
1048 |
+
}
|
1049 |
+
function cwpTopRefreshPostingDays(container){
|
1050 |
+
if(container === undefined){
|
1051 |
+
jQuery(".cwp-custom-schedule-days").each(function(){
|
1052 |
+
var container = jQuery(this);
|
1053 |
+
cwpTopRefreshPostingDays(container);
|
1054 |
+
})
|
1055 |
+
return false;
|
1056 |
+
}
|
1057 |
+
var times = container.find(".cwp-top-times-choice").length;
|
1058 |
+
var days = [];
|
1059 |
+
var day = "";
|
1060 |
+
container.find('.cwp-populate-hidden-checkbox.active').each(function(){
|
1061 |
+
day = jQuery(this).text().substr(0,3);
|
1062 |
+
days.push(day);
|
1063 |
+
});
|
1064 |
+
container.find(".cwp-posts-time-info-days").text(days.join(","));
|
1065 |
+
container.find(".cwp-posts-time-info-times").text(times);
|
1066 |
+
}
|
1067 |
+
function cwpLoadPostFormaFields(){
|
1068 |
+
jQuery(".option[data-dependent], .option[data-dependent] ").each(function(){
|
1069 |
+
cwpDependeField(jQuery(this));
|
1070 |
+
|
1071 |
+
})
|
1072 |
+
|
1073 |
+
}
|
1074 |
+
function showCWPROPError(string){
|
1075 |
+
jQuery(".cwp_top_status p.cwp-error-label").css( "color", "red" );
|
1076 |
+
jQuery(".cwp_top_status p.cwp-error-label").html(string);
|
1077 |
+
|
1078 |
+
}
|
1079 |
+
function cwpTopCheckAccounts(){
|
1080 |
+
var users = jQuery(".user_details").length;
|
1081 |
+
return (users > 0);
|
1082 |
+
|
1083 |
+
}
|
1084 |
+
function clearNotices(){
|
1085 |
+
jQuery("#rop-log-list").html('');
|
1086 |
+
jQuery(".rop-error-log span").html('').addClass("no-error");
|
1087 |
+
jQuery(".active-rop-error-label").hide();
|
1088 |
+
jQuery(".inactive-rop-error-label").show();
|
1089 |
+
|
1090 |
+
|
1091 |
+
}
|
languages/tweet-old-post-de_DE.po
CHANGED
@@ -1,692 +1,692 @@
|
|
1 |
-
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
-
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
-
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
-
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
-
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
-
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
-
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
-
"X-Poedit-Basepath: ../\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
"X-Poedit-SearchPath-1: inc\n"
|
19 |
-
|
20 |
-
#: inc/class-remote-notification-client.php:260
|
21 |
-
msgid "Dismiss notification"
|
22 |
-
msgstr "Benachrichtigung verwerfen"
|
23 |
-
|
24 |
-
#: inc/class-remote-notification-client.php:262
|
25 |
-
msgid "Dismiss"
|
26 |
-
msgstr "Verwerfen"
|
27 |
-
|
28 |
-
#: inc/config.php:24
|
29 |
-
msgid "Post Content"
|
30 |
-
msgstr "Inhalt veröffentlichen"
|
31 |
-
|
32 |
-
#: inc/config.php:28
|
33 |
-
msgid "What do you want to share?"
|
34 |
-
msgstr "Was möchten Sie teilen?"
|
35 |
-
|
36 |
-
#: inc/config.php:30
|
37 |
-
msgid "Title Only"
|
38 |
-
msgstr "Nur Titel"
|
39 |
-
|
40 |
-
#: inc/config.php:31
|
41 |
-
msgid "Body Only"
|
42 |
-
msgstr "Nur Text"
|
43 |
-
|
44 |
-
#: inc/config.php:32
|
45 |
-
msgid "Title & Body"
|
46 |
-
msgstr "Titel & Text"
|
47 |
-
|
48 |
-
#: inc/config.php:33
|
49 |
-
msgid "Custom Field"
|
50 |
-
msgstr "Benutzerdefiniertes Feld"
|
51 |
-
|
52 |
-
#: inc/config.php:39
|
53 |
-
msgid "Post Content Custom Field"
|
54 |
-
msgstr "Inhalt veröffentlichen aus benutzerdefiniertem Feld"
|
55 |
-
|
56 |
-
#: inc/config.php:43
|
57 |
-
msgid "Which custom field do you want to fetch info from?"
|
58 |
-
msgstr ""
|
59 |
-
"Aus welchem benutzerdefinierten Feld möchten Sie Informationen abrufen?"
|
60 |
-
|
61 |
-
#: inc/config.php:49
|
62 |
-
msgid "Additional Text"
|
63 |
-
msgstr "Zusätzlicher Text"
|
64 |
-
|
65 |
-
#: inc/config.php:53
|
66 |
-
msgid "Text added to your auto posts"
|
67 |
-
msgstr "Text zu Ihren automatischen Beiträgen hinzugefügt"
|
68 |
-
|
69 |
-
#: inc/config.php:59
|
70 |
-
msgid "Additional Text At"
|
71 |
-
msgstr "Zusätzlicher Text bei"
|
72 |
-
|
73 |
-
#: inc/config.php:63
|
74 |
-
msgid "Where do you want the text to be added?"
|
75 |
-
msgstr "Wo soll der Text hinzugefügt werden?"
|
76 |
-
|
77 |
-
#: inc/config.php:65
|
78 |
-
msgid "Beginning of Post"
|
79 |
-
msgstr "Anfang des Beitrags"
|
80 |
-
|
81 |
-
#: inc/config.php:66
|
82 |
-
msgid "End of Post"
|
83 |
-
msgstr "Ende des Beitrags"
|
84 |
-
|
85 |
-
#: inc/config.php:72
|
86 |
-
msgid "Include Link"
|
87 |
-
msgstr "Link einfügen"
|
88 |
-
|
89 |
-
#: inc/config.php:76
|
90 |
-
msgid "Include a link to your post?"
|
91 |
-
msgstr "Soll ein Link zu Ihrem Beitrag hinzugefügt werden?"
|
92 |
-
|
93 |
-
#: inc/config.php:78
|
94 |
-
msgid "Yes"
|
95 |
-
msgstr "Ja"
|
96 |
-
|
97 |
-
#: inc/config.php:79
|
98 |
-
msgid "No"
|
99 |
-
msgstr "Nein"
|
100 |
-
|
101 |
-
#: inc/config.php:85
|
102 |
-
msgid "Fetch URL From Custom Field"
|
103 |
-
msgstr "URL abrufen aus einem benutzerdefinierten Feld"
|
104 |
-
|
105 |
-
#: inc/config.php:89
|
106 |
-
msgid "URL will be fetched from a custom field."
|
107 |
-
msgstr "Die URL wird aus einem benutzerdefinierten Feld abgerufen."
|
108 |
-
|
109 |
-
#: inc/config.php:95
|
110 |
-
msgid "URL Custom Field"
|
111 |
-
msgstr "Benutzerdefiniertes URL-Feld"
|
112 |
-
|
113 |
-
#: inc/config.php:99
|
114 |
-
msgid "URL will be fetched from the specified custom field."
|
115 |
-
msgstr "Die URL wird aus einem bestimmten benutzerdefinierten Feld abgerufen."
|
116 |
-
|
117 |
-
#: inc/config.php:105
|
118 |
-
msgid "Use URL Shortner"
|
119 |
-
msgstr "Kurz-URL-Dienst verwenden"
|
120 |
-
|
121 |
-
#: inc/config.php:117
|
122 |
-
msgid "URL Shortner Service"
|
123 |
-
msgstr "Kurz-URL-Dienst"
|
124 |
-
|
125 |
-
#: inc/config.php:121
|
126 |
-
msgid "Shorten the link to your post."
|
127 |
-
msgstr "Kürzen Sie den Link zu Ihrem Beitrag."
|
128 |
-
|
129 |
-
#: inc/config.php:123
|
130 |
-
msgid "wp short url"
|
131 |
-
msgstr "WP-Kurz-URL"
|
132 |
-
|
133 |
-
#: inc/config.php:125
|
134 |
-
msgid "is.gd"
|
135 |
-
msgstr "is.gd"
|
136 |
-
|
137 |
-
#: inc/config.php:126
|
138 |
-
msgid "bit.ly"
|
139 |
-
msgstr "bit.ly"
|
140 |
-
|
141 |
-
#: inc/config.php:138
|
142 |
-
msgid "Bitly Key"
|
143 |
-
msgstr "Bitly-Schlüssel"
|
144 |
-
|
145 |
-
#: inc/config.php:148
|
146 |
-
msgid "Bitly User"
|
147 |
-
msgstr "Bitly-Benutzer"
|
148 |
-
|
149 |
-
#: inc/config.php:158
|
150 |
-
msgid "Hashtags"
|
151 |
-
msgstr "Hashtags"
|
152 |
-
|
153 |
-
#: inc/config.php:162
|
154 |
-
msgid "Include #hashtags in your auto posts?"
|
155 |
-
msgstr "Möchten Sie #hashtags in Ihre automatischen Beiträge einbinden?"
|
156 |
-
|
157 |
-
#: inc/config.php:164
|
158 |
-
msgid "Don't add any hashtags"
|
159 |
-
msgstr "Keine Hashtags hinzufügen"
|
160 |
-
|
161 |
-
#: inc/config.php:165
|
162 |
-
msgid "Common hashtags for all shares"
|
163 |
-
msgstr "Gemeinsame Hashtags für alle geteilten Beiträge"
|
164 |
-
|
165 |
-
#: inc/config.php:166
|
166 |
-
msgid "Create hashtags from Categories"
|
167 |
-
msgstr "Hashtags aus Kategorien erstellen"
|
168 |
-
|
169 |
-
#: inc/config.php:167
|
170 |
-
msgid "Create hashtags from Tags"
|
171 |
-
msgstr "Hashtags aus Tags erstellen"
|
172 |
-
|
173 |
-
#: inc/config.php:168
|
174 |
-
msgid "Create hashtags from Custom Fields"
|
175 |
-
msgstr "Hashtags aus benutzerdefinierten Feldern erstellen"
|
176 |
-
|
177 |
-
#: inc/config.php:174
|
178 |
-
msgid "Common Hashtags"
|
179 |
-
msgstr "Gemeinsame Hashtags"
|
180 |
-
|
181 |
-
#: inc/config.php:178
|
182 |
-
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
183 |
-
msgstr ""
|
184 |
-
"Geben Sie an, welche Hashtags Sie verwenden möchten, z. B. #beispiel, "
|
185 |
-
"#beispiel2"
|
186 |
-
|
187 |
-
#: inc/config.php:184
|
188 |
-
msgid "Maximum Hashtags Length"
|
189 |
-
msgstr "Maximale Hashtag-Länge"
|
190 |
-
|
191 |
-
#: inc/config.php:188
|
192 |
-
msgid "Set to 0 (characters) to include all."
|
193 |
-
msgstr "Auf 0 (Zeichen) setzen, um alle zu berücksichtigen."
|
194 |
-
|
195 |
-
#: inc/config.php:194
|
196 |
-
msgid "Hashtag Custom Field"
|
197 |
-
msgstr "Benutzerdefiniertes Hashtag-Feld"
|
198 |
-
|
199 |
-
#: inc/config.php:198
|
200 |
-
msgid "Fetch hashtags from specified custom field"
|
201 |
-
msgstr "Hashtags aus einem bestimmten benutzerdefinierten Feld abrufen"
|
202 |
-
|
203 |
-
#: inc/config.php:204
|
204 |
-
msgid "Minimum interval between shares"
|
205 |
-
msgstr "Mindestabstand zwischen geteilten Beiträgen"
|
206 |
-
|
207 |
-
#: inc/config.php:208
|
208 |
-
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
209 |
-
msgstr ""
|
210 |
-
"Zeitlicher Mindestabstand zwischen geteilten Beiträgen (Stunde/Stunden), "
|
211 |
-
"Angaben wie 0,4 sind ebenfalls möglich."
|
212 |
-
|
213 |
-
#: inc/config.php:214
|
214 |
-
msgid "Minimum age of post to be eligible for sharing"
|
215 |
-
msgstr "Mindestalter der zu teilenden Beiträge"
|
216 |
-
|
217 |
-
#: inc/config.php:218 inc/config.php:228
|
218 |
-
msgid "Day/Days - 0 for Disabled"
|
219 |
-
msgstr "Tag/Tage - 0 zum Deaktivieren"
|
220 |
-
|
221 |
-
#: inc/config.php:224
|
222 |
-
msgid "Maximum age of post to be eligible for sharing"
|
223 |
-
msgstr "Maximales Alter der zu teilenden Beiträge"
|
224 |
-
|
225 |
-
#: inc/config.php:234
|
226 |
-
msgid "Number of Posts to share"
|
227 |
-
msgstr "Anzahl der zu teilenden Beiträge"
|
228 |
-
|
229 |
-
#: inc/config.php:238
|
230 |
-
msgid "Number of posts to share each time"
|
231 |
-
msgstr "Anzahl der Beiträge, die bei jedem Mal geteilt werden"
|
232 |
-
|
233 |
-
#: inc/config.php:246
|
234 |
-
msgid "Post with Image"
|
235 |
-
msgstr "Mit Bild veröffentlichen"
|
236 |
-
|
237 |
-
#: inc/config.php:250
|
238 |
-
msgid "Check if you want to add the post featured image to the share"
|
239 |
-
msgstr ""
|
240 |
-
"Überprüfen Sie, ob Sie das zum Beitrag hinzugefügte Bild ebenfalls teilen "
|
241 |
-
"möchten"
|
242 |
-
|
243 |
-
#: inc/config.php:256
|
244 |
-
msgid "Share old posts more than once"
|
245 |
-
msgstr "Alte Beiträge mehr als einmal teilen"
|
246 |
-
|
247 |
-
#: inc/config.php:260
|
248 |
-
msgid ""
|
249 |
-
"By default once a post is shared it will not be shared again until you stop/"
|
250 |
-
"start the plugin"
|
251 |
-
msgstr ""
|
252 |
-
"Sobald ein Beitrag geteilt wurde, wird dieser standardmäßig nicht wieder "
|
253 |
-
"geteilt, bis Sie das Plugin gestartet/gestoppt haben."
|
254 |
-
|
255 |
-
#: inc/config.php:268
|
256 |
-
msgid "Post Type"
|
257 |
-
msgstr "Beitragstyp"
|
258 |
-
|
259 |
-
#: inc/config.php:272
|
260 |
-
msgid "What type of items do you want to share?"
|
261 |
-
msgstr "Welche Elemente sollen geteilt werden?"
|
262 |
-
|
263 |
-
#: inc/config.php:279
|
264 |
-
msgid "Google Analytics Campaign Tracking"
|
265 |
-
msgstr "Google Analytics Kampagnen-Tracking"
|
266 |
-
|
267 |
-
#: inc/config.php:283
|
268 |
-
msgid ""
|
269 |
-
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
270 |
-
"Old Post generated."
|
271 |
-
msgstr ""
|
272 |
-
"Über das Kampagnen-Tracking können Sie nachvollziehen, wie viel "
|
273 |
-
"Traffic Revive Old Post generiert hat."
|
274 |
-
|
275 |
-
#: inc/config.php:289
|
276 |
-
msgid "Exclude Specific Categories"
|
277 |
-
msgstr "Bestimmte Kategorien ausschließen"
|
278 |
-
|
279 |
-
#: inc/config.php:293
|
280 |
-
msgid ""
|
281 |
-
"Select which categories do you want to exclude to share from? Blank - None"
|
282 |
-
msgstr ""
|
283 |
-
"Wählen Sie aus, welche Kategorien Sie vom Teilen ausschließen möchten? Feld "
|
284 |
-
"frei lassen = nichts ausschließen."
|
285 |
-
|
286 |
-
#: inc/core.php:81
|
287 |
-
msgid "Tweet Old Post is already active!"
|
288 |
-
msgstr "Tweet Old Post ist bereits aktiv!"
|
289 |
-
|
290 |
-
#: inc/core.php:101
|
291 |
-
#, fuzzy
|
292 |
-
msgid "ROP is already inactive!"
|
293 |
-
msgstr "Tweet Old Post ist bereits inaktiv!"
|
294 |
-
|
295 |
-
#: inc/core.php:811
|
296 |
-
msgid "Custom Tweet User Interval"
|
297 |
-
msgstr "Individuelles Twitter-Benutzerintervall"
|
298 |
-
|
299 |
-
#: inc/core.php:1127
|
300 |
-
msgid "Could not connect to Twitter!"
|
301 |
-
msgstr "Es konnte keine Verbindung zu Twitter hergestellt werden!"
|
302 |
-
|
303 |
-
#: inc/core.php:1385
|
304 |
-
msgid "This is only available in the"
|
305 |
-
msgstr "Dies steht nur zur Verfügung in der"
|
306 |
-
|
307 |
-
#: inc/core.php:1385
|
308 |
-
msgid "PRO version"
|
309 |
-
msgstr "PRO-Version"
|
310 |
-
|
311 |
-
#: inc/core.php:1644
|
312 |
-
msgid "Exclude Posts"
|
313 |
-
msgstr "Beiträge ausschließen"
|
314 |
-
|
315 |
-
#: inc/exclude-posts.php:24
|
316 |
-
msgid "Tweet Old Post Options Updated."
|
317 |
-
msgstr "Optionen für Tweet Old Post aktualisiert."
|
318 |
-
|
319 |
-
#: inc/exclude-posts.php:63
|
320 |
-
msgid "No post selected please select a post to be excluded."
|
321 |
-
msgstr ""
|
322 |
-
"Es wurde kein Beitrag ausgewählt, bitte wählen Sie einen Beitrag aus, den "
|
323 |
-
"Sie ausschließen möchten."
|
324 |
-
|
325 |
-
#: inc/exclude-posts.php:70
|
326 |
-
msgid "Posts excluded successfully."
|
327 |
-
msgstr "Beiträge erfolgreich ausgeschlossen."
|
328 |
-
|
329 |
-
#: inc/exclude-posts.php:155
|
330 |
-
msgid "Selected Categories"
|
331 |
-
msgstr "Ausgewählte Kategorien"
|
332 |
-
|
333 |
-
#: inc/exclude-posts.php:157
|
334 |
-
msgid "Filter"
|
335 |
-
msgstr "Filtern"
|
336 |
-
|
337 |
-
#: inc/exclude-posts.php:168
|
338 |
-
msgid "«"
|
339 |
-
msgstr "«"
|
340 |
-
|
341 |
-
#: inc/exclude-posts.php:169
|
342 |
-
msgid "»"
|
343 |
-
msgstr "&ra"
|
344 |
-
|
345 |
-
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
346 |
-
#, php-format
|
347 |
-
msgid "Displaying %s–%s of %s"
|
348 |
-
msgstr "%s–%s von %s angezeigt"
|
349 |
-
|
350 |
-
#: inc/exclude-posts.php:356
|
351 |
-
msgid "No Posts found. Review your search or filter criteria/term."
|
352 |
-
msgstr ""
|
353 |
-
"Keine Beiträge gefunden. Überprüfen Sie Ihre Suchbegriffe oder "
|
354 |
-
"Filtereinstellungen."
|
355 |
-
|
356 |
-
#: inc/exclude-posts.php:363
|
357 |
-
msgid ""
|
358 |
-
"You do not have enough permission to set the option. Please contact your "
|
359 |
-
"admin."
|
360 |
-
msgstr ""
|
361 |
-
"Sie verfügen nicht über die erforderliche Berechtigungen, um diese Option "
|
362 |
-
"festzulegen. Bitte kontaktieren Sie Ihren Administrator."
|
363 |
-
|
364 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
365 |
-
msgid "After 6 months of hard work, we have just released"
|
366 |
-
msgstr "Nach 6 Monaten harter Arbeit haben wir vor kurzem"
|
367 |
-
|
368 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
369 |
-
msgid "the island of WordPress themes."
|
370 |
-
msgstr "die Insel der Wordpress-Themes veröffentlicht."
|
371 |
-
|
372 |
-
#: inc/view-exclude.php:5 inc/view.php:4
|
373 |
-
msgid "Show Me"
|
374 |
-
msgstr "Mehr zeigen"
|
375 |
-
|
376 |
-
#: inc/view-exclude.php:15 inc/view.php:14
|
377 |
-
msgid "by"
|
378 |
-
msgstr "von"
|
379 |
-
|
380 |
-
#: inc/view-exclude.php:18 inc/view.php:17
|
381 |
-
msgid "Show your love"
|
382 |
-
msgstr "Zeigen Sie Ihre Unterstützung"
|
383 |
-
|
384 |
-
#: inc/view-exclude.php:19 inc/view.php:18
|
385 |
-
msgid "Leave A Review"
|
386 |
-
msgstr "Geben Sie eine Bewertung ab"
|
387 |
-
|
388 |
-
#: inc/view-exclude.php:30
|
389 |
-
msgid "Revive Old Post is set to share on a"
|
390 |
-
msgstr "Revive Old Post teilt in einem Intervall von"
|
391 |
-
|
392 |
-
#: inc/view-exclude.php:32 inc/view.php:31
|
393 |
-
msgid "hours interval, "
|
394 |
-
msgstr "Stunden "
|
395 |
-
|
396 |
-
#: inc/view-exclude.php:33 inc/view.php:32
|
397 |
-
msgid "and the next share will take place in: "
|
398 |
-
msgstr "und der nächste Beitrag wird geteilt in: "
|
399 |
-
|
400 |
-
#: inc/view-exclude.php:38
|
401 |
-
msgid "Revive Old Post is not set to share!"
|
402 |
-
msgstr "Revive Old Post wurde so eingestellt, dass es nichts teilt!"
|
403 |
-
|
404 |
-
#: inc/view-exclude.php:42
|
405 |
-
#, fuzzy
|
406 |
-
msgid ""
|
407 |
-
"You have selected following POST IDs to be excluded from tweeting: <span "
|
408 |
-
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
409 |
-
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
410 |
-
"changes will not be saved. "
|
411 |
-
msgstr ""
|
412 |
-
"Sie haben die folgenden POST-IDs ausgewählt, die nicht auf Twitter "
|
413 |
-
"veröffentlicht werden sollen: <span id='excludeList' style='font-weight:bold;"
|
414 |
-
"font-style:italic;'></span>.\n"
|
415 |
-
"Hinweis: Sollten Sie Veränderungen vorgenommen und nicht auf \"Ausgewählte "
|
416 |
-
"Beiträge ausschließen\" geklickt haben, so werden Ihre Änderungen nicht "
|
417 |
-
"gespeichert. "
|
418 |
-
|
419 |
-
#: inc/view.php:29
|
420 |
-
msgid "Revive Old Post is set to post on a"
|
421 |
-
msgstr "Revive Old Post veröffentlicht in einem Intervall von"
|
422 |
-
|
423 |
-
#: inc/view.php:37
|
424 |
-
msgid "Revive Old Post is not set to post!"
|
425 |
-
msgstr "Revive Old Post wurde so eingestellt, dass es nichts veröffentlicht."
|
426 |
-
|
427 |
-
#: inc/view.php:42
|
428 |
-
msgid ""
|
429 |
-
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
430 |
-
"can see the error message if is any."
|
431 |
-
msgstr ""
|
432 |
-
"Sobald Sie auf Veröffentlichen von Beiträgen starten klicken, wird ein "
|
433 |
-
"Beitrag innerhalb von 15 Sekudnen gesendet. Eventuelle Fehlermeldungen "
|
434 |
-
"werden hier angezeigt."
|
435 |
-
|
436 |
-
#: inc/view.php:52
|
437 |
-
msgid "Twitter Login"
|
438 |
-
msgstr "Twitter-Login"
|
439 |
-
|
440 |
-
#: inc/view.php:53
|
441 |
-
msgid "Login using your Twitter account."
|
442 |
-
msgstr "Melden Sie sich über Ihr Twitter-Konto an."
|
443 |
-
|
444 |
-
#: inc/view.php:77 inc/view.php:111
|
445 |
-
msgid "Add Account"
|
446 |
-
msgstr "Konto hinzufügen"
|
447 |
-
|
448 |
-
#: inc/view.php:84
|
449 |
-
msgid "Facebook Login"
|
450 |
-
msgstr "Facebook-Anmeldung"
|
451 |
-
|
452 |
-
#: inc/view.php:85
|
453 |
-
msgid "Login using your Facebook account."
|
454 |
-
msgstr "Melden Sie sich über Ihr Facebook-Konto an."
|
455 |
-
|
456 |
-
#: inc/view.php:109
|
457 |
-
msgid "Authorize"
|
458 |
-
msgstr "Berechtigen"
|
459 |
-
|
460 |
-
#: inc/view.php:118
|
461 |
-
msgid "Linkedin Login"
|
462 |
-
msgstr "LinkedIn-Anmeldung"
|
463 |
-
|
464 |
-
#: inc/view.php:119
|
465 |
-
msgid "Login using your Linkedin account."
|
466 |
-
msgstr "Melden Sie sich über Ihr LinkedIn-Konto an."
|
467 |
-
|
468 |
-
#: inc/view.php:141
|
469 |
-
msgid "Add account"
|
470 |
-
msgstr "Konto hinzufügen"
|
471 |
-
|
472 |
-
#: inc/view.php:154
|
473 |
-
msgid "Select All"
|
474 |
-
msgstr "Alle auswählen"
|
475 |
-
|
476 |
-
#: inc/view.php:165
|
477 |
-
msgid "Reset"
|
478 |
-
msgstr "Zurücksetzen"
|
479 |
-
|
480 |
-
#: inc/view.php:166
|
481 |
-
msgid "Save"
|
482 |
-
msgstr "Speichern"
|
483 |
-
|
484 |
-
#: inc/view.php:167
|
485 |
-
msgid "Start Sharing"
|
486 |
-
msgstr "Teilen starten"
|
487 |
-
|
488 |
-
#: inc/view.php:168
|
489 |
-
msgid "Stop Sharing"
|
490 |
-
msgstr "Teilen beenden"
|
491 |
-
|
492 |
-
#: inc/view.php:169
|
493 |
-
msgid "See Sample Post"
|
494 |
-
msgstr "Siehe Beispiel-Beitrag"
|
495 |
-
|
496 |
-
#: inc/view.php:171
|
497 |
-
msgid ""
|
498 |
-
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
499 |
-
msgstr "Wir stehen in keiner Verbindung zu Twitter/Facebook/Linkedin."
|
500 |
-
|
501 |
-
#: inc/view.php:176
|
502 |
-
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
503 |
-
msgstr ""
|
504 |
-
"Führen Sie für nur $9,99 ein Upgrade für Tweet Old Post durch - Jetzt auf "
|
505 |
-
"die Pro-Version upgraden!"
|
506 |
-
|
507 |
-
#: inc/view.php:177
|
508 |
-
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
509 |
-
msgstr "ThemeIsle - Kinderleichte WordPress-Themes"
|
510 |
-
|
511 |
-
#: inc/view.php:178
|
512 |
-
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
513 |
-
msgstr ""
|
514 |
-
"ThemeIsle - Bewerben Sie unsere Themes und Plug-Ins und erhalten Sie eine "
|
515 |
-
"Provision von 55 %."
|
516 |
-
|
517 |
-
#: inc/view.php:185
|
518 |
-
#, fuzzy
|
519 |
-
msgid "Sample Post Preview"
|
520 |
-
msgstr "Siehe Beispiel-Beitrag"
|
521 |
-
|
522 |
-
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
523 |
-
msgid "Close preview"
|
524 |
-
msgstr ""
|
525 |
-
|
526 |
-
#: inc/view.php:188
|
527 |
-
msgid "Share now"
|
528 |
-
msgstr ""
|
529 |
-
|
530 |
-
#: inc/view.php:194
|
531 |
-
msgid "Choose a Profile or Page"
|
532 |
-
msgstr ""
|
533 |
-
|
534 |
-
#: inc/view.php:202
|
535 |
-
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
536 |
-
msgstr ""
|
537 |
-
|
538 |
-
#: inc/view.php:206 inc/view.php:252
|
539 |
-
msgid "Go on"
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: inc/view.php:207
|
543 |
-
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: inc/view.php:208
|
547 |
-
msgid ""
|
548 |
-
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
549 |
-
"click on Create App"
|
550 |
-
msgstr ""
|
551 |
-
|
552 |
-
#: inc/view.php:209
|
553 |
-
msgid ""
|
554 |
-
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
555 |
-
"<strong>App Secret</strong> in the fields on the right"
|
556 |
-
msgstr ""
|
557 |
-
|
558 |
-
#: inc/view.php:210
|
559 |
-
msgid ""
|
560 |
-
"Go on Settings tab from the left sidebar menu add the contact email and "
|
561 |
-
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: inc/view.php:211
|
565 |
-
msgid ""
|
566 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
567 |
-
"Domains and Site URL fields and <strong>Save</strong>"
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
#: inc/view.php:212
|
571 |
-
msgid ""
|
572 |
-
"Go on Status & Review tab and set your app live from the top-right switch."
|
573 |
-
msgstr ""
|
574 |
-
|
575 |
-
#: inc/view.php:213 inc/view.php:259
|
576 |
-
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
577 |
-
msgstr ""
|
578 |
-
|
579 |
-
#: inc/view.php:219
|
580 |
-
#, fuzzy
|
581 |
-
msgid "Facebook App ID"
|
582 |
-
msgstr "Facebook-Anmeldung"
|
583 |
-
|
584 |
-
#: inc/view.php:220
|
585 |
-
msgid "ID from your app created on facebook website."
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: inc/view.php:231
|
589 |
-
msgid "Facebook App Secret"
|
590 |
-
msgstr ""
|
591 |
-
|
592 |
-
#: inc/view.php:232
|
593 |
-
msgid "Secret from your app created on facebook website. "
|
594 |
-
msgstr ""
|
595 |
-
|
596 |
-
#: inc/view.php:240 inc/view.php:287
|
597 |
-
#, fuzzy
|
598 |
-
msgid "Authorize App"
|
599 |
-
msgstr "Berechtigen"
|
600 |
-
|
601 |
-
#: inc/view.php:248
|
602 |
-
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
603 |
-
msgstr ""
|
604 |
-
|
605 |
-
#: inc/view.php:253
|
606 |
-
msgid ""
|
607 |
-
"Enter the required details and pay special attention to the further fields :"
|
608 |
-
msgstr ""
|
609 |
-
|
610 |
-
#: inc/view.php:254
|
611 |
-
msgid "Make sure you set Live Status to LIVE"
|
612 |
-
msgstr ""
|
613 |
-
|
614 |
-
#: inc/view.php:255
|
615 |
-
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
616 |
-
msgstr ""
|
617 |
-
|
618 |
-
#: inc/view.php:256
|
619 |
-
msgid ""
|
620 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
621 |
-
"2.0 Redirect URLs"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: inc/view.php:257
|
625 |
-
msgid ""
|
626 |
-
"Once all required fields are filled click on Add Application button, get the "
|
627 |
-
"API Key and Secret Key and paste them in the fields on the right"
|
628 |
-
msgstr ""
|
629 |
-
|
630 |
-
#: inc/view.php:265
|
631 |
-
#, fuzzy
|
632 |
-
msgid "Linkedin API Key"
|
633 |
-
msgstr "LinkedIn-Anmeldung"
|
634 |
-
|
635 |
-
#: inc/view.php:266
|
636 |
-
msgid "API Key that you get once you create an app"
|
637 |
-
msgstr ""
|
638 |
-
|
639 |
-
#: inc/view.php:277
|
640 |
-
msgid "Linkedin Secret Key"
|
641 |
-
msgstr ""
|
642 |
-
|
643 |
-
#: inc/view.php:278
|
644 |
-
msgid "Secret Key that you get once you create an app"
|
645 |
-
msgstr ""
|
646 |
-
|
647 |
-
#. Description of the plugin/theme
|
648 |
-
msgid ""
|
649 |
-
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
650 |
-
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
651 |
-
"also helps you to promote your content. You can set time and no of posts to "
|
652 |
-
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
653 |
-
"href=\"https://themeisle.com/contact/?"
|
654 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
655 |
-
msgstr ""
|
656 |
-
"Ein WordPress-Plug-in, das Ihnen dabei hilft, Ihre alten Beiträge am Leben "
|
657 |
-
"zu halten, indem Sie sie teilen und mehr Traffic von Twitter, Facebook oder "
|
658 |
-
"Linkedin auf Ihren Blog lenken. Sie können auf diese Weise auch Ihre Inhalte "
|
659 |
-
"besser vermarkten. Legen Sie eine Zeit und die Anzahl der zu teilenden "
|
660 |
-
"Beiträge fest, um mehr Traffic zu generieren. <a href=\"https://themeisle.com/"
|
661 |
-
"contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top"
|
662 |
-
"\">Kontaktieren Sie uns</a>, falls Sie Fragen, Kommentare oder Wünsche haben!"
|
663 |
-
|
664 |
-
#~ msgid "Post Only"
|
665 |
-
#~ msgstr "Nur Beiträge"
|
666 |
-
|
667 |
-
#~ msgid "Page Only"
|
668 |
-
#~ msgstr "Nur Seiten"
|
669 |
-
|
670 |
-
#~ msgid "Custom Post Type"
|
671 |
-
#~ msgstr "Benutzerdefinierte Beitragstypen"
|
672 |
-
|
673 |
-
#~ msgid "Post and Page"
|
674 |
-
#~ msgstr "Beitrag und Seite"
|
675 |
-
|
676 |
-
#~ msgid "Select which custom post type"
|
677 |
-
#~ msgstr "Wählen Sie den benutzerdefinierten Beitragstyp aus"
|
678 |
-
|
679 |
-
#~ msgid ""
|
680 |
-
#~ " We just fixed the interrupted posting issue and scheduling issue, if you "
|
681 |
-
#~ "don't see any tweets you need to re-authentificate your twitter accounts. "
|
682 |
-
#~ "| <a href=\""
|
683 |
-
#~ msgstr ""
|
684 |
-
#~ " Wir haben die Unterbrechungen beim Veröffentlichen und Planen von "
|
685 |
-
#~ "Beiträgen behoben. Wenn Sie keine Tweets sehen, müssen Sie Ihre Twitter-"
|
686 |
-
#~ "Konten erneut authentifizieren. | <a href=\""
|
687 |
-
|
688 |
-
#~ msgid "ExcludePosts"
|
689 |
-
#~ msgstr "Beiträge ausschließen"
|
690 |
-
|
691 |
-
#~ msgid "Revive Old Post PRO"
|
692 |
-
#~ msgstr "Revive Old Post PRO"
|
1 |
+
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
+
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
+
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
+
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
+
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
+
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
+
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
+
"X-Poedit-Basepath: ../\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
"X-Poedit-SearchPath-1: inc\n"
|
19 |
+
|
20 |
+
#: inc/class-remote-notification-client.php:260
|
21 |
+
msgid "Dismiss notification"
|
22 |
+
msgstr "Benachrichtigung verwerfen"
|
23 |
+
|
24 |
+
#: inc/class-remote-notification-client.php:262
|
25 |
+
msgid "Dismiss"
|
26 |
+
msgstr "Verwerfen"
|
27 |
+
|
28 |
+
#: inc/config.php:24
|
29 |
+
msgid "Post Content"
|
30 |
+
msgstr "Inhalt veröffentlichen"
|
31 |
+
|
32 |
+
#: inc/config.php:28
|
33 |
+
msgid "What do you want to share?"
|
34 |
+
msgstr "Was möchten Sie teilen?"
|
35 |
+
|
36 |
+
#: inc/config.php:30
|
37 |
+
msgid "Title Only"
|
38 |
+
msgstr "Nur Titel"
|
39 |
+
|
40 |
+
#: inc/config.php:31
|
41 |
+
msgid "Body Only"
|
42 |
+
msgstr "Nur Text"
|
43 |
+
|
44 |
+
#: inc/config.php:32
|
45 |
+
msgid "Title & Body"
|
46 |
+
msgstr "Titel & Text"
|
47 |
+
|
48 |
+
#: inc/config.php:33
|
49 |
+
msgid "Custom Field"
|
50 |
+
msgstr "Benutzerdefiniertes Feld"
|
51 |
+
|
52 |
+
#: inc/config.php:39
|
53 |
+
msgid "Post Content Custom Field"
|
54 |
+
msgstr "Inhalt veröffentlichen aus benutzerdefiniertem Feld"
|
55 |
+
|
56 |
+
#: inc/config.php:43
|
57 |
+
msgid "Which custom field do you want to fetch info from?"
|
58 |
+
msgstr ""
|
59 |
+
"Aus welchem benutzerdefinierten Feld möchten Sie Informationen abrufen?"
|
60 |
+
|
61 |
+
#: inc/config.php:49
|
62 |
+
msgid "Additional Text"
|
63 |
+
msgstr "Zusätzlicher Text"
|
64 |
+
|
65 |
+
#: inc/config.php:53
|
66 |
+
msgid "Text added to your auto posts"
|
67 |
+
msgstr "Text zu Ihren automatischen Beiträgen hinzugefügt"
|
68 |
+
|
69 |
+
#: inc/config.php:59
|
70 |
+
msgid "Additional Text At"
|
71 |
+
msgstr "Zusätzlicher Text bei"
|
72 |
+
|
73 |
+
#: inc/config.php:63
|
74 |
+
msgid "Where do you want the text to be added?"
|
75 |
+
msgstr "Wo soll der Text hinzugefügt werden?"
|
76 |
+
|
77 |
+
#: inc/config.php:65
|
78 |
+
msgid "Beginning of Post"
|
79 |
+
msgstr "Anfang des Beitrags"
|
80 |
+
|
81 |
+
#: inc/config.php:66
|
82 |
+
msgid "End of Post"
|
83 |
+
msgstr "Ende des Beitrags"
|
84 |
+
|
85 |
+
#: inc/config.php:72
|
86 |
+
msgid "Include Link"
|
87 |
+
msgstr "Link einfügen"
|
88 |
+
|
89 |
+
#: inc/config.php:76
|
90 |
+
msgid "Include a link to your post?"
|
91 |
+
msgstr "Soll ein Link zu Ihrem Beitrag hinzugefügt werden?"
|
92 |
+
|
93 |
+
#: inc/config.php:78
|
94 |
+
msgid "Yes"
|
95 |
+
msgstr "Ja"
|
96 |
+
|
97 |
+
#: inc/config.php:79
|
98 |
+
msgid "No"
|
99 |
+
msgstr "Nein"
|
100 |
+
|
101 |
+
#: inc/config.php:85
|
102 |
+
msgid "Fetch URL From Custom Field"
|
103 |
+
msgstr "URL abrufen aus einem benutzerdefinierten Feld"
|
104 |
+
|
105 |
+
#: inc/config.php:89
|
106 |
+
msgid "URL will be fetched from a custom field."
|
107 |
+
msgstr "Die URL wird aus einem benutzerdefinierten Feld abgerufen."
|
108 |
+
|
109 |
+
#: inc/config.php:95
|
110 |
+
msgid "URL Custom Field"
|
111 |
+
msgstr "Benutzerdefiniertes URL-Feld"
|
112 |
+
|
113 |
+
#: inc/config.php:99
|
114 |
+
msgid "URL will be fetched from the specified custom field."
|
115 |
+
msgstr "Die URL wird aus einem bestimmten benutzerdefinierten Feld abgerufen."
|
116 |
+
|
117 |
+
#: inc/config.php:105
|
118 |
+
msgid "Use URL Shortner"
|
119 |
+
msgstr "Kurz-URL-Dienst verwenden"
|
120 |
+
|
121 |
+
#: inc/config.php:117
|
122 |
+
msgid "URL Shortner Service"
|
123 |
+
msgstr "Kurz-URL-Dienst"
|
124 |
+
|
125 |
+
#: inc/config.php:121
|
126 |
+
msgid "Shorten the link to your post."
|
127 |
+
msgstr "Kürzen Sie den Link zu Ihrem Beitrag."
|
128 |
+
|
129 |
+
#: inc/config.php:123
|
130 |
+
msgid "wp short url"
|
131 |
+
msgstr "WP-Kurz-URL"
|
132 |
+
|
133 |
+
#: inc/config.php:125
|
134 |
+
msgid "is.gd"
|
135 |
+
msgstr "is.gd"
|
136 |
+
|
137 |
+
#: inc/config.php:126
|
138 |
+
msgid "bit.ly"
|
139 |
+
msgstr "bit.ly"
|
140 |
+
|
141 |
+
#: inc/config.php:138
|
142 |
+
msgid "Bitly Key"
|
143 |
+
msgstr "Bitly-Schlüssel"
|
144 |
+
|
145 |
+
#: inc/config.php:148
|
146 |
+
msgid "Bitly User"
|
147 |
+
msgstr "Bitly-Benutzer"
|
148 |
+
|
149 |
+
#: inc/config.php:158
|
150 |
+
msgid "Hashtags"
|
151 |
+
msgstr "Hashtags"
|
152 |
+
|
153 |
+
#: inc/config.php:162
|
154 |
+
msgid "Include #hashtags in your auto posts?"
|
155 |
+
msgstr "Möchten Sie #hashtags in Ihre automatischen Beiträge einbinden?"
|
156 |
+
|
157 |
+
#: inc/config.php:164
|
158 |
+
msgid "Don't add any hashtags"
|
159 |
+
msgstr "Keine Hashtags hinzufügen"
|
160 |
+
|
161 |
+
#: inc/config.php:165
|
162 |
+
msgid "Common hashtags for all shares"
|
163 |
+
msgstr "Gemeinsame Hashtags für alle geteilten Beiträge"
|
164 |
+
|
165 |
+
#: inc/config.php:166
|
166 |
+
msgid "Create hashtags from Categories"
|
167 |
+
msgstr "Hashtags aus Kategorien erstellen"
|
168 |
+
|
169 |
+
#: inc/config.php:167
|
170 |
+
msgid "Create hashtags from Tags"
|
171 |
+
msgstr "Hashtags aus Tags erstellen"
|
172 |
+
|
173 |
+
#: inc/config.php:168
|
174 |
+
msgid "Create hashtags from Custom Fields"
|
175 |
+
msgstr "Hashtags aus benutzerdefinierten Feldern erstellen"
|
176 |
+
|
177 |
+
#: inc/config.php:174
|
178 |
+
msgid "Common Hashtags"
|
179 |
+
msgstr "Gemeinsame Hashtags"
|
180 |
+
|
181 |
+
#: inc/config.php:178
|
182 |
+
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
183 |
+
msgstr ""
|
184 |
+
"Geben Sie an, welche Hashtags Sie verwenden möchten, z. B. #beispiel, "
|
185 |
+
"#beispiel2"
|
186 |
+
|
187 |
+
#: inc/config.php:184
|
188 |
+
msgid "Maximum Hashtags Length"
|
189 |
+
msgstr "Maximale Hashtag-Länge"
|
190 |
+
|
191 |
+
#: inc/config.php:188
|
192 |
+
msgid "Set to 0 (characters) to include all."
|
193 |
+
msgstr "Auf 0 (Zeichen) setzen, um alle zu berücksichtigen."
|
194 |
+
|
195 |
+
#: inc/config.php:194
|
196 |
+
msgid "Hashtag Custom Field"
|
197 |
+
msgstr "Benutzerdefiniertes Hashtag-Feld"
|
198 |
+
|
199 |
+
#: inc/config.php:198
|
200 |
+
msgid "Fetch hashtags from specified custom field"
|
201 |
+
msgstr "Hashtags aus einem bestimmten benutzerdefinierten Feld abrufen"
|
202 |
+
|
203 |
+
#: inc/config.php:204
|
204 |
+
msgid "Minimum interval between shares"
|
205 |
+
msgstr "Mindestabstand zwischen geteilten Beiträgen"
|
206 |
+
|
207 |
+
#: inc/config.php:208
|
208 |
+
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
209 |
+
msgstr ""
|
210 |
+
"Zeitlicher Mindestabstand zwischen geteilten Beiträgen (Stunde/Stunden), "
|
211 |
+
"Angaben wie 0,4 sind ebenfalls möglich."
|
212 |
+
|
213 |
+
#: inc/config.php:214
|
214 |
+
msgid "Minimum age of post to be eligible for sharing"
|
215 |
+
msgstr "Mindestalter der zu teilenden Beiträge"
|
216 |
+
|
217 |
+
#: inc/config.php:218 inc/config.php:228
|
218 |
+
msgid "Day/Days - 0 for Disabled"
|
219 |
+
msgstr "Tag/Tage - 0 zum Deaktivieren"
|
220 |
+
|
221 |
+
#: inc/config.php:224
|
222 |
+
msgid "Maximum age of post to be eligible for sharing"
|
223 |
+
msgstr "Maximales Alter der zu teilenden Beiträge"
|
224 |
+
|
225 |
+
#: inc/config.php:234
|
226 |
+
msgid "Number of Posts to share"
|
227 |
+
msgstr "Anzahl der zu teilenden Beiträge"
|
228 |
+
|
229 |
+
#: inc/config.php:238
|
230 |
+
msgid "Number of posts to share each time"
|
231 |
+
msgstr "Anzahl der Beiträge, die bei jedem Mal geteilt werden"
|
232 |
+
|
233 |
+
#: inc/config.php:246
|
234 |
+
msgid "Post with Image"
|
235 |
+
msgstr "Mit Bild veröffentlichen"
|
236 |
+
|
237 |
+
#: inc/config.php:250
|
238 |
+
msgid "Check if you want to add the post featured image to the share"
|
239 |
+
msgstr ""
|
240 |
+
"Überprüfen Sie, ob Sie das zum Beitrag hinzugefügte Bild ebenfalls teilen "
|
241 |
+
"möchten"
|
242 |
+
|
243 |
+
#: inc/config.php:256
|
244 |
+
msgid "Share old posts more than once"
|
245 |
+
msgstr "Alte Beiträge mehr als einmal teilen"
|
246 |
+
|
247 |
+
#: inc/config.php:260
|
248 |
+
msgid ""
|
249 |
+
"By default once a post is shared it will not be shared again until you stop/"
|
250 |
+
"start the plugin"
|
251 |
+
msgstr ""
|
252 |
+
"Sobald ein Beitrag geteilt wurde, wird dieser standardmäßig nicht wieder "
|
253 |
+
"geteilt, bis Sie das Plugin gestartet/gestoppt haben."
|
254 |
+
|
255 |
+
#: inc/config.php:268
|
256 |
+
msgid "Post Type"
|
257 |
+
msgstr "Beitragstyp"
|
258 |
+
|
259 |
+
#: inc/config.php:272
|
260 |
+
msgid "What type of items do you want to share?"
|
261 |
+
msgstr "Welche Elemente sollen geteilt werden?"
|
262 |
+
|
263 |
+
#: inc/config.php:279
|
264 |
+
msgid "Google Analytics Campaign Tracking"
|
265 |
+
msgstr "Google Analytics Kampagnen-Tracking"
|
266 |
+
|
267 |
+
#: inc/config.php:283
|
268 |
+
msgid ""
|
269 |
+
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
270 |
+
"Old Post generated."
|
271 |
+
msgstr ""
|
272 |
+
"Über das Kampagnen-Tracking können Sie nachvollziehen, wie viel "
|
273 |
+
"Traffic Revive Old Post generiert hat."
|
274 |
+
|
275 |
+
#: inc/config.php:289
|
276 |
+
msgid "Exclude Specific Categories"
|
277 |
+
msgstr "Bestimmte Kategorien ausschließen"
|
278 |
+
|
279 |
+
#: inc/config.php:293
|
280 |
+
msgid ""
|
281 |
+
"Select which categories do you want to exclude to share from? Blank - None"
|
282 |
+
msgstr ""
|
283 |
+
"Wählen Sie aus, welche Kategorien Sie vom Teilen ausschließen möchten? Feld "
|
284 |
+
"frei lassen = nichts ausschließen."
|
285 |
+
|
286 |
+
#: inc/core.php:81
|
287 |
+
msgid "Tweet Old Post is already active!"
|
288 |
+
msgstr "Tweet Old Post ist bereits aktiv!"
|
289 |
+
|
290 |
+
#: inc/core.php:101
|
291 |
+
#, fuzzy
|
292 |
+
msgid "ROP is already inactive!"
|
293 |
+
msgstr "Tweet Old Post ist bereits inaktiv!"
|
294 |
+
|
295 |
+
#: inc/core.php:811
|
296 |
+
msgid "Custom Tweet User Interval"
|
297 |
+
msgstr "Individuelles Twitter-Benutzerintervall"
|
298 |
+
|
299 |
+
#: inc/core.php:1127
|
300 |
+
msgid "Could not connect to Twitter!"
|
301 |
+
msgstr "Es konnte keine Verbindung zu Twitter hergestellt werden!"
|
302 |
+
|
303 |
+
#: inc/core.php:1385
|
304 |
+
msgid "This is only available in the"
|
305 |
+
msgstr "Dies steht nur zur Verfügung in der"
|
306 |
+
|
307 |
+
#: inc/core.php:1385
|
308 |
+
msgid "PRO version"
|
309 |
+
msgstr "PRO-Version"
|
310 |
+
|
311 |
+
#: inc/core.php:1644
|
312 |
+
msgid "Exclude Posts"
|
313 |
+
msgstr "Beiträge ausschließen"
|
314 |
+
|
315 |
+
#: inc/exclude-posts.php:24
|
316 |
+
msgid "Tweet Old Post Options Updated."
|
317 |
+
msgstr "Optionen für Tweet Old Post aktualisiert."
|
318 |
+
|
319 |
+
#: inc/exclude-posts.php:63
|
320 |
+
msgid "No post selected please select a post to be excluded."
|
321 |
+
msgstr ""
|
322 |
+
"Es wurde kein Beitrag ausgewählt, bitte wählen Sie einen Beitrag aus, den "
|
323 |
+
"Sie ausschließen möchten."
|
324 |
+
|
325 |
+
#: inc/exclude-posts.php:70
|
326 |
+
msgid "Posts excluded successfully."
|
327 |
+
msgstr "Beiträge erfolgreich ausgeschlossen."
|
328 |
+
|
329 |
+
#: inc/exclude-posts.php:155
|
330 |
+
msgid "Selected Categories"
|
331 |
+
msgstr "Ausgewählte Kategorien"
|
332 |
+
|
333 |
+
#: inc/exclude-posts.php:157
|
334 |
+
msgid "Filter"
|
335 |
+
msgstr "Filtern"
|
336 |
+
|
337 |
+
#: inc/exclude-posts.php:168
|
338 |
+
msgid "«"
|
339 |
+
msgstr "«"
|
340 |
+
|
341 |
+
#: inc/exclude-posts.php:169
|
342 |
+
msgid "»"
|
343 |
+
msgstr "&ra"
|
344 |
+
|
345 |
+
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
346 |
+
#, php-format
|
347 |
+
msgid "Displaying %s–%s of %s"
|
348 |
+
msgstr "%s–%s von %s angezeigt"
|
349 |
+
|
350 |
+
#: inc/exclude-posts.php:356
|
351 |
+
msgid "No Posts found. Review your search or filter criteria/term."
|
352 |
+
msgstr ""
|
353 |
+
"Keine Beiträge gefunden. Überprüfen Sie Ihre Suchbegriffe oder "
|
354 |
+
"Filtereinstellungen."
|
355 |
+
|
356 |
+
#: inc/exclude-posts.php:363
|
357 |
+
msgid ""
|
358 |
+
"You do not have enough permission to set the option. Please contact your "
|
359 |
+
"admin."
|
360 |
+
msgstr ""
|
361 |
+
"Sie verfügen nicht über die erforderliche Berechtigungen, um diese Option "
|
362 |
+
"festzulegen. Bitte kontaktieren Sie Ihren Administrator."
|
363 |
+
|
364 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
365 |
+
msgid "After 6 months of hard work, we have just released"
|
366 |
+
msgstr "Nach 6 Monaten harter Arbeit haben wir vor kurzem"
|
367 |
+
|
368 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
369 |
+
msgid "the island of WordPress themes."
|
370 |
+
msgstr "die Insel der Wordpress-Themes veröffentlicht."
|
371 |
+
|
372 |
+
#: inc/view-exclude.php:5 inc/view.php:4
|
373 |
+
msgid "Show Me"
|
374 |
+
msgstr "Mehr zeigen"
|
375 |
+
|
376 |
+
#: inc/view-exclude.php:15 inc/view.php:14
|
377 |
+
msgid "by"
|
378 |
+
msgstr "von"
|
379 |
+
|
380 |
+
#: inc/view-exclude.php:18 inc/view.php:17
|
381 |
+
msgid "Show your love"
|
382 |
+
msgstr "Zeigen Sie Ihre Unterstützung"
|
383 |
+
|
384 |
+
#: inc/view-exclude.php:19 inc/view.php:18
|
385 |
+
msgid "Leave A Review"
|
386 |
+
msgstr "Geben Sie eine Bewertung ab"
|
387 |
+
|
388 |
+
#: inc/view-exclude.php:30
|
389 |
+
msgid "Revive Old Post is set to share on a"
|
390 |
+
msgstr "Revive Old Post teilt in einem Intervall von"
|
391 |
+
|
392 |
+
#: inc/view-exclude.php:32 inc/view.php:31
|
393 |
+
msgid "hours interval, "
|
394 |
+
msgstr "Stunden "
|
395 |
+
|
396 |
+
#: inc/view-exclude.php:33 inc/view.php:32
|
397 |
+
msgid "and the next share will take place in: "
|
398 |
+
msgstr "und der nächste Beitrag wird geteilt in: "
|
399 |
+
|
400 |
+
#: inc/view-exclude.php:38
|
401 |
+
msgid "Revive Old Post is not set to share!"
|
402 |
+
msgstr "Revive Old Post wurde so eingestellt, dass es nichts teilt!"
|
403 |
+
|
404 |
+
#: inc/view-exclude.php:42
|
405 |
+
#, fuzzy
|
406 |
+
msgid ""
|
407 |
+
"You have selected following POST IDs to be excluded from tweeting: <span "
|
408 |
+
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
409 |
+
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
410 |
+
"changes will not be saved. "
|
411 |
+
msgstr ""
|
412 |
+
"Sie haben die folgenden POST-IDs ausgewählt, die nicht auf Twitter "
|
413 |
+
"veröffentlicht werden sollen: <span id='excludeList' style='font-weight:bold;"
|
414 |
+
"font-style:italic;'></span>.\n"
|
415 |
+
"Hinweis: Sollten Sie Veränderungen vorgenommen und nicht auf \"Ausgewählte "
|
416 |
+
"Beiträge ausschließen\" geklickt haben, so werden Ihre Änderungen nicht "
|
417 |
+
"gespeichert. "
|
418 |
+
|
419 |
+
#: inc/view.php:29
|
420 |
+
msgid "Revive Old Post is set to post on a"
|
421 |
+
msgstr "Revive Old Post veröffentlicht in einem Intervall von"
|
422 |
+
|
423 |
+
#: inc/view.php:37
|
424 |
+
msgid "Revive Old Post is not set to post!"
|
425 |
+
msgstr "Revive Old Post wurde so eingestellt, dass es nichts veröffentlicht."
|
426 |
+
|
427 |
+
#: inc/view.php:42
|
428 |
+
msgid ""
|
429 |
+
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
430 |
+
"can see the error message if is any."
|
431 |
+
msgstr ""
|
432 |
+
"Sobald Sie auf Veröffentlichen von Beiträgen starten klicken, wird ein "
|
433 |
+
"Beitrag innerhalb von 15 Sekudnen gesendet. Eventuelle Fehlermeldungen "
|
434 |
+
"werden hier angezeigt."
|
435 |
+
|
436 |
+
#: inc/view.php:52
|
437 |
+
msgid "Twitter Login"
|
438 |
+
msgstr "Twitter-Login"
|
439 |
+
|
440 |
+
#: inc/view.php:53
|
441 |
+
msgid "Login using your Twitter account."
|
442 |
+
msgstr "Melden Sie sich über Ihr Twitter-Konto an."
|
443 |
+
|
444 |
+
#: inc/view.php:77 inc/view.php:111
|
445 |
+
msgid "Add Account"
|
446 |
+
msgstr "Konto hinzufügen"
|
447 |
+
|
448 |
+
#: inc/view.php:84
|
449 |
+
msgid "Facebook Login"
|
450 |
+
msgstr "Facebook-Anmeldung"
|
451 |
+
|
452 |
+
#: inc/view.php:85
|
453 |
+
msgid "Login using your Facebook account."
|
454 |
+
msgstr "Melden Sie sich über Ihr Facebook-Konto an."
|
455 |
+
|
456 |
+
#: inc/view.php:109
|
457 |
+
msgid "Authorize"
|
458 |
+
msgstr "Berechtigen"
|
459 |
+
|
460 |
+
#: inc/view.php:118
|
461 |
+
msgid "Linkedin Login"
|
462 |
+
msgstr "LinkedIn-Anmeldung"
|
463 |
+
|
464 |
+
#: inc/view.php:119
|
465 |
+
msgid "Login using your Linkedin account."
|
466 |
+
msgstr "Melden Sie sich über Ihr LinkedIn-Konto an."
|
467 |
+
|
468 |
+
#: inc/view.php:141
|
469 |
+
msgid "Add account"
|
470 |
+
msgstr "Konto hinzufügen"
|
471 |
+
|
472 |
+
#: inc/view.php:154
|
473 |
+
msgid "Select All"
|
474 |
+
msgstr "Alle auswählen"
|
475 |
+
|
476 |
+
#: inc/view.php:165
|
477 |
+
msgid "Reset"
|
478 |
+
msgstr "Zurücksetzen"
|
479 |
+
|
480 |
+
#: inc/view.php:166
|
481 |
+
msgid "Save"
|
482 |
+
msgstr "Speichern"
|
483 |
+
|
484 |
+
#: inc/view.php:167
|
485 |
+
msgid "Start Sharing"
|
486 |
+
msgstr "Teilen starten"
|
487 |
+
|
488 |
+
#: inc/view.php:168
|
489 |
+
msgid "Stop Sharing"
|
490 |
+
msgstr "Teilen beenden"
|
491 |
+
|
492 |
+
#: inc/view.php:169
|
493 |
+
msgid "See Sample Post"
|
494 |
+
msgstr "Siehe Beispiel-Beitrag"
|
495 |
+
|
496 |
+
#: inc/view.php:171
|
497 |
+
msgid ""
|
498 |
+
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
499 |
+
msgstr "Wir stehen in keiner Verbindung zu Twitter/Facebook/Linkedin."
|
500 |
+
|
501 |
+
#: inc/view.php:176
|
502 |
+
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
503 |
+
msgstr ""
|
504 |
+
"Führen Sie für nur $9,99 ein Upgrade für Tweet Old Post durch - Jetzt auf "
|
505 |
+
"die Pro-Version upgraden!"
|
506 |
+
|
507 |
+
#: inc/view.php:177
|
508 |
+
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
509 |
+
msgstr "ThemeIsle - Kinderleichte WordPress-Themes"
|
510 |
+
|
511 |
+
#: inc/view.php:178
|
512 |
+
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
513 |
+
msgstr ""
|
514 |
+
"ThemeIsle - Bewerben Sie unsere Themes und Plug-Ins und erhalten Sie eine "
|
515 |
+
"Provision von 55 %."
|
516 |
+
|
517 |
+
#: inc/view.php:185
|
518 |
+
#, fuzzy
|
519 |
+
msgid "Sample Post Preview"
|
520 |
+
msgstr "Siehe Beispiel-Beitrag"
|
521 |
+
|
522 |
+
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
523 |
+
msgid "Close preview"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: inc/view.php:188
|
527 |
+
msgid "Share now"
|
528 |
+
msgstr ""
|
529 |
+
|
530 |
+
#: inc/view.php:194
|
531 |
+
msgid "Choose a Profile or Page"
|
532 |
+
msgstr ""
|
533 |
+
|
534 |
+
#: inc/view.php:202
|
535 |
+
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
536 |
+
msgstr ""
|
537 |
+
|
538 |
+
#: inc/view.php:206 inc/view.php:252
|
539 |
+
msgid "Go on"
|
540 |
+
msgstr ""
|
541 |
+
|
542 |
+
#: inc/view.php:207
|
543 |
+
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: inc/view.php:208
|
547 |
+
msgid ""
|
548 |
+
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
549 |
+
"click on Create App"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: inc/view.php:209
|
553 |
+
msgid ""
|
554 |
+
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
555 |
+
"<strong>App Secret</strong> in the fields on the right"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: inc/view.php:210
|
559 |
+
msgid ""
|
560 |
+
"Go on Settings tab from the left sidebar menu add the contact email and "
|
561 |
+
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: inc/view.php:211
|
565 |
+
msgid ""
|
566 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
567 |
+
"Domains and Site URL fields and <strong>Save</strong>"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: inc/view.php:212
|
571 |
+
msgid ""
|
572 |
+
"Go on Status & Review tab and set your app live from the top-right switch."
|
573 |
+
msgstr ""
|
574 |
+
|
575 |
+
#: inc/view.php:213 inc/view.php:259
|
576 |
+
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
577 |
+
msgstr ""
|
578 |
+
|
579 |
+
#: inc/view.php:219
|
580 |
+
#, fuzzy
|
581 |
+
msgid "Facebook App ID"
|
582 |
+
msgstr "Facebook-Anmeldung"
|
583 |
+
|
584 |
+
#: inc/view.php:220
|
585 |
+
msgid "ID from your app created on facebook website."
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
+
#: inc/view.php:231
|
589 |
+
msgid "Facebook App Secret"
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: inc/view.php:232
|
593 |
+
msgid "Secret from your app created on facebook website. "
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: inc/view.php:240 inc/view.php:287
|
597 |
+
#, fuzzy
|
598 |
+
msgid "Authorize App"
|
599 |
+
msgstr "Berechtigen"
|
600 |
+
|
601 |
+
#: inc/view.php:248
|
602 |
+
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
603 |
+
msgstr ""
|
604 |
+
|
605 |
+
#: inc/view.php:253
|
606 |
+
msgid ""
|
607 |
+
"Enter the required details and pay special attention to the further fields :"
|
608 |
+
msgstr ""
|
609 |
+
|
610 |
+
#: inc/view.php:254
|
611 |
+
msgid "Make sure you set Live Status to LIVE"
|
612 |
+
msgstr ""
|
613 |
+
|
614 |
+
#: inc/view.php:255
|
615 |
+
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: inc/view.php:256
|
619 |
+
msgid ""
|
620 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
621 |
+
"2.0 Redirect URLs"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: inc/view.php:257
|
625 |
+
msgid ""
|
626 |
+
"Once all required fields are filled click on Add Application button, get the "
|
627 |
+
"API Key and Secret Key and paste them in the fields on the right"
|
628 |
+
msgstr ""
|
629 |
+
|
630 |
+
#: inc/view.php:265
|
631 |
+
#, fuzzy
|
632 |
+
msgid "Linkedin API Key"
|
633 |
+
msgstr "LinkedIn-Anmeldung"
|
634 |
+
|
635 |
+
#: inc/view.php:266
|
636 |
+
msgid "API Key that you get once you create an app"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: inc/view.php:277
|
640 |
+
msgid "Linkedin Secret Key"
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
#: inc/view.php:278
|
644 |
+
msgid "Secret Key that you get once you create an app"
|
645 |
+
msgstr ""
|
646 |
+
|
647 |
+
#. Description of the plugin/theme
|
648 |
+
msgid ""
|
649 |
+
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
650 |
+
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
651 |
+
"also helps you to promote your content. You can set time and no of posts to "
|
652 |
+
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
653 |
+
"href=\"https://themeisle.com/contact/?"
|
654 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
655 |
+
msgstr ""
|
656 |
+
"Ein WordPress-Plug-in, das Ihnen dabei hilft, Ihre alten Beiträge am Leben "
|
657 |
+
"zu halten, indem Sie sie teilen und mehr Traffic von Twitter, Facebook oder "
|
658 |
+
"Linkedin auf Ihren Blog lenken. Sie können auf diese Weise auch Ihre Inhalte "
|
659 |
+
"besser vermarkten. Legen Sie eine Zeit und die Anzahl der zu teilenden "
|
660 |
+
"Beiträge fest, um mehr Traffic zu generieren. <a href=\"https://themeisle.com/"
|
661 |
+
"contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top"
|
662 |
+
"\">Kontaktieren Sie uns</a>, falls Sie Fragen, Kommentare oder Wünsche haben!"
|
663 |
+
|
664 |
+
#~ msgid "Post Only"
|
665 |
+
#~ msgstr "Nur Beiträge"
|
666 |
+
|
667 |
+
#~ msgid "Page Only"
|
668 |
+
#~ msgstr "Nur Seiten"
|
669 |
+
|
670 |
+
#~ msgid "Custom Post Type"
|
671 |
+
#~ msgstr "Benutzerdefinierte Beitragstypen"
|
672 |
+
|
673 |
+
#~ msgid "Post and Page"
|
674 |
+
#~ msgstr "Beitrag und Seite"
|
675 |
+
|
676 |
+
#~ msgid "Select which custom post type"
|
677 |
+
#~ msgstr "Wählen Sie den benutzerdefinierten Beitragstyp aus"
|
678 |
+
|
679 |
+
#~ msgid ""
|
680 |
+
#~ " We just fixed the interrupted posting issue and scheduling issue, if you "
|
681 |
+
#~ "don't see any tweets you need to re-authentificate your twitter accounts. "
|
682 |
+
#~ "| <a href=\""
|
683 |
+
#~ msgstr ""
|
684 |
+
#~ " Wir haben die Unterbrechungen beim Veröffentlichen und Planen von "
|
685 |
+
#~ "Beiträgen behoben. Wenn Sie keine Tweets sehen, müssen Sie Ihre Twitter-"
|
686 |
+
#~ "Konten erneut authentifizieren. | <a href=\""
|
687 |
+
|
688 |
+
#~ msgid "ExcludePosts"
|
689 |
+
#~ msgstr "Beiträge ausschließen"
|
690 |
+
|
691 |
+
#~ msgid "Revive Old Post PRO"
|
692 |
+
#~ msgstr "Revive Old Post PRO"
|
languages/tweet-old-post-es_ES.po
CHANGED
@@ -1,683 +1,683 @@
|
|
1 |
-
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
-
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
-
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
-
"PO-Revision-Date: 2014-10-03 15:56+0100\n"
|
9 |
-
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
-
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
-
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
-
"X-Poedit-Basepath: ../\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
"X-Poedit-SearchPath-1: inc\n"
|
19 |
-
|
20 |
-
#: inc/class-remote-notification-client.php:260
|
21 |
-
msgid "Dismiss notification"
|
22 |
-
msgstr "Descartar la notificación"
|
23 |
-
|
24 |
-
#: inc/class-remote-notification-client.php:262
|
25 |
-
msgid "Dismiss"
|
26 |
-
msgstr "Descartar"
|
27 |
-
|
28 |
-
#: inc/config.php:24
|
29 |
-
msgid "Post Content"
|
30 |
-
msgstr "Publicar contenido "
|
31 |
-
|
32 |
-
#: inc/config.php:28
|
33 |
-
msgid "What do you want to share?"
|
34 |
-
msgstr "¿Qué es lo que deseas compartir?"
|
35 |
-
|
36 |
-
#: inc/config.php:30
|
37 |
-
msgid "Title Only"
|
38 |
-
msgstr "Solo Título"
|
39 |
-
|
40 |
-
#: inc/config.php:31
|
41 |
-
msgid "Body Only"
|
42 |
-
msgstr "Solo cuerpo"
|
43 |
-
|
44 |
-
#: inc/config.php:32
|
45 |
-
msgid "Title & Body"
|
46 |
-
msgstr "Título y Cuerpo"
|
47 |
-
|
48 |
-
#: inc/config.php:33
|
49 |
-
msgid "Custom Field"
|
50 |
-
msgstr "Campo personalizado"
|
51 |
-
|
52 |
-
#: inc/config.php:39
|
53 |
-
msgid "Post Content Custom Field"
|
54 |
-
msgstr "Publicar campo de contenido personalizado"
|
55 |
-
|
56 |
-
#: inc/config.php:43
|
57 |
-
msgid "Which custom field do you want to fetch info from?"
|
58 |
-
msgstr "¿De qué campo personalizado deseas tomar la información?"
|
59 |
-
|
60 |
-
#: inc/config.php:49
|
61 |
-
msgid "Additional Text"
|
62 |
-
msgstr "Texto adicional"
|
63 |
-
|
64 |
-
#: inc/config.php:53
|
65 |
-
msgid "Text added to your auto posts"
|
66 |
-
msgstr "Texto añadido a tus autopublicaciones"
|
67 |
-
|
68 |
-
#: inc/config.php:59
|
69 |
-
msgid "Additional Text At"
|
70 |
-
msgstr "Texto adicional en"
|
71 |
-
|
72 |
-
#: inc/config.php:63
|
73 |
-
msgid "Where do you want the text to be added?"
|
74 |
-
msgstr "¿Dónde quieres que se añada el texto?"
|
75 |
-
|
76 |
-
#: inc/config.php:65
|
77 |
-
msgid "Beginning of Post"
|
78 |
-
msgstr "Principio de la publicación"
|
79 |
-
|
80 |
-
#: inc/config.php:66
|
81 |
-
msgid "End of Post"
|
82 |
-
msgstr "Fin de la publicación"
|
83 |
-
|
84 |
-
#: inc/config.php:72
|
85 |
-
msgid "Include Link"
|
86 |
-
msgstr "Incluir enlace"
|
87 |
-
|
88 |
-
#: inc/config.php:76
|
89 |
-
msgid "Include a link to your post?"
|
90 |
-
msgstr "¿Incluir un enlace a tu publicación?"
|
91 |
-
|
92 |
-
#: inc/config.php:78
|
93 |
-
msgid "Yes"
|
94 |
-
msgstr "Sí"
|
95 |
-
|
96 |
-
#: inc/config.php:79
|
97 |
-
msgid "No"
|
98 |
-
msgstr "No"
|
99 |
-
|
100 |
-
#: inc/config.php:85
|
101 |
-
msgid "Fetch URL From Custom Field"
|
102 |
-
msgstr "Tomar URL del campo personalizado"
|
103 |
-
|
104 |
-
#: inc/config.php:89
|
105 |
-
msgid "URL will be fetched from a custom field."
|
106 |
-
msgstr "La URL se obtendrá de un campo personalizado."
|
107 |
-
|
108 |
-
#: inc/config.php:95
|
109 |
-
msgid "URL Custom Field"
|
110 |
-
msgstr "Campo personalizado de URL"
|
111 |
-
|
112 |
-
#: inc/config.php:99
|
113 |
-
msgid "URL will be fetched from the specified custom field."
|
114 |
-
msgstr "La URL se tomará del campo personalizado especificado."
|
115 |
-
|
116 |
-
#: inc/config.php:105
|
117 |
-
msgid "Use URL Shortner"
|
118 |
-
msgstr "Utilizar acortador de URL"
|
119 |
-
|
120 |
-
#: inc/config.php:117
|
121 |
-
msgid "URL Shortner Service"
|
122 |
-
msgstr "Servicio de acortado de URL"
|
123 |
-
|
124 |
-
#: inc/config.php:121
|
125 |
-
msgid "Shorten the link to your post."
|
126 |
-
msgstr "Acortar el enlace a tu publicación."
|
127 |
-
|
128 |
-
#: inc/config.php:123
|
129 |
-
msgid "wp short url"
|
130 |
-
msgstr "wp url corta"
|
131 |
-
|
132 |
-
#: inc/config.php:125
|
133 |
-
msgid "is.gd"
|
134 |
-
msgstr "is.gd"
|
135 |
-
|
136 |
-
#: inc/config.php:126
|
137 |
-
msgid "bit.ly"
|
138 |
-
msgstr "bit.ly"
|
139 |
-
|
140 |
-
#: inc/config.php:138
|
141 |
-
msgid "Bitly Key"
|
142 |
-
msgstr "Clave Bitly"
|
143 |
-
|
144 |
-
#: inc/config.php:148
|
145 |
-
msgid "Bitly User"
|
146 |
-
msgstr "Usuario Bitly"
|
147 |
-
|
148 |
-
#: inc/config.php:158
|
149 |
-
msgid "Hashtags"
|
150 |
-
msgstr "Etiquetas"
|
151 |
-
|
152 |
-
#: inc/config.php:162
|
153 |
-
msgid "Include #hashtags in your auto posts?"
|
154 |
-
msgstr "¿Incluir #etiquetas en tus autopublicaciones?"
|
155 |
-
|
156 |
-
#: inc/config.php:164
|
157 |
-
msgid "Don't add any hashtags"
|
158 |
-
msgstr "No agregar ninguna etiqueta"
|
159 |
-
|
160 |
-
#: inc/config.php:165
|
161 |
-
msgid "Common hashtags for all shares"
|
162 |
-
msgstr "Etiquetas comunes para todas las comparticiones"
|
163 |
-
|
164 |
-
#: inc/config.php:166
|
165 |
-
msgid "Create hashtags from Categories"
|
166 |
-
msgstr "Crear etiquetas a partir de Categorías"
|
167 |
-
|
168 |
-
#: inc/config.php:167
|
169 |
-
msgid "Create hashtags from Tags"
|
170 |
-
msgstr "Crear etiquetas a partir de Etiquetas"
|
171 |
-
|
172 |
-
#: inc/config.php:168
|
173 |
-
msgid "Create hashtags from Custom Fields"
|
174 |
-
msgstr "Crear etiquetas a partir de Campos Personalizados"
|
175 |
-
|
176 |
-
#: inc/config.php:174
|
177 |
-
msgid "Common Hashtags"
|
178 |
-
msgstr "Etiquetas comunes"
|
179 |
-
|
180 |
-
#: inc/config.php:178
|
181 |
-
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
-
msgstr ""
|
183 |
-
"Especifica las etiquetas que deseas utilizar. Por ejemplo. #ejemplo, "
|
184 |
-
"#ejemplo2"
|
185 |
-
|
186 |
-
#: inc/config.php:184
|
187 |
-
msgid "Maximum Hashtags Length"
|
188 |
-
msgstr "Longitud máxima de las etiquetas"
|
189 |
-
|
190 |
-
#: inc/config.php:188
|
191 |
-
msgid "Set to 0 (characters) to include all."
|
192 |
-
msgstr "Pon este valor a 0 (caracteres) para incluir todos."
|
193 |
-
|
194 |
-
#: inc/config.php:194
|
195 |
-
msgid "Hashtag Custom Field"
|
196 |
-
msgstr "Campo personalizado de etiqueta"
|
197 |
-
|
198 |
-
#: inc/config.php:198
|
199 |
-
msgid "Fetch hashtags from specified custom field"
|
200 |
-
msgstr "Tomar etiquetas del campo personalizado especificado"
|
201 |
-
|
202 |
-
#: inc/config.php:204
|
203 |
-
msgid "Minimum interval between shares"
|
204 |
-
msgstr "Intervalo mínimo entre comparticiones"
|
205 |
-
|
206 |
-
#: inc/config.php:208
|
207 |
-
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
-
msgstr ""
|
209 |
-
"Tiempo mínimo entre comparticiones (hora / horas), También se puede usar 0.4."
|
210 |
-
|
211 |
-
#: inc/config.php:214
|
212 |
-
msgid "Minimum age of post to be eligible for sharing"
|
213 |
-
msgstr ""
|
214 |
-
"Antigüedad mínima de la publicación para poder ser seleccionada para ser "
|
215 |
-
"compartida"
|
216 |
-
|
217 |
-
#: inc/config.php:218 inc/config.php:228
|
218 |
-
msgid "Day/Days - 0 for Disabled"
|
219 |
-
msgstr "Día / días - 0 para deshabilitar"
|
220 |
-
|
221 |
-
#: inc/config.php:224
|
222 |
-
msgid "Maximum age of post to be eligible for sharing"
|
223 |
-
msgstr ""
|
224 |
-
"Antigüedad máxima de la publicación para poder ser seleccionada para ser "
|
225 |
-
"compartida"
|
226 |
-
|
227 |
-
#: inc/config.php:234
|
228 |
-
msgid "Number of Posts to share"
|
229 |
-
msgstr "Número de publicaciones a compartir"
|
230 |
-
|
231 |
-
#: inc/config.php:238
|
232 |
-
msgid "Number of posts to share each time"
|
233 |
-
msgstr "Número de publicaciones a compartir cada vez"
|
234 |
-
|
235 |
-
#: inc/config.php:246
|
236 |
-
msgid "Post with Image"
|
237 |
-
msgstr "Publicar con imagen"
|
238 |
-
|
239 |
-
#: inc/config.php:250
|
240 |
-
msgid "Check if you want to add the post featured image to the share"
|
241 |
-
msgstr ""
|
242 |
-
"Comprueba si quieres agregar la imagen destacada del artículo en la "
|
243 |
-
"compartición"
|
244 |
-
|
245 |
-
#: inc/config.php:256
|
246 |
-
msgid "Share old posts more than once"
|
247 |
-
msgstr "Compartir publicaciones antiguas más de una vez"
|
248 |
-
|
249 |
-
#: inc/config.php:260
|
250 |
-
msgid ""
|
251 |
-
"By default once a post is shared it will not be shared again until you stop/"
|
252 |
-
"start the plugin"
|
253 |
-
msgstr ""
|
254 |
-
"De forma predeterminada, una vez se haya compartido una publicación, no se "
|
255 |
-
"volverá a compartir hasta que se detenga y se inicie el plugin"
|
256 |
-
|
257 |
-
#: inc/config.php:268
|
258 |
-
msgid "Post Type"
|
259 |
-
msgstr "Tipo de publicación"
|
260 |
-
|
261 |
-
#: inc/config.php:272
|
262 |
-
msgid "What type of items do you want to share?"
|
263 |
-
msgstr "¿Qué tipo de elementos quieres compartir?"
|
264 |
-
|
265 |
-
#: inc/config.php:279
|
266 |
-
msgid "Google Analytics Campaign Tracking"
|
267 |
-
msgstr "Seguimiento de campaña de Google Analytics"
|
268 |
-
|
269 |
-
#: inc/config.php:283
|
270 |
-
msgid ""
|
271 |
-
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
272 |
-
"Old Post generated."
|
273 |
-
msgstr ""
|
274 |
-
"Habilitando el seguimiento de campaña podrás ver cuánto tráfico ha generado "
|
275 |
-
"Revive Old Post."
|
276 |
-
|
277 |
-
#: inc/config.php:289
|
278 |
-
msgid "Exclude Specific Categories"
|
279 |
-
msgstr "Excluir categorías específicas"
|
280 |
-
|
281 |
-
#: inc/config.php:293
|
282 |
-
msgid ""
|
283 |
-
"Select which categories do you want to exclude to share from? Blank - None"
|
284 |
-
msgstr ""
|
285 |
-
"Selecciona las categorías que deseas excluir de la compartición. En blanco - "
|
286 |
-
"ninguna"
|
287 |
-
|
288 |
-
#: inc/core.php:81
|
289 |
-
msgid "Tweet Old Post is already active!"
|
290 |
-
msgstr "¡Ya está activado Tweet Old Post!"
|
291 |
-
|
292 |
-
#: inc/core.php:101
|
293 |
-
#, fuzzy
|
294 |
-
msgid "ROP is already inactive!"
|
295 |
-
msgstr "¡Ya está desactivado Tweet Old Post!"
|
296 |
-
|
297 |
-
#: inc/core.php:811
|
298 |
-
msgid "Custom Tweet User Interval"
|
299 |
-
msgstr "Intervalo de usuario de tuit personalizado"
|
300 |
-
|
301 |
-
#: inc/core.php:1127
|
302 |
-
msgid "Could not connect to Twitter!"
|
303 |
-
msgstr "¡Ha fallado la conexión a Twitter!"
|
304 |
-
|
305 |
-
#: inc/core.php:1385
|
306 |
-
msgid "This is only available in the"
|
307 |
-
msgstr "Solo está disponible en la"
|
308 |
-
|
309 |
-
#: inc/core.php:1385
|
310 |
-
msgid "PRO version"
|
311 |
-
msgstr "versión PRO"
|
312 |
-
|
313 |
-
#: inc/core.php:1644
|
314 |
-
msgid "Exclude Posts"
|
315 |
-
msgstr "Excluir publicaciones"
|
316 |
-
|
317 |
-
#: inc/exclude-posts.php:24
|
318 |
-
msgid "Tweet Old Post Options Updated."
|
319 |
-
msgstr "Actualizadas las opciones de Tweet Old Post."
|
320 |
-
|
321 |
-
#: inc/exclude-posts.php:63
|
322 |
-
msgid "No post selected please select a post to be excluded."
|
323 |
-
msgstr ""
|
324 |
-
"No se ha seleccionado ninguna publicación, por favor selecciona una "
|
325 |
-
"publicación a excluir."
|
326 |
-
|
327 |
-
#: inc/exclude-posts.php:70
|
328 |
-
msgid "Posts excluded successfully."
|
329 |
-
msgstr "Publicaciones excluidas con éxito."
|
330 |
-
|
331 |
-
#: inc/exclude-posts.php:155
|
332 |
-
msgid "Selected Categories"
|
333 |
-
msgstr "Categorías seleccionadas"
|
334 |
-
|
335 |
-
#: inc/exclude-posts.php:157
|
336 |
-
msgid "Filter"
|
337 |
-
msgstr "Filtro"
|
338 |
-
|
339 |
-
#: inc/exclude-posts.php:168
|
340 |
-
msgid "«"
|
341 |
-
msgstr "«"
|
342 |
-
|
343 |
-
#: inc/exclude-posts.php:169
|
344 |
-
msgid "»"
|
345 |
-
msgstr "»"
|
346 |
-
|
347 |
-
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
348 |
-
#, php-format
|
349 |
-
msgid "Displaying %s–%s of %s"
|
350 |
-
msgstr "Mostrando %s–%s de %s"
|
351 |
-
|
352 |
-
#: inc/exclude-posts.php:356
|
353 |
-
msgid "No Posts found. Review your search or filter criteria/term."
|
354 |
-
msgstr ""
|
355 |
-
"No se han encontrado publicaciones. Revisa las palabras o criterios de "
|
356 |
-
"filtro de la búsqueda."
|
357 |
-
|
358 |
-
#: inc/exclude-posts.php:363
|
359 |
-
msgid ""
|
360 |
-
"You do not have enough permission to set the option. Please contact your "
|
361 |
-
"admin."
|
362 |
-
msgstr ""
|
363 |
-
"No tienes los permisos necesarios para modificar esta opción.. Por favor, "
|
364 |
-
"ponte en contacto con tu administrador."
|
365 |
-
|
366 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
367 |
-
msgid "After 6 months of hard work, we have just released"
|
368 |
-
msgstr "Después de 6 meses de duro trabajo, acabamos de lanzar"
|
369 |
-
|
370 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
371 |
-
msgid "the island of WordPress themes."
|
372 |
-
msgstr "la isla de temas de WordPress."
|
373 |
-
|
374 |
-
#: inc/view-exclude.php:5 inc/view.php:4
|
375 |
-
msgid "Show Me"
|
376 |
-
msgstr "Muéstramela"
|
377 |
-
|
378 |
-
#: inc/view-exclude.php:15 inc/view.php:14
|
379 |
-
msgid "by"
|
380 |
-
msgstr "por"
|
381 |
-
|
382 |
-
#: inc/view-exclude.php:18 inc/view.php:17
|
383 |
-
msgid "Show your love"
|
384 |
-
msgstr "Muestra tu amor"
|
385 |
-
|
386 |
-
#: inc/view-exclude.php:19 inc/view.php:18
|
387 |
-
msgid "Leave A Review"
|
388 |
-
msgstr "Deja una reseña"
|
389 |
-
|
390 |
-
#: inc/view-exclude.php:30
|
391 |
-
msgid "Revive Old Post is set to share on a"
|
392 |
-
msgstr "Revive Old Post está configurado para compartir en un"
|
393 |
-
|
394 |
-
#: inc/view-exclude.php:32 inc/view.php:31
|
395 |
-
msgid "hours interval, "
|
396 |
-
msgstr "intervalo de horas, "
|
397 |
-
|
398 |
-
#: inc/view-exclude.php:33 inc/view.php:32
|
399 |
-
msgid "and the next share will take place in: "
|
400 |
-
msgstr "y la siguiente compartición se llevará a cabo en: "
|
401 |
-
|
402 |
-
#: inc/view-exclude.php:38
|
403 |
-
msgid "Revive Old Post is not set to share!"
|
404 |
-
msgstr "¡Revive Old Post no está configurado para compartir!"
|
405 |
-
|
406 |
-
#: inc/view-exclude.php:42
|
407 |
-
msgid ""
|
408 |
-
"You have selected following POST IDs to be excluded from tweeting: <span "
|
409 |
-
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
410 |
-
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
411 |
-
"changes will not be saved. "
|
412 |
-
msgstr ""
|
413 |
-
"Has seleccionado excluir los siguientes IDs de publicación de los tuits: "
|
414 |
-
"<span id='excludeList' style='font-weight:bold;font-style:italic;'> </ "
|
415 |
-
"span> \n"
|
416 |
-
" Nota:. Si has realizado algún cambio sin darle al botón 'Excluir "
|
417 |
-
"seleccionados', los cambios no se guardarán. "
|
418 |
-
|
419 |
-
#: inc/view.php:29
|
420 |
-
msgid "Revive Old Post is set to post on a"
|
421 |
-
msgstr "Revive Old Post está configurado para publicar en"
|
422 |
-
|
423 |
-
#: inc/view.php:37
|
424 |
-
msgid "Revive Old Post is not set to post!"
|
425 |
-
msgstr "¡Revive Old Post no está configurado para publicar!"
|
426 |
-
|
427 |
-
#: inc/view.php:42
|
428 |
-
msgid ""
|
429 |
-
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
430 |
-
"can see the error message if is any."
|
431 |
-
msgstr ""
|
432 |
-
"Una vez hagas clic en Empezar a compartir, se enviará una publicación en 15 "
|
433 |
-
"segundos, también aquí podrás ver el mensaje de error si ocurre algo."
|
434 |
-
|
435 |
-
#: inc/view.php:52
|
436 |
-
msgid "Twitter Login"
|
437 |
-
msgstr "Acceder con Twitter"
|
438 |
-
|
439 |
-
#: inc/view.php:53
|
440 |
-
msgid "Login using your Twitter account."
|
441 |
-
msgstr "Accede utilizando tu cuenta de Twitter."
|
442 |
-
|
443 |
-
#: inc/view.php:77 inc/view.php:111
|
444 |
-
msgid "Add Account"
|
445 |
-
msgstr "Añadir Cuenta"
|
446 |
-
|
447 |
-
#: inc/view.php:84
|
448 |
-
msgid "Facebook Login"
|
449 |
-
msgstr "Acceder con Facebook"
|
450 |
-
|
451 |
-
#: inc/view.php:85
|
452 |
-
msgid "Login using your Facebook account."
|
453 |
-
msgstr "Accede utilizando tu cuenta de Facebook."
|
454 |
-
|
455 |
-
#: inc/view.php:109
|
456 |
-
msgid "Authorize"
|
457 |
-
msgstr "Autorizar"
|
458 |
-
|
459 |
-
#: inc/view.php:118
|
460 |
-
msgid "Linkedin Login"
|
461 |
-
msgstr "Acceso con Linkedin"
|
462 |
-
|
463 |
-
#: inc/view.php:119
|
464 |
-
msgid "Login using your Linkedin account."
|
465 |
-
msgstr "Accede utilizando tu cuenta de Linkedin."
|
466 |
-
|
467 |
-
#: inc/view.php:141
|
468 |
-
msgid "Add account"
|
469 |
-
msgstr "Agregar cuenta"
|
470 |
-
|
471 |
-
#: inc/view.php:154
|
472 |
-
msgid "Select All"
|
473 |
-
msgstr "Seleccionar todo"
|
474 |
-
|
475 |
-
#: inc/view.php:165
|
476 |
-
msgid "Reset"
|
477 |
-
msgstr "Restablecer"
|
478 |
-
|
479 |
-
#: inc/view.php:166
|
480 |
-
msgid "Save"
|
481 |
-
msgstr "Guardar"
|
482 |
-
|
483 |
-
#: inc/view.php:167
|
484 |
-
msgid "Start Sharing"
|
485 |
-
msgstr "Empezar a compartir"
|
486 |
-
|
487 |
-
#: inc/view.php:168
|
488 |
-
msgid "Stop Sharing"
|
489 |
-
msgstr "Dejar de compartir"
|
490 |
-
|
491 |
-
#: inc/view.php:169
|
492 |
-
msgid "See Sample Post"
|
493 |
-
msgstr "Ver una publicación de muestra"
|
494 |
-
|
495 |
-
#: inc/view.php:171
|
496 |
-
msgid ""
|
497 |
-
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
498 |
-
msgstr ""
|
499 |
-
"No estamos afiliados o asociados con Twitter / Facebook / Linkedin de "
|
500 |
-
"ninguna manera."
|
501 |
-
|
502 |
-
#: inc/view.php:176
|
503 |
-
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
504 |
-
msgstr ""
|
505 |
-
"Actualiza Tweet Old Post por solo 9,99 dólares - ¡Actualizar a Pro Ahora!"
|
506 |
-
|
507 |
-
#: inc/view.php:177
|
508 |
-
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
509 |
-
msgstr "ThemeIsle - Temas de WordPress increíblemente sencillos"
|
510 |
-
|
511 |
-
#: inc/view.php:178
|
512 |
-
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
513 |
-
msgstr ""
|
514 |
-
"ThemeIsle - Haz publicidad de nuestros temas y plugins y consigue una "
|
515 |
-
"comisión del 55%"
|
516 |
-
|
517 |
-
#: inc/view.php:185
|
518 |
-
#, fuzzy
|
519 |
-
msgid "Sample Post Preview"
|
520 |
-
msgstr "Ver una publicación de muestra"
|
521 |
-
|
522 |
-
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
523 |
-
msgid "Close preview"
|
524 |
-
msgstr ""
|
525 |
-
|
526 |
-
#: inc/view.php:188
|
527 |
-
msgid "Share now"
|
528 |
-
msgstr ""
|
529 |
-
|
530 |
-
#: inc/view.php:194
|
531 |
-
msgid "Choose a Profile or Page"
|
532 |
-
msgstr ""
|
533 |
-
|
534 |
-
#: inc/view.php:202
|
535 |
-
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
536 |
-
msgstr ""
|
537 |
-
|
538 |
-
#: inc/view.php:206 inc/view.php:252
|
539 |
-
msgid "Go on"
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: inc/view.php:207
|
543 |
-
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: inc/view.php:208
|
547 |
-
msgid ""
|
548 |
-
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
549 |
-
"click on Create App"
|
550 |
-
msgstr ""
|
551 |
-
|
552 |
-
#: inc/view.php:209
|
553 |
-
msgid ""
|
554 |
-
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
555 |
-
"<strong>App Secret</strong> in the fields on the right"
|
556 |
-
msgstr ""
|
557 |
-
|
558 |
-
#: inc/view.php:210
|
559 |
-
msgid ""
|
560 |
-
"Go on Settings tab from the left sidebar menu add the contact email and "
|
561 |
-
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: inc/view.php:211
|
565 |
-
msgid ""
|
566 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
567 |
-
"Domains and Site URL fields and <strong>Save</strong>"
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
#: inc/view.php:212
|
571 |
-
msgid ""
|
572 |
-
"Go on Status & Review tab and set your app live from the top-right switch."
|
573 |
-
msgstr ""
|
574 |
-
|
575 |
-
#: inc/view.php:213 inc/view.php:259
|
576 |
-
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
577 |
-
msgstr ""
|
578 |
-
|
579 |
-
#: inc/view.php:219
|
580 |
-
#, fuzzy
|
581 |
-
msgid "Facebook App ID"
|
582 |
-
msgstr "Acceder con Facebook"
|
583 |
-
|
584 |
-
#: inc/view.php:220
|
585 |
-
msgid "ID from your app created on facebook website."
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: inc/view.php:231
|
589 |
-
msgid "Facebook App Secret"
|
590 |
-
msgstr ""
|
591 |
-
|
592 |
-
#: inc/view.php:232
|
593 |
-
msgid "Secret from your app created on facebook website. "
|
594 |
-
msgstr ""
|
595 |
-
|
596 |
-
#: inc/view.php:240 inc/view.php:287
|
597 |
-
#, fuzzy
|
598 |
-
msgid "Authorize App"
|
599 |
-
msgstr "Autorizar"
|
600 |
-
|
601 |
-
#: inc/view.php:248
|
602 |
-
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
603 |
-
msgstr ""
|
604 |
-
|
605 |
-
#: inc/view.php:253
|
606 |
-
msgid ""
|
607 |
-
"Enter the required details and pay special attention to the further fields :"
|
608 |
-
msgstr ""
|
609 |
-
|
610 |
-
#: inc/view.php:254
|
611 |
-
msgid "Make sure you set Live Status to LIVE"
|
612 |
-
msgstr ""
|
613 |
-
|
614 |
-
#: inc/view.php:255
|
615 |
-
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
616 |
-
msgstr ""
|
617 |
-
|
618 |
-
#: inc/view.php:256
|
619 |
-
msgid ""
|
620 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
621 |
-
"2.0 Redirect URLs"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: inc/view.php:257
|
625 |
-
msgid ""
|
626 |
-
"Once all required fields are filled click on Add Application button, get the "
|
627 |
-
"API Key and Secret Key and paste them in the fields on the right"
|
628 |
-
msgstr ""
|
629 |
-
|
630 |
-
#: inc/view.php:265
|
631 |
-
#, fuzzy
|
632 |
-
msgid "Linkedin API Key"
|
633 |
-
msgstr "Acceso con Linkedin"
|
634 |
-
|
635 |
-
#: inc/view.php:266
|
636 |
-
msgid "API Key that you get once you create an app"
|
637 |
-
msgstr ""
|
638 |
-
|
639 |
-
#: inc/view.php:277
|
640 |
-
msgid "Linkedin Secret Key"
|
641 |
-
msgstr ""
|
642 |
-
|
643 |
-
#: inc/view.php:278
|
644 |
-
msgid "Secret Key that you get once you create an app"
|
645 |
-
msgstr ""
|
646 |
-
|
647 |
-
#. Description of the plugin/theme
|
648 |
-
msgid ""
|
649 |
-
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
650 |
-
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
651 |
-
"also helps you to promote your content. You can set time and no of posts to "
|
652 |
-
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
653 |
-
"href=\"https://themeisle.com/contact/?"
|
654 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
655 |
-
msgstr ""
|
656 |
-
"Plugin para Wordpress que ayuda a mantener vivos tus publicaciones antiguas "
|
657 |
-
"compartiéndolas y atrayendo más tráfico desde twitter / facebook o linkedin. "
|
658 |
-
"También te ayuda a promocionar tu contenido. Puedes establecer el tiempo y "
|
659 |
-
"número de publicaciones a compartir para atraer más tráfico. Para preguntas, "
|
660 |
-
"comentarios o peticiones, <a href=\"https://themeisle.com/contact/?"
|
661 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">¡Ponte en "
|
662 |
-
"contacto </a> con nosotros!"
|
663 |
-
|
664 |
-
#~ msgid "Post Only"
|
665 |
-
#~ msgstr "Solo la publicación"
|
666 |
-
|
667 |
-
#~ msgid "Page Only"
|
668 |
-
#~ msgstr "Solo la página"
|
669 |
-
|
670 |
-
#~ msgid "Custom Post Type"
|
671 |
-
#~ msgstr "Tipo de publicación personalizada"
|
672 |
-
|
673 |
-
#~ msgid "Post and Page"
|
674 |
-
#~ msgstr "Publicación y página"
|
675 |
-
|
676 |
-
#~ msgid "Select which custom post type"
|
677 |
-
#~ msgstr "Selecciona el tipo de publicación personalizada"
|
678 |
-
|
679 |
-
#~ msgid "ExcludePosts"
|
680 |
-
#~ msgstr "Excluir publicaciones"
|
681 |
-
|
682 |
-
#~ msgid "Revive Old Post PRO"
|
683 |
-
#~ msgstr "Revive Old Post PRO"
|
1 |
+
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
+
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
+
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
+
"PO-Revision-Date: 2014-10-03 15:56+0100\n"
|
9 |
+
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
+
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
+
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
+
"X-Poedit-Basepath: ../\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
"X-Poedit-SearchPath-1: inc\n"
|
19 |
+
|
20 |
+
#: inc/class-remote-notification-client.php:260
|
21 |
+
msgid "Dismiss notification"
|
22 |
+
msgstr "Descartar la notificación"
|
23 |
+
|
24 |
+
#: inc/class-remote-notification-client.php:262
|
25 |
+
msgid "Dismiss"
|
26 |
+
msgstr "Descartar"
|
27 |
+
|
28 |
+
#: inc/config.php:24
|
29 |
+
msgid "Post Content"
|
30 |
+
msgstr "Publicar contenido "
|
31 |
+
|
32 |
+
#: inc/config.php:28
|
33 |
+
msgid "What do you want to share?"
|
34 |
+
msgstr "¿Qué es lo que deseas compartir?"
|
35 |
+
|
36 |
+
#: inc/config.php:30
|
37 |
+
msgid "Title Only"
|
38 |
+
msgstr "Solo Título"
|
39 |
+
|
40 |
+
#: inc/config.php:31
|
41 |
+
msgid "Body Only"
|
42 |
+
msgstr "Solo cuerpo"
|
43 |
+
|
44 |
+
#: inc/config.php:32
|
45 |
+
msgid "Title & Body"
|
46 |
+
msgstr "Título y Cuerpo"
|
47 |
+
|
48 |
+
#: inc/config.php:33
|
49 |
+
msgid "Custom Field"
|
50 |
+
msgstr "Campo personalizado"
|
51 |
+
|
52 |
+
#: inc/config.php:39
|
53 |
+
msgid "Post Content Custom Field"
|
54 |
+
msgstr "Publicar campo de contenido personalizado"
|
55 |
+
|
56 |
+
#: inc/config.php:43
|
57 |
+
msgid "Which custom field do you want to fetch info from?"
|
58 |
+
msgstr "¿De qué campo personalizado deseas tomar la información?"
|
59 |
+
|
60 |
+
#: inc/config.php:49
|
61 |
+
msgid "Additional Text"
|
62 |
+
msgstr "Texto adicional"
|
63 |
+
|
64 |
+
#: inc/config.php:53
|
65 |
+
msgid "Text added to your auto posts"
|
66 |
+
msgstr "Texto añadido a tus autopublicaciones"
|
67 |
+
|
68 |
+
#: inc/config.php:59
|
69 |
+
msgid "Additional Text At"
|
70 |
+
msgstr "Texto adicional en"
|
71 |
+
|
72 |
+
#: inc/config.php:63
|
73 |
+
msgid "Where do you want the text to be added?"
|
74 |
+
msgstr "¿Dónde quieres que se añada el texto?"
|
75 |
+
|
76 |
+
#: inc/config.php:65
|
77 |
+
msgid "Beginning of Post"
|
78 |
+
msgstr "Principio de la publicación"
|
79 |
+
|
80 |
+
#: inc/config.php:66
|
81 |
+
msgid "End of Post"
|
82 |
+
msgstr "Fin de la publicación"
|
83 |
+
|
84 |
+
#: inc/config.php:72
|
85 |
+
msgid "Include Link"
|
86 |
+
msgstr "Incluir enlace"
|
87 |
+
|
88 |
+
#: inc/config.php:76
|
89 |
+
msgid "Include a link to your post?"
|
90 |
+
msgstr "¿Incluir un enlace a tu publicación?"
|
91 |
+
|
92 |
+
#: inc/config.php:78
|
93 |
+
msgid "Yes"
|
94 |
+
msgstr "Sí"
|
95 |
+
|
96 |
+
#: inc/config.php:79
|
97 |
+
msgid "No"
|
98 |
+
msgstr "No"
|
99 |
+
|
100 |
+
#: inc/config.php:85
|
101 |
+
msgid "Fetch URL From Custom Field"
|
102 |
+
msgstr "Tomar URL del campo personalizado"
|
103 |
+
|
104 |
+
#: inc/config.php:89
|
105 |
+
msgid "URL will be fetched from a custom field."
|
106 |
+
msgstr "La URL se obtendrá de un campo personalizado."
|
107 |
+
|
108 |
+
#: inc/config.php:95
|
109 |
+
msgid "URL Custom Field"
|
110 |
+
msgstr "Campo personalizado de URL"
|
111 |
+
|
112 |
+
#: inc/config.php:99
|
113 |
+
msgid "URL will be fetched from the specified custom field."
|
114 |
+
msgstr "La URL se tomará del campo personalizado especificado."
|
115 |
+
|
116 |
+
#: inc/config.php:105
|
117 |
+
msgid "Use URL Shortner"
|
118 |
+
msgstr "Utilizar acortador de URL"
|
119 |
+
|
120 |
+
#: inc/config.php:117
|
121 |
+
msgid "URL Shortner Service"
|
122 |
+
msgstr "Servicio de acortado de URL"
|
123 |
+
|
124 |
+
#: inc/config.php:121
|
125 |
+
msgid "Shorten the link to your post."
|
126 |
+
msgstr "Acortar el enlace a tu publicación."
|
127 |
+
|
128 |
+
#: inc/config.php:123
|
129 |
+
msgid "wp short url"
|
130 |
+
msgstr "wp url corta"
|
131 |
+
|
132 |
+
#: inc/config.php:125
|
133 |
+
msgid "is.gd"
|
134 |
+
msgstr "is.gd"
|
135 |
+
|
136 |
+
#: inc/config.php:126
|
137 |
+
msgid "bit.ly"
|
138 |
+
msgstr "bit.ly"
|
139 |
+
|
140 |
+
#: inc/config.php:138
|
141 |
+
msgid "Bitly Key"
|
142 |
+
msgstr "Clave Bitly"
|
143 |
+
|
144 |
+
#: inc/config.php:148
|
145 |
+
msgid "Bitly User"
|
146 |
+
msgstr "Usuario Bitly"
|
147 |
+
|
148 |
+
#: inc/config.php:158
|
149 |
+
msgid "Hashtags"
|
150 |
+
msgstr "Etiquetas"
|
151 |
+
|
152 |
+
#: inc/config.php:162
|
153 |
+
msgid "Include #hashtags in your auto posts?"
|
154 |
+
msgstr "¿Incluir #etiquetas en tus autopublicaciones?"
|
155 |
+
|
156 |
+
#: inc/config.php:164
|
157 |
+
msgid "Don't add any hashtags"
|
158 |
+
msgstr "No agregar ninguna etiqueta"
|
159 |
+
|
160 |
+
#: inc/config.php:165
|
161 |
+
msgid "Common hashtags for all shares"
|
162 |
+
msgstr "Etiquetas comunes para todas las comparticiones"
|
163 |
+
|
164 |
+
#: inc/config.php:166
|
165 |
+
msgid "Create hashtags from Categories"
|
166 |
+
msgstr "Crear etiquetas a partir de Categorías"
|
167 |
+
|
168 |
+
#: inc/config.php:167
|
169 |
+
msgid "Create hashtags from Tags"
|
170 |
+
msgstr "Crear etiquetas a partir de Etiquetas"
|
171 |
+
|
172 |
+
#: inc/config.php:168
|
173 |
+
msgid "Create hashtags from Custom Fields"
|
174 |
+
msgstr "Crear etiquetas a partir de Campos Personalizados"
|
175 |
+
|
176 |
+
#: inc/config.php:174
|
177 |
+
msgid "Common Hashtags"
|
178 |
+
msgstr "Etiquetas comunes"
|
179 |
+
|
180 |
+
#: inc/config.php:178
|
181 |
+
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
+
msgstr ""
|
183 |
+
"Especifica las etiquetas que deseas utilizar. Por ejemplo. #ejemplo, "
|
184 |
+
"#ejemplo2"
|
185 |
+
|
186 |
+
#: inc/config.php:184
|
187 |
+
msgid "Maximum Hashtags Length"
|
188 |
+
msgstr "Longitud máxima de las etiquetas"
|
189 |
+
|
190 |
+
#: inc/config.php:188
|
191 |
+
msgid "Set to 0 (characters) to include all."
|
192 |
+
msgstr "Pon este valor a 0 (caracteres) para incluir todos."
|
193 |
+
|
194 |
+
#: inc/config.php:194
|
195 |
+
msgid "Hashtag Custom Field"
|
196 |
+
msgstr "Campo personalizado de etiqueta"
|
197 |
+
|
198 |
+
#: inc/config.php:198
|
199 |
+
msgid "Fetch hashtags from specified custom field"
|
200 |
+
msgstr "Tomar etiquetas del campo personalizado especificado"
|
201 |
+
|
202 |
+
#: inc/config.php:204
|
203 |
+
msgid "Minimum interval between shares"
|
204 |
+
msgstr "Intervalo mínimo entre comparticiones"
|
205 |
+
|
206 |
+
#: inc/config.php:208
|
207 |
+
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
+
msgstr ""
|
209 |
+
"Tiempo mínimo entre comparticiones (hora / horas), También se puede usar 0.4."
|
210 |
+
|
211 |
+
#: inc/config.php:214
|
212 |
+
msgid "Minimum age of post to be eligible for sharing"
|
213 |
+
msgstr ""
|
214 |
+
"Antigüedad mínima de la publicación para poder ser seleccionada para ser "
|
215 |
+
"compartida"
|
216 |
+
|
217 |
+
#: inc/config.php:218 inc/config.php:228
|
218 |
+
msgid "Day/Days - 0 for Disabled"
|
219 |
+
msgstr "Día / días - 0 para deshabilitar"
|
220 |
+
|
221 |
+
#: inc/config.php:224
|
222 |
+
msgid "Maximum age of post to be eligible for sharing"
|
223 |
+
msgstr ""
|
224 |
+
"Antigüedad máxima de la publicación para poder ser seleccionada para ser "
|
225 |
+
"compartida"
|
226 |
+
|
227 |
+
#: inc/config.php:234
|
228 |
+
msgid "Number of Posts to share"
|
229 |
+
msgstr "Número de publicaciones a compartir"
|
230 |
+
|
231 |
+
#: inc/config.php:238
|
232 |
+
msgid "Number of posts to share each time"
|
233 |
+
msgstr "Número de publicaciones a compartir cada vez"
|
234 |
+
|
235 |
+
#: inc/config.php:246
|
236 |
+
msgid "Post with Image"
|
237 |
+
msgstr "Publicar con imagen"
|
238 |
+
|
239 |
+
#: inc/config.php:250
|
240 |
+
msgid "Check if you want to add the post featured image to the share"
|
241 |
+
msgstr ""
|
242 |
+
"Comprueba si quieres agregar la imagen destacada del artículo en la "
|
243 |
+
"compartición"
|
244 |
+
|
245 |
+
#: inc/config.php:256
|
246 |
+
msgid "Share old posts more than once"
|
247 |
+
msgstr "Compartir publicaciones antiguas más de una vez"
|
248 |
+
|
249 |
+
#: inc/config.php:260
|
250 |
+
msgid ""
|
251 |
+
"By default once a post is shared it will not be shared again until you stop/"
|
252 |
+
"start the plugin"
|
253 |
+
msgstr ""
|
254 |
+
"De forma predeterminada, una vez se haya compartido una publicación, no se "
|
255 |
+
"volverá a compartir hasta que se detenga y se inicie el plugin"
|
256 |
+
|
257 |
+
#: inc/config.php:268
|
258 |
+
msgid "Post Type"
|
259 |
+
msgstr "Tipo de publicación"
|
260 |
+
|
261 |
+
#: inc/config.php:272
|
262 |
+
msgid "What type of items do you want to share?"
|
263 |
+
msgstr "¿Qué tipo de elementos quieres compartir?"
|
264 |
+
|
265 |
+
#: inc/config.php:279
|
266 |
+
msgid "Google Analytics Campaign Tracking"
|
267 |
+
msgstr "Seguimiento de campaña de Google Analytics"
|
268 |
+
|
269 |
+
#: inc/config.php:283
|
270 |
+
msgid ""
|
271 |
+
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
272 |
+
"Old Post generated."
|
273 |
+
msgstr ""
|
274 |
+
"Habilitando el seguimiento de campaña podrás ver cuánto tráfico ha generado "
|
275 |
+
"Revive Old Post."
|
276 |
+
|
277 |
+
#: inc/config.php:289
|
278 |
+
msgid "Exclude Specific Categories"
|
279 |
+
msgstr "Excluir categorías específicas"
|
280 |
+
|
281 |
+
#: inc/config.php:293
|
282 |
+
msgid ""
|
283 |
+
"Select which categories do you want to exclude to share from? Blank - None"
|
284 |
+
msgstr ""
|
285 |
+
"Selecciona las categorías que deseas excluir de la compartición. En blanco - "
|
286 |
+
"ninguna"
|
287 |
+
|
288 |
+
#: inc/core.php:81
|
289 |
+
msgid "Tweet Old Post is already active!"
|
290 |
+
msgstr "¡Ya está activado Tweet Old Post!"
|
291 |
+
|
292 |
+
#: inc/core.php:101
|
293 |
+
#, fuzzy
|
294 |
+
msgid "ROP is already inactive!"
|
295 |
+
msgstr "¡Ya está desactivado Tweet Old Post!"
|
296 |
+
|
297 |
+
#: inc/core.php:811
|
298 |
+
msgid "Custom Tweet User Interval"
|
299 |
+
msgstr "Intervalo de usuario de tuit personalizado"
|
300 |
+
|
301 |
+
#: inc/core.php:1127
|
302 |
+
msgid "Could not connect to Twitter!"
|
303 |
+
msgstr "¡Ha fallado la conexión a Twitter!"
|
304 |
+
|
305 |
+
#: inc/core.php:1385
|
306 |
+
msgid "This is only available in the"
|
307 |
+
msgstr "Solo está disponible en la"
|
308 |
+
|
309 |
+
#: inc/core.php:1385
|
310 |
+
msgid "PRO version"
|
311 |
+
msgstr "versión PRO"
|
312 |
+
|
313 |
+
#: inc/core.php:1644
|
314 |
+
msgid "Exclude Posts"
|
315 |
+
msgstr "Excluir publicaciones"
|
316 |
+
|
317 |
+
#: inc/exclude-posts.php:24
|
318 |
+
msgid "Tweet Old Post Options Updated."
|
319 |
+
msgstr "Actualizadas las opciones de Tweet Old Post."
|
320 |
+
|
321 |
+
#: inc/exclude-posts.php:63
|
322 |
+
msgid "No post selected please select a post to be excluded."
|
323 |
+
msgstr ""
|
324 |
+
"No se ha seleccionado ninguna publicación, por favor selecciona una "
|
325 |
+
"publicación a excluir."
|
326 |
+
|
327 |
+
#: inc/exclude-posts.php:70
|
328 |
+
msgid "Posts excluded successfully."
|
329 |
+
msgstr "Publicaciones excluidas con éxito."
|
330 |
+
|
331 |
+
#: inc/exclude-posts.php:155
|
332 |
+
msgid "Selected Categories"
|
333 |
+
msgstr "Categorías seleccionadas"
|
334 |
+
|
335 |
+
#: inc/exclude-posts.php:157
|
336 |
+
msgid "Filter"
|
337 |
+
msgstr "Filtro"
|
338 |
+
|
339 |
+
#: inc/exclude-posts.php:168
|
340 |
+
msgid "«"
|
341 |
+
msgstr "«"
|
342 |
+
|
343 |
+
#: inc/exclude-posts.php:169
|
344 |
+
msgid "»"
|
345 |
+
msgstr "»"
|
346 |
+
|
347 |
+
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
348 |
+
#, php-format
|
349 |
+
msgid "Displaying %s–%s of %s"
|
350 |
+
msgstr "Mostrando %s–%s de %s"
|
351 |
+
|
352 |
+
#: inc/exclude-posts.php:356
|
353 |
+
msgid "No Posts found. Review your search or filter criteria/term."
|
354 |
+
msgstr ""
|
355 |
+
"No se han encontrado publicaciones. Revisa las palabras o criterios de "
|
356 |
+
"filtro de la búsqueda."
|
357 |
+
|
358 |
+
#: inc/exclude-posts.php:363
|
359 |
+
msgid ""
|
360 |
+
"You do not have enough permission to set the option. Please contact your "
|
361 |
+
"admin."
|
362 |
+
msgstr ""
|
363 |
+
"No tienes los permisos necesarios para modificar esta opción.. Por favor, "
|
364 |
+
"ponte en contacto con tu administrador."
|
365 |
+
|
366 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
367 |
+
msgid "After 6 months of hard work, we have just released"
|
368 |
+
msgstr "Después de 6 meses de duro trabajo, acabamos de lanzar"
|
369 |
+
|
370 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
371 |
+
msgid "the island of WordPress themes."
|
372 |
+
msgstr "la isla de temas de WordPress."
|
373 |
+
|
374 |
+
#: inc/view-exclude.php:5 inc/view.php:4
|
375 |
+
msgid "Show Me"
|
376 |
+
msgstr "Muéstramela"
|
377 |
+
|
378 |
+
#: inc/view-exclude.php:15 inc/view.php:14
|
379 |
+
msgid "by"
|
380 |
+
msgstr "por"
|
381 |
+
|
382 |
+
#: inc/view-exclude.php:18 inc/view.php:17
|
383 |
+
msgid "Show your love"
|
384 |
+
msgstr "Muestra tu amor"
|
385 |
+
|
386 |
+
#: inc/view-exclude.php:19 inc/view.php:18
|
387 |
+
msgid "Leave A Review"
|
388 |
+
msgstr "Deja una reseña"
|
389 |
+
|
390 |
+
#: inc/view-exclude.php:30
|
391 |
+
msgid "Revive Old Post is set to share on a"
|
392 |
+
msgstr "Revive Old Post está configurado para compartir en un"
|
393 |
+
|
394 |
+
#: inc/view-exclude.php:32 inc/view.php:31
|
395 |
+
msgid "hours interval, "
|
396 |
+
msgstr "intervalo de horas, "
|
397 |
+
|
398 |
+
#: inc/view-exclude.php:33 inc/view.php:32
|
399 |
+
msgid "and the next share will take place in: "
|
400 |
+
msgstr "y la siguiente compartición se llevará a cabo en: "
|
401 |
+
|
402 |
+
#: inc/view-exclude.php:38
|
403 |
+
msgid "Revive Old Post is not set to share!"
|
404 |
+
msgstr "¡Revive Old Post no está configurado para compartir!"
|
405 |
+
|
406 |
+
#: inc/view-exclude.php:42
|
407 |
+
msgid ""
|
408 |
+
"You have selected following POST IDs to be excluded from tweeting: <span "
|
409 |
+
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
410 |
+
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
411 |
+
"changes will not be saved. "
|
412 |
+
msgstr ""
|
413 |
+
"Has seleccionado excluir los siguientes IDs de publicación de los tuits: "
|
414 |
+
"<span id='excludeList' style='font-weight:bold;font-style:italic;'> </ "
|
415 |
+
"span> \n"
|
416 |
+
" Nota:. Si has realizado algún cambio sin darle al botón 'Excluir "
|
417 |
+
"seleccionados', los cambios no se guardarán. "
|
418 |
+
|
419 |
+
#: inc/view.php:29
|
420 |
+
msgid "Revive Old Post is set to post on a"
|
421 |
+
msgstr "Revive Old Post está configurado para publicar en"
|
422 |
+
|
423 |
+
#: inc/view.php:37
|
424 |
+
msgid "Revive Old Post is not set to post!"
|
425 |
+
msgstr "¡Revive Old Post no está configurado para publicar!"
|
426 |
+
|
427 |
+
#: inc/view.php:42
|
428 |
+
msgid ""
|
429 |
+
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
430 |
+
"can see the error message if is any."
|
431 |
+
msgstr ""
|
432 |
+
"Una vez hagas clic en Empezar a compartir, se enviará una publicación en 15 "
|
433 |
+
"segundos, también aquí podrás ver el mensaje de error si ocurre algo."
|
434 |
+
|
435 |
+
#: inc/view.php:52
|
436 |
+
msgid "Twitter Login"
|
437 |
+
msgstr "Acceder con Twitter"
|
438 |
+
|
439 |
+
#: inc/view.php:53
|
440 |
+
msgid "Login using your Twitter account."
|
441 |
+
msgstr "Accede utilizando tu cuenta de Twitter."
|
442 |
+
|
443 |
+
#: inc/view.php:77 inc/view.php:111
|
444 |
+
msgid "Add Account"
|
445 |
+
msgstr "Añadir Cuenta"
|
446 |
+
|
447 |
+
#: inc/view.php:84
|
448 |
+
msgid "Facebook Login"
|
449 |
+
msgstr "Acceder con Facebook"
|
450 |
+
|
451 |
+
#: inc/view.php:85
|
452 |
+
msgid "Login using your Facebook account."
|
453 |
+
msgstr "Accede utilizando tu cuenta de Facebook."
|
454 |
+
|
455 |
+
#: inc/view.php:109
|
456 |
+
msgid "Authorize"
|
457 |
+
msgstr "Autorizar"
|
458 |
+
|
459 |
+
#: inc/view.php:118
|
460 |
+
msgid "Linkedin Login"
|
461 |
+
msgstr "Acceso con Linkedin"
|
462 |
+
|
463 |
+
#: inc/view.php:119
|
464 |
+
msgid "Login using your Linkedin account."
|
465 |
+
msgstr "Accede utilizando tu cuenta de Linkedin."
|
466 |
+
|
467 |
+
#: inc/view.php:141
|
468 |
+
msgid "Add account"
|
469 |
+
msgstr "Agregar cuenta"
|
470 |
+
|
471 |
+
#: inc/view.php:154
|
472 |
+
msgid "Select All"
|
473 |
+
msgstr "Seleccionar todo"
|
474 |
+
|
475 |
+
#: inc/view.php:165
|
476 |
+
msgid "Reset"
|
477 |
+
msgstr "Restablecer"
|
478 |
+
|
479 |
+
#: inc/view.php:166
|
480 |
+
msgid "Save"
|
481 |
+
msgstr "Guardar"
|
482 |
+
|
483 |
+
#: inc/view.php:167
|
484 |
+
msgid "Start Sharing"
|
485 |
+
msgstr "Empezar a compartir"
|
486 |
+
|
487 |
+
#: inc/view.php:168
|
488 |
+
msgid "Stop Sharing"
|
489 |
+
msgstr "Dejar de compartir"
|
490 |
+
|
491 |
+
#: inc/view.php:169
|
492 |
+
msgid "See Sample Post"
|
493 |
+
msgstr "Ver una publicación de muestra"
|
494 |
+
|
495 |
+
#: inc/view.php:171
|
496 |
+
msgid ""
|
497 |
+
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
498 |
+
msgstr ""
|
499 |
+
"No estamos afiliados o asociados con Twitter / Facebook / Linkedin de "
|
500 |
+
"ninguna manera."
|
501 |
+
|
502 |
+
#: inc/view.php:176
|
503 |
+
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
504 |
+
msgstr ""
|
505 |
+
"Actualiza Tweet Old Post por solo 9,99 dólares - ¡Actualizar a Pro Ahora!"
|
506 |
+
|
507 |
+
#: inc/view.php:177
|
508 |
+
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
509 |
+
msgstr "ThemeIsle - Temas de WordPress increíblemente sencillos"
|
510 |
+
|
511 |
+
#: inc/view.php:178
|
512 |
+
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
513 |
+
msgstr ""
|
514 |
+
"ThemeIsle - Haz publicidad de nuestros temas y plugins y consigue una "
|
515 |
+
"comisión del 55%"
|
516 |
+
|
517 |
+
#: inc/view.php:185
|
518 |
+
#, fuzzy
|
519 |
+
msgid "Sample Post Preview"
|
520 |
+
msgstr "Ver una publicación de muestra"
|
521 |
+
|
522 |
+
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
523 |
+
msgid "Close preview"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: inc/view.php:188
|
527 |
+
msgid "Share now"
|
528 |
+
msgstr ""
|
529 |
+
|
530 |
+
#: inc/view.php:194
|
531 |
+
msgid "Choose a Profile or Page"
|
532 |
+
msgstr ""
|
533 |
+
|
534 |
+
#: inc/view.php:202
|
535 |
+
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
536 |
+
msgstr ""
|
537 |
+
|
538 |
+
#: inc/view.php:206 inc/view.php:252
|
539 |
+
msgid "Go on"
|
540 |
+
msgstr ""
|
541 |
+
|
542 |
+
#: inc/view.php:207
|
543 |
+
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: inc/view.php:208
|
547 |
+
msgid ""
|
548 |
+
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
549 |
+
"click on Create App"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: inc/view.php:209
|
553 |
+
msgid ""
|
554 |
+
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
555 |
+
"<strong>App Secret</strong> in the fields on the right"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: inc/view.php:210
|
559 |
+
msgid ""
|
560 |
+
"Go on Settings tab from the left sidebar menu add the contact email and "
|
561 |
+
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: inc/view.php:211
|
565 |
+
msgid ""
|
566 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
567 |
+
"Domains and Site URL fields and <strong>Save</strong>"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: inc/view.php:212
|
571 |
+
msgid ""
|
572 |
+
"Go on Status & Review tab and set your app live from the top-right switch."
|
573 |
+
msgstr ""
|
574 |
+
|
575 |
+
#: inc/view.php:213 inc/view.php:259
|
576 |
+
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
577 |
+
msgstr ""
|
578 |
+
|
579 |
+
#: inc/view.php:219
|
580 |
+
#, fuzzy
|
581 |
+
msgid "Facebook App ID"
|
582 |
+
msgstr "Acceder con Facebook"
|
583 |
+
|
584 |
+
#: inc/view.php:220
|
585 |
+
msgid "ID from your app created on facebook website."
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
+
#: inc/view.php:231
|
589 |
+
msgid "Facebook App Secret"
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: inc/view.php:232
|
593 |
+
msgid "Secret from your app created on facebook website. "
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: inc/view.php:240 inc/view.php:287
|
597 |
+
#, fuzzy
|
598 |
+
msgid "Authorize App"
|
599 |
+
msgstr "Autorizar"
|
600 |
+
|
601 |
+
#: inc/view.php:248
|
602 |
+
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
603 |
+
msgstr ""
|
604 |
+
|
605 |
+
#: inc/view.php:253
|
606 |
+
msgid ""
|
607 |
+
"Enter the required details and pay special attention to the further fields :"
|
608 |
+
msgstr ""
|
609 |
+
|
610 |
+
#: inc/view.php:254
|
611 |
+
msgid "Make sure you set Live Status to LIVE"
|
612 |
+
msgstr ""
|
613 |
+
|
614 |
+
#: inc/view.php:255
|
615 |
+
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: inc/view.php:256
|
619 |
+
msgid ""
|
620 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
621 |
+
"2.0 Redirect URLs"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: inc/view.php:257
|
625 |
+
msgid ""
|
626 |
+
"Once all required fields are filled click on Add Application button, get the "
|
627 |
+
"API Key and Secret Key and paste them in the fields on the right"
|
628 |
+
msgstr ""
|
629 |
+
|
630 |
+
#: inc/view.php:265
|
631 |
+
#, fuzzy
|
632 |
+
msgid "Linkedin API Key"
|
633 |
+
msgstr "Acceso con Linkedin"
|
634 |
+
|
635 |
+
#: inc/view.php:266
|
636 |
+
msgid "API Key that you get once you create an app"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: inc/view.php:277
|
640 |
+
msgid "Linkedin Secret Key"
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
#: inc/view.php:278
|
644 |
+
msgid "Secret Key that you get once you create an app"
|
645 |
+
msgstr ""
|
646 |
+
|
647 |
+
#. Description of the plugin/theme
|
648 |
+
msgid ""
|
649 |
+
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
650 |
+
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
651 |
+
"also helps you to promote your content. You can set time and no of posts to "
|
652 |
+
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
653 |
+
"href=\"https://themeisle.com/contact/?"
|
654 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
655 |
+
msgstr ""
|
656 |
+
"Plugin para Wordpress que ayuda a mantener vivos tus publicaciones antiguas "
|
657 |
+
"compartiéndolas y atrayendo más tráfico desde twitter / facebook o linkedin. "
|
658 |
+
"También te ayuda a promocionar tu contenido. Puedes establecer el tiempo y "
|
659 |
+
"número de publicaciones a compartir para atraer más tráfico. Para preguntas, "
|
660 |
+
"comentarios o peticiones, <a href=\"https://themeisle.com/contact/?"
|
661 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">¡Ponte en "
|
662 |
+
"contacto </a> con nosotros!"
|
663 |
+
|
664 |
+
#~ msgid "Post Only"
|
665 |
+
#~ msgstr "Solo la publicación"
|
666 |
+
|
667 |
+
#~ msgid "Page Only"
|
668 |
+
#~ msgstr "Solo la página"
|
669 |
+
|
670 |
+
#~ msgid "Custom Post Type"
|
671 |
+
#~ msgstr "Tipo de publicación personalizada"
|
672 |
+
|
673 |
+
#~ msgid "Post and Page"
|
674 |
+
#~ msgstr "Publicación y página"
|
675 |
+
|
676 |
+
#~ msgid "Select which custom post type"
|
677 |
+
#~ msgstr "Selecciona el tipo de publicación personalizada"
|
678 |
+
|
679 |
+
#~ msgid "ExcludePosts"
|
680 |
+
#~ msgstr "Excluir publicaciones"
|
681 |
+
|
682 |
+
#~ msgid "Revive Old Post PRO"
|
683 |
+
#~ msgstr "Revive Old Post PRO"
|
languages/tweet-old-post-fr_FR.po
CHANGED
@@ -1,564 +1,564 @@
|
|
1 |
-
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
-
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
-
"POT-Creation-Date: 2014-07-12 23:21+0100\n"
|
8 |
-
"PO-Revision-Date: 2014-07-18 00:30+0100\n"
|
9 |
-
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
-
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.5\n"
|
15 |
-
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
-
"X-Poedit-Basepath: ../\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
"X-Poedit-SearchPath-1: inc\n"
|
19 |
-
|
20 |
-
#: inc/class-remote-notification-client.php:260
|
21 |
-
msgid "Dismiss notification"
|
22 |
-
msgstr "Rejeter la notification"
|
23 |
-
|
24 |
-
#: inc/class-remote-notification-client.php:262
|
25 |
-
msgid "Dismiss"
|
26 |
-
msgstr "Rejeter"
|
27 |
-
|
28 |
-
#: inc/config.php:24
|
29 |
-
msgid "Post Content"
|
30 |
-
msgstr "Envoyer le contenu"
|
31 |
-
|
32 |
-
#: inc/config.php:28
|
33 |
-
msgid "What do you want to share?"
|
34 |
-
msgstr "Que voulez-vous partager ?"
|
35 |
-
|
36 |
-
#: inc/config.php:30
|
37 |
-
msgid "Title Only"
|
38 |
-
msgstr "Seulement le titre"
|
39 |
-
|
40 |
-
#: inc/config.php:31
|
41 |
-
msgid "Body Only"
|
42 |
-
msgstr "Seulement le corps"
|
43 |
-
|
44 |
-
#: inc/config.php:32
|
45 |
-
msgid "Title & Body"
|
46 |
-
msgstr "Titre et corps"
|
47 |
-
|
48 |
-
#: inc/config.php:33
|
49 |
-
msgid "Custom Field"
|
50 |
-
msgstr "Champ personnalisé"
|
51 |
-
|
52 |
-
#: inc/config.php:39
|
53 |
-
msgid "Post Content Custom Field"
|
54 |
-
msgstr "Envoyer le champ personnalisé du contenu"
|
55 |
-
|
56 |
-
#: inc/config.php:43
|
57 |
-
msgid "Which custom field do you want to fetch info from?"
|
58 |
-
msgstr "De quel champ personnalisé voulez-vous récupérer des informations ?"
|
59 |
-
|
60 |
-
#: inc/config.php:49
|
61 |
-
msgid "Additional Text"
|
62 |
-
msgstr "Texte supplémentaire"
|
63 |
-
|
64 |
-
#: inc/config.php:53
|
65 |
-
msgid "Text added to your auto posts"
|
66 |
-
msgstr "Texte ajouté à vos messages automatiques"
|
67 |
-
|
68 |
-
#: inc/config.php:59
|
69 |
-
msgid "Additional Text At"
|
70 |
-
msgstr "Texte supplémentaire"
|
71 |
-
|
72 |
-
#: inc/config.php:63
|
73 |
-
msgid "Where do you want the text to be added?"
|
74 |
-
msgstr "Où voulez-vous ajouter le texte ?"
|
75 |
-
|
76 |
-
#: inc/config.php:65
|
77 |
-
msgid "Beginning of Post"
|
78 |
-
msgstr "Début du message"
|
79 |
-
|
80 |
-
#: inc/config.php:66
|
81 |
-
msgid "End of Post"
|
82 |
-
msgstr "Fin du message"
|
83 |
-
|
84 |
-
#: inc/config.php:72
|
85 |
-
msgid "Include Link"
|
86 |
-
msgstr "Inclure lien"
|
87 |
-
|
88 |
-
#: inc/config.php:76
|
89 |
-
msgid "Include a link to your post?"
|
90 |
-
msgstr "Inclure un lien vers votre message ?"
|
91 |
-
|
92 |
-
#: inc/config.php:78
|
93 |
-
msgid "Yes"
|
94 |
-
msgstr "Oui"
|
95 |
-
|
96 |
-
#: inc/config.php:79
|
97 |
-
msgid "No"
|
98 |
-
msgstr "Non"
|
99 |
-
|
100 |
-
#: inc/config.php:85
|
101 |
-
msgid "Fetch URL From Custom Field"
|
102 |
-
msgstr "Récupérer l'URL du champ personnalisé"
|
103 |
-
|
104 |
-
#: inc/config.php:89
|
105 |
-
msgid "URL will be fetched from a custom field."
|
106 |
-
msgstr "L'URL sera récupéré à partir d'un champ personnalisé."
|
107 |
-
|
108 |
-
#: inc/config.php:95
|
109 |
-
msgid "URL Custom Field"
|
110 |
-
msgstr "Champ personnalisé de l'URL"
|
111 |
-
|
112 |
-
#: inc/config.php:99
|
113 |
-
msgid "URL will be fetched from the specified custom field."
|
114 |
-
msgstr "L'URL sera extraite du champ personnalisé spécifié."
|
115 |
-
|
116 |
-
#: inc/config.php:105
|
117 |
-
msgid "Use URL Shortner"
|
118 |
-
msgstr "Utiliser URL de Shortner"
|
119 |
-
|
120 |
-
#: inc/config.php:117
|
121 |
-
msgid "URL Shortner Service"
|
122 |
-
msgstr "URL du service Shortner"
|
123 |
-
|
124 |
-
#: inc/config.php:121
|
125 |
-
msgid "Shorten the link to your post."
|
126 |
-
msgstr "Raccourcir le lien vers votre message."
|
127 |
-
|
128 |
-
#: inc/config.php:123
|
129 |
-
msgid "wp short url"
|
130 |
-
msgstr "url courte wp"
|
131 |
-
|
132 |
-
#: inc/config.php:125
|
133 |
-
msgid "is.gd"
|
134 |
-
msgstr "is.gd"
|
135 |
-
|
136 |
-
#: inc/config.php:126
|
137 |
-
msgid "bit.ly"
|
138 |
-
msgstr "bit.ly"
|
139 |
-
|
140 |
-
#: inc/config.php:138
|
141 |
-
msgid "Bitly Key"
|
142 |
-
msgstr "Clé Bitly"
|
143 |
-
|
144 |
-
#: inc/config.php:148
|
145 |
-
msgid "Bitly User"
|
146 |
-
msgstr "Utilisateur Bitly"
|
147 |
-
|
148 |
-
#: inc/config.php:158
|
149 |
-
msgid "Hashtags"
|
150 |
-
msgstr "Hashtags"
|
151 |
-
|
152 |
-
#: inc/config.php:162
|
153 |
-
msgid "Include #hashtags in your auto posts?"
|
154 |
-
msgstr "Inclure # hashtags dans vos messages d'automatiques ?"
|
155 |
-
|
156 |
-
#: inc/config.php:164
|
157 |
-
msgid "Don't add any hashtags"
|
158 |
-
msgstr "Ne pas ajouter de hashtags"
|
159 |
-
|
160 |
-
#: inc/config.php:165
|
161 |
-
msgid "Common hashtags for all shares"
|
162 |
-
msgstr "Hashtags communs pour tous les partages"
|
163 |
-
|
164 |
-
#: inc/config.php:166
|
165 |
-
msgid "Create hashtags from Categories"
|
166 |
-
msgstr "Créer hashtags à partir de Catégories"
|
167 |
-
|
168 |
-
#: inc/config.php:167
|
169 |
-
msgid "Create hashtags from Tags"
|
170 |
-
msgstr "Créer hashtags à partir de Onglets"
|
171 |
-
|
172 |
-
#: inc/config.php:168
|
173 |
-
msgid "Create hashtags from Custom Fields"
|
174 |
-
msgstr "Créer hashtags à partir de Champs personnalisés"
|
175 |
-
|
176 |
-
#: inc/config.php:174
|
177 |
-
msgid "Common Hashtags"
|
178 |
-
msgstr "Hashtags communs"
|
179 |
-
|
180 |
-
#: inc/config.php:178
|
181 |
-
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
-
msgstr ""
|
183 |
-
"Spécifier les hashtags que vous voulez utiliser. Ex : # exemple, # exemple2"
|
184 |
-
|
185 |
-
#: inc/config.php:184
|
186 |
-
msgid "Maximum Hashtags Length"
|
187 |
-
msgstr "Longueur maximale des hashtags"
|
188 |
-
|
189 |
-
#: inc/config.php:188
|
190 |
-
msgid "Set to 0 (characters) to include all."
|
191 |
-
msgstr "Fixé à 0 (caractères) pour tous les inclure."
|
192 |
-
|
193 |
-
#: inc/config.php:194
|
194 |
-
msgid "Hashtag Custom Field"
|
195 |
-
msgstr " Champ personnalisé de Hashtag"
|
196 |
-
|
197 |
-
#: inc/config.php:198
|
198 |
-
msgid "Fetch hashtags from specified custom field"
|
199 |
-
msgstr "Récupérer les hashtags à partir du champ personnalisé spécifié"
|
200 |
-
|
201 |
-
#: inc/config.php:204
|
202 |
-
msgid "Minimum interval between shares"
|
203 |
-
msgstr "Intervalle minimum entre les partages"
|
204 |
-
|
205 |
-
#: inc/config.php:208
|
206 |
-
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
207 |
-
msgstr ""
|
208 |
-
"Délai minimum entre les partages (heure/heures), 0,4 peut également être "
|
209 |
-
"utilisé."
|
210 |
-
|
211 |
-
#: inc/config.php:214
|
212 |
-
msgid "Minimum age of post to be eligible for sharing"
|
213 |
-
msgstr "Ancienneté minimum du message pour pouvoir être partagé"
|
214 |
-
|
215 |
-
#: inc/config.php:218 inc/config.php:228
|
216 |
-
msgid "Day/Days - 0 for Disabled"
|
217 |
-
msgstr "J/Jours - 0 pour handicapés"
|
218 |
-
|
219 |
-
#: inc/config.php:224
|
220 |
-
msgid "Maximum age of post to be eligible for sharing"
|
221 |
-
msgstr "Ancienneté maximum du message pour être partagé"
|
222 |
-
|
223 |
-
#: inc/config.php:234
|
224 |
-
msgid "Number of Posts to share"
|
225 |
-
msgstr "Nombre de messages à partager"
|
226 |
-
|
227 |
-
#: inc/config.php:238
|
228 |
-
msgid "Number of posts to share each time"
|
229 |
-
msgstr "Nombre de messages à partager à chaque fois"
|
230 |
-
|
231 |
-
#: inc/config.php:244
|
232 |
-
msgid "Post Type"
|
233 |
-
msgstr "Type de message"
|
234 |
-
|
235 |
-
#: inc/config.php:248
|
236 |
-
msgid "What type of items do you want to share?"
|
237 |
-
msgstr "Quel type d'éléments voulez-vous partager ?"
|
238 |
-
|
239 |
-
#: inc/config.php:250
|
240 |
-
msgid "Post Only"
|
241 |
-
msgstr "Message uniquement"
|
242 |
-
|
243 |
-
#: inc/config.php:251
|
244 |
-
msgid "Page Only"
|
245 |
-
msgstr "Page uniquement"
|
246 |
-
|
247 |
-
#: inc/config.php:252 inc/config.php:259
|
248 |
-
msgid "Custom Post Type"
|
249 |
-
msgstr "Type de message personnalisé"
|
250 |
-
|
251 |
-
#: inc/config.php:253
|
252 |
-
msgid "Post and Page"
|
253 |
-
msgstr "Message et page"
|
254 |
-
|
255 |
-
#: inc/config.php:263
|
256 |
-
msgid "Select which custom post type"
|
257 |
-
msgstr "Sélectionner le type de message personnalisé"
|
258 |
-
|
259 |
-
#: inc/config.php:269
|
260 |
-
msgid "Post with Image"
|
261 |
-
msgstr "Message avec image"
|
262 |
-
|
263 |
-
#: inc/config.php:273
|
264 |
-
msgid "Check if you want to add the post featured image to the share"
|
265 |
-
msgstr "Vérifiez si vous voulez ajouter l'image du message au partage"
|
266 |
-
|
267 |
-
#: inc/config.php:279
|
268 |
-
msgid "Share old posts more than once"
|
269 |
-
msgstr "Partager d'anciens messages plus d'une fois"
|
270 |
-
|
271 |
-
#: inc/config.php:283
|
272 |
-
msgid ""
|
273 |
-
"By default once a post is shared it will not be shared again until you stop/"
|
274 |
-
"start the plugin"
|
275 |
-
msgstr ""
|
276 |
-
"Par défaut, une fois qu'un message est partagé, il ne sera plus partagé tant "
|
277 |
-
"que vous n'aurez pas arrêté/démarré le plug-in"
|
278 |
-
|
279 |
-
#: inc/config.php:289
|
280 |
-
msgid "Google Analytics Campaign Tracking"
|
281 |
-
msgstr "Suivi de campagne Google Analytics"
|
282 |
-
|
283 |
-
#: inc/config.php:293
|
284 |
-
msgid ""
|
285 |
-
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
286 |
-
"Old Post generated."
|
287 |
-
msgstr ""
|
288 |
-
"En activant le Suivi de campagne, vous pouvez voir le trafic généré par "
|
289 |
-
"Rétablir ancien message."
|
290 |
-
|
291 |
-
#: inc/config.php:309
|
292 |
-
msgid "Exclude Specific Categories"
|
293 |
-
msgstr "Exclure des catégories spécifiques"
|
294 |
-
|
295 |
-
#: inc/config.php:313
|
296 |
-
msgid ""
|
297 |
-
"Select which categories do you want to exclude to share from? Blank - None"
|
298 |
-
msgstr ""
|
299 |
-
"Sélectionnez les catégories que vous souhaitez exclure du partage : Vide - "
|
300 |
-
"Aucun"
|
301 |
-
|
302 |
-
#: inc/core.php:81
|
303 |
-
msgid "Tweet Old Post is already active!"
|
304 |
-
msgstr "Ancien tweet déjà actif !"
|
305 |
-
|
306 |
-
#: inc/core.php:101
|
307 |
-
msgid "Tweet Old Post is already inactive!"
|
308 |
-
msgstr "Ancien tweet déjà inactif !"
|
309 |
-
|
310 |
-
#: inc/core.php:871
|
311 |
-
msgid "Custom Tweet User Interval"
|
312 |
-
msgstr "Intervalle utilisateur du tweet personnalisé"
|
313 |
-
|
314 |
-
#: inc/core.php:1187
|
315 |
-
msgid "Could not connect to Twitter!"
|
316 |
-
msgstr "Impossible de se connecter à Twitter !"
|
317 |
-
|
318 |
-
#: inc/core.php:1349
|
319 |
-
msgid ""
|
320 |
-
" We just fixed the interrupted posting issue and scheduling issue, if you "
|
321 |
-
"don't see any tweets you need to re-authentificate your twitter accounts. | "
|
322 |
-
"<a href=\""
|
323 |
-
msgstr ""
|
324 |
-
" Nous venons de corriger le problème de publication et de programmation. Si "
|
325 |
-
"vous ne voyez aucun tweet, vous devez authentifier à nouveau vos comptes "
|
326 |
-
"Twitter. | <a href=\""
|
327 |
-
|
328 |
-
#: inc/core.php:1441
|
329 |
-
msgid "This is only available in the"
|
330 |
-
msgstr "Ceci est uniquement disponible dans la"
|
331 |
-
|
332 |
-
#: inc/core.php:1441
|
333 |
-
msgid "PRO version"
|
334 |
-
msgstr "Version PRO"
|
335 |
-
|
336 |
-
#: inc/core.php:1679
|
337 |
-
msgid "Exclude Posts"
|
338 |
-
msgstr "Exclure messages"
|
339 |
-
|
340 |
-
#: inc/core.php:1679
|
341 |
-
msgid "ExcludePosts"
|
342 |
-
msgstr "ExcludePosts"
|
343 |
-
|
344 |
-
#: inc/exclude-posts.php:24
|
345 |
-
msgid "Tweet Old Post Options Updated."
|
346 |
-
msgstr "Options des anciens tweets mises à jour."
|
347 |
-
|
348 |
-
#: inc/exclude-posts.php:63
|
349 |
-
msgid "No post selected please select a post to be excluded."
|
350 |
-
msgstr "Aucun message sélectionné. Veuillez sélectionner un message à exclure."
|
351 |
-
|
352 |
-
#: inc/exclude-posts.php:70
|
353 |
-
msgid "Posts excluded successfully."
|
354 |
-
msgstr "Messages exclus avec succès."
|
355 |
-
|
356 |
-
#: inc/exclude-posts.php:155
|
357 |
-
msgid "Selected Categories"
|
358 |
-
msgstr "Catégories sélectionnées"
|
359 |
-
|
360 |
-
#: inc/exclude-posts.php:157
|
361 |
-
msgid "Filter"
|
362 |
-
msgstr "Filtrer"
|
363 |
-
|
364 |
-
#: inc/exclude-posts.php:168
|
365 |
-
msgid "«"
|
366 |
-
msgstr "«"
|
367 |
-
|
368 |
-
#: inc/exclude-posts.php:169
|
369 |
-
msgid "»"
|
370 |
-
msgstr "»"
|
371 |
-
|
372 |
-
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
373 |
-
#, php-format
|
374 |
-
msgid "Displaying %s–%s of %s"
|
375 |
-
msgstr "Affichez %s–%s de %s"
|
376 |
-
|
377 |
-
#: inc/exclude-posts.php:356
|
378 |
-
msgid "No Posts found. Review your search or filter criteria/term."
|
379 |
-
msgstr ""
|
380 |
-
"Aucun message trouvé. Passez en revue votre recherche ou les critères/termes "
|
381 |
-
"de recherche."
|
382 |
-
|
383 |
-
#: inc/exclude-posts.php:363
|
384 |
-
msgid ""
|
385 |
-
"You do not have enough permission to set the option. Please contact your "
|
386 |
-
"admin."
|
387 |
-
msgstr ""
|
388 |
-
"Vous n'avez pas suffisamment de droits pour définir cette option. Veuillez "
|
389 |
-
"contacter votre administrateur."
|
390 |
-
|
391 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
392 |
-
msgid "After 6 months of hard work, we have just released"
|
393 |
-
msgstr "Après 6 mois de travail acharné, nous venons de publier"
|
394 |
-
|
395 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
396 |
-
msgid "the island of WordPress themes."
|
397 |
-
msgstr "l'île de thèmes WordPress."
|
398 |
-
|
399 |
-
#: inc/view-exclude.php:5 inc/view.php:4
|
400 |
-
msgid "Show Me"
|
401 |
-
msgstr "Montrez-moi"
|
402 |
-
|
403 |
-
#: inc/view-exclude.php:11 inc/view.php:10
|
404 |
-
msgid "Revive Old Post PRO"
|
405 |
-
msgstr "Rétablir ancien message PRO"
|
406 |
-
|
407 |
-
#: inc/view-exclude.php:15 inc/view.php:14
|
408 |
-
msgid "by"
|
409 |
-
msgstr "par"
|
410 |
-
|
411 |
-
#: inc/view-exclude.php:18 inc/view.php:17
|
412 |
-
msgid "Show your love"
|
413 |
-
msgstr "Montrez votre amour"
|
414 |
-
|
415 |
-
#: inc/view-exclude.php:19 inc/view.php:18
|
416 |
-
msgid "Leave A Review"
|
417 |
-
msgstr "Laisser un avis"
|
418 |
-
|
419 |
-
#: inc/view-exclude.php:30
|
420 |
-
msgid "Revive Old Post is set to share on a"
|
421 |
-
msgstr "Rétablir ancien message est configuré pour partager sur une"
|
422 |
-
|
423 |
-
#: inc/view-exclude.php:32 inc/view.php:31
|
424 |
-
msgid "hours interval, "
|
425 |
-
msgstr "intervalle d'heures, "
|
426 |
-
|
427 |
-
#: inc/view-exclude.php:33 inc/view.php:32
|
428 |
-
msgid "and the next share will take place in: "
|
429 |
-
msgstr "et le prochain partage aura lieu à : "
|
430 |
-
|
431 |
-
#: inc/view-exclude.php:38
|
432 |
-
msgid "Revive Old Post is not set to share!"
|
433 |
-
msgstr "Rétablir ancien message n'est pas configuré pour partager !"
|
434 |
-
|
435 |
-
#: inc/view-exclude.php:42
|
436 |
-
msgid ""
|
437 |
-
"You have selected following POST IDs to be excluded from tweeting: <span "
|
438 |
-
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
439 |
-
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
440 |
-
"changes will not be saved. "
|
441 |
-
msgstr ""
|
442 |
-
"Vous avez sélectionné les ID MESSAGE suivants pour être exclus de Twitter : "
|
443 |
-
"<span id='excludeList' style='font-weight:bold;font-style:italic;'> </ "
|
444 |
-
"span>. \n"
|
445 |
-
" Remarque : Si vous avez apporté des modifications et appuyé sur le bouton "
|
446 |
-
"'Exclus sélectionnés' , les modifications ne seront pas enregistrées. "
|
447 |
-
|
448 |
-
#: inc/view.php:29
|
449 |
-
msgid "Revive Old Post is set to post on a"
|
450 |
-
msgstr "Rétablir ancien message est configuré pour publier sur un "
|
451 |
-
|
452 |
-
#: inc/view.php:37
|
453 |
-
msgid "Revive Old Post is not set to post!"
|
454 |
-
msgstr "Rétablir ancien message n'est pas configuré pour publier !"
|
455 |
-
|
456 |
-
#: inc/view.php:42
|
457 |
-
msgid ""
|
458 |
-
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
459 |
-
"can see the error message if is any."
|
460 |
-
msgstr ""
|
461 |
-
"Une fois que vous cliquez sur Démarrer le partage, un message sera envoyé "
|
462 |
-
"dans les 15 secondes. Vous pouvez également voir ici le message d'erreur, le "
|
463 |
-
"cas échéant."
|
464 |
-
|
465 |
-
#: inc/view.php:52
|
466 |
-
msgid "Twitter Login"
|
467 |
-
msgstr "Connexion à Twitter"
|
468 |
-
|
469 |
-
#: inc/view.php:53
|
470 |
-
msgid "Login using your Twitter account."
|
471 |
-
msgstr "Connectez-vous en utilisant votre compte Twitter."
|
472 |
-
|
473 |
-
#: inc/view.php:77 inc/view.php:111
|
474 |
-
msgid "Add Account"
|
475 |
-
msgstr "Ajouter un compte"
|
476 |
-
|
477 |
-
#: inc/view.php:84
|
478 |
-
msgid "Facebook Login"
|
479 |
-
msgstr "Connexion à Facebook"
|
480 |
-
|
481 |
-
#: inc/view.php:85
|
482 |
-
msgid "Login using your Facebook account."
|
483 |
-
msgstr "Connectez-vous en utilisant votre compte Facebook."
|
484 |
-
|
485 |
-
#: inc/view.php:109
|
486 |
-
msgid "Authorize"
|
487 |
-
msgstr "Autoriser"
|
488 |
-
|
489 |
-
#: inc/view.php:118
|
490 |
-
msgid "Linkedin Login"
|
491 |
-
msgstr "Connexion à Linkedin "
|
492 |
-
|
493 |
-
#: inc/view.php:119
|
494 |
-
msgid "Login using your Linkedin account."
|
495 |
-
msgstr "Connectez-vous en utilisant votre compte Linkedin."
|
496 |
-
|
497 |
-
#: inc/view.php:141
|
498 |
-
msgid "Add account"
|
499 |
-
msgstr "Ajouter le compte"
|
500 |
-
|
501 |
-
#: inc/view.php:154
|
502 |
-
msgid "Select All"
|
503 |
-
msgstr "Tout sélectionner"
|
504 |
-
|
505 |
-
#: inc/view.php:165
|
506 |
-
msgid "Reset"
|
507 |
-
msgstr "Réinitialiser"
|
508 |
-
|
509 |
-
#: inc/view.php:166
|
510 |
-
msgid "Save"
|
511 |
-
msgstr "Enregistrer"
|
512 |
-
|
513 |
-
#: inc/view.php:167
|
514 |
-
msgid "Start Sharing"
|
515 |
-
msgstr "Démarrer le partage"
|
516 |
-
|
517 |
-
#: inc/view.php:168
|
518 |
-
msgid "Stop Sharing"
|
519 |
-
msgstr "Arrêter le partage"
|
520 |
-
|
521 |
-
#: inc/view.php:169
|
522 |
-
msgid "See Sample Post"
|
523 |
-
msgstr "Voir l'exemple de message"
|
524 |
-
|
525 |
-
#: inc/view.php:171
|
526 |
-
msgid ""
|
527 |
-
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
528 |
-
msgstr ""
|
529 |
-
"Nous ne sommes en aucun cas affiliés ou en partenariat avec Twitter/Facebook/"
|
530 |
-
"Linkedin."
|
531 |
-
|
532 |
-
#: inc/view.php:176
|
533 |
-
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
534 |
-
msgstr ""
|
535 |
-
"Passez à la version supérieur de Tweet Old Post pour seulement 9,99 $ - "
|
536 |
-
"Passez à la version PRO maintenant !"
|
537 |
-
|
538 |
-
#: inc/view.php:177
|
539 |
-
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
540 |
-
msgstr "ThemeIsle - thèmes WordPress ultra simples"
|
541 |
-
|
542 |
-
#: inc/view.php:178
|
543 |
-
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
544 |
-
msgstr ""
|
545 |
-
"ThemeIsle - Faites la promotion de nos thèmes et plugins et obtenez une "
|
546 |
-
"commission de 55 %"
|
547 |
-
|
548 |
-
#. Description of the plugin/theme
|
549 |
-
msgid ""
|
550 |
-
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
551 |
-
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
552 |
-
"also helps you to promote your content. You can set time and no of posts to "
|
553 |
-
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
554 |
-
"href=\"http://themeisle.com/contact/?"
|
555 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
556 |
-
msgstr ""
|
557 |
-
"Plugin wordpress qui vous permet de conserver vos anciens messages en les "
|
558 |
-
"partageant et en générant plus de trafic vers à partir de twitter/facebook "
|
559 |
-
"ou linkedin. Il permet également de promouvoir votre contenu. Vous pouvez "
|
560 |
-
"régler l'heure et le nombre de messages à partager pour générer davantage de "
|
561 |
-
"trafic. Si vous avez des questions, des commentaires ou des demandes sur "
|
562 |
-
"les fonctionnalités, <a href=\"http://themeisle.com/contact/?"
|
563 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contactez- </ "
|
564 |
-
"A> nous!"
|
1 |
+
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
+
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
+
"POT-Creation-Date: 2014-07-12 23:21+0100\n"
|
8 |
+
"PO-Revision-Date: 2014-07-18 00:30+0100\n"
|
9 |
+
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
+
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.5\n"
|
15 |
+
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
+
"X-Poedit-Basepath: ../\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
"X-Poedit-SearchPath-1: inc\n"
|
19 |
+
|
20 |
+
#: inc/class-remote-notification-client.php:260
|
21 |
+
msgid "Dismiss notification"
|
22 |
+
msgstr "Rejeter la notification"
|
23 |
+
|
24 |
+
#: inc/class-remote-notification-client.php:262
|
25 |
+
msgid "Dismiss"
|
26 |
+
msgstr "Rejeter"
|
27 |
+
|
28 |
+
#: inc/config.php:24
|
29 |
+
msgid "Post Content"
|
30 |
+
msgstr "Envoyer le contenu"
|
31 |
+
|
32 |
+
#: inc/config.php:28
|
33 |
+
msgid "What do you want to share?"
|
34 |
+
msgstr "Que voulez-vous partager ?"
|
35 |
+
|
36 |
+
#: inc/config.php:30
|
37 |
+
msgid "Title Only"
|
38 |
+
msgstr "Seulement le titre"
|
39 |
+
|
40 |
+
#: inc/config.php:31
|
41 |
+
msgid "Body Only"
|
42 |
+
msgstr "Seulement le corps"
|
43 |
+
|
44 |
+
#: inc/config.php:32
|
45 |
+
msgid "Title & Body"
|
46 |
+
msgstr "Titre et corps"
|
47 |
+
|
48 |
+
#: inc/config.php:33
|
49 |
+
msgid "Custom Field"
|
50 |
+
msgstr "Champ personnalisé"
|
51 |
+
|
52 |
+
#: inc/config.php:39
|
53 |
+
msgid "Post Content Custom Field"
|
54 |
+
msgstr "Envoyer le champ personnalisé du contenu"
|
55 |
+
|
56 |
+
#: inc/config.php:43
|
57 |
+
msgid "Which custom field do you want to fetch info from?"
|
58 |
+
msgstr "De quel champ personnalisé voulez-vous récupérer des informations ?"
|
59 |
+
|
60 |
+
#: inc/config.php:49
|
61 |
+
msgid "Additional Text"
|
62 |
+
msgstr "Texte supplémentaire"
|
63 |
+
|
64 |
+
#: inc/config.php:53
|
65 |
+
msgid "Text added to your auto posts"
|
66 |
+
msgstr "Texte ajouté à vos messages automatiques"
|
67 |
+
|
68 |
+
#: inc/config.php:59
|
69 |
+
msgid "Additional Text At"
|
70 |
+
msgstr "Texte supplémentaire"
|
71 |
+
|
72 |
+
#: inc/config.php:63
|
73 |
+
msgid "Where do you want the text to be added?"
|
74 |
+
msgstr "Où voulez-vous ajouter le texte ?"
|
75 |
+
|
76 |
+
#: inc/config.php:65
|
77 |
+
msgid "Beginning of Post"
|
78 |
+
msgstr "Début du message"
|
79 |
+
|
80 |
+
#: inc/config.php:66
|
81 |
+
msgid "End of Post"
|
82 |
+
msgstr "Fin du message"
|
83 |
+
|
84 |
+
#: inc/config.php:72
|
85 |
+
msgid "Include Link"
|
86 |
+
msgstr "Inclure lien"
|
87 |
+
|
88 |
+
#: inc/config.php:76
|
89 |
+
msgid "Include a link to your post?"
|
90 |
+
msgstr "Inclure un lien vers votre message ?"
|
91 |
+
|
92 |
+
#: inc/config.php:78
|
93 |
+
msgid "Yes"
|
94 |
+
msgstr "Oui"
|
95 |
+
|
96 |
+
#: inc/config.php:79
|
97 |
+
msgid "No"
|
98 |
+
msgstr "Non"
|
99 |
+
|
100 |
+
#: inc/config.php:85
|
101 |
+
msgid "Fetch URL From Custom Field"
|
102 |
+
msgstr "Récupérer l'URL du champ personnalisé"
|
103 |
+
|
104 |
+
#: inc/config.php:89
|
105 |
+
msgid "URL will be fetched from a custom field."
|
106 |
+
msgstr "L'URL sera récupéré à partir d'un champ personnalisé."
|
107 |
+
|
108 |
+
#: inc/config.php:95
|
109 |
+
msgid "URL Custom Field"
|
110 |
+
msgstr "Champ personnalisé de l'URL"
|
111 |
+
|
112 |
+
#: inc/config.php:99
|
113 |
+
msgid "URL will be fetched from the specified custom field."
|
114 |
+
msgstr "L'URL sera extraite du champ personnalisé spécifié."
|
115 |
+
|
116 |
+
#: inc/config.php:105
|
117 |
+
msgid "Use URL Shortner"
|
118 |
+
msgstr "Utiliser URL de Shortner"
|
119 |
+
|
120 |
+
#: inc/config.php:117
|
121 |
+
msgid "URL Shortner Service"
|
122 |
+
msgstr "URL du service Shortner"
|
123 |
+
|
124 |
+
#: inc/config.php:121
|
125 |
+
msgid "Shorten the link to your post."
|
126 |
+
msgstr "Raccourcir le lien vers votre message."
|
127 |
+
|
128 |
+
#: inc/config.php:123
|
129 |
+
msgid "wp short url"
|
130 |
+
msgstr "url courte wp"
|
131 |
+
|
132 |
+
#: inc/config.php:125
|
133 |
+
msgid "is.gd"
|
134 |
+
msgstr "is.gd"
|
135 |
+
|
136 |
+
#: inc/config.php:126
|
137 |
+
msgid "bit.ly"
|
138 |
+
msgstr "bit.ly"
|
139 |
+
|
140 |
+
#: inc/config.php:138
|
141 |
+
msgid "Bitly Key"
|
142 |
+
msgstr "Clé Bitly"
|
143 |
+
|
144 |
+
#: inc/config.php:148
|
145 |
+
msgid "Bitly User"
|
146 |
+
msgstr "Utilisateur Bitly"
|
147 |
+
|
148 |
+
#: inc/config.php:158
|
149 |
+
msgid "Hashtags"
|
150 |
+
msgstr "Hashtags"
|
151 |
+
|
152 |
+
#: inc/config.php:162
|
153 |
+
msgid "Include #hashtags in your auto posts?"
|
154 |
+
msgstr "Inclure # hashtags dans vos messages d'automatiques ?"
|
155 |
+
|
156 |
+
#: inc/config.php:164
|
157 |
+
msgid "Don't add any hashtags"
|
158 |
+
msgstr "Ne pas ajouter de hashtags"
|
159 |
+
|
160 |
+
#: inc/config.php:165
|
161 |
+
msgid "Common hashtags for all shares"
|
162 |
+
msgstr "Hashtags communs pour tous les partages"
|
163 |
+
|
164 |
+
#: inc/config.php:166
|
165 |
+
msgid "Create hashtags from Categories"
|
166 |
+
msgstr "Créer hashtags à partir de Catégories"
|
167 |
+
|
168 |
+
#: inc/config.php:167
|
169 |
+
msgid "Create hashtags from Tags"
|
170 |
+
msgstr "Créer hashtags à partir de Onglets"
|
171 |
+
|
172 |
+
#: inc/config.php:168
|
173 |
+
msgid "Create hashtags from Custom Fields"
|
174 |
+
msgstr "Créer hashtags à partir de Champs personnalisés"
|
175 |
+
|
176 |
+
#: inc/config.php:174
|
177 |
+
msgid "Common Hashtags"
|
178 |
+
msgstr "Hashtags communs"
|
179 |
+
|
180 |
+
#: inc/config.php:178
|
181 |
+
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
+
msgstr ""
|
183 |
+
"Spécifier les hashtags que vous voulez utiliser. Ex : # exemple, # exemple2"
|
184 |
+
|
185 |
+
#: inc/config.php:184
|
186 |
+
msgid "Maximum Hashtags Length"
|
187 |
+
msgstr "Longueur maximale des hashtags"
|
188 |
+
|
189 |
+
#: inc/config.php:188
|
190 |
+
msgid "Set to 0 (characters) to include all."
|
191 |
+
msgstr "Fixé à 0 (caractères) pour tous les inclure."
|
192 |
+
|
193 |
+
#: inc/config.php:194
|
194 |
+
msgid "Hashtag Custom Field"
|
195 |
+
msgstr " Champ personnalisé de Hashtag"
|
196 |
+
|
197 |
+
#: inc/config.php:198
|
198 |
+
msgid "Fetch hashtags from specified custom field"
|
199 |
+
msgstr "Récupérer les hashtags à partir du champ personnalisé spécifié"
|
200 |
+
|
201 |
+
#: inc/config.php:204
|
202 |
+
msgid "Minimum interval between shares"
|
203 |
+
msgstr "Intervalle minimum entre les partages"
|
204 |
+
|
205 |
+
#: inc/config.php:208
|
206 |
+
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
207 |
+
msgstr ""
|
208 |
+
"Délai minimum entre les partages (heure/heures), 0,4 peut également être "
|
209 |
+
"utilisé."
|
210 |
+
|
211 |
+
#: inc/config.php:214
|
212 |
+
msgid "Minimum age of post to be eligible for sharing"
|
213 |
+
msgstr "Ancienneté minimum du message pour pouvoir être partagé"
|
214 |
+
|
215 |
+
#: inc/config.php:218 inc/config.php:228
|
216 |
+
msgid "Day/Days - 0 for Disabled"
|
217 |
+
msgstr "J/Jours - 0 pour handicapés"
|
218 |
+
|
219 |
+
#: inc/config.php:224
|
220 |
+
msgid "Maximum age of post to be eligible for sharing"
|
221 |
+
msgstr "Ancienneté maximum du message pour être partagé"
|
222 |
+
|
223 |
+
#: inc/config.php:234
|
224 |
+
msgid "Number of Posts to share"
|
225 |
+
msgstr "Nombre de messages à partager"
|
226 |
+
|
227 |
+
#: inc/config.php:238
|
228 |
+
msgid "Number of posts to share each time"
|
229 |
+
msgstr "Nombre de messages à partager à chaque fois"
|
230 |
+
|
231 |
+
#: inc/config.php:244
|
232 |
+
msgid "Post Type"
|
233 |
+
msgstr "Type de message"
|
234 |
+
|
235 |
+
#: inc/config.php:248
|
236 |
+
msgid "What type of items do you want to share?"
|
237 |
+
msgstr "Quel type d'éléments voulez-vous partager ?"
|
238 |
+
|
239 |
+
#: inc/config.php:250
|
240 |
+
msgid "Post Only"
|
241 |
+
msgstr "Message uniquement"
|
242 |
+
|
243 |
+
#: inc/config.php:251
|
244 |
+
msgid "Page Only"
|
245 |
+
msgstr "Page uniquement"
|
246 |
+
|
247 |
+
#: inc/config.php:252 inc/config.php:259
|
248 |
+
msgid "Custom Post Type"
|
249 |
+
msgstr "Type de message personnalisé"
|
250 |
+
|
251 |
+
#: inc/config.php:253
|
252 |
+
msgid "Post and Page"
|
253 |
+
msgstr "Message et page"
|
254 |
+
|
255 |
+
#: inc/config.php:263
|
256 |
+
msgid "Select which custom post type"
|
257 |
+
msgstr "Sélectionner le type de message personnalisé"
|
258 |
+
|
259 |
+
#: inc/config.php:269
|
260 |
+
msgid "Post with Image"
|
261 |
+
msgstr "Message avec image"
|
262 |
+
|
263 |
+
#: inc/config.php:273
|
264 |
+
msgid "Check if you want to add the post featured image to the share"
|
265 |
+
msgstr "Vérifiez si vous voulez ajouter l'image du message au partage"
|
266 |
+
|
267 |
+
#: inc/config.php:279
|
268 |
+
msgid "Share old posts more than once"
|
269 |
+
msgstr "Partager d'anciens messages plus d'une fois"
|
270 |
+
|
271 |
+
#: inc/config.php:283
|
272 |
+
msgid ""
|
273 |
+
"By default once a post is shared it will not be shared again until you stop/"
|
274 |
+
"start the plugin"
|
275 |
+
msgstr ""
|
276 |
+
"Par défaut, une fois qu'un message est partagé, il ne sera plus partagé tant "
|
277 |
+
"que vous n'aurez pas arrêté/démarré le plug-in"
|
278 |
+
|
279 |
+
#: inc/config.php:289
|
280 |
+
msgid "Google Analytics Campaign Tracking"
|
281 |
+
msgstr "Suivi de campagne Google Analytics"
|
282 |
+
|
283 |
+
#: inc/config.php:293
|
284 |
+
msgid ""
|
285 |
+
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
286 |
+
"Old Post generated."
|
287 |
+
msgstr ""
|
288 |
+
"En activant le Suivi de campagne, vous pouvez voir le trafic généré par "
|
289 |
+
"Rétablir ancien message."
|
290 |
+
|
291 |
+
#: inc/config.php:309
|
292 |
+
msgid "Exclude Specific Categories"
|
293 |
+
msgstr "Exclure des catégories spécifiques"
|
294 |
+
|
295 |
+
#: inc/config.php:313
|
296 |
+
msgid ""
|
297 |
+
"Select which categories do you want to exclude to share from? Blank - None"
|
298 |
+
msgstr ""
|
299 |
+
"Sélectionnez les catégories que vous souhaitez exclure du partage : Vide - "
|
300 |
+
"Aucun"
|
301 |
+
|
302 |
+
#: inc/core.php:81
|
303 |
+
msgid "Tweet Old Post is already active!"
|
304 |
+
msgstr "Ancien tweet déjà actif !"
|
305 |
+
|
306 |
+
#: inc/core.php:101
|
307 |
+
msgid "Tweet Old Post is already inactive!"
|
308 |
+
msgstr "Ancien tweet déjà inactif !"
|
309 |
+
|
310 |
+
#: inc/core.php:871
|
311 |
+
msgid "Custom Tweet User Interval"
|
312 |
+
msgstr "Intervalle utilisateur du tweet personnalisé"
|
313 |
+
|
314 |
+
#: inc/core.php:1187
|
315 |
+
msgid "Could not connect to Twitter!"
|
316 |
+
msgstr "Impossible de se connecter à Twitter !"
|
317 |
+
|
318 |
+
#: inc/core.php:1349
|
319 |
+
msgid ""
|
320 |
+
" We just fixed the interrupted posting issue and scheduling issue, if you "
|
321 |
+
"don't see any tweets you need to re-authentificate your twitter accounts. | "
|
322 |
+
"<a href=\""
|
323 |
+
msgstr ""
|
324 |
+
" Nous venons de corriger le problème de publication et de programmation. Si "
|
325 |
+
"vous ne voyez aucun tweet, vous devez authentifier à nouveau vos comptes "
|
326 |
+
"Twitter. | <a href=\""
|
327 |
+
|
328 |
+
#: inc/core.php:1441
|
329 |
+
msgid "This is only available in the"
|
330 |
+
msgstr "Ceci est uniquement disponible dans la"
|
331 |
+
|
332 |
+
#: inc/core.php:1441
|
333 |
+
msgid "PRO version"
|
334 |
+
msgstr "Version PRO"
|
335 |
+
|
336 |
+
#: inc/core.php:1679
|
337 |
+
msgid "Exclude Posts"
|
338 |
+
msgstr "Exclure messages"
|
339 |
+
|
340 |
+
#: inc/core.php:1679
|
341 |
+
msgid "ExcludePosts"
|
342 |
+
msgstr "ExcludePosts"
|
343 |
+
|
344 |
+
#: inc/exclude-posts.php:24
|
345 |
+
msgid "Tweet Old Post Options Updated."
|
346 |
+
msgstr "Options des anciens tweets mises à jour."
|
347 |
+
|
348 |
+
#: inc/exclude-posts.php:63
|
349 |
+
msgid "No post selected please select a post to be excluded."
|
350 |
+
msgstr "Aucun message sélectionné. Veuillez sélectionner un message à exclure."
|
351 |
+
|
352 |
+
#: inc/exclude-posts.php:70
|
353 |
+
msgid "Posts excluded successfully."
|
354 |
+
msgstr "Messages exclus avec succès."
|
355 |
+
|
356 |
+
#: inc/exclude-posts.php:155
|
357 |
+
msgid "Selected Categories"
|
358 |
+
msgstr "Catégories sélectionnées"
|
359 |
+
|
360 |
+
#: inc/exclude-posts.php:157
|
361 |
+
msgid "Filter"
|
362 |
+
msgstr "Filtrer"
|
363 |
+
|
364 |
+
#: inc/exclude-posts.php:168
|
365 |
+
msgid "«"
|
366 |
+
msgstr "«"
|
367 |
+
|
368 |
+
#: inc/exclude-posts.php:169
|
369 |
+
msgid "»"
|
370 |
+
msgstr "»"
|
371 |
+
|
372 |
+
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
373 |
+
#, php-format
|
374 |
+
msgid "Displaying %s–%s of %s"
|
375 |
+
msgstr "Affichez %s–%s de %s"
|
376 |
+
|
377 |
+
#: inc/exclude-posts.php:356
|
378 |
+
msgid "No Posts found. Review your search or filter criteria/term."
|
379 |
+
msgstr ""
|
380 |
+
"Aucun message trouvé. Passez en revue votre recherche ou les critères/termes "
|
381 |
+
"de recherche."
|
382 |
+
|
383 |
+
#: inc/exclude-posts.php:363
|
384 |
+
msgid ""
|
385 |
+
"You do not have enough permission to set the option. Please contact your "
|
386 |
+
"admin."
|
387 |
+
msgstr ""
|
388 |
+
"Vous n'avez pas suffisamment de droits pour définir cette option. Veuillez "
|
389 |
+
"contacter votre administrateur."
|
390 |
+
|
391 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
392 |
+
msgid "After 6 months of hard work, we have just released"
|
393 |
+
msgstr "Après 6 mois de travail acharné, nous venons de publier"
|
394 |
+
|
395 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
396 |
+
msgid "the island of WordPress themes."
|
397 |
+
msgstr "l'île de thèmes WordPress."
|
398 |
+
|
399 |
+
#: inc/view-exclude.php:5 inc/view.php:4
|
400 |
+
msgid "Show Me"
|
401 |
+
msgstr "Montrez-moi"
|
402 |
+
|
403 |
+
#: inc/view-exclude.php:11 inc/view.php:10
|
404 |
+
msgid "Revive Old Post PRO"
|
405 |
+
msgstr "Rétablir ancien message PRO"
|
406 |
+
|
407 |
+
#: inc/view-exclude.php:15 inc/view.php:14
|
408 |
+
msgid "by"
|
409 |
+
msgstr "par"
|
410 |
+
|
411 |
+
#: inc/view-exclude.php:18 inc/view.php:17
|
412 |
+
msgid "Show your love"
|
413 |
+
msgstr "Montrez votre amour"
|
414 |
+
|
415 |
+
#: inc/view-exclude.php:19 inc/view.php:18
|
416 |
+
msgid "Leave A Review"
|
417 |
+
msgstr "Laisser un avis"
|
418 |
+
|
419 |
+
#: inc/view-exclude.php:30
|
420 |
+
msgid "Revive Old Post is set to share on a"
|
421 |
+
msgstr "Rétablir ancien message est configuré pour partager sur une"
|
422 |
+
|
423 |
+
#: inc/view-exclude.php:32 inc/view.php:31
|
424 |
+
msgid "hours interval, "
|
425 |
+
msgstr "intervalle d'heures, "
|
426 |
+
|
427 |
+
#: inc/view-exclude.php:33 inc/view.php:32
|
428 |
+
msgid "and the next share will take place in: "
|
429 |
+
msgstr "et le prochain partage aura lieu à : "
|
430 |
+
|
431 |
+
#: inc/view-exclude.php:38
|
432 |
+
msgid "Revive Old Post is not set to share!"
|
433 |
+
msgstr "Rétablir ancien message n'est pas configuré pour partager !"
|
434 |
+
|
435 |
+
#: inc/view-exclude.php:42
|
436 |
+
msgid ""
|
437 |
+
"You have selected following POST IDs to be excluded from tweeting: <span "
|
438 |
+
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
439 |
+
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
440 |
+
"changes will not be saved. "
|
441 |
+
msgstr ""
|
442 |
+
"Vous avez sélectionné les ID MESSAGE suivants pour être exclus de Twitter : "
|
443 |
+
"<span id='excludeList' style='font-weight:bold;font-style:italic;'> </ "
|
444 |
+
"span>. \n"
|
445 |
+
" Remarque : Si vous avez apporté des modifications et appuyé sur le bouton "
|
446 |
+
"'Exclus sélectionnés' , les modifications ne seront pas enregistrées. "
|
447 |
+
|
448 |
+
#: inc/view.php:29
|
449 |
+
msgid "Revive Old Post is set to post on a"
|
450 |
+
msgstr "Rétablir ancien message est configuré pour publier sur un "
|
451 |
+
|
452 |
+
#: inc/view.php:37
|
453 |
+
msgid "Revive Old Post is not set to post!"
|
454 |
+
msgstr "Rétablir ancien message n'est pas configuré pour publier !"
|
455 |
+
|
456 |
+
#: inc/view.php:42
|
457 |
+
msgid ""
|
458 |
+
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
459 |
+
"can see the error message if is any."
|
460 |
+
msgstr ""
|
461 |
+
"Une fois que vous cliquez sur Démarrer le partage, un message sera envoyé "
|
462 |
+
"dans les 15 secondes. Vous pouvez également voir ici le message d'erreur, le "
|
463 |
+
"cas échéant."
|
464 |
+
|
465 |
+
#: inc/view.php:52
|
466 |
+
msgid "Twitter Login"
|
467 |
+
msgstr "Connexion à Twitter"
|
468 |
+
|
469 |
+
#: inc/view.php:53
|
470 |
+
msgid "Login using your Twitter account."
|
471 |
+
msgstr "Connectez-vous en utilisant votre compte Twitter."
|
472 |
+
|
473 |
+
#: inc/view.php:77 inc/view.php:111
|
474 |
+
msgid "Add Account"
|
475 |
+
msgstr "Ajouter un compte"
|
476 |
+
|
477 |
+
#: inc/view.php:84
|
478 |
+
msgid "Facebook Login"
|
479 |
+
msgstr "Connexion à Facebook"
|
480 |
+
|
481 |
+
#: inc/view.php:85
|
482 |
+
msgid "Login using your Facebook account."
|
483 |
+
msgstr "Connectez-vous en utilisant votre compte Facebook."
|
484 |
+
|
485 |
+
#: inc/view.php:109
|
486 |
+
msgid "Authorize"
|
487 |
+
msgstr "Autoriser"
|
488 |
+
|
489 |
+
#: inc/view.php:118
|
490 |
+
msgid "Linkedin Login"
|
491 |
+
msgstr "Connexion à Linkedin "
|
492 |
+
|
493 |
+
#: inc/view.php:119
|
494 |
+
msgid "Login using your Linkedin account."
|
495 |
+
msgstr "Connectez-vous en utilisant votre compte Linkedin."
|
496 |
+
|
497 |
+
#: inc/view.php:141
|
498 |
+
msgid "Add account"
|
499 |
+
msgstr "Ajouter le compte"
|
500 |
+
|
501 |
+
#: inc/view.php:154
|
502 |
+
msgid "Select All"
|
503 |
+
msgstr "Tout sélectionner"
|
504 |
+
|
505 |
+
#: inc/view.php:165
|
506 |
+
msgid "Reset"
|
507 |
+
msgstr "Réinitialiser"
|
508 |
+
|
509 |
+
#: inc/view.php:166
|
510 |
+
msgid "Save"
|
511 |
+
msgstr "Enregistrer"
|
512 |
+
|
513 |
+
#: inc/view.php:167
|
514 |
+
msgid "Start Sharing"
|
515 |
+
msgstr "Démarrer le partage"
|
516 |
+
|
517 |
+
#: inc/view.php:168
|
518 |
+
msgid "Stop Sharing"
|
519 |
+
msgstr "Arrêter le partage"
|
520 |
+
|
521 |
+
#: inc/view.php:169
|
522 |
+
msgid "See Sample Post"
|
523 |
+
msgstr "Voir l'exemple de message"
|
524 |
+
|
525 |
+
#: inc/view.php:171
|
526 |
+
msgid ""
|
527 |
+
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
528 |
+
msgstr ""
|
529 |
+
"Nous ne sommes en aucun cas affiliés ou en partenariat avec Twitter/Facebook/"
|
530 |
+
"Linkedin."
|
531 |
+
|
532 |
+
#: inc/view.php:176
|
533 |
+
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
534 |
+
msgstr ""
|
535 |
+
"Passez à la version supérieur de Tweet Old Post pour seulement 9,99 $ - "
|
536 |
+
"Passez à la version PRO maintenant !"
|
537 |
+
|
538 |
+
#: inc/view.php:177
|
539 |
+
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
540 |
+
msgstr "ThemeIsle - thèmes WordPress ultra simples"
|
541 |
+
|
542 |
+
#: inc/view.php:178
|
543 |
+
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
544 |
+
msgstr ""
|
545 |
+
"ThemeIsle - Faites la promotion de nos thèmes et plugins et obtenez une "
|
546 |
+
"commission de 55 %"
|
547 |
+
|
548 |
+
#. Description of the plugin/theme
|
549 |
+
msgid ""
|
550 |
+
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
551 |
+
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
552 |
+
"also helps you to promote your content. You can set time and no of posts to "
|
553 |
+
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
554 |
+
"href=\"http://themeisle.com/contact/?"
|
555 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
556 |
+
msgstr ""
|
557 |
+
"Plugin wordpress qui vous permet de conserver vos anciens messages en les "
|
558 |
+
"partageant et en générant plus de trafic vers à partir de twitter/facebook "
|
559 |
+
"ou linkedin. Il permet également de promouvoir votre contenu. Vous pouvez "
|
560 |
+
"régler l'heure et le nombre de messages à partager pour générer davantage de "
|
561 |
+
"trafic. Si vous avez des questions, des commentaires ou des demandes sur "
|
562 |
+
"les fonctionnalités, <a href=\"http://themeisle.com/contact/?"
|
563 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contactez- </ "
|
564 |
+
"A> nous!"
|
languages/tweet-old-post-pt_BR.po
CHANGED
@@ -1,686 +1,686 @@
|
|
1 |
-
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
-
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
-
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
-
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
-
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
-
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
-
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
-
"X-Poedit-Basepath: ../\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
"X-Poedit-SearchPath-1: inc\n"
|
19 |
-
|
20 |
-
#: inc/class-remote-notification-client.php:260
|
21 |
-
msgid "Dismiss notification"
|
22 |
-
msgstr "Dispensar notificação"
|
23 |
-
|
24 |
-
#: inc/class-remote-notification-client.php:262
|
25 |
-
msgid "Dismiss"
|
26 |
-
msgstr "Dispensar"
|
27 |
-
|
28 |
-
#: inc/config.php:24
|
29 |
-
msgid "Post Content"
|
30 |
-
msgstr "Conteúdo da Publicação"
|
31 |
-
|
32 |
-
#: inc/config.php:28
|
33 |
-
msgid "What do you want to share?"
|
34 |
-
msgstr "O que você gostaria de compartilhar?"
|
35 |
-
|
36 |
-
#: inc/config.php:30
|
37 |
-
msgid "Title Only"
|
38 |
-
msgstr "Apenas Título"
|
39 |
-
|
40 |
-
#: inc/config.php:31
|
41 |
-
msgid "Body Only"
|
42 |
-
msgstr "Apenas Mensagem"
|
43 |
-
|
44 |
-
#: inc/config.php:32
|
45 |
-
msgid "Title & Body"
|
46 |
-
msgstr "Título e Mensagem"
|
47 |
-
|
48 |
-
#: inc/config.php:33
|
49 |
-
msgid "Custom Field"
|
50 |
-
msgstr "Campo Personalizado"
|
51 |
-
|
52 |
-
#: inc/config.php:39
|
53 |
-
msgid "Post Content Custom Field"
|
54 |
-
msgstr "Campo Personalizado do Conteúdo da Publicação"
|
55 |
-
|
56 |
-
#: inc/config.php:43
|
57 |
-
msgid "Which custom field do you want to fetch info from?"
|
58 |
-
msgstr "Você deseja extrair informações de qual campo personalizado?"
|
59 |
-
|
60 |
-
#: inc/config.php:49
|
61 |
-
msgid "Additional Text"
|
62 |
-
msgstr "Texto Adicional"
|
63 |
-
|
64 |
-
#: inc/config.php:53
|
65 |
-
msgid "Text added to your auto posts"
|
66 |
-
msgstr "Texto adicionado às suas publicações automáticas"
|
67 |
-
|
68 |
-
#: inc/config.php:59
|
69 |
-
msgid "Additional Text At"
|
70 |
-
msgstr "Texto Adicional em"
|
71 |
-
|
72 |
-
#: inc/config.php:63
|
73 |
-
msgid "Where do you want the text to be added?"
|
74 |
-
msgstr "Onde você deseja que o texto seja adicionado?"
|
75 |
-
|
76 |
-
#: inc/config.php:65
|
77 |
-
msgid "Beginning of Post"
|
78 |
-
msgstr "Início da Publicação"
|
79 |
-
|
80 |
-
#: inc/config.php:66
|
81 |
-
msgid "End of Post"
|
82 |
-
msgstr "Fim da Publicação"
|
83 |
-
|
84 |
-
#: inc/config.php:72
|
85 |
-
msgid "Include Link"
|
86 |
-
msgstr "Incluir Link"
|
87 |
-
|
88 |
-
#: inc/config.php:76
|
89 |
-
msgid "Include a link to your post?"
|
90 |
-
msgstr "Incluir um link para sua publicação?"
|
91 |
-
|
92 |
-
#: inc/config.php:78
|
93 |
-
msgid "Yes"
|
94 |
-
msgstr "Sim"
|
95 |
-
|
96 |
-
#: inc/config.php:79
|
97 |
-
msgid "No"
|
98 |
-
msgstr "Não"
|
99 |
-
|
100 |
-
#: inc/config.php:85
|
101 |
-
msgid "Fetch URL From Custom Field"
|
102 |
-
msgstr "Extrair URL de Campo Personalizado"
|
103 |
-
|
104 |
-
#: inc/config.php:89
|
105 |
-
msgid "URL will be fetched from a custom field."
|
106 |
-
msgstr "A URL será extraída de um campo personalizado."
|
107 |
-
|
108 |
-
#: inc/config.php:95
|
109 |
-
msgid "URL Custom Field"
|
110 |
-
msgstr "Campo Personalizado da URL"
|
111 |
-
|
112 |
-
#: inc/config.php:99
|
113 |
-
msgid "URL will be fetched from the specified custom field."
|
114 |
-
msgstr "A URL será extraída do campo personalizado especificado."
|
115 |
-
|
116 |
-
#: inc/config.php:105
|
117 |
-
msgid "Use URL Shortner"
|
118 |
-
msgstr "Usar Encurtador de URL"
|
119 |
-
|
120 |
-
#: inc/config.php:117
|
121 |
-
msgid "URL Shortner Service"
|
122 |
-
msgstr "Serviço de Encurtador de URL"
|
123 |
-
|
124 |
-
#: inc/config.php:121
|
125 |
-
msgid "Shorten the link to your post."
|
126 |
-
msgstr "Encurte o link para sua publicação."
|
127 |
-
|
128 |
-
#: inc/config.php:123
|
129 |
-
msgid "wp short url"
|
130 |
-
msgstr "url curta wp"
|
131 |
-
|
132 |
-
#: inc/config.php:125
|
133 |
-
msgid "is.gd"
|
134 |
-
msgstr "is.gd"
|
135 |
-
|
136 |
-
#: inc/config.php:126
|
137 |
-
msgid "bit.ly"
|
138 |
-
msgstr "bit.ly"
|
139 |
-
|
140 |
-
#: inc/config.php:138
|
141 |
-
msgid "Bitly Key"
|
142 |
-
msgstr "Chave do Bitly"
|
143 |
-
|
144 |
-
#: inc/config.php:148
|
145 |
-
msgid "Bitly User"
|
146 |
-
msgstr "Usuário do Bitly"
|
147 |
-
|
148 |
-
#: inc/config.php:158
|
149 |
-
msgid "Hashtags"
|
150 |
-
msgstr "Hashtags"
|
151 |
-
|
152 |
-
#: inc/config.php:162
|
153 |
-
msgid "Include #hashtags in your auto posts?"
|
154 |
-
msgstr "Incluir #hashtags em suas publicações automáticas?"
|
155 |
-
|
156 |
-
#: inc/config.php:164
|
157 |
-
msgid "Don't add any hashtags"
|
158 |
-
msgstr "Não adicione nenhuma hashtag"
|
159 |
-
|
160 |
-
#: inc/config.php:165
|
161 |
-
msgid "Common hashtags for all shares"
|
162 |
-
msgstr "Hashtags comuns para todos os compartilhamentos"
|
163 |
-
|
164 |
-
#: inc/config.php:166
|
165 |
-
msgid "Create hashtags from Categories"
|
166 |
-
msgstr "Criar hashtags de Categorias"
|
167 |
-
|
168 |
-
#: inc/config.php:167
|
169 |
-
msgid "Create hashtags from Tags"
|
170 |
-
msgstr "Criar hashtags de Marcações"
|
171 |
-
|
172 |
-
#: inc/config.php:168
|
173 |
-
msgid "Create hashtags from Custom Fields"
|
174 |
-
msgstr "Criar hashtags de Campos Personalizados"
|
175 |
-
|
176 |
-
#: inc/config.php:174
|
177 |
-
msgid "Common Hashtags"
|
178 |
-
msgstr "Hashtags Comuns"
|
179 |
-
|
180 |
-
#: inc/config.php:178
|
181 |
-
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
-
msgstr ""
|
183 |
-
"Especifique quais hashtags você quer que sejam usadas. como #exemplo, "
|
184 |
-
"#exemplo2"
|
185 |
-
|
186 |
-
#: inc/config.php:184
|
187 |
-
msgid "Maximum Hashtags Length"
|
188 |
-
msgstr "Extensão Máxima das Hashtags"
|
189 |
-
|
190 |
-
#: inc/config.php:188
|
191 |
-
msgid "Set to 0 (characters) to include all."
|
192 |
-
msgstr "Definir para 0 (caracteres) para incluir todos."
|
193 |
-
|
194 |
-
#: inc/config.php:194
|
195 |
-
msgid "Hashtag Custom Field"
|
196 |
-
msgstr "Campo Personalizado de Hashtag"
|
197 |
-
|
198 |
-
#: inc/config.php:198
|
199 |
-
msgid "Fetch hashtags from specified custom field"
|
200 |
-
msgstr "Extraia hashtags do campo personalizado especificado"
|
201 |
-
|
202 |
-
#: inc/config.php:204
|
203 |
-
msgid "Minimum interval between shares"
|
204 |
-
msgstr "Intervalo mínimo entre compartilhamentos"
|
205 |
-
|
206 |
-
#: inc/config.php:208
|
207 |
-
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
-
msgstr ""
|
209 |
-
"Tempo mínimo entre compartilhamentos (Hora/Horas), 0,4 também pode ser usado."
|
210 |
-
|
211 |
-
#: inc/config.php:214
|
212 |
-
msgid "Minimum age of post to be eligible for sharing"
|
213 |
-
msgstr "Idade mínima da publicação para ser elegível para compartilhar"
|
214 |
-
|
215 |
-
#: inc/config.php:218 inc/config.php:228
|
216 |
-
msgid "Day/Days - 0 for Disabled"
|
217 |
-
msgstr "Dia/Dias - 0 para Desativada"
|
218 |
-
|
219 |
-
#: inc/config.php:224
|
220 |
-
msgid "Maximum age of post to be eligible for sharing"
|
221 |
-
msgstr "Idade máxima da publicação para ser elegível para compartilhar"
|
222 |
-
|
223 |
-
#: inc/config.php:234
|
224 |
-
msgid "Number of Posts to share"
|
225 |
-
msgstr "Número de Publicações a compartilhar"
|
226 |
-
|
227 |
-
#: inc/config.php:238
|
228 |
-
msgid "Number of posts to share each time"
|
229 |
-
msgstr "Número de publicações a compartilhar cada vez"
|
230 |
-
|
231 |
-
#: inc/config.php:246
|
232 |
-
msgid "Post with Image"
|
233 |
-
msgstr "Publicar com Imagem"
|
234 |
-
|
235 |
-
#: inc/config.php:250
|
236 |
-
msgid "Check if you want to add the post featured image to the share"
|
237 |
-
msgstr ""
|
238 |
-
"Marque se deseja adicionar ao compartilhamento a imagem em destaque na "
|
239 |
-
"publicação"
|
240 |
-
|
241 |
-
#: inc/config.php:256
|
242 |
-
msgid "Share old posts more than once"
|
243 |
-
msgstr "Compartilhar publicações antigas mais de uma vez"
|
244 |
-
|
245 |
-
#: inc/config.php:260
|
246 |
-
msgid ""
|
247 |
-
"By default once a post is shared it will not be shared again until you stop/"
|
248 |
-
"start the plugin"
|
249 |
-
msgstr ""
|
250 |
-
"Por padrão, quando uma publicação é compartilhada, ela não será "
|
251 |
-
"compartilhada novamente até você parar/iniciar o plugin"
|
252 |
-
|
253 |
-
#: inc/config.php:268
|
254 |
-
msgid "Post Type"
|
255 |
-
msgstr "Tipo de Publicação"
|
256 |
-
|
257 |
-
#: inc/config.php:272
|
258 |
-
msgid "What type of items do you want to share?"
|
259 |
-
msgstr "Que tipo de itens que você deseja compartilhar?"
|
260 |
-
|
261 |
-
#: inc/config.php:279
|
262 |
-
msgid "Google Analytics Campaign Tracking"
|
263 |
-
msgstr "Monitoramento de Campanha do Google Analytics"
|
264 |
-
|
265 |
-
#: inc/config.php:283
|
266 |
-
msgid ""
|
267 |
-
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
268 |
-
"Old Post generated."
|
269 |
-
msgstr ""
|
270 |
-
"Ao ativar o Monitoramento de Campanha, você pode ver quanto tráfego foi "
|
271 |
-
"gerado pelo Reativar Publicação Antiga."
|
272 |
-
|
273 |
-
#: inc/config.php:289
|
274 |
-
msgid "Exclude Specific Categories"
|
275 |
-
msgstr "Excluir Categorias Específicas"
|
276 |
-
|
277 |
-
#: inc/config.php:293
|
278 |
-
msgid ""
|
279 |
-
"Select which categories do you want to exclude to share from? Blank - None"
|
280 |
-
msgstr ""
|
281 |
-
"Selecione as categorias que você deseja excluir do compartilhamento. Em "
|
282 |
-
"branco - Nenhuma"
|
283 |
-
|
284 |
-
#: inc/core.php:81
|
285 |
-
msgid "Tweet Old Post is already active!"
|
286 |
-
msgstr "Tweetar Publicação Antiga já está ativo!"
|
287 |
-
|
288 |
-
#: inc/core.php:101
|
289 |
-
#, fuzzy
|
290 |
-
msgid "ROP is already inactive!"
|
291 |
-
msgstr "Tweetar Publicação Antiga já está inativo!"
|
292 |
-
|
293 |
-
#: inc/core.php:811
|
294 |
-
msgid "Custom Tweet User Interval"
|
295 |
-
msgstr "Intervalo do Usuário do Tweet Personalizado"
|
296 |
-
|
297 |
-
#: inc/core.php:1127
|
298 |
-
msgid "Could not connect to Twitter!"
|
299 |
-
msgstr "Não foi possível conectar ao Twitter!"
|
300 |
-
|
301 |
-
#: inc/core.php:1385
|
302 |
-
msgid "This is only available in the"
|
303 |
-
msgstr "Isso só está disponível na"
|
304 |
-
|
305 |
-
#: inc/core.php:1385
|
306 |
-
msgid "PRO version"
|
307 |
-
msgstr "versão PRO"
|
308 |
-
|
309 |
-
#: inc/core.php:1644
|
310 |
-
msgid "Exclude Posts"
|
311 |
-
msgstr "Excluir Publicações"
|
312 |
-
|
313 |
-
#: inc/exclude-posts.php:24
|
314 |
-
msgid "Tweet Old Post Options Updated."
|
315 |
-
msgstr "Opções de Tweetar Publicação Antiga Atualizadas."
|
316 |
-
|
317 |
-
#: inc/exclude-posts.php:63
|
318 |
-
msgid "No post selected please select a post to be excluded."
|
319 |
-
msgstr ""
|
320 |
-
"Nenhuma publicação selecionada; selecione uma publicação a ser excluída."
|
321 |
-
|
322 |
-
#: inc/exclude-posts.php:70
|
323 |
-
msgid "Posts excluded successfully."
|
324 |
-
msgstr "Publicações excluídas com sucesso."
|
325 |
-
|
326 |
-
#: inc/exclude-posts.php:155
|
327 |
-
msgid "Selected Categories"
|
328 |
-
msgstr "Categorias Selecionadas"
|
329 |
-
|
330 |
-
#: inc/exclude-posts.php:157
|
331 |
-
msgid "Filter"
|
332 |
-
msgstr "Filtrar"
|
333 |
-
|
334 |
-
#: inc/exclude-posts.php:168
|
335 |
-
msgid "«"
|
336 |
-
msgstr "«"
|
337 |
-
|
338 |
-
#: inc/exclude-posts.php:169
|
339 |
-
msgid "»"
|
340 |
-
msgstr "»"
|
341 |
-
|
342 |
-
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
343 |
-
#, php-format
|
344 |
-
msgid "Displaying %s–%s of %s"
|
345 |
-
msgstr "Exibindo %s–%s de %s"
|
346 |
-
|
347 |
-
#: inc/exclude-posts.php:356
|
348 |
-
msgid "No Posts found. Review your search or filter criteria/term."
|
349 |
-
msgstr ""
|
350 |
-
"Nenhuma publicação encontrada. Revise seus critérios/termos de pesquisa ou "
|
351 |
-
"de filtro."
|
352 |
-
|
353 |
-
#: inc/exclude-posts.php:363
|
354 |
-
msgid ""
|
355 |
-
"You do not have enough permission to set the option. Please contact your "
|
356 |
-
"admin."
|
357 |
-
msgstr ""
|
358 |
-
"Você não tem permissão suficiente para configurar a opção. Entre em contato "
|
359 |
-
"com seu administrador."
|
360 |
-
|
361 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
362 |
-
msgid "After 6 months of hard work, we have just released"
|
363 |
-
msgstr "Depois de 6 meses de trabalho duro, acabamos de lançar"
|
364 |
-
|
365 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
366 |
-
msgid "the island of WordPress themes."
|
367 |
-
msgstr "nossos temas de WordPress."
|
368 |
-
|
369 |
-
#: inc/view-exclude.php:5 inc/view.php:4
|
370 |
-
msgid "Show Me"
|
371 |
-
msgstr "Mostrar"
|
372 |
-
|
373 |
-
#: inc/view-exclude.php:15 inc/view.php:14
|
374 |
-
msgid "by"
|
375 |
-
msgstr "por"
|
376 |
-
|
377 |
-
#: inc/view-exclude.php:18 inc/view.php:17
|
378 |
-
msgid "Show your love"
|
379 |
-
msgstr "Você gostou?"
|
380 |
-
|
381 |
-
#: inc/view-exclude.php:19 inc/view.php:18
|
382 |
-
msgid "Leave A Review"
|
383 |
-
msgstr "Faça uma Avaliação"
|
384 |
-
|
385 |
-
#: inc/view-exclude.php:30
|
386 |
-
msgid "Revive Old Post is set to share on a"
|
387 |
-
msgstr "Reativar Publicação Antiga está definido para compartilhar em um"
|
388 |
-
|
389 |
-
#: inc/view-exclude.php:32 inc/view.php:31
|
390 |
-
msgid "hours interval, "
|
391 |
-
msgstr "intervalo de horas, "
|
392 |
-
|
393 |
-
#: inc/view-exclude.php:33 inc/view.php:32
|
394 |
-
msgid "and the next share will take place in: "
|
395 |
-
msgstr "e o próximo compartilhamento será feito em: "
|
396 |
-
|
397 |
-
#: inc/view-exclude.php:38
|
398 |
-
msgid "Revive Old Post is not set to share!"
|
399 |
-
msgstr "Reativar Publicação Antiga não está definido para compartilhar!"
|
400 |
-
|
401 |
-
#: inc/view-exclude.php:42
|
402 |
-
#, fuzzy
|
403 |
-
msgid ""
|
404 |
-
"You have selected following POST IDs to be excluded from tweeting: <span "
|
405 |
-
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
406 |
-
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
407 |
-
"changes will not be saved. "
|
408 |
-
msgstr ""
|
409 |
-
"Você selecionou os seguintes IDs de PUBLICAÇÃO a serem excluídos dos tweets: "
|
410 |
-
"<span id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
411 |
-
"Observação: Se você fez alguma alteração e não pressionou o botão \"Excluir "
|
412 |
-
"Selecionados\", as alterações não serão salvas. "
|
413 |
-
|
414 |
-
#: inc/view.php:29
|
415 |
-
msgid "Revive Old Post is set to post on a"
|
416 |
-
msgstr "Reativar Publicação Antiga está definido para publicar em um"
|
417 |
-
|
418 |
-
#: inc/view.php:37
|
419 |
-
msgid "Revive Old Post is not set to post!"
|
420 |
-
msgstr "Reativar Publicação Antiga não está definido para publicar!"
|
421 |
-
|
422 |
-
#: inc/view.php:42
|
423 |
-
msgid ""
|
424 |
-
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
425 |
-
"can see the error message if is any."
|
426 |
-
msgstr ""
|
427 |
-
"Depois de clicar em Iniciar Compartilhamento, uma publicação será enviada em "
|
428 |
-
"15 segundos; você também pode ver aqui a mensagem de erro, se for o caso."
|
429 |
-
|
430 |
-
#: inc/view.php:52
|
431 |
-
msgid "Twitter Login"
|
432 |
-
msgstr "Login do Twitter"
|
433 |
-
|
434 |
-
#: inc/view.php:53
|
435 |
-
msgid "Login using your Twitter account."
|
436 |
-
msgstr "Fazer login usando sua conta do Twitter."
|
437 |
-
|
438 |
-
#: inc/view.php:77 inc/view.php:111
|
439 |
-
msgid "Add Account"
|
440 |
-
msgstr "Adicionar Conta"
|
441 |
-
|
442 |
-
#: inc/view.php:84
|
443 |
-
msgid "Facebook Login"
|
444 |
-
msgstr "Login do Facebook"
|
445 |
-
|
446 |
-
#: inc/view.php:85
|
447 |
-
msgid "Login using your Facebook account."
|
448 |
-
msgstr "Fazer login usando sua conta do Facebook."
|
449 |
-
|
450 |
-
#: inc/view.php:109
|
451 |
-
msgid "Authorize"
|
452 |
-
msgstr "Autorizar"
|
453 |
-
|
454 |
-
#: inc/view.php:118
|
455 |
-
msgid "Linkedin Login"
|
456 |
-
msgstr "Login do Linkedin"
|
457 |
-
|
458 |
-
#: inc/view.php:119
|
459 |
-
msgid "Login using your Linkedin account."
|
460 |
-
msgstr "Fazer login usando sua conta do Linkedin."
|
461 |
-
|
462 |
-
#: inc/view.php:141
|
463 |
-
msgid "Add account"
|
464 |
-
msgstr "Adicionar conta"
|
465 |
-
|
466 |
-
#: inc/view.php:154
|
467 |
-
msgid "Select All"
|
468 |
-
msgstr "Selecionar Tudo"
|
469 |
-
|
470 |
-
#: inc/view.php:165
|
471 |
-
msgid "Reset"
|
472 |
-
msgstr "Redefinir"
|
473 |
-
|
474 |
-
#: inc/view.php:166
|
475 |
-
msgid "Save"
|
476 |
-
msgstr "Salvar"
|
477 |
-
|
478 |
-
#: inc/view.php:167
|
479 |
-
msgid "Start Sharing"
|
480 |
-
msgstr "Iniciar Compartilhamento"
|
481 |
-
|
482 |
-
#: inc/view.php:168
|
483 |
-
msgid "Stop Sharing"
|
484 |
-
msgstr "Parar Compartilhamento"
|
485 |
-
|
486 |
-
#: inc/view.php:169
|
487 |
-
msgid "See Sample Post"
|
488 |
-
msgstr "Ver Amostra de Publicação"
|
489 |
-
|
490 |
-
#: inc/view.php:171
|
491 |
-
msgid ""
|
492 |
-
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
493 |
-
msgstr ""
|
494 |
-
"Não somos de nenhuma forma afiliados ou parceiros do Twitter/Facebook/"
|
495 |
-
"Linkedin."
|
496 |
-
|
497 |
-
#: inc/view.php:176
|
498 |
-
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
499 |
-
msgstr ""
|
500 |
-
"Faça Upgrade de Tweetar Publicação Antiga por apenas $9,99 - Faça Upgrade "
|
501 |
-
"para Pro Agora!"
|
502 |
-
|
503 |
-
#: inc/view.php:177
|
504 |
-
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
505 |
-
msgstr "ThemeIsle - Temas de WordPress Extremamente Simples"
|
506 |
-
|
507 |
-
#: inc/view.php:178
|
508 |
-
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
509 |
-
msgstr "ThemeIsle - Promova Nossos Temas e Plugins e Ganhe 55% de Comissão"
|
510 |
-
|
511 |
-
#: inc/view.php:185
|
512 |
-
#, fuzzy
|
513 |
-
msgid "Sample Post Preview"
|
514 |
-
msgstr "Ver Amostra de Publicação"
|
515 |
-
|
516 |
-
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
517 |
-
msgid "Close preview"
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: inc/view.php:188
|
521 |
-
msgid "Share now"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: inc/view.php:194
|
525 |
-
msgid "Choose a Profile or Page"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: inc/view.php:202
|
529 |
-
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: inc/view.php:206 inc/view.php:252
|
533 |
-
msgid "Go on"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: inc/view.php:207
|
537 |
-
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: inc/view.php:208
|
541 |
-
msgid ""
|
542 |
-
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
543 |
-
"click on Create App"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: inc/view.php:209
|
547 |
-
msgid ""
|
548 |
-
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
549 |
-
"<strong>App Secret</strong> in the fields on the right"
|
550 |
-
msgstr ""
|
551 |
-
|
552 |
-
#: inc/view.php:210
|
553 |
-
msgid ""
|
554 |
-
"Go on Settings tab from the left sidebar menu add the contact email and "
|
555 |
-
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
556 |
-
msgstr ""
|
557 |
-
|
558 |
-
#: inc/view.php:211
|
559 |
-
msgid ""
|
560 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
561 |
-
"Domains and Site URL fields and <strong>Save</strong>"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: inc/view.php:212
|
565 |
-
msgid ""
|
566 |
-
"Go on Status & Review tab and set your app live from the top-right switch."
|
567 |
-
msgstr ""
|
568 |
-
|
569 |
-
#: inc/view.php:213 inc/view.php:259
|
570 |
-
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
571 |
-
msgstr ""
|
572 |
-
|
573 |
-
#: inc/view.php:219
|
574 |
-
#, fuzzy
|
575 |
-
msgid "Facebook App ID"
|
576 |
-
msgstr "Login do Facebook"
|
577 |
-
|
578 |
-
#: inc/view.php:220
|
579 |
-
msgid "ID from your app created on facebook website."
|
580 |
-
msgstr ""
|
581 |
-
|
582 |
-
#: inc/view.php:231
|
583 |
-
msgid "Facebook App Secret"
|
584 |
-
msgstr ""
|
585 |
-
|
586 |
-
#: inc/view.php:232
|
587 |
-
msgid "Secret from your app created on facebook website. "
|
588 |
-
msgstr ""
|
589 |
-
|
590 |
-
#: inc/view.php:240 inc/view.php:287
|
591 |
-
#, fuzzy
|
592 |
-
msgid "Authorize App"
|
593 |
-
msgstr "Autorizar"
|
594 |
-
|
595 |
-
#: inc/view.php:248
|
596 |
-
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
597 |
-
msgstr ""
|
598 |
-
|
599 |
-
#: inc/view.php:253
|
600 |
-
msgid ""
|
601 |
-
"Enter the required details and pay special attention to the further fields :"
|
602 |
-
msgstr ""
|
603 |
-
|
604 |
-
#: inc/view.php:254
|
605 |
-
msgid "Make sure you set Live Status to LIVE"
|
606 |
-
msgstr ""
|
607 |
-
|
608 |
-
#: inc/view.php:255
|
609 |
-
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: inc/view.php:256
|
613 |
-
msgid ""
|
614 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
615 |
-
"2.0 Redirect URLs"
|
616 |
-
msgstr ""
|
617 |
-
|
618 |
-
#: inc/view.php:257
|
619 |
-
msgid ""
|
620 |
-
"Once all required fields are filled click on Add Application button, get the "
|
621 |
-
"API Key and Secret Key and paste them in the fields on the right"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: inc/view.php:265
|
625 |
-
#, fuzzy
|
626 |
-
msgid "Linkedin API Key"
|
627 |
-
msgstr "Login do Linkedin"
|
628 |
-
|
629 |
-
#: inc/view.php:266
|
630 |
-
msgid "API Key that you get once you create an app"
|
631 |
-
msgstr ""
|
632 |
-
|
633 |
-
#: inc/view.php:277
|
634 |
-
msgid "Linkedin Secret Key"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: inc/view.php:278
|
638 |
-
msgid "Secret Key that you get once you create an app"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#. Description of the plugin/theme
|
642 |
-
msgid ""
|
643 |
-
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
644 |
-
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
645 |
-
"also helps you to promote your content. You can set time and no of posts to "
|
646 |
-
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
647 |
-
"href=\"https://themeisle.com/contact/?"
|
648 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
649 |
-
msgstr ""
|
650 |
-
"Plugin do Wordpress que ajuda você a manter suas publicações antigas ativas "
|
651 |
-
"por compartilhá-las e gerar mais tráfego para elas usando o Twitter/Facebook "
|
652 |
-
"ou LinkedIn. Ele também ajuda a promover seu conteúdo. Você pode definir a "
|
653 |
-
"hora e o número de publicações a compartilhar para gerar mais tráfego. Par "
|
654 |
-
"dúvidas, comentários ou solicitações de recursos, <a href=\"https://themeisle."
|
655 |
-
"com/contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top"
|
656 |
-
"\">contate-nos</a>!"
|
657 |
-
|
658 |
-
#~ msgid "Post Only"
|
659 |
-
#~ msgstr "Apenas Publicação"
|
660 |
-
|
661 |
-
#~ msgid "Page Only"
|
662 |
-
#~ msgstr "Apenas Página"
|
663 |
-
|
664 |
-
#~ msgid "Custom Post Type"
|
665 |
-
#~ msgstr "Tipo de Publicação Personalizada"
|
666 |
-
|
667 |
-
#~ msgid "Post and Page"
|
668 |
-
#~ msgstr "Publicação e Página"
|
669 |
-
|
670 |
-
#~ msgid "Select which custom post type"
|
671 |
-
#~ msgstr "Selecione o tipo de publicação personalizada"
|
672 |
-
|
673 |
-
#~ msgid ""
|
674 |
-
#~ " We just fixed the interrupted posting issue and scheduling issue, if you "
|
675 |
-
#~ "don't see any tweets you need to re-authentificate your twitter accounts. "
|
676 |
-
#~ "| <a href=\""
|
677 |
-
#~ msgstr ""
|
678 |
-
#~ " Nós corrigimos o problema de interrupção da publicação e o problema de "
|
679 |
-
#~ "agendamento; se você não vir nenhum tweet, precisará autentificar "
|
680 |
-
#~ "novamente suas contas do Twitter. | <a href=\""
|
681 |
-
|
682 |
-
#~ msgid "ExcludePosts"
|
683 |
-
#~ msgstr "ExcluirPublicações"
|
684 |
-
|
685 |
-
#~ msgid "Revive Old Post PRO"
|
686 |
-
#~ msgstr "Reativar Publicação Antiga PRO"
|
1 |
+
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
+
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
+
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
+
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
+
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
+
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
+
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
+
"X-Poedit-Basepath: ../\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
"X-Poedit-SearchPath-1: inc\n"
|
19 |
+
|
20 |
+
#: inc/class-remote-notification-client.php:260
|
21 |
+
msgid "Dismiss notification"
|
22 |
+
msgstr "Dispensar notificação"
|
23 |
+
|
24 |
+
#: inc/class-remote-notification-client.php:262
|
25 |
+
msgid "Dismiss"
|
26 |
+
msgstr "Dispensar"
|
27 |
+
|
28 |
+
#: inc/config.php:24
|
29 |
+
msgid "Post Content"
|
30 |
+
msgstr "Conteúdo da Publicação"
|
31 |
+
|
32 |
+
#: inc/config.php:28
|
33 |
+
msgid "What do you want to share?"
|
34 |
+
msgstr "O que você gostaria de compartilhar?"
|
35 |
+
|
36 |
+
#: inc/config.php:30
|
37 |
+
msgid "Title Only"
|
38 |
+
msgstr "Apenas Título"
|
39 |
+
|
40 |
+
#: inc/config.php:31
|
41 |
+
msgid "Body Only"
|
42 |
+
msgstr "Apenas Mensagem"
|
43 |
+
|
44 |
+
#: inc/config.php:32
|
45 |
+
msgid "Title & Body"
|
46 |
+
msgstr "Título e Mensagem"
|
47 |
+
|
48 |
+
#: inc/config.php:33
|
49 |
+
msgid "Custom Field"
|
50 |
+
msgstr "Campo Personalizado"
|
51 |
+
|
52 |
+
#: inc/config.php:39
|
53 |
+
msgid "Post Content Custom Field"
|
54 |
+
msgstr "Campo Personalizado do Conteúdo da Publicação"
|
55 |
+
|
56 |
+
#: inc/config.php:43
|
57 |
+
msgid "Which custom field do you want to fetch info from?"
|
58 |
+
msgstr "Você deseja extrair informações de qual campo personalizado?"
|
59 |
+
|
60 |
+
#: inc/config.php:49
|
61 |
+
msgid "Additional Text"
|
62 |
+
msgstr "Texto Adicional"
|
63 |
+
|
64 |
+
#: inc/config.php:53
|
65 |
+
msgid "Text added to your auto posts"
|
66 |
+
msgstr "Texto adicionado às suas publicações automáticas"
|
67 |
+
|
68 |
+
#: inc/config.php:59
|
69 |
+
msgid "Additional Text At"
|
70 |
+
msgstr "Texto Adicional em"
|
71 |
+
|
72 |
+
#: inc/config.php:63
|
73 |
+
msgid "Where do you want the text to be added?"
|
74 |
+
msgstr "Onde você deseja que o texto seja adicionado?"
|
75 |
+
|
76 |
+
#: inc/config.php:65
|
77 |
+
msgid "Beginning of Post"
|
78 |
+
msgstr "Início da Publicação"
|
79 |
+
|
80 |
+
#: inc/config.php:66
|
81 |
+
msgid "End of Post"
|
82 |
+
msgstr "Fim da Publicação"
|
83 |
+
|
84 |
+
#: inc/config.php:72
|
85 |
+
msgid "Include Link"
|
86 |
+
msgstr "Incluir Link"
|
87 |
+
|
88 |
+
#: inc/config.php:76
|
89 |
+
msgid "Include a link to your post?"
|
90 |
+
msgstr "Incluir um link para sua publicação?"
|
91 |
+
|
92 |
+
#: inc/config.php:78
|
93 |
+
msgid "Yes"
|
94 |
+
msgstr "Sim"
|
95 |
+
|
96 |
+
#: inc/config.php:79
|
97 |
+
msgid "No"
|
98 |
+
msgstr "Não"
|
99 |
+
|
100 |
+
#: inc/config.php:85
|
101 |
+
msgid "Fetch URL From Custom Field"
|
102 |
+
msgstr "Extrair URL de Campo Personalizado"
|
103 |
+
|
104 |
+
#: inc/config.php:89
|
105 |
+
msgid "URL will be fetched from a custom field."
|
106 |
+
msgstr "A URL será extraída de um campo personalizado."
|
107 |
+
|
108 |
+
#: inc/config.php:95
|
109 |
+
msgid "URL Custom Field"
|
110 |
+
msgstr "Campo Personalizado da URL"
|
111 |
+
|
112 |
+
#: inc/config.php:99
|
113 |
+
msgid "URL will be fetched from the specified custom field."
|
114 |
+
msgstr "A URL será extraída do campo personalizado especificado."
|
115 |
+
|
116 |
+
#: inc/config.php:105
|
117 |
+
msgid "Use URL Shortner"
|
118 |
+
msgstr "Usar Encurtador de URL"
|
119 |
+
|
120 |
+
#: inc/config.php:117
|
121 |
+
msgid "URL Shortner Service"
|
122 |
+
msgstr "Serviço de Encurtador de URL"
|
123 |
+
|
124 |
+
#: inc/config.php:121
|
125 |
+
msgid "Shorten the link to your post."
|
126 |
+
msgstr "Encurte o link para sua publicação."
|
127 |
+
|
128 |
+
#: inc/config.php:123
|
129 |
+
msgid "wp short url"
|
130 |
+
msgstr "url curta wp"
|
131 |
+
|
132 |
+
#: inc/config.php:125
|
133 |
+
msgid "is.gd"
|
134 |
+
msgstr "is.gd"
|
135 |
+
|
136 |
+
#: inc/config.php:126
|
137 |
+
msgid "bit.ly"
|
138 |
+
msgstr "bit.ly"
|
139 |
+
|
140 |
+
#: inc/config.php:138
|
141 |
+
msgid "Bitly Key"
|
142 |
+
msgstr "Chave do Bitly"
|
143 |
+
|
144 |
+
#: inc/config.php:148
|
145 |
+
msgid "Bitly User"
|
146 |
+
msgstr "Usuário do Bitly"
|
147 |
+
|
148 |
+
#: inc/config.php:158
|
149 |
+
msgid "Hashtags"
|
150 |
+
msgstr "Hashtags"
|
151 |
+
|
152 |
+
#: inc/config.php:162
|
153 |
+
msgid "Include #hashtags in your auto posts?"
|
154 |
+
msgstr "Incluir #hashtags em suas publicações automáticas?"
|
155 |
+
|
156 |
+
#: inc/config.php:164
|
157 |
+
msgid "Don't add any hashtags"
|
158 |
+
msgstr "Não adicione nenhuma hashtag"
|
159 |
+
|
160 |
+
#: inc/config.php:165
|
161 |
+
msgid "Common hashtags for all shares"
|
162 |
+
msgstr "Hashtags comuns para todos os compartilhamentos"
|
163 |
+
|
164 |
+
#: inc/config.php:166
|
165 |
+
msgid "Create hashtags from Categories"
|
166 |
+
msgstr "Criar hashtags de Categorias"
|
167 |
+
|
168 |
+
#: inc/config.php:167
|
169 |
+
msgid "Create hashtags from Tags"
|
170 |
+
msgstr "Criar hashtags de Marcações"
|
171 |
+
|
172 |
+
#: inc/config.php:168
|
173 |
+
msgid "Create hashtags from Custom Fields"
|
174 |
+
msgstr "Criar hashtags de Campos Personalizados"
|
175 |
+
|
176 |
+
#: inc/config.php:174
|
177 |
+
msgid "Common Hashtags"
|
178 |
+
msgstr "Hashtags Comuns"
|
179 |
+
|
180 |
+
#: inc/config.php:178
|
181 |
+
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
+
msgstr ""
|
183 |
+
"Especifique quais hashtags você quer que sejam usadas. como #exemplo, "
|
184 |
+
"#exemplo2"
|
185 |
+
|
186 |
+
#: inc/config.php:184
|
187 |
+
msgid "Maximum Hashtags Length"
|
188 |
+
msgstr "Extensão Máxima das Hashtags"
|
189 |
+
|
190 |
+
#: inc/config.php:188
|
191 |
+
msgid "Set to 0 (characters) to include all."
|
192 |
+
msgstr "Definir para 0 (caracteres) para incluir todos."
|
193 |
+
|
194 |
+
#: inc/config.php:194
|
195 |
+
msgid "Hashtag Custom Field"
|
196 |
+
msgstr "Campo Personalizado de Hashtag"
|
197 |
+
|
198 |
+
#: inc/config.php:198
|
199 |
+
msgid "Fetch hashtags from specified custom field"
|
200 |
+
msgstr "Extraia hashtags do campo personalizado especificado"
|
201 |
+
|
202 |
+
#: inc/config.php:204
|
203 |
+
msgid "Minimum interval between shares"
|
204 |
+
msgstr "Intervalo mínimo entre compartilhamentos"
|
205 |
+
|
206 |
+
#: inc/config.php:208
|
207 |
+
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
+
msgstr ""
|
209 |
+
"Tempo mínimo entre compartilhamentos (Hora/Horas), 0,4 também pode ser usado."
|
210 |
+
|
211 |
+
#: inc/config.php:214
|
212 |
+
msgid "Minimum age of post to be eligible for sharing"
|
213 |
+
msgstr "Idade mínima da publicação para ser elegível para compartilhar"
|
214 |
+
|
215 |
+
#: inc/config.php:218 inc/config.php:228
|
216 |
+
msgid "Day/Days - 0 for Disabled"
|
217 |
+
msgstr "Dia/Dias - 0 para Desativada"
|
218 |
+
|
219 |
+
#: inc/config.php:224
|
220 |
+
msgid "Maximum age of post to be eligible for sharing"
|
221 |
+
msgstr "Idade máxima da publicação para ser elegível para compartilhar"
|
222 |
+
|
223 |
+
#: inc/config.php:234
|
224 |
+
msgid "Number of Posts to share"
|
225 |
+
msgstr "Número de Publicações a compartilhar"
|
226 |
+
|
227 |
+
#: inc/config.php:238
|
228 |
+
msgid "Number of posts to share each time"
|
229 |
+
msgstr "Número de publicações a compartilhar cada vez"
|
230 |
+
|
231 |
+
#: inc/config.php:246
|
232 |
+
msgid "Post with Image"
|
233 |
+
msgstr "Publicar com Imagem"
|
234 |
+
|
235 |
+
#: inc/config.php:250
|
236 |
+
msgid "Check if you want to add the post featured image to the share"
|
237 |
+
msgstr ""
|
238 |
+
"Marque se deseja adicionar ao compartilhamento a imagem em destaque na "
|
239 |
+
"publicação"
|
240 |
+
|
241 |
+
#: inc/config.php:256
|
242 |
+
msgid "Share old posts more than once"
|
243 |
+
msgstr "Compartilhar publicações antigas mais de uma vez"
|
244 |
+
|
245 |
+
#: inc/config.php:260
|
246 |
+
msgid ""
|
247 |
+
"By default once a post is shared it will not be shared again until you stop/"
|
248 |
+
"start the plugin"
|
249 |
+
msgstr ""
|
250 |
+
"Por padrão, quando uma publicação é compartilhada, ela não será "
|
251 |
+
"compartilhada novamente até você parar/iniciar o plugin"
|
252 |
+
|
253 |
+
#: inc/config.php:268
|
254 |
+
msgid "Post Type"
|
255 |
+
msgstr "Tipo de Publicação"
|
256 |
+
|
257 |
+
#: inc/config.php:272
|
258 |
+
msgid "What type of items do you want to share?"
|
259 |
+
msgstr "Que tipo de itens que você deseja compartilhar?"
|
260 |
+
|
261 |
+
#: inc/config.php:279
|
262 |
+
msgid "Google Analytics Campaign Tracking"
|
263 |
+
msgstr "Monitoramento de Campanha do Google Analytics"
|
264 |
+
|
265 |
+
#: inc/config.php:283
|
266 |
+
msgid ""
|
267 |
+
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
268 |
+
"Old Post generated."
|
269 |
+
msgstr ""
|
270 |
+
"Ao ativar o Monitoramento de Campanha, você pode ver quanto tráfego foi "
|
271 |
+
"gerado pelo Reativar Publicação Antiga."
|
272 |
+
|
273 |
+
#: inc/config.php:289
|
274 |
+
msgid "Exclude Specific Categories"
|
275 |
+
msgstr "Excluir Categorias Específicas"
|
276 |
+
|
277 |
+
#: inc/config.php:293
|
278 |
+
msgid ""
|
279 |
+
"Select which categories do you want to exclude to share from? Blank - None"
|
280 |
+
msgstr ""
|
281 |
+
"Selecione as categorias que você deseja excluir do compartilhamento. Em "
|
282 |
+
"branco - Nenhuma"
|
283 |
+
|
284 |
+
#: inc/core.php:81
|
285 |
+
msgid "Tweet Old Post is already active!"
|
286 |
+
msgstr "Tweetar Publicação Antiga já está ativo!"
|
287 |
+
|
288 |
+
#: inc/core.php:101
|
289 |
+
#, fuzzy
|
290 |
+
msgid "ROP is already inactive!"
|
291 |
+
msgstr "Tweetar Publicação Antiga já está inativo!"
|
292 |
+
|
293 |
+
#: inc/core.php:811
|
294 |
+
msgid "Custom Tweet User Interval"
|
295 |
+
msgstr "Intervalo do Usuário do Tweet Personalizado"
|
296 |
+
|
297 |
+
#: inc/core.php:1127
|
298 |
+
msgid "Could not connect to Twitter!"
|
299 |
+
msgstr "Não foi possível conectar ao Twitter!"
|
300 |
+
|
301 |
+
#: inc/core.php:1385
|
302 |
+
msgid "This is only available in the"
|
303 |
+
msgstr "Isso só está disponível na"
|
304 |
+
|
305 |
+
#: inc/core.php:1385
|
306 |
+
msgid "PRO version"
|
307 |
+
msgstr "versão PRO"
|
308 |
+
|
309 |
+
#: inc/core.php:1644
|
310 |
+
msgid "Exclude Posts"
|
311 |
+
msgstr "Excluir Publicações"
|
312 |
+
|
313 |
+
#: inc/exclude-posts.php:24
|
314 |
+
msgid "Tweet Old Post Options Updated."
|
315 |
+
msgstr "Opções de Tweetar Publicação Antiga Atualizadas."
|
316 |
+
|
317 |
+
#: inc/exclude-posts.php:63
|
318 |
+
msgid "No post selected please select a post to be excluded."
|
319 |
+
msgstr ""
|
320 |
+
"Nenhuma publicação selecionada; selecione uma publicação a ser excluída."
|
321 |
+
|
322 |
+
#: inc/exclude-posts.php:70
|
323 |
+
msgid "Posts excluded successfully."
|
324 |
+
msgstr "Publicações excluídas com sucesso."
|
325 |
+
|
326 |
+
#: inc/exclude-posts.php:155
|
327 |
+
msgid "Selected Categories"
|
328 |
+
msgstr "Categorias Selecionadas"
|
329 |
+
|
330 |
+
#: inc/exclude-posts.php:157
|
331 |
+
msgid "Filter"
|
332 |
+
msgstr "Filtrar"
|
333 |
+
|
334 |
+
#: inc/exclude-posts.php:168
|
335 |
+
msgid "«"
|
336 |
+
msgstr "«"
|
337 |
+
|
338 |
+
#: inc/exclude-posts.php:169
|
339 |
+
msgid "»"
|
340 |
+
msgstr "»"
|
341 |
+
|
342 |
+
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
343 |
+
#, php-format
|
344 |
+
msgid "Displaying %s–%s of %s"
|
345 |
+
msgstr "Exibindo %s–%s de %s"
|
346 |
+
|
347 |
+
#: inc/exclude-posts.php:356
|
348 |
+
msgid "No Posts found. Review your search or filter criteria/term."
|
349 |
+
msgstr ""
|
350 |
+
"Nenhuma publicação encontrada. Revise seus critérios/termos de pesquisa ou "
|
351 |
+
"de filtro."
|
352 |
+
|
353 |
+
#: inc/exclude-posts.php:363
|
354 |
+
msgid ""
|
355 |
+
"You do not have enough permission to set the option. Please contact your "
|
356 |
+
"admin."
|
357 |
+
msgstr ""
|
358 |
+
"Você não tem permissão suficiente para configurar a opção. Entre em contato "
|
359 |
+
"com seu administrador."
|
360 |
+
|
361 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
362 |
+
msgid "After 6 months of hard work, we have just released"
|
363 |
+
msgstr "Depois de 6 meses de trabalho duro, acabamos de lançar"
|
364 |
+
|
365 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
366 |
+
msgid "the island of WordPress themes."
|
367 |
+
msgstr "nossos temas de WordPress."
|
368 |
+
|
369 |
+
#: inc/view-exclude.php:5 inc/view.php:4
|
370 |
+
msgid "Show Me"
|
371 |
+
msgstr "Mostrar"
|
372 |
+
|
373 |
+
#: inc/view-exclude.php:15 inc/view.php:14
|
374 |
+
msgid "by"
|
375 |
+
msgstr "por"
|
376 |
+
|
377 |
+
#: inc/view-exclude.php:18 inc/view.php:17
|
378 |
+
msgid "Show your love"
|
379 |
+
msgstr "Você gostou?"
|
380 |
+
|
381 |
+
#: inc/view-exclude.php:19 inc/view.php:18
|
382 |
+
msgid "Leave A Review"
|
383 |
+
msgstr "Faça uma Avaliação"
|
384 |
+
|
385 |
+
#: inc/view-exclude.php:30
|
386 |
+
msgid "Revive Old Post is set to share on a"
|
387 |
+
msgstr "Reativar Publicação Antiga está definido para compartilhar em um"
|
388 |
+
|
389 |
+
#: inc/view-exclude.php:32 inc/view.php:31
|
390 |
+
msgid "hours interval, "
|
391 |
+
msgstr "intervalo de horas, "
|
392 |
+
|
393 |
+
#: inc/view-exclude.php:33 inc/view.php:32
|
394 |
+
msgid "and the next share will take place in: "
|
395 |
+
msgstr "e o próximo compartilhamento será feito em: "
|
396 |
+
|
397 |
+
#: inc/view-exclude.php:38
|
398 |
+
msgid "Revive Old Post is not set to share!"
|
399 |
+
msgstr "Reativar Publicação Antiga não está definido para compartilhar!"
|
400 |
+
|
401 |
+
#: inc/view-exclude.php:42
|
402 |
+
#, fuzzy
|
403 |
+
msgid ""
|
404 |
+
"You have selected following POST IDs to be excluded from tweeting: <span "
|
405 |
+
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
406 |
+
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
407 |
+
"changes will not be saved. "
|
408 |
+
msgstr ""
|
409 |
+
"Você selecionou os seguintes IDs de PUBLICAÇÃO a serem excluídos dos tweets: "
|
410 |
+
"<span id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
411 |
+
"Observação: Se você fez alguma alteração e não pressionou o botão \"Excluir "
|
412 |
+
"Selecionados\", as alterações não serão salvas. "
|
413 |
+
|
414 |
+
#: inc/view.php:29
|
415 |
+
msgid "Revive Old Post is set to post on a"
|
416 |
+
msgstr "Reativar Publicação Antiga está definido para publicar em um"
|
417 |
+
|
418 |
+
#: inc/view.php:37
|
419 |
+
msgid "Revive Old Post is not set to post!"
|
420 |
+
msgstr "Reativar Publicação Antiga não está definido para publicar!"
|
421 |
+
|
422 |
+
#: inc/view.php:42
|
423 |
+
msgid ""
|
424 |
+
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
425 |
+
"can see the error message if is any."
|
426 |
+
msgstr ""
|
427 |
+
"Depois de clicar em Iniciar Compartilhamento, uma publicação será enviada em "
|
428 |
+
"15 segundos; você também pode ver aqui a mensagem de erro, se for o caso."
|
429 |
+
|
430 |
+
#: inc/view.php:52
|
431 |
+
msgid "Twitter Login"
|
432 |
+
msgstr "Login do Twitter"
|
433 |
+
|
434 |
+
#: inc/view.php:53
|
435 |
+
msgid "Login using your Twitter account."
|
436 |
+
msgstr "Fazer login usando sua conta do Twitter."
|
437 |
+
|
438 |
+
#: inc/view.php:77 inc/view.php:111
|
439 |
+
msgid "Add Account"
|
440 |
+
msgstr "Adicionar Conta"
|
441 |
+
|
442 |
+
#: inc/view.php:84
|
443 |
+
msgid "Facebook Login"
|
444 |
+
msgstr "Login do Facebook"
|
445 |
+
|
446 |
+
#: inc/view.php:85
|
447 |
+
msgid "Login using your Facebook account."
|
448 |
+
msgstr "Fazer login usando sua conta do Facebook."
|
449 |
+
|
450 |
+
#: inc/view.php:109
|
451 |
+
msgid "Authorize"
|
452 |
+
msgstr "Autorizar"
|
453 |
+
|
454 |
+
#: inc/view.php:118
|
455 |
+
msgid "Linkedin Login"
|
456 |
+
msgstr "Login do Linkedin"
|
457 |
+
|
458 |
+
#: inc/view.php:119
|
459 |
+
msgid "Login using your Linkedin account."
|
460 |
+
msgstr "Fazer login usando sua conta do Linkedin."
|
461 |
+
|
462 |
+
#: inc/view.php:141
|
463 |
+
msgid "Add account"
|
464 |
+
msgstr "Adicionar conta"
|
465 |
+
|
466 |
+
#: inc/view.php:154
|
467 |
+
msgid "Select All"
|
468 |
+
msgstr "Selecionar Tudo"
|
469 |
+
|
470 |
+
#: inc/view.php:165
|
471 |
+
msgid "Reset"
|
472 |
+
msgstr "Redefinir"
|
473 |
+
|
474 |
+
#: inc/view.php:166
|
475 |
+
msgid "Save"
|
476 |
+
msgstr "Salvar"
|
477 |
+
|
478 |
+
#: inc/view.php:167
|
479 |
+
msgid "Start Sharing"
|
480 |
+
msgstr "Iniciar Compartilhamento"
|
481 |
+
|
482 |
+
#: inc/view.php:168
|
483 |
+
msgid "Stop Sharing"
|
484 |
+
msgstr "Parar Compartilhamento"
|
485 |
+
|
486 |
+
#: inc/view.php:169
|
487 |
+
msgid "See Sample Post"
|
488 |
+
msgstr "Ver Amostra de Publicação"
|
489 |
+
|
490 |
+
#: inc/view.php:171
|
491 |
+
msgid ""
|
492 |
+
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
493 |
+
msgstr ""
|
494 |
+
"Não somos de nenhuma forma afiliados ou parceiros do Twitter/Facebook/"
|
495 |
+
"Linkedin."
|
496 |
+
|
497 |
+
#: inc/view.php:176
|
498 |
+
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
499 |
+
msgstr ""
|
500 |
+
"Faça Upgrade de Tweetar Publicação Antiga por apenas $9,99 - Faça Upgrade "
|
501 |
+
"para Pro Agora!"
|
502 |
+
|
503 |
+
#: inc/view.php:177
|
504 |
+
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
505 |
+
msgstr "ThemeIsle - Temas de WordPress Extremamente Simples"
|
506 |
+
|
507 |
+
#: inc/view.php:178
|
508 |
+
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
509 |
+
msgstr "ThemeIsle - Promova Nossos Temas e Plugins e Ganhe 55% de Comissão"
|
510 |
+
|
511 |
+
#: inc/view.php:185
|
512 |
+
#, fuzzy
|
513 |
+
msgid "Sample Post Preview"
|
514 |
+
msgstr "Ver Amostra de Publicação"
|
515 |
+
|
516 |
+
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
517 |
+
msgid "Close preview"
|
518 |
+
msgstr ""
|
519 |
+
|
520 |
+
#: inc/view.php:188
|
521 |
+
msgid "Share now"
|
522 |
+
msgstr ""
|
523 |
+
|
524 |
+
#: inc/view.php:194
|
525 |
+
msgid "Choose a Profile or Page"
|
526 |
+
msgstr ""
|
527 |
+
|
528 |
+
#: inc/view.php:202
|
529 |
+
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
530 |
+
msgstr ""
|
531 |
+
|
532 |
+
#: inc/view.php:206 inc/view.php:252
|
533 |
+
msgid "Go on"
|
534 |
+
msgstr ""
|
535 |
+
|
536 |
+
#: inc/view.php:207
|
537 |
+
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
538 |
+
msgstr ""
|
539 |
+
|
540 |
+
#: inc/view.php:208
|
541 |
+
msgid ""
|
542 |
+
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
543 |
+
"click on Create App"
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: inc/view.php:209
|
547 |
+
msgid ""
|
548 |
+
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
549 |
+
"<strong>App Secret</strong> in the fields on the right"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: inc/view.php:210
|
553 |
+
msgid ""
|
554 |
+
"Go on Settings tab from the left sidebar menu add the contact email and "
|
555 |
+
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: inc/view.php:211
|
559 |
+
msgid ""
|
560 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
561 |
+
"Domains and Site URL fields and <strong>Save</strong>"
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: inc/view.php:212
|
565 |
+
msgid ""
|
566 |
+
"Go on Status & Review tab and set your app live from the top-right switch."
|
567 |
+
msgstr ""
|
568 |
+
|
569 |
+
#: inc/view.php:213 inc/view.php:259
|
570 |
+
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
571 |
+
msgstr ""
|
572 |
+
|
573 |
+
#: inc/view.php:219
|
574 |
+
#, fuzzy
|
575 |
+
msgid "Facebook App ID"
|
576 |
+
msgstr "Login do Facebook"
|
577 |
+
|
578 |
+
#: inc/view.php:220
|
579 |
+
msgid "ID from your app created on facebook website."
|
580 |
+
msgstr ""
|
581 |
+
|
582 |
+
#: inc/view.php:231
|
583 |
+
msgid "Facebook App Secret"
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: inc/view.php:232
|
587 |
+
msgid "Secret from your app created on facebook website. "
|
588 |
+
msgstr ""
|
589 |
+
|
590 |
+
#: inc/view.php:240 inc/view.php:287
|
591 |
+
#, fuzzy
|
592 |
+
msgid "Authorize App"
|
593 |
+
msgstr "Autorizar"
|
594 |
+
|
595 |
+
#: inc/view.php:248
|
596 |
+
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
597 |
+
msgstr ""
|
598 |
+
|
599 |
+
#: inc/view.php:253
|
600 |
+
msgid ""
|
601 |
+
"Enter the required details and pay special attention to the further fields :"
|
602 |
+
msgstr ""
|
603 |
+
|
604 |
+
#: inc/view.php:254
|
605 |
+
msgid "Make sure you set Live Status to LIVE"
|
606 |
+
msgstr ""
|
607 |
+
|
608 |
+
#: inc/view.php:255
|
609 |
+
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
610 |
+
msgstr ""
|
611 |
+
|
612 |
+
#: inc/view.php:256
|
613 |
+
msgid ""
|
614 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
615 |
+
"2.0 Redirect URLs"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: inc/view.php:257
|
619 |
+
msgid ""
|
620 |
+
"Once all required fields are filled click on Add Application button, get the "
|
621 |
+
"API Key and Secret Key and paste them in the fields on the right"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: inc/view.php:265
|
625 |
+
#, fuzzy
|
626 |
+
msgid "Linkedin API Key"
|
627 |
+
msgstr "Login do Linkedin"
|
628 |
+
|
629 |
+
#: inc/view.php:266
|
630 |
+
msgid "API Key that you get once you create an app"
|
631 |
+
msgstr ""
|
632 |
+
|
633 |
+
#: inc/view.php:277
|
634 |
+
msgid "Linkedin Secret Key"
|
635 |
+
msgstr ""
|
636 |
+
|
637 |
+
#: inc/view.php:278
|
638 |
+
msgid "Secret Key that you get once you create an app"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#. Description of the plugin/theme
|
642 |
+
msgid ""
|
643 |
+
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
644 |
+
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
645 |
+
"also helps you to promote your content. You can set time and no of posts to "
|
646 |
+
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
647 |
+
"href=\"https://themeisle.com/contact/?"
|
648 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
649 |
+
msgstr ""
|
650 |
+
"Plugin do Wordpress que ajuda você a manter suas publicações antigas ativas "
|
651 |
+
"por compartilhá-las e gerar mais tráfego para elas usando o Twitter/Facebook "
|
652 |
+
"ou LinkedIn. Ele também ajuda a promover seu conteúdo. Você pode definir a "
|
653 |
+
"hora e o número de publicações a compartilhar para gerar mais tráfego. Par "
|
654 |
+
"dúvidas, comentários ou solicitações de recursos, <a href=\"https://themeisle."
|
655 |
+
"com/contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top"
|
656 |
+
"\">contate-nos</a>!"
|
657 |
+
|
658 |
+
#~ msgid "Post Only"
|
659 |
+
#~ msgstr "Apenas Publicação"
|
660 |
+
|
661 |
+
#~ msgid "Page Only"
|
662 |
+
#~ msgstr "Apenas Página"
|
663 |
+
|
664 |
+
#~ msgid "Custom Post Type"
|
665 |
+
#~ msgstr "Tipo de Publicação Personalizada"
|
666 |
+
|
667 |
+
#~ msgid "Post and Page"
|
668 |
+
#~ msgstr "Publicação e Página"
|
669 |
+
|
670 |
+
#~ msgid "Select which custom post type"
|
671 |
+
#~ msgstr "Selecione o tipo de publicação personalizada"
|
672 |
+
|
673 |
+
#~ msgid ""
|
674 |
+
#~ " We just fixed the interrupted posting issue and scheduling issue, if you "
|
675 |
+
#~ "don't see any tweets you need to re-authentificate your twitter accounts. "
|
676 |
+
#~ "| <a href=\""
|
677 |
+
#~ msgstr ""
|
678 |
+
#~ " Nós corrigimos o problema de interrupção da publicação e o problema de "
|
679 |
+
#~ "agendamento; se você não vir nenhum tweet, precisará autentificar "
|
680 |
+
#~ "novamente suas contas do Twitter. | <a href=\""
|
681 |
+
|
682 |
+
#~ msgid "ExcludePosts"
|
683 |
+
#~ msgstr "ExcluirPublicações"
|
684 |
+
|
685 |
+
#~ msgid "Revive Old Post PRO"
|
686 |
+
#~ msgstr "Reativar Publicação Antiga PRO"
|
languages/tweet-old-post-pt_PT.po
CHANGED
@@ -1,686 +1,686 @@
|
|
1 |
-
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
-
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
-
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
-
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
-
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
-
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
-
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
-
"X-Poedit-Basepath: ../\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
"X-Poedit-SearchPath-1: inc\n"
|
19 |
-
|
20 |
-
#: inc/class-remote-notification-client.php:260
|
21 |
-
msgid "Dismiss notification"
|
22 |
-
msgstr "Dispensar notificação"
|
23 |
-
|
24 |
-
#: inc/class-remote-notification-client.php:262
|
25 |
-
msgid "Dismiss"
|
26 |
-
msgstr "Dispensar"
|
27 |
-
|
28 |
-
#: inc/config.php:24
|
29 |
-
msgid "Post Content"
|
30 |
-
msgstr "Conteúdo da Publicação"
|
31 |
-
|
32 |
-
#: inc/config.php:28
|
33 |
-
msgid "What do you want to share?"
|
34 |
-
msgstr "O que você gostaria de compartilhar?"
|
35 |
-
|
36 |
-
#: inc/config.php:30
|
37 |
-
msgid "Title Only"
|
38 |
-
msgstr "Apenas Título"
|
39 |
-
|
40 |
-
#: inc/config.php:31
|
41 |
-
msgid "Body Only"
|
42 |
-
msgstr "Apenas Mensagem"
|
43 |
-
|
44 |
-
#: inc/config.php:32
|
45 |
-
msgid "Title & Body"
|
46 |
-
msgstr "Título e Mensagem"
|
47 |
-
|
48 |
-
#: inc/config.php:33
|
49 |
-
msgid "Custom Field"
|
50 |
-
msgstr "Campo Personalizado"
|
51 |
-
|
52 |
-
#: inc/config.php:39
|
53 |
-
msgid "Post Content Custom Field"
|
54 |
-
msgstr "Campo Personalizado do Conteúdo da Publicação"
|
55 |
-
|
56 |
-
#: inc/config.php:43
|
57 |
-
msgid "Which custom field do you want to fetch info from?"
|
58 |
-
msgstr "Você deseja extrair informações de qual campo personalizado?"
|
59 |
-
|
60 |
-
#: inc/config.php:49
|
61 |
-
msgid "Additional Text"
|
62 |
-
msgstr "Texto Adicional"
|
63 |
-
|
64 |
-
#: inc/config.php:53
|
65 |
-
msgid "Text added to your auto posts"
|
66 |
-
msgstr "Texto adicionado às suas publicações automáticas"
|
67 |
-
|
68 |
-
#: inc/config.php:59
|
69 |
-
msgid "Additional Text At"
|
70 |
-
msgstr "Texto Adicional em"
|
71 |
-
|
72 |
-
#: inc/config.php:63
|
73 |
-
msgid "Where do you want the text to be added?"
|
74 |
-
msgstr "Onde você deseja que o texto seja adicionado?"
|
75 |
-
|
76 |
-
#: inc/config.php:65
|
77 |
-
msgid "Beginning of Post"
|
78 |
-
msgstr "Início da Publicação"
|
79 |
-
|
80 |
-
#: inc/config.php:66
|
81 |
-
msgid "End of Post"
|
82 |
-
msgstr "Fim da Publicação"
|
83 |
-
|
84 |
-
#: inc/config.php:72
|
85 |
-
msgid "Include Link"
|
86 |
-
msgstr "Incluir Link"
|
87 |
-
|
88 |
-
#: inc/config.php:76
|
89 |
-
msgid "Include a link to your post?"
|
90 |
-
msgstr "Incluir um link para sua publicação?"
|
91 |
-
|
92 |
-
#: inc/config.php:78
|
93 |
-
msgid "Yes"
|
94 |
-
msgstr "Sim"
|
95 |
-
|
96 |
-
#: inc/config.php:79
|
97 |
-
msgid "No"
|
98 |
-
msgstr "Não"
|
99 |
-
|
100 |
-
#: inc/config.php:85
|
101 |
-
msgid "Fetch URL From Custom Field"
|
102 |
-
msgstr "Extrair URL de Campo Personalizado"
|
103 |
-
|
104 |
-
#: inc/config.php:89
|
105 |
-
msgid "URL will be fetched from a custom field."
|
106 |
-
msgstr "A URL será extraída de um campo personalizado."
|
107 |
-
|
108 |
-
#: inc/config.php:95
|
109 |
-
msgid "URL Custom Field"
|
110 |
-
msgstr "Campo Personalizado da URL"
|
111 |
-
|
112 |
-
#: inc/config.php:99
|
113 |
-
msgid "URL will be fetched from the specified custom field."
|
114 |
-
msgstr "A URL será extraída do campo personalizado especificado."
|
115 |
-
|
116 |
-
#: inc/config.php:105
|
117 |
-
msgid "Use URL Shortner"
|
118 |
-
msgstr "Usar Encurtador de URL"
|
119 |
-
|
120 |
-
#: inc/config.php:117
|
121 |
-
msgid "URL Shortner Service"
|
122 |
-
msgstr "Serviço de Encurtador de URL"
|
123 |
-
|
124 |
-
#: inc/config.php:121
|
125 |
-
msgid "Shorten the link to your post."
|
126 |
-
msgstr "Encurte o link para sua publicação."
|
127 |
-
|
128 |
-
#: inc/config.php:123
|
129 |
-
msgid "wp short url"
|
130 |
-
msgstr "url curta wp"
|
131 |
-
|
132 |
-
#: inc/config.php:125
|
133 |
-
msgid "is.gd"
|
134 |
-
msgstr "is.gd"
|
135 |
-
|
136 |
-
#: inc/config.php:126
|
137 |
-
msgid "bit.ly"
|
138 |
-
msgstr "bit.ly"
|
139 |
-
|
140 |
-
#: inc/config.php:138
|
141 |
-
msgid "Bitly Key"
|
142 |
-
msgstr "Chave do Bitly"
|
143 |
-
|
144 |
-
#: inc/config.php:148
|
145 |
-
msgid "Bitly User"
|
146 |
-
msgstr "Usuário do Bitly"
|
147 |
-
|
148 |
-
#: inc/config.php:158
|
149 |
-
msgid "Hashtags"
|
150 |
-
msgstr "Hashtags"
|
151 |
-
|
152 |
-
#: inc/config.php:162
|
153 |
-
msgid "Include #hashtags in your auto posts?"
|
154 |
-
msgstr "Incluir #hashtags em suas publicações automáticas?"
|
155 |
-
|
156 |
-
#: inc/config.php:164
|
157 |
-
msgid "Don't add any hashtags"
|
158 |
-
msgstr "Não adicione nenhuma hashtag"
|
159 |
-
|
160 |
-
#: inc/config.php:165
|
161 |
-
msgid "Common hashtags for all shares"
|
162 |
-
msgstr "Hashtags comuns para todos os compartilhamentos"
|
163 |
-
|
164 |
-
#: inc/config.php:166
|
165 |
-
msgid "Create hashtags from Categories"
|
166 |
-
msgstr "Criar hashtags de Categorias"
|
167 |
-
|
168 |
-
#: inc/config.php:167
|
169 |
-
msgid "Create hashtags from Tags"
|
170 |
-
msgstr "Criar hashtags de Marcações"
|
171 |
-
|
172 |
-
#: inc/config.php:168
|
173 |
-
msgid "Create hashtags from Custom Fields"
|
174 |
-
msgstr "Criar hashtags de Campos Personalizados"
|
175 |
-
|
176 |
-
#: inc/config.php:174
|
177 |
-
msgid "Common Hashtags"
|
178 |
-
msgstr "Hashtags Comuns"
|
179 |
-
|
180 |
-
#: inc/config.php:178
|
181 |
-
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
-
msgstr ""
|
183 |
-
"Especifique quais hashtags você quer que sejam usadas. como #exemplo, "
|
184 |
-
"#exemplo2"
|
185 |
-
|
186 |
-
#: inc/config.php:184
|
187 |
-
msgid "Maximum Hashtags Length"
|
188 |
-
msgstr "Extensão Máxima das Hashtags"
|
189 |
-
|
190 |
-
#: inc/config.php:188
|
191 |
-
msgid "Set to 0 (characters) to include all."
|
192 |
-
msgstr "Definir para 0 (caracteres) para incluir todos."
|
193 |
-
|
194 |
-
#: inc/config.php:194
|
195 |
-
msgid "Hashtag Custom Field"
|
196 |
-
msgstr "Campo Personalizado de Hashtag"
|
197 |
-
|
198 |
-
#: inc/config.php:198
|
199 |
-
msgid "Fetch hashtags from specified custom field"
|
200 |
-
msgstr "Extraia hashtags do campo personalizado especificado"
|
201 |
-
|
202 |
-
#: inc/config.php:204
|
203 |
-
msgid "Minimum interval between shares"
|
204 |
-
msgstr "Intervalo mínimo entre compartilhamentos"
|
205 |
-
|
206 |
-
#: inc/config.php:208
|
207 |
-
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
-
msgstr ""
|
209 |
-
"Tempo mínimo entre compartilhamentos (Hora/Horas), 0,4 também pode ser usado."
|
210 |
-
|
211 |
-
#: inc/config.php:214
|
212 |
-
msgid "Minimum age of post to be eligible for sharing"
|
213 |
-
msgstr "Idade mínima da publicação para ser elegível para compartilhar"
|
214 |
-
|
215 |
-
#: inc/config.php:218 inc/config.php:228
|
216 |
-
msgid "Day/Days - 0 for Disabled"
|
217 |
-
msgstr "Dia/Dias - 0 para Desativada"
|
218 |
-
|
219 |
-
#: inc/config.php:224
|
220 |
-
msgid "Maximum age of post to be eligible for sharing"
|
221 |
-
msgstr "Idade máxima da publicação para ser elegível para compartilhar"
|
222 |
-
|
223 |
-
#: inc/config.php:234
|
224 |
-
msgid "Number of Posts to share"
|
225 |
-
msgstr "Número de Publicações a compartilhar"
|
226 |
-
|
227 |
-
#: inc/config.php:238
|
228 |
-
msgid "Number of posts to share each time"
|
229 |
-
msgstr "Número de publicações a compartilhar cada vez"
|
230 |
-
|
231 |
-
#: inc/config.php:246
|
232 |
-
msgid "Post with Image"
|
233 |
-
msgstr "Publicar com Imagem"
|
234 |
-
|
235 |
-
#: inc/config.php:250
|
236 |
-
msgid "Check if you want to add the post featured image to the share"
|
237 |
-
msgstr ""
|
238 |
-
"Marque se deseja adicionar ao compartilhamento a imagem em destaque na "
|
239 |
-
"publicação"
|
240 |
-
|
241 |
-
#: inc/config.php:256
|
242 |
-
msgid "Share old posts more than once"
|
243 |
-
msgstr "Compartilhar publicações antigas mais de uma vez"
|
244 |
-
|
245 |
-
#: inc/config.php:260
|
246 |
-
msgid ""
|
247 |
-
"By default once a post is shared it will not be shared again until you stop/"
|
248 |
-
"start the plugin"
|
249 |
-
msgstr ""
|
250 |
-
"Por padrão, quando uma publicação é compartilhada, ela não será "
|
251 |
-
"compartilhada novamente até você parar/iniciar o plugin"
|
252 |
-
|
253 |
-
#: inc/config.php:268
|
254 |
-
msgid "Post Type"
|
255 |
-
msgstr "Tipo de Publicação"
|
256 |
-
|
257 |
-
#: inc/config.php:272
|
258 |
-
msgid "What type of items do you want to share?"
|
259 |
-
msgstr "Que tipo de itens que você deseja compartilhar?"
|
260 |
-
|
261 |
-
#: inc/config.php:279
|
262 |
-
msgid "Google Analytics Campaign Tracking"
|
263 |
-
msgstr "Monitoramento de Campanha do Google Analytics"
|
264 |
-
|
265 |
-
#: inc/config.php:283
|
266 |
-
msgid ""
|
267 |
-
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
268 |
-
"Old Post generated."
|
269 |
-
msgstr ""
|
270 |
-
"Ao ativar o Monitoramento de Campanha, você pode ver quanto tráfego foi "
|
271 |
-
"gerado pelo Reativar Publicação Antiga."
|
272 |
-
|
273 |
-
#: inc/config.php:289
|
274 |
-
msgid "Exclude Specific Categories"
|
275 |
-
msgstr "Excluir Categorias Específicas"
|
276 |
-
|
277 |
-
#: inc/config.php:293
|
278 |
-
msgid ""
|
279 |
-
"Select which categories do you want to exclude to share from? Blank - None"
|
280 |
-
msgstr ""
|
281 |
-
"Selecione as categorias que você deseja excluir do compartilhamento. Em "
|
282 |
-
"branco - Nenhuma"
|
283 |
-
|
284 |
-
#: inc/core.php:81
|
285 |
-
msgid "Tweet Old Post is already active!"
|
286 |
-
msgstr "Tweetar Publicação Antiga já está ativo!"
|
287 |
-
|
288 |
-
#: inc/core.php:101
|
289 |
-
#, fuzzy
|
290 |
-
msgid "ROP is already inactive!"
|
291 |
-
msgstr "Tweetar Publicação Antiga já está inativo!"
|
292 |
-
|
293 |
-
#: inc/core.php:811
|
294 |
-
msgid "Custom Tweet User Interval"
|
295 |
-
msgstr "Intervalo do Usuário do Tweet Personalizado"
|
296 |
-
|
297 |
-
#: inc/core.php:1127
|
298 |
-
msgid "Could not connect to Twitter!"
|
299 |
-
msgstr "Não foi possível conectar ao Twitter!"
|
300 |
-
|
301 |
-
#: inc/core.php:1385
|
302 |
-
msgid "This is only available in the"
|
303 |
-
msgstr "Isso só está disponível na"
|
304 |
-
|
305 |
-
#: inc/core.php:1385
|
306 |
-
msgid "PRO version"
|
307 |
-
msgstr "versão PRO"
|
308 |
-
|
309 |
-
#: inc/core.php:1644
|
310 |
-
msgid "Exclude Posts"
|
311 |
-
msgstr "Excluir Publicações"
|
312 |
-
|
313 |
-
#: inc/exclude-posts.php:24
|
314 |
-
msgid "Tweet Old Post Options Updated."
|
315 |
-
msgstr "Opções de Tweetar Publicação Antiga Atualizadas."
|
316 |
-
|
317 |
-
#: inc/exclude-posts.php:63
|
318 |
-
msgid "No post selected please select a post to be excluded."
|
319 |
-
msgstr ""
|
320 |
-
"Nenhuma publicação selecionada; selecione uma publicação a ser excluída."
|
321 |
-
|
322 |
-
#: inc/exclude-posts.php:70
|
323 |
-
msgid "Posts excluded successfully."
|
324 |
-
msgstr "Publicações excluídas com sucesso."
|
325 |
-
|
326 |
-
#: inc/exclude-posts.php:155
|
327 |
-
msgid "Selected Categories"
|
328 |
-
msgstr "Categorias Selecionadas"
|
329 |
-
|
330 |
-
#: inc/exclude-posts.php:157
|
331 |
-
msgid "Filter"
|
332 |
-
msgstr "Filtrar"
|
333 |
-
|
334 |
-
#: inc/exclude-posts.php:168
|
335 |
-
msgid "«"
|
336 |
-
msgstr "«"
|
337 |
-
|
338 |
-
#: inc/exclude-posts.php:169
|
339 |
-
msgid "»"
|
340 |
-
msgstr "»"
|
341 |
-
|
342 |
-
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
343 |
-
#, php-format
|
344 |
-
msgid "Displaying %s–%s of %s"
|
345 |
-
msgstr "Exibindo %s–%s de %s"
|
346 |
-
|
347 |
-
#: inc/exclude-posts.php:356
|
348 |
-
msgid "No Posts found. Review your search or filter criteria/term."
|
349 |
-
msgstr ""
|
350 |
-
"Nenhuma publicação encontrada. Revise seus critérios/termos de pesquisa ou "
|
351 |
-
"de filtro."
|
352 |
-
|
353 |
-
#: inc/exclude-posts.php:363
|
354 |
-
msgid ""
|
355 |
-
"You do not have enough permission to set the option. Please contact your "
|
356 |
-
"admin."
|
357 |
-
msgstr ""
|
358 |
-
"Você não tem permissão suficiente para configurar a opção. Entre em contato "
|
359 |
-
"com seu administrador."
|
360 |
-
|
361 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
362 |
-
msgid "After 6 months of hard work, we have just released"
|
363 |
-
msgstr "Depois de 6 meses de trabalho duro, acabamos de lançar"
|
364 |
-
|
365 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
366 |
-
msgid "the island of WordPress themes."
|
367 |
-
msgstr "nossos temas de WordPress."
|
368 |
-
|
369 |
-
#: inc/view-exclude.php:5 inc/view.php:4
|
370 |
-
msgid "Show Me"
|
371 |
-
msgstr "Mostrar"
|
372 |
-
|
373 |
-
#: inc/view-exclude.php:15 inc/view.php:14
|
374 |
-
msgid "by"
|
375 |
-
msgstr "por"
|
376 |
-
|
377 |
-
#: inc/view-exclude.php:18 inc/view.php:17
|
378 |
-
msgid "Show your love"
|
379 |
-
msgstr "Você gostou?"
|
380 |
-
|
381 |
-
#: inc/view-exclude.php:19 inc/view.php:18
|
382 |
-
msgid "Leave A Review"
|
383 |
-
msgstr "Faça uma Avaliação"
|
384 |
-
|
385 |
-
#: inc/view-exclude.php:30
|
386 |
-
msgid "Revive Old Post is set to share on a"
|
387 |
-
msgstr "Reativar Publicação Antiga está definido para compartilhar em um"
|
388 |
-
|
389 |
-
#: inc/view-exclude.php:32 inc/view.php:31
|
390 |
-
msgid "hours interval, "
|
391 |
-
msgstr "intervalo de horas, "
|
392 |
-
|
393 |
-
#: inc/view-exclude.php:33 inc/view.php:32
|
394 |
-
msgid "and the next share will take place in: "
|
395 |
-
msgstr "e o próximo compartilhamento será feito em: "
|
396 |
-
|
397 |
-
#: inc/view-exclude.php:38
|
398 |
-
msgid "Revive Old Post is not set to share!"
|
399 |
-
msgstr "Reativar Publicação Antiga não está definido para compartilhar!"
|
400 |
-
|
401 |
-
#: inc/view-exclude.php:42
|
402 |
-
#, fuzzy
|
403 |
-
msgid ""
|
404 |
-
"You have selected following POST IDs to be excluded from tweeting: <span "
|
405 |
-
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
406 |
-
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
407 |
-
"changes will not be saved. "
|
408 |
-
msgstr ""
|
409 |
-
"Você selecionou os seguintes IDs de PUBLICAÇÃO a serem excluídos dos tweets: "
|
410 |
-
"<span id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
411 |
-
"Observação: Se você fez alguma alteração e não pressionou o botão \"Excluir "
|
412 |
-
"Selecionados\", as alterações não serão salvas. "
|
413 |
-
|
414 |
-
#: inc/view.php:29
|
415 |
-
msgid "Revive Old Post is set to post on a"
|
416 |
-
msgstr "Reativar Publicação Antiga está definido para publicar em um"
|
417 |
-
|
418 |
-
#: inc/view.php:37
|
419 |
-
msgid "Revive Old Post is not set to post!"
|
420 |
-
msgstr "Reativar Publicação Antiga não está definido para publicar!"
|
421 |
-
|
422 |
-
#: inc/view.php:42
|
423 |
-
msgid ""
|
424 |
-
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
425 |
-
"can see the error message if is any."
|
426 |
-
msgstr ""
|
427 |
-
"Depois de clicar em Iniciar Compartilhamento, uma publicação será enviada em "
|
428 |
-
"15 segundos; você também pode ver aqui a mensagem de erro, se for o caso."
|
429 |
-
|
430 |
-
#: inc/view.php:52
|
431 |
-
msgid "Twitter Login"
|
432 |
-
msgstr "Login do Twitter"
|
433 |
-
|
434 |
-
#: inc/view.php:53
|
435 |
-
msgid "Login using your Twitter account."
|
436 |
-
msgstr "Fazer login usando sua conta do Twitter."
|
437 |
-
|
438 |
-
#: inc/view.php:77 inc/view.php:111
|
439 |
-
msgid "Add Account"
|
440 |
-
msgstr "Adicionar Conta"
|
441 |
-
|
442 |
-
#: inc/view.php:84
|
443 |
-
msgid "Facebook Login"
|
444 |
-
msgstr "Login do Facebook"
|
445 |
-
|
446 |
-
#: inc/view.php:85
|
447 |
-
msgid "Login using your Facebook account."
|
448 |
-
msgstr "Fazer login usando sua conta do Facebook."
|
449 |
-
|
450 |
-
#: inc/view.php:109
|
451 |
-
msgid "Authorize"
|
452 |
-
msgstr "Autorizar"
|
453 |
-
|
454 |
-
#: inc/view.php:118
|
455 |
-
msgid "Linkedin Login"
|
456 |
-
msgstr "Login do Linkedin"
|
457 |
-
|
458 |
-
#: inc/view.php:119
|
459 |
-
msgid "Login using your Linkedin account."
|
460 |
-
msgstr "Fazer login usando sua conta do Linkedin."
|
461 |
-
|
462 |
-
#: inc/view.php:141
|
463 |
-
msgid "Add account"
|
464 |
-
msgstr "Adicionar conta"
|
465 |
-
|
466 |
-
#: inc/view.php:154
|
467 |
-
msgid "Select All"
|
468 |
-
msgstr "Selecionar Tudo"
|
469 |
-
|
470 |
-
#: inc/view.php:165
|
471 |
-
msgid "Reset"
|
472 |
-
msgstr "Redefinir"
|
473 |
-
|
474 |
-
#: inc/view.php:166
|
475 |
-
msgid "Save"
|
476 |
-
msgstr "Salvar"
|
477 |
-
|
478 |
-
#: inc/view.php:167
|
479 |
-
msgid "Start Sharing"
|
480 |
-
msgstr "Iniciar Compartilhamento"
|
481 |
-
|
482 |
-
#: inc/view.php:168
|
483 |
-
msgid "Stop Sharing"
|
484 |
-
msgstr "Parar Compartilhamento"
|
485 |
-
|
486 |
-
#: inc/view.php:169
|
487 |
-
msgid "See Sample Post"
|
488 |
-
msgstr "Ver Amostra de Publicação"
|
489 |
-
|
490 |
-
#: inc/view.php:171
|
491 |
-
msgid ""
|
492 |
-
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
493 |
-
msgstr ""
|
494 |
-
"Não somos de nenhuma forma afiliados ou parceiros do Twitter/Facebook/"
|
495 |
-
"Linkedin."
|
496 |
-
|
497 |
-
#: inc/view.php:176
|
498 |
-
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
499 |
-
msgstr ""
|
500 |
-
"Faça Upgrade de Tweetar Publicação Antiga por apenas $9,99 - Faça Upgrade "
|
501 |
-
"para Pro Agora!"
|
502 |
-
|
503 |
-
#: inc/view.php:177
|
504 |
-
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
505 |
-
msgstr "ThemeIsle - Temas de WordPress Extremamente Simples"
|
506 |
-
|
507 |
-
#: inc/view.php:178
|
508 |
-
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
509 |
-
msgstr "ThemeIsle - Promova Nossos Temas e Plugins e Ganhe 55% de Comissão"
|
510 |
-
|
511 |
-
#: inc/view.php:185
|
512 |
-
#, fuzzy
|
513 |
-
msgid "Sample Post Preview"
|
514 |
-
msgstr "Ver Amostra de Publicação"
|
515 |
-
|
516 |
-
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
517 |
-
msgid "Close preview"
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: inc/view.php:188
|
521 |
-
msgid "Share now"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: inc/view.php:194
|
525 |
-
msgid "Choose a Profile or Page"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: inc/view.php:202
|
529 |
-
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: inc/view.php:206 inc/view.php:252
|
533 |
-
msgid "Go on"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: inc/view.php:207
|
537 |
-
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: inc/view.php:208
|
541 |
-
msgid ""
|
542 |
-
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
543 |
-
"click on Create App"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: inc/view.php:209
|
547 |
-
msgid ""
|
548 |
-
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
549 |
-
"<strong>App Secret</strong> in the fields on the right"
|
550 |
-
msgstr ""
|
551 |
-
|
552 |
-
#: inc/view.php:210
|
553 |
-
msgid ""
|
554 |
-
"Go on Settings tab from the left sidebar menu add the contact email and "
|
555 |
-
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
556 |
-
msgstr ""
|
557 |
-
|
558 |
-
#: inc/view.php:211
|
559 |
-
msgid ""
|
560 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
561 |
-
"Domains and Site URL fields and <strong>Save</strong>"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: inc/view.php:212
|
565 |
-
msgid ""
|
566 |
-
"Go on Status & Review tab and set your app live from the top-right switch."
|
567 |
-
msgstr ""
|
568 |
-
|
569 |
-
#: inc/view.php:213 inc/view.php:259
|
570 |
-
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
571 |
-
msgstr ""
|
572 |
-
|
573 |
-
#: inc/view.php:219
|
574 |
-
#, fuzzy
|
575 |
-
msgid "Facebook App ID"
|
576 |
-
msgstr "Login do Facebook"
|
577 |
-
|
578 |
-
#: inc/view.php:220
|
579 |
-
msgid "ID from your app created on facebook website."
|
580 |
-
msgstr ""
|
581 |
-
|
582 |
-
#: inc/view.php:231
|
583 |
-
msgid "Facebook App Secret"
|
584 |
-
msgstr ""
|
585 |
-
|
586 |
-
#: inc/view.php:232
|
587 |
-
msgid "Secret from your app created on facebook website. "
|
588 |
-
msgstr ""
|
589 |
-
|
590 |
-
#: inc/view.php:240 inc/view.php:287
|
591 |
-
#, fuzzy
|
592 |
-
msgid "Authorize App"
|
593 |
-
msgstr "Autorizar"
|
594 |
-
|
595 |
-
#: inc/view.php:248
|
596 |
-
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
597 |
-
msgstr ""
|
598 |
-
|
599 |
-
#: inc/view.php:253
|
600 |
-
msgid ""
|
601 |
-
"Enter the required details and pay special attention to the further fields :"
|
602 |
-
msgstr ""
|
603 |
-
|
604 |
-
#: inc/view.php:254
|
605 |
-
msgid "Make sure you set Live Status to LIVE"
|
606 |
-
msgstr ""
|
607 |
-
|
608 |
-
#: inc/view.php:255
|
609 |
-
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: inc/view.php:256
|
613 |
-
msgid ""
|
614 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
615 |
-
"2.0 Redirect URLs"
|
616 |
-
msgstr ""
|
617 |
-
|
618 |
-
#: inc/view.php:257
|
619 |
-
msgid ""
|
620 |
-
"Once all required fields are filled click on Add Application button, get the "
|
621 |
-
"API Key and Secret Key and paste them in the fields on the right"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: inc/view.php:265
|
625 |
-
#, fuzzy
|
626 |
-
msgid "Linkedin API Key"
|
627 |
-
msgstr "Login do Linkedin"
|
628 |
-
|
629 |
-
#: inc/view.php:266
|
630 |
-
msgid "API Key that you get once you create an app"
|
631 |
-
msgstr ""
|
632 |
-
|
633 |
-
#: inc/view.php:277
|
634 |
-
msgid "Linkedin Secret Key"
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: inc/view.php:278
|
638 |
-
msgid "Secret Key that you get once you create an app"
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#. Description of the plugin/theme
|
642 |
-
msgid ""
|
643 |
-
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
644 |
-
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
645 |
-
"also helps you to promote your content. You can set time and no of posts to "
|
646 |
-
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
647 |
-
"href=\"https://themeisle.com/contact/?"
|
648 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
649 |
-
msgstr ""
|
650 |
-
"Plugin do Wordpress que ajuda você a manter suas publicações antigas ativas "
|
651 |
-
"por compartilhá-las e gerar mais tráfego para elas usando o Twitter/Facebook "
|
652 |
-
"ou LinkedIn. Ele também ajuda a promover seu conteúdo. Você pode definir a "
|
653 |
-
"hora e o número de publicações a compartilhar para gerar mais tráfego. Par "
|
654 |
-
"dúvidas, comentários ou solicitações de recursos, <a href=\"https://themeisle."
|
655 |
-
"com/contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top"
|
656 |
-
"\">contate-nos</a>!"
|
657 |
-
|
658 |
-
#~ msgid "Post Only"
|
659 |
-
#~ msgstr "Apenas Publicação"
|
660 |
-
|
661 |
-
#~ msgid "Page Only"
|
662 |
-
#~ msgstr "Apenas Página"
|
663 |
-
|
664 |
-
#~ msgid "Custom Post Type"
|
665 |
-
#~ msgstr "Tipo de Publicação Personalizada"
|
666 |
-
|
667 |
-
#~ msgid "Post and Page"
|
668 |
-
#~ msgstr "Publicação e Página"
|
669 |
-
|
670 |
-
#~ msgid "Select which custom post type"
|
671 |
-
#~ msgstr "Selecione o tipo de publicação personalizada"
|
672 |
-
|
673 |
-
#~ msgid ""
|
674 |
-
#~ " We just fixed the interrupted posting issue and scheduling issue, if you "
|
675 |
-
#~ "don't see any tweets you need to re-authentificate your twitter accounts. "
|
676 |
-
#~ "| <a href=\""
|
677 |
-
#~ msgstr ""
|
678 |
-
#~ " Nós corrigimos o problema de interrupção da publicação e o problema de "
|
679 |
-
#~ "agendamento; se você não vir nenhum tweet, precisará autentificar "
|
680 |
-
#~ "novamente suas contas do Twitter. | <a href=\""
|
681 |
-
|
682 |
-
#~ msgid "ExcludePosts"
|
683 |
-
#~ msgstr "ExcluirPublicações"
|
684 |
-
|
685 |
-
#~ msgid "Revive Old Post PRO"
|
686 |
-
#~ msgstr "Reativar Publicação Antiga PRO"
|
1 |
+
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
+
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
+
"POT-Creation-Date: 2014-07-16 00:01+0100\n"
|
8 |
+
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
+
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
+
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
+
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
+
"X-Poedit-Basepath: ../\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
"X-Poedit-SearchPath-1: inc\n"
|
19 |
+
|
20 |
+
#: inc/class-remote-notification-client.php:260
|
21 |
+
msgid "Dismiss notification"
|
22 |
+
msgstr "Dispensar notificação"
|
23 |
+
|
24 |
+
#: inc/class-remote-notification-client.php:262
|
25 |
+
msgid "Dismiss"
|
26 |
+
msgstr "Dispensar"
|
27 |
+
|
28 |
+
#: inc/config.php:24
|
29 |
+
msgid "Post Content"
|
30 |
+
msgstr "Conteúdo da Publicação"
|
31 |
+
|
32 |
+
#: inc/config.php:28
|
33 |
+
msgid "What do you want to share?"
|
34 |
+
msgstr "O que você gostaria de compartilhar?"
|
35 |
+
|
36 |
+
#: inc/config.php:30
|
37 |
+
msgid "Title Only"
|
38 |
+
msgstr "Apenas Título"
|
39 |
+
|
40 |
+
#: inc/config.php:31
|
41 |
+
msgid "Body Only"
|
42 |
+
msgstr "Apenas Mensagem"
|
43 |
+
|
44 |
+
#: inc/config.php:32
|
45 |
+
msgid "Title & Body"
|
46 |
+
msgstr "Título e Mensagem"
|
47 |
+
|
48 |
+
#: inc/config.php:33
|
49 |
+
msgid "Custom Field"
|
50 |
+
msgstr "Campo Personalizado"
|
51 |
+
|
52 |
+
#: inc/config.php:39
|
53 |
+
msgid "Post Content Custom Field"
|
54 |
+
msgstr "Campo Personalizado do Conteúdo da Publicação"
|
55 |
+
|
56 |
+
#: inc/config.php:43
|
57 |
+
msgid "Which custom field do you want to fetch info from?"
|
58 |
+
msgstr "Você deseja extrair informações de qual campo personalizado?"
|
59 |
+
|
60 |
+
#: inc/config.php:49
|
61 |
+
msgid "Additional Text"
|
62 |
+
msgstr "Texto Adicional"
|
63 |
+
|
64 |
+
#: inc/config.php:53
|
65 |
+
msgid "Text added to your auto posts"
|
66 |
+
msgstr "Texto adicionado às suas publicações automáticas"
|
67 |
+
|
68 |
+
#: inc/config.php:59
|
69 |
+
msgid "Additional Text At"
|
70 |
+
msgstr "Texto Adicional em"
|
71 |
+
|
72 |
+
#: inc/config.php:63
|
73 |
+
msgid "Where do you want the text to be added?"
|
74 |
+
msgstr "Onde você deseja que o texto seja adicionado?"
|
75 |
+
|
76 |
+
#: inc/config.php:65
|
77 |
+
msgid "Beginning of Post"
|
78 |
+
msgstr "Início da Publicação"
|
79 |
+
|
80 |
+
#: inc/config.php:66
|
81 |
+
msgid "End of Post"
|
82 |
+
msgstr "Fim da Publicação"
|
83 |
+
|
84 |
+
#: inc/config.php:72
|
85 |
+
msgid "Include Link"
|
86 |
+
msgstr "Incluir Link"
|
87 |
+
|
88 |
+
#: inc/config.php:76
|
89 |
+
msgid "Include a link to your post?"
|
90 |
+
msgstr "Incluir um link para sua publicação?"
|
91 |
+
|
92 |
+
#: inc/config.php:78
|
93 |
+
msgid "Yes"
|
94 |
+
msgstr "Sim"
|
95 |
+
|
96 |
+
#: inc/config.php:79
|
97 |
+
msgid "No"
|
98 |
+
msgstr "Não"
|
99 |
+
|
100 |
+
#: inc/config.php:85
|
101 |
+
msgid "Fetch URL From Custom Field"
|
102 |
+
msgstr "Extrair URL de Campo Personalizado"
|
103 |
+
|
104 |
+
#: inc/config.php:89
|
105 |
+
msgid "URL will be fetched from a custom field."
|
106 |
+
msgstr "A URL será extraída de um campo personalizado."
|
107 |
+
|
108 |
+
#: inc/config.php:95
|
109 |
+
msgid "URL Custom Field"
|
110 |
+
msgstr "Campo Personalizado da URL"
|
111 |
+
|
112 |
+
#: inc/config.php:99
|
113 |
+
msgid "URL will be fetched from the specified custom field."
|
114 |
+
msgstr "A URL será extraída do campo personalizado especificado."
|
115 |
+
|
116 |
+
#: inc/config.php:105
|
117 |
+
msgid "Use URL Shortner"
|
118 |
+
msgstr "Usar Encurtador de URL"
|
119 |
+
|
120 |
+
#: inc/config.php:117
|
121 |
+
msgid "URL Shortner Service"
|
122 |
+
msgstr "Serviço de Encurtador de URL"
|
123 |
+
|
124 |
+
#: inc/config.php:121
|
125 |
+
msgid "Shorten the link to your post."
|
126 |
+
msgstr "Encurte o link para sua publicação."
|
127 |
+
|
128 |
+
#: inc/config.php:123
|
129 |
+
msgid "wp short url"
|
130 |
+
msgstr "url curta wp"
|
131 |
+
|
132 |
+
#: inc/config.php:125
|
133 |
+
msgid "is.gd"
|
134 |
+
msgstr "is.gd"
|
135 |
+
|
136 |
+
#: inc/config.php:126
|
137 |
+
msgid "bit.ly"
|
138 |
+
msgstr "bit.ly"
|
139 |
+
|
140 |
+
#: inc/config.php:138
|
141 |
+
msgid "Bitly Key"
|
142 |
+
msgstr "Chave do Bitly"
|
143 |
+
|
144 |
+
#: inc/config.php:148
|
145 |
+
msgid "Bitly User"
|
146 |
+
msgstr "Usuário do Bitly"
|
147 |
+
|
148 |
+
#: inc/config.php:158
|
149 |
+
msgid "Hashtags"
|
150 |
+
msgstr "Hashtags"
|
151 |
+
|
152 |
+
#: inc/config.php:162
|
153 |
+
msgid "Include #hashtags in your auto posts?"
|
154 |
+
msgstr "Incluir #hashtags em suas publicações automáticas?"
|
155 |
+
|
156 |
+
#: inc/config.php:164
|
157 |
+
msgid "Don't add any hashtags"
|
158 |
+
msgstr "Não adicione nenhuma hashtag"
|
159 |
+
|
160 |
+
#: inc/config.php:165
|
161 |
+
msgid "Common hashtags for all shares"
|
162 |
+
msgstr "Hashtags comuns para todos os compartilhamentos"
|
163 |
+
|
164 |
+
#: inc/config.php:166
|
165 |
+
msgid "Create hashtags from Categories"
|
166 |
+
msgstr "Criar hashtags de Categorias"
|
167 |
+
|
168 |
+
#: inc/config.php:167
|
169 |
+
msgid "Create hashtags from Tags"
|
170 |
+
msgstr "Criar hashtags de Marcações"
|
171 |
+
|
172 |
+
#: inc/config.php:168
|
173 |
+
msgid "Create hashtags from Custom Fields"
|
174 |
+
msgstr "Criar hashtags de Campos Personalizados"
|
175 |
+
|
176 |
+
#: inc/config.php:174
|
177 |
+
msgid "Common Hashtags"
|
178 |
+
msgstr "Hashtags Comuns"
|
179 |
+
|
180 |
+
#: inc/config.php:178
|
181 |
+
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
+
msgstr ""
|
183 |
+
"Especifique quais hashtags você quer que sejam usadas. como #exemplo, "
|
184 |
+
"#exemplo2"
|
185 |
+
|
186 |
+
#: inc/config.php:184
|
187 |
+
msgid "Maximum Hashtags Length"
|
188 |
+
msgstr "Extensão Máxima das Hashtags"
|
189 |
+
|
190 |
+
#: inc/config.php:188
|
191 |
+
msgid "Set to 0 (characters) to include all."
|
192 |
+
msgstr "Definir para 0 (caracteres) para incluir todos."
|
193 |
+
|
194 |
+
#: inc/config.php:194
|
195 |
+
msgid "Hashtag Custom Field"
|
196 |
+
msgstr "Campo Personalizado de Hashtag"
|
197 |
+
|
198 |
+
#: inc/config.php:198
|
199 |
+
msgid "Fetch hashtags from specified custom field"
|
200 |
+
msgstr "Extraia hashtags do campo personalizado especificado"
|
201 |
+
|
202 |
+
#: inc/config.php:204
|
203 |
+
msgid "Minimum interval between shares"
|
204 |
+
msgstr "Intervalo mínimo entre compartilhamentos"
|
205 |
+
|
206 |
+
#: inc/config.php:208
|
207 |
+
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
+
msgstr ""
|
209 |
+
"Tempo mínimo entre compartilhamentos (Hora/Horas), 0,4 também pode ser usado."
|
210 |
+
|
211 |
+
#: inc/config.php:214
|
212 |
+
msgid "Minimum age of post to be eligible for sharing"
|
213 |
+
msgstr "Idade mínima da publicação para ser elegível para compartilhar"
|
214 |
+
|
215 |
+
#: inc/config.php:218 inc/config.php:228
|
216 |
+
msgid "Day/Days - 0 for Disabled"
|
217 |
+
msgstr "Dia/Dias - 0 para Desativada"
|
218 |
+
|
219 |
+
#: inc/config.php:224
|
220 |
+
msgid "Maximum age of post to be eligible for sharing"
|
221 |
+
msgstr "Idade máxima da publicação para ser elegível para compartilhar"
|
222 |
+
|
223 |
+
#: inc/config.php:234
|
224 |
+
msgid "Number of Posts to share"
|
225 |
+
msgstr "Número de Publicações a compartilhar"
|
226 |
+
|
227 |
+
#: inc/config.php:238
|
228 |
+
msgid "Number of posts to share each time"
|
229 |
+
msgstr "Número de publicações a compartilhar cada vez"
|
230 |
+
|
231 |
+
#: inc/config.php:246
|
232 |
+
msgid "Post with Image"
|
233 |
+
msgstr "Publicar com Imagem"
|
234 |
+
|
235 |
+
#: inc/config.php:250
|
236 |
+
msgid "Check if you want to add the post featured image to the share"
|
237 |
+
msgstr ""
|
238 |
+
"Marque se deseja adicionar ao compartilhamento a imagem em destaque na "
|
239 |
+
"publicação"
|
240 |
+
|
241 |
+
#: inc/config.php:256
|
242 |
+
msgid "Share old posts more than once"
|
243 |
+
msgstr "Compartilhar publicações antigas mais de uma vez"
|
244 |
+
|
245 |
+
#: inc/config.php:260
|
246 |
+
msgid ""
|
247 |
+
"By default once a post is shared it will not be shared again until you stop/"
|
248 |
+
"start the plugin"
|
249 |
+
msgstr ""
|
250 |
+
"Por padrão, quando uma publicação é compartilhada, ela não será "
|
251 |
+
"compartilhada novamente até você parar/iniciar o plugin"
|
252 |
+
|
253 |
+
#: inc/config.php:268
|
254 |
+
msgid "Post Type"
|
255 |
+
msgstr "Tipo de Publicação"
|
256 |
+
|
257 |
+
#: inc/config.php:272
|
258 |
+
msgid "What type of items do you want to share?"
|
259 |
+
msgstr "Que tipo de itens que você deseja compartilhar?"
|
260 |
+
|
261 |
+
#: inc/config.php:279
|
262 |
+
msgid "Google Analytics Campaign Tracking"
|
263 |
+
msgstr "Monitoramento de Campanha do Google Analytics"
|
264 |
+
|
265 |
+
#: inc/config.php:283
|
266 |
+
msgid ""
|
267 |
+
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
268 |
+
"Old Post generated."
|
269 |
+
msgstr ""
|
270 |
+
"Ao ativar o Monitoramento de Campanha, você pode ver quanto tráfego foi "
|
271 |
+
"gerado pelo Reativar Publicação Antiga."
|
272 |
+
|
273 |
+
#: inc/config.php:289
|
274 |
+
msgid "Exclude Specific Categories"
|
275 |
+
msgstr "Excluir Categorias Específicas"
|
276 |
+
|
277 |
+
#: inc/config.php:293
|
278 |
+
msgid ""
|
279 |
+
"Select which categories do you want to exclude to share from? Blank - None"
|
280 |
+
msgstr ""
|
281 |
+
"Selecione as categorias que você deseja excluir do compartilhamento. Em "
|
282 |
+
"branco - Nenhuma"
|
283 |
+
|
284 |
+
#: inc/core.php:81
|
285 |
+
msgid "Tweet Old Post is already active!"
|
286 |
+
msgstr "Tweetar Publicação Antiga já está ativo!"
|
287 |
+
|
288 |
+
#: inc/core.php:101
|
289 |
+
#, fuzzy
|
290 |
+
msgid "ROP is already inactive!"
|
291 |
+
msgstr "Tweetar Publicação Antiga já está inativo!"
|
292 |
+
|
293 |
+
#: inc/core.php:811
|
294 |
+
msgid "Custom Tweet User Interval"
|
295 |
+
msgstr "Intervalo do Usuário do Tweet Personalizado"
|
296 |
+
|
297 |
+
#: inc/core.php:1127
|
298 |
+
msgid "Could not connect to Twitter!"
|
299 |
+
msgstr "Não foi possível conectar ao Twitter!"
|
300 |
+
|
301 |
+
#: inc/core.php:1385
|
302 |
+
msgid "This is only available in the"
|
303 |
+
msgstr "Isso só está disponível na"
|
304 |
+
|
305 |
+
#: inc/core.php:1385
|
306 |
+
msgid "PRO version"
|
307 |
+
msgstr "versão PRO"
|
308 |
+
|
309 |
+
#: inc/core.php:1644
|
310 |
+
msgid "Exclude Posts"
|
311 |
+
msgstr "Excluir Publicações"
|
312 |
+
|
313 |
+
#: inc/exclude-posts.php:24
|
314 |
+
msgid "Tweet Old Post Options Updated."
|
315 |
+
msgstr "Opções de Tweetar Publicação Antiga Atualizadas."
|
316 |
+
|
317 |
+
#: inc/exclude-posts.php:63
|
318 |
+
msgid "No post selected please select a post to be excluded."
|
319 |
+
msgstr ""
|
320 |
+
"Nenhuma publicação selecionada; selecione uma publicação a ser excluída."
|
321 |
+
|
322 |
+
#: inc/exclude-posts.php:70
|
323 |
+
msgid "Posts excluded successfully."
|
324 |
+
msgstr "Publicações excluídas com sucesso."
|
325 |
+
|
326 |
+
#: inc/exclude-posts.php:155
|
327 |
+
msgid "Selected Categories"
|
328 |
+
msgstr "Categorias Selecionadas"
|
329 |
+
|
330 |
+
#: inc/exclude-posts.php:157
|
331 |
+
msgid "Filter"
|
332 |
+
msgstr "Filtrar"
|
333 |
+
|
334 |
+
#: inc/exclude-posts.php:168
|
335 |
+
msgid "«"
|
336 |
+
msgstr "«"
|
337 |
+
|
338 |
+
#: inc/exclude-posts.php:169
|
339 |
+
msgid "»"
|
340 |
+
msgstr "»"
|
341 |
+
|
342 |
+
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
343 |
+
#, php-format
|
344 |
+
msgid "Displaying %s–%s of %s"
|
345 |
+
msgstr "Exibindo %s–%s de %s"
|
346 |
+
|
347 |
+
#: inc/exclude-posts.php:356
|
348 |
+
msgid "No Posts found. Review your search or filter criteria/term."
|
349 |
+
msgstr ""
|
350 |
+
"Nenhuma publicação encontrada. Revise seus critérios/termos de pesquisa ou "
|
351 |
+
"de filtro."
|
352 |
+
|
353 |
+
#: inc/exclude-posts.php:363
|
354 |
+
msgid ""
|
355 |
+
"You do not have enough permission to set the option. Please contact your "
|
356 |
+
"admin."
|
357 |
+
msgstr ""
|
358 |
+
"Você não tem permissão suficiente para configurar a opção. Entre em contato "
|
359 |
+
"com seu administrador."
|
360 |
+
|
361 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
362 |
+
msgid "After 6 months of hard work, we have just released"
|
363 |
+
msgstr "Depois de 6 meses de trabalho duro, acabamos de lançar"
|
364 |
+
|
365 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
366 |
+
msgid "the island of WordPress themes."
|
367 |
+
msgstr "nossos temas de WordPress."
|
368 |
+
|
369 |
+
#: inc/view-exclude.php:5 inc/view.php:4
|
370 |
+
msgid "Show Me"
|
371 |
+
msgstr "Mostrar"
|
372 |
+
|
373 |
+
#: inc/view-exclude.php:15 inc/view.php:14
|
374 |
+
msgid "by"
|
375 |
+
msgstr "por"
|
376 |
+
|
377 |
+
#: inc/view-exclude.php:18 inc/view.php:17
|
378 |
+
msgid "Show your love"
|
379 |
+
msgstr "Você gostou?"
|
380 |
+
|
381 |
+
#: inc/view-exclude.php:19 inc/view.php:18
|
382 |
+
msgid "Leave A Review"
|
383 |
+
msgstr "Faça uma Avaliação"
|
384 |
+
|
385 |
+
#: inc/view-exclude.php:30
|
386 |
+
msgid "Revive Old Post is set to share on a"
|
387 |
+
msgstr "Reativar Publicação Antiga está definido para compartilhar em um"
|
388 |
+
|
389 |
+
#: inc/view-exclude.php:32 inc/view.php:31
|
390 |
+
msgid "hours interval, "
|
391 |
+
msgstr "intervalo de horas, "
|
392 |
+
|
393 |
+
#: inc/view-exclude.php:33 inc/view.php:32
|
394 |
+
msgid "and the next share will take place in: "
|
395 |
+
msgstr "e o próximo compartilhamento será feito em: "
|
396 |
+
|
397 |
+
#: inc/view-exclude.php:38
|
398 |
+
msgid "Revive Old Post is not set to share!"
|
399 |
+
msgstr "Reativar Publicação Antiga não está definido para compartilhar!"
|
400 |
+
|
401 |
+
#: inc/view-exclude.php:42
|
402 |
+
#, fuzzy
|
403 |
+
msgid ""
|
404 |
+
"You have selected following POST IDs to be excluded from tweeting: <span "
|
405 |
+
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
406 |
+
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
407 |
+
"changes will not be saved. "
|
408 |
+
msgstr ""
|
409 |
+
"Você selecionou os seguintes IDs de PUBLICAÇÃO a serem excluídos dos tweets: "
|
410 |
+
"<span id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
411 |
+
"Observação: Se você fez alguma alteração e não pressionou o botão \"Excluir "
|
412 |
+
"Selecionados\", as alterações não serão salvas. "
|
413 |
+
|
414 |
+
#: inc/view.php:29
|
415 |
+
msgid "Revive Old Post is set to post on a"
|
416 |
+
msgstr "Reativar Publicação Antiga está definido para publicar em um"
|
417 |
+
|
418 |
+
#: inc/view.php:37
|
419 |
+
msgid "Revive Old Post is not set to post!"
|
420 |
+
msgstr "Reativar Publicação Antiga não está definido para publicar!"
|
421 |
+
|
422 |
+
#: inc/view.php:42
|
423 |
+
msgid ""
|
424 |
+
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
425 |
+
"can see the error message if is any."
|
426 |
+
msgstr ""
|
427 |
+
"Depois de clicar em Iniciar Compartilhamento, uma publicação será enviada em "
|
428 |
+
"15 segundos; você também pode ver aqui a mensagem de erro, se for o caso."
|
429 |
+
|
430 |
+
#: inc/view.php:52
|
431 |
+
msgid "Twitter Login"
|
432 |
+
msgstr "Login do Twitter"
|
433 |
+
|
434 |
+
#: inc/view.php:53
|
435 |
+
msgid "Login using your Twitter account."
|
436 |
+
msgstr "Fazer login usando sua conta do Twitter."
|
437 |
+
|
438 |
+
#: inc/view.php:77 inc/view.php:111
|
439 |
+
msgid "Add Account"
|
440 |
+
msgstr "Adicionar Conta"
|
441 |
+
|
442 |
+
#: inc/view.php:84
|
443 |
+
msgid "Facebook Login"
|
444 |
+
msgstr "Login do Facebook"
|
445 |
+
|
446 |
+
#: inc/view.php:85
|
447 |
+
msgid "Login using your Facebook account."
|
448 |
+
msgstr "Fazer login usando sua conta do Facebook."
|
449 |
+
|
450 |
+
#: inc/view.php:109
|
451 |
+
msgid "Authorize"
|
452 |
+
msgstr "Autorizar"
|
453 |
+
|
454 |
+
#: inc/view.php:118
|
455 |
+
msgid "Linkedin Login"
|
456 |
+
msgstr "Login do Linkedin"
|
457 |
+
|
458 |
+
#: inc/view.php:119
|
459 |
+
msgid "Login using your Linkedin account."
|
460 |
+
msgstr "Fazer login usando sua conta do Linkedin."
|
461 |
+
|
462 |
+
#: inc/view.php:141
|
463 |
+
msgid "Add account"
|
464 |
+
msgstr "Adicionar conta"
|
465 |
+
|
466 |
+
#: inc/view.php:154
|
467 |
+
msgid "Select All"
|
468 |
+
msgstr "Selecionar Tudo"
|
469 |
+
|
470 |
+
#: inc/view.php:165
|
471 |
+
msgid "Reset"
|
472 |
+
msgstr "Redefinir"
|
473 |
+
|
474 |
+
#: inc/view.php:166
|
475 |
+
msgid "Save"
|
476 |
+
msgstr "Salvar"
|
477 |
+
|
478 |
+
#: inc/view.php:167
|
479 |
+
msgid "Start Sharing"
|
480 |
+
msgstr "Iniciar Compartilhamento"
|
481 |
+
|
482 |
+
#: inc/view.php:168
|
483 |
+
msgid "Stop Sharing"
|
484 |
+
msgstr "Parar Compartilhamento"
|
485 |
+
|
486 |
+
#: inc/view.php:169
|
487 |
+
msgid "See Sample Post"
|
488 |
+
msgstr "Ver Amostra de Publicação"
|
489 |
+
|
490 |
+
#: inc/view.php:171
|
491 |
+
msgid ""
|
492 |
+
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
493 |
+
msgstr ""
|
494 |
+
"Não somos de nenhuma forma afiliados ou parceiros do Twitter/Facebook/"
|
495 |
+
"Linkedin."
|
496 |
+
|
497 |
+
#: inc/view.php:176
|
498 |
+
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
499 |
+
msgstr ""
|
500 |
+
"Faça Upgrade de Tweetar Publicação Antiga por apenas $9,99 - Faça Upgrade "
|
501 |
+
"para Pro Agora!"
|
502 |
+
|
503 |
+
#: inc/view.php:177
|
504 |
+
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
505 |
+
msgstr "ThemeIsle - Temas de WordPress Extremamente Simples"
|
506 |
+
|
507 |
+
#: inc/view.php:178
|
508 |
+
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
509 |
+
msgstr "ThemeIsle - Promova Nossos Temas e Plugins e Ganhe 55% de Comissão"
|
510 |
+
|
511 |
+
#: inc/view.php:185
|
512 |
+
#, fuzzy
|
513 |
+
msgid "Sample Post Preview"
|
514 |
+
msgstr "Ver Amostra de Publicação"
|
515 |
+
|
516 |
+
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
517 |
+
msgid "Close preview"
|
518 |
+
msgstr ""
|
519 |
+
|
520 |
+
#: inc/view.php:188
|
521 |
+
msgid "Share now"
|
522 |
+
msgstr ""
|
523 |
+
|
524 |
+
#: inc/view.php:194
|
525 |
+
msgid "Choose a Profile or Page"
|
526 |
+
msgstr ""
|
527 |
+
|
528 |
+
#: inc/view.php:202
|
529 |
+
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
530 |
+
msgstr ""
|
531 |
+
|
532 |
+
#: inc/view.php:206 inc/view.php:252
|
533 |
+
msgid "Go on"
|
534 |
+
msgstr ""
|
535 |
+
|
536 |
+
#: inc/view.php:207
|
537 |
+
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
538 |
+
msgstr ""
|
539 |
+
|
540 |
+
#: inc/view.php:208
|
541 |
+
msgid ""
|
542 |
+
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
543 |
+
"click on Create App"
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: inc/view.php:209
|
547 |
+
msgid ""
|
548 |
+
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
549 |
+
"<strong>App Secret</strong> in the fields on the right"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: inc/view.php:210
|
553 |
+
msgid ""
|
554 |
+
"Go on Settings tab from the left sidebar menu add the contact email and "
|
555 |
+
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: inc/view.php:211
|
559 |
+
msgid ""
|
560 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
561 |
+
"Domains and Site URL fields and <strong>Save</strong>"
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: inc/view.php:212
|
565 |
+
msgid ""
|
566 |
+
"Go on Status & Review tab and set your app live from the top-right switch."
|
567 |
+
msgstr ""
|
568 |
+
|
569 |
+
#: inc/view.php:213 inc/view.php:259
|
570 |
+
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
571 |
+
msgstr ""
|
572 |
+
|
573 |
+
#: inc/view.php:219
|
574 |
+
#, fuzzy
|
575 |
+
msgid "Facebook App ID"
|
576 |
+
msgstr "Login do Facebook"
|
577 |
+
|
578 |
+
#: inc/view.php:220
|
579 |
+
msgid "ID from your app created on facebook website."
|
580 |
+
msgstr ""
|
581 |
+
|
582 |
+
#: inc/view.php:231
|
583 |
+
msgid "Facebook App Secret"
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: inc/view.php:232
|
587 |
+
msgid "Secret from your app created on facebook website. "
|
588 |
+
msgstr ""
|
589 |
+
|
590 |
+
#: inc/view.php:240 inc/view.php:287
|
591 |
+
#, fuzzy
|
592 |
+
msgid "Authorize App"
|
593 |
+
msgstr "Autorizar"
|
594 |
+
|
595 |
+
#: inc/view.php:248
|
596 |
+
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
597 |
+
msgstr ""
|
598 |
+
|
599 |
+
#: inc/view.php:253
|
600 |
+
msgid ""
|
601 |
+
"Enter the required details and pay special attention to the further fields :"
|
602 |
+
msgstr ""
|
603 |
+
|
604 |
+
#: inc/view.php:254
|
605 |
+
msgid "Make sure you set Live Status to LIVE"
|
606 |
+
msgstr ""
|
607 |
+
|
608 |
+
#: inc/view.php:255
|
609 |
+
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
610 |
+
msgstr ""
|
611 |
+
|
612 |
+
#: inc/view.php:256
|
613 |
+
msgid ""
|
614 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
615 |
+
"2.0 Redirect URLs"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: inc/view.php:257
|
619 |
+
msgid ""
|
620 |
+
"Once all required fields are filled click on Add Application button, get the "
|
621 |
+
"API Key and Secret Key and paste them in the fields on the right"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: inc/view.php:265
|
625 |
+
#, fuzzy
|
626 |
+
msgid "Linkedin API Key"
|
627 |
+
msgstr "Login do Linkedin"
|
628 |
+
|
629 |
+
#: inc/view.php:266
|
630 |
+
msgid "API Key that you get once you create an app"
|
631 |
+
msgstr ""
|
632 |
+
|
633 |
+
#: inc/view.php:277
|
634 |
+
msgid "Linkedin Secret Key"
|
635 |
+
msgstr ""
|
636 |
+
|
637 |
+
#: inc/view.php:278
|
638 |
+
msgid "Secret Key that you get once you create an app"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#. Description of the plugin/theme
|
642 |
+
msgid ""
|
643 |
+
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
644 |
+
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
645 |
+
"also helps you to promote your content. You can set time and no of posts to "
|
646 |
+
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
647 |
+
"href=\"https://themeisle.com/contact/?"
|
648 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
649 |
+
msgstr ""
|
650 |
+
"Plugin do Wordpress que ajuda você a manter suas publicações antigas ativas "
|
651 |
+
"por compartilhá-las e gerar mais tráfego para elas usando o Twitter/Facebook "
|
652 |
+
"ou LinkedIn. Ele também ajuda a promover seu conteúdo. Você pode definir a "
|
653 |
+
"hora e o número de publicações a compartilhar para gerar mais tráfego. Par "
|
654 |
+
"dúvidas, comentários ou solicitações de recursos, <a href=\"https://themeisle."
|
655 |
+
"com/contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top"
|
656 |
+
"\">contate-nos</a>!"
|
657 |
+
|
658 |
+
#~ msgid "Post Only"
|
659 |
+
#~ msgstr "Apenas Publicação"
|
660 |
+
|
661 |
+
#~ msgid "Page Only"
|
662 |
+
#~ msgstr "Apenas Página"
|
663 |
+
|
664 |
+
#~ msgid "Custom Post Type"
|
665 |
+
#~ msgstr "Tipo de Publicação Personalizada"
|
666 |
+
|
667 |
+
#~ msgid "Post and Page"
|
668 |
+
#~ msgstr "Publicação e Página"
|
669 |
+
|
670 |
+
#~ msgid "Select which custom post type"
|
671 |
+
#~ msgstr "Selecione o tipo de publicação personalizada"
|
672 |
+
|
673 |
+
#~ msgid ""
|
674 |
+
#~ " We just fixed the interrupted posting issue and scheduling issue, if you "
|
675 |
+
#~ "don't see any tweets you need to re-authentificate your twitter accounts. "
|
676 |
+
#~ "| <a href=\""
|
677 |
+
#~ msgstr ""
|
678 |
+
#~ " Nós corrigimos o problema de interrupção da publicação e o problema de "
|
679 |
+
#~ "agendamento; se você não vir nenhum tweet, precisará autentificar "
|
680 |
+
#~ "novamente suas contas do Twitter. | <a href=\""
|
681 |
+
|
682 |
+
#~ msgid "ExcludePosts"
|
683 |
+
#~ msgstr "ExcluirPublicações"
|
684 |
+
|
685 |
+
#~ msgid "Revive Old Post PRO"
|
686 |
+
#~ msgstr "Reativar Publicação Antiga PRO"
|
languages/tweet-old-post-sk_SK.po
CHANGED
@@ -1,658 +1,658 @@
|
|
1 |
-
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
-
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
-
"POT-Creation-Date: 2014-07-15 23:58+0100\n"
|
8 |
-
"PO-Revision-Date: 2014-08-05 13:28+0100\n"
|
9 |
-
"Last-Translator: Patrik Žec (PATWIST) <patrik.zec@gmail.com>\n"
|
10 |
-
"Language-Team: Patrik Žec (PATWIST), www.patwist.com <patrik.zec@gmail.com>\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: Poedit 1.6.4\n"
|
15 |
-
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
-
"X-Poedit-Basepath: ../\n"
|
17 |
-
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
18 |
-
"Language: sk_SK\n"
|
19 |
-
"X-Poedit-SearchPath-0: .\n"
|
20 |
-
"X-Poedit-SearchPath-1: inc\n"
|
21 |
-
|
22 |
-
#: inc/class-remote-notification-client.php:260
|
23 |
-
msgid "Dismiss notification"
|
24 |
-
msgstr "Zamietnuť oznámenia"
|
25 |
-
|
26 |
-
#: inc/class-remote-notification-client.php:262
|
27 |
-
msgid "Dismiss"
|
28 |
-
msgstr "Zamietnuť"
|
29 |
-
|
30 |
-
#: inc/config.php:24
|
31 |
-
msgid "Post Content"
|
32 |
-
msgstr "Obsah príspevku"
|
33 |
-
|
34 |
-
#: inc/config.php:28
|
35 |
-
msgid "What do you want to share?"
|
36 |
-
msgstr "Čo chcete zdieľať?"
|
37 |
-
|
38 |
-
#: inc/config.php:30
|
39 |
-
msgid "Title Only"
|
40 |
-
msgstr "Len názov"
|
41 |
-
|
42 |
-
#: inc/config.php:31
|
43 |
-
msgid "Body Only"
|
44 |
-
msgstr "Len obsah"
|
45 |
-
|
46 |
-
#: inc/config.php:32
|
47 |
-
msgid "Title & Body"
|
48 |
-
msgstr "Názov a obsah"
|
49 |
-
|
50 |
-
#: inc/config.php:33
|
51 |
-
msgid "Custom Field"
|
52 |
-
msgstr "Vlastne pole"
|
53 |
-
|
54 |
-
#: inc/config.php:39
|
55 |
-
msgid "Post Content Custom Field"
|
56 |
-
msgstr "Vlastné polia obsahu príspevku"
|
57 |
-
|
58 |
-
#: inc/config.php:43
|
59 |
-
msgid "Which custom field do you want to fetch info from?"
|
60 |
-
msgstr "Ktoré vlastné pole chcete vložiť do príspevku?"
|
61 |
-
|
62 |
-
#: inc/config.php:49
|
63 |
-
msgid "Additional Text"
|
64 |
-
msgstr "Ďalší text"
|
65 |
-
|
66 |
-
#: inc/config.php:53
|
67 |
-
msgid "Text added to your auto posts"
|
68 |
-
msgstr "Text pridaný do príspevkov"
|
69 |
-
|
70 |
-
#: inc/config.php:59
|
71 |
-
msgid "Additional Text At"
|
72 |
-
msgstr "Ďalší text"
|
73 |
-
|
74 |
-
#: inc/config.php:63
|
75 |
-
msgid "Where do you want the text to be added?"
|
76 |
-
msgstr "Kam chcete text pridať?"
|
77 |
-
|
78 |
-
#: inc/config.php:65
|
79 |
-
msgid "Beginning of Post"
|
80 |
-
msgstr "Začiatok príspevku"
|
81 |
-
|
82 |
-
#: inc/config.php:66
|
83 |
-
msgid "End of Post"
|
84 |
-
msgstr "Koniec príspevku"
|
85 |
-
|
86 |
-
#: inc/config.php:72
|
87 |
-
msgid "Include Link"
|
88 |
-
msgstr "Vložiť odkaz"
|
89 |
-
|
90 |
-
#: inc/config.php:76
|
91 |
-
msgid "Include a link to your post?"
|
92 |
-
msgstr "Vložiť odkaz do príspevku?"
|
93 |
-
|
94 |
-
#: inc/config.php:78
|
95 |
-
msgid "Yes"
|
96 |
-
msgstr "Áno"
|
97 |
-
|
98 |
-
#: inc/config.php:79
|
99 |
-
msgid "No"
|
100 |
-
msgstr "Nie"
|
101 |
-
|
102 |
-
#: inc/config.php:85
|
103 |
-
msgid "Fetch URL From Custom Field"
|
104 |
-
msgstr "Načítať URL z vlastného poľa"
|
105 |
-
|
106 |
-
#: inc/config.php:89
|
107 |
-
msgid "URL will be fetched from a custom field."
|
108 |
-
msgstr "URL bude načítaná z vlastného poľa"
|
109 |
-
|
110 |
-
#: inc/config.php:95
|
111 |
-
msgid "URL Custom Field"
|
112 |
-
msgstr "URL vlastného poľa"
|
113 |
-
|
114 |
-
#: inc/config.php:99
|
115 |
-
msgid "URL will be fetched from the specified custom field."
|
116 |
-
msgstr "URL bude načítaná z vlastného poľa"
|
117 |
-
|
118 |
-
#: inc/config.php:105
|
119 |
-
msgid "Use URL Shortner"
|
120 |
-
msgstr "Použiť skracovač odkazov"
|
121 |
-
|
122 |
-
#: inc/config.php:117
|
123 |
-
msgid "URL Shortner Service"
|
124 |
-
msgstr "Služba na skrátenie odkazov"
|
125 |
-
|
126 |
-
#: inc/config.php:121
|
127 |
-
msgid "Shorten the link to your post."
|
128 |
-
msgstr "Skrátenie odkazu v príspevku."
|
129 |
-
|
130 |
-
#: inc/config.php:123
|
131 |
-
msgid "wp short url"
|
132 |
-
msgstr "wp short url"
|
133 |
-
|
134 |
-
#: inc/config.php:125
|
135 |
-
msgid "is.gd"
|
136 |
-
msgstr "is.gd"
|
137 |
-
|
138 |
-
#: inc/config.php:126
|
139 |
-
msgid "bit.ly"
|
140 |
-
msgstr "bit.ly"
|
141 |
-
|
142 |
-
#: inc/config.php:138
|
143 |
-
msgid "Bitly Key"
|
144 |
-
msgstr "Bitly kľúč"
|
145 |
-
|
146 |
-
#: inc/config.php:148
|
147 |
-
msgid "Bitly User"
|
148 |
-
msgstr "Bitly používateľ"
|
149 |
-
|
150 |
-
#: inc/config.php:158
|
151 |
-
msgid "Hashtags"
|
152 |
-
msgstr "Hashtagy"
|
153 |
-
|
154 |
-
#: inc/config.php:162
|
155 |
-
msgid "Include #hashtags in your auto posts?"
|
156 |
-
msgstr "Zahrnúť #hashtagy do príspevkov?"
|
157 |
-
|
158 |
-
#: inc/config.php:164
|
159 |
-
msgid "Don't add any hashtags"
|
160 |
-
msgstr "Nepridávať hashtagy"
|
161 |
-
|
162 |
-
#: inc/config.php:165
|
163 |
-
msgid "Common hashtags for all shares"
|
164 |
-
msgstr "Spoločné hashtagy pre všetky zdieľania"
|
165 |
-
|
166 |
-
#: inc/config.php:166
|
167 |
-
msgid "Create hashtags from Categories"
|
168 |
-
msgstr "Použiť hashtagy z názvov kategórií"
|
169 |
-
|
170 |
-
#: inc/config.php:167
|
171 |
-
msgid "Create hashtags from Tags"
|
172 |
-
msgstr "Použiť hashtagy zo štítkov"
|
173 |
-
|
174 |
-
#: inc/config.php:168
|
175 |
-
msgid "Create hashtags from Custom Fields"
|
176 |
-
msgstr "Použiť hashtagy z vlastných polí"
|
177 |
-
|
178 |
-
#: inc/config.php:174
|
179 |
-
msgid "Common Hashtags"
|
180 |
-
msgstr "Spoločné hashtagy"
|
181 |
-
|
182 |
-
#: inc/config.php:178
|
183 |
-
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
184 |
-
msgstr "Vyberte ktoré hashtagy chcete použiť. napríklad. #priklad1, #priklad2"
|
185 |
-
|
186 |
-
#: inc/config.php:184
|
187 |
-
msgid "Maximum Hashtags Length"
|
188 |
-
msgstr "Maximálna dĺžka hashtagu"
|
189 |
-
|
190 |
-
#: inc/config.php:188
|
191 |
-
msgid "Set to 0 (characters) to include all."
|
192 |
-
msgstr "Zadajte 0 znakov pre vloženie akéhokoľvek dlhého hashtagu."
|
193 |
-
|
194 |
-
#: inc/config.php:194
|
195 |
-
msgid "Hashtag Custom Field"
|
196 |
-
msgstr "Vlastné polia hashtagy"
|
197 |
-
|
198 |
-
#: inc/config.php:198
|
199 |
-
msgid "Fetch hashtags from specified custom field"
|
200 |
-
msgstr "Načítať hashtagy z vlastného poľa"
|
201 |
-
|
202 |
-
#: inc/config.php:204
|
203 |
-
msgid "Minimum interval between shares"
|
204 |
-
msgstr "Minimálny interval medzi zdieľaniami"
|
205 |
-
|
206 |
-
#: inc/config.php:208
|
207 |
-
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
-
msgstr ""
|
209 |
-
"Minimálny časový interval medzi zdieľaniami (Hodina/Hodiny), 0.3 pre pol "
|
210 |
-
"hodiny"
|
211 |
-
|
212 |
-
#: inc/config.php:214
|
213 |
-
msgid "Minimum age of post to be eligible for sharing"
|
214 |
-
msgstr "Minimálny vek príspevku aby mohol byť zdieľaný"
|
215 |
-
|
216 |
-
#: inc/config.php:218 inc/config.php:228
|
217 |
-
msgid "Day/Days - 0 for Disabled"
|
218 |
-
msgstr "Deň/Dni - 0 pre zrušenie"
|
219 |
-
|
220 |
-
#: inc/config.php:224
|
221 |
-
msgid "Maximum age of post to be eligible for sharing"
|
222 |
-
msgstr "Maximálny vek príspevku aby mohol byť zdieľaný"
|
223 |
-
|
224 |
-
#: inc/config.php:234
|
225 |
-
msgid "Number of Posts to share"
|
226 |
-
msgstr "Počet príspevkov pre zdieľanie"
|
227 |
-
|
228 |
-
#: inc/config.php:238
|
229 |
-
msgid "Number of posts to share each time"
|
230 |
-
msgstr "Počet príspevkov pre zdieľanie v určitom čase"
|
231 |
-
|
232 |
-
#: inc/config.php:246
|
233 |
-
msgid "Post with Image"
|
234 |
-
msgstr "Príspevkov z obrázkom"
|
235 |
-
|
236 |
-
#: inc/config.php:250
|
237 |
-
msgid "Check if you want to add the post featured image to the share"
|
238 |
-
msgstr "Zariačknite ak chcete pridať obrázok na zdieľanie"
|
239 |
-
|
240 |
-
#: inc/config.php:256
|
241 |
-
msgid "Share old posts more than once"
|
242 |
-
msgstr "Zdieľať staré príspevky viackrát"
|
243 |
-
|
244 |
-
#: inc/config.php:260
|
245 |
-
msgid ""
|
246 |
-
"By default once a post is shared it will not be shared again until you stop/"
|
247 |
-
"start the plugin"
|
248 |
-
msgstr ""
|
249 |
-
"Predvolené nastavenie je že ak sa raz príspevok zdieľa nebude zdieľaný "
|
250 |
-
"viackrát pokiaľ nedeaktivujete a aktivujete plugin."
|
251 |
-
|
252 |
-
#: inc/config.php:268
|
253 |
-
msgid "Post Type"
|
254 |
-
msgstr "Typ príspevku"
|
255 |
-
|
256 |
-
#: inc/config.php:272
|
257 |
-
msgid "What type of items do you want to share?"
|
258 |
-
msgstr "Aký typ položiek chcete zdieľať?"
|
259 |
-
|
260 |
-
#: inc/config.php:279
|
261 |
-
msgid "Google Analytics Campaign Tracking"
|
262 |
-
msgstr "Google Analytics sledovacia kampaň"
|
263 |
-
|
264 |
-
#: inc/config.php:283
|
265 |
-
msgid ""
|
266 |
-
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
267 |
-
"Old Post generated."
|
268 |
-
msgstr ""
|
269 |
-
"Povolením sledovania budete môcť vidieť koľko návštevnosti máte vďaka Revive "
|
270 |
-
"Old Post."
|
271 |
-
|
272 |
-
#: inc/config.php:289
|
273 |
-
msgid "Exclude Specific Categories"
|
274 |
-
msgstr "Vylúčenie špecifických kategórií"
|
275 |
-
|
276 |
-
#: inc/config.php:293
|
277 |
-
msgid ""
|
278 |
-
"Select which categories do you want to exclude to share from? Blank - None"
|
279 |
-
msgstr "Vyberte, ktoré kategórie chcete vylúčiť zo zdieľania, prázdne - žiadne"
|
280 |
-
|
281 |
-
#: inc/core.php:81
|
282 |
-
msgid "Tweet Old Post is already active!"
|
283 |
-
msgstr "Tweet Old Post už je aktívny!"
|
284 |
-
|
285 |
-
#: inc/core.php:101
|
286 |
-
msgid "ROP is already inactive!"
|
287 |
-
msgstr "ROP už je neaktívne!"
|
288 |
-
|
289 |
-
#: inc/core.php:811
|
290 |
-
msgid "Custom Tweet User Interval"
|
291 |
-
msgstr "Vlastný interval tweetovania"
|
292 |
-
|
293 |
-
#: inc/core.php:1127
|
294 |
-
msgid "Could not connect to Twitter!"
|
295 |
-
msgstr "Nedá sa pripojiť na Twitter!"
|
296 |
-
|
297 |
-
#: inc/core.php:1385
|
298 |
-
msgid "This is only available in the"
|
299 |
-
msgstr "K dispozícií len v"
|
300 |
-
|
301 |
-
#: inc/core.php:1385
|
302 |
-
msgid "PRO version"
|
303 |
-
msgstr "PRO verzia"
|
304 |
-
|
305 |
-
#: inc/core.php:1644
|
306 |
-
msgid "Exclude Posts"
|
307 |
-
msgstr "Vylúčiť príspevky"
|
308 |
-
|
309 |
-
#: inc/exclude-posts.php:24
|
310 |
-
msgid "Tweet Old Post Options Updated."
|
311 |
-
msgstr "Nastavenia Tweet Ols Post aktualizované."
|
312 |
-
|
313 |
-
#: inc/exclude-posts.php:63
|
314 |
-
msgid "No post selected please select a post to be excluded."
|
315 |
-
msgstr ""
|
316 |
-
"Nie sú vybrané žiadne príspevky, prosím vyberte príspevky, ktoré majú byť "
|
317 |
-
"vylúčené."
|
318 |
-
|
319 |
-
#: inc/exclude-posts.php:70
|
320 |
-
msgid "Posts excluded successfully."
|
321 |
-
msgstr "Úspešné vylúčenie príspevkov."
|
322 |
-
|
323 |
-
#: inc/exclude-posts.php:155
|
324 |
-
msgid "Selected Categories"
|
325 |
-
msgstr "Vybrané kategórie"
|
326 |
-
|
327 |
-
#: inc/exclude-posts.php:157
|
328 |
-
msgid "Filter"
|
329 |
-
msgstr "Filter"
|
330 |
-
|
331 |
-
#: inc/exclude-posts.php:168
|
332 |
-
msgid "«"
|
333 |
-
msgstr "«"
|
334 |
-
|
335 |
-
#: inc/exclude-posts.php:169
|
336 |
-
msgid "»"
|
337 |
-
msgstr "»"
|
338 |
-
|
339 |
-
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
340 |
-
#, php-format
|
341 |
-
msgid "Displaying %s–%s of %s"
|
342 |
-
msgstr "Zobrazujem %s–%s z %s"
|
343 |
-
|
344 |
-
#: inc/exclude-posts.php:356
|
345 |
-
msgid "No Posts found. Review your search or filter criteria/term."
|
346 |
-
msgstr "Nenájdené žiadne príspevky. Skontrolujte zadané kritéria."
|
347 |
-
|
348 |
-
#: inc/exclude-posts.php:363
|
349 |
-
msgid ""
|
350 |
-
"You do not have enough permission to set the option. Please contact your "
|
351 |
-
"admin."
|
352 |
-
msgstr "Nemáte dostatočné povolenia na nastavenie. Prosím kontakujte správcu."
|
353 |
-
|
354 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
355 |
-
msgid "After 6 months of hard work, we have just released"
|
356 |
-
msgstr "Po 6. mesiacoch tvrdej práce sme práve vydali"
|
357 |
-
|
358 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
359 |
-
msgid "the island of WordPress themes."
|
360 |
-
msgstr "ostrov WordPress tém."
|
361 |
-
|
362 |
-
#: inc/view-exclude.php:5 inc/view.php:4
|
363 |
-
msgid "Show Me"
|
364 |
-
msgstr "Zobraziť"
|
365 |
-
|
366 |
-
#: inc/view-exclude.php:15 inc/view.php:14
|
367 |
-
msgid "by"
|
368 |
-
msgstr "podľa"
|
369 |
-
|
370 |
-
#: inc/view-exclude.php:18 inc/view.php:17
|
371 |
-
msgid "Show your love"
|
372 |
-
msgstr "Ukážte svoju lásku"
|
373 |
-
|
374 |
-
#: inc/view-exclude.php:19 inc/view.php:18
|
375 |
-
msgid "Leave A Review"
|
376 |
-
msgstr "Zanechať hodnotenie/komentár"
|
377 |
-
|
378 |
-
#: inc/view-exclude.php:30
|
379 |
-
msgid "Revive Old Post is set to share on a"
|
380 |
-
msgstr "Revive Old Post je nastavený pre zdieľanie na"
|
381 |
-
|
382 |
-
#: inc/view-exclude.php:32 inc/view.php:31
|
383 |
-
msgid "hours interval, "
|
384 |
-
msgstr "hodinové intervaly,"
|
385 |
-
|
386 |
-
#: inc/view-exclude.php:33 inc/view.php:32
|
387 |
-
msgid "and the next share will take place in: "
|
388 |
-
msgstr "a ďalšie zdieľanie bude v:"
|
389 |
-
|
390 |
-
#: inc/view-exclude.php:38
|
391 |
-
msgid "Revive Old Post is not set to share!"
|
392 |
-
msgstr "Revive Old Post nie je nastavený na zdieľanie"
|
393 |
-
|
394 |
-
#: inc/view-exclude.php:42
|
395 |
-
msgid ""
|
396 |
-
"You have selected following POST IDs to be excluded from tweeting: <span "
|
397 |
-
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
398 |
-
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
399 |
-
"changes will not be saved. "
|
400 |
-
msgstr ""
|
401 |
-
"Vybrali ste nasledujúce ID príspevkov, ktoré budú vylúčené zo zdieľania: "
|
402 |
-
"<span id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
403 |
-
"Poznámka: Ak ste vykonali akékoľvek zmeny a neklikli na tlačidlo \"Vylúčiť "
|
404 |
-
"vybrané\", zmeny nebudú uložené."
|
405 |
-
|
406 |
-
#: inc/view.php:29
|
407 |
-
msgid "Revive Old Post is set to post on a"
|
408 |
-
msgstr "Revive Old Post je nastavený na zdieľanie na"
|
409 |
-
|
410 |
-
#: inc/view.php:37
|
411 |
-
msgid "Revive Old Post is not set to post!"
|
412 |
-
msgstr "Revive Old Post nie je nastavený na zdieľanie!"
|
413 |
-
|
414 |
-
#: inc/view.php:42
|
415 |
-
msgid ""
|
416 |
-
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
417 |
-
"can see the error message if is any."
|
418 |
-
msgstr ""
|
419 |
-
"Po kliknutí na tlačidlo spustiť zdieľanie bude príspevok zdieľaný za 15 "
|
420 |
-
"sekúnd, taktiež tu budete môcť vidieť prípadne chybové hlásenia."
|
421 |
-
|
422 |
-
#: inc/view.php:52
|
423 |
-
msgid "Twitter Login"
|
424 |
-
msgstr "Twitter prihlásenie"
|
425 |
-
|
426 |
-
#: inc/view.php:53
|
427 |
-
msgid "Login using your Twitter account."
|
428 |
-
msgstr "Prihlásiť sa pomocou Twitter účtu."
|
429 |
-
|
430 |
-
#: inc/view.php:77 inc/view.php:111
|
431 |
-
msgid "Add Account"
|
432 |
-
msgstr "Pridať účet"
|
433 |
-
|
434 |
-
#: inc/view.php:84
|
435 |
-
msgid "Facebook Login"
|
436 |
-
msgstr "Facebook prihlásenie"
|
437 |
-
|
438 |
-
#: inc/view.php:85
|
439 |
-
msgid "Login using your Facebook account."
|
440 |
-
msgstr "Prihlásiť sa pomocou Facebook účtu."
|
441 |
-
|
442 |
-
#: inc/view.php:109
|
443 |
-
msgid "Authorize"
|
444 |
-
msgstr "Autorizovať"
|
445 |
-
|
446 |
-
#: inc/view.php:118
|
447 |
-
msgid "Linkedin Login"
|
448 |
-
msgstr "Linkedin prihlásenie"
|
449 |
-
|
450 |
-
#: inc/view.php:119
|
451 |
-
msgid "Login using your Linkedin account."
|
452 |
-
msgstr "Prihlásiť sa pomocou LinkedIn účtu."
|
453 |
-
|
454 |
-
#: inc/view.php:141
|
455 |
-
msgid "Add account"
|
456 |
-
msgstr "Pridať účet"
|
457 |
-
|
458 |
-
#: inc/view.php:154
|
459 |
-
msgid "Select All"
|
460 |
-
msgstr "Vybrať všetko"
|
461 |
-
|
462 |
-
#: inc/view.php:165
|
463 |
-
msgid "Reset"
|
464 |
-
msgstr "Obnoviť"
|
465 |
-
|
466 |
-
#: inc/view.php:166
|
467 |
-
msgid "Save"
|
468 |
-
msgstr "Uložiť"
|
469 |
-
|
470 |
-
#: inc/view.php:167
|
471 |
-
msgid "Start Sharing"
|
472 |
-
msgstr "Spustiť zdieľanie"
|
473 |
-
|
474 |
-
#: inc/view.php:168
|
475 |
-
msgid "Stop Sharing"
|
476 |
-
msgstr "Vypnúť zdieľanie"
|
477 |
-
|
478 |
-
#: inc/view.php:169
|
479 |
-
msgid "See Sample Post"
|
480 |
-
msgstr "Pozrieť ukážkový príspevok"
|
481 |
-
|
482 |
-
#: inc/view.php:171
|
483 |
-
msgid ""
|
484 |
-
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
485 |
-
msgstr "Nie sme partnerom Twitteru/Facebooku/LinkedInu."
|
486 |
-
|
487 |
-
#: inc/view.php:176
|
488 |
-
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
489 |
-
msgstr "Prejdite na PRO verziu Tweet Old Post len za 9,99$!"
|
490 |
-
|
491 |
-
#: inc/view.php:177
|
492 |
-
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
493 |
-
msgstr "ThemeIsle - Jednoduché WordPress témy"
|
494 |
-
|
495 |
-
#: inc/view.php:178
|
496 |
-
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
497 |
-
msgstr "ThemeIsle - Propagujte naše témy a pluginy a získajte 55% províziu"
|
498 |
-
|
499 |
-
#: inc/view.php:185
|
500 |
-
msgid "Sample Post Preview"
|
501 |
-
msgstr "Ukážka príspevku"
|
502 |
-
|
503 |
-
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
504 |
-
msgid "Close preview"
|
505 |
-
msgstr "Zatvoriť ukážku"
|
506 |
-
|
507 |
-
#: inc/view.php:188
|
508 |
-
msgid "Share now"
|
509 |
-
msgstr "Zdieľať teraz"
|
510 |
-
|
511 |
-
#: inc/view.php:194
|
512 |
-
msgid "Choose a Profile or Page"
|
513 |
-
msgstr "Vyberte profil alebo stránku"
|
514 |
-
|
515 |
-
#: inc/view.php:202
|
516 |
-
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
517 |
-
msgstr "Pridajte svoj Facebook účet podľa pokynov na ľavej strane"
|
518 |
-
|
519 |
-
#: inc/view.php:206 inc/view.php:252
|
520 |
-
msgid "Go on"
|
521 |
-
msgstr "Prejsť na"
|
522 |
-
|
523 |
-
#: inc/view.php:207
|
524 |
-
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
525 |
-
msgstr ""
|
526 |
-
"Kliknite na <strong>Vytvoriť novú aplikáciu</strong> v pravom hornom horu"
|
527 |
-
|
528 |
-
#: inc/view.php:208
|
529 |
-
msgid ""
|
530 |
-
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
531 |
-
"click on Create App"
|
532 |
-
msgstr ""
|
533 |
-
"Zadajte <strong>Zobraziť názov</strong>a <strong>Meno</strong> a kliknite na "
|
534 |
-
"Vytvoriť aplikáciu"
|
535 |
-
|
536 |
-
#: inc/view.php:209
|
537 |
-
msgid ""
|
538 |
-
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
539 |
-
"<strong>App Secret</strong> in the fields on the right"
|
540 |
-
msgstr ""
|
541 |
-
"Ak sa dostanete do nástenky aplikácie, skopárojtu vaše <strong>ID aplikácie</"
|
542 |
-
"strong> a <strong>Secret kľúč</strong> do polí napravo"
|
543 |
-
|
544 |
-
#: inc/view.php:210
|
545 |
-
msgid ""
|
546 |
-
"Go on Settings tab from the left sidebar menu add the contact email and "
|
547 |
-
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
548 |
-
msgstr ""
|
549 |
-
"Prejdite do nastavení v ľavom bočnom menu, pridajte kontaktný e-mail a "
|
550 |
-
"kliknite na <strong>Pridať platformu</strong> a vyberte <strong>Webstránku</"
|
551 |
-
"strong>"
|
552 |
-
|
553 |
-
#: inc/view.php:211
|
554 |
-
msgid ""
|
555 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
556 |
-
"Domains and Site URL fields and <strong>Save</strong>"
|
557 |
-
msgstr ""
|
558 |
-
"Kopírovať/vložiť túto URL : <strong><?php echo SETTINGSURL; ?></strong> do "
|
559 |
-
"domén aplikácie a poľa pre URL stránky a <strong>Uložiť</strong>"
|
560 |
-
|
561 |
-
#: inc/view.php:212
|
562 |
-
msgid ""
|
563 |
-
"Go on Status & Review tab and set your app live from the top-right switch."
|
564 |
-
msgstr ""
|
565 |
-
"Prejdite na kartu Stav & Revízia a spustite vašu aplikáciu napravo hore."
|
566 |
-
|
567 |
-
#: inc/view.php:213 inc/view.php:259
|
568 |
-
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
569 |
-
msgstr ""
|
570 |
-
"Teraz je všetko dokončené, kliknite na tlačidlo <strong>Autorizácia "
|
571 |
-
"aplikácie</ strong>."
|
572 |
-
|
573 |
-
#: inc/view.php:219
|
574 |
-
msgid "Facebook App ID"
|
575 |
-
msgstr "Facebook aplik. ID"
|
576 |
-
|
577 |
-
#: inc/view.php:220
|
578 |
-
msgid "ID from your app created on facebook website."
|
579 |
-
msgstr "ID vytvorenej facebook aplikácie."
|
580 |
-
|
581 |
-
#: inc/view.php:231
|
582 |
-
msgid "Facebook App Secret"
|
583 |
-
msgstr "Facebook aplik. Secret"
|
584 |
-
|
585 |
-
#: inc/view.php:232
|
586 |
-
msgid "Secret from your app created on facebook website. "
|
587 |
-
msgstr "Secret z Facebook aplikácie."
|
588 |
-
|
589 |
-
#: inc/view.php:240 inc/view.php:287
|
590 |
-
msgid "Authorize App"
|
591 |
-
msgstr "Autorizovať aplikáciu"
|
592 |
-
|
593 |
-
#: inc/view.php:248
|
594 |
-
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
595 |
-
msgstr "Pridajte svoj LinkedIn účet podľa pokynov na ľavej strane"
|
596 |
-
|
597 |
-
#: inc/view.php:253
|
598 |
-
msgid ""
|
599 |
-
"Enter the required details and pay special attention to the further fields :"
|
600 |
-
msgstr ""
|
601 |
-
"Zadajte požadované údaje a venujte špeciálnu pozornosť nasledujúcim poliam:"
|
602 |
-
|
603 |
-
#: inc/view.php:254
|
604 |
-
msgid "Make sure you set Live Status to LIVE"
|
605 |
-
msgstr "Uistite sa že ste nastavili živý stav"
|
606 |
-
|
607 |
-
#: inc/view.php:255
|
608 |
-
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
609 |
-
msgstr "Predvolený predmet by mal mať r_basicprofile a rw_nus začiarknuté"
|
610 |
-
|
611 |
-
#: inc/view.php:256
|
612 |
-
msgid ""
|
613 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
614 |
-
"2.0 Redirect URLs"
|
615 |
-
msgstr ""
|
616 |
-
"Kopírovať/vložiť túto URL : <strong><?php echo SETTINGSURL; ?></strong> do "
|
617 |
-
"OAuth 2.0 presmerovanie URL adries"
|
618 |
-
|
619 |
-
#: inc/view.php:257
|
620 |
-
msgid ""
|
621 |
-
"Once all required fields are filled click on Add Application button, get the "
|
622 |
-
"API Key and Secret Key and paste them in the fields on the right"
|
623 |
-
msgstr ""
|
624 |
-
"Ak vyplníte všetky povinné polia kliknite na Pridať aplikáciu, získajte API "
|
625 |
-
"kľúč a Secret kľúč a vložte ichdo to polí napravo"
|
626 |
-
|
627 |
-
#: inc/view.php:265
|
628 |
-
msgid "Linkedin API Key"
|
629 |
-
msgstr "Linkedin API kľúč"
|
630 |
-
|
631 |
-
#: inc/view.php:266
|
632 |
-
msgid "API Key that you get once you create an app"
|
633 |
-
msgstr "API kľúč, ktorý ziskáte po vytvorení aplikácie"
|
634 |
-
|
635 |
-
#: inc/view.php:277
|
636 |
-
msgid "Linkedin Secret Key"
|
637 |
-
msgstr "Linkedin Secret kľúč"
|
638 |
-
|
639 |
-
#: inc/view.php:278
|
640 |
-
msgid "Secret Key that you get once you create an app"
|
641 |
-
msgstr "Secret kľúč, ktorý ziskáte po vytvorení aplikácie"
|
642 |
-
|
643 |
-
#. Description of the plugin/theme
|
644 |
-
msgid ""
|
645 |
-
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
646 |
-
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
647 |
-
"also helps you to promote your content. You can set time and no of posts to "
|
648 |
-
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
649 |
-
"href=\"https://themeisle.com/contact/?"
|
650 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
651 |
-
msgstr ""
|
652 |
-
"WordPress plugin, ktorý vám pomôže udržiavať svoje staré príspevky nažive "
|
653 |
-
"ich zdieľaním na Twitteri, Facebooku alebo LinkedIn. To prinesie viac "
|
654 |
-
"návštevníkov. Môžete nastaviť čas a počet príspevkov na zdieľanie. Ak máte "
|
655 |
-
"akékoľvek otázky, primomienky alebo požiadavky na nové funkcie, <a href="
|
656 |
-
"\"https://themeisle.com/contact/?"
|
657 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">kontaktujte </"
|
658 |
-
"a> nás!"
|
1 |
+
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
+
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
+
"POT-Creation-Date: 2014-07-15 23:58+0100\n"
|
8 |
+
"PO-Revision-Date: 2014-08-05 13:28+0100\n"
|
9 |
+
"Last-Translator: Patrik Žec (PATWIST) <patrik.zec@gmail.com>\n"
|
10 |
+
"Language-Team: Patrik Žec (PATWIST), www.patwist.com <patrik.zec@gmail.com>\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: Poedit 1.6.4\n"
|
15 |
+
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
+
"X-Poedit-Basepath: ../\n"
|
17 |
+
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
18 |
+
"Language: sk_SK\n"
|
19 |
+
"X-Poedit-SearchPath-0: .\n"
|
20 |
+
"X-Poedit-SearchPath-1: inc\n"
|
21 |
+
|
22 |
+
#: inc/class-remote-notification-client.php:260
|
23 |
+
msgid "Dismiss notification"
|
24 |
+
msgstr "Zamietnuť oznámenia"
|
25 |
+
|
26 |
+
#: inc/class-remote-notification-client.php:262
|
27 |
+
msgid "Dismiss"
|
28 |
+
msgstr "Zamietnuť"
|
29 |
+
|
30 |
+
#: inc/config.php:24
|
31 |
+
msgid "Post Content"
|
32 |
+
msgstr "Obsah príspevku"
|
33 |
+
|
34 |
+
#: inc/config.php:28
|
35 |
+
msgid "What do you want to share?"
|
36 |
+
msgstr "Čo chcete zdieľať?"
|
37 |
+
|
38 |
+
#: inc/config.php:30
|
39 |
+
msgid "Title Only"
|
40 |
+
msgstr "Len názov"
|
41 |
+
|
42 |
+
#: inc/config.php:31
|
43 |
+
msgid "Body Only"
|
44 |
+
msgstr "Len obsah"
|
45 |
+
|
46 |
+
#: inc/config.php:32
|
47 |
+
msgid "Title & Body"
|
48 |
+
msgstr "Názov a obsah"
|
49 |
+
|
50 |
+
#: inc/config.php:33
|
51 |
+
msgid "Custom Field"
|
52 |
+
msgstr "Vlastne pole"
|
53 |
+
|
54 |
+
#: inc/config.php:39
|
55 |
+
msgid "Post Content Custom Field"
|
56 |
+
msgstr "Vlastné polia obsahu príspevku"
|
57 |
+
|
58 |
+
#: inc/config.php:43
|
59 |
+
msgid "Which custom field do you want to fetch info from?"
|
60 |
+
msgstr "Ktoré vlastné pole chcete vložiť do príspevku?"
|
61 |
+
|
62 |
+
#: inc/config.php:49
|
63 |
+
msgid "Additional Text"
|
64 |
+
msgstr "Ďalší text"
|
65 |
+
|
66 |
+
#: inc/config.php:53
|
67 |
+
msgid "Text added to your auto posts"
|
68 |
+
msgstr "Text pridaný do príspevkov"
|
69 |
+
|
70 |
+
#: inc/config.php:59
|
71 |
+
msgid "Additional Text At"
|
72 |
+
msgstr "Ďalší text"
|
73 |
+
|
74 |
+
#: inc/config.php:63
|
75 |
+
msgid "Where do you want the text to be added?"
|
76 |
+
msgstr "Kam chcete text pridať?"
|
77 |
+
|
78 |
+
#: inc/config.php:65
|
79 |
+
msgid "Beginning of Post"
|
80 |
+
msgstr "Začiatok príspevku"
|
81 |
+
|
82 |
+
#: inc/config.php:66
|
83 |
+
msgid "End of Post"
|
84 |
+
msgstr "Koniec príspevku"
|
85 |
+
|
86 |
+
#: inc/config.php:72
|
87 |
+
msgid "Include Link"
|
88 |
+
msgstr "Vložiť odkaz"
|
89 |
+
|
90 |
+
#: inc/config.php:76
|
91 |
+
msgid "Include a link to your post?"
|
92 |
+
msgstr "Vložiť odkaz do príspevku?"
|
93 |
+
|
94 |
+
#: inc/config.php:78
|
95 |
+
msgid "Yes"
|
96 |
+
msgstr "Áno"
|
97 |
+
|
98 |
+
#: inc/config.php:79
|
99 |
+
msgid "No"
|
100 |
+
msgstr "Nie"
|
101 |
+
|
102 |
+
#: inc/config.php:85
|
103 |
+
msgid "Fetch URL From Custom Field"
|
104 |
+
msgstr "Načítať URL z vlastného poľa"
|
105 |
+
|
106 |
+
#: inc/config.php:89
|
107 |
+
msgid "URL will be fetched from a custom field."
|
108 |
+
msgstr "URL bude načítaná z vlastného poľa"
|
109 |
+
|
110 |
+
#: inc/config.php:95
|
111 |
+
msgid "URL Custom Field"
|
112 |
+
msgstr "URL vlastného poľa"
|
113 |
+
|
114 |
+
#: inc/config.php:99
|
115 |
+
msgid "URL will be fetched from the specified custom field."
|
116 |
+
msgstr "URL bude načítaná z vlastného poľa"
|
117 |
+
|
118 |
+
#: inc/config.php:105
|
119 |
+
msgid "Use URL Shortner"
|
120 |
+
msgstr "Použiť skracovač odkazov"
|
121 |
+
|
122 |
+
#: inc/config.php:117
|
123 |
+
msgid "URL Shortner Service"
|
124 |
+
msgstr "Služba na skrátenie odkazov"
|
125 |
+
|
126 |
+
#: inc/config.php:121
|
127 |
+
msgid "Shorten the link to your post."
|
128 |
+
msgstr "Skrátenie odkazu v príspevku."
|
129 |
+
|
130 |
+
#: inc/config.php:123
|
131 |
+
msgid "wp short url"
|
132 |
+
msgstr "wp short url"
|
133 |
+
|
134 |
+
#: inc/config.php:125
|
135 |
+
msgid "is.gd"
|
136 |
+
msgstr "is.gd"
|
137 |
+
|
138 |
+
#: inc/config.php:126
|
139 |
+
msgid "bit.ly"
|
140 |
+
msgstr "bit.ly"
|
141 |
+
|
142 |
+
#: inc/config.php:138
|
143 |
+
msgid "Bitly Key"
|
144 |
+
msgstr "Bitly kľúč"
|
145 |
+
|
146 |
+
#: inc/config.php:148
|
147 |
+
msgid "Bitly User"
|
148 |
+
msgstr "Bitly používateľ"
|
149 |
+
|
150 |
+
#: inc/config.php:158
|
151 |
+
msgid "Hashtags"
|
152 |
+
msgstr "Hashtagy"
|
153 |
+
|
154 |
+
#: inc/config.php:162
|
155 |
+
msgid "Include #hashtags in your auto posts?"
|
156 |
+
msgstr "Zahrnúť #hashtagy do príspevkov?"
|
157 |
+
|
158 |
+
#: inc/config.php:164
|
159 |
+
msgid "Don't add any hashtags"
|
160 |
+
msgstr "Nepridávať hashtagy"
|
161 |
+
|
162 |
+
#: inc/config.php:165
|
163 |
+
msgid "Common hashtags for all shares"
|
164 |
+
msgstr "Spoločné hashtagy pre všetky zdieľania"
|
165 |
+
|
166 |
+
#: inc/config.php:166
|
167 |
+
msgid "Create hashtags from Categories"
|
168 |
+
msgstr "Použiť hashtagy z názvov kategórií"
|
169 |
+
|
170 |
+
#: inc/config.php:167
|
171 |
+
msgid "Create hashtags from Tags"
|
172 |
+
msgstr "Použiť hashtagy zo štítkov"
|
173 |
+
|
174 |
+
#: inc/config.php:168
|
175 |
+
msgid "Create hashtags from Custom Fields"
|
176 |
+
msgstr "Použiť hashtagy z vlastných polí"
|
177 |
+
|
178 |
+
#: inc/config.php:174
|
179 |
+
msgid "Common Hashtags"
|
180 |
+
msgstr "Spoločné hashtagy"
|
181 |
+
|
182 |
+
#: inc/config.php:178
|
183 |
+
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
184 |
+
msgstr "Vyberte ktoré hashtagy chcete použiť. napríklad. #priklad1, #priklad2"
|
185 |
+
|
186 |
+
#: inc/config.php:184
|
187 |
+
msgid "Maximum Hashtags Length"
|
188 |
+
msgstr "Maximálna dĺžka hashtagu"
|
189 |
+
|
190 |
+
#: inc/config.php:188
|
191 |
+
msgid "Set to 0 (characters) to include all."
|
192 |
+
msgstr "Zadajte 0 znakov pre vloženie akéhokoľvek dlhého hashtagu."
|
193 |
+
|
194 |
+
#: inc/config.php:194
|
195 |
+
msgid "Hashtag Custom Field"
|
196 |
+
msgstr "Vlastné polia hashtagy"
|
197 |
+
|
198 |
+
#: inc/config.php:198
|
199 |
+
msgid "Fetch hashtags from specified custom field"
|
200 |
+
msgstr "Načítať hashtagy z vlastného poľa"
|
201 |
+
|
202 |
+
#: inc/config.php:204
|
203 |
+
msgid "Minimum interval between shares"
|
204 |
+
msgstr "Minimálny interval medzi zdieľaniami"
|
205 |
+
|
206 |
+
#: inc/config.php:208
|
207 |
+
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
208 |
+
msgstr ""
|
209 |
+
"Minimálny časový interval medzi zdieľaniami (Hodina/Hodiny), 0.3 pre pol "
|
210 |
+
"hodiny"
|
211 |
+
|
212 |
+
#: inc/config.php:214
|
213 |
+
msgid "Minimum age of post to be eligible for sharing"
|
214 |
+
msgstr "Minimálny vek príspevku aby mohol byť zdieľaný"
|
215 |
+
|
216 |
+
#: inc/config.php:218 inc/config.php:228
|
217 |
+
msgid "Day/Days - 0 for Disabled"
|
218 |
+
msgstr "Deň/Dni - 0 pre zrušenie"
|
219 |
+
|
220 |
+
#: inc/config.php:224
|
221 |
+
msgid "Maximum age of post to be eligible for sharing"
|
222 |
+
msgstr "Maximálny vek príspevku aby mohol byť zdieľaný"
|
223 |
+
|
224 |
+
#: inc/config.php:234
|
225 |
+
msgid "Number of Posts to share"
|
226 |
+
msgstr "Počet príspevkov pre zdieľanie"
|
227 |
+
|
228 |
+
#: inc/config.php:238
|
229 |
+
msgid "Number of posts to share each time"
|
230 |
+
msgstr "Počet príspevkov pre zdieľanie v určitom čase"
|
231 |
+
|
232 |
+
#: inc/config.php:246
|
233 |
+
msgid "Post with Image"
|
234 |
+
msgstr "Príspevkov z obrázkom"
|
235 |
+
|
236 |
+
#: inc/config.php:250
|
237 |
+
msgid "Check if you want to add the post featured image to the share"
|
238 |
+
msgstr "Zariačknite ak chcete pridať obrázok na zdieľanie"
|
239 |
+
|
240 |
+
#: inc/config.php:256
|
241 |
+
msgid "Share old posts more than once"
|
242 |
+
msgstr "Zdieľať staré príspevky viackrát"
|
243 |
+
|
244 |
+
#: inc/config.php:260
|
245 |
+
msgid ""
|
246 |
+
"By default once a post is shared it will not be shared again until you stop/"
|
247 |
+
"start the plugin"
|
248 |
+
msgstr ""
|
249 |
+
"Predvolené nastavenie je že ak sa raz príspevok zdieľa nebude zdieľaný "
|
250 |
+
"viackrát pokiaľ nedeaktivujete a aktivujete plugin."
|
251 |
+
|
252 |
+
#: inc/config.php:268
|
253 |
+
msgid "Post Type"
|
254 |
+
msgstr "Typ príspevku"
|
255 |
+
|
256 |
+
#: inc/config.php:272
|
257 |
+
msgid "What type of items do you want to share?"
|
258 |
+
msgstr "Aký typ položiek chcete zdieľať?"
|
259 |
+
|
260 |
+
#: inc/config.php:279
|
261 |
+
msgid "Google Analytics Campaign Tracking"
|
262 |
+
msgstr "Google Analytics sledovacia kampaň"
|
263 |
+
|
264 |
+
#: inc/config.php:283
|
265 |
+
msgid ""
|
266 |
+
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
267 |
+
"Old Post generated."
|
268 |
+
msgstr ""
|
269 |
+
"Povolením sledovania budete môcť vidieť koľko návštevnosti máte vďaka Revive "
|
270 |
+
"Old Post."
|
271 |
+
|
272 |
+
#: inc/config.php:289
|
273 |
+
msgid "Exclude Specific Categories"
|
274 |
+
msgstr "Vylúčenie špecifických kategórií"
|
275 |
+
|
276 |
+
#: inc/config.php:293
|
277 |
+
msgid ""
|
278 |
+
"Select which categories do you want to exclude to share from? Blank - None"
|
279 |
+
msgstr "Vyberte, ktoré kategórie chcete vylúčiť zo zdieľania, prázdne - žiadne"
|
280 |
+
|
281 |
+
#: inc/core.php:81
|
282 |
+
msgid "Tweet Old Post is already active!"
|
283 |
+
msgstr "Tweet Old Post už je aktívny!"
|
284 |
+
|
285 |
+
#: inc/core.php:101
|
286 |
+
msgid "ROP is already inactive!"
|
287 |
+
msgstr "ROP už je neaktívne!"
|
288 |
+
|
289 |
+
#: inc/core.php:811
|
290 |
+
msgid "Custom Tweet User Interval"
|
291 |
+
msgstr "Vlastný interval tweetovania"
|
292 |
+
|
293 |
+
#: inc/core.php:1127
|
294 |
+
msgid "Could not connect to Twitter!"
|
295 |
+
msgstr "Nedá sa pripojiť na Twitter!"
|
296 |
+
|
297 |
+
#: inc/core.php:1385
|
298 |
+
msgid "This is only available in the"
|
299 |
+
msgstr "K dispozícií len v"
|
300 |
+
|
301 |
+
#: inc/core.php:1385
|
302 |
+
msgid "PRO version"
|
303 |
+
msgstr "PRO verzia"
|
304 |
+
|
305 |
+
#: inc/core.php:1644
|
306 |
+
msgid "Exclude Posts"
|
307 |
+
msgstr "Vylúčiť príspevky"
|
308 |
+
|
309 |
+
#: inc/exclude-posts.php:24
|
310 |
+
msgid "Tweet Old Post Options Updated."
|
311 |
+
msgstr "Nastavenia Tweet Ols Post aktualizované."
|
312 |
+
|
313 |
+
#: inc/exclude-posts.php:63
|
314 |
+
msgid "No post selected please select a post to be excluded."
|
315 |
+
msgstr ""
|
316 |
+
"Nie sú vybrané žiadne príspevky, prosím vyberte príspevky, ktoré majú byť "
|
317 |
+
"vylúčené."
|
318 |
+
|
319 |
+
#: inc/exclude-posts.php:70
|
320 |
+
msgid "Posts excluded successfully."
|
321 |
+
msgstr "Úspešné vylúčenie príspevkov."
|
322 |
+
|
323 |
+
#: inc/exclude-posts.php:155
|
324 |
+
msgid "Selected Categories"
|
325 |
+
msgstr "Vybrané kategórie"
|
326 |
+
|
327 |
+
#: inc/exclude-posts.php:157
|
328 |
+
msgid "Filter"
|
329 |
+
msgstr "Filter"
|
330 |
+
|
331 |
+
#: inc/exclude-posts.php:168
|
332 |
+
msgid "«"
|
333 |
+
msgstr "«"
|
334 |
+
|
335 |
+
#: inc/exclude-posts.php:169
|
336 |
+
msgid "»"
|
337 |
+
msgstr "»"
|
338 |
+
|
339 |
+
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
340 |
+
#, php-format
|
341 |
+
msgid "Displaying %s–%s of %s"
|
342 |
+
msgstr "Zobrazujem %s–%s z %s"
|
343 |
+
|
344 |
+
#: inc/exclude-posts.php:356
|
345 |
+
msgid "No Posts found. Review your search or filter criteria/term."
|
346 |
+
msgstr "Nenájdené žiadne príspevky. Skontrolujte zadané kritéria."
|
347 |
+
|
348 |
+
#: inc/exclude-posts.php:363
|
349 |
+
msgid ""
|
350 |
+
"You do not have enough permission to set the option. Please contact your "
|
351 |
+
"admin."
|
352 |
+
msgstr "Nemáte dostatočné povolenia na nastavenie. Prosím kontakujte správcu."
|
353 |
+
|
354 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
355 |
+
msgid "After 6 months of hard work, we have just released"
|
356 |
+
msgstr "Po 6. mesiacoch tvrdej práce sme práve vydali"
|
357 |
+
|
358 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
359 |
+
msgid "the island of WordPress themes."
|
360 |
+
msgstr "ostrov WordPress tém."
|
361 |
+
|
362 |
+
#: inc/view-exclude.php:5 inc/view.php:4
|
363 |
+
msgid "Show Me"
|
364 |
+
msgstr "Zobraziť"
|
365 |
+
|
366 |
+
#: inc/view-exclude.php:15 inc/view.php:14
|
367 |
+
msgid "by"
|
368 |
+
msgstr "podľa"
|
369 |
+
|
370 |
+
#: inc/view-exclude.php:18 inc/view.php:17
|
371 |
+
msgid "Show your love"
|
372 |
+
msgstr "Ukážte svoju lásku"
|
373 |
+
|
374 |
+
#: inc/view-exclude.php:19 inc/view.php:18
|
375 |
+
msgid "Leave A Review"
|
376 |
+
msgstr "Zanechať hodnotenie/komentár"
|
377 |
+
|
378 |
+
#: inc/view-exclude.php:30
|
379 |
+
msgid "Revive Old Post is set to share on a"
|
380 |
+
msgstr "Revive Old Post je nastavený pre zdieľanie na"
|
381 |
+
|
382 |
+
#: inc/view-exclude.php:32 inc/view.php:31
|
383 |
+
msgid "hours interval, "
|
384 |
+
msgstr "hodinové intervaly,"
|
385 |
+
|
386 |
+
#: inc/view-exclude.php:33 inc/view.php:32
|
387 |
+
msgid "and the next share will take place in: "
|
388 |
+
msgstr "a ďalšie zdieľanie bude v:"
|
389 |
+
|
390 |
+
#: inc/view-exclude.php:38
|
391 |
+
msgid "Revive Old Post is not set to share!"
|
392 |
+
msgstr "Revive Old Post nie je nastavený na zdieľanie"
|
393 |
+
|
394 |
+
#: inc/view-exclude.php:42
|
395 |
+
msgid ""
|
396 |
+
"You have selected following POST IDs to be excluded from tweeting: <span "
|
397 |
+
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
398 |
+
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
399 |
+
"changes will not be saved. "
|
400 |
+
msgstr ""
|
401 |
+
"Vybrali ste nasledujúce ID príspevkov, ktoré budú vylúčené zo zdieľania: "
|
402 |
+
"<span id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
403 |
+
"Poznámka: Ak ste vykonali akékoľvek zmeny a neklikli na tlačidlo \"Vylúčiť "
|
404 |
+
"vybrané\", zmeny nebudú uložené."
|
405 |
+
|
406 |
+
#: inc/view.php:29
|
407 |
+
msgid "Revive Old Post is set to post on a"
|
408 |
+
msgstr "Revive Old Post je nastavený na zdieľanie na"
|
409 |
+
|
410 |
+
#: inc/view.php:37
|
411 |
+
msgid "Revive Old Post is not set to post!"
|
412 |
+
msgstr "Revive Old Post nie je nastavený na zdieľanie!"
|
413 |
+
|
414 |
+
#: inc/view.php:42
|
415 |
+
msgid ""
|
416 |
+
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
417 |
+
"can see the error message if is any."
|
418 |
+
msgstr ""
|
419 |
+
"Po kliknutí na tlačidlo spustiť zdieľanie bude príspevok zdieľaný za 15 "
|
420 |
+
"sekúnd, taktiež tu budete môcť vidieť prípadne chybové hlásenia."
|
421 |
+
|
422 |
+
#: inc/view.php:52
|
423 |
+
msgid "Twitter Login"
|
424 |
+
msgstr "Twitter prihlásenie"
|
425 |
+
|
426 |
+
#: inc/view.php:53
|
427 |
+
msgid "Login using your Twitter account."
|
428 |
+
msgstr "Prihlásiť sa pomocou Twitter účtu."
|
429 |
+
|
430 |
+
#: inc/view.php:77 inc/view.php:111
|
431 |
+
msgid "Add Account"
|
432 |
+
msgstr "Pridať účet"
|
433 |
+
|
434 |
+
#: inc/view.php:84
|
435 |
+
msgid "Facebook Login"
|
436 |
+
msgstr "Facebook prihlásenie"
|
437 |
+
|
438 |
+
#: inc/view.php:85
|
439 |
+
msgid "Login using your Facebook account."
|
440 |
+
msgstr "Prihlásiť sa pomocou Facebook účtu."
|
441 |
+
|
442 |
+
#: inc/view.php:109
|
443 |
+
msgid "Authorize"
|
444 |
+
msgstr "Autorizovať"
|
445 |
+
|
446 |
+
#: inc/view.php:118
|
447 |
+
msgid "Linkedin Login"
|
448 |
+
msgstr "Linkedin prihlásenie"
|
449 |
+
|
450 |
+
#: inc/view.php:119
|
451 |
+
msgid "Login using your Linkedin account."
|
452 |
+
msgstr "Prihlásiť sa pomocou LinkedIn účtu."
|
453 |
+
|
454 |
+
#: inc/view.php:141
|
455 |
+
msgid "Add account"
|
456 |
+
msgstr "Pridať účet"
|
457 |
+
|
458 |
+
#: inc/view.php:154
|
459 |
+
msgid "Select All"
|
460 |
+
msgstr "Vybrať všetko"
|
461 |
+
|
462 |
+
#: inc/view.php:165
|
463 |
+
msgid "Reset"
|
464 |
+
msgstr "Obnoviť"
|
465 |
+
|
466 |
+
#: inc/view.php:166
|
467 |
+
msgid "Save"
|
468 |
+
msgstr "Uložiť"
|
469 |
+
|
470 |
+
#: inc/view.php:167
|
471 |
+
msgid "Start Sharing"
|
472 |
+
msgstr "Spustiť zdieľanie"
|
473 |
+
|
474 |
+
#: inc/view.php:168
|
475 |
+
msgid "Stop Sharing"
|
476 |
+
msgstr "Vypnúť zdieľanie"
|
477 |
+
|
478 |
+
#: inc/view.php:169
|
479 |
+
msgid "See Sample Post"
|
480 |
+
msgstr "Pozrieť ukážkový príspevok"
|
481 |
+
|
482 |
+
#: inc/view.php:171
|
483 |
+
msgid ""
|
484 |
+
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
485 |
+
msgstr "Nie sme partnerom Twitteru/Facebooku/LinkedInu."
|
486 |
+
|
487 |
+
#: inc/view.php:176
|
488 |
+
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
489 |
+
msgstr "Prejdite na PRO verziu Tweet Old Post len za 9,99$!"
|
490 |
+
|
491 |
+
#: inc/view.php:177
|
492 |
+
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
493 |
+
msgstr "ThemeIsle - Jednoduché WordPress témy"
|
494 |
+
|
495 |
+
#: inc/view.php:178
|
496 |
+
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
497 |
+
msgstr "ThemeIsle - Propagujte naše témy a pluginy a získajte 55% províziu"
|
498 |
+
|
499 |
+
#: inc/view.php:185
|
500 |
+
msgid "Sample Post Preview"
|
501 |
+
msgstr "Ukážka príspevku"
|
502 |
+
|
503 |
+
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
504 |
+
msgid "Close preview"
|
505 |
+
msgstr "Zatvoriť ukážku"
|
506 |
+
|
507 |
+
#: inc/view.php:188
|
508 |
+
msgid "Share now"
|
509 |
+
msgstr "Zdieľať teraz"
|
510 |
+
|
511 |
+
#: inc/view.php:194
|
512 |
+
msgid "Choose a Profile or Page"
|
513 |
+
msgstr "Vyberte profil alebo stránku"
|
514 |
+
|
515 |
+
#: inc/view.php:202
|
516 |
+
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
517 |
+
msgstr "Pridajte svoj Facebook účet podľa pokynov na ľavej strane"
|
518 |
+
|
519 |
+
#: inc/view.php:206 inc/view.php:252
|
520 |
+
msgid "Go on"
|
521 |
+
msgstr "Prejsť na"
|
522 |
+
|
523 |
+
#: inc/view.php:207
|
524 |
+
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
525 |
+
msgstr ""
|
526 |
+
"Kliknite na <strong>Vytvoriť novú aplikáciu</strong> v pravom hornom horu"
|
527 |
+
|
528 |
+
#: inc/view.php:208
|
529 |
+
msgid ""
|
530 |
+
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
531 |
+
"click on Create App"
|
532 |
+
msgstr ""
|
533 |
+
"Zadajte <strong>Zobraziť názov</strong>a <strong>Meno</strong> a kliknite na "
|
534 |
+
"Vytvoriť aplikáciu"
|
535 |
+
|
536 |
+
#: inc/view.php:209
|
537 |
+
msgid ""
|
538 |
+
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
539 |
+
"<strong>App Secret</strong> in the fields on the right"
|
540 |
+
msgstr ""
|
541 |
+
"Ak sa dostanete do nástenky aplikácie, skopárojtu vaše <strong>ID aplikácie</"
|
542 |
+
"strong> a <strong>Secret kľúč</strong> do polí napravo"
|
543 |
+
|
544 |
+
#: inc/view.php:210
|
545 |
+
msgid ""
|
546 |
+
"Go on Settings tab from the left sidebar menu add the contact email and "
|
547 |
+
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
548 |
+
msgstr ""
|
549 |
+
"Prejdite do nastavení v ľavom bočnom menu, pridajte kontaktný e-mail a "
|
550 |
+
"kliknite na <strong>Pridať platformu</strong> a vyberte <strong>Webstránku</"
|
551 |
+
"strong>"
|
552 |
+
|
553 |
+
#: inc/view.php:211
|
554 |
+
msgid ""
|
555 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
556 |
+
"Domains and Site URL fields and <strong>Save</strong>"
|
557 |
+
msgstr ""
|
558 |
+
"Kopírovať/vložiť túto URL : <strong><?php echo SETTINGSURL; ?></strong> do "
|
559 |
+
"domén aplikácie a poľa pre URL stránky a <strong>Uložiť</strong>"
|
560 |
+
|
561 |
+
#: inc/view.php:212
|
562 |
+
msgid ""
|
563 |
+
"Go on Status & Review tab and set your app live from the top-right switch."
|
564 |
+
msgstr ""
|
565 |
+
"Prejdite na kartu Stav & Revízia a spustite vašu aplikáciu napravo hore."
|
566 |
+
|
567 |
+
#: inc/view.php:213 inc/view.php:259
|
568 |
+
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
569 |
+
msgstr ""
|
570 |
+
"Teraz je všetko dokončené, kliknite na tlačidlo <strong>Autorizácia "
|
571 |
+
"aplikácie</ strong>."
|
572 |
+
|
573 |
+
#: inc/view.php:219
|
574 |
+
msgid "Facebook App ID"
|
575 |
+
msgstr "Facebook aplik. ID"
|
576 |
+
|
577 |
+
#: inc/view.php:220
|
578 |
+
msgid "ID from your app created on facebook website."
|
579 |
+
msgstr "ID vytvorenej facebook aplikácie."
|
580 |
+
|
581 |
+
#: inc/view.php:231
|
582 |
+
msgid "Facebook App Secret"
|
583 |
+
msgstr "Facebook aplik. Secret"
|
584 |
+
|
585 |
+
#: inc/view.php:232
|
586 |
+
msgid "Secret from your app created on facebook website. "
|
587 |
+
msgstr "Secret z Facebook aplikácie."
|
588 |
+
|
589 |
+
#: inc/view.php:240 inc/view.php:287
|
590 |
+
msgid "Authorize App"
|
591 |
+
msgstr "Autorizovať aplikáciu"
|
592 |
+
|
593 |
+
#: inc/view.php:248
|
594 |
+
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
595 |
+
msgstr "Pridajte svoj LinkedIn účet podľa pokynov na ľavej strane"
|
596 |
+
|
597 |
+
#: inc/view.php:253
|
598 |
+
msgid ""
|
599 |
+
"Enter the required details and pay special attention to the further fields :"
|
600 |
+
msgstr ""
|
601 |
+
"Zadajte požadované údaje a venujte špeciálnu pozornosť nasledujúcim poliam:"
|
602 |
+
|
603 |
+
#: inc/view.php:254
|
604 |
+
msgid "Make sure you set Live Status to LIVE"
|
605 |
+
msgstr "Uistite sa že ste nastavili živý stav"
|
606 |
+
|
607 |
+
#: inc/view.php:255
|
608 |
+
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
609 |
+
msgstr "Predvolený predmet by mal mať r_basicprofile a rw_nus začiarknuté"
|
610 |
+
|
611 |
+
#: inc/view.php:256
|
612 |
+
msgid ""
|
613 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
614 |
+
"2.0 Redirect URLs"
|
615 |
+
msgstr ""
|
616 |
+
"Kopírovať/vložiť túto URL : <strong><?php echo SETTINGSURL; ?></strong> do "
|
617 |
+
"OAuth 2.0 presmerovanie URL adries"
|
618 |
+
|
619 |
+
#: inc/view.php:257
|
620 |
+
msgid ""
|
621 |
+
"Once all required fields are filled click on Add Application button, get the "
|
622 |
+
"API Key and Secret Key and paste them in the fields on the right"
|
623 |
+
msgstr ""
|
624 |
+
"Ak vyplníte všetky povinné polia kliknite na Pridať aplikáciu, získajte API "
|
625 |
+
"kľúč a Secret kľúč a vložte ichdo to polí napravo"
|
626 |
+
|
627 |
+
#: inc/view.php:265
|
628 |
+
msgid "Linkedin API Key"
|
629 |
+
msgstr "Linkedin API kľúč"
|
630 |
+
|
631 |
+
#: inc/view.php:266
|
632 |
+
msgid "API Key that you get once you create an app"
|
633 |
+
msgstr "API kľúč, ktorý ziskáte po vytvorení aplikácie"
|
634 |
+
|
635 |
+
#: inc/view.php:277
|
636 |
+
msgid "Linkedin Secret Key"
|
637 |
+
msgstr "Linkedin Secret kľúč"
|
638 |
+
|
639 |
+
#: inc/view.php:278
|
640 |
+
msgid "Secret Key that you get once you create an app"
|
641 |
+
msgstr "Secret kľúč, ktorý ziskáte po vytvorení aplikácie"
|
642 |
+
|
643 |
+
#. Description of the plugin/theme
|
644 |
+
msgid ""
|
645 |
+
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
646 |
+
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
647 |
+
"also helps you to promote your content. You can set time and no of posts to "
|
648 |
+
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
649 |
+
"href=\"https://themeisle.com/contact/?"
|
650 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
651 |
+
msgstr ""
|
652 |
+
"WordPress plugin, ktorý vám pomôže udržiavať svoje staré príspevky nažive "
|
653 |
+
"ich zdieľaním na Twitteri, Facebooku alebo LinkedIn. To prinesie viac "
|
654 |
+
"návštevníkov. Môžete nastaviť čas a počet príspevkov na zdieľanie. Ak máte "
|
655 |
+
"akékoľvek otázky, primomienky alebo požiadavky na nové funkcie, <a href="
|
656 |
+
"\"https://themeisle.com/contact/?"
|
657 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">kontaktujte </"
|
658 |
+
"a> nás!"
|
languages/tweet-old-post.po
CHANGED
@@ -1,617 +1,617 @@
|
|
1 |
-
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
-
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
-
"POT-Creation-Date: 2014-07-15 23:58+0100\n"
|
8 |
-
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
-
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
-
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
-
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
-
"X-Poedit-Basepath: ../\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
"X-Poedit-SearchPath-1: inc\n"
|
19 |
-
|
20 |
-
#: inc/class-remote-notification-client.php:260
|
21 |
-
msgid "Dismiss notification"
|
22 |
-
msgstr ""
|
23 |
-
|
24 |
-
#: inc/class-remote-notification-client.php:262
|
25 |
-
msgid "Dismiss"
|
26 |
-
msgstr ""
|
27 |
-
|
28 |
-
#: inc/config.php:24
|
29 |
-
msgid "Post Content"
|
30 |
-
msgstr ""
|
31 |
-
|
32 |
-
#: inc/config.php:28
|
33 |
-
msgid "What do you want to share?"
|
34 |
-
msgstr ""
|
35 |
-
|
36 |
-
#: inc/config.php:30
|
37 |
-
msgid "Title Only"
|
38 |
-
msgstr ""
|
39 |
-
|
40 |
-
#: inc/config.php:31
|
41 |
-
msgid "Body Only"
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
-
#: inc/config.php:32
|
45 |
-
msgid "Title & Body"
|
46 |
-
msgstr ""
|
47 |
-
|
48 |
-
#: inc/config.php:33
|
49 |
-
msgid "Custom Field"
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: inc/config.php:39
|
53 |
-
msgid "Post Content Custom Field"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: inc/config.php:43
|
57 |
-
msgid "Which custom field do you want to fetch info from?"
|
58 |
-
msgstr ""
|
59 |
-
|
60 |
-
#: inc/config.php:49
|
61 |
-
msgid "Additional Text"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#: inc/config.php:53
|
65 |
-
msgid "Text added to your auto posts"
|
66 |
-
msgstr ""
|
67 |
-
|
68 |
-
#: inc/config.php:59
|
69 |
-
msgid "Additional Text At"
|
70 |
-
msgstr ""
|
71 |
-
|
72 |
-
#: inc/config.php:63
|
73 |
-
msgid "Where do you want the text to be added?"
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: inc/config.php:65
|
77 |
-
msgid "Beginning of Post"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: inc/config.php:66
|
81 |
-
msgid "End of Post"
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#: inc/config.php:72
|
85 |
-
msgid "Include Link"
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: inc/config.php:76
|
89 |
-
msgid "Include a link to your post?"
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: inc/config.php:78
|
93 |
-
msgid "Yes"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: inc/config.php:79
|
97 |
-
msgid "No"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: inc/config.php:85
|
101 |
-
msgid "Fetch URL From Custom Field"
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: inc/config.php:89
|
105 |
-
msgid "URL will be fetched from a custom field."
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: inc/config.php:95
|
109 |
-
msgid "URL Custom Field"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: inc/config.php:99
|
113 |
-
msgid "URL will be fetched from the specified custom field."
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: inc/config.php:105
|
117 |
-
msgid "Use URL Shortner"
|
118 |
-
msgstr ""
|
119 |
-
|
120 |
-
#: inc/config.php:117
|
121 |
-
msgid "URL Shortner Service"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: inc/config.php:121
|
125 |
-
msgid "Shorten the link to your post."
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: inc/config.php:123
|
129 |
-
msgid "wp short url"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: inc/config.php:125
|
133 |
-
msgid "is.gd"
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: inc/config.php:126
|
137 |
-
msgid "bit.ly"
|
138 |
-
msgstr ""
|
139 |
-
|
140 |
-
#: inc/config.php:138
|
141 |
-
msgid "Bitly Key"
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: inc/config.php:148
|
145 |
-
msgid "Bitly User"
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: inc/config.php:158
|
149 |
-
msgid "Hashtags"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: inc/config.php:162
|
153 |
-
msgid "Include #hashtags in your auto posts?"
|
154 |
-
msgstr ""
|
155 |
-
|
156 |
-
#: inc/config.php:164
|
157 |
-
msgid "Don't add any hashtags"
|
158 |
-
msgstr ""
|
159 |
-
|
160 |
-
#: inc/config.php:165
|
161 |
-
msgid "Common hashtags for all shares"
|
162 |
-
msgstr ""
|
163 |
-
|
164 |
-
#: inc/config.php:166
|
165 |
-
msgid "Create hashtags from Categories"
|
166 |
-
msgstr ""
|
167 |
-
|
168 |
-
#: inc/config.php:167
|
169 |
-
msgid "Create hashtags from Tags"
|
170 |
-
msgstr ""
|
171 |
-
|
172 |
-
#: inc/config.php:168
|
173 |
-
msgid "Create hashtags from Custom Fields"
|
174 |
-
msgstr ""
|
175 |
-
|
176 |
-
#: inc/config.php:174
|
177 |
-
msgid "Common Hashtags"
|
178 |
-
msgstr ""
|
179 |
-
|
180 |
-
#: inc/config.php:178
|
181 |
-
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
-
msgstr ""
|
183 |
-
|
184 |
-
#: inc/config.php:184
|
185 |
-
msgid "Maximum Hashtags Length"
|
186 |
-
msgstr ""
|
187 |
-
|
188 |
-
#: inc/config.php:188
|
189 |
-
msgid "Set to 0 (characters) to include all."
|
190 |
-
msgstr ""
|
191 |
-
|
192 |
-
#: inc/config.php:194
|
193 |
-
msgid "Hashtag Custom Field"
|
194 |
-
msgstr ""
|
195 |
-
|
196 |
-
#: inc/config.php:198
|
197 |
-
msgid "Fetch hashtags from specified custom field"
|
198 |
-
msgstr ""
|
199 |
-
|
200 |
-
#: inc/config.php:204
|
201 |
-
msgid "Minimum interval between shares"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: inc/config.php:208
|
205 |
-
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: inc/config.php:214
|
209 |
-
msgid "Minimum age of post to be eligible for sharing"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: inc/config.php:218 inc/config.php:228
|
213 |
-
msgid "Day/Days - 0 for Disabled"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: inc/config.php:224
|
217 |
-
msgid "Maximum age of post to be eligible for sharing"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: inc/config.php:234
|
221 |
-
msgid "Number of Posts to share"
|
222 |
-
msgstr ""
|
223 |
-
|
224 |
-
#: inc/config.php:238
|
225 |
-
msgid "Number of posts to share each time"
|
226 |
-
msgstr ""
|
227 |
-
|
228 |
-
#: inc/config.php:246
|
229 |
-
msgid "Post with Image"
|
230 |
-
msgstr ""
|
231 |
-
|
232 |
-
#: inc/config.php:250
|
233 |
-
msgid "Check if you want to add the post featured image to the share"
|
234 |
-
msgstr ""
|
235 |
-
|
236 |
-
#: inc/config.php:256
|
237 |
-
msgid "Share old posts more than once"
|
238 |
-
msgstr ""
|
239 |
-
|
240 |
-
#: inc/config.php:260
|
241 |
-
msgid ""
|
242 |
-
"By default once a post is shared it will not be shared again until you stop/"
|
243 |
-
"start the plugin"
|
244 |
-
msgstr ""
|
245 |
-
|
246 |
-
#: inc/config.php:268
|
247 |
-
msgid "Post Type"
|
248 |
-
msgstr ""
|
249 |
-
|
250 |
-
#: inc/config.php:272
|
251 |
-
msgid "What type of items do you want to share?"
|
252 |
-
msgstr ""
|
253 |
-
|
254 |
-
#: inc/config.php:279
|
255 |
-
msgid "Google Analytics Campaign Tracking"
|
256 |
-
msgstr ""
|
257 |
-
|
258 |
-
#: inc/config.php:283
|
259 |
-
msgid ""
|
260 |
-
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
261 |
-
"Old Post generated."
|
262 |
-
msgstr ""
|
263 |
-
|
264 |
-
#: inc/config.php:289
|
265 |
-
msgid "Exclude Specific Categories"
|
266 |
-
msgstr ""
|
267 |
-
|
268 |
-
#: inc/config.php:293
|
269 |
-
msgid ""
|
270 |
-
"Select which categories do you want to exclude to share from? Blank - None"
|
271 |
-
msgstr ""
|
272 |
-
|
273 |
-
#: inc/core.php:81
|
274 |
-
msgid "Tweet Old Post is already active!"
|
275 |
-
msgstr ""
|
276 |
-
|
277 |
-
#: inc/core.php:101
|
278 |
-
msgid "ROP is already inactive!"
|
279 |
-
msgstr ""
|
280 |
-
|
281 |
-
#: inc/core.php:811
|
282 |
-
msgid "Custom Tweet User Interval"
|
283 |
-
msgstr ""
|
284 |
-
|
285 |
-
#: inc/core.php:1127
|
286 |
-
msgid "Could not connect to Twitter!"
|
287 |
-
msgstr ""
|
288 |
-
|
289 |
-
#: inc/core.php:1385
|
290 |
-
msgid "This is only available in the"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: inc/core.php:1385
|
294 |
-
msgid "PRO version"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: inc/core.php:1644
|
298 |
-
msgid "Exclude Posts"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: inc/exclude-posts.php:24
|
302 |
-
msgid "Tweet Old Post Options Updated."
|
303 |
-
msgstr ""
|
304 |
-
|
305 |
-
#: inc/exclude-posts.php:63
|
306 |
-
msgid "No post selected please select a post to be excluded."
|
307 |
-
msgstr ""
|
308 |
-
|
309 |
-
#: inc/exclude-posts.php:70
|
310 |
-
msgid "Posts excluded successfully."
|
311 |
-
msgstr ""
|
312 |
-
|
313 |
-
#: inc/exclude-posts.php:155
|
314 |
-
msgid "Selected Categories"
|
315 |
-
msgstr ""
|
316 |
-
|
317 |
-
#: inc/exclude-posts.php:157
|
318 |
-
msgid "Filter"
|
319 |
-
msgstr ""
|
320 |
-
|
321 |
-
#: inc/exclude-posts.php:168
|
322 |
-
msgid "«"
|
323 |
-
msgstr ""
|
324 |
-
|
325 |
-
#: inc/exclude-posts.php:169
|
326 |
-
msgid "»"
|
327 |
-
msgstr ""
|
328 |
-
|
329 |
-
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
330 |
-
#, php-format
|
331 |
-
msgid "Displaying %s–%s of %s"
|
332 |
-
msgstr ""
|
333 |
-
|
334 |
-
#: inc/exclude-posts.php:356
|
335 |
-
msgid "No Posts found. Review your search or filter criteria/term."
|
336 |
-
msgstr ""
|
337 |
-
|
338 |
-
#: inc/exclude-posts.php:363
|
339 |
-
msgid ""
|
340 |
-
"You do not have enough permission to set the option. Please contact your "
|
341 |
-
"admin."
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
345 |
-
msgid "After 6 months of hard work, we have just released"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: inc/view-exclude.php:4 inc/view.php:3
|
349 |
-
msgid "the island of WordPress themes."
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: inc/view-exclude.php:5 inc/view.php:4
|
353 |
-
msgid "Show Me"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: inc/view-exclude.php:15 inc/view.php:14
|
357 |
-
msgid "by"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: inc/view-exclude.php:18 inc/view.php:17
|
361 |
-
msgid "Show your love"
|
362 |
-
msgstr ""
|
363 |
-
|
364 |
-
#: inc/view-exclude.php:19 inc/view.php:18
|
365 |
-
msgid "Leave A Review"
|
366 |
-
msgstr ""
|
367 |
-
|
368 |
-
#: inc/view-exclude.php:30
|
369 |
-
msgid "Revive Old Post is set to share on a"
|
370 |
-
msgstr ""
|
371 |
-
|
372 |
-
#: inc/view-exclude.php:32 inc/view.php:31
|
373 |
-
msgid "hours interval, "
|
374 |
-
msgstr ""
|
375 |
-
|
376 |
-
#: inc/view-exclude.php:33 inc/view.php:32
|
377 |
-
msgid "and the next share will take place in: "
|
378 |
-
msgstr ""
|
379 |
-
|
380 |
-
#: inc/view-exclude.php:38
|
381 |
-
msgid "Revive Old Post is not set to share!"
|
382 |
-
msgstr ""
|
383 |
-
|
384 |
-
#: inc/view-exclude.php:42
|
385 |
-
msgid ""
|
386 |
-
"You have selected following POST IDs to be excluded from tweeting: <span "
|
387 |
-
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
388 |
-
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
389 |
-
"changes will not be saved. "
|
390 |
-
msgstr ""
|
391 |
-
|
392 |
-
#: inc/view.php:29
|
393 |
-
msgid "Revive Old Post is set to post on a"
|
394 |
-
msgstr ""
|
395 |
-
|
396 |
-
#: inc/view.php:37
|
397 |
-
msgid "Revive Old Post is not set to post!"
|
398 |
-
msgstr ""
|
399 |
-
|
400 |
-
#: inc/view.php:42
|
401 |
-
msgid ""
|
402 |
-
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
403 |
-
"can see the error message if is any."
|
404 |
-
msgstr ""
|
405 |
-
|
406 |
-
#: inc/view.php:52
|
407 |
-
msgid "Twitter Login"
|
408 |
-
msgstr ""
|
409 |
-
|
410 |
-
#: inc/view.php:53
|
411 |
-
msgid "Login using your Twitter account."
|
412 |
-
msgstr ""
|
413 |
-
|
414 |
-
#: inc/view.php:77 inc/view.php:111
|
415 |
-
msgid "Add Account"
|
416 |
-
msgstr ""
|
417 |
-
|
418 |
-
#: inc/view.php:84
|
419 |
-
msgid "Facebook Login"
|
420 |
-
msgstr ""
|
421 |
-
|
422 |
-
#: inc/view.php:85
|
423 |
-
msgid "Login using your Facebook account."
|
424 |
-
msgstr ""
|
425 |
-
|
426 |
-
#: inc/view.php:109
|
427 |
-
msgid "Authorize"
|
428 |
-
msgstr ""
|
429 |
-
|
430 |
-
#: inc/view.php:118
|
431 |
-
msgid "Linkedin Login"
|
432 |
-
msgstr ""
|
433 |
-
|
434 |
-
#: inc/view.php:119
|
435 |
-
msgid "Login using your Linkedin account."
|
436 |
-
msgstr ""
|
437 |
-
|
438 |
-
#: inc/view.php:141
|
439 |
-
msgid "Add account"
|
440 |
-
msgstr ""
|
441 |
-
|
442 |
-
#: inc/view.php:154
|
443 |
-
msgid "Select All"
|
444 |
-
msgstr ""
|
445 |
-
|
446 |
-
#: inc/view.php:165
|
447 |
-
msgid "Reset"
|
448 |
-
msgstr ""
|
449 |
-
|
450 |
-
#: inc/view.php:166
|
451 |
-
msgid "Save"
|
452 |
-
msgstr ""
|
453 |
-
|
454 |
-
#: inc/view.php:167
|
455 |
-
msgid "Start Sharing"
|
456 |
-
msgstr ""
|
457 |
-
|
458 |
-
#: inc/view.php:168
|
459 |
-
msgid "Stop Sharing"
|
460 |
-
msgstr ""
|
461 |
-
|
462 |
-
#: inc/view.php:169
|
463 |
-
msgid "See Sample Post"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: inc/view.php:171
|
467 |
-
msgid ""
|
468 |
-
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
469 |
-
msgstr ""
|
470 |
-
|
471 |
-
#: inc/view.php:176
|
472 |
-
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
473 |
-
msgstr ""
|
474 |
-
|
475 |
-
#: inc/view.php:177
|
476 |
-
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
477 |
-
msgstr ""
|
478 |
-
|
479 |
-
#: inc/view.php:178
|
480 |
-
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
481 |
-
msgstr ""
|
482 |
-
|
483 |
-
#: inc/view.php:185
|
484 |
-
msgid "Sample Post Preview"
|
485 |
-
msgstr ""
|
486 |
-
|
487 |
-
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
488 |
-
msgid "Close preview"
|
489 |
-
msgstr ""
|
490 |
-
|
491 |
-
#: inc/view.php:188
|
492 |
-
msgid "Share now"
|
493 |
-
msgstr ""
|
494 |
-
|
495 |
-
#: inc/view.php:194
|
496 |
-
msgid "Choose a Profile or Page"
|
497 |
-
msgstr ""
|
498 |
-
|
499 |
-
#: inc/view.php:202
|
500 |
-
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
501 |
-
msgstr ""
|
502 |
-
|
503 |
-
#: inc/view.php:206 inc/view.php:252
|
504 |
-
msgid "Go on"
|
505 |
-
msgstr ""
|
506 |
-
|
507 |
-
#: inc/view.php:207
|
508 |
-
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
509 |
-
msgstr ""
|
510 |
-
|
511 |
-
#: inc/view.php:208
|
512 |
-
msgid ""
|
513 |
-
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
514 |
-
"click on Create App"
|
515 |
-
msgstr ""
|
516 |
-
|
517 |
-
#: inc/view.php:209
|
518 |
-
msgid ""
|
519 |
-
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
520 |
-
"<strong>App Secret</strong> in the fields on the right"
|
521 |
-
msgstr ""
|
522 |
-
|
523 |
-
#: inc/view.php:210
|
524 |
-
msgid ""
|
525 |
-
"Go on Settings tab from the left sidebar menu add the contact email and "
|
526 |
-
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: inc/view.php:211
|
530 |
-
msgid ""
|
531 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
532 |
-
"Domains and Site URL fields and <strong>Save</strong>"
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
-
#: inc/view.php:212
|
536 |
-
msgid ""
|
537 |
-
"Go on Status & Review tab and set your app live from the top-right switch."
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: inc/view.php:213 inc/view.php:259
|
541 |
-
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
542 |
-
msgstr ""
|
543 |
-
|
544 |
-
#: inc/view.php:219
|
545 |
-
msgid "Facebook App ID"
|
546 |
-
msgstr ""
|
547 |
-
|
548 |
-
#: inc/view.php:220
|
549 |
-
msgid "ID from your app created on facebook website."
|
550 |
-
msgstr ""
|
551 |
-
|
552 |
-
#: inc/view.php:231
|
553 |
-
msgid "Facebook App Secret"
|
554 |
-
msgstr ""
|
555 |
-
|
556 |
-
#: inc/view.php:232
|
557 |
-
msgid "Secret from your app created on facebook website. "
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: inc/view.php:240 inc/view.php:287
|
561 |
-
msgid "Authorize App"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: inc/view.php:248
|
565 |
-
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: inc/view.php:253
|
569 |
-
msgid ""
|
570 |
-
"Enter the required details and pay special attention to the further fields :"
|
571 |
-
msgstr ""
|
572 |
-
|
573 |
-
#: inc/view.php:254
|
574 |
-
msgid "Make sure you set Live Status to LIVE"
|
575 |
-
msgstr ""
|
576 |
-
|
577 |
-
#: inc/view.php:255
|
578 |
-
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
579 |
-
msgstr ""
|
580 |
-
|
581 |
-
#: inc/view.php:256
|
582 |
-
msgid ""
|
583 |
-
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
584 |
-
"2.0 Redirect URLs"
|
585 |
-
msgstr ""
|
586 |
-
|
587 |
-
#: inc/view.php:257
|
588 |
-
msgid ""
|
589 |
-
"Once all required fields are filled click on Add Application button, get the "
|
590 |
-
"API Key and Secret Key and paste them in the fields on the right"
|
591 |
-
msgstr ""
|
592 |
-
|
593 |
-
#: inc/view.php:265
|
594 |
-
msgid "Linkedin API Key"
|
595 |
-
msgstr ""
|
596 |
-
|
597 |
-
#: inc/view.php:266
|
598 |
-
msgid "API Key that you get once you create an app"
|
599 |
-
msgstr ""
|
600 |
-
|
601 |
-
#: inc/view.php:277
|
602 |
-
msgid "Linkedin Secret Key"
|
603 |
-
msgstr ""
|
604 |
-
|
605 |
-
#: inc/view.php:278
|
606 |
-
msgid "Secret Key that you get once you create an app"
|
607 |
-
msgstr ""
|
608 |
-
|
609 |
-
#. Description of the plugin/theme
|
610 |
-
msgid ""
|
611 |
-
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
612 |
-
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
613 |
-
"also helps you to promote your content. You can set time and no of posts to "
|
614 |
-
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
615 |
-
"href=\"https://themeisle.com/contact/?"
|
616 |
-
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
617 |
-
msgstr ""
|
1 |
+
# Copyright (C) 2014 Revive Old Post (Former Tweet Old Post)
|
2 |
+
# This file is distributed under the same license as the Revive Old Post (Former Tweet Old Post) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Revive Old Post (Former Tweet Old Post) 6.8\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/tweet-old-post\n"
|
7 |
+
"POT-Creation-Date: 2014-07-15 23:58+0100\n"
|
8 |
+
"PO-Revision-Date: 2014-07-16 00:07+0100\n"
|
9 |
+
"Last-Translator: Ionut <friends@themeisle.com>\n"
|
10 |
+
"Language-Team: LANGUAGE <LL@li.org>\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: Poedit 1.5.7\n"
|
15 |
+
"X-Poedit-KeywordsList: _;__;_e\n"
|
16 |
+
"X-Poedit-Basepath: ../\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
"X-Poedit-SearchPath-1: inc\n"
|
19 |
+
|
20 |
+
#: inc/class-remote-notification-client.php:260
|
21 |
+
msgid "Dismiss notification"
|
22 |
+
msgstr ""
|
23 |
+
|
24 |
+
#: inc/class-remote-notification-client.php:262
|
25 |
+
msgid "Dismiss"
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
#: inc/config.php:24
|
29 |
+
msgid "Post Content"
|
30 |
+
msgstr ""
|
31 |
+
|
32 |
+
#: inc/config.php:28
|
33 |
+
msgid "What do you want to share?"
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
#: inc/config.php:30
|
37 |
+
msgid "Title Only"
|
38 |
+
msgstr ""
|
39 |
+
|
40 |
+
#: inc/config.php:31
|
41 |
+
msgid "Body Only"
|
42 |
+
msgstr ""
|
43 |
+
|
44 |
+
#: inc/config.php:32
|
45 |
+
msgid "Title & Body"
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
#: inc/config.php:33
|
49 |
+
msgid "Custom Field"
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: inc/config.php:39
|
53 |
+
msgid "Post Content Custom Field"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: inc/config.php:43
|
57 |
+
msgid "Which custom field do you want to fetch info from?"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: inc/config.php:49
|
61 |
+
msgid "Additional Text"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: inc/config.php:53
|
65 |
+
msgid "Text added to your auto posts"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: inc/config.php:59
|
69 |
+
msgid "Additional Text At"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: inc/config.php:63
|
73 |
+
msgid "Where do you want the text to be added?"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: inc/config.php:65
|
77 |
+
msgid "Beginning of Post"
|
78 |
+
msgstr ""
|
79 |
+
|
80 |
+
#: inc/config.php:66
|
81 |
+
msgid "End of Post"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: inc/config.php:72
|
85 |
+
msgid "Include Link"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: inc/config.php:76
|
89 |
+
msgid "Include a link to your post?"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: inc/config.php:78
|
93 |
+
msgid "Yes"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: inc/config.php:79
|
97 |
+
msgid "No"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: inc/config.php:85
|
101 |
+
msgid "Fetch URL From Custom Field"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: inc/config.php:89
|
105 |
+
msgid "URL will be fetched from a custom field."
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: inc/config.php:95
|
109 |
+
msgid "URL Custom Field"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: inc/config.php:99
|
113 |
+
msgid "URL will be fetched from the specified custom field."
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: inc/config.php:105
|
117 |
+
msgid "Use URL Shortner"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: inc/config.php:117
|
121 |
+
msgid "URL Shortner Service"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: inc/config.php:121
|
125 |
+
msgid "Shorten the link to your post."
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: inc/config.php:123
|
129 |
+
msgid "wp short url"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: inc/config.php:125
|
133 |
+
msgid "is.gd"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: inc/config.php:126
|
137 |
+
msgid "bit.ly"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: inc/config.php:138
|
141 |
+
msgid "Bitly Key"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: inc/config.php:148
|
145 |
+
msgid "Bitly User"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: inc/config.php:158
|
149 |
+
msgid "Hashtags"
|
150 |
+
msgstr ""
|
151 |
+
|
152 |
+
#: inc/config.php:162
|
153 |
+
msgid "Include #hashtags in your auto posts?"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: inc/config.php:164
|
157 |
+
msgid "Don't add any hashtags"
|
158 |
+
msgstr ""
|
159 |
+
|
160 |
+
#: inc/config.php:165
|
161 |
+
msgid "Common hashtags for all shares"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: inc/config.php:166
|
165 |
+
msgid "Create hashtags from Categories"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: inc/config.php:167
|
169 |
+
msgid "Create hashtags from Tags"
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: inc/config.php:168
|
173 |
+
msgid "Create hashtags from Custom Fields"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: inc/config.php:174
|
177 |
+
msgid "Common Hashtags"
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
#: inc/config.php:178
|
181 |
+
msgid "Specify which hashtags you want to be used. eg. #example, #example2"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
#: inc/config.php:184
|
185 |
+
msgid "Maximum Hashtags Length"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#: inc/config.php:188
|
189 |
+
msgid "Set to 0 (characters) to include all."
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
+
#: inc/config.php:194
|
193 |
+
msgid "Hashtag Custom Field"
|
194 |
+
msgstr ""
|
195 |
+
|
196 |
+
#: inc/config.php:198
|
197 |
+
msgid "Fetch hashtags from specified custom field"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: inc/config.php:204
|
201 |
+
msgid "Minimum interval between shares"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: inc/config.php:208
|
205 |
+
msgid "Minimum time between shares (Hour/Hours), 0.4 can be used also."
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
#: inc/config.php:214
|
209 |
+
msgid "Minimum age of post to be eligible for sharing"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: inc/config.php:218 inc/config.php:228
|
213 |
+
msgid "Day/Days - 0 for Disabled"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: inc/config.php:224
|
217 |
+
msgid "Maximum age of post to be eligible for sharing"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: inc/config.php:234
|
221 |
+
msgid "Number of Posts to share"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: inc/config.php:238
|
225 |
+
msgid "Number of posts to share each time"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: inc/config.php:246
|
229 |
+
msgid "Post with Image"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#: inc/config.php:250
|
233 |
+
msgid "Check if you want to add the post featured image to the share"
|
234 |
+
msgstr ""
|
235 |
+
|
236 |
+
#: inc/config.php:256
|
237 |
+
msgid "Share old posts more than once"
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: inc/config.php:260
|
241 |
+
msgid ""
|
242 |
+
"By default once a post is shared it will not be shared again until you stop/"
|
243 |
+
"start the plugin"
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: inc/config.php:268
|
247 |
+
msgid "Post Type"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: inc/config.php:272
|
251 |
+
msgid "What type of items do you want to share?"
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: inc/config.php:279
|
255 |
+
msgid "Google Analytics Campaign Tracking"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: inc/config.php:283
|
259 |
+
msgid ""
|
260 |
+
"Enabling Campaign Tracking you would be able to see how much traffic Revive "
|
261 |
+
"Old Post generated."
|
262 |
+
msgstr ""
|
263 |
+
|
264 |
+
#: inc/config.php:289
|
265 |
+
msgid "Exclude Specific Categories"
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: inc/config.php:293
|
269 |
+
msgid ""
|
270 |
+
"Select which categories do you want to exclude to share from? Blank - None"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: inc/core.php:81
|
274 |
+
msgid "Tweet Old Post is already active!"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: inc/core.php:101
|
278 |
+
msgid "ROP is already inactive!"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: inc/core.php:811
|
282 |
+
msgid "Custom Tweet User Interval"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: inc/core.php:1127
|
286 |
+
msgid "Could not connect to Twitter!"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: inc/core.php:1385
|
290 |
+
msgid "This is only available in the"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: inc/core.php:1385
|
294 |
+
msgid "PRO version"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: inc/core.php:1644
|
298 |
+
msgid "Exclude Posts"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: inc/exclude-posts.php:24
|
302 |
+
msgid "Tweet Old Post Options Updated."
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: inc/exclude-posts.php:63
|
306 |
+
msgid "No post selected please select a post to be excluded."
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: inc/exclude-posts.php:70
|
310 |
+
msgid "Posts excluded successfully."
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: inc/exclude-posts.php:155
|
314 |
+
msgid "Selected Categories"
|
315 |
+
msgstr ""
|
316 |
+
|
317 |
+
#: inc/exclude-posts.php:157
|
318 |
+
msgid "Filter"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: inc/exclude-posts.php:168
|
322 |
+
msgid "«"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: inc/exclude-posts.php:169
|
326 |
+
msgid "»"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: inc/exclude-posts.php:177 inc/exclude-posts.php:272
|
330 |
+
#, php-format
|
331 |
+
msgid "Displaying %s–%s of %s"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: inc/exclude-posts.php:356
|
335 |
+
msgid "No Posts found. Review your search or filter criteria/term."
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: inc/exclude-posts.php:363
|
339 |
+
msgid ""
|
340 |
+
"You do not have enough permission to set the option. Please contact your "
|
341 |
+
"admin."
|
342 |
+
msgstr ""
|
343 |
+
|
344 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
345 |
+
msgid "After 6 months of hard work, we have just released"
|
346 |
+
msgstr ""
|
347 |
+
|
348 |
+
#: inc/view-exclude.php:4 inc/view.php:3
|
349 |
+
msgid "the island of WordPress themes."
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: inc/view-exclude.php:5 inc/view.php:4
|
353 |
+
msgid "Show Me"
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: inc/view-exclude.php:15 inc/view.php:14
|
357 |
+
msgid "by"
|
358 |
+
msgstr ""
|
359 |
+
|
360 |
+
#: inc/view-exclude.php:18 inc/view.php:17
|
361 |
+
msgid "Show your love"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#: inc/view-exclude.php:19 inc/view.php:18
|
365 |
+
msgid "Leave A Review"
|
366 |
+
msgstr ""
|
367 |
+
|
368 |
+
#: inc/view-exclude.php:30
|
369 |
+
msgid "Revive Old Post is set to share on a"
|
370 |
+
msgstr ""
|
371 |
+
|
372 |
+
#: inc/view-exclude.php:32 inc/view.php:31
|
373 |
+
msgid "hours interval, "
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: inc/view-exclude.php:33 inc/view.php:32
|
377 |
+
msgid "and the next share will take place in: "
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: inc/view-exclude.php:38
|
381 |
+
msgid "Revive Old Post is not set to share!"
|
382 |
+
msgstr ""
|
383 |
+
|
384 |
+
#: inc/view-exclude.php:42
|
385 |
+
msgid ""
|
386 |
+
"You have selected following POST IDs to be excluded from tweeting: <span "
|
387 |
+
"id='excludeList' style='font-weight:bold;font-style:italic;'></span>.\n"
|
388 |
+
"Note: If you have made any change and dint hit 'Exclude Selected' button "
|
389 |
+
"changes will not be saved. "
|
390 |
+
msgstr ""
|
391 |
+
|
392 |
+
#: inc/view.php:29
|
393 |
+
msgid "Revive Old Post is set to post on a"
|
394 |
+
msgstr ""
|
395 |
+
|
396 |
+
#: inc/view.php:37
|
397 |
+
msgid "Revive Old Post is not set to post!"
|
398 |
+
msgstr ""
|
399 |
+
|
400 |
+
#: inc/view.php:42
|
401 |
+
msgid ""
|
402 |
+
"Once you click start sharing a post will be sent in 15 sec, also here you "
|
403 |
+
"can see the error message if is any."
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: inc/view.php:52
|
407 |
+
msgid "Twitter Login"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: inc/view.php:53
|
411 |
+
msgid "Login using your Twitter account."
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: inc/view.php:77 inc/view.php:111
|
415 |
+
msgid "Add Account"
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: inc/view.php:84
|
419 |
+
msgid "Facebook Login"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: inc/view.php:85
|
423 |
+
msgid "Login using your Facebook account."
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: inc/view.php:109
|
427 |
+
msgid "Authorize"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: inc/view.php:118
|
431 |
+
msgid "Linkedin Login"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: inc/view.php:119
|
435 |
+
msgid "Login using your Linkedin account."
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: inc/view.php:141
|
439 |
+
msgid "Add account"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: inc/view.php:154
|
443 |
+
msgid "Select All"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: inc/view.php:165
|
447 |
+
msgid "Reset"
|
448 |
+
msgstr ""
|
449 |
+
|
450 |
+
#: inc/view.php:166
|
451 |
+
msgid "Save"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: inc/view.php:167
|
455 |
+
msgid "Start Sharing"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: inc/view.php:168
|
459 |
+
msgid "Stop Sharing"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: inc/view.php:169
|
463 |
+
msgid "See Sample Post"
|
464 |
+
msgstr ""
|
465 |
+
|
466 |
+
#: inc/view.php:171
|
467 |
+
msgid ""
|
468 |
+
"We are not affiliated or partner with Twitter/Facebook/Linkedin in any way."
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: inc/view.php:176
|
472 |
+
msgid "Upgrade Tweet Old Post for only $9.99 - Upgrade To Pro Now!"
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: inc/view.php:177
|
476 |
+
msgid "ThemeIsle - Deadly Simple WordPress Themes"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: inc/view.php:178
|
480 |
+
msgid "ThemeIsle - Promote Our Themes and Plugins and get 55% Comission"
|
481 |
+
msgstr ""
|
482 |
+
|
483 |
+
#: inc/view.php:185
|
484 |
+
msgid "Sample Post Preview"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
#: inc/view.php:187 inc/view.php:196 inc/view.php:242 inc/view.php:289
|
488 |
+
msgid "Close preview"
|
489 |
+
msgstr ""
|
490 |
+
|
491 |
+
#: inc/view.php:188
|
492 |
+
msgid "Share now"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#: inc/view.php:194
|
496 |
+
msgid "Choose a Profile or Page"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#: inc/view.php:202
|
500 |
+
msgid "Add Your Facebook Account Following The Instructions On The Left"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#: inc/view.php:206 inc/view.php:252
|
504 |
+
msgid "Go on"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: inc/view.php:207
|
508 |
+
msgid "Click on <strong>Create New App</strong> from the top right corner"
|
509 |
+
msgstr ""
|
510 |
+
|
511 |
+
#: inc/view.php:208
|
512 |
+
msgid ""
|
513 |
+
"Enter a <strong>Display Name</strong> and <strong>Namespace</strong> and "
|
514 |
+
"click on Create App"
|
515 |
+
msgstr ""
|
516 |
+
|
517 |
+
#: inc/view.php:209
|
518 |
+
msgid ""
|
519 |
+
"Once you arrive on the app dashboard, copy your <strong>App ID</strong> and "
|
520 |
+
"<strong>App Secret</strong> in the fields on the right"
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
#: inc/view.php:210
|
524 |
+
msgid ""
|
525 |
+
"Go on Settings tab from the left sidebar menu add the contact email and "
|
526 |
+
"click on <strong>Add Platform</strong> and select <strong>Website</strong>"
|
527 |
+
msgstr ""
|
528 |
+
|
529 |
+
#: inc/view.php:211
|
530 |
+
msgid ""
|
531 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into App "
|
532 |
+
"Domains and Site URL fields and <strong>Save</strong>"
|
533 |
+
msgstr ""
|
534 |
+
|
535 |
+
#: inc/view.php:212
|
536 |
+
msgid ""
|
537 |
+
"Go on Status & Review tab and set your app live from the top-right switch."
|
538 |
+
msgstr ""
|
539 |
+
|
540 |
+
#: inc/view.php:213 inc/view.php:259
|
541 |
+
msgid "Now everything is done, click on <strong>Authorize App</strong> button."
|
542 |
+
msgstr ""
|
543 |
+
|
544 |
+
#: inc/view.php:219
|
545 |
+
msgid "Facebook App ID"
|
546 |
+
msgstr ""
|
547 |
+
|
548 |
+
#: inc/view.php:220
|
549 |
+
msgid "ID from your app created on facebook website."
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: inc/view.php:231
|
553 |
+
msgid "Facebook App Secret"
|
554 |
+
msgstr ""
|
555 |
+
|
556 |
+
#: inc/view.php:232
|
557 |
+
msgid "Secret from your app created on facebook website. "
|
558 |
+
msgstr ""
|
559 |
+
|
560 |
+
#: inc/view.php:240 inc/view.php:287
|
561 |
+
msgid "Authorize App"
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: inc/view.php:248
|
565 |
+
msgid "Add Your Linkedin Account Following The Instructions On The Left"
|
566 |
+
msgstr ""
|
567 |
+
|
568 |
+
#: inc/view.php:253
|
569 |
+
msgid ""
|
570 |
+
"Enter the required details and pay special attention to the further fields :"
|
571 |
+
msgstr ""
|
572 |
+
|
573 |
+
#: inc/view.php:254
|
574 |
+
msgid "Make sure you set Live Status to LIVE"
|
575 |
+
msgstr ""
|
576 |
+
|
577 |
+
#: inc/view.php:255
|
578 |
+
msgid "Default Scope should have r_basicprofile and rw_nus checked"
|
579 |
+
msgstr ""
|
580 |
+
|
581 |
+
#: inc/view.php:256
|
582 |
+
msgid ""
|
583 |
+
"Copy/Paste this url : <strong><?php echo SETTINGSURL; ?></strong> into OAuth "
|
584 |
+
"2.0 Redirect URLs"
|
585 |
+
msgstr ""
|
586 |
+
|
587 |
+
#: inc/view.php:257
|
588 |
+
msgid ""
|
589 |
+
"Once all required fields are filled click on Add Application button, get the "
|
590 |
+
"API Key and Secret Key and paste them in the fields on the right"
|
591 |
+
msgstr ""
|
592 |
+
|
593 |
+
#: inc/view.php:265
|
594 |
+
msgid "Linkedin API Key"
|
595 |
+
msgstr ""
|
596 |
+
|
597 |
+
#: inc/view.php:266
|
598 |
+
msgid "API Key that you get once you create an app"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: inc/view.php:277
|
602 |
+
msgid "Linkedin Secret Key"
|
603 |
+
msgstr ""
|
604 |
+
|
605 |
+
#: inc/view.php:278
|
606 |
+
msgid "Secret Key that you get once you create an app"
|
607 |
+
msgstr ""
|
608 |
+
|
609 |
+
#. Description of the plugin/theme
|
610 |
+
msgid ""
|
611 |
+
"Wordpress plugin that helps you to keeps your old posts alive by sharing "
|
612 |
+
"them and driving more traffic to them from twitter/facebook or linkedin. It "
|
613 |
+
"also helps you to promote your content. You can set time and no of posts to "
|
614 |
+
"share to drive more traffic.For questions, comments, or feature requests, <a "
|
615 |
+
"href=\"https://themeisle.com/contact/?"
|
616 |
+
"utm_source=plugindesc&utm_medium=announce&utm_campaign=top\">contact </a> us!"
|
617 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -1,786 +1,812 @@
|
|
1 |
-
=== Revive Old Post (Former Tweet Old Post) ===
|
2 |
-
Contributors: codeinwp,marius2012,marius_codeinwp,hardeepasrani,Madalin_Themeisle
|
3 |
-
Tags: admin, ajax, plugin, twitter, facebook, linkedin, automatic, tweet, share, wordpress, marketing, sharing, Tweet old post, Tweets,evergreen, Promote old post by tweeting about them, Twitter, Auto Tweet, Hashtags, Twitter Hashtags, Tweet Posts, Tweet, Post Tweets, Wordpress Twitter Plugin, Twitter Plugin, Tweet Selected Posts, Twitter, Promote Posts, Tweet Random Post, Share Post, Promote Post, Post Tweets, Wordpress Twitter, Drive Traffic, Tweet Selected Posts
|
4 |
-
Requires at least: 2.7
|
5 |
-
Tested up to: 4.
|
6 |
-
Stable tag: trunk
|
7 |
-
|
8 |
-
|
9 |
-
Plugin to share about your old posts on twitter, facebook, linkedin to get more hits for them and keep them alive.
|
10 |
-
|
11 |
-
== Description ==
|
12 |
-
|
13 |
-
### What the plugin can do ?
|
14 |
-
|
15 |
-
This plugin helps you to keeps your old posts alive by sharing them and driving more traffic to them from social networks. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
Revive Old Post
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
-
|
24 |
-
-
|
25 |
-
-
|
26 |
-
-
|
27 |
-
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
>
|
33 |
-
|
34 |
-
>
|
35 |
-
|
36 |
-
>
|
37 |
-
|
38 |
-
> *
|
39 |
-
> *
|
40 |
-
> *
|
41 |
-
> * Post
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
**
|
88 |
-
|
89 |
-
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
**
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
**New in v7.
|
129 |
-
|
130 |
-
* Fixed
|
131 |
-
* Fixed
|
132 |
-
|
133 |
-
|
134 |
-
**New in v7.
|
135 |
-
|
136 |
-
* Fixed
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
*
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
* Added
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
*
|
175 |
-
* Fixed
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
Added
|
181 |
-
Fixed
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
**New in v6.
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
**New in
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
-
|
329 |
-
-
|
330 |
-
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
**New in
|
346 |
-
|
347 |
-
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
-
|
365 |
-
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
**New in v3.2.
|
402 |
-
|
403 |
-
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
**New in v3.2**
|
441 |
-
|
442 |
-
- Bug fixes
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
**New in
|
499 |
-
|
500 |
-
-
|
501 |
-
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
- Tweet
|
528 |
-
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
-
|
602 |
-
-
|
603 |
-
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
-
|
641 |
-
|
642 |
-
|
643 |
-
**New in v3.
|
644 |
-
|
645 |
-
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
-
|
653 |
-
-
|
654 |
-
-
|
655 |
-
-
|
656 |
-
|
657 |
-
|
658 |
-
**New in v3.
|
659 |
-
|
660 |
-
-
|
661 |
-
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
-
|
706 |
-
|
707 |
-
|
708 |
-
**New in v3.
|
709 |
-
|
710 |
-
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
-
|
717 |
-
-
|
718 |
-
|
719 |
-
|
720 |
-
**New in v3.
|
721 |
-
|
722 |
-
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
-
|
730 |
-
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
-
|
785 |
-
-
|
786 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Revive Old Post (Former Tweet Old Post) ===
|
2 |
+
Contributors: codeinwp,marius2012,marius_codeinwp,hardeepasrani,Madalin_Themeisle
|
3 |
+
Tags: admin, ajax, plugin, twitter, facebook, linkedin, automatic, tweet, share, wordpress, marketing, sharing, Tweet old post, Tweets,evergreen, Promote old post by tweeting about them, Twitter, Auto Tweet, Hashtags, Twitter Hashtags, Tweet Posts, Tweet, Post Tweets, Wordpress Twitter Plugin, Twitter Plugin, Tweet Selected Posts, Twitter, Promote Posts, Tweet Random Post, Share Post, Promote Post, Post Tweets, Wordpress Twitter, Drive Traffic, Tweet Selected Posts
|
4 |
+
Requires at least: 2.7
|
5 |
+
Tested up to: 4.5.2
|
6 |
+
Stable tag: trunk
|
7 |
+
|
8 |
+
|
9 |
+
Plugin to share about your old posts on twitter, facebook, linkedin to get more hits for them and keep them alive.
|
10 |
+
|
11 |
+
== Description ==
|
12 |
+
|
13 |
+
### What the plugin can do ?
|
14 |
+
|
15 |
+
This plugin helps you to keeps your old posts alive by sharing them and driving more traffic to them from social networks. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="http://themeisle.com/contact/?utm_source=readmetop&utm_medium=announce&utm_campaign=top">contact us</a>!
|
16 |
+
|
17 |
+
|
18 |
+
|
19 |
+
**Revive Old Post provides following features**
|
20 |
+
|
21 |
+
- Share new and old posts.
|
22 |
+
- Choose the time between posts.
|
23 |
+
- Choose the number of posts to share.
|
24 |
+
- Use hashtags to focus on topics.
|
25 |
+
- Include links back to your site.
|
26 |
+
- Exclude categories
|
27 |
+
- Exclude specific posts.
|
28 |
+
|
29 |
+
|
30 |
+
> ### Why to upgrade to PRO ?
|
31 |
+
|
32 |
+
> Using the <a rel="friend" href="https://themeisle.com/plugins/tweet-old-post-pro/">PRO version</a> of the plugin you will unleash the most important functionality : images in tweets . Using those your RT/CTR will go crazy.
|
33 |
+
|
34 |
+
> Other notable features :
|
35 |
+
|
36 |
+
> * Multiple Social Accounts
|
37 |
+
> * Custom Post Types support
|
38 |
+
> * Linkedin support
|
39 |
+
> * Post with image
|
40 |
+
> * Custom Schedule
|
41 |
+
> * Post to Xing / Tumblr
|
42 |
+
|
43 |
+
Some of you reported some scheduling issues, after investigation work looks like this is coming from some web hosts, make sure you check-out this post about <a rel="friend" href="http://www.codeinwp.com/blog/best-wordpress-shared-hosting-providers/">shared WordPress hosting</a>, which should help you pick a good one that works.
|
44 |
+
|
45 |
+
For updates follow https://twitter.com/themeisle If you have anything you can let us know <a href="http://themeisle.com/contact/?utm_source=readmetop&utm_medium=announce&utm_campaign=top">here</a>.
|
46 |
+
|
47 |
+
** Useful Resources **
|
48 |
+
|
49 |
+
- Check-out our <a href="http://docs.themeisle.com" rel="friend" target="_blank">tutorials site</a>
|
50 |
+
- Take a look at our other <a href="http://themeisle.com/wordpress-plugins/" rel="friend" target="_blank">plugins</a>.
|
51 |
+
- Read more about WordPress on our <a href="http://www.codeinwp.com/blog/" rel="friend" target="_blank">blog</a>.
|
52 |
+
|
53 |
+
|
54 |
+
= Translations =
|
55 |
+
|
56 |
+
* sk_SK translation by Patrik Žec (PATWIST) of http://patwist.com
|
57 |
+
|
58 |
+
== Installation ==
|
59 |
+
|
60 |
+
Following are the steps to install the Revive Old Post plugin
|
61 |
+
|
62 |
+
1. Download the latest version of the Revive Old Posts Plugin to your computer from here.
|
63 |
+
2. With an FTP program, access your sites server.
|
64 |
+
3. Upload (copy) the Plugin file(s) or folder to the /wp-content/plugins folder.
|
65 |
+
4. In your WordPress Administration Panels, click on Plugins from the menu.
|
66 |
+
5. You should see Revive Old Posts Plugin listed. If not, with your FTP program, check the folder to see if it is installed. If it isn�t, upload the file(s) again. If it is, delete the files and upload them again.
|
67 |
+
6. To turn the Revive Old Posts Plugin on, click Activate.
|
68 |
+
7. Check your Administration Panels or WordPress blog to see if the Plugin is working.
|
69 |
+
8. You can change the plugin options from Revive Old Posts under settings menu.
|
70 |
+
|
71 |
+
Alternatively you can also follow the following steps to install the Revive Old Post plugin
|
72 |
+
|
73 |
+
1. In your WordPress Administration Panels, click on Add New option under Plugins from the menu.
|
74 |
+
2. Click on upload at the top.
|
75 |
+
3. Browse the location and select the Revive Old Post Plugin and click install now.
|
76 |
+
4. To turn the Revive Old Posts Plugin on, click Activate.
|
77 |
+
5. Check your Administration Panels or WordPress blog to see if the Plugin is working.
|
78 |
+
6. You can change the plugin options from Revive Old Posts under settings menu.
|
79 |
+
|
80 |
+
== Frequently Asked Questions ==
|
81 |
+
If you have any questions please get in touch with us at,
|
82 |
+
https://themeisle.com/contact/
|
83 |
+
|
84 |
+
**Before asking any question you need to check if you have the latest version, either PRO or FREE.**
|
85 |
+
|
86 |
+
|
87 |
+
**Plugin doesn't post at the regular interval or sends more posts than it should send to social networks.**
|
88 |
+
|
89 |
+
- Unfortunately wp_cron function isn't perfect, it trigger just when somebody visit your site, so you nobody visit your site in 3 hours, ROP won't trigger. In order to achieve this you need to enable Remote Check and add this line to your wp-config.php right after the lines with database credentials:
|
90 |
+
|
91 |
+
> define('DISABLE_WP_CRON', true);
|
92 |
+
|
93 |
+
**Post are not sent to the social networks and i always see the green badge with 'You can refresh the page to see the next schedule !'**
|
94 |
+
|
95 |
+
- You need to add this line to your wp-config.php right after the lines with database credentials:
|
96 |
+
|
97 |
+
> define('ALTERNATE_WP_CRON', true);
|
98 |
+
|
99 |
+
**How do i add a facebook account**
|
100 |
+
|
101 |
+
- Please fallow this tutorial : http://docs.themeisle.com/article/66-how-to-create-a-facebook-application
|
102 |
+
|
103 |
+
**If new version doesn't works**
|
104 |
+
|
105 |
+
- Try other versions from http://wordpress.org/extend/plugins/tweet-old-post/download/
|
106 |
+
- Manually upload it in your plugins folder, activate and use.
|
107 |
+
- Note: Do not upgrade your plugin if you want to use the older version.
|
108 |
+
|
109 |
+
|
110 |
+
**Any more questions or doubts?**
|
111 |
+
|
112 |
+
- Contact us at https://themeisle.com/contact/ and send us also a copy from Revive Old Post -> System Info
|
113 |
+
|
114 |
+
|
115 |
+
|
116 |
+
== Screenshots ==
|
117 |
+
|
118 |
+
1. Screenshot 1 Basic configurable options for Tweet Old Post to function, with ability to tweet at random interval.
|
119 |
+
|
120 |
+
|
121 |
+
for more you can check out
|
122 |
+
|
123 |
+
https://themeisle.com/plugins/tweet-old-post-lite/
|
124 |
+
|
125 |
+
|
126 |
+
== Changelog ==
|
127 |
+
|
128 |
+
**New in v7.3.5**
|
129 |
+
|
130 |
+
* Fixed issue with encoding
|
131 |
+
* Fixed issue with shortners and slow loading
|
132 |
+
* Fixed layout issue for posts with images in Manage Queue
|
133 |
+
|
134 |
+
**New in v7.3.2**
|
135 |
+
|
136 |
+
* Fixed issue with exclude posts
|
137 |
+
|
138 |
+
**New in v7.3.1**
|
139 |
+
|
140 |
+
* Fixed compatibility with old php versions.
|
141 |
+
|
142 |
+
**New in v7.3**
|
143 |
+
|
144 |
+
* Added Manage queue timeline.
|
145 |
+
* Fixed responsive issues
|
146 |
+
* Fixed issue with is.gd
|
147 |
+
|
148 |
+
**New in v7.2**
|
149 |
+
|
150 |
+
* Fixed randomization algorithm, preventing sharing of same post twice until the end of cycle.
|
151 |
+
* Fixed date range selection when both values are 0
|
152 |
+
|
153 |
+
|
154 |
+
**New in v7.1**
|
155 |
+
|
156 |
+
* Fixed inconsistency in the schedule. Now posting is more accurate.
|
157 |
+
* Fixed image sharing issue which was not working for some server configuration
|
158 |
+
|
159 |
+
|
160 |
+
**New in v7.0.8**
|
161 |
+
* Added facebook tutorial for facebook share.
|
162 |
+
* Fixed multisite issue for redirect url
|
163 |
+
* Making translation ready for new wordpress.org system
|
164 |
+
* Fixed single quotes problem
|
165 |
+
* Fixed tumblr tags
|
166 |
+
|
167 |
+
**New in v7.0.4**
|
168 |
+
|
169 |
+
* Changed pro banner.
|
170 |
+
* Fixed bugs with the new facebook api changes.
|
171 |
+
|
172 |
+
**New in v7.0.2**
|
173 |
+
|
174 |
+
* Removed twitter update_with_media call.
|
175 |
+
* Fixed activation error notices when WP_DEBUG was enabled
|
176 |
+
|
177 |
+
**New in v7.0**
|
178 |
+
|
179 |
+
* Fixed issue with duplicate posting
|
180 |
+
* Added Xing and Tumbr Networks
|
181 |
+
* Fixed issue with random posts on large databases.
|
182 |
+
|
183 |
+
**New in v6.9.6**
|
184 |
+
|
185 |
+
* Fixed issue cron stop
|
186 |
+
* Fixed issue for excluded post
|
187 |
+
* Added exclude posts from custom post types.
|
188 |
+
|
189 |
+
|
190 |
+
**New in v6.9.4**
|
191 |
+
|
192 |
+
* Fixed issue with share more than once option
|
193 |
+
|
194 |
+
|
195 |
+
**New in v6.9.3**
|
196 |
+
|
197 |
+
* Improved logging system
|
198 |
+
* Fixed vulnerability issue with update options
|
199 |
+
* Fixed issues with custom schedule timing
|
200 |
+
* Improved excluded category design
|
201 |
+
* Fixed excluded post selection issue
|
202 |
+
|
203 |
+
|
204 |
+
**New in v6.8.8**
|
205 |
+
|
206 |
+
Added a more complex logging system
|
207 |
+
Fixed multiple accounts/posts issue
|
208 |
+
Fixed 404 twitter login error
|
209 |
+
|
210 |
+
**New in v6.8.5**
|
211 |
+
|
212 |
+
Completely reworked how cron is working
|
213 |
+
Separated post format by network
|
214 |
+
Added support for custom schedule
|
215 |
+
Added remote cron trigger feature
|
216 |
+
|
217 |
+
**New in v6.8.2**
|
218 |
+
|
219 |
+
Fixed no available posts issue
|
220 |
+
|
221 |
+
**New in v6.8.1**
|
222 |
+
|
223 |
+
Added language support and custom post types
|
224 |
+
|
225 |
+
**New in v6.8**
|
226 |
+
|
227 |
+
Added Facebook and Linkedin
|
228 |
+
|
229 |
+
**New in v6.7**
|
230 |
+
|
231 |
+
Fixed interrupted posting issue
|
232 |
+
|
233 |
+
**New in v6.6**
|
234 |
+
|
235 |
+
Fixed excluded category issue and some small others.
|
236 |
+
|
237 |
+
**New in v6.7.7**
|
238 |
+
|
239 |
+
Added Facebook and Linkedin, Facebook is also enabled for the free users
|
240 |
+
Improved Post with image feature, we can also pull the image from post
|
241 |
+
Fixed Tweet over 140 chars error
|
242 |
+
Added Google Analytics Campaign Tracking
|
243 |
+
Rebranded into Revive Old Post
|
244 |
+
|
245 |
+
**New in v6.7.5**
|
246 |
+
|
247 |
+
Fixed some debug messages
|
248 |
+
|
249 |
+
**New in v6.7.3**
|
250 |
+
|
251 |
+
Added settings link, fixed tweet cutting and added cron debug messages
|
252 |
+
|
253 |
+
**New in v6.6**
|
254 |
+
|
255 |
+
Fixed excluded category issue and some small others.
|
256 |
+
|
257 |
+
**New in v6.0**
|
258 |
+
|
259 |
+
Tweets now are posted immediately, fixed scheduling and added debug messages
|
260 |
+
|
261 |
+
**New in v5.9**
|
262 |
+
|
263 |
+
Tags are converted to lowercase automatically now
|
264 |
+
|
265 |
+
**New in v5.8**
|
266 |
+
|
267 |
+
Added post by image options in the pro version and some fixes.
|
268 |
+
|
269 |
+
**New in v5.7**
|
270 |
+
|
271 |
+
Fixed permissions
|
272 |
+
|
273 |
+
**New in v5.6**
|
274 |
+
|
275 |
+
Added bit.ly back
|
276 |
+
|
277 |
+
**New in v5.5**
|
278 |
+
|
279 |
+
Fixed the table prefix issue
|
280 |
+
|
281 |
+
**New in v5.4**
|
282 |
+
|
283 |
+
Fixed the hashtags length issue
|
284 |
+
|
285 |
+
**New in v5.3**
|
286 |
+
|
287 |
+
Fixed the custom field issue
|
288 |
+
|
289 |
+
**New in v5.2**
|
290 |
+
|
291 |
+
Fixed exclude categories error, added wp short url, fixed oauth error, removed broken shorten services.
|
292 |
+
|
293 |
+
**New in v5.0**
|
294 |
+
|
295 |
+
- Whole plugin was rewrote from scratch and a pro version was added, so after 50 hours of work, here we are. This change will allow us to easier fix issues/ release new features and maintain the plugin.
|
296 |
+
|
297 |
+
**New in v4.0.9**
|
298 |
+
|
299 |
+
- Resolved twitter connectivity issue, for users who were not able to connect in 4.0.8. Twitter has changed their policy
|
300 |
+
as per https://dev.twitter.com/discussions/24239
|
301 |
+
|
302 |
+
|
303 |
+
|
304 |
+
**New in v4.0.8**
|
305 |
+
|
306 |
+
- Resolved twitter connectivity issue. Twitter has changed their policy
|
307 |
+
as per https://dev.twitter.com/discussions/24239
|
308 |
+
|
309 |
+
|
310 |
+
|
311 |
+
**New in v4.0.7**
|
312 |
+
|
313 |
+
- Resolved tweet not posting issue.
|
314 |
+
|
315 |
+
|
316 |
+
**New in v4.0.6**
|
317 |
+
|
318 |
+
- Changed how pages are navigated. Should not conflict with any of the plugin that interacts with twitter ever.
|
319 |
+
- For "Page not found", update the settings and then authorize with twitter.
|
320 |
+
- If you are not able to update anything or you are redirecting to your home page, reset the settings and try again.
|
321 |
+
- Code Cleanup.
|
322 |
+
|
323 |
+
|
324 |
+
**New in v4.0.5**
|
325 |
+
|
326 |
+
- Implemented Twitter API v1.1 as Twitter is retiring API v1 from 7th May.
|
327 |
+
- Handled conflict with BackWPup plugin.
|
328 |
+
- Some performance improvements with WPSuperCache plugin.
|
329 |
+
- Some design changes.
|
330 |
+
- Code Cleanup.
|
331 |
+
|
332 |
+
|
333 |
+
**New in v4.0.4**
|
334 |
+
|
335 |
+
- Resolved issue of tweet not posting automatically. Thanks to Daniel Lopez Gonzalez for helping me.
|
336 |
+
- Minor Fixes
|
337 |
+
|
338 |
+
|
339 |
+
**New in v4.0.3**
|
340 |
+
|
341 |
+
- Handled too many tweets when W3 Total Cache plugin is installed. Please check and let me know.
|
342 |
+
- Bug fixes
|
343 |
+
|
344 |
+
|
345 |
+
**New in v4.0.2**
|
346 |
+
|
347 |
+
- Removed the option to specify the consumer key and secret as twitter does not show the application from which its tweeted anymore.
|
348 |
+
- Most probably, the tweet not posting automatically issue is resolved. Please check and let me know.
|
349 |
+
- Bug fixes
|
350 |
+
|
351 |
+
|
352 |
+
**New in v4.0.1**
|
353 |
+
|
354 |
+
- Resolved issue of page getting blank after returning from twitter
|
355 |
+
- added pages to exclude post option
|
356 |
+
- Bug fixes
|
357 |
+
- updated the steps of creating twitter application check here http://www.ajaymatharu.com/major-update-to-tweet-old-post/
|
358 |
+
|
359 |
+
|
360 |
+
**New in v4.0.0**
|
361 |
+
|
362 |
+
- You can now change the application name. Change via Tweet Old Post to your specified name. Follow the Steps here,
|
363 |
+
http://www.ajaymatharu.com/major-update-to-tweet-old-post/
|
364 |
+
- Pages can now be included in tweets. Added an option to select what is to be tweeted (pages, posts, or both).
|
365 |
+
- Removed "." and used "-" when adding additional text, "." was causing grammatical mistakes if sentence was trimmed.
|
366 |
+
- Added option to specify number of posts that can be tweeted simultaneously. You can specify how many tweets you want at a time.
|
367 |
+
- Last but not the least, removed random time slot was causing lot of confusion.
|
368 |
+
|
369 |
+
|
370 |
+
|
371 |
+
**New in v3.3.3**
|
372 |
+
|
373 |
+
- Resolved permission issue of exclude post.
|
374 |
+
|
375 |
+
|
376 |
+
|
377 |
+
**New in v3.3.2**
|
378 |
+
|
379 |
+
- Resolved too many redirects issue
|
380 |
+
If its still not working try these steps
|
381 |
+
- Make sure "Tweet Old Post Admin URL (Current URL)" is showing your current URL.
|
382 |
+
- Click on "Update Tweet Old Post Options".
|
383 |
+
- Try to authorize again.
|
384 |
+
- Removed "_" from hashtags. Previously space in hashtag was replaced with "_". Now there will be no spaces or "_" in hashtags.
|
385 |
+
|
386 |
+
|
387 |
+
|
388 |
+
**New in v3.3.1**
|
389 |
+
|
390 |
+
- Changed logic for posting data to twitter.
|
391 |
+
- Resolved bit.ly issue.
|
392 |
+
|
393 |
+
|
394 |
+
|
395 |
+
**New in v3.3.0**
|
396 |
+
|
397 |
+
- Attempt to fix logs out issue (Tweet Old Post pushes out when any action is performed).
|
398 |
+
|
399 |
+
|
400 |
+
|
401 |
+
**New in v3.2.9**
|
402 |
+
|
403 |
+
- Option to reset setting. When something goes wrong, please reset the settings and setup again.
|
404 |
+
- For people still facing issues of conflict with Google Analytics Plugin, this version should work.
|
405 |
+
- Minor bug fixes.
|
406 |
+
|
407 |
+
|
408 |
+
|
409 |
+
**New in v3.2.8**
|
410 |
+
|
411 |
+
- Resolved conflict with Google Analytics Plugin.
|
412 |
+
- Changed the log file location to root of plugin folder.
|
413 |
+
- Maintained Tweet Cycle. Repeat only when all post have been tweeted.
|
414 |
+
- Made other optimizations and resolved some minor bugs.
|
415 |
+
|
416 |
+
|
417 |
+
|
418 |
+
**New in v3.2.7**
|
419 |
+
|
420 |
+
- Added logging for people who cant make it work can enable and check the log, or mail me the log file.
|
421 |
+
- Brought back the exclude post option.
|
422 |
+
- Made other optimizations and resolved some minor bugs.
|
423 |
+
- Check http://www.ajaymatharu.com/tweet-old-post-update-3-2-7/ for more detailed explanation.
|
424 |
+
|
425 |
+
|
426 |
+
|
427 |
+
**New in v3.2.6**
|
428 |
+
|
429 |
+
- removed exclude post due to security threat. Will work on it and bring it up back.
|
430 |
+
|
431 |
+
|
432 |
+
|
433 |
+
**New in v3.2.5**
|
434 |
+
|
435 |
+
- Resolved hashtag not posting issue.
|
436 |
+
- other bug fixes.
|
437 |
+
|
438 |
+
|
439 |
+
|
440 |
+
**New in v3.2.4**
|
441 |
+
|
442 |
+
- Bug fixes
|
443 |
+
|
444 |
+
|
445 |
+
|
446 |
+
**New in v3.2.3**
|
447 |
+
|
448 |
+
- Bug fixes
|
449 |
+
|
450 |
+
|
451 |
+
|
452 |
+
**New in v3.2.2**
|
453 |
+
|
454 |
+
- Resolved bit.ly issue
|
455 |
+
- new option for hashtags
|
456 |
+
- other bug fixes
|
457 |
+
|
458 |
+
|
459 |
+
|
460 |
+
**New in v3.2.1**
|
461 |
+
|
462 |
+
- Bug fixes
|
463 |
+
|
464 |
+
|
465 |
+
|
466 |
+
**New in v3.2**
|
467 |
+
|
468 |
+
- Bug fixes
|
469 |
+
- Option to choose to include link in post
|
470 |
+
- option to post only title or body or both title and body
|
471 |
+
- option to set additional text either at beginning or end of tweet
|
472 |
+
- option to pick hashtags from custom field
|
473 |
+
|
474 |
+
|
475 |
+
|
476 |
+
**New in v3.1.2**
|
477 |
+
|
478 |
+
- Resolved tweets not getting posted when categories are excluded.
|
479 |
+
- If you are not able to authorise your twitter account set you blog URL in Administration → Settings → General.
|
480 |
+
|
481 |
+
|
482 |
+
|
483 |
+
**New in v3.1**
|
484 |
+
|
485 |
+
- Resolved issue of plugin flooding twitter account with tweets.
|
486 |
+
- added provision to exclude some post from selected categories
|
487 |
+
|
488 |
+
|
489 |
+
|
490 |
+
**New in v3.0**
|
491 |
+
|
492 |
+
- added OAuth authentication
|
493 |
+
- user defined intervals
|
494 |
+
- may not work under php 4 requires php 5
|
495 |
+
|
496 |
+
|
497 |
+
|
498 |
+
**New in v2.0**
|
499 |
+
|
500 |
+
- added provision to select if you want to shorten the URL or not.
|
501 |
+
- Cleaned other options.
|
502 |
+
|
503 |
+
|
504 |
+
|
505 |
+
**New in v1.9**
|
506 |
+
|
507 |
+
- Removed PHP 4 support as it was creating problem for lot of people
|
508 |
+
|
509 |
+
|
510 |
+
|
511 |
+
**New in v1.8**
|
512 |
+
|
513 |
+
- Bug Fixes
|
514 |
+
- Provision to fetch tweet url from custom field
|
515 |
+
|
516 |
+
|
517 |
+
|
518 |
+
**New in v1.7**
|
519 |
+
|
520 |
+
- Removed api option from 1click.at not needed api key
|
521 |
+
|
522 |
+
|
523 |
+
|
524 |
+
**New in v1.6**
|
525 |
+
|
526 |
+
- Made the plugin PHP 4 compatible. Guys try it out and please let me know if that worked.
|
527 |
+
- Better error prompting. If your tweets are not appearing on twitter. Try "Tweet Now" button you'll see if there is any problem in tweeting.
|
528 |
+
- Added 1click.at shortning service you need to get the api key from http://theeasyapi.com/ you need to add your machine IP address in the server of http://theeasyapi.com/ for this api key to work.
|
529 |
+
|
530 |
+
|
531 |
+
|
532 |
+
**New in v1.5**
|
533 |
+
|
534 |
+
- Maximum age of post to be eligible for tweet - allows you to set Maximum age of the post to be eligible for tweet
|
535 |
+
- Added one more shortner service was looking for j.mp but they dont have the api yet.
|
536 |
+
|
537 |
+
|
538 |
+
|
539 |
+
**New in v1.4**
|
540 |
+
|
541 |
+
- Hashtags - allows you to set default hashtags for your tweets
|
542 |
+
|
543 |
+
|
544 |
+
|
545 |
+
**New in v1.3**
|
546 |
+
|
547 |
+
- URL Shortener Service - allows you to select which URL shortener service you want to use.
|
548 |
+
|
549 |
+
|
550 |
+
|
551 |
+
**New in v1.2**
|
552 |
+
|
553 |
+
- Tweet Prefix - Allows you to set prefix to the tweets.
|
554 |
+
- Add Data - Allows you to add post data to the tweets
|
555 |
+
- Tweet now - Button that will tweet at that moment without wanting you to wait for scheduled tweet
|
556 |
+
|
557 |
+
|
558 |
+
|
559 |
+
**v1.1**
|
560 |
+
|
561 |
+
- Twitter Username & Password - Using this twitter account credentials plugin will tweet.
|
562 |
+
- Minimum interval between tweets - allows you to determine how often the plugin will automatically choose and tweet a blog post for you.
|
563 |
+
- Randomness interval - This is a contributing factor in minimum interval so that posts are randomly chosen and tweeted from your blog.
|
564 |
+
- Minimum age of post to be eligible for tweet - This allows you to set how old your post should be in order to be eligible for the tweet.
|
565 |
+
- Categories to omit from tweets - This will protect posts from the selected categories from being tweeted.
|
566 |
+
|
567 |
+
|
568 |
+
== Other Notes ==
|
569 |
+
|
570 |
+
|
571 |
+
|
572 |
+
**New in v4.0.9**
|
573 |
+
|
574 |
+
- Resolved twitter connectivity issue, for users who were not able to connect in 4.0.8. Twitter has changed their policy
|
575 |
+
as per https://dev.twitter.com/discussions/24239
|
576 |
+
|
577 |
+
|
578 |
+
**New in v4.0.8**
|
579 |
+
|
580 |
+
- Resolved twitter connectivity issue. Twitter has changed their policy
|
581 |
+
as per https://dev.twitter.com/discussions/24239
|
582 |
+
|
583 |
+
|
584 |
+
**New in v4.0.7**
|
585 |
+
|
586 |
+
- Resolved tweet not posting issue.
|
587 |
+
|
588 |
+
|
589 |
+
**New in v4.0.6**
|
590 |
+
|
591 |
+
- Changed how pages are navigated. Should not conflict with any of the plugin that interacts with twitter ever.
|
592 |
+
- For "Page not found", update the settings and then authorize with twitter.
|
593 |
+
- If you are not able to update anything or you are redirecting to your home page, reset the settings and try again.
|
594 |
+
- Code Cleanup.
|
595 |
+
|
596 |
+
|
597 |
+
**New in v4.0.5**
|
598 |
+
|
599 |
+
- Implemented Twitter API v1.1 as Twitter is retiring API v1 from 7th May.
|
600 |
+
- Handled conflict with BackWPup plugin.
|
601 |
+
- Some performance improvements with WPSuperCache plugin.
|
602 |
+
- Some design changes.
|
603 |
+
- Code Cleanup.
|
604 |
+
|
605 |
+
|
606 |
+
**New in v4.0.4**
|
607 |
+
|
608 |
+
- Resolved issue of tweet not posting automatically . Thanks to Daniel Lopez Gonzalez for helping me.
|
609 |
+
- Minor Fixes
|
610 |
+
|
611 |
+
|
612 |
+
**New in v4.0.3**
|
613 |
+
|
614 |
+
- Handled too many tweets when W3 Total Cache plugin is installed. Please check and let me know.
|
615 |
+
- Bug fixes
|
616 |
+
|
617 |
+
|
618 |
+
**New in v4.0.2**
|
619 |
+
|
620 |
+
- Removed the option to specify the consumer key and secret as twitter does not show the application from which its tweeted anymore.
|
621 |
+
- Most probably, the tweet not posting automatically issue is resolved. Please check and let me know.
|
622 |
+
- Bug fixes
|
623 |
+
|
624 |
+
|
625 |
+
**New in v4.0.1**
|
626 |
+
|
627 |
+
- Resolved issue of page getting blank after returning from twitter
|
628 |
+
- added pages to exclude post option
|
629 |
+
- Bug fixes
|
630 |
+
- updated the steps of creating twitter application check here http://www.ajaymatharu.com/major-update-to-tweet-old-post/
|
631 |
+
|
632 |
+
|
633 |
+
**New in v4.0.0**
|
634 |
+
|
635 |
+
- You can now change the application name. Change via Tweet Old Post to your specified name. Follow the Steps here,
|
636 |
+
http://www.ajaymatharu.com/major-update-to-tweet-old-post/
|
637 |
+
- Pages can now be included in tweets. Added an option to select what is to be tweeted (pages, posts, or both).
|
638 |
+
- Removed "." and used "-" when adding additional text, "." was causing grammatical mistakes if sentence was trimmed.
|
639 |
+
- Added option to specify number of posts that can be tweeted simultaneously. You can specify how many tweets you want at a time.
|
640 |
+
- Last but not the least, removed random time slot was causing lot of confusion.
|
641 |
+
|
642 |
+
|
643 |
+
**New in v3.3.3**
|
644 |
+
|
645 |
+
- Resolved permission issue of exclude post.
|
646 |
+
|
647 |
+
|
648 |
+
**New in v3.3.2**
|
649 |
+
|
650 |
+
- Resolved too many redirects issue
|
651 |
+
If its still not working try these steps
|
652 |
+
- Make sure "Tweet Old Post Admin URL (Current URL)" is showing your current URL.
|
653 |
+
- Click on "Update Tweet Old Post Options".
|
654 |
+
- Try to authorize again.
|
655 |
+
- Removed "_" from hashtags. Previously space in hashtag was replaced with "_". Now there will be no spaces or "_" in hashtags.
|
656 |
+
|
657 |
+
|
658 |
+
**New in v3.3.1**
|
659 |
+
|
660 |
+
- Changed logic for posting data to twitter.
|
661 |
+
- Resolved bit.ly issue.
|
662 |
+
|
663 |
+
|
664 |
+
**New in v3.3.0**
|
665 |
+
|
666 |
+
- Attempt to fix logs out issue (Tweet Old Post pushes out when any action is performed).
|
667 |
+
|
668 |
+
|
669 |
+
**New in v3.2.9**
|
670 |
+
|
671 |
+
- Option to reset setting. When something goes wrong, please reset the settings and setup again.
|
672 |
+
- For people still facing issues of conflict with Google Analytics Plugin, this version should work.
|
673 |
+
- Minor bug fixes.
|
674 |
+
|
675 |
+
|
676 |
+
**New in v3.2.8**
|
677 |
+
|
678 |
+
- Resolved conflict with Google Analytics Plugin.
|
679 |
+
- Changed the log file location to root of plugin folder.
|
680 |
+
- Maintained Tweet Cycle. Repeat only when all post have been tweeted.
|
681 |
+
- Made other optimizations and resolved some minor bugs.
|
682 |
+
|
683 |
+
|
684 |
+
**New in v3.2.7**
|
685 |
+
|
686 |
+
- Added logging for people who cant make it work can enable and check the log, or mail me the log file.
|
687 |
+
- Brought back the exclude post option.
|
688 |
+
- Made other optimizations and resolved some minor bugs.
|
689 |
+
- Check http://www.ajaymatharu.com/tweet-old-post-update-3-2-7/ for more detailed explanation.
|
690 |
+
|
691 |
+
|
692 |
+
**New in v3.2.6**
|
693 |
+
|
694 |
+
- removed exclude post due to security threat. Will work on it and bring it up back.
|
695 |
+
|
696 |
+
|
697 |
+
**New in v3.2.5**
|
698 |
+
|
699 |
+
- Resolved hashtag not posting issue.
|
700 |
+
- other bug fixes.
|
701 |
+
|
702 |
+
|
703 |
+
**New in v3.2.4**
|
704 |
+
|
705 |
+
- Bug fixes
|
706 |
+
|
707 |
+
|
708 |
+
**New in v3.2.3**
|
709 |
+
|
710 |
+
- Bug fixes
|
711 |
+
|
712 |
+
|
713 |
+
**New in v3.2.2**
|
714 |
+
|
715 |
+
- Resolved bit.ly issue
|
716 |
+
- new option for hashtags
|
717 |
+
- other bug fixes
|
718 |
+
|
719 |
+
|
720 |
+
**New in v3.2.1**
|
721 |
+
|
722 |
+
- Bug fixes
|
723 |
+
|
724 |
+
|
725 |
+
**New in v3.2**
|
726 |
+
|
727 |
+
- Bug fixes
|
728 |
+
- Option to choose to include link in post
|
729 |
+
- option to post only title or body or both title and body
|
730 |
+
- option to set additional text either at beginning or end of tweet
|
731 |
+
- option to pick hashtags from custom field
|
732 |
+
|
733 |
+
|
734 |
+
**New in v3.1.2**
|
735 |
+
|
736 |
+
- Resolved tweets not getting posted when categories are excluded.
|
737 |
+
- If you are not able to authorise your twitter account set you blog URL in Administration → Settings → General.
|
738 |
+
|
739 |
+
|
740 |
+
**New in v3.1**
|
741 |
+
|
742 |
+
- Resolved issue of plugin flooding twitter account with tweets.
|
743 |
+
- added provision to exclude some post from selected categories
|
744 |
+
|
745 |
+
|
746 |
+
**New in v3.0**
|
747 |
+
|
748 |
+
- added OAuth authentication
|
749 |
+
- user defined intervals
|
750 |
+
- may not work under php 4 requires php 5
|
751 |
+
|
752 |
+
|
753 |
+
**New in v2.0**
|
754 |
+
|
755 |
+
- added provision to select if you want to shorten the URL or not.
|
756 |
+
- Cleaned other options.
|
757 |
+
|
758 |
+
|
759 |
+
**New in v1.9**
|
760 |
+
|
761 |
+
- Removed PHP 4 support as it was creating problem for lot of people
|
762 |
+
|
763 |
+
|
764 |
+
**New in v1.8**
|
765 |
+
|
766 |
+
- Bug Fixes
|
767 |
+
- Provision to fetch tweet url from custom field
|
768 |
+
|
769 |
+
|
770 |
+
**New in v1.7**
|
771 |
+
|
772 |
+
- Removed api option from 1click.at not needed api key
|
773 |
+
|
774 |
+
|
775 |
+
**New in v1.6**
|
776 |
+
|
777 |
+
- Made the plugin PHP 4 compatible. Guys try it out and please let me know if that worked.
|
778 |
+
- Better error prompting. If your tweets are not appearing on twitter. Try "Tweet Now" button you'll see if there is any problem in tweeting.
|
779 |
+
- Added 1click.at shortning service you need to get the api key from http://theeasyapi.com/ you need to add your machine IP address in the server of http://theeasyapi.com/ for this api key to work.
|
780 |
+
|
781 |
+
|
782 |
+
**New in v1.5**
|
783 |
+
|
784 |
+
- Maximum age of post to be eligible for tweet - allows you to set Maximum age of the post to be eligible for tweet
|
785 |
+
- Added one more shortner service was looking for j.mp but they dont have the api yet.
|
786 |
+
|
787 |
+
|
788 |
+
**New in v1.4**
|
789 |
+
|
790 |
+
- Hashtags - allows you to set default hashtags for your tweets
|
791 |
+
|
792 |
+
|
793 |
+
**New in v1.3**
|
794 |
+
|
795 |
+
- URL Shortener Service - allows you to select which URL shortener service you want to use.
|
796 |
+
|
797 |
+
|
798 |
+
**New in v1.2**
|
799 |
+
|
800 |
+
- Tweet Prefix - Allows you to set prefix to the tweets.
|
801 |
+
- Add Data - Allows you to add post data to the tweets
|
802 |
+
- Tweet now - Button that will tweet at that moment without wanting you to wait for scheduled tweet
|
803 |
+
|
804 |
+
|
805 |
+
**v1.1**
|
806 |
+
|
807 |
+
- Twitter Username & Password - Using this twitter account credentials plugin will tweet.
|
808 |
+
- Minimum interval between tweets - allows you to determine how often the plugin will automatically choose and tweet a blog post for you.
|
809 |
+
- Randomness interval - This is a contributing factor in minimum interval so that posts are randomly chosen and tweeted from your blog.
|
810 |
+
- Minimum age of post to be eligible for tweet - This allows you to set how old your post should be in order to be eligible for the tweet.
|
811 |
+
- Categories to omit from tweets - This will protect posts from the selected categories from being tweeted.
|
812 |
+
|
tweet-old-post.php
CHANGED
@@ -1,40 +1,41 @@
|
|
1 |
-
<?php
|
2 |
-
# /*
|
3 |
-
# Plugin Name: Revive Old Post (Former Tweet Old Post)
|
4 |
-
# Plugin URI: https://themeisle.com/plugins/tweet-old-post-lite/
|
5 |
-
# Description: Wordpress plugin that helps you to keeps your old posts alive by sharing them and driving more traffic to them from twitter/facebook or linkedin. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="https://themeisle.com/contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top">contact </a> us!
|
6 |
-
# Author: ThemeIsle
|
7 |
-
# Version: 7.
|
8 |
-
# Author URI: https://themeisle.com/
|
9 |
-
# Text Domain: tweet-old-post
|
10 |
-
# Domain Path: /languages
|
11 |
-
# */
|
12 |
-
|
13 |
-
// Config Constants
|
14 |
-
define("
|
15 |
-
define("
|
16 |
-
define("
|
17 |
-
define("
|
18 |
-
define("
|
19 |
-
define("
|
20 |
-
define(
|
21 |
-
define('
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
|
1 |
+
<?php
|
2 |
+
# /*
|
3 |
+
# Plugin Name: Revive Old Post (Former Tweet Old Post)
|
4 |
+
# Plugin URI: https://themeisle.com/plugins/tweet-old-post-lite/
|
5 |
+
# Description: Wordpress plugin that helps you to keeps your old posts alive by sharing them and driving more traffic to them from twitter/facebook or linkedin. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="https://themeisle.com/contact/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top">contact </a> us!
|
6 |
+
# Author: ThemeIsle
|
7 |
+
# Version: 7.3.5
|
8 |
+
# Author URI: https://themeisle.com/
|
9 |
+
# Text Domain: tweet-old-post
|
10 |
+
# Domain Path: /languages
|
11 |
+
# */
|
12 |
+
|
13 |
+
// Config Constants
|
14 |
+
define ("ROP_PRO_URL", "http://themeisle.com/plugins/tweet-old-post-pro/");
|
15 |
+
define("ROPPLUGINPATH", realpath(dirname(__FILE__) ));
|
16 |
+
define("ROPCSSFILE", plugins_url('css/style.css',__FILE__ ));
|
17 |
+
define("ROPCUSTOMDASHBOARDICON", plugins_url("css/custom_dashboard_icon.css", __FILE__));
|
18 |
+
define("ROPJSFILE", plugins_url('js/master.js',__FILE__ ));
|
19 |
+
define("ROPJSCOUNTDOWN", plugins_url('js/countdown.js',__FILE__ ));
|
20 |
+
define("ROPPLUGINBASENAME", plugin_basename(__FILE__));
|
21 |
+
define('ROP_TOP_FB_API_VERSION','v2.0');
|
22 |
+
define('ROP_VERSION','7.3.5');
|
23 |
+
// Require core.
|
24 |
+
require_once(ROPPLUGINPATH."/inc/core.php");
|
25 |
+
// Require core.
|
26 |
+
require_once(ROPPLUGINPATH."/inc/exclude-posts.php");
|
27 |
+
if (!class_exists('TAV_Remote_Notification_Client')) {
|
28 |
+
require( ROPPLUGINPATH.'/inc/class-remote-notification-client.php' );
|
29 |
+
}
|
30 |
+
if (CWP_TOP_PRO)
|
31 |
+
$notification = new TAV_Remote_Notification_Client( 37, 'a8be784b898fa2fb', 'https://themeisle.com?post_type=notification' );
|
32 |
+
else
|
33 |
+
$notification = new TAV_Remote_Notification_Client( 38, 'b7fbcc8d0c58614a', 'https://themeisle.com?post_type=notification' );
|
34 |
+
|
35 |
+
// Clear scheduled tweets on plugin deactivation
|
36 |
+
register_deactivation_hook(__FILE__, array($CWP_TOP_Core, 'deactivationHook'));
|
37 |
+
|
38 |
+
// Reset all settings on plugin activation.
|
39 |
+
register_activation_hook(__FILE__, array($CWP_TOP_Core, 'resetAllOptions'));
|
40 |
+
|
41 |
+
add_action("admin_head", array($CWP_TOP_Core, 'rop_load_dashboard_icon'));
|