本文整理汇总了PHP中BigTree::cURL方法的典型用法代码示例。如果您正苦于以下问题:PHP BigTree::cURL方法的具体用法?PHP BigTree::cURL怎么用?PHP BigTree::cURL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BigTree
的用法示例。
在下文中一共展示了BigTree::cURL方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
function __construct($cache = true)
{
parent::__construct("bigtree-internal-salesforce-api", "Salesforce API", "org.bigtreecms.api.salesforce", $cache);
// Set OAuth Return URL
$this->ReturnURL = ADMIN_ROOT . "developer/services/salesforce/return/";
// Change things if we're in the test environment.
if ($this->Settings["test_environment"]) {
$this->AuthorizeURL = str_ireplace("login.", "test.", $this->AuthorizeURL);
$this->TokenURL = str_replace("login.", "test.", $this->TokenURL);
}
// Get a new access token for this session.
$this->Connected = false;
if ($this->Settings["refresh_token"]) {
$response = json_decode(BigTree::cURL($this->TokenURL, array("grant_type" => "refresh_token", "client_id" => $this->Settings["key"], "client_secret" => $this->Settings["secret"], "refresh_token" => $this->Settings["refresh_token"])), true);
if ($response["access_token"]) {
$this->InstanceURL = $response["instance_url"];
$this->EndpointURL = $this->InstanceURL . "/services/data/v28.0/";
$this->Settings["token"] = $response["access_token"];
$this->Connected = true;
}
}
}
示例2: oAuthRefreshToken
function oAuthRefreshToken()
{
$r = json_decode(BigTree::cURL($this->TokenURL, array("client_id" => $this->Settings["key"], "client_secret" => $this->Settings["secret"], "refresh_token" => $this->Settings["refresh_token"], "grant_type" => "refresh_token")));
if ($r->access_token) {
$this->Settings["token"] = $r->access_token;
$this->Settings["expires"] = strtotime("+" . $r->expires_in . " seconds");
}
}
示例3: array_filter
<?php
// Check whether our database is running the latest revision of BigTree or not.
$current_revision = $cms->getSetting("bigtree-internal-revision");
if ($current_revision < BIGTREE_REVISION && $admin->Level > 1) {
BigTree::redirect(DEVELOPER_ROOT . "upgrade/database/");
}
// Check for newer versions of BigTree
$ignored_all = true;
if (!$_COOKIE["bigtree_admin"]["deferred_update"]) {
$updates = array_filter((array) @json_decode(BigTree::cURL("http://www.bigtreecms.org/ajax/version-check/?current_version=" . BIGTREE_VERSION, false, array(CURLOPT_CONNECTTIMEOUT => 1, CURLOPT_TIMEOUT => 5)), true));
// See if we've ignored these updates
$ignorable = array();
foreach ($updates as $update) {
if (!$_COOKIE["bigtree_admin"]["ignored_update"][$update["version"]]) {
$ignored_all = false;
}
$ignorable[] = $update["version"];
}
}
// If we're ignoring updates through config, still ignore them
if (!empty($bigtree["config"]["ignore_admin_updates"])) {
$ignored_all = true;
}
// Updates are available and we didn't ignore them
if (!$ignored_all && count($updates)) {
?>
<div class="container">
<summary><h2>Update Available</h2></summary>
<section>
<p>You are currently running BigTree <?php
示例4: BigTreeStorage
<?php
$storage = new BigTreeStorage();
$storage->Settings->Service = $_POST["service"];
$cloud = new BigTreeCloudStorage($_POST["service"]);
if ($_POST["container"]) {
$storage->Settings->Container = $_POST["container"];
// If we're using Rackspace, we need to explicitly CDN enable this container.
if ($_POST["service"] == "rackspace") {
BigTree::cURL($cloud->RackspaceCDNEndpoint . "/" . $_POST["container"], "", array(CURLOPT_PUT => true, CURLOPT_HTTPHEADER => array("X-Auth-Token: " . $cloud->Settings["rackspace"]["token"], "X-Cdn-Enabled: true")));
}
} else {
// We're only going to try to get a unique bucket 10 times to prevent an infinite loop
$x = 0;
$success = false;
while (!$success && $x < 10) {
$container = $cms->urlify(uniqid("bigtree-container-", true));
$success = $cloud->createContainer($container, true);
$x++;
}
if ($success) {
$storage->Settings->Container = $container;
} else {
$admin->growl("Developer", "Failed to create container.", "error");
BigTree::redirect(DEVELOPER_ROOT . "cloud-storage/");
}
}
$container = $cloud->getContainer($storage->Settings->Container);
if ($container === false) {
$admin->growl("Developer", "Failed to read container.", "error");
BigTree::redirect(DEVELOPER_ROOT . "cloud-storage/");
示例5: sendPayflow
protected function sendPayflow($params)
{
$count = 0;
$this->Unresponsive = false;
// We build a random hash to submit as the transaction ID so that Payflow knows we're trying a repeat transaction, and spoof Mozilla.
$extras = array(CURLOPT_HTTPHEADER => array("X-VPS-Request-ID: " . uniqid("", true)), CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
// Get the default parameters
$params = array_merge($this->DefaultParameters, $params);
// Authorize wants a GET instead of a POST, so we have to convert it away from an array.
$fields = array();
foreach ($params as $key => $val) {
$fields[] = $key . "=" . str_replace("&", "%26", $val);
}
// Send it off to the server, try 3 times.
while ($count < 3) {
$response = BigTree::cURL($this->PostURL, implode("&", $fields), $extras);
if ($response) {
$response = strstr($response, 'RESULT');
$response_array = array();
$response_parts = explode("&", $response);
foreach ($response_parts as $part) {
list($key, $val) = explode("=", $part);
$response_array[$key] = $val;
}
return $response_array;
}
$count++;
}
$this->Unresponsive = true;
return false;
}
示例6: htmlspecialchars
<?php
$updates = @json_decode(BigTree::cURL("http://www.bigtreecms.org/ajax/version-check/?current_version=" . BIGTREE_VERSION), true);
$update = $updates[$_GET["type"]];
if (!$update) {
$admin->growl("Developer", "Couldn't Get Download Information", "error");
BigTree::redirect(DEVELOPER_ROOT);
}
?>
<div class="container">
<summary><h2>Upgrade BigTree</h2></summary>
<section>
<p>Please wait while we download the update...</p>
</section>
</div>
<script>
$.ajax("<?php
echo ADMIN_ROOT;
?>
ajax/developer/upgrade/download/", { type: "POST", data: { file: "<?php
echo $update["file"];
?>
" }, complete: function() {
window.location.href = "<?php
echo DEVELOPER_ROOT;
?>
upgrade/check-file/?type=<?php
echo htmlspecialchars($_GET["type"]);
?>
";
} });
示例7: oAuthSetToken
function oAuthSetToken($code)
{
$response = json_decode(BigTree::cURL($this->TokenURL, array("code" => $code, "client_id" => $this->Settings["key"], "client_secret" => $this->Settings["secret"], "redirect_uri" => $this->ReturnURL, "grant_type" => "authorization_code")));
if ($response->error) {
$this->OAuthError = $response->error;
return false;
}
// Update Token information and save it back.
$this->Settings["token"] = $response->access_token;
$this->Settings["refresh_token"] = $response->refresh_token;
$this->Settings["expires"] = $response->expires_in ? strtotime("+" . $response->expires_in . " seconds") : false;
$this->Connected = true;
return $response;
}
示例8: json_decode
<?php
$response = json_decode(BigTree::cURL("https://www.google.com/recaptcha/api/siteverify?secret=" . $settings["recaptcha"]["secret_key"] . "&response=" . urlencode($_POST["g-recaptcha-response"]) . "&remoteip=" . $_SERVER["REMOTE_ADDR"]));
if (!$response->success) {
$errors[] = $field_name;
}
示例9: array
$source_image = $source_image ? $source_image : $json[0]["thumbnail_small"];
$field["output"] = array("service" => "vimeo", "id" => $video_id, "height" => $json[0]["height"], "width" => $json[0]["width"], "duration" => $json[0]["duration"], "embed" => '<iframe src="https://player.vimeo.com/video/' . $video_id . '?byline=0&portrait=0" width="' . $width . '" height="' . $height . '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');
// No video :(
} else {
$bigtree["errors"][] = array("field" => $field["title"], "error" => "The Vimeo URL provided is invalid.");
$field["ignore"] = true;
}
// Invalid URL
} else {
$bigtree["errors"][] = array("field" => $field["title"], "error" => "The URL you entered is not a valid YouTube or Vimeo URL.");
$field["ignore"] = true;
}
// If we haven't failed, we're going to grab our image and set it up for crops and such
if (!$field["ignore"]) {
$local_image_copy = SITE_ROOT . "files/" . uniqid("temp-") . ".jpg";
BigTree::cURL($source_image, false, array(), false, $local_image_copy);
list($width, $height) = getimagesize($local_image_copy);
// If this is a YouTube video we don't have video dimensions so we're going to guess them from the image size
if ($field["output"]["service"] == "youtube") {
$field["output"]["height"] = $height;
$field["output"]["width"] = $width;
$field["output"]["embed"] = '<iframe width="' . $width . '" height="' . $height . '" src="https://www.youtube.com/embed/' . $video_id . '" frameborder="0" allowfullscreen></iframe>';
}
// Normally we'd fail, but it's not like you can create a higher resolution video clip here.
if ($width < $min_width || $height < $min_height) {
BigTree::createUpscaledImage($local_image_copy, $local_image_copy, $min_width, $min_height);
}
// Pretend to be a normal image field and process it
$field_copy = $field;
$field_copy["file_input"] = array("name" => $field["output"]["service"] . "-video-" . $video_id . ".jpg", "tmp_name" => $local_image_copy, "error" => false);
$field["output"]["image"] = BigTreeAdmin::processImageUpload($field_copy);
示例10: callRackspace
function callRackspace($endpoint = "", $data = false, $curl_options = array())
{
$curl_options = $curl_options + array(CURLOPT_HTTPHEADER => array("Accept: application/json", "X-Auth-Token: " . $this->Settings["rackspace"]["token"]));
return json_decode(BigTree::cURL($this->RackspaceAPIEndpoint . ($endpoint ? "/{$endpoint}" : ""), $data, $curl_options));
}
示例11: array_filter
<?php
// If we can't do a local, FTP, or SFTP update then we give instructions on how to manually update
if (!$updater->Method) {
BigTree::redirect($page_link . "failed/?id=" . $_GET["id"]);
}
// We're going to store the download URL in a cache to prevent the download script from abuse
$info = array_filter((array) @json_decode(BigTree::cURL("http://www.bigtreecms.org/ajax/extensions/version/?extensions[]=" . $_GET["id"], false, array(CURLOPT_CONNECTTIMEOUT => 1, CURLOPT_TIMEOUT => 5)), true));
$extension_info = $info[$_GET["id"]];
if (!$extension_info) {
$admin->growl("Extensions", "Failed to get download information");
BigTree::redirect(DEVELOPER_ROOT . "extensions/");
}
$download_key = $cms->cacheUnique("org.bigtreecms.downloads", $extension_info["github_url"]);
?>
<div class="container">
<summary><h2>Upgrade Extension</h2></summary>
<section>
<p>Please wait while we download the update...</p>
</section>
</div>
<script>
$.ajax("<?php
echo ADMIN_ROOT;
?>
ajax/developer/upgrade/download/", { type: "POST", data: { key: "<?php
echo htmlspecialchars($download_key);
?>
" }, complete: function() {
window.location.href = "<?php
echo $page_link;
示例12: sendSendGrid
protected function sendSendGrid($subject, $body, $to, $from_email, $from_name, $reply_to = false, $text = false)
{
$url = 'https://api.sendgrid.com/api/mail.send.json';
$user = $this->Settings["sendgrid_api_user"];
$pass = $this->Settings["sendgrid_api_key"];
// Build POST data
$data = array("api_user" => $this->Settings["sendgrid_api_user"], "api_key" => $this->Settings["sendgrid_api_key"], "to" => is_array($to) ? implode(",", $to) : $to, "subject" => $subject, "html" => $body, "text" => $text, "from" => $from_email, "fromname" => $from_name, "replyto" => $reply_to);
$response = json_decode(BigTree::cURL($url, $data, array()), true);
if ($response["message"] === "success") {
return true;
} else {
$this->Error = $response["errors"];
return false;
}
}
示例13: geocodeYahoo
private function geocodeYahoo($address)
{
$response = BigTree::cURL("http://query.yahooapis.com/v1/public/yql?format=json&q=" . urlencode('SELECT * FROM geo.placefinder WHERE text="' . sqlescape($address) . '"'));
try {
if (is_string($response)) {
$response = json_decode($response, true);
}
$lat = $response["query"]["results"]["Result"]["latitude"];
$lon = $response["query"]["results"]["Result"]["longitude"];
if ($lat && $lon) {
return array("latitude" => $lat, "longitude" => $lon);
} else {
return false;
}
} catch (Exception $e) {
return false;
}
}
示例14: array
<?php
$extensions = $admin->getExtensions();
// Get version info on our installed extensions
$query = array();
foreach ($extensions as $extension) {
$query[] = "extensions[]=" . urlencode($extension["id"]);
}
$version_info = array_filter((array) @json_decode(BigTree::cURL("http://www.bigtreecms.org/ajax/extensions/version/?" . implode("&", $query), false, array(CURLOPT_CONNECTTIMEOUT => 1, CURLOPT_TIMEOUT => 5)), true));
?>
<div class="table">
<summary><h2>Extensions</h2></summary>
<header>
<span class="developer_templates_name">Extension Name</span>
<span style="width: 80px;">Actions</span>
</header>
<ul>
<?php
foreach ($extensions as $extension) {
$new = false;
if (!isset($_COOKIE["bigtree_admin"]["ignored_extension_updates"][$extension["id"]])) {
// Read manifest, see if a new version is available
$manifest = json_decode(file_get_contents(SERVER_ROOT . "extensions/" . $extension["id"] . "/manifest.json"), true);
if (intval($manifest["revision"]) < intval($version_info[$extension["id"]]["revision"])) {
$new = true;
$info = $version_info[$extension["id"]];
}
}
?>
<li>
<section class="developer_extensions_name">
示例15: str_replace
<?php
$server_root = str_replace("core/cron.php", "", strtr(__FILE__, "\\", "/"));
include $server_root . "custom/environment.php";
include $server_root . "custom/settings.php";
include $server_root . "core/bootstrap.php";
$admin = new BigTreeAdmin();
// Send out Daily Digests and Content Alerts
$admin->emailDailyDigest();
// Cache Google Analytics Information
$analytics = new BigTreeGoogleAnalyticsAPI();
if ($analytics->API && $analytics->Profile) {
$analytics->cacheInformation();
}
// Let the CMS know we're running cron properly
if (!$admin->settingExists("bigtree-internal-cron-last-run")) {
$admin->createSetting(array("id" => "bigtree-internal-cron-last-run", "system" => "on"));
}
// Tell the admin we've ran cron recently.
$admin->updateSettingValue("bigtree-internal-cron-last-run", time());
// Ping bigtreecms.org with current version stats
if (!$bigtree["config"]["disable_ping"]) {
BigTree::cURL("https://www.bigtreecms.org/ajax/ping/?www_root=" . urlencode(WWW_ROOT) . "&version=" . urlencode(BIGTREE_VERSION));
}