1
0
Fork 0

fixes to work

This commit is contained in:
Martin Geno 2015-12-10 22:13:33 +01:00
commit af593be2e7
1 changed files with 60 additions and 53 deletions

View File

@ -48,6 +48,7 @@ function fbes_process_events() {
$fbes_api_uid = get_option('fbes_api_uid'); $fbes_api_uid = get_option('fbes_api_uid');
$fbes_api_uids = get_option('fbes_api_uids'); $fbes_api_uids = get_option('fbes_api_uids');
$fbes_frequency = get_option('fbes_frequency'); $fbes_frequency = get_option('fbes_frequency');
// $fbes_access_token = $fbes_api_key+"|"+$fbes_api_secret;
$fbes_access_token = get_option('fbes_access_token'); // modified $fbes_access_token = get_option('fbes_access_token'); // modified
@ -57,7 +58,7 @@ function fbes_process_events() {
function fbes_get_events($fbes_api_key, $fbes_api_secret, $fbes_access_token, $fbes_api_uids) { function fbes_get_events($fbes_api_key, $fbes_api_secret, $fbes_access_token, $fbes_api_uids) {
require 'facebook-php-sdk/facebook.php'; //modified require_once 'facebook-php-sdk/facebook.php'; //modified
$facebook = new Facebook(array( $facebook = new Facebook(array(
'appId' => $fbes_api_key, 'appId' => $fbes_api_key,
@ -71,15 +72,25 @@ function fbes_get_events($fbes_api_key, $fbes_api_secret, $fbes_access_token, $f
foreach ($fbes_api_uids as $key => $value) { foreach ($fbes_api_uids as $key => $value) {
if($value!='') { if($value!='') {
$result = $facebook->api('/'.$value.'/events', 'GET', array( $result = $facebook->api('/'.$value.'/events', 'GET', array(
'fields' => 'name,start_time,end_time,location,description,timezone' 'fields' => 'name,start_time,end_time,place,description,timezone',
'date_format' => 'U'
)); ));
$result = $result['data']; $result = $result['data'];
foreach($result as $k => $v) foreach($result as $k => $v){
$result[$k]['uid'] = $value; $result[$k]['uid'] = $value;
$result[$k]['start_time'] = strtotime($result[$k]['start_time']);
$result[$k]['end_time'] = strtotime($result[$k]['end_time']);
if($result[$k]['place']){
if($result[$k]['place']['name']){
$result[$k]['location'] = $result[$k]['place']['name'];
}else{
$result[$k]['location'] = $result[$k]['place'];
}
}
}
$ret = array_merge($ret, $result); $ret = array_merge($ret, $result);
} }
} }
return $ret; return $ret;
} }
@ -90,12 +101,11 @@ function fbes_segments($url='') {
} }
function fbes_send_events($events) { function fbes_send_events($events) {
$eids = array();
$query = new WP_Query(array( $query = new WP_Query(array(
'post_type'=>'tribe_events', 'post_type'=>'tribe_events',
'posts_per_page'=>'-1' 'posts_per_page'=>'-1'
)); ));
foreach($query->posts as $post) { foreach($query->posts as $post) {
if(!empty($post->to_ping)) { if(!empty($post->to_ping)) {
$segments = fbes_segments($post->to_ping); $segments = fbes_segments($post->to_ping);
@ -125,13 +135,13 @@ function fbes_send_events($events) {
$offsetEnd = $event['end_time']+$offset; $offsetEnd = $event['end_time']+$offset;
//don't update or insert events from the past. //don't update or insert events from the past.
if($offsetEnd > time()) { if($offsetStart > time()) {
$args['EventStartDate'] = date("m/d/Y", $offsetStart); $args['EventStartDate'] = date("Y-m-d", $offsetStart);
$args['EventStartHour'] = date("H", $offsetStart); $args['EventStartHour'] = date("H", $offsetStart);
$args['EventStartMinute'] = date("i", $offsetStart); $args['EventStartMinute'] = date("i", $offsetStart);
$args['EventEndDate'] = date("m/d/Y", $offsetEnd); $args['EventEndDate'] = date("Y-m-d", $offsetEnd);
$args['EventEndHour'] = date("H", $offsetEnd); $args['EventEndHour'] = date("H", $offsetEnd);
$args['EventEndMinute'] = date("i", $offsetEnd); $args['EventEndMinute'] = date("i", $offsetEnd);
@ -141,16 +151,10 @@ function fbes_send_events($events) {
$args['post_status'] = "Publish"; $args['post_status'] = "Publish";
$args['post_type'] = "tribe_events"; $args['post_type'] = "tribe_events";
//$args['to_ping'] = $event['eid']; //damn you, sanitize_trackback_urls in 3.4 //$args['to_ping'] = $event['eid']; //damn you, sanitize_trackback_urls in 3.4
$args['to_ping'] = 'https://www.facebook.com/events/'.$event['eid'].'/'; $args['to_ping'] = 'https://www.facebook.com/events/'.$event['id'].'/';
if($args['EventStartHour'] == '22' && $event['uid'] == '256763181050120') { //why are UT events 2 hours off???
$args['EventStartHour'] = '20';
$args['EventEndHour'] = '22';
$args['EventEndDate'] = date('m/d/Y',strtotime($args['EventEndDate'], '-1 day'));
}
$inserting = $post_id = false; $inserting = $post_id = false;
if (!array_key_exists($event['eid'], $eids)) { if (!array_key_exists($event['id'], $eids)) {
//double check //double check
$already_exists = false; $already_exists = false;
foreach($query->posts as $post) { foreach($query->posts as $post) {
@ -166,14 +170,16 @@ function fbes_send_events($events) {
} }
} }
if(!$inserting) { if(!$inserting) {
$post_id = $eids[$event['eid']]; $post_id = $eids[$event['id']];
echo "$post_id";
tribe_update_event($post_id, $args); tribe_update_event($post_id, $args);
echo "<br />Updating: ".$eids[$event['eid']]; echo "<br />Updating: ".$eids[$event['id']];
} }
if($post_id) if($post_id)
update_metadata('post', $post_id, 'fb_event_obj', $event); update_metadata('post', $post_id, 'fb_event_obj', $event);
//eid, name, start_time, end_time, location, description //eid, name, start_time, end_time, location, description
} }
if($eids)
reset($eids); reset($eids);
} }
} }
@ -204,7 +210,8 @@ function fbes_options_page() {
$fbes_frequency = $_POST['fbes_frequency']; $fbes_frequency = $_POST['fbes_frequency'];
update_option('fbes_frequency', $fbes_frequency); update_option('fbes_frequency', $fbes_frequency);
$events = fbes_get_events($fbes_api_key, $fbes_api_secret, $fbes_api_uids); $events = fbes_get_events($fbes_api_key, $fbes_api_secret, $fbes_access_token, $fbes_api_uids);
// $events = fbes_get_events($fbes_api_key, $fbes_api_secret, $fbes_api_uids);
update_schedule($fbes_frequency); update_schedule($fbes_frequency);
@ -228,7 +235,7 @@ function fbes_options_page() {
update_option('fbes_api_uids', $fbes_api_uids); update_option('fbes_api_uids', $fbes_api_uids);
} }
require 'facebook-php-sdk/facebook.php'; //modified require_once 'facebook-php-sdk/facebook.php'; //modified
$facebook = new Facebook(array( $facebook = new Facebook(array(
'appId' => $fbes_api_key, 'appId' => $fbes_api_key,