$source) { $speech_url = $this->find_speech_url_by_width($sizes, $width); if ($speech_url) { $new_sources[$width]['url'] = $speech_url; } } $time_end = microtime(true); $time = ($time_end - $time_start) * 1000; // error_log("srcset in $time milliseconds"); return $new_sources; } public function replace_urls_with_speech($content) { // // Find all images // preg_match_all('/]+>/', $content, $images); // // // Check to make sure we have results // $images = empty($images[0]) ? array() : $images[0]; // // foreach ($images as $image) { // $attachment_id = null; // // Looks for wp image class first, if not, pull id from source // if (preg_match('/wp-image-([0-9]+)/i', $image, $class_id)) { // $attachment_id = absint($class_id[1]); // } elseif (preg_match('/src="((?:https?:)?\/\/[^"]+)"/', $image, $src) && $this->is_local($src[1])) { // $attachment_id = $this->rigid_attachment_url_to_postid($src[1]); // } // // // // Look for size class, if not continue // // if (!preg_match('/ size-([\w-_]+) /i', $image, $size_class)) { // // continue; // // } // // if ($attachment_id) { // // Create main image media object // $meta = wp_get_attachment_metadata($attachment_id); // // // If we don't have meta, get out because none of this will work // if (!$meta) { // break; // } // // if (!$this->is_published($meta)) { // $all_media[] = new LBRY_Speech_Media($attachment_id); // } // // // COMBAK: find a way to make this more efficient? // // Create a media object for each image size // // Get images sizes for this attachment, as not all image sizes implemented // $image_sizes = wp_get_attachment_metadata($attachment_id)['sizes']; // // foreach ($image_sizes as $size => $meta) { // if (!$this->is_published($meta)) { // $all_media[] = new LBRY_Speech_Media($attachment_id, array('image_size' => $size)); // } // } // } // } // error_log(print_r($content, true)); return $content; } public function replace_attachment_image_src($image, $attachment_id, $size) { // TODO: Need to come back to this. // if (!$image) { // return; // } // // $new_image = $image; // $sizes = $image_meta['sizes']; // // // If we have a given size, then use that immediately // if (is_string($size)) { // // if ($size == 'full') { // // } // $new_image[0] = $sizes[$size]['speech_asset_url']; // return $image; // } // // // Otherwise, we can find it by the url provided // $new_image[0] = $this->find_speech_url_by_file_url($sizes, $image[0]); return $image; } /** * [find_speech_url description] * @param [type] $sizes [description] * @param [type] $width [description] * @return [type] [description] */ private function find_speech_url_by_width($sizes, $width) { foreach ($sizes as $key => $size) { if ($size['width'] == $width && key_exists('speech_asset_url', $size)) { return $size['speech_asset_url']; } } return false; } private function find_speech_url_by_file_name($sizes, $url) { for } private function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } }