Example #1
0
/**
 * Create thumbnails using PHP GD Library
 *
 * @param ElggFile holds the image that was uploaded
 * @param string   folder to store thumbnail in
 * @param string   name of the thumbnail
 * @return bool    TRUE on success
 */
function tp_create_gd_thumbnails($file, $prefix, $filestorename)
{
    $image_sizes = elgg_get_plugin_setting('image_sizes', 'tidypics');
    if (!$image_sizes) {
        // move this out of library
        register_error(elgg_echo('tidypics:nosettings'));
        forward(REFERER);
        return false;
    }
    $image_sizes = unserialize($image_sizes);
    // check if all necessary config variables are set and fall back to default if not
    $image_sizes['tiny_image_width'] = isset($image_sizes['tiny_image_width']) ? $image_sizes['tiny_image_width'] : 60;
    $image_sizes['tiny_image_height'] = isset($image_sizes['tiny_image_height']) ? $image_sizes['tiny_image_height'] : 60;
    $image_sizes['tiny_image_square'] = isset($image_sizes['tiny_image_square']) ? $image_sizes['tiny_image_square'] : true;
    $image_sizes['small_image_width'] = isset($image_sizes['small_image_width']) ? $image_sizes['small_image_width'] : 153;
    $image_sizes['small_image_height'] = isset($image_sizes['small_image_height']) ? $image_sizes['small_image_height'] : 153;
    $image_sizes['small_image_square'] = isset($image_sizes['small_image_square']) ? $image_sizes['small_image_square'] : true;
    $image_sizes['large_image_width'] = isset($image_sizes['large_image_width']) ? $image_sizes['large_image_width'] : 600;
    $image_sizes['large_image_height'] = isset($image_sizes['large_image_height']) ? $image_sizes['large_image_height'] : 600;
    $image_sizes['large_image_square'] = isset($image_sizes['large_image_square']) ? $image_sizes['large_image_square'] : false;
    $thumb = new ElggFile();
    $thumb->owner_guid = $file->owner_guid;
    $thumb->container_guid = $file->container_guid;
    // tiny thumbail
    $thumb->setFilename($prefix . "thumb" . $filestorename);
    $thumbname = $thumb->getFilenameOnFilestore();
    $rtn_code = tp_gd_resize($file->getFilenameOnFilestore(), $thumbname, false, $image_sizes['tiny_image_width'], $image_sizes['tiny_image_height'], $image_sizes['tiny_image_square']);
    if (!$rtn_code) {
        return false;
    }
    $file->thumbnail = $prefix . "thumb" . $filestorename;
    // album thumbnail
    $thumb->setFilename($prefix . "smallthumb" . $filestorename);
    $thumbname = $thumb->getFilenameOnFilestore();
    $rtn_code = tp_gd_resize($file->getFilenameOnFilestore(), $thumbname, false, $image_sizes['small_image_width'], $image_sizes['small_image_height'], $image_sizes['small_image_square']);
    if (!$rtn_code) {
        return false;
    }
    $file->smallthumb = $prefix . "smallthumb" . $filestorename;
    // main image
    $thumb->setFilename($prefix . "largethumb" . $filestorename);
    $thumbname = $thumb->getFilenameOnFilestore();
    $rtn_code = tp_gd_resize($file->getFilenameOnFilestore(), $thumbname, true, $image_sizes['large_image_width'], $image_sizes['large_image_height'], $image_sizes['large_image_square']);
    if (!$rtn_code) {
        return false;
    }
    $file->largethumb = $prefix . "largethumb" . $filestorename;
    unset($thumb);
    return true;
}
Example #2
0
/**
 * Create thumbnails using PHP GD Library
 *
 * @param ElggFile holds the image that was uploaded
 * @param string   folder to store thumbnail in
 * @param string   name of the thumbnail
 * @return bool    TRUE on success
 */
function tp_create_gd_thumbnails($file, $prefix, $filestorename)
{
    global $CONFIG;
    $image_sizes = elgg_get_plugin_setting('image_sizes', 'tidypics');
    if (!$image_sizes) {
        // move this out of library
        register_error(elgg_echo('tidypics:nosettings'));
        forward(REFERER);
        return FALSE;
    }
    $image_sizes = unserialize($image_sizes);
    $thumb = new ElggFile();
    $thumb->owner_guid = $file->owner_guid;
    $thumb->container_guid = $file->container_guid;
    // tiny thumbail
    $thumb->setFilename($prefix . "thumb" . $filestorename);
    $thumbname = $thumb->getFilenameOnFilestore();
    if (empty($image_sizes['tiny_image_width'])) {
        // sites upgraded from 1.6 may not have this set
        $image_sizes['tiny_image_width'] = $image_sizes['tiny_image_height'] = 60;
    }
    $rtn_code = tp_gd_resize($file->getFilenameOnFilestore(), $thumbname, FALSE, $image_sizes['tiny_image_width'], $image_sizes['tiny_image_height'], TRUE);
    if (!$rtn_code) {
        return FALSE;
    }
    $file->thumbnail = $prefix . "thumb" . $filestorename;
    // album thumbnail
    global $CONFIG;
    $CONFIG->debug = 'WARNING';
    $thumb->setFilename($prefix . "smallthumb" . $filestorename);
    $thumbname = $thumb->getFilenameOnFilestore();
    $rtn_code = tp_gd_resize($file->getFilenameOnFilestore(), $thumbname, FALSE, $image_sizes['small_image_width'], $image_sizes['small_image_height'], TRUE);
    if (!$rtn_code) {
        return FALSE;
    }
    $file->smallthumb = $prefix . "smallthumb" . $filestorename;
    unset($CONFIG->debug);
    // main image
    $thumb->setFilename($prefix . "largethumb" . $filestorename);
    $thumbname = $thumb->getFilenameOnFilestore();
    $rtn_code = tp_gd_resize($file->getFilenameOnFilestore(), $thumbname, TRUE, $image_sizes['large_image_width'], $image_sizes['large_image_height'], FALSE);
    if (!$rtn_code) {
        return FALSE;
    }
    $file->largethumb = $prefix . "largethumb" . $filestorename;
    unset($thumb);
    return TRUE;
}