123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- class PartType {
- public static function manifest(){
- return array(
- 'uid' => 'part',
- 'label' => 'Composants',
- 'description' => 'Composants électroniques',
- 'fromExtension' => array('part'),
- '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){
- // $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
- $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'] = '
- <div class="row">
- <div class="col-md-12">
-
- <div class="btn btn-dark"><i class="far fa-plus-square pr-1"></i> Ajouter un composant</div>
-
- <ul id="parts" data-entity-search="hackpoint_part_search">
- <li data-id="{{id}}" class="">
- <div class="part">
- <input type="text" data-type="part" placeholder="Nom du composant" value="{{label}}" class="form-control">
- <div data-type="dropzone" data-label="Image" data-delete="part_delete_document" data-save="part_add_document" data-allowed="jpeg,jpg,bmp,gif,png" class="form-control" id="document" name="document">
- <?php echo json_encode($contact->documents()); ?></div>
- <span class="price">{{price}} €</span>
- <span class="brand">{{brand}}</span>
-
- <a href="{{link}}" class="link"><i class="fas fa-globe-americas"></i></a>
- <div class="btn btn-delete" onclick="hackpoint_part_delete(this);"><i class="far fa-trash-alt"></i></div>
- </div>
- </li>
- </ul>
- </div>
- </div>
- ';
-
- return $response;
- }
- }
- ?>
|