function load_page_data($queries) { $GLOBALS['load_page_return'] = array(); if (isset($queries['SalesForce'])) { $GLOBALS['load_page_return']['SalesForce'] = array(); } if (isset($queries['ShareFile'])) { $GLOBALS['load_page_return']['ShareFile'] = array(); } $sforce_multi_curl = new MultiCurl(); $sfile_multi_curl = new MultiCurl(); // SalesForce handler $sforce_multi_curl->success(function ($instance) { $response = $instance->response; if (SalesForce::is_valid_session($response)) { if (isset($response->records[0])) { array_push($GLOBALS['load_page_return']['SalesForce'], $response->records[0]); } } else { return false; } }); // ShareFile handler $sfile_multi_curl->success(function ($instance) { $response = $instance->response; if (!empty($response->Results)) { array_push($GLOBALS['load_page_return']['ShareFile'], array($response->Results[0]->Details => $response->Results[0]->ItemID)); } }); // SalesForce $sforce_oauth_token = get_option('sforce_oauth_token'); if (isset($queries['SalesForce'])) { foreach ($queries['SalesForce'] as $object_name => $filters) { foreach ($filters as $filter_name => $fields) { $query = urlencode("SELECT " . implode(',', $fields) . " FROM " . $object_name . " WHERE " . stripcslashes($filter_name)); $url = SalesForce::get_api_base() . '/query/?q=' . $query; $sforce_multi_curl->setHeader('Authorization', 'Bearer ' . $sforce_oauth_token); $sforce_multi_curl->addGet($url); } } } // ShareFile $user_id = get_current_user_id(); $parent_folder = get_user_meta($user_id, 'sfile_id', true); $sfile_oauth_token = get_option('sfile_oauth_token'); $sfile_api_url_base = get_option('sfile_api_url_base'); if (isset($queries['ShareFile'])) { foreach ($queries['ShareFile'] as $sub_folder => $files) { if (ShareFile::get_item_id($sub_folder)) { foreach ($files as $file) { $url = $sfile_api_url_base . "/sf/v3/Items/AdvancedSimpleSearch"; $query = array('Query' => array("ParentID" => $parent_folder, "SearchQuery" => $file, "ItemNameOnly" => false)); $data = json_encode($query); $sfile_multi_curl->setHeader('Authorization', 'Bearer ' . $sfile_oauth_token); $sfile_multi_curl->setHeader('Content-Type', 'application/json'); $sfile_multi_curl->addPost($url, $data); } } else { ShareFile::create_folder($sub_folder, ''); } } } $sforce_multi_curl->start(); $sfile_multi_curl->start(); return $GLOBALS['load_page_return']; }
// Gets the unique option id $option_name = $optionsframework_settings['id']; if (get_option($option_name)) { $options = get_option($option_name); } if (isset($options[$name])) { return $options[$name]; } else { return $default; } } $environment = of_get_option('sforce_instance'); if ($environment == 'sandbox') { $sf_instance_url = 'https://test.salesforce.com/services/oauth2/token'; } else { $sf_instance_url = 'https://login.salesforce.com/services/oauth2/token'; } $curl = new Curl(); $response = $curl->post($sf_instance_url, array('grant_type' => 'password', 'client_id' => SFORCE_CLIENT_ID, 'client_secret' => SFORCE_CLIENT_SECRET, 'username' => $environment == 'sandbox' ? SFORCE_STAGING_USER : SFORCE_PRODUCTION_USER, 'password' => $environment == 'sandbox' ? SFORCE_STAGING_PASSWORD : SFORCE_PRODUCTION_PASSWORD)); $curl->close(); if (isset($response->access_token) && isset($response->instance_url)) { update_option('sforce_instance', $environment); update_option('sforce_oauth_token', $response->access_token); update_option('sforce_instance_url', $response->instance_url); } else { delete_option('sforce_instance'); delete_option('sforce_oauth_token'); delete_option('sforce_instance_url'); } ShareFile::authenticate();
<?php /* Template Name: Download */ if (isset($_GET['id'])) { header('Location: ' . ShareFile::get_download_url($_GET['id'])); } else { echo 'Error'; } die;
function refresh_sforce_tokens() { SalesForce::authenticate(); ShareFile::authenticate(); }
<?php require_once '../../../../wp-blog-header.php'; header('HTTP/1.1 200 OK'); $allowed = array('png', 'jpg', 'gif', 'zip', 'pdf'); if (isset($_FILES['files']) && $_FILES['files']['error'] == 0) { $extension = pathinfo($_FILES['files']['name'], PATHINFO_EXTENSION); if (!in_array(strtolower($extension), $allowed)) { echo '{"status": "error"}'; exit; } if (move_uploaded_file($_FILES['files']['tmp_name'], $_FILES['files']['name'])) { $sub_folder_id = ShareFile::get_item_id($_POST['sfile_sub_folder']); $sfile_response = ShareFile::upload_file($sub_folder_id, '/var/www/guidant-financial-portal/wp-content/themes/gfportal/uploads/' . $_FILES['files']['name'], $_POST['sfile_file_name']); echo json_encode($sfile_response, true); exit; } } echo '{"status": "error"}'; exit;