mailin
Last commit date
css
12 years ago
emails
12 years ago
img
12 years ago
js
12 years ago
lang
12 years ago
ajaxcall.php
12 years ago
ajaxcontent.php
12 years ago
ajaxmanagesubscribe.php
12 years ago
ajaxsmtp.php
12 years ago
api_form.php
12 years ago
compatibility.php
12 years ago
cron.php
12 years ago
listings.php
12 years ago
mailin.php
12 years ago
mailin_widget.php
12 years ago
mailinapi.class.php
12 years ago
readme.html
12 years ago
cron.php
100 lines
| 1 | <?php |
| 2 | /** |
| 3 | * |
| 4 | * Author: deshbandhu |
| 5 | * Author URI: http:/mailin.fr |
| 6 | */ |
| 7 | set_time_limit(0); |
| 8 | ini_set('memory_limit', '64M'); |
| 9 | $_SERVER['HTTP_HOST'] = 'wp_trunk'; |
| 10 | ob_start(); |
| 11 | $wp_load = '../../../wp-load.php'; |
| 12 | if (!is_file($wp_load)) |
| 13 | exit; |
| 14 | require_once($wp_load); |
| 15 | require_once(ABSPATH.'wp-admin/includes/admin.php'); |
| 16 | ob_end_clean(); |
| 17 | if ($_GET['token'] != md5(get_option('mailin_apikey'))) |
| 18 | die('Invalid token'); |
| 19 | function curlRequest($data) |
| 20 | { |
| 21 | $url = 'http://ws.mailin.fr/'; //WS URL |
| 22 | $ch = curl_init(); |
| 23 | $ndata = ''; |
| 24 | if (is_array($data)) |
| 25 | { |
| 26 | foreach ($data as $key => $value) |
| 27 | $ndata .= $key.'='.urlencode($value).'&'; |
| 28 | } else |
| 29 | $ndata = $data; |
| 30 | curl_setopt($ch, CURLOPT_HTTPHEADER, array( |
| 31 | 'Expect:' |
| 32 | )); |
| 33 | curl_setopt($ch, CURLOPT_POST, 1); |
| 34 | curl_setopt($ch, CURLOPT_POSTFIELDS, $ndata); |
| 35 | curl_setopt($ch, CURLOPT_HEADER, 0); |
| 36 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
| 37 | curl_setopt($ch, CURLOPT_URL, $url); |
| 38 | $data = curl_exec($ch); |
| 39 | curl_close($ch); |
| 40 | return $data; |
| 41 | } |
| 42 | $api_key = get_option('mailin_apikey'); |
| 43 | $mailin_apikey_status = get_option('mailin_apikey_status'); |
| 44 | $mailin_manage_subscribe = get_option('mailin_manage_subscribe'); |
| 45 | if ($api_key == false || $mailin_apikey_status == 0 || $mailin_manage_subscribe == 0) |
| 46 | exit; |
| 47 | function getListUsers($api_key, $list_ids) |
| 48 | { |
| 49 | if ($api_key == '') |
| 50 | return; |
| 51 | $data = array(); |
| 52 | $data['webaction'] = 'DISPLAYLISTDATABLACK'; |
| 53 | $data['key'] = $api_key; |
| 54 | $data['listids'] = $list_ids; |
| 55 | $return = curlRequest($data); |
| 56 | return json_decode($return); |
| 57 | } |
| 58 | |
| 59 | |
| 60 | global $wpdb; |
| 61 | |
| 62 | $table = $wpdb->prefix.'mailin_subscribers '; |
| 63 | $api_key = get_option('mailin_apikey'); |
| 64 | $mailin_apikey_status = get_option('mailin_apikey_status'); |
| 65 | $mailin_manage_subscribe = get_option('mailin_manage_subscribe'); |
| 66 | if ($api_key == false || $mailin_apikey_status == 0 || $mailin_manage_subscribe == 0) |
| 67 | return false; |
| 68 | $lists = get_option('mailin_lists'); |
| 69 | $lists = unserialize($lists); |
| 70 | $final_data = array(); |
| 71 | foreach ($lists as $data) |
| 72 | $final_data[] = $data->id; |
| 73 | $list_ids = ''; |
| 74 | if (!empty($final_data)) |
| 75 | $list_ids = implode('|', $final_data); |
| 76 | if ($list_ids == '') |
| 77 | return; |
| 78 | $list_users = getListUsers($api_key, $list_ids); |
| 79 | if (!empty($list_users->result)) |
| 80 | { |
| 81 | foreach ($list_users->result as $key => $lists) |
| 82 | { |
| 83 | if (!empty($lists)) |
| 84 | { |
| 85 | foreach ($lists as $users) |
| 86 | { |
| 87 | if (isset($users->blacklisted)) |
| 88 | { |
| 89 | if ($users->blacklisted == '1') |
| 90 | $sql = 'UPDATE '.$table.' SET subscribed = "0" WHERE email = "'.strtolower(trim($users->email)).'" '; |
| 91 | else |
| 92 | $sql = 'UPDATE '.$table.' SET subscribed = "1" WHERE email = "'.strtolower(trim($users->email)).'" '; |
| 93 | $myrows = $wpdb->query($sql); |
| 94 | } |
| 95 | } |
| 96 | } |
| 97 | } |
| 98 | echo 'Cron executed successfully'; |
| 99 | } |
| 100 |