| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/repository/wp-content/plugins/yop-poll/admin/inc/ |
Upload File : |
<?php
class ClassYopPollImporter5x {
private static $initial_limit = 500;
private static $ajax_limit = 100;
private static $unprocessed_polls = 0;
private static $processed_polls = 0;
private static $unprocessed_bans = 0;
private static $processed_bans = 0;
private static $unprocessed_votes = 0;
private static $processed_votes = 0;
private static $unprocessed_logs = 0;
private static $processed_logs = 0;
private static $checked_existence_polls = false;
private static $checked_existence_bans = false;
private static $checked_existence_votes = false;
private static $checked_existence_logs = false;
private static $polls_table_exists = false;
private static $bans_table_exists = false;
private static $votes_table_exists = false;
private static $logs_table_exists = false;
private static $maxElementID = 0;
private static $enableGdpr = 'no';
private static $gdprSolution = 'consent';
public function __construct( $initial_limit, $ajax_limit ) {
if ( $initial_limit ) {
self::$initial_limit = $initial_limit;
}
if ( $ajax_limit ) {
self::$ajax_limit = $ajax_limit;
}
add_action( 'wp_ajax_yop_ajax_import', array( &$this, 'yop_ajax_import' ) );
}
public function initialise() {
self::import_polls( self::$initial_limit );
}
private static function import_polls( $query_limit, $skip_table_check = false ) {
global $wpdb;
$polls_table_name = $GLOBALS['wpdb']->prefix . 'yop2_polls';
$polls_meta_table_name = $GLOBALS['wpdb']->prefix . 'yop2_pollmeta';
$polls_questions_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_questions';
$polls_questions_meta_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_questionmeta';
$polls_answers_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_answers';
$polls_answers_meta_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_answermeta';
$polls_questions_customs_table = $GLOBALS['wpdb']->prefix . 'yop2_poll_custom_fields';
if ( $skip_table_check ) {
self::$checked_existence_polls = true;
self::$polls_table_exists = true;
}
if ( !self::$checked_existence_polls ) {
if ( self::check_if_table_exists( $polls_table_name ) && self::check_if_table_exists( $polls_meta_table_name ) ) {
if ( ! self::check_if_column_exists( $polls_table_name, 'processed' ) ) {
$wpdb->query( "ALTER TABLE `{$polls_table_name}` ADD processed BOOLEAN DEFAULT FALSE " );
}
self::$checked_existence_polls = true;
self::$polls_table_exists = true;
}
}
if ( self::$checked_existence_polls && self::$polls_table_exists ) {
self::$unprocessed_polls = $wpdb->get_var("select count(ID) from `{$polls_table_name}` where processed = false");
$polls = $wpdb->get_results( "select `ID`, `poll_title`, `poll_name`, `poll_author`, `poll_date`, `poll_status`, `poll_modified`, `poll_type`, `poll_start_date`, `poll_end_date`, `poll_total_votes`, `meta_key`, `meta_value` from `{$polls_table_name}` inner join
`{$polls_meta_table_name}` on `{$polls_table_name}`.`ID` = `{$polls_meta_table_name}`.`yop_poll_id` where `processed` = false limit {$query_limit}" );
if ( count( $polls ) > 0 ) {
if ( self::check_if_table_exists( $polls_questions_table_name ) &&
self::check_if_table_exists( $polls_questions_meta_table_name ) ) {
$maxID = $wpdb->get_var( "select max(`ID`) from `{$polls_questions_table_name}`" );
self::$maxElementID = $maxID + 1;
}
foreach ( $polls as $poll ) {
$unserialized_meta = unserialize( $poll->meta_value );
$poll_style = self::create_css_from_template( '' !== $unserialized_meta['template'] ? $unserialized_meta['template'] : 1 );
$vote_perms = [];
if ( isset( $unserialized_meta['vote_permisions'] ) ) {
foreach ( $unserialized_meta['vote_permisions'] as $vp ) {
if ( 'registered' === $vp ) {
$vote_perms[] = 'wordpress';
} else {
$vote_perms[] = $vp;
}
}
}
if ( 0 == count( $vote_perms ) ) {
$vote_perms[] = 'wordpress';
}
$results_moment = [];
if ( isset( $unserialized_meta['view_results'] ) ) {
foreach ( $unserialized_meta['view_results'] as $vr ) {
if ( 'after' === $vr ) {
$results_moment[] = 'after-vote';
} elseif ( 'before' === $vr ) {
$results_moment[] = 'before-vote';
} else {
$results_moment[] = $vr;
}
}
}
if ( 0 == count( $results_moment ) ) {
$results_moment[] = 'after-vote';
}
$show_results_to = [];
if ( isset( $unserialized_meta['view_results_permissions'] ) ) {
foreach ( $unserialized_meta['view_results_permissions'] as $vrp ) {
if ( 'registered' === $vrp ) {
$show_results_to[] = 'registered';
} else {
$show_results_to[] = $vrp;
}
}
}
if ( 0 == count( $show_results_to ) ) {
$show_results_to[] = 'guest';
$show_results_to[] = 'registered';
}
$sorting_results = 'as-defined';
if ( isset( $unserialized_meta['sorting_results'] ) ) {
if ( 'votes' === $unserialized_meta['sorting_results'] ) {
$sorting_results = 'number-of-votes';
} elseif ( 'as_defined' === $unserialized_meta['sorting_results'] ) {
$sorting_results = 'as-defined';
} else {
$sorting_results = $unserialized_meta['sorting_results'];
}
}
$newBlVoters = [];
if ( isset( $unserialized_meta['blocking_voters'] ) ) {
foreach ( $unserialized_meta['blocking_voters'] as $bv ) {
$blocking_voters = 'no-block';
switch ( $unserialized_meta['blocking_voters'] ) {
case 'dont-block':
break;
case 'cookie':
$blocking_voters = 'by-cookie';
break;
case 'ip':
$blocking_voters = 'by-ip';
break;
case 'user_id':
$blocking_voters = 'by-user-id';
break;
default:
break;
}
$newBlVoters[] = $blocking_voters;
}
}
if( isset( $unserialized_meta['view_results_type'] ) ) {
switch( $unserialized_meta['view_results_type'] ) {
case 'votes-number': {
$resultsDetails = ['votes-number'];
break;
}
case 'percentages': {
$resultsDetails = ['percentages'];
break;
}
case 'votes-number-and-percentages' : {
$resultsDetails = ['votes-number', 'percentages'];
break;
}
default: {
$resultsDetails = ['votes-number'];
break;
}
}
} else {
$resultsDetails = ['percentages'];
}
$pro_templates_ids = [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28];
if( isset( $unserialized_meta['template'] ) ) {
if( in_array( $unserialized_meta['template'], $pro_templates_ids ) ) {
$template_base = 'basic-pretty';
} else {
$template_base = 'basic';
}
} else {
$template_base = 'basic';
}
if ( isset( $unserialized_meta['show_results_in'] ) ) {
if ( 'bar' === $unserialized_meta['show_results_in'] ) {
$displayResultsAs = 'bar';
} else {
$displayResultsAs = 'pie';
}
} else {
$displayResultsAs = 'bar';
}
if ( '' !== $poll->poll_end_date ) {
if ( '2038-01-01 23:59:59' === $poll->poll_end_date ) {
$poll_end_date_option = 'never';
$poll_end_date = '';
} else {
$poll_end_date_option = 'custom';
$poll_end_date = $poll->poll_end_date;
}
} else {
$poll_end_date_option = 'never';
$poll_end_date = '';
}
$pollArray = [
'ID' => $poll->ID,
'name' => $poll->poll_title,
'poll_author' => $poll->poll_author,
'status' => 'published',
'stype' => 'poll',
'total_submits' => $poll->poll_total_votes,
'total_submited_answers' => $poll->poll_total_votes,
'added_date' => $poll->poll_date,
'modified_date' => $poll->poll_modified,
'design' => [
'template' => 1,
'templateBase' => $template_base,
'style' => $poll_style
],
'options' => [
'poll' => [
'voteButtonLabel' => $unserialized_meta['vote_button_label'],
'showResultsLink' => 'no',
'resultsLabelText' => 'Results',
'showTotalVotes' => $unserialized_meta['view_total_votes'],
'showTotalAnswers' => $unserialized_meta['view_total_answers'],
'startDateOption' => 'custom',
'startDateCustom' => $poll->poll_start_date,
'endDateOption' => $poll_end_date_option,
'endDateCustom' => $poll_end_date,
'redirectAfterVote' => $unserialized_meta['redirect_after_vote'],
'redirectUrl' => $unserialized_meta['redirect_after_vote_url'],
'resetPollStatsAutomatically' => isset( $unserialized_meta['schedule_reset_poll_stats'] ) ? $unserialized_meta['schedule_reset_poll_stats'] : 'no',
'resetPollStatsOn' => $unserialized_meta['schedule_reset_poll_date'],
'resetPollStatsEvery' => $unserialized_meta['schedule_reset_poll_recurring_value'],
'resetPollStatsEveryPeriod' => $unserialized_meta['schedule_reset_poll_recurring_unit'] . 's',
'autoGeneratePollPage' => $unserialized_meta['auto_generate_poll_page'],
'pageId' => '',
'pageLink' => '',
'useCaptcha' => isset( $unserialized_meta['use_captcha'] ) ? $unserialized_meta['use_captcha'] : 'no',
'sendEmailNotifications' => isset( $unserialized_meta['send_email_notifications'] ) ? $unserialized_meta['send_email_notifications'] : 'no',
'emailNotificationsFromName' =>
isset( $unserialized_meta['email_notifications_from_name'] ) ? $unserialized_meta['email_notifications_from_name'] : 'Voting Alerts',
'emailNotificationsFromEmail' =>
isset( $unserialized_meta['email_notifications_from_email'] ) ? $unserialized_meta['email_notifications_from_email'] : 'noreply@???',
'emailNotificationsSubject' =>
isset( $unserialized_meta['email_notifications_subject'] ) ? $unserialized_meta['email_notifications_subject'] : 'New Vote',
'emailNotificationsMessage' =>
isset( $unserialized_meta['email_notifications_body'] ) ? $unserialized_meta['email_notifications_body'] : 'New Vote',
'enableGdpr' => 'no',
'gdprSolution' => 'consent',
'gdprConsentText' => ''
],
'access' => [
'votePermissions' => $vote_perms,
'blockVoters' => $newBlVoters,
'blockForValue' => isset( $unserialized_meta['blocking_voters_interval_value'] ) ? $unserialized_meta['blocking_voters_interval_value'] : '',
'blockForPeriod' => isset( $unserialized_meta['blocking_voters_interval_unit'] ) ? $unserialized_meta['blocking_voters_interval_unit'] : 'minutes',
'limitVotesPerUser' =>
isset( $unserialized_meta['limit_number_of_votes_per_user'] ) ? $unserialized_meta['limit_number_of_votes_per_user'] : 'no',
'votesPerUserAllowed' => isset( $unserialized_meta['number_of_votes_per_user'] ) ? $unserialized_meta['number_of_votes_per_user'] : 3
],
'results' => [
'showResultsMoment' => $results_moment,
'customDateResults' => isset( $unserialized_meta['view_results_start_date'] ) ? $unserialized_meta['view_results_start_date'] : '',
'showResultsTo' => $show_results_to,
'backToVoteOption' => isset( $unserialized_meta['view_back_to_vote_link'] ) ? $unserialized_meta['view_back_to_vote_link'] : 'no',
'backToVoteCaption' => 'Back to vote',
'sortResults' => $sorting_results,
'sortResultsRule' => isset( $unserialized_meta['sorting_results_direction'] ) ? $unserialized_meta['sorting_results_direction'] : 'asc',
'displayResultsAs' => $displayResultsAs,
'resultsDetails' => $resultsDetails
]
]
];
$pollElementsArray = [];
if ( self::check_if_table_exists( $polls_questions_table_name ) && self::check_if_table_exists( $polls_questions_meta_table_name ) ) {
$pollQuestions = $wpdb->get_results( "select * from `{$polls_questions_table_name}` inner join `{$polls_questions_meta_table_name}` on
`{$polls_questions_table_name}`.`ID` = `$polls_questions_meta_table_name`.`yop_poll_question_id` where `poll_id` = {$poll->ID}" );
foreach ( $pollQuestions as $pQ ) {
$qArr = [];
$unserialized_q_meta = unserialize( $pQ->meta_value );
$pollQuestionAnswers = $wpdb->get_results( "select * from `{$polls_answers_table_name}` inner join `{$polls_answers_meta_table_name}` on
`{$polls_answers_table_name}`.`ID` = `{$polls_answers_meta_table_name}`.`yop_poll_answer_id` where `poll_id` = {$poll->ID} and `question_id` = {$pQ->ID}" );
$pollQuestionCustoms = $wpdb->get_results( "select `custom_field`, `required` from `{$polls_questions_table_name}` inner join `{$polls_questions_customs_table}` on
`{$polls_questions_table_name}`.`ID` = `{$polls_questions_customs_table}`.`question_id` where `{$polls_questions_table_name}`.`poll_id` = {$poll->ID} and `question_id` = {$pQ->ID}" );
$x = 0;
$pollQuestionAnswersArray = [];
switch ( $pQ->type ) {
case 'text': {
foreach ( $pollQuestionAnswers as $pQA ) {
$unserialized_a_meta = unserialize( $pQA->meta_value );
switch ( $pQA->type ) {
case 'text': {
$pQAA = [
'ID' => $pQA->ID,
'question_order' => $pQA->question_order,
'type' => 'text',
'text' => stripslashes( $pQA->answer ),
'options' => [
'makeDefault' => isset( $unserialized_a_meta['is_default_answer'] ) ? $unserialized_a_meta['is_default_answer'] : 'no',
'makeLink' => 'no',
'link' => '',
'resultsColor' => isset ( $unserialized_a_meta['bar_background'] ) ? $unserialized_a_meta['bar_background'] : ''
]
];
break;
}
case 'other': {
$pQAA = [
'ID' => $pQA->ID,
'question_order' => $pQA->question_order,
'type' => 'text',
'text' => stripslashes( $pQA->answer ),
'is_other' => true,
'options' => [
'makeDefault' => isset( $unserialized_a_meta['is_default_answer'] ) ? $unserialized_a_meta['is_default_answer'] : 'no',
'makeLink' => 'no',
'link' => '',
'resultsColor' => isset ( $unserialized_a_meta['bar_background'] ) ? $unserialized_a_meta['bar_background'] : ''
]
];
break;
}
case 'image': {
$pQAA = [
'ID' => $pQA->ID,
'question_order' => $pQA->question_order,
'type' => 'image',
'text' => stripslashes( $pQA->answer ),
'options' => [
'makeDefault' => isset( $unserialized_a_meta['is_default_answer'] ) ? $unserialized_a_meta['is_default_answer'] : 'no',
'makeLink' => 'no',
'addText' => 'no',
'text' => '',
'resultsColor' => isset ( $unserialized_a_meta['bar_background'] ) ? $unserialized_a_meta['bar_background'] : '#000'
]
];
break;
}
}
$pollQuestionAnswersArray[$x] = $pQAA;
$x ++;
}
if ( isset( $unserialized_q_meta['display_answers'] ) ) {
if( 'orizontal' === $unserialized_q_meta['display_answers'] ) {
$answersDisplay = 'horizontal';
} elseif ( 'tabulated' === $unserialized_q_meta['display_answers'] ) {
$answersDisplay = 'columns';
} else {
$answersDisplay = $unserialized_q_meta['display_answers'];
}
} else {
$answersDisplay = 'vertical';
}
$pollElementsArray[] = [
'ID' => $pQ->ID,
'type' => 'text-question',
'text' => stripslashes( $pQ->question ),
'poll_order' => $pQ->poll_order,
'answers' => $pollQuestionAnswersArray,
'options' => [
'allowOtherAnswers' => isset( $unserialized_q_meta['allow_other_answers'] ) ? $unserialized_q_meta['allow_other_answers'] : 'no',
'otherAnswersLabel' => isset( $unserialized_q_meta['other_answers_label'] ) ? $unserialized_q_meta['other_answers_label'] : 'Other',
'addOtherAnswers' =>
isset( $unserialized_q_meta['add_other_answers_to_default_answers'] ) ? $unserialized_q_meta['add_other_answers_to_default_answers'] : 'no',
'displayOtherAnswersInResults' =>
isset( $unserialized_q_meta['display_other_answers_values'] ) ? $unserialized_q_meta['display_other_answers_values'] : 'no',
'allowMultipleAnswers' =>
isset( $unserialized_q_meta['allow_multiple_answers'] ) ? $unserialized_q_meta['allow_multiple_answers'] : 'no',
'multipleAnswersMinim' =>
isset( $unserialized_q_meta['allow_multiple_answers_min_number'] ) ? $unserialized_q_meta['allow_multiple_answers_min_number'] : 1,
'multipleAnswersMaxim' => isset( $unserialized_q_meta['allow_multiple_answers_number'] ) ? $unserialized_q_meta['allow_multiple_answers_number'] : 3,
'answersDisplay' => $answersDisplay,
'answersColumns' =>
isset( $unserialized_q_meta['display_answers_tabulated_cols'] ) ? $unserialized_q_meta['display_answers_tabulated_cols'] : 2
]
];
break;
}
case 'media': {
foreach ( $pollQuestionAnswers as $pQA ) {
$unserialized_a_meta = unserialize( $pQA->meta_value );
switch ( $pQA->type ) {
case 'text': {
$pQAA = [
'ID' => $pQA->ID,
'question_order' => $pQA->question_order,
'type' => 'text',
'text' => stripslashes( $pQA->answer ),
'options' => [
'makeDefault' => isset( $unserialized_a_meta['is_default_answer'] ) ? $unserialized_a_meta['is_default_answer'] : 'no',
'makeLink' => 'no',
'link' => '',
'resultsColor' => isset ( $unserialized_a_meta['bar_background'] ) ? $unserialized_a_meta['bar_background'] : ''
]
];
break;
}
case 'image': {
$pQAA = [
'ID' => $pQA->ID,
'question_order' => $pQA->question_order,
'type' => 'image',
'text' => stripslashes( $pQA->answer ),
'options' => [
'makeDefault' => isset( $unserialized_a_meta['is_default_answer'] ) ? $unserialized_a_meta['is_default_answer'] : 'no',
'makeLink' => 'no',
'addText' => 'no',
'text' => '',
'resultsColor' => isset ( $unserialized_a_meta['bar_background'] ) ? $unserialized_a_meta['bar_background'] : '#000'
]
];
break;
}
}
$pollQuestionAnswersArray[$x] = $pQAA;
$x ++;
}
if ( isset( $unserialized_q_meta['display_answers'] ) ) {
if( 'orizontal' === $unserialized_q_meta['display_answers'] ) {
$answersDisplay = 'horizontal';
} elseif ( 'tabulated' === $unserialized_q_meta['display_answers'] ) {
$answersDisplay = 'columns';
} else {
$answersDisplay = $unserialized_q_meta['display_answers'];
}
} else {
$answersDisplay = 'vertical';
}
$pollElementsArray[] = [
'ID' => $pQ->ID,
'type' => 'media-question',
'text' => stripslashes( $pQ->question ),
'poll_order' => $pQ->poll_order,
'answers' => $pollQuestionAnswersArray,
'options' => [
'allowOtherAnswers' => isset( $unserialized_q_meta['allow_other_answers'] ) ? $unserialized_q_meta['allow_other_answers'] : 'no',
'otherAnswersLabel' => isset( $unserialized_q_meta['other_answers_label'] ) ? $unserialized_q_meta['other_answers_label'] : 'Other',
'addOtherAnswers' =>
isset( $unserialized_q_meta['add_other_answers_to_default_answers'] ) ? $unserialized_q_meta['add_other_answers_to_default_answers'] : 'no',
'displayOtherAnswersInResults' =>
isset( $unserialized_q_meta['display_other_answers_values'] ) ? $unserialized_q_meta['display_other_answers_values'] : 'no',
'allowMultipleAnswers' =>
isset( $unserialized_q_meta['allow_multiple_answers'] ) ? $unserialized_q_meta['allow_multiple_answers'] : 'no',
'multipleAnswersMinim' =>
isset( $unserialized_q_meta['allow_multiple_answers_min_number'] ) ? $unserialized_q_meta['allow_multiple_answers_min_number'] : 1,
'multipleAnswersMaxim' => isset( $unserialized_q_meta['allow_multiple_answers_number'] ) ? $unserialized_q_meta['allow_multiple_answers_number'] : 3,
'answersDisplay' => $answersDisplay,
'answersColumns' =>
isset( $unserialized_q_meta['display_answers_tabulated_cols'] ) ? $unserialized_q_meta['display_answers_tabulated_cols'] : 2
]
];
break;
}
}
foreach ( $pollQuestionCustoms as $pQC ) {
$pollElementsArray[] = [
'ID' => self::$maxElementID,
'poll_order' => 1,
'type' => 'custom-field',
'text' => stripslashes( $pQC->custom_field ),
'options' => [
'makeRequired' => 'yes' === $pQC->required ? 'yes' : 'no'
]
];
self::$maxElementID++;
}
}
}
$pollArray['elements'] = $pollElementsArray;
$responseArray = YOP_Poll_Polls::add( json_decode( json_encode( $pollArray ) ) );
if ( '' !== $responseArray['poll_id'] ) {
$result = $wpdb->update( $polls_table_name, array( 'processed' => true ), array( 'ID' => $poll->ID ) );
self::$processed_polls += $result;
}
}
}
}
}
private static function set_gdpr( $enableGdpr, $gdprSolution ) {
self::$enableGdpr = $enableGdpr;
self::$gdprSolution = $gdprSolution;
}
private static function make_ip_gdpr_compliant( $ipaddress ) {
$compliant_ipaddress = '';
if ( 'yes' === self::$enableGdpr ) {
switch( self::$gdprSolution ) {
case 'consent': {
$compliant_ipaddress = $ipaddress;
break;
}
case 'anonymize': {
$compliant_ipaddress = Helper::anonymize_ip( $ipaddress );
break;
}
case 'nostore': {
$compliant_ipaddress = '';
break;
}
default: {
$compliant_ipaddress = $ipaddress;
break;
}
}
} else {
$compliant_ipaddress = $ipaddress;
}
return $compliant_ipaddress;
}
private static function make_cookie_gdpr_compliant( $cookie ) {
$compliant_cookie = '';
if ( 'yes' === self::$enableGdpr ) {
switch( self::$gdprSolution ) {
case 'consent': {
$compliant_cookie = $cookie;
break;
}
case 'anonymize': {
$compliant_cookie = '';
break;
}
case 'nostore': {
$compliant_cookie = '';
break;
}
default: {
$compliant_cookie = $cookie;
break;
}
}
} else {
$compliant_cookie = $cookie;
}
return $compliant_cookie;
}
private static function import_bans( $skip_table_check = false ) {
global $wpdb;
$polls_bans_table = $GLOBALS['wpdb']->prefix . 'yop2_poll_bans';
$values = [];
$current_user = wp_get_current_user();
if ( $skip_table_check ) {
self::$checked_existence_bans = true;
self::$bans_table_exists = true;
}
if ( !self::$checked_existence_bans ) {
if ( self::check_if_table_exists( $polls_bans_table ) ) {
if ( ! self::check_if_column_exists( $polls_bans_table, 'processed' ) ) {
$wpdb->query( "ALTER TABLE `{$polls_bans_table}` ADD processed BOOLEAN DEFAULT FALSE " );
}
self::$checked_existence_bans = true;
self::$bans_table_exists = true;
}
}
if ( self::$checked_existence_bans && self::$bans_table_exists ) {
self::$unprocessed_bans = $wpdb->get_var("select count(ID) from `{$polls_bans_table}` where `processed` = false");
$bans = $wpdb->get_results( "select * from `{$polls_bans_table}` LIMIT " .self::$ajax_limit );
$bansIds = [];
if ( count( $bans ) > 0 ) {
foreach ( $bans as $ban ) {
$values[] = $wpdb->prepare( "(%d, %d, %s, %s, %s)", $current_user->ID, $ban->poll_id, $ban->type, $ban->value, current_time( 'mysql' ) );
$bansIds[] = $ban->id;
}
$query = "INSERT INTO `{$GLOBALS['wpdb']->yop_poll_bans}` (`author`, `poll_id`, `b_by`, `b_value`, `added_date`) VALUES ";
if ( count( $values ) > 0 ) {
$query .= implode( ",\n", $values );
$result = $wpdb->query( $query );
if ( ! $result ) {
$last_error = $wpdb->last_error;
return [ 'response_code' => 1, 'message' => __( $last_error, 'yop-poll' ) ];
} else {
$res = $wpdb->query("update {$polls_bans_table} set `processed` = true where `ID` in (".implode(',', $bansIds).")");
self::$processed_bans += $res;
if ( self::$processed_bans == self::$unprocessed_bans ) {
return [ 'response_code' => - 1, 'message' => __( 'Processed ' . self::$processed_bans . ' out of ' . self::$unprocessed_bans . ' records on table bans.', 'yop-poll' ) ];
} else {
return [ 'response_code' => 1, 'message' => __( 'Processed ' . self::$processed_bans . ' out of ' . self::$unprocessed_bans . ' remaining records on table bans.', 'yop-poll' ) ];
}
}
}
} else {
return [ 'response_code' => - 1, 'message' => __( 'No bans to process.', 'yop-poll' ) ];
}
} else {
return [ 'response_code' => - 1, 'message' => __( 'No bans table, skipping.', 'yop-poll' ) ];
}
}
private static function import_votes( $skip_table_check = false ) {
global $wpdb;
$polls_results_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_results';
$polls_results_customs_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_votes_custom_fields';
$current_user = wp_get_current_user();
if( $skip_table_check ) {
self::$checked_existence_votes = true;
self::$votes_table_exists = true;
}
if ( !self::$checked_existence_votes ) {
if ( self::check_if_table_exists( $polls_results_table_name ) ) {
if ( ! self::check_if_column_exists( $polls_results_table_name, 'processed' ) ) {
$wpdb->query( "ALTER TABLE `{$polls_results_table_name}` ADD processed BOOLEAN DEFAULT FALSE " );
}
self::$checked_existence_votes = true;
self::$votes_table_exists = true;
}
}
if ( self::$checked_existence_votes && self::$votes_table_exists ) {
self::$unprocessed_votes = $wpdb->get_var("select count(ID) from `{$polls_results_table_name}` where processed = false");
$results = $wpdb->get_results( "select `{$polls_results_table_name}`.* from `{$polls_results_table_name}` where `processed` = false limit " . self::$ajax_limit );
if ( 0 == count( $results ) ) {
return [ 'response_code' => - 1, 'message' => __( 'No votes to process.', 'yop-poll' ) ];
} else {
$voteData = ['elements' => [], 'user' => [] ];
$votesArray = [];
$resultsIds = [];
foreach ( $results as $result ) {
$voteData = ['elements' => [], 'user' => [] ];
$resultsIds[] = $result->ID;
$result_details = get_object_vars( json_decode( $result->result_details ) );
foreach ( $result_details as $rd ) {
$a_data = [];
foreach ( $rd->a as $answer_id ) {
$a_data[] = [
'id' => $answer_id,
'data' => true
];
$wpdb->query( $wpdb->prepare("UPDATE `{$GLOBALS['wpdb']->yop_poll_subelements}` SET `total_submits` = ( `total_submits` + 1 ) WHERE `id` = %d", array( $answer_id ) ) );
}
$voteData['elements'][] = [
'id' => $rd->id,
'type' => 'question',
'data' => $a_data
];
if ( property_exists( $rd, 'cf' ) && count( $rd->cf ) > 0 ) {
$customs = $wpdb->get_results( "select `id`, `user_id`,`custom_field_value` from `{$polls_results_customs_table_name}` where ID in (" . implode( ',', $rd->cf ) . ")" );
if ( $customs ) {
foreach ( $customs as $cust ) {
$custom_text = $wpdb->get_var( "select `custom_field` from {$GLOBALS['wpdb']->prefix}yop2_poll_custom_fields where ID = '{$cust->id}'" );
$added_custom = $wpdb->get_var( $wpdb->prepare("select `id` from `{$GLOBALS['wpdb']->yop_poll_elements}` where `poll_id` = %d and `etext` = %s limit 1", array( $result->poll_id, $custom_text ) ) );
if ( '' != $added_custom && $added_custom > 0 ) {
$custom_id = $added_custom;
} else {
$wpdb->insert( $GLOBALS['wpdb']->yop_poll_elements,
['poll_id'=> $result->poll_id,
'author' => $current_user->ID,
'etext' => 'Custom field',
'etype' => 'custom_field',
'status' => 'active',
'meta_data' => serialize( ['makeRequired' => 'no'] ),
'added_date' => date( 'Y-m-d H:i:s' ),
'modified_date' => date( 'Y-m-d H:i:s' )
],
['%d', '%d', '%s', '%s', '%s', '%s', '%s', '%s'] );
$custom_id = $wpdb->insert_id;
}
$voteData['elements'][] = [
'id' => $custom_id,
'type' => 'custom-field',
'data' => [$cust->custom_field_value]
];
}
}
}
}
$voteData['user'] = [
'first_name' => '',
'last_name' => ''
];
$data = array(
'poll_id' => $result->poll_id,
'user_id' => $result->user_id,
'user_email' => '',
'user_type' => $result->user_type,
'ipaddress' => self::make_ip_gdpr_compliant( $result->ip ),
'tracking_id' => $result->tr_id,
'voter_id' => self::make_cookie_gdpr_compliant( $result->vote_id ),
'voter_fingerprint' => '',
'vote_data' => serialize( $voteData ),
'status' => 'active',
'added_date' => $result->vote_date
);
$votesArray[] = $wpdb->prepare( "(%d, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s)", $data['poll_id'], $data['user_id'], $data['user_email'], $data['user_type'], $data['ipaddress'],
$data['tracking_id'], $data['voter_id'], $data['voter_fingerprint'], $data['vote_data'], $data['status'], $data['added_date'] );
}
$query = "INSERT INTO `{$GLOBALS['wpdb']->yop_poll_votes}` (`poll_id`, `user_id`, `user_email`, `user_type`, `ipaddress`, `tracking_id`, `voter_id`, `voter_fingerprint`, `vote_data`,
`status`, `added_date`) VALUES ";
if ( count( $votesArray ) > 0 ) {
$query .= implode( ",\n", $votesArray );
$response = $wpdb->query( $query );
if ( $response ) {
$result = $wpdb->query( "update `{$polls_results_table_name}` set `processed` = true where ID in (" . implode( ',', $resultsIds ) . ")" );
self::$processed_votes += $result;
if ( self::$processed_votes == self::$unprocessed_votes ) {
return [ 'response_code' => -1, 'message' => __( 'Processed ' . self::$processed_votes . ' out of ' . self::$unprocessed_votes . ' records on table votes.', 'yop-poll' ) ];
} else {
return [ 'response_code' => 1, 'message' => __( 'Processed ' . self::$processed_votes . ' out of '. self::$unprocessed_votes . ' remaining records on table votes.', 'yop-poll' ) ];
}
} else {
return [ 'response_code' => 1, 'message' => __( $wpdb->last_error, 'yop-poll' ) ];
}
} else {
return [ 'response_code' => - 1, 'message' => __( 'No votes to process.', 'yop-poll' ) ];
}
}
} else {
return [ 'response_code' => - 1, 'message' => __( 'No votes table, skipping.', 'yop-poll' ) ];
}
}
private static function import_logs( $skip_table_check = false ) {
global $wpdb;
$polls_logs_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_logs';
$polls_results_customs_table_name = $GLOBALS['wpdb']->prefix . 'yop2_poll_votes_custom_fields';
$current_user = wp_get_current_user();
if ( $skip_table_check ) {
self::$checked_existence_logs = true;
self::$logs_table_exists = true;
}
if ( ! self::$checked_existence_bans ) {
if ( self::check_if_table_exists( $polls_logs_table_name ) ) {
if ( ! self::check_if_column_exists( $polls_logs_table_name, 'processed' ) ) {
$wpdb->query( "ALTER TABLE `{$polls_logs_table_name}` ADD processed BOOLEAN DEFAULT FALSE " );
}
self::$checked_existence_logs = true;
self::$logs_table_exists = true;
}
}
if ( self::$checked_existence_logs && self::$logs_table_exists ) {
self::$unprocessed_logs = $wpdb->get_var("select count(ID) from `{$polls_logs_table_name}` where processed = false");
$log_results = $wpdb->get_results( "select `{$polls_logs_table_name}`.* from `{$polls_logs_table_name}` where `processed` = false limit " . self::$ajax_limit );
if ( 0 == count( $log_results ) ) {
return [ 'response_code' => - 1, 'message' => __( 'No logs to process.', 'yop-poll' ) ];
} else {
$logData = [ 'elements' => [], 'user' => [] ];
$logsArray = [];
$logsIds = [];
foreach ( $log_results as $lresult ) {
$logData = [ 'elements' => [], 'user' => [] ];
$logsIds[] = $lresult->ID;
if ( 'Success' === $lresult->message ) {
$lresult_details = get_object_vars( json_decode( $lresult->vote_details ) );
$q_data = [];
foreach ( $lresult_details as $rd ) {
$a_data = [];
foreach ( $rd->a as $answer_id ) {
$a_data[] = [
'id' => $answer_id,
'data' => true
];
}
$logData['elements'][] = [
'id' => $rd->id,
'type' => 'question',
'data' => $a_data
];
if ( count( $rd->cf ) > 0 ) {
$customs = $wpdb->get_results( "select `id`, `custom_field_value` from `{$polls_results_customs_table_name}` where ID in (" . implode( ',', $rd->cf ) . ")" );
if ( $customs ) {
foreach ( $customs as $cust ) {
$custom_text = $wpdb->get_var("select `custom_field` from {$GLOBALS['wpdb']->prefix}yop2_poll_custom_fields where ID = '{$cust->id}'");
$added_custom = $wpdb->get_var( $wpdb->prepare("select `id` from `{$GLOBALS['wpdb']->yop_poll_elements}` where `poll_id` = %d and `etext` = %s limit 1", array( $lresult->poll_id, $custom_text ) ) );
if ( '' != $added_custom && $added_custom > 0 ) {
$custom_id = $added_custom;
} else {
$wpdb->insert( $GLOBALS['wpdb']->yop_poll_elements,
['poll_id'=> $lresult->poll_id,
'author' => $current_user->ID,
'etext' => 'Custom field',
'etype' => 'custom_field',
'status' => 'active',
'meta_data' => serialize( ['makeRequired' => 'no'] ),
'added_date' => date( 'Y-m-d H:i:s' ),
'modified_date' => date( 'Y-m-d H:i:s' )
],
['%d', '%d', '%s', '%s', '%s', '%s', '%s', '%s']);
$custom_id = $wpdb->insert_id;
}
$logData['elements'][] = [
'id' => $custom_id,
'type' => 'custom-field',
'data' => [$cust->custom_field_value]
];
}
}
}
}
}
$logData['user'] = [
'first_name' => '',
'last_name' => ''
];
$vote_message = [ $lresult->message ];
$data = array(
'poll_id' => $lresult->poll_id,
'poll_author' => $current_user->ID,
'user_id' => $lresult->user_id,
'user_email' => '',
'user_type' => $lresult->user_type,
'ipaddress' => self::make_ip_gdpr_compliant( $lresult->ip ),
'tracking_id' => $lresult->tr_id,
'voter_id' => self::make_cookie_gdpr_compliant( $lresult->vote_id ),
'voter_fingerprint' => '',
'vote_data' => serialize( $logData ),
'vote_message' => serialize( $vote_message ),
'added_date' => $lresult->vote_date
);
$logsArray[] = $wpdb->prepare( "(%d, %d, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s)", $data['poll_id'], $data['poll_author'], $data['user_id'], $data['user_email'], $data['user_type'], $data['ipaddress'],
$data['tracking_id'], $data['voter_id'], $data['voter_fingerprint'], $data['vote_data'], $data['vote_message'], $data['added_date'] );
}
$query = "INSERT INTO `{$GLOBALS['wpdb']->yop_poll_logs}` (`poll_id`, `poll_author`, `user_id`, `user_email`, `user_type`, `ipaddress`, `tracking_id`, `voter_id`, `voter_fingerprint`, `vote_data`,
`vote_message`, `added_date`) VALUES ";
$query .= implode( ",\n", $logsArray );
$response = $wpdb->query( $query );
if ( $response ) {
$result = $wpdb->query( "update `{$polls_logs_table_name}` set `processed` = true where `ID` in (" . implode( ',', $logsIds ) . ")" );
self::$processed_logs += $result;
if ( self::$processed_logs == self::$unprocessed_logs ) {
return [ 'response_code' => -1, 'message' => __( 'Processed ' . self::$processed_logs . ' out of ' . self::$unprocessed_logs . ' records on table logs.', 'yop-poll' ) ];
} else {
return [ 'response_code' => 1, 'message' => __( 'Processed ' . self::$processed_logs . ' out of remaining ' . self::$unprocessed_logs . ' records on table logs.', 'yop-poll' ) ];
}
} else {
return [ 'response_code' => 1, 'message' => __( $wpdb->last_error, 'yop-poll' ) ];
}
}
} else {
return [ 'response_code' => - 1, 'message' => __( 'No logs table, skipping.', 'yop-poll' ) ];
}
}
private static function check_if_table_exists( $table_name ) {
global $wpdb;
if ( 0 == $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(1) FROM `information_schema`.`tables` WHERE `table_schema` = %s AND `table_name` = %s",
DB_NAME, $table_name ) ) ) {
return false;
}
return true;
}
private static function check_if_column_exists( $table_name, $column_name ) {
global $wpdb;
if ( 0 == $wpdb->get_var( $wpdb->prepare(
"SELECT count(1) FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = %s AND `TABLE_NAME` = %s AND `COLUMN_NAME` = %s ",
DB_NAME, $table_name, $column_name
) ) ) {
return false;
}
return true;
}
private static function create_css_from_template( $template_id ) {
$css_array = [];
switch ( $template_id ) {
case 1: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#555',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#000',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 2: {
$css_array = [
'poll' => [
'backgroundColor' => '#eee',
'borderSize' => 0,
'borderColor' => '#eee',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#fff',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#eee',
'borderSize' => 0,
'borderColor' => '#eee',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#eee',
'borderSize' => 0,
'borderColor' => '#eee',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#eee',
'borderSize' => 0,
'borderColor' => '#eee',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 3: {
$css_array = [
'poll' => [
'backgroundColor' => '#555',
'borderSize' => 0,
'borderColor' => '#555',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#fff',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#555',
'borderSize' => 0,
'borderColor' => '#555',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small',
],
'answers' => [
'backgroundColor' => '#555',
'borderSize' => 0,
'borderColor' => '#555',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#333',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#555',
'borderSize' => 0,
'borderColor' => '#555',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 4: {
$css_array = [
'poll' => [
'backgroundColor' => '#327BD6',
'borderSize' => 0,
'borderColor' => '#327BD6',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#fff',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#327BD6',
'borderSize' => 0,
'borderColor' => '#327BD6',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#327BD6',
'borderSize' => 0,
'borderColor' => '#327BD6',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#327BD6',
'borderSize' => 0,
'borderColor' => '#327BD6',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 5: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#fff',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#327BD6',
'borderSize' => 0,
'borderColor' => '#327BD6',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 6: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 2,
'borderColor' => '#327BD6',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#000',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 7: {
$css_array = [
'poll' => [
'backgroundColor' => '#B70004',
'borderSize' => 0,
'borderColor' => '#B70004',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#B70004',
'borderSize' => 0,
'borderColor' => '#B70004',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#B70004',
'borderSize' => 0,
'borderColor' => '#B70004',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#B70004',
'borderSize' => 0,
'borderColor' => '#B70004',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 8: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#B70004',
'borderSize' => 0,
'borderColor' => '#B70004',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 9: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 2,
'borderColor' => '#B70004',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#000',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 10: {
$css_array = [
'poll' => [
'backgroundColor' => '#3F8B43',
'borderSize' => 0,
'borderColor' => '#3F8B43',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#3F8B43',
'borderSize' => 0,
'borderColor' => '#3F8B43',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#3F8B43',
'borderSize' => 0,
'borderColor' => '#3F8B43',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#3F8B43',
'borderSize' => 0,
'borderColor' => '#3F8B43',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 11: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#3F8B43',
'borderSize' => 0,
'borderColor' => '#3F8B43',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 12: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 2,
'borderColor' => '#3F8B43',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#000',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 13: {
$css_array = [
'poll' => [
'backgroundColor' => '#FB6911',
'borderSize' => 0,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#FB6911',
'borderSize' => 0,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#FB6911',
'borderSize' => 0,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#FB6911',
'borderSize' => 0,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 14: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#FB6911',
'borderSize' => 0,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 15: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 2,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#000',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#000',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 16: {
$css_array = [
'poll' => [
'backgroundColor' => '#FFF',
'borderSize' => 1,
'borderColor' => '#000',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#333',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#858585',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#858585',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#333',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 17: {
$css_array = [
'poll' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => '#bfe5f8',
'borderRadius' => 20,
'padding' => 10,
'textColor' => '#90c1cf',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => '#bfe5f8',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#90c1cf',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => '#bfe5f8',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#90c1cf',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 1,
'borderColor' => '#333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => 'bfe5f8',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 18: {
$css_array = [
'poll' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => '#bfe5f8',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#90c1cf',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => '#bfe5f8',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#90c1cf',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => '#bfe5f8',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#90c1cf',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#333',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#bfe5f8',
'borderSize' => 0,
'borderColor' => '#bfe5f8',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 19: {
$css_array = [
'poll' => [
'backgroundColor' => '#f1f0ff',
'borderSize' => 2,
'borderColor' => '#ACCBE0',
'borderRadius' => 20,
'padding' => 10,
'textColor' => '#38595E',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#f1f0ff',
'borderSize' => 0,
'borderColor' => '#f1f0ff',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#666666',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#f1f0ff',
'borderSize' => 0,
'borderColor' => '#f1f0ff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#666666',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#fff',
'borderSize' => 2,
'borderColor' => '#333',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#333',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#f1f0ff',
'borderSize' => 0,
'borderColor' => '#f1f0ff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 20: {
$css_array = [
'poll' => [
'backgroundColor' => '#333333',
'borderSize' => 1,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#fff',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#fff',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FFF',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 21: {
$css_array = [
'poll' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 20,
'padding' => 10,
'textColor' => '#FFF',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#FFF',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#fff',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#333',
'borderSize' => 0,
'borderColor' => '#333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 22: {
$css_array = [
'poll' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 20,
'padding' => 10,
'textColor' => '#FFF',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#FFF',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#fff',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#333',
'borderSize' => 0,
'borderColor' => '#333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 23: {
$css_array = [
'poll' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#FFF',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#FFF',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#fff',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#333',
'borderSize' => 0,
'borderColor' => '#333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 24: {
$css_array = [
'poll' => [
'backgroundColor' => '#1D2328',
'borderSize' => 1,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#E9E9E9',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#1D2328',
'borderSize' => 0,
'borderColor' => '#1D2328',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#E9E9E9',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#1D2328',
'borderSize' => 0,
'borderColor' => '#1D2328',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#E9E9E9',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#69C9D4',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FFF',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#1D2328',
'borderSize' => 0,
'borderColor' => '#1D2328',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 25: {
$css_array = [
'poll' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#333',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#FB6911',
'borderSize' => 0,
'borderColor' => '#FB6911',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#fff',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#333',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#fff',
'borderSize' => 1,
'borderColor' => '#333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 26: {
$css_array = [
'poll' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#6b7552',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#333333',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#009a31',
'borderSize' => 0,
'borderColor' => '#c3e9f9',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#333333',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 1,
'borderColor' => '#38595E',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 27: {
$css_array = [
'poll' => [
'backgroundColor' => '#333333',
'borderSize' => 2,
'borderColor' => '#d23c3d',
'borderRadius' => 20,
'padding' => 10,
'textColor' => '#FFF',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#FFF',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FFF',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#595959',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#FFF',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#333333',
'borderSize' => 0,
'borderColor' => '#333333',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
case 28: {
$css_array = [
'poll' => [
'backgroundColor' => '#FFF',
'borderSize' => 2,
'borderColor' => '#6b7552',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#333333',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#009a31',
'borderSize' => 0,
'borderColor' => '#c3e9f9',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#333333',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#333333',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#FFF',
'borderSize' => 1,
'borderColor' => '#38595E',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#FFF',
'borderSize' => 0,
'borderColor' => '#FFF',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
default: {
$css_array = [
'poll' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 10,
'textColor' => '#555',
'inputElementsBorderColor' => '#000',
],
'questions' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 4,
'textColor' => '#000',
'textSize' => 'small'
],
'answers' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#000',
'textSize' => 'small',
'skin' => 'minimal',
'colorScheme' => 'black'
],
'buttons' => [
'backgroundColor' => '#222',
'borderSize' => 0,
'borderColor' => '#222',
'borderRadius' => 2,
'padding' => 0,
'textColor' => '#fff',
'textSize' => 'small'
],
'captcha' => [],
'errors' => [
'backgroundColor' => '#fff',
'borderSize' => 0,
'borderColor' => '#fff',
'borderRadius' => 0,
'padding' => 0,
'textColor' => '#FF0000',
'textSize' => 'small'
]
];
break;
}
}
return $css_array;
}
public static function yop_ajax_import() {
if ( false === is_user_logged_in() ) {
wp_send_json_error( __( 'You are not allowed to perform this action', 'yop-poll' ) );
wp_die();
}
if ( check_ajax_referer( 'yop-poll-ajax-importer', '_csrf_token', false ) ){
$skip_table_check = false;
if ( isset( $_REQUEST['enableGdpr'] ) && isset( $_REQUEST['gdprSolution'] ) ) {
self::set_gdpr( $_REQUEST['enableGdpr'], $_REQUEST['gdprSolution'] );
}
switch ( $_REQUEST['table'] ) {
case 'polls': {
$response = self::import_polls( self::$ajax_limit, $skip_table_check );
if ( -1 == $response['response_code'] )
{
$table = 'bans';
$response_code = 1;
wp_send_json_success( array( 'table' => $table, 'response_code' => $response_code, 'message' => $response['message'], 'skip_table_check' => false ) );
} else {
$table = 'polls';
$response_code = $response['response_code'];
wp_send_json_success( array( 'table' => $table, 'response_code' => $response_code, 'message' => $response['message'], 'skip_table_check' => true ) );
}
break;
}
case 'bans': {
$response = self::import_bans( $skip_table_check );
if ( -1 == $response['response_code'] ) {
$table = 'votes';
$response_code = 1;
wp_send_json_success( array( 'table' => $table, 'response_code' => $response_code, 'message' => $response['message'], 'skip_table_check' => false ) );
} else {
$table = 'bans';
$response_code = $response['response_code'];
wp_send_json_success( array( 'table' => $table, 'response_code' => $response_code, 'message' => $response['message'], 'skip_table_check' => true ) );
}
break;
}
case 'votes': {
$response = self::import_votes( $skip_table_check );
if ( -1 == $response['response_code'] ) {
$table = 'logs';
$response_code = 1;
wp_send_json_success( array( 'table' => $table, 'response_code' => $response_code, 'message' => $response['message'], 'skip_table_check' => false ) );
} else {
$table = 'votes';
$response_code = $response['response_code'];
wp_send_json_success( array( 'table' => $table, 'response_code' => $response_code, 'message' => $response['message'], 'skip_table_check' => true ) );
}
break;
}
case 'logs': {
$response = self::import_logs( $skip_table_check );
if ( -1 == $response['response_code'] ) {
$response_code = 'done';
delete_option( 'yop_poll_old_version' );
wp_send_json_success( array( 'table' => 'logs', 'response_code' => $response_code, 'message' => $response['message'] ) );
} else {
$response_code = $response['response_code'];
wp_send_json_success( array( 'table' => 'logs', 'response_code' => $response_code, 'message' => $response['message'], 'skip_table_check' => $skip_table_check ) );
}
break;
}
}
wp_die();
} else {
wp_send_json_error( __( 'You are not allowed to perform this action', 'yop-poll' ) );
wp_die();
}
}
}