|
@@ -0,0 +1,82 @@
|
|
|
+<?php
|
|
|
+class FileType {
|
|
|
+
|
|
|
+ public static function manifest(){
|
|
|
+ return array(
|
|
|
+ 'uid' => 'file',
|
|
|
+ 'label' => 'Fichiers',
|
|
|
+ 'description' => 'Fichiers attachés',
|
|
|
+ 'fromExtension' => array('*'),
|
|
|
+ 'icon' => 'far fa-file-archive',
|
|
|
+ 'color' => '#ffffff',
|
|
|
+ 'background' => '#d7332d'
|
|
|
+
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ //Import depuis un glisser déposé du fichier
|
|
|
+ public static function fromFile($resource){
|
|
|
+ // $resource->save();
|
|
|
+ // $ext = getExt($resource->label);
|
|
|
+ // $name = $resource->id.'.'.$ext;
|
|
|
+ // file_put_contents(SKETCH_PATH.$name,$resource->content);
|
|
|
+ // $resource->content = $name;
|
|
|
+ // return $resource;
|
|
|
+ }
|
|
|
+
|
|
|
+ //Import depuis un flux json compressé de la ressource
|
|
|
+ public static function fromJson($resource){
|
|
|
+ // $resource->save();
|
|
|
+ // $stream = base64_decode($resource->content);
|
|
|
+ // $resource->content = $resource->id.'.png';
|
|
|
+ // file_put_contents(SKETCH_PATH.$resource->content,$stream);
|
|
|
+ // return $resource;
|
|
|
+ }
|
|
|
+
|
|
|
+ //export en fichier JSON compressé de la ressource
|
|
|
+ public static function toJson($resource){
|
|
|
+ // $resource = $resource->toArray();
|
|
|
+ // $resource['content'] = base64_encode(file_get_contents(SKETCH_PATH.$resource['content']));
|
|
|
+ // return $resource;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static function toFile($resource){
|
|
|
+
|
|
|
+ // $ext = getExt($resource->content);
|
|
|
+ // $infos = self::manifest();
|
|
|
+ // return array(
|
|
|
+ // 'name'=> slugify($resource->label).'.'.$ext,
|
|
|
+ // 'content' => file_exists(SKETCH_PATH.$resource->content) ? file_get_contents(SKETCH_PATH.$resource->content) : ''
|
|
|
+ // );
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /* EDITION */
|
|
|
+ public static function toHtml($resource,$sketch=null){
|
|
|
+ $infos = self::manifest();
|
|
|
+
|
|
|
+ $response = array();
|
|
|
+ //.$resource->id
|
|
|
+ $files = array();
|
|
|
+
|
|
|
+ foreach(glob($resource->directory().SLASH.'*.*') as $file){
|
|
|
+ $files[] = array(
|
|
|
+ 'path' => 'hackpoint'.SLASH.'sketch'.SLASH.$resource->sketch.SLASH.$resource->id.SLASH.utf8_encode(basename($file)),
|
|
|
+ 'url' => 'action.php?action=hackpoint_download_file&file='.base64_encode('sketch'.SLASH.$resource->sketch.SLASH.$resource->id.SLASH.rawurlencode(basename($file))),
|
|
|
+ 'name' => utf8_encode(basename($file)),
|
|
|
+ 'icon' => getExtIcon(getExt($file))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $response['html'] = '
|
|
|
+ <div data-type="dropzone" data-label="Faites glisser vo(s) fichier(s) dans cette zone ou cliquez dessus" data-delete="resource_delete_document" data-save="resource_add_document" class="form-control hackpoint-type-file" id="document" name="document">
|
|
|
+ '.json_encode($files ).'
|
|
|
+ </div>';
|
|
|
+
|
|
|
+
|
|
|
+ return $response;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+?>
|