Version Description
- fixed issue with blocking voters
- fixed issue with logs
- fixed issue with bans
- fixed issue with settings
- fixed issue with wordpress voting
Download this release
Release Info
Developer | yourownprogrammer |
Plugin | YOP Poll |
Version | 6.0.6 |
Comparing to | |
See all releases |
Code changes from version 6.0.5 to 6.0.6
- admin/admin.php +13 -9
- admin/inc/maintenance.php +4 -1
- admin/models/polls.php +95 -0
- readme.txt +7 -0
- yop_poll.php +2 -2
admin/admin.php
CHANGED
@@ -69,6 +69,10 @@ class YOP_Poll_Admin {
|
|
69 |
$maintenance = new YOP_POLL_Maintenance();
|
70 |
$maintenance->update_to_version_6_0_5();
|
71 |
}
|
|
|
|
|
|
|
|
|
72 |
}
|
73 |
}
|
74 |
public function load_translations() {
|
@@ -850,7 +854,7 @@ class YOP_Poll_Admin {
|
|
850 |
);
|
851 |
} else {
|
852 |
$error = __( 'Invalid poll', 'yop-poll' );
|
853 |
-
$template = YOP_POLL_PATH . 'admin/views/error.php';
|
854 |
echo YOP_Poll_View::render(
|
855 |
$template,
|
856 |
array(
|
@@ -898,11 +902,11 @@ class YOP_Poll_Admin {
|
|
898 |
}
|
899 |
}
|
900 |
public function manage_support() {
|
901 |
-
$template = YOP_POLL_PATH . 'admin/views/support.php';
|
902 |
echo YOP_Poll_View::render( $template );
|
903 |
}
|
904 |
public function migrate_old_tables() {
|
905 |
-
$template = YOP_POLL_PATH . 'admin/views/migrate-old-tables.php';
|
906 |
echo YOP_Poll_View::render( $template );
|
907 |
}
|
908 |
public function manage_logs () {
|
@@ -912,7 +916,7 @@ class YOP_Poll_Admin {
|
|
912 |
$params['sort_order'] = isset( $_GET['sort_order'] ) ? $_GET['sort_order'] : 'asc';
|
913 |
$params['page_no'] = isset( $_GET['page_no'] ) ? $_GET['page_no'] : '1';
|
914 |
$logs = YOP_Poll_Logs::get_logs( $params );
|
915 |
-
$template = YOP_POLL_PATH . 'admin/views/
|
916 |
echo YOP_Poll_View::render( $template, array(
|
917 |
'logs' => $logs['logs'],
|
918 |
'params' => $params,
|
@@ -979,7 +983,7 @@ class YOP_Poll_Admin {
|
|
979 |
$params['order_by'] = isset( $_GET['order_by'] ) ? $_GET['order_by'] : '';
|
980 |
$params['sort_order'] = isset( $_GET['sort_order'] ) ? $_GET['sort_order'] : 'asc';
|
981 |
$params['page_no'] = isset( $_GET['page_no'] ) ? $_GET['page_no'] : '1';
|
982 |
-
$template = YOP_POLL_PATH . 'admin/views/
|
983 |
$bans = YOP_Poll_Bans::get_bans( $params );
|
984 |
echo YOP_Poll_View::render( $template, array(
|
985 |
'bans' => $bans['bans'],
|
@@ -995,7 +999,7 @@ class YOP_Poll_Admin {
|
|
995 |
public function show_add_ban() {
|
996 |
if ( current_user_can( 'yop_poll_add' ) ) {
|
997 |
$polls = YOP_Poll_Polls::get_names();
|
998 |
-
$template = YOP_POLL_PATH . 'admin/views/
|
999 |
echo YOP_Poll_View::render( $template, array(
|
1000 |
'polls' => $polls
|
1001 |
) );
|
@@ -1024,7 +1028,7 @@ class YOP_Poll_Admin {
|
|
1024 |
$ban = YOP_Poll_Bans::get_ban( $ban_id );
|
1025 |
if ( false !== $ban ) {
|
1026 |
$polls = YOP_Poll_Polls::get_names();
|
1027 |
-
$template = YOP_POLL_PATH . 'admin/views/
|
1028 |
echo YOP_Poll_View::render( $template, array(
|
1029 |
'ban' => $ban['ban'],
|
1030 |
'polls' => $polls
|
@@ -1141,7 +1145,7 @@ class YOP_Poll_Admin {
|
|
1141 |
}
|
1142 |
public function record_wordpress_vote() {
|
1143 |
if ( isset( $_GET['poll_id'] ) && ( 0 < intval( $_GET['poll_id'] ) ) ) {
|
1144 |
-
$template = YOP_POLL_PATH . 'admin/views/addnewwordpressvote.php';
|
1145 |
echo YOP_Poll_View::render( $template, array(
|
1146 |
'poll_id' => $_GET['poll_id']
|
1147 |
) );
|
@@ -1314,7 +1318,7 @@ class YOP_Poll_Admin {
|
|
1314 |
public function manage_settings() {
|
1315 |
$unserialized_settings = array();
|
1316 |
if ( current_user_can( 'yop_poll_add' ) ) {
|
1317 |
-
$template = YOP_POLL_PATH . 'admin/views/
|
1318 |
$yop_poll_settings = get_option( 'yop_poll_settings' );
|
1319 |
if ( $yop_poll_settings ) {
|
1320 |
$unserialized_settings = unserialize( $yop_poll_settings );
|
69 |
$maintenance = new YOP_POLL_Maintenance();
|
70 |
$maintenance->update_to_version_6_0_5();
|
71 |
}
|
72 |
+
if ( true === version_compare( $installed_version, '6.0.6', '<' ) ) {
|
73 |
+
$maintenance = new YOP_POLL_Maintenance();
|
74 |
+
$maintenance->update_to_version_6_0_6();
|
75 |
+
}
|
76 |
}
|
77 |
}
|
78 |
public function load_translations() {
|
854 |
);
|
855 |
} else {
|
856 |
$error = __( 'Invalid poll', 'yop-poll' );
|
857 |
+
$template = YOP_POLL_PATH . 'admin/views/general/error.php';
|
858 |
echo YOP_Poll_View::render(
|
859 |
$template,
|
860 |
array(
|
902 |
}
|
903 |
}
|
904 |
public function manage_support() {
|
905 |
+
$template = YOP_POLL_PATH . 'admin/views/support/view.php';
|
906 |
echo YOP_Poll_View::render( $template );
|
907 |
}
|
908 |
public function migrate_old_tables() {
|
909 |
+
$template = YOP_POLL_PATH . 'admin/views/general/migrate-old-tables.php';
|
910 |
echo YOP_Poll_View::render( $template );
|
911 |
}
|
912 |
public function manage_logs () {
|
916 |
$params['sort_order'] = isset( $_GET['sort_order'] ) ? $_GET['sort_order'] : 'asc';
|
917 |
$params['page_no'] = isset( $_GET['page_no'] ) ? $_GET['page_no'] : '1';
|
918 |
$logs = YOP_Poll_Logs::get_logs( $params );
|
919 |
+
$template = YOP_POLL_PATH . 'admin/views/logs/view.php';
|
920 |
echo YOP_Poll_View::render( $template, array(
|
921 |
'logs' => $logs['logs'],
|
922 |
'params' => $params,
|
983 |
$params['order_by'] = isset( $_GET['order_by'] ) ? $_GET['order_by'] : '';
|
984 |
$params['sort_order'] = isset( $_GET['sort_order'] ) ? $_GET['sort_order'] : 'asc';
|
985 |
$params['page_no'] = isset( $_GET['page_no'] ) ? $_GET['page_no'] : '1';
|
986 |
+
$template = YOP_POLL_PATH . 'admin/views/bans/view.php';
|
987 |
$bans = YOP_Poll_Bans::get_bans( $params );
|
988 |
echo YOP_Poll_View::render( $template, array(
|
989 |
'bans' => $bans['bans'],
|
999 |
public function show_add_ban() {
|
1000 |
if ( current_user_can( 'yop_poll_add' ) ) {
|
1001 |
$polls = YOP_Poll_Polls::get_names();
|
1002 |
+
$template = YOP_POLL_PATH . 'admin/views/bans/add.php';
|
1003 |
echo YOP_Poll_View::render( $template, array(
|
1004 |
'polls' => $polls
|
1005 |
) );
|
1028 |
$ban = YOP_Poll_Bans::get_ban( $ban_id );
|
1029 |
if ( false !== $ban ) {
|
1030 |
$polls = YOP_Poll_Polls::get_names();
|
1031 |
+
$template = YOP_POLL_PATH . 'admin/views/bans/edit.php';
|
1032 |
echo YOP_Poll_View::render( $template, array(
|
1033 |
'ban' => $ban['ban'],
|
1034 |
'polls' => $polls
|
1145 |
}
|
1146 |
public function record_wordpress_vote() {
|
1147 |
if ( isset( $_GET['poll_id'] ) && ( 0 < intval( $_GET['poll_id'] ) ) ) {
|
1148 |
+
$template = YOP_POLL_PATH . 'admin/views/general/addnewwordpressvote.php';
|
1149 |
echo YOP_Poll_View::render( $template, array(
|
1150 |
'poll_id' => $_GET['poll_id']
|
1151 |
) );
|
1318 |
public function manage_settings() {
|
1319 |
$unserialized_settings = array();
|
1320 |
if ( current_user_can( 'yop_poll_add' ) ) {
|
1321 |
+
$template = YOP_POLL_PATH . 'admin/views/settings/view.php';
|
1322 |
$yop_poll_settings = get_option( 'yop_poll_settings' );
|
1323 |
if ( $yop_poll_settings ) {
|
1324 |
$unserialized_settings = unserialize( $yop_poll_settings );
|
admin/inc/maintenance.php
CHANGED
@@ -42,7 +42,10 @@ class YOP_POLL_Maintenance {
|
|
42 |
$db_schema_object->update_table_templates();
|
43 |
$db_schema_object->update_table_polls_add_skin_field();
|
44 |
update_option( 'yop_poll_version', '6.0.5' );
|
45 |
-
|
|
|
|
|
|
|
46 |
public function create_archive_page() {
|
47 |
$poll_archive_page = get_page_by_path( 'yop-poll-archive', ARRAY_A );
|
48 |
if ( ! $poll_archive_page ) {
|
42 |
$db_schema_object->update_table_templates();
|
43 |
$db_schema_object->update_table_polls_add_skin_field();
|
44 |
update_option( 'yop_poll_version', '6.0.5' );
|
45 |
+
}
|
46 |
+
public function update_to_version_6_0_6() {
|
47 |
+
update_option( 'yop_poll_version', '6.0.6' );
|
48 |
+
}
|
49 |
public function create_archive_page() {
|
50 |
$poll_archive_page = get_page_by_path( 'yop-poll-archive', ARRAY_A );
|
51 |
if ( ! $poll_archive_page ) {
|
admin/models/polls.php
CHANGED
@@ -2120,4 +2120,99 @@ class YOP_Poll_Polls {
|
|
2120 |
}
|
2121 |
return $accept_votes_from_user;
|
2122 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2123 |
}
|
2120 |
}
|
2121 |
return $accept_votes_from_user;
|
2122 |
}
|
2123 |
+
public static function accept_votes_from_anonymous( $poll, $voter_data ) {
|
2124 |
+
$accept_votes_from_anonymous = true;
|
2125 |
+
$should_continue = true;
|
2126 |
+
$previous_vote = null;
|
2127 |
+
if ( true === in_array( 'by-cookie', $poll->meta_data['options']['access']['blockVoters'] ) ) {
|
2128 |
+
if ( '' !== $voter_data['c-data'] ) {
|
2129 |
+
$previous_vote = YOP_Poll_Votes::get_vote( $poll->id, 'voter_id', $voter_data['c-data'] );
|
2130 |
+
}
|
2131 |
+
}
|
2132 |
+
if ( null !== $previous_vote ) {
|
2133 |
+
switch ( $poll->meta_data['options']['access']['blockForPeriod'] ) {
|
2134 |
+
case 'minutes': {
|
2135 |
+
$block_for_period = 'PT' . $poll->meta_data['options']['access']['blockForValue'] . 'M';
|
2136 |
+
break;
|
2137 |
+
}
|
2138 |
+
case 'hours': {
|
2139 |
+
$block_for_period = 'PT' . $poll->meta_data['options']['access']['blockForValue'] . 'H';
|
2140 |
+
break;
|
2141 |
+
}
|
2142 |
+
case 'days': {
|
2143 |
+
$block_for_period = 'P' . $poll->meta_data['options']['access']['blockForValue'] . 'D';
|
2144 |
+
break;
|
2145 |
+
}
|
2146 |
+
}
|
2147 |
+
$current_vote_date = new DateTime();
|
2148 |
+
$previous_vote_date = new DateTime( $previous_vote->added_date );
|
2149 |
+
$previous_vote_date->add( new DateInterval( $block_for_period ) );
|
2150 |
+
if ( $current_vote_date < $previous_vote_date ) {
|
2151 |
+
$accept_votes_from_anonymous = false;
|
2152 |
+
$should_continue = false;
|
2153 |
+
}
|
2154 |
+
}
|
2155 |
+
if ( true === $should_continue ) {
|
2156 |
+
$previous_vote = null;
|
2157 |
+
if ( true === in_array( 'by-ip', $poll->meta_data['options']['access']['blockVoters'] ) ) {
|
2158 |
+
if ( '' !== $voter_data['ipaddress'] ) {
|
2159 |
+
$previous_vote = YOP_Poll_Votes::get_vote( $poll->id, 'ipaddress', $voter_data['ipaddress'] );
|
2160 |
+
}
|
2161 |
+
}
|
2162 |
+
if ( null !== $previous_vote ) {
|
2163 |
+
switch ( $poll->meta_data['options']['access']['blockForPeriod'] ) {
|
2164 |
+
case 'minutes': {
|
2165 |
+
$block_for_period = 'PT' . $poll->meta_data['options']['access']['blockForValue'] . 'M';
|
2166 |
+
break;
|
2167 |
+
}
|
2168 |
+
case 'hours': {
|
2169 |
+
$block_for_period = 'PT' . $poll->meta_data['options']['access']['blockForValue'] . 'H';
|
2170 |
+
break;
|
2171 |
+
}
|
2172 |
+
case 'days': {
|
2173 |
+
$block_for_period = 'P' . $poll->meta_data['options']['access']['blockForValue'] . 'D';
|
2174 |
+
break;
|
2175 |
+
}
|
2176 |
+
}
|
2177 |
+
$current_vote_date = new DateTime();
|
2178 |
+
$previous_vote_date = new DateTime( $previous_vote->added_date );
|
2179 |
+
$previous_vote_date->add( new DateInterval( $block_for_period ) );
|
2180 |
+
if ( $current_vote_date < $previous_vote_date ) {
|
2181 |
+
$accept_votes_from_anonymous = false;
|
2182 |
+
$should_continue = false;
|
2183 |
+
}
|
2184 |
+
}
|
2185 |
+
}
|
2186 |
+
if ( true === $should_continue ) {
|
2187 |
+
$previous_vote = null;
|
2188 |
+
if ( true === in_array( 'by-user-id', $poll->meta_data['options']['access']['blockVoters'] ) ) {
|
2189 |
+
if ( '' !== $voter_data['user-id'] ) {
|
2190 |
+
$previous_vote = YOP_Poll_Votes::get_vote( $poll->id, 'user_id', $voter_data['user-id'] );
|
2191 |
+
}
|
2192 |
+
}
|
2193 |
+
if ( null !== $previous_vote ) {
|
2194 |
+
switch ( $poll->meta_data['options']['access']['blockForPeriod'] ) {
|
2195 |
+
case 'minutes': {
|
2196 |
+
$block_for_period = 'PT' . $poll->meta_data['options']['access']['blockForValue'] . 'M';
|
2197 |
+
break;
|
2198 |
+
}
|
2199 |
+
case 'hours': {
|
2200 |
+
$block_for_period = 'PT' . $poll->meta_data['options']['access']['blockForValue'] . 'H';
|
2201 |
+
break;
|
2202 |
+
}
|
2203 |
+
case 'days': {
|
2204 |
+
$block_for_period = 'P' . $poll->meta_data['options']['access']['blockForValue'] . 'D';
|
2205 |
+
break;
|
2206 |
+
}
|
2207 |
+
}
|
2208 |
+
$current_vote_date = new DateTime();
|
2209 |
+
$previous_vote_date = new DateTime( $previous_vote->added_date );
|
2210 |
+
$previous_vote_date->add( new DateInterval( $block_for_period ) );
|
2211 |
+
if ( $current_vote_date < $previous_vote_date ) {
|
2212 |
+
$accept_votes_from_anonymous = false;
|
2213 |
+
}
|
2214 |
+
}
|
2215 |
+
}
|
2216 |
+
return $accept_votes_from_anonymous;
|
2217 |
+
}
|
2218 |
}
|
readme.txt
CHANGED
@@ -118,6 +118,13 @@ You can have only one question per poll.
|
|
118 |
|
119 |
== Changelog ==
|
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
= 6.0.5 =
|
122 |
* added skins
|
123 |
* redesigned templates
|
118 |
|
119 |
== Changelog ==
|
120 |
|
121 |
+
= 6.0.6 =
|
122 |
+
* fixed issue with blocking voters
|
123 |
+
* fixed issue with logs
|
124 |
+
* fixed issue with bans
|
125 |
+
* fixed issue with settings
|
126 |
+
* fixed issue with wordpress voting
|
127 |
+
|
128 |
= 6.0.5 =
|
129 |
* added skins
|
130 |
* redesigned templates
|
yop_poll.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: YOP Poll
|
4 |
Plugin URI: https://yop-poll.com
|
5 |
Description: Use a full option polling functionality to get the answers you need. YOP Poll is the perfect, easy to use poll plugin for your WordPress website.
|
6 |
-
Version: 6.0.
|
7 |
Author: yourownprogrammer
|
8 |
Author URI: https://yop-poll.com
|
9 |
License: GPL2
|
@@ -11,7 +11,7 @@ License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
|
11 |
Domain Path: /languages
|
12 |
Text Domain: yop-poll
|
13 |
*/
|
14 |
-
define ( 'YOP_POLL_VERSION', '6.0.
|
15 |
define ( 'YOP_POLL_URL', plugin_dir_url( __FILE__ ) );
|
16 |
define ( 'YOP_POLL_PATH', plugin_dir_path( __FILE__ ) );
|
17 |
define( 'YOP_POLL_TEST_MODE', false );
|
3 |
Plugin Name: YOP Poll
|
4 |
Plugin URI: https://yop-poll.com
|
5 |
Description: Use a full option polling functionality to get the answers you need. YOP Poll is the perfect, easy to use poll plugin for your WordPress website.
|
6 |
+
Version: 6.0.6
|
7 |
Author: yourownprogrammer
|
8 |
Author URI: https://yop-poll.com
|
9 |
License: GPL2
|
11 |
Domain Path: /languages
|
12 |
Text Domain: yop-poll
|
13 |
*/
|
14 |
+
define ( 'YOP_POLL_VERSION', '6.0.6' );
|
15 |
define ( 'YOP_POLL_URL', plugin_dir_url( __FILE__ ) );
|
16 |
define ( 'YOP_POLL_PATH', plugin_dir_path( __FILE__ ) );
|
17 |
define( 'YOP_POLL_TEST_MODE', false );
|