'part', 'label' => 'Composants', 'description' => 'Composants électroniques', 'fromExtension' => array('part'), 'toExtension' => 'md', 'icon' => 'fas fa-microchip', 'color' => '#ffffff', 'background' => '#2ecc71' ); } //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){ require_once(__DIR__.SLASH.'..'.SLASH.'ResourcePart.class.php'); require_once(__DIR__.SLASH.'..'.SLASH.'Part.class.php'); global $myUser; $infos = self::manifest(); $content = '# '.strtoupper($resource->label).PHP_EOL.PHP_EOL; foreach(ResourcePart::loadAll(array('resource'=>$resource->id), null, null, array('*'), 1) as $resourcePart): $part = $resourcePart->join('part'); $content .= '## '.$part->label.PHP_EOL; if(isset($part->link) && !empty($part->link)) $content .= "\t".'* Url: ' .$part->link.PHP_EOL; if(isset($part->brand) && !empty($part->brand)) $content .="\t".'* Marque: ' .$part->brand.PHP_EOL; if(isset($part->price) && !empty($part->price)) $content .="\t".'* Prix moyen: '.$part->price.'€'.PHP_EOL; $content .= '---'; $content .= PHP_EOL; endforeach; return array( 'name'=> slugify($resource->label).'.'.$infos['toExtension'], 'content' => $content ); } /* EDITION */ public static function toHtml($resource,$sketch=null){ $infos = self::manifest(); $response = array(); //.$resource->id $images = array(); foreach(glob($resource->directory().SLASH.'*.*') as $file){ $images[] = array( 'path' => 'hackpoint'.SLASH.'sketch'.SLASH.$resource->sketch.SLASH.$resource->id.SLASH.basename($file), 'url' => 'action.php?action=hackpoint_download_file&file='.base64_encode('sketch'.SLASH.$resource->sketch.SLASH.$resource->id.SLASH.rawurlencode(basename($file))), 'name' => basename($file), 'icon' => getExtIcon(getExt($file)) ); } $response['html'] = '
'; $response['javascript'] = 'part_resource_part_search();'; return $response; } } ?>