// 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); } // Either this field has never been used or was explicitly deleted } elseif (empty($field["input"])) { $field["output"] = array(); // Using existing value } else { if ($field["input"]["existing"]) { $field["output"] = json_decode($field["input"]["existing"], true); } else { $field["ignore"] = true; } }