Migration.php
7.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
class B2S_Migration {
public static function filter() {
global $wpdb;
if ($wpdb->get_var("SHOW TABLES LIKE 'b2s_filter'") == 'b2s_filter') {
$result = $wpdb->get_results('SELECT * FROM b2s_filter');
$networkTypeData = array('profil' => 0, 'page' => 1, 'group' => 2);
$networkTypeAllow = array('profil', 'page', 'group');
$networkNameData = array('facebook' => 1, 'twitter' => 2, 'linkedin' => 3, 'tumblr' => 4, 'storify' => 5, 'pinterest' => 6, 'flickr' => 7, 'xing' => 8, 'diigo' => 9, 'google+' => 10, 'medium' => 11, 'instagram' => 12, 'delicious' => 13, 'torial' => 14);
$networkNameAllow = array('facebook', 'twitter', 'linkedin', 'tumblr', 'storify', 'pinterest', 'flickr', 'xing', 'diigo', 'google', 'medium', 'instagram', 'delicious', 'torial');
foreach ($result as $k => $value) {
$publishData = unserialize(stripslashes($value->publishData));
if ($publishData != false && is_array($publishData)) {
//Publish
if ($value->sched_network_date == '0000-00-00 00:00:00' && $value->last_network_publish_date != '0000-00-00 00:00:00') {
$whereData = array($value->post_id,
$value->blog_user_id,
$value->id);
$existSql = $wpdb->prepare('SELECT id FROM b2s_posts WHERE post_id = %d AND blog_user_id = %d AND v2_id=%d', $whereData);
if ((int) $wpdb->get_var($existSql) == 0) {
foreach ($publishData as $k => $v) {
$networkDetailsId = 0;
$schedDetailsId = 0;
if (isset($v['portal_id']) && !empty($v['portal_id']) && isset($v['type']) && in_array($v['type'], $networkTypeAllow)) {
$networkDetails = array(
'network_id' => $v['portal_id'],
'network_type' => $networkTypeData[$v['type']],
'network_auth_id' => 0,
'network_display_name' => ''
);
$wpdb->insert('b2s_posts_network_details', $networkDetails, array('%d', '%d', '%d', '%s'));
$networkDetailsId = $wpdb->insert_id;
$timezone = get_option('gmt_offset');
$b2sPost = array(
'post_id' => $value->post_id,
'blog_user_id' => $value->blog_user_id,
'user_timezone' => $timezone,
'sched_details_id' => $schedDetailsId,
'sched_type' => '0',
'sched_date' => '0000-00-00 00:00:00',
'sched_date_utc' => '0000-00-00 00:00:00',
'publish_date' => $value->last_network_publish_date,
'publish_link' => isset($v['publishUrl']) ? stripslashes($v['publishUrl']) : '',
'publish_error_code' => (!isset($v['error']) || (int) $v['error'] == 0) ? '' : 'DEFAULT',
'network_details_id' => $networkDetailsId,
'hook_action' => '0',
'hide' => '0',
'v2_id' => $value->id);
$wpdb->insert('b2s_posts', $b2sPost, array('%d', '%d', '%d', '%d', '%d', '%s', '%s', '%s', '%s', '%s', '%d', '%d', '%d', '%d'));
}
}
}
}
//Sched
if ($value->sched_network_date != '0000-00-00 00:00:00' && $value->last_network_publish_date == '0000-00-00 00:00:00') {
$whereData = array($value->post_id,
$value->blog_user_id,
$value->id);
$existSql = $wpdb->prepare('SELECT id FROM b2s_posts WHERE post_id = %d AND blog_user_id = %d AND v2_id=%d', $whereData);
if ((int) $wpdb->get_var($existSql) == 0) {
foreach ($publishData as $k => $v) {
foreach ($v as $vc => $details) {
foreach ($details as $networkType => $networkName) {
$networkDetailsId = 0;
$schedDetailsId = 0;
$nN = trim(strtolower($networkName));
$nT = trim(strtolower($networkType));
if (in_array($nN, $networkNameAllow) && in_array($nT, $networkTypeAllow)) {
$networkDetails = array(
'network_id' => $networkNameData[$networkName],
'network_type' => $networkTypeData[$networkType],
'network_auth_id' => 0,
'network_display_name' => ''
);
$wpdb->insert('b2s_posts_network_details', $networkDetails, array('%d', '%d', '%d', '%s'));
$networkDetailsId = $wpdb->insert_id;
$timezone = get_option('gmt_offset');
$schedDetails = array('sched_data' => '', 'image_url' => '');
$wpdb->insert('b2s_posts_sched_details', $schedDetails, array('%s', '%s'));
$schedDetailsId = $wpdb->insert_id;
$timeZoneCal = $timezone * (-1);
$b2sPost = array(
'post_id' => $value->post_id,
'blog_user_id' => $value->blog_user_id,
'user_timezone' => $timezone,
'sched_details_id' => $schedDetailsId,
'sched_type' => '1',
'sched_date' => $value->sched_network_date,
'sched_date_utc' => $value->sched_network_date != '0000-00-00 00:00:00' ? B2S_Util::getUTCForDate($value->sched_network_date, $timeZoneCal) : $value->sched_network_date,
'publish_date' => '0000-00-00 00:00:00',
'publish_link' => '',
'publish_error_code' => '',
'network_details_id' => $networkDetailsId,
'hook_action' => '0',
'hide' => '0',
'v2_id' => $value->id);
$wpdb->insert('b2s_posts', $b2sPost, array('%d', '%d', '%d', '%d', '%d', '%s', '%s', '%s', '%s', '%s', '%d', '%d', '%d', '%d'));
}
}
}
}
}
}
}
}
}
}
}