コード例 #1
0
ファイル: BitlyService.php プロジェクト: dayax/doyo
 public function onSavePost($post_id)
 {
     return;
     $url = get_permalink($post_id);
     $domain = ot_get_option('bitly_domain');
     $this->login(ot_get_option('bitly_login'));
     $this->apiKey(ot_get_option('bitly_api_key'));
     $shortlink = $this->shorten($url, $domain);
     if (!empty($shortlink)) {
         update_metadata('post', $post_id, '_bitly_shortlink', $shortlink);
         return $shortlink;
     }
     doyo::log('will save post');
 }
コード例 #2
0
ファイル: util.php プロジェクト: dayax/doyo
/**
 * Resize images dynamically using wp built in functions
 * Victor Teixeira
 *
 * Modified by Foxinni, 23-07-2012 (Added multisite support)
 * Modified by Anthonius Munthi, 2013-07-02 (Wordpress compatibility)
 *
 * php 5.2+
 *
 * Exemplo de uso:
 * 
 * <?php 
 * $thumb = get_post_thumbnail_id(); 
 * $image = vt_resize( $thumb, '', 140, 110, true );
 * ?>
 * <img src="<?php echo $image[url]; ?>" width="<?php echo $image[width]; ?>" height="<?php echo $image[height]; ?>" />
 * 
 * @global int $blog_id
 * @param int $attach_id
 * @param string $img_url
 * @param int $width
 * @param int $height
 * @param bool $crop
 * @return array
 */
function vt_resize($attach_id = null, $width, $height, $crop = false)
{
    global $blog_id;
    $image_src = wp_get_attachment_image_src($attach_id, 'full');
    doyo::log($attach_id . " " . print_r($image_src, TRUE));
    // this is an attachment, so we have the ID
    if (false == $image_src) {
        $file_path = parse_url($attach_id);
        $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_path['path'];
        //Check for MultiSite blogs and str_replace the absolute image locations
        if (is_multisite()) {
            $blog_details = get_blog_details($blog_id);
            $file_path = str_replace($blog_details->path . 'files/', '/wp-content/blogs.dir/' . $blog_id . '/files/', $file_path);
        }
        //$file_path = ltrim( $file_path['path'], '/' );
        //$file_path = rtrim( ABSPATH, '/' ).$file_path['path'];
        $orig_size = getimagesize($file_path);
        $image_src[0] = $attach_id;
        $image_src[1] = $orig_size[0];
        $image_src[2] = $orig_size[1];
    } else {
        $file_path = get_attached_file($attach_id);
    }
    $file_info = pathinfo($file_path);
    $extension = '.' . $file_info['extension'];
    // the image path without the extension
    $no_ext_path = $file_info['dirname'] . '/' . $file_info['filename'];
    /* Calculate the eventual height and width for accurate file name */
    if ($crop == false) {
        $proportional_size = wp_constrain_dimensions($image_src[1], $image_src[2], $width, $height);
        $width = $proportional_size[0];
        $height = $proportional_size[1];
    }
    $cropped_img_path = $no_ext_path . '-' . $width . 'x' . $height . $extension;
    // checking if the file size is larger than the target size
    // if it is smaller or the same size, stop right here and return
    if ($image_src[1] > $width || $image_src[2] > $height) {
        // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match)
        if (file_exists($cropped_img_path)) {
            $cropped_img_url = str_replace(basename($image_src[0]), basename($cropped_img_path), $image_src[0]);
            $vt_image = array('url' => $cropped_img_url, 'width' => $width, 'height' => $height);
            return $vt_image;
        }
        // $crop = false
        if ($crop == false) {
            // calculate the size proportionaly
            $proportional_size = wp_constrain_dimensions($image_src[1], $image_src[2], $width, $height);
            $resized_img_path = $no_ext_path . '-' . $proportional_size[0] . 'x' . $proportional_size[1] . $extension;
            // checking if the file already exists
            if (file_exists($resized_img_path)) {
                $resized_img_url = str_replace(basename($image_src[0]), basename($resized_img_path), $image_src[0]);
                $vt_image = array('url' => $resized_img_url, 'width' => $proportional_size[0], 'height' => $proportional_size[1]);
                return $vt_image;
            }
        }
        // no cache files - let's finally resize it
        $new_img_path = dyImageResize($file_path, $width, $height, $crop);
        $new_img_size = getimagesize($new_img_path);
        $new_img = str_replace(basename($image_src[0]), basename($new_img_path), $image_src[0]);
        // resized output
        $vt_image = array('url' => $new_img, 'width' => $new_img_size[0], 'height' => $new_img_size[1]);
        return $vt_image;
    }
    // default output - without resizing
    $vt_image = array('url' => $image_src[0], 'width' => $image_src[1], 'height' => $image_src[2]);
    return $vt_image;
}