| @@ -1,648 +1,711 @@ | ||
| 1 | -<?php | |
| 2 | -/* | |
| 3 | -Plugin Name: WordPress Contact Forms by Cimatti | |
| 4 | -Description: Quickly create and publish forms in your WordPress powered website. | |
| 5 | -Version: 1.0 | |
| 6 | -Plugin URI: http://www.cimatti.it/wordpress/contact-forms/ | |
| 7 | -Author: Cimatti Consulting | |
| 8 | -Author URI: http://www.cimatti.it | |
| 9 | -*/ | |
| 10 | - | |
| 11 | -/* | |
| 12 | -WordPress Contact Forms by Cimatti | |
| 13 | -Copyright (c) 2011-2013 Andrea Cimatti | |
| 14 | - | |
| 15 | -This program is free software; you can redistribute it and/or | |
| 16 | -modify it under the terms of the GNU General Public License | |
| 17 | -as published by the Free Software Foundation; either version 2 | |
| 18 | -of the License, or (at your option) any later version. | |
| 19 | - | |
| 20 | -This program is distributed in the hope that it will be useful, | |
| 21 | -but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 22 | -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 23 | -GNU General Public License for more details. | |
| 24 | - | |
| 25 | -You should have received a copy of the GNU General Public License | |
| 26 | -along with this program; if not, write to the Free Software | |
| 27 | -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
| 28 | - | |
| 29 | - | |
| 30 | -The full copy of the GNU General Public License is available here: http://www.gnu.org/licenses/gpl.txt | |
| 31 | - | |
| 32 | -*/ | |
| 33 | - | |
| 34 | -require_once('accua-form-api.php'); | |
| 35 | -require_once('accua-forms.php'); | |
| 36 | -require_once('accua-shortcode-button.php'); | |
| 37 | - | |
| 38 | -function accua_dashboard_page_head(){ | |
| 39 | - $screen = get_current_screen(); | |
| 40 | - $screen->add_help_tab( array( | |
| 41 | - 'id' => 'accua_help_tab', | |
| 42 | - 'title' => __('WordPress Contact Forms by Cimatti'), | |
| 43 | - 'content' => '<p>' . __( 'Marketing tools for WordPress', 'accua-form-api') . '</p>', | |
| 44 | - ) ); | |
| 45 | - | |
| 46 | - wp_enqueue_script('accua', plugins_url('/flot/jquery.flot.js', __FILE__ ), array( 'jquery' )); | |
| 47 | - //wp_enqueue_style('accua_flot', plugins_url('/flot/layout.css', __FILE__ )); | |
| 48 | - wp_enqueue_style('accua', plugins_url('accua.css', __FILE__ )); | |
| 49 | - | |
| 50 | -} | |
| 51 | - | |
| 52 | -function accua_dashboard_page() | |
| 53 | -{ | |
| 54 | - global $wpdb; | |
| 55 | - $num_posts = $wpdb->get_results("SELECT count(DISTINCT afs_post_id ) as num_row | |
| 56 | - FROM {$wpdb->prefix}accua_forms_submissions WHERE afs_post_id <> 0", ARRAY_A); | |
| 57 | - $num_forms = $wpdb->get_results("SELECT count(DISTINCT afs_form_id ) as num_row | |
| 58 | - FROM {$wpdb->prefix}accua_forms_submissions", ARRAY_A); | |
| 59 | - $num_submissions = $wpdb->get_results("SELECT count(*) as num_row | |
| 60 | - FROM {$wpdb->prefix}accua_forms_submissions", ARRAY_A); | |
| 61 | - | |
| 62 | - //seleziono i campi email | |
| 63 | - $email_fields = array(); | |
| 64 | - $avail_fields = get_option('accua_forms_avail_fields', array()); | |
| 65 | - foreach($avail_fields as $key=>$single_field){ | |
| 66 | - if($single_field['type'] == 'email' || $single_field['type'] == 'autoreply_email') | |
| 67 | - $email_fields[] = "'".$key."'"; | |
| 68 | - } | |
| 69 | - $email_fields_string = implode(',',$email_fields); | |
| 70 | - $num_emails = $wpdb->get_results("SELECT COUNT(DISTINCT (`afsv_value`)) as num_row | |
| 71 | - FROM {$wpdb->prefix}accua_forms_submissions, {$wpdb->prefix}accua_forms_submissions_values | |
| 72 | - WHERE `afs_id` = `afsv_sub_id` | |
| 73 | - AND afsv_field_id IN ({$email_fields_string})", ARRAY_A); | |
| 74 | - | |
| 75 | - //costruisco il grafico | |
| 76 | - | |
| 77 | - $query_grafico = $wpdb->get_results("SELECT YEAR( afs_submitted ) AS `year` , MONTH( afs_submitted ) AS `month` , COUNT( * ) AS `submissions` , COUNT( DISTINCT (`afsv_value`)) AS `unique_submissions` | |
| 78 | - FROM `{$wpdb->prefix}accua_forms_submissions` , `{$wpdb->prefix}accua_forms_submissions_values` | |
| 79 | - WHERE `afs_id` = `afsv_sub_id` | |
| 80 | - AND afsv_field_id IN ({$email_fields_string}) | |
| 81 | - GROUP BY `year` , `month` | |
| 82 | - ORDER BY `year` DESC , `month` DESC"); | |
| 83 | - ?> | |
| 84 | - | |
| 85 | - <div class="wrap"> | |
| 86 | - <div id="icon-contact-forms-cimatti-logo" class="icon32"><br></div> | |
| 87 | - <h2>WordPress Contact Forms by Cimatti</h2> | |
| 88 | - <div class="metabox-holder accua-forms-metabox-holder"> | |
| 89 | - <div class="postbox "> | |
| 90 | - <h3 class="hndle"><span><?php _e('Forms Stats', 'accua-form-api'); ?></span></h3> | |
| 91 | - <div class="inside" id="dashboard_right_now"> | |
| 92 | - <table> | |
| 93 | - <tr class="first"><td class="first b"><?php echo $num_forms[0]['num_row']; ?></td><td class="t"><?php _e('Forms', 'accua-form-api'); ?></td></tr> | |
| 94 | - <tr class="first"><td class="first b"><?php echo $num_posts[0]['num_row']; ?></td><td class="t"><?php _e('Pages', 'accua-form-api'); ?></td></tr> | |
| 95 | - <tr class="first"><td class="first b"><?php echo $num_submissions[0]['num_row']; ?></td><td class="t"><?php _e('Submissions', 'accua-form-api'); ?></td></tr> | |
| 96 | - <tr class="first"><td class="first b"><?php echo $num_emails[0]['num_row']; ?></td><td class="t"><?php _e('Distinct Emails', 'accua-form-api'); ?></td></tr> | |
| 97 | - </table> | |
| 98 | - <div id="accua-forms-graph-content" ><div id="accua-form-report-graph" style="width: 99%"></div> | |
| 99 | - </div> | |
| 100 | - <?php | |
| 101 | - | |
| 102 | - if ($query_grafico) { | |
| 103 | - $data = array( | |
| 104 | - array( 'label' => __('Unique monthly Submissions', 'accua-form-api'), 'data' => array()), | |
| 105 | - array( 'label' => __('Total monthly Submissions', 'accua-form-api'), 'data' => array()), | |
| 106 | - ); | |
| 107 | - for($i=date('Y'); $i>=$query_grafico[count($query_grafico)-1]->year; $i-- ) { | |
| 108 | - $start_month=12; | |
| 109 | - $end_month = 1; | |
| 110 | - if($i==date('Y')) $start_month= date('n'); | |
| 111 | - if($i==$query_grafico[count($query_grafico)-1]->year) $end_month=$query_grafico[count($query_grafico)-1]->month; | |
| 112 | - for($j=$start_month;$j>=$end_month;$j--) { | |
| 113 | - $time = mktime(0, 0, 0, $j , 1, $i) * 1000; | |
| 114 | - $find=false; | |
| 115 | - foreach ($query_grafico as $result){ | |
| 116 | - if(!$find && (int)$result->year == $i && (int)$result->month==$j) { | |
| 117 | - $data[0]['data'][] = array($time, (int)$result->unique_submissions,$j, $i); | |
| 118 | - $data[1]['data'][] = array($time, (int)$result->submissions,$j, $i); | |
| 119 | - $find=true; | |
| 120 | - } | |
| 121 | - } | |
| 122 | - if(!$find) | |
| 123 | - { | |
| 124 | - $data[0]['data'][] = array($time, 0,$j, $i); | |
| 125 | - $data[1]['data'][] = array($time, 0,$j, $i); | |
| 126 | - } | |
| 127 | - } | |
| 128 | - } | |
| 129 | - ?> | |
| 130 | - <script type="text/javascript"> | |
| 131 | - var data = <?php echo json_encode($data); ?> ; | |
| 132 | - var options = { | |
| 133 | - xaxis: { | |
| 134 | - //autoscaleMargin: 0.005, | |
| 135 | - mode: "time", | |
| 136 | - timeformat: "%b %y", | |
| 137 | - minTickSize: [1, "month"] | |
| 138 | - }, | |
| 139 | - legend: { | |
| 140 | - position: "nw" | |
| 141 | - }, | |
| 142 | - | |
| 143 | - | |
| 144 | - }; | |
| 145 | - jQuery(document).ready(function($) { | |
| 146 | - jQuery.plot($("#accua-form-report-graph"), data, options); | |
| 147 | - }); | |
| 148 | - | |
| 149 | - jQuery(window).resize(function() { | |
| 150 | - jQuery.plot(jQuery("#accua-form-report-graph"), data, options); | |
| 151 | - }); | |
| 152 | - </script> | |
| 153 | - <?php | |
| 154 | - } ?> | |
| 155 | - <?php | |
| 156 | - $plugin_data = get_plugin_data(__FILE__); | |
| 157 | - _e('Version', 'accua-form-api'); echo " ".$plugin_data['Version']; | |
| 158 | - ?> | |
| 159 | - </div> | |
| 160 | - | |
| 161 | - </div> | |
| 162 | - <span id="accua-forms-version">by Cimatti - <a href="http://www.cimatti.it/wordpress/contact-forms/">www.cimatti.it/wordpress/contact-forms</a> | |
| 163 | - <br /><?php | |
| 164 | - $plugin_data = get_plugin_data( __FILE__ ); | |
| 165 | - _e('Version', 'accua-form-api'); echo " ".$plugin_data['Version']; | |
| 166 | - ?></span> | |
| 167 | - </div> | |
| 168 | -<?php | |
| 169 | - | |
| 170 | -} | |
| 171 | - | |
| 172 | - | |
| 173 | -register_activation_hook(__FILE__, 'accua_forms_install'); | |
| 174 | -function accua_forms_install(){ | |
| 175 | - $modified = false; | |
| 176 | - $keys = get_option('accua_form_api_keys', array()); | |
| 177 | - if (!isset($keys['hash'])) { | |
| 178 | - $modified = true; | |
| 179 | - $keys['hash'] = wp_generate_password(64,true,true); | |
| 180 | - } | |
| 181 | - if (!isset($keys['aes'])) { | |
| 182 | - $modified = true; | |
| 183 | - $keys['aes'] = wp_generate_password(64,true,true); | |
| 184 | - } | |
| 185 | - if ($modified) { | |
| 186 | - update_option('accua_form_api_keys', $keys); | |
| 187 | - } | |
| 188 | - | |
| 189 | - global $wpdb; | |
| 190 | - | |
| 191 | - require_once(ABSPATH.'wp-admin/upgrade-functions.php'); | |
| 192 | - | |
| 193 | - $charset_collate = ''; | |
| 194 | - if ( ! empty($wpdb->charset) ) | |
| 195 | - $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; | |
| 196 | - if ( ! empty($wpdb->collate) ) | |
| 197 | - $charset_collate .= " COLLATE $wpdb->collate"; | |
| 198 | - | |
| 199 | - $sql = "CREATE TABLE `{$wpdb->prefix}accua_forms_submissions` ( | |
| 200 | - afs_id BIGINT(20) NOT NULL AUTO_INCREMENT, | |
| 201 | - afs_form_id VARCHAR(77) NOT NULL DEFAULT '', | |
| 202 | - afs_post_id BIGINT(20) NOT NULL DEFAULT 0, | |
| 203 | - afs_ip VARCHAR(255) NOT NULL DEFAULT '', | |
| 204 | - afs_uri VARCHAR(255) NOT NULL DEFAULT '', | |
| 205 | - afs_referrer VARCHAR(255) NOT NULL DEFAULT '', | |
| 206 | - afs_lang VARCHAR(60) NOT NULL DEFAULT '', | |
| 207 | - afs_created TIMESTAMP NOT NULL DEFAULT 0, | |
| 208 | - afs_submitted TIMESTAMP NOT NULL DEFAULT 0, | |
| 209 | - afs_status TINYINT(1) NOT NULL DEFAULT 0, | |
| 210 | - afs_stats TEXT NOT NULL DEFAULT '', | |
| 211 | - PRIMARY KEY (afs_id), | |
| 212 | - KEY form (afs_form_id), | |
| 213 | - KEY uri (afs_uri), | |
| 214 | - KEY pid (afs_post_id), | |
| 215 | - KEY referrer (afs_referrer) | |
| 216 | - ) $charset_collate;"; | |
| 217 | - dbDelta($sql); | |
| 218 | - | |
| 219 | - $sql = "CREATE TABLE `{$wpdb->prefix}accua_forms_submissions_values` ( | |
| 220 | - afsv_sub_id BIGINT(20) NOT NULL, | |
| 221 | - afsv_field_id VARCHAR(77) NOT NULL, | |
| 222 | - afsv_type varchar(255) NOT NULL DEFAULT '', | |
| 223 | - afsv_value TEXT NOT NULL DEFAULT '', | |
| 224 | - PRIMARY KEY (afsv_sub_id, afsv_field_id), | |
| 225 | - KEY value_index (afsv_field_id(77), afsv_value(256)) | |
| 226 | - ) $charset_collate;"; | |
| 227 | - dbDelta($sql); | |
| 228 | - | |
| 229 | - $avail_fields = get_option('accua_forms_avail_fields', array()); | |
| 230 | - $avail_fields += array( | |
| 231 | - 'first_name' => array( | |
| 232 | - 'id' => 'first_name', | |
| 233 | - 'name' => 'First Name', | |
| 234 | - 'type' => 'textfield', | |
| 235 | - 'description' => '', | |
| 236 | - 'default_value' => '', | |
| 237 | - 'allowed_values' => '', | |
| 238 | - ), | |
| 239 | - 'last_name' => array( | |
| 240 | - 'id' => 'last_name', | |
| 241 | - 'name' => 'Last Name', | |
| 242 | - 'type' => 'textfield', | |
| 243 | - 'description' => '', | |
| 244 | - 'default_value' => '', | |
| 245 | - 'allowed_values' => '', | |
| 246 | - ), | |
| 247 | - 'email' => array( | |
| 248 | - 'id' => 'email', | |
| 249 | - 'name' => 'Email', | |
| 250 | - 'type' => 'autoreply_email', | |
| 251 | - 'description' => '', | |
| 252 | - 'default_value' => '', | |
| 253 | - 'allowed_values' => '', | |
| 254 | - ), | |
| 255 | - 'address' => array( | |
| 256 | - 'id' => 'address', | |
| 257 | - 'name' => 'Address', | |
| 258 | - 'type' => 'textfield', | |
| 259 | - 'description' => '', | |
| 260 | - 'default_value' => '', | |
| 261 | - 'allowed_values' => '', | |
| 262 | - ), | |
| 263 | - 'city' => array( | |
| 264 | - 'id' => 'city', | |
| 265 | - 'name' => 'City', | |
| 266 | - 'type' => 'textfield', | |
| 267 | - 'description' => '', | |
| 268 | - 'default_value' => '', | |
| 269 | - 'allowed_values' => '', | |
| 270 | - ), | |
| 271 | - 'state_province' => array( | |
| 272 | - 'id' => 'state_province', | |
| 273 | - 'name' => 'State/Province', | |
| 274 | - 'type' => 'textfield', | |
| 275 | - 'description' => '', | |
| 276 | - 'default_value' => '', | |
| 277 | - 'allowed_values' => '', | |
| 278 | - ), | |
| 279 | - 'country' => array( | |
| 280 | - 'id' => 'country', | |
| 281 | - 'name' => 'Country', | |
| 282 | - 'type' => 'select', | |
| 283 | - 'description' => '', | |
| 284 | - 'default_value' => '-', | |
| 285 | - 'allowed_values' => "-|Select... | |
| 286 | -Afghanistan | |
| 287 | -Ã…land Islands | |
| 288 | -Albania | |
| 289 | -Algeria | |
| 290 | -American Samoa | |
| 291 | -Andorra | |
| 292 | -Angola | |
| 293 | -Anguilla | |
| 294 | -Antarctica | |
| 295 | -Antigua And Barbuda | |
| 296 | -Argentina | |
| 297 | -Armenia | |
| 298 | -Aruba | |
| 299 | -Australia | |
| 300 | -Austria | |
| 301 | -Azerbaijan | |
| 302 | -Bahamas | |
| 303 | -Bahrain | |
| 304 | -Bangladesh | |
| 305 | -Barbados | |
| 306 | -Belarus | |
| 307 | -Belgium | |
| 308 | -Belize | |
| 309 | -Benin | |
| 310 | -Bermuda | |
| 311 | -Bhutan | |
| 312 | -Bolivia | |
| 313 | -Bosnia And Herzegovina | |
| 314 | -Botswana | |
| 315 | -Bouvet Island | |
| 316 | -Brazil | |
| 317 | -British Indian Ocean Territory | |
| 318 | -Brunei Darussalam | |
| 319 | -Bulgaria | |
| 320 | -Burkina Faso | |
| 321 | -Burundi | |
| 322 | -Cambodia | |
| 323 | -Cameroon | |
| 324 | -Canada | |
| 325 | -Cape Verde | |
| 326 | -Cayman Islands | |
| 327 | -Central African Republic | |
| 328 | -Chad | |
| 329 | -Chile | |
| 330 | -China | |
| 331 | -Christmas Island | |
| 332 | -Cocos (Keeling) Islands | |
| 333 | -Colombia | |
| 334 | -Comoros | |
| 335 | -Congo | |
| 336 | -Congo, The Democratic Republic Of The | |
| 337 | -Cook Islands | |
| 338 | -Costa Rica | |
| 339 | -Côte D'Ivoire | |
| 340 | -Croatia | |
| 341 | -Cuba | |
| 342 | -Cyprus | |
| 343 | -Czech Republic | |
| 344 | -Denmark | |
| 345 | -Djibouti | |
| 346 | -Dominica | |
| 347 | -Dominican Republic | |
| 348 | -Ecuador | |
| 349 | -Egypt | |
| 350 | -El Salvador | |
| 351 | -Equatorial Guinea | |
| 352 | -Eritrea | |
| 353 | -Estonia | |
| 354 | -Ethiopia | |
| 355 | -Falkland Islands (Malvinas) | |
| 356 | -Faroe Islands | |
| 357 | -Fiji | |
| 358 | -Finland | |
| 359 | -France | |
| 360 | -French Guiana | |
| 361 | -French Polynesia | |
| 362 | -French Southern Territories | |
| 363 | -Gabon | |
| 364 | -Gambia | |
| 365 | -Georgia | |
| 366 | -Germany | |
| 367 | -Ghana | |
| 368 | -Gibraltar | |
| 369 | -Greece | |
| 370 | -Greenland | |
| 371 | -Grenada | |
| 372 | -Guadeloupe | |
| 373 | -Guam | |
| 374 | -Guatemala | |
| 375 | -Guernsey | |
| 376 | -Guinea | |
| 377 | -Guinea-Bissau | |
| 378 | -Guyana | |
| 379 | -Haiti | |
| 380 | -Heard Island And Mcdonald Islands | |
| 381 | -Holy See (Vatican City State) | |
| 382 | -Honduras | |
| 383 | -Hong Kong | |
| 384 | -Hungary | |
| 385 | -Iceland | |
| 386 | -India | |
| 387 | -Indonesia | |
| 388 | -Iran, Islamic Republic Of | |
| 389 | -Iraq | |
| 390 | -Ireland | |
| 391 | -Isle Of Man | |
| 392 | -Israel | |
| 393 | -Italy | |
| 394 | -Jamaica | |
| 395 | -Japan | |
| 396 | -Jersey | |
| 397 | -Jordan | |
| 398 | -Kazakhstan | |
| 399 | -Kenya | |
| 400 | -Kiribati | |
| 401 | -Korea, Democratic People'S Republic Of | |
| 402 | -Korea, Republic Of | |
| 403 | -Kuwait | |
| 404 | -Kyrgyzstan | |
| 405 | -Lao People'S Democratic Republic | |
| 406 | -Latvia | |
| 407 | -Lebanon | |
| 408 | -Lesotho | |
| 409 | -Liberia | |
| 410 | -Libyan Arab Jamahiriya | |
| 411 | -Liechtenstein | |
| 412 | -Lithuania | |
| 413 | -Luxembourg | |
| 414 | -Macao | |
| 415 | -Macedonia, The Former Yugoslav Republic Of | |
| 416 | -Madagascar | |
| 417 | -Malawi | |
| 418 | -Malaysia | |
| 419 | -Maldives | |
| 420 | -Mali | |
| 421 | -Malta | |
| 422 | -Marshall Islands | |
| 423 | -Martinique | |
| 424 | -Mauritania | |
| 425 | -Mauritius | |
| 426 | -Mayotte | |
| 427 | -Mexico | |
| 428 | -Micronesia, Federated States Of | |
| 429 | -Moldova, Republic Of | |
| 430 | -Monaco | |
| 431 | -Mongolia | |
| 432 | -Montenegro | |
| 433 | -Montserrat | |
| 434 | -Morocco | |
| 435 | -Mozambique | |
| 436 | -Myanmar | |
| 437 | -Namibia | |
| 438 | -Nauru | |
| 439 | -Nepal | |
| 440 | -Netherlands | |
| 441 | -Netherlands Antilles | |
| 442 | -New Caledonia | |
| 443 | -New Zealand | |
| 444 | -Nicaragua | |
| 445 | -Niger | |
| 446 | -Nigeria | |
| 447 | -Niue | |
| 448 | -Norfolk Island | |
| 449 | -Northern Mariana Islands | |
| 450 | -Norway | |
| 451 | -Oman | |
| 452 | -Pakistan | |
| 453 | -Palau | |
| 454 | -Palestinian Territory, Occupied | |
| 455 | -Panama | |
| 456 | -Papua New Guinea | |
| 457 | -Paraguay | |
| 458 | -Peru | |
| 459 | -Philippines | |
| 460 | -Pitcairn | |
| 461 | -Poland | |
| 462 | -Portugal | |
| 463 | -Puerto Rico | |
| 464 | -Qatar | |
| 465 | -Réunion | |
| 466 | -Romania | |
| 467 | -Russian Federation | |
| 468 | -Rwanda | |
| 469 | -Saint Barthélemy | |
| 470 | -Saint Helena | |
| 471 | -Saint Kitts And Nevis | |
| 472 | -Saint Lucia | |
| 473 | -Saint Martin | |
| 474 | -Saint Pierre And Miquelon | |
| 475 | -Saint Vincent And The Grenadines | |
| 476 | -Samoa | |
| 477 | -San Marino | |
| 478 | -Sao Tome And Principe | |
| 479 | -Saudi Arabia | |
| 480 | -Senegal | |
| 481 | -Serbia | |
| 482 | -Seychelles | |
| 483 | -Sierra Leone | |
| 484 | -Singapore | |
| 485 | -Slovakia | |
| 486 | -Slovenia | |
| 487 | -Solomon Islands | |
| 488 | -Somalia | |
| 489 | -South Africa | |
| 490 | -South Georgia And The South Sandwich Islands | |
| 491 | -Spain | |
| 492 | -Sri Lanka | |
| 493 | -Sudan | |
| 494 | -Suriname | |
| 495 | -Svalbard And Jan Mayen | |
| 496 | -Swaziland | |
| 497 | -Sweden | |
| 498 | -Switzerland | |
| 499 | -Syrian Arab Republic | |
| 500 | -Taiwan, Province Of China | |
| 501 | -Tajikistan | |
| 502 | -Tanzania, United Republic Of | |
| 503 | -Thailand | |
| 504 | -Timor-Leste | |
| 505 | -Togo | |
| 506 | -Tokelau | |
| 507 | -Tonga | |
| 508 | -Trinidad And Tobago | |
| 509 | -Tunisia | |
| 510 | -Turkey | |
| 511 | -Turkmenistan | |
| 512 | -Turks And Caicos Islands | |
| 513 | -Tuvalu | |
| 514 | -Uganda | |
| 515 | -Ukraine | |
| 516 | -United Arab Emirates | |
| 517 | -United Kingdom | |
| 518 | -United States | |
| 519 | -United States Minor Outlying Islands | |
| 520 | -Uruguay | |
| 521 | -Uzbekistan | |
| 522 | -Vanuatu | |
| 523 | -Venezuela, Bolivarian Republic Of | |
| 524 | -Viet Nam | |
| 525 | -Virgin Islands, British | |
| 526 | -Virgin Islands, U.S. | |
| 527 | -Wallis And Futuna | |
| 528 | -Western Sahara | |
| 529 | -Yemen | |
| 530 | -Zambia | |
| 531 | -Zimbabwe", | |
| 532 | - ), | |
| 533 | - 'message' => array( | |
| 534 | - 'id' => 'message', | |
| 535 | - 'name' => 'Message', | |
| 536 | - 'type' => 'textarea', | |
| 537 | - 'description' => '', | |
| 538 | - 'default_value' => '', | |
| 539 | - 'allowed_values' => '', | |
| 540 | - ), | |
| 541 | - ); | |
| 542 | - update_option('accua_forms_avail_fields', $avail_fields); | |
| 543 | - | |
| 544 | - | |
| 545 | - $form_data = get_option('accua_forms_default_form_data',array()); | |
| 546 | - $form_data += array( | |
| 547 | - 'layout' => 'sidebyside', | |
| 548 | - 'success_message' => '<div style="padding: 10px; background-color: #fbf8b2; border: 1px solid #f7c84b;"> | |
| 549 | -<h2>Thank you {first_name} {last_name},</h2> | |
| 550 | -We have received your contact request. Check your inbox for the confirmation message. | |
| 551 | - | |
| 552 | -<strong>Can\'t find the email?</strong> | |
| 553 | - | |
| 554 | -It doesn\'t happen often but your mailbox could apply strict spam rules that block our email from reaching your inbox. Try checking your spam folder. | |
| 555 | - | |
| 556 | -Also check that the email you entered in the form (<strong>{email}</strong>) is correct. If it is not exact you can submit the form again. | |
| 557 | - | |
| 558 | -For other possible problems you may have encountered do not hesitate to contact us | |
| 559 | - | |
| 560 | -</div>', | |
| 561 | - 'error_message' => '<div style="padding: 10px; background-color: #fbf8b2; border: 1px solid #f7c84b;"> | |
| 562 | -<h2>Oops! Something went wrong.</h2> | |
| 563 | -Internet is an awfully complex place and even though we take every precaution to make sure things run smoothly every once in a while things can go wrong that are not under our control. | |
| 564 | - | |
| 565 | -Please try filling in the form again. | |
| 566 | - | |
| 567 | -For other possible problems you may have encountered do not hesitate to contact us | |
| 568 | - | |
| 569 | -</div>', | |
| 570 | - 'emails_from' => '', | |
| 571 | - 'admin_emails_to' => get_option('admin_email', ''), | |
| 572 | - 'emails_bcc' => '', | |
| 573 | - 'admin_emails_subject' => 'A contact from your site', | |
| 574 | - 'admin_emails_message' => '<table style="font-family: \'Lucida Sans\',\'Lucida Grande\', Verdana, Arial, Sans-Serif !important; background: #fff; margin-top: 10px; border: 1px solid #DDDDDD; max-width: 700px;" cellspacing="0" cellpadding="0" align="center"> | |
| 575 | -<tbody> | |
| 576 | -<tr> | |
| 577 | -<td> | |
| 578 | -<table style="max-width:700px;" border="0" cellspacing="0" cellpadding="0" align="center"> | |
| 579 | -<tbody> | |
| 580 | -<tr> | |
| 581 | -<td> | |
| 582 | -<table style="padding: 10px; background-color: #fbf8b2; border: 1px solid #f7c84b; max-width:700px;" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#FFFFFF"> | |
| 583 | -<tbody> | |
| 584 | -<tr valign="top"> | |
| 585 | -<td style="max-width:22px;"></td> | |
| 586 | -<td style="font-family: \'Lucida Sans\',\'Lucida Grande\', Verdana, Arial, Sans-Serif !important; padding: 15px 0px; max-width: 645px;"> | |
| 587 | -<table> | |
| 588 | -<tbody> | |
| 589 | -<tr> | |
| 590 | -<td>On {__submitted_day_month_year} at {__submitted_hour} the following form was filled in. | |
| 591 | - | |
| 592 | -<hr /> | |
| 593 | - | |
| 594 | -<strong>Page where the form was filled in</strong> | |
| 595 | -<a href="{__url}">{__url}</a></td> | |
| 596 | -</tr> | |
| 597 | -<tr> | |
| 598 | -<td id="submitted_html">{__submitted_html}</td> | |
| 599 | -</tr> | |
| 600 | -<tr> | |
| 601 | -<td>[form_if {__referrer} [<strong>Referrer</strong> - where did the contact come from <em>before reaching the page</em>: {__referrer}]]</td> | |
| 602 | -</tr> | |
| 603 | -<tr> | |
| 604 | -<td><strong>Contact IP</strong> {__ip} | |
| 605 | -<hr /> | |
| 606 | -</td> | |
| 607 | -</tr> | |
| 608 | -<tr> | |
| 609 | -<td>[form_if {__autoreply} [The contact received in his email <a href="mailto:{email}">{email}</a> the following confirmation message: | |
| 610 | -<table> | |
| 611 | -<tbody> | |
| 612 | -<tr> | |
| 613 | -<td>{__confirmation_emails_message}</td> | |
| 614 | -</tr> | |
| 615 | -</tbody> | |
| 616 | -</table> ]] | |
| 617 | -</td> | |
| 618 | -</tr> | |
| 619 | -</tbody> | |
| 620 | -</table> | |
| 621 | -</td> | |
| 622 | -<td style="max-width:23px"></td> | |
| 623 | -</tr> | |
| 624 | -</tbody> | |
| 625 | -</table> | |
| 626 | -</td> | |
| 627 | -</tr> | |
| 628 | -</tbody> | |
| 629 | -</table> | |
| 630 | -</td> | |
| 631 | -</tr> | |
| 632 | -</tbody> | |
| 633 | -</table>', | |
| 634 | - 'confirmation_emails_subject' => 'Your message', | |
| 635 | - 'confirmation_emails_message' => '<h2>Thank you {first_name} {last_name},</h2> | |
| 636 | -Thank Your for your contact request. | |
| 637 | - | |
| 638 | -We will contact you as soon as possible. | |
| 639 | - | |
| 640 | -Sincerely, | |
| 641 | - | |
| 642 | -The Website Team | |
| 643 | - | |
| 644 | -<hr />', | |
| 645 | - ); | |
| 646 | - update_option('accua_forms_default_form_data', $form_data); | |
| 647 | - | |
| 648 | -} | |
| 1 | +<?php | |
| 2 | +/* | |
| 3 | +Plugin Name: WordPress Contact Forms by Cimatti | |
| 4 | +Description: Quickly create and publish forms in your WordPress powered website. | |
| 5 | +Version: 1.9.2 | |
| 6 | +Plugin URI: https://www.cimatti.it/wordpress/contact-forms/ | |
| 7 | +Author: Cimatti Consulting | |
| 8 | +Author URI: https://www.cimatti.it | |
| 9 | +Text Domain: contact-forms | |
| 10 | +Domain Path: /languages | |
| 11 | +Requires at least: 3.5 | |
| 12 | +License: GPLv2 or later | |
| 13 | +License URI: http://www.gnu.org/licenses/gpl-2.0.html | |
| 14 | +*/ | |
| 15 | + | |
| 16 | +/* | |
| 17 | +WordPress Contact Forms by Cimatti | |
| 18 | +Copyright (c) 2011-2024 Andrea Cimatti | |
| 19 | + | |
| 20 | +This program is free software; you can redistribute it and/or | |
| 21 | +modify it under the terms of the GNU General Public License | |
| 22 | +as published by the Free Software Foundation; either version 2 | |
| 23 | +of the License, or (at your option) any later version. | |
| 24 | + | |
| 25 | +This program is distributed in the hope that it will be useful, | |
| 26 | +but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 27 | +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 28 | +GNU General Public License for more details. | |
| 29 | + | |
| 30 | +You should have received a copy of the GNU General Public License | |
| 31 | +along with this program; if not, write to the Free Software | |
| 32 | +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
| 33 | + | |
| 34 | + | |
| 35 | +The full copy of the GNU General Public License is available here: http://www.gnu.org/licenses/gpl.txt | |
| 36 | + | |
| 37 | +*/ | |
| 38 | + | |
| 39 | +define('ACCUA_FORMS_DB_VERSION', '12'); | |
| 40 | +define('ACCUA_FORMS_CSS_VERSION', '53'); | |
| 41 | +define('ACCUA_FORMS_JS_VERSION', '9'); | |
| 42 | +define('ACCUA_FORMS_FILE', __FILE__); | |
| 43 | +define('ACCUA_FORMS_DIR_URL', plugin_dir_url( ACCUA_FORMS_FILE )); | |
| 44 | +define('ACCUA_FORMS_DIR', dirname( ACCUA_FORMS_FILE )); | |
| 45 | + | |
| 46 | +require_once('accua-form-api.php'); | |
| 47 | +require_once('accua-forms.php'); | |
| 48 | +require_once('accua-shortcode-button.php'); | |
| 49 | + | |
| 50 | +function accua_forms_dashboard_page_head(){ | |
| 51 | + $screen = get_current_screen(); | |
| 52 | + $screen->add_help_tab( array( | |
| 53 | + 'id' => 'accua_help_tab', | |
| 54 | + 'title' => __('Contact Forms Dashboard'), | |
| 55 | + 'content' => '<p>' . __( 'Marketing tools for WordPress', 'contact-forms') . '</p>', | |
| 56 | + ) ); | |
| 57 | + | |
| 58 | + //wp_enqueue_script('accua', plugins_url('/flot/jquery.flot.js', ACCUA_FORMS_FILE ), array( 'jquery' )); | |
| 59 | + wp_enqueue_script('accua_chart_js', plugins_url('/chartjs/Chart.min.js', ACCUA_FORMS_FILE ), array( 'jquery' ), ACCUA_FORMS_JS_VERSION); | |
| 60 | + //wp_enqueue_style('accua_flot', plugins_url('/flot/layout.css', ACCUA_FORMS_FILE )); | |
| 61 | + wp_enqueue_style('accua', plugins_url('accua.css', ACCUA_FORMS_FILE ), array(), ACCUA_FORMS_CSS_VERSION); | |
| 62 | + | |
| 63 | + /* Tentativo x drag and drop | |
| 64 | + $page_hook_id = fx_smb_setings_page_id(); | |
| 65 | + /* Load the JavaScript needed for the settings screen. * / | |
| 66 | + add_action( 'admin_enqueue_scripts', 'fx_smb_enqueue_scripts' ); | |
| 67 | + add_action( "admin_footer-{$page_hook_id}", 'fx_smb_footer_scripts' ); | |
| 68 | + | |
| 69 | + /* Set number of column available. * / | |
| 70 | + add_filter( 'screen_layout_columns', 'fx_smb_screen_layout_column', 10, 2 ); | |
| 71 | + */ | |
| 72 | +} | |
| 73 | + | |
| 74 | +/* COSA CARINA PER AGGIUNGERE WIDGET NELLA DASHBOARD DI WP | |
| 75 | +todo: posso scegliere la sua posizione di default? | |
| 76 | +*/ | |
| 77 | +add_action( 'wp_dashboard_setup', 'accua_contact_forms_dashboard_add_widgets' ); | |
| 78 | +function accua_contact_forms_dashboard_add_widgets() { | |
| 79 | + wp_add_dashboard_widget( 'accua_contact_forms_dashboard_widget_news', __( 'Contact Forms', 'contact-forms' ), 'accua_contact_forms_dashboard_widget_news_handler' ); | |
| 80 | +} | |
| 81 | + | |
| 82 | +function accua_contact_forms_dashboard_widget_news_handler() { | |
| 83 | + global $wpdb; ?> | |
| 84 | + <table> | |
| 85 | + <tr class="first"> | |
| 86 | + <?php $forms_data = get_option('accua_forms_saved_forms', array()); | |
| 87 | + $active_forms = count($forms_data); ?> | |
| 88 | + <td class="first b"><?php echo $active_forms; ?></td><td class="t"><?php _e('Active forms', 'contact-forms'); ?></td> | |
| 89 | + </tr> | |
| 90 | + <tr class="first"> | |
| 91 | + <?php $pages = $wpdb->get_var("SELECT COUNT(DISTINCT afs_uri) FROM `{$wpdb->prefix}accua_forms_submissions`"); ?> | |
| 92 | + <td class="first b"><?php echo $pages; ?></td><td class="t"><?php _e('Pages', 'contact-forms'); ?></td> | |
| 93 | + </tr> | |
| 94 | + <tr class="first"> | |
| 95 | + <?php $active_submissions = $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}accua_forms_submissions` WHERE afs_status >= 0"); ?> | |
| 96 | + <td class="first b"><?php echo $active_submissions; ?></td><td class="t"><?php _e('Submissions', 'contact-forms'); ?></td> | |
| 97 | + </tr> | |
| 98 | + <tr class="first"> | |
| 99 | + <?php $emails = $wpdb->get_var("SELECT COUNT(DISTINCT afsv_value) FROM `{$wpdb->prefix}accua_forms_submissions_values` WHERE afsv_type LIKE 'autoreply_email'"); ?> | |
| 100 | + <td class="first b"><?php echo $emails; ?></td><td class="t"><?php _e('Distinct Emails', 'contact-forms'); ?></td> | |
| 101 | + </tr> | |
| 102 | + </table> | |
| 103 | + <br /> | |
| 104 | + <span id="accua-forms-version"><a href="https://www.cimatti.it/wordpress/contact-forms/"><?php | |
| 105 | + $plugin_data = get_plugin_data( ACCUA_FORMS_FILE ); | |
| 106 | + _e('Version', 'contact-forms'); echo " ".$plugin_data['Version']; ?></a> | <a href="admin.php?page=accua_forms" title="Contact Forms Dashboard"><?php _e('Dashboard', 'contact-forms'); ?></a> | |
| 107 | + </span> | |
| 108 | + | |
| 109 | + <?php | |
| 110 | +} | |
| 111 | + | |
| 112 | +function accua_forms_dashboard_page(){ | |
| 113 | + require_once ACCUA_FORMS_DIR.'/accua-forms-dashboard.php'; | |
| 114 | + return _accua_forms_dashboard_page(); | |
| 115 | +} | |
| 116 | + | |
| 117 | + | |
| 118 | +register_activation_hook(ACCUA_FORMS_FILE, 'accua_forms_install'); | |
| 119 | +function accua_forms_install(){ | |
| 120 | + load_plugin_textdomain( 'contact-forms', false, ACCUA_FORM_API_PLUGIN_TEXTDOMAIN_PATH); | |
| 121 | + $modified = false; | |
| 122 | + $keys = get_option('accua_form_api_keys', array()); | |
| 123 | + if (!isset($keys['hash'])) { | |
| 124 | + $modified = true; | |
| 125 | + $keys['hash'] = wp_generate_password(64,true,true); | |
| 126 | + } | |
| 127 | + if (!isset($keys['aes'])) { | |
| 128 | + $modified = true; | |
| 129 | + $keys['aes'] = wp_generate_password(64,true,true); | |
| 130 | + } | |
| 131 | + if ($modified) { | |
| 132 | + update_option('accua_form_api_keys', $keys); | |
| 133 | + } | |
| 134 | + | |
| 135 | + global $wpdb; | |
| 136 | + | |
| 137 | + require_once(ABSPATH.'wp-admin/includes/upgrade.php'); | |
| 138 | + | |
| 139 | + $charset_collate = ''; | |
| 140 | + if ( ! empty($wpdb->charset) ) | |
| 141 | + $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; | |
| 142 | + if ( ! empty($wpdb->collate) ) | |
| 143 | + $charset_collate .= " COLLATE $wpdb->collate"; | |
| 144 | + | |
| 145 | + $old_db_version = (int) get_option('accua_forms_db_version', 0); | |
| 146 | + | |
| 147 | + if ($old_db_version < 3) { | |
| 148 | + $wpdb_suppress_errors_status = $wpdb->suppress_errors(); | |
| 149 | + $wpdb->query("ALTER TABLE `{$wpdb->prefix}accua_forms_submissions` DROP INDEX uri"); | |
| 150 | + $wpdb->query("ALTER TABLE `{$wpdb->prefix}accua_forms_submissions` DROP INDEX referrer"); | |
| 151 | + $wpdb->suppress_errors($wpdb_suppress_errors_status); | |
| 152 | + } | |
| 153 | + | |
| 154 | + $sql = "CREATE TABLE `{$wpdb->prefix}accua_forms_submissions` ( | |
| 155 | + afs_id BIGINT(20) NOT NULL AUTO_INCREMENT, | |
| 156 | + afs_form_id VARCHAR(77) NOT NULL DEFAULT '', | |
| 157 | + afs_post_id BIGINT(20) NOT NULL DEFAULT 0, | |
| 158 | + afs_ip VARCHAR(255) NOT NULL DEFAULT '', | |
| 159 | + afs_uri TEXT NOT NULL DEFAULT '', | |
| 160 | + afs_referrer TEXT NOT NULL DEFAULT '', | |
| 161 | + afs_lang VARCHAR(60) NOT NULL DEFAULT '', | |
| 162 | + afs_created TIMESTAMP NOT NULL DEFAULT 0, | |
| 163 | + afs_submitted TIMESTAMP NOT NULL DEFAULT 0, | |
| 164 | + afs_status TINYINT(1) NOT NULL DEFAULT 0, | |
| 165 | + afs_stats TEXT NOT NULL DEFAULT '', | |
| 166 | + afs_lead_status TINYINT(1) NOT NULL DEFAULT 0, | |
| 167 | + PRIMARY KEY (afs_id), | |
| 168 | + KEY form (afs_form_id, afs_status), | |
| 169 | + KEY uri (afs_uri(190)), | |
| 170 | + KEY pid (afs_post_id), | |
| 171 | + KEY referrer (afs_referrer(190)), | |
| 172 | + KEY status (afs_status, afs_id), | |
| 173 | + KEY submitted (afs_submitted), | |
| 174 | + KEY lead_status (afs_lead_status, afs_status) | |
| 175 | + ) $charset_collate;"; | |
| 176 | + dbDelta($sql); | |
| 177 | + | |
| 178 | + $sql = "CREATE TABLE `{$wpdb->prefix}accua_forms_submissions_values` ( | |
| 179 | + afsv_sub_id BIGINT(20) NOT NULL, | |
| 180 | + afsv_field_id VARCHAR(77) NOT NULL, | |
| 181 | + afsv_type varchar(255) NOT NULL DEFAULT '', | |
| 182 | + afsv_value TEXT NOT NULL DEFAULT '', | |
| 183 | + PRIMARY KEY (afsv_sub_id, afsv_field_id), | |
| 184 | + KEY value_index (afsv_field_id(77), afsv_value(114)) | |
| 185 | + ) $charset_collate;"; | |
| 186 | + dbDelta($sql); | |
| 187 | + | |
| 188 | + /* creazione tabella per le note dell'utente | |
| 189 | + sono relative a una compilazione | |
| 190 | + possono esserci più note per ogni compilazione in date diverse | |
| 191 | + | |
| 192 | + */ | |
| 193 | + $sql = "CREATE TABLE `{$wpdb->prefix}accua_forms_submissions_notes` ( | |
| 194 | + afsn_sub_id BIGINT(20) NOT NULL, | |
| 195 | + afsn_date TIMESTAMP NOT NULL DEFAULT 0, | |
| 196 | + afsn_text TEXT NOT NULL DEFAULT '', | |
| 197 | + afsn_user VARCHAR(100) NOT NULL DEFAULT '', | |
| 198 | + PRIMARY KEY (afsn_sub_id, afsn_date), | |
| 199 | + KEY afsn_sub_id (afsn_sub_id) | |
| 200 | + ) $charset_collate;"; | |
| 201 | + dbDelta($sql); | |
| 202 | + | |
| 203 | + | |
| 204 | + $avail_fields = get_option('accua_forms_avail_fields', array()); | |
| 205 | + | |
| 206 | + if (!is_array($avail_fields)) { | |
| 207 | + $avail_fields = array(); | |
| 208 | + } | |
| 209 | + | |
| 210 | + if (empty($avail_fields) || ($old_db_version === 0)) { | |
| 211 | + $avail_fields += array( | |
| 212 | + 'first_name' => array( | |
| 213 | + 'id' => 'first_name', | |
| 214 | + 'name' => 'First Name', | |
| 215 | + 'type' => 'textfield', | |
| 216 | + 'description' => '', | |
| 217 | + 'default_value' => '', | |
| 218 | + 'allowed_values' => '', | |
| 219 | + ), | |
| 220 | + 'last_name' => array( | |
| 221 | + 'id' => 'last_name', | |
| 222 | + 'name' => 'Last Name', | |
| 223 | + 'type' => 'textfield', | |
| 224 | + 'description' => '', | |
| 225 | + 'default_value' => '', | |
| 226 | + 'allowed_values' => '', | |
| 227 | + ), | |
| 228 | + 'email' => array( | |
| 229 | + 'id' => 'email', | |
| 230 | + 'name' => 'Email', | |
| 231 | + 'type' => 'autoreply_email', | |
| 232 | + 'description' => '', | |
| 233 | + 'default_value' => '', | |
| 234 | + 'allowed_values' => '', | |
| 235 | + ), | |
| 236 | + 'address' => array( | |
| 237 | + 'id' => 'address', | |
| 238 | + 'name' => 'Address', | |
| 239 | + 'type' => 'textfield', | |
| 240 | + 'description' => '', | |
| 241 | + 'default_value' => '', | |
| 242 | + 'allowed_values' => '', | |
| 243 | + ), | |
| 244 | + 'city' => array( | |
| 245 | + 'id' => 'city', | |
| 246 | + 'name' => 'City', | |
| 247 | + 'type' => 'textfield', | |
| 248 | + 'description' => '', | |
| 249 | + 'default_value' => '', | |
| 250 | + 'allowed_values' => '', | |
| 251 | + ), | |
| 252 | + 'state_province' => array( | |
| 253 | + 'id' => 'state_province', | |
| 254 | + 'name' => 'State/Province', | |
| 255 | + 'type' => 'textfield', | |
| 256 | + 'description' => '', | |
| 257 | + 'default_value' => '', | |
| 258 | + 'allowed_values' => '', | |
| 259 | + ), | |
| 260 | + 'country' => array( | |
| 261 | + 'id' => 'country', | |
| 262 | + 'name' => 'Country', | |
| 263 | + 'type' => 'select', | |
| 264 | + 'description' => '', | |
| 265 | + 'default_value' => '-', | |
| 266 | + 'allowed_values' => "-|Select... | |
| 267 | +Afghanistan | |
| 268 | +Ã…land Islands | |
| 269 | +Albania | |
| 270 | +Algeria | |
| 271 | +American Samoa | |
| 272 | +Andorra | |
| 273 | +Angola | |
| 274 | +Anguilla | |
| 275 | +Antarctica | |
| 276 | +Antigua And Barbuda | |
| 277 | +Argentina | |
| 278 | +Armenia | |
| 279 | +Aruba | |
| 280 | +Australia | |
| 281 | +Austria | |
| 282 | +Azerbaijan | |
| 283 | +Bahamas | |
| 284 | +Bahrain | |
| 285 | +Bangladesh | |
| 286 | +Barbados | |
| 287 | +Belarus | |
| 288 | +Belgium | |
| 289 | +Belize | |
| 290 | +Benin | |
| 291 | +Bermuda | |
| 292 | +Bhutan | |
| 293 | +Bolivia | |
| 294 | +Bosnia And Herzegovina | |
| 295 | +Botswana | |
| 296 | +Bouvet Island | |
| 297 | +Brazil | |
| 298 | +British Indian Ocean Territory | |
| 299 | +Brunei Darussalam | |
| 300 | +Bulgaria | |
| 301 | +Burkina Faso | |
| 302 | +Burundi | |
| 303 | +Cambodia | |
| 304 | +Cameroon | |
| 305 | +Canada | |
| 306 | +Cape Verde | |
| 307 | +Cayman Islands | |
| 308 | +Central African Republic | |
| 309 | +Chad | |
| 310 | +Chile | |
| 311 | +China | |
| 312 | +Christmas Island | |
| 313 | +Cocos (Keeling) Islands | |
| 314 | +Colombia | |
| 315 | +Comoros | |
| 316 | +Congo | |
| 317 | +Congo, The Democratic Republic Of The | |
| 318 | +Cook Islands | |
| 319 | +Costa Rica | |
| 320 | +Côte D'Ivoire | |
| 321 | +Croatia | |
| 322 | +Cuba | |
| 323 | +Cyprus | |
| 324 | +Czech Republic | |
| 325 | +Denmark | |
| 326 | +Djibouti | |
| 327 | +Dominica | |
| 328 | +Dominican Republic | |
| 329 | +Ecuador | |
| 330 | +Egypt | |
| 331 | +El Salvador | |
| 332 | +Equatorial Guinea | |
| 333 | +Eritrea | |
| 334 | +Estonia | |
| 335 | +Ethiopia | |
| 336 | +Falkland Islands (Malvinas) | |
| 337 | +Faroe Islands | |
| 338 | +Fiji | |
| 339 | +Finland | |
| 340 | +France | |
| 341 | +French Guiana | |
| 342 | +French Polynesia | |
| 343 | +French Southern Territories | |
| 344 | +Gabon | |
| 345 | +Gambia | |
| 346 | +Georgia | |
| 347 | +Germany | |
| 348 | +Ghana | |
| 349 | +Gibraltar | |
| 350 | +Greece | |
| 351 | +Greenland | |
| 352 | +Grenada | |
| 353 | +Guadeloupe | |
| 354 | +Guam | |
| 355 | +Guatemala | |
| 356 | +Guernsey | |
| 357 | +Guinea | |
| 358 | +Guinea-Bissau | |
| 359 | +Guyana | |
| 360 | +Haiti | |
| 361 | +Heard Island And Mcdonald Islands | |
| 362 | +Holy See (Vatican City State) | |
| 363 | +Honduras | |
| 364 | +Hong Kong | |
| 365 | +Hungary | |
| 366 | +Iceland | |
| 367 | +India | |
| 368 | +Indonesia | |
| 369 | +Iran, Islamic Republic Of | |
| 370 | +Iraq | |
| 371 | +Ireland | |
| 372 | +Isle Of Man | |
| 373 | +Israel | |
| 374 | +Italy | |
| 375 | +Jamaica | |
| 376 | +Japan | |
| 377 | +Jersey | |
| 378 | +Jordan | |
| 379 | +Kazakhstan | |
| 380 | +Kenya | |
| 381 | +Kiribati | |
| 382 | +Korea, Democratic People'S Republic Of | |
| 383 | +Korea, Republic Of | |
| 384 | +Kuwait | |
| 385 | +Kyrgyzstan | |
| 386 | +Lao People'S Democratic Republic | |
| 387 | +Latvia | |
| 388 | +Lebanon | |
| 389 | +Lesotho | |
| 390 | +Liberia | |
| 391 | +Libyan Arab Jamahiriya | |
| 392 | +Liechtenstein | |
| 393 | +Lithuania | |
| 394 | +Luxembourg | |
| 395 | +Macao | |
| 396 | +Macedonia, The Former Yugoslav Republic Of | |
| 397 | +Madagascar | |
| 398 | +Malawi | |
| 399 | +Malaysia | |
| 400 | +Maldives | |
| 401 | +Mali | |
| 402 | +Malta | |
| 403 | +Marshall Islands | |
| 404 | +Martinique | |
| 405 | +Mauritania | |
| 406 | +Mauritius | |
| 407 | +Mayotte | |
| 408 | +Mexico | |
| 409 | +Micronesia, Federated States Of | |
| 410 | +Moldova, Republic Of | |
| 411 | +Monaco | |
| 412 | +Mongolia | |
| 413 | +Montenegro | |
| 414 | +Montserrat | |
| 415 | +Morocco | |
| 416 | +Mozambique | |
| 417 | +Myanmar | |
| 418 | +Namibia | |
| 419 | +Nauru | |
| 420 | +Nepal | |
| 421 | +Netherlands | |
| 422 | +Netherlands Antilles | |
| 423 | +New Caledonia | |
| 424 | +New Zealand | |
| 425 | +Nicaragua | |
| 426 | +Niger | |
| 427 | +Nigeria | |
| 428 | +Niue | |
| 429 | +Norfolk Island | |
| 430 | +Northern Mariana Islands | |
| 431 | +Norway | |
| 432 | +Oman | |
| 433 | +Pakistan | |
| 434 | +Palau | |
| 435 | +Palestinian Territory, Occupied | |
| 436 | +Panama | |
| 437 | +Papua New Guinea | |
| 438 | +Paraguay | |
| 439 | +Peru | |
| 440 | +Philippines | |
| 441 | +Pitcairn | |
| 442 | +Poland | |
| 443 | +Portugal | |
| 444 | +Puerto Rico | |
| 445 | +Qatar | |
| 446 | +Réunion | |
| 447 | +Romania | |
| 448 | +Russian Federation | |
| 449 | +Rwanda | |
| 450 | +Saint Barthélemy | |
| 451 | +Saint Helena | |
| 452 | +Saint Kitts And Nevis | |
| 453 | +Saint Lucia | |
| 454 | +Saint Martin | |
| 455 | +Saint Pierre And Miquelon | |
| 456 | +Saint Vincent And The Grenadines | |
| 457 | +Samoa | |
| 458 | +San Marino | |
| 459 | +Sao Tome And Principe | |
| 460 | +Saudi Arabia | |
| 461 | +Senegal | |
| 462 | +Serbia | |
| 463 | +Seychelles | |
| 464 | +Sierra Leone | |
| 465 | +Singapore | |
| 466 | +Slovakia | |
| 467 | +Slovenia | |
| 468 | +Solomon Islands | |
| 469 | +Somalia | |
| 470 | +South Africa | |
| 471 | +South Georgia And The South Sandwich Islands | |
| 472 | +Spain | |
| 473 | +Sri Lanka | |
| 474 | +Sudan | |
| 475 | +Suriname | |
| 476 | +Svalbard And Jan Mayen | |
| 477 | +Swaziland | |
| 478 | +Sweden | |
| 479 | +Switzerland | |
| 480 | +Syrian Arab Republic | |
| 481 | +Taiwan, Province Of China | |
| 482 | +Tajikistan | |
| 483 | +Tanzania, United Republic Of | |
| 484 | +Thailand | |
| 485 | +Timor-Leste | |
| 486 | +Togo | |
| 487 | +Tokelau | |
| 488 | +Tonga | |
| 489 | +Trinidad And Tobago | |
| 490 | +Tunisia | |
| 491 | +Turkey | |
| 492 | +Turkmenistan | |
| 493 | +Turks And Caicos Islands | |
| 494 | +Tuvalu | |
| 495 | +Uganda | |
| 496 | +Ukraine | |
| 497 | +United Arab Emirates | |
| 498 | +United Kingdom | |
| 499 | +United States | |
| 500 | +United States Minor Outlying Islands | |
| 501 | +Uruguay | |
| 502 | +Uzbekistan | |
| 503 | +Vanuatu | |
| 504 | +Venezuela, Bolivarian Republic Of | |
| 505 | +Viet Nam | |
| 506 | +Virgin Islands, British | |
| 507 | +Virgin Islands, U.S. | |
| 508 | +Wallis And Futuna | |
| 509 | +Western Sahara | |
| 510 | +Yemen | |
| 511 | +Zambia | |
| 512 | +Zimbabwe", | |
| 513 | + ), | |
| 514 | + 'message' => array( | |
| 515 | + 'id' => 'message', | |
| 516 | + 'name' => 'Message', | |
| 517 | + 'type' => 'textarea', | |
| 518 | + 'description' => '', | |
| 519 | + 'default_value' => '', | |
| 520 | + 'allowed_values' => '', | |
| 521 | + ), | |
| 522 | + 'captcha' => array( | |
| 523 | + 'id' => 'captcha', | |
| 524 | + 'name' => 'Captcha', | |
| 525 | + 'type' => 'captcha', | |
| 526 | + 'description' => '', | |
| 527 | + 'default_value' => '', | |
| 528 | + 'allowed_values' => '', | |
| 529 | + ), | |
| 530 | + ); | |
| 531 | + update_option('accua_forms_avail_fields', $avail_fields); | |
| 532 | + } | |
| 533 | + | |
| 534 | + $form_data = get_option('accua_forms_default_form_data',array()); | |
| 535 | + if (!is_array($form_data)) { | |
| 536 | + $form_data = array(); | |
| 537 | + } | |
| 538 | + | |
| 539 | + $form_data += array( | |
| 540 | + 'success_message' => '<div style="padding: 0px 30px 10px; background-color: #f4f4f4; border: 1px solid #ddd;"> | |
| 541 | +<h2>Thank you {first_name} {last_name},</h2> | |
| 542 | +We have received your contact request. Check your inbox for the confirmation message. | |
| 543 | + | |
| 544 | +<strong>Can\'t find the email?</strong> | |
| 545 | + | |
| 546 | +It doesn\'t happen often but your mailbox could apply strict spam rules that block our email from reaching your inbox. Try checking your spam folder. | |
| 547 | + | |
| 548 | +Also check that the email you entered in the form (<strong>{email}</strong>) is correct. If it is not exact you can submit the form again. | |
| 549 | + | |
| 550 | +For other possible problems you may have encountered do not hesitate to contact us | |
| 551 | + | |
| 552 | +</div>', | |
| 553 | + 'error_message' => '<div style="padding: 0px 30px 10px; background-color: #f4f4f4; border: 1px solid #ddd;"> | |
| 554 | +<h2>Oops! Something went wrong.</h2> | |
| 555 | +Internet is an awfully complex place and even though we take every precaution to make sure things run smoothly every once in a while things can go wrong that are not under our control. | |
| 556 | + | |
| 557 | +Please try filling in the form again. | |
| 558 | + | |
| 559 | +For other possible problems you may have encountered do not hesitate to contact us | |
| 560 | + | |
| 561 | +</div>', | |
| 562 | + 'emails_from_name' => '', | |
| 563 | + 'emails_from' => '', | |
| 564 | + 'admin_emails_to' => get_option('admin_email', ''), | |
| 565 | + 'emails_bcc' => '', | |
| 566 | + 'admin_emails_subject' => 'A contact from your site', | |
| 567 | + 'admin_emails_message' => '<table style="font-family: \'Lucida Sans\',\'Lucida Grande\', Verdana, Arial, Sans-Serif !important; background: #fff; margin-top: 10px; border: 1px solid #DDDDDD; max-width: 700px;" cellspacing="0" cellpadding="0" align="center"> | |
| 568 | +<tbody> | |
| 569 | +<tr> | |
| 570 | +<td> | |
| 571 | +<table style="max-width:700px;" border="0" cellspacing="0" cellpadding="0" align="center"> | |
| 572 | +<tbody> | |
| 573 | +<tr> | |
| 574 | +<td> | |
| 575 | +<table style="padding: 10px; background-color: #f4f4f4; border: 1px solid #ddd; max-width:700px;" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#FFFFFF"> | |
| 576 | +<tbody> | |
| 577 | +<tr valign="top"> | |
| 578 | +<td style="max-width:22px;"></td> | |
| 579 | +<td style="font-family: \'Lucida Sans\',\'Lucida Grande\', Verdana, Arial, Sans-Serif !important; padding: 0px 30px 10px; max-width: 645px;"> | |
| 580 | +<table> | |
| 581 | +<tbody> | |
| 582 | +<tr> | |
| 583 | +<td>On {__submitted_day_month_year} at {__submitted_hour} the following form was filled in. | |
| 584 | + | |
| 585 | +<hr /> | |
| 586 | + | |
| 587 | +<strong>Page where the form was filled in</strong> | |
| 588 | +<a href="{__url}">{__url}</a></td> | |
| 589 | +</tr> | |
| 590 | +<tr><td> | |
| 591 | +<strong>Submission review page</strong> | |
| 592 | +<a href="{__review_submission_url}">{__review_submission_url}</a> | |
| 593 | +</td></tr> | |
| 594 | +<tr> | |
| 595 | +<td id="submitted_html">{__submitted_html}</td> | |
| 596 | +</tr> | |
| 597 | +<tr> | |
| 598 | +<td>[form_if {__referrer} [<strong>Referrer</strong> - where did the contact come from <em>before reaching the page</em>: {__referrer}]]</td> | |
| 599 | +</tr> | |
| 600 | +<tr> | |
| 601 | +<td><strong>Contact IP</strong> {__anonymized_ip} | |
| 602 | +<hr /> | |
| 603 | +</td> | |
| 604 | +</tr> | |
| 605 | +<tr> | |
| 606 | +<td>[form_if {__autoreply} [The contact received in his email <a href="mailto:{email}">{email}</a> the following confirmation message: | |
| 607 | +<table> | |
| 608 | +<tbody> | |
| 609 | +<tr> | |
| 610 | +<td>{__confirmation_emails_message}</td> | |
| 611 | +</tr> | |
| 612 | +</tbody> | |
| 613 | +</table> ]] | |
| 614 | +</td> | |
| 615 | +</tr> | |
| 616 | +</tbody> | |
| 617 | +</table> | |
| 618 | +</td> | |
| 619 | +<td style="max-width:23px"></td> | |
| 620 | +</tr> | |
| 621 | +</tbody> | |
| 622 | +</table> | |
| 623 | +</td> | |
| 624 | +</tr> | |
| 625 | +</tbody> | |
| 626 | +</table> | |
| 627 | +</td> | |
| 628 | +</tr> | |
| 629 | +</tbody> | |
| 630 | +</table>', | |
| 631 | + 'confirmation_emails_subject' => 'Your message', | |
| 632 | + 'confirmation_emails_message' => '<div> | |
| 633 | + | |
| 634 | +<h2>Thank you {first_name} {last_name},</h2> | |
| 635 | +Thank Your for your contact request. | |
| 636 | + | |
| 637 | +We will contact you as soon as possible. | |
| 638 | + | |
| 639 | +Sincerely, | |
| 640 | + | |
| 641 | +The Website Team | |
| 642 | + | |
| 643 | +<hr /> | |
| 644 | +</div>', | |
| 645 | + | |
| 646 | + 'layout' => 'sidebyside', | |
| 647 | + 'style_margin' => '', | |
| 648 | + 'style_border_color' => '', | |
| 649 | + 'style_border_width' => '', | |
| 650 | + 'style_border_radius' => '', | |
| 651 | + 'style_background_color' => '', | |
| 652 | + 'style_padding' => '', | |
| 653 | + 'style_color' => '', | |
| 654 | + 'style_font_size' => '', | |
| 655 | + 'style_field_spacing' => '', | |
| 656 | + 'style_field_border_color' => '', | |
| 657 | + 'style_field_border_width' => '', | |
| 658 | + 'style_field_border_radius' => '', | |
| 659 | + 'style_field_background_color' => '', | |
| 660 | + 'style_field_padding' => '', | |
| 661 | + 'style_field_color' => '', | |
| 662 | + 'style_submit_border_color' => '', | |
| 663 | + 'style_submit_border_width' => '', | |
| 664 | + 'style_submit_border_radius' => '', | |
| 665 | + 'style_submit_background_color' => '', | |
| 666 | + 'style_submit_padding' => '', | |
| 667 | + 'style_submit_color' => '', | |
| 668 | + 'style_submit_font_size' => '', | |
| 669 | + ); | |
| 670 | + | |
| 671 | + update_option('accua_forms_default_form_data', $form_data); | |
| 672 | + update_option('accua_forms_db_version', ACCUA_FORMS_DB_VERSION); | |
| 673 | +} | |
| 674 | + | |
| 675 | +add_action('plugins_loaded', 'accua_forms_check_db_version_and_update', 9); | |
| 676 | +function accua_forms_check_db_version_and_update() { | |
| 677 | + $db_version = get_option('accua_forms_db_version', ''); | |
| 678 | + if (ACCUA_FORMS_DB_VERSION != $db_version) { | |
| 679 | + accua_forms_install(); | |
| 680 | + } | |
| 681 | +} | |
| 682 | + | |
| 683 | +add_filter( 'robots_txt', 'accua_forms_robots_txt', 10, 2); | |
| 684 | +function accua_forms_robots_txt($output, $public) { | |
| 685 | + if ($public) { | |
| 686 | + $site_url = parse_url( site_url() ); | |
| 687 | + $path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : ''; | |
| 688 | + $output .= "\nUser-agent: *\n"; | |
| 689 | + $output .= "Allow: $path/wp-admin/js/\n"; | |
| 690 | + $output .= "Allow: $path/wp-admin/css/\n"; | |
| 691 | + } | |
| 692 | + return $output; | |
| 693 | +} | |
| 694 | + | |
| 695 | +function _accua_forms_json_encode($item) { | |
| 696 | + static $version = NULL; | |
| 697 | + if ($version === NULL) { | |
| 698 | + $version = version_compare(PHP_VERSION, '5.3.0', '>='); | |
| 699 | + } | |
| 700 | + if ($version) { | |
| 701 | + return json_encode($item, JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP); | |
| 702 | + } else { | |
| 703 | + return strtr(json_encode($item), | |
| 704 | + array( | |
| 705 | + '&' => '\\u0026', | |
| 706 | + '<' => '\\u003C', | |
| 707 | + '>' => '\\u003E', | |
| 708 | + )); | |
| 709 | + } | |
| 710 | +} | |
| 711 | + | |