Beispiel #1
0
 public function delete()
 {
     $icon_sizes = hj_framework_get_thumb_sizes($this->getSubtype());
     $prefix_old = "hjfile/{$this->container_guid}/{$this->guid}";
     $prefix_old_alt = "hjfile/{$this->guid}";
     $prefix = "icons/{$this->guid}";
     foreach ($icon_sizes as $size => $values) {
         $thumb = new ElggFile();
         $thumb->owner_guid = elgg_get_logged_in_user_guid();
         $thumb->setFilename("{$prefix}{$size}.jpg");
         $thumb->delete();
         $thumb = new ElggFile();
         $thumb->owner_guid = elgg_get_logged_in_user_guid();
         $thumb->setFilename("{$prefix_old}{$size}.jpg");
         $thumb->delete();
         $thumb = new ElggFile();
         $thumb->owner_guid = elgg_get_logged_in_user_guid();
         $thumb->setFilename("{$prefix_old_alt}{$size}.jpg");
         $thumb->delete();
     }
     return parent::delete();
 }
Beispiel #2
0
function hj_framework_handle_multifile_upload($user_guid)
{
    if (!empty($_FILES)) {
        $access = elgg_get_ignore_access();
        elgg_set_ignore_access(true);
        $file = $_FILES['Filedata'];
        $filehandler = new hjFile();
        $filehandler->owner_guid = (int) $user_guid;
        $filehandler->container_guid = (int) $user_guid;
        $filehandler->access_id = ACCESS_DEFAULT;
        $filehandler->data_pattern = hj_framework_get_data_pattern('object', 'hjfile');
        $filehandler->title = $file['name'];
        $filehandler->description = '';
        $prefix = "hjfile/";
        $filestorename = elgg_strtolower($file['name']);
        $mime = hj_framework_get_mime_type($file['name']);
        $filehandler->setFilename($prefix . $filestorename);
        $filehandler->setMimeType($mime);
        $filehandler->originalfilename = $file['name'];
        $filehandler->simpletype = hj_framework_get_simple_type($mime);
        $filehandler->filesize = round($file['size'] / (1024 * 1024), 2) . "Mb";
        $filehandler->open("write");
        $filehandler->close();
        move_uploaded_file($file['tmp_name'], $filehandler->getFilenameOnFilestore());
        $file_guid = $filehandler->save();
        hj_framework_set_entity_priority($filehandler);
        elgg_trigger_plugin_hook('hj:framework:file:process', 'object', array('entity' => $filehandler));
        if ($file_guid) {
            $meta_value = $filehandler->getGUID();
        } else {
            $meta_value = $filehandler->getFilenameOnFilestore();
        }
        if ($file_guid && $filehandler->simpletype == "image") {
            $thumb_sizes = hj_framework_get_thumb_sizes();
            foreach ($thumb_sizes as $thumb_type => $thumb_size) {
                $thumbnail = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(), $thumb_size['w'], $thumb_size['h'], $thumb_size['square'], 0, 0, 0, 0, true);
                if ($thumbnail) {
                    $thumb = new ElggFile();
                    $thumb->setMimeType($file['type']);
                    $thumb->owner_guid = $user_guid;
                    $thumb->setFilename("{$prefix}{$filehandler->getGUID()}{$thumb_type}.jpg");
                    $thumb->open("write");
                    $thumb->write($thumbnail);
                    $thumb->close();
                    $thumb_meta = "{$thumb_type}thumb";
                    $filehandler->{$thumb_meta} = $thumb->getFilename();
                    unset($thumbnail);
                }
            }
        }
        $response = array('status' => 'OK', 'value' => $meta_value);
    } else {
        $response = array('status' => 'FAIL');
    }
    echo json_encode($response);
    elgg_set_ignore_access($access);
    return;
}
Beispiel #3
0
/**
 * Generate icons for an entity
 *
 * @param ElggEntity $entity
 * @param ElggFile $filehandler		Valid $filehandler on Elgg filestore to grab the file from | can be null if $entity is instance of ElggFile
 * @param array $coords				Coordinates for cropping
 * @return boolean
 */
function hj_framework_generate_entity_icons($entity, $filehandler = null, $coords = array())
{
    $icon_sizes = hj_framework_get_thumb_sizes($entity->getSubtype());
    if (!$filehandler && $entity instanceof hjFile) {
        $filehandler = $entity;
    }
    if (!$filehandler) {
        return false;
    }
    $prefix = "icons/" . $entity->getGUID();
    foreach ($icon_sizes as $size => $values) {
        if (!empty($coords) && in_array($size, array('topbar', 'tiny', 'small', 'medium', 'large'))) {
            $thumb_resized = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(), $values['w'], $values['h'], $values['square'], $coords['x1'], $coords['y1'], $coords['x2'], $coords['y2'], $values['upscale']);
        } else {
            if (empty($coords)) {
                $thumb_resized = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(), $values['w'], $values['h'], $values['square'], 0, 0, 0, 0, $values['upscale']);
            }
        }
        if ($thumb_resized) {
            $thumb = new hjFile();
            $thumb->owner_guid = $entity->owner_guid;
            $thumb->setMimeType('image/jpeg');
            $thumb->setFilename($prefix . "{$size}.jpg");
            $thumb->open("write");
            $thumb->write($thumb_resized);
            $thumb->close();
            $icontime = true;
        }
    }
    if ($icontime) {
        $entity->icontime = time();
        return true;
    }
    return false;
}
Beispiel #4
0
<?php

$ha = access_get_show_hidden_status();
access_show_hidden_entities(true);
$entity_guid = get_input('guid');
$entity = get_entity($entity_guid);
$size = strtolower(get_input('size'));
if (!array_key_exists($size, hj_framework_get_thumb_sizes($entity->getSubtype()))) {
    $size = 'medium';
}
$success = false;
$filename = "icons/" . $entity->getGUID() . $size . ".jpg";
$filehandler = new ElggFile();
$filehandler->owner_guid = $entity->owner_guid;
$filehandler->setFilename($filename);
if ($filehandler->open("read")) {
    if ($contents = $filehandler->read($filehandler->size())) {
        $success = true;
    }
}
//if (!$success) {
//	$filehandler->setFilename("hjfile/" . $entity->guid . $size . ".jpg"); // hack for older version of hypeframework (<1.9)
//	if ($filehandler->open("read")) {
//		if ($contents = $filehandler->read($filehandler->size())) {
//			$success = true;
//		}
//	}
//}
access_show_hidden_entities($ha);
header("Content-type: image/jpeg");
header('Expires: ' . date('r', time() + 864000));